Пример #1
0
def test_simple_peak():
    pileup = SparseValues([0, 5, 35], [False, True, False])
    score_pileup = SparseValues([0, 5, 10, 20, 30, 35], [0, 1, 2, 3, 4, 0])
    score_pileup.track_size = 100
    pileup.track_size = 100
    max_paths = SparseMaxPaths(pileup, graph, score_pileup).run()
    assert max_paths == [Peak(5, 5, [1, 3, 4], graph=graph)]
Пример #2
0
def test_offset_end_peak():
    graph = offsetgraph()
    pileup = SparseValues([0, 85], [False, True])
    score_pileup = SparseValues([0, 85], [0, 10])
    score_pileup.track_size = 100
    pileup.track_size = 100
    max_paths = SparseMaxPaths(pileup, graph, score_pileup).run()
    print(max_paths)
    assert max_paths == [Peak(5, 10, [109, 110], graph=graph)]
Пример #3
0
def test_trailing_zeros():
    graph = offsetgraph()
    pileup = SparseValues([0, 5, 35], [False, True, False])
    score_pileup = SparseValues([0, 15, 30], [0, 10, 0])
    score_pileup.track_size = 100
    pileup.track_size = 100
    max_paths = SparseMaxPaths(pileup, graph, score_pileup).run()
    print(max_paths)
    assert max_paths == [Peak(5, 5, [101, 103, 104], graph=graph)]
Пример #4
0
def test_multiple_peak():
    graph = complicated_offset()
    pileup = SparseValues([0, 1, 7, 8, 10, 12, 14], [0, 1, 0, 1, 0, 1, 0])
    score_pileup = SparseValues([0, 4], [5, 6])
    score_pileup.track_size = 20
    pileup.track_size = 20
    max_paths = SparseMaxPaths(pileup, graph, score_pileup).run()
    max_paths.sort(key=lambda x: x.region_paths[0])
    print(max_paths)
    assert max_paths == [
        Peak(1, 1, [101, 103, 104], graph=graph),
        Peak(0, 2, [105, 107], graph=graph)
    ]
Пример #5
0
    def test_to_from_file(self):

        indexes = np.array([1, 2, 3, 4, 5, 6, 7, 8])
        values = np.array([1, 2, 3, 4, 5, 6, 7, 8])

        sv = SparseValues(indexes, values)
        sv.track_size = 10
        sv.to_sparse_files("test_sparsevalues.tmp")

        new = sv.from_sparse_files("test_sparsevalues.tmp")
        self.assertEqual(sv, new)
Пример #6
0
def test_single_peak():
    indices = np.array([0, 3, 32], dtype="int")
    values = np.array([False, True, False], dtype="bool")
    pileup = SparseValues(indices, values)
    indices = np.arange(0, 40, 2)
    values = (np.arange(0, 40, 2) + 1) % 5
    score_pileup = SparseValues(indices, values)
    score_pileup.track_size = 100
    graph.node_indexes = np.arange(0, 110, 10)
    max_paths = SparseMaxPaths(pileup, graph, score_pileup)
    print(max_paths.run())
Пример #7
0
def convert_old_sparse(old_sparse):
    graph = old_sparse.graph
    indices = [0]
    values = [0]
    for key in sorted(old_sparse.data.keys()):
        vi = old_sparse.data[key]
        node_idx = graph.node_indexes[key - graph.min_node]
        indices.append(node_idx)
        values.append(vi.start_value)
        indices.extend(vi.indexes + node_idx)
        values.extend(vi.values)

    sv = SparseValues(indices, values, sanitize=True)
    sv.track_size = graph.node_indexes[-1]
    return sv
    def test_get_summits(self):

        qvalues = SparseValues(np.array([0]), np.array([3]))
        qvalues.track_size = 22
        qvalues.to_sparse_files("tests/test_qvalues")

        run_argument_parser([
            "create_ob_graph", "-o", "tests/testgraph.obg",
            "tests/vg_test_graph.json"
        ])
        max_paths = PeakCollection([Peak(0, 2, [1, 2], score=3)])
        PeakFasta(self.correct_sequence_graph).write_max_path_sequences(
            "tests/test_max_paths.fasta", max_paths)

        run_argument_parser([
            "get_summits", "-g", "tests/testgraph.obg",
            "tests/test_max_paths.fasta", "tests/test_qvalues", "2"
        ])

        result = PeakCollection.from_fasta_file(
            "tests/test_max_paths_summits.fasta")
        self.assertEqual(result.intervals[0], Peak(2, 6, [1]))
        self.assertEqual(result.intervals[0].sequence.lower(), "tccc")
Пример #9
0
def offset_areas():
    sv = SparseValues([0, 10, 11, 20, 29, 31], [1, 0, 1, 0, 1, 0])
    sv.track_size = 80
    return sv
Пример #10
0
def areas():
    sv = SparseValues([0, 15, 42, 48, 72], [0, 1, 0, 1, 0])
    sv.track_size = 80
    return sv
Пример #11
0
def nonvar_pileup():
    sv = SparseValues([0, 15, 45, 50, 60, 70], [0, 1, 4, 1, 3, 5])
    sv.track_size = 80
    return sv
Пример #12
0
def pileup():
    sv = SparseValues([0, 15, 30, 45, 50, 60, 70], [0, 1, 2, 6, 2, 3, 6])
    sv.track_size = 80
    return sv