202310-MetaPhlAn4安装和使用方法-Anaconda3- centos9 stream

MetaPhlAn 4是一种基于DNA序列的微生物组分析工具,它能够从宏基因组测序数据中识别和分离微生物的组成。以下是安装和使用MetaPhlAn 4的步骤:

安装MetaPhlAn 4:

裸机环境,手动安装(

1. 安装依赖项:

MetaPhlAn 4需要Python 3.7以上的版本(建议使用Anaconda环境),同时还需要安装Biopython、pandas和numpy等包。可以使用pip命令进行安装,例如:

pip install biopython pandas numpy

2. 下载MetaPhlAn 4程序:

从MetaPhlAn 4的官方网站(https://github.com/biobakery/MetaPhlAn)下载最新的MetaPhlAn 4程序,并解压缩到指定目录中。

数据库地址(建议手动下载,地址及文件见下方)

要配置MetaPhlAn4最新数据库,您可以按照以下步骤进行操作:

1. 下载最新的MetaPhlAn4数据库文件,可以在MetaPhlAn4官方网站上下载。

2. 解压缩下载的MetaPhlAn4数据库文件,得到一个包含多个文件的目录。

3. 打开MetaPhlAn4配置文件,通常为"metaphlan_database.cfg",可以在MetaPhlAn4的安装目录中找到。

4. 在配置文件中,找到"bowtie2db"和"mpa_pkl"这两个参数,并将它们的值分别改为MetaPhlAn4数据库目录下的"bowtie2"和"mpa"文件的路径。

5. 保存配置文件。

使用conda环境安装(推荐)

本示例使用anaconda3,

以下是在anaconda3中安装MetaPhlAn4的步骤:

步骤1:安装conda

如果您尚未安装conda,请使用以下命令在终端中安装:

到这里去找安装包吧,什么版本都有,这里下载linux64最新版

https://repo.anaconda.com/archive

###下载安装包
wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
###安装
sh Anaconda3-2023.09-0-Linux-x86_64.sh###先进去后会要让同意许可协议,注意太快可能错过跳出,到后面慢一点向下翻
#到最后询问是否同意时输入yes
##遇到按键太快跳过的话重新执行安装命令再次进入#在配置安装目录时要注意输入自己想要安装的目录

步骤2:创建conda环境

打开终端并输入以下命令,创建一个名为“metaphlan4”的conda环境:

#创建metaphlan4的conda环境
conda create -n metaphlan4 python=3.7

步骤3:激活conda环境

输入以下命令,激活“metaphlan4”环境:

#激活指定环境
conda activate metaphlan4

步骤4:安装MetaPhlAn4

使用以下命令安装MetaPhlAn4:

#在激活环境中安装metaphlan
conda install -c bioconda -c conda-forge metaphlan#需要一点时间,等待完成

步骤5:测试MetaPhlAn4

输入以下命令测试安装是否成功:

metaphlan --version

如果可以正确显示版本信息,则安装成功。

步骤6:配置MetaPhlAn数据库

默认情况下可以使用metaphlan --install命令可以安装数据库,但有时候下载速度慢,可能引起失败,建议手动下载最新数据库:

地址在这里:http://cmprod1.cibio.unitn.it/biobakery4/metaphlan_databases/

下载这几个文件:

http://cmprod1.cibio.unitn.it/biobakery4/metaphlan_databases/bowtie2_indexes/mpa_vOct22_CHOCOPhlAnSGB_202212_bt2.md5

http://cmprod1.cibio.unitn.it/biobakery4/metaphlan_databases/bowtie2_indexes/mpa_vOct22_CHOCOPhlAnSGB_202212_bt2.tar http://cmprod1.cibio.unitn.it/biobakery4/metaphlan_databases/mpa_vOct22_CHOCOPhlAnSGB_202212.md5

http://cmprod1.cibio.unitn.it/biobakery4/metaphlan_databases/mpa_vOct22_CHOCOPhlAnSGB_202212.tar

http://cmprod1.cibio.unitn.it/biobakery4/metaphlan_databases/mpa_vOct22_CHOCOPhlAnSGB_202212_marker_info.txt.bz2

http://cmprod1.cibio.unitn.it/biobakery4/metaphlan_databases/mpa_vOct22_CHOCOPhlAnSGB_202212_species.txt.bz2

http://cmprod1.cibio.unitn.it/biobakery4/metaphlan_databases/mpa_latest

下载完成后将所有下载文件放入下面目录(根据自己安装目录找ananconda3的位置,后面路径都一样):

 anaconda3/envs/mpa/lib/python3.7/site-packages/metaphlan/metaphlan_databases

后面第一次去运行metaphlan去注释你的序列的时候会自动建库

使用MetaPhlAn 4:

1. 准备输入文件:MetaPhlAn 4需要输入FASTQ或FASTA格式的文件。如果是PE读取,需要将两个序列文件合并为一个文件。

2. 运行MetaPhlAn 4:在终端中进入MetaPhlAn 4的安装目录,并运行以下命令:

python3 metaphlan --input_file example.fastq --output_file output.txt

其中,--input_file参数指定输入文件的路径和名称,--output_file参数指定输出文件的路径和名称。

3. 查看结果:MetaPhlAn 4的输出文件包含了每个微生物的相对丰度和物种注释信息。可以使用文本编辑器或者Excel等软件打开输出文件进行查看和分析。

conda环境下使用MetaPhlAn4

##激活conda环境
source activate metaphlan4#直接使用压缩包文件运行,建议使用nohup运行,因为运行时间比较长
#nohup
nohup metaphlan f1.fastq.gz,r2.fastq.gz --bowtie2out f1r2.bowtie2.bz2 --nproc 60 --input_type fastq >f1r2_mtphlan.txt 2>&1 &
#直接运行
metaphlan f1.fastq.gz,r2.fastq.gz --bowtie2out f1r2.bowtie2.bz2 --nproc 60 --input_type fastq -o f1r2_mtphlan.txt####其中 f1.fastq.gz和r2.fastq.gz分别为样品的双端序列的两个压缩文件,最终我们想要的是f1r2_mtphlan.txt

结果解释:

###前面几行已被注释,使用MetaPhlAn工具合并时会自动过滤掉
#anaconda3/envs/metaphlan4/bin/metaphlan 1.fastq,2.fastq --bowtie2out 1.bt2.bz2 --nproc 30 --input_type fastq -o 1.profiled.txt
#76553269 reads processed
#SampleID	Metaphlan_Analysis
#clade_name	NCBI_tax_id	relative_abundance	additional_species
k__Bacteria	2	99.92666	
k__Archaea	2157	0.07334	
k__Bacteria|p__Proteobacteria	2|1224	89.13284	
k__Bacteria|p__Actinobacteria	2|201174	8.93442	
k__Bacteria|p__Bacteroidetes	2|976	1.83546	

私房菜:

###使用merge_metaphlan_tables.py将所有样品的注释结果合并(需要激活metaphlan4的conda环境)
merge_metaphlan_tables.py *.txt > merged_abundance_table.txt###使用下面语句从合并表中提取物种种水平下的物种注释信息
grep -E '(s__)|(clade_name)' merged_abundance_table.txt |grep -v 't__'|sed 's/^.*s__//g'|awk '{$2=null;print}'|sed 's/\ \ /\ /g'|sed 's/\ /\t/g' > merged_abundance_species.txt
###使用下面语句从合并表中提取物种属水平下的物种注释信息
grep -E '(g__)|(clade_name)' merged_abundance_table.txt |grep -v 's__'|sed 's/^.*g__//g'|awk '{$2=null;print}'|sed 's/\ \ /\ /g'|sed 's/\ /\t/g' > merged_abundance_genus.txt
###使用下面语句从合并表中提取物种科水平下的物种注释信息
grep -E '(f__)|(clade_name)' merged_abundance_table.txt |grep -v 'g__'|sed 's/^.*f__//g'|awk '{$2=null;print}'|sed 's/\ \ /\ /g'|sed 's/\ /\t/g' > merged_abundance_family.txt
###使用下面语句从合并表中提取物种目水平下的物种注释信息
grep -E '(o__)|(clade_name)' merged_abundance_table.txt |grep -v 'f__'|sed 's/^.*o__//g'|awk '{$2=null;print}'|sed 's/\ \ /\ /g'|sed 's/\ /\t/g' > merged_abundance_order.txt
###使用下面语句从合并表中提取物种纲水平下的物种注释信息
grep -E '(c__)|(clade_name)' merged_abundance_table.txt |grep -v 'o__'|sed 's/^.*c__//g'|awk '{$2=null;print}'|sed 's/\ \ /\ /g'|sed 's/\ /\t/g' > merged_abundance_class.txt
###使用下面语句从合并表中提取物种门水平下的物种注释信息
grep -E '(p__)|(clade_name)' merged_abundance_table.txt |grep -v 'c__'|sed 's/^.*p__//g'|awk '{$2=null;print}'|sed 's/\ \ /\ /g'|sed 's/\ /\t/g' > merged_abundance_phylum.txt

注意事项:

1. MetaPhlAn 4需要消耗大量的计算资源,建议在具有足够内存和计算能力的计算机上运行。

2. MetaPhlAn 4的结果可能会受到样本质量、参考基因组库的完整性和准确性等多种因素的影响。可以根据需要选择合适的参考基因组库进行分析,以获得更准确的结果。

Metaphlan分析结果的使用建议:

1. 了解Metaphlan输出格式:Metaphlan输出文件包括两个文件,即<filename>.txt和<filename>.txt.bak。其中,<filename>.txt文件是包含分类结果和相对丰度值的文本文件,<filename>.txt.bak文件是二进制文件存储的序列信息。

2. 解释Metaphlan输出结果:Metaphlan输出文件提供了各个分类单元的相对丰度值,这些单元包括细菌、古菌、真菌和叶绿体等。通过观察这些相对丰度值,可以了解样本中各个分类单元的富集度和活跃度。

3. 与其他工具结合使用:Metaphlan结果可以与其他宏基因组分析工具结合使用,如PICRUSt、STAMP和LEfSe等,这些工具可以进一步分析样本中的生物学差异。

4. 结果可视化:Metaphlan的结果可以用不同的可视化工具展示,如Circos、R、STAMP和Phinch等。这些工具可以帮助用户更直观地理解样品之间的差异以及分类单元的富集度。

总之,Metaphlan是一个强大的宏基因组分析工具,可以帮助用户快速了解样品中的微生物组成。将其结果与其他工具结合使用,可以更深入地挖掘样品差异,为后续的实验设计提供重要参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/121351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unocss和tailwindcss css原子引擎

第一种tailwindcss&#xff1a; tailwindcss官网 https://tailwindcss.com/docs/grid-column 基本介绍及优点分析 Tailwind CSS 中文文档 - 无需离开您的HTML&#xff0c;即可快速建立现代网站 PostCss 处理 Tailwind Css 基本流程 PostCSS - 是一个用 JavaScript 工具和插…

SM3加密udf

SM3加密udf maven xml <dependencies> <!-- 配置日志 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dep…

67 内网安全-域横向smbwmi明文或hash传递

#知识点1: windows2012以上版本默认关闭wdigest&#xff0c;攻击者无法从内存中获取明文密码windows2012以下版本如安装KB2871997补丁&#xff0c;同样也会导致无法获取明文密码针对以上情况&#xff0c;我们提供了4种方式解决此类问题 1.利用哈希hash传递(pth&#xff0c;ptk等…

读书笔记:c++对话系列,Visitor模式

需要在类体系中加入一个新的虚函数&#xff0c;但不允许改动。 Visitor模式&#xff0c;核心是&#xff1a;将操作作为数据对象传递给类体系预留的Accept函数。 class Personnel{ public:virtual void Pay () 0;virtual void Promote() 0;virtual void Accept(Visitor &…

缓冲channel和限制goroutine并发数

文章目录 3.7.1 用作计数信号量3.7.2 使用缓存channelsync.WaitGroup限制并发数&#xff08;类似上小节&#xff09; 要限制住goroutine的并发, 一定要阻塞住main的goroutine! 一定要阻塞住main的goroutine! 一定要阻塞住main的goroutine! 可以看最后一个例子。 由于带缓冲cha…

尚未解决:use_python()和use_virtualenv()的使用

reticulate包为Python和R之间的互操作性提供了一套全面的工具。该包包含以下功能&#xff1a; 以多种方式从R调用Python&#xff0c;包括RMarkdown、获取Python脚本、导入Python模块以及在R会话中交互使用Python。 R和Python对象之间的转换&#xff08;例如&#xff0c;R和Pan…

2023年中国调音台产业链、产量及市场规模分析[图]

调音台是一种专业音频设备&#xff0c;用于混音、处理和控制音频信号。它通常用于音乐制作、现场演出、录音室以及广播等场景中。调音台允许用户调整不同声音来源的音频信号&#xff0c;使其在混音过程中达到理想的音质和平衡。调音台按信号出来方式可分为&#xff1a;模拟式调…

UVa10976 Fractions Again?!(分数拆分)

1、题目 2、题意 输入正整数 k k k&#xff0c;找到所有正整数 x ≥ y x \ge y x≥y&#xff0c;使得 1 k 1 x 1 y \frac{1}{k} \frac{1}{x} \frac{1}{y} k1​x1​y1​。 3、分析 既然要求找出所有的 x , y x,y x,y&#xff0c;枚举对象自然是 x , y x,y x,y了。可…

LeetCode每日一题——2558. Take Gifts From the Richest Pile

文章目录 一、题目二、题解 一、题目 2558. Take Gifts From the Richest Pile You are given an integer array gifts denoting the number of gifts in various piles. Every second, you do the following: Choose the pile with the maximum number of gifts. If there …

名词解释 MongoDB

MongoDB 是一个面向文档的数据库管理系统&#xff0c;它不使用传统的表格结构&#xff0c;而是将数据组织成类似文档的形式&#xff0c;通常使用JSON格式。 文档数据库&#xff1a;数据以文档的形式存储&#xff0c;每个文档可以包含不同的字段&#xff0c;就像一个文件可以包…

day36(http协议 服务器软件的使用 PHP的简单了解 前后端交互 ajax 同步和异步)

一.http协议 1.http1&#xff09;前后端交互&#xff1a;前端发数据给后端&#xff0c;后端获取前端数据&#xff0c;经过解析&#xff0c;返回需要的数据2&#xff09;数据如何交互&#xff1f;请求响应3&#xff09;概念&#xff1a;http&#xff08;超文本传输协议&#xf…

C# 基于腾讯云人脸核身和百度云证件识别技术相结合的 API 实现

目录 腾讯云人脸核身技术 Craneoffice.net 采用的识别方式 1、活体人脸核身(权威库)&#xff1a; 2、活体人脸比对&#xff1a; 3、照片人脸核身(权威库)&#xff1a; 调用成本 百度云身份证识别 调用成本 相关结合点 核心代码 实现调用人脸核身API的示例 实现调用身…

拓世大模型 | 立足行业所需,发力终端,缔造智能无限可能

蒸汽机的发明为人类工业革命揭开序幕&#xff0c;引领了近现代产业变革。众所周知&#xff0c;而今AI技术的革命性突破&#xff0c;站在了时代舞台的中心&#xff0c;特别是大模型的崛起&#xff0c;无疑是第四次产业革命的焦点&#xff0c;它的地位可与当年的“蒸汽机”相提并…

性能诊断工具对比+Prometheus(普罗米修斯)监控系统学习

【精选】Prometheus&#xff08;普罗米修斯&#xff09;监控系统_普罗米修斯监控_愿许浪尽天涯的博客-CSDN博客 Java 性能诊断工具 &#x1f3cd;️... Java自带的工具 JConsoleJVisualVMjmapjstackjcmd单机图形化诊断工具 YourKitJProfilerVisualVMArthas分布式诊断工具 Zipk…

Jenkins发布windows服务器jar

一、背景 之前是linux服务器部署的项目&#xff0c;现在转为windows服务器部署。jenkins和git都已经部署好了。所以本文只会重点讲Jenkins调用windows服务器bat命令及bat命令的编写概况。 二、详情操作 1、Jenkins调用windows bat文件 首先在Jenkins项目配置"高级项目选…

【git命令】删除分支

1. 删除本地分支 使用git branch -d命令删除本地分支 git branch -d branch_name其中&#xff0c;branch_name是分支名。如果有未合并的更改&#xff0c;Git会阻止你删除分支。 使用git branch -D命令强制删除本地分支 git branch -D branch_name这个命令会强制删除分支&am…

JAVA排序

目录 再看各种排序前我们先了解一下什么叫 稳定性 插入排序&#xff1a; 希尔排序:(插入排序的优化) 测试插入排序和希尔排序(插入排序的优化)排序时间对比 选择排序: 选择排序的优化: 正确的 选择排序优化 快速排序(挖坑法:未优化) 快速排序的优化1 快速排序优化2 优化快速排序…

mysql4

创建表并插入数据&#xff1a; 字段名 数据类型 主键 外键 非空 唯一 自增 id INT 是 否 是 是 否 primary key name VARCHAR(50) 否 否 是 否 否 not null glass VARCHAR(50) 否 否 是 否 否 not nullsch 表内容 id name glass 1 xiaommg glass 1 2 xiaojun …

3.无重复字符的最长子串

​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;3. 无重复字符的最长子串 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 滑动窗口。使用哈希集合来记录窗口中的字符。当窗口右边界不为字符串右边界时&#xff0c;窗口右边界右移一位&#…

小型k8s

参考&#xff1a; 用于本地实验的小型 Kubernetes&#xff1a;k0s、MicroK8s、kind、k3s 和 Minikube - 知乎 https://www.cnblogs.com/jesse123/p/15559614.html K3s vs K8s&#xff1a;轻量级和全功能的对决_运行_部署_容器