Example #1
0
 def setUp(self):
     self.aln_file = [TEST_ALIGN_FILE1,
                      TEST_ALIGN_FILE2,
                      TEST_ALIGN_FILE3,
                      TEST_ALIGN_FILE4,
                      TEST_ALIGN_FILE5,
                      TEST_ALIGN_FILE6]
     alns = []
     for i in self.aln_file:
         if i[1] == 'parse':
             nucl = SeqIO.parse(i[0][0], 'fasta', alphabet=IUPAC.IUPACUnambiguousDNA())
             prot = AlignIO.read(i[0][1], 'clustal', alphabet=IUPAC.protein)
             with warnings.catch_warnings():
                 warnings.simplefilter('ignore')
                 caln = CodonAlign.build(prot, nucl, alphabet=CodonAlign.default_codon_alphabet)
         elif i[1] == 'index':
             nucl = SeqIO.index(i[0][0], 'fasta', alphabet=IUPAC.IUPACUnambiguousDNA())
             prot = AlignIO.read(i[0][1], 'clustal', alphabet=IUPAC.protein)
             with warnings.catch_warnings():
                 warnings.simplefilter('ignore')
                 caln = CodonAlign.build(prot, nucl, alphabet=CodonAlign.default_codon_alphabet, max_score=20)
         elif i[1] == 'id':
             nucl = SeqIO.parse(i[0][0], 'fasta', alphabet=IUPAC.IUPACUnambiguousDNA())
             prot = AlignIO.read(i[0][1], 'clustal', alphabet=IUPAC.protein)
             with open(i[0][2]) as handle:
                 id = dict((i.split()[0], i.split()[1]) for i in handle)
             with warnings.catch_warnings():
                 warnings.simplefilter('ignore')
                 caln = CodonAlign.build(prot, nucl, corr_dict=id, alphabet=CodonAlign.default_codon_alphabet)
         alns.append(caln)
         nucl.close() # Close the indexed FASTA file
     self.alns = alns
Example #2
0
 def setUp(self):
     self.aln_file = [TEST_ALIGN_FILE1,
                      TEST_ALIGN_FILE2,
                      TEST_ALIGN_FILE3,
                      TEST_ALIGN_FILE4,
                      TEST_ALIGN_FILE5,
                      TEST_ALIGN_FILE6]
     alns = []
     for i in self.aln_file:
         if i[1] == 'parse':
             nucl = SeqIO.parse(i[0][0], 'fasta', alphabet=IUPAC.IUPACUnambiguousDNA())
             prot = AlignIO.read(i[0][1], 'clustal', alphabet=IUPAC.protein)
             with warnings.catch_warnings():
                 warnings.simplefilter('ignore')
                 caln = CodonAlign.build(prot, nucl, alphabet=CodonAlign.default_codon_alphabet)
         elif i[1] == 'index':
             nucl = SeqIO.index(i[0][0], 'fasta', alphabet=IUPAC.IUPACUnambiguousDNA())
             prot = AlignIO.read(i[0][1], 'clustal', alphabet=IUPAC.protein)
             with warnings.catch_warnings():
                 warnings.simplefilter('ignore')
                 caln = CodonAlign.build(prot, nucl, alphabet=CodonAlign.default_codon_alphabet, max_score=20)
         elif i[1] == 'id':
             nucl = SeqIO.parse(i[0][0], 'fasta', alphabet=IUPAC.IUPACUnambiguousDNA())
             prot = AlignIO.read(i[0][1], 'clustal', alphabet=IUPAC.protein)
             with open(i[0][2]) as handle:
                 id = dict((i.split()[0], i.split()[1]) for i in handle)
             with warnings.catch_warnings():
                 warnings.simplefilter('ignore')
                 caln = CodonAlign.build(prot, nucl, corr_dict=id, alphabet=CodonAlign.default_codon_alphabet)
         alns.append(caln)
         nucl.close()  # Close the indexed FASTA file
     self.alns = alns
Example #3
0
    def setUp(self):
        codonseq1 = CodonAlign.CodonSeq('AAATTT---TTTGGACCC', CodonAlign.default_codon_alphabet)
        codonseq2 = CodonAlign.CodonSeq('AAGTTT---TTTGGGCCC', CodonAlign.default_codon_alphabet)
        codonseq3 = CodonAlign.CodonSeq('AAGTAT---TTTGGACCC', CodonAlign.default_codon_alphabet)
        codonseq4 = CodonAlign.CodonSeq('AACTTT---TTTGGACGC', CodonAlign.default_codon_alphabet)

        self.seqrec = [SeqRecord(codonseq1, id="alpha"), 
                       SeqRecord(codonseq2, id="beta" ),
                       SeqRecord(codonseq3, id="gamma"),
                       SeqRecord(codonseq4, id="delta")]
Example #4
0
 def test_mk(self):
     ver = sys.version_info
     if ver[0] == 2 and ver[1] == 6:
         warnings.warn('Python 2.6 detected. Skip testing MK method')
         pass
     else:
         from run_tests import is_numpy
         if is_numpy():
             p = SeqIO.index(TEST_ALIGN_FILE7[0][0], 'fasta', alphabet=IUPAC.IUPACUnambiguousDNA())
             pro_aln = AlignIO.read(TEST_ALIGN_FILE7[0][1], 'clustal', alphabet=IUPAC.protein)
             codon_aln = CodonAlign.build(pro_aln, p)
             self.assertAlmostEquals(round(CodonAlign.mktest([codon_aln[1:12], codon_aln[12:16], codon_aln[16:]]), 4), 0.0021, places=4)
         else:
             warnings.warn('Numpy not installed. Skip MK test.')
 def test_mk(self):
     p = SeqIO.index(TEST_ALIGN_FILE7[0][0],
                     'fasta',
                     alphabet=IUPAC.IUPACUnambiguousDNA())
     pro_aln = AlignIO.read(TEST_ALIGN_FILE7[0][1],
                            'clustal',
                            alphabet=IUPAC.protein)
     codon_aln = CodonAlign.build(pro_aln, p)
     p.close()  # Close indexed FASTA file
     self.assertAlmostEqual(round(
         CodonAlign.mktest(
             [codon_aln[1:12], codon_aln[12:16], codon_aln[16:]]), 4),
                            0.0021,
                            places=4)
Example #6
0
 def setUp(self):
     nucl = SeqIO.parse(TEST_ALIGN_FILE6[0][0], 'fasta', alphabet=IUPAC.IUPACUnambiguousDNA())
     prot = AlignIO.read(TEST_ALIGN_FILE6[0][1], 'clustal', alphabet=IUPAC.protein)
     with open(TEST_ALIGN_FILE6[0][2]) as handle:
         id_corr = dict((i.split()[0], i.split()[1]) for i in handle)
     aln = CodonAlign.build(prot, nucl, corr_dict=id_corr, alphabet=CodonAlign.default_codon_alphabet)
     self.aln = aln
Example #7
0
 def setUp(self):
     nucl = SeqIO.parse(TEST_ALIGN_FILE6[0][0], 'fasta', alphabet=IUPAC.IUPACUnambiguousDNA())
     prot = AlignIO.read(TEST_ALIGN_FILE6[0][1], 'clustal', alphabet=IUPAC.protein)
     with open(TEST_ALIGN_FILE6[0][2]) as handle:
         id_corr = dict((i.split()[0], i.split()[1]) for i in handle)
     aln = CodonAlign.build(prot, nucl, corr_dict=id_corr, alphabet=CodonAlign.default_codon_alphabet)
     self.aln = aln
Example #8
0
    def test_seq(self):
        codonseq1 = CodonAlign.CodonSeq('AAATTT---TTTGGACCC', rf_table=[0,3,6,9,12])
        self.assertEqual(len(codonseq1), 18)
        self.assertEqual(codonseq1.get_codon_num(), 5)
        self.assertEqual(str(codonseq1.get_codon(0)), 'AAA')
        self.assertEqual(str(codonseq1.get_codon(-1)), 'CCC')
        self.assertEqual(str(codonseq1.get_codon(slice(1,3))), 'TTT---')
        self.assertEqual(str(codonseq1.get_codon(slice(None,None,-1))), 'CCCGGATTT---TTTAAA')

        self.assertRaises(ValueError, CodonAlign.CodonSeq, 'AAA-TT')
        self.assertRaises(AssertionError, CodonAlign.CodonSeq, 'AAA-T')
        self.assertRaises(ValueError, CodonAlign.CodonSeq, 'YVVRRDQQQ')
        self.assertTrue(isinstance(codonseq1.toSeq(), Seq))
Example #9
0
 def test_mk(self):
     ver = sys.version_info
     if ver[0] == 2 and ver[1] == 6:
         warnings.warn('Python 2.6 detected. Skip testing MK method')
         pass
     else:
         from run_tests import is_numpy
         if is_numpy():
             p = SeqIO.index(TEST_ALIGN_FILE7[0][0],
                             'fasta',
                             alphabet=IUPAC.IUPACUnambiguousDNA())
             pro_aln = AlignIO.read(TEST_ALIGN_FILE7[0][1],
                                    'clustal',
                                    alphabet=IUPAC.protein)
             codon_aln = CodonAlign.build(pro_aln, p)
             self.assertAlmostEquals(round(
                 CodonAlign.mktest(
                     [codon_aln[1:12], codon_aln[12:16], codon_aln[16:]]),
                 4),
                                     0.0021,
                                     places=4)
         else:
             warnings.warn('Numpy not installed. Skip MK test.')
Example #10
0
 def test_align(self):
     codonAlign = CodonAlign.CodonAlignment(self.seqrec)
     self.assertEqual(codonAlign.get_aln_length(), 6)
     self.assertTrue(
         isinstance(codonAlign.toMultipleSeqAlignment(),
                    MultipleSeqAlignment))
Example #11
0
 def test_build(self):
     codon_aln1 = CodonAlign.build(self.aln1, self.seqlist1)
     codon_aln2 = CodonAlign.build(self.aln2, self.seqlist2)
Example #12
0
 def test_build(self):
     codon_aln1 = CodonAlign.build(self.aln1, self.seqlist1)
     codon_aln2 = CodonAlign.build(self.aln2, self.seqlist2)
Example #13
0
 def test_mk(self):
     p = SeqIO.index(TEST_ALIGN_FILE7[0][0], 'fasta', alphabet=IUPAC.IUPACUnambiguousDNA())
     pro_aln = AlignIO.read(TEST_ALIGN_FILE7[0][1], 'clustal', alphabet=IUPAC.protein)
     codon_aln = CodonAlign.build(pro_aln, p)
     p.close() # Close indexed FASTA file
     self.assertAlmostEqual(round(CodonAlign.mktest([codon_aln[1:12], codon_aln[12:16], codon_aln[16:]]), 4), 0.0021, places=4)