前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >二代测序宏基因组真实数据拼接

二代测序宏基因组真实数据拼接

作者头像
生信喵实验柴
发布于 2023-02-24 05:19:56
发布于 2023-02-24 05:19:56
1.1K00
代码可运行
举报
文章被收录于专栏:生信喵实验柴生信喵实验柴
运行总次数:0
代码可运行

背景

前面我们模拟混合了几种细菌的数据拼接,本次带来的是文献《Complete and validated genomes from a metagenome》中的数据,步骤就是下载数据,开始拼接。

一、案例数据下载

从宏基因组测序中拼接细菌完成图,《Complete and validated genomes from a metagenome 》2012 年加拿大 Northern Alberta 油砂尾矿池 附近海藻细菌培养分离样品, 2019 年重新培养提取。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
文献地址:https://www.biorxiv.org/content/10.1101/2020.04.08.032540v1
数据:https://www.ebi.ac.uk/ena/browser/view/PRJEB36155
脚本:https://zenodo.org/record/3745531#.Xw7hoBPitnJ

数据一般都在文章结尾的“Data availability ”部分,从中找到 BioProject 号或者 SRA 号即可。例如该文章中给出了数据的 BioProject 号为 PRJEB 36115。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
数据下载(nanopore和illumina)
axel -n 100 http://ftp.sra.ebi.ac.uk/vol1/fastq/ERR399/000/ERR3994080/ERR3994080_1.fastq.gz
axel -n 100 http://ftp.sra.ebi.ac.uk/vol1/fastq/ERR400/002/ERR4007992/ERR4007992_1.fastq.gz
axel -n 100 http://ftp.sra.ebi.ac.uk/vol1/fastq/ERR400/002/ERR4007992/ERR4007992_2.fastq.gz

二、利用 megahit 拼接

MEGAHIT是一个二代测序从头组装工具,用于以时间和成本有效的方式组装大型和复杂的宏基因组数据。被誉为是宏基因组版本的 SOAPdenovo ,继承了 SOAPdenovo 快速,节省内存的优点。MEGAHIT 操作简单,运行速度非常快,这对于数据量和计算量大的宏基因组拼接非常重要。并且最重要的是, megahit 是超快的宏基因组序列 拼接中,还能得到非常好的拼接结果。在同类软件评估中, MEGAHIT 通常有着最少的计算时间和 N50 ,同时也拥有最低的嵌合体比例错误率;尤其在土壤等复杂环境样本组装、大量样本混合组装方面优势明显,成为行业的主流组装软件。与其他一些常用的二代宏基因组拼接软件 SPAdes 和IDBA UD 相比,计算时间和内存消耗方面优势非常明显。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
官方主页:http://www.l3 bioinfo.com/products/megahit.html
github主页:https://github.com/voutcn/megahit
软件安装:conda install -y megahit

使用案例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo "time megahit -t 24 -o megahit/ -1 ERR4007992_1.fastq.gz -2 ERR4007992_2.fastq.gz 1>megahit.log 2>megahit.err" >megahit.sh
bsub -q fat -n 24 -o %J.log -e %J.err sh megahit.sh

选项参数

-1 reads 1

-2 reads 2

-o :数据文件夹

-h 显示参数详细

--k min 27 k max 191 k step 20 # 手动设置 kmer

-r 单端

-t 设置线程数,默认全用

--use gpu 支持 GPU 运算

--continue 支持中断继续运行

耗时1小时10分钟,结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
total 270M
-rw-rw-r-- 1 xiehs xiehs  945 Dec 26 15:23 options.json
drwxrwxr-x 2 xiehs xiehs 4.0K Dec 26 16:37 intermediate_contigs/
-rw-rw-r-- 1 xiehs xiehs 269M Dec 26 16:37 final.contigs.fa
-rw-rw-r-- 1 xiehs xiehs  166 Dec 26 16:37 checkpoints.txt
-rw-rw-r-- 1 xiehs xiehs    0 Dec 26 16:37 done
-rw-rw-r-- 1 xiehs xiehs 144K Dec 26 16:37 log
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
seqkit stat final.contigs.fa
file              format  type  num_seqs      sum_len  min_len  avg_len  max_len
final.contigs.fa  FASTA   DNA    170,308  275,083,965      200  1,615.2  481,000

可以用拼接后的结果,做centrifuge物种鉴定,因为序列长,较直接用fastq原read文件去做物种鉴定,会少掉最后一列的丰度信息。

三、metaSPAdes 拼接

spades是一款优秀的基因组拼接工具, SPAdes 是由俄罗斯科学院 St. Petersburg AcademicUniversity 与美国科学家合作开发的主要应用于小型基因组如细菌,真菌等基因组测序数据的拼接软件。该软件开发至今已经走过 1 0 多年的时间,目前依然在持续更新 。软件主要用于 illumina 测序数据拼接,支持多种类型 illumina 测序数据。并且支持 ion torrent 测序数据和 CCS 模式下的 pacbio 数据。此外,可以将二代测序短读长测序数据与三代长读长 pacbio和 nanopore 的测序数据 进行混合拼接。SPAdes 包含多个模块,特别针对二倍体,宏基因组,质粒, RNAseq 测序数据进行拼接。在二代测序宏基因组研究中使用比较广泛,相比于其他拼接软件,可以得到更好的结果,不过对计算机资源消耗较大,需要消耗更大的内存和计算时间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
软件官网:http://cab.spbu.ru/software/spades/
github主页:https://github.com/ablab/spades

使用案例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
which spades.py # 得到软件路径
echo "time python /share/home/xiehs/bin/spades.py -t 46 -o metaSPAdes/ --meta -1 ERR4007992_1.fastq.gz -2 ERR4007992_2.fastq.gz 1>spades.log 2>spades.err" >spades.sh
bsub -q fat -n 46 -o %J.log -e %J.err sh spades.sh

时间确实很长,跑了16个半小时才完成拼接。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
real    987m35.910s
user    20374m16.109s
sys     1186m52.813s

写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bioinfoer.com

有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信喵实验柴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
自动化测试如何解析excel文件?
  自动化测试中我们存放数据无非是使用文件或者数据库,那么文件可以是csv,xlsx,xml,甚至是txt文件,通常excel文件往往是我们的首选,无论是编写测试用例还是存放测试数据,excel都是很方便的。那么今天我们就把不同模块处理excel文件的方法做个总结,直接做封装,方便我们以后直接使用,增加工作效率。
py3study
2020/01/16
7570
5 分钟掌握 openpyxl 操作:Python 轻松处理 Excel
各种数据需要导入Excel?多个Excel要合并?目前,Python处理Excel文件有很多库,openpyxl算是其中功能和性能做的比较好的一个。接下来我将为大家介绍各种Excel操作。
Python编程与实战
2021/07/29
5560
Python处理excel的强大工具-openpyxl
首先,Python处理excel的第三方库有:xlrd,xlwt,openpyxl等。
吾非同
2020/10/13
2.2K0
Python 操作 Excel 全攻略 | 包括读取、写入、表格操作、图像输出和字体设置
本教程将介绍如何使用 Python 操作 Excel 文件,包括 Excel 文件的读取与写入、Excel 表格的操作、图像的输出和字体的设置等内容。
全栈若城
2024/02/29
15.4K0
Python 操作 Excel 全攻略 | 包括读取、写入、表格操作、图像输出和字体设置
python自动化办公——python操作Excel、Word、PDF集合大全
本文是鉴于有些粉丝的工作需求,有时候需要遇到这些文件的处理。因此,我写了一个文章集合,供大家参考,整篇文章已经整理成册(如下图所示)。由于文档获取人数太多,大家如有需求,请关注公众号:【数据分析与统计学之美】,回复关键词:【自动化文档】!
用户7886150
2021/01/24
2K0
Python openpyxl 处理Excel使用指南
这是一份openpyxl的使用指南。 翻译自官网 https://openpyxl.readthedocs.io/en/stable/tutorial.html
AnRFDev
2021/02/01
1.3K0
java实现excel一万条数据批量导入
要实现Excel一万条数据批量导入,可以使用Apache POI库来读取和解析Excel文件,并使用JDBC连接数据库将数据批量插入。以下是一个简单的示例代码:
疯狂的KK
2023/03/23
1.8K0
Python自动化:Python操作Excel的多种方式Pandas+openpyxl+xlrd
使用pandas操作Excel文件主要涉及读取(read_excel)和写入(to_excel)两个主要操作。
小白的大数据之旅
2024/11/20
1.1K0
Python批量Excel文件数据导入SQLite数据库的优化方案
说明:1)需要安装扩展库openpyxl;2)随着数据库的增大,导入速度可能会有所下降;3)本文只考虑Python代码优化,没有涉及数据库的优化;4)本文要点在于使用executemany实现批量数据导入,通过减少事务提交次数提高导入速度。 from random import choice, randrange from string import digits, ascii_letters from os import listdir import sqlite3 from time import ti
Python小屋屋主
2018/04/17
2.1K0
自动化测试如何解析excel文件?
自动化测试中我们存放数据无非是使用文件或者数据库,那么文件可以是csv,xlsx,xml,甚至是txt文件,通常excel文件往往是我们的首选,无论是编写测试用例还是存放测试数据,excel都是很方便的。那么今天我们就把不同模块处理excel文件的方法做个总结,直接做封装,方便我们以后直接使用,增加工作效率。
顾翔
2019/12/12
8710
开发小技巧备忘
今天一段时间一直在忙工作上的事,并没有系统地学习研究某一个具体的问题,但回顾这一个月的工作,发现还是有一些经验可以记录一下的。但这些经验没法系统地整理起来,因此只能算是开发中的杂项了。 杂项一:httpclient典型用法 基础用法 HttpClient httpClient = HttpClientBuilder.create().build(); HttpPost postMethod = null; try { postMethod = new HttpPost(reqUrl); p
jeremyxu
2018/05/10
6980
Python自动化办公系列之Python操作Excel
③ 在python中使用excel函数公式(很有用)         
磐创AI
2020/05/16
2.4K0
超详细Python处理Excel表格
「处理Excel表格需要用到openpyxl模块,该模块需要手动安装pip install openpyxl」
润森
2022/08/18
3.4K0
超详细Python处理Excel表格
openpyxl-读写Excel文件的Python库
写脚本的时候,想要用Python读取Excel文件内容,谷歌搜索发现了openpyxl这个包,学习后发现简单地读写Excel文件还是比较方便的,库的设计也很简洁,没有太多深奥的东西。这里记录一下,说不定哪天还是会用到呢。
王云峰
2019/12/25
9810
Python 中批量提取 Excel 数据的详细指南
在数据处理和分析的过程中,Excel 是一种广泛使用的数据存储格式。使用 Python 可以高效地从多个 Excel 文件中提取数据,进行汇总和分析。本文将详细介绍如何使用 pandas、openpyxl 和 xlrd 三种库来批量提取 Excel 数据,并提供相应的示例代码。
sergiojune
2024/06/25
1.6K0
Python 中批量提取 Excel 数据的详细指南
『python办公自动化』Excel:标红低于100的数据
作为产品经理,收集和分析数据是必备技能。我们的产品可能会设置埋点监听用户行为、记录页面和某些功能的使用情况。你问研发同事拿埋点数据,研发同事可能会导出一份 Excel 给你。此时如果你想标红使用量少于100的数据,可以在Excel里操作,也可以使用 Python 去处理。本文介绍后者。
德育处主任
2024/05/09
1780
『python办公自动化』Excel:标红低于100的数据
Excel办公自动化
请注意,本文编写于 986 天前,最后修改于 986 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
4240
Excel办公自动化
python入门之后须掌握的知识点(excel文件处理+邮件发送+实战:批量化发工资条)【二】
python处理Excel实现自动化办公教学(数据筛选、公式操作、单元格拆分合并、冻结窗口、图表绘制等)【三】
汀丶人工智能
2022/12/21
6610
python入门之后须掌握的知识点(excel文件处理+邮件发送+实战:批量化发工资条)【二】
超超长篇 - 手把手带你用python玩转Excel
gitee:https://gitee.com/xiaozai-van-liu/mwj_utils
梦无矶小仔
2024/06/18
1.1K0
超超长篇 - 手把手带你用python玩转Excel
openpyxl:Python的Excel操作库
luckpunk
2023/09/27
9000
openpyxl:Python的Excel操作库
推荐阅读
相关推荐
自动化测试如何解析excel文件?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档