#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) if verbose: print "wrote ", ctr, " atoms to", pdbq_filename # To execute this command type: # pdbqt_to_pdb.py -f pdbqt_filename_stem [-o outputfilename] -v
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) if verbose: print("wrote ", ctr, " atoms to", pdbq_filename) # To execute this command type: # pdbqt_to_pdb.py -f pdbqt_filename_stem [-o outputfilename] -v