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

相关文章

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

Python清空Word段落样式的三种方法

《Python清空Word段落样式的三种方法》:本文主要介绍如何用python-docx库清空Word段落样式,提供三种方法:设置为Normal样式、清除直接格式、创建新Normal样式,注意需重... 目录方法一:直接设置段落样式为"Normal"方法二:清除所有直接格式设置方法三:创建新的Normal样

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

把Python列表中的元素移动到开头的三种方法

《把Python列表中的元素移动到开头的三种方法》在Python编程中,我们经常需要对列表(list)进行操作,有时,我们希望将列表中的某个元素移动到最前面,使其成为第一项,本文给大家介绍了把Pyth... 目录一、查找删除插入法1. 找到元素的索引2. 移除元素3. 插入到列表开头二、使用列表切片(Lis

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl