Hello, Eric!
Thank you very much for using Indigo!
You are right that it is possible to use Bingo NoSQL to storing 30 000 000 compounds or even more.
Actually it is restricted just an available storage on your system.
And usually it is more effective for similarity/substructure search than SQL DB versions.
Unfortunately it doesn't support custom properties, actually it doesn't store such properties at all.
So you can't search compounds by such properties using Bingo NoSQL version (just search by gross formula).
As about loading compounds from SDF or SMI files it can be done by iterating through corresponding file and
using APIs like this :
indigo = Indigo()
bingo = Bingo.createDatabaseFile(indigo, 'db_molecule', 'molecule', '')
index = 0
for mol in indigo.iterateSDFile('mols.sdf'):
try:
bingo.insert(mol, index)
except BingoException as e:
print('Structure {0} excluded: {1}'.format(index, getIndigoExceptionText(e)))
index += 1
Best Regards!
Yuriy
On Tuesday, January 30, 2018 at 5:56:34 PM UTC+3, Zest Rico wrote:
Hello,
I wonder if i can use Bingo Nosql to store more than 30 000 000 compounds.
I'm using postgresl with bingo, but i'm hoping that similarity search et substrucure search will be fastest with NoSQL.
I'm confuse with the API, i wonder if we can load compounds from SDF or SMI files in Bingo NoSQL.
Last but not the least, is this possible to search compounds by properties within Bingo NoSQL.
Thanks in advance
Eric