import unittest from createSampleSheet import * class TestCreateHiseqSampleSheet(unittest.TestCase): def setUp(self): from optparse import OptionParser def setUpLogger(logPath, logLevel=logging.INFO): logFileName = 'createSampleSheet' d = datetime.now() logFileName = logFileName + '_' + d.strftime('%Y-%m-%d_%H_%M_%S') + '.log' logging.basicConfig(filename=logPath + logFileName, format='%(asctime)s [%(levelname)s] %(message)s', level=logLevel) logger = logging.getLogger(logFileName) return logger self.logger = setUpLogger('log/') self.parentDict = {u'BSSE_QGF_16252_140127_SN792_0312_AC36DWACXX_2': {u'QC_AT_DBSSE': u'true', u'FRAGMENT_SIZE_PREPARED_ILLUMINA': u'402', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u' 19.0', u'FLOW_CELL_PROPERTIES': u'Illumina RTA Version: 1.17.21.3\nSequencer : QGF HiSeq2000 (Rua)\nRun type: SINGLE_READ\nNumber of cycles: 151\nFLOWCELLTYPE: HiSeq Flow Cell v3\nKit : TruSeq SBS Kit v3', u'CONCENTRATION_PREPARED_ILLUMINA': u'10.1', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'481459', u'CONCENTRATION_FLOWLANE': u'12', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'1', u'CYCLES': u'157', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'CLUSTER_STATION': u'CBOT', u'END_TYPE': u'SINGLE_READ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'marius.roesti@unibas.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:2', u'CLUSTER_GENERATION_KIT_VERSION': u'TRUSEQ_CBOT_HS_V3', u'PREPARED_BY': u'Marius', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Marius R\xf6sti', u'REQUIRED_LANES': u'1', u'NM_DNA': u' 38.65', u'CYCLES_REQUESTED_BY_CUSTOMER': u'150', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'NOTES': u'15% Phix spike-in', u'PRINCIPAL_INVESTIGATOR_NAME': u'Walter Salzburger', u'NANO_DROP': u'CONCND3300', u'AFFILIATION': u'UNIVERSITY_BASEL', u'SBS_SEQUENCING_KIT_VERSION': u'SBS_HS_V3', u'EXTERNAL_SAMPLE_NAME': u'Ga_lib_34', u'BIOLOGICAL_SAMPLE_ARRIVED': u'2013-12-06 12:00:00 +0100', u'UL_EB_MISEQ': u' 17.9', u'KIT': u'NONE', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'walter.salzburger@unibas.ch', u'UL_DNA': u' 1.0', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'FRAGMENTED_GENOMIC_DNA', u'CS_PROTOCOL_VERSION': u'v8', u'UL_STOCK': u'20', u'UL_DNA_MISEQ': u' 2.1'}, u'BSSE_QGF_16256_140127_SN792_0312_AC36DWACXX_7': {u'QC_AT_DBSSE': u'true', u'FRAGMENT_SIZE_PREPARED_ILLUMINA': u'363', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u' 19.0', u'FLOW_CELL_PROPERTIES': u'Illumina RTA Version: 1.17.21.3\nSequencer : QGF HiSeq2000 (Rua)\nRun type: SINGLE_READ\nNumber of cycles: 151\nFLOWCELLTYPE: HiSeq Flow Cell v3\nKit : TruSeq SBS Kit v3', u'CONCENTRATION_PREPARED_ILLUMINA': u'9.1', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'481459', u'CONCENTRATION_FLOWLANE': u'12', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'1', u'CYCLES': u'157', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'CLUSTER_STATION': u'CBOT', u'END_TYPE': u'SINGLE_READ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'marius.roesti@unibas.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:7', u'CLUSTER_GENERATION_KIT_VERSION': u'TRUSEQ_CBOT_HS_V3', u'PREPARED_BY': u'Marius', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Marius R\xf6sti', u'REQUIRED_LANES': u'1', u'NM_DNA': u' 38.57', u'CYCLES_REQUESTED_BY_CUSTOMER': u'150', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'NOTES': u'15% Phix spike-in', u'PRINCIPAL_INVESTIGATOR_NAME': u'Walter Salzburger', u'NANO_DROP': u'CONCND3300', u'AFFILIATION': u'UNIVERSITY_BASEL', u'SBS_SEQUENCING_KIT_VERSION': u'SBS_HS_V3', u'EXTERNAL_SAMPLE_NAME': u'Ga_lib_38', u'BIOLOGICAL_SAMPLE_ARRIVED': u'2013-12-06 12:00:00 +0100', u'UL_EB_MISEQ': u' 17.9', u'KIT': u'NONE', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'walter.salzburger@unibas.ch', u'UL_DNA': u' 1.0', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'FRAGMENTED_GENOMIC_DNA', u'CS_PROTOCOL_VERSION': u'v8', u'UL_STOCK': u'20', u'UL_DNA_MISEQ': u' 2.1'}, u'BSSE_QGF_19990_140127_SN792_0312_AC36DWACXX_5': {u'QC_AT_DBSSE': u'false', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u'0', u'FLOW_CELL_PROPERTIES': u'Sample got sequenced more than once. Please check the flow lane properties for detailed description!', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'481459', u'KIT_PREPARED': u'2013-12-09 12:00:00 +0100', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'2', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'END_TYPE': u'SINGLE_READ', u'BARCODE_COMPLEXITY_CHECKER': u'OK', u'CONTACT_PERSON_EMAIL': u'marius.roesti@unibas.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:5', u'PREPARED_BY': u'Ina', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Marius R\xf6sti', u'NM_DNA': u'0', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'PRINCIPAL_INVESTIGATOR_NAME': u'Walter Salzburger', u'NANO_DROP': u'CONCND3300', u'AFFILIATION': u'UNIVERSITY_BASEL', u'DNA_CONCENTRATION_OF_LIBRARY': u'2', u'EXTERNAL_SAMPLE_NAME': u'Pool201_293', u'BIOLOGICAL_SAMPLE_ARRIVED': u'2013-12-05 12:00:00 +0100', u'KIT': u'NEBNEXT_DNA_SAMPLE_PREP_MASTER_MIX_SET1', u'UL_EB_MISEQ': u'0', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'walter.salzburger@unibas.ch', u'UL_DNA': u'0', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'GENOMIC_DNA', u'UL_DNA_MISEQ': u'0'}, u'BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_6': {u'QC_AT_DBSSE': u'false', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u'0', u'FLOW_CELL_PROPERTIES': u'Sample got sequenced more than once. Please check the flow lane properties for detailed description!', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'10847', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'24', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'ina.nissen@bsse.ethz.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:6', u'LOT': u'9306315', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Ina Nissen', u'NM_DNA': u'0', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'PRINCIPAL_INVESTIGATOR_NAME': u'Christian Beisel', u'AFFILIATION': u'OTHER', u'EXTERNAL_SAMPLE_NAME': u'PhiX', u'KIT': u'NONE', u'UL_EB_MISEQ': u'0', u'UL_DNA': u'0', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'christian.beisel@bsse.ethz.ch', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'GENOMIC_DNA', u'UL_DNA_MISEQ': u'0'}, u'BSSE_QGF_16253_140127_SN792_0312_AC36DWACXX_3': {u'QC_AT_DBSSE': u'true', u'FRAGMENT_SIZE_PREPARED_ILLUMINA': u'383', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u' 18.5', u'FLOW_CELL_PROPERTIES': u'Illumina RTA Version: 1.17.21.3\nSequencer : QGF HiSeq2000 (Rua)\nRun type: SINGLE_READ\nNumber of cycles: 151\nFLOWCELLTYPE: HiSeq Flow Cell v3\nKit : TruSeq SBS Kit v3', u'CONCENTRATION_PREPARED_ILLUMINA': u'6.5', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'481459', u'CONCENTRATION_FLOWLANE': u'12', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'1', u'CYCLES': u'157', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'CLUSTER_STATION': u'CBOT', u'END_TYPE': u'SINGLE_READ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'marius.roesti@unibas.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:3', u'CLUSTER_GENERATION_KIT_VERSION': u'TRUSEQ_CBOT_HS_V3', u'PREPARED_BY': u'Marius', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Marius R\xf6sti', u'REQUIRED_LANES': u'1', u'NM_DNA': u' 26.11', u'CYCLES_REQUESTED_BY_CUSTOMER': u'150', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'NOTES': u'15% Phix spike-in', u'PRINCIPAL_INVESTIGATOR_NAME': u'Walter Salzburger', u'NANO_DROP': u'CONCND3300', u'AFFILIATION': u'UNIVERSITY_BASEL', u'SBS_SEQUENCING_KIT_VERSION': u'SBS_HS_V3', u'EXTERNAL_SAMPLE_NAME': u'Ga_lib_35', u'BIOLOGICAL_SAMPLE_ARRIVED': u'2013-12-06 12:00:00 +0100', u'UL_EB_MISEQ': u' 16.9', u'KIT': u'NONE', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'walter.salzburger@unibas.ch', u'UL_DNA': u' 1.5', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'FRAGMENTED_GENOMIC_DNA', u'CS_PROTOCOL_VERSION': u'v8', u'UL_STOCK': u'20', u'UL_DNA_MISEQ': u' 3.1'}, u'BSSE_QGF_16254_140127_SN792_0312_AC36DWACXX_4': {u'QC_AT_DBSSE': u'true', u'FRAGMENT_SIZE_PREPARED_ILLUMINA': u'385', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u' 19.0', u'FLOW_CELL_PROPERTIES': u'Illumina RTA Version: 1.17.21.3\nSequencer : QGF HiSeq2000 (Rua)\nRun type: SINGLE_READ\nNumber of cycles: 151\nFLOWCELLTYPE: HiSeq Flow Cell v3\nKit : TruSeq SBS Kit v3', u'CONCENTRATION_PREPARED_ILLUMINA': u'9.9', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'481459', u'CONCENTRATION_FLOWLANE': u'12', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'1', u'CYCLES': u'157', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'CLUSTER_STATION': u'CBOT', u'END_TYPE': u'SINGLE_READ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'marius.roesti@unibas.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:4', u'CLUSTER_GENERATION_KIT_VERSION': u'TRUSEQ_CBOT_HS_V3', u'PREPARED_BY': u'Marius', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Marius R\xf6sti', u'REQUIRED_LANES': u'1', u'NM_DNA': u' 39.56', u'CYCLES_REQUESTED_BY_CUSTOMER': u'150', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'NOTES': u'15% Phix spike-in', u'PRINCIPAL_INVESTIGATOR_NAME': u'Walter Salzburger', u'NANO_DROP': u'CONCND3300', u'AFFILIATION': u'UNIVERSITY_BASEL', u'SBS_SEQUENCING_KIT_VERSION': u'SBS_HS_V3', u'EXTERNAL_SAMPLE_NAME': u'Ga_lib_36', u'BIOLOGICAL_SAMPLE_ARRIVED': u'2013-12-06 12:00:00 +0100', u'UL_EB_MISEQ': u' 18.0', u'KIT': u'NONE', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'walter.salzburger@unibas.ch', u'UL_DNA': u' 1.0', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'FRAGMENTED_GENOMIC_DNA', u'CS_PROTOCOL_VERSION': u'v8', u'UL_STOCK': u'20', u'UL_DNA_MISEQ': u' 2.0'}, u'BSSE_QGF_19989_140127_SN792_0312_AC36DWACXX_5': {u'QC_AT_DBSSE': u'false', u'FRAGMENT_SIZE_PREPARED_ILLUMINA': u'581', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u' 48.4', u'FLOW_CELL_PROPERTIES': u'Sample got sequenced more than once. Please check the flow lane properties for detailed description!', u'CONCENTRATION_PREPARED_ILLUMINA': u'23.4', u'STARTING_AMOUNT_OF_SAMPLE_IN_NG': u'2000', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'481459', u'KIT_PREPARED': u'2013-12-09 12:00:00 +0100', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'2', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'END_TYPE': u'SINGLE_READ', u'BARCODE': u'GTGAAAC', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'marius.roesti@unibas.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:5', u'PREPARED_BY': u'Ina', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Marius R\xf6sti', u'NM_DNA': u' 61.96', u'CONCENTRATION_ORIGINAL_ILLUMINA': u'38.3', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'PRINCIPAL_INVESTIGATOR_NAME': u'Walter Salzburger', u'NANO_DROP': u'CONCND3300', u'AFFILIATION': u'UNIVERSITY_BASEL', u'EXTERNAL_SAMPLE_NAME': u'293', u'BIOLOGICAL_SAMPLE_ARRIVED': u'2013-12-05 12:00:00 +0100', u'UL_EB_MISEQ': u' 46.8', u'KIT': u'NEBNEXT_DNA_SAMPLE_PREP_MASTER_MIX_SET1', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'walter.salzburger@unibas.ch', u'UL_DNA': u' 1.6', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'GENOMIC_DNA', u'UL_STOCK': u'50', u'UL_DNA_MISEQ': u' 3.2'}, u'BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_7': {u'QC_AT_DBSSE': u'false', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u'0', u'FLOW_CELL_PROPERTIES': u'Sample got sequenced more than once. Please check the flow lane properties for detailed description!', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'10847', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'24', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'ina.nissen@bsse.ethz.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:7', u'LOT': u'9306315', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Ina Nissen', u'NM_DNA': u'0', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'PRINCIPAL_INVESTIGATOR_NAME': u'Christian Beisel', u'AFFILIATION': u'OTHER', u'EXTERNAL_SAMPLE_NAME': u'PhiX', u'KIT': u'NONE', u'UL_EB_MISEQ': u'0', u'UL_DNA': u'0', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'christian.beisel@bsse.ethz.ch', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'GENOMIC_DNA', u'UL_DNA_MISEQ': u'0'}, u'BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_8': {u'QC_AT_DBSSE': u'false', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u'0', u'FLOW_CELL_PROPERTIES': u'Sample got sequenced more than once. Please check the flow lane properties for detailed description!', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'10847', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'24', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'ina.nissen@bsse.ethz.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:8', u'LOT': u'9306315', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Ina Nissen', u'NM_DNA': u'0', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'PRINCIPAL_INVESTIGATOR_NAME': u'Christian Beisel', u'AFFILIATION': u'OTHER', u'EXTERNAL_SAMPLE_NAME': u'PhiX', u'KIT': u'NONE', u'UL_EB_MISEQ': u'0', u'UL_DNA': u'0', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'christian.beisel@bsse.ethz.ch', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'GENOMIC_DNA', u'UL_DNA_MISEQ': u'0'}, u'BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_2': {u'QC_AT_DBSSE': u'false', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u'0', u'FLOW_CELL_PROPERTIES': u'Sample got sequenced more than once. Please check the flow lane properties for detailed description!', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'10847', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'24', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'ina.nissen@bsse.ethz.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:2', u'LOT': u'9306315', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Ina Nissen', u'NM_DNA': u'0', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'PRINCIPAL_INVESTIGATOR_NAME': u'Christian Beisel', u'AFFILIATION': u'OTHER', u'EXTERNAL_SAMPLE_NAME': u'PhiX', u'KIT': u'NONE', u'UL_EB_MISEQ': u'0', u'UL_DNA': u'0', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'christian.beisel@bsse.ethz.ch', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'GENOMIC_DNA', u'UL_DNA_MISEQ': u'0'}, u'BSSE_QGF_16251_140127_SN792_0312_AC36DWACXX_1': {u'QC_AT_DBSSE': u'true', u'FRAGMENT_SIZE_PREPARED_ILLUMINA': u'375', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u' 19.0', u'FLOW_CELL_PROPERTIES': u'Sample got sequenced more than once. Please check the flow lane properties for detailed description!', u'CONCENTRATION_PREPARED_ILLUMINA': u'9.5', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'481459', u'CONCENTRATION_FLOWLANE': u'12', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'3', u'CYCLES': u'157', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'CLUSTER_STATION': u'CBOT', u'END_TYPE': u'SINGLE_READ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CREATED_ON_CS': u'2014-01-08 12:00:00 +0100', u'CONTACT_PERSON_EMAIL': u'marius.roesti@unibas.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:1', u'CLUSTER_GENERATION_KIT_VERSION': u'TRUSEQ_CBOT_HS_V3', u'PREPARED_BY': u'Marius', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Marius R\xf6sti', u'REQUIRED_LANES': u'1', u'NM_DNA': u' 38.97', u'CYCLES_REQUESTED_BY_CUSTOMER': u'150', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'NOTES': u'15% Phix spike-in, this pool as test on SR50 first', u'PRINCIPAL_INVESTIGATOR_NAME': u'Walter Salzburger', u'NANO_DROP': u'CONCND3300', u'AFFILIATION': u'UNIVERSITY_BASEL', u'SBS_SEQUENCING_KIT_VERSION': u'SBS_HS_V3', u'EXTERNAL_SAMPLE_NAME': u'Ga_lib_33', u'BIOLOGICAL_SAMPLE_ARRIVED': u'2013-12-06 12:00:00 +0100', u'UL_EB_MISEQ': u' 17.9', u'KIT': u'NONE', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'walter.salzburger@unibas.ch', u'UL_DNA': u' 1.0', u'NUMBER_OF_ATTACHMENTS': u'1', u'SAMPLE_KIND': u'FRAGMENTED_GENOMIC_DNA', u'CS_PROTOCOL_VERSION': u'v8', u'UL_STOCK': u'20', u'UL_DNA_MISEQ': u' 2.1'}, u'BSSE_QGF_19988_140127_SN792_0312_AC36DWACXX_5': {u'QC_AT_DBSSE': u'false', u'FRAGMENT_SIZE_PREPARED_ILLUMINA': u'564', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u' 48.9', u'FLOW_CELL_PROPERTIES': u'Sample got sequenced more than once. Please check the flow lane properties for detailed description!', u'CONCENTRATION_PREPARED_ILLUMINA': u'33.3', u'STARTING_AMOUNT_OF_SAMPLE_IN_NG': u'2000', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'481459', u'KIT_PREPARED': u'2013-12-09 12:00:00 +0100', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'2', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'END_TYPE': u'SINGLE_READ', u'BARCODE': u'ACAGTGA', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'marius.roesti@unibas.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:5', u'PREPARED_BY': u'Ina', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Marius R\xf6sti', u'NM_DNA': u' 90.83', u'CONCENTRATION_ORIGINAL_ILLUMINA': u'58.2', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'PRINCIPAL_INVESTIGATOR_NAME': u'Walter Salzburger', u'NANO_DROP': u'CONCND3300', u'AFFILIATION': u'UNIVERSITY_BASEL', u'EXTERNAL_SAMPLE_NAME': u'201', u'BIOLOGICAL_SAMPLE_ARRIVED': u'2013-12-05 12:00:00 +0100', u'UL_EB_MISEQ': u' 47.8', u'KIT': u'NEBNEXT_DNA_SAMPLE_PREP_MASTER_MIX_SET1', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'walter.salzburger@unibas.ch', u'UL_DNA': u' 1.1', u'NUMBER_OF_ATTACHMENTS': u'1', u'SAMPLE_KIND': u'GENOMIC_DNA', u'UL_STOCK': u'50', u'UL_DNA_MISEQ': u' 2.2'}, u'BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_3': {u'QC_AT_DBSSE': u'false', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u'0', u'FLOW_CELL_PROPERTIES': u'Sample got sequenced more than once. Please check the flow lane properties for detailed description!', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'10847', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'24', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'ina.nissen@bsse.ethz.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:3', u'LOT': u'9306315', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Ina Nissen', u'NM_DNA': u'0', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'PRINCIPAL_INVESTIGATOR_NAME': u'Christian Beisel', u'AFFILIATION': u'OTHER', u'EXTERNAL_SAMPLE_NAME': u'PhiX', u'KIT': u'NONE', u'UL_EB_MISEQ': u'0', u'UL_DNA': u'0', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'christian.beisel@bsse.ethz.ch', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'GENOMIC_DNA', u'UL_DNA_MISEQ': u'0'}, u'BSSE_QGF_16255_140127_SN792_0312_AC36DWACXX_6': {u'QC_AT_DBSSE': u'true', u'FRAGMENT_SIZE_PREPARED_ILLUMINA': u'373', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u' 19.2', u'FLOW_CELL_PROPERTIES': u'Illumina RTA Version: 1.17.21.3\nSequencer : QGF HiSeq2000 (Rua)\nRun type: SINGLE_READ\nNumber of cycles: 151\nFLOWCELLTYPE: HiSeq Flow Cell v3\nKit : TruSeq SBS Kit v3', u'CONCENTRATION_PREPARED_ILLUMINA': u'12.2', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'481459', u'CONCENTRATION_FLOWLANE': u'12', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'1', u'CYCLES': u'157', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'CLUSTER_STATION': u'CBOT', u'END_TYPE': u'SINGLE_READ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'marius.roesti@unibas.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:6', u'CLUSTER_GENERATION_KIT_VERSION': u'TRUSEQ_CBOT_HS_V3', u'PREPARED_BY': u'Marius', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Marius R\xf6sti', u'REQUIRED_LANES': u'1', u'NM_DNA': u' 50.32', u'CYCLES_REQUESTED_BY_CUSTOMER': u'150', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'NOTES': u'15% Phix spike-in', u'PRINCIPAL_INVESTIGATOR_NAME': u'Walter Salzburger', u'NANO_DROP': u'CONCND3300', u'AFFILIATION': u'UNIVERSITY_BASEL', u'SBS_SEQUENCING_KIT_VERSION': u'SBS_HS_V3', u'EXTERNAL_SAMPLE_NAME': u'Ga_lib_37', u'BIOLOGICAL_SAMPLE_ARRIVED': u'2013-12-06 12:00:00 +0100', u'KIT': u'NONE', u'UL_EB_MISEQ': u' 18.4', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'walter.salzburger@unibas.ch', u'UL_DNA': u' 0.8', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'FRAGMENTED_GENOMIC_DNA', u'CS_PROTOCOL_VERSION': u'v8', u'UL_STOCK': u'20', u'UL_DNA_MISEQ': u' 1.6'}, u'BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_4': {u'QC_AT_DBSSE': u'false', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u'0', u'FLOW_CELL_PROPERTIES': u'Sample got sequenced more than once. Please check the flow lane properties for detailed description!', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'10847', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'24', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'ina.nissen@bsse.ethz.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:4', u'LOT': u'9306315', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Ina Nissen', u'NM_DNA': u'0', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'PRINCIPAL_INVESTIGATOR_NAME': u'Christian Beisel', u'AFFILIATION': u'OTHER', u'EXTERNAL_SAMPLE_NAME': u'PhiX', u'KIT': u'NONE', u'UL_EB_MISEQ': u'0', u'UL_DNA': u'0', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'christian.beisel@bsse.ethz.ch', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'GENOMIC_DNA', u'UL_DNA_MISEQ': u'0'}, u'BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_1': {u'QC_AT_DBSSE': u'false', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u'0', u'FLOW_CELL_PROPERTIES': u'Sample got sequenced more than once. Please check the flow lane properties for detailed description!', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'10847', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'24', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'ina.nissen@bsse.ethz.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:1', u'LOT': u'9306315', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Ina Nissen', u'NM_DNA': u'0', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'PRINCIPAL_INVESTIGATOR_NAME': u'Christian Beisel', u'AFFILIATION': u'OTHER', u'EXTERNAL_SAMPLE_NAME': u'PhiX', u'KIT': u'NONE', u'UL_EB_MISEQ': u'0', u'UL_DNA': u'0', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'christian.beisel@bsse.ethz.ch', u'NUMBER_OF_ATTACHMENTS': u'0', u'SAMPLE_KIND': u'GENOMIC_DNA', u'UL_DNA_MISEQ': u'0'}, u'BSSE_QGF_16257_140127_SN792_0312_AC36DWACXX_8': {u'QC_AT_DBSSE': u'true', u'FRAGMENT_SIZE_PREPARED_ILLUMINA': u'361', u'UNIQUE_BARCODES': u'OK', u'UL_EB': u' 19.0', u'FLOW_CELL_PROPERTIES': u'Illumina RTA Version: 1.17.21.3\nSequencer : QGF HiSeq2000 (Rua)\nRun type: SINGLE_READ\nNumber of cycles: 151\nFLOWCELLTYPE: HiSeq Flow Cell v3\nKit : TruSeq SBS Kit v3', u'CONCENTRATION_PREPARED_ILLUMINA': u'9.6', u'CELL_PLASTICITY_SYSTEMSX': u'false', u'NCBI_ORGANISM_TAXONOMY': u'481459', u'CONCENTRATION_FLOWLANE': u'12', u'LIBRARY_PROCESSING_SUCCESSFUL': u'false', u'HOW_OFTEN_SEQUENCED': u'1', u'CYCLES': u'157', u'BAREBACKED': u'false', u'SEQUENCING_APPLICATION': u'GENOMIC_DNA_SEQ', u'CLUSTER_STATION': u'CBOT', u'END_TYPE': u'SINGLE_READ', u'BARCODE_COMPLEXITY_CHECKER': u'No Pool', u'CONTACT_PERSON_EMAIL': u'marius.roesti@unibas.ch', u'INVOICE': u'false', 'LANE': u'140127_SN792_0312_AC36DWACXX:8', u'CLUSTER_GENERATION_KIT_VERSION': u'TRUSEQ_CBOT_HS_V3', u'PREPARED_BY': u'Marius', u'LIBRARY_PROCESSING_FAILED': u'false', u'CONTACT_PERSON_NAME': u'Marius R\xf6sti', u'REQUIRED_LANES': u'1', u'NM_DNA': u' 40.91', u'CYCLES_REQUESTED_BY_CUSTOMER': u'150', u'LIBRARY_PROCESSING_POSSIBLE': u'false', u'NOTES': u'10-15% Phix spike-in', u'PRINCIPAL_INVESTIGATOR_NAME': u'Walter Salzburger', u'NANO_DROP': u'CONCND3300', u'AFFILIATION': u'UNIVERSITY_BASEL', u'SBS_SEQUENCING_KIT_VERSION': u'SBS_HS_V3', u'EXTERNAL_SAMPLE_NAME': u'Ga_lib_39', u'BIOLOGICAL_SAMPLE_ARRIVED': u'2013-12-06 12:00:00 +0100', u'KIT': u'NONE', u'UL_EB_MISEQ': u' 18.0', u'PRINCIPAL_INVESTIGATOR_EMAIL': u'walter.salzburger@unibas.ch', u'UL_DNA': u' 1.0', u'NUMBER_OF_ATTACHMENTS': u'1', u'SAMPLE_KIND': u'FRAGMENTED_GENOMIC_DNA', u'CS_PROTOCOL_VERSION': u'v8', u'UL_STOCK': u'20', u'UL_DNA_MISEQ': u' 2.0'}} self.flowCellDict = {u'CONTROL_LANE': u'5', u'RUNNINGTIME': u'7 days, 18:25:19', u'SEQUENCER_FINISHED': u'2014-02-04 07:40:26 +0100', u'ILLUMINA_PIPELINE_VERSION': u'1.17.21.3', u'END_TYPE': u'SINGLE_READ', u'FLOW_CELL_SEQUENCED_ON': u'2014-01-27 13:15:07 +0100', u'INDEXREAD2': u'0', u'SBS_KIT': u'TruSeq SBS Kit v3', u'FLOWCELLTYPE': u'HiSeq Flow Cell v3', u'SEQUENCER': u'SN792', u'TILECOUNT': u'16', u'LANECOUNT': u'8', 'Name': u'140127_SN792_0312_AC36DWACXX', u'SEQUENCER_RUN_TIME': u'7.768', u'CYCLES_REQUESTED_BY_CUSTOMER': u'151', u'INDEXREAD': u'7', u'SWATHCOUNT': u'3', u'SURFACECOUNT': u'2', 'Project': u'2014.01'} self.samplesPerLaneDict = {u'8': 2, u'1': 2, u'7': 2, u'5': 3, u'2': 2, u'6': 2, u'3': 2, u'4': 2} self.flowCellName = 'C36DWACXX' self.configMap = {'illuminaFlowCellTypeName': 'ILLUMINA_FLOW_CELL', 'facilityName': 'Quantitative Genomics Facility', 'index1Length': 'INDEXREAD', 'clusterCountNumber': '50000000', 'connectionTimeout': 60000, 'facilityInstitution': 'ETHZ_D-BSSE', 'index1Name': 'BARCODE', 'configureBclToFastqPath': '/usr/local/bin/configureBclToFastq.pl', 'smptHost': 'smtp0.ethz.ch', 'miSeqApplication': 'FASTQ Only', 'ncbi': 'NCBI_ORGANISM_TAXONOMY', 'failedReads': '--with-failed-reads', 'nexteraAdapter': 'Adapter,CTGTCTCTTATACACATCT', 'cycles': 'CYCLES_REQUESTED_BY_CUSTOMER', 'miSeqChemistry': 'Default', 'outputDir': '--output-dir', 'openbisUserName': 'tracker', 'miSeqWorkflow': 'GenerateFASTQ', 'openbisPassword': "*hsh8Fs['h9#$%^&", 'index2Length': 'INDEXREAD2', 'mailFrom': 'SampleSheetCreator@miseq.bsse.ethz.ch', 'hiSeqHeader': 'FCID,Lane,SampleID,SampleRef,Index,Description,Control,Recipe,Operator,SampleProject', 'externalSampleName': 'EXTERNAL_SAMPLE_NAME', 'SampleSheetFileName': 'SampleSheet', 'clusterCount': '--fastq-cluster-count', 'index2Name': 'INDEX2', 'mailList': 'manuel.kohler@bsse.ethz.ch', 'miSeqNames': 'M00721 M00100', 'endType': 'END_TYPE', 'miSeqSettingsSection': '[Settings], Adapter', 'facilityNameShort': 'QGF', 'baseMask': '--use-bases-mask', 'miSeqReadsSection': '[Reads]', 'laneCount': 'LANECOUNT', 'openbisServer': 'http://openbis-dsu.bsse.ethz.ch:8080', 'iemFileVersion': '4', 'miSeqHeaderSection': '[Header], IEMFileVersion, Investigator Name, Project Name,Experiment Name, Date, Workflow, Application, Assay, Description, Chemistry', 'controlLane': 'CONTROL_LANE', 'indexSeparator': '-', 'separator': ',', 'hiSeqNames': 'SN792 SN100', 'sampleSheetName': '--sample-sheet'} # is there a more elegant way to mock parser object, except the v3.3 unitest.mock object library? self.parser = OptionParser() self.parser.add_option('--verbose', dest = 'verbose') self.parser.add_option('--lineending', dest = 'lineending') self.parser.add_option('--maillist', dest = 'maillist') self.parser.add_option('--singlelane', dest = 'singlelane') self.parser.add_option('--flowcell', dest = 'flowcell') self.parser.add_option('--outdir', dest = 'outdir') self.parser.add_option('--debug', dest = 'debug') self.parser.verbose = False self.parser.lineending = 'linux' self.parser.maillist = False self.parser.singlelane = False self.parser.flowcell = '140127_SN792_0312_AC36DWACXX' self.parser.outdir = './' self.parser.debug = True def test_createHiseqSampleSheet (self): sampleSheetDict, testFile = sampleSheetFile = createHiseqSampleSheet(self.parentDict, self.flowCellDict, self.samplesPerLaneDict, self.flowCellName, self.configMap, self.logger, self.parser) d1={u'3_BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_3': [u'C36DWACXX,3,BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_3,10847, ,PhiX,N,SINGLE_READ_151,ETHZ_D-BSSE,140127_SN792_0312_AC36DWACXX_3'], u'5_BSSE_QGF_19988_140127_SN792_0312_AC36DWACXX_5': [u'C36DWACXX,5,BSSE_QGF_19988_140127_SN792_0312_AC36DWACXX_5,481459,ACAGTG,201,Y,SINGLE_READ_151,ETHZ_D-BSSE,140127_SN792_0312_AC36DWACXX_5'], u'!': ['FCID,Lane,SampleID,SampleRef,Index,Description,Control,Recipe,Operator,SampleProject'], u'1_BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_1': [u'C36DWACXX,1,BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_1,10847, ,PhiX,N,SINGLE_READ_151,ETHZ_D-BSSE,140127_SN792_0312_AC36DWACXX_1'], u'4_BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_4': [u'C36DWACXX,4,BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_4,10847, ,PhiX,N,SINGLE_READ_151,ETHZ_D-BSSE,140127_SN792_0312_AC36DWACXX_4'], u'5_BSSE_QGF_19989_140127_SN792_0312_AC36DWACXX_5': [u'C36DWACXX,5,BSSE_QGF_19989_140127_SN792_0312_AC36DWACXX_5,481459,GTGAAA,293,Y,SINGLE_READ_151,ETHZ_D-BSSE,140127_SN792_0312_AC36DWACXX_5'], u'6_BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_6': [u'C36DWACXX,6,BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_6,10847, ,PhiX,N,SINGLE_READ_151,ETHZ_D-BSSE,140127_SN792_0312_AC36DWACXX_6'], u'2_BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_2': [u'C36DWACXX,2,BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_2,10847, ,PhiX,N,SINGLE_READ_151,ETHZ_D-BSSE,140127_SN792_0312_AC36DWACXX_2'], u'7_BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_7': [u'C36DWACXX,7,BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_7,10847, ,PhiX,N,SINGLE_READ_151,ETHZ_D-BSSE,140127_SN792_0312_AC36DWACXX_7'], u'8_BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_8': [u'C36DWACXX,8,BSSE_QGF_16028_140127_SN792_0312_AC36DWACXX_8,10847, ,PhiX,N,SINGLE_READ_151,ETHZ_D-BSSE,140127_SN792_0312_AC36DWACXX_8']} if (sampleSheetDict != d1): self.fail("Dictionaries do not match!") def tearDown(self): pass if __name__ == '__main__': unittest.main()