diff --git a/src/rmi_splitter/rmi_splitter.py b/src/rmi_splitter/rmi_splitter.py index 8c0abdf2a0aaf3938d23dd0b8017520fd78623b5..2391e5aa93edbb572a5cae0abe56a7d4a08de8af 100644 --- a/src/rmi_splitter/rmi_splitter.py +++ b/src/rmi_splitter/rmi_splitter.py @@ -589,15 +589,22 @@ def write_seqs(reads_list, fouts, config, sample, verbose=False): ntuple += 1 -def read_reads(fins, reads_list, ntuple): +def read_reads(fins, reads_list, ntuple, line_number): """ read a read from handle params: fin file handle return: read str() """ - for reads in ntuple: - reads_list[reads-1].read(fin=fins[reads-1]) + if line_number == 0: + for reads in ntuple: + reads_list[reads-1].header = fins[reads-1] + if line_number == 1: + for reads in ntuple: + reads_list[reads-1].seq = fins[reads-1] + if line_number == 3: + for reads in ntuple: + reads_list[reads-1].str2qual(fins[reads-1]) return reads_list @@ -616,6 +623,7 @@ def parse_ntuples_fastq(ffastqs, barcode_dictionary = create_barcode_dictionaries(config=config, mismatch=mismatch) sequences_number = 0 + line_number = 0 reads_list = list() for read in ntuple: reads_list.append(Reads()) @@ -624,16 +632,21 @@ def parse_ntuples_fastq(ffastqs, fins=list_ffastqs, ntuple=ntuple, reads_list=reads_list, + line_number=line_number, ) - sample = assign_reads(reads_list=reads_list, - config=config, - barcode_dictionary=barcode_dictionary, - verbose=verbose) - write_seqs(reads_list=reads_list, - fouts=fouts, - config=config, - sample=sample, - verbose=verbose) + if line_number == 3: + sample = assign_reads(reads_list=reads_list, + config=config, + barcode_dictionary=barcode_dictionary, + verbose=verbose) + write_seqs(reads_list=reads_list, + fouts=fouts, + config=config, + sample=sample, + verbose=verbose) + line_number = 0 + else: + line_number += 1 sequences_number += 1 print("number of processed sequences: " + str(sequences_number-1) +