Skip to content

LessUp/MICOS-2024

Repository files navigation

MICOS-2024: 宏基因组综合分析套件

Metagenomic Intelligence and Comprehensive Omics Suite

MICOS Logo

License: MIT Docker WDL QIIME2 Kraken2 GitHub stars

"猛犸杯"生物信息学竞赛参赛项目

快速开始核心功能安装指南使用文档


项目概述

MICOS-2024是一个专为宏基因组学研究设计的综合分析平台,旨在解决宏基因组数据分析中的复杂性和可重现性挑战。该平台整合了多个经过验证的生物信息学工具,提供从原始测序数据到生物学洞察的完整分析流程。

主要特性

  • 标准化工作流:基于WDL的可重现分析流程
  • 容器化部署:Docker/Singularity支持,确保环境一致性
  • 模块化设计:灵活的分析组件,支持自定义流程
  • 多样化输出:丰富的可视化图表和统计报告
  • 高性能计算:优化的并行处理,支持HPC环境

核心功能

分析流程

graph LR
    A[原始FASTQ] --> B[质量控制<br/>KneadData]
    B --> C[物种分类<br/>Kraken2]
    C --> D[格式转换<br/>BIOM]
    D --> E[多样性分析<br/>QIIME2]
    C --> F[可视化<br/>Krona]
    E --> G[统计分析<br/>R/Phyloseq]
    F --> H[交互式报告]
    G --> H
Loading

主要组件

功能模块 工具 版本 描述
质量控制 KneadData/FastQC v0.12.0 宿主DNA去除和序列质量过滤
增强质量控制 自定义Python模块 v1.0.0 高级质量评估和可视化
物种分类 Kraken2 v2.1.3 基于k-mer的快速分类学分类
多样性分析 QIIME2 2024.5 Alpha/Beta多样性计算和统计检验
差异丰度分析 DESeq2/ALDEx2/ANCOM-BC - 多种差异分析方法
功能注释 KEGG/COG/Pfam - 功能基因注释和通路分析
系统发育分析 FastTree/MUSCLE - 系统发育树构建和分析
16S rRNA分析 DADA2/QIIME2 - 扩增子序列分析流程
宏转录组分析 Salmon/DESeq2 - RNA-seq数据分析和功能注释
网络分析 NetworkX/igraph - 微生物共现网络构建和分析
可视化 Krona/Plotly v2.8.1 交互式分类学组成图表
统计分析 R/Phyloseq - 高级统计分析和可视化

技术特性

  • 工作流管理:WDL工作流引擎,支持断点续传和错误恢复
  • 并行计算:多线程处理,支持HPC集群部署
  • 容器化:Docker/Singularity支持,确保环境隔离
  • 可扩展性:模块化设计,便于集成新的分析工具
  • 可重现性:版本锁定和容器化确保结果一致性
  • 标准兼容:输出格式兼容QIIME2、Phyloseq、LEfSe等主流工具

性能基准

数据集规模 样本数量 处理时间 内存使用
小型 10个样本 ~2小时 16GB
中型 50个样本 ~8小时 32GB
大型 100个样本 ~15小时 64GB

基准测试基于标准Kraken2数据库,使用16核CPU环境

快速开始

系统要求

  • 操作系统: Linux (Ubuntu 20.04+) 或 macOS
  • 内存: 最少16GB,推荐32GB+
  • 存储: 至少100GB可用空间
  • CPU: 多核处理器,推荐16核+

Docker安装(推荐)

# 克隆项目
git clone https://github.com/BGI-MICOS/MICOS-2024.git
cd MICOS-2024

# 启动服务
docker-compose up -d

# 运行测试
./scripts/run_test_data.sh

Conda安装

# 安装Miniforge
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh

# 创建环境
git clone https://github.com/BGI-MICOS/MICOS-2024.git
cd MICOS-2024
mamba env create -f environment.yml
conda activate micos-2024

# 验证安装
./scripts/verify_installation.sh

项目结构 (Project Structure)

.
├── .gitignore               # Git 忽略规则
├── README.md                # 项目入口和文档
├── LICENSE                  # 开源许可证
├── CONTRIBUTING.md          # 贡献指南
├── CODE_OF_CONDUCT.md       # 社区行为准则
├── config/                  # 配置文件
│   └── config.conf
├── data/                    # 数据 (通常不提交到 Git)
│   └── raw_input/           # 原始输入数据
├── docs/                    # 详细文档和图片
│   ├── taxonomic-profiling.md
│   ├── functional-profiling.md
│   └── images/
│       └── img.png
├── results/                 # 分析结果 (通常不提交到 Git)
├── scripts/                 # 通用或遗留脚本
│   └── legacy_scripts/
├── workflows/               # 工作流定义 (WDL)
│   ├── origin-HUMAnN.wdl
│   └── wdl_scripts/         # 其他 WDL 相关脚本
├── steps/                   # 各分析步骤的脚本/说明
│   ├── 01_quality_control/
│   ├── 02_read_cleaning/
│   ├── 03_taxonomic_profiling_kraken/
│   ├── 04_taxonomic_conversion_biom/
│   ├── 05_taxonomic_visualization_krona/
│   ├── 06_qiime2_analysis/
│   ├── 07_phyloseq_analysis/
│   ├── 08_megan_analysis/
│   ├── 09_qiime2_whole_analysis/
│   └── ...                  # 其他步骤
└── containers/              # 容器构建文件
    └── sif_build/

安装指南

详细的安装说明请参考:📖 完整安装指南

数据库下载

MICOS-2024需要以下参考数据库:

  • Kraken2数据库: 用于分类学分类(~100GB)
  • KneadData数据库: 用于宿主DNA去除
  • QIIME2分类器: 用于分类学注释

数据库下载脚本:

# 下载所有必需数据库
./scripts/download_databases.sh

# 或单独下载
./scripts/download_kraken2_db.sh
./scripts/download_kneaddata_db.sh

配置

配置文件

config/
├── analysis.yaml        # 分析参数配置
├── databases.yaml       # 数据库路径配置
└── samples.tsv          # 样本元数据

快速配置

# 复制配置模板
cp config/analysis.yaml.template config/analysis.yaml
cp config/databases.yaml.template config/databases.yaml
cp config/samples.tsv.template config/samples.tsv

# 编辑配置文件
nano config/analysis.yaml
nano config/databases.yaml
nano config/samples.tsv

详细配置说明请参考:⚙️ 配置指南

使用指南

基本用法

# 1. 准备数据
mkdir -p data/raw_input
cp /path/to/your/*.fastq.gz data/raw_input/

# 2. 配置分析参数
cp config/analysis.yaml.template config/analysis.yaml
# 编辑配置文件...

# 3. 运行完整分析
./scripts/run_full_analysis.sh

# 4. 查看结果
firefox results/reports/analysis_report.html

模块化运行

# 基础分析模块
./scripts/run_module.sh quality_control
./scripts/run_module.sh enhanced_qc
./scripts/run_module.sh taxonomic_profiling
./scripts/run_module.sh diversity_analysis

# 高级分析模块
./scripts/run_module.sh differential_abundance
./scripts/run_module.sh functional_annotation
./scripts/run_module.sh phylogenetic_analysis
./scripts/run_module.sh network_analysis

# 专业分析模块
./scripts/run_module.sh amplicon_analysis      # 16S rRNA分析
./scripts/run_module.sh metatranscriptome      # 宏转录组分析

# 可视化和报告
./scripts/run_module.sh visualization
./scripts/run_module.sh report_generation

工作流运行

# 使用WDL工作流
java -jar cromwell.jar run \
  workflows/wdl_scripts/meta-dev.wdl \
  --inputs config/analysis.json

详细使用说明请参考:📖 用户手册

输出结果

主要输出

类型 位置 描述
分析报告 results/reports/ HTML格式的交互式报告
质量控制 results/quality_control/ FastQC和MultiQC报告
增强质量控制 results/enhanced_qc/ 高级质量评估和可视化报告
物种分类 results/taxonomic_profiling/ Kraken2分类结果和Krona图表
多样性分析 results/diversity_analysis/ Alpha/Beta多样性指标和图表
差异丰度分析 results/differential_abundance/ DESeq2/ALDEx2/ANCOM-BC结果
功能注释 results/functional_annotation/ KEGG/COG/Pfam注释结果
系统发育分析 results/phylogenetic_analysis/ 系统发育树和进化分析
16S rRNA分析 results/amplicon_analysis/ 扩增子序列分析结果
宏转录组分析 results/metatranscriptome/ RNA-seq分析和功能注释
网络分析 results/network_analysis/ 微生物共现网络和拓扑分析
统计表格 results/tables/ CSV/TSV格式的数据表

可视化输出

  • Krona交互式图表: 分类学组成的层次结构展示
  • 多样性分析图: Alpha/Beta多样性箱线图和PCoA图
  • 丰度热图: 样本间物种丰度比较
  • 差异分析图: 火山图、MA图和差异物种热图
  • 功能注释图: KEGG通路图和GO富集分析
  • 系统发育树: 交互式系统发育树可视化
  • 网络图: 微生物共现网络和模块分析
  • 质量控制图: 序列质量、GC含量和复杂度分析
  • 统计检验结果: 差异分析和生物标志物发现

文档

文档 描述
用户手册 完整的安装和使用指南
配置指南 详细的配置参数说明
故障排除 常见问题和解决方案
分类学分析 物种分类分析流程

贡献

我们欢迎社区贡献!请查看 贡献指南 了解详情。

获取帮助

许可证

本项目采用 MIT许可证

致谢

感谢以下开源项目:


MICOS-2024: 宏基因组综合分析套件

GitHub stars