hsigeman / findZX

17 stars 6 forks source link

Issue with multiqc #2

Closed ArsenaultResearch closed 2 years ago

ArsenaultResearch commented 2 years ago

Hi, I am working on installing findZX and trying out the example datasets but I keep running into issues with the multiqc step (error message below). Is there any chance you have a recommendation for how to fix it? Thanks! Really enjoyed reading the preprint! -Sam

` Traceback (most recent call last): File "/Users/saa9662/Desktop/findZX/.snakemake/scripts/tmppjdb665a.wrapper.py", line 23, in shell( File "/Users/saa9662/opt/miniconda3/envs/findZX/lib/python3.9/site-packages/snakemake/shell.py", line 231, in new raise sp.CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command 'set -euo pipefail; multiqc --force -o results/howler_monkey_test_dataset/qc/fastqc -n multiqc.untrimmed.html results/howler_monkey_test_dataset/qc/fastqc > results/howler_monkey_test_dataset/logs/fastqc/multiqc.log 2>&1' returned non-zero exit status 1. [Fri Jan 7 16:40:49 2022] Error in rule multiqc: jobid: 1 output: results/howler_monkey_test_dataset/qc/fastqc/multiqc.untrimmed.html log: results/howler_monkey_test_dataset/logs/fastqc/multiqc.log (check log file(s) for error message) conda-env: /Users/saa9662/Desktop/findZX/.snakemake/conda/d68c61014782951b12693251bc97fd71

RuleException: CalledProcessError in line 25 of /Users/saa9662/Desktop/findZX/workflow/rules/qc.smk: Command 'source /Users/saa9662/opt/miniconda3/envs/findZX/bin/activate '/Users/saa9662/Desktop/findZX/.snakemake/conda/d68c61014782951b12693251bc97fd71'; set -euo pipefail; python /Users/saa9662/Desktop/findZX/.snakemake/scripts/tmppjdb665a.wrapper.py' returned non-zero exit status 1. File "/Users/saa9662/opt/miniconda3/envs/findZX/lib/python3.9/site-packages/snakemake/executors/init.py", line 2349, in run_wrapper File "/Users/saa9662/Desktop/findZX/workflow/rules/qc.smk", line 25, in rule_multiqc File "/Users/saa9662/opt/miniconda3/envs/findZX/lib/python3.9/site-packages/snakemake/executors/init.py", line 569, in _callback File "/Users/saa9662/opt/miniconda3/envs/findZX/lib/python3.9/concurrent/futures/thread.py", line 52, in run File "/Users/saa9662/opt/miniconda3/envs/findZX/lib/python3.9/site-packages/snakemake/executors/init.py", line 555, in cached_or_run File "/Users/saa9662/opt/miniconda3/envs/findZX/lib/python3.9/site-packages/snakemake/executors/init__.py", line 2381, in run_wrapper Job failed, going on with independent jobs. `

In the multiqc log file, it appears as though many of the modules are broken and I can't seem to figure out why (see below). I have tried this on seperate installs on my mac laptop and a linux cluster. The pipeline runs smoothly otherwise.

' [WARNING] multiqc : MultiQC Version v1.11 now available! [INFO ] multiqc : This is MultiQC v1.10.1 (3206687) [INFO ] multiqc : Template : default [INFO ] multiqc : Searching : /Users/saa9662/Desktop/findZX/results/howler_monkey_test_dataset/qc/fastqc Searching ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 16/16
[ERROR ] multiqc : Oops! The 'custom_content' 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: None

Module custom_content raised an exception: Traceback (most recent call last): File "/Users/saa9662/Desktop/findZX/.snakemake/conda/d68c61014782951b12693251bc97fd71/lib/python3.10/site-packages/multiqc/multiqc.py", line 594, in run output = mod() File "/Users/saa9662/Desktop/findZX/.snakemake/conda/d68c61014782951b12693251bc97fd71/lib/python3.10/site-packages/multiqc/modules/custom_content/custom_content.py", line 87, in custom_module_classes bm = BaseMultiqcModule() File "/Users/saa9662/Desktop/findZX/.snakemake/conda/d68c61014782951b12693251bc97fd71/lib/python3.10/site-packages/multiqc/modules/base_module.py", line 45, in init config.update({anchor: mod_cust_config.get("custom_config", {})}) File "/Users/saa9662/Desktop/findZX/.snakemake/conda/d68c61014782951b12693251bc97fd71/lib/python3.10/site-packages/multiqc/utils/config.py", line 250, in update return update_dict(globals(), u) File "/Users/saa9662/Desktop/findZX/.snakemake/conda/d68c61014782951b12693251bc97fd71/lib/python3.10/site-packages/multiqc/utils/config.py", line 256, in update_dict if isinstance(val, collections.Mapping): AttributeError: module 'collections' has no attribute 'Mapping' '

hsigeman commented 2 years ago

Hi Sam,

Oh no! Is it possible that you are running findZX in a Python 3.10 environment? FindZX is tested to work with Python 3.9, so that could be why you are experiencing problems.

These reported issues seems similar to yours, and Python 3.10 seems to be the cause: https://github.com/ewels/MultiQC/issues/1590 https://issueexplorer.com/issue/ewels/MultiQC/1590

Let me know how it goes. If the problem is not resolved by changing the Python version in the conda environment, I could create a workaround solution on a separate branch.

Also happy to hear that you liked the preprint!

Hanna

hsigeman commented 2 years ago

Hi again,

After creating a new conda environment, I am experiencing the same issue with MultiQC. For me, the issue was solved by updating findZX to use the latest version of MultiQC (v.1.11) instead of the version that is available in the snakemake-wrapper repository (v.1.10.1).

The "dev" branch is now updated with these changes. Would you mind switching to this branch (git checkout dev), update to the latest version (git pull) and see if this solves your problem? If so, I will push these changes to the main branch.

Thanks for letting me know about this issue!

Hanna

ArsenaultResearch commented 2 years ago

Hi Hanna, Thanks so much for looking into this! Your update on the "dev" branch has solved the issue. I have successfully run both the findZX and findZX-synteny on my new install of the pipeline and both ran perfectly. Thanks for the help! -Sam