Automating purchasability
Jump to navigation
Jump to search
It seems you're out of the loop. Have you heard of the new purchasability report? http://zinc15.docking.org/substances/shopping-list/ You can paste in ZINC IDs here (we've done upwards of 1000 at a time) and see/assign the compounds to vendors. Also, I just pushed an updated version of the getposes.py script in the trunk version of DOCK37 that (with the -z flag) can retrieve some interesting information about the compounds from ZINC and directly annotate the mol2 files, and the view it using Chimera ViewDOCK As a consequence of the above feature, I've just started writing a client-size wrapper around the ZINC REST API. The skeleton of this is currently living in DOCK37/analysis/zincapi.py It's tailored for quick scripting, not efficiency, but makes it so you can do things like this: >>> import zincapi >>> zinc = zincapi.ZINCAPI() >>> morphine = zinc.substances.get('ZINC3812983', fields=('zinc_id', 'smiles', 'purchasability', 'vendor_catalogs', 'protomers', 'ecfp4_fp.as_bits')) >>> print morphine.purchasability Premier >>> for protomer in morphine.protomers: print protomer['net_charge'], protomer['smiles'] 1 C[N@@H+]1CC[C@@]23c4c5c(O)ccc4C[C@@H]1[C@@H]2C=C[C@H](O)[C@@H]3O5 1 C[N@H+]1CC[C@@]23c4c5c(O)ccc4C[C@@H]1[C@@H]2C=C[C@H](O)[C@@H]3O5 >>>for vendor, items in morphine.vendor_catalogs.items(): print vendor, ' '.join(items) tocris 5158 tetrahedronbb TS61669 trc M652290 akos AKOS015966554 bocscibb 6055-06-7 aurorabb A17.877.034 A17.877.225 A17.902.521 A18.034.760 sialbb 1448005|USP 44179|SIGMA-ALDRICH M005|CERILLIAN M8777|SIGMA M9524|SIGMA-ALDRICH Y0000452|SIGMA-ALDRICH Y0000830|SIGMA-ALDRICH Y0001471|SIGMA-ALDRICH Lastly, if you have a file that is a bunch of ZINC IDs, you can simply do this to get their purchasability curl http://zinc15.docking.org/substances.txt:zinc_id+smiles+purchasability -F zinc_id-in=@test.id -F count=all or this to simply filter those that are for sale curl http://zinc15.docking.org/substances/subsets/for-sale.txt -F zinc_id-in=@test.id -F count=all Hopefully that hasn't scared you away!