Ejemplo n.º 1
0
	def runDirSingle(self, dirname, command):
		PyUtils.create_folder(dirname[:-1])
		curr = os.getcwd()
		os.chdir(dirname[:-1])
		job = self.runSingle(command)
		os.chdir(curr)
                return job
Ejemplo n.º 2
0
 def __init__(self, folder_name, filter_name):
     self.folder_name = folder_name
     self.extract = folder_name + '/extract_all.sort.uniq.txt'
     self.filter = filter_name
     self.filter_folder = folder_name + '/' + filter_name
     PyUtils.create_folder(self.filter_folder)
     self.out_name = filter_name + '/extract_all.' + filter_name
     self.rlist = Result_List.Result_List(self.extract)
Ejemplo n.º 3
0
 def poses2pdb(self):
     PyUtils.create_folder('recs')
     os.chdir('poses')
     for k in range(1, len(os.listdir(os.getcwd())) + 1):
         i = str(k) + '.mol2'
         surface = PYMOLUtils.get_surface_area(i)
         with open(i, 'r') as f_mol:
             for line in f_mol:
                 if 'SMILES' in line:
                     smile_line = line.split()[2]
                 if 'heavy atom count' in line:
                     heavy_atoms = int(line.split()[-1])
                     break
         if surface < 200 or surface / heavy_atoms < 14.5:
             self.counters.append(0)
             continue
         if '[N+](=O)[O-]' in smile_line or smile_line.count(
                 'N') + smile_line.count('O') + smile_line.count(
                     'n') + smile_line.count('o') > 4:
             self.counters.append(0)
             continue
         pdb_pose = '../recs/' + i[:-4] + 'pdb'
         subprocess.call(['convert.py', i, pdb_pose])
         hetatm = []
         with open(pdb_pose, 'r') as f_pdb:
             for line in f_pdb:
                 if 'HETATM' in line:
                     hetatm.append(line[:23] + ' -1' + line[26:])
         rec_pose = '../recs/rec_' + i[:-4] + 'pdb'
         with open(rec_pose, 'w') as f_rec:
             for line in hetatm:
                 f_rec.write(line)
             for line in self.rec_lines:
                 f_rec.write(line)
         sub_command = []
         for res_l in self.res_list:
             sub_command.append('-seed_residue')
             sub_command.append(str(res_l))
         subprocess.call([
             'python', Paths.SCRIPTS + 'HBonanza.py',
             '-trajectory_filename', rec_pose,
             '-hydrogen_bond_distance_cutoff', '3.0',
             '-hydrogen_bond_angle_cutoff', '30', '-seed_residue', '-1'
         ] + sub_command + ['-just_immediate_connections', 'true'],
                         stdout=open(os.devnull, 'w'))
         os.remove(rec_pose + '.average_hbonds')
         os.remove(rec_pose + '.frame_by_frame_hbonds.csv')
         if os.path.isfile(rec_pose +
                           '.hbond_averages_in_occupancy_column.pdb'):
             os.remove(rec_pose + '.hbond_averages_in_occupancy_column.pdb')
             counter = self.countHbonds(rec_pose + '.HBonds')
         else:
             counter = 0
         self.counters.append(counter)
         os.remove(rec_pose)
     os.chdir('../')
     shutil.rmtree('recs')
     shutil.rmtree('poses')
Ejemplo n.º 4
0
def DownloadPDBs(PDB_list_file):
    PDB_list = open(os.getcwd() + '/' + PDB_list_file, 'r').readlines()
    for i in range(len(PDB_list)):
        PDBid = PDB_list[i].strip()
        PyUtils.create_folder(os.getcwd() + "/" + PDBid)
        os.chdir(PDBid)
        cmd = ["~/../scripts/pdbUtil/getPdb.pl" + " -id " + PDBid]
        subprocess.call(cmd, shell=True)
        os.chdir("..")
Ejemplo n.º 5
0
def DownloadPDBs(PDB_list_file):
    PDB_list = open(os.getcwd()+'/'+PDB_list_file,'r').readlines()
    for i in range(len(PDB_list)):
        PDBid = PDB_list[i].strip()
        PyUtils.create_folder(os.getcwd()+"/"+PDBid)
        os.chdir(PDBid)
        cmd = ["~/../scripts/pdbUtil/getPdb.pl"+" -id "+PDBid]
        subprocess.call(cmd,shell=True)
        os.chdir("..")
Ejemplo n.º 6
0
 def __init__(self, folder_name, compound, library=False):
     self.folder = os.getcwd() + "/"
     self.name = self.folder + folder_name + "/"
     self.compound = os.path.abspath(compound)
     self.library = library
     PyUtils.create_folder(self.name)
     self.copyIndock()
     self.softlink()
     os.chdir(self.name)
     self.dock_command = Paths.DOCKBASE + "docking/DOCK/src/i386/dock64"
     self.DOCK()
Ejemplo n.º 7
0
    def __init__(self, folder_name, compound, library = False):
	self.folder = os.getcwd() + "/"
        self.name = self.folder + folder_name + "/"
        #self.compound = os.path.abspath(compound)[5:]
        self.compound = compound
        self.library = library
        PyUtils.create_folder(self.name)
        self.copyIndock()
        self.softlink()
        os.chdir(self.name)
        self.dock_command = Paths.DOCKBASE + "docking/DOCK/src/i386/dock64"
        self.DOCK()
Ejemplo n.º 8
0
 def poses2pdb(self):
     PyUtils.create_folder('recs')
     os.chdir('poses')
     for k in range(1, len(os.listdir(os.getcwd())) + 1):
         i = str(k) + '.mol2'
         surface = PYMOLUtils.get_surface_area(i)
         with open(i, 'r') as f_mol:
             for line in f_mol:
                 if 'SMILES' in line:
                     smile_line = line.split()[2]
                 if 'heavy atom count' in line:
                     heavy_atoms = int(line.split()[-1])
                     break
         if surface < 200 or surface / heavy_atoms < 14.5:
             self.counters.append(0)
             continue
         if '[N+](=O)[O-]' in smile_line or smile_line.count('N') + smile_line.count('O') + smile_line.count('n') + smile_line.count('o') > 4:
             self.counters.append(0)
             continue
         pdb_pose = '../recs/' + i[:-4] + 'pdb'
         subprocess.call(['convert.py', i, pdb_pose])
         hetatm = []
         with open(pdb_pose, 'r') as f_pdb:
             for line in f_pdb:
                 if 'HETATM' in line:
                     hetatm.append(line[:23] + ' -1' + line[26:])
         rec_pose = '../recs/rec_' + i[:-4] + 'pdb'
         with open(rec_pose, 'w') as f_rec:
             for line in hetatm:
                 f_rec.write(line)
             for line in self.rec_lines:
                 f_rec.write(line)
         sub_command = []
         for res_l in self.res_list:
             sub_command.append('-seed_residue')
             sub_command.append(str(res_l))
         subprocess.call(['python', Paths.SCRIPTS + 'HBonanza.py', '-trajectory_filename', rec_pose, '-hydrogen_bond_distance_cutoff', '3.0', '-hydrogen_bond_angle_cutoff', '30', '-seed_residue', '-1'] + sub_command + ['-just_immediate_connections', 'true'], stdout=open(os.devnull, 'w'))
         os.remove(rec_pose + '.average_hbonds')
         os.remove(rec_pose + '.frame_by_frame_hbonds.csv')
         if os.path.isfile(rec_pose + '.hbond_averages_in_occupancy_column.pdb'):
             os.remove(rec_pose + '.hbond_averages_in_occupancy_column.pdb')
             counter = self.countHbonds(rec_pose + '.HBonds')
         else:
             counter = 0
         self.counters.append(counter)
         os.remove(rec_pose)
     os.chdir('../')
     shutil.rmtree('recs')
     shutil.rmtree('poses')
Ejemplo n.º 9
0
	def runDirSingle(self, dirname, command):
		PyUtils.create_folder(dirname[:-1])
		os.chdir(dirname[:-1])
		self.runSingle(command)
		os.chdir('../')
Ejemplo n.º 10
0
 def runDirSingle(self, dirname, command):
     PyUtils.create_folder(dirname[:-1])
     os.chdir(dirname[:-1])
     self.runSingle(command)
     os.chdir('../')
Ejemplo n.º 11
0
	def runDirSingle(self, dirname, command):
		PyUtils.create_folder(dirname[:-1])
		curr = os.getcwd()
		os.chdir(dirname[:-1])
		self.runSingle(command)
		os.chdir(curr)