3 from datetime import datetime, date
11 from htsworkflow.pipelines import eland
12 from htsworkflow.pipelines import ipar
13 from htsworkflow.pipelines import bustard
14 from htsworkflow.pipelines import gerald
15 from htsworkflow.pipelines import runfolder
16 from htsworkflow.pipelines.runfolder import ElementTree
18 from htsworkflow.pipelines.test.simulate_runfolder import *
20 logging.basicConfig(level=logging.ERROR)
22 def make_runfolder(obj=None):
24 Make a fake runfolder, attach all the directories to obj if defined
26 # make a fake runfolder directory
27 temp_dir = tempfile.mkdtemp(prefix='tmp_runfolder_')
29 runfolder_dir = os.path.join(temp_dir,
30 '090608_HWI-EAS229_0117_4286GAAXX')
31 os.mkdir(runfolder_dir)
33 data_dir = os.path.join(runfolder_dir, 'Data')
36 intensities_dir = make_rta_intensities_1460(data_dir)
38 bustard_dir = os.path.join(intensities_dir, 'Bustard1.4.0_16-06-2009_diane')
40 make_phasing_params(bustard_dir)
41 make_bustard_config132(bustard_dir)
42 score_dir = make_scores(bustard_dir)
43 make_qseqs(bustard_dir)
45 gerald_dir = os.path.join(bustard_dir,
46 'GERALD_16-06-2009_diane')
48 make_gerald_config_100(gerald_dir)
49 make_summary_ipar130_htm(gerald_dir)
50 make_eland_multi(gerald_dir, lane_list=[1,2,3,4,5,6,])
51 make_scarf(gerald_dir, lane_list=[7,])
52 make_fastq(gerald_dir, lane_list=[8,])
55 obj.temp_dir = temp_dir
56 obj.runfolder_dir = runfolder_dir
57 obj.data_dir = data_dir
58 obj.image_analysis_dir = intensities_dir
59 obj.bustard_dir = bustard_dir
60 obj.gerald_dir = gerald_dir
63 class RunfolderExtractTests(unittest.TestCase):
65 Test the extract result code.
68 # attaches all the directories to the object passed in
72 shutil.rmtree(self.temp_dir)
74 def test_extract_results(self):
75 runs = runfolder.get_runs(self.runfolder_dir)
76 self.failUnlessEqual(len(runs), 1)
77 runfolder.extract_results(runs, self.temp_dir, site='asite')
78 archive = os.listdir(os.path.join(self.temp_dir, '4286GAAXX', 'C1-38'))
79 self.failUnlessEqual(len(archive), 19)
80 self.failUnless('asite_090608_HWI-EAS229_0117_4286GAAXX_6.srf' in archive)
84 return unittest.makeSuite(RunfolderExtractTests,'test')
86 if __name__ == "__main__":
87 unittest.main(defaultTest="suite")