Mass spectrometry proteomics QC, quantification, comparative analysis, and export for DDA, DIA, and protein-level result tables.
Reference examples assume:
pyopenms 3.0+pandas 2.2+numpy 1.26+seaborn 0.13+Use this skill when the user needs:
results/protein_abundance.tsvqc/proteomics_qc_summary.tsvfigures/correlation_heatmap.pdffigures/missingness.pdfresults/differential_proteins.tsvimport pandas as pd
protein_df = pd.read_csv("protein_groups.tsv", sep="\t")
sample_cols = [c for c in protein_df.columns if c.startswith("LFQ intensity")]
matrix = protein_df[sample_cols].replace(0, pd.NA)
qc = pd.DataFrame({
"n_proteins": matrix.notna().sum(),
"missing_pct": matrix.isna().mean() * 100,
})
qc.to_csv("qc/proteomics_qc_summary.tsv", sep="\t")
Inspect:
Keep the normalization approach explicit and do not collapse peptides into proteins without documenting the rule.
Use replicate-aware differential abundance with clear filtering and missingness policy.
Save both the cleaned abundance matrix and the differential results table.
results/
├── protein_abundance.tsv
└── differential_proteins.tsv
qc/
└── proteomics_qc_summary.tsv
figures/
├── correlation_heatmap.pdf
├── missingness.pdf
└── intensity_density.pdf
> 30% should trigger caution> 0.90.8 deserves reviewpyopenms