changing the default installed /usr/share/IMP path (IMP-2.1.1-1.el5.centos.x86_64.rpm/IMP-devel-2.1.1-1.el5.centos.x86_64.rpm)
Hello,
I am trying to install the prebuilt IMP rpms for CentOS-5 x86_64 in some different place, ie /usr/ -> nfs mounted /c5/shared/imp/2.1.1-1.el5.centos.x86_64
I have rpm2cpio the contents, redefined the required PATH/PYTHONPATH but I am stuck at the /usr/shared/IMP which seems to be hardcoded in lib64/libimp_base.so file.
Is there a way to override that /usr/shared/IMP path with some environment variables? or some magic IMP.base.set_data_path ?
testcase: <cut imp.py> import IMP import IMP.atom import IMP.multifit m=IMP.kernel.Model() mp0 = IMP.atom.read_pdb('/Bis/home/tru/0.pdb',m) </cut> $ python imp.py Traceback (most recent call last): File "imp.py", line 5, in ? mp0 = IMP.atom.read_pdb('/Bis/home/tru/0.pdb',m) File "/c5/shared/imp/2.1.1-1.el5.centos.x86_64/lib64/python2.4/site-packages/IMP/atom/__init__.py", line 10442, in read_pdb return _IMP_atom.read_pdb(*args) _IMP_base.IOException: Unable to find data file top.lib in [/usr/share/IMP]. IMP is not installed or set up correctly.
begin Model 0::do_destroy: Destroying model end Model 0::do_destroy
top.lib in my setup is /c5/shared/imp/2.1.1-1.el5.centos.x86_64/share/IMP/atom/top.lib and not in /usr/share/IMP/atom/top.lib
Thanks
Tru
You should be able to use the IMP_DATA environment variable to change the search path. Define it to be /c5/shared/imp/2.1.1-1.el5. centos.x86_64/share/IMP.
Let me know if that works or not. --Daniel
On Tue, Dec 3, 2013 at 10:18 AM, Tru Huynh tru@pasteur.fr wrote:
> Hello, > > I am trying to install the prebuilt IMP rpms for CentOS-5 x86_64 in some > different place, > ie /usr/ -> nfs mounted /c5/shared/imp/2.1.1-1.el5.centos.x86_64 > > I have rpm2cpio the contents, redefined the required PATH/PYTHONPATH but I > am > stuck at the /usr/shared/IMP which seems to be hardcoded in > lib64/libimp_base.so file. > > Is there a way to override that /usr/shared/IMP path with some environment > variables? or some magic IMP.base.set_data_path ? > > testcase: > <cut imp.py> > import IMP > import IMP.atom > import IMP.multifit > m=IMP.kernel.Model() > mp0 = IMP.atom.read_pdb('/Bis/home/tru/0.pdb',m) > </cut> > $ python imp.py > Traceback (most recent call last): > File "imp.py", line 5, in ? > mp0 = IMP.atom.read_pdb('/Bis/home/tru/0.pdb',m) > File > "/c5/shared/imp/2.1.1-1.el5.centos.x86_64/lib64/python2.4/site-packages/IMP/atom/__init__.py", > line 10442, in read_pdb > return _IMP_atom.read_pdb(*args) > _IMP_base.IOException: Unable to find data file top.lib in > [/usr/share/IMP]. IMP is not installed or set up correctly. > > begin Model 0::do_destroy: > Destroying model > end Model 0::do_destroy > > top.lib in my setup is > /c5/shared/imp/2.1.1-1.el5.centos.x86_64/share/IMP/atom/top.lib > and not in /usr/share/IMP/atom/top.lib > > Thanks > > Tru > -- > Dr Tru Huynh | http://www.pasteur.fr/recherche/unites/Binfs/ > mailto:tru@pasteur.fr | tel/fax +33 1 45 68 87 37/19 > Institut Pasteur, 25-28 rue du Docteur Roux, 75724 Paris CEDEX 15 France > _______________________________________________ > IMP-users mailing list > IMP-users@salilab.org > https://salilab.org/mailman/listinfo/imp-users >
On Tue, Dec 03, 2013 at 12:20:01PM -0800, Daniel Russel wrote: > You should be able to use the IMP_DATA environment variable to change the > search path. Define it to be /c5/shared/imp/2.1.1-1.el5. > centos.x86_64/share/IMP. > That was it :D
I also have to export IMP_EXAMPLE_DATA to /c5/shared/imp/2.1.1-1.el5.centos.x86_64/share/doc/IMP-2.1.1/examples
Now http://www.salilab.org/~drussel/unstructured/imp_doc/atom_examples.html works :D
[tru@sillage imp]$ python dope.py creating representation creating DOPE score function Failed to find type for #373 "OXT" (O) #54 "ASP" Reading 158 by 158 from file /c5/shared/imp/2.1.1-1.el5.centos.x86_64/share/IMP/score_functor/dope_score.lib PMF table entries have 30 bins with width 0.5 DOPE SCORE ::WARNING Method double IMP::kernel::Model::evaluate(bool, bool) is deprecated. WARNING: Use a scoring function or Model::update() instead. begin Model 0::update: begin Model 0::do_set_has_required_score_states: begin Model 0::do_set_has_required_score_states: begin get_update_order: <...> end Model Restraints scoring::evaluate end Model Restraints::evaluate -4045.79361447 begin Model 0::do_destroy: Destroying model end Model 0::do_destroy
> Let me know if that works or not.
Thanks a lot, now we can let the users choose which IMP versions they want!
Best regards,
Tru
participants (2)
-
Daniel Russel
-
Tru Huynh