mailr8407 - /branches/multi_structure/generic_fns/structure/internal.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on January 12, 2009 - 14:14:
Author: bugman
Date: Mon Jan 12 14:14:46 2009
New Revision: 8407

URL: http://svn.gna.org/viewcvs/relax?rev=8407&view=rev
Log:
Shifted atom_add() and atom_connect() from the Internal class to the 
MolContainer.


Modified:
    branches/multi_structure/generic_fns/structure/internal.py

Modified: branches/multi_structure/generic_fns/structure/internal.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/multi_structure/generic_fns/structure/internal.py?rev=8407&r1=8406&r2=8407&view=diff
==============================================================================
--- branches/multi_structure/generic_fns/structure/internal.py (original)
+++ branches/multi_structure/generic_fns/structure/internal.py Mon Jan 12 
14:14:46 2009
@@ -544,86 +544,6 @@
         # Check the other lengths.
         if len(struct.bonded) != num and len(struct.chain_id) != num and 
len(struct.element) != num and len(struct.pdb_record) != num and 
len(struct.res_name) != num and len(struct.res_num) != num and 
len(struct.seg_id) != num and len(struct.x) != num and len(struct.y) != num 
and len(struct.z) != num:
             raise RelaxError, "The structural data is invalid."
-
-
-    def atom_add(self, pdb_record=None, atom_num=None, atom_name=None, 
res_name=None, chain_id=None, res_num=None, pos=[None, None, None], 
segment_id=None, element=None, struct_index=None):
-        """Method for adding an atom to the structural data object.
-
-        This method will create the key-value pair for the given atom.
-
-
-        @keyword pdb_record:    The optional PDB record name, e.g. 'ATOM' or 
'HETATM'.
-        @type pdb_record:       str or None
-        @keyword atom_num:      The atom number.
-        @type atom_num:         int or None
-        @keyword atom_name:     The atom name, e.g. 'H1'.
-        @type atom_name:        str or None
-        @keyword res_name:      The residue name.
-        @type res_name:         str or None
-        @keyword chain_id:      The chain identifier.
-        @type chain_id:         str or None
-        @keyword res_num:       The residue number.
-        @type res_num:          int or None
-        @keyword pos:           The position vector of coordinates.
-        @type pos:              list (length = 3)
-        @keyword segment_id:    The segment identifier.
-        @type segment_id:       str or None
-        @keyword element:       The element symbol.
-        @type element:          str or None
-        @keyword struct_index:  The index of the structure to add the atom 
to.  If not supplied and
-                                multiple structures or models are loaded, 
then the atom will be
-                                added to all structures.
-        @type struct_index:     None or int
-        """
-
-        # Loop over the structures.
-        for i in xrange(self.num):
-            # Skip non-matching structures.
-            if struct_index != None and struct_index != i:
-                continue
-
-            # Append to all the arrays.
-            self.structural_data[i].atom_num.append(atom_num)
-            self.structural_data[i].atom_name.append(atom_name)
-            self.structural_data[i].bonded.append([])
-            self.structural_data[i].chain_id.append(chain_id)
-            self.structural_data[i].element.append(element)
-            self.structural_data[i].pdb_record.append(pdb_record)
-            self.structural_data[i].res_name.append(res_name)
-            self.structural_data[i].res_num.append(res_num)
-            self.structural_data[i].seg_id.append(segment_id)
-            self.structural_data[i].x.append(pos[0])
-            self.structural_data[i].y.append(pos[1])
-            self.structural_data[i].z.append(pos[2])
-
-
-    def atom_connect(self, index1=None, index2=None, struct_index=None):
-        """Method for connecting two atoms within the data structure object.
-
-        This method will append index2 to the array at bonded[index1] and 
vice versa.
-
-
-        @keyword index1:        The index of the first atom.
-        @type index1:           int
-        @keyword index2:        The index of the second atom.
-        @type index2:           int
-        @keyword struct_index:  The index of the structure to connect the 
atoms of.  If not supplied
-                                and multiple structures or models are 
loaded, then the atoms will be
-                                connected within all structures.
-        @type struct_index:     None or int
-        """
-
-        # Loop over the structures.
-        for i in xrange(self.num):
-            # Skip non-matching structures.
-            if struct_index != None and struct_index != i:
-                continue
-
-            # Update the bonded array structure, if necessary.
-            if index2 not in self.structural_data[i].bonded[index1]:
-                self.structural_data[i].bonded[index1].append(index2)
-            if index1 not in self.structural_data[i].bonded[index2]:
-                self.structural_data[i].bonded[index2].append(index1)
 
 
     def atom_loop(self, atom_id=None, str_id=None, model_num_flag=False, 
mol_name_flag=False, res_num_flag=False, res_name_flag=False, 
atom_num_flag=False, atom_name_flag=False, element_flag=False, 
pos_flag=False, ave=False):
@@ -1446,3 +1366,75 @@
 
                     # Make the connection.
                     self.atom_connect(index1=self.__atom_index(record[1], 
struct_index), index2=self.__atom_index(record[i+2], struct_index))
+
+
+    def atom_add(self, pdb_record=None, atom_num=None, atom_name=None, 
res_name=None, chain_id=None, res_num=None, pos=[None, None, None], 
segment_id=None, element=None):
+        """Method for adding an atom to the structural data object.
+
+        This method will create the key-value pair for the given atom.
+
+
+        @keyword pdb_record:    The optional PDB record name, e.g. 'ATOM' or 
'HETATM'.
+        @type pdb_record:       str or None
+        @keyword atom_num:      The atom number.
+        @type atom_num:         int or None
+        @keyword atom_name:     The atom name, e.g. 'H1'.
+        @type atom_name:        str or None
+        @keyword res_name:      The residue name.
+        @type res_name:         str or None
+        @keyword chain_id:      The chain identifier.
+        @type chain_id:         str or None
+        @keyword res_num:       The residue number.
+        @type res_num:          int or None
+        @keyword pos:           The position vector of coordinates.
+        @type pos:              list (length = 3)
+        @keyword segment_id:    The segment identifier.
+        @type segment_id:       str or None
+        @keyword element:       The element symbol.
+        @type element:          str or None
+        """
+
+        # Loop over the structures.
+        for i in xrange(self.num):
+            # Skip non-matching structures.
+            if struct_index != None and struct_index != i:
+                continue
+
+            # Append to all the arrays.
+            self.structural_data[i].atom_num.append(atom_num)
+            self.structural_data[i].atom_name.append(atom_name)
+            self.structural_data[i].bonded.append([])
+            self.structural_data[i].chain_id.append(chain_id)
+            self.structural_data[i].element.append(element)
+            self.structural_data[i].pdb_record.append(pdb_record)
+            self.structural_data[i].res_name.append(res_name)
+            self.structural_data[i].res_num.append(res_num)
+            self.structural_data[i].seg_id.append(segment_id)
+            self.structural_data[i].x.append(pos[0])
+            self.structural_data[i].y.append(pos[1])
+            self.structural_data[i].z.append(pos[2])
+
+
+    def atom_connect(self, index1=None, index2=None):
+        """Method for connecting two atoms within the data structure object.
+
+        This method will append index2 to the array at bonded[index1] and 
vice versa.
+
+
+        @keyword index1:        The index of the first atom.
+        @type index1:           int
+        @keyword index2:        The index of the second atom.
+        @type index2:           int
+        """
+
+        # Loop over the structures.
+        for i in xrange(self.num):
+            # Skip non-matching structures.
+            if struct_index != None and struct_index != i:
+                continue
+
+            # Update the bonded array structure, if necessary.
+            if index2 not in self.structural_data[i].bonded[index1]:
+                self.structural_data[i].bonded[index1].append(index2)
+            if index1 not in self.structural_data[i].bonded[index2]:
+                self.structural_data[i].bonded[index2].append(index1)




Related Messages


Powered by MHonArc, Updated Mon Jan 12 14:20:01 2009