シーケンスデータは多くの場合連番でSRAにupされているが、SRRだとかSRXだとか色々番号があって対応関係を把握するのが先決。
例えば以下GSMの番号は連番。
一番上のリンクへ行くと
最下部にとあるのでftpへ行く(chromeで見た方がいい)
となっている。SRR824704にSRR824704.sraという目的のファイルが入っている。
同様にGMS1111729もみてみると
となっていて、SRR824727にSRR824727.sraという目的のファイルが入っている。
なので今回はSRX263794-263817とSRR824704-824727がそれぞれ対応しているという事がわかる。シーケンスデータによっては全てのデータが連番ではないこともあるので注意が必要。
シェルスクリプトの作法はよくわからないのでググるヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノ
vimを使っているので、
vim SRA_download.shとしてファイルを作る。
シェルスクリプト作る際は思った挙動するかわからないので、echoでおもっているようなスクリプトがかかれているか確認する。
#!/bin/sh # 全てのSRX Number srx_list=({263794..263817}) # 全てのSRA Accussion Number sra_list=({824704..824727}) # ダウンロードする FTP サイトの共通部分までのパス base_url=ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX%2FSRX263/ for i in {0..23} do echo "wget ${base_url}/SRX${srx_list[i]}/SRR${sra_list[i]}/SRR${sra_list[i]}.sra" #sleep 10m doneと記述して上書きする(esc :wq)
chmod u+x SRA_download.sh
としてから
./SRA_download.shとすると確認が出来るので出てきたURLからftp://以下から.sraの一つ上流までをコピーしてブラウザーで確認する。chromeでftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX%2FSRX263/SRX263809/SRR824719とすれば、先ほどのリンクにたどれる。
これで一応問題ないので
#!/bin/sh # 全てのSRX Number srx_list=({263794..263817}) # 全てのSRA Accussion Number sra_list=({824704..824727}) # ダウンロードする FTP サイトの共通部分までのパス base_url=ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX%2FSRX263/ for i in {0..23} do wget ${base_url}/SRX${srx_list[i]}/SRR${sra_list[i]}/SRR${sra_list[i]}.sra sleep 10m doneとecho" "と#を取り払って、上書きする(esc :wq)
./SRA_download.shでダウンロードが始まる。
説明しとくと
#!/bin/sh---シェルスクリプトのおまじない # 全てのSRX Number srx_list=({263794..263817})先に調べておいたSRXの番号のリスト # 全てのSRA Accussion Number sra_list=({824704..824727})先に調べておいたSRRの番号のリスト # ダウンロードする FTP サイトの共通部分までのパス base_url=ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX%2FSRX263/ #全データが24個あるので24回ループさせる。(1番目は0らしい。) for i in {0..23} #なんかやらせる時-do do #URL共通部分/SRX+番号(リストのi番目)/SRA+番号(リストのi番目)/SRA+番号(リストのi番目).sraってこと ${base_url}/SRX${srx_list[i]}/SRR${sra_list[i]}/SRR${sra_list[i]}.sra #ftpって色々制限あったりするらしいのでダウンロード終わってから10分待ってから次のダウンロード始める。 sleep 10m #やらせるの終わったら-done done
0 件のコメント:
コメントを投稿