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 -r や wget -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文をまわせるかと思ったので応用してみてください。
効率的ではない気がするので、最後の手段として試してみてください😅