查看原文
其他

初步尝试从AWS下载SRA原始数据

生信技能树 生信技能树 2022-08-10


希望所有学员都可以站在生信技能树的舞台上发光发热!

下面是粉丝随机投稿

追随生信技能树的脚步,学习生信已经有半年多了。看了哔哩哔哩上的视频,也跑了健明老师的代码。以为自己起码入门了,但是真正分析感兴趣的数据集时才发现还差得远。

从GEO下载测序原始数据,一般会选择用prefetch下载SRA文件然后用fastq-dump转为fastq文件,或者直接去ENA网站(https://www.ebi.ac.uk/ena/browser/home)直接下载fastq文件,或者使用SRA Explorer(https://sra-explorer.info/#)给的脚本去下载。大部分的数据下载都可以通过上面的方法解决。

最近想下载单细胞scATAC-seq数据如SRR11448442学习它的一般分析流程,发现作者上传ENA的数据只有fastq1和fastq2,而这个分析需要的fastq文件要三个或四个,所以这个方式下载的文件不全。

然后,我又去GEO看了看,测试发现下载的SRA是可以转为4 个fastq文件。

prefetch SRR11448442 -O `pwd` && echo "** SRR11448442.sra done **"
time fastq-dump --gzip --split-files -A SRR11448442 SRR11448442.sra && echo "** SRR11448442.sra to fastq done **"
## 得到下面四个文件
##  [3.9G]  SRR11448442_1.fastq.gz
##  [2.3G]  SRR11448442_2.fastq.gz
##  [3.9G]  SRR11448442_3.fastq.gz
##  [1.2G]  SRR11448442_4.fastq.gz

同时发现,作者上传的原始数据就是四个fastq文件,就想能不能直接下载这四个文件,但是作者并没有给出http/https的链接

说实话,拿到这样的文件路径是有点懵的,网上直接谷歌并没有搜到相关的具体操作的资料。通过查阅NCBI的数据下载方法,找到一个解决办法,可以通过AWS下载,经过几番折腾,终于成功下载数据到本地,在这里特别感谢NCBI的工作人员Inna的帮助,第二天就给我回了邮件。

后面我也碰到了作者只上传了bam文件且sra只能转为两个fastq的情况,也是通过这种方式下载到bam数据,然后用10 x genomics的bamtofastq转为fastq文件,貌似10x genomics也建议上传bam文件(https://kb.10xgenomics.com/hc/en-us/articles/360024716391-What-format-of-10x-Genomics-data-should-I-submit-to-NCBI-GEO-SRA-)。

特别感谢生信技能树和Jimmy大神的日常知识分享和帮助,所以也将这个分享给大家,一起学习,减少走坑,下面是具体的操作方法。

1. 注册亚马逊AWS的账号

网址:https://aws.amazon.com/cn/cli/

按照要求一步步填写信息来注册,需要信用卡,因为我没有信用卡,这里感谢我同学路姐的帮忙。

注册完了记得激活。

新用户可以有12个月的AWS免费套餐,具体怎么免费,大家可以通过这个网址https://aws.amazon.com/cn/premiumsupport/knowledge-center/what-is-free-tier/去了解。

设置邮箱免费套餐使用量提醒。具体费用,查看“账单”就可以。

2. 访问S3

https://link.zhihu.com/?target=https%3A//s3.console.aws.amazon.com/s3/home%3Fregion%3Dap-northeast-2

3. 安全凭证

4. 添加用户

5. 下载客户端

Windows:https://docs.amazonaws.cn/cli/latest/userguide/install-cliv2-windows.html

Mac:https://docs.amazonaws.cn/cli/latest/userguide/install-cliv2-mac.html

6. 在终端进行配置

aws configure
## AWS Access Key ID [None]: 填写下载的csv文件的访问密钥ID
## ID AWS Secret Access Key [None]: 填写下载的csv文件的私有访问密钥
## Default region name [None]: 这里填写第2步中访问S3的网页后缀,例如ap-northeast-2
## Default output format [None]: json

#
# 查看自己云空间里面的文件
aws as ls

7. 创建储存桶

1) 选择访问S3

2) 创建储存桶

AWS的区域要选择美国东部(弗吉尼亚北部)us-east-1,最开始没有注意这一点,导致数据无法传输到我的储存桶,后来发现NCBI有说明这一点,详见下图。

8. 云数据传递

1)选择要传递的数据

要登录NCBI账户,用自己的邮箱注册即可。

https://www.ncbi.nlm.nih.gov/Traces/study/?acc=PRJNA616263&o=acc_s%3Aa

2)输入自己的储存桶

3)添加S3存储桶策略

回到前面的AWS网站建的储存桶。

4)添加刚刚修改的储存桶

5)选择源文件类型

NCBI会让你确认是否传输这个数据,如果一旦确认了,是不可以中间终止的。

6)传输文件

然后,你会收到NCBI的邮件,告诉你收到你的请求,一旦传输完成,会发邮件告诉你。

9. 下载数据到本地

## 在终端进行
### 查看储存桶中的数据
aws s3 ls s3://dat08
### 下载数据到本地,速度有1M/s
aws s3 sync s3://dat08/ /Users/data/

数据下载完了之后,可以将AWS上的储存桶清空和删除,节约空间。

建议不要反复刷新储存桶,会使用流量,避免收费。

尽量不要选择这种方法去下载数据,可能会收费,优先考虑常用方法下载数据。

10. 参考资料

https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html

https://www.ncbi.nlm.nih.gov/sra/docs/sra-aws-download/

https://www.ncbi.nlm.nih.gov/sra/docs/data-delivery/

https://blog.csdn.net/qq_20291997/article/details/109849020

https://zhuanlan.zhihu.com/p/232043608

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存