From 02cae8613181bb32f9a63a419a75b37216f34dfa Mon Sep 17 00:00:00 2001 From: Diane Trout Date: Wed, 29 Feb 2012 16:58:39 -0800 Subject: [PATCH] Simulate a HiSeq runfolder. Also man do i need to clean up my simulation code --- .../pipelines/test/simulate_runfolder.py | 246 +- .../pipelines/test/test_runfolder_rta1_12.py | 291 ++ .../test/testdata/aligned_config_1_12.xml | 234 ++ .../test/testdata/demultiplex_1.12.4.2.xml | 71 + .../demultiplexed_bustard_1.12.4.2.xml | 503 +++ .../demultiplexed_summary_1.12.4.2.xml | 3669 +++++++++++++++++ .../rta_basecalls_config_1.12.4.2.xml | 511 +++ .../rta_intensities_config_1.12.4.2.xml | 472 +++ .../test/testdata/sample_summary_1_12.htm | 434 ++ 9 files changed, 6430 insertions(+), 1 deletion(-) create mode 100644 htsworkflow/pipelines/test/test_runfolder_rta1_12.py create mode 100644 htsworkflow/pipelines/test/testdata/aligned_config_1_12.xml create mode 100644 htsworkflow/pipelines/test/testdata/demultiplex_1.12.4.2.xml create mode 100644 htsworkflow/pipelines/test/testdata/demultiplexed_bustard_1.12.4.2.xml create mode 100644 htsworkflow/pipelines/test/testdata/demultiplexed_summary_1.12.4.2.xml create mode 100755 htsworkflow/pipelines/test/testdata/rta_basecalls_config_1.12.4.2.xml create mode 100755 htsworkflow/pipelines/test/testdata/rta_intensities_config_1.12.4.2.xml create mode 100644 htsworkflow/pipelines/test/testdata/sample_summary_1_12.htm diff --git a/htsworkflow/pipelines/test/simulate_runfolder.py b/htsworkflow/pipelines/test/simulate_runfolder.py index c07783e..0b57631 100644 --- a/htsworkflow/pipelines/test/simulate_runfolder.py +++ b/htsworkflow/pipelines/test/simulate_runfolder.py @@ -1,7 +1,7 @@ """ Create simulated solexa/illumina runfolders for testing """ - +import gzip import os import shutil @@ -55,6 +55,25 @@ def make_bustard_config132(image_dir): destination = os.path.join(image_dir, 'config.xml') shutil.copy(source, destination) +def make_aligned_config_1_12(aligned_dir): + """This is rouglhly equivalent to the old gerald file""" + source = os.path.join(TESTDATA_DIR, 'aligned_config_1_12.xml') + destination = os.path.join(aligned_dir, 'config.xml') + shutil.copy(source, destination) + +def make_unaligned_config_1_12(unaligned_dir): + demultiplex_pairs = [ # (src, + # dest), + (os.path.join(TESTDATA_DIR, 'demultiplex_1.12.4.2.xml'), + os.path.join(unaligned_dir, 'DemultiplexConfig.xml')), + (os.path.join(TESTDATA_DIR, 'demultiplexed_bustard_1.12.4.2.xml'), + os.path.join(unaligned_dir, 'DemultiplexConfig.xml')), + (os.path.join(TESTDATA_DIR, 'demultiplexed_summary_1.12.4.2.xml'), + os.path.join(unaligned_dir, 'DemultiplexConfig.xml')), + ] + for src, dest in demultiplex_pairs: + shutil.copy(src, dest) + def make_rta_intensities_1460(data_dir, version='1.4.6.0'): """ Construct an artificial RTA Intensities parameter file and directory @@ -107,6 +126,19 @@ def make_rta_intensities_1_10(data_dir, version='1.10.36.0'): return intensities_dir +def make_rta_intensities_1_12(data_dir, version='1.12.4.2'): + """ + Construct an artificial RTA Intensities parameter file and directory + """ + intensities_dir = os.path.join(data_dir, 'Intensities') + if not os.path.exists(intensities_dir): + os.mkdir(intensities_dir) + + param_file = os.path.join(TESTDATA_DIR, 'rta_intensities_config_1.12.4.2.xml') + shutil.copy(param_file, os.path.join(intensities_dir, 'RTAConfig.xml')) + + return intensities_dir + def make_rta_basecalls_1870(intensities_dir): """ Construct an artificial RTA Intensities parameter file and directory @@ -134,6 +166,21 @@ def make_rta_basecalls_1_10(intensities_dir): return basecalls_dir +def make_rta_basecalls_1_12(intensities_dir): + """ + Construct an artificial RTA Intensities parameter file and directory + """ + basecalls_dir = os.path.join(intensities_dir, 'BaseCalls') + if not os.path.exists(basecalls_dir): + os.mkdir(basecalls_dir) + + make_qseqs(basecalls_dir, basecall_info=ABXX_BASE_CALL_INFO) + param_file = os.path.join(TESTDATA_DIR, 'rta_basecalls_config_1.12.4.2.xml') + shutil.copy(param_file, os.path.join(basecalls_dir, 'config.xml')) + + return basecalls_dir + + def make_qseqs(bustard_dir, basecall_info=None): """ Fill gerald directory with qseq files @@ -234,6 +281,9 @@ def make_matrix_dir_rta160(bustard_dir): def make_matrix_dir_rta_1_10(bustard_dir): make_matrix_dir_rta160(bustard_dir) +def make_matrix_dir_rta_1_12(bustard_dir): + make_matrix_dir_rta160(bustard_dir) + def make_phasing_dir(bustard_dir): """ Create several phasing files in /Phasing/ @@ -394,6 +444,200 @@ _bbbbbaaababaabbbbab]D]aaaaaaaaaaaaaa f.write(seq) f.close() +UNALIGNED_READS = [1,2] +UNALIGNED_SAMPLES = [ (1, UNALIGNED_READS, '11111', None, None), + (2, UNALIGNED_READS, '11112', None, None), + (3, UNALIGNED_READS, '11113', 1, 'ATCACG'), + (3, UNALIGNED_READS, '11113', 2, 'CGATGT'), + (3, UNALIGNED_READS, '11113', 3, 'TTAGGC'), + (4, UNALIGNED_READS, '11114', 6, 'GCCAAT'), + (5, UNALIGNED_READS, '11115', 1, 'ATCACG'), + (5, UNALIGNED_READS, '11116', 7, 'ACTTGA'), + (5, UNALIGNED_READS, '11117', 9, 'GATCAG'), + (6, UNALIGNED_READS, '11118', 1, 'ATCACG'), + (7, UNALIGNED_READS, '11119', 2, 'CGATGT'), + (8, UNALIGNED_READS, '11120', 3, 'TTAGGC'), + (1, UNALIGNED_READS, None, None, None), + (2, UNALIGNED_READS, None, None, None), + (3, UNALIGNED_READS, None, None, None), + (4, UNALIGNED_READS, None, None, None), + (5, UNALIGNED_READS, None, None, None)] + + +def make_aligned_eland_export(aligned_dir, flowcell_id): + summary_source = os.path.join(TESTDATA_DIR, 'sample_summary_1_12.htm') + for lane, read, project_id, index_id, index_seq in UNALIGNED_SAMPLES: + paths = DemultiplexedPaths(aligned_dir, + flowcell_id, + lane, + project_id, + index_id, + index_seq) + paths.make_sample_dirs() + paths.make_summary_dirs() + summary_dest = os.path.join(paths.summary_dir, 'Sample_Summary.htm') + shutil.copy(summary_source, summary_dest) + + body = get_unaligned_sample_export(lane, index_seq) + for split in ['001','002']: + for read in UNALIGNED_READS: + suffix = 'R{0}_{1}_export.txt.gz'.format(read, split) + pathname = paths.make_test_filename(suffix) + stream = gzip.open(pathname, 'w') + stream.write(body) + stream.close() + + +def make_unaligned_fastqs_1_12(unaligned_dir, flowcell_id): + """Create a default mix of unaligned sample files + """ + for lane, read, name, index_id, index in UNALIGNED_SAMPLES: + make_unaligned_fastq_sample_1_12(unaligned_dir, + flowcell_id, + lane, + read, + name, + index_id, + index) + +def make_unaligned_fastq_sample_1_12(unaligned_dir, + flowcell_id, + lane, + reads, + project_id, + index_id=None, + index_seq=None): + + paths = DemultiplexedPaths(unaligned_dir, + flowcell_id, + lane, + project_id, + index_id, + index_seq) + paths.make_sample_dirs() + + sample_seq = get_unaligned_sample_fastq_data(flowcell_id, lane, index_seq) + for split in ['001','002']: + for read in reads: + suffix = 'R{0}_{1}.fastq.gz'.format(read, split) + pathname = paths.make_test_filename(suffix) + stream = gzip.open(pathname, 'w') + stream.write(sample_seq) + stream.close() + + sheetname = os.path.join(paths.sample_dir, 'SampleSheet.csv') + stream = open(sheetname, 'w') + stream.write('FCID,Lane,SampleID,SampleRef,Index,Description,Control,Recipe,Operator,SampleProject'+os.linesep) + template = '{flowcell},{lane},{id},mm9,{index},Sample #{id},N,PR_indexing,Operator,{sample_project}'+os.linesep + stream.write(template.format(flowcell=flowcell_id, + lane=lane, + id=paths.sample_id, + index=paths.index_seq, + sample_project=paths.sample_project)) + stream.close() + + +class DemultiplexedPaths(object): + def __init__(self, basedir, flowcell_id, lane, project_id, index_id, index_seq): + if lane not in LANE_LIST: + raise ValueError("Invalid lane ID: {0}".format(lane)) + self.basedir = basedir + self.flowcell_id = flowcell_id + self.lane = lane + + if project_id is None: + # undetermined + self.index_seq = '' + self.sample_id = 'lane{0}'.format(lane) + self.sample_project = 'Undetermined_indices' + self.rootname = 'lane{lane}_Undetermined_L00{lane}_'.format( + lane=lane) + self.project_dir = 'Undetermined_indices' + self.sample_dir = 'Sample_lane{lane}'.format(lane=lane) + elif index_seq is None: + self.index_seq = '' + self.sample_id = project_id + self.sample_project = '{project_id}'.format(project_id=project_id) + self.rootname = '{project_id}_NoIndex_L00{lane}_'.format( + project_id=project_id, + lane=lane) + self.project_dir = 'Project_' + self.sample_project + self.sample_dir = 'Sample_{project_id}'.format( + project_id=project_id) + else: + self.index_seq = index_seq + self.sample_id = project_id + self.sample_project = '{project_id}_Index{index_id}'.format( + project_id=project_id, + index_id=index_id) + self.rootname = '{project_id}_{index}_L00{lane}_'.format( + project_id=project_id, + index=index_seq, + lane=lane) + self.project_dir = 'Project_' + self.sample_project + self.sample_dir = 'Sample_{project_id}'.format( + project_id=project_id) + + self.project_dir = os.path.join(self.basedir, self.project_dir) + self.sample_dir = os.path.join(self.project_dir, self.sample_dir) + self.summary_dir = 'Summary_Stats_{0}'.format(self.flowcell_id) + self.summary_dir = os.path.join(self.project_dir, self.summary_dir) + print "HI:", self.summary_dir + + + def make_sample_dirs(self): + if not os.path.isdir(self.project_dir): + os.mkdir(self.project_dir) + if not os.path.isdir(self.sample_dir): + os.mkdir(self.sample_dir) + + def make_summary_dirs(self): + print "HI:", self.summary_dir + if not os.path.isdir(self.summary_dir): + os.mkdir(self.summary_dir) + + def make_test_filename(self, suffix): + filename = self.rootname + suffix + pathname = os.path.join(self.sample_dir, filename) + return pathname + def dump(self): + print ('index seq: {0}'.format(self.index_seq)) + + print ('project dir: {0}'.format(self.project_dir)) + print ('sample dir: {0}'.format(self.sample_dir)) + print ('rootname: {0}'.format(self.rootname)) + print ('path: {0}'.format( + os.path.join(self.project_dir, + self.sample_dir, + self.rootname+'R1_001.fastq.gz'))) + + +def get_unaligned_sample_fastq_data(flowcell_id, lane, index_seq): + seq = """@HWI-ST0787:101:{flowcell}:{lane}:1101:2416:3469 1:Y:0:{index} +TCCTTCATTCCACCGGAGTCTGTGGAATTCTCGGGTGCCAAGGAACTCCA ++ +CCCFFFFFHHHHHJJJJJJJJJIJJJJJJJJJJJJJJJJIIJJIIJJJJJ +@HWI-ST0787:101:{flowcell}:{lane}:1101:2677:3293 1:Y:0:{index} +TGGAAATCCATTGGGGTTTCCCCTGGAATTCTCGGGTGCCAAGGAACTCC ++ +@CCFF3BDHHHHHIIIIIHHIIIDIIIGIIIEGIIIIIIIIIIIIIIIHH +@HWI-ST0787:101:{flowcell}:{lane}:1101:2616:3297 1:Y:0:{index} +TAATACTGCCGGGTAATGATGGCTGGAATTCTCGGGTGCCAAGGAACTCC ++ +CCCFFFFFHHHHHCGHJJJJJJJJJJJJJJJJJIIJJJJJJJJJIHJJJI +@HWI-ST0787:101:{flowcell}:{lane}:1101:2545:3319 1:N:0:{index} +TCCTTCATTCCACCGGAGTCTGCTGGAATTCTCGGGTGCCAAGGAACTCC ++ +CCCFFFFFHHHFHJGIGHIJHIIGHIGIGIGEHFIJJJIHIJHJIIJJIH +""".format(flowcell=flowcell_id, lane=lane, index=index_seq) + return seq + +def get_unaligned_sample_export(lane, index_seq): + body = """HWI-ST0787\t102\t{lane}\t1101\t1207\t1993\t{index}\t1\tAANGGATTCGATCCGGCTTAAGAGATGAAAACCGAAAGGGCCGACCGAA\taaBS`ccceg[`ae[dRR_[[SPPPP__ececfYYWaegh^\\ZLLY\\X`\tNM\t\t\t\t\t\t +HWI-ST0787\t102 {lane} 1101 1478 1997 {index} 1 CAAGAACCCCGGGGGGGGGGGGGCAGAGAGGGGGAATTTTTTTTTTGTT BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB NM N +HWI-ST0787 102 {lane} 1101 1625 1994 {index} 1 AANAATGCTACAGAGACAAAACAAAACTGATATGAAAGTTGAGAATAAA \^BS\cccgegg[Q[QQQ[`egdgffbeggfgh^^YcfgfhXaHY^O^c chrII.fa +""".format(lane=lane, index=index_seq) + return body def ls_tree(root): for dirpath, dirnames, filenames in os.walk(root): diff --git a/htsworkflow/pipelines/test/test_runfolder_rta1_12.py b/htsworkflow/pipelines/test/test_runfolder_rta1_12.py new file mode 100644 index 0000000..927cf61 --- /dev/null +++ b/htsworkflow/pipelines/test/test_runfolder_rta1_12.py @@ -0,0 +1,291 @@ +#!/usr/bin/env python + +from datetime import datetime, date +import os +import tempfile +import shutil +import unittest + +from htsworkflow.pipelines import eland +from htsworkflow.pipelines import ipar +from htsworkflow.pipelines import bustard +from htsworkflow.pipelines import gerald +from htsworkflow.pipelines import runfolder +from htsworkflow.pipelines.runfolder import ElementTree + +from htsworkflow.pipelines.test.simulate_runfolder import * + + +def make_runfolder(obj=None): + """ + Make a fake runfolder, attach all the directories to obj if defined + """ + # make a fake runfolder directory + flowcell_id = 'D07K6ACXX' + temp_dir = tempfile.mkdtemp(prefix='tmp_runfolder_') + + runfolder_dir = os.path.join(temp_dir, + '110815_SN787_0101_A{0}'.format(flowcell_id)) + os.mkdir(runfolder_dir) + + data_dir = os.path.join(runfolder_dir, 'Data') + os.mkdir(data_dir) + + intensities_dir = make_rta_intensities_1_12(data_dir) + + basecalls_dir = make_rta_basecalls_1_12(intensities_dir) + make_matrix_dir_rta_1_12(basecalls_dir) + + unaligned_dir = os.path.join(runfolder_dir, "Unaligned") + os.mkdir(unaligned_dir) + make_unaligned_fastqs_1_12(unaligned_dir, flowcell_id) + make_unaligned_config_1_12(unaligned_dir) + + aligned_dir = os.path.join(runfolder_dir, "Aligned") + os.mkdir(aligned_dir) + make_aligned_eland_export(aligned_dir, flowcell_id) + make_aligned_config_1_12(aligned_dir) + + if obj is not None: + obj.temp_dir = temp_dir + obj.runfolder_dir = runfolder_dir + obj.data_dir = data_dir + obj.image_analysis_dir = intensities_dir + obj.bustard_dir = unaligned_dir + obj.gerald_dir = aligned_dir + + +class RunfolderTests(unittest.TestCase): + """ + Test components of the runfolder processing code + which includes firecrest, bustard, and gerald + """ + def setUp(self): + # attaches all the directories to the object passed in + make_runfolder(self) + + def tearDown(self): + shutil.rmtree(self.temp_dir) + + def test_bustard(self): + """Construct a bustard object""" + b = bustard.bustard(self.bustard_dir) + self.failUnlessEqual(b.version, '1.8.70.0') + self.failUnlessEqual(b.date, None) + self.failUnlessEqual(b.user, None) + self.failUnlessEqual(len(b.phasing), 0) + + xml = b.get_elements() + b2 = bustard.Bustard(xml=xml) + self.failUnlessEqual(b.version, b2.version) + self.failUnlessEqual(b.date, b2.date ) + self.failUnlessEqual(b.user, b2.user) + + def test_gerald(self): + # need to update gerald and make tests for it + g = gerald.gerald(self.gerald_dir) + + self.failUnlessEqual(g.version, + '@(#) Id: GERALD.pl,v 1.171 2008/05/19 17:36:14 mzerara Exp') + self.failUnlessEqual(g.date, datetime(2009,2,22,21,15,59)) + self.failUnlessEqual(len(g.lanes), len(g.lanes.keys())) + self.failUnlessEqual(len(g.lanes), len(g.lanes.items())) + + + # list of genomes, matches what was defined up in + # make_gerald_config. + # the first None is to offset the genomes list to be 1..9 + # instead of pythons default 0..8 + genomes = [None, + '/g/mm9', + '/g/mm9', + '/g/elegans190', + '/g/arabidopsis01222004', + '/g/mm9', + '/g/mm9', + '/g/mm9', + '/g/mm9', ] + + # test lane specific parameters from gerald config file + for i in range(1,9): + cur_lane = g.lanes[i] + self.failUnlessEqual(cur_lane.analysis, 'eland_extended') + self.failUnlessEqual(cur_lane.eland_genome, genomes[i]) + self.failUnlessEqual(cur_lane.read_length, '37') + self.failUnlessEqual(cur_lane.use_bases, 'Y'*37) + + # I want to be able to use a simple iterator + for l in g.lanes.values(): + self.failUnlessEqual(l.analysis, 'eland_extended') + self.failUnlessEqual(l.read_length, '37') + self.failUnlessEqual(l.use_bases, 'Y'*37) + + # test data extracted from summary file + clusters = [None, + (281331, 11169), (203841, 13513), + (220889, 15653), (137294, 14666), + (129388, 14525), (262092, 10751), + (185754, 13503), (233765, 9537),] + + self.failUnlessEqual(len(g.summary), 1) + for i in range(1,9): + summary_lane = g.summary[0][i] + self.failUnlessEqual(summary_lane.cluster, clusters[i]) + self.failUnlessEqual(summary_lane.lane, i) + + xml = g.get_elements() + # just make sure that element tree can serialize the tree + xml_str = ElementTree.tostring(xml) + g2 = gerald.Gerald(xml=xml) + return + + # do it all again after extracting from the xml file + self.failUnlessEqual(g.version, g2.version) + self.failUnlessEqual(g.date, g2.date) + self.failUnlessEqual(len(g.lanes.keys()), len(g2.lanes.keys())) + self.failUnlessEqual(len(g.lanes.items()), len(g2.lanes.items())) + + # test lane specific parameters from gerald config file + for i in range(1,9): + g_lane = g.lanes[i] + g2_lane = g2.lanes[i] + self.failUnlessEqual(g_lane.analysis, g2_lane.analysis) + self.failUnlessEqual(g_lane.eland_genome, g2_lane.eland_genome) + self.failUnlessEqual(g_lane.read_length, g2_lane.read_length) + self.failUnlessEqual(g_lane.use_bases, g2_lane.use_bases) + + # test (some) summary elements + self.failUnlessEqual(len(g.summary), 1) + for i in range(1,9): + g_summary = g.summary[0][i] + g2_summary = g2.summary[0][i] + self.failUnlessEqual(g_summary.cluster, g2_summary.cluster) + self.failUnlessEqual(g_summary.lane, g2_summary.lane) + + g_eland = g.eland_results + g2_eland = g2.eland_results + for lane in g_eland.results[0].keys(): + g_results = g_eland.results[0][lane] + g2_results = g2_eland.results[0][lane] + self.failUnlessEqual(g_results.reads, + g2_results.reads) + if isinstance(g_results, eland.ElandLane): + self.failUnlessEqual(len(g_results.mapped_reads), + len(g2_results.mapped_reads)) + for k in g_results.mapped_reads.keys(): + self.failUnlessEqual(g_results.mapped_reads[k], + g2_results.mapped_reads[k]) + + self.failUnlessEqual(len(g_results.match_codes), + len(g2_results.match_codes)) + for k in g_results.match_codes.keys(): + self.failUnlessEqual(g_results.match_codes[k], + g2_results.match_codes[k]) + + + def test_eland(self): + return + hg_map = {'Lambda.fa': 'Lambda.fa'} + for i in range(1,22): + short_name = 'chr%d.fa' % (i,) + long_name = 'hg18/chr%d.fa' % (i,) + hg_map[short_name] = long_name + + genome_maps = { 1:hg_map, 2:hg_map, 3:hg_map, 4:hg_map, + 5:hg_map, 6:hg_map, 7:hg_map, 8:hg_map } + eland_container = gerald.eland(self.gerald_dir, genome_maps=genome_maps) + + # I added sequence lanes to the last 2 lanes of this test case + for i in range(1,7): + lane = eland_container.results[0][i] + self.failUnlessEqual(lane.reads, 6) + self.failUnlessEqual(lane.sample_name, "s") + self.failUnlessEqual(lane.lane_id, i) + self.failUnlessEqual(len(lane.mapped_reads), 17) + self.failUnlessEqual(lane.mapped_reads['hg18/chr5.fa'], 4) + self.failUnlessEqual(lane.match_codes['U0'], 3) + self.failUnlessEqual(lane.match_codes['R0'], 2) + self.failUnlessEqual(lane.match_codes['U1'], 1) + self.failUnlessEqual(lane.match_codes['R1'], 9) + self.failUnlessEqual(lane.match_codes['U2'], 0) + self.failUnlessEqual(lane.match_codes['R2'], 12) + self.failUnlessEqual(lane.match_codes['NM'], 1) + self.failUnlessEqual(lane.match_codes['QC'], 0) + + # test scarf + lane = eland_container.results[0][7] + self.failUnlessEqual(lane.reads, 5) + self.failUnlessEqual(lane.sample_name, 's') + self.failUnlessEqual(lane.lane_id, 7) + self.failUnlessEqual(lane.sequence_type, eland.SequenceLane.SCARF_TYPE) + + # test fastq + lane = eland_container.results[0][8] + self.failUnlessEqual(lane.reads, 3) + self.failUnlessEqual(lane.sample_name, 's') + self.failUnlessEqual(lane.lane_id, 8) + self.failUnlessEqual(lane.sequence_type, eland.SequenceLane.FASTQ_TYPE) + + xml = eland_container.get_elements() + # just make sure that element tree can serialize the tree + xml_str = ElementTree.tostring(xml) + e2 = gerald.ELAND(xml=xml) + + for i in range(1,9): + l1 = eland_container.results[0][i] + l2 = e2.results[0][i] + self.failUnlessEqual(l1.reads, l2.reads) + self.failUnlessEqual(l1.sample_name, l2.sample_name) + self.failUnlessEqual(l1.lane_id, l2.lane_id) + if isinstance(l1, eland.ElandLane): + self.failUnlessEqual(len(l1.mapped_reads), len(l2.mapped_reads)) + self.failUnlessEqual(len(l1.mapped_reads), 17) + for k in l1.mapped_reads.keys(): + self.failUnlessEqual(l1.mapped_reads[k], + l2.mapped_reads[k]) + + self.failUnlessEqual(len(l1.match_codes), 9) + self.failUnlessEqual(len(l1.match_codes), len(l2.match_codes)) + for k in l1.match_codes.keys(): + self.failUnlessEqual(l1.match_codes[k], + l2.match_codes[k]) + elif isinstance(l1, eland.SequenceLane): + self.failUnlessEqual(l1.sequence_type, l2.sequence_type) + + def test_runfolder(self): + return + runs = runfolder.get_runs(self.runfolder_dir) + + # do we get the flowcell id from the filename? + self.failUnlessEqual(len(runs), 1) + name = 'run_4286GAAXX_%s.xml' % ( date.today().strftime('%Y-%m-%d'),) + self.failUnlessEqual(runs[0].name, name) + + # do we get the flowcell id from the FlowcellId.xml file + make_flowcell_id(self.runfolder_dir, '207BTAAXY') + runs = runfolder.get_runs(self.runfolder_dir) + self.failUnlessEqual(len(runs), 1) + name = 'run_207BTAAXY_%s.xml' % ( date.today().strftime('%Y-%m-%d'),) + self.failUnlessEqual(runs[0].name, name) + + r1 = runs[0] + xml = r1.get_elements() + xml_str = ElementTree.tostring(xml) + + r2 = runfolder.PipelineRun(xml=xml) + self.failUnlessEqual(r1.name, r2.name) + self.failIfEqual(r2.image_analysis, None) + self.failIfEqual(r2.bustard, None) + self.failIfEqual(r2.gerald, None) + + +def suite(): + return unittest.makeSuite(RunfolderTests,'test') + +if __name__ == "__main__": + #unittest.main(defaultTest="suite") + class Test(object): pass + t = Test() + make_runfolder(t) + print ('path ' + t.runfolder_dir) + diff --git a/htsworkflow/pipelines/test/testdata/aligned_config_1_12.xml b/htsworkflow/pipelines/test/testdata/aligned_config_1_12.xml new file mode 100644 index 0000000..2b7f3af --- /dev/null +++ b/htsworkflow/pipelines/test/testdata/aligned_config_1_12.xml @@ -0,0 +1,234 @@ + + + + + + none + fileName + on + + + off + 3 + + *.fa + + + + + + + *.fa + off + 32 + + domain.com + ${logName} + localhost:25 + /mmjggl/nicodemus/data01/sequencer/110815_SN787_0101_AD07K6ACXX/Unaligned_1MM + Flat.txt.gz + D07K6ACXX + _gene.md.gz + + --muf 0 + --mmaq 4 + 2 + .oa + 1 + 50 + 2 + /mmjggl/nicodemus/data01/sequencer/110815_SN787_0101_AD07K6ACXX/Aligned_1MM + + + 1 + 49 + $(WC) -l + totalClusters + ($(GREP) -cvE '^((NM|QC|RM|[0-9]+:[0-9]+:[0-9]+)$$|splice_sites)' || exit 0) + genomeUsable + ($(FGREP) -wc NM || exit 0) + noMatch + $(WC) -l + PFClusters + ($(FGREP) -wc QC || exit 0) + QC + ($(FGREP) -wc RM || exit 0) + repeatMasked + ($(FGREP) -c splice_sites || exit 0) + spliceUsable + $(CUT) -f13 |($(EGREP) [0-9] || exit 0)|$(WC) -l + usable + ($(GREP) -vE '^(NM|QC|RM|[0-9]+:[0-9]+:[0-9]+)$$' || exit 0) + + + + -v $(CASAVA_LOG_LEVEL) + + + y*n + yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyn + http://host.domain.com/yourshare/ + true + + + + + + eland_extended + fileName + /mmjggl/nicodemus/data01/genomes/elegans190/chromosomes/ + *.fa + 32 + 1 + 49 + 1101 1102 1103 1104 1105 1106 1107 1108 1201 1202 1203 1204 1205 1206 1207 1208 1301 1302 1303 1304 1305 1306 1307 1308 2101 2102 2103 2104 2105 2106 2107 2108 2201 2202 2203 2204 2205 2206 2207 2208 2301 2302 2303 2304 2305 2306 2307 2308 + Y*n + yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyn + + + + + + + + + eland_extended + fileName + /mmjggl/nicodemus/data01/genomes/elegans190/chromosomes/ + *.fa + 32 + 1 + 49 + 1101 1102 1103 1104 1105 1106 1107 1108 1201 1202 1203 1204 1205 1206 1207 1208 1301 1302 1303 1304 1305 1306 1307 1308 2101 2102 2103 2104 2105 2106 2107 2108 2201 2202 2203 2204 2205 2206 2207 2208 2301 2302 2303 2304 2305 2306 2307 2308 + Y*n + yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyn + + + + + + + + + eland_extended + fileName + /mmjggl/nicodemus/data01/genomes/hg18/chromosomes/ + *.fa + 32 + 1 + 49 + 1101 1102 1103 1104 1105 1106 1107 1108 1201 1202 1203 1204 1205 1206 1207 1208 1301 1302 1303 1304 1305 1306 1307 1308 2101 2102 2103 2104 2105 2106 2107 2108 2201 2202 2203 2204 2205 2206 2207 2208 2301 2302 2303 2304 2305 2306 2307 2308 + Y*n + yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyn + + + + + + + + + eland_extended + fileName + /mmjggl/nicodemus/data01/genomes/hg18/chromosomes/ + *.fa + 32 + 1 + 49 + 1101 1102 1103 1104 1105 1106 1107 1108 1201 1202 1203 1204 1205 1206 1207 1208 1301 1302 1303 1304 1305 1306 1307 1308 2101 2102 2103 2104 2105 2106 2107 2108 2201 2202 2203 2204 2205 2206 2207 2208 2301 2302 2303 2304 2305 2306 2307 2308 + Y*n + yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyn + + + + + + + + + eland_extended + fileName + /mmjggl/nicodemus/data01/genomes/hg18/chromosomes/ + *.fa + 32 + 1 + 49 + 1101 1102 1103 1104 1105 1106 1107 1108 1201 1202 1203 1204 1205 1206 1207 1208 1301 1302 1303 1304 1305 1306 1307 1308 2101 2102 2103 2104 2105 2106 2107 2108 2201 2202 2203 2204 2205 2206 2207 2208 2301 2302 2303 2304 2305 2306 2307 2308 + Y*n + yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyn + + + + + + + + + none + 1101 1102 1103 1104 1105 1106 1107 1108 1201 1202 1203 1204 1205 1206 1207 1208 1301 1302 1303 1304 1305 1306 1307 1308 2101 2102 2103 2104 2105 2106 2107 2108 2201 2202 2203 2204 2205 2206 2207 2208 2301 2302 2303 2304 2305 2306 2307 2308 + + + + + + + + + none + 1101 1102 1103 1104 1105 1106 1107 1108 1201 1202 1203 1204 1205 1206 1207 1208 1301 1302 1303 1304 1305 1306 1307 1308 2101 2102 2103 2104 2105 2106 2107 2108 2201 2202 2203 2204 2205 2206 2207 2208 2301 2302 2303 2304 2305 2306 2307 2308 + + + + + + + + + 1101 1102 1103 1104 1105 1106 1107 1108 1201 1202 1203 1204 1205 1206 1207 1208 1301 1302 1303 1304 1305 1306 1307 1308 2101 2102 2103 2104 2105 2106 2107 2108 2201 2202 2203 2204 2205 2206 2207 2208 2301 2302 2303 2304 2305 2306 2307 2308 + + + + + + + + + eland_extended + fileName + /mmjggl/nicodemus/data01/genomes/hg18/chromosomes/ + *.fa + 32 + 1 + 49 + Y*n + yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyn + + + none + + + + + eland_extended + fileName + /mmjggl/nicodemus/data01/genomes/mm9/chromosomes/ + *.fa + 32 + 1 + 49 + Y*n + yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyn + + + + + + + + + + + + + + diff --git a/htsworkflow/pipelines/test/testdata/demultiplex_1.12.4.2.xml b/htsworkflow/pipelines/test/testdata/demultiplex_1.12.4.2.xml new file mode 100644 index 0000000..e7ee38d --- /dev/null +++ b/htsworkflow/pipelines/test/testdata/demultiplex_1.12.4.2.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/htsworkflow/pipelines/test/testdata/demultiplexed_bustard_1.12.4.2.xml b/htsworkflow/pipelines/test/testdata/demultiplexed_bustard_1.12.4.2.xml new file mode 100644 index 0000000..ea6a596 --- /dev/null +++ b/htsworkflow/pipelines/test/testdata/demultiplexed_bustard_1.12.4.2.xml @@ -0,0 +1,503 @@ + + + + + 0.6 + + 2 + 0 + 1 + 0 + 1 + 50 + 1 + + + 2 + 0 + 51 + 0 + 51 + 57 + 2 + + + 2 + 0 + 2 + 1 + 1 + 50 + 0 + 0 + 1 + + + 2 + 0 + 52 + 1 + 51 + 57 + 0 + 0 + 2 + + 0 + failed-chastity + le + 1.0 + + + + 0 + + 51 + 52 + 53 + 54 + 55 + 56 + 57 + + 0 + 0 + 0 + 0 + + 1 + 50 + + + 51 + 57 + 110815_SN787_0101_AD07K6ACXX + + HWI-ST0787 + 0 + 0 + 0 + 0 + New6 + D07K6ACXX + 110815_SN787_0101_AD07K6ACXX + 110815 + 0101 + + 1 + 50 + + + + + + s + 1102 + 1101 + 1103 + 1106 + 1104 + 1105 + 1108 + 1107 + 1202 + 1201 + 1206 + 1204 + 1203 + 1205 + 1302 + 1208 + 1207 + 1301 + 1306 + 1304 + 1305 + 2102 + 1303 + 1308 + 2101 + 1307 + 2106 + 2104 + 2105 + 2103 + 2202 + 2108 + 2201 + 2206 + 2107 + 2205 + 2204 + 2203 + 2302 + 2301 + 2208 + 2306 + 2207 + 2305 + 2303 + 2304 + 2308 + 2307 + + + s + 1101 + 1102 + 1105 + 1106 + 1104 + 1103 + 1201 + 1202 + 1108 + 1206 + 1107 + 1205 + 1302 + 1204 + 1301 + 1203 + 1208 + 1306 + 1305 + 1207 + 1304 + 2101 + 2102 + 1308 + 2105 + 1303 + 2201 + 2106 + 2104 + 1307 + 2205 + 2202 + 2108 + 2206 + 2103 + 2301 + 2204 + 2208 + 2107 + 2302 + 2305 + 2304 + 2203 + 2306 + 2308 + 2207 + 2303 + 2307 + + + s + 1101 + 1102 + 1105 + 1104 + 1108 + 1106 + 1201 + 1103 + 1204 + 1202 + 1205 + 1107 + 1208 + 1206 + 1301 + 1304 + 1203 + 1302 + 1308 + 1305 + 1207 + 2101 + 2104 + 1306 + 1303 + 2102 + 2105 + 2108 + 1307 + 2106 + 2204 + 2201 + 2103 + 2208 + 2202 + 2107 + 2205 + 2301 + 2304 + 2203 + 2206 + 2207 + 2305 + 2308 + 2302 + 2303 + 2307 + 2306 + + + s + 1101 + 1104 + 1103 + 1102 + 1108 + 1105 + 1107 + 1106 + 1204 + 1201 + 1203 + 1202 + 1208 + 1205 + 1207 + 1206 + 1304 + 1301 + 1302 + 1308 + 1303 + 1305 + 1306 + 1307 + 2104 + 2101 + 2108 + 2102 + 2103 + 2105 + 2204 + 2106 + 2107 + 2201 + 2208 + 2202 + 2203 + 2304 + 2205 + 2206 + 2207 + 2308 + 2301 + 2302 + 2303 + 2305 + 2307 + 2306 + + + s + 1104 + 1108 + 1101 + 1204 + 1102 + 1103 + 1106 + 1105 + 1107 + 1208 + 1201 + 1202 + 1203 + 1304 + 1205 + 1206 + 1301 + 1308 + 1207 + 1302 + 2104 + 1303 + 1305 + 1306 + 2101 + 2102 + 1307 + 2108 + 2204 + 2103 + 2105 + 2107 + 2106 + 2201 + 2208 + 2203 + 2202 + 2304 + 2206 + 2205 + 2207 + 2302 + 2301 + 2303 + 2308 + 2305 + 2307 + 2306 + + + s + 1104 + 1101 + 1103 + 1102 + 1108 + 1107 + 1105 + 1106 + 1204 + 1203 + 1201 + 1202 + 1208 + 1207 + 1205 + 1206 + 1304 + 1303 + 1301 + 1302 + 1308 + 1307 + 1305 + 2104 + 1306 + 2103 + 2101 + 2102 + 2108 + 2107 + 2105 + 2106 + 2204 + 2203 + 2202 + 2201 + 2208 + 2207 + 2206 + 2205 + 2304 + 2303 + 2302 + 2301 + 2307 + 2308 + 2306 + 2305 + + + s + 1103 + 1107 + 1104 + 1108 + 1203 + 1101 + 1102 + 1204 + 1105 + 1207 + 1106 + 1208 + 1201 + 1202 + 1303 + 1205 + 1206 + 1307 + 1304 + 1301 + 1302 + 1305 + 1308 + 2103 + 1306 + 2101 + 2107 + 2104 + 2105 + 2102 + 2108 + 2203 + 2201 + 2106 + 2205 + 2207 + 2202 + 2204 + 2301 + 2303 + 2206 + 2208 + 2305 + 2307 + 2302 + 2304 + 2306 + 2308 + + + s + 1101 + 1103 + 1102 + 1105 + 1107 + 1104 + 1106 + 1201 + 1108 + 1203 + 1202 + 1205 + 1207 + 1204 + 1206 + 1301 + 1208 + 1303 + 1302 + 1305 + 1307 + 1304 + 1306 + 2101 + 1308 + 2103 + 2105 + 2102 + 2107 + 2106 + 2104 + 2201 + 2205 + 2202 + 2203 + 2108 + 2206 + 2301 + 2207 + 2204 + 2305 + 2302 + 2303 + 2208 + 2306 + 2307 + 2304 + 2308 + + + + diff --git a/htsworkflow/pipelines/test/testdata/demultiplexed_summary_1.12.4.2.xml b/htsworkflow/pipelines/test/testdata/demultiplexed_summary_1.12.4.2.xml new file mode 100644 index 0000000..ebc9f4a --- /dev/null +++ b/htsworkflow/pipelines/test/testdata/demultiplexed_summary_1.12.4.2.xml @@ -0,0 +1,3669 @@ + + + + 454185731 + 781064977 + 25888586667 + + + unknown + HWI-ST0787 + 110815_SN787_0101_AD07K6ACXX + + 2011-08-18 20:18:19 + + + + + 3707807.14 + 573671.11 + 393825007132852.00 + + 1 + + 47.64 + 19.64 + 73957.00 + + 0.3810 + 0.0844 + + 677.00 + 148.48 + 13428576.43 + + + 908.15 + 81.51 + 23271897.61 + + + -0.30 + 0.38 + 6.33 + + + -34.61 + 26.97 + 53175.44 + + + + + 3329777.81 + 1102200.81 + 318644092316267.00 + + 2 + + 24.71 + 17.39 + 23436.66 + + 0.3694 + 0.2507 + + 820.85 + 175.96 + 18292849.43 + + + 864.16 + 95.34 + 19643349.08 + + + -5.69 + 12.59 + 4807.74 + + + -34.31 + 22.59 + 43354.50 + + + + + 6268934.50 + 241767.87 + 314805480030044.00 + + 3 + + 36.04 + 12.81 + 11541.60 + + 0.2469 + 0.2002 + + 1094.84 + 135.96 + 9718779.89 + + + 1114.24 + 57.49 + 9955389.55 + + + -4.20 + 13.18 + 1357.57 + + + -53.53 + 38.21 + 33143.61 + + + + + 6055508.12 + 166741.39 + 293548048051419.00 + + 4 + + 32.69 + 7.60 + 8952.16 + + 0.2104 + 0.1803 + + 1106.96 + 62.20 + 9829917.93 + + + 1036.31 + 128.16 + 8706439.16 + + + -9.55 + 18.68 + 3171.25 + + + -44.30 + 34.27 + 23924.49 + + + + + 5643648.67 + 137235.86 + 95589978179428.00 + + 5 + + 14.96 + 10.60 + 895.87 + + 0.0000 + 0.0000 + + -593.62 + 74.55 + 1068254.69 + + + -623.07 + 71.93 + 1174981.61 + + + 100.00 + 0.00 + 30000.00 + + + 100.00 + 0.00 + 30000.00 + + + + + 5707954.48 + 553352.88 + 953415170485172.00 + + 6 + + 42.22 + 22.39 + 65737.40 + + 0.2670 + 0.2116 + + 976.36 + 216.47 + 28956965.77 + + + 1054.88 + 90.27 + 32498684.57 + + + 0.20 + 0.11 + 1.47 + + + -79.61 + 16.62 + 191509.02 + + + + + 1867305.95 + 444617.44 + 158236511701682.00 + + 7 + + 94.84 + 11.12 + 391931.07 + + 0.1329 + 0.2410 + + 1399.64 + 129.00 + 84935084.50 + + + 1377.83 + 128.32 + 82324018.13 + + + 0.28 + 0.09 + 3.65 + + + -4.22 + 14.27 + 9317.43 + + + + + 4777517.31 + 599178.35 + 1112457930812391.00 + + 8 + + 86.54 + 7.43 + 362059.12 + + 0.2192 + 0.2346 + + 1256.98 + 106.05 + 76368309.15 + + + 1233.08 + 110.91 + 73561027.92 + + + 0.63 + 0.08 + 19.47 + + + -3.98 + 11.04 + 6489.36 + + + 1 + + + + + + + + 1783290 + 789504 + 105873063750160 + + + 3707807 + 573671 + 393825007132852 + + 1 + 2496606 + + 164 + 410 + 5304965 + + + 47.64 + 19.64 + 73957.00 + + + 9.00 + 22.48 + 15909.69 + + + + + 875778 + 826947 + 37037748584192 + + + 3329777 + 1102200 + 318644092316267 + + 2 + 1138512 + + 702 + 480 + 18627652 + + + 24.71 + 17.39 + 23436.66 + + + 56.49 + 38.83 + 120674.01 + + + + + 2259006 + 798869 + 45292218394019 + + + 6268934 + 241767 + 314805480030044 + + 3 + 903602 + + 1031 + 419 + 9747483 + + + 36.04 + 12.81 + 11541.60 + + + 75.63 + 30.73 + 52366.46 + + + + + 1978985 + 462424 + 32827917903219 + + + 6055508 + 166741 + 293548048051419 + + 4 + 791594 + + 1161 + 61 + 10827946 + + + 32.69 + 7.60 + 8952.16 + + + 63.64 + 39.29 + 43206.11 + + + + + 834976 + 570615 + 2742761639691 + + + 5643648 + 137235 + 95589978179428 + + 5 + 125246 + + -596 + 79 + 1080823 + + + 14.96 + 10.60 + 895.87 + + + 147.21 + 7.83 + 65137.15 + + + + + 2467696 + 1423659 + 233346910460595 + + + 5707954 + 553352 + 953415170485172 + + 6 + 3578160 + + 820 + 521 + 27135464 + + + 42.22 + 22.39 + 65737.40 + + + 64.69 + 40.68 + 167697.34 + + + + + 1769448 + 464939 + 143709845032850 + + + 1867305 + 444617 + 158236511701682 + + 7 + 3804314 + + 1442 + 84 + 89752104 + + + 94.84 + 11.12 + 391931.07 + + + 91.96 + 1.75 + 363782.22 + + + + + 4113020 + 444275 + 821290075103817 + + + 4777517 + 599178 + 1112457930812391 + + 8 + 9871250 + + 1334 + 72 + 85708238 + + + 86.54 + 7.43 + 362059.12 + + + 88.24 + 1.70 + 373841.88 + + + 1 + + + + CASAVA-1.8.1 + + + + + 2195814 + 3782916 + 0.00 + 58.05 + N/A + 1101 + + + 2278273 + 3732743 + 0.00 + 61.03 + N/A + 1102 + + + 0 + 4020211 + 0.00 + 0.00 + N/A + 1103 + + + 0 + 3895725 + 0.00 + 0.00 + N/A + 1104 + + + 0 + 4134124 + 0.00 + 0.00 + N/A + 1105 + + + 0 + 4304874 + 0.00 + 0.00 + N/A + 1106 + + + 0 + 4406771 + 0.00 + 0.00 + N/A + 1107 + + + 0 + 4057296 + 0.00 + 0.00 + N/A + 1108 + + + 2235184 + 3576569 + 0.00 + 62.50 + N/A + 1201 + + + 2303817 + 3670759 + 0.00 + 62.76 + N/A + 1202 + + + 2228868 + 3917599 + 0.00 + 56.89 + N/A + 1203 + + + 0 + 4063543 + 0.00 + 0.00 + N/A + 1204 + + + 0 + 4018922 + 0.00 + 0.00 + N/A + 1205 + + + 2207175 + 4204009 + 0.00 + 52.50 + N/A + 1206 + + + 0 + 4440729 + 0.00 + 0.00 + N/A + 1207 + + + 768164 + 3715012 + 0.00 + 20.68 + N/A + 1208 + + + 2261727 + 3621480 + 0.00 + 62.45 + N/A + 1301 + + + 2347049 + 3868987 + 0.00 + 60.66 + N/A + 1302 + + + 0 + 4029778 + 0.00 + 0.00 + N/A + 1303 + + + 0 + 4153522 + 0.00 + 0.00 + N/A + 1304 + + + 0 + 4253486 + 0.00 + 0.00 + N/A + 1305 + + + 598571 + 1511883 + 1096.02 + 39.59 + 63.03 + 1306 + + + 0 + 4540851 + 0.00 + 0.00 + N/A + 1307 + + + 762937 + 3797909 + 0.00 + 20.09 + N/A + 1308 + + + 2212968 + 3718396 + 0.00 + 59.51 + N/A + 2101 + + + 2340883 + 3785970 + 0.00 + 61.83 + N/A + 2102 + + + 2181836 + 3995288 + 0.00 + 54.61 + N/A + 2103 + + + 0 + 4140850 + 0.00 + 0.00 + N/A + 2104 + + + 344088 + 3742840 + 0.00 + 9.19 + N/A + 2105 + + + 0 + 4417907 + 0.00 + 0.00 + N/A + 2106 + + + 633399 + 3982483 + 1075.65 + 15.90 + 64.87 + 2107 + + + 0 + 4249399 + 0.00 + 0.00 + N/A + 2108 + + + 2273067 + 3616092 + 0.00 + 62.86 + N/A + 2201 + + + 2371559 + 3725669 + 0.00 + 63.65 + N/A + 2202 + + + 2333375 + 3836500 + 0.00 + 60.82 + N/A + 2203 + + + 2185419 + 3910181 + 0.00 + 55.89 + N/A + 2204 + + + 2311644 + 4017955 + 0.00 + 57.53 + N/A + 2205 + + + 0 + 4331923 + 0.00 + 0.00 + N/A + 2206 + + + 2238184 + 4417665 + 0.00 + 50.66 + N/A + 2207 + + + 0 + 4514102 + 0.00 + 0.00 + N/A + 2208 + + + 2087282 + 3641497 + 0.00 + 57.32 + N/A + 2301 + + + 2372969 + 3752096 + 0.00 + 63.24 + N/A + 2302 + + + 2356197 + 3904880 + 0.00 + 60.34 + N/A + 2303 + + + 334562 + 2147785 + 1289.76 + 15.58 + 59.07 + 2304 + + + 0 + 2020376 + 0.00 + 0.00 + N/A + 2305 + + + 0 + 4367266 + 0.00 + 0.00 + N/A + 2306 + + + 906827 + 4298608 + 1132.79 + 21.10 + 65.11 + 2307 + + + 260294 + 3924829 + 0.00 + 6.63 + N/A + 2308 + + 1 + + + 1 + + + + + 0 + 4448159 + 0.00 + 0.00 + N/A + 1101 + + + 2773172 + 4366122 + 0.00 + 63.52 + N/A + 1102 + + + 0 + 4564670 + 0.00 + 0.00 + N/A + 1103 + + + 0 + 4585876 + 0.00 + 0.00 + N/A + 1104 + + + 0 + 4635377 + 0.00 + 0.00 + N/A + 1105 + + + 669217 + 4420397 + 930.85 + 15.14 + 76.28 + 1106 + + + 0 + 4676917 + 0.00 + 0.00 + N/A + 1107 + + + 0 + 4535868 + 0.00 + 0.00 + N/A + 1108 + + + 0 + 4334415 + 0.00 + 0.00 + N/A + 1201 + + + 640314 + 2059919 + 1000.53 + 31.08 + 85.05 + 1202 + + + 2607069 + 4434379 + 0.00 + 58.79 + N/A + 1203 + + + 775741 + 3750712 + 996.69 + 20.68 + 74.98 + 1204 + + + 440909 + 4058935 + 0.00 + 10.86 + N/A + 1205 + + + 214300 + 1790590 + 927.63 + 11.97 + 74.32 + 1206 + + + 0 + 4699049 + 0.00 + 0.00 + N/A + 1207 + + + 0 + 4541983 + 0.00 + 0.00 + N/A + 1208 + + + 504330 + 1946513 + 1041.75 + 25.91 + 73.96 + 1301 + + + 0 + 4553087 + 0.00 + 0.00 + N/A + 1302 + + + 1143910 + 3886939 + 1001.45 + 29.43 + 79.86 + 1303 + + + 394814 + 1620637 + 903.30 + 24.36 + 85.19 + 1304 + + + 751155 + 3901741 + 924.69 + 19.25 + 82.04 + 1305 + + + 279109 + 4312437 + 0.00 + 6.47 + N/A + 1306 + + + 0 + 4877078 + 0.00 + 0.00 + N/A + 1307 + + + 0 + 4716643 + 0.00 + 0.00 + N/A + 1308 + + + 621210 + 2055906 + 1083.69 + 30.22 + 80.10 + 2101 + + + 0 + 4511240 + 0.00 + 0.00 + N/A + 2102 + + + 967970 + 4049067 + 1094.71 + 23.91 + 81.54 + 2103 + + + 610322 + 4256141 + 0.00 + 14.34 + N/A + 2104 + + + 945727 + 4036212 + 1045.43 + 23.43 + 81.22 + 2105 + + + 0 + 4826884 + 0.00 + 0.00 + N/A + 2106 + + + 0 + 4806977 + 0.00 + 0.00 + N/A + 2107 + + + 0 + 4634388 + 0.00 + 0.00 + N/A + 2108 + + + 522871 + 3978361 + 991.67 + 13.14 + 97.22 + 2201 + + + 699409 + 4040193 + 1042.31 + 17.31 + 91.73 + 2202 + + + 234576 + 1982322 + 1097.76 + 11.83 + 91.23 + 2203 + + + 312538 + 1846815 + 1060.29 + 16.92 + 81.85 + 2204 + + + 0 + 4877670 + 0.00 + 0.00 + N/A + 2205 + + + 0 + 4352080 + 0.00 + 0.00 + N/A + 2206 + + + 0 + 4565158 + 0.00 + 0.00 + N/A + 2207 + + + 0 + 4595892 + 0.00 + 0.00 + N/A + 2208 + + + 2688747 + 4326152 + 0.00 + 62.15 + N/A + 2301 + + + 2702172 + 4401275 + 0.00 + 61.40 + N/A + 2302 + + + 375919 + 1897193 + 1064.46 + 19.81 + 73.90 + 2303 + + + 170457 + 1856395 + 970.76 + 9.18 + 86.28 + 2304 + + + 464174 + 3035669 + 1098.56 + 15.29 + 72.01 + 2305 + + + 0 + 4768558 + 0.00 + 0.00 + N/A + 2306 + + + 260108 + 4263201 + 0.00 + 6.10 + N/A + 2307 + + + 0 + 4508484 + 0.00 + 0.00 + N/A + 2308 + + 1 + + + 2 + + + + + 2375385 + 6313330 + 1139.10 + 37.62 + 85.17 + 1101 + + + 0 + 6286613 + 0.00 + 0.00 + N/A + 1102 + + + 0 + 5994999 + 0.00 + 0.00 + N/A + 1103 + + + 0 + 3262679 + 0.00 + 0.00 + N/A + 1104 + + + 0 + 6237718 + 0.00 + 0.00 + N/A + 1105 + + + 0 + 6033743 + 0.00 + 0.00 + N/A + 1106 + + + 0 + 6120542 + 0.00 + 0.00 + N/A + 1107 + + + 0 + 5567004 + 0.00 + 0.00 + N/A + 1108 + + + 2986982 + 6143687 + 1179.26 + 48.62 + 83.37 + 1201 + + + 0 + 6160371 + 0.00 + 0.00 + N/A + 1202 + + + 0 + 6336417 + 0.00 + 0.00 + N/A + 1203 + + + 0 + 5941459 + 0.00 + 0.00 + N/A + 1204 + + + 0 + 6294748 + 0.00 + 0.00 + N/A + 1205 + + + 0 + 5833916 + 0.00 + 0.00 + N/A + 1206 + + + 0 + 5913050 + 0.00 + 0.00 + N/A + 1207 + + + 0 + 5886712 + 0.00 + 0.00 + N/A + 1208 + + + 3249310 + 6355086 + 1175.05 + 51.13 + 86.62 + 1301 + + + 2482602 + 6345936 + 1114.27 + 39.12 + 86.48 + 1302 + + + 0 + 6391130 + 0.00 + 0.00 + N/A + 1303 + + + 0 + 6306326 + 0.00 + 0.00 + N/A + 1304 + + + 0 + 3278126 + 0.00 + 0.00 + N/A + 1305 + + + 0 + 3954980 + 0.00 + 0.00 + N/A + 1306 + + + 0 + 4991640 + 0.00 + 0.00 + N/A + 1307 + + + 0 + 4731299 + 0.00 + 0.00 + N/A + 1308 + + + 2363698 + 6670949 + 1261.88 + 35.43 + 82.59 + 2101 + + + 1287696 + 6380853 + 1205.05 + 20.18 + 87.75 + 2102 + + + 0 + 3299242 + 0.00 + 0.00 + N/A + 2103 + + + 0 + 6024321 + 0.00 + 0.00 + N/A + 2104 + + + 0 + 6041139 + 0.00 + 0.00 + N/A + 2105 + + + 0 + 6065842 + 0.00 + 0.00 + N/A + 2106 + + + 0 + 5924388 + 0.00 + 0.00 + N/A + 2107 + + + 0 + 5810177 + 0.00 + 0.00 + N/A + 2108 + + + 0 + 6081345 + 0.00 + 0.00 + N/A + 2201 + + + 0 + 6434511 + 0.00 + 0.00 + N/A + 2202 + + + 0 + 4547035 + 0.00 + 0.00 + N/A + 2203 + + + 0 + 5924309 + 0.00 + 0.00 + N/A + 2204 + + + 0 + 5981859 + 0.00 + 0.00 + N/A + 2205 + + + 0 + 5706415 + 0.00 + 0.00 + N/A + 2206 + + + 0 + 6033825 + 0.00 + 0.00 + N/A + 2207 + + + 0 + 6078240 + 0.00 + 0.00 + N/A + 2208 + + + 2447011 + 5856223 + 1180.01 + 41.78 + 93.05 + 2301 + + + 879365 + 6085412 + 0.00 + 14.45 + N/A + 2302 + + + 0 + 3459940 + 0.00 + 0.00 + N/A + 2303 + + + 0 + 6354552 + 0.00 + 0.00 + N/A + 2304 + + + 0 + 5912596 + 0.00 + 0.00 + N/A + 2305 + + + 0 + 5914029 + 0.00 + 0.00 + N/A + 2306 + + + 0 + 5058019 + 0.00 + 0.00 + N/A + 2307 + + + 0 + 5899621 + 0.00 + 0.00 + N/A + 2308 + + 1 + + + 3 + + + + + 2890389 + 6154619 + 1106.26 + 46.96 + 84.42 + 1101 + + + 0 + 3859115 + 0.00 + 0.00 + N/A + 1102 + + + 0 + 6150759 + 0.00 + 0.00 + N/A + 1103 + + + 0 + 6062610 + 0.00 + 0.00 + N/A + 1104 + + + 0 + 6041213 + 0.00 + 0.00 + N/A + 1105 + + + 0 + 6048818 + 0.00 + 0.00 + N/A + 1106 + + + 0 + 5891349 + 0.00 + 0.00 + N/A + 1107 + + + 0 + 5878432 + 0.00 + 0.00 + N/A + 1108 + + + 2392573 + 5835186 + 1125.79 + 41.00 + 83.06 + 1201 + + + 1735497 + 5951872 + 1071.67 + 29.16 + 86.07 + 1202 + + + 0 + 5968968 + 0.00 + 0.00 + N/A + 1203 + + + 0 + 5974093 + 0.00 + 0.00 + N/A + 1204 + + + 0 + 6089365 + 0.00 + 0.00 + N/A + 1205 + + + 0 + 5465613 + 0.00 + 0.00 + N/A + 1206 + + + 0 + 6034569 + 0.00 + 0.00 + N/A + 1207 + + + 0 + 4926479 + 0.00 + 0.00 + N/A + 1208 + + + 1813170 + 6065205 + 1134.80 + 29.89 + 83.87 + 1301 + + + 0 + 6072760 + 0.00 + 0.00 + N/A + 1302 + + + 0 + 6022433 + 0.00 + 0.00 + N/A + 1303 + + + 0 + 5914380 + 0.00 + 0.00 + N/A + 1304 + + + 0 + 6035108 + 0.00 + 0.00 + N/A + 1305 + + + 0 + 6110769 + 0.00 + 0.00 + N/A + 1306 + + + 0 + 5874705 + 0.00 + 0.00 + N/A + 1307 + + + 0 + 5932065 + 0.00 + 0.00 + N/A + 1308 + + + 1933417 + 6057448 + 1230.29 + 31.92 + 85.88 + 2101 + + + 0 + 5897444 + 0.00 + 0.00 + N/A + 2102 + + + 0 + 6389435 + 0.00 + 0.00 + N/A + 2103 + + + 0 + 3815684 + 0.00 + 0.00 + N/A + 2104 + + + 0 + 6071732 + 0.00 + 0.00 + N/A + 2105 + + + 0 + 5821758 + 0.00 + 0.00 + N/A + 2106 + + + 0 + 5873744 + 0.00 + 0.00 + N/A + 2107 + + + 0 + 6008801 + 0.00 + 0.00 + N/A + 2108 + + + 1611899 + 5880262 + 1241.48 + 27.41 + 0.00 + 2201 + + + 1996737 + 6347857 + 1188.53 + 31.46 + 0.00 + 2202 + + + 0 + 6362861 + 0.00 + 0.00 + N/A + 2203 + + + 0 + 5852976 + 0.00 + 0.00 + N/A + 2204 + + + 0 + 6177697 + 0.00 + 0.00 + N/A + 2205 + + + 0 + 6022917 + 0.00 + 0.00 + N/A + 2206 + + + 0 + 6123053 + 0.00 + 0.00 + N/A + 2207 + + + 0 + 4798958 + 0.00 + 0.00 + N/A + 2208 + + + 0 + 4627342 + 0.00 + 0.00 + N/A + 2301 + + + 1458201 + 6151616 + 1197.06 + 23.70 + 85.80 + 2302 + + + 0 + 6007566 + 0.00 + 0.00 + N/A + 2303 + + + 0 + 6300233 + 0.00 + 0.00 + N/A + 2304 + + + 0 + 5970238 + 0.00 + 0.00 + N/A + 2305 + + + 0 + 5954738 + 0.00 + 0.00 + N/A + 2306 + + + 0 + 6046864 + 0.00 + 0.00 + N/A + 2307 + + + 0 + 6017839 + 0.00 + 0.00 + N/A + 2308 + + 1 + + + 4 + + + + + 0 + 5631135 + 0.00 + 0.00 + N/A + 1101 + + + 0 + 2681269 + 0.00 + 0.00 + N/A + 1102 + + + 0 + 2607227 + 0.00 + 0.00 + N/A + 1103 + + + 0 + 5940868 + 0.00 + 0.00 + N/A + 1104 + + + 0 + 3300266 + 0.00 + 0.00 + N/A + 1105 + + + 0 + 3183165 + 0.00 + 0.00 + N/A + 1106 + + + 0 + 3168588 + 0.00 + 0.00 + N/A + 1107 + + + 0 + 3105604 + 0.00 + 0.00 + N/A + 1108 + + + 0 + 3054041 + 0.00 + 0.00 + N/A + 1201 + + + 0 + 4779051 + 0.00 + 0.00 + N/A + 1202 + + + 0 + 5324239 + 0.00 + 0.00 + N/A + 1203 + + + 0 + 5972215 + 0.00 + 0.00 + N/A + 1204 + + + 0 + 3287230 + 0.00 + 0.00 + N/A + 1205 + + + 0 + 2762623 + 0.00 + 0.00 + N/A + 1206 + + + 0 + 3156192 + 0.00 + 0.00 + N/A + 1207 + + + 0 + 2971658 + 0.00 + 0.00 + N/A + 1208 + + + 496907 + 5676984 + -685.71 + 8.75 + 138.72 + 1301 + + + 0 + 5350372 + 0.00 + 0.00 + N/A + 1302 + + + 0 + 5418521 + 0.00 + 0.00 + N/A + 1303 + + + 0 + 5941481 + 0.00 + 0.00 + N/A + 1304 + + + 0 + 3314554 + 0.00 + 0.00 + N/A + 1305 + + + 0 + 3168898 + 0.00 + 0.00 + N/A + 1306 + + + 0 + 3124790 + 0.00 + 0.00 + N/A + 1307 + + + 0 + 3116740 + 0.00 + 0.00 + N/A + 1308 + + + 1493791 + 5492816 + -532.02 + 27.20 + 148.77 + 2101 + + + 514231 + 5761146 + -572.34 + 8.93 + 154.15 + 2102 + + + 0 + 3834974 + 0.00 + 0.00 + N/A + 2103 + + + 0 + 6041237 + 0.00 + 0.00 + N/A + 2104 + + + 0 + 3371454 + 0.00 + 0.00 + N/A + 2105 + + + 0 + 3271578 + 0.00 + 0.00 + N/A + 2106 + + + 0 + 3145886 + 0.00 + 0.00 + N/A + 2107 + + + 0 + 2812963 + 0.00 + 0.00 + N/A + 2108 + + + 0 + 5714487 + 0.00 + 0.00 + N/A + 2201 + + + 0 + 4323735 + 0.00 + 0.00 + N/A + 2202 + + + 0 + 5689972 + 0.00 + 0.00 + N/A + 2203 + + + 0 + 5590891 + 0.00 + 0.00 + N/A + 2204 + + + 0 + 2565274 + 0.00 + 0.00 + N/A + 2205 + + + 0 + 3103834 + 0.00 + 0.00 + N/A + 2206 + + + 0 + 2775071 + 0.00 + 0.00 + N/A + 2207 + + + 0 + 2721788 + 0.00 + 0.00 + N/A + 2208 + + + 0 + 2808679 + 0.00 + 0.00 + N/A + 2301 + + + 0 + 5740118 + 0.00 + 0.00 + N/A + 2302 + + + 0 + 2710478 + 0.00 + 0.00 + N/A + 2303 + + + 0 + 6053923 + 0.00 + 0.00 + N/A + 2304 + + + 0 + 3311585 + 0.00 + 0.00 + N/A + 2305 + + + 0 + 3229925 + 0.00 + 0.00 + N/A + 2306 + + + 0 + 3052698 + 0.00 + 0.00 + N/A + 2307 + + + 0 + 3161815 + 0.00 + 0.00 + N/A + 2308 + + 1 + + + 5 + + + + + 4328250 + 6108747 + 1170.17 + 70.85 + 85.98 + 1101 + + + 3763550 + 5974162 + 1171.51 + 63.00 + 85.49 + 1102 + + + 3376849 + 5986042 + 1127.66 + 56.41 + 86.28 + 1103 + + + 1454678 + 5553026 + 1038.63 + 26.20 + 90.35 + 1104 + + + 836786 + 5751374 + 0.00 + 14.55 + N/A + 1105 + + + 1008081 + 5436595 + 0.00 + 18.54 + N/A + 1106 + + + 1089073 + 4720242 + 970.77 + 23.07 + 87.99 + 1107 + + + 0 + 5628492 + 0.00 + 0.00 + N/A + 1108 + + + 4255350 + 6074637 + 1111.85 + 70.05 + 90.15 + 1201 + + + 3764335 + 5992750 + 1122.60 + 62.81 + 87.23 + 1202 + + + 2949541 + 5863819 + 1041.75 + 50.30 + 91.25 + 1203 + + + 1960969 + 5759754 + 985.74 + 34.05 + 94.16 + 1204 + + + 1458718 + 5348340 + 973.95 + 27.27 + 92.07 + 1205 + + + 0 + 6188127 + 0.00 + 0.00 + N/A + 1206 + + + 0 + 6029568 + 0.00 + 0.00 + N/A + 1207 + + + 0 + 5783284 + 0.00 + 0.00 + N/A + 1208 + + + 4164137 + 6062113 + 1111.15 + 68.69 + 90.64 + 1301 + + + 3807278 + 6009706 + 1103.05 + 63.35 + 89.93 + 1302 + + + 2646889 + 5860357 + 1047.72 + 45.17 + 91.04 + 1303 + + + 618116 + 5936009 + 0.00 + 10.41 + N/A + 1304 + + + 966704 + 5780730 + 0.00 + 16.72 + N/A + 1305 + + + 985185 + 5442490 + 0.00 + 18.10 + N/A + 1306 + + + 0 + 5865063 + 0.00 + 0.00 + N/A + 1307 + + + 0 + 5759999 + 0.00 + 0.00 + N/A + 1308 + + + 4457818 + 6178104 + 1290.91 + 72.16 + 87.89 + 2101 + + + 4135701 + 6067338 + 1270.47 + 68.16 + 87.91 + 2102 + + + 3142805 + 5915123 + 1190.65 + 53.13 + 91.67 + 2103 + + + 2857800 + 5959413 + 1192.35 + 47.95 + 88.82 + 2104 + + + 1231733 + 5733754 + 0.00 + 21.48 + N/A + 2105 + + + 0 + 2633715 + 0.00 + 0.00 + N/A + 2106 + + + 719661 + 5147810 + 0.00 + 13.98 + N/A + 2107 + + + 0 + 5662637 + 0.00 + 0.00 + N/A + 2108 + + + 0 + 5811788 + 0.00 + 0.00 + N/A + 2201 + + + 0 + 5919142 + 0.00 + 0.00 + N/A + 2202 + + + 0 + 5921326 + 0.00 + 0.00 + N/A + 2203 + + + 0 + 5683685 + 0.00 + 0.00 + N/A + 2204 + + + 0 + 5369472 + 0.00 + 0.00 + N/A + 2205 + + + 0 + 5594894 + 0.00 + 0.00 + N/A + 2206 + + + 0 + 5888075 + 0.00 + 0.00 + N/A + 2207 + + + 0 + 5533822 + 0.00 + 0.00 + N/A + 2208 + + + 4347658 + 6149228 + 1270.97 + 70.70 + 87.57 + 2301 + + + 3927517 + 6038155 + 1260.11 + 65.04 + 88.09 + 2302 + + + 1031548 + 3463054 + 1223.05 + 29.79 + 88.74 + 2303 + + + 464073 + 6006755 + 0.00 + 7.73 + N/A + 2304 + + + 1812404 + 5211053 + 1109.48 + 34.78 + 92.72 + 2305 + + + 0 + 6128662 + 0.00 + 0.00 + N/A + 2306 + + + 0 + 5927816 + 0.00 + 0.00 + N/A + 2307 + + + 0 + 5684780 + 0.00 + 0.00 + N/A + 2308 + + 1 + + + 6 + + + + + 1290892 + 1318384 + 1457.61 + 97.91 + 93.12 + 1101 + + + 1405177 + 1435753 + 1428.15 + 97.87 + 93.14 + 1102 + + + 1518681 + 1553867 + 1415.45 + 97.74 + 93.14 + 1103 + + + 1674083 + 1713366 + 1397.13 + 97.71 + 91.75 + 1104 + + + 1848975 + 1894031 + 1453.02 + 97.62 + 87.65 + 1105 + + + 2036288 + 2089577 + 1351.03 + 97.45 + 92.96 + 1106 + + + 2235825 + 2300996 + 1330.80 + 97.17 + 92.09 + 1107 + + + 2451380 + 2541307 + 1293.67 + 96.46 + 91.71 + 1108 + + + 1248007 + 1271398 + 1456.86 + 98.16 + 92.75 + 1201 + + + 1353214 + 1379519 + 1373.11 + 98.09 + 92.92 + 1202 + + + 1476775 + 1506069 + 1406.85 + 98.05 + 92.17 + 1203 + + + 1596576 + 1629689 + 1395.32 + 97.97 + 90.76 + 1204 + + + 1802357 + 1838238 + 1383.42 + 98.05 + 91.84 + 1205 + + + 1985501 + 2028373 + 1355.39 + 97.89 + 91.43 + 1206 + + + 2182408 + 2237640 + 1326.23 + 97.53 + 91.95 + 1207 + + + 2412726 + 2498414 + 1284.50 + 96.57 + 91.14 + 1208 + + + 1329553 + 1353194 + 1500.38 + 98.25 + 90.00 + 1301 + + + 1448646 + 1475015 + 1426.92 + 98.21 + 91.04 + 1302 + + + 1584849 + 1618578 + 1418.87 + 97.92 + 90.98 + 1303 + + + 1703358 + 1738426 + 1408.33 + 97.98 + 90.65 + 1304 + + + 1962537 + 2003605 + 1417.26 + 97.95 + 88.90 + 1305 + + + 2155571 + 2205956 + 1353.91 + 97.72 + 91.89 + 1306 + + + 2371794 + 2438582 + 1349.40 + 97.26 + 87.65 + 1307 + + + 2609442 + 2697578 + 1273.05 + 96.73 + 89.13 + 1308 + + + 1274462 + 1301586 + 1601.86 + 97.92 + 92.97 + 2101 + + + 1383611 + 1413798 + 1567.26 + 97.86 + 92.72 + 2102 + + + 1500886 + 1538148 + 1575.16 + 97.58 + 91.30 + 2103 + + + 1658029 + 1695613 + 1551.84 + 97.78 + 92.03 + 2104 + + + 1833421 + 1876931 + 1525.11 + 97.68 + 92.43 + 2105 + + + 2026973 + 2078853 + 1509.17 + 97.50 + 91.91 + 2106 + + + 2259381 + 2325032 + 1467.69 + 97.18 + 92.25 + 2107 + + + 2558255 + 2655400 + 1444.06 + 96.34 + 91.44 + 2108 + + + 970653 + 1235179 + 1584.09 + 78.58 + 93.93 + 2201 + + + 0 + 1342455 + 0.00 + 0.00 + N/A + 2202 + + + 0 + 1465297 + 0.00 + 0.00 + N/A + 2203 + + + 675140 + 1582751 + 1505.46 + 42.66 + 94.13 + 2204 + + + 0 + 1775056 + 0.00 + 0.00 + N/A + 2205 + + + 0 + 1957270 + 0.00 + 0.00 + N/A + 2206 + + + 0 + 2164043 + 0.00 + 0.00 + N/A + 2207 + + + 1254733 + 2441653 + 1444.53 + 51.39 + 93.17 + 2208 + + + 1296622 + 1325781 + 1494.17 + 97.80 + 98.31 + 2301 + + + 1424658 + 1452340 + 1528.87 + 98.09 + 93.49 + 2302 + + + 1569437 + 1602067 + 1539.36 + 97.96 + 93.10 + 2303 + + + 1682427 + 1720505 + 1521.03 + 97.79 + 92.61 + 2304 + + + 1939141 + 1979800 + 1523.67 + 97.95 + 91.62 + 2305 + + + 2134547 + 2184095 + 1486.10 + 97.73 + 92.33 + 2306 + + + 2356389 + 2421537 + 1466.46 + 97.31 + 91.63 + 2307 + + + 2602908 + 2695532 + 1428.19 + 96.56 + 92.25 + 2308 + + 1 + + + 7 + + + + + 3672425 + 3999929 + 1359.39 + 91.81 + 88.45 + 1101 + + + 3843360 + 4214896 + 1338.54 + 91.19 + 88.01 + 1102 + + + 3985275 + 4432069 + 1321.41 + 89.92 + 88.40 + 1103 + + + 4195701 + 4688257 + 1298.99 + 89.49 + 87.97 + 1104 + + + 4416383 + 4972645 + 1283.87 + 88.81 + 88.72 + 1105 + + + 4542437 + 5209248 + 1258.05 + 87.20 + 87.14 + 1106 + + + 4596548 + 5399922 + 1230.54 + 85.12 + 87.31 + 1107 + + + 4316902 + 5826697 + 1182.73 + 74.09 + 87.01 + 1108 + + + 3559633 + 3873994 + 1365.15 + 91.89 + 87.07 + 1201 + + + 3742085 + 4103838 + 1345.87 + 91.19 + 87.69 + 1202 + + + 3809926 + 4219389 + 1314.55 + 90.30 + 88.34 + 1203 + + + 4095946 + 4572435 + 1296.18 + 89.58 + 88.12 + 1204 + + + 4329806 + 4852097 + 1291.90 + 89.24 + 87.70 + 1205 + + + 4484284 + 5103542 + 1271.54 + 87.87 + 86.33 + 1206 + + + 4545978 + 5322851 + 1240.07 + 85.40 + 86.60 + 1207 + + + 4236437 + 5399609 + 1200.52 + 78.46 + 82.29 + 1208 + + + 3745093 + 4091803 + 1377.26 + 91.53 + 85.86 + 1301 + + + 3938377 + 4338397 + 1338.33 + 90.78 + 87.63 + 1302 + + + 3963514 + 4395406 + 1308.84 + 90.17 + 88.08 + 1303 + + + 4282045 + 4835601 + 1287.81 + 88.55 + 87.58 + 1304 + + + 4498474 + 5114668 + 1282.81 + 87.95 + 87.46 + 1305 + + + 4602295 + 5337911 + 1257.03 + 86.22 + 86.97 + 1306 + + + 4600782 + 5501477 + 1225.51 + 83.63 + 86.53 + 1307 + + + 4145380 + 5872929 + 1175.25 + 70.58 + 83.85 + 1308 + + + 3654318 + 3969110 + 1467.08 + 92.07 + 90.01 + 2101 + + + 3839864 + 4184268 + 1439.99 + 91.77 + 90.66 + 2102 + + + 3969051 + 4413583 + 1422.63 + 89.93 + 90.66 + 2103 + + + 4219627 + 4681613 + 1403.97 + 90.13 + 90.49 + 2104 + + + 4414065 + 4956383 + 1386.15 + 89.06 + 89.95 + 2105 + + + 4579204 + 5232590 + 1365.53 + 87.51 + 89.26 + 2106 + + + 4682961 + 5469205 + 1333.32 + 85.62 + 89.03 + 2107 + + + 3928926 + 5870004 + 1286.80 + 66.93 + 87.34 + 2108 + + + 3556282 + 3852699 + 1457.50 + 92.31 + 88.49 + 2201 + + + 3741136 + 4072130 + 1441.42 + 91.87 + 89.42 + 2202 + + + 3842742 + 4212391 + 1415.97 + 91.22 + 89.95 + 2203 + + + 4140127 + 4577001 + 1387.43 + 90.46 + 89.88 + 2204 + + + 4372303 + 4862284 + 1384.77 + 89.92 + 88.76 + 2205 + + + 4531801 + 5119662 + 1367.26 + 88.52 + 88.81 + 2206 + + + 4148375 + 5301292 + 1326.28 + 78.25 + 89.46 + 2207 + + + 3747919 + 5523881 + 1328.04 + 67.85 + 85.54 + 2208 + + + 3685991 + 4034260 + 1437.04 + 91.37 + 88.87 + 2301 + + + 3894450 + 4285846 + 1425.73 + 90.87 + 89.86 + 2302 + + + 3941822 + 4382141 + 1397.98 + 89.95 + 90.41 + 2303 + + + 4299760 + 4825173 + 1380.92 + 89.11 + 89.99 + 2304 + + + 4523197 + 5101827 + 1374.81 + 88.66 + 89.72 + 2305 + + + 4658536 + 5357124 + 1362.66 + 86.96 + 88.93 + 2306 + + + 4706753 + 5569616 + 1336.27 + 84.51 + 89.15 + 2307 + + + 2196707 + 3787138 + 1265.29 + 58.00 + 89.55 + 2308 + + 1 + + + 8 + + + diff --git a/htsworkflow/pipelines/test/testdata/rta_basecalls_config_1.12.4.2.xml b/htsworkflow/pipelines/test/testdata/rta_basecalls_config_1.12.4.2.xml new file mode 100755 index 0000000..9da5d01 --- /dev/null +++ b/htsworkflow/pipelines/test/testdata/rta_basecalls_config_1.12.4.2.xml @@ -0,0 +1,511 @@ + + + + + 0.6 + + 2 + 0 + 1 + 0 + 1 + 50 + 1 + + + 2 + 0 + 51 + 0 + 51 + 57 + 2 + + + 2 + 0 + 2 + 1 + 1 + 50 + 1 + 0 + 0 + + + 2 + 0 + 52 + 1 + 51 + 57 + 2 + 0 + 0 + + 0 + failed-chastity + le + 1.0 + + + + + 0 + 0 + 0 + 0 + 0 + + 1 + 50 + + + 51 + 57 + 110815_SN787_0101_AD07K6ACXX + + HWI-ST0787 + 0 + 0 + 0 + 0 + + 1 + 50 + + + 51 + 57 + 110815_SN787_0101_AD07K6ACXX + + 110815_SN787_0101_AD07K6ACXX + 110815 + 0101 + D07K6ACXX + + 51 + 52 + 53 + 54 + 55 + 56 + 57 + + New6 + + + + + s + 1102 + 1101 + 1103 + 1106 + 1104 + 1105 + 1108 + 1107 + 1202 + 1201 + 1206 + 1204 + 1203 + 1205 + 1302 + 1208 + 1207 + 1301 + 1306 + 1304 + 1305 + 2102 + 1303 + 1308 + 2101 + 1307 + 2106 + 2104 + 2105 + 2103 + 2202 + 2108 + 2201 + 2206 + 2107 + 2205 + 2204 + 2203 + 2302 + 2301 + 2208 + 2306 + 2207 + 2305 + 2303 + 2304 + 2308 + 2307 + + + s + 1101 + 1102 + 1105 + 1106 + 1104 + 1103 + 1201 + 1202 + 1108 + 1206 + 1107 + 1205 + 1302 + 1204 + 1301 + 1203 + 1208 + 1306 + 1305 + 1207 + 1304 + 2101 + 2102 + 1308 + 2105 + 1303 + 2201 + 2106 + 2104 + 1307 + 2205 + 2202 + 2108 + 2206 + 2103 + 2301 + 2204 + 2208 + 2107 + 2302 + 2305 + 2304 + 2203 + 2306 + 2308 + 2207 + 2303 + 2307 + + + s + 1101 + 1102 + 1105 + 1104 + 1108 + 1106 + 1201 + 1103 + 1204 + 1202 + 1205 + 1107 + 1208 + 1206 + 1301 + 1304 + 1203 + 1302 + 1308 + 1305 + 1207 + 2101 + 2104 + 1306 + 1303 + 2102 + 2105 + 2108 + 1307 + 2106 + 2204 + 2201 + 2103 + 2208 + 2202 + 2107 + 2205 + 2301 + 2304 + 2203 + 2206 + 2207 + 2305 + 2308 + 2302 + 2303 + 2307 + 2306 + + + s + 1101 + 1104 + 1103 + 1102 + 1108 + 1105 + 1107 + 1106 + 1204 + 1201 + 1203 + 1202 + 1208 + 1205 + 1207 + 1206 + 1304 + 1301 + 1302 + 1308 + 1303 + 1305 + 1306 + 1307 + 2104 + 2101 + 2108 + 2102 + 2103 + 2105 + 2204 + 2106 + 2107 + 2201 + 2208 + 2202 + 2203 + 2304 + 2205 + 2206 + 2207 + 2308 + 2301 + 2302 + 2303 + 2305 + 2307 + 2306 + + + s + 1104 + 1108 + 1101 + 1204 + 1102 + 1103 + 1106 + 1105 + 1107 + 1208 + 1201 + 1202 + 1203 + 1304 + 1205 + 1206 + 1301 + 1308 + 1207 + 1302 + 2104 + 1303 + 1305 + 1306 + 2101 + 2102 + 1307 + 2108 + 2204 + 2103 + 2105 + 2107 + 2106 + 2201 + 2208 + 2203 + 2202 + 2304 + 2206 + 2205 + 2207 + 2302 + 2301 + 2303 + 2308 + 2305 + 2307 + 2306 + + + s + 1104 + 1101 + 1103 + 1102 + 1108 + 1107 + 1105 + 1106 + 1204 + 1203 + 1201 + 1202 + 1208 + 1207 + 1205 + 1206 + 1304 + 1303 + 1301 + 1302 + 1308 + 1307 + 1305 + 2104 + 1306 + 2103 + 2101 + 2102 + 2108 + 2107 + 2105 + 2106 + 2204 + 2203 + 2202 + 2201 + 2208 + 2207 + 2206 + 2205 + 2304 + 2303 + 2302 + 2301 + 2307 + 2308 + 2306 + 2305 + + + s + 1103 + 1107 + 1104 + 1108 + 1203 + 1101 + 1102 + 1204 + 1105 + 1207 + 1106 + 1208 + 1201 + 1202 + 1303 + 1205 + 1206 + 1307 + 1304 + 1301 + 1302 + 1305 + 1308 + 2103 + 1306 + 2101 + 2107 + 2104 + 2105 + 2102 + 2108 + 2203 + 2201 + 2106 + 2205 + 2207 + 2202 + 2204 + 2301 + 2303 + 2206 + 2208 + 2305 + 2307 + 2302 + 2304 + 2306 + 2308 + + + s + 1101 + 1103 + 1102 + 1105 + 1107 + 1104 + 1106 + 1201 + 1108 + 1203 + 1202 + 1205 + 1207 + 1204 + 1206 + 1301 + 1208 + 1303 + 1302 + 1305 + 1307 + 1304 + 1306 + 2101 + 1308 + 2103 + 2105 + 2102 + 2107 + 2106 + 2104 + 2201 + 2205 + 2202 + 2203 + 2108 + 2206 + 2301 + 2207 + 2204 + 2305 + 2302 + 2303 + 2208 + 2306 + 2307 + 2304 + 2308 + + + + \ No newline at end of file diff --git a/htsworkflow/pipelines/test/testdata/rta_intensities_config_1.12.4.2.xml b/htsworkflow/pipelines/test/testdata/rta_intensities_config_1.12.4.2.xml new file mode 100755 index 0000000..6d43157 --- /dev/null +++ b/htsworkflow/pipelines/test/testdata/rta_intensities_config_1.12.4.2.xml @@ -0,0 +1,472 @@ + + + + + + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + + 1 + 50 + 110815_SN787_0101_AD07K6ACXX + + + 51 + 57 + 110815_SN787_0101_AD07K6ACXX + + HWI-ST0787 + 0 + 0 + 0 + 0 + + 1 + 50 + 110815_SN787_0101_AD07K6ACXX + + + 51 + 57 + 110815_SN787_0101_AD07K6ACXX + + 110815_SN787_0101_AD07K6ACXX + 110815 + 0101 + D07K6ACXX + + 51 + 52 + 53 + 54 + 55 + 56 + 57 + + New6 + + + + + s + 1101 + 1102 + 1104 + 1103 + 1106 + 1105 + 1108 + 1107 + 1201 + 1204 + 1202 + 1205 + 1206 + 1208 + 1301 + 1302 + 1304 + 1203 + 1305 + 1306 + 1308 + 2102 + 2101 + 1207 + 2105 + 2106 + 2104 + 1303 + 2201 + 2202 + 1307 + 2206 + 2205 + 2108 + 2302 + 2103 + 2301 + 2204 + 2305 + 2107 + 2203 + 2208 + 2306 + 2207 + 2304 + 2303 + 2308 + 2307 + + + s + 1101 + 1105 + 1102 + 1106 + 1201 + 1103 + 1104 + 1202 + 1205 + 1107 + 1206 + 1108 + 1203 + 1302 + 1204 + 1301 + 1208 + 1207 + 1305 + 1306 + 1304 + 2101 + 1303 + 2102 + 1308 + 2105 + 1307 + 2106 + 2201 + 2104 + 2103 + 2202 + 2205 + 2107 + 2108 + 2206 + 2301 + 2203 + 2204 + 2208 + 2207 + 2302 + 2305 + 2303 + 2304 + 2306 + 2307 + 2308 + + + s + 1101 + 1103 + 1102 + 1104 + 1105 + 1106 + 1107 + 1108 + 1201 + 1204 + 1202 + 1203 + 1205 + 1206 + 1207 + 1208 + 1302 + 1301 + 1303 + 1304 + 1306 + 1305 + 1308 + 2101 + 2102 + 2105 + 1307 + 2104 + 2106 + 2201 + 2108 + 2103 + 2107 + 2202 + 2205 + 2204 + 2301 + 2206 + 2305 + 2203 + 2208 + 2302 + 2207 + 2304 + 2306 + 2303 + 2308 + 2307 + + + s + 1101 + 1105 + 1201 + 1102 + 1106 + 1205 + 1104 + 1202 + 1103 + 1301 + 1206 + 1108 + 1107 + 1305 + 1302 + 2101 + 1203 + 1306 + 1204 + 1207 + 2102 + 1208 + 2105 + 1303 + 2106 + 1304 + 2201 + 1307 + 1308 + 2202 + 2103 + 2104 + 2205 + 2206 + 2302 + 2108 + 2301 + 2107 + 2305 + 2306 + 2204 + 2203 + 2208 + 2207 + 2303 + 2304 + 2308 + 2307 + + + s + 1102 + 1101 + 1106 + 1105 + 1202 + 1201 + 1205 + 1206 + 1301 + 1104 + 1302 + 1103 + 1108 + 1305 + 1306 + 1107 + 2102 + 1203 + 1204 + 2101 + 2106 + 1207 + 2202 + 1303 + 1208 + 2105 + 2201 + 1304 + 1307 + 2206 + 2103 + 2205 + 2302 + 2107 + 1308 + 2301 + 2203 + 2104 + 2305 + 2207 + 2108 + 2306 + 2303 + 2204 + 2307 + 2208 + 2304 + 2308 + + + s + 1101 + 1102 + 1103 + 1106 + 1105 + 1107 + 1202 + 1201 + 1203 + 1207 + 1205 + 1206 + 1301 + 1303 + 1302 + 1104 + 1305 + 1306 + 2101 + 1108 + 2102 + 1307 + 2103 + 2105 + 1204 + 2106 + 2107 + 2201 + 2202 + 1208 + 2203 + 2206 + 2205 + 1304 + 2302 + 2207 + 2301 + 1308 + 2306 + 2303 + 2305 + 2307 + 2104 + 2108 + 2204 + 2208 + 2304 + 2308 + + + s + 1102 + 1106 + 1101 + 1105 + 1202 + 1201 + 1206 + 1205 + 1103 + 1302 + 1301 + 1107 + 1306 + 1305 + 1203 + 2101 + 2102 + 2105 + 1207 + 2106 + 2201 + 2202 + 2205 + 1303 + 1307 + 2206 + 2301 + 2103 + 2305 + 2302 + 2107 + 2306 + 2203 + 2207 + 2303 + 2307 + 1104 + 1108 + 1204 + 1208 + 1304 + 1308 + 2104 + 2108 + 2204 + 2208 + 2304 + 2308 + + + s + 1101 + 1102 + 1105 + 1106 + 1201 + 1202 + 1103 + 1205 + 1206 + 1107 + 1301 + 1302 + 1203 + 1306 + 1305 + 1207 + 2101 + 1303 + 2102 + 1307 + 2105 + 2103 + 2106 + 2201 + 2107 + 2205 + 2202 + 2206 + 2203 + 2301 + 2305 + 2302 + 2306 + 1104 + 2207 + 1108 + 1204 + 2303 + 2307 + 1208 + 1304 + 1308 + 2104 + 2108 + 2204 + 2208 + 2304 + 2308 + + + + \ No newline at end of file diff --git a/htsworkflow/pipelines/test/testdata/sample_summary_1_12.htm b/htsworkflow/pipelines/test/testdata/sample_summary_1_12.htm new file mode 100644 index 0000000..468f72d --- /dev/null +++ b/htsworkflow/pipelines/test/testdata/sample_summary_1_12.htm @@ -0,0 +1,434 @@ + + + + +

Sample Summary Information For Experiment (12564_index6)

+

Project Summary

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Project Name12564_index6
MachineHWI-ST0787
Run Folder111221_SN787_0107_AD0CV5ACXX
Flow Cell IDD0CV5ACXX
Platform
Control SoftwareHiSeq Control Software 1.4.8
Primary AnalysisRTA 1.12.4.2
Secondary AnalysisCASAVA-1.8.1
+

Project Results Summary

+ + + + + + + + + + + +
Clusters (Raw)Clusters(PF)Yield (MBases)
658,174475,61823
+

Barcode-Lane summary

+
++++++++++ + + + + + + + + + + +
Barcode-LaneSampleBarcodeLaneSpeciesAnalysis TypeLengthNum TilesGenome Directory
+
++++++++++ + + + + + + + + + + +
12564_GCCAAT_L512564GCCAAT5Homo_sapienseland extended49 48/mmjggl/nicodemus/data01/genomes/hg18/chromosomes//*.fa
+

Sample Results Summary : Read 1

+
+++++++++++++ + + + + + + + + + + + + + + +
Sample Info
SampleSample Yield (Mbases)Clusters (raw)Clusters (PF)1st Cycle Int (PF)% intensity after 20 cycles (PF)% PF Clusters% Align (PF)Alignment Score (PF)% Mismatch Rate (PF)% >=Q30 bases (PF)Mean Quality SCore (PF)
+
+++++++++++++ + + + + + + + + + + + + + +
1256423658,174475,618110089.3972.2676.89128.730.4088.7935.13
+

Sample Results Summary : Read 2

+
+++++++++++++ + + + + + + + + + + + + + + +
Sample Info
SampleSample Yield (Mbases)Clusters (raw)Clusters (PF)1st Cycle Int (PF)% intensity after 20 cycles (PF)% PF Clusters% Align (PF)Alignment Score (PF)% Mismatch Rate (PF)% >=Q30 bases (PF)Mean Quality SCore (PF)
+
+++++++++++++ + + + + + + + + + + + + + +
1256400000
+

Expanded Sample Summary : Read 1

+
++++++++++++++ + + + + + + + + + + + + + + + + + + + + +
Sample InfoPhasing InfoRaw dataFiltered data
SampleClusters (raw)% Phasing% Prephasing% Mismatch Rate (raw)% PF ClustersCycle 2-4 Av Int (PF)Cycle 2-10 Av % Loss (PF)Cycle 10-20 Av % Loss (PF)% Align (PF)% Mismatch Rate (PF)% >=Q30 bases (PF)Mean Quality SCore (PF)
+
++++++++++++++ + + + + + + + + + + + + + + +
12564658,1740.190.310.7772.261083.00-84.760.4876.890.4088.7935.13
+

Expanded Sample Summary : Read 2

+
++++++++++++++ + + + + + + + + + + + + + + + + + + + + +
Sample InfoPhasing InfoRaw dataFiltered data
SampleClusters (raw)% Phasing% Prephasing% Mismatch Rate (raw)% PF ClustersCycle 2-4 Av Int (PF)Cycle 2-10 Av % Loss (PF)Cycle 10-20 Av % Loss (PF)% Align (PF)% Mismatch Rate (PF)% >=Q30 bases (PF)Mean Quality SCore (PF)
+
++++++++++++++ + + + + + + + + + + + + + + +
12564000000
+

IVC Plots

+ +click here +

All Intensity Plots

+ +click here +

Mismatch Graphs

+ +click here +

Mismatch Curves

+ +click here +

Additional Paired Statistics

+
+++++++++++++++ + + + + + + + + + + + + + + + + + + + + + +
Sample InfoRelative Orientation StatisticsInsert Size Statistics (for relative orientation R+)Insert Statistics (% of individually uniquely alignable pairs)
SampleF-:
>R2 R1>
F+:
>R1 R2>
R-:
<R2 R1>
R+:
>R1 R2<
TotalMedianBelow-median SDAbove-median SDLow thresh.High thresh.Too smallToo largeOrientation and size OK
+
+++++++++++++++ + + + + + + + + + + + + + + + +
125640
+

CASAVA-1.8.1

+ + -- 2.30.2