示例#1
0
    def sample_bb_angles(self, resnum):
        """ Resamples phi and psi angles for a residue.
            Returns the new [phi, psi] angles.

            Arguments:
            resnum -- number of the residue to resample

            NB: This function sets the phi and psi angles to new values.
            NOTE: Random seeds can be set via the set_seed() function:

                fragbuilder.set_seed(some_number)

        """

        if self._dbn is None:
            self._dbn = basilisk_lib.basilisk_dbn()

        aa_letter = self._sequence[resnum - 1]
        aa = int(basilisk_lib.basilisk_utils.one_to_index(aa_letter))
        chis, bb, ll = self._dbn.get_sample(aa)

        angles_deg = [self._basilisk_to_deg(bb[0]),
                      self._basilisk_to_deg(bb[1])]

        self.set_bb_angles(resnum, angles_deg)

        return angles_deg
    def __init__(self):
        """
        Inititalize a DBN object from basilisk_lib.

        """

        self.dbn = basilisk_lib.basilisk_dbn()
    def __init__(self):
        """
        Inititalize a DBN object from basilisk_lib.

        """

        self.dbn = basilisk_lib.basilisk_dbn()
示例#4
0
    def sample_bb_angles(self, resnum):
        """ Resamples phi and psi angles for a residue.
            Returns the new [phi, psi] angles.

            Arguments:
            resnum -- number of the residue to resample

            NB: This function sets the phi and psi angles to new values.
            NOTE: Random seeds can be set via the set_seed() function:

                fragbuilder.set_seed(some_number)

        """

        if self._dbn is None:
            self._dbn = basilisk_lib.basilisk_dbn()

        aa_letter = self._sequence[resnum - 1]
        aa = int(basilisk_lib.basilisk_utils.one_to_index(aa_letter))
        chis, bb, ll = self._dbn.get_sample(aa)

        angles_deg = [self._basilisk_to_deg(bb[0]),
                      self._basilisk_to_deg(bb[1])]

        self.set_bb_angles(resnum, angles_deg)

        return angles_deg
示例#5
0
    def sample_chi_angles(self, resnum, bb_dependency=True):
        """ Resamples chi angles for a residue from BASILISK. 
            Returns the new chi angles.

            Arguments:
            resnum -- number of the residue to resample

            Keyword arguments:
            bb_dependency -- Whether to sample chi angles taking 
            phi/psi angles into account in BASILISK sampling. (default True)

            NB: This function sets the chi angles to new values.

            NOTE: Random seeds can be set via the set_seed() function:

                fragbuilder.set_seed(some_number)

        """

        if self._dbn is None:
            self._dbn = basilisk_lib.basilisk_dbn()


        angles = self._get_all_bb_angles()[resnum - 1]
        phi = angles[1][0]/180.0*numpy.pi
        psi = angles[1][1]/180.0*numpy.pi

        aa_letter = self._sequence[resnum - 1]

        aa = int(basilisk_lib.basilisk_utils.one_to_index(aa_letter))

        if bb_dependency:
            chis, bb, ll = self._dbn.get_sample(aa, phi, psi)
        else:
            chis, bb, ll = self._dbn.get_sample(aa)

        chis_deg = []
        for chi in chis:
            chis_deg.append(self._basilisk_to_deg(chi))

        self.set_chi_angles(resnum, chis_deg)

        return chis_deg
示例#6
0
    def sample_chi_angles(self, resnum, bb_dependency=True):
        """ Resamples chi angles for a residue from BASILISK. 
            Returns the new chi angles.

            Arguments:
            resnum -- number of the residue to resample

            Keyword arguments:
            bb_dependency -- Whether to sample chi angles taking 
            phi/psi angles into account in BASILISK sampling. (default True)

            NB: This function sets the chi angles to new values.

            NOTE: Random seeds can be set via the set_seed() function:

                fragbuilder.set_seed(some_number)

        """

        if self._dbn is None:
            self._dbn = basilisk_lib.basilisk_dbn()


        angles = self._get_all_bb_angles()[resnum - 1]
        phi = angles[1][0]/180.0*numpy.pi
        psi = angles[1][1]/180.0*numpy.pi

        aa_letter = self._sequence[resnum - 1]

        aa = int(basilisk_lib.basilisk_utils.one_to_index(aa_letter))

        if bb_dependency:
            chis, bb, ll = self._dbn.get_sample(aa, phi, psi)
        else:
            chis, bb, ll = self._dbn.get_sample(aa)

        chis_deg = []
        for chi in chis:
            chis_deg.append(self._basilisk_to_deg(chi))

        self.set_chi_angles(resnum, chis_deg)

        return chis_deg