Bioblogs

생물학 관련 워크플로우 관리 도구

hongiiv 2007. 12. 3. 17:50
반응형
Workflow Management System이란?
The software component taht "defines, manages and executes worflows through the execution of sotware whose order of execution is driven by a computer representation of wht workflow logic", according to Workflow Managenemt Coalition(WfMC) Reference Model, is named Workflow Management System(WMS).

바이오인포매틱스와 WMS
바이오인포매틱스에서도 Workflow Management System과 것들이 이미 개발되어 bioscientist 들에게 사용되고 있다. 대표적인 WMS들에는 우리가 알고 있는 BioworksBiopipe만 존재하는 것은 아닙니다. 이미 많은 워크플로우 관리 도구들이 논문등을 통해서 발표되어 있으며, 현재 지속적으로 유지 관리되고 있는 워크플로우 관리도구는 적어도 TavernaKepler 그리고 요즘 한창 논문이 나오고 있는 BioWMS 정도가 아닐까 생각됩니다. 그럼 이제부터 각각의 WMS에 대해서 살펴보도록 하겠습니다. 옛말에 적을 알고 나를 알면 백전백승이라고 하지 않았겠습니까?

Standard Process Definition Language - XPDL, BPEL, SCUFL
그전에 한가지 이러한 WMS의 핵심이라고 할 수 있는 어떠한 작업을 수행하는 일련의 프로세스를 정의하는 언어에 대해서 짚고 넘어가야 하겠습니다. 현재 WfMC(Workflow Management Coalition)OASIS(Organization for the Advancement of Structured Information Standards)에서는 각각 XPDL(XML Process Definition Language, v2.0)와 BPEL(Business Process Execution Language, v2.0)라는 XML 기반의 Standard Process Definition Language를 발표한 상태입니다. 공교롭게도 둘다 현재 버전이 2.0입니다. ^^;; 여기에 Taverna에서 사용하는 scufl(Simple Conceptual Unified Flow Language)이 있습니다. 이 부분에 대해서는  Why does Taverna use scufl and not BPEL? 부분에 왜 Taverna에서 BPEL을 사용하지 않고 scufl을 사용했는지에 대한 언급이 나와 있습니다.

Taverna WorkBench - a tool for the composition and enactment of bioinformatics workflows
홈페이지 : Taverna Workbench
Type : Stand-alone
XML : XScufl, SCUFL
Dristribute type : Open Source
Country : UK
Summary : 생물학 웹 서비스(Web Service)를 기반으로Biomart, Biomoby, Soaplan, styx Grid, Talisman과 R 스크립트 및 Beanshell을 통한 사용자 정의 서비스들을 사용할 수 있다. 웹 서비스를 사용하는 워크플로우 표준인 BPEL을 사용하지 않고 생물학 워크플로우에 최적화된 SCUFL( Workflow input, Workflow output, Web service processor, Soaplab processor, Local processor, String processor, Data link의 컴포넌트로 구성)를 사용하고 있다. 공개된 웹 서비스를 통해 왠만한 서비스의 사용이 가능하지만 pegasys, wildfire와 같이 연구실내에 구축된 클러스터 자원을 사용하기 위해서는 해당 서비스에 대한 웹 서비스를 생성하여 사용해야만 한다.

다음의 두가지 FAQ를 통해 이렇게 혼재된 WMS시장에 왜 Taverna가 또 등장했는지에 대한 명확한 해답을 주고 있다.
Why does Taverna use scufl and not BPEL?
When should I use Kepler instead of Taverna?

Kepler - Scientific Workflow Management
홈페이지 :Kepler
Type : Stand-alone
XML : MoML
Dristribute type : Open Source
Country : US
Summary : 2004년부터 2007년 현재까지 지속되어온 프로젝트로 1.0 Beta3 버전까지 나온 상태이다. 웹 서비스를 비롯하여 Grid job 스케줄링에 이르기까지 많은 기능을 가지고 있다. Tavern와 Kepler의 서로간의 영역에 대한 해답은 When should I use Kepler instead of Taverna?

BioWMS : a web-based Workflow Management System for bioinformatics
홈페이지 : BioWMS
Type : Web Interface
XML : XPDL
Dristribute type : Open Source
Country : Italy
Summary : 2007년도 가장 최근에 발표된 WMS로 XfMC의 표준인 XPDL을 이용하고 있다. 한가지 주목할 점은 웹 기반의 워크플로우 편집(XPDL작성)을 지원하고 있다는 점이다. 워크플로우의 프로세스를 WebWFlow의 웹 기반 에디터를 통해 XPDL로 프로세스를 작성하면 XpdlCompiler를 통해 Hermes 워크플로우 엔진을 통해 정의된 프로세스를 수행하게 된다. Hermes middleware는 GUI를 통해 관리자와 시스템의 모니터링을 지원한다.

Pegasys : executing and integrating analyses of biological sequences
홈페이지 : Pegasys
Type : Stand-alone
XML : Peagsys DAG
Dristribute type : Open Source
Country : Canada, UBC Bioinformatics Centre
Summary : 2005년도에 버전 0.6을 발표로 현재 관리되고 있지 않은 듯 보인다. Pegasys 서버/클라이언트로 구성되며, Pegasys 서버에는 postgresql, OpenPBS, Sun Grid Engine(SGE), java 등이 설치되어서 생물학 분석도구(RepeatMarker, NCBI BLAST, WU-BLAST, exonerate, EMBOSS, genscan, HMMgene, InterProScan, Mlagan, Sim4, TrnaScan-SE, Twinscan, GeneSplicer)를 수행할 수 있는 환경을 갖추게 되고 이를 Pegasys 클라이언트에서 사용하는 형식으로 되어 있다. 수행되는 프로그램에서 알 수 있듯이 생물학적 서열을 분석하는데 특화 되었다고 볼 수 있다. 서버(클러스터 환경)를 설정해야 사용 가능하다는 단점이 있다. 재미있는 점은 클라이언트에서 자신이 formatdb를 이용하여 직접 blast db를 생성하는 워크플로우의 작성도 가능하다는 것이다. 즉 서버에서 할 수 있는 모든 일을 클라이언트에서 워크플로우 형태로 작동이 가능하다는 것이다.

Wildfire - distributed, Grid-enable workflow construction and execution
홈페이지 : Wildfire
Type : Stand-alone
XML : GEL(Grid Execution Language)
Dristribute type : Open Source
Country : Singaporem,
Summary : 2005년도에 발표된 것으로, pegasys와 같은 Client/Server(GEL 스크립트 해석기+스케줄러+EMBOSS) 구조로 되어 있다. server는 기본적으로 EMBOSS가 설치된 SMP 서버나 클러스터(LSF, PBS의 스케줄러)나 Grid(condor,SGE 스케줄러)의 스케줄러를 이용하여 EMBOSS의 프로그램들을 사용할 수 있다. 이때 사용자는 워크플로우를 클라이언트에서 작성하면 이는 GEL 언어로 작성되어 서버에서는 GEL 스크립트를 위에서 언급한 스케줄러를 통해 수행하게 된다. Wildfire의 장점은 서버의 다양한 스케줄러를 통해 대량의 생물학 관련 작업을 수행할 수 있다는 점이다.

Biopipe(Beta)
홈페이지 : http://www.biopipe.net
Type : Web Interface
XML : ?
Dristribute type : ?
Country : Korea

Bioworks(Beta)
홈페이지 : http://bioworks.kisti.re.kr
Type : Stand-alone
XML : ?
Dristribute type : ?
Country : Korea
Summary : Bioworks 소개란에 보면 "Bioworks 시스템은 XML 기반의 워크플로우를 모델링하기 위한 Workflow Builder와 작성된 XML을 검증/실행하는 Workflow Engine으로 구성되어 있다."라고 되어 있습니다. WMS에서 워크플로우를 XML 기반으로 작성하고 그 XML을 실제 실행하는 Engine 부분이 바로 핵심이라고 할 수 있을 것입니다. 여기에서 바로 WMS의 특징이 결정될거구요. 과연 어떻게 XML로 복합한 워크플로우 프로세스를 기술하고 이를 실행할 것인가가 중요한 문제인데, 아직까지는 그 실체를 알 수 없습니다. Bioworks는 XML 정의가 어느 정도 이루어져 있는지 궁금하네요.

Bioclipse: An open source workbench for chemo- and bioinformatics
홈페이지 : http://www.bioclipse.net/
Type : Stand-alone(Eclipse RCP base)
Summary : 워크플로우 관리 도구는 아니지만, 다양한 plugin을 통한 개발이 가능하다는 것 하나로 여기에 포함한다. ^^
반응형