Edited at

SRAのファイルのパス取るのだるすぎる

More than 3 years have passed since last update.

よくある(俺調べ)。ファイルパスのリストを作ります。


下準備

まずID変換用のファイルを取ってくる(このファイルは毎日更新されます)

lftp -c 'open ftp.ncbi.nlm.nih.gov/sra/reports/Metadata && pget -n 8 SRA_Accessions.tab'


fastqファイルが欲しい場合

Submission ID (prefix) - Submission ID - Experiment ID - Run ID と階層が深くなる感じで置いてある。たとえば

/usr/local/ftp/public/ddbj_database/dra/fastq/SRA108/SRA108897/SRX369002/SRR1019460_1.fastq.bz2

こんな感じ。


ポイント


  • 全てのデータがfastqに変換されているわけではない


    • DDBJ的には全部fastqに変換するポリシーだったけどストレージが足りなくなってやめた

    • [2015/6/11追記] ストレージは今のところ大丈夫だけど、データ数が多すぎてfastqへの変換が追い付いていないとのこと



  • SRX〜のディレクトリ中に DRR000001.fastq.bz2 DRR000001_1.fastq.bz2 DRR000001_2.fastq.bz2 とかが入っている

  • 圧縮形式はほとんどがbz2だがgzの時もある

  • pairedかsingleかは対応表だけからは区別できないのでディレクトリ以下のファイルを*.fastq*とかで丸ごと取ってくるのがよい


全てのRunのfastqの入ってるディレクトリ一覧を作成する

awk -F '\t' '$1 ~ /^.RR/ { OFS="/" ; print "/usr/local/ftp/public/ddbj_database/dra/fastq", substr($2,1,6), $2, $11}' SRA_Accessions.tab


SRAファイルのリストが欲しい場合

実際のパスはこんな感じだ。

/usr/local/ftp/public/ddbj_database/dra/sralite/ByExp/litesra/ERX/ERX576/ERX576901/ERR620130/ERR620130.sra


ポイント


  • sraは全部ある(はず)

  • 取ってきたら SRAToolkit の fastq-dump でfastqに変換するとかするのがよい



awk -F '\t' '$1 ~ /^.RR/ { OFS="/" ; print "/usr/local/ftp/public/ddbj_database/dra/sralite/ByExp/litesra", substr($11,1,3), substr($11,1,6), $11, $1, $1 ".sra"}' SRA_Accessions.tab

なおコマンド中に書いてあるファイルパスはSRAのディスクがマウントされた裏口管理者用ノードでしか見られないのでこの覚え書きはほとんどの人には役に立たない。