def from_pose(self,pose): """ Updates the PDBMapStructure from a Rosetta::Pose object """ with tempfile.NamedTemporaryFile('wrb',suffix='.pdb',delete=False) as tf: pose.dump_pdb(tf.name) p = PDBParser() with open(tf.name,'rb') as fin: filterwarnings('ignore',category=PDBConstructionWarning) s = p.get_structure(self.id,tf.name) p = lib.PDBMapIO.PDBMapParser() s = p.process_structure(s,force=True) resetwarnings() os.remove(tf.name) return PDBMapStructure(s,pdb2pose={},refseq=self.refseq)
def clean(self): p = PDBParser() io = PDBIO() with tempfile.NamedTemporaryFile('wrb',suffix='.pdb',delete=False) as tf: io.set_structure(self.structure) io.save(tf.name) cmd = ['lib/clean_pdb.py',tf.name,'ignorechain','nopdbout'] logger.info("Shell to: %s"%' '.join(cmd)) proc = sp.Popen(cmd,stdout=sp.PIPE) s = p.get_structure(self.get_id(),proc.stdout) p = lib.PDBMapIO.PDBMapParser() s = p.process_structure(s,force=True) s = PDBMapStructure(s,pdb2pose=self._pdb2pose,refseq=self.refseq) os.remove(tf.name) return s