著者 : Ville Koskinen   2021年6月17日投稿のブログ記事 (元の英文記事へのリンク)

NCBInr (NCBIprot) に関するTips

 NCBI nrは、National Center for Biotechnology Informationz(NCBI) において作成されている、非同一なタンパク質の配列を網羅したデータベースです。 Mascot Serverでは NCBIprotという名称でPredefined 定義が準備されています。2021年1月のバージョンでは3億3800万のタンパク質配列が含まれており FASTAファイルのサイズは158GBでしたが、その後もデータベースのエントリーは増え続けています。nrはその膨大なエントリーとそれにより引き起こされるトラブルが多発していることから、弊社では使用を非推奨としています。従って検索に利用するのは最後の手段としてお考え下さい。 より良いデータベースの一例として、該当生物種での”Uniprot complete proteome”が挙げられます。一方、どうしてもnrを使用したいという状況に置かれているケースを想定し、以下にNCBIprot構築時によくある問題に対するヒントと解決策を以下にまとめました。

ディスクの性能とサイズ

 Mascot Server のソフトウェア側にはデータベースのサイズに関する組み込みの制限はありません。 主な問題はハードウェアに起因します。以下、3つの要素についてご紹介します。

 まず1つ目の要素として、お使いのMascot Serverのハードディスクの種類を速度の面から確認してください。高速であるほどベターです。NCBIprotは非常にファイルサイズが大きいため、データベースを圧縮する際ディスクのスループットとランダムアクセスの速度の影響を大きく受けます。最適な設定は RAID10 アレイで、データの読み取りと書き込みの両方がディスク間で並列化されます。より安価な次善の選択としては、データセンターグレードのNVMeまたはSSDディスクを使用することで、最後に、コンシューマーグレードのSSD、従来のHDDと続きます。NCBIprotのデータベース構築に関しては非常に時間がかかり、従来型のHDDでは最新のNCBIprotを使用可能な状態にするまでに2週間以上かかるというユーザーからの報告もしばしばあります。

 2つ目の重要な要素はディスクスペースです。目安としては 配列データベースのfastaのコピーを3つ分、保存するのに十分な容量を確保してください。例として 2021年1月の数字を使うと、gzip圧縮されたFASTAファイルが 約90GBでそれを解凍した158GBとなります。解凍したFASTAファイルをもとに、Mascotで作成したインデックスファイルが Mascot で作成されたインデックスファイルが約 170GB で、合計 418GB となります。必要なファイルはFASTAだけではありません。生物種設定の関連ファイル(執筆時には約20GB)も必要で、さらにデータベースを更新する際には新旧二つのバージョンのデータベースを同時に保持状態とする必要があり、構築後もFASTAは残しておきます。そのためNCBIprotのために最低でも800GBのディスクスペースが必要という事になります。

 3つ目の要素は仮想化です。MASCOTは仮想マシン下にインストールすることができますが、仮想化ディスクのパフォーマンスに影響を与える項目についてはその内容に注意してください。 例えば仮想化を実現している手法、基盤となるホストのハードウェアのスペック、仮想ディスクの設定方法:複数の VM が同じホストディスクを共有しているか、スナップショットが使用されているか、などです。可能であれば、NCBIprot専用のホスト・ディスクを用意し、スナップショットに依存しない(永続的な)ボリュームとして設定することをお勧めします。

ダウンロード

Mascot 上で定義されている NCBIprotのPredefined設定は、FTP URLを使用してFASTAファイルをダウンロードします。FTP(File Transfer Protocol, ファイル転送 プロトコル)はシンプルですが堅牢性に欠け、またプロトコルには誤りを訂正する機能がありません。転送されるファイルが大きければ大きいほど、転送時間が長ければ長いほど、何か問題が発生する可能性が高くなります。世界中の多くのお客様から、FASTAファイルのダウンロードエラーについてのお問い合わせがあります。 FASTAファイルのダウンロードエラーです。FTPサーバーの予期せぬ接続終了が原因の場合もあれば ネットワークの不具合やダウンロード速度の変動によるものもあります。

FTP接続エラーが発生したり、Database Managerでのダウンロードが成功しない場合は rsync を使用してください。 rsyncのサポートについてはNCBI ダウンロードFAQに簡単に記載されています(このページの内容はもっとよく知られるべきです)。rsyncは、Unix/Linuxの世界ではよく知られているツールです。 エラー訂正、ダウンロードの再開、大きなバイナリファイルで変更されたバイトだけの転送などといった特徴があります。 また弊社ではHTTPSを使ったファイル転送についても試した事があります。エラー検出は FTPよりも優れていますが、エラー修正はできません。したがって総合的に判断すれば、通常の方法でファイル取得ができない場合の代替方法としてrsyncを試してみる事をお勧めします。

Linuxでrsyncを使ってダウンロードする

ご利用のLinux PCには既にrsyncがインストールされている可能性があります。 ない場合でもディストリビューションのレポジトリから簡単にインストールできます。

Taxonomyファイル(生物種情報ファイル)の更新手順

  1. Database ManagerからSwissProtをアップデートします。これにより、NCBIprotでも使用されている最新のtaxdump.tar.gzがダウンロードされ、解凍されます。
  2. https://s3.amazonaws.com/matrixsciencemisce から prot.av2taxid.gz をダウンロードします(ウェブブラウザでも可)。
  3. prot.av2taxid.gzを解凍して得られたファイルを、mascot/taxonomyディレクトリにコピーします。

FASTAファイルを更新する手順

  1. NCBIprotを有効にしていなかった場合は、まずNCBIprotを有効にするため、Database Managerで”Ebabled”ボタンを押します。
  2. 別のダウンロードタスクが動作中の時は”Cancel”ボタンを押してキャンセルします。
  3. シェルを開いて、NCBIprot/incomingディレクトリに移動します。
  4. 以下のコマンドによりファイルのダウンロードを行います:
    rsync -av --progress --partial --partial-dir=rsync.tmp rsync://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nr.gz .
    このコマンドは、必要に応じてキャンセルしたり、再開したりすることができます。
  5. ダウンロードしたファイルを解凍します:gunzip nr.gz
  6. 得られるファイルnrのファイル名を、NCBIprot_20210611.xyzzy(日付はnrファイル更新日の日付)に変更します。
  7. .xyzzyファイルをNCBIprot/currentに移動します。
  8. .xyzzyファイルの拡張子「.xyzzy」部分を .fastaに変更します。

7と8は順番が重要です。手順を守らず、例えば.fasta ファイルに拡張子を変更してからcurrent ディレクトリにコピーすると、ファイルのコピーが終了する前にMascotがデータベースの圧縮を開始しようとしてエラーになる可能性があります。

Windowsでrsyncを使ってダウンロードする

残念ながら、Windows用のrsyncの公式バージョンは存在しないようです。そこで代わりになる方法をいくつかご紹介します。

  • Linux PCを使いrsyncを実行し、nr.gzを入手してそのファイルをWindows PCにコピーしてください。
  • Cygwinをインストールし、パッケージマネージャーで、gzipとrsyncをインストールします。 これによりLinuxと同じ手順で作業ができます。
  • Acrosyncのような市販のプログラムを使って nr.gzを取得します。Acrosync は rsync プロトコルをサポートしています。
  • DeltaCopyGrsyncなどのフリーソフトを使って nr.gzを取得します。

データベースのオンライン化

FASTAファイルをダウンロードした後、データベースのオンライン化までの過程は自動で行われます。この作業にかかる時間は、前述のようにディスクの性能に依存します。途中でサービスを停止したり、コンピュータを再起動するとプロセスが最初からやり直しになる事にご注意ください。

Mascot Server 2.7 以前では、テスト検索があらかじめ定められた時間を超えて検索が続く場合、タイムアウトのエラーを報告してしまいます。解決策としては、mascot.dat の Options セクションにある、MonitorTestTimeout の値を大きくすることです。例えば値が 2400 の場合、倍の 4800 にしてデータベース圧縮を再試行します(訳者注:14400などの数値でもよいかもしれません)。 タイムアウトの問題は、次のバージョン2.8のMascotでは設定項目からなくし、MASCOT側で自動的に処理される内容となります。

データベース検索

NCBIprotを検索する際のポイントは、検索空間が狭くなる生物種のフィルター(Taxonomy設定)を選択することです。 データベース全体を検索すると、時間がかかるだけでなく Sensitivity(この場合は検索エンジンが提示する同定ペプチドの数)も下がってしまいます。Mascotには生物種絞り込みフィルターの機能が搭載されています。新しいフィルターを追加する手順は、インストールとセットアップマニュアルの第 9 章にあります。(訳者注:日本語マニュアルもございます)。生物種設定を変更した後それをデータベースに反映させるためには、データベースを再構築する必要があります。



訳者補足

日本法人でも、NCBIprotの代わりに生物種ごとのUniprot使用をお勧めしております。Uniprotデータベースは論文投稿などの際に利用される公開repositoryの登録情報などを眺めても頻度高く使用されていることがわかり、認知度も十分高くて使用に問題ないと考えています。状況並びに具体的な設定方法についてはこちらの資料をご参照ください。


Keywords: , , ,