少し前に FTP を再構築した後、NCBI から細菌および真菌のゲノムをダウンロードするためのスクリプト。
このアイデアは、Mick Watson の Kraken ダウンローダー スクリプトから恥知らずにも盗まれました。このスクリプトは Mick の GitHub リポジトリにもあります。ただし、Mick のスクリプトは、(宣伝されているように) Kraken データベースを実際に構築することに特化したPerl で書かれています。
つまり、これは実際のゲノムのダウンロードに焦点を当てたスクリプトのセットです。
pip インストール ncbi-genome-download
あるいは、GitHub からこのリポジトリのクローンを作成し、(Python 仮想環境で) 実行します。
pip インストール 。
古いバージョンの Python でこれが失敗する場合は、まずpip
ツールを更新してみてください。
pip install --upgrade pip
その後、 ncbi-genome-download
インストールを再実行します。
あるいは、 ncbi-genome-download
conda
にパッケージ化されています。ディストリビューションをインストールするには、Anaconda/miniconda サイトを参照してください (強く推奨)。これをインストールすると、次のことができるようになります。
conda install -c bioconda ncbi-genome-download
ncbi-genome-download
Python プロジェクトによるアクティブなサポートが継続されている Python リリースでのみ開発およびテストされています。現時点では、これはバージョン 3.7、3.8、3.9、3.10、および 3.11 を意味します。具体的には、3.7 より古い Python バージョンでのテストは行われていません。
システムが古いバージョンの Python でスタックしている場合は、Homebrew などのツールを使用して、より最新のバージョンを入手することを検討してください。
ncbi-genome-download
0.2.12 は、Python 2 をサポートする最後のバージョンでした。
NCBI からすべての細菌 RefSeq ゲノムを GenBank 形式でダウンロードするには、次のコマンドを実行します。
ncbi-ゲノム-ダウンロード細菌
複数のグループをダウンロードすることも可能です。
ncbi-genome-download 細菌、ウイルス
注: 利用可能なグループをすべて表示するには、 ncbi-genome-download --help
を参照するか、単にall
を使用してすべてのグループを確認します。より具体的なグループに名前を付けると、ダウンロード サイズが削減され、ダウンロードするシーケンスを見つけるのに必要な時間が短縮されます。
適度に高速な接続を使用している場合は、複数のダウンロードを並行して実行してみるとよいでしょう。
ncbi-genome-download バクテリア --Parallel 4
NCBI からすべての真菌 GenBank ゲノムを GenBank 形式でダウンロードするには、次のコマンドを実行します。
ncbi-genome-download --section genbank 菌類
すべてのウイルス RefSeq ゲノムを FASTA 形式でダウンロードするには、次のコマンドを実行します。
ncbi-genome-download --formats fasta viral
形式のリストを指定するか、単にすべての形式をダウンロードすることで、複数の形式をダウンロードできます。
ncbi-genome-download --formats fasta、アセンブリレポートウイルス ncbi-genome-download --すべてのウイルスをフォーマットします
完成した細菌 RefSeq ゲノムのみを GenBank 形式でダウンロードするには、以下を実行します。
ncbi-genome-download --assembly-levels 完全な細菌
リストを指定すると、複数のアセンブリ レベルを一度にダウンロードできます。
ncbi-genome-download --アセンブリレベル完了、染色体細菌
RefSeq から細菌参照ゲノムのみを GenBank 形式でダウンロードするには、以下を実行します。
ncbi-genome-download --refseq-categories 参照細菌
Streptomyces属の細菌 RefSeq ゲノムをダウンロードするには、以下を実行します。
ncbi-genome-download --genera Streptomyces 細菌
注: これは、NCBI によってのみ提供される生物名に対する単純な文字列一致です。
これをちょっとしたトリックで使用して、特定の種のゲノムをダウンロードすることもできます。
ncbi-genome-download --genera「Streptomyces coelicolor」細菌
注: 引用符は重要です。繰り返しますが、これは NCBI によって提供された生物名に対する単純な文字列の一致です。
複数の属も可能です。
ncbi-genome-download --genera「Streptomyces coelicolor、Escherichia coli」細菌
属名を 1 行に 1 つの生物としてファイルに入力することもできます。例:
ストレプトマイセス アミコラトプシス
次に、次のように、そのファイル (例: my_genera.txt
) へのパスを--genera
オプションに渡します。
ncbi-genome-download --genera my_genera.txt 細菌
注: 上記のコマンドは、RefSeq からすべてのStreptomycesおよびAmycolatopsis のゲノムをダウンロードします。
--fuzzy-genus
オプションを使用すると、文字列の一致をあいまいにすることができます。これは、次のように NCBI 生物名の中央の値と一致する必要がある場合に便利です。
ncbi-genome-download --genera coelicolor --fuzzy-genus 細菌
注: 上記のコマンドは、RefSeq から生物名のどこかに「coelicolor」を含むすべての細菌ゲノムをダウンロードします。
NCBI 種分類 ID に基づいて細菌 RefSeq ゲノムをダウンロードするには、次のコマンドを実行します。
ncbi-genome-download --species-taxids 562 細菌
注: 上記のコマンドは、大腸菌に属するすべての RefSeq ゲノムをダウンロードします。
NCBI 分類 ID に基づいて特定の細菌 RefSeq ゲノムをダウンロードするには、次のコマンドを実行します。
ncbi-genome-download --taxids 511145 細菌
注: 上記のコマンドは、Escherichia coli str に属する RefSeq ゲノムをダウンロードします。 K-12 基質MG1655 。
カンマ区切りのリストで番号を指定することで、複数の種のタクシーをダウンロードすることもできます。
ncbi-genome-download --taxid 9606,9685 --アセンブリレベルの染色体脊椎動物_哺乳類
注: 上記のコマンドは、猫と人間の参照ゲノムをダウンロードします。
さらに、複数の種のタクシッドまたはタクシッドを 1 行に 1 つずつファイルに入力し、そのファイル名をそれぞれ--species-taxids
または--taxids
パラメータに渡すことができます。
次の内容を含むファイルmy_taxids.txt
があると仮定します。
9606
9685
次のように猫と人間の参照ゲノムをダウンロードできます。
ncbi-genome-download --taxids my_taxids.txt --assembly-levels 染色体脊椎動物_哺乳類
NCBI で使用されるレイアウトのミラーリングと並行して、人間が判読できるディレクトリ構造を作成することもできます。
ncbi-genome-download --人間が読める細菌
これにより、リンクを使用して NCBI ディレクトリ構造内の適切なファイルをポイントできるため、ファイル スペースが節約されます。リンクは、一部の Windows ファイル システムおよび一部の古いバージョンの Windows ではサポートされていないことに注意してください。
--human-readable
オプションを使用して、以前のダウンロードを再実行することもできます。この場合、 ncbi-genome-download
新しいゲノム ファイルをダウンロードせず、人間が判読できるディレクトリ構造を作成するだけです。 NCBI 側でファイルが変更されている場合、ファイルのダウンロードがトリガーされることに注意してください。
フィルターを指定して、どのアクセションがダウンロードされるかを表示する「ドライラン」オプションがあります。
ncbi-genome-download --ドライラン細菌
アセンブリ概要ファイルの「タイプ マテリアルとの関係」列をフィルタリングする場合は、 --type-materials
オプションを使用できます。可能な値は、「any」、「all」、「type」、「reference」、「synonym」、「proxytype」、および/または「neotype」です。 "any" には、定義されたタイプ マテリアル値に関係のないアセンブリが含まれます。"all" には、定義された値を持つアセンブリのみがダウンロードされます。複数の値をカンマで区切って指定できます。
ncbi-genome-download --type-materials タイプ,リファレンス
デフォルトでは、ncbi-genome-download は、それぞれの分類グループのアセンブリ概要ファイルを 1 日キャッシュします。 --no-cache
オプションを使用すると、キャッシュ ファイルの使用をスキップできます。 --help
の出力には、キャッシュされたファイルを削除したい場合に備えて、キャッシュ ディレクトリも表示されます。
すべてのオプションの概要を取得するには、次を実行します。
ncbi-genome-download --help
メソッド呼び出しとして使用することもできます。
ncbi_genome_download を ngdngd.download() としてインポート
上で説明したように、または--help
で Python 化されたキーワード引数を渡します。バクテリアなどの分類グループを指定するには、 groups
キーワードを使用します。 --format
CLI オプションの場合と同様に、ファイル形式を指定するには、 file_formats
を使用します。他のすべてのキーワードは、 -
_
に変換して、CLI オプションと一致する必要があります。メソッド呼び出しは CLI と同じロジックに従うため、リスト データはコマンド ラインと同様に、スペースを入れずにカンマで区切った文字列として渡す必要があることに注意してください。
gimme_taxa.py
このスクリプトを使用すると、どの TaxID をngd
に渡すかを確認し、それに渡す単純な 1 行に 1 項目のファイルを作成します。 ete3
ツールキットを利用しているため、依存関係がまだ満たされていない場合は、サイトを参照して依存関係をインストールしてください。
特定の TaxID または学名を使用してデータベースをクエリできます。スクリプトの主な機能は、指定された親分類群のすべての子分類群を返すことです。スクリプトには、出力にどのような情報を書き込むかについてのさまざまなオプションがあります。
基本的な呼び出しは次のようになります。
# エシェリヒア属のすべての子孫分類群を取得します (taxid 561):python gimme_taxa.py -o ~/mytaxafile.txt 561# または、分類群名を指定するだけですpython gimme_taxa.py -o all_descendent_taxids.txt Escherichia# 複数の分類群 ID および/またはを指定することもできますnamespython gimme_taxa.py -o all_descendent_taxids.txt 561、メタノブレビバクター
初めて使用するとき、デフォルトでホーム ディレクトリに小さな sqlite データベースが作成されます ( --database
フラグを使用して場所を変更します)。 --update
フラグを使用して、このデータベースを更新できます。データベースがホーム ディレクトリにない場合は、 --database
で指定する必要があることに注意してください。指定しないと、新しいデータベースがホーム ディレクトリに作成されます。
すべてのヘルプを表示するには:
Python gimme_taxa.py Python gimme_taxa.py -h python gimme_taxa.py --help
ncbi-genome-download
の--taxids
オプションを指定してgimme_taxa.py
スクリプトを使用するには、次のように-j
オプションを指定してgimme_taxa.py
を呼び出す必要があります。
gimme_taxa.py -j -o my_taxids.txt エシェリヒア ncbi-genome-download --taxids my_taxids.txt 細菌
ncbi-genome-download
引用Zenodo デポジットの DOI: 10.5281/zenodo.8192432 または使用したバージョンの特定の DOI を介してncbi-genome-download
引用できます。
すべてのコードは Apache ライセンス バージョン 2 で利用できます。詳細については、 LICENSE
ファイルを参照してください。