def __init__(
        self,
        main_chain_turns: List[int],
        side_chain_turns: List[Union[None, int]],
        peptide: Peptide,
    ) -> None:
        """
        Args:
            main_chain_turns: A list of integers encoding the turns of the main chain.
            side_chain_turns: A list of integers and None encoding the turns of the main chain
                or None.
            peptide: The peptide we are getting the positions for.

        """
        self._main_chain_turns = main_chain_turns
        self._side_chain_turns = side_chain_turns

        self._main_chain_aminoacid_list = np.array(
            list(peptide.get_main_chain.main_chain_residue_sequence))
        self._side_chain_aminoacid_list = np.array([
            aminoacid.residue_sequence[0] if (aminoacid is not None) else None
            for aminoacid in peptide.get_side_chains()
        ])
        self._main_positions = self.generate_main_positions()
        self._side_positions = self.generate_side_positions()
示例#2
0
    def test_peptide_get_side_chains(self):
        """Tests that a side chains are provided."""
        main_chain_residue_seq = "SAAAAAAAA"
        side_chain_residue_sequences = ["", "", "A", "", "", "A", "", "A", ""]

        peptide = Peptide(main_chain_residue_seq, side_chain_residue_sequences)

        side_chains = peptide.get_side_chains()
        self.assertEqual(side_chains[0], None)
        self.assertEqual(side_chains[1], None)
        self.assertEqual(side_chains[2].residue_sequence, ["A"])
        self.assertEqual(side_chains[3], None)
        self.assertEqual(side_chains[4], None)
        self.assertEqual(side_chains[5].residue_sequence, ["A"])
        self.assertEqual(side_chains[6], None)
        self.assertEqual(side_chains[7].residue_sequence, ["A"])
        self.assertEqual(side_chains[8], None)