from pprint import pprint
import shutil
import tempfile
-import unittest
+
+from django.test import TestCase
+from django.test.utils import setup_test_environment, \
+ teardown_test_environment
+from django.db import connection
+from django.conf import settings
from htsworkflow.submission.condorfastq import CondorFastqExtract
from htsworkflow.submission.results import ResultMap
-from htsworkflow.util.rdfhelp import load_string_into_model, dump_model
+from htsworkflow.util.rdfhelp import \
+ add_default_schemas, load_string_into_model, dump_model
+from htsworkflow.util.rdfinfer import Infer
FCDIRS = [
'C02F9ACXX',
@prefix seqns: <http://jumpgate.caltech.edu/wiki/LibraryOntology#> .
@prefix invns: <http://jumpgate.caltech.edu/wiki/InventoryOntology#> .
+<http://localhost/library/10000/> a libns:Library .
+<http://localhost/library/1331/> a libns:Library .
+<http://localhost/library/1421/> a libns:Library .
+<http://localhost/library/1661/> a libns:Library .
+
<http://localhost/flowcell/30221AAXX/>
- a libns:illumina_flowcell ;
+ a libns:IlluminaFlowcell ;
libns:read_length 33 ;
libns:flowcell_type "Single"@en ;
libns:date "2012-01-19T20:23:26"^^xsd:dateTime;
libns:flowcell_id "30221AAXX"@en .
<http://localhost/lane/3401>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30221AAXX/> ;
libns:library <http://localhost/library/10000/> ;
- libns:lane_number 1 .
+ libns:lane_number "1" .
<http://localhost/lane/3402>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30221AAXX/> ;
libns:library <http://localhost/library/10000/> ;
- libns:lane_number 2 .
+ libns:lane_number "2" .
<http://localhost/lane/3403>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30221AAXX/> ;
libns:library <http://localhost/library/10000/> ;
- libns:lane_number 3 .
+ libns:lane_number "3" .
<http://localhost/lane/3404>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30221AAXX/> ;
libns:library <http://localhost/library/11154/> ;
- libns:lane_number 4 .
+ libns:lane_number "4" .
# paired_end 1;
# read_length 33;
# status "Unknown"@en .
<http://localhost/lane/3405>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30221AAXX/> ;
libns:library <http://localhost/library/10000/> ;
- libns:lane_number 5 .
+ libns:lane_number "5" .
<http://localhost/lane/3406>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30221AAXX/> ;
libns:library <http://localhost/library/10000/> ;
- libns:lane_number 6 .
+ libns:lane_number "6" .
<http://localhost/lane/3407>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30221AAXX/> ;
libns:library <http://localhost/library/10000/> ;
- libns:lane_number 7 .
+ libns:lane_number "7" .
<http://localhost/lane/3408>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30221AAXX/> ;
libns:library <http://localhost/library/10000/> ;
- libns:lane_number 8 .
+ libns:lane_number "8" .
<http://localhost/flowcell/42JUYAAXX/>
- a libns:illumina_flowcell ;
+ a libns:IlluminaFlowcell ;
libns:read_length 76 ;
libns:flowcell_type "Paired"@en ;
libns:date "2012-01-19T20:23:26"^^xsd:dateTime;
libns:flowcell_id "42JUYAAXX"@en .
<http://localhost/lane/4201>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/42JUYAAXX/> ;
libns:library <http://localhost/library/1421/> ;
- libns:lane_number 1 .
+ libns:lane_number "1" .
<http://localhost/lane/4202>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/42JUYAAXX/> ;
libns:library <http://localhost/library/1421/> ;
- libns:lane_number 2 .
+ libns:lane_number "2" .
<http://localhost/lane/4203>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/42JUYAAXX/> ;
libns:library <http://localhost/library/1421/> ;
- libns:lane_number 3 .
+ libns:lane_number "3" .
<http://localhost/lane/4204>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/42JUYAAXX/> ;
libns:library <http://localhost/library/1421/> ;
- libns:lane_number 4 .
+ libns:lane_number "4" .
<http://localhost/lane/4205>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/42JUYAAXX/> ;
libns:library <http://localhost/library/11154/> ;
- libns:lane_number 5 .
+ libns:lane_number "5" .
# paired_end 1;
# read_length 76;
# status "Unknown"@en .
<http://localhost/lane/4206>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/42JUYAAXX/> ;
libns:library <http://localhost/library/1421/> ;
- libns:lane_number 6 .
+ libns:lane_number "6" .
<http://localhost/lane/4207>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/42JUYAAXX/> ;
libns:library <http://localhost/library/1421/> ;
- libns:lane_number 7 .
+ libns:lane_number "7" .
<http://localhost/lane/4208>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/42JUYAAXX/> ;
libns:library <http://localhost/library/1421/> ;
- libns:lane_number 8 .
+ libns:lane_number "8" .
<http://localhost/flowcell/61MJTAAXX/>
- a libns:illumina_flowcell ;
+ a libns:IlluminaFlowcell ;
libns:read_length 76 ;
libns:flowcell_type "Single"@en ;
libns:date "2012-01-19T20:23:26"^^xsd:dateTime;
libns:flowcell_id "61MJTAAXX"@en .
<http://localhost/lane/6601>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/61MJTAAXX/> ;
libns:library <http://localhost/library/1661/> ;
- libns:lane_number 1 .
+ libns:lane_number "1" .
<http://localhost/lane/6602>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/61MJTAAXX/> ;
libns:library <http://localhost/library/1661/> ;
- libns:lane_number 2 .
+ libns:lane_number "2" .
<http://localhost/lane/6603>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/61MJTAAXX/> ;
libns:library <http://localhost/library/1661/> ;
- libns:lane_number 3 .
+ libns:lane_number "3" .
<http://localhost/lane/6604>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/61MJTAAXX/> ;
libns:library <http://localhost/library/1661/> ;
- libns:lane_number 4 .
+ libns:lane_number "4" .
<http://localhost/lane/6605>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/61MJTAAXX/> ;
libns:library <http://localhost/library/1661/> ;
- libns:lane_number 5 .
+ libns:lane_number "5" .
<http://localhost/lane/6606>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/61MJTAAXX/> ;
libns:library <http://localhost/library/11154/> ;
- libns:lane_number 6 .
+ libns:lane_number "6" .
# paired_end 1;
# read_length 76;
# status "Unknown"@en .
<http://localhost/lane/6607>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/61MJTAAXX/> ;
libns:library <http://localhost/library/1661/> ;
- libns:lane_number 7 .
+ libns:lane_number "7" .
<http://localhost/lane/6608>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/61MJTAAXX/> ;
libns:library <http://localhost/library/1661/> ;
- libns:lane_number 8 .
+ libns:lane_number "8" .
<http://localhost/flowcell/30DY0AAXX/>
- a libns:illumina_flowcell ;
+ a libns:IlluminaFlowcell ;
libns:read_length 76 ;
libns:flowcell_type "Paired"@en ;
libns:date "2012-01-19T20:23:26"^^xsd:dateTime;
libns:flowcell_id "30DY0AAXX"@en .
<http://localhost/lane/3801>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30DY0AAXX/> ;
libns:library <http://localhost/library/1331/> ;
- libns:lane_number 1 .
+ libns:lane_number "1" .
<http://localhost/lane/3802>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30DY0AAXX/> ;
libns:library <http://localhost/library/1331/> ;
- libns:lane_number 2 .
+ libns:lane_number "2" .
<http://localhost/lane/3803>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30DY0AAXX/> ;
libns:library <http://localhost/library/1331/> ;
- libns:lane_number 3 .
+ libns:lane_number "3" .
<http://localhost/lane/3804>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30DY0AAXX/> ;
libns:library <http://localhost/library/1331/> ;
- libns:lane_number 4 .
+ libns:lane_number "4" .
<http://localhost/lane/3805>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30DY0AAXX/> ;
libns:library <http://localhost/library/1331/> ;
- libns:lane_number 5 .
+ libns:lane_number "5" .
<http://localhost/lane/3806>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30DY0AAXX/> ;
libns:library <http://localhost/library/1331/> ;
- libns:lane_number 6 .
+ libns:lane_number "6" .
<http://localhost/lane/3807>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30DY0AAXX/> ;
libns:library <http://localhost/library/1331/> ;
- libns:lane_number 7 .
+ libns:lane_number "7" .
<http://localhost/lane/3808>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/30DY0AAXX/> ;
libns:library <http://localhost/library/11154/> ;
- libns:lane_number 8 .
+ libns:lane_number "8" .
# paired_end 1;
# read_length 76;
# status "Unknown"@en .
<http://localhost/flowcell/C02F9ACXX/>
- a libns:illumina_flowcell ;
+ a libns:IlluminaFlowcell ;
libns:read_length 101 ;
libns:flowcell_type "Paired"@en ;
libns:date "2012-01-19T20:23:26"^^xsd:dateTime;
libns:flowcell_id "C02F9ACXX"@en .
<http://localhost/lane/12300>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/C02F9ACXX/> ;
libns:library <http://localhost/library/12345/> ;
- libns:lane_number 3 .
+ libns:lane_number "3" .
# paired_end 1;
# read_length 101;
# status "Unknown"@en .
<http://localhost/lane/12500>
+ a libns:IlluminaLane ;
libns:flowcell <http://localhost/flowcell/C02F9ACXX/> ;
libns:library <http://localhost/library/11154/> ;
- libns:lane_number 3 .
+ libns:lane_number "3" .
# paired_end 1;
# read_length 101;
# status "Unknown"@en .
<http://localhost/library/11154/>
- a libns:library ;
+ a libns:Library ;
libns:affiliation "TSR"@en;
libns:concentration "29.7";
libns:date "2012-12-28T00:00:00"^^xsd:dateTime ;
libns:made_by "Gary Gygax"@en ;
libns:name "Paired Ends ASDF"@en ;
libns:replicate "1"@en;
- libns:species "Mus musculus"@en ;
+ libns:species_name "Mus musculus"@en ;
libns:stopping_point "Completed"@en ;
libns:total_unique_locations 8841201 .
# cell_line
-
<http://localhost/library/12345/>
- a libns:library ;
+ a libns:Library ;
libns:affiliation "TSR"@en;
libns:concentration "12.345";
libns:cell_line "Unknown"@en ;
libns:made_by "Gary Gygax"@en ;
libns:name "Paired Ends THING"@en ;
libns:replicate "1"@en;
- libns:species "Mus musculus"@en ;
+ libns:species_name "Mus musculus"@en ;
libns:stopping_point "Completed"@en ;
libns:total_unique_locations 8841201 .
# cell_line
"""
HOST = "http://localhost"
-class TestCondorFastq(unittest.TestCase):
+class TestCondorFastq(TestCase):
def setUp(self):
self.cwd = os.getcwd()
stream.write('testfile')
self.result_map = ResultMap()
- for lib_id in [u'11154', u'12345']:
+ for lib_id in ['11154', '12345']:
subname = 'sub-%s' % (lib_id,)
sub_dir = os.path.join(self.tempdir, subname)
os.mkdir(sub_dir)
self.flowcelldir,
self.logdir)
load_string_into_model(self.extract.model, 'turtle', lib_turtle)
+ add_default_schemas(self.extract.model)
+ inference = Infer(self.extract.model)
+ errmsgs = list(inference.run_validation())
+ self.assertEqual(len(errmsgs), 0)
+ os.chdir(self.tempdir)
def tearDown(self):
shutil.rmtree(self.tempdir)
os.chdir(self.cwd)
- def test_find_relavant_flowcell_ids(self):
+ def test_find_relevant_flowcell_ids(self):
expected = set(('30221AAXX',
'42JUYAAXX',
'61MJTAAXX',
'30DY0AAXX',
'C02F9ACXX'))
- flowcell_ids = self.extract.find_relavant_flowcell_ids()
+ flowcell_ids = self.extract.find_relevant_flowcell_ids()
self.assertEqual(flowcell_ids, expected)
def test_find_archive_sequence(self):
seqs = self.extract.find_archive_sequence_files(self.result_map)
expected = set([
- (u'11154', u'42JUYAAXX', 5, 1, 76, True, 'qseq'),
- (u'11154', u'42JUYAAXX', 5, 2, 76, True, 'qseq'),
- (u'11154', u'61MJTAAXX', 6, 1, 76, False, 'qseq'),
- (u'11154', u'C02F9ACXX', 3, 2, 202, True, 'split_fastq'),
- (u'11154', u'C02F9ACXX', 3, 1, 202, True, 'split_fastq'),
- (u'11154', u'C02F9ACXX', 3, 1, 202, True, 'split_fastq'),
- (u'11154', u'C02F9ACXX', 3, 2, 202, True, 'split_fastq'),
- (u'12345', u'C02F9ACXX', 3, 1, 202, True, 'split_fastq'),
- (u'12345', u'C02F9ACXX', 3, 2, 202, True, 'split_fastq'),
- (u'12345', u'C02F9ACXX', 3, 2, 202, True, 'split_fastq'),
- (u'12345', u'C02F9ACXX', 3, 1, 202, True, 'split_fastq'),
- (u'12345', u'C02F9ACXX', 3, 1, 202, True, 'split_fastq'),
- (u'12345', u'C02F9ACXX', 3, 2, 202, True, 'split_fastq'),
- (u'11154', u'30221AAXX', 4, 1, 33, False, 'srf'),
- (u'11154', u'30DY0AAXX', 8, 1, 151, True, 'srf')
+ ('11154', '42JUYAAXX', '5', 1, 76, True, 'qseq'),
+ ('11154', '42JUYAAXX', '5', 2, 76, True, 'qseq'),
+ ('11154', '61MJTAAXX', '6', 1, 76, False, 'qseq'),
+ ('11154', 'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
+ ('11154', 'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
+ ('11154', 'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
+ ('11154', 'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
+ ('12345', 'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
+ ('12345', 'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
+ ('12345', 'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
+ ('12345', 'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
+ ('12345', 'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
+ ('12345', 'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
+ ('11154', '30221AAXX', '4', 1, 33, False, 'srf'),
+ ('11154', '30DY0AAXX', '8', 1, 151, True, 'srf')
])
found = set([(l.library_id, l.flowcell_id, l.lane_number, l.read, l.cycle, l.ispaired, l.filetype) for l in seqs])
self.assertEqual(expected, found)
def test_find_needed_targets(self):
lib_db = self.extract.find_archive_sequence_files(self.result_map)
- needed_targets = self.extract.find_missing_targets(self.result_map,
+ needed_targets = self.extract.update_fastq_targets(self.result_map,
lib_db)
self.assertEqual(len(needed_targets), 9)
srf_30221 = needed_targets[
- self.result_map['11154'] + u'/11154_30221AAXX_c33_l4.fastq']
+ self.result_map['11154'] + '/11154_30221AAXX_c33_l4.fastq']
qseq_42JUY_r1 = needed_targets[
- self.result_map['11154'] + u'/11154_42JUYAAXX_c76_l5_r1.fastq']
+ self.result_map['11154'] + '/11154_42JUYAAXX_c76_l5_r1.fastq']
qseq_42JUY_r2 = needed_targets[
- self.result_map['11154'] + u'/11154_42JUYAAXX_c76_l5_r2.fastq']
+ self.result_map['11154'] + '/11154_42JUYAAXX_c76_l5_r2.fastq']
qseq_61MJT = needed_targets[
- self.result_map['11154'] + u'/11154_61MJTAAXX_c76_l6.fastq']
+ self.result_map['11154'] + '/11154_61MJTAAXX_c76_l6.fastq']
split_C02F9_r1 = needed_targets[
- self.result_map['11154'] + u'/11154_C02F9ACXX_c202_l3_r1.fastq']
+ self.result_map['11154'] + '/11154_C02F9ACXX_c202_l3_r1.fastq']
split_C02F9_r2 = needed_targets[
- self.result_map['11154'] + u'/11154_C02F9ACXX_c202_l3_r2.fastq']
+ self.result_map['11154'] + '/11154_C02F9ACXX_c202_l3_r2.fastq']
self.assertEqual(len(srf_30221['srf']), 1)
self.assertEqual(len(qseq_42JUY_r1['qseq']), 1)
'11154_30221AAXX_c33_l4.fastq'): {
'mid': None,
'ispaired': False,
- 'sources': [u'woldlab_090425_HWI-EAS229_0110_30221AAXX_4.srf'],
- 'flowcell': u'30221AAXX',
+ 'sources': ['woldlab_090425_HWI-EAS229_0110_30221AAXX_4.srf'],
+ 'flowcell': '30221AAXX',
'target': os.path.join(self.result_map['11154'],
- u'11154_30221AAXX_c33_l4.fastq'),
+ '11154_30221AAXX_c33_l4.fastq'),
},
os.path.join(self.result_map['11154'],
'11154_30DY0AAXX_c151_l8_r1.fastq'): {
'mid': None,
'ispaired': True,
- 'flowcell': u'30DY0AAXX',
- 'sources': [u'woldlab_090725_HWI-EAS229_0110_30DY0AAXX_8.srf'],
+ 'flowcell': '30DY0AAXX',
+ 'sources': ['woldlab_090725_HWI-EAS229_0110_30DY0AAXX_8.srf'],
'mid': 76,
'target':
os.path.join(self.result_map['11154'],
- u'11154_30DY0AAXX_c151_l8_r1.fastq'),
+ '11154_30DY0AAXX_c151_l8_r1.fastq'),
'target_right':
os.path.join(self.result_map['11154'],
- u'11154_30DY0AAXX_c151_l8_r2.fastq'),
+ '11154_30DY0AAXX_c151_l8_r2.fastq'),
}
}
for args in srf:
'istar': True,
'ispaired': True,
'sources': [
- u'woldlab_100826_HSI-123_0001_42JUYAAXX_l5_r1.tar.bz2']
+ 'woldlab_100826_HSI-123_0001_42JUYAAXX_l5_r1.tar.bz2']
},
os.path.join(self.result_map['11154'],
'11154_42JUYAAXX_c76_l5_r2.fastq'): {
'istar': True,
'ispaired': True,
'sources': [
- u'woldlab_100826_HSI-123_0001_42JUYAAXX_l5_r2.tar.bz2']
+ 'woldlab_100826_HSI-123_0001_42JUYAAXX_l5_r2.tar.bz2']
},
os.path.join(self.result_map['11154'],
'11154_61MJTAAXX_c76_l6.fastq'): {
'istar': True,
'ispaired': False,
'sources': [
- u'woldlab_100826_HSI-123_0001_61MJTAAXX_l6_r1.tar.bz2'],
+ 'woldlab_100826_HSI-123_0001_61MJTAAXX_l6_r1.tar.bz2'],
},
}
for args in qseq:
split_test = dict((( x['target'], x) for x in
- [{'sources': [u'11154_NoIndex_L003_R1_001.fastq.gz',
- u'11154_NoIndex_L003_R1_002.fastq.gz'],
+ [{'sources': ['11154_NoIndex_L003_R1_001.fastq.gz',
+ '11154_NoIndex_L003_R1_002.fastq.gz'],
'pyscript': 'desplit_fastq.pyc',
- 'target': u'11154_C02F9ACXX_c202_l3_r1.fastq'},
- {'sources': [u'11154_NoIndex_L003_R2_001.fastq.gz',
- u'11154_NoIndex_L003_R2_002.fastq.gz'],
+ 'target': '11154_C02F9ACXX_c202_l3_r1.fastq'},
+ {'sources': ['11154_NoIndex_L003_R2_001.fastq.gz',
+ '11154_NoIndex_L003_R2_002.fastq.gz'],
'pyscript': 'desplit_fastq.pyc',
- 'target': u'11154_C02F9ACXX_c202_l3_r2.fastq'},
- {'sources': [u'12345_CGATGT_L003_R1_001.fastq.gz',
- u'12345_CGATGT_L003_R1_002.fastq.gz',
- u'12345_CGATGT_L003_R1_003.fastq.gz',
+ 'target': '11154_C02F9ACXX_c202_l3_r2.fastq'},
+ {'sources': ['12345_CGATGT_L003_R1_001.fastq.gz',
+ '12345_CGATGT_L003_R1_002.fastq.gz',
+ '12345_CGATGT_L003_R1_003.fastq.gz',
],
'pyscript': 'desplit_fastq.pyc',
- 'target': u'12345_C02F9ACXX_c202_l3_r1.fastq'},
- {'sources': [u'12345_CGATGT_L003_R2_001.fastq.gz',
- u'12345_CGATGT_L003_R2_002.fastq.gz',
- u'12345_CGATGT_L003_R2_003.fastq.gz',
+ 'target': '12345_C02F9ACXX_c202_l3_r1.fastq'},
+ {'sources': ['12345_CGATGT_L003_R2_001.fastq.gz',
+ '12345_CGATGT_L003_R2_002.fastq.gz',
+ '12345_CGATGT_L003_R2_003.fastq.gz',
],
'pyscript': 'desplit_fastq.pyc',
- 'target': u'12345_C02F9ACXX_c202_l3_r2.fastq'}
+ 'target': '12345_C02F9ACXX_c202_l3_r2.fastq'}
]
))
for arg in split:
self.assertTrue('12345_C02F9ACXX_c202_l3_r2.fastq' in arguments[3])
+OLD_DB = settings.DATABASES['default']['NAME']
+def setUpModule():
+ setup_test_environment()
+ connection.creation.create_test_db()
+
+def tearDownModule():
+ connection.creation.destroy_test_db(OLD_DB)
+ teardown_test_environment()
+
+
def suite():
- suite = unittest.makeSuite(TestCondorFastq, 'test')
+ from unittest import TestSuite, defaultTestLoader
+ suite = TestSuite()
+ suite.addTests(defaultTestLoader.loadTestsFromTestCase(TestCondorFastq))
return suite
if __name__ == "__main__":
- unittest.main(defaultTest='suite')
-
+ from unittest import main
+ main(defaultTest='suite')