Logo Search packages:      
Sourcecode: python-biopython version File versions

def Bio::PDB::HSExposure::HSExposure::_get_rotran_list_from_ca (   self,
  model 
) [private]

Return a list of (translation, rotation, ca, residue)
tuples (using CA). 

The translation and rotation are calculated 
using the CA-CA-CA coordinates (ie. the side chain 
direction is approximated using the CA-CA-CA vectors).

This list is used in the following way:

A certain atom is found within radius of a given position.
The coordinates are translated by -translation.
The coordinates are rotated by rotation.
If the z coordinate is >0 it lies in the side-chain sphere.
Otherwise it lies in the backbone sphere.

Definition at line 135 of file HSExposure.py.

00135                                              :
        """
        Return a list of (translation, rotation, ca, residue)
        tuples (using CA). 
        
        The translation and rotation are calculated 
        using the CA-CA-CA coordinates (ie. the side chain 
        direction is approximated using the CA-CA-CA vectors).

        This list is used in the following way:

        A certain atom is found within radius of a given position.
        The coordinates are translated by -translation.
        The coordinates are rotated by rotation.
        If the z coordinate is >0 it lies in the side-chain sphere.
        Otherwise it lies in the backbone sphere.
        """
        # list of (translation, rotation, ca, residue) tuples
        rotran_list=[]
        ppb=PPBuilder()
        # angles between pseudo-CB-CA and CA-CB
        angles={}
        for pp in ppb.build_peptides(model):
            ca_list=[]
            ca_list=pp.get_ca_list()
            for i in range(1, len(ca_list)-1):
                r=pp[i]
                ca1=ca_list[i-1]
                ca2=ca_list[i]
                ca3=ca_list[i+1]
                ca_v1=ca1.get_vector()
                ca_v2=ca2.get_vector()
                ca_v3=ca3.get_vector()
                # pseudo cb centred at origin
                cb_v=self._get_cb_from_ca(ca_v1, ca_v2, ca_v3)
                # rotate cb to unit vector along z
                rotation=rotmat(cb_v, self._unit_z)
                translation=ca2.get_coord()
                rotran_list.append((translation, rotation, ca2, r))
                # Calculate angle between pseudo-CB-CA and CA-CB
                angles[r]=self._calc_delta_angle(r, cb_v)
        self.angles=angles
        return rotran_list

    def _calc_delta_angle(self, res, pseudo_cb_v):


Generated by  Doxygen 1.6.0   Back to index