That looks like a problem with miniconda that has been reported. The solution is to modify a file in the miniconda distribution and try again.
Inside your CSD Python API 2018 installation there will be a file named
miniconda/pkgs/urls.txt that must be edited to contain the line:
Does this resolve the issue?
Yes, I think you would need to do this. If your names are the CSD refcodes and they are stored in
list_of_refcodes, it can be achieved with:
reader = MoleculeReader()
molecules = [reader.molecule(refcode) for refcode in list_of_refcodes]
I hope that helps,
Depending on your operating system, there is a limit to how many open connections can be held on the database file. It looks like you are hitting this limit.
If I understand your goal correctly, use of the
search_molecule() method might be a better approach. Assuming that your molecules are stored in a list named
for i in molecules:
ss = SimilaritySearch(i)
for j in molecules:
hit = ss.search_molecule(j)
I don't believe this will cause the problem you see as it never access the database.
Does that resolve your issue?
The test aren't bundled within the conda packages at all. You will need to look in any of the pip archives.
Version 1.0 of the API is now available. What would you like to see in version 2.0?
I am very happy to declare that version 1.0 of the CSD Python API makes some of these aspects more widely available:
A new docking module, based on the GOLD docking engine, is under development and is available to associated collaborators.
Further details can be found in the API user guide.
It should be as simple as typing in a console window:
pip install matplotlib
There are other installation options described at http://matplotlib.org/users/installing.html
Any of the recent versions should work. I'd suggest 1.5.0 is as good a choice as any.
Version 1.0 of the CSD Python API is in testing now. This marks a level of maturity in the product, established over the past few years, that we believe makes it ready for wide-spread use. Active development of the API is not going to stop now. On the contrary, we have some exciting developments lined up as we push more of the CCDC's extensive scientific technology into this interface.
Hitting the notable 1.0 milestone encourages us to pause for a moment and to think about how it might best help users do their jobs. You might have some ideas or priorities that are beyond our current thoughts.
What features or enhancements would you most like to see in the future CSD Python API?
Are there any parts you would like to see improved: more functionality, faster, easier to use? Are there any specific CCDC tools that you'd like to access via the API? Are there any important tasks that you can't yet complete with the API?
We are listening...
We do most of our development inside virtualenvs, so they should work without issue. Your use of Python 2.7.5 is fine, we fully support that. It was quite easy to reproduce your error report - we clearly have a problem with Anaconda on OS X.
It seems that this problem is common in Anaconda. There are various workarounds proposed on the web, but we will endeavour to update the installer to overcome this. Your suggestion that this is a linking problem is correct.
Your other errors (RuntimeError: Welcome to the CSD Python API...) are a result of the API not finding a valid CSD license. Assuming that you have the CSDS installed and working, you need to ensure that the CSDHOME envvar points at the correct location. e.g.:
$ export CSDHOME=/home/my/software/csds_v536/
When reading the documentation, you are likely to notice that some portions of the API are annotated as being available only to associated collaborators. These are parts of the API that are currently undergoing further development and external testing. These features will become more broadly available in future releases.
The three features that are currently available to associated collaborators only are listed in the following table:
|Crystal Packing Similarity||0.7|
|Field-based Ligand Screener||0.6|
If you are interested in contributing to the development of these features please contact email@example.com