Beispiel #1
0
 def test_count(self):
     self.assertEqual(6, self.s.count("?"))
     self.assertEqual(3, self.s.count("??"))
     self.assertEqual(0, Seq.UnknownSeq(6, character="N").count("?"))
     self.assertEqual(0, Seq.UnknownSeq(6, character="N").count("??"))
     self.assertEqual(4, Seq.UnknownSeq(6, character="?").count("?", start=2))
     self.assertEqual(2, Seq.UnknownSeq(6, character="?").count("??", start=2))
Beispiel #2
0
    def test_ungap(self):
        seq = Seq.UnknownSeq(7,
                             alphabet=Alphabet.Gapped(Alphabet.DNAAlphabet(),
                                                      "-"))
        self.assertEqual("NNNNNNN", str(seq.ungap("-")))

        seq = Seq.UnknownSeq(20,
                             alphabet=Alphabet.Gapped(Alphabet.DNAAlphabet(),
                                                      "-"),
                             character='-')
        self.assertEqual("", seq.ungap("-"))
Beispiel #3
0
    def parse(self):
        with open(self._file) as handle:
            genbank = SeqRecord(Seq.UnknownSeq(0))
            header_pattern = re.compile(
                r"ref\|(?P<id>.*?)\|:(?P<start>[0-9]+)-(?P<end>[0-9]+)\|(?P<description>.*?)\|\s*\[gene=(?P<gene>\S+)\]\s*\[locus_tag=(?P<locus_tag>\S+)\]\s*"
            )
            first = True
            for record in SeqIO.parse(handle, "fasta"):
                header = record.description
                match = header_pattern.match(header)
                if not match:
                    self.errors.append("Invalid header: >" + header)
                    continue

                if first:
                    first = False
                    genbank.id = match.group("id")
                    genbank.name = match.group("id")

                feature = SeqFeature(FeatureLocation(int(match.group("start")),
                                                     int(match.group("end"))),
                                     type="gene")
                feature.qualifiers = {
                    "locus_tag": match.group("locus_tag"),
                    "gene": match.group("gene"),
                    "note": match.group("description"),
                    "sequence": record.seq
                }
                genbank.features.append(feature)

            return genbank
        return None
Beispiel #4
0
    def test_construction(self):
        self.assertEqual("??????", str(Seq.UnknownSeq(6)))
        self.assertEqual("NNNNNN", str(Seq.UnknownSeq(6, character="N")))
        self.assertEqual("XXXXXX", str(Seq.UnknownSeq(6, character="X")))
        self.assertEqual("??????", str(Seq.UnknownSeq(6, character="?")))

        with self.assertRaises(ValueError):
            Seq.UnknownSeq(-10)

        with self.assertRaises(ValueError):
            Seq.UnknownSeq(6, character="??")
Beispiel #5
0
    def test_construction(self):
        self.assertEqual("??????", str(Seq.UnknownSeq(6)))
        self.assertEqual("NNNNNN", str(Seq.UnknownSeq(6,
                                                      Alphabet.generic_dna)))
        self.assertEqual("XXXXXX",
                         str(Seq.UnknownSeq(6, Alphabet.generic_protein)))
        self.assertEqual("??????", str(Seq.UnknownSeq(6, character="?")))

        with self.assertRaises(ValueError):
            Seq.UnknownSeq(-10)

        with self.assertRaises(ValueError):
            Seq.UnknownSeq(6, character="??")
Beispiel #6
0
    def test_unknownseq_construction(self):
        self.assertEqual("??????", Seq.UnknownSeq(6))
        self.assertEqual("NNNNNN", Seq.UnknownSeq(6, character="N"))
        self.assertEqual("XXXXXX", Seq.UnknownSeq(6, character="X"))
        self.assertEqual("??????", Seq.UnknownSeq(6, character="?"))
        with self.assertRaises(ValueError):
            "??????" == self.u
        with self.assertRaises(ValueError):
            self.u == "??????"

        with self.assertRaises(ValueError):
            Seq.UnknownSeq(-10)

        with self.assertRaises(ValueError):
            Seq.Seq(None, length=-10)

        with self.assertRaises(ValueError):
            Seq.UnknownSeq(6, character="??")
Beispiel #7
0
 def test_upper(self):
     seq = Seq.UnknownSeq(6, Alphabet.generic_dna)
     self.assertEqual("NNNNNN", str(seq.upper()))
Beispiel #8
0
 def setUp(self):
     self.s = Seq.UnknownSeq(6)
Beispiel #9
0
 def test_lower(self):
     seq = Seq.UnknownSeq(6, character="N")
     self.assertEqual("nnnnnn", seq.lower())
     self.assertRaises(ValueError, self.u.lower)
Beispiel #10
0
 def test_upper(self):
     seq = Seq.UnknownSeq(6, character="N")
     self.assertEqual("NNNNNN", seq.upper())
     self.assertRaises(ValueError, self.u.upper)
Beispiel #11
0
 def setUp(self):
     warnings.simplefilter("ignore", BiopythonDeprecationWarning)
     self.s = Seq.UnknownSeq(6)
     self.u = Seq.Seq(None, length=6)
Beispiel #12
0
 def setUp(self):
     self.s = Seq.UnknownSeq(6)
     self.u = Seq.Seq(None, length=6)
Beispiel #13
0
 def test_lower(self):
     seq = Seq.UnknownSeq(6, character="N")
     self.assertEqual("nnnnnn", str(seq.lower()))
Beispiel #14
0
    def test_add_method(self):
        seq1 = Seq.UnknownSeq(3, character="N")
        self.assertEqual("??????NNN", str(self.s + seq1))

        seq2 = Seq.UnknownSeq(3, character="N")
        self.assertEqual("NNNNNN", str(seq1 + seq2))
Beispiel #15
0
    def test_add_method(self):
        seq1 = Seq.UnknownSeq(3, Alphabet.generic_dna)
        self.assertEqual("??????NNN", str(self.s + seq1))

        seq2 = Seq.UnknownSeq(3, Alphabet.generic_dna)
        self.assertEqual("NNNNNN", str(seq1 + seq2))
Beispiel #16
0
 def test_complement_of_protein(self):
     """Test reverse complement shouldn't work on a protein!"""
     seq = Seq.UnknownSeq(6, Alphabet.generic_protein)
     with self.assertRaises(ValueError):
         seq.complement()
Beispiel #17
0
 def test_translation_of_proteins(self):
     seq = Seq.UnknownSeq(6, IUPAC.protein)
     self.assertRaises(ValueError, seq.translate)
Beispiel #18
0
 def test_reverse_complement_of_protein(self):
     seq = Seq.UnknownSeq(6, Alphabet.generic_protein)
     self.assertRaises(ValueError, seq.reverse_complement)
Beispiel #19
0
 def test_upper(self):
     seq = Seq.UnknownSeq(6, character="N")
     self.assertEqual("NNNNNN", str(seq.upper()))
Beispiel #20
0
 def test_lower(self):
     seq = Seq.UnknownSeq(6, Alphabet.generic_dna)
     self.assertEqual("nnnnnn", str(seq.lower()))
Beispiel #21
0
    def test_ungap(self):
        seq = Seq.UnknownSeq(7, character="N")
        self.assertEqual("NNNNNNN", str(seq.ungap("-")))

        seq = Seq.UnknownSeq(20, character="-")
        self.assertEqual("", seq.ungap("-"))
Beispiel #22
0
    def test_ungap(self):
        seq = Seq.UnknownSeq(7, alphabet=Alphabet.generic_dna)
        self.assertEqual("NNNNNNN", str(seq.ungap("-")))

        seq = Seq.UnknownSeq(20, alphabet=Alphabet.generic_dna, character="-")
        self.assertEqual("", seq.ungap("-"))