def _overlap_segment(expected, observed, start=None, end=None): tp, fp, fn = 0, 0, 0 observed_copy = observed.copy() for expected_seq in expected: found = False for observed_seq in observed: if _overlap(expected_seq, observed_seq): if not found: tp += 1 found = True if observed_seq in observed_copy: observed_copy.remove(observed_seq) if not found: fn += 1 fp += len(observed_copy) return None, fp, fn, tp
def test__overlap_false(expected, observed): expected_false = expected["false"] observed_false = observed["false"] assert not all( _overlap(ex, ob) for ex, ob in zip(expected_false, observed_false))
def test__overlap_true(expected, observed): expected_true = expected["true"] observed_true = observed["true"] assert all( _overlap(ex, ob) for ex, ob in zip(expected_true, observed_true))