diff --git a/tests/test_digest.py b/tests/test_digest.py index edec33143e58b9652f868c6f62a17e68e8069b19..32484a2b9eea5c6764081417f5e96901b665e161 100644 --- a/tests/test_digest.py +++ b/tests/test_digest.py @@ -557,4 +557,51 @@ def test_digest_part(tmpdir): def test_theoretical_peptides(capsys): """Test function 'theoretical_peptides(results_digestion, mc_val)'""" - pass \ No newline at end of file + enzymes = [] + # Firt enzyme: cut after D precedeed by S + rule_dict = {} + rule_txt = "(W,)" + rule_dict[rule_txt] = True + all_rules = rule.create_rules(rule_dict) + enz1 = enzyme.Enzyme(-1, "fake_enzyme1", all_rules) + enzymes.append(enz1) + aa_pka = core.AA_PKA_IPC + aa_mass = core.AA_MASS_AVERAGE + water_mass = core.WATER_MASS + + # Input sequence + seq = Sequence("Test", "PWAAAWCCCWDDD") + + # Enz1 will cut + res_pep0 = Peptide("Test", "PW", enzymes[0].name, aa_pka, aa_mass, water_mass, 0, 2) + res_pep1 = Peptide("Test", "AAAW", enzymes[0].name, aa_pka, aa_mass, water_mass, 1, 6) + res_pep2 = Peptide("Test", "CCCW", enzymes[0].name, aa_pka, aa_mass, water_mass, 2, 10) + res_pep3 = Peptide("Test", "DDD", enzymes[0].name, aa_pka, aa_mass, water_mass, 3, 13) + + # Test it! + res = digest.sequential_digest(seq, enzymes, aa_pka, aa_mass, water_mass) + assert res[0].enzyme_name == "fake_enzyme1" + assert res[0].peptides[0].__repr__() == res_pep0.__repr__() + assert res[0].peptides[1].__repr__() == res_pep1.__repr__() + assert res[0].peptides[2].__repr__() == res_pep2.__repr__() + assert res[0].peptides[3].__repr__() == res_pep3.__repr__() + + # All theoretical for 3 mc add these one + res_pep4 = Peptide("Test", "PWAAAW", enzymes[0].name, aa_pka, aa_mass, water_mass, 4, 6) + res_pep5 = Peptide("Test", "AAAWCCCW", enzymes[0].name, aa_pka, aa_mass, water_mass, 5, 10) + res_pep6 = Peptide("Test", "CCCWDDD", enzymes[0].name, aa_pka, aa_mass, water_mass, 6, 13) + res_pep7 = Peptide("Test", "PWAAAWCCCW", enzymes[0].name, aa_pka, aa_mass, water_mass, 7, 10) + res_pep8 = Peptide("Test", "AAAWCCCWDDD", enzymes[0].name, aa_pka, aa_mass, water_mass, 8, 13) + res_pep9 = Peptide("Test", "PWAAAWCCCWDDD", enzymes[0].name, aa_pka, aa_mass, water_mass, 9, 13) + mc_val = {"fake_enzyme1": 3} + digest.theoretical_peptides([res], mc_val) + assert res[0].peptides[0].__repr__() == res_pep0.__repr__() + assert res[0].peptides[1].__repr__() == res_pep1.__repr__() + assert res[0].peptides[2].__repr__() == res_pep2.__repr__() + assert res[0].peptides[3].__repr__() == res_pep3.__repr__() + assert res[0].peptides[4].__repr__() == res_pep4.__repr__() + assert res[0].peptides[5].__repr__() == res_pep5.__repr__() + assert res[0].peptides[6].__repr__() == res_pep6.__repr__() + assert res[0].peptides[7].__repr__() == res_pep7.__repr__() + assert res[0].peptides[8].__repr__() == res_pep8.__repr__() + assert res[0].peptides[9].__repr__() == res_pep9.__repr__()