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()
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)