MIT License

项目介绍

epigen/MrBiomics 是一个托管在 GitHub 上的开源项目,主要使用 R 编写,采用 MIT License 许可证,目前获得 177 个 Star、3 次 Fork。

仓库全名
epigen/MrBiomics
开源许可证
MIT License
Star 数
177
Fork 数
3
未关闭 Issue
38

README 摘要

🚀🧬 MrBiomics: Composable m odules and r ecipes automate bi oinformatics for multi- omics analyses "For many outcomes, roughly 80% of consequences come from 20% of causes (the "vital few")." - The Pareto Principle by Vilfredo Pareto Get 80% of all standard (biomedical) data science analyses done semi-automated with 20% of the effort, by leveraging Snakemake's module functionality to use and combine pre-existing…

完整内容见 GitHub 原始 README 或本页 。

常见问题

MrBiomics 用什么语言开发?

主要使用 R 编写,采用 MIT License 许可证,目前有 177 个 Star。

MrBiomics 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 MrBiomics 的源码?

可以直接克隆仓库:git clone https://github.com/epigen/MrBiomics.git,默认分支为 main;安装与运行步骤见仓库 README。

MrBiomics 最近还在维护吗?

仓库最近一次更新为 8月4日,当前有 38 个未关闭 Issue;Star 数为 177,可作为社区活跃度的参考。

关于

MrBiomics: Composable modules and recipes automate bioinformatics for multi-omics analyses

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

语言占比

Python
R
Shell

README

🚀🧬 MrBiomics: Composable modules and recipes automate bioinformatics for multi-omics analyses

“For many outcomes, roughly 80% of consequences come from 20% of causes (the “vital few”).” - The Pareto Principle by Vilfredo Pareto

Get 80% of all standard (biomedical) data science analyses done semi-automated with 20% of the effort, by leveraging Snakemake’s module functionality to use and combine pre-existing workflows into arbitrarily complex analyses.

[!IMPORTANT]
If you use MrBiomics, please don’t forget to give credit to the authors by citing this original repository and the respective Modules and Recipes.

⚡ Quickstart: 5 Commands to Your First Results!

Stop wrestling with complicated setups and start discovering new biology! Get MrBiomics up and running from scratch (assuming conda is installed) with exactly 5 commands:

conda create -y -n snakemake -c conda-forge -c bioconda snakemake=8.25.3
git clone https://github.com/epigen/MrBiomics.git
cd MrBiomics
conda activate snakemake
snakemake --software-deployment-method conda --cores 1

🎉 Boom! You’re analyzing data! This simple snippet creates your Snakemake environment, fetches MrBiomics, and executes the built-in quickstart analysis.

Tip 提示

⏳ Grab a coffee! It takes around 10 minutes to run the first time as it automatically installs all the required software for you.

Curious about the magic that just happened? Dive deeper and explore MrBiomics’ capabilities starting with our Quickstart!

⏳ TL;DR - More Time for Science!

“Programming is about trying to make the future less painful. It’s about making things easier for our teammates.” from The Pragmatic Programmer by Andy Hunt & Dave Thomas

  • Why: Time is the most precious resource. By taking care of efficiency (i.e., maximum output with limited resources) scientists can re-distribute their time to focus on effectiveness (i.e., the biggest impact possible).
  • How: Functional Knowledge Management. Leverage the latest developments in workflow management to (re-)use and combine independent computational modules into arbitrarily complex analyses to benefit from modern innovation methods (e.g., fast prototyping, design thinking, and agile concepts).
  • What: Independent and single-purpose computational Modules, implemented as Snakemake workflows, encode standard approaches that are used to scale, automate, and parallelize analyses. Recipes combine modules into end-to-end best practice workflows, thereby accelerating analyses to the point of the unknown. Snakemake’s module functionality enables Projects to combine modules, recipes and custom code into arbitrarily complex multi-omics analyses at scale.

Illustration of MrBiomics Modules, Recipes and Projects Illustration of MrBiomics Modules, Recipes and Projects applied to a case study on human hematopoiesis

[!NOTE]
Altogether this enables complex, portable, transparent, reproducible, and documented analyses of multi-mics data at scale.

🧠 Functional Knowledge Management

“The best documentation is automation.” - Wise Person on the Internet

Functional Knowledge Management (FKM) is our knowledge-management approach in which validated best practices are captured as executable software functions, modules, or recipes.

  • Each artefact simultaneously documents the know-how and performs the task, creating a living, testable, and composable code collection that closes the gap between theory and practice.
  • Rigorous modularity and version control keep every function self-contained, tested, and repository-tracked, enabling safe reuse and continuous evolution.
  • As a compounding asset base new functions can be built on earlier ones, steadily expanding an ever-richer compendium of trusted solutions.

🧩 Modules

“Is it functional, multifunctional, durable, well-fitted, simple, easy to maintain, and thoroughly tested? Does it provide added value, and doesn’t cause unnecessary harm? Can it be simpler? Is it an innovation?” - Patagonia Design Principles

Modules are Snakemake workflows, consisting of Rules for multi-step analyses, that are independent, single-purpose, and sufficiently abstracted to be compatible with most up- and downstream analyses. A {module} can be general-purpose (e.g., Unsupervised Analysis) or modality-specific (e.g., ATAC-seq processing). Currently, the following eleven modules are available, roughly ordered by their applicability from general to specific:

Module Type (Data Modality) DOI Version Stars
Unsupervised Analysis General Purpose
(tabular data)
DOI GitHub Release GitHub Repo stars
Fetch NGS Data and Metadata using iSeq Bioinformatics
(NGS data)
DOI GitHub Release GitHub Repo stars
Split, Filter, Normalize and Integrate Sequencing Data Bioinformatics
(NGS counts)
DOI GitHub Release GitHub Repo stars
Differential Analysis with limma Bioinformatics
(NGS data)
DOI GitHub Release GitHub Repo stars
Enrichment Analysis Bioinformatics
(genes/genomic regions)
DOI GitHub Release GitHub Repo stars
Genome Track Visualization Bioinformatics
(aligned BAM files)
DOI GitHub Release GitHub Repo stars
ATAC-seq Processing, Quantification & Annotation Bioinformatics
(ATAC-seq)
DOI GitHub Release GitHub Repo stars
RNA-seq Processing, Quantification & Annotation Bioinformatics
(RNA-seq)
DOI GitHub Release GitHub Repo stars
scRNA-seq Processing using Seurat Bioinformatics
(scRNA-seq)
DOI GitHub Release GitHub Repo stars
Differential Analysis using Seurat Bioinformatics
(scRNA-seq)
DOI GitHub Release GitHub Repo stars
Perturbation Analysis using Mixscape from Seurat Bioinformatics
(scCRISPR-seq)
DOI GitHub Release GitHub Repo stars

[!NOTE]
⭐️ Star and share modules you find valuable 📤 — help others discover them, and guide our future work!

Tip 提示

For detailed instructions on the installation, configuration, and execution of modules, you can check out the wiki. Generic instructions are also shown in the modules’ respective Snakmake workflow catalog entry.

📋 Projects using multiple Modules

“Absorb what is useful. Discard what is not. Add what is uniquely your own.” - Bruce Lee

You can (re-)use and combine pre-existing workflows within your projects by loading them as Modules since Snakemake 6. The combination of multiple modules into projects that analyze multiple datasets represents the overarching vision and power of MrBiomics.

Note 注意

When applied to multiple datasets within a project, each dataset should have its own result directory within the project directory.

Three components are required to use a module within your Snakemake workflow (i.e., a project).

  • Configuration: The config/config.yaml file has to point to the respective configuration files per dataset and workflow.
    #### Datasets and Workflows to include ###
    workflows:
        MyData:
            other_workflow: "config/MyData/MyData_other_workflow_config.yaml"
    
  • Snakefile: Within the main Snakefile (workflow/Snakefile) we have to:
    • load all configurations;
    • include the snakefiles that contain the dataset-specific loaded modules and rules (see next point);
    • and add all modules’ outputs to the target’s rule input.
  • Modules: Load the required modules and their rules within separate snakefiles (*.smk) in the rule/ folder. Recommendation: Use one snakefile per dataset.
      module MyData_other_workflow:
        # here, plain paths, URLs and the special markers for code hosting providers (e.g., github) are possible.
        snakefile: "other_workflow/Snakefile"
        config: config["MyData_other_workflow"]
    
      use rule * from MyData_other_workflow as MyData_other_workflow_*
    
Tip 提示

A full tutorial is available on the wiki.

📜 Recipes

“Civilization advances by extending the number of important operations which we can perform without thinking of them.” - Alfred North Whitehead, author of Principia Mathematica

Recipes are combinations of existing modules into end-to-end best practice analyses. They can be used as templates for standard analyses by leveraging existing modules, thereby enabling fast iterations and progression into the unknown. Every recipe is described and presented using a wiki page by application to a publicly available dataset.

Recipe Description # Modules used
RNA-seq Analysis From raw BAM files to enrichments of differentially expressed genes. 7
ATAC-seq Analysis From raw BAM files to enrichments of differentially accessible regions. 7
Integrative ATAC-seq & RNA-seq Analysis From count matrices to enrichments of epigenetic potential and transcriptional abundance. 4(-7)
scRNA-seq Analysis (WIP) From count matrix to enrichments of differentially expressed genes. 5(-6)
scCRISPR-seq Analysis (WIP) From count matrix to knockout phenotype enrichments. 6(-7)
Tip 提示

For detailed instructions make sure to check out our How to use Recipes guide on the wiki.

[!NOTE]
⭐️ Star this repository and share recipes you find valuable 📤 — help others find them, and guide our future work!

📚 Resources

⭐ Star History of Modules

Star History Chart
Click on the image for an interactive view.

📑 Publications

The following publications have successfully used MrBiomics Modules (red) and/or Recipes (blue):

评论

暂无评论