ncbi下载数据sra和转换fastq流程

姬自强
2023-12-01

【转录组入门】3:了解fastq测序数据 - 微凉charles - 博客园

nohup prefetch --option-file SRR_Acc_List.txt &

$ wget -i filename.txt
此命令常用于批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。

$ wget -c http://example.com/really-big-file.iso
这里所指定的 -c 选项的作用为断点续传。


实践证明,wget下载sra数据是有风险的!!!中间有断点的话会造成数据不完整,以防万一,一定要加上自动断点续传参数-c!
ftp='ftp://ftp.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR'

mkdir sra  # make a output directory
cat SRR_Acc_List.txt |  while read i
do
       SRR=$(echo ${i:0:6}) 
       wget -c -t 0 -P ./sra ${ftp}/${SRR}/${i}/*
done
参数说明:
-c 自动断点续传,一定要加!否则数据会有不完整的情况
-t 配合-c参数,设置为0表示连接失败后无限次重新尝试,直到成功为止
-P 表示把数据下载到指定文件夹下

cat SRR_Acc_List.txt |  while read i
do
     SRR=$(echo ${i:0:6}) ##输出前6个字段
     wget -c -t 0 -P ./sra ${ftp}/${SRR}/${i}/*
done

##ncbi的fastq文件  连接没有规律

https://storage.googleapis.com/sra-pub-src-3/SRR8445201/1449F5-1_171117_NB501735_0063_AHT3CVBGX3_ACAGTG-NoIndex_L000_R1_001.fastq.gz
https://storage.googleapis.com/sra-pub-src-3/SRR8445201/1449F5-1_171117_NB501735_0063_AHT3CVBGX3_ACAGTG-NoIndex_L000_R2_001.fastq.gz


https://storage.googleapis.com/sra-pub-src-3/SRR8445205/1545F3-2_180306_NB501735_0084_AHLJ3MBGX5_ACAGTG-NoIndex_L000_R1_001.fastq.gz
https://storage.googleapis.com/sra-pub-src-3/SRR8445205/1545F3-2_180306_NB501735_0084_AHLJ3MBGX5_ACAGTG-NoIndex_L000_R2_001.fastq.gz

https://storage.googleapis.com/sra-pub-src-3/SRR8445206/1545F3-3_180307_NB501735_0085_AHLJ3WBGX5_ACAGTG-NoIndex_L000_R1_001.fastq.gz
https://storage.googleapis.com/sra-pub-src-3/SRR8445206/1545F3-3_180307_NB501735_0085_AHLJ3WBGX5_ACAGTG-NoIndex_L000_R2_001.fastq.gz

#########################################


使用如下命令批量下载 (放入后台不中断下载:nohup cmd &):

nohup prefetch -O . $(<SRR_Acc_List.txt) &
Note:

1. aspera在下载其他数据库(如EBI)的数据时,仍然是十分不错的工具

2. 下载完之后,可以用如下命令批量解压:

for f in *.sra
do
nohup fastq-dump --split-3 $f &
done
--split-3
也就是说如果SRA文件中只有一个文件,那么这个参数就会被忽略。如果原文件中有两个文件,那么它就会把成对的文件按*_1.fastq,*_2.fastq这样分开。如果还出现了第三个文件,就意味着这个文件本身是未成配对的部分。可能是当初提交的时候因为事先过滤过了一下,所以有一部分数据被删除了。
1
ls *.sra|while read id;do(fastq-dump --split-3 $id);done
我们的数据是Illumina的双端测序,所以用fastq-dump --split-3命令来把sra格式数据转换为fastq。https://www.cnblogs.com/freescience/archive/2017/08/08/7277620.html

文件下载完成后放在了home目录下的ncbi/public/sra 文件夹里,可以看到新建了一个SRR824846.sra 文件。在转换文件格式前要清楚sra文件的数据类型,在下载时就能看到其为“paired-end”测序结果。二代测序主要有单端测序和双端测序两种方式,具体内容见:https://vip.biotrainee.com/d/127-paired-end-reads ,以及http://www.bio-info-trainee.com/298.html 。 
使用fastq-dump拆分PE文件时有两种常用的参数,--split-files 和--split-3 ,很奇怪,查到以下解释:

–split-spot: 将双端测序分为两份,但是都放在同一个文件中 
–split-files: 将双端测序分为两份,放在不同的文件,但是对于一方有而一方没有的reads直接丢弃 
–split-3 : 将双端测序分为两份,放在不同的文件,但是对于一方有而一方没有的reads会单独放在一个文件夹里

作者:hoptop 
链接:https://www.jianshu.com/p/a8d70b66794c

cd ~/ncbi/public/sra/   #将拆分文件放在sra文件夹里
fastq-dump --split-3 SRR824846   #将双端测序文件拆分为两个reads

不过在上一步可以加上-gzip 命令,输出gz的压缩格式,好处是可以节省空间,而且比对软件一般都支持。(参考hoptop的文章:https://www.jianshu.com/p/a8d70b66794c)

使用NCBI提供的SRA-toolkit中的工具fastq-dump直接下载SRR文件,并转换为FASTQ格式,--split-3参数表示如果是双端测序就自动拆分,如果是单端不受影响。--gzip转换fastq为压缩文件,节省空间。

具体步骤
【1】SRA文件转换成fastq文件
-----单个文件转换

fastq-dump --gzip --split-3 -O outputdir -A file1.sra
-----多个文件批量转换

复制代码
# 1、编写一个脚本  sra_to_fq.sh
for I in `seq 56 62`
do
    fastq-dump --gzip –split-3 -O ./fastq/ -A SRR35899${I}.sra
done


# --split-3:如果是双端测序数据,则输出两个文件,如果不是则只输出一个文件
# --gzip:输出格式为gzip的压缩文件(fastqc软件可以直接识别gzip压缩的文件)
# -A:accession序列号,输入的文件
# -O:outdir输出文件夹,指定输出路径

# 2、运行脚本
bash sra_to_fq.sh
复制代码
 

【2】QC(测序质量分析):多个文件批量进行
$ fastqc  -q  -t  4  -o  ./fastqc_result/  *.fastq.gz  &
# -t 8:调用8个核心
# -q :安静运行,在运行过程中不会生成报告,只会在结束时将报告生成一个文件
# -o ../FastQC_result.raw/ :文件输出位置,输出到当前文件夹下的FastQC_result 子目录中
# *. fq.gz:,输入文件:当前目录下所有名字中有“  .fq.gz  ”的文件
 

【3】查看QC结果
1、单个查看:鼠标双击打开html文件查看

2、批量查看:使用 moltiqc软件: moltiqc  *fastqc.zip

Fastqc结果报告关注重点:

  1).basic statistics

  2).per base sequence quality

  3).per base sequcence content

  4).adaptor content

  5).sequence duplication levels

主要的几个指标是GC含量,Q20和Q30的比例以及是否存在接头(adaptor)、index以及其他物种序列的污染等。

质控软件:

   测序数据去掉接头:cutadapt

   删掉测序质量差的reads:fastx_trimmer
 

for I in `seq 45 56`
do
/mnt/e/yyp/scdata/TAsol/output/827/new/sratoolkit.2.10.7/bin/fasterq-dump  --split-3 -O ./fastq/ -A SRR113362${I}
done

Obsolete software · ncbi/sra-tools Wiki (github.com)

https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.10.7/sratoolkit.2.10.7-ubuntu64.tar.gz

注意最好不要用conda安装sratools,或者注意conda安装的是不是2.10以上的版本。

因为一般conda用国内镜像安装sratools安装的会是2.8版本,这会带来一些问题,那就是NCBI早就改版了,用的是https而不是http,所以使用conda安装到的2.8版本转了半天圈都不会下载任何东西给你,你需要安装比较新的2.10版本以上的

一年以前遇到过这种坑,但是在之前的服务器我已经解决了这个问题,现在换了个服务器,结果发现我忘记有这个事情了,真的是坑爹。

补充一个下载sra数据并直接转换为fastq文件的工具:
https://www.jianshu.com/p/6f7ceb331e97



作者:可能性之兽
链接:https://www.jianshu.com/p/3d7d9702aa7a
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 类似资料: