OpenGene / AfterQC

Automatic Filtering, Trimming, Error Removing and Quality Control for fastq data
MIT License
206 stars 51 forks source link

ValueError: max() arg is an empty sequence #27

Open hovans opened 6 years ago

hovans commented 6 years ago

Hi:when I run:

python after.py --qc_only -1 ../fastq1/SRR1294494_1.fastq.gz -2 ../fastq1/SRR1294494_2.fastq.gz ../fastq1/SRR1294494_1.fastq.gz options:

{'qc_only': True, 'version': '0.9.6', 'seq_len_req': 35, 'index1_file': None, 'trim_tail': 1, 'report_output_folder': None, 'trim_pair_same': True, 'no_correction': False, 'debubble_dir': 'debubble', 'barcode_flag': 'barcode', 'read2_file': '../fastq1/SRR1294494_2.fastq.gz', 'barcode_length': 12, 'trim_tail2': 1, 'unqualified_base_limit': 60, 'allow_mismatch_in_poly': 2, 'read2_flag': 'R2', 'store_overlap': False, 'debubble': False, 'read1_flag': 'R1', 'index2_flag': 'I2', 'draw': True, 'index1_flag': 'I1', 'mask_mismatch': False, 'barcode': False, 'overlap_output_folder': None, 'barcode_verify': 'CAGTA', 'index2_file': None, 'qualified_quality_phred': 15, 'trim_front': 2, 'good_output_folder': 'good', 'poly_size_limit': 35, 'n_base_limit': 5, 'qc_sample': 200000, 'trim_front2': 2, 'no_overlap': False, 'input_dir': None, 'read1_file': '../fastq1/SRR1294494_1.fastq.gz', 'qc_kmer': 8, 'bad_output_folder': None}

it has error

Traceback (most recent call last): File "after.py", line 224, in main() File "after.py", line 218, in main processOptions(options) File "after.py", line 171, in processOptions filter.run() File "/disk/zhw/cross_talk/GSE57872/fastq/AfterQC-master/preprocesser.py", line 768, in run self.addFiguresToReport(reporter) File "/disk/zhw/cross_talk/GSE57872/fastq/AfterQC-master/preprocesser.py", line 783, in addFiguresToReport reporter.addFigure('Read1 per base discontinuity after filtering', self.r1qc_postfilter.discontinuityPlotly("r1_post_discontinuity", 'Read1 discontinuity curve after filtering'), 'r1_post_discontinuity', "") File "/disk/zhw/cross_talk/GSE57872/fastq/AfterQC-master/qualitycontrol.py", line 234, in discontinuityPlotly json_str += "var layout={title:'" + title + "', xaxis:{title:'cycles'}, yaxis:{title:'discontinuity', range:" + makeRange(0.0, max(self.meanDiscontinuity)*1.5) + "}};\n"

ValueError: max() arg is an empty sequence

sfchen commented 6 years ago

Could you please post the first several lines (i.e. 8 lines) of

../fastq1/SRR1294494_1.fastq.gz and ../fastq1/SRR1294494_2.fastq.gz

hovans commented 6 years ago

$more SRR1294494_1.fastq @SRR1294494.1 GLPB22-B5C:556:H0PFYADXX:1:1101:2230:2191 length=25 CATAATGCACAGACTATATCCTAAG +SRR1294494.1 GLPB22-B5C:556:H0PFYADXX:1:1101:2230:2191 length=25 CCCFFFFFHHHHHJJJJJJJJJJJJ @SRR1294494.2 GLPB22-B5C:556:H0PFYADXX:1:1101:2497:2123 length=25 GTCCTTTTCTAGCTTCTAAAGTGAG +SRR1294494.2 GLPB22-B5C:556:H0PFYADXX:1:1101:2497:2123 length=25 CBCFFFFFHHHHHJJJJJJJJJIHJ @SRR1294494.3 GLPB22-B5C:556:H0PFYADXX:1:1101:2440:2129 length=25 ACTAGAATGAGTCGCCTGGTGTCTA +SRR1294494.3 GLPB22-B5C:556:H0PFYADXX:1:1101:2440:2129 length=25 BCCFFFFFHHHHHJJJJJJJJJJJJ @SRR1294494.4 GLPB22-B5C:556:H0PFYADXX:1:1101:3321:2207 length=25 CTATTATTCTTTATTTTTATTTATT +SRR1294494.4 GLPB22-B5C:556:H0PFYADXX:1:1101:3321:2207 length=25 ?B@FFDFFHHHHHJJJJJJJJJJJJ

$more SRR1294494_2.fastq @SRR1294494.1 GLPB22-B5C:556:H0PFYADXX:1:1101:2230:2191 length=25 GAAGAAAGCTAGATTGTTAGCCAAA +SRR1294494.1 GLPB22-B5C:556:H0PFYADXX:1:1101:2230:2191 length=25 @?BDFFFFHHHHHJJJJJJJJJJJJ @SRR1294494.2 GLPB22-B5C:556:H0PFYADXX:1:1101:2497:2123 length=25 CTACAGAATATAATTTTTTTCAAGA +SRR1294494.2 GLPB22-B5C:556:H0PFYADXX:1:1101:2497:2123 length=25 =B@DDFFFHHHHHJJJJJJJJJJJI @SRR1294494.3 GLPB22-B5C:556:H0PFYADXX:1:1101:2440:2129 length=25 GAACACAGAAGATGGGAAAAAAGAC +SRR1294494.3 GLPB22-B5C:556:H0PFYADXX:1:1101:2440:2129 length=25 @@CFFFFFHHHHHJJIJJJJJJEGG @SRR1294494.4 GLPB22-B5C:556:H0PFYADXX:1:1101:3321:2207 length=25 GCTGAGGAAGAAGGATCATTTGAGC +SRR1294494.4 GLPB22-B5C:556:H0PFYADXX:1:1101:3321:2207 length=25 @@BDDFFFGHHHHJJJJJJJJJIJJ

sfchen commented 6 years ago

Cause: The reads in these two fastq files are too short, and consequently all reads are filtered out since the default length requirement is 35 bp.

Solution: 1, I will add an exception handling to give more informative response for such cases. 2, Add "-s15" to reduce the length requirement from default 35bp to 15bp