diff --git a/_modules/functions_PhageTerm.py b/_modules/functions_PhageTerm.py index 63db8b31c46153491da95b91c6a9698b8e8c6536..5527a514a053df8012e50b4d4c4bb41b158d38c4 100644 --- a/_modules/functions_PhageTerm.py +++ b/_modules/functions_PhageTerm.py @@ -60,7 +60,7 @@ from reportlab.lib.units import inch from reportlab.lib import colors from reportlab.lib.utils import ImageReader -from _modules.utilities import reverseComplement,hybridCoverage,applyCoverage,correctEdge +from _modules.utilities import reverseComplement,hybridCoverage,applyCoverage,correctEdge,changeCase from _modules.common_readsCoverage_processing import picMax from _modules.readsCoverage_res import RCRes, RCCheckpoint_handler,RCWorkingS @@ -114,13 +114,16 @@ def init_ws(p_res,refseq,hostseq): def readsCoverage(inRawDArgs,refseq,inDArgs,fParms,return_dict, core_id,line_start,line_end,tParms,\ chk_handler,idx_refseq,logger=None): """Calculate whole coverage and first base coverage. """ - + # initialize vars p_res=chk_handler.load(core_id,idx_refseq) + test_read_seq = False + match = 0 gen_len,host_len,termini_coverage, whole_coverage, paired_whole_coverage, phage_hybrid_coverage, host_hybrid_coverage,\ host_whole_coverage, list_hybrid, insert, paired_missmatch, k, count_line, read_match=init_ws(p_res, refseq, inDArgs.hostseq) + if logger!=None: logger.add_rw(p_res) - test_read_seq = match = 0 + # Timer if core_id == (tParms.core-1): sys.stdout.write(" 0.0 %") @@ -139,19 +142,19 @@ def readsCoverage(inRawDArgs,refseq,inDArgs,fParms,return_dict, core_id,line_sta line = filin.readline() while line: count_line+=1 - if count_line//4 <= line_start: - test_read_seq = 0 + if count_line//4 < line_start: + test_read_seq = False if count_line//4 > line_end: break if test_read_seq: k += 1 # Read sequence - read = line.split("\n")[0].split("\r")[0] + read = changeCase(line.split("\n")[0].split("\r")[0]) line = filin.readline() if inRawDArgs.paired != "": - read_paired = line_paired.split("\n")[0].split("\r")[0] + read_paired = changeCase(line_paired.split("\n")[0].split("\r")[0]) line_paired = filin_paired.readline() readlen = len(read) @@ -301,7 +304,6 @@ def readsCoverage(inRawDArgs,refseq,inDArgs,fParms,return_dict, core_id,line_sta # TEST limit_coverage read_match += match*readlen - match = test_read_seq = 0 # Timer if core_id == (tParms.core-1): if k%1000 == 0: @@ -312,9 +314,14 @@ def readsCoverage(inRawDArgs,refseq,inDArgs,fParms,return_dict, core_id,line_sta phage_hybrid_coverage, host_hybrid_coverage, \ host_whole_coverage,list_hybrid,insert,paired_missmatch,k,read_match) # maybe time to create checkpoint + # reset variables + test_read_seq = False + match = 0 + + else: - if line[0] == "@": - test_read_seq = 1 + if line.startswith("@"): + test_read_seq = True line = filin.readline() if inRawDArgs.paired != "":