zoukankan      html  css  js  c++  java
  • sra转fastq格式

    NCBI上下载的原始数据为SRA数据,而适用于大部分生物软件的是fastq格式,所以我们需要将sra格式的原始数据转为fastq格式。NCBI提供了数据转换的软件fastq-dump。

    1、下载软件

    wget https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.9.2/sratoolkit.2.9.2-centos_linux64.tar.gz
    tar zxf sratoolkit.2.9.2-centos_linux64.tar.gz
    

    解压后软件就在./sratoolkit.2.9.2-centos_linux64/bin/fastq-dump

    2、转换格式

    使用基本命令行

    ./sratoolkit.2.9.2-centos_linux64/bin/fastq-dump /path/to/xxx.sra
    

    但是这个默认使用方法得到结果往往很糟, 比如说他默认会把双端测序结果保存到一个文件里, 但是如果你加上--split-3之后, 他会把原来双端拆分成两个文件,但是原来单端并不会保存成两个文件. 还有你用--gzip就能输出gz格式, 能够节省空间的同时也不会给后续比对软件造成压力, 比对软件都支持,就是时间要多一点。

    3、遇到过的问题

    • 如何下载sra的信息,如insert size、read长度、测序平台等?
      -- 输入srp/srx/srr编号查询到对应信息后,点击右上角的"Send to",选择"File"->"RunInfo"->"Create File",下载下来的.csv文件里有很详细的样品、文库和测序信息。

    • 如果不知道文库是single end还是paired end,如何转换成fastq?
      方法一:一个简单方法是在SRA Run Browser上输入SRR编号查询: (http://trace.ncbi.nlm.nih.gov/Traces/sra/),"Browse" -> "Run Browser" -> then input your ID,LAYOUT会标明是SINGLE还是PAIRED,也可以在Reads结果页面查看,如果展示1条read就是single end,2条reads就是paired end。
      方法二:可以先用sra-stat对sra文件进行统计,从统计结果里可以知道是单末端还是双末端。
      方法三:直接跑fastq-dump,用参数--split-files就自可以自动分辨出来,结果是一个文件就是single end,两个文件就是paired end。
      方法四:fastq-dump的--split-spot可以用来分辨

    srr="SRR3184279"
    numLines=$(fastq-dump -X 1 -Z --split-spot $srr | wc -l)
    if [ $numLines -eq 4 ]
    then
      echo "$srr is single-end"
    else
      echo "$srr is paired-end"
    fi
    

    参考
    1、 如何使用fastq-dump转换SRA格式

  • 相关阅读:
    C# 控制反转(IOC: Inverse Of Control) & 依赖注入(DI: Independence Inject)
    英语常见短语汇总001
    ASP.Net Web.config 中引用外部config文件
    CSS样式汇总
    RSA非对称加密算法
    排序算法【2】——快速排序
    cmake引入boost
    boost之algorithm
    tar命令
    欧拉定理
  • 原文地址:https://www.cnblogs.com/RyannBio/p/9582922.html
Copyright © 2011-2022 走看看