rawtrace-qc is a Python library for extracting mass-spectrometry scan traces and generating interactive HTML QC reports from vendor raw-file formats.
The library supports Bruker timsTOF .d directories with a native Python extractor and Thermo .raw files through the separate Windows-only ThermoScanHeaderExtractor helper. The helper is not bundled; its setup and license acceptance are explicit commands.
The project is being developed library-first. File discovery, extraction, validated Parquet artifacts, trace processing, report generation, and the optional GUI are implemented as clients of the same service layers.
Install the optional command-line interface and inspect Thermo helper setup with:
uv sync --extra cli
rawtrace-qc thermo statusThe CLI supports helper installation from the pinned download or a local ZIP, explicit license acceptance, trace extraction, and HTML report generation. See documentation.md for offline setup, shared helper paths, license handling, and upgrade details.
Install the project and development dependencies with:
uv syncRun the unit tests, source lint and formatter checks, test formatting check, and type checker with:
uv run pytest
uv run ruff check src
uv run ruff format --check src
uv run ruff format --check tests
uv run pyrefly checkInstall the optional PySide6 desktop GUI with:
uv sync --extra gui
rawtrace-qc-guiRuff formatting is applied to tests with the separate 120-character test configuration. Test linting is intentionally not enforced.
See documentation.md and implementation-plan.md for the project design and planned workflows.