示例#1
0
def test_translate_incorrect_sequences(seq_input, expected):
        """Tests the behaviour of the translate function with different sequence inputs"""
        assert str(rfm.translate(seq_input)[0]) == expected or str(rfm.translate(seq_input)) == 'amb' or str(rfm.translate(seq_input)) == 'untrans'
示例#2
0
def test_remove_repeated_valid_input():
        assert rfm.remove_repeated(proteins_repeated, repeated_list) == {1:"MVERSSKSEYPGYQLTEDIACSC", 3:"MFKGERTKAYCAQRNAHFAAGVY"}

def test_dremove_repeated_no_repeat_list_input():
        assert rfm.remove_repeated(proteins_repeated2,[]) == proteins_repeated2



############################################################################################


#### TEST determine_contained #######################################################

contained_dna_seq = "ATGTACTACGCATGCGGGCAGATTATGCAGGTCGAGAGATGCGGGAGAAGTTCTCGACCTTCCCGTGGGACGTGTACCTATCCCCTTATCGAGCATTCCGTTTAA"
contained_protein_seq = rfm.translate(contained_dna_seq)


start_protein_seq = "MYYACGQIM"
end_protein_seq= "TYPLIEHSV"
mid_protein_seq = "MQVERCGRSSRPSRGTCT"
mid2 = "CGQIMQVERCGRSSR"
mid3 = "IMQVERCGRSSRPSR"
mid4 = "RPSRGTCTY"
equal = contained_protein_seq[0]


proteins = {1:contained_protein_seq[0],
            2:start_protein_seq,
            3:end_protein_seq,
            4:mid_protein_seq,
示例#3
0
def test_translate_invalid_inputs(test_input, expectation):
        """Tests the behaviour of the translate function with unexpected inputs"""
        with expectation:
                rfm.translate(test_input)
示例#4
0
def test_translate_stop_mid():
   with pytest.raises(TranslationError):
       rfm.translate("ATGGGTTAACAATAA")
示例#5
0
def test_translate_N():
   rfm.translate("ATGGTNCAATATAACAATAATTATCCACAAGACAATAAGGAAGAAGCTATGACGGAAAACGAACAACTATTTTGGAATAGAGTACTAGAGCTATCTCGTTCTCAAATAGCACCAGCAGCTTATGAATTTTTTGTTCTAGAGGCTAGACTCCTCAAAATTGAACATCAAACTGCAGTTATTACTTTAGATAACATTGAAATGAAAAAGCTATTCTGGGAACAAAATTTGGGGCCTGTTATCCTAACAGCTGGTTTTGAAATTTTCAATGCTGAAATTACAGCTAACTATGTCTCAAACGATTTACATTTACAAGAAACTAGTTTTTCTAACTACCAGCAATCTAGCAATGAAGTAAATACTTTACCAATTAGAAAAATCGACTCTAACCTTAAAGAGAAATATACTTTTGCTAATTTTGTTCAAGGAGATGAAAATAGATGGGCTGTTTCAGCATCAATTGCTGTAGCTGATAGTCCTGGCACGACTTATAATCCTCTATTTATCTGGGGGGGACCTGGTCTAGGAAAGACGCATCTACTAAATGCTATTGGAAATCAAGTCTTAAGAGATAATCCAAACGCGAGGGTTTTATACATCACTGCTGAGAATTTTATTAATGAATTTGTCAGTCATATTCGTTTAGATTCGATGGAAGAATTAAAAGAAAAGTTTCGCAACTTAGACTTACTCCTGATTGATGATATTCAGTCGCTTGCTAAGAAAACCTTAGGGGGGACCCAAGAGGAGTTCTTCAATACTTTCAATGCTTTACATACAAACGATAAACAAATCGTATTGACCAGTGACCGAAATCCAAATCAATTAAATGATCTAGAAGAACGTCTAGTCACGCGCTTTAGTTGGGGACTCCCAGTAAATATCACACCACCTGATTTTGAAACACGAGTTGCTATTTTAACCAATAAAATTCAAGAATATCCTTATGATTTTCCTCAAGATACCATTGAATACTTAGCAGGAGAATTTGATTCCAACGTACGTGAATTAGAAGGAGCCTTGAAAAATATTAGTCTAGTTGCTGACTTTAAGCATGCTAAAACTATTACAGTAGATATAGCTGCAGAAGCTATCAGAGCACGTAAAAATGATGGTCCTATTGTTACTGTCATTCCTATAGAAGAAATTCAAATACAAGTTGGTAAATTCTATGGCGTAACTGTAAAAGAGATAAAAGCAACTAAAAGAACACAAGATATTGTCCTTGCAAGACAGGTAGCCATGTACTTAGCTCGTGAGATGACAGATAACAGTCTCCCAAAAATAGGTAAAGAATTTGGGGGACGAGATCACTCAACTGTTCTCCACGCTTATAATAAAATAAAAAATATGGTTGCTCAAGATGACAACTTACGAATTGAGATAGAAACTATCAAAAATAAAATCAGATAG")
示例#6
0
def test_translate_reverse_antisense_strand():
   assert str(rfm.translate("TACCCAGTTATT")[0]) == "MGQ"
示例#7
0
def test_translate_atg_mid():
   assert str(rfm.translate("ATGGGTCAATTCATGAAGTAA")[0]) == "MGQFMK"
示例#8
0
def test_translate_antisense_strand():
   assert str(rfm.translate("TTATTGACCCAT")[0]) == "MGQ"
示例#9
0
def test_translate_reverse_sense_strand():
   assert str(rfm.translate("AATAACTGGGTA")[0]) == "MGQ"
示例#10
0
def test_translate_sense_strand():
   assert str(rfm.translate("ATGGGTCAATAA")[0]) == "MGQ"
示例#11
0
def test_lower_case():
   assert str(rfm.translate("atgggtcaataa")[0]) == "MGQ"
示例#12
0
def test_empty_list():
   with pytest.raises(AttributeError):
       rfm.translate([])
示例#13
0
def test_seq_length():
   with pytest.raises(TranslationError):
       rfm.translate("ATGAAACCCCTTTTGGCTTATCGTAA")
示例#14
0
def test_translate_string():
   assert rfm.translate("Aello World") == "amb"