rigdenlab / ample

Ab initio Modelling of Proteins for moLEcular replacement
http://ample.rtfd.io
BSD 3-Clause "New" or "Revised" License
6 stars 5 forks source link

no_contact_prediction option always tries to generate contacts when modelling is attempted #30

Closed linucks closed 7 years ago

linucks commented 7 years ago

In the file ample/util/options_processor.py, the line:

if optd['contact_file'] or optd['bbcontacts_file'] or not optd["no_contact_prediction"]:

checks if contacts should be predicted. no_contact_prediction does not appear to be set anywhere, but when I run a job, the .ini file that is generated contains, for example:

ample_testing/nmr_remodel/debug.log:cmdline_flags : ['no_contact_prediction', 'rosetta_dir', 'name', 'nmr_process', 'frags_9mers', 'nmr_model_in', 'work_dir', 'nmr_remodel', 'no_gui', 'mtz', 'frags_3mers', 'fasta', 'nproc']

so no_contact_prediction has made it into the command-line flags and is False. The above test in options_processor.py is therefore always True if there are no contact files, so AMPLE is always trying to run contact predictions whenever it does modelling.

fsimkovic commented 7 years ago

Yes but contact prediction does also depend on the presence of ccmpred, hhblits and $HHBLITSDB in your shell environment.

Would you be able to elaborate on the issue?

linucks commented 7 years ago

I'm trying to run the nmr_remodel test case, but it's currently failing with the traceback listed below. I don't have any contact prediction software installed. There's nothing in my environment referring to ccmpred or hhblits.

2017-10-15 13:10:55,873 - ample.util.config_util - INFO - AMPLE configuration written to: /opt/ample.git/ample_testing/nmr_remodel/1t00_.ini
2017-10-15 13:10:55,874 - root - INFO - Splitting NMR ensemble into consituent models
2017-10-15 13:10:56,417 - root - INFO - NMR ensemble contained 20 models
2017-10-15 13:10:56,417 - ample.util.ample_util - DEBUG - Looking for executable: ccmpred
2017-10-15 13:10:56,417 - ample.util.ample_util - DEBUG - Checking paths: ['/Users/jmht/miniconda2/bin', '/opt/ccp4/ccp4-7.0/etc', '/opt/ccp4/ccp4-7.0/bin', '/opt/ccp4/ccp4-7.0/Frameworks/Python.framework/Versions/2.7/bin', '/Users/jmht/miniconda2/bin', '/usr/bin', '/bin', '/usr/sbin', '/sbin', '/usr/local/bin', '/opt/X11/bin']
2017-10-15 13:10:56,418 - root - CRITICAL - **********************************************************************
********************          AMPLE ERROR          *******************
**********************************************************************

Error running main AMPLE program: Cannot find executable: ccmpred

**********************************************************************

More information may be found in the debug log file: /opt/ample.git/ample_testing/nmr_remodel/debug.log

If you believe that this is an error with AMPLE, please email: ccp4@stfc.ac.uk
providing as much information as you can about how you ran the program.

Please include the debug logfile with your email: /opt/ample.git/ample_testing/nmr_remodel/debug.log

2017-10-15 13:10:56,420 - root - DEBUG - AMPLE EXITING AT...
  File "/opt/ample.git/ample/__main__.py", line 18, in <module>
    main.Ample().main()
  File "/opt/ccp4/ccp4-7.0/lib/py2/ample/main.py", line 97, in main
    self.modelling(amopt.d, rosetta_modeller)
  File "/opt/ccp4/ccp4-7.0/lib/py2/ample/main.py", line 261, in modelling
    if con_util.found_ccmpred_contact_prediction_deps:
  File "/opt/ccp4/ccp4-7.0/lib/py2/ample/util/contact_util.py", line 677, in found_ccmpred_contact_prediction_deps
    ccmpred_exe = ample_util.find_exe("ccmpred")
  File "/opt/ccp4/ccp4-7.0/lib/py2/ample/util/ample_util.py", line 402, in find_exe
    raise FileNotFoundError("Cannot find executable: {0}".format(executable))
fsimkovic commented 7 years ago

@linucks is this fixed now?

linucks commented 7 years ago

Yup @fsimkovic! Thanks for doing that. Now I just need to fix all the bugs I've introduced with my changes... :/