sequences in embedded JSON data\n- Add SRI integrity hash for CDN js-yaml script (fixes code scanning alert)\n- Add error handling for file I/O and YAML parsing in both scripts\n\nWizard UX improvements (per @ewels review):\n- Add MultiQC branding with SVG logo and orange (#F18046) color scheme\n- Add welcome/homepage section with usage instructions\n- Add global search bar that filters options across all sections\n- Show all sections on one scrollable page (sidebar scrolls to sections)\n- Better boolean UX: tri-state select shows default value clearly\n- Fix default value rendering: show actual values for short arrays/objects\n- Add links to MultiQC homepage, docs, and GitHub in header\n- Remove progress bar (users shouldn't try to set every option)\n\nCode quality:\n- Improve module docstrings with usage examples\n- Extract AiProviderLiteral values dynamically using get_args()\n\nCo-authored-by: Phil Ewels \n\n* Remove unused import and variable (fix ruff lint)\n\nCo-authored-by: Phil Ewels \n\n* [automated] Fix code linting\n\n* Update config wizard design\n\n* Add missing config options, add pytest to catch regressions in the future\n\n* Move config wizard HTML to template file. Bunch of improvements\n\n* More fixes and awesomeness\n\n* More styling goodness\n\n* Better help text, some tweaks\n\n* Include exmaples in the config schema\n\n* More enums, other improvements\n\n* Added missing config options and added test to get them in the future.\n\nUse proper YAML entry and a bunch of other fixes\n\n* Include MultiQC version in the page title\n\n* Update docs\n\n* Add JS include integrity checks\n\n* Fix mypy\n\n* Update the release checklist\n\n---------\n\nCo-authored-by: Phil Ewels \nCo-authored-by: MultiQC Bot \nCo-authored-by: Cursor Agent ","sha":"4162e16f4cfa1c518d066ce48c2555357e889def","created_at":"2026-05-12 09:51","time_from_now":"10天前","created_at_unix":1778550685}},{"name":"CODE_OF_CONDUCT.md","path":"CODE_OF_CONDUCT.md","sha":"2a56286768215fabb111ff7729bb4b77d84a397c","type":"file","submodule_git_url":null,"size":5221,"is_readme_file":0,"content":null,"target":null,"commit":{"message":"Create CODE_OF_CONDUCT.md (#2195)\n\n* Create CODE_OF_CONDUCT.md\r\n\r\n* [automated] Update CHANGELOG.md\r\n\r\n* [automated] Fix code linting\r\n\r\n---------\r\n\r\nCo-authored-by: MultiQC Bot ","sha":"22c9644698a07513f5942da74a16fd2f103c4d07","created_at":"2023-11-22 17:21","time_from_now":"2年前","created_at_unix":1700644892}},{"name":"Dockerfile","path":"Dockerfile","sha":"1388fa52889b4848ec32cb36f6150cdd00bbd28a","type":"file","submodule_git_url":null,"size":2379,"is_readme_file":null,"content":null,"target":null,"commit":{"message":"Dockerfile: Add variant with all LaTeX requirements, switch to LuaTeX from PdfLatex (#3349)\n\n* Update Dockerfile to optionally include all LaTeX requirements. Build two docker images, with and without PDF deps.\n\n* Remove duplicate latex margin argument\n\n* Shorter easier to read GHA variable names\n\n* Docker: simplify CI logic, bump to Python 3.13\n\n* Fix cache cleanup in Dockerfile after Python version bump.\n\nKudos @cursor for spotting that\n\n* Update the docs","sha":"2fc5fe864b573c6219cad748d3c530d38e121a2d","created_at":"2025-09-17 00:00","time_from_now":"8个月前","created_at_unix":1758038437}},{"name":"LICENSE","path":"LICENSE","sha":"94a045322262546cfb9d72561e1d587b5c2ffb1e","type":"file","submodule_git_url":null,"size":32472,"is_readme_file":null,"content":null,"target":null,"commit":{"message":"Changed licence from MIT to GNU GPLv3\n","sha":"47953e4ed7a686d20ca388a7f6ce6c358ab3065c","created_at":"2016-03-10 00:16","time_from_now":"10年前","created_at_unix":1457540189}},{"name":"MANIFEST.in","path":"MANIFEST.in","sha":"9512ef675e49a5fbbee063dbf8f654b022a0326f","type":"file","submodule_git_url":null,"size":61,"is_readme_file":null,"content":null,"target":null,"commit":{"message":"Cleaned manifest, set version number to devel.\n","sha":"e11f672ddc009c2469b0e08bdbe52f37fdc083a2","created_at":"2015-08-31 22:36","time_from_now":"10年前","created_at_unix":1441031798}},{"name":"README.md","path":"README.md","sha":"ffd941a6922cb77bb0da63b0253f7fc256fe35ae","type":"file","submodule_git_url":null,"size":6155,"is_readme_file":true,"content":null,"target":null,"commit":{"message":"Another rich-codex fix\n","sha":"84716e861faad3431b6dc166b81e2d5b064ade7b","created_at":"2026-04-21 16:51","time_from_now":"1个月前","created_at_unix":1776761489}},{"name":"codecov.yml","path":"codecov.yml","sha":"7af81e243f69ed0f3f2ab47f1df2143130438ba7","type":"file","submodule_git_url":null,"size":166,"is_readme_file":null,"content":null,"target":null,"commit":{"message":"Disable codecov PR comments\n","sha":"5fa51377b515ebaa3a0ebd70acd7ee42ec4b7f7f","created_at":"2024-08-19 04:56","time_from_now":"1年前","created_at_unix":1724014571}},{"name":"flake.lock","path":"flake.lock","sha":"b2db7ab6a999e4747aee4562c8f1af915e14ca05","type":"file","submodule_git_url":null,"size":2371,"is_readme_file":null,"content":null,"target":null,"commit":{"message":"Add GitHub Actions bot workflow to fix code linting from a PR comment (#2082)\n\n* Update pre-commit hooks versions\r\n\r\n* Remove manual dispatch from changelog CI as we run it through comment\r\n\r\n* Commit changelog only if actually changed\r\n\r\n* Add fix-linting CI workflow\r\n\r\n* Run linting\r\n\r\n* CSP\r\n\r\n* [automated] Update CHANGELOG.md\r\n\r\n---------\r\n\r\nCo-authored-by: Phil Ewels \r\nCo-authored-by: MultiQC Bot ","sha":"143fab0c160d615f51f003b5ef2dd927cdd6cb98","created_at":"2023-09-29 06:52","time_from_now":"2年前","created_at_unix":1695941549}},{"name":"flake.nix","path":"flake.nix","sha":"192215dd8edea16288a08ca91c92e64b6084514d","type":"file","submodule_git_url":null,"size":1509,"is_readme_file":null,"content":null,"target":null,"commit":{"message":"added setuptools to flake\n","sha":"5215c7ca6528edd8cdf3c1d7a02cf1ffe5ac2e20","created_at":"2022-09-27 23:43","time_from_now":"3年前","created_at_unix":1664293420}},{"name":"pyproject.toml","path":"pyproject.toml","sha":"e66c16a496b66447c2d011560ba4e319c68bf7a0","type":"file","submodule_git_url":null,"size":14085,"is_readme_file":null,"content":null,"target":null,"commit":{"message":"Add new module: RiboDetector (#3452)\n\n* Add new module: RiboDetector\n\nRiboDetector is a deep learning-based tool for rapid and accurate\nidentification of ribosomal RNA sequences from RNA-seq data.\n\nThe module parses log files generated when RiboDetector is run with\nthe `--log` option (v0.3.0+) and extracts:\n- Total sequences processed\n- Detected rRNA sequences\n- Detected non-rRNA sequences\n\nDisplays % rRNA in General Stats and a bar plot showing read classification.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 \n\n* Align data keys with other rRNA modules\n\nUse consistent naming: total, rRNA, non_rRNA, rRNA_pct, non_rRNA_pct\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 \n\n* chore: trigger CI\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 \n\n* Fix linting error\n\n* Fix minor bug about exiting early and getting mismatch of parsed values\n\n* ribodetector: tighten search pattern per review\n\nMatch on the \"Writing output non-rRNA sequences into file\" announcement\nline rather than the generic \"non-rRNA sequences\" substring. The\nannouncement appears before any batch processing starts (line 4 in the\ntest logs), so num_lines: 20 is still comfortably sufficient.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \n\n---------\n\nCo-authored-by: Claude Opus 4.5 \nCo-authored-by: Phil Ewels ","sha":"fd57186ea209eb8608af1290f5ff44e18c1b074e","created_at":"2026-05-13 18:47","time_from_now":"8天前","created_at_unix":1778669267}},{"name":"setup.py","path":"setup.py","sha":"45e111650fb2dd69c2022aa7c3e4e1820b9d7a37","type":"file","submodule_git_url":null,"size":159,"is_readme_file":null,"content":null,"target":null,"commit":{"message":"Run mypy on core library (#2665)\n\n* Run mypy on core library\r\n\r\n* Revert to relpath\r\n\r\n* More mypy\r\n\r\n* More mypy\r\n\r\n* More mypy and fix\r\n\r\n* Continute with plotly codebase\r\n\r\n* Line plot custom markers: customize inner and outer colors\r\n\r\n* Mypy more plotly code\r\n\r\n* Use generic KeyT and ValueT in line graph code\r\n\r\n* Ignore dot files in picard test\r\n\r\n* More mypy in plotly\r\n\r\n* Fix tests\r\n\r\n* Fix ZeroDivisionError\r\n\r\n* More mypy\r\n\r\n* More mypy\r\n\r\n* More mypy\r\n\r\n* Add mypy into precommit\r\n\r\n* Pin mypy in precommit\r\n\r\n* Add mypy CI job\r\n\r\n* Remove mypy from pre-commit\r\n\r\n* Move mypy to dev installation\r\n\r\n* Document mypy\r\n\r\n* Ignore missing IPython stubs\r\n\r\n* Static-type and refactor barplot cats, add more tests\r\n\r\n* Static-type picard\r\n\r\n* Mypy bcftools, add tests for barplot: single cats, mupltiple datasets\r\n\r\n* Mypy kallisto\r\n\r\n* Mypy samtools\r\n\r\n* Mypy profile_runtime\r\n\r\n* Fix star module and mypyise\r\n\r\n* Mypy setup.py","sha":"23ae335f4ac54e997dffcfce1b03f5dc36558f8e","created_at":"2024-07-02 02:57","time_from_now":"1年前","created_at_unix":1719860265}}]},"projectMenu":[{"menu_name":"home"},{"menu_name":"code"},{"menu_name":"issues"},{"menu_name":"pulls"},{"menu_name":"devops"},{"menu_name":"versions"},{"menu_name":"wiki"},{"menu_name":"resources"},{"menu_name":"activity"}],"projectReadMe":"%7B%22type%22%3A%22file%22%2C%22encoding%22%3A%22base64%22%2C%22size%22%3A6155%2C%22name%22%3A%22README.md%22%2C%22path%22%3A%22README.md%22%2C%22content%22%3A%22%3Ch1%3E%5Cn%3Cpicture%3E%5Cn%20%20%3Csource%20media%3D%5C%22(prefers-color-scheme%3A%20dark)%5C%22%20srcset%3D%5C%22https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fraw%2Fmain%2Fdocs%2Fimages%2FMultiQC_logo_darkbg.png%5C%22%3E%5Cn%20%20%3Csource%20media%3D%5C%22(prefers-color-scheme%3A%20light)%5C%22%20srcset%3D%5C%22https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fraw%2Fmain%2Fdocs%2Fimages%2FMultiQC_logo.png%5C%22%3E%5Cn%20%20%3Cimg%20src%3D%5C%22https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fraw%2Fmain%2Fdocs%2Fimages%2FMultiQC_logo.png%5C%22%20alt%3D%5C%22MultiQC%5C%22%3E%5Cn%3C%2Fpicture%3E%5Cn%3C%2Fh1%3E%5Cn%5Cn%23%23%23%20Aggregate%20bioinformatics%20results%20across%20many%20samples%20into%20a%20single%20report%5Cn%5Cn%23%23%23%23%23%20Find%20%5Bdocumentation%5D(https%3A%2F%2Fdocs.seqera.io%2Fmultiqc)%20and%20%5Bexample%20reports%5D(https%3A%2F%2Fseqera.io%2Fmultiqc%2F%23reports)%20at%20%5Bhttps%3A%2F%2Fseqera.io%2Fmultiqc%2F%5D(https%3A%2F%2Fseqera.io%2Fmultiqc%2F)%5Cn%5Cn%5B!%5BPyPI%20Version%5D(https%3A%2F%2Fimg.shields.io%2Fpypi%2Fv%2Fmultiqc)%5D(https%3A%2F%2Fpypi.python.org%2Fpypi%2Fmultiqc%2F)%5Cn%5B!%5BBioconda%20Version%5D(https%3A%2F%2Fimg.shields.io%2Fconda%2Fv%2Fbioconda%2Fmultiqc%3Flabel%3Dbioconda)%5D(https%3A%2F%2Fbioconda.github.io%2Frecipes%2Fmultiqc%2FREADME.html)%5Cn%5B!%5BDOI%5D(https%3A%2F%2Fimg.shields.io%2Fbadge%2FDOI-10.1093%252Fbioinformatics%252Fbtw354-red.svg)%5D(http%3A%2F%2Fdx.doi.org%2F10.1093%2Fbioinformatics%2Fbtw354)%5Cn%5Cn---%5Cn%5CnMultiQC%20is%20a%20tool%20to%20create%20a%20single%20report%20with%20interactive%20plots%20for%20multiple%20bioinformatics%20analyses%20across%20many%20samples.%5Cn%5CnReports%20are%20generated%20by%20scanning%20given%20directories%20for%20recognised%20log%20files.%5CnThese%20are%20parsed%20and%20a%20single%20HTML%20report%20is%20generated%20summarising%20the%20statistics%5Cnfor%20all%20logs%20found.%20MultiQC%20reports%20can%20describe%20multiple%20analysis%20steps%20and%5Cnlarge%20numbers%20of%20samples%20within%20a%20single%20plot%2C%20and%20multiple%20analysis%20tools%20making%5Cnit%20ideal%20for%20routine%20fast%20quality%20control.%5Cn%5CnA%20very%20large%20number%20of%20Bioinformatics%20tools%20are%20supported%20by%20MultiQC.%20Please%20see%20the%20MultiQC%20website%20for%20a%20%5Bcomplete%20list%5D(https%3A%2F%2Fdocs.seqera.io%2Fmultiqc%2Fmodules%2F).%5CnMultiQC%20can%20also%20easily%20parse%20data%20from%20custom%20scripts%2C%20if%20correctly%20formatted%20%2F%20configured%20-%20a%20feature%20called%20%5BCustom%20Content%5D(https%3A%2F%2Fdocs.seqera.io%2Fmultiqc%2Fcustom_content).%5Cn%5CnMore%20modules%20are%20being%20written%20all%20the%20time.%20Please%20suggest%20any%20ideas%20as%20a%20new%5Cn%5Bissue%5D(https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fissues)%20_(please%20include%20example%20log%20files)_.%5Cn%5Cn%23%23%20Installation%5Cn%5CnYou%20can%20install%20MultiQC%20using%20%5Buv%5D(https%3A%2F%2Fdocs.astral.sh%2Fuv%2F)%20(no%20separate%20Python%20installation%20required)%3A%5Cn%5Cn%60%60%60bash%5Cnuv%20tool%20install%20multiqc%5Cn%60%60%60%5Cn%5CnAlternatively%2C%20install%20from%20%5BPyPI%5D(https%3A%2F%2Fpypi.python.org%2Fpypi%2Fmultiqc%2F)%20using%20%60pip%60%3A%5Cn%5Cn%60%60%60bash%5Cnpip%20install%20multiqc%5Cn%60%60%60%5Cn%5CnOr%20install%20using%20%5BConda%5D(http%3A%2F%2Fanaconda.org%2F)%5Cnfrom%20%5BBioconda%5D(https%3A%2F%2Fbioconda.github.io%2F)%20(%5Bset%20up%20your%20channels%5D(https%3A%2F%2Fbioconda.github.io%2F%23usage)%20first)%3A%5Cn%5Cn%60%60%60bash%5Cnconda%20install%20multiqc%5Cn%60%60%60%5Cn%5CnIf%20you%20would%20like%20the%20development%20version%20from%20GitHub%20instead%2C%20you%20can%20install%20it%20with%20%60uv%60%20or%20%60pip%60%3A%5Cn%5Cn%60%60%60bash%5Cnuv%20tool%20install%20git%2Bhttps%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC.git%5Cn%60%60%60%5Cn%5Cn%60%60%60bash%5Cnpip%20install%20--upgrade%20--force-reinstall%20git%2Bhttps%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC.git%5Cn%60%60%60%5Cn%5CnMultiQC%20is%20also%20available%20via%20Docker%20and%20Singularity%20images%2C%20Galaxy%20wrappers%2C%20and%5Cnmany%20more%20distribution%20methods.%5CnSee%20%5Bthe%20documentation%5D(https%3A%2F%2Fdocs.seqera.io%2Fmultiqc%2Fgetting_started%2Finstallation%2F)%20for%20details.%5Cn%5Cn%23%23%20Usage%5Cn%5CnOnce%20installed%2C%20you%20can%20use%20MultiQC%20by%20navigating%20to%20your%20analysis%20directory%5Cn(or%20a%20parent%20directory)%20and%20running%20the%20tool%3A%5Cn%5Cn%60%60%60bash%5Cnmultiqc%20.%5Cn%60%60%60%5Cn%5CnThat's%20it!%20MultiQC%20will%20scan%20the%20specified%20directory%20(%60.%60%20is%20the%20current%20dir)%5Cnand%20produce%20a%20report%20detailing%20whatever%20it%20finds.%5Cn%5Cn%3C!--%20RICH-CODEX%5Cnfake_command%3A%20%5C%22multiqc%20.%5C%22%5Cnimg_paths%3A%5Cn%20%20-%20%5C%22docs%2Fimages%2Fscreenshots%2Ffastqc-run.svg%5C%22%5Cn--%3E%5Cn%5Cn!%5B%60cd%20test-data%2Fdata%2Fmodules%2Ffastqc%2Fv0.10.1%20%26%26%20multiqc%20.%60%5D(https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fraw%2Fmain%2Fdocs%2Fimages%2Fscreenshots%2Ffastqc-run.svg)%5Cn%5CnThe%20report%20is%20created%20in%20%60multiqc_report.html%60%20by%20default.%20Tab-delimited%20data%5Cnfiles%20are%20also%20created%20in%20%60multiqc_data%2F%60%2C%20containing%20extra%20information.%5CnThese%20can%20be%20easily%20inspected%20using%20Excel%20(use%20%60--data-format%60%20to%20get%20%60yaml%60%5Cnor%20%60json%60%20instead).%5Cn%5CnFor%20more%20detailed%20instructions%2C%20run%20%60multiqc%20-h%60%20or%20see%20the%5Cn%5Bdocumentation%5D(https%3A%2F%2Fdocs.seqera.io%2Fmultiqc%2Fgetting_started%2Frunning_multiqc).%5Cn%5Cn%23%23%20Citation%5Cn%5CnPlease%20consider%20citing%20MultiQC%20if%20you%20use%20it%20in%20your%20analysis.%5Cn%5Cn%3E%20**MultiQC%3A%20Summarize%20analysis%20results%20for%20multiple%20tools%20and%20samples%20in%20a%20single%20report.**%20%3Cbr%3E%20_Philip%20Ewels%2C%20M%C3%A5ns%20Magnusson%2C%20Sverker%20Lundin%20and%20Max%20K%C3%A4ller_%20%3Cbr%3E%5Cn%3E%20Bioinformatics%20(2016)%20%3Cbr%3E%5Cn%3E%20doi%3A%20%5B10.1093%2Fbioinformatics%2Fbtw354%5D(http%3A%2F%2Fdx.doi.org%2F10.1093%2Fbioinformatics%2Fbtw354)%20%3Cbr%3E%5Cn%3E%20PMID%3A%20%5B27312411%5D(http%3A%2F%2Fwww.ncbi.nlm.nih.gov%2Fpubmed%2F27312411)%5Cn%5Cn%60%60%60BibTeX%5Cn%40article%7Bdoi%3A10.1093%2Fbioinformatics%2Fbtw354%2C%5Cn%20author%20%3D%20%7BEwels%2C%20Philip%20and%20Magnusson%2C%20M%C3%A5ns%20and%20Lundin%2C%20Sverker%20and%20K%C3%A4ller%2C%20Max%7D%2C%5Cn%20title%20%3D%20%7BMultiQC%3A%20summarize%20analysis%20results%20for%20multiple%20tools%20and%20samples%20in%20a%20single%20report%7D%2C%5Cn%20journal%20%3D%20%7BBioinformatics%7D%2C%5Cn%20volume%20%3D%20%7B32%7D%2C%5Cn%20number%20%3D%20%7B19%7D%2C%5Cn%20pages%20%3D%20%7B3047%7D%2C%5Cn%20year%20%3D%20%7B2016%7D%2C%5Cn%20doi%20%3D%20%7B10.1093%2Fbioinformatics%2Fbtw354%7D%2C%5Cn%20URL%20%3D%20%7B%20%2B%20http%3A%2F%2Fdx.doi.org%2F10.1093%2Fbioinformatics%2Fbtw354%7D%2C%5Cn%20eprint%20%3D%20%7B%2Foup%2Fbackfile%2FContent_public%2FJournal%2Fbioinformatics%2F32%2F19%2F10.1093_bioinformatics_btw354%2F3%2Fbtw354.pdf%7D%5Cn%7D%5Cn%60%60%60%5Cn%5Cn%23%23%20Contributions%20%26%20Support%5Cn%5CnContributions%20and%20suggestions%20for%20new%20features%20are%20welcome%2C%20as%20are%20bug%20reports!%5CnPlease%20create%20a%20new%20%5Bissue%5D(https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fissues)%20for%20any%5Cnof%20these%2C%20including%20example%20reports%20where%20possible.%5CnPull-requests%20for%20fixes%20and%20additions%20are%20very%20welcome.%5CnPlease%20see%20the%20%5Bcontributing%20notes%5D(https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fblob%2Fmain%2F.github%2FCONTRIBUTING.md)%20for%20more%20information%20about%20how%20the%20process%20works.%5Cn%5CnMultiQC%20has%20extensive%20%5Bdocumentation%5D(https%3A%2F%2Fdocs.seqera.io%2Fmultiqc%2Fdevelopment)%5Cndescribing%20how%20to%20write%20new%20modules%2C%20plugins%20and%20templates.%5Cn%5CnIf%20in%20doubt%2C%20feel%20free%20to%20get%20in%20touch%20with%20the%20author%20directly%3A%5Cn%5B%40ewels%5D(https%3A%2F%2Fgithub.com%2Fewels)%20(phil.ewels%40seqera.io)%5Cn%5Cn%23%23%23%20Contributors%5Cn%5CnMultiQC%20is%20developed%20and%20maintained%20by%20Phil%20Ewels%20(%5B%40ewels%5D(https%3A%2F%2Fgithub.com%2Fewels))%20at%20%5BSeqera%20Labs%5D(https%3A%2F%2Fseqera.io%2F).%5CnIt%20was%20originally%20written%20at%20the%20%5BNational%20Genomics%20Infrastructure%5D(https%3A%2F%2Fngisweden.scilifelab.se%2F)%2C%20part%20of%20%5BSciLifeLab%5D(https%3A%2F%2Fwww.scilifelab.se%2F)%20in%20Sweden.%5Cn%5CnA%20huge%20thank%20you%20to%20all%20code%20contributors%20-%20there%20are%20a%20lot%20of%20you!%5CnSee%20the%20%5BContributors%20Graph%5D(https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fgraphs%2Fcontributors)%20for%20details.%5Cn%5CnMultiQC%20is%20released%20under%20the%20GPL%20v3%20or%20later%20licence.%5Cn%22%2C%22sha%22%3A%22ffd941a6922cb77bb0da63b0253f7fc256fe35ae%22%2C%22replace_content%22%3A%22%3Ch1%3E%5Cn%3Cpicture%3E%5Cn%20%20%3Csource%20media%3D%5C%22(prefers-color-scheme%3A%20dark)%5C%22%20srcset%3D%5C%22https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fraw%2Fmain%2Fdocs%2Fimages%2FMultiQC_logo_darkbg.png%5C%22%3E%5Cn%20%20%3Csource%20media%3D%5C%22(prefers-color-scheme%3A%20light)%5C%22%20srcset%3D%5C%22https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fraw%2Fmain%2Fdocs%2Fimages%2FMultiQC_logo.png%5C%22%3E%5Cn%20%20%3Cimg%20src%3D%5C%22https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fraw%2Fmain%2Fdocs%2Fimages%2FMultiQC_logo.png%5C%22%20alt%3D%5C%22MultiQC%5C%22%3E%5Cn%3C%2Fpicture%3E%5Cn%3C%2Fh1%3E%5Cn%5Cn%23%23%23%20Aggregate%20bioinformatics%20results%20across%20many%20samples%20into%20a%20single%20report%5Cn%5Cn%23%23%23%23%23%20Find%20%5Bdocumentation%5D(https%3A%2F%2Fdocs.seqera.io%2Fmultiqc)%20and%20%5Bexample%20reports%5D(https%3A%2F%2Fseqera.io%2Fmultiqc%2F%23reports)%20at%20%5Bhttps%3A%2F%2Fseqera.io%2Fmultiqc%2F%5D(https%3A%2F%2Fseqera.io%2Fmultiqc%2F)%5Cn%5Cn%5B!%5BPyPI%20Version%5D(https%3A%2F%2Fimg.shields.io%2Fpypi%2Fv%2Fmultiqc)%5D(https%3A%2F%2Fpypi.python.org%2Fpypi%2Fmultiqc%2F)%5Cn%5B!%5BBioconda%20Version%5D(https%3A%2F%2Fimg.shields.io%2Fconda%2Fv%2Fbioconda%2Fmultiqc%3Flabel%3Dbioconda)%5D(https%3A%2F%2Fbioconda.github.io%2Frecipes%2Fmultiqc%2FREADME.html)%5Cn%5B!%5BDOI%5D(https%3A%2F%2Fimg.shields.io%2Fbadge%2FDOI-10.1093%252Fbioinformatics%252Fbtw354-red.svg)%5D(http%3A%2F%2Fdx.doi.org%2F10.1093%2Fbioinformatics%2Fbtw354)%5Cn%5Cn---%5Cn%5CnMultiQC%20is%20a%20tool%20to%20create%20a%20single%20report%20with%20interactive%20plots%20for%20multiple%20bioinformatics%20analyses%20across%20many%20samples.%5Cn%5CnReports%20are%20generated%20by%20scanning%20given%20directories%20for%20recognised%20log%20files.%5CnThese%20are%20parsed%20and%20a%20single%20HTML%20report%20is%20generated%20summarising%20the%20statistics%5Cnfor%20all%20logs%20found.%20MultiQC%20reports%20can%20describe%20multiple%20analysis%20steps%20and%5Cnlarge%20numbers%20of%20samples%20within%20a%20single%20plot%2C%20and%20multiple%20analysis%20tools%20making%5Cnit%20ideal%20for%20routine%20fast%20quality%20control.%5Cn%5CnA%20very%20large%20number%20of%20Bioinformatics%20tools%20are%20supported%20by%20MultiQC.%20Please%20see%20the%20MultiQC%20website%20for%20a%20%5Bcomplete%20list%5D(https%3A%2F%2Fdocs.seqera.io%2Fmultiqc%2Fmodules%2F).%5CnMultiQC%20can%20also%20easily%20parse%20data%20from%20custom%20scripts%2C%20if%20correctly%20formatted%20%2F%20configured%20-%20a%20feature%20called%20%5BCustom%20Content%5D(https%3A%2F%2Fdocs.seqera.io%2Fmultiqc%2Fcustom_content).%5Cn%5CnMore%20modules%20are%20being%20written%20all%20the%20time.%20Please%20suggest%20any%20ideas%20as%20a%20new%5Cn%5Bissue%5D(https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fissues)%20_(please%20include%20example%20log%20files)_.%5Cn%5Cn%23%23%20Installation%5Cn%5CnYou%20can%20install%20MultiQC%20using%20%5Buv%5D(https%3A%2F%2Fdocs.astral.sh%2Fuv%2F)%20(no%20separate%20Python%20installation%20required)%3A%5Cn%5Cn%60%60%60bash%5Cnuv%20tool%20install%20multiqc%5Cn%60%60%60%5Cn%5CnAlternatively%2C%20install%20from%20%5BPyPI%5D(https%3A%2F%2Fpypi.python.org%2Fpypi%2Fmultiqc%2F)%20using%20%60pip%60%3A%5Cn%5Cn%60%60%60bash%5Cnpip%20install%20multiqc%5Cn%60%60%60%5Cn%5CnOr%20install%20using%20%5BConda%5D(http%3A%2F%2Fanaconda.org%2F)%5Cnfrom%20%5BBioconda%5D(https%3A%2F%2Fbioconda.github.io%2F)%20(%5Bset%20up%20your%20channels%5D(https%3A%2F%2Fbioconda.github.io%2F%23usage)%20first)%3A%5Cn%5Cn%60%60%60bash%5Cnconda%20install%20multiqc%5Cn%60%60%60%5Cn%5CnIf%20you%20would%20like%20the%20development%20version%20from%20GitHub%20instead%2C%20you%20can%20install%20it%20with%20%60uv%60%20or%20%60pip%60%3A%5Cn%5Cn%60%60%60bash%5Cnuv%20tool%20install%20git%2Bhttps%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC.git%5Cn%60%60%60%5Cn%5Cn%60%60%60bash%5Cnpip%20install%20--upgrade%20--force-reinstall%20git%2Bhttps%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC.git%5Cn%60%60%60%5Cn%5CnMultiQC%20is%20also%20available%20via%20Docker%20and%20Singularity%20images%2C%20Galaxy%20wrappers%2C%20and%5Cnmany%20more%20distribution%20methods.%5CnSee%20%5Bthe%20documentation%5D(https%3A%2F%2Fdocs.seqera.io%2Fmultiqc%2Fgetting_started%2Finstallation%2F)%20for%20details.%5Cn%5Cn%23%23%20Usage%5Cn%5CnOnce%20installed%2C%20you%20can%20use%20MultiQC%20by%20navigating%20to%20your%20analysis%20directory%5Cn(or%20a%20parent%20directory)%20and%20running%20the%20tool%3A%5Cn%5Cn%60%60%60bash%5Cnmultiqc%20.%5Cn%60%60%60%5Cn%5CnThat's%20it!%20MultiQC%20will%20scan%20the%20specified%20directory%20(%60.%60%20is%20the%20current%20dir)%5Cnand%20produce%20a%20report%20detailing%20whatever%20it%20finds.%5Cn%5Cn%3C!--%20RICH-CODEX%5Cnfake_command%3A%20%5C%22multiqc%20.%5C%22%5Cnimg_paths%3A%5Cn%20%20-%20%5C%22docs%2Fimages%2Fscreenshots%2Ffastqc-run.svg%5C%22%5Cn--%3E%5Cn%5Cn!%5B%60cd%20test-data%2Fdata%2Fmodules%2Ffastqc%2Fv0.10.1%20%26%26%20multiqc%20.%60%5D(https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fraw%2Fmain%2Fdocs%2Fimages%2Fscreenshots%2Ffastqc-run.svg)%5Cn%5CnThe%20report%20is%20created%20in%20%60multiqc_report.html%60%20by%20default.%20Tab-delimited%20data%5Cnfiles%20are%20also%20created%20in%20%60multiqc_data%2F%60%2C%20containing%20extra%20information.%5CnThese%20can%20be%20easily%20inspected%20using%20Excel%20(use%20%60--data-format%60%20to%20get%20%60yaml%60%5Cnor%20%60json%60%20instead).%5Cn%5CnFor%20more%20detailed%20instructions%2C%20run%20%60multiqc%20-h%60%20or%20see%20the%5Cn%5Bdocumentation%5D(https%3A%2F%2Fdocs.seqera.io%2Fmultiqc%2Fgetting_started%2Frunning_multiqc).%5Cn%5Cn%23%23%20Citation%5Cn%5CnPlease%20consider%20citing%20MultiQC%20if%20you%20use%20it%20in%20your%20analysis.%5Cn%5Cn%3E%20**MultiQC%3A%20Summarize%20analysis%20results%20for%20multiple%20tools%20and%20samples%20in%20a%20single%20report.**%20%3Cbr%3E%20_Philip%20Ewels%2C%20M%C3%A5ns%20Magnusson%2C%20Sverker%20Lundin%20and%20Max%20K%C3%A4ller_%20%3Cbr%3E%5Cn%3E%20Bioinformatics%20(2016)%20%3Cbr%3E%5Cn%3E%20doi%3A%20%5B10.1093%2Fbioinformatics%2Fbtw354%5D(http%3A%2F%2Fdx.doi.org%2F10.1093%2Fbioinformatics%2Fbtw354)%20%3Cbr%3E%5Cn%3E%20PMID%3A%20%5B27312411%5D(http%3A%2F%2Fwww.ncbi.nlm.nih.gov%2Fpubmed%2F27312411)%5Cn%5Cn%60%60%60BibTeX%5Cn%40article%7Bdoi%3A10.1093%2Fbioinformatics%2Fbtw354%2C%5Cn%20author%20%3D%20%7BEwels%2C%20Philip%20and%20Magnusson%2C%20M%C3%A5ns%20and%20Lundin%2C%20Sverker%20and%20K%C3%A4ller%2C%20Max%7D%2C%5Cn%20title%20%3D%20%7BMultiQC%3A%20summarize%20analysis%20results%20for%20multiple%20tools%20and%20samples%20in%20a%20single%20report%7D%2C%5Cn%20journal%20%3D%20%7BBioinformatics%7D%2C%5Cn%20volume%20%3D%20%7B32%7D%2C%5Cn%20number%20%3D%20%7B19%7D%2C%5Cn%20pages%20%3D%20%7B3047%7D%2C%5Cn%20year%20%3D%20%7B2016%7D%2C%5Cn%20doi%20%3D%20%7B10.1093%2Fbioinformatics%2Fbtw354%7D%2C%5Cn%20URL%20%3D%20%7B%20%2B%20http%3A%2F%2Fdx.doi.org%2F10.1093%2Fbioinformatics%2Fbtw354%7D%2C%5Cn%20eprint%20%3D%20%7B%2Foup%2Fbackfile%2FContent_public%2FJournal%2Fbioinformatics%2F32%2F19%2F10.1093_bioinformatics_btw354%2F3%2Fbtw354.pdf%7D%5Cn%7D%5Cn%60%60%60%5Cn%5Cn%23%23%20Contributions%20%26%20Support%5Cn%5CnContributions%20and%20suggestions%20for%20new%20features%20are%20welcome%2C%20as%20are%20bug%20reports!%5CnPlease%20create%20a%20new%20%5Bissue%5D(https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fissues)%20for%20any%5Cnof%20these%2C%20including%20example%20reports%20where%20possible.%5CnPull-requests%20for%20fixes%20and%20additions%20are%20very%20welcome.%5CnPlease%20see%20the%20%5Bcontributing%20notes%5D(https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fblob%2Fmain%2F.github%2FCONTRIBUTING.md)%20for%20more%20information%20about%20how%20the%20process%20works.%5Cn%5CnMultiQC%20has%20extensive%20%5Bdocumentation%5D(https%3A%2F%2Fdocs.seqera.io%2Fmultiqc%2Fdevelopment)%5Cndescribing%20how%20to%20write%20new%20modules%2C%20plugins%20and%20templates.%5Cn%5CnIf%20in%20doubt%2C%20feel%20free%20to%20get%20in%20touch%20with%20the%20author%20directly%3A%5Cn%5B%40ewels%5D(https%3A%2F%2Fgithub.com%2Fewels)%20(phil.ewels%40seqera.io)%5Cn%5Cn%23%23%23%20Contributors%5Cn%5CnMultiQC%20is%20developed%20and%20maintained%20by%20Phil%20Ewels%20(%5B%40ewels%5D(https%3A%2F%2Fgithub.com%2Fewels))%20at%20%5BSeqera%20Labs%5D(https%3A%2F%2Fseqera.io%2F).%5CnIt%20was%20originally%20written%20at%20the%20%5BNational%20Genomics%20Infrastructure%5D(https%3A%2F%2Fngisweden.scilifelab.se%2F)%2C%20part%20of%20%5BSciLifeLab%5D(https%3A%2F%2Fwww.scilifelab.se%2F)%20in%20Sweden.%5Cn%5CnA%20huge%20thank%20you%20to%20all%20code%20contributors%20-%20there%20are%20a%20lot%20of%20you!%5CnSee%20the%20%5BContributors%20Graph%5D(https%3A%2F%2Fgithub.com%2FMultiQC%2FMultiQC%2Fgraphs%2Fcontributors)%20for%20details.%5Cn%5CnMultiQC%20is%20released%20under%20the%20GPL%20v3%20or%20later%20licence.%5Cn%22%7D"},"zoneReducer":{"zoneDetail":"","newsDetail":""}}
目录
Phil Ewels

Require maintainer access for /review command (#3576)

  • Add write-access check to /review trigger workflow

Skip the Claude code review when the commenter does not have write (or admin) access to the repository. The permission is checked via the GitHub API before any other steps run. If the user lacks access, subsequent steps (checkout, save PR info, upload artifact) are skipped, which prevents the downstream claude-code-review workflow from running.

Co-authored-by: Phil Ewels phil.ewels@seqera.io

  • Simplify access check: fail early, allow admin/maintain/write

Replace the previous skip-via-conditionals approach with a single gate step that exits non-zero when the commenter lacks admin, maintain, or write permission. This fails the trigger workflow, so the downstream claude-code-review workflow naturally skips via its existing conclusion == ‘success’ guard.

Co-authored-by: Phil Ewels phil.ewels@seqera.io


Co-authored-by: Cursor Agent cursoragent@cursor.com

8天前7088次提交

MultiQC

Aggregate bioinformatics results across many samples into a single report

Find documentation and example reports at https://seqera.io/multiqc/

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 using uv (no separate Python installation required):

uv tool install multiqc

Alternatively, install from PyPI using pip:

pip install multiqc

Or 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 uv or pip:

uv tool install git+https://github.com/MultiQC/MultiQC.git
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 distribution methods. 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 (phil.ewels@seqera.io)

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.

关于

与 bcbio 流程集成的 MultiQC 模块或扩展。

68.9 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号