wget / curl

指定の URL からファイルをダウンロードする際によく使われるコマンドには wgetcurl がある。これらのコマンドを利用することで、ブラウザーやマウスの利用できない大型計算機にファイルをダウンロードしたりすることができる。

  1. wget
  2. curl

wget

ファイル名を指定してダウンロード

Ensembl にあるヒトゲノムの全塩基配列をダウンロードする例。ヒトゲノムのデータは Ensembl FTP サーバーに保存してあるので、次のように「ftp://」から始まるダウンロードアドレスを与える。

wget ftp://ftp.ensembl.org/pub/release-68/fasta/homo_sapiens/dna/Homo_sapiens.GRCh37.68.dna.toplevel.fa.gz

拡張子を指定してダウンロード

指定したダウンロード先がディレクトリであり、その中に様々な拡張子をもつファイルがあるとき、特定の拡張子を持ったファイルだけをダウンロードする場合は -A オプションを利用する。

次は GenBank からすべての塩基配列をダウンロードする例。GenBank の塩基配列のデータは「.seq.gz」で終わるので、-A .seq.gz のように指定する。

wget -A .seq.gz ftp://ftp.ncbi.nih.gov/genbank/

階層のレベルを指定してダウンロード

ダウンロードしたいファイルが複数のディレクトリに保存されている場合は、回帰するように指定すると一括ダウンロードできる。例えば、DDBJ には PDB ファイルが置かれている。これらのファイルは「ftp://ftp.ddbj.nig.ac.jp/mirror_database/pdb/distr/英数字/PDBファイル」のように配置されている。このとき、ダウンロードしたいファイルは「・・・/distr/」から見て、2 つ下に置かれているので、オプションでは -l 2 -r と指定する(-r は回帰、-l は階層レベル)。

wget -l 2 -r ftp://ftp.ddbj.nig.ac.jp/mirror_database/pdb/distr/

ダウンロードしたファイルはサーバー上と同じようなディレクトリ構成で保存される。ダウンロードしたファイルをすべて指定先のディレクトリに保存するには -nd -P オプションをつける。「./data」ディレクトリにダウンロードする例。

wget -l 2 -r -nd -P ./data ftp://ftp.ddbj.nig.ac.jp/mirror_database/pdb/distr/

途中からダウンロードの再開

ダウンロード中で何らかの原因によってダウンロードが中断された場合、レジューム機能を利用することで、途中から再開することができる。オプションに -c を付ける。

# ダウンロード
wget ftp://ftp.ensembl.org/pub/release-68/fasta/homo_sapiens/dna/Homo_sapiens.GRCh37.68.dna.toplevel.fa.gz

# 中断(Ctrl + C)

# ダウンロードの再開
wget -c ftp://ftp.ensembl.org/pub/release-68/fasta/homo_sapiens/dna/Homo_sapiens.GRCh37.68.dna.toplevel.fa.gz

curl

curlwget とほぼ同じ機能を提供している。対応するプロトコル(HTTP, HTTPS, FTP など)が wget よりも多いのが特徴である。

ファイル名を指定してダウンロード

ダウンロード URL と出力オプション -O を与えて、ファイルをダウンロードする。

curl -O ftp://ftp.ensembl.org/pub/release-68/fasta/homo_sapiens/dna/Homo_sapiens.GRCh37.68.dna.toplevel.fa.gz