Пример #1
0
 def find_missing_atoms (self, out=None) :
   '''
   Function for finding missing protein atoms
   Derived from run_find_missing function in phenix/validation/__init__.py
   '''
   if out is None :
     out = sys.stdout
   self.missing_atoms = []
   # make_header("Finding missing atoms", out=out)
   try :
     missing_list = rotamer_eval.eval_sidechain_completeness(
       pdb_hierarchy=self.pdb_hierarchy,
       ignore_hydrogens=True,
       report_whole_res=True,
       return_ca_pos=True)
   except Exception as e :
     print(to_str(e), file=out)
   else :
     for (res_info, missing_atoms, xyz) in missing_list :
       if len(missing_atoms) == 0 :
         continue
       chain_id = res_info[0:2].strip()
       try :
         resseq = int(res_info[2:6])
       except ValueError : # FIXME use hybrid36?
         print("  warning: indecipherable residue number '%s'" % \
           res_info[2:6], file=out)
         print(res_info)
         continue
       alt = res_info[-4]
       resname = res_info[-3:]
       # self.get_residue_info((chain_id, resseq, resname, alt), "missing")
       self.missing_atoms.append((chain_id, "%s %s" % (resname, str(resseq)),
         alt, ", ".join(missing_atoms),
         "chain '%s' and resseq %s" % (chain_id, str(resseq)), xyz))
Пример #2
0
 def find_missing_atoms(self, out=None):
     '''
 Function for finding missing protein atoms
 Derived from run_find_missing function in phenix/validation/__init__.py
 '''
     if out is None:
         out = sys.stdout
     self.missing_atoms = []
     # make_header("Finding missing atoms", out=out)
     try:
         missing_list = rotamer_eval.eval_sidechain_completeness(
             pdb_hierarchy=self.pdb_hierarchy,
             ignore_hydrogens=True,
             report_whole_res=True,
             return_ca_pos=True)
     except Exception, e:
         print >> out, to_str(e)