一、写在前面
最近在下载GSA数据的时候发现一个小工具iSeq
,简直太好用了,分享给大家!
iSeq
的GitHub
链接:https://github.com/BioOmics/iSeq(iSeq
竟然配了一个中文教程)
Aspera
和AXEL
,竟然还支持直接获得样本的!
二、下载iSeq
iSeq目前已经同步到了Bioconda
,因此使用conda
下载非常方便:
# 为了环境内软件不冲突,尽量创建一个新环境
conda create -n iseq -c conda-forge -c bioconda iseq
conda activate iseq
# 查看是否安装成功
iseq --help
不过,有时候在Windows
内置的Ubuntu
虽然安装成功,但是conda
环境中的wget
无法正常使用,导致iSeq
不能访问数据,这应该是conda
内部DNS转换
出现了问题,因此在Windows
内置的Ubuntu
还要查看一下下面的代码是否正常。
# 能正常下载就可以
wget www.baidu.com
# 看看能不能访问到SRA文件的连接
srapath SRR1178105
# 弹出:https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR1178105/SRR1178105
如果异常,可以查看文末的问题解决方案。
三、使用iSeq
iSeq
的使用非常简单,就直接给它各大数据库的accession
号就可以了,下面我介绍几个。不过,iSeq
也给出了非常多的使用例子以供参考。
1. 直接把ENA/SRA数据库一个项目里面的数据批量全部下载下来
iseq -i PRJNA211801
2. 直接把GSA数据库一个项目里面的数据批量全部下载下来
- 这通过
华为云盘
下载也太快了把
iseq -i CRA000553
3. 直接获得单个样本的fastq文件。
: GSA
数据库中只能直接获取gz
压缩的fastq
文件或者bam
等文件,SRA/ENA
数据库可以选择-q
获得单个样本的fastq
文件,或者-g
直接下载样本的fastq.gz
文件
iseq -i SRR1178105 -q
4. 使用高速下载
直接使用iSeq
的-a
参数就好
iseq -i SRR1178105 -a
: 通过iSeq
访问GSA数据库的时候,如果华为云的链接存在,即使使用-a
参数,iSeq
也会自动跳转到华为云,如:
iseq -i CRR311377 -a
5. 仅获取metadata的信息
看了一下,样本的信息非常全面,包括发育阶段,取材部位,胁迫条件等,再也不用手动去一个个找了。
iseq -i PRJNA211801 -m
6. 批量下载
cat SRR_Acc_List.txt | while read Run; do
iseq -i $Run -a -g
done
-
SRR_Acc_List.txt
就是一行一个accession
号码组成的文本文件
四、iSeq的具体参数解释
-
-i
,--input
: 输入你想下载的accession,首先获取accession的metadata,然后逐一对包含在内的Run ID进行下载。 -
-m
,--metadata
: 只下载accession的样本信息,跳过测序数据的下载。 -
-g
,--gzip
: 直接下载gzip格式的FASTQ文件,如果不能直接下载,则会下载SRA文件并通过多线程分解和压缩转换为gzip格式。 -
-q
,--fastq
: 将下载完成的SRA文件分解为多个未压缩的FASTQ格式。 -
-t
,--threads
: 指定分解SRA文件为FASTQ文件或者压缩FASTQ文件的线程数,默认为8。 -
-e
,--merge
: 将Experiment中的多个FASTQ文件合并为一个FASTQ文件。 -
-d
,--database
: 指定下载SRA文件的数据库,支持ena
和sra
两种数据库。 -
-p
,--parallel
: 开启多线程下载,需要指定下载的线程数。 -
-a
,--aspera
: 使用Aspera进行下载。
五、iSeq支持的accession格式
目前支持以下5个数据库的6种数据格式,支持的accession前缀如下:
Databases | BioProject | Study | BioSample | Sample | Experiment | Run |
---|---|---|---|---|---|---|
GSA | PRJC | CRA | SAMC | \ | CRX | CRR |
SRA | PRJNA | SRP | SAMN | SRS | SRX | SRR |
ENA | PRJEB | ERP | SAME | ERS | ERX | ERR |
DDBJ | PRJDB | DRP | SAMD | DRS | DRX | DRR |
GEO | GSE | \ | GSM | \ | \ | \ |
其中对于来自于GEO数据库的两种数据格式GSE/GSM
,会直接获取到与之关联的PRJNA/SAMN
,然后获取到包含在内的Run ID并进行测序数据的下载。因此,本质上还是从SRA数据库中下载测序数据。
以下是一些例子:
Accession Type | Prefixes | Example |
---|---|---|
BioProject | PRJEB, PRJNA, PRJDB, PRJC, GSE | PRJEB42779, PRJNA480016, PRJDB14838, PRJCA000613, GSE122139 |
Study | ERP, DRP, SRP, CRA | ERP126685, DRP009283, SRP158268, CRA000553 |
BioSample | SAMD, SAME, SAMN, SAMC | SAMD00258402, SAMEA7997453, SAMN06479985, SAMC017083 |
Sample | ERS, DRS, SRS, GSM | ERS5684710, DRS259711, SRS2024210, GSM7417667 |
Experiment | ERX, DRX, SRX, CRX | ERX5050800, DRX406443, SRX4563689, CRX020217 |
Run | ERR, DRR, SRR, CRR | ERR5260405, DRR421224, SRR7706354, CRR311377 |
六、iSeq详细的pipeline
七、问题解决方案
使用Ubuntu on Windows时,通过
conda
安装Wget
可能会导致“unable to resolve host address”的问题,这反过来可能阻止iSeq
获取数据。你可以选择不通过conda
安装wget
。或者,也可以通过执行以下命令来解决这个问题:conda activate iseq # 将系统自带的wget映射到conda中 ln -sf /usr/bin/wget $(which wget) # 包括srapath,这个是sratoolkit中自带的,可以自行安装后更改下方下方路径为你自己的。 ln -sf ~/pathway/sratoolkit/bin/srapath $(which srapath)
八、写在后面
获取NGS数据之后,就要看各位分析数据,解析问题的能力了,这可能才是关键吧,祝好!