Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error in Picard CrossCheckFingerprints module #1414

Closed
matthdsm opened this issue Apr 21, 2021 · 6 comments · Fixed by #1415
Closed

Error in Picard CrossCheckFingerprints module #1414

matthdsm opened this issue Apr 21, 2021 · 6 comments · Fixed by #1415
Labels
bug: module Bug in a MultiQC module

Comments

@matthdsm
Copy link
Contributor

Error during analysis of CrossCheckFingerprints metrics

$ multiqc --force --zip-data-dir .     
[WARNING]         multiqc : MultiQC Version v1.10.1 now available!
[INFO   ]         multiqc : This is MultiQC v1.10
[INFO   ]         multiqc : Template    : default
[INFO   ]         multiqc : Searching   : /home/projects/sample_tracking/development/NVQ175/MQC
Searching   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 4/4  
[ERROR  ]         multiqc : Oops! The 'picard' MultiQC module broke... 
  Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues 
  If possible, please include a log file that triggers the error - the last file found was:
    ./NVQ_Run175-Bravo_prep186.crosscheck_metrics.txt
============================================================
Module picard raised an exception: Traceback (most recent call last):
  File "/software/develop/lib/python3.8/site-packages/multiqc/multiqc.py", line 579, in run
    output = mod()
  File "/software/develop/lib/python3.8/site-packages/multiqc/modules/picard/picard.py", line 65, in __init__
    n["CrosscheckFingerprints"] = CrosscheckFingerprints.parse_reports(self)
  File "/software/develop/lib/python3.8/site-packages/multiqc/modules/picard/CrosscheckFingerprints.py", line 90, in parse_reports
    plot=table.plot(
  File "/software/develop/lib/python3.8/site-packages/multiqc/plots/table.py", line 34, in plot
    dt = table_object.datatable(data, headers, pconfig)
  File "/software/develop/lib/python3.8/site-packages/multiqc/plots/table_object.py", line 196, in __init__
    val = float(samp[k])
TypeError: float() argument must be a string or a number, not 'NoneType'
============================================================

File that triggers the error:
NVQ_Run175-Bravo_prep186.crosscheck_metrics.txt

MultiQC run details (please complete the following):

  • Command used to run MultiQC: multiqc --force --zip-data-dir .
  • MultiQC Version: v1.10
  • Operating System: Ubuntu Server 18.04
  • Python Version: Python 3.8.
  • Method of MultiQC installation: pip

Additional context
ping @sstadick

Picard command

gatk CrosscheckFingerprints \
--INPUT $EXOME_LIST \
--INPUT $PANEL_LIST \
--OUTPUT $RUN_NAME.crosscheck_metrics.txt \
--CROSSCHECK_BY FILE \
--HAPLOTYPE_MAP $HAPLOTYPE_MAP \
--LOD_THRESHOLD -5.0 \
--REFERENCE_SEQUENCE /Shared/references/reference-production/Hsapiens/hg38/seq/hg38.fa \
--NUM_THREADS 5 --MATRIX_OUTPUT ${RUN_NAME}.crosscheck_matrix.txt
@ewels ewels added the bug: module Bug in a MultiQC module label Apr 21, 2021
@matthdsm
Copy link
Contributor Author

I'm going through the code and I think the following
https://github.com/ewels/MultiQC/blob/9c01b0d71a0bdef7ad9f77e93c36ba64c316f228/multiqc/modules/picard/CrosscheckFingerprints.py#L226
Should be INCONCLUSIVE instead of AMBIGUOUS for the formatting to work correctly

@matthdsm
Copy link
Contributor Author

I think the error comes from the _parse_cli function. The regex tries to extract values using the "old" picard invocation style (using =), the new style uses whitespace
https://github.com/ewels/MultiQC/blob/9c01b0d71a0bdef7ad9f77e93c36ba64c316f228/multiqc/modules/picard/CrosscheckFingerprints.py#L127

@matthdsm
Copy link
Contributor Author

Confirmed and tested

  • by removing the = from the lod_threshold_regex the report is generated.
  • formatting is also fixed by using INCONCLUSIVE instead of AMBIGUOUS

so I guess the regex needs to account for a possible = and AMBIGUOUS can be straight out replaced with INCONCLUSIVE. I'm guessing this is an error in the GATK docs.

matthdsm added a commit to matthdsm/MultiQC that referenced this issue Apr 21, 2021
@matthdsm
Copy link
Contributor Author

I've opened a PR with the proposed fixes

Cheers
M

@sstadick
Copy link
Contributor

@matthdsm Thanks for tracking that down! Your fixes look correct to me.

@matthdsm
Copy link
Contributor Author

@ewels I suppose this issue can be closed when/if the proposed PR is merged.

Thanks
M

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug: module Bug in a MultiQC module
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants