
Hello! Thank you for creating such an amazing piece of software! I'm trying to use portions of ChimeraX for part of a CIF file processing pipeline. In order to automate the process, I'm building a docker image that has ChimeraX installed. Ideally, we would like to use the pieces of ChimeraX we need by importing the relevant python modules. Is this possible? If so, must I build ChimeraX from source? Additionally, I have tried several times to build v1.1.1 from source and I have not been able to. I am always prompted for a password when trying to rsync the dependencies: /bin/sh -c 'rsync -a $1 .' -- plato.cgl.ucsf.edu: /usr/local/projects/chimerax/www/data/prereqs/python/Python-3.7.8.tar.xz user@plato.cgl.ucsf.edu's password: In order to build from source, do I need to register somewhere to get credentials? Just to be clear, this CIF file processing pipeline is for academic (UT Austin) use, not commercial. Thanks in advance! James -- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/>

Hi James, The ChimeraX Python modules have not been packaged to be used outside the ChimeraX application. I have tried making a chimerax module that can be installed in any Python (with the right version for binary compatibility) where all its Python capabilities can be used without needing the application user interface. But we have not distributed that, it has lots of problems. We have put it into two grant proposals to get funding for it but one proposal was not funded and the other we are still waiting to hear about. In theory it shouldn't be hard to reuse specific parts of ChimeraX, for instance reading mmCIF files. That is in the mmcif ChimeraX Python module. https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/mmcif But that needs various other ChimeraX modules (atomstruct, element, pyinstance, pdbconnect, readcif, logger, arrays) listed in the mmcif bundle_info.xml file https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info.... <https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info....> and those in turn require some other ChimeraX Python modules. ChimeraX contains hundreds of Python modules, so how will you figure out which ones you need? The easy solution is to take them all. But there are more problems, because the ChimeraX application initializes many of the modules, for instance, letting the atomic data structures module know where the residue template files are located. So you also need to figure that out. These many obstacles are why we proposed funding to make the code more usable without running the ChimeraX application -- it will be a good bit of work. So the standard solution is instead to just run your processing scripts with the ChimeraX application from the command-line chimerax --nogui myscript.py For compiling ChimeraX you must be using old ChimeraX source code (your example is fetching Python 3.7 but ChimeraX has used Python 3.8 for the last 9 months). The current ChimeraX build does not fetch third party libraries with rsync, it uses https and curl and does not need a password. So use the current ChimeraX source from github and you should not have that problem. https://github.com/RBVI/ChimeraX <https://github.com/RBVI/ChimeraX> Tom
On Jul 3, 2021, at 5:51 AM, James Loy via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Hello!
Thank you for creating such an amazing piece of software!
I'm trying to use portions of ChimeraX for part of a CIF file processing pipeline. In order to automate the process, I'm building a docker image that has ChimeraX installed. Ideally, we would like to use the pieces of ChimeraX we need by importing the relevant python modules. Is this possible? If so, must I build ChimeraX from source?
Additionally, I have tried several times to build v1.1.1 from source and I have not been able to. I am always prompted for a password when trying to rsync the dependencies: /bin/sh -c 'rsync -a $1 .' -- plato.cgl.ucsf.edu:/usr/local/projects/chimerax/www/data/prereqs/python/Python-3.7.8.tar.xz user@plato.cgl.ucsf.edu <mailto:user@plato.cgl.ucsf.edu>'s password: In order to build from source, do I need to register somewhere to get credentials?
Just to be clear, this CIF file processing pipeline is for academic (UT Austin) use, not commercial.
Thanks in advance! James -- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

If the only thing you need ChimeraX for is to read/parse mmCIF files, we do package that part as a separate library: GitHub - RBVI/readcif: A fast C++ CIF and mmCIF parser <https://github.com/RBVI/readcif> --Eric Eric Pettersen UCSF Computer Graphics Lab
On Jul 6, 2021, at 11:01 AM, Tom Goddard via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Hi James,
The ChimeraX Python modules have not been packaged to be used outside the ChimeraX application. I have tried making a chimerax module that can be installed in any Python (with the right version for binary compatibility) where all its Python capabilities can be used without needing the application user interface. But we have not distributed that, it has lots of problems. We have put it into two grant proposals to get funding for it but one proposal was not funded and the other we are still waiting to hear about.
In theory it shouldn't be hard to reuse specific parts of ChimeraX, for instance reading mmCIF files. That is in the mmcif ChimeraX Python module.
https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/mmcif <https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/mmcif>
But that needs various other ChimeraX modules (atomstruct, element, pyinstance, pdbconnect, readcif, logger, arrays) listed in the mmcif bundle_info.xml file
https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info.... <https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info....>
and those in turn require some other ChimeraX Python modules. ChimeraX contains hundreds of Python modules, so how will you figure out which ones you need? The easy solution is to take them all. But there are more problems, because the ChimeraX application initializes many of the modules, for instance, letting the atomic data structures module know where the residue template files are located. So you also need to figure that out. These many obstacles are why we proposed funding to make the code more usable without running the ChimeraX application -- it will be a good bit of work.
So the standard solution is instead to just run your processing scripts with the ChimeraX application from the command-line
chimerax --nogui myscript.py
For compiling ChimeraX you must be using old ChimeraX source code (your example is fetching Python 3.7 but ChimeraX has used Python 3.8 for the last 9 months). The current ChimeraX build does not fetch third party libraries with rsync, it uses https and curl and does not need a password. So use the current ChimeraX source from github and you should not have that problem.
https://github.com/RBVI/ChimeraX <https://github.com/RBVI/ChimeraX>
Tom
On Jul 3, 2021, at 5:51 AM, James Loy via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Hello!
Thank you for creating such an amazing piece of software!
I'm trying to use portions of ChimeraX for part of a CIF file processing pipeline. In order to automate the process, I'm building a docker image that has ChimeraX installed. Ideally, we would like to use the pieces of ChimeraX we need by importing the relevant python modules. Is this possible? If so, must I build ChimeraX from source?
Additionally, I have tried several times to build v1.1.1 from source and I have not been able to. I am always prompted for a password when trying to rsync the dependencies: /bin/sh -c 'rsync -a $1 .' -- plato.cgl.ucsf.edu:/usr/local/projects/chimerax/www/data/prereqs/python/Python-3.7.8.tar.xz user@plato.cgl.ucsf.edu <mailto:user@plato.cgl.ucsf.edu>'s password: In order to build from source, do I need to register somewhere to get credentials?
Just to be clear, this CIF file processing pipeline is for academic (UT Austin) use, not commercial.
Thanks in advance! James -- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

Tom, Eric-- Thanks for the responses! We'd certainly like to read the cif files, but in addition, we'd like to add hydrogens to the protein as well. For an MVP, I was just going to have some script that calls the chimerax CLI. Something like this (in python): for code in pdb_codes: subprocess.run(f"chimerax --nogui --cmd 'load {code}.cif; addh; save {code}.addh.cif; exit'" This will likely be okay. But, if I am able to call a python script using chimera basically as the interpreter then that might work better. My only question would be how could I utilize other third party libraries? Say, if I were to use chimerax as the interpreter for the entire cif processing pipeline, then I would need to utilize a few outside modules. Thanks again for your help-- I really appreciate it! -James On Tue, Jul 6, 2021 at 1:07 PM Eric Pettersen <pett@cgl.ucsf.edu> wrote:
If the *only* thing you need ChimeraX for is to read/parse mmCIF files, we do package that part as a separate library: GitHub - RBVI/readcif: A fast C++ CIF and mmCIF parser <https://github.com/RBVI/readcif>
--Eric
Eric Pettersen UCSF Computer Graphics Lab
On Jul 6, 2021, at 11:01 AM, Tom Goddard via ChimeraX-users < chimerax-users@cgl.ucsf.edu> wrote:
Hi James,
The ChimeraX Python modules have not been packaged to be used outside the ChimeraX application. I have tried making a chimerax module that can be installed in any Python (with the right version for binary compatibility) where all its Python capabilities can be used without needing the application user interface. But we have not distributed that, it has lots of problems. We have put it into two grant proposals to get funding for it but one proposal was not funded and the other we are still waiting to hear about.
In theory it shouldn't be hard to reuse specific parts of ChimeraX, for instance reading mmCIF files. That is in the mmcif ChimeraX Python module.
https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/mmcif
But that needs various other ChimeraX modules (atomstruct, element, pyinstance, pdbconnect, readcif, logger, arrays) listed in the mmcif bundle_info.xml file
https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info....
and those in turn require some other ChimeraX Python modules. ChimeraX contains hundreds of Python modules, so how will you figure out which ones you need? The easy solution is to take them all. But there are more problems, because the ChimeraX application initializes many of the modules, for instance, letting the atomic data structures module know where the residue template files are located. So you also need to figure that out. These many obstacles are why we proposed funding to make the code more usable without running the ChimeraX application -- it will be a good bit of work.
So the standard solution is instead to just run your processing scripts with the ChimeraX application from the command-line
chimerax --nogui myscript.py
For compiling ChimeraX you must be using old ChimeraX source code (your example is fetching Python 3.7 but ChimeraX has used Python 3.8 for the last 9 months). The current ChimeraX build does not fetch third party libraries with rsync, it uses https and curl and does not need a password. So use the current ChimeraX source from github and you should not have that problem.
https://github.com/RBVI/ChimeraX
Tom
On Jul 3, 2021, at 5:51 AM, James Loy via ChimeraX-users < chimerax-users@cgl.ucsf.edu> wrote:
Hello!
Thank you for creating such an amazing piece of software!
I'm trying to use portions of ChimeraX for part of a CIF file processing pipeline. In order to automate the process, I'm building a docker image that has ChimeraX installed. Ideally, we would like to use the pieces of ChimeraX we need by importing the relevant python modules. Is this possible? If so, must I build ChimeraX from source?
Additionally, I have tried several times to build v1.1.1 from source and I have not been able to. I am always prompted for a password when trying to rsync the dependencies: /bin/sh -c 'rsync -a $1 .' -- plato.cgl.ucsf.edu :/usr/local/projects/chimerax/www/data/prereqs/python/Python-3.7.8.tar.xz user@plato.cgl.ucsf.edu's password: In order to build from source, do I need to register somewhere to get credentials?
Just to be clear, this CIF file processing pipeline is for academic (UT Austin) use, not commercial.
Thanks in advance! James -- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
-- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/>

If you want to install additional PyPi packages into the ChimeraX Python use chimerax -m pip install <NameOfPyPiPackage> as discussed in this message https://www.rbvi.ucsf.edu/pipermail/chimerax-users/2021-March/002000.html If you don't have permission to modify ChimeraX where you might need to use the --user option to pip install. On windows you probably need to use the chimerax-console.exe executable. Tom
On Jul 6, 2021, at 11:29 AM, James Loy via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Tom, Eric--
Thanks for the responses!
We'd certainly like to read the cif files, but in addition, we'd like to add hydrogens to the protein as well. For an MVP, I was just going to have some script that calls the chimerax CLI. Something like this (in python):
for code in pdb_codes: subprocess.run(f"chimerax --nogui --cmd 'load {code}.cif; addh; save {code}.addh.cif; exit'"
This will likely be okay. But, if I am able to call a python script using chimera basically as the interpreter then that might work better. My only question would be how could I utilize other third party libraries? Say, if I were to use chimerax as the interpreter for the entire cif processing pipeline, then I would need to utilize a few outside modules.
Thanks again for your help-- I really appreciate it! -James
On Tue, Jul 6, 2021 at 1:07 PM Eric Pettersen <pett@cgl.ucsf.edu <mailto:pett@cgl.ucsf.edu>> wrote: If the only thing you need ChimeraX for is to read/parse mmCIF files, we do package that part as a separate library: GitHub - RBVI/readcif: A fast C++ CIF and mmCIF parser <https://github.com/RBVI/readcif>
--Eric
Eric Pettersen UCSF Computer Graphics Lab
On Jul 6, 2021, at 11:01 AM, Tom Goddard via ChimeraX-users <chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@cgl.ucsf.edu>> wrote:
Hi James,
The ChimeraX Python modules have not been packaged to be used outside the ChimeraX application. I have tried making a chimerax module that can be installed in any Python (with the right version for binary compatibility) where all its Python capabilities can be used without needing the application user interface. But we have not distributed that, it has lots of problems. We have put it into two grant proposals to get funding for it but one proposal was not funded and the other we are still waiting to hear about.
In theory it shouldn't be hard to reuse specific parts of ChimeraX, for instance reading mmCIF files. That is in the mmcif ChimeraX Python module.
https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/mmcif <https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/mmcif>
But that needs various other ChimeraX modules (atomstruct, element, pyinstance, pdbconnect, readcif, logger, arrays) listed in the mmcif bundle_info.xml file
https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info.... <https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info....>
and those in turn require some other ChimeraX Python modules. ChimeraX contains hundreds of Python modules, so how will you figure out which ones you need? The easy solution is to take them all. But there are more problems, because the ChimeraX application initializes many of the modules, for instance, letting the atomic data structures module know where the residue template files are located. So you also need to figure that out. These many obstacles are why we proposed funding to make the code more usable without running the ChimeraX application -- it will be a good bit of work.
So the standard solution is instead to just run your processing scripts with the ChimeraX application from the command-line
chimerax --nogui myscript.py
For compiling ChimeraX you must be using old ChimeraX source code (your example is fetching Python 3.7 but ChimeraX has used Python 3.8 for the last 9 months). The current ChimeraX build does not fetch third party libraries with rsync, it uses https and curl and does not need a password. So use the current ChimeraX source from github and you should not have that problem.
https://github.com/RBVI/ChimeraX <https://github.com/RBVI/ChimeraX>
Tom
On Jul 3, 2021, at 5:51 AM, James Loy via ChimeraX-users <chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@cgl.ucsf.edu>> wrote:
Hello!
Thank you for creating such an amazing piece of software!
I'm trying to use portions of ChimeraX for part of a CIF file processing pipeline. In order to automate the process, I'm building a docker image that has ChimeraX installed. Ideally, we would like to use the pieces of ChimeraX we need by importing the relevant python modules. Is this possible? If so, must I build ChimeraX from source?
Additionally, I have tried several times to build v1.1.1 from source and I have not been able to. I am always prompted for a password when trying to rsync the dependencies: /bin/sh -c 'rsync -a $1 .' -- plato.cgl.ucsf.edu <http://plato.cgl.ucsf.edu/>:/usr/local/projects/chimerax/www/data/prereqs/python/Python-3.7.8.tar.xz user@plato.cgl.ucsf.edu <mailto:user@plato.cgl.ucsf.edu>'s password: In order to build from source, do I need to register somewhere to get credentials?
Just to be clear, this CIF file processing pipeline is for academic (UT Austin) use, not commercial.
Thanks in advance! James -- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu <mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users <https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users>
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu <mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users <https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users>
-- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

Alternatively, if you prefer to run your script outside ChimeraX, you could start ChimeraX before your pdb_codes loop using "--cmd 'remotecontrol ...' " to have it listen for commands on a particular port and the send those commands to it in the loop using curl or wget, as described in the remotecontrol help page: Command: remotecontrol <https://www.cgl.ucsf.edu/chimerax/docs/user/commands/remotecontrol.html> . This would avoid the slowdown caused by starting ChimeraX once per loop iteration. --Eric
On Jul 6, 2021, at 12:21 PM, Tom Goddard via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
If you want to install additional PyPi packages into the ChimeraX Python use
chimerax -m pip install <NameOfPyPiPackage>
as discussed in this message
https://www.rbvi.ucsf.edu/pipermail/chimerax-users/2021-March/002000.html <https://www.rbvi.ucsf.edu/pipermail/chimerax-users/2021-March/002000.html>
If you don't have permission to modify ChimeraX where you might need to use the --user option to pip install. On windows you probably need to use the chimerax-console.exe executable.
Tom
On Jul 6, 2021, at 11:29 AM, James Loy via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Tom, Eric--
Thanks for the responses!
We'd certainly like to read the cif files, but in addition, we'd like to add hydrogens to the protein as well. For an MVP, I was just going to have some script that calls the chimerax CLI. Something like this (in python):
for code in pdb_codes: subprocess.run(f"chimerax --nogui --cmd 'load {code}.cif; addh; save {code}.addh.cif; exit'"
This will likely be okay. But, if I am able to call a python script using chimera basically as the interpreter then that might work better. My only question would be how could I utilize other third party libraries? Say, if I were to use chimerax as the interpreter for the entire cif processing pipeline, then I would need to utilize a few outside modules.
Thanks again for your help-- I really appreciate it! -James
On Tue, Jul 6, 2021 at 1:07 PM Eric Pettersen <pett@cgl.ucsf.edu <mailto:pett@cgl.ucsf.edu>> wrote: If the only thing you need ChimeraX for is to read/parse mmCIF files, we do package that part as a separate library: GitHub - RBVI/readcif: A fast C++ CIF and mmCIF parser <https://github.com/RBVI/readcif>
--Eric
Eric Pettersen UCSF Computer Graphics Lab
On Jul 6, 2021, at 11:01 AM, Tom Goddard via ChimeraX-users <chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@cgl.ucsf.edu>> wrote:
Hi James,
The ChimeraX Python modules have not been packaged to be used outside the ChimeraX application. I have tried making a chimerax module that can be installed in any Python (with the right version for binary compatibility) where all its Python capabilities can be used without needing the application user interface. But we have not distributed that, it has lots of problems. We have put it into two grant proposals to get funding for it but one proposal was not funded and the other we are still waiting to hear about.
In theory it shouldn't be hard to reuse specific parts of ChimeraX, for instance reading mmCIF files. That is in the mmcif ChimeraX Python module.
https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/mmcif <https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/mmcif>
But that needs various other ChimeraX modules (atomstruct, element, pyinstance, pdbconnect, readcif, logger, arrays) listed in the mmcif bundle_info.xml file
https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info.... <https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info....>
and those in turn require some other ChimeraX Python modules. ChimeraX contains hundreds of Python modules, so how will you figure out which ones you need? The easy solution is to take them all. But there are more problems, because the ChimeraX application initializes many of the modules, for instance, letting the atomic data structures module know where the residue template files are located. So you also need to figure that out. These many obstacles are why we proposed funding to make the code more usable without running the ChimeraX application -- it will be a good bit of work.
So the standard solution is instead to just run your processing scripts with the ChimeraX application from the command-line
chimerax --nogui myscript.py
For compiling ChimeraX you must be using old ChimeraX source code (your example is fetching Python 3.7 but ChimeraX has used Python 3.8 for the last 9 months). The current ChimeraX build does not fetch third party libraries with rsync, it uses https and curl and does not need a password. So use the current ChimeraX source from github and you should not have that problem.
https://github.com/RBVI/ChimeraX <https://github.com/RBVI/ChimeraX>
Tom
On Jul 3, 2021, at 5:51 AM, James Loy via ChimeraX-users <chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@cgl.ucsf.edu>> wrote:
Hello!
Thank you for creating such an amazing piece of software!
I'm trying to use portions of ChimeraX for part of a CIF file processing pipeline. In order to automate the process, I'm building a docker image that has ChimeraX installed. Ideally, we would like to use the pieces of ChimeraX we need by importing the relevant python modules. Is this possible? If so, must I build ChimeraX from source?
Additionally, I have tried several times to build v1.1.1 from source and I have not been able to. I am always prompted for a password when trying to rsync the dependencies: /bin/sh -c 'rsync -a $1 .' -- plato.cgl.ucsf.edu <http://plato.cgl.ucsf.edu/>:/usr/local/projects/chimerax/www/data/prereqs/python/Python-3.7.8.tar.xz user@plato.cgl.ucsf.edu <mailto:user@plato.cgl.ucsf.edu>'s password: In order to build from source, do I need to register somewhere to get credentials?
Just to be clear, this CIF file processing pipeline is for academic (UT Austin) use, not commercial.
Thanks in advance! James -- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu <mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users <https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users>
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu <mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users <https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users>
-- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

Here's a bit more info on installing a PyPi package in ChimeraX on Windows https://www.rbvi.ucsf.edu/pipermail/chimerax-users/2021-June/002304.html <https://www.rbvi.ucsf.edu/pipermail/chimerax-users/2021-June/002304.html> And if you are still interested in compiling ChimeraX there is info about that in the programming manual https://www.cgl.ucsf.edu/chimerax/docs/devel/building.html <https://www.cgl.ucsf.edu/chimerax/docs/devel/building.html> Tom
On Jul 6, 2021, at 12:21 PM, Tom Goddard <goddard@sonic.net> wrote:
If you want to install additional PyPi packages into the ChimeraX Python use
chimerax -m pip install <NameOfPyPiPackage>
as discussed in this message
https://www.rbvi.ucsf.edu/pipermail/chimerax-users/2021-March/002000.html <https://www.rbvi.ucsf.edu/pipermail/chimerax-users/2021-March/002000.html>
If you don't have permission to modify ChimeraX where you might need to use the --user option to pip install. On windows you probably need to use the chimerax-console.exe executable.
Tom
On Jul 6, 2021, at 11:29 AM, James Loy via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Tom, Eric--
Thanks for the responses!
We'd certainly like to read the cif files, but in addition, we'd like to add hydrogens to the protein as well. For an MVP, I was just going to have some script that calls the chimerax CLI. Something like this (in python):
for code in pdb_codes: subprocess.run(f"chimerax --nogui --cmd 'load {code}.cif; addh; save {code}.addh.cif; exit'"
This will likely be okay. But, if I am able to call a python script using chimera basically as the interpreter then that might work better. My only question would be how could I utilize other third party libraries? Say, if I were to use chimerax as the interpreter for the entire cif processing pipeline, then I would need to utilize a few outside modules.
Thanks again for your help-- I really appreciate it! -James
On Tue, Jul 6, 2021 at 1:07 PM Eric Pettersen <pett@cgl.ucsf.edu <mailto:pett@cgl.ucsf.edu>> wrote: If the only thing you need ChimeraX for is to read/parse mmCIF files, we do package that part as a separate library: GitHub - RBVI/readcif: A fast C++ CIF and mmCIF parser <https://github.com/RBVI/readcif>
--Eric
Eric Pettersen UCSF Computer Graphics Lab
On Jul 6, 2021, at 11:01 AM, Tom Goddard via ChimeraX-users <chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@cgl.ucsf.edu>> wrote:
Hi James,
The ChimeraX Python modules have not been packaged to be used outside the ChimeraX application. I have tried making a chimerax module that can be installed in any Python (with the right version for binary compatibility) where all its Python capabilities can be used without needing the application user interface. But we have not distributed that, it has lots of problems. We have put it into two grant proposals to get funding for it but one proposal was not funded and the other we are still waiting to hear about.
In theory it shouldn't be hard to reuse specific parts of ChimeraX, for instance reading mmCIF files. That is in the mmcif ChimeraX Python module.
https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/mmcif <https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/mmcif>
But that needs various other ChimeraX modules (atomstruct, element, pyinstance, pdbconnect, readcif, logger, arrays) listed in the mmcif bundle_info.xml file
https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info.... <https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info....>
and those in turn require some other ChimeraX Python modules. ChimeraX contains hundreds of Python modules, so how will you figure out which ones you need? The easy solution is to take them all. But there are more problems, because the ChimeraX application initializes many of the modules, for instance, letting the atomic data structures module know where the residue template files are located. So you also need to figure that out. These many obstacles are why we proposed funding to make the code more usable without running the ChimeraX application -- it will be a good bit of work.
So the standard solution is instead to just run your processing scripts with the ChimeraX application from the command-line
chimerax --nogui myscript.py
For compiling ChimeraX you must be using old ChimeraX source code (your example is fetching Python 3.7 but ChimeraX has used Python 3.8 for the last 9 months). The current ChimeraX build does not fetch third party libraries with rsync, it uses https and curl and does not need a password. So use the current ChimeraX source from github and you should not have that problem.
https://github.com/RBVI/ChimeraX <https://github.com/RBVI/ChimeraX>
Tom
On Jul 3, 2021, at 5:51 AM, James Loy via ChimeraX-users <chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@cgl.ucsf.edu>> wrote:
Hello!
Thank you for creating such an amazing piece of software!
I'm trying to use portions of ChimeraX for part of a CIF file processing pipeline. In order to automate the process, I'm building a docker image that has ChimeraX installed. Ideally, we would like to use the pieces of ChimeraX we need by importing the relevant python modules. Is this possible? If so, must I build ChimeraX from source?
Additionally, I have tried several times to build v1.1.1 from source and I have not been able to. I am always prompted for a password when trying to rsync the dependencies: /bin/sh -c 'rsync -a $1 .' -- plato.cgl.ucsf.edu <http://plato.cgl.ucsf.edu/>:/usr/local/projects/chimerax/www/data/prereqs/python/Python-3.7.8.tar.xz user@plato.cgl.ucsf.edu <mailto:user@plato.cgl.ucsf.edu>'s password: In order to build from source, do I need to register somewhere to get credentials?
Just to be clear, this CIF file processing pipeline is for academic (UT Austin) use, not commercial.
Thanks in advance! James -- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu <mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users <https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users>
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu <mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users <https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users>
-- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

Tom, Eric, Greg- Thank you so much for your responses. This is extremely helpful. I have a few options now, and I'm definitely unblocked. I'm especially interested in trying to use a ChimeraX server-- I can see that being really helpful to reduce the memory footprint of docker images. My first step will be to just use subprocess to directly call the chimerax executable. That will certainly get the job done. My next step would be to try using chimerax as the python interpreter. From there, I'll take stock and see what's important to look at next. Thanks so much again for your help! On Tue, Jul 6, 2021 at 3:15 PM Tom Goddard <goddard@sonic.net> wrote:
Here's a bit more info on installing a PyPi package in ChimeraX on Windows
https://www.rbvi.ucsf.edu/pipermail/chimerax-users/2021-June/002304.html
And if you are still interested in compiling ChimeraX there is info about that in the programming manual
https://www.cgl.ucsf.edu/chimerax/docs/devel/building.html
Tom
On Jul 6, 2021, at 12:21 PM, Tom Goddard <goddard@sonic.net> wrote:
If you want to install additional PyPi packages into the ChimeraX Python use
chimerax -m pip install <NameOfPyPiPackage>
as discussed in this message
https://www.rbvi.ucsf.edu/pipermail/chimerax-users/2021-March/002000.html
If you don't have permission to modify ChimeraX where you might need to use the --user option to pip install. On windows you probably need to use the chimerax-console.exe executable.
Tom
On Jul 6, 2021, at 11:29 AM, James Loy via ChimeraX-users < chimerax-users@cgl.ucsf.edu> wrote:
Tom, Eric--
Thanks for the responses!
We'd certainly like to read the cif files, but in addition, we'd like to add hydrogens to the protein as well. For an MVP, I was just going to have some script that calls the chimerax CLI. Something like this (in python):
for code in pdb_codes: subprocess.run(f"chimerax --nogui --cmd 'load {code}.cif; addh; save {code}.addh.cif; exit'"
This will likely be okay. But, if I am able to call a python script using chimera basically as the interpreter then that might work better. My only question would be how could I utilize other third party libraries? Say, if I were to use chimerax as the interpreter for the entire cif processing pipeline, then I would need to utilize a few outside modules.
Thanks again for your help-- I really appreciate it! -James
On Tue, Jul 6, 2021 at 1:07 PM Eric Pettersen <pett@cgl.ucsf.edu> wrote:
If the *only* thing you need ChimeraX for is to read/parse mmCIF files, we do package that part as a separate library: GitHub - RBVI/readcif: A fast C++ CIF and mmCIF parser <https://github.com/RBVI/readcif>
--Eric
Eric Pettersen UCSF Computer Graphics Lab
On Jul 6, 2021, at 11:01 AM, Tom Goddard via ChimeraX-users < chimerax-users@cgl.ucsf.edu> wrote:
Hi James,
The ChimeraX Python modules have not been packaged to be used outside the ChimeraX application. I have tried making a chimerax module that can be installed in any Python (with the right version for binary compatibility) where all its Python capabilities can be used without needing the application user interface. But we have not distributed that, it has lots of problems. We have put it into two grant proposals to get funding for it but one proposal was not funded and the other we are still waiting to hear about.
In theory it shouldn't be hard to reuse specific parts of ChimeraX, for instance reading mmCIF files. That is in the mmcif ChimeraX Python module.
https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/mmcif
But that needs various other ChimeraX modules (atomstruct, element, pyinstance, pdbconnect, readcif, logger, arrays) listed in the mmcif bundle_info.xml file
https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info....
and those in turn require some other ChimeraX Python modules. ChimeraX contains hundreds of Python modules, so how will you figure out which ones you need? The easy solution is to take them all. But there are more problems, because the ChimeraX application initializes many of the modules, for instance, letting the atomic data structures module know where the residue template files are located. So you also need to figure that out. These many obstacles are why we proposed funding to make the code more usable without running the ChimeraX application -- it will be a good bit of work.
So the standard solution is instead to just run your processing scripts with the ChimeraX application from the command-line
chimerax --nogui myscript.py
For compiling ChimeraX you must be using old ChimeraX source code (your example is fetching Python 3.7 but ChimeraX has used Python 3.8 for the last 9 months). The current ChimeraX build does not fetch third party libraries with rsync, it uses https and curl and does not need a password. So use the current ChimeraX source from github and you should not have that problem.
https://github.com/RBVI/ChimeraX
Tom
On Jul 3, 2021, at 5:51 AM, James Loy via ChimeraX-users < chimerax-users@cgl.ucsf.edu> wrote:
Hello!
Thank you for creating such an amazing piece of software!
I'm trying to use portions of ChimeraX for part of a CIF file processing pipeline. In order to automate the process, I'm building a docker image that has ChimeraX installed. Ideally, we would like to use the pieces of ChimeraX we need by importing the relevant python modules. Is this possible? If so, must I build ChimeraX from source?
Additionally, I have tried several times to build v1.1.1 from source and I have not been able to. I am always prompted for a password when trying to rsync the dependencies: /bin/sh -c 'rsync -a $1 .' -- plato.cgl.ucsf.edu :/usr/local/projects/chimerax/www/data/prereqs/python/Python-3.7.8.tar.xz user@plato.cgl.ucsf.edu's password: In order to build from source, do I need to register somewhere to get credentials?
Just to be clear, this CIF file processing pipeline is for academic (UT Austin) use, not commercial.
Thanks in advance! James -- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
-- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
-- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/>

FYI, readcif doesn't build the molecular data structures, it just parses (mm)CIF files quickly. That is, it's the foundation that you would need to build a mmCIF reader. -- Greg On 7/6/2021 11:07 AM, Eric Pettersen via ChimeraX-users wrote:
If the /only/ thing you need ChimeraX for is to read/parse mmCIF files, we do package that part as a separate library: GitHub - RBVI/readcif: A fast C++ CIF and mmCIF parser <https://github.com/RBVI/readcif>
--Eric
Eric Pettersen UCSF Computer Graphics Lab
On Jul 6, 2021, at 11:01 AM, Tom Goddard via ChimeraX-users <chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@cgl.ucsf.edu>> wrote:
Hi James,
The ChimeraX Python modules have not been packaged to be used outside the ChimeraX application. I have tried making a chimerax module that can be installed in any Python (with the right version for binary compatibility) where all its Python capabilities can be used without needing the application user interface. But we have not distributed that, it has lots of problems. We have put it into two grant proposals to get funding for it but one proposal was not funded and the other we are still waiting to hear about.
In theory it shouldn't be hard to reuse specific parts of ChimeraX, for instance reading mmCIF files. That is in the mmcif ChimeraX Python module.
https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/mmcif <https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/mmcif>
But that needs various other ChimeraX modules (atomstruct, element, pyinstance, pdbconnect, readcif, logger, arrays) listed in the mmcif bundle_info.xml file
https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info.... <https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/mmcif/bundle_info....>
and those in turn require some other ChimeraX Python modules. ChimeraX contains hundreds of Python modules, so how will you figure out which ones you need? The easy solution is to take them all. But there are more problems, because the ChimeraX application initializes many of the modules, for instance, letting the atomic data structures module know where the residue template files are located. So you also need to figure that out. These many obstacles are why we proposed funding to make the code more usable without running the ChimeraX application -- it will be a good bit of work.
So the standard solution is instead to just run your processing scripts with the ChimeraX application from the command-line
chimerax --nogui myscript.py
For compiling ChimeraX you must be using old ChimeraX source code (your example is fetching Python 3.7 but ChimeraX has used Python 3.8 for the last 9 months). The current ChimeraX build does not fetch third party libraries with rsync, it uses https and curl and does not need a password. So use the current ChimeraX source from github and you should not have that problem.
https://github.com/RBVI/ChimeraX <https://github.com/RBVI/ChimeraX>
Tom
On Jul 3, 2021, at 5:51 AM, James Loy via ChimeraX-users <chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@cgl.ucsf.edu>> wrote:
Hello!
Thank you for creating such an amazing piece of software!
I'm trying to use portions of ChimeraX for part of a CIF file processing pipeline. In order to automate the process, I'm building a docker image that has ChimeraX installed. Ideally, we would like to use the pieces of ChimeraX we need by importing the relevant python modules. Is this possible? If so, must I build ChimeraX from source?
Additionally, I have tried several times to build v1.1.1 from source and I have not been able to. I am always prompted for a password when trying to rsync the dependencies: /bin/sh -c 'rsync -a $1 .' -- plato.cgl.ucsf.edu <http://plato.cgl.ucsf.edu>:/usr/local/projects/chimerax/www/data/prereqs/python/Python-3.7.8.tar.xz user@plato.cgl.ucsf.edu <mailto:user@plato.cgl.ucsf.edu>'s password: In order to build from source, do I need to register somewhere to get credentials?
Just to be clear, this CIF file processing pipeline is for academic (UT Austin) use, not commercial.
Thanks in advance! James -- James Loy, Ph. D. 614.915.9792 LinkedIn <https://www.linkedin.com/in/james-m-loy-ph-d-ba2256a/> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu <mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu <mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
participants (4)
-
Eric Pettersen
-
Greg Couch
-
James Loy
-
Tom Goddard