def test_find_repetitive_in_range():
    pos = 0
    neg = 0
    # some should be positive, others negative
    for txid in known_juncs:
        expected   = txid in cross_hash_seqs
        if expected == True:
            pos += 1
        else:
            neg += 1
        my_query_juncs = query_juncs.get(txid,[])
        for query_junc in my_query_juncs:
            minus_range, plus_range = find_match_range(query_junc,seqs,20)
            yield check_find_repetitive_in_range, query_junc, minus_range, plus_range, expected
    
    # all negative
    for txid in unmatched_query_juncs:
        my_query_juncs = unmatched_query_juncs.get(txid,[])
        for query_junc in my_query_juncs:
            minus_range, plus_range = find_match_range(query_junc,seqs,20)
            yield check_find_repetitive_in_range, query_junc, minus_range, plus_range, False
    
    # make sure we found a bunch of each type
    assert_greater(pos,0)
    assert_greater(neg,0)
Exemple #2
0
def test_find_repetitive_in_range():
    pos = 0
    neg = 0
    # some should be positive, others negative
    for txid in known_juncs:
        expected = txid in cross_hash_seqs
        if expected == True:
            pos += 1
        else:
            neg += 1
        my_query_juncs = query_juncs.get(txid, [])
        for query_junc in my_query_juncs:
            minus_range, plus_range = find_match_range(query_junc, seqs, 20)
            yield check_find_repetitive_in_range, query_junc, minus_range, plus_range, expected

    # all negative
    for txid in unmatched_query_juncs:
        my_query_juncs = unmatched_query_juncs.get(txid, [])
        for query_junc in my_query_juncs:
            minus_range, plus_range = find_match_range(query_junc, seqs, 20)
            yield check_find_repetitive_in_range, query_junc, minus_range, plus_range, False

    # make sure we found a bunch of each type
    assert_greater(pos, 0)
    assert_greater(neg, 0)
def check_find_canonicals_in_range(query_junc):
    txid = query_junc.chrom
    minus_range, plus_range = find_match_range(query_junc,seqs,20)
    found_can = find_canonicals_in_range(query_junc,minus_range,plus_range,seqs,canonicals[query_junc.strand])
    found_can = set([str(X) for X in found_can])
    expected  = set([str(X) for X in known_juncs.get(txid,[])])
    assert_set_equal(expected,found_can,("Known junction not found for %s. "+\
                                           "Query: %s\n    Expected %s\n    " +\
                                           "Got %s\n    match range: (%s,%s)") % (txid,
                                                                                str(query_junc),
                                                                                expected,
                                                                                found_can,
                                                                                minus_range,
                                                                                plus_range))
Exemple #4
0
def check_find_canonicals_in_range(query_junc):
    txid = query_junc.chrom
    minus_range, plus_range = find_match_range(query_junc, seqs, 20)
    found_can = find_canonicals_in_range(query_junc, minus_range, plus_range,
                                         seqs, canonicals[query_junc.strand])
    found_can = set([str(X) for X in found_can])
    expected = set([str(X) for X in known_juncs.get(txid, [])])
    assert_set_equal(expected,found_can,("Known junction not found for %s. "+\
                                           "Query: %s\n    Expected %s\n    " +\
                                           "Got %s\n    match range: (%s,%s)") % (txid,
                                                                                str(query_junc),
                                                                                expected,
                                                                                found_can,
                                                                                minus_range,
                                                                                plus_range))
def check_find_match_range(txid,max_slide):
    """Check output of :py:func:`find_match_range` against known data
    
    Parameters
    ----------
    txid : str
        ID of transcript to check
    """
    my_juncs = known_juncs.get(txid,[])
    for n,my_junc in enumerate(my_juncs):
        ref_minus, ref_plus = match_ranges[txid][n]
        ref_minus = max(-max_slide,  ref_minus)
        ref_plus  = min(max_slide+1, ref_plus)
        found_minus, found_plus = find_match_range(my_junc,seqs,max_slide)
        assert_equal(ref_minus,found_minus,"Minus match ranges don't match. Expected %s, got %s" % (ref_minus,found_minus))
        assert_equal(ref_plus,found_plus,  "Plus match ranges don't match. Expected %s, got %s" % (ref_plus,found_plus))
Exemple #6
0
def check_find_match_range(txid, max_slide):
    """Check output of :py:func:`find_match_range` against known data
    
    Parameters
    ----------
    txid : str
        ID of transcript to check
    """
    my_juncs = known_juncs.get(txid, [])
    for n, my_junc in enumerate(my_juncs):
        ref_minus, ref_plus = match_ranges[txid][n]
        ref_minus = max(-max_slide, ref_minus)
        ref_plus = min(max_slide + 1, ref_plus)
        found_minus, found_plus = find_match_range(my_junc, seqs, max_slide)
        assert_equal(
            ref_minus, found_minus,
            "Minus match ranges don't match. Expected %s, got %s" %
            (ref_minus, found_minus))
        assert_equal(
            ref_plus, found_plus,
            "Plus match ranges don't match. Expected %s, got %s" %
            (ref_plus, found_plus))
Exemple #7
0
def check_find_none_when_none_canonical_in_range(query_junc):
    minus_range, plus_range = find_match_range(query_junc, seqs, 20)
    found_known = find_canonicals_in_range(query_junc, minus_range, plus_range,
                                           seqs, canonicals[query_junc.strand])
    found_known = set([str(X) for X in found_known])
    assert_set_equal(found_known, set([]))
Exemple #8
0
def check_find_none_when_none_known_in_range(query_junc):
    minus_range, plus_range = find_match_range(query_junc, seqs, 20)
    found_known = find_known_in_range(query_junc, minus_range, plus_range,
                                      all_known_juncs)
    found_known = set([str(X) for X in found_known])
    assert_set_equal(found_known, set([]))
def check_find_none_when_none_canonical_in_range(query_junc):
    minus_range, plus_range = find_match_range(query_junc,seqs,20)
    found_known = find_canonicals_in_range(query_junc,minus_range,plus_range,seqs,canonicals[query_junc.strand])
    found_known = set([str(X) for X in found_known])
    assert_set_equal(found_known,set([]))
def check_find_none_when_none_known_in_range(query_junc):
    minus_range, plus_range = find_match_range(query_junc,seqs,20)
    found_known = find_known_in_range(query_junc,minus_range,plus_range,all_known_juncs)
    found_known = set([str(X) for X in found_known])
    assert_set_equal(found_known,set([]))