欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ncbi下载sra数据

程序员文章站 2024-03-01 17:10:10
...

避免再次出现下载SRA数据找不到下载链接,记录一下

1,下载sra工具,去官网上下载sratoolkit最新版本https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software,解压安装。

2.然后在NCBI里面搜索SRA,输入所查找的号,比如SRR6040618

3.进入后,点击右上角的Send to,选择File,在下拉页选择Runinfo,点击Create file。这时会下载srarunindo.csv,然后download_path栏就是下载地址。

4.复制地址,用wget下载即可。

5.或者是下载ftp文件

NCBI存放路径:

ftp://ftp.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/SRR548/SRR5483090/
可见ftp构成:
ftp://ftp.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/+SRR+登陆号前三位数字(548)+/SRR+完整登陆号(5483089
进入即可看到FTP文件,可以直接下载或者通过复制链接用wget 下载
如果按SRP下载文件的话,构成是
ftp://ftp.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByStudy/sra/SRP/+SRP+SRP前三位数字 (105) +/SRP+SRP的完整登陆号(105315)

6.或者用sratoolkit里面的sratoolkit下载,可能更快。

prefetch SRR8282932 -o /PATH/TO/DIR

7.批量下载SRA文件(多个sra号存放SRR_Acc_List.txt)

加上输出文件的路径,不然会下载完成后不知道数据在哪里。网上都说是下载在根目录下的ncbi/public/sra下面,奈何找了半天,仍是没有找到,后面通过find / -type f -name "SRR6040617.sra"在同事的ncbi的文件下找到。
本来是用绝对路径bin下的prefetch来运行的,却不知为啥跑到这里的。

prefetch --option-file SRR_Acc_List.txt

8.用.sh文件

cat SRR_Acc_List.txt|while read line
do
echo $line
prefetch  ${line}
done

9.可以将所有url放入一个文件(url.txt)之内,进行批量下载,使用wget命令

wget -i url.txt

10.下载下来的文件,使用sra工具里的fastq-dump来解压。

fastq-dump --split-3 ./SRR6040618 --gzip

11.批量解压文件

cat SRR_Acc_List.txt|while read line
do
fastq-dump --split-3 ./sra/${line}* --gzip
done