Skip to content

Commit

Permalink
1.20(2023.10)
Browse files Browse the repository at this point in the history
  • Loading branch information
YongxinLiu committed Oct 5, 2023
1 parent ca80b49 commit ff30e58
Show file tree
Hide file tree
Showing 22 changed files with 490 additions and 136 deletions.
Binary file modified PPT/21扩增子背景介绍.pdf
Binary file not shown.
Binary file modified PPT/22测序数据到特征表.pdf
Binary file not shown.
Binary file modified PPT/23物种多样性分析.pdf
Binary file not shown.
Binary file modified PPT/24差异分析1-R.pdf
Binary file not shown.
Binary file modified PPT/24差异分析2-STAMP.pdf
Binary file not shown.
Binary file modified PPT/24差异分析3-LEfSe.pdf
Binary file not shown.
Binary file modified PPT/25QIIME2扩增子分析流程.pdf
Binary file not shown.
Binary file modified PPT/31功能预测1-PICRUSt.pdf
Binary file not shown.
Binary file modified PPT/31功能预测2-元素循环FAPROTAX.pdf
Binary file not shown.
Binary file modified PPT/31功能预测3-表型BUGBASE.pdf
Binary file not shown.
Binary file modified PPT/32机器学习-分类回归.pdf
Binary file not shown.
Binary file modified PPT/33系统发育树构建与美化Tree.pdf
Binary file not shown.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ The Chinese version in (中文版见) [README_cn.md](./README_cn.md)

[**EasyAmplicon: An easy-to-use, open-source, reproducible, and community-based pipeline for amplicon data analysis in microbiome research**](https://doi.org/10.1002/imt2.83)

Version:v1.19
Version:v1.20

Update:2023/6/9
Update:2023/10/13

## Pipeline manual and file description (流程使用和文件介绍)

Expand Down
6 changes: 3 additions & 3 deletions README_cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

英文版见(English Version in) README.md

版本:1.19
版本:1.20

更新日期:2023/6/9
更新日期:2023/10/13

简单易学易用、开源、可重复且社区支持的扩增子数据分析流程

Expand Down Expand Up @@ -57,7 +57,7 @@

- (可选,推荐)R包的快速安装

在R语言的统计和可视化中会使用超过500个R包,安装不仅费时费力,而且经常出错或依赖其他编绎工具。为方便大家使用,我们提供了编绎好的R包合集下载,如 [Windows版](https://pan.baidu.com/s/1Ikd_47HHODOqC3Rcx6eJ6Q?pwd=0315)[Mac版](https://pan.baidu.com/s/1Ikd_47HHODOqC3Rcx6eJ6Q?pwd=0315 )。你可以下载解压后,将 `4.2` 目录移动至 `C:\Users\[$UserName]\AppData\Local\R\win-library\`中即完成安装。
在R语言的统计和可视化中会使用超过500个R包,安装不仅费时费力,而且经常出错或依赖其他编绎工具。为方便大家使用,我们提供了编绎好的R包合集下载,如 [Windows版](https://pan.baidu.com/s/1Ikd_47HHODOqC3Rcx6eJ6Q?pwd=0315)[Mac版](https://pan.baidu.com/s/1Ikd_47HHODOqC3Rcx6eJ6Q?pwd=0315 )。你可以下载解压后,将 `4.3` 目录移动至 `C:\Users\[$UserName]\AppData\Local\R\win-library\`中即完成安装。

### 安装易扩增子 (Install EasyAmplicon)

Expand Down
234 changes: 106 additions & 128 deletions pipeline.sh
Original file line number Diff line number Diff line change
Expand Up @@ -705,11 +705,11 @@

## 1. PICRUSt功能预测

# PICRUSt 1.0
### PICRUSt 1.0

# 方法1. 使用 http://www.ehbio.com/ImageGP 在线分析 gg/otutab.txt
# 方法2. Linux服务器用户可参考"附录2. PICRUSt功能预测"实现软件安装和分析
# 然后结果使用STAMP/R进行差异比较

# R语言绘图
# 输入文件格式调整
l=L2
Expand Down Expand Up @@ -741,14 +741,89 @@
--annotation result/picrust/${l}.anno.txt \
--output result/picrust/${compare}.bar.pdf

# PICRUSt 2.0
# 软件安装,附录6. PICRUSt环境导出和导入
# 使用,附录7. PICRUSt2功能预测
### PICRUSt 2.0

# 软件安装见附录6. PICRUSt环境导出和导入

# (可选)PICRUSt2(Linux/Windows下Linux子系统,要求>16GB内存)
# 安装参考附录5的方式直接下载安装包并解压即可使用

# Linux中加载conda环境
conda activate picrust2
# 进入工作目录,服务器要修改工作目录
wd=/mnt/d/amplicon/result/picrust2
mkdir -p ${wd} && cd ${wd}
# 运行流程,内存15.7GB,耗时12m
picrust2_pipeline.py -s ../otus.fa -i ../otutab.txt -o ./out -p 8
# 添加EC/KO/Pathway注释
cd out
add_descriptions.py -i pathways_out/path_abun_unstrat.tsv.gz -m METACYC \
-o METACYC.tsv
add_descriptions.py -i EC_metagenome_out/pred_metagenome_unstrat.tsv.gz -m EC \
-o EC.tsv
add_descriptions.py -i KO_metagenome_out/pred_metagenome_unstrat.tsv.gz -m KO \
-o KO.tsv
# KEGG按层级合并
db=/mnt/d/EasyMicrobiome/
python3 ${db}/script/summarizeAbundance.py \
-i KO.tsv \
-m ${db}/kegg/KO1-4.txt \
-c 2,3,4 -s ',+,+,' -n raw \
-o KEGG
# 统计各层级特征数量
wc -l KEGG*
# 可视化见picrust2文件夹中ggpicrust2.Rmd

## 2. 元素循环FAPROTAX

## 方法1. 在线分析,推荐使用 http://www.bic.ac.cn/ImageGP/index.php/Home/Index/FAPROTAX.html 在线分析
## 方法2. Linux下分析、如QIIME 2环境下,详见附录3

## 方法2. Linux下分析、如QIIME 2环境下

# 设置工作目录
wd=/mnt/d/amplicon/result/faprotax/
mkdir -p ${wd} && cd ${wd}
# 设置脚本目录
sd=/mnt/d/EasyMicrobiome/script/FAPROTAX_1.2.7

### 1. 软件安装
# 注:软件已经下载至 EasyMicrobiome/script目录,在qiime2环境下运行可满足依赖关系
#(可选)下载软件新版本,以1.2.7版为例, 2023/7/14更新数据库
#wget -c https://pages.uoregon.edu/slouca/LoucaLab/archive/FAPROTAX/SECTION_Download/MODULE_Downloads/CLASS_Latest%20release/UNIT_FAPROTAX_1.2.7/FAPROTAX_1.2.7.zip
#解压
#unzip FAPROTAX_1.2.7.zip
#新建一个python3环境并配置依赖关系,或进入qiime2 python3环境
conda activate qiime2-2023.7
# source /home/silico_biotech/miniconda3/envs/qiime2/bin/activate
#测试是否可运行,弹出帮助即正常工作
python $sd/collapse_table.py

### 2. 制作输入OTU表
#txt转换为biom json格式
biom convert -i ../otutab_rare.txt -o otutab_rare.biom --table-type="OTU table" --to-json
#添加物种注释
biom add-metadata -i otutab_rare.biom --observation-metadata-fp ../taxonomy2.txt \
-o otutab_rare_tax.biom --sc-separated taxonomy \
--observation-header OTUID,taxonomy
#指定输入文件、物种注释、输出文件、注释列名、属性列名

### 3. FAPROTAX功能预测
#python运行collapse_table.py脚本、输入带有物种注释OTU表tax.biom、
#-g指定数据库位置,物种注释列名,输出过程信息,强制覆盖结果,结果文件和细节
#下载faprotax.txt,配合实验设计可进行统计分析
#faprotax_report.txt查看每个类别中具体来源哪些OTUs
python ${sd}/collapse_table.py -i otutab_rare_tax.biom \
-g ${sd}/FAPROTAX.txt \
--collapse_by_metadata 'taxonomy' -v --force \
-o faprotax.txt -r faprotax_report.txt

### 4. 制作OTU对应功能注释有无矩阵
# 对ASV(OTU)注释行,及前一行标题进行筛选
grep 'ASV_' -B 1 faprotax_report.txt | grep -v -P '^--$' > faprotax_report.clean
# faprotax_report_sum.pl脚本将数据整理为表格,位于public/scrit中
perl ${sd}/../faprotax_report_sum.pl -i faprotax_report.clean -o faprotax_report
# 查看功能有无矩阵,-S不换行
less -S faprotax_report.mat

## 3. Bugbase细菌表型预测

Expand All @@ -763,13 +838,20 @@
### 2. 其它可用分析
# 使用 http://www.bic.ac.cn/ImageGP/index.php/Home/Index/BugBase.html
# 官网,https://bugbase.cs.umn.edu/ ,有报错,不推荐
# Bugbase细菌表型预测Linux,详见附录4. Bugbase细菌表型预测
# Bugbase细菌表型预测Linux,详见附录3. Bugbase细菌表型预测


# 32、MachineLearning机器学习

# RandomForest包使用的R代码见advanced/RandomForestClassification和RandomForestRegression
## Silme2随机森林/Adaboost使用代码见EasyMicrobiome/script/slime2目录中的slime2.py,详见附录5
## Silme2随机森林/Adaboost使用代码见EasyMicrobiome/script/slime2目录中的slime2.py,详见附录4
# 使用实战(使用QIIME 2的Python3环境,以在Windows中为例)
conda activate qiime2-2023.7
cd /mnt/d/EasyMicrobiome/script/slime2
#使用adaboost计算10000次(16.7s),推荐千万次
./slime2.py otutab.txt design.txt --normalize --tag ab_e4 ab -n 10000
#使用RandomForest计算10000次(14.5s),推荐百万次,支持多线程
./slime2.py otutab.txt design.txt --normalize --tag rf_e4 rf -n 10000


# 33、Evolution进化树
Expand Down Expand Up @@ -968,60 +1050,7 @@
wc -l *.spf


## 3. FAPROTAXS元素循环

# 设置工作目录
wd=/mnt/d/amplicon/result/faprotax/
mkdir -p ${wd} && cd ${wd}
# 设置脚本目录
sd=/mnt/d/EasyMicrobiome/script/FAPROTAX_1.2.6

### 1. 软件安装
# 注:软件已经下载至 EasyAmplicon/script目录,在qiime2环境下运行可满足依赖关系
#(可选)下载软件新版本,以1.2.6版为例, 2022/7/14更新数据库
#wget -c https://pages.uoregon.edu/slouca/LoucaLab/archive/FAPROTAX/SECTION_Download/MODULE_Downloads/CLASS_Latest%20release/UNIT_FAPROTAX_1.2.6/FAPROTAX_1.2.6.zip
#解压
#unzip FAPROTAX_1.2.6.zip
#(可选)依赖关系,可使用conda安装依赖包
#conda install numpy
#conda install biom
# 查看conda环境名称和位置
# conda env list
#新建一个python3环境并配置依赖关系,或进入qiime2 python3环境
conda activate qiime2-2023.2
# source /home/silico_biotech/miniconda3/envs/qiime2/bin/activate
#测试是否可运行,弹出帮助即正常工作
python $sd/collapse_table.py

### 2. 制作输入OTU表
#txt转换为biom json格式
biom convert -i ../otutab_rare.txt -o otutab_rare.biom --table-type="OTU table" --to-json
#添加物种注释
biom add-metadata -i otutab_rare.biom --observation-metadata-fp ../taxonomy2.txt \
-o otutab_rare_tax.biom --sc-separated taxonomy \
--observation-header OTUID,taxonomy
#指定输入文件、物种注释、输出文件、注释列名、属性列名

### 3. FAPROTAX功能预测
#python运行collapse_table.py脚本、输入带有物种注释OTU表tax.biom、
#-g指定数据库位置,物种注释列名,输出过程信息,强制覆盖结果,结果文件和细节
#下载faprotax.txt,配合实验设计可进行统计分析
#faprotax_report.txt查看每个类别中具体来源哪些OTUs
python ${sd}/collapse_table.py -i otutab_rare_tax.biom \
-g ${sd}/FAPROTAX.txt \
--collapse_by_metadata 'taxonomy' -v --force \
-o faprotax.txt -r faprotax_report.txt

### 4. 制作OTU对应功能注释有无矩阵
# 对ASV(OTU)注释行,及前一行标题进行筛选
grep 'ASV_' -B 1 faprotax_report.txt | grep -v -P '^--$' > faprotax_report.clean
# faprotax_report_sum.pl脚本将数据整理为表格,位于public/scrit中
perl ${sd}/../faprotax_report_sum.pl -i faprotax_report.clean -o faprotax_report
# 查看功能有无矩阵,-S不换行
less -S faprotax_report.mat


## 4. Bugbase细菌表型预测
## 3. Bugbase细菌表型预测

### 1. 软件安装(己整合到EasyMicrobiome中,原代码需要更新才能在当前运行)
#有两种方法可选,推荐第一种,可选第二种,仅需运行一次
Expand Down Expand Up @@ -1057,7 +1086,7 @@
export PATH=$PATH:`pwd`/bin
run.bugbase.r -i otutab_gg.txt -m MappingFile.txt -c Group -o phenotype/

## 5. Silme2随机森林/Adaboost
## 4. Silme2随机森林/Adaboost

#下载安装
# cd ~/software/
Expand All @@ -1072,78 +1101,26 @@
# sudo pip3 install pandas
# sudo pip3 install sklearn

# 使用实战(使用QIIME 2的Python3环境,以在Windows中为例)
conda activate qiime2-2023.2
cd /mnt/d/EasyMicrobiome/script/slime2
#使用adaboost计算10000次(16.7s),推荐千万次
./slime2.py otutab.txt design.txt --normalize --tag ab_e4 ab -n 10000
#使用RandomForest计算10000次(14.5s),推荐百万次,支持多线程
./slime2.py otutab.txt design.txt --normalize --tag rf_e4 rf -n 10000


## 6. PICRUSt2环境导出和导入
## 5. PICRUSt2环境导出和导入

# 方法1. 直接安装
n=picrust2
conda create -n ${n} -c bioconda -c conda-forge ${n}=2.3.0_b
# 加载环境
conda activate ${n}

# 方法2. 导出安装环境
cd ~/db/conda/
# 设置环境名
n=picrust2
conda activate ${n}
# 打包环境为压缩包
conda pack -n ${n} -o ${n}.tar.gz
# 导出软件安装列表
conda env export > ${n}.yml
# 添加权限,方便下载和别人使用
chmod 755 ${n}.*

# 方法3. 导入安装环境,如qiime2 humann2 meta(包括picurst)
n=picrust2
# 复制安装包,或下载我的环境打包
wget -c ftp://download.nmdc.cn/tools/conda/${n}.tar.gz
# 方法1. 下载安装包并解压
# 下载安装包,备用链接见百度云:https://pan.baidu.com/s/1Ikd_47HHODOqC3Rcx6eJ6Q?pwd=0315
wget -c ftp://download.nmdc.cn/tools/conda/picrust2.tar.gz
# 指定安装目录并解压
condapath=~/miniconda3
mkdir -p ${condapath}/envs/${n}
tar -xvzf ${n}.tar.gz -C ${condapath}/envs/${n}
mkdir -p ~/miniconda3/envs/picrust2
tar -xvzf picrust2.tar.gz -C ~/miniconda3/envs/picrust2
# 激活环境并初始化
source ${condapath}/envs/${n}/bin/activate
conda activate picrust2
conda unpack

## 7. PICRUSt2功能预测

# (可选)PICRUSt2(Linux/Windows下Linux子系统,要求>16GB内存)
# 安装参考附录6的方式直接下载安装包并解压即可使用

# 方法2. 直接安装或打包安装环境
n=picrust2
conda create -n ${n} -c bioconda -c conda-forge ${n}=2.3.0_b
# 加载环境
conda activate picrust2
# 进入工作目录,服务器要修改工作目录
wd=/mnt/d/amplicon/result/picrust2
mkdir -p ${wd} && cd ${wd}
# 运行流程,内存15.7GB,耗时12m
picrust2_pipeline.py -s ../otus.fa -i ../otutab.txt -o ./out -p 8
# 添加EC/KO/Pathway注释
cd out
add_descriptions.py -i pathways_out/path_abun_unstrat.tsv.gz -m METACYC \
-o pathways_out/path_abun_unstrat_descrip.tsv.gz
add_descriptions.py -i EC_metagenome_out/pred_metagenome_unstrat.tsv.gz -m EC \
-o EC_metagenome_out/pred_metagenome_unstrat_descrip.tsv.gz
add_descriptions.py -i KO_metagenome_out/pred_metagenome_unstrat.tsv.gz -m KO \
-o KO_metagenome_out/pred_metagenome_unstrat_descrip.tsv.gz
# KEGG按层级合并
db=/mnt/d/EasyMicrobiome/
zcat KO_metagenome_out/pred_metagenome_unstrat.tsv.gz > KEGG.KO.txt
python3 ${db}/script/summarizeAbundance.py \
-i KEGG.KO.txt \
-m ${db}/kegg/KO1-4.txt \
-c 2,3,4 -s ',+,+,' -n raw \
-o KEGG
# 统计各层级特征数量
wc -l KEGG*

conda activate ${n}
# 打包环境(可选)
conda pack -n ${n} -o ${n}.tar.gz


# 常见问题
Expand Down Expand Up @@ -1383,6 +1360,7 @@
- amplicon、EasyAmplicon和EasyMicrobiome更新为1.20
- QIIME 2更新为v2023.7,数据库更新为greengene2 2022.10
- 新增ggpicrust2分析picrust2结果可视化
- 更新FAPROTAX为1.2.7


每季度视频课程安排:http://www.ehbio.com/trainLongTerm/TrainLongTerm/amplicongenomeLearnGuide.html
Expand Down
6 changes: 3 additions & 3 deletions pipeline_en.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

# For amplicon sequencing EasyAmplicon

# Authors: 刘永鑫(Yong-Xin Liu), 陈同(Tong Chen)等
# Version: v1.19
# Update: 2023-6-9
# Authors: Yong-Xin Liu(刘永鑫), Tong Chen(陈同)et al.
# Version: v1.20
# Update: 2023-10-13
# System requirement: Windows 10+ / Mac OS 10.12+ / Ubuntu 20.04+
# Reference: Liu, et al. 2023. EasyAmplicon: An easy-to-use, open-source, reproducible, and community-based
# pipeline for amplicon data analysis in microbiome research. iMeta 2: e83. https://doi.org/10.1002/imt2.83
Expand Down
Loading

0 comments on commit ff30e58

Please sign in to comment.