Skip to content

Commit

Permalink
Installation instructions updated, hunter is now tested
Browse files Browse the repository at this point in the history
  • Loading branch information
ozagord committed May 9, 2016
1 parent 2d5b702 commit 2cdff0f
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
Binary file added data/raw_reads.fastq.gz
Binary file not shown.
43 changes: 43 additions & 0 deletions tests/test_wolfpack.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/usr/bin/env python3.4
import os
import io
import sys
import unittest
import tempfile

virmet_dir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
os.sys.path.insert(1, virmet_dir)
mod = __import__('virmet')
sys.modules["virmet"] = mod

from virmet.wolfpack import hunter
from virmet.common import run_child


class TestHunter(unittest.TestCase):

def setUp(self):
self.tmpdir = tempfile.gettempdir()
self.reads = os.path.join(virmet_dir, 'VirMet', 'data', 'raw_reads.fastq.gz')

def test_hunter(self):
os.chdir(self.tmpdir)
s_dir = hunter(self.reads)
os.chdir(s_dir)
raw_reads = run_child('zcat', '%s | wc -l' % self.reads)
raw_reads = int(raw_reads.strip().split()[0]) / 4
with open('good.fastq') as f:
good_n = sum(1 for l in f) / 4
with open('bad.fastq') as f:
bad_n = sum(1 for l in f) / 4
with open('stats.tsv') as f:
stats = dict(l.strip().split() for l in f)
filtered_out = int(stats['low_entropy']) + int(stats['low_quality'])
self.assertEqual(bad_n, filtered_out)
self.assertEqual(good_n, int(stats['passing_filter']))
self.assertEqual(raw_reads, bad_n + good_n + int(stats['trimmed_too_short']))

def tearDown(self):
os.chdir(self.tmpdir)
for f in ['good.fastq', 'bad.fastq', 'prinseq.log', 'prinseq.err']:
os.remove(f)

0 comments on commit 2cdff0f

Please sign in to comment.