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 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))
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))
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))
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([]))
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([]))