def save(self,structure,dir,fileName): filePDB = FcfrpFile(dir, fileName) filePDB.getAsFile("w") #Create Remark Section self._saveRemark(structure, filePDB) #Create SEQRES Section self._saveSeqRes(structure, filePDB) #Create SSBOND Section self._saveSSBonds(structure, filePDB) #Create ATOM Section iModels = 0 #index for Models iAtom = 0 #index for atom iRes = 0 #index for Residue for model in structure: #Will write Model, if there are more than 1 models. if self._amountModels > 1: iModels += 1 filePDB.write(self._MODEL % str(iModels)) iAtom = 0 iRes = 0 for chain in model: for residue in chain: iRes += 1 for atom in residue: #Atoms iAtom += 1 self._saveAtom(iAtom,atom,residue,chain,iRes,filePDB, int(residue.id[1])) filePDB.write(self._TER) filePDB.write(self._ENDMDL) filePDB.close()
def saveFile(self, fileName, conteudo): f = FcfrpFile(self._pathOut, fileName) f.getAsFile("w") f.write(conteudo) f.close()
class FcfrpStructureChains(): def __init__(self,path, fileNameSet): self._path = path self.fileSet = FcfrpFile(path, fileNameSet) def getPDBIdFromName(self,name): return str(name).split("_")[0] def splitPDBChains(self,id): return getStructureChains(id) def getDirectory(self,id): #Check if there isn't the path, it'll create and return it path = os.path.join(self._path, id) if os.path.exists(path) == False: os.mkdir(path) return path def getPathFileName(self, name): id = self.getPDBIdFromName(name) path = self.getDirectory(id) FileName = name + ".pdb" return os.path.join(path,FileName) def saveStructures(self,dicStructures): # Save each structure stored in the dicStructures dictionary. for k,structure in dicStructures.iteritems(): pathFileName = self.getPathFileName(k) saveStructure(structure,pathFileName) def buildFileSetProteins(self,id,dicStructures): f = self.fileSet.getAsFile('a') f.write(";"+id+"\n")#The main pdb for k,v in dicStructures.iteritems(): f.write(" "+k+"\n") def executeTitration(self,dicStructures, table): for k, structure in dicStructures.iteritems(): id = self.getPDBIdFromName(k) path = self.getDirectory(id) FcfrpTitration(3,structure=structure,TableId=table,PDBid=k,path=path,FileName=None).execute(path) def executeCapacitance(self,dicStructures, table): for k, structure in dicStructures.iteritems(): id = self.getPDBIdFromName(k) path = self.getDirectory(id) FcfrpCapacitance(3,structure=structure,TableId=table,PDBid=k,path=path,FileName=None).execute(path)