12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- """
- This is meant to replace pysiv2.custom.test_assembly.
- In your testkit_cfg.json, instead of
- "pysiv2.custom": [
- you will now use
- "falcon_kit.testkit": [
- The values *might* need to be updated slightly, since we rely on the DB
- rather than on datasets now.
- """
- import os, re, unittest
- from falcon_kit.util.io import system
- from falcon_kit.io import capture
- from falcon_kit import functional
- # Someday, we might simplify this. For now, we
- # use the current 'test_values.json'.
- from pysiv2.custom.base import TestStatisticsBase, TestReportStatistics # pylint: disable=no-name-in-module, import-error
- class TestPreAssembly(TestReportStatistics):
- REPORT_ID = "preassembly"
- TEST_ID = "preassembly"
- METRIC_IDS = [
- "raw_reads",
- "raw_mean",
- "raw_n50",
- "raw_bases",
- "preassembled_reads",
- "preassembled_mean",
- "preassembled_n50",
- "preassembled_bases",
- "preassembled_yield"
- ]
- class TestPolishedAssembly(TestReportStatistics):
- """
- Test metrics in the output of pbreports.report.polished_assembly
- """
- REPORT_ID = "polished_assembly"
- TEST_ID = "polished_assembly"
- METRIC_IDS = [
- "polished_contigs",
- "max_contig_length",
- "n_50_contig_length",
- "sum_contig_lengths"
- ]
- class TestFalconAssembly(TestStatisticsBase):
- JSON_SCOPE = 'falcon_kit'
- TEST_ID = 'filter_subreads'
- METRIC_IDS = ['number_of_filtered_subreads']
- DEFAULT_VALUES = {}
- @classmethod
- def getMetrics(cls):
- db_fn = os.path.join(cls.job_dir, 'tasks', 'falcon_ns2.tasks.task_falcon0_dazzler_build_raw-0', 'raw_reads.db')
- #system('which DBdump', check=True)
- dump = capture('DBdump {}'.format(db_fn))
- cls.metric_dict['number_of_filtered_subreads'] = functional.dazzler_num_reads(dump)
|