真核微生物基因序列鉴定工具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

相关文章

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

Spring Security方法级安全控制@PreAuthorize注解的灵活运用小结

《SpringSecurity方法级安全控制@PreAuthorize注解的灵活运用小结》本文将带着大家讲解@PreAuthorize注解的核心原理、SpEL表达式机制,并通过的示例代码演示如... 目录1. 前言2. @PreAuthorize 注解简介3. @PreAuthorize 核心原理解析拦截与

一文详解JavaScript中的fetch方法

《一文详解JavaScript中的fetch方法》fetch函数是一个用于在JavaScript中执行HTTP请求的现代API,它提供了一种更简洁、更强大的方式来处理网络请求,:本文主要介绍Jav... 目录前言什么是 fetch 方法基本语法简单的 GET 请求示例代码解释发送 POST 请求示例代码解释

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(