def main(): workspace, job_info = big_jobs.initiate() pdbpath = workspace.input_path(job_info) if not os.path.exists(workspace.output_prefix(job_info)): os.mkdir(workspace.output_prefix(job_info)) outpath = workspace.output_path(job_info) folder = workspace.output_prefix(job_info) test_run = job_info.get('test_run', False) combiner = '/wynton/home/kortemme/krivacic/rosetta/source/bin/combine_silent.linuxgccrelease' # for folder in workspace.output_subdirs: cmd = [ combiner, '-database', '/wynton/home/kortemme/krivacic/rosetta/database', '-out:file:silent', os.path.join(folder, 'silent.out') ] for f in glob.glob(folder + '/*.out'): cmd.extend([ '-in:file:silent', f, ]) print('Running ROSETTA command:') print(' '.join(cmd)) subprocess.call(cmd)
def main(): cluster.require_qsub() start_time = time.time() workspace, job_info = big_jobs.initiate() pdbpath = workspace.input_path(job_info) if not os.path.exists(workspace.output_prefix(job_info)): os.mkdir(workspace.output_prefix(job_info)) outpath = workspace.output_path(job_info) test_run = job_info.get('test_run', False) # append location of Rosetta binaries to path abinitio = '/wynton/home/kortemme/krivacic/rosetta/source/bin/AbinitioRelax.linuxgccrelease' # find necessary files print('fdir :', workspace.fragments_dir) print('pdb :', pdbpath) print( os.path.join(workspace.fragments_dir, workspace.fragments_tag(pdbpath.lower()) + '?', '*3mers.gz')) tmers = glob.glob( os.path.join(workspace.fragments_dir, workspace.fragments_tag(pdbpath.lower()) + '?', '*3mers.gz'))[0] nmers = glob.glob( os.path.join(workspace.fragments_dir, workspace.fragments_tag(pdbpath.lower()) + '?', '*9mers.gz'))[0] ss2 = glob.glob( os.path.join(workspace.fragments_dir, workspace.fragments_tag(pdbpath.lower()) + '?', '*psipred_ss2'))[0] fasta = glob.glob( os.path.join(workspace.fragments_dir, workspace.fragments_tag(pdbpath.lower()) + '?', '*fasta'))[0] # Set up tempdir if 'TMPDIR' in os.environ: os_tmp = os.environ['TMPDIR'] elif args['--task']: os_tmp = os.path.join(os.environ['HOME'], 'temp') else: os_tmp = os.path.join('/scratch', os.environ['USER']) outdir_temp = os.path.join(os_tmp, str(task_num)) if not os.path.exists(outdir_temp): os.makedirs(outdir_temp, exist_ok=True) # Run the ab initio relax script. outfile = os.path.join( outdir_temp, 'silent{}.out'.format(workspace.output_suffix(job_info))) relax_abinitio = [ abinitio, '-abinitio:relax', '-use_filters', 'true', '-abinitio::increase_cycles', '10', '-abinitio::rg_reweight', '0.5', '-abinitio::rsd_wt_helix', '0.5', '-abinitio::rsd_wt_loop', '0.5', '-relax::fast', '-in:file:fasta', fasta, '-in:file:frag3', tmers, '-in:file:frag9', nmers, '-in:file:psipred_ss2', ss2, '-nstruct', '10', # '-out:pdb_gz', # '-out:sf', workspace.output_prefix(job_info) + 'score{}.sc'.format(workspace.output_suffix(job_info)), # '-out:file:silent', workspace.output_prefix(job_info) + 'silent{}.out'.format(workspace.output_suffix(job_info)), '-out:file:silent', outfile, # '-out:prefix', workspace.output_prefix(job_info), # '-out:suffix', workspace.output_suffix(job_info), '-out:no_nstruct_label' # '--outdir', workspace.fragments_dir, # '--memfree', args['--mem-free'] ] print('Running ROSETTA command:') print(' '.join(relax_abinitio)) subprocess.call(relax_abinitio) from shutil import copyfile if not os.path.exists(workspace.output_prefix(job_info)): os.makedirs(workspace.output_prefix(job_info), exist_ok=True) final = os.path.join( workspace.output_prefix(job_info), 'silent{}.out'.format(workspace.output_suffix(job_info))) copyfile(outfile, final)
from roseasy import big_jobs from pyrosetta.rosetta.core.pack.task import TaskFactory from pyrosetta.rosetta.core.pack.task.operation import ReadResfile from pyrosetta import create_score_function from roseasy.movers import fastdesign #from roseasy.standard_params.filters import FilterContainer import time def get_workspace(root_dir, step): return pipeline.DesignWorkspace(root_dir, step) if __name__ == '__main__': start_time = time.time() workspace, job_info = big_jobs.initiate() test_run = job_info.get('test_run', False) init('-out:levels protocols.fixbb.LayerDesignOperation:warning') # Figure out input pdb and create a pose pdbpath = workspace.input_path(job_info) pose = pose_from_file(pdbpath) # Create FastDesign object fd = fastdesign.FastDesign() fd.pose = pose fd.add_init_arg('-ex1 -ex2 -use_input_sc -ex1aro') # Create task factory (tells Rosetta which positions to design and # which to move) and read the resfile taskfactory = TaskFactory()
def main(): cluster.require_qsub() start_time = time.time() workspace, job_info = big_jobs.initiate() pdbpath = workspace.input_path(job_info) if not os.path.exists(workspace.output_prefix(job_info)): os.mkdir(workspace.output_prefix(job_info)) outpath = workspace.output_path(job_info) test_run = job_info.get('test_run', False) # append location of Rosetta binaries to path abinitio = '/wynton/home/kortemme/krivacic/rosetta/source/bin/AbinitioRelax.linuxgccrelease' # find necessary files print('fdir :', workspace.fragments_dir) print('pdb :', pdbpath) print( os.path.join(workspace.fragments_dir, workspace.fragments_tag(pdbpath.lower()) + '?', '*3mers.gz')) tmers = glob.glob( os.path.join(workspace.fragments_dir, workspace.fragments_tag(pdbpath.lower()) + '?', '*3mers.gz'))[0] nmers = glob.glob( os.path.join(workspace.fragments_dir, workspace.fragments_tag(pdbpath.lower()) + '?', '*9mers.gz'))[0] ss2 = glob.glob( os.path.join(workspace.fragments_dir, workspace.fragments_tag(pdbpath.lower()) + '?', '*psipred_ss2'))[0] fasta = glob.glob( os.path.join(workspace.fragments_dir, workspace.fragments_tag(pdbpath.lower()) + '?', '*fasta'))[0] # Run the ab initio relax script. relax_abinitio = [ abinitio, '-abinitio:relax', '-use_filters', 'true', '-abinitio::increase_cycles', '10', '-abinitio::rg_reweight', '0.5', '-abinitio::rsd_wt_helix', '0.5', '-abinitio::rsd_wt_loop', '0.5', '-relax::fast', '-in:file:fasta', fasta, '-in:file:frag3', tmers, '-in:file:frag9', nmers, '-in:file:psipred_ss2', ss2, '-nstruct', '10', # '-out:pdb_gz', '-out:file:silent', workspace.output_prefix(job_info) + 'silent_{}.out'.format(workspace.output_suffix(job_info)), # '-out:prefix', workspace.output_prefix(job_info), # '-out:suffix', workspace.output_suffix(job_info), '-out:no_nstruct_label' # '--outdir', workspace.fragments_dir, # '--memfree', args['--mem-free'] ] print('Running ROSETTA command:') print(' '.join(relax_abinitio)) subprocess.call(relax_abinitio)
def main(): args = docopt.docopt(__doc__) print(args) cluster.require_qsub() start_time = time.time() workspace, job_info = big_jobs.initiate() pdbpath = workspace.input_path(job_info) if not os.path.exists(workspace.output_prefix(job_info)): os.mkdir(workspace.output_prefix(job_info)) outpath = workspace.output_path(job_info) test_run = job_info.get('test_run', False) # append location of Rosetta binaries to path sys.path.append('/wynton/home/kortemme/krivacic/source/bin') # find necessary files tmers = glob.glob( os.path.join(workspace.fragments_dir, workspace.fragments_tag(pdbpath) + '?', '*3mers.gz')) nmers = glob.glob( os.path.join(workspace.fragments_dir, workspace.fragments_tag(pdbpath) + '?', '*9mers.gz')) ss2 = glob.glob( os.path.join(workspace.fragments_dir, workspace.fragments_tag(pdbpath) + '?', '*psipred_ss2')) # Run the ab initio relaxation script. relax_abinitio = [ 'AbinitioRelax.linuxgccrelease', '-abinitio:relax', '-use_filters', 'true', '-abinitio::increase_cycles', '10', '-abinitio::rg_reweight', '0.5', '-abinitio::rsd_wt_helix', '0.5', '-abinitio::rsd_wt_loop', '0.5', '-relax::fast', '-in:file:fasta', workspace.fasta_path, '-in:file:frag3', tmers, '-in:file:frag9', nmers, '-in:file:psipred_ss2', ss2, '-nstruct', args.nstruct, '-out:pdb_gz', '-out:prefix', workspace.output_prefix(job_info), '-out:suffix', workspace.output_suffix(job_info), # '--outdir', workspace.fragments_dir, # '--memfree', args['--mem-free'] ] if args['--dry-run']: print(' '.join(relax_abinitio)) else: subprocess.call(relax_abinitio) init() pose = pose_from_file(outpath) input_pose = pose_from_file(pdbpath) ca_rmsd = CA_rmsd(pose, input_pose) all_atom_rmsd = all_atom_rmsd(pose, input_pose) setPoseExtraScore(pose, 'EXTRA_METRIC_CA_RMSD [[-]]', ca_rmsd) setPoseExtraScore(pose, 'EXTRA_METRIC_AllAtom_RMSD [[-]]', all_atom_rmsd) filters = workspace.get_filters(pose, task_id=job_info['task_id'], score_fragments=not test_run, test_run=test_run) filters.run_filters() total_time = time.time() - start_time setPoseExtraScore(pose, 'EXTRA_METRIC_Run time', total_time) outname = os.path.basename(outpath) outfolder = os.path.join(workspace.output_prefix(job_info), 'filtered') pose.dump_pdb(os.path.join(outfolder, outpath))