From 8df19b0f76599ef51e776cc7861eb6bc121d5cca Mon Sep 17 00:00:00 2001 From: kohleman <kohleman> Date: Wed, 14 Sep 2016 13:38:15 +0000 Subject: [PATCH] added possibility to provide pre-computed checksums in a txt file SVN: 37078 --- .../register-flowlane/register-flowlane.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/deep_sequencing_unit/sourceTest/core-plugins/illumina-qgf/2/dss/drop-boxes/register-flowlane/register-flowlane.py b/deep_sequencing_unit/sourceTest/core-plugins/illumina-qgf/2/dss/drop-boxes/register-flowlane/register-flowlane.py index 5c1b0519ae2..e733f9640a5 100644 --- a/deep_sequencing_unit/sourceTest/core-plugins/illumina-qgf/2/dss/drop-boxes/register-flowlane/register-flowlane.py +++ b/deep_sequencing_unit/sourceTest/core-plugins/illumina-qgf/2/dss/drop-boxes/register-flowlane/register-flowlane.py @@ -58,6 +58,7 @@ CRC32_PATH='lib/crc32' if System.getProperty('os.name') == 'Mac OS X': CRC32_PATH='lib/a.out' NOHUP_REGEX = 'nohup*.txt' +CHECKSUMS_REGEX = 'checksums.txt' COMMAND_LINE_INVOCATION = 'Command-line invocation' MISMATCH_REGEX = r'(barcode-mismatches) ([0-9])' mismatch_dict = {0: 'NONE', 1:'ONE', 2:'TWO'} @@ -122,6 +123,8 @@ def writeMetadataFile(transaction, folder_name, meta_data_file_name, sequencing_ Writes a file of meta data related to one sample ''' + incoming_path = transaction.getIncoming().getAbsolutePath() + sequencing_sample_properties_list = sequencing_sample_properties_dict.keys() sequencing_sample_properties_list.sort() @@ -154,8 +157,19 @@ def writeMetadataFile(transaction, folder_name, meta_data_file_name, sequencing_ meta_data_file.write(k.encode('utf-8') + "\t" + fcMetaDataDict[k].encode('utf-8') + "\n") meta_data_file.write("\nFASTQ_FILES\n".encode('utf-8')) - for file in fastqFileList: - meta_data_file.write(os.path.basename(file) + "\t" + str(CRC32_from_file(file, transaction)) + "\n") + + checksums_file = get_file_names(incoming_path, CHECKSUMS_REGEX) + if checksums_file: + with open(checksums_file[0]) as checksums: + for line in checksums: + meta_data_file.write(line) + else: + print("File " + str(checksums_file) + " not found!") + + # Use slow fall back solution + for file in fastqFileList: + print("Using fall back solution for creation of CRC32 checksums") + meta_data_file.write(os.path.basename(file) + "\t" + str(CRC32_from_file(file, transaction)) + "\n") meta_data_file.write("\nDATASET PROPERTIES\n".encode('utf-8')) # Data Set Property: @@ -414,6 +428,7 @@ def process(transaction): if nohup_file: command_line_list, mismatches = get_mismatches(nohup_file) + # get all fastqs fastq_files = get_file_names(incoming_path, FASTQ_GZ_PATTERN) -- GitLab