JSBML
JSBML| 개발자 | JSBML 팀 |
|---|---|
| 초기 릴리즈 | 2011년 2월 1일, 전( |
| 저장소 | |
| 기입처 | 자바 |
| 운영 체제 | 플랫폼에 의존하지 않는 |
| 유형 | XML 파서 라이브러리 |
| 면허증. | LGPL 라이선스 v2.1 |
| 웹 사이트 | sbml.org |
JSBML[1](Java Systems Biology Markup Language)은 SBML(Systems Biology Markup Language) 포맷용 오픈 소스 Java(API)입니다.API는 대응하는 라이브러리 libSBML의 Java 바인딩과 강한 유사성을 얻기 위해 노력하지만 완전히 Java로 구현되어 플랫폼에 의존하지 않습니다.JSBML은 많은 인터페이스와 표준 Java 라이브러리에서 추상 클래스를 구현하거나 확장하는 정교한 추상 유형 계층을 제공합니다.이러한 방식으로 JSBML은 기존 Java 프로젝트에 원활하게 통합되며 SBML 문서의 내용을 읽고, 쓰고, 평가하고, 조작할 수 있는 방법을 제공합니다.
발전
2009년 5월, SBML 팀은 향후 소프트웨어 개발의 요청에 대해 커뮤니티 조사를 실시했습니다.라이브러리 libSBML이 프로그래밍 언어 Java에 대해 생성된 바인딩을 제공하지만 내부 C 코드가 플랫폼 독립형 또는 웹 시작 애플리케이션을 구현하기 어렵게 만드는 것으로 나타났습니다.
그 무렵 여러 기관의 여러 그룹이 이미 작은 Java 버전의 libSBML을 구현했으며, 각각은 특정 연구 프로젝트의 요구를 다루는 맞춤형 라이브러리였습니다.불필요한 작업의 중복을 피하고 기존 개발을 통합하기 위해 2009년 9월 EBI, Caltech 및 Andreas Dréger가 이끄는 Tübingen 대학의 학생 팀에 의해 국제 커뮤니티 프로젝트 JSBML이 시작되었습니다.
JSBML은 libSBML의 첫 번째 버전보다 상당히 늦게 구현되었기 때문에, 따라서 레벨 1-3에서 SBML의 사양의 존재로부터 이익을 얻을 수 있습니다.따라서 JSBML은 libSBML 프로젝트에서 새로운 Java로 기존 C 코드를 이식함으로써 개발된 것이 아닙니다.대신 개발자들은 이를 클래스와 API 구조를 완전히 재설계하는 기회로 활용했습니다.이것이 JSBML이 libSBML에 비해 훨씬 풍부한 추상형 계층을 제공하는 이유입니다. 또한 JSBML의 개발은 현재 하위 호환성을 고려할 필요가 없었기 때문에 libSBML에서는 불가능한 설계 결정을 가능하게 했습니다.
JSBML의 첫 번째 안정적인 릴리스 버전 0.8은 2011년 2월에 다운로드용으로 공개되었습니다.그 이후로 여러 SBML 확장 패키지에 대한 지원이 구현되고 있으며 JSBML 1.0 릴리즈에 포함될 예정입니다.
목적
JSBML의 개발은 세 가지 목표에 의해 추진됩니다.
- 네이티브 종속성이 없는 순수 Java API를 제공합니다.
- libSBML과 가능한 한 높은 호환성을 달성하면서 동시에 라이브러리가 다른 네이티브 Java 라이브러리처럼 동작하도록 합니다.즉, 경험이 풍부한 Java 개발자가 예상한 대로입니다.
- SBML의 모든 레벨/버전 조합 및 확장 패키지 지원
사용.
다음 예제에서는 JSBML의 JAR 파일이 클래스 경로에 포함되어 있으며 코드가 실행되는 플랫폼에서 Java Virtual Machine의 로컬 설치를 사용할 수 있다고 가정합니다.
| 다음 코딩 예는 SBML 파일을 해석하고 내용을 트리 형식으로 창에 표시하는 방법을 보여 줍니다.결과는 예를 들어 오른쪽에 있는 이미지와 같이 나타날 수 있습니다.SBML의 실제 해석은 클래스 SBMLReader의 스태틱메서드를 호출함으로써1줄로 이루어집니다.JSBML의 전체 데이터 구조가 트리로 구성되기 때문에 디스플레이를 위한 트리 생성도 간단하다. 수입품 javax.displaces.displaces 를 클릭합니다.*; 수입품 org.sqml.sqbml.*; /** {@link JTree}의 SBML 파일 내용을 표시합니다.* / 일반의 학급 JSBML 비주얼라이저 확장 JFrame { /** @param document SBML 파일의 sbml 루트 노드 */ 일반의 JSBML 비주얼라이저(컴포넌트 문서) { 잘 하는 군요(문서.getModel().getId()); get Content Pane(콘텐츠 창)().더하다(신규 JScroll 페인(신규 JTree(문서))); 포장하다(); // 프레임을 컴팩트하게 하다 set Location Relative To(무효); // 화면 중앙에 배치 set Visible(진실의); } /** @param args SBML 파일에 대한 유효한 경로가 필요합니다.*/ 일반의 정적인 무효 주된(스트링[] args) 던지다 예외. { 신규 JSBML 비주얼라이저(SBMLReader.읽어주세요(args[0])); } } | JSBML을 사용하는 SBML 테스트 스위트(Mac OS X의 경우)에서 왼쪽에 코드가 있는 SBML 파일을 읽을 때의 출력 예 |
레퍼런스
- ^ Dräger, A.; Rodriguez, N.; Dumousseau, M.; Dorr, A.; Wrzodek, C.; Le Novère, N.; Zell, A.; Hucka, M. (2011). "JSBML: A flexible Java library for working with SBML". Bioinformatics. 27 (15): 2167–2168. doi:10.1093/bioinformatics/btr361. PMC 3137227. PMID 21697129.
- ^ Hucka, M.; Finney, A.; Sauro, H. M.; Bolouri, H.; Doyle, J. C.; Kitano, H.; Arkin, A. P.; Bornstein, A. P.; Bray, B. J.; Cornish-Bowden, D.; Cuellar, A.; Dronov, A. A.; Gilles, S.; Ginkel, E. D.; Gor, M.; Goryanin, V.; Hedley, I. I.; Hodgman, W. J.; Hofmeyr, T. C.; Hunter, J. -H.; Juty, P. J.; Kasberger, N. S.; Kremling, J. L.; Kummer, A.; Le Novère, U.; Loew, N.; Lucio, L. M.; Mendes, P.; Minch, P.; Mjolsness, E. (2003). "The systems biology markup language (SBML): A medium for representation and exchange of biochemical network models". Bioinformatics. 19 (4): 524–531. doi:10.1093/bioinformatics/btg015. PMID 12611808.
- ^ Finney, A.; Hucka, M. (2003). "Systems biology markup language: Level 2 and beyond". Biochemical Society Transactions. 31 (Pt 6): 1472–1473. CiteSeerX 10.1.1.466.8001. doi:10.1042/bst0311472. PMID 14641091.
- ^ Hucka, M.; Finney, A.; Bornstein, B. J.; Keating, S. M.; Shapiro, B. E.; Matthews, J.; Kovitz, B. L.; Schilstra, M. J.; Funahashi, A.; Doyle, S. M.; Kitano, M. J. (2004). "Evolving a lingua franca and associated software infrastructure for computational systems biology: The Systems Biology Markup Language (SBML) project" (PDF). Systems Biology. 1 (1): 41–53. doi:10.1049/sb:20045008. PMID 17052114.
