File: test_ipdModel.py

package info (click to toggle)
kineticstools 0.6.1%2Bgit20220223.1326a4d%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 22,140 kB
  • sloc: python: 3,503; makefile: 202; ansic: 104; sh: 55; xml: 19
file content (43 lines) | stat: -rw-r--r-- 1,392 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import os.path as op

import pytest

from pbcore.io import AlignmentSet

from kineticsTools.ipdModel import IpdModel
from kineticsTools import ReferenceUtils

from test_integration import REF_DIR, DATA_DIR


@pytest.mark.internal_data
class TestIpdModel:

    @classmethod
    def setup_class(cls):
        ref_set = op.join(REF_DIR, "ecoli_k12_MG1655_first50k",
                          "ecoli_k12_MG1655_first50k.referenceset.xml")
        alignments = op.join(DATA_DIR, "ecoli_first_50k.mapped.bam")
        ds_aln = AlignmentSet(alignments)
        contigs = ReferenceUtils.loadReferenceContigs(
            ref_set,
            alignmentSet=ds_aln)
        from kineticsTools.loader import getIpdModelFilename
        from kineticsTools.ipdSummary import _getResourcePathSpec
        model_file = getIpdModelFilename(
            None, "S/P2-C2", [_getResourcePathSpec()])
        cls._model = IpdModel(contigs, model_file)

    def test_refLength(self):
        assert self._model.refLength(0) == 50000

    def test_snippetFunc(self):
        f = self._model.snippetFunc(0, 5, 5)
        assert f(9, 0) == "TTTCATTCTGA"
        assert f(9, 1) == "TCAGAATGAAA"

    def test_getReferenceWindow(self):
        w1 = self._model.getReferenceWindow(0, 0, 4, 15)
        assert w1 == "TTTCATTCTGA"
        w2 = self._model.getReferenceWindow(0, 1, 4, 15)
        assert w2 == "GTCAGAATGAA"