In [ ]:
import os.path as op
def check_path(path):
"""Check if the specified program is in the PATH and can be run in a shell."""
import shutil
checker = shutil.which(path)
if checker:
print('SUCCESS: {} found!'.format(path))
return checker
else:
raise OSError('FAILURE: unable to find {}'.format(path))
def check_path_run(cmd):
"""Check if a command can be run and print out the stdout and stderr."""
import shlex
import subprocess
program_and_args = shlex.split(cmd)
try:
command = subprocess.Popen(program_and_args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = command.communicate()
except FileNotFoundError:
raise OSError('FAILURE: unable to run {}'.format(program_and_args[0]))
print('*****STDOUT*****')
print(out.decode("utf-8") )
print('--------------\n')
print('*****STDERR*****')
print(err.decode("utf-8") )
In [ ]:
dssp_exec = 'dssp'
In [ ]:
check_path(dssp_exec)
In [ ]:
check_path_run(dssp_exec)
In [ ]:
msms_exec = 'msms'
In [ ]:
check_path(msms_exec)
In [ ]:
check_path_run(msms_exec)
In [ ]:
stride_exec = 'stride'
In [ ]:
check_path(stride_exec)
In [ ]:
check_path_run(stride_exec)
In [ ]:
freesasa_exec = 'freesasa'
In [ ]:
check_path(freesasa_exec)
In [ ]:
check_path_run(freesasa_exec)
In [ ]:
fatcat_exec = 'fatcat'
In [ ]:
check_path(fatcat_exec)
In [ ]:
check_path_run(fatcat_exec)
In [ ]:
scratch_exec = 'scratch'
In [ ]:
check_path(scratch_exec)
In [ ]:
check_path_run(scratch_exec)
In [ ]:
pepstats_exec = 'pepstats'
In [ ]:
check_path(pepstats_exec)
In [ ]:
check_path_run(pepstats_exec)
In [ ]:
needle_exec = 'needle'
In [ ]:
check_path(needle_exec)
In [ ]:
check_path_run(needle_exec)
In [ ]:
import nglview
view = nglview.show_structure_file("../../ssbio/test/test_files/structures/1kf6.pdb")
view
Please see I-TASSER and TMHMM Install Guide for instructions on how to get this program installed.
In [ ]:
tmhmm_exec = 'tmhmm'
In [ ]:
check_path(tmhmm_exec)
In [ ]:
check_path_run(tmhmm_exec)
Please see I-TASSER and TMHMM Install Guide for instructions on how to get this program installed.
In [ ]:
itasser_version = '5.1'
itasser_dir = op.expanduser('~/software/itasser/I-TASSER{}/'.format(itasser_version))
itasser_downloadlib = op.join(itasser_dir, 'download_lib.pl')
itasser_exec = op.join(itasser_dir, 'I-TASSERmod/runI-TASSER.pl')
In [ ]:
check_path(itasser_downloadlib)
In [ ]:
check_path(itasser_exec)
In [ ]:
check_path_run(itasser_exec)