Пример #1
0
 def test_mask_fasta_from_end(self, out_file, fasta_file, sequences):
     mask.mask_fasta([], fasta_file, out_file, mask_from_end=3)
     output = SeqIO.parse(out_file, "fasta")
     for seq in output:
         original = sequences[seq.id]
         assert seq.seq[-3:] == "NNN"
         assert seq.seq[:-3] == original.seq[:-3]
Пример #2
0
 def test_mask_fasta_from_beginning_and_end_too_long(
         self, fasta_file, out_file, beginning, end):
     mask.mask_fasta([],
                     fasta_file,
                     out_file,
                     mask_from_beginning=beginning,
                     mask_from_end=end)
     output = SeqIO.parse(out_file, "fasta")
     for record in output:
         assert record.seq == "N" * len(record.seq)
Пример #3
0
 def test_mask_fasta_out_of_index(self, out_file, fasta_file, sequences):
     """mask_fasta provided a list of indexes past the length of the sequences"""
     max_length = max(len(record.seq) for record in sequences.values())
     mask.mask_fasta([5, max_length, max_length + 5], fasta_file, out_file)
     output = SeqIO.parse(out_file, "fasta")
     for seq in output:
         assert seq[5] == "N", "Not all sites masked correctly!"
         original = sequences[seq.id]
         for idx, site in enumerate(seq):
             if idx != 5:
                 assert site == original[idx], "Incorrect sites modified!"
Пример #4
0
 def test_mask_fasta_invalid_sites(self, fasta_file, out_file, sequences,
                                   mask_invalid):
     """Verify that mask_fasta masks invalid nucleotides when and only when mask_invalid is passed as True"""
     mask.mask_fasta([], fasta_file, out_file, mask_invalid=mask_invalid)
     output = SeqIO.to_dict(SeqIO.parse(out_file, "fasta"))
     for name, record in sequences.items():
         for site, nucleotide in enumerate(record.seq):
             if nucleotide not in VALID_NUCLEOTIDES and mask_invalid is True:
                 assert output[name][site] == "N"
             else:
                 assert output[name][site] == nucleotide
Пример #5
0
 def test_mask_fasta_normal_case(self, fasta_file, out_file, sequences):
     """mask_fasta normal case - all sites in sequences"""
     mask_sites = [5, 10]
     mask.mask_fasta([5, 10], fasta_file, out_file)
     output = SeqIO.parse(out_file, "fasta")
     for seq in output:
         original = sequences[seq.id]
         for idx, site in enumerate(seq):
             if idx not in mask_sites:
                 assert site == original[idx], "Incorrect sites modified!"
             else:
                 assert site == "N", "Not all sites modified correctly!"