| JSBML | |
|---|---|
| 開発者 | JSBMLチーム |
| 初回リリース | 2011年2月1日 (2011年2月1日) |
| 言語 | Java |
| オペレーティングシステム | プラットフォーム非依存 |
| タイプ | XMLパーサーライブラリ |
| ライセンス | LGPLライセンスv2.1 |
| ウェブサイト | sbml.org |
| リポジトリ | |
JSBML [ 1 ] [ 2 ] (Java Systems Biology Markup Language) は、SBML (Systems Biology Markup Language [ 3 ] [ 4 ] [ 5 ] ) 形式用のオープンソースのJava (API)です。このAPIは、対応するライブラリlibSBMLのJavaバインディングとの強い類似性を実現することを目指していますが、完全にJavaで実装されているため、プラットフォームに依存しません。JSBMLは精巧な抽象型階層を提供し、そのデータ型は標準Javaライブラリの多くのインターフェースと抽象クラスを実装または拡張します。このように、JSBMLは既存のJavaプロジェクトにスムーズに統合され、SBML文書のコンテンツの読み取り、書き込み、評価、操作を行うためのメソッドを提供します
開発
2009年5月、SBMLチームは、さらなるソフトウェア開発の可能性に関する要望についてコミュニティ調査を実施しました。その結果、ライブラリlibSBMLはプログラミング言語Java用のバインディングを生成しているものの、内部のCコードではプラットフォームに依存しないアプリケーションやWeb Startアプリケーションの 実装が困難であることが判明しました
当時、複数の研究機関の複数のグループが、libSBMLの小規模なJava版を既に実装しており、それぞれが特定の研究プロジェクトのニーズを満たすカスタマイズされたライブラリでした。不要な作業の重複を避け、既存の開発を統合するために、2009年9月に、EBI、Caltech 、そしてAndreas Dräger率いるテュービンゲン大学の学生チームを中心に、国際コミュニティプロジェクトJSBMLが開始されました。
JSBML はlibSBMLの最初のバージョンよりもかなり後に実装されたため、レベル 1 ~ 3 のSBML仕様の存在から恩恵を受けることができました。したがって、 JSBML は、 libSBMLプロジェクトの既存のCコードを新しいJavaに移植することによって開発されたわけではありません。開発者は、これを機会にクラスとAPI構造を完全に再設計しました。これが、 JSBML がlibSBMLと比較してはるかに豊富な抽象型階層を提供している理由です。さらに、 JSBML の開発により、当時は下位互換性を考慮する必要がなかったため libSBMLでは不可能だった設計上の決定が可能になりました。
JSBML の最初の安定リリース バージョン 0.8 は、2011 年 2 月にダウンロード用に公開されました。それ以来、複数の SBML 拡張パッケージのサポートが実装されており、JSBML 1.0 のリリースに含まれる予定です。
目的
JSBMLの開発は、以下の3つの目的によって推進されています。
- ネイティブ依存のない純粋なJava APIを提供する
- libSBMLとの可能な限り高い互換性を実現すると同時に、ライブラリが他のネイティブJavaライブラリと同じように動作するようにします (つまり、経験豊富な Java 開発者が期待するとおりに動作するようにします)。
- SBMLのすべてのレベル/バージョンの組み合わせと拡張パッケージをサポート
使用方法
次の例では、 JSBMLのJARファイルがクラスパスに含まれており、コードが実行されるプラットフォーム上で Java仮想マシンのローカルインストールが利用可能であることを前提としています
以下のコーディング例は、SBMLファイルを解析し、その内容をウィンドウにツリー形式で表示する方法を示しています。結果は、例えば右の図のようになります。SBMLの実際の解析は、SBMLReaderクラスの静的メソッドを呼び出すことで1行で行われていることがわかります。JSBMLのデータ構造全体がツリー構造で構成されているため、表示用のツリーの作成も簡単です。 javax.swing.*をインポートします。org.sbml.jsbml .*をインポートします。/** SBMLファイルの内容を{@link JTree}に表示します */ public class JSBMLvisualizer extends JFrame {/** @param document SBML ファイルの sbml ルート ノード */ public JSBMLvisualizer ( SBMLDocument document ) { super ( document . getModel (). getId ()); getContentPane (). add ( new JScrollPane ( new JTree ( document ))); pack (); // フレームをコンパクトにするsetLocationRelativeTo ( null ); // 画面の中央に配置するsetVisible ( true ); } /** @param args SBML ファイルへの有効なパスが必要です。 */ public static void main ( String [] args ) throws Exception { new JSBMLvisualizer ( SBMLReader . read ( args [ 0 ] )); } } |
参考文献
- ^ Dräger, A. ; Rodriguez, N. ; Dumousseau, M. ; Dorr, A. ; Wrzodek, C. ; Le Novère, N. ; Zell, A. ; Hucka, M. (2011). 「JSBML:SBMLを扱うための柔軟なJavaライブラリ」 (PDF) .バイオインフォマティクス. 27 (15 ) : 2167– 2168. doi : 10.1093/bioinformatics/btr361 . PMC 3137227. PMID 21697129
- ^ロドリゲス、N.;トーマス、A.渡辺L.アイオワ州ワジラバード;コフィア、V。ゴメス、HF。ミタグ、F.マテス、J.ルドルフ、法廷博士。ウルゾデック、F.ネッツ、E.ディアマンティコス、A.アイヒナー、J.ケラー、R.ウルゾデック、C.フレーリッヒ、S.ネブラスカ州ルイス。マイヤーズ、CJ;ル・ノヴェール、N.パルソン、B. Ø。ハッカ、M. Dräger、A. (2022)。「JSBML 1.0: システム生物学モデルをエンコードするためのさまざまなオプションを提供する」(PDF)。バイオインフォマティクス。31 (20): 3383– 3386. doi : 10.1093/bioinformatics/btv341 . PMC 4595895 . PMID 26079347 .
- ^ハッカ、M.フィニー、A.サウロ、HM。ボロウリ、H.ドイル、JC。北野 博;アーキン、AP; AP 州ボーンスタイン。ブレイ、BJ。コーニッシュ・ボーデン、D.クエラル、A.ドロノフ、AA;ジル、S.ギンケル、ED;ゴー、M.ゴリヤニン、V.ヘドリー二世。ホッグマン、ウィスコンシン州。ホフマイヤー、TC;ハンター、J.-H.ジューティ、ペテロ;ニューサウスウェールズ州カスバーガー。クレムリング、JL;クマー、A.ル・ノヴェール、米国;ロウ、N.ルシオ、LM;メンデス、P .ミンチ、P. Mjolsness、E. (2003)。「システム生物学マークアップ言語(SBML):生化学ネットワークモデルの表現と交換のための媒体」(PDF) .バイオインフォマティクス. 19 (4): 524– 531. doi : 10.1093/bioinformatics/btg015 . PMID 12611808 .
- ^ Finney, A.; Hucka, M. (2003). 「システム生物学マークアップ言語:レベル2以降」.生化学会誌. 31 (Pt 6): 1472– 1473. CiteSeerX 10.1.1.466.8001 . doi : 10.1042/bst0311472 . PMID 14641091 .
- ^ Hucka, M.; Finney, A.; Bornstein, BJ; Keating, SM; Shapiro, BE; Matthews, J.; Kovitz, BL; Schilstra, MJ; Funahashi, A.; Doyle, SM; Kitano, MJ (2004). 「計算システム生物学のための共通言語と関連ソフトウェア基盤の発展:システム生物学マークアップ言語(SBML)プロジェクト」(PDF) . Systems Biology . 1 (1): 41– 53. doi : 10.1049/sb:20045008 (2025年7月12日非アクティブ). PMID 17052114 .
{{cite journal}}: CS1 maint: DOIは2025年7月時点で非アクティブです(リンク)
