Beispiel #1
0
 def test_pairwise_returns_score(self):
     """exercise pairwise local/global returns alignment score"""
     S = make_dna_scoring_dict(10, -1, -8)
     aln, score = local_pairwise(seq1, seq2, S, 10, 2, return_score=True)
     self.assertTrue(score > 100)
     aln, score = global_pairwise(seq1, seq2, S, 10, 2, return_score=True)
     self.assertTrue(score > 100)
Beispiel #2
0
def pair_hmm_align_unaligned_seqs(seqs, moltype=DNA, params={}):
    """
        Checks parameters for pairwise alignment, returns alignment.

        Code from Greg Caporaso.
    """

    seqs = LoadSeqs(data=seqs, moltype=moltype, aligned=False)
    try:
        s1, s2 = seqs.values()
    except ValueError:
        raise ValueError(
            "Pairwise aligning of seqs requires exactly two seqs.")

    try:
        gap_open = params['gap_open']
    except KeyError:
        gap_open = 5
    try:
        gap_extend = params['gap_extend']
    except KeyError:
        gap_extend = 2
    try:
        score_matrix = params['score_matrix']
    except KeyError:
        score_matrix = make_dna_scoring_dict(
            match=1, transition=-1, transversion=-1)

    return local_pairwise(s1, s2, score_matrix, gap_open, gap_extend)
Beispiel #3
0
 def test_pairwise_returns_score(self):
     """exercise pairwise local/global returns alignment score"""
     S = make_dna_scoring_dict(10, -1, -8)
     aln, score = local_pairwise(seq1, seq2, S, 10, 2, return_score=True)
     self.assertTrue(score > 100)
     aln, score = global_pairwise(seq1, seq2, S, 10, 2, return_score=True)
     self.assertTrue(score > 100)
Beispiel #4
0
def pair_hmm_align_unaligned_seqs(seqs, moltype=DNA, params={}):
    """
        Checks parameters for pairwise alignment, returns alignment.

        Code from Greg Caporaso.
    """

    seqs = LoadSeqs(data=seqs, moltype=moltype, aligned=False)
    try:
        s1, s2 = seqs.values()
    except ValueError:
        raise ValueError(
            "Pairwise aligning of seqs requires exactly two seqs.")

    try:
        gap_open = params['gap_open']
    except KeyError:
        gap_open = 5
    try:
        gap_extend = params['gap_extend']
    except KeyError:
        gap_extend = 2
    try:
        score_matrix = params['score_matrix']
    except KeyError:
        score_matrix = make_dna_scoring_dict(match=1,
                                             transition=-1,
                                             transversion=-1)

    return local_pairwise(s1, s2, score_matrix, gap_open, gap_extend)
Beispiel #5
0
 def test_local_tiebreak(self):
     """Should pick the first best-equal hit rather than the last one"""
     # so that the Pyrex and Python versions give the same result.
     score_matrix = make_dna_scoring_dict(match=1, transition=-1, 
             transversion=-1)
     pattern = DNA.makeSequence('cwc', Name='pattern')
     two_hit = DNA.makeSequence( 'cactc', Name= 'target')
     aln = local_pairwise(pattern, two_hit, score_matrix, 5, 2)
     hit = aln.NamedSeqs['target']
     self.assertEqual(str(hit).lower(), 'cac')
Beispiel #6
0
 def test_local_tiebreak(self):
     """Should pick the first best-equal hit rather than the last one"""
     # so that the Pyrex and Python versions give the same result.
     score_matrix = make_dna_scoring_dict(match=1,
                                          transition=-1,
                                          transversion=-1)
     pattern = DNA.makeSequence('cwc', Name='pattern')
     two_hit = DNA.makeSequence('cactc', Name='target')
     aln = local_pairwise(pattern, two_hit, score_matrix, 5, 2)
     hit = aln.NamedSeqs['target']
     self.assertEqual(str(hit).lower(), 'cac')
def pair_hmm_align_unaligned_seqs(seqs,
                                  moltype=DNA,
                                  params={}):
    """
        Handles pairwise alignment of given sequence pair
        
        seqs: list of [primer, target sequence] in string format
        moltype: molecule type tested.  Only DNA supported.
        params: Used to set parameters for opening, extending gaps  and score
         matrix if something other than the default given in this function 
         is desired.
    """
    
    try:
        seqs = LoadSeqs(data=seqs,moltype=moltype,aligned=False)
    except AlphabetError:
        raise AlphabetError,("Error in characters present in primer "+\
         "%s and/or sequence %s." % (seqs[0], seqs[1]))
    try:
        s1, s2 = seqs.values()
    except ValueError:
        raise ValueError,\
         "Pairwise aligning of seqs requires exactly two seqs."
    
    try:
        gap_open = params['gap_open']
    except KeyError:
        gap_open = 5
    try:
        gap_extend = params['gap_extend']
    except KeyError:
        gap_extend = 2
    try:
        score_matrix = params['score_matrix']
    except KeyError:
        score_matrix = make_dna_scoring_dict(\
         match=1, transition=-1, transversion=-1)
    
    return local_pairwise(s1, s2, score_matrix, gap_open, gap_extend)