MGnify FTPからデータをダウンロードする

①wgetを使う

MGnifyに登録されているデータをダウンロードするには、MGnifyのFTPサーバーを使うのが便利です

MGnify FTP: http://ftp.ebi.ac.uk/

↑のリンクから目的のデータを探していただき、ターミナルでwgetを使えば基本的にはダウンロードできました

例えば、CrAssファージの「CrAss-family-members.tsv」をダウンロードするなら、(/pub/databases/metagenomics/genome_sets/gut_phage_database/ に移動して)ファイルのリンクをコピーしwgetです。

wget http://ftp.ebi.ac.uk/pub/databases/metagenomics/genome_sets/gut_phage_database/crAss-family_members.tsv

②ディレクトリごとダウンロードする場合

wget -rwget -mc で特定のディレクトリごとダウンロードできるようなので、まずはこちらをお試しください

wget -r http://ftp.ebi.ac.uk/pub/databases/metagenomics/genome_sets/gut_phage_database/

③wget -r が上手くいかなかった場合

私は特定のディレクトリ以下の階層にある全てのファイルをダウンロードしたかったのですがwget -r や wget -mc などでディレクトリごとダウンロードできると書いてあったのですが、なぜか上手くいきませんでした。

どうするか悩んだ結果、メタデータファイルにFTPリンクが載っていることに気が付き、それをfor文でまわしてダウンロードすることにしました。

import pandas as pd
import wget
df = pd.read_csv('./genomes-all_metadata.tsv', sep='\t')

for ftp in df['FTP_download']:
        filename = wget.download(ftp)
        print(filename)   

まずメタデータをデータフレーム化して、FTP_downloadに格納されている各データへのFTPリンクを一つずつfor文で取ってきてwgetでダウンロードしています。

もし、メタデータ中にFTPアドレスがない場合は、アクセッションNoとかもfor文をまわせるかと思ったので応用してみてください。

効率的ではない気がするので、最後の手段として試してみてください😅

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA