MultiQC | Aggregate results from bioinformatics analyses | Genomics library

 by   ewels Python Version: 1.18 License: GPL-3.0

kandi X-RAY | MultiQC Summary

kandi X-RAY | MultiQC Summary

MultiQC is a Python library typically used in Artificial Intelligence, Genomics applications. MultiQC has no bugs, it has no vulnerabilities, it has build file available, it has a Strong Copyleft License and it has medium support. You can install using 'pip install MultiQC' or download it from GitHub, PyPI.

Aggregate results from bioinformatics analyses across many samples into a single report.

            kandi-support Support

              MultiQC has a medium active ecosystem.
              It has 1019 star(s) with 533 fork(s). There are 40 watchers for this library.
              There were 4 major release(s) in the last 6 months.
              There are 215 open issues and 1047 have been closed. On average issues are closed in 81 days. There are 49 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of MultiQC is 1.18

            kandi-Quality Quality

              MultiQC has 0 bugs and 0 code smells.

            kandi-Security Security

              MultiQC has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              MultiQC code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              MultiQC is licensed under the GPL-3.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              MultiQC releases are available to install and integrate.
              Deployable package is available in PyPI.
              Build file is available. You can build the component from source.
              Installation instructions, examples and code snippets are available.
              MultiQC saves you 15313 person hours of effort in developing the same functionality from scratch.
              It has 38872 lines of code, 919 functions and 368 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed MultiQC and discovered the below as its top functions. This is intended to give you an instant insight into MultiQC implemented functionality, and help decide if they suit your requirements.
            • Parse bcftools stats
            • Clean s_name
            • Add a section to the report
            • Add a data source
            • Return a dictionary of custom module classes
            • Add a section to the plot
            • Write data to a file
            • Parse the file header
            • Parse qualimap reports
            • Return a list of filenames
            • Find bamPE fragment size table
            • Chart the quality of the contigs
            • Plot data
            • Parse the qc3 log file
            • Add statistics table
            • Take the parsed stats from the somalier stats
            • Parse samtools stats
            • Parse cutadapt log file
            • Finds and parses the data
            • Take the verifyBAM id and add it to the header
            • Find samtools idxstats
            • Parse the fastp log file
            • Parse bowtie2 output
            • Parse the input file as a dictionary
            • Return a parsed sample stats table
            • Take the parsed stats from the Odg stats table
            Get all kandi verified functions for this library.

            MultiQC Key Features

            No Key Features are available at this moment for MultiQC.

            MultiQC Examples and Code Snippets

            No Code Snippets are available at this moment for MultiQC.

            Community Discussions


            Snakemake with integrated conda env not properly installed
            Asked 2022-Apr-11 at 11:47

            I have a rule in my snakemake pipeline to run multiqc :



            Answered 2022-Apr-11 at 10:56

            You most likely want to install python as well, since according to docs it's not recommended to use the system-wide python:



            Weird NameError with python function in Snakemake script
            Asked 2022-Jan-06 at 06:30

            This is an extension of a question I asked yesterday. I have looked all over StackOverflow and have not found an instance of this specific NameError:



            Answered 2022-Jan-06 at 06:30

            I think it's due to you used expand function in a wrong way, expand only accepts two positional arguments, where the first one is pattern and the second one is function (optional). If you want to supply multiple patterns you should wrap these patterns in list.

            After some studying on source code of snakemake, it turns out expand function doesn't check if user provides < 3 positional arguments, there is a variable combinator in if-else that would only be created when there are 1 or 2 positional arguments, the massive amount of positional arguments you provide skip this part and lead to the error when it tries to use combinator later.

            Source code:



            Missing input files after defining them in function
            Asked 2022-Jan-05 at 06:18

            I am trying to do QC on RNAseq data that is tarballed. I am using Snakemake as a workflow manager and am aware that Snakemake does not like one-to-many rules. I defining a checkpoint would fix the problem but when I run the script I get this this error message with rule fastqc.



            Answered 2022-Jan-05 at 06:18

            First, glob_wildcards(INPUTDIR + "{basenames}_R1.fastq.gz") returns a Wildcards object that contains the key:value pair for each wildcard. If you want to get the basenames, it should be glob_wildcards(INPUTDIR + "{basenames}_R1.fastq.gz").basenames

            Second, I assume all fastq.gz files are generated by decompress_h1n1 checkpoint, since you already include the fastqc output in aggregate_decompress_h1n1 function. You shouldn't include those outputs again in rule all, it leads to snakemake try to do fastqc before checkpoint got executed.

            Third, you should also put your trim_qc outputs in the aggregate_decompress_h1n1 function, basically it's the same issue as fastqc, probably the same for salmon related rules too.

            There might be a potential issue, I noticed you use wrapper for fastqc, I remember that official fastqc wrapper requires the output must have html and zip, while you have a raw prefix. But I didn't see a 0.80.3 release in official document, not sure if you are using some other repository to access wrapper



            Force a certain rule to execute at the end
            Asked 2021-Jul-13 at 19:12

            My question is very similar to this one.

            I am writing a snakemake pipeline, and it does a lot pre- and post-alignment quality control. At the end of the pipeline, I run multiQC on those QC results.

            Basically, the workflow is: preprocessing -> fastqc -> alignment -> post-alignment QCs such as picard, qualimap, and preseq -> peak calling -> motif analysis -> multiQC.

            MultiQC should generate a report on all those outputs as long as multiQC support them.

            One way to force multiqc to run at the very end is to include all the output files from the above rules in the input directive of multiqc rule, as below:



            Answered 2021-Jul-03 at 16:38

            From your comments I gather that what you really want to do is run a flexibly configured number of QC methods and then summarise them in the end. The summary should only run, once all the QC methods you want to run have completed.

            Rather than forcing the MultiQC rule to be executed in the end, manually, you can set up the MultiQC rule in such a way that it automatically gets executed in the end - by requiring the QC method's output as input.

            Your goal of flexibly configuring which QC rules to run can be easily achieved by passing the names of the QC rules through a config file, or even easier as a command line argument.

            Here is a minimal working example for you to extend:



            Ubuntu error — cannot import name 'gcd' from 'fractions'
            Asked 2021-Apr-30 at 20:52

            I'm using Ubuntu to learn basic bioinformatics. I just downloaded multiqc using conda, but when I want to run multiqc, it returns: enter image description here

            I am very naive and don't know how to solve this problem. ANY help would be highly appreciated. Thanks



            Answered 2021-Apr-19 at 16:26

            I think gcd was moved to the math pack in 3.9. See

            Changed in version 3.9: The math.gcd() function is now used to normalize the numerator and denominator. math.gcd() always return a int type. Previously, the GCD type depended on numerator and denominator.

            I suggest you create a virtual environment with 3.8 and try that. There are tons of tutorials on how to do this.



            snakemake - Missing input files for rule all
            Asked 2021-Feb-03 at 19:16

            I am trying to create a pipeline that will take a user-configured directory in config.yml (where they have downloaded a project directory of .fastq.gz files from BaseSpace), to run fastqc on sequence files. I already have the downstream steps of merging the fastqs by lane and running fastqc on the merged files.

            However, the wildcards are giving me problems running fastqc on the original basespace files. The following is my error when I try running snakemake.



            Answered 2021-Jan-29 at 13:18

            In your rule all you have:



            Execute certain rule at the very end
            Asked 2020-Sep-03 at 15:38

            I am currently writing a Snakefile, which does a lot of post-alignment quality control (CollectInsertSizeMetics, CollectAlignmentSummaryMetrics, CollectGcBiasMetrics, ...). At the very end of the Snakefile, I am running multiQC to combine all the metrics in one html report.

            I know that if I use the output of rule A as input of rule B, rule B will only be executed after rule A is finished. The problem in my case is that the input of multiQC is a directory, which exists right from the start. Inside of this directory, multiQC will search for certain files and then create the report. If I am currently executing my Snakemake file, multiQC will be executed before all quality controls will be performed (e.g. fastqc takes quite some time), thus these are missing in the final report.

            So my question is, if there is an option, that specifies that a certain rule is executed last. I know that I could use --wait-for-files to wait for a certain fastqc report, but that seems very inflexible.

            The last rule currently looks like this:



            Answered 2020-Sep-03 at 15:38

            You could give to the input of multiqc rule the files produced by the individual QC rules. In this way, multiqc will start once all those files are available. E.g.:



            Snakemake Wildcards SyntaxError
            Asked 2020-Jan-21 at 16:26

            I know this is a common error and I already checked other posts but it didn't resolved my issue. I would like to use the name of the database I use for SortMeRNA rule (rRNAdb=config["rRNA_database"]) the same way I use version=config["genome_version"]. But obviously, I can't.



            Answered 2020-Jan-21 at 16:26

            All output files need to have same wildcards, or else it would cause conflict in resolving job dependencies. Not all files in output: have {rRNAdb} wildcard, which is causing this problem. For example, if you have two {rRNAdb} values, both would write to file "{OUTDIR}/temp/{sample}.fastq", which snakemake correctly doesn't allow.


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install MultiQC

            You can install MultiQC from PyPI using pip as follows:.


            Contributions and suggestions for new features are welcome, as are bug reports! Please create a new issue for any of these, including example reports where possible. MultiQC has extensive documentation describing how to write new modules, plugins and templates. There is a chat room for the package hosted on Gitter where you can discuss things with the package author and other developers: If in doubt, feel free to get in touch with the author directly: @ewels (
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • PyPI

            pip install multiqc

          • CLONE
          • HTTPS


          • CLI

            gh repo clone ewels/MultiQC

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link