macでインフォマティクス

macでインフォマティクス

NGS関連のインフォマティクス情報についてまとめています。

editorial要約 Improving the usability and archival stability of bioinformatics software

2019 3/2 文章修正

 

 ゲノミクスおよびシーケンシング技術の急速な進歩は、圧倒的な量と多様性の新しいソフトウェアツールとしてパッケージされた分析アルゴリズムをもたらした[ref.1]。 このような計算ツールは、ライフサイエンスや医学研究者がますます複雑化するデータを分析し、困難な生物学的問題を解決し、そして新しい臨床翻訳に不可欠な基礎を築くのに役立ってきた。 確かに、ヒトゲノムの初期シーケンスから最新のハイスループットシーケンスデータの解析までシーケンスデータ解析のすべてのフェーズは、バイオインフォマティクスツール[ref.2]に依存している。

  • 開発されたソフトウェアを使用可能にし[ref.3]、ソフトウェアツールにアクセスするためのURLを統一することがますます重要になってきている。
  • 一貫して使用可能でアクセス可能なソフトウェアとは、同じ計算ツールを実行することで研究によって生成されたデータを再生成できる能力を持つものとして定義される。
  •  さらに、ソフトウェアツールの使いやすさ、つまり「使いやすさ」が重要であり、アカデミアで開発されたソフトウェアツールは、産業界で開発されたツールと比較して、ユーザーにとって使い勝手がよくないことが度々ある。
  •  毎年多数のツールがリリースされているため、これらの問題はソフトウェアツールの科学的有用性を制限する可能性がある。
  • 計算生物学におけるこの問題の規模はまだ見積もられていないが、バイオインフォマティクスコミュニティは、不十分に維持または実行されたツールは「ビッグデータ」ドリブンの分野における進歩を最終的に妨げるであろうと警告している[ref.6 link]。
  • サイエンスソフトウェアをうまく​​実装して幅広く配布するためには、数多くの独自の課題がある。 第一に、アカデミアでは、ソフトウェアツールは大学院生またはポスドク研究者からなる小グループによって開発されている[ref.7]。 これらのグループは、ソフトウェア開発グループと比較すると、短期間であまり包括的なトレーニングを受けずにソフトウエアを実装している。
  • さらに、安定したサポートがあっても、ソフトウェアツールのユーザビリティは保証されない。これは、ユーザがツールをインストールして実行する能力として定義される。
  • ソフトウェアの使用可能性および計算ツールの保存安定性の制限により、最終的にオリジナルpublishの結果を再現する能力が損なわれる。
  •  アカデミックの世界では、開発者はソフトウェアエンジニアリング、特に専門的なユーザーエクスペリエンスとクロスプラットフォーム設計に関する正式なトレーニングを受けていないことがよくある。
  • 多くの計算生物学ソフトウェア開発者は、ツールをインストールして実行するためのユーザーフレンドリーなインターフェースを提供するためのリソースを欠いている。
  • 使いやすいツールの開発は、「依存関係」と呼ばれる、事前にインストールする必要がある多くのツールがサードパーティ製ソフトウェアに依存しているため、さらに複雑である。
  • 現在、計算生物学の分野では、エンドユーザーが簡単にインストールできる十分に標準化されたアプローチが欠けている。
  • ソフトウェア開発に対する制度的支援の欠如はこれらの課題を悪化させる。 政府機関は新しい計算方法に興味を持っているが、既存のツールの継続的な開発と維持のための資金は不十分である[ref.8]。
  •  広く使用されているツールであっても、ツールの開発や提供を中止したりするなど、長期間のメンテナンスに必要なfundを突然失う可能性がある。
  • さらに、ソフトウェア開発は学術的な採用や昇進にインセンティブを受けていない。むしろpublicationと資金調達に焦点を当てている。
  •  2000年から2017年までにpublishされた24,490のオミックスソフトウェアリソースの実証分析では、全オミックスソフトウェアリソースの26%が、原著論文に掲載されているURLを通じて現在アクセスできないことを示している。
  •  2000年から2017年にかけてアーカイブ不安定なリソースの割合が大幅に減少したが、そもかかわらず、研究期間中、毎年200のアーカイブ不安定なリソースが公開されている。
  • 計算ツールの使いやすさとアーカイブの安定性を向上させるには、アカデミアのソフトウェア開発者間での協調的な努力が必要になる。 ソースコードをホストするように設計されたGitHubSourceForgeなどのWebサイトでソフトウェアツールをホストすることを勧める。
  •  著者らの研究では、そのようなオンラインリポジトリに読者を誘導するソフトウェアツールのURLは、高いアクセシビリティを持っている。 GitHubへのリンクの99%およびSourceForgeへのリンクの96%がアクセス可能だが、他の場所でホストされているリンクは72%のみがアクセス可能である。
  • バイオインフォマティクスコミュニティは2001年以来これらのWebベースのサービスを使用しており、これらのリポジトリでホストされているソフトウェアツールの割合は、2012年の5%から2017年の20%に大幅に増加している[ref.9]。
  • さらに、公開されているオミックスソフトウェアツールのインストール可能性についての体系的な評価は、いくつかの改善分野を示唆している。 分析に含まれた99のランダムに選択されたツールのうち、49%が「インストールが困難」と判断され、インストールに15分以上かかり、28%のツールが2時間以内にインストールされなかった。
  • さらに、インストール可能性はソフトウェアツールの人気に影響を与えることがわかった。 正常にインストールされたツールは、2時間以内にインストールできなかったツールと比較して、引用数が大幅に増えた。
  •  調査対象のツールをインストールするには、平均8つのコマンドが必要だったが、ユーザーマニュアルの上では平均3.9のコマンドしか示されていなかった。
  •  調査されたソフトウェアツールのいくつかはパッケージマネージャを通して利用可能だった。それはユーザがインストール、アップグレードと構成を自動化することを可能にする。
  • よく管理されたパッケージマネージャ(例:Bioconda [ref.10])を通じて入手可能なツールは常にインストール可能である一方、パッケージマネージャなしのツールは、調査したケースの32%で問題を起こしやすいことがわった。
  • バイオインフォマティクス研究者はより複雑化するデータセットと問題に取り組んでおり、我々のコミュニティは開発、ピアレビュー、そして公開されたソフトウェアパッケージに対して厳格で標準化されたアプローチを採用する必要がある。
  •  アーカイブの不安定性に対する多くの解決策がすでに利用可能である。 たとえば、GitHubSourceForgeなどのアーカイブ上安定したサービスでバイオインフォマティクスソフトウェアパッケージをホスティングすると、omicsツールの長期的なアクセス性が大幅に向上する。
  • 開発者は、依存関係のサードパーティソフトウェアパッケージをダウンロードしてインストールできる使いやすいインストールインターフェイスを作成して提供できる。 あるいは、開発者はBioconda[ref.10]のようなパッケージマネージャでツールをラップすることができる。
  • 期待される結果のデータセットが含まれていると、ツールを実験データに対して実行する前に、ツールが正常にインストールされ、正しく機能し得るか確認することができる。
  • ジャーナルは、査読プロセス中にソフトウェアのユーザビリティアクセシビリティに対する厳密で標準化されたアプローチを奨励する必要があるかもしれない。
  •  レビュー担当者は、ソフトウェアツールを説明する文書に、インストールスクリプト、テストデータ、およびツールのインストールと実行の妥当性を自動的に確認できる機能などの関連項目を含めることを要求する場合がある。
  •  ジャーナルは、私たちの分野で増大している別の問題に対処するための補完的なトップダウン戦略を提供することができる。バージョン管理、または多くのバージョンと構成からなる安定したソフトウェアシステムの維持など。

一部略

 バイオインフォマティクス研究およびハイスループットコンピューティング能力の劇的な変化は、いくつかのツールを無関係にする可能性があるが、それでも優れた精度で新しいツールを開発するためのバックグラウンドを提供している。 我々の研究は、使用可能でアーカイブ上安定なバイオインフォマティクスソフトウェアを作り上げることの課題を強調している。 計算生物学ソフトウェア開発の現在のモデルは、研究者が新しいツールを開発し公開することを奨励するが、既存のツールの維持を奨励するものではない。 さらにアカデミアでは、インストールや使用が簡単な計算ツールを開発する動機はほとんどない。 それにもかかわらず、我々(著者ら)の研究結果は、計算生物学の成長にとってソフトウェアの安定性とユーザビリティが重要性であることを示している。 この結果は、ソフトウェアの検証とアーカイブのための標準化されたアプローチに向けた協調的な取り組みを採用するための説得力のあるエビデンスを提供し、生物医学研究コミュニティにおけるソフトウェアツールの開発と保守のための資金とリソースの必要性を強調している。

 

 

 

 

感想

 私の主観では、ソフトウエアを簡単に導入できるかどうかが、ソフトウエアを自分の研究に取り込む上で最もクリティカルなステップになっていると感じます。例えば、素晴らしいソフトウエアを見つけたとして、その方法を使うと自分のデータはどうなるのか、(胸の高鳴りを抑えつつ)ソースコードのダウンロード&ビルドを始めても、端末の無味乾燥な黒画面にerrorが何度も表示されていると、次第に興味を失っていくからです(*1)。私だけかもしれませんが、すぐにインストールできないとモチベーションは大きく低下します。失敗した時は1行1行エラーメッセージを調べたりマニュアルを読み返して対処する訳ですが、数回トライアンドエラーしても解決出来ず、グーグリングしてあちこちたらい回しになっている内に頭の中に浮かんでくるのは、そもそも私の OSで動くのか?、本当にテストしてる?、初期化するか....、などの疑心疑惑、雑念です。パッケージマネージャや仮想環境による導入がサポートされていれば、このようなインストール時の時間の浪費は大幅に低減でき(*2)、純粋な研究外のタスクに多量の時間を消費しないで済みます(*3)。いったんソフトウエアが導入できれば、"tiny dataset"を使い最小限のオプションでジョブを開始してすぐに結果を得ることができ、十分な思考能力を残したまま結果を解釈できる余裕が生まれます(*4)。よって、導入ステップこそがソフトウエアを自分の研究に取り込む上で一番の障壁になっていると思っています。

この方の発言はツールの使い方やアルゴリズムについての言及かもしれませんが、導入時のトラブルの対処も基本は同じですね

 

 このブログを始める前の話になりますが、私の場合、ソフトウエアの導入や実行手順でよくコケていたので、講習会で配布されたマニュアルを使ったり、インストール方法やコマンドについてまとめたwordの書類を使って対処療法的な対応を取っていました。しかしそのやり方では数が増えるにつれて管理が面倒になるのは目に見えていました。実際、徐々に目的の物を探す時間が増え、面倒さを感じる事が増えていました(ローカルマシン内のデータ検索能力はGoogleより大きく劣り、あのHDDにあるのは分かっているに見つけることが出来ない)。また計算マシンが変わると書類にアクセスできなくなる事や、人に教える時に非常に面倒な事もネックでした。こういった経験から、オンラインでアクセスできるindex付きメモがあれば自分の研究や知人のサポートに役立つだろう、加えて、もしかして会ったことのない他の人にとっても有用ではないか?、という気づきを得てこのブログを始めました。

 ブログでツールを管理し始めてからは、ソフトウエアの実行や、他のソフトウエアとの連携が飛躍的に楽になりました。思った以上にアクセスもいただいているようで、初期の動機はそれほど間違いではなかったかなと考えています。今後もどうぞよろしくお願いいたします。

 

引用

Improving the usability and archival stability of bioinformatics software
Serghei Mangul, Lana S. Martin, Eleazar Eskin, Ran Blekhman
Genome Biology 2019 20:47

PDF link

https://genomebiology.biomedcentral.com/track/pdf/10.1186/s13059-019-1649-8

 

関連


 

*1

私の場合、このブログで紹介しようと思って導入を試みたツールも合計200くらい導入に失敗して下書きのままです。失敗の原因は、論文の該当URLが消えている、ソースコードすらダウンロードできない、ソースコードをダウンロードできてもインストールに失敗する、ビルドは成功するがラン中にsegmentation error等を吐きexitしてしまう、エラーlogなくランは終わるが出力がゼロ、など様々です。オンラインで利用できるツールも、既にアクセスできなくなっている、トップページにはアクセスできるがジョブがスタートしない、ジョブはスタートするが終わらない(一番厄介)、などトラブルは尽きません。

 

*2

依存が増えてくるとパッケージマネージャを使ってもインストールに失敗する事はありますが、エラーメッセージを見ればどのツールとどのツールがコンフリクトしているか分かります(例えばconda)。原因がわかれば対処はずっと簡単です。

 

*3

失敗を重ねる事で勉強になる点はメリットかもしれません。

 

*4

正しくインストールできれば、publish済みのデータの再現性について調べることもできるようになります。反面、正しく導入できたか不明なまま再現性云々を言う人はいないでしょう。