Ejemplo n.º 1
0
 def test_join_MutableSeq_mixed(self):
     """Check MutableSeq objects can be joined."""
     spacer = MutableSeq("NNNNN")
     self.assertEqual(
         "N" * 15, spacer.join([MutableSeq("NNNNN"), MutableSeq("NNNNN")]),
     )
     self.assertRaises(
         TypeError, spacer.join([Seq("NNNNN"), MutableSeq("NNNNN")]),
     )
Ejemplo n.º 2
0
 def test_join_MutableSeq_mixed(self):
     """Check MutableSeq can join incompatible alphabets."""
     spacer = MutableSeq("NNNNN", generic_dna)
     self.assertEqual(
         "N" * 15,
         spacer.join([
             MutableSeq("NNNNN", generic_rna),
             MutableSeq("NNNNN", generic_rna)
         ]),
     )
     self.assertRaises(
         TypeError,
         spacer.join([
             Seq("NNNNN", generic_protein),
             MutableSeq("NNNNN", generic_protein)
         ]),
     )
Ejemplo n.º 3
0
    def test_join_MutableSeq_with_file(self):
        """Checks if MutableSeq join correctly concatenates sequence from a file with the spacer."""
        filename = 'Fasta/f003'
        seqlist = [record.seq for record in SeqIO.parse(filename, 'fasta')]
        seqlist_as_strings = [str(_) for _ in seqlist]

        spacer = MutableSeq('NNNNN')
        spacer1 = MutableSeq('')
        # seq objects with spacer
        seq_concatenated = spacer.join(seqlist)
        # seq objects with empty spacer
        seq_concatenated1 = spacer1.join(seqlist)

        ref_data = ref_data1 = ""
        ref_data = str(spacer).join(seqlist_as_strings)
        ref_data1 = str(spacer1).join(seqlist_as_strings)

        self.assertEqual(str(seq_concatenated), ref_data)
        self.assertEqual(str(seq_concatenated1), ref_data1)
        with self.assertRaises(TypeError):
            spacer.join(SeqIO.parse(filename, 'fasta'))
Ejemplo n.º 4
0
    def test_join_MutableSeq(self):
        """Checks if MutableSeq join correctly concatenates sequence with the spacer."""
        # Only expect it to take Seq objects and/or strings in an iterable!

        spacer1 = MutableSeq("", generic_dna)
        spacers = [spacer1, MutableSeq("NNNNN", generic_dna), MutableSeq("GGG", generic_nucleotide)]
        example_strings = ["ATG", "ATG", "ATG", "ATG"]
        example_strings_seqs = ["ATG", "ATG", Seq("ATG", generic_dna), "ATG"]

        # strings with empty spacer
        str_concatenated = spacer1.join(example_strings)

        self.assertEqual(str(str_concatenated), "".join(example_strings))
        self.assertEqual(str_concatenated.alphabet, spacer1.alphabet)

        for spacer in spacers:
            seq_concatenated = spacer.join(example_strings_seqs)
            self.assertEqual(str(seq_concatenated), str(spacer).join(example_strings))
            self.assertEqual(seq_concatenated.alphabet, spacer.alphabet)