Repository navigation
v0.7.4
Date: 2026-10-23
New Features
- PRIDE repository import — import datasets directly from the PRIDE repository (
pridepyextra) with a 3-step GUI wizard (Import From PRIDEon the Samples tab) and CLI commanddasmixer-cli import pride. Supports downloading and importing MGF spectra, identifications (mzTab/CasaNovo) insingle(multi-file mzTab) orper_samplemodes, optional FASTA protein import, and automatic temporary file cleanup. - New identification parsers: mzTab, CasaNovo, Pi-PrimeNovo:
- mzTab — full PSM & metadata parser with ProForma reconstruction (UNIMOD, PSI-MOD, CHEMMOD), protein accession collection, and multi-file import mode (
Import multi-file mzTabin GUI) that resolvesms_run[N]-locationto multiple spectral files automatically; - CasaNovo — mzTab-based de novo parser reading ProForma sequences and amino acid positional scores;
- Pi-PrimeNovo — TSV de novo parser with modification conversion and spectrum matching by
title.
- mzTab — full PSM & metadata parser with ProForma reconstruction (UNIMOD, PSI-MOD, CHEMMOD), protein accession collection, and multi-file import mode (
- Spectrum matching by
title— identification parsers andTableImporter(ColumnRenames.title) can now link PSMs to spectra using case-insensitive normalized spectrum titles in addition toscansandseq_no. - Automatic PTM configuration updates — built-in PTM definitions and parser PTM renames are non-destructively merged into user CSV files in
{app_dir}/ptm/on version upgrades (LASTRUN_VERSIONmarker) or manually viadasmixer-cli update-ptm-list. - Reports architecture overhaul & UX improvements:
- Reports moved to standalone packages in
dasmixer.reportswith typedReportParamsdataclasses (PROJECT_VERSIONbumped to0.7.4); demoSampleReportandToolCoverageReportmoved out of built-ins into standalone plugins; - Custom report naming via
Name formattemplate on report cards ({date},{time}, and parameter placeholders), stored ingenerated_reports.name; - New Export Dialog with output directory picker, selectable formats (
DOCX,HTML,XLSX), and Excel table scope (All tables/Large tables only); - Save and generate button in parameter dialogs, automatic selection of the newest generated report, reordered HTML report sections, and whitelisted project parameters in exports.
- Reports moved to standalone packages in
- Temporary files management — new Temporary Files section in Settings to configure, browse, open, or clear standard (
tempdir) and large-file (large_file_tempdir) cache directories used for HTML previews, MaxQuant, and PRIDE downloads. - Peptides tab UX improvements —
"Has PTM"and"AA Substitution"columns now display checkmarks instead of1/0;"Calculate peptides"actions reordered so Ion Coverage runs before peptide matching.
Performance & Refactoring
- 6x–24x faster Peptide table queries — rewrote
JoinedPeptideDataMixin(get_joined_peptide_data/count_joined_peptide_data) from materialized subqueries to flatLEFT JOINs, allowing SQLite to use existing indexes and stop early onLIMIT. - Chunk queue for Ion Coverage & parallel Protein Mapping — replaced static sub-batch splitting with
run_identification_queue(semaphore-bounded worker chunks with periodic DB flushes) and parallelized per-row de novo protein mapping / sequence correction viaProcessPoolExecutor. - Code quality — codebase-wide Ruff cleanup for
E701,E721,E402, andE731.
Bug Fixes
- Default PTM selection in de novo correction & protein mapping — leaving PTM selection at default (
ptm_list=None) now properly usesDEFAULT_PTM_CODESconfigured in GUI instead of iterating over all ~43 PTMs. - Peptides table display with unidentified spectra — fixed
NaN/float coercion issues when spectra without identifications were present on the same page (preferrederroneously showing"yes",identification_idrendering as"1.0000"and breaking click-to-filter, and similar formatting glitches). - Open Recent dialog — fixed uncancelable
"Open recent"popup window.