• RE: GoldMine functions using the CSD API

    Thanks Richard, I will slot this into the script and report back.

    As for my workflow that lead to the corrupt docking solution, I started with a single gold.conf file that was then split up into 60 jobs to run on our HPC using a modified version of this script (modified to be used on a slurm based cluster): https://www.ccdc.cam.ac.uk/support-and-resources/support/case/?caseid=b40a45cb-d4a3-4da3-ae72-b7653398895c

    Then, I used gold_merge.py to concatenate the outputs of the 60 jobs into one. I then tried to filter the solutions with respect to the HBond constraint, which led to the error that I posted. 

    Hope that helps.


  • RE: GoldMine functions using the CSD API

    Hi again,


    I have another issue that i'd like to add to this one.

    My above code works fine for molecules that can be read. However, there are a few problematic molecules in 'results.ligands' that are giving errors, which stops the whole process before it can write out all of the necessary molecules.

    The error I get is:


    Traceback (most recent call last):
    File "<stdin>", line 2, in <module>
    File "/home/software/apps/ccdc/Python_API_2019/miniconda/lib/python2.7/site-packages/ccdc/io.py", line 756, in entries
    yield self._make_entry(self._enumerator.entry(i))
    File "/home/software/apps/ccdc/Python_API_2019/miniconda/lib/python2.7/site-packages/ccdc/_lib/FileFormatsLib.py", line 2052, in entry
    return _FileFormatsLib.HDatabaseEnumerator_entry(self, i)
    RuntimeError: FlatFileDatabase::entry: couldn't retrieve entry 396133
    The error message was:

    Mol2Entry::read: SUBSTRUCTURE field before MOLECULE.


    Is there a way to skip those problematic ligands that cannot be read, and continue on with writing the molecules to file?




  • RE: GoldMine functions using the CSD API

    Thanks Richard,

    Unfortunately, I am not well versed in in python. I have managed to read in the conf file to the API, and do basic things like print the length of molecules and what not (based directly on the first link you sent through). What I still need is a way to write out the molecules that satisfy an Hbond constraint '<Gold.PLP.Constraint>', and write out molecules based on their score.

    Any help is appreciated,




    No worries now. For anyone interested, it was as simple as:


    >>>Molecules = results.ligands
    >>>with MoleculeWriter('test.mol2') as mol_writer:
                  for mol in molecules:
                        if mol.scoring_term('constraint') == -0.0:


    You can change the 'scoring_term' as needed

  • Issues with installing python API on windows 10 system


    I have recently installed the 2019 ccdc suite onto a new PC (windows 10). I predominantly use GOLD, which works fine after the install, but the python API hasn't installed correctly. There was an error message after installation that mentioned the API not passing the installation tests. This is concordant with an error I get when I engage the API, where I get:

    >>> from ccdc import io
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ImportError: No module named ccdc

    Reinstalling doesn't fix the issue.

    Installing the API using my system python 2.7 worked, but it can only function if linked to the CSD database.

    Any help is greatly appreciated, I can provide the installation log if needed

  • GoldMine functions using the CSD API

    Hi all,

    I used to use GoldMine to manage my docking runs, but I have found that the software is simply too outdated, and most importantly, cannot handle large datasets of docked ligands very well (i.e. crashes constantly.) 

    Am I able to use the python API to do everything I wish to do with GoldMine?

    Specifically, I want to retrieve the top 30% scored poses from a virtual screening run, and output them as a mol2 file for the next docking run. I would also like to filter out all of the poses that don't satisfy an H-Bond constraint. 


  • RE: Script to merge GOLD docking results

    I have a few issues with this script, is someone still abut that could lend a hand?