rs-station / matchmaps

https://rs-station.github.io/matchmaps/
Other
2 stars 0 forks source link

Add utility for checking / activating phenix and CCP4 #14

Closed dennisbrookner closed 1 year ago

dennisbrookner commented 1 year ago

It would be nice to provide some sort of functionality for activating phenix and CCP4. The simplest thing to do (and something I definitely know how to do!) would be to provide a utility like matchmaps.isphenixactive which just checks if phenix is active and prints out the result.

A more sophisticated option would be to allow a user to "save" paths to phenix and CCP4 as environment variables, such that they could be activated in advance some matchmaps.setup function. I think I know how to do this, but I don't know how long the environment variables would last. Are these being added to .bashrcs? Do I have to write code for multiple operating systems?

Finally, the best thing would be to not only save these paths, but to source phenix and CCP4 on the fly within a call to matchmaps. I tend to believe that this is not possible, because every call to subprocess is its own thing that doesn't know about previous calls? But maybe it could be done?

dennisbrookner commented 1 year ago

All of the utilities now check for phenix/ccp4 in the environment first thing and throw an informative error if something isn't active. For now, this is a significant improvement. This will make it into the next release, presumably 0.4.0