Git Product home page Git Product logo

multiqc_bcbio's Introduction

  MultiQC MultiQC  

Aggregate bioinformatics results across many samples into a single report

PyPI Version Bioconda Version DOI


MultiQC is a tool to create a single report with interactive plots for multiple bioinformatics analyses across many samples.

Reports are generated by scanning given directories for recognised log files. These are parsed and a single HTML report is generated summarising the statistics for all logs found. MultiQC reports can describe multiple analysis steps and large numbers of samples within a single plot, and multiple analysis tools making it ideal for routine fast quality control.

A very large number of Bioinformatics tools are supported by MultiQC. Please see the MultiQC website for a complete list. MultiQC can also easily parse data from custom scripts, if correctly formatted / configured - a feature called Custom Content.

More modules are being written all the time. Please suggest any ideas as a new issue (please include example log files).

Installation

You can install MultiQC from PyPI using pip as follows:

pip install multiqc

Alternatively, you can install using Conda from Bioconda (set up your channels first):

conda install multiqc

If you would like the development version from GitHub instead, you can install it with pip:

pip install --upgrade --force-reinstall git+https://github.com/MultiQC/MultiQC.git

MultiQC is also available via Docker and Singularity images, Galaxy wrappers, and many more software distribution systems. See the documentation for details.

Usage

Once installed, you can use MultiQC by navigating to your analysis directory (or a parent directory) and running the tool:

multiqc .

That's it! MultiQC will scan the specified directory (. is the current dir) and produce a report detailing whatever it finds.

cd test_data/data/modules/fastqc/v0.10.1 && multiqc .

The report is created in multiqc_report.html by default. Tab-delimited data files are also created in multiqc_data/, containing extra information. These can be easily inspected using Excel (use --data-format to get yaml or json instead).

For more detailed instructions, run multiqc -h or see the documentation.

Citation

Please consider citing MultiQC if you use it in your analysis.

MultiQC: Summarize analysis results for multiple tools and samples in a single report.
Philip Ewels, Måns Magnusson, Sverker Lundin and Max Käller
Bioinformatics (2016)
doi: 10.1093/bioinformatics/btw354
PMID: 27312411

@article{doi:10.1093/bioinformatics/btw354,
 author = {Ewels, Philip and Magnusson, Måns and Lundin, Sverker and Käller, Max},
 title = {MultiQC: summarize analysis results for multiple tools and samples in a single report},
 journal = {Bioinformatics},
 volume = {32},
 number = {19},
 pages = {3047},
 year = {2016},
 doi = {10.1093/bioinformatics/btw354},
 URL = { + http://dx.doi.org/10.1093/bioinformatics/btw354},
 eprint = {/oup/backfile/Content_public/Journal/bioinformatics/32/19/10.1093_bioinformatics_btw354/3/btw354.pdf}
}

Contributions & Support

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. Pull-requests for fixes and additions are very welcome. Please see the contributing notes for more information about how the process works.

MultiQC has extensive documentation describing how to write new modules, plugins and templates.

If in doubt, feel free to get in touch with the author directly: @ewels ([email protected])

Contributors

MultiQC is developed and maintained by Phil Ewels (@ewels) at Seqera Labs. It was originally written at the National Genomics Infrastructure, part of SciLifeLab in Sweden.

A huge thank you to all code contributors - there are a lot of you! See the Contributors Graph for details.

MultiQC is released under the GPL v3 or later licence.

multiqc_bcbio's People

Contributors

chapmanb avatar lpantano avatar roryk avatar vladsavelyev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

multiqc_bcbio's Issues

MultiQC module fails with bcbio_vm

I ran bcbio_vm on one sample on one machine (bcbio_vm.py run -n 15 ../config/samples.yaml) but got the following error at the multiqc stage. Any help greatly appreciated, thanks.

[2018-03-07T08:04Z] summarize metrics
[2018-03-07T08:04Z] Uncaught exception occurred
Traceback (most recent call last):
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 23, in run
    _do_run(cmd, checks, log_stdout, env=env)
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 103, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
CalledProcessError: Command 'set -o pipefail; export PATH=/usr/local/share/bcbio-nextgen/anaconda/bin:$PATH &&  /usr/local/share/bcbio-nextgen/anaconda/bin/multiqc -f -l /mnt/work/qc/multiqc/list_files.tx
t  -o /mnt/work/bcbiotx/tmpu8rvWt
[INFO   ]         multiqc : This is MultiQC v1.4
[INFO   ]         multiqc : Template    : default
Searching 20 files..
[INFO   ] goleft_indexcov : Found goleft indexcov ROC reports for 1 samples
[INFO   ] goleft_indexcov : Found goleft indexcov bin reports for 1 samples
[INFO   ]           bcbio : Found 1 reports
[ERROR  ]         multiqc : Oops! The 'bcbio' 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:
    /mnt/work/qc/multiqc/report/metrics/target_info.yaml
============================================================
Module bcbio raised an exception: Traceback (most recent call last):
  File "/usr/local/share/bcbio-nextgen/anaconda/bin/multiqc", line 427, in multiqc
    output = mod()
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/multiqc_bcbio/bcbio.py", line 111, in __init__
    if "coverage_avg_chart" in coverage_avg_plot:
TypeError: argument of type 'NoneType' is not iterable
============================================================
[INFO   ]        samtools : Found 1 stats reports
[INFO   ]        samtools : Found 1 idxstats reports
[INFO   ]        bcftools : Found 1 stats reports
[INFO   ]          snpeff : Found 1 reports
[INFO   ]          fastqc : Found 1 reports
[INFO   ]         multiqc : Compressing plot data
[INFO   ]         multiqc : Report      : ../../bcbiotx/tmpu8rvWt/multiqc_report.html
[INFO   ]         multiqc : Data        : ../../bcbiotx/tmpu8rvWt/multiqc_data
[INFO   ]         multiqc : MultiQC complete
' returned non-zero exit status 1
Uncaught exception occurred
Traceback (most recent call last):
  File "/home/ubuntu/projects/bcbio-vm/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 23, in run
    _do_run(cmd, checks, log_stdout, env=env)
  File "/home/ubuntu/projects/bcbio-vm/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 103, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
CalledProcessError: Command 'docker attach --no-stdin 893c59ed13112855586eb83f0c287f6591dc431711474501b296d5cfa87f657b
    _do_run(cmd, checks, log_stdout, env=env)
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 103, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
CalledProcessError: Command 'set -o pipefail; export PATH=/usr/local/share/bcbio-nextgen/anaconda/bin:$PATH &&  /usr/local/share/bcbio-nextgen/anaconda/bin/multiqc -f -l /mnt/work/qc/multiqc/list_files.txt  -o /mnt/work/bcbiotx/tmpu8rvWt
[INFO   ]         multiqc : This is MultiQC v1.4
[INFO   ]         multiqc : Template    : default
Searching 20 files..
[INFO   ] goleft_indexcov : Found goleft indexcov ROC reports for 1 samples
[INFO   ] goleft_indexcov : Found goleft indexcov bin reports for 1 samples
[INFO   ]           bcbio : Found 1 reports
[ERROR  ]         multiqc : Oops! The 'bcbio' 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:
    /mnt/work/qc/multiqc/report/metrics/target_info.yaml
============================================================
Module bcbio raised an exception: Traceback (most recent call last):
  File "/usr/local/share/bcbio-nextgen/anaconda/bin/multiqc", line 427, in multiqc
    output = mod()
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/multiqc_bcbio/bcbio.py", line 111, in __init__
    if "coverage_avg_chart" in coverage_avg_plot:
TypeError: argument of type 'NoneType' is not iterable
============================================================
[INFO   ]        samtools : Found 1 stats reports
[INFO   ]        samtools : Found 1 idxstats reports
[INFO   ]        bcftools : Found 1 stats reports
[INFO   ]          snpeff : Found 1 reports
[INFO   ]          fastqc : Found 1 reports
[INFO   ]         multiqc : Compressing plot data
[INFO   ]         multiqc : Report      : ../../bcbiotx/tmpu8rvWt/multiqc_report.html
[INFO   ]         multiqc : Data        : ../../bcbiotx/tmpu8rvWt/multiqc_data
[INFO   ]         multiqc : MultiQC complete
' returned non-zero exit status 1
Traceback (most recent call last):
  File "/usr/local/bin/bcbio_nextgen.py", line 241, in <module>
    main(**kwargs)
  File "/usr/local/bin/bcbio_nextgen.py", line 46, in main
    run_main(**kwargs)
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 43, in run_main
    fc_dir, run_info_yaml)
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 87, in _run_toplevel
    for xs in pipeline(config, run_info_yaml, parallel, dirs, samples):
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 186, in variant2pipeline
    samples = qcsummary.generate_parallel(samples, run_parallel)
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/pipeline/qcsummary.py", line 38, in generate_parallel
    samples = run_parallel("multiqc_summary", [samples])
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 28, in run_parallel
    return run_multicore(fn, items, config, parallel=parallel)
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 86, in run_multicore
    for data in joblib.Parallel(parallel["num_jobs"], batch_size=1)(joblib.delayed(fn)(x) for x in items):
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 779, in __call__
    while self.dispatch_one_batch(iterator):
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 625, in dispatch_one_batch
    self._dispatch(tasks)
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 588, in _dispatch
    job = self._backend.apply_async(batch, callback=cb)
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/joblib/_parallel_backends.py", line 111, in apply_async
    result = ImmediateResult(func)
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/joblib/_parallel_backends.py", line 332, in __init__
    self.results = batch()
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 131, in __call__
    return [func(*args, **kwargs) for func, args, kwargs in self.items]
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/utils.py", line 52, in wrapper
    return apply(f, *args, **kwargs)
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/distributed/multitasks.py", line 207, in multiqc_summary
   return multiqc.summary(*args)
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/qc/multiqc.py", line 62, in summary
    do.run(cmd.format(**locals()), "Run multiqc")
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 23, in run
    _do_run(cmd, checks, log_stdout, env=env)
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 103, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
subprocess.CalledProcessError: Command 'set -o pipefail; export PATH=/usr/local/share/bcbio-nextgen/anaconda/bin:$PATH &&  /usr/local/share/bcbio-nextgen/anaconda/bin/multiqc -f -l /mnt/work/qc/multiqc/list_files.txt  -o /mnt/work/bcbiotx/tmpu8rvWt
[INFO   ]         multiqc : This is MultiQC v1.4
[INFO   ]         multiqc : Template    : default
Searching 20 files..
[INFO   ] goleft_indexcov : Found goleft indexcov ROC reports for 1 samples
[INFO   ] goleft_indexcov : Found goleft indexcov bin reports for 1 samples
[INFO   ]           bcbio : Found 1 reports
[ERROR  ]         multiqc : Oops! The 'bcbio' 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:
    /mnt/work/qc/multiqc/report/metrics/target_info.yaml
============================================================
Module bcbio raised an exception: Traceback (most recent call last):
  File "/usr/local/share/bcbio-nextgen/anaconda/bin/multiqc", line 427, in multiqc
    output = mod()
  File "/usr/local/share/bcbio-nextgen/anaconda/lib/python2.7/site-packages/multiqc_bcbio/bcbio.py", line 111, in __init__
    if "coverage_avg_chart" in coverage_avg_plot:
TypeError: argument of type 'NoneType' is not iterable
============================================================
[INFO   ]        samtools : Found 1 stats reports
[INFO   ]        samtools : Found 1 idxstats reports
[INFO   ]        bcftools : Found 1 stats reports
[INFO   ]          snpeff : Found 1 reports
[INFO   ]          fastqc : Found 1 reports
[INFO   ]         multiqc : Compressing plot data
[INFO   ]         multiqc : Report      : ../../bcbiotx/tmpu8rvWt/multiqc_report.html
[INFO   ]         multiqc : Data        : ../../bcbiotx/tmpu8rvWt/multiqc_data
[INFO   ]         multiqc : MultiQC complete
' returned non-zero exit status 1
' returned non-zero exit status 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.