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))
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("-"))
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
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="??")
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="??")
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="??")
def test_upper(self): seq = Seq.UnknownSeq(6, Alphabet.generic_dna) self.assertEqual("NNNNNN", str(seq.upper()))
def setUp(self): self.s = Seq.UnknownSeq(6)
def test_lower(self): seq = Seq.UnknownSeq(6, character="N") self.assertEqual("nnnnnn", seq.lower()) self.assertRaises(ValueError, self.u.lower)
def test_upper(self): seq = Seq.UnknownSeq(6, character="N") self.assertEqual("NNNNNN", seq.upper()) self.assertRaises(ValueError, self.u.upper)
def setUp(self): warnings.simplefilter("ignore", BiopythonDeprecationWarning) self.s = Seq.UnknownSeq(6) self.u = Seq.Seq(None, length=6)
def setUp(self): self.s = Seq.UnknownSeq(6) self.u = Seq.Seq(None, length=6)
def test_lower(self): seq = Seq.UnknownSeq(6, character="N") self.assertEqual("nnnnnn", str(seq.lower()))
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))
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))
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()
def test_translation_of_proteins(self): seq = Seq.UnknownSeq(6, IUPAC.protein) self.assertRaises(ValueError, seq.translate)
def test_reverse_complement_of_protein(self): seq = Seq.UnknownSeq(6, Alphabet.generic_protein) self.assertRaises(ValueError, seq.reverse_complement)
def test_upper(self): seq = Seq.UnknownSeq(6, character="N") self.assertEqual("NNNNNN", str(seq.upper()))
def test_lower(self): seq = Seq.UnknownSeq(6, Alphabet.generic_dna) self.assertEqual("nnnnnn", str(seq.lower()))
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("-"))
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("-"))