Source code for schrodinger.application.bioluminate.patch_utils.pre_analyze

"""
Run pre-analysis on the specified structure.  Invoked as:

    pre_analyze.py <basename>

The structure will be read from <basename>.maegz and the ASL to use for the
surface will be read from <basename>.txt.  Output will be written to
<basename>.vis and <basename>.pkl.
"""

import sys

from schrodinger.application.bioluminate.patch_utils.patch_finder import \
    PreAnalyzer
from schrodinger.application.matsci import jobutils
from schrodinger.utils import cmdline
from schrodinger.utils import license

PROGRAM_NAME = 'Protein Patch Analysis'
DEFAULT_JOBNAME = 'patch_finder'


[docs]def get_job_spec_from_args(argv): """ Return a JobSpecification necessary to run this script via launchapi. If this function is present in a script, it allows the script to run under job control via the -HOST flag on either localhost or remote host. The script will run locally without jobcontrol if -HOST is not used. :type argv: list :param argv: The list of command line arguments including the script name at [0], similar to that returned by sys.argv :rtype: schrodinger.job.launchapi.JobSpecification :return: The JobSpecification for this job """ jobname = argv[1] job_builder = jobutils.prepare_job_spec_builder(argv, PROGRAM_NAME, DEFAULT_JOBNAME) job_builder.setInputFile(jobname + '.maegz') job_builder.setInputFile(jobname + '.txt') job_builder.setOutputFile(jobname + '.vis') job_builder.setOutputFile(jobname + '.pkl') return job_builder.getJobSpec()
[docs]def pre_analyze(): basename = sys.argv[1] with license.License(license.BIOLUMINATE_MAIN) as biolicense: # Tampering with licensing is a violation of the license agreement if biolicense.isValid(): pre_analyzer = PreAnalyzer.readAndRun(basename) pre_analyzer.write(basename) else: print("No BIOLUMINATE_MAIN license token is available. You will " "not be able to run the calculation.") sys.exit(1)
if __name__ == "__main__": cmdline.main_wrapper(pre_analyze)