前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >踩坑日志 | kingfisher 公共测序数据 SRA/Fastq 下载神器!

踩坑日志 | kingfisher 公共测序数据 SRA/Fastq 下载神器!

作者头像
用户7010445
发布2021-08-31 17:45:46
2.6K0
发布2021-08-31 17:45:46
举报

导言

前几天看到基因课的东哥提了一下kingfisher,一个看起来就是极度便利的公共测序数据下载工具。我非常感兴趣,但也确实没时间折腾,于是继续丢给师弟去看看(事实上,他肯定也有类似需求....)。结果如下,感觉不错。帮大伙踩坑测试,与大伙分享。- CJ - 陈程杰

写在前面

一般在进行公共测序数据挖掘的时候,需要从公共数据库中(SRA、ENA、DDBJ等)下载自己所需的测序数据。下载数据时,往往会遇到网速限制或下载链接不可用等因素,当某个数据库的目标数据下载不来时,可以去其他公共数据库下载,因为这三者的数据是共享的。

问题来了,手动在不同的数据库中检索与下载目标数据确实较为繁琐。这时可以试试使用Kingfisher来自动下载数据。


Kingfisher简介

Kingfisher是一个高通量测序数据下载工具,用户提供Run accessions或者BioProject accessions,即可在ENA、SRA、Amazon AWS以及Google Cloud等数据库中下载目标数据。Kingfisher会尝试从一系列的数据源进行数据下载,直到某个源能够work。

此外,还能根据用户的需求将下载数据直接输出为SRA、Fastq、Fasta或Gzip等格式,非常方便,不需要自己再对SRA数据通过fasterq-dump进行拆分转换。

Kingfisher安装与使用

安装

代码语言:javascript
复制
conda create -c conda-forge -c bioconda -n kingfisher pigz python extern curl sra-tools pandas requests aria2
conda activate kingfisher
#使用conda activate不能成功激活环境时可以尝试使用:source activate kingfisher
pip install bird_tool_utils'>='0.2.17
git clone https://github.com/wwood/kingfisher-download
cd kingfisher-download/bin
export PATH=$PWD:$PATH
kingfisher -h
#弹出帮助文档即安装成功
代码语言:javascript
复制

下载数据

注意:如果只想下载某个确定的SRA数据,则使用-r参数,提供SRR Number即可,如 SRR12042866 ;若是想批量下载某个BioProject中的所有数据,则可以使用-p参数,提供BioProject Number,如PRJNA640275或SRP267791。

代码语言:javascript
复制
kingfisher get -r SRP267791 -m ena-ascp ena-ftp prefetch aws-http
#-r Run number(s) to download/extract e.g. ERR1739691
#-p BioProject IDs number(s) to download/extract from e.g. PRJNA621514 or SRP260223
# -m ena-ascp、ena-ftp、prefetch、aws-http、aws-cp、gcp-cp
# --download-threads 线程数
代码语言:javascript
复制

数据下载源介绍(-m参数)

ena-ascp,调用Aspera从ENA中下载.fastq.gz数据 ena-ftp,调用curl从ENA中下载.fastq.gz数据 prefetch,调用prefetch从NCBI SRA数据库中下载SRA数据,然后默认使用fasterq-dump对其进行拆分转换 aws-http,调用aria2c从AWS Open Data Program中下载SRA数据,然后默认使用fasterq-dump对其进行拆分转换 也就是说,如果是用的ENA源 直接下载的就是fastq,如果用的SRA或其他,那就是下载SRA数据 然后kingfisher再自动调用fasterq-dump转换成fastq

SRA格式转换成fastq格式,调用fasterq-dump

代码语言:javascript
复制
kingfisher extract --sra SRR1574780.sra -t 20 -f fastq.gz
#-f,指定转换输出的文件格式,支持fastq,fastq.gz,fasta,fasta.gz
#-t,指定线程数

写在最后(by-CJ)

Emmm,按照我的习惯,公众号推文上来一定是三段式:

1.写在前面 - 主要写为啥搞这个

2.内容

3.写在后面 - 主要是随意抒发感悟,可能与推文相关,常常与推文主题无关

李博士的这个稿件少了最后一段,于是我来补充一下。昨天在朋友圈推过一遍,希望大伙有时间有机会可以投稿生信相关的稿件,也可以投稿与TBtools相关的。稿件原创归属于公众号,作者名字仍然是你。同时你一定能拿到稿酬,RMB100起步。一周内阅读过万补到1000,达10万+直接补到 RMB10000(当然,10万+在生信/植物学领域基本不可能,尤其是在这个公众号)。

如果你写的是 TBtools 相关教程投稿,那么你可以有两种方式:

  1. 直接投稿,稿酬如上
  2. 写在自己的公众号上,直接联系我转载,目前有3.4w用户关注,主要群体是生命科学领域,生信方向,植物学方向,园艺方向,相信可以较好的给老铁带一下流量
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导言
  • 写在前面
  • Kingfisher简介
  • Kingfisher安装与使用
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档