真核微生物基因序列鉴定工具EukRep工具的安装和详细使用方法

本文主要是介绍真核微生物基因序列鉴定工具EukRep工具的安装和详细使用方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍

EukRep是一种用于鉴定并分析环境中的真核微生物的工具。它基于16S rRNA基因序列,可以帮助研究人员确定和分类环境样品中存在的真核微生物群落。

EukRep 从宏基因组数据集中分类真核和原核序列

安装

要求Python3 推荐使用conda安装

$ conda create -y -n eukrep-env -c bioconda scikit-learn==0.19.2 eukrep

通过pip安装(需要scikit-learn v 0.19.2版本):

$ pip install EukRep

示例用法 从fasta文件中识别并输出预测为真核起源的序列:

$ EukRep -i <fasta格式的序列> -o <真核序列输出文件>

从fasta文件中识别并同时输出真核和原核起源的序列:

$ EukRep -i <fasta格式的序列> -o <真核序列输出文件> --prokarya <原核序列输出文件>

获取真核生物bins EukRep旨在作为大型分析流程的一部分使用。为了实现对已鉴定出的真核连续体进行高质量基因预测和分箱,如“从复杂自然微生物群落中重构真核生物基因组”(West等人,在审稿中)所述,请参阅方法部分:Genome-reconstruction for eukaryotes from complex natural microbial communities | bioRxiv

或者

查看提供的示例工作流程(正在进行中):GitHub - patrickwest/EukRep_Pipeline

调整识别严格度 通过-m参数可以调整识别真核连续体的严格度。以下展示了严格、平衡和宽松模式下的假阳性率(FPR)和假阴性率(FNR)。默认设置为平衡模式。在0.6.5版本之前,默认为宽松模式。

序列长度严格模式平衡模式宽松模式
20kbFPR, FNRFPR, FNRFPR, FNR
5kbFPR, FNRFPR, FNRFPR, FNR

注:以上数据是通过将EukRep应用于来自模拟新门类基因组的20kb和5kb片段化支架上获得的。

重要注意事项 根据我们的经验,大多数宏基因组样本中并未包含真核生物基因组;然而,由于EukRep存在假阳性率,即使在这种情况下,您仍可能得到输出结果。

使用流程

 

以下是一个名为euk_pipeline.sh的示例Bash脚本,其中包含了以下所有步骤。

要求:

  1. 具有每个序列的覆盖信息的预组装Shotgun元基因组样本。
  2. EukRep
  3. CONCOCT或metabat
  4. genemark-ES
  5. MAKER2
  6. BUSCO 可选(但建议):
  7. pyenv

使用EukRep分类 运行EukRep来对预组装的Shotgun元基因组样本进行处理: EukRep -i metagenome.fa -o euk_contigs.fa 如果你有一个非常复杂或碎片化的元基因组样本,建议降低最小contig大小:

 EukRep -i metagenome.fa -o euk_contigs.fa --min 1000

自动分bin 这一步对于分离样本中的多个真核基因组非常重要。 在基因预测之前,分离基因组是非常重要的,以获取尽可能高质量的基因预测结果。 需要每个序列的覆盖信息。 使用CONCOCT执行:

concoct --coverage_file euk_contig_cov.txt --composition_file euk_contigs.fa 
mkdir clusters 
python /path/to/CONCOCT/scripts/extract_fasta_bins.py --output_path ./clusters/ euk_contigs.fa clustering_gt1000.csv 

使用metabat执行:

metabat -a euk_contig_cov.txt -i euk_contigs.fa -o bin -t 6

通过bin大小进行筛选 在这个阶段,我们发现将小于2.5 Mbp的任何bin过滤掉非常有用。这种过滤可以消除大多数假阳性。特别是如果使用CONCOCT,因为CONCOCT会将每个序列分bin,通常会生成许多非常小的bin。

训练GeneMark-ES

perl gmes_petap.pl --ES -min_contig 10000 --sequence bin_1.fa -min_contig

选项指定用于训练bin的基因预测模型的contig的最小长度。您不需要使用bin的每个contig,但是如果您的contig少于阈值,训练可能会失败。许多来自元基因组的bin可能会非常碎片化,因此可能需要调整此选项。

使用训练后的GeneMark-ES模型和MAKER2预测基因 MAKER使用控制文件。至少建议按以下方式修改它们以使用RepeatMasker和GeneMark-ES来预测基因: 在'maker_opts.ctl'文件中:

keep_preds=1 
gmhmm=/path/to/output/gmhmm.mod

然后,使用以下命令以6个核心运行MAKER:

maker -g bin_1.fa -c 6 
cd *.maker.output 
fasta_merge -d *_master_datastore_index.log -o bin_1 

为了进一步改善基因预测结果,MAKER能够整合相关生物体的同源蛋白质、转录组证据以及其他诸如AUGUSTUS等从头预测的基因预测器。为获取高质量的基因预测结果,通常最好利用尽可能多的这些证据线索。

对于许多元基因组样本,执行从头预测基因可能是唯一的可用选项。

运行BUSCO

python3 BUSCO.py -i *.maker.proteins.fasta -l eukaryota_odb9 -o bin_1 -m prot

BUSCO将在您的bin中查找单拷贝正交基因(SCGs),给出完整性的估计(以及具有重复单拷贝基因的污染的粗略估计)。 -l指定要使用的SCGs的谱系集。通常我们使用eukaryota_odb9,因为它是最通用的,但是如果您对您的bin属于什么类型的生物有更好的了解,可以使用更具体的谱系集。

这篇关于真核微生物基因序列鉴定工具EukRep工具的安装和详细使用方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/576050

相关文章

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4

Java方法重载与重写之同名方法的双面魔法(最新整理)

《Java方法重载与重写之同名方法的双面魔法(最新整理)》文章介绍了Java中的方法重载Overloading和方法重写Overriding的区别联系,方法重载是指在同一个类中,允许存在多个方法名相同... 目录Java方法重载与重写:同名方法的双面魔法方法重载(Overloading):同门师兄弟的不同绝

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

Springboot3 ResponseEntity 完全使用案例

《Springboot3ResponseEntity完全使用案例》ResponseEntity是SpringBoot中控制HTTP响应的核心工具——它能让你精准定义响应状态码、响应头、响应体,相比... 目录Spring Boot 3 ResponseEntity 完全使用教程前置准备1. 项目基础依赖(M

springboot中配置logback-spring.xml的方法

《springboot中配置logback-spring.xml的方法》文章介绍了如何在SpringBoot项目中配置logback-spring.xml文件来进行日志管理,包括如何定义日志输出方式、... 目录一、在src/main/resources目录下,也就是在classpath路径下创建logba