宏基因组序列分析工具EukRep

2024-01-06 07:52

本文主要是介绍宏基因组序列分析工具EukRep,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章:Genome-reconstruction for eukaryotes from complex natural microbial communities | bioRxiv

仓库:patrickwest/EukRep: Classification of Eukaryotic and Prokaryotic sequences from metagenomic datasets (github.com)

推荐使用conda进行安装:

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

或者通过pip安装(需预先安装scikit-learn版本0.19.2):

pip install EukRep

示例用法

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

    EukRep -i <Sequences in Fasta format> -o <Eukaryote sequence output file>

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

    EukRep -i <Sequences in Fasta format> -o <Eukaryote sequence output file> --prokarya <Prokaryote sequence output file>

获取真核生物bins EukRep设计用于作为更大规模分析流程的一部分。如需根据“从复杂自然微生物群落中重建真核生物基因组”(West等人,待审阅)一文中所述的方法获得高质量的基因预测及对已识别的真核contigs进行分箱,请参阅以下方法部分: Genome-reconstruction for eukaryotes from complex natural microbial communities | bioRxiv

  • 或者

查看提供的示例工作流程(正在进行中): https://github.com/patrickwest/EukRep_Pipeline

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

在对模拟新型门类基因组生成的20kb和5kb片段化支架运行EukRep后,获得了如下所示的数据:

20kb

5kb

此处未给出具体的数据内容,但可根据上述描述理解,在不同长度的支架上应用EukRep,可以得到不同筛选严格度下对应的假阳性和假阴性结果。

典型使用流程:官方推荐

patrickwest/EukRep_Pipeline (github.com)

 

EukRep_Pipeline 这是一个结合EukRep从元基因组中分箱真核生物基因组的示例工作流程。其中包含了一个示例bash脚本euk_pipeline.sh,整合了以下所有步骤。

要求:

  • 预先组装完成的shotgun元基因组样本及其每条scaffold覆盖度信息
  • EukRep工具
  • CONCOCT或metabat工具
  • genemark-ES
  • MAKER2
  • BUSCO
  • 可选但推荐:pyenv

使用EukRep分类 在预先组装的shotgun元基因组样本上运行EukRep:

EukRep -i metagenome.fa -o euk_contigs.fa

如果你处理的是高度复杂或片段化的元基因组,建议降低最小contig长度阈值:


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

自动分箱 此步骤对于分离样本中的多个真核生物基因组至关重要。 为了获得尽可能高质量的基因预测结果,在进行基因预测前必须将基因组分开。 需要每条scaffold的覆盖度信息 使用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会对每一条scaffold进行分箱,往往会产生许多非常小的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等的ab initio基因预测器。为了获取高质量的基因预测,通常最好利用所有可用的这些证据来源。

对许多元基因组样本而言,进行ab initio基因预测可能是唯一可选择的方法。运行BUSCO

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

BUSCO将在你的bin内寻找单拷贝直系同源基因(SCGs),提供一个完整性估计(以及粗略的重复单拷贝基因污染评估)。 -l参数指定了要使用的SCG谱系集。我们通常使用eukaryota_odb9因为它最通用,然而当你对你的bin所属的生物类型有了更清晰的认识后,也可以选择使用更具体的谱系集。

这篇关于宏基因组序列分析工具EukRep的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

C++ scoped_ptr 和 unique_ptr对比分析

《C++scoped_ptr和unique_ptr对比分析》本文介绍了C++中的`scoped_ptr`和`unique_ptr`,详细比较了它们的特性、使用场景以及现代C++推荐的使用`uni... 目录1. scoped_ptr基本特性主要特点2. unique_ptr基本用法3. 主要区别对比4. u

Nginx内置变量应用场景分析

《Nginx内置变量应用场景分析》Nginx内置变量速查表,涵盖请求URI、客户端信息、服务器信息、文件路径、响应与性能等类别,这篇文章给大家介绍Nginx内置变量应用场景分析,感兴趣的朋友跟随小编一... 目录1. Nginx 内置变量速查表2. 核心变量详解与应用场景3. 实际应用举例4. 注意事项Ng

Java多种文件复制方式以及效率对比分析

《Java多种文件复制方式以及效率对比分析》本文总结了Java复制文件的多种方式,包括传统的字节流、字符流、NIO系列、第三方包中的FileUtils等,并提供了不同方式的效率比较,同时,还介绍了遍历... 目录1 背景2 概述3 遍历3.1listFiles()3.2list()3.3org.codeha

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

Redis中的有序集合zset从使用到原理分析

《Redis中的有序集合zset从使用到原理分析》Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占... 目录开篇:排行榜背后的秘密一、zset的基本使用1.1 常用命令1.2 Java客户端示例二、zse

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Redis中的AOF原理及分析

《Redis中的AOF原理及分析》Redis的AOF通过记录所有写操作命令实现持久化,支持always/everysec/no三种同步策略,重写机制优化文件体积,与RDB结合可平衡数据安全与恢复效率... 目录开篇:从日记本到AOF一、AOF的基本执行流程1. 命令执行与记录2. AOF重写机制二、AOF的

MyBatis Plus大数据量查询慢原因分析及解决

《MyBatisPlus大数据量查询慢原因分析及解决》大数据量查询慢常因全表扫描、分页不当、索引缺失、内存占用高及ORM开销,优化措施包括分页查询、流式读取、SQL优化、批处理、多数据源、结果集二次... 目录大数据量查询慢的常见原因优化方案高级方案配置调优监控与诊断总结大数据量查询慢的常见原因MyBAT