[prev in list] [next in list] [prev in thread] [next in thread]
List: relax-commits
Subject: r2694 - /branches/tensor_pdb/generic_fns/pdb.py
From: edward.dauvergne () domain ! hid
Date: 2006-10-29 5:18:30
Message-ID: E1Ge343-0000Lu-0r () domain ! hid
[Download RAW message or body]
Author: bugman
Date: Sun Oct 29 06:18:29 2006
New Revision: 2694
URL: http://svn.gna.org/viewcvs/relax?rev=2694&view=rev
Log:
Sorted the HETATM and CONECT records by atomic number in the tensor PDB file.
Modified:
branches/tensor_pdb/generic_fns/pdb.py
Modified: branches/tensor_pdb/generic_fns/pdb.py
URL: http://svn.gna.org/viewcvs/relax/branches/tensor_pdb/generic_fns/pdb.py?rev=2694&r1=2693&r2=2694&view=diff
==============================================================================
--- branches/tensor_pdb/generic_fns/pdb.py (original)
+++ branches/tensor_pdb/generic_fns/pdb.py Sun Oct 29 06:18:29 2006
@@ -836,43 +836,47 @@
# The FORMUL record (chemical formula).
file.write("%-6s %2s %3s %2s%1s%-51s\n" % ('FORMUL', 1, res_name, '', '', \
formula))
+ # Convert the self.atomic_data structure from a dictionary of arrays to an \
array of arrays and sort it by atom number. + atomic_arrays = \
self.atomic_data.values() + atomic_arrays.sort()
+
# Add the HETATM records.
- for key in self.atomic_data:
+ for array in atomic_arrays:
# Write the HETATM record.
- file.write("%-6s%5s %4s%1s%3s %1s%4s%1s %8.3f%8.3f%8.3f%6.2f%6.2f \
%4s%2s%2s\n" % ('HETATM', self.atomic_data[key][0], \
self.atomic_data[key][1]+`self.atomic_data[key][0]`, '', res_name, chain_id, res_num, \
'', self.atomic_data[key][2], self.atomic_data[key][3], self.atomic_data[key][4], \
occupancy, 0, '', self.atomic_data[key][1], '')) + file.write("%-6s%5s \
%4s%1s%3s %1s%4s%1s %8.3f%8.3f%8.3f%6.2f%6.2f %4s%2s%2s\n" % ('HETATM', \
array[0], array[1]+`array[0]`, '', res_name, chain_id, res_num, '', array[2], \
array[3], array[4], occupancy, 0, '', array[1], ''))
# Terminate (TER record).
file.write("%-6s%5s %3s %1s%4s%1s\n" % ('TER', len(self.atomic_data)+1, \
res_name, chain_id, '', ''))
# Create the CONECT records.
connect_count = 0
- for key in self.atomic_data:
+ for array in atomic_arrays:
# The atom number.
- atom_num = self.atomic_data[key][0]
+ atom_num = array[0]
# First bonded atom.
- if len(self.atomic_data[key]) > 5:
- bonded1 = self.atomic_data[key][5]
+ if len(array) > 5:
+ bonded1 = array[5]
# No CONECT record required!
else:
continue
# Second bonded atom.
- if len(self.atomic_data[key]) > 6:
- bonded2 = self.atomic_data[key][6]
+ if len(array) > 6:
+ bonded2 = array[6]
else:
bonded2 = ''
# Third bonded atom.
- if len(self.atomic_data[key]) > 7:
- bonded3 = self.atomic_data[key][7]
+ if len(array) > 7:
+ bonded3 = array[7]
else:
bonded3 = ''
# Forth bonded atom.
- if len(self.atomic_data[key]) > 8:
- bonded4 = self.atomic_data[key][8]
+ if len(array) > 8:
+ bonded4 = array[8]
else:
bonded4 = ''
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic