Exemplo n.º 1
0
 def _read_atom_definitions(self, f):
     # Make an atom list
     self.atom_list = AtomList()
     # Eat 3 lines, then begin
     f.readline()
     f.readline()
     f.readline()
     line = f.readline()
     for i in xrange(self.pointers['natom']):
         try:
             atnum = int(line[:6])
             self.atom_list.add(line[11:14], line[14:21], line[21:28],
                                line[28:34], line[34:44], line[44:49],
                                line[54:].strip())
         except ValueError:
             raise TinkerAnaloutError('Error parsing atomic properties\n\t'
                                      '[%s]' % line.rstrip())
         line = f.readline()
         if atnum != i + 1:
             raise TinkerAnaloutError('Atom number mismatch [%d vs %d]' %
                                      (i + 1, atnum))