linux环境下如何方便地下载NCBI和NGDC上的测序数据

1. NCBI

ncbi上的数据用起来真方便啊,下载sra号后,只需要运行下面的命令就可以把数据全部下载下来了。

  1. 在SRA Run Selector中下载Accession List,格式如下

SRR000001
SRR000002
SRR000003

  1. 使用sratool下载数据(conda里的版本目前是2.5.7,官网最新的已经到3.0.3了)

    sratool下载链接:https://github.com/ncbi/sra-tools/wiki/

  2. 一个run:prefetch SRR000001
  3. 一个Accession List文件:prefetch --option-file SraAccList.txt

  4. SRA转fastq格式

    参考:https://www.ncbi.nlm.nih.gov/sra/docs/sradownload/#download-sequence-data-files-usi

  5. 标准方法:fasterq-dump --split-files SRR11180057.sra

  6. 不进行预提取,直接下载并转换:fasterq-dump --split-files SRR11180057
  7. 下载原始提交文件:prefetch --type fastq SRR11180057

  8. 另外,如果翻看一些老教程,还会让你下载Aspera,但现在prefetch已经不支持这个了。

  9. 附一些我之前下载时用的小脚本,不过现在应该有更优雅的办法
    注:好像分开同时使用prefetch下载速度会很快。 ```bash

    合订本

    for i in cat $1 do prefetch $i #step1 下载sra数据 fasterq-dump --split-3 $i -e 40 && pigz $i*.fastq & #step2 sra转为fastq并压缩 done

分开时step1/2

for i in cat $1 do prefetch $i &

#fasterq-dump --split-3 $i -e 40 && pigz $i*.fastq &

done

分开时step2/2

for i in cat $1 do

#prefetch $i
fasterq-dump --split-3 $i -e 40 && pigz $i*.fastq &

done


6. 测试
下载SRR12534285

#下载sra数据
- `nohup prefetch SRR12534285 &`

#使用两种方法提取fastq看看
- `fasterq-dump --split-files SRR12534285/SRR12534285.sra`
- `fasterq-dump --split-3 SRR12534285/SRR12534285.sra`

以上两种方法结果相同

#试一下多线程
#-e 40时,fastq文件的顺序会改变,因此md5sum值与以上不同
- `fasterq-dump --split-3 SRR12534285/SRR12534285.sra -e 40`

#直接下载fastq文件,速度好像有点慢?
- `nohup fasterq-dump --split-files SRR12534285 &` 

#使用`--type any`参数,下载的结果和`nohup prefetch SRR12534285 &`中相同
- `nohup prefetch --type any SRR12534285 &` 


7. 总结  
fasterq-dump命令中,使用--split-files还是--split-3呢?在以上例子中,这两个参数输出结果一样。但是据说在单细胞的sra数据中,只有--split-files可以输出正常结果。而且官方教程里,只简单地说了用`--split-files`。所以看来一般无脑用--split-files就可以了。
```bash

# 一个run
prefetch SRR000001
# 一个Accession List文件
prefetch --option-file SraAccList.txt
# 提取fastq文件并压缩
fasterq-dump --split-files SRR000001.sra -e 40 && pigz SRR000001*.fastq

2. NGDC

参考链接:https://ngdc.cncb.ac.cn/ettrans/files/edgeturbo%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%88linux%E7%89%88%EF%BC%89%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.pdf

  1. 安装edgeturbo
  2. 熟悉简单的命令
    #启动客户端
    edgeturbo start
    #重新启动客户端
    edgeturbo restart
    #停止客户端
    edgeturbo stop
    #下载
    edgeturbo download/dl <remote_path> [Llocal_path]
    #查看任务状态
    edgeturbo ps
    #删除所有任务
    edgeturbo rm
    #设置本地下载目录(也可以不设置,每次使用L参数临时指定)
    edgeturbo set /home/lnjoying/mydownload
    #查看帮助
    edgeturbo help
    
  3. 下载实例
  4. 首先取这个项目的GSA页面,下载元数据信息
  5. 复制要下载的文件路径,格式化为以下形式
    edgeturbo dl \
    /gsa/CRA004570/CRR303879/CRR303879_f1.fastq.gz \ #每个文件的在数据库中的路径
    /gsa/CRA004570/CRR303880/CRR303880_f1.fastq.gz \
    /gsa/CRA004570/CRR303881/CRR303881_f1.fastq.gz \
    L/mnt/caigui/68_xdx_wjw_rnaseq #下载数据保存的本地路径
    
  6. 之后会进入edgeturbo客户端,ctrl+C退出即可,会后台继续下载
  7. 如果要删除某个下载进程,edgeturbo进入客户端,然后按d,输入任务编号回车即可。暂停为p,续传为r。

  8. 如果你想试试aspera

  9. 在GSA页面,点开Aspera命令行,下载key file,就是一个后缀openssh的文件
  10. 下载实例,速度确实快一点,从上面的400kb/s升到了700kb/s。ascp4 -P33001 -i aspera01.openssh -QT -l100m -k1 -d aspera01@download.cncb.ac.cn:gsa/CRA004570/CRR303879/CRR303879_f1.fastq.gz /mnt/caigui/99_test/03_sra

results matching ""

    No results matching ""