https://github.com/bigbio/pmultiqc

A library for QC report based on MultiQC framework

https://github.com/bigbio/pmultiqc

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 6 committers (16.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary

Keywords from Contributors

mass-spectrometry maxquant msstats multiomics openms proteomics proteomics-data-analysis sdrf
Last synced: 10 months ago · JSON representation

Repository

A library for QC report based on MultiQC framework

Basic Info
  • Host: GitHub
  • Owner: bigbio
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 660 MB
Statistics
  • Stars: 16
  • Watchers: 9
  • Forks: 15
  • Open Issues: 14
  • Releases: 31
Created over 5 years ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

pmultiqc

Python application Upload Python Package PyPI - Version PyPI - Downloads Pepy Total Downloads GitHub Repo stars

What is pmultiqc?

pmultiqc is a MultiQC plugin for comprehensive quality control reporting of proteomics data. It generates interactive HTML reports with visualizations and metrics to help you assess the quality of your mass spectrometry-based proteomics experiments.

Key Features

  • Works with multiple proteomics data formats and analysis pipelines
  • Generates interactive HTML reports with visualizations
  • Provides comprehensive QC metrics for MS data
  • Supports different quantification methods (LFQ, TMT, DIA)
  • Integrates with the MultiQC framework

Supported Data Sources

pmultiqc supports the following data sources:

  1. quantms pipeline output files:

    • experimental_design.tsv: Experimental design file
    • *.mzTab: Results of the identification
    • *msstats*.csv: MSstats/MSstatsTMT input files
    • *.mzML: Spectra files
    • *ms_info.tsv: MS quality control information
    • *.idXML: Identification results
    • *.yml: Pipeline parameters (optional)
    • diann_report.tsv or diann_report.parquet: DIA-NN main report (DIA analysis only)
  2. MaxQuant result files:

    • parameters.txt: Analysis parameters
    • proteinGroups.txt: Protein identification results
    • summary.txt: Summary statistics
    • evidence.txt: Peptide evidence
    • msms.txt: MS/MS scan information
    • msmsScans.txt: MS/MS scan details
  3. DIA-NN result files:

    • report.tsv or report.parquet: DIA-NN main report
    • experimental_design.tsv or *sdrf.tsv: Experimental design file / SDRF-Proteomics (optional)
    • *ms_info.parquet: mzML statistics after Raw-to-mzML conversion (using quantms-utils) (optional)
  4. ProteoBench file:

    • result_performance.csv: ProteoBench result file
  5. mzIdentML files:

    • *.mzid: Identification results
    • *.mzML or *.mgf: Corresponding spectra files

Installation

Install from PyPI

```bash

To install the stable release from PyPI:

pip install pmultiqc ```

Install from Source (Without PyPI)

```bash

Fork the repository on GitHub

Clone the repository

git clone https://github.com/your-username/pmultiqc.git cd pmultiqc

Install the package locally

pip install .

Now you can run pmultiqc on your own dataset

```

Usage

pmultiqc is used as a plugin for MultiQC. After installation, you can run it using the MultiQC command-line interface.

Basic Usage

bash multiqc {analysis_dir} -o {output_dir}

Where: - {analysis_dir} is the directory containing your proteomics data files - {output_dir} is the directory where you want to save the report

Examples

For quantms pipeline results

```bash

Basic usage

multiqc /path/to/quantms/results -o ./report

With specific options

multiqc /path/to/quantms/results -o ./report --remove_decoy --condition factor ```

For MaxQuant results

bash multiqc --parse_maxquant /path/to/maxquant/results -o ./report

For DIA-NN results

bash multiqc /path/to/diann/results -o ./report

For ProteoBench files

bash multiqc --parse_proteobench /path/to/proteobench/files -o ./report

For mzIdentML files

bash multiqc --mzid_plugin /path/to/mzid/files -o ./report

Command-line Options

| Option | Description | Default | |--------|-------------|---------| | --raw | Keep filenames in experimental design output as raw | False | | --condition | Create conditions from provided columns | - | | --remove_decoy | Remove decoy peptides when counting | True | | --decoy_affix | Pre- or suffix of decoy proteins in their accession | DECOY_ | | --contaminant_affix | The contaminant prefix or suffix | CONT | | --affix_type | Location of the decoy marker (prefix or suffix) | prefix | | --disable_plugin | Disable pmultiqc plugin | False | | --quantification_method | Quantification method for LFQ experiment | feature_intensity | | --disable_table | Disable protein/peptide table plots for large datasets | False | | --ignored_idxml | Ignore idXML files for faster processing | False | | --parse_maxquant | Generate reports based on MaxQuant results | False | | --parse_proteobench | Generate reports based on ProteoBench result | False | | --mzid_plugin | Generate reports based on mzIdentML files | False |

QC Metrics and Visualizations

pmultiqc generates a comprehensive report with multiple sections:

General Report

  • Experimental Design: Overview of the dataset structure
  • Pipeline Performance Overview: Key metrics including:
    • Contaminants Score
    • Peptide Intensity
    • Charge Score
    • Missed Cleavages
    • ID rate over RT
    • MS2 OverSampling
    • Peptide Missing Value
  • Summary Table: Spectra counts, identification rates, peptide and protein counts
  • MS1 Information: Quality metrics at MS1 level
  • Pipeline Results Statistics: Overall identification results
  • Number of Peptides per Protein: Distribution of peptide counts per protein

Results Tables

  • Peptide Table: First 500 peptides in the dataset
  • PSM Table: First 500 PSMs (Peptide-Spectrum Matches)

Identification Statistics

  • Spectra Tracking: Summary of identification results by file
  • Search Engine Scores: Distribution of search engine scores
  • Precursor Charges Distribution: Distribution of precursor ion charges
  • Number of Peaks per MS/MS Spectrum: Peak count distribution
  • Peak Intensity Distribution: MS2 peak intensity distribution
  • Oversampling Distribution: Analysis of MS2 oversampling
  • Delta Mass: Mass accuracy distribution
  • Peptide/Protein Quantification Tables: Quantitative levels across conditions

Example Reports

You can find example reports on the docs page.

Development

To contribute to pmultiqc:

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/YOUR-USERNAME/pmultiqc
  3. Create a feature branch: git checkout -b new-feature
  4. Make your changes
  5. Install in development mode: pip install -e .
  6. Test your changes: cd tests && multiqc resources/LFQ -o ./
  7. Commit your changes: git commit -am 'Add new feature'
  8. Push to the branch: git push origin new-feature
  9. Submit a pull request

License

This project is licensed under the terms of the LICENSE file included in the repository.

Citation

If you use pmultiqc in your research, please cite:

pmultiqc: A MultiQC plugin for proteomics quality control https://github.com/bigbio/pmultiqc

Owner

  • Name: BigBio Stack
  • Login: bigbio
  • Kind: organization
  • Email: proteomicsstack@gmail.com
  • Location: Cambridge, UK

Provide big data solutions Bioinformatics

GitHub Events

Total
  • Create event: 16
  • Release event: 7
  • Issues event: 16
  • Watch event: 2
  • Delete event: 5
  • Member event: 2
  • Issue comment event: 236
  • Push event: 260
  • Pull request review comment event: 145
  • Pull request review event: 174
  • Pull request event: 286
  • Fork event: 37
Last Year
  • Create event: 16
  • Release event: 7
  • Issues event: 16
  • Watch event: 2
  • Delete event: 5
  • Member event: 2
  • Issue comment event: 236
  • Push event: 260
  • Pull request review comment event: 145
  • Pull request review event: 174
  • Pull request event: 286
  • Fork event: 37

Committers

Last synced: over 3 years ago

All Time
  • Total Commits: 163
  • Total Committers: 6
  • Avg Commits per committer: 27.167
  • Development Distribution Score (DDS): 0.699
Top Committers
Name Email Commits
WangHong007 8****7@u****m 49
Yasset Perez-Riverol y****l@g****m 48
daichengxin 1****7@q****m 29
chengxin Dai 3****n@u****m 27
jpfeuffer p****r@i****e 9
Veit v****t@p****k 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 61
  • Total pull requests: 327
  • Average time to close issues: 6 months
  • Average time to close pull requests: about 20 hours
  • Total issue authors: 11
  • Total pull request authors: 11
  • Average comments per issue: 2.05
  • Average comments per pull request: 1.22
  • Merged pull requests: 228
  • Bot issues: 0
  • Bot pull requests: 124
Past Year
  • Issues: 11
  • Pull requests: 274
  • Average time to close issues: 13 days
  • Average time to close pull requests: about 14 hours
  • Issue authors: 6
  • Pull request authors: 7
  • Average comments per issue: 1.64
  • Average comments per pull request: 1.25
  • Merged pull requests: 175
  • Bot issues: 0
  • Bot pull requests: 124
Top Authors
Issue Authors
  • ypriverol (33)
  • jpfeuffer (16)
  • daichengxin (2)
  • hendrikweisser (2)
  • enryH (2)
  • timosachsenberg (1)
  • alebremu (1)
  • rodvrees (1)
  • lmboat (1)
  • mlocardpaulet (1)
  • jspaezp (1)
Pull Request Authors
  • github-actions[bot] (124)
  • ypriverol (80)
  • yueqixuan (64)
  • daichengxin (30)
  • WangHong007 (17)
  • Copilot (3)
  • enryH (3)
  • jpfeuffer (2)
  • selvaebi (2)
  • cbielow (1)
  • veitveit (1)
Top Labels
Issue Labels
enhancement (18) bug (12) documentation (8) high-priority (4) good first issue (1)
Pull Request Labels
Review effort 4/5 (27) Review effort 3/5 (19) Review effort 2/5 (8) Possible security concern (4) Review effort [1-5]: 4 (3) documentation (2) enhancement (2) Review effort 1/5 (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 364 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 31
  • Total maintainers: 1
pypi.org: pmultiqc

Python package for quality control of proteomics datasets, based on multiqc package

  • Versions: 31
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 364 Last month
  • Docker Downloads: 0
Rankings
Docker downloads count: 1.6%
Dependent packages count: 10.1%
Forks count: 11.9%
Average: 15.2%
Stargazers count: 17.7%
Dependent repos count: 21.6%
Downloads: 28.5%
Maintainers (1)
Last synced: 10 months ago

Dependencies

requirements.txt pypi
  • lxml *
  • multiqc *
  • numpy *
  • pandas *
  • pyopenms *
  • pyteomics *
  • sdrf-pipelines *
setup.py pypi
  • lxml *
  • multiqc *
  • numpy *
  • pandas *
  • pyopenms *
  • pyteomics *
  • sdrf-pipelines *
.github/workflows/python-app.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v1 composite
.github/workflows/python-package.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/python-publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite