アメリエフの技術ブログ

Amelieff Staff Blog

prefetchがタイムアウト? SRAToolkit 2.10 を使おう

残暑お見舞い申し上げます。
Fuku-Iです。

結論はタイトルの通りなのですが、ここで回想に入ってみましょう。

ぽくぽく・・・


数週間ぶりにNCBI SRA Run Selectorにアクセスしてみたところ、何やら外見が現代風になっていました。

https://trace.ncbi.nlm.nih.gov/Traces/study/

f:id:Fuku-I:20190828173829p:plain:w400
ビフォー

f:id:Fuku-I:20190828173754p:plain:w400
アフター

データがクラウド化されて高速になったそうです。

SRA data is now in the cloud! Use this faster, redesigned version of Run Selector to access available data.

目的のデータを検索し、(ここが高速だったのかもしれない)
いつものように sra-toolkitのprefetch でファイルをすらっと落とそうとしたところ、

prefetch SRR1234567

2019-08-28T07:54:53 prefetch.2.9.3: 1) Downloading 'SRR1234567'...
2019-08-28T07:54:53 prefetch.2.9.3:  Downloading via https...
2019-08-28T08:05:39 prefetch.2.9.3 sys: timeout exhausted while reading file within network system module - mbedtls_ssl_read returned -76 ( NET - Reading information from the socket failed )
2019-08-28T08:05:39 prefetch.2.9.3 int: timeout exhausted while reading file within network system module - Cannot KStreamRead: https://sra-download.ncbi.nlm.nih.gov/traces/sra60/SRR/000000/SRR12345678
2019-08-28T08:05:39 prefetch.2.9.3: 1) failed to download SRR1234567

f:id:Fuku-I:20190531142938p:plain:w200
タイムアウトして、ダウンロードに失敗してしまいました。

このエラーメッセージでは何やらわからないのですが、、、

SRA-Toolkitの最新版 SRA Toolkit version 2.10.02019/8/19に公開されています。
現在は Linuxと、クラウドサービス(AWS and GCP)に対応したバージョンのみですが、コンパイルされたものを取得できます。
※ 新しいperlのライブラリが必要になりました。適宜インストールしましょう。

trace.ncbi.nlm.nih.gov

ダウンロードします。

$ wget http://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.10.0/sratoolkit.2.10.0-centos_linux64.tar.gz
$ tar zxvf sratoolkit.2.10.0-centos_linux64.tar.gz
$ ls sratoolkit.2.10.0-centos_linux64
CHANGES  README-blastn  README-vdb-config  README.md  bin  example  schema

bin の中に、prefetchfastq-dump といったおなじみソフトウェアのバイナリが入っていて
そのまま使えます。

使ってみましょう。

sratoolkit.2.10.0-centos_linux64/bin/prefetch SRR1234567

2019-08-28T08:03:28 prefetch.2.10.0: 1) Downloading 'SRR1234567'...
2019-08-28T08:03:28 prefetch.2.10.0:  Downloading via https...

2019-08-28T08:20:02 prefetch.2.10.0:  https download succeed
2019-08-28T08:20:02 prefetch.2.10.0: 1) 'SRR1234567' was downloaded successfully
2019-08-28T08:20:02 prefetch.2.10.0: 'SRR1234567' has 0 unresolved dependencies

f:id:Fuku-I:20190828175526p:plain:w200
できたぁ❤️!


めでたしめでたし。

SRAのクラウド対応のため、従来のバージョンでは接続がうまくいかないのでは、と考えています。 ソフトウェアは最新版に限りますね。
タイムアウト仲間の皆さんは、ぜひ更新してみてください。


追記:prefetchを使わずダウンロードしながら fastq-dump する派の方は、

$ fastq-dump SRR000000

でも似たようなエラーがでるかもしれません。