def test_write(self): """ test writing a pdbq file """ writer = PdbqWriter() writer.write('test_pdbqWriter.pdbq', self.mol, bondOrigin=('File',)) ans, errors = self.compare('Data/1crn_Hs.pdbq', 'test_pdbqWriter.pdbq') self.assertEquals(errors, None) self.assertEquals(ans, True)
def setup(self, useProteinAromaticList=1, aromaticCutOff=7.5, maxtors=32, autoMergeNPHS=1): if self.chains[0].hasBonds == 0: self.buildBondsByDistance() self.useProteinAromaticList = useProteinAromaticList self.aromaticCutOff = aromaticCutOff self.maxtors = 32 self.autoMergeNPHS = autoMergeNPHS self.bondClassifier = AutoDockBondClassifier() self.torsionTree = None self.message = "" self.torscount = 0 self.possible_torscount = 0 self.TORSDOF = 0 self.resKeys = list(q.keys()) self.PdbqWriter = PdbqWriter() #should this be here? msg = 'initialized ' + self.name + ':\n' #detect whether isPeptide msg += self.checkIsPeptide() #process charges msg += self.checkCharges() ##process hydrogens msg += self.checkHydrogens() #process bonds #this doesn't report anything??? newmsg, nphs = self.checkBonds() msg += newmsg #process aromaticCarbons msg += self.checkAromatics() return msg, nphs
sys.exit() if not filename: print('rotate_molecule: filename must be specified.') usage() sys.exit() mol = Read(filename)[0] if verbose: print('read ', filename) filetype = os.path.splitext(os.path.basename(filename))[1] if verbose: print("filetype=", filetype) writer = None if filetype == '.pdbqt': writer = PdbqtWriter() elif filetype == '.pdbq': writer = PdbqWriter() elif filetype == '.pdbqs': writer = PdbqsWriter() elif filetype == '.pdb': writer = PdbWriter() else: print('Sorry! Unable to write this filetype->', filetype) center = numpy.add.reduce(mol.allAtoms.coords) / len(mol.allAtoms) crds = numpy.array(mol.allAtoms.coords) center = numpy.add.reduce(crds) / len(mol.allAtoms) crds = crds - center crds = crds.tolist() mol.allAtoms.updateCoords(crds) lenCoords = len(crds) #rotate the atoms here
if not pdbqt_filename: print 'pdbqt_to_pdbq: pdbqt_filename must be specified.' usage() sys.exit() mols = Read(pdbqt_filename) if verbose: print 'read ', pdbqt_filename mol = mols[0] mol.buildBondsByDistance() #fix number for problem files with alternative positions mol.allAtoms.number = range(1, len(mol.allAtoms)+1) #pdb_filename = mol.name + '.pdb' writer = PdbqWriter() #writer.write(pdbq_filename, mol.allAtoms, records=['ATOM', 'HETATM']) fptr = open(pdbq_filename, 'w') ctr = 0 for l in mol.parser.allLines: if l.find('ATOM')==0 or l.find('HETATM')==0: at = mol.allAtoms[ctr] if at.autodock_element=='A': if len(at.name)==1: at.name='A' else: at.name = 'A' + at.name[1:] writer.write_atom(fptr, mol.allAtoms[ctr]) ctr = ctr + 1 else: fptr.write(l)
sys.exit() if not pdbqt_filename: print('pdbqt_to_pdbq: pdbqt_filename must be specified.') usage() sys.exit() mols = Read(pdbqt_filename) if verbose: print('read ', pdbqt_filename) mol = mols[0] mol.buildBondsByDistance() #fix number for problem files with alternative positions mol.allAtoms.number = list(range(1, len(mol.allAtoms) + 1)) #pdb_filename = mol.name + '.pdb' writer = PdbqWriter() #writer.write(pdbq_filename, mol.allAtoms, records=['ATOM', 'HETATM']) fptr = open(pdbq_filename, 'w') ctr = 0 for l in mol.parser.allLines: if l.find('ATOM') == 0 or l.find('HETATM') == 0: at = mol.allAtoms[ctr] if at.autodock_element == 'A': if len(at.name) == 1: at.name = 'A' else: at.name = 'A' + at.name[1:] writer.write_atom(fptr, mol.allAtoms[ctr]) ctr = ctr + 1 else: fptr.write(l)