2018.07.23

김진철의 How-to-Big Data | 빅데이터 주요 기술의 조건 (5)

김진철 | CIO KR

LHC 컴퓨팅 그리드의 워크플로우 관리 기술
LHC 실험 장치와 LHC 컴퓨팅 그리드 기술의 상당수는 LHC 데이터 분석 과정을 자동화하기 위한 기술들이라고 앞서 말한 바 있다. 이번 글에서는 LHC 빅데이터 기술 중에서 가장 진보된 자동화 기술의 하나인 워크플로우 관리(workflow management)를 소개하고, 이러한 워크플로우 관리 기술이 일반 기업의 빅데이터 활용에서 어떤 중요성이 있는지 같이 생각해보고자 한다.

LHC 과학자들이 LHC 컴퓨팅 그리드 기술을 개발하던 2000년대 초반, LHC 실험에 직접 참여하지는 않지만 그리드 컴퓨팅 기술을 다양한 분야에서 응용하는 방법을 연구하던 컴퓨터 과학자들과 소프트웨어 엔지니어들이 다양한 그리드 응용 기술들을 연구하고 발표하기 시작했다. 당시 XML을 이용한 웹 기술 기반의 서비스 지향 아키텍처와 관련 기술들이 크게 발전하던 때라, 그리드 컴퓨팅 서비스를 포함한 서비스 형태로 제공되는 다양한 연구 인프라들을 메시업하여 자동화하는 기술에 대한 관심이 높아졌다.

당시 그리드 기술의 대표적인 응용 분야로 LHC 실험과 함께 주목받던 분야가 휴먼 게놈 프로젝트로 DNA 서열 정보가 대량으로 생산되기 시작하면서 시작된 생물정보학(bioinformatics) 분야였다. LHC 실험과 마찬가지로, DNA 시퀀서(sequencer) 장비로 읽어낸 DNA 서열 정보 단편들을 하나의 완전한 DNA 서열 정보로 조립하고 맞추기 위해 많은 계산이 필요했는데 이 때문에 그리드 컴퓨팅과 같은 고성능 컴퓨팅 기술이 필요했던 것이다.

그리드 컴퓨팅이 적용되기에 적합한 응용 분야로서 생물정보학의 특성은 다음과 같다. 첫번째로, DNA 염기 서열 정보를 비롯해 단백질체 정보, 대사 네트워크 정보 등 생물정보학에서 활용되는 데이터들은 종류도 많고, 복잡도도 상당히 높다. 생명체가 복잡도가 높은 복잡계 시스템이기 때문에, 생명체를 기술하기 위한 정보의 종류도 DNA 염기 서열, 아미노산 서열 및 단백질 3차원 구조 등의 단백질체 정보, 각 단백질이 서로 어떻게 상호작용하면서 몸 안에서 에너지를 이동시키는지에 대한 대사 네트워크 정보, 화학 물질과 복합물이 어떻게 체내에서 독성을 일으키는지에 대한 정보를 제공하는 독성 정보까지, 생명체에 대한 문제를 풀기 위해 사용하는 정보의 종류가 다양하고 정보의 양도 많다.

연구 대상이 되는 생명체를 연구하기 위한 분석 프로토콜을 디자인, 개발하는 것이 생물학과 생물정보학의 주요 연구 주제 중의 하나이다. 이렇게 연구자별로 디자인, 정의된 분석 방법론과 프로토콜은 다양한 생명체에 적용할 수 있어서 분석 과정이 자동화되어 있을 경우 재활용성이 높다.

생물정보는 전 세계의 다양한 생명과학 및 의학 연구소에서 데이터를 수집, 보관하여 제공하기 때문에 전 세계에 걸쳐 분포, 저장되어 있다. 이렇게 전 세계에 분산되어 보관된 생물정보를 이용한 생명체 분석은 연구자가 소속된 연구소의 컴퓨팅 인프라를 사용하거나 데이터가 수집, 보관된 기관이 아닌 컴퓨팅 인프라 서비스를 제공하는 국립 컴퓨팅 센터의 컴퓨팅 자원을 이용하는 경우가 많기 때문에 컴퓨팅 인프라도 지리적으로 넓은 지역에 걸쳐 분포되어 있다.

위와 같은 특성 때문에 LHC 컴퓨팅 그리드(LHC Computing Grid)와 같은 전지구적인 그리드 컴퓨팅 인프라가 전 세계적인 생물정보 및 생명과학, 감염병 국제공동연구에 활용되어 크게 기여할 수 있겠다는 생각에 그리드 컴퓨팅 연구자들이 주목하게 되었다.

생물정보학 데이터들은 미국의 국립생물정보센터(National Center for Biological Information; NCBI)와 유럽의 유럽생물정보학연구소(European Bioinformatics Institute; EBI) 등의 주요 생물정보학 데이터 서비스 제공자들을 중심으로 웹 사이트와 웹 서비스 API 형태로 제공된다. 데이터는 주로 FTP서버 등으로 공유되며, 분석을 위한 데이터는 연구자의 컴퓨터에 복제되어 사용되는 경우가 많다. 형식이 분명하게 정의되지 않은 비정형 데이터인 경우가 많고, 메타데이터가 기관별로 정의되어 전 세계적으로 통일된 형식의 메타데이터는 없는 상태이다.

생물정보학 데이터가 여러 지역에 다양한 형태로 분산되어 있지만, 연구자들은 이렇게 분산된 데이터들을 같이 활용하고 분석하여 의미 있는 분석 결과를 내어놓을 수 있도록 많은 계산을 해야 했다. 이런 이유로 그리드 컴퓨팅과 같은 분산 컴퓨팅 인프라가 연구자들의 협업과 공동 연구에 유용하게 쓰일 수 있었다. 컴퓨팅 인프라뿐만 아니라, 생물학의 경우 실험과 연구대상에 대한 분석 과정에 많은 시간이 필요한 경우가 많아서, 데이터 분석을 위한 기술과 전문성이 공동 연구자 간에 쉽게 공유될 수 있어야 연구의 속도가 빨라지고 적절한 시간 안에 프로젝트를 성공적으로 마무리할 수 있었다.

생물정보학 데이터 분석의 많은 경우에 대부분 연구자가 분산된 분석 도구들을 하나하나 순차적으로 적용해서 분석해나가기 때문에 시간이 오래 걸리는 경우가 많다. 의존성이 없는 분석 과정을 병렬로 진행할 수 있으면 시간을 많이 단축할 수 있다. 그리고, 다양한 데이터 소스 간에 입력값 및 출력값 형식이 서로 호환되지 않는 경우가 많아 분석에 활용할 때 형식에 맞게 변경을 해주어야 하는 경우가 많은데 이렇게 데이터 형식 간의 변환을 일정한 규칙에 따라 자동화할 수 있는 도구가 있다면 분석 과정의 효율을 높일 수 있다.

여러 생물정보학 연구자들이 다양한 데이터 세트를 분석하는 경우가 많아 동시에 병렬로 많은 데이터 셋에 대한 공통된 분석 과정을 실행할 수 있다면 분석의 효율이 크게 높아지게 된다. 그리드 컴퓨팅 자원이 생물정보학 분야에서 쓸모 있는 것이 바로 이런 이유 때문이다.

생물정보학 분석 과정에서 쓰인 분석 스크립트나 분석 과정을 기술한 워크플로우, 소프트웨어 도구의 파라미터값이 적절하게 공유되지 않아 분석 결과를 낼 수 있는 파라미터 값을 찾는데 들인 시행착오를 다른 연구자들이 그대로 겪는 경우가 많아 시간을 낭비하게 되는 경우가 많다. 분석 과정에서 연구자들이 사용한 워크플로우나 소프트웨어 도구의 파라미터들은 분석 결과를 재연하고 확인하는 데 꼭 필요한 정보이지만, 논문이나 보고서에 세세하게 밝히기 어려운 경우가 많아 유지하고 공유하기가 어려운 경우가 많은데, 이런 워크플로우나 파라미터값들이 연구 결과와 같이 공유되어 활용될 필요가 있다.

이렇게 과학기술 데이터를 분석하는 데 사용한 분석 과정을 기술한 스크립트 코드나 워크플로우, 분석 파라미터와 같이 연구 결과와 데이터를 재연하는 데 꼭 필요한 분석 스크립트 코드나 워크플로우, 분석 파라미터 등과 같은 복잡한 정보들의 이력과 출처를 추적하고 관리할 수 있는 정보시스템의 기능이나 특성을 프로비넌스(Provenance; 출처, 기원이라는 뜻)라고 한다. 생물정보학이나 핵융합 플라즈마 시뮬레이션과 같이 복잡한 데이터 분석과 계산을 통해 데이터를 가공하여 새로운 연구 결과와 통찰을 도출하는 계산 과학 분야에서 이런 프로비넌스 관리가 매우 중요한데, 이런 이유로 프로비넌스는 중요한 연구 자산으로 관리될 필요가 있다.

위와 같은 생물정보학 분야 데이터 분석 과정의 특성과 어려움을 극복하고, 프로비넌스 관리와 분석 결과 재연을 효과적으로 할 수 있는 소프트웨어 기술로서 워크플로우 기술의 활용이 주목받게 되었다. 이런 기술적 배경에서 그리드 컴퓨팅 인프라를 이용한 eScience 과학 워크플로우 기술로서 Taverna(“터버나”라고 읽는다. 원래 그리스식 레스토랑을 일컫는 단어)가 개발되었다.



Taverna는 LHC 컴퓨팅 그리드 기술이 한창 발전하던 2000년대 초반, 당시 생물정보학 분야에 필요한 그리드 컴퓨팅과 서비스 인프라 기술을 연구하던 많은 연구그룹 중의 하나인 영국 맨체스터 대학의 정보 기술 연구 그룹(Information Management Group, 현 eScience 연구실)이 영국의 다른 대학, 연구소, 기업과 함께 2001년부터 myGrid라는 프로젝트를 영국과학공학연구위원회(Engineering and Physical Sciences Research Council; EPSRC)의 지원을 받아 시작하면서 개발이 시작되었다.

myGrid는 그리드 기술을 바탕으로 IT 자원이 필요한 과학, 공학 연구를 손쉽게 지원할 수 있는 과학기술 소프트웨어와 eScience 연구 환경을 제공하는 것을 목표로 만들어졌다. myGrid 서비스가 서비스를 제공하는 분야 중 하나로 연구개발을 집중했던 분야가 바로 생물정보학이었다. Taverna는 이 myGrid 인프라를 이용해 과학기술 데이터 분석과정을 데이터 흐름(data flow) 과정에 따라 기술되는 워크플로우 형태로 표현하고, 각 워크플로우의 단위 작업별로 myGrid와 EGEE 등의 대규모 그리드 인프라의 자원을 사용할 수 있도록 만든 과학기술 데이터 분석용 워크플로우 엔진 기술이었다.



Taverna는 데이터 분석 워크플로우를 그래픽 사용자 인터페이스(Graphical User Interface; GUI)로 손쉽게 편집하여 만들 수 있게 돕는 클라이언트 환경인 Taverna 워크벤치(Workbench)와 웹 포탈 환경, 그리고 그리드 컴퓨팅 환경과 데이터 소스 등의 서비스에 접근하여 실제로 워크플로우를 실행하고 그 결과를 저장, 관리하는 Taverna 서버로 구성된다.

Taverna의 워크플로우는 SCUFL2라고 하는 워크플로우 기술 언어로 기술된다. Taverna 워크벤치의 워크플로우 편집기는 SCUFL2로 기술된 워크플로우를 직관적으로 편집할 수 있게 돕는 편집기로, SCUFL2언어를 직접 다룰 수 있으면 워크플로우를 자동으로 생성, 변경할 수 있다. Taverna를 개발한 맨체스터 대학교의 캐롤 고블(Carol Goble) 교수 연구진은 다양한 워크플로우 엔진 간의 워크플로우 기술(description)의 상호운용성(interoperability)을 높일 수 있는 대안 표준 워크플로우 기술언어로서 공통 워크플로우 언어(Common Workflow Language; CWL)이라는 표준 언어도 다양한 워크플로우 소프트웨어 개발 연구진과 회사와 함께 개발하고 있다. 최근 3.0 이상 버전의 Taverna는 이 CWL형식으로 워크플로우를 저장하여 다른 워크플로우 엔진에서 실행하는 것도 가능해졌다.

워크플로우의 각 작업요소는 기본적으로 Taverna 서버의 지역 자원(local resource)에서 실행할 수 있는 소프트웨어와 라이브러리들이지만, 워크플로우에 SOAP 기반 웹 서비스, REST API를 호출하는 작업 요소를 추가할 수 있어 사실상 HTTP 프로토콜에 따라 제공되는 서비스는 원격으로 호출하여 워크플로우의 작업 요소로 추가하는 것이 가능하다. LHC 컴퓨팅 그리드와 같은 그리드 컴퓨팅 자원들도 OGF(Open Grid Forum)의 DRMMA(Distributed Resource Management Application API)와 같은 표준 웹 서비스 API를 통해서 원격으로 호출하고 사용할 수도 있다.



앞에서 설명했듯이 과학기술 워크플로우의 가장 큰 효용은 바로 재연성과 재활용성이다. 맨체스터 대학 정보 관리 그룹과 옥스포드 대학의 데이빗 드 루르(David de Roure) 교수 연구실을 중심으로 한 myGrid 컨소시엄과 옥스포드 대학 e-Research 센터를 중심으로 한 영국 e-Research 남부 컨소시엄(e-Research South UK regional consortium)은, Taverna로 작성된 그리드 컴퓨팅 워크플로우를 연구자들 간에 공유, 축적, 발전시킬 수 있는 커뮤니티로서 myExperiment라는 서비스 포탈을 개발하여 서비스하기 시작했다.

myExperiment 포탈은 2007년에 서비스를 하기 시작하여, 현재는 Taverna 워크플로우를 출판하고 공유하는 거대한 과학 기술 소셜 네트워크 서비스로 발전하고 있다. REST API를 이용하여 Taverna 워크플로우를 검색하고 원격으로 등록, 다운로드하거나 워크플로우의 저자 및 출처 등의 다양한 메타데이터를 조회, 등록할 수 있는 기능을 제공하여 연구자의 필요에 맞는 워크플로우를 검색하여 데이터 분석 과정을 자동화하여 활용할 수 있는 인프라를 제공한다. myGrid 서비스를 이용해 그리드 환경에서 실행되고 있는 워크플로우 작업에 대한 정보를 열람할 수 있는 API를 제공한다. myExperiment API를 이용해 직접 그리드 컴퓨팅 인프라에서 워크플로우를 실행하는 기능은 아직 제공되지 않지만 앞으로 제공될 것으로 보인다.



myExperiment 포탈에서는 Taverna 워크플로우를 편집하고 공유할 수 있는 Taverna 워크벤치 및 워크플로우 공유 서비스뿐만 아니라, 생물정보학 데이터 분석에 활용할 수 있는 다양한 소프트웨어 도구들도 같이 제공하여 myExperiment 서비스의 활용성을 높이고 있다. 2006년 2007년 JAX 혁신상(JAX Innovation Awards)에 빛나는 Bioclipse와 같은 유명한 소프트웨어와 함께 Taverna를 이용해 분석, 생성한 데이터를 추가 분석하고 다루는데 필요한 다양한 소프트웨어 도구를 제공한다. 시맨틱웹(semantic web) 기술 기반의 링크드 데이터 형식과 SPARQL 엔드 포인트를 제공해서 RDF 자원 기술 프레임워크(RDF) 형식으로 저장된 생물정보학 및 myExperiment의 공개 데이터의 링크드 데이터를 검색, 조작할 수 있다.

Taverna와 myExperiment 덕분에 새로운 발견과 치열한 혁신의 경쟁 속에 있는 생물학 및 생물정보학 연구자들이 전세계에 걸쳐 구축된 다양한 생물정보 데이터베이스와 EGEE 그리드 컴퓨팅 인프라를 이용해 생물정보 및 데이터 분석 과정을 자동화하고 시간을 단축할 수 있었다. Taverna를 통해 데이터 분석 프로세스를 자동화하고, 복잡한 분석 프로세스를 반복적으로 사용할 수 있었으며, 데이터의 위치에 상관없이 자신의 연구실에서 필요한 데이터에 원격으로 접속하면서 새로운 연구 결과를 내놓을 수 있었다. 복잡한 분석 과정을 반복적으로 다양한 생물종에 적용해 활용함으로써, 연구 데이터 축적을 빠른 시간 안에 할 수 있게 되어 연구 결과의 신뢰성과 재연성을 높일 수 있게 되었다.
 


최근 생물학 분야에서는 DNA 서열 분석을 비롯한 분자 생물학 데이터를 사용하는 경우가 많아지고 마이크로 RNA 등의 분자 생물학 연구가 첨단 지식을 이끌게 되면서, 정밀한 분석 과정을 통해 얻은 결과를 다른 연구 그룹이 재연해내기가 어려운 경우가 많아졌다. 이렇게 전문성과 분석 방법의 난이도가 높아지면서 연구의 재연성이 떨어지게 되면, 연구 부정이 일어날 가능성이 높고 연구의 신뢰성이 떨어질 위험이 높다. Taverna를 이용한 데이터 분석 과정 자동화가 생물정보학 데이터 분석 과정의 재연성을 높여서 연구의 신뢰성을 높이는 데 크게 기여하였다.

Taverna기반의 워크플로우를 공유하고 관련 연구자들끼리 네트워킹을 지원하는 myExperiment 포탈을 통해서 Taverna 워크플로우를 사용해서 연구하는 연구자들끼리 서로의 워크플로우를 검증하고 반복, 재활용하여 생물학 및 생물정보학의 연구 생산성이 크게 높아졌다. 커뮤니티를 통해 검증된 워크플로우를 통해 생물정보 데이터 분석 방법의 신뢰성이 높아지고, 풍부해진 데이터 분석 방법을 활용한 새로운 연구 결과 창출과 생명공학 기술 혁신이 촉진되었다.

 

2018.07.23

김진철의 How-to-Big Data | 빅데이터 주요 기술의 조건 (5)

김진철 | CIO KR

LHC 컴퓨팅 그리드의 워크플로우 관리 기술
LHC 실험 장치와 LHC 컴퓨팅 그리드 기술의 상당수는 LHC 데이터 분석 과정을 자동화하기 위한 기술들이라고 앞서 말한 바 있다. 이번 글에서는 LHC 빅데이터 기술 중에서 가장 진보된 자동화 기술의 하나인 워크플로우 관리(workflow management)를 소개하고, 이러한 워크플로우 관리 기술이 일반 기업의 빅데이터 활용에서 어떤 중요성이 있는지 같이 생각해보고자 한다.

LHC 과학자들이 LHC 컴퓨팅 그리드 기술을 개발하던 2000년대 초반, LHC 실험에 직접 참여하지는 않지만 그리드 컴퓨팅 기술을 다양한 분야에서 응용하는 방법을 연구하던 컴퓨터 과학자들과 소프트웨어 엔지니어들이 다양한 그리드 응용 기술들을 연구하고 발표하기 시작했다. 당시 XML을 이용한 웹 기술 기반의 서비스 지향 아키텍처와 관련 기술들이 크게 발전하던 때라, 그리드 컴퓨팅 서비스를 포함한 서비스 형태로 제공되는 다양한 연구 인프라들을 메시업하여 자동화하는 기술에 대한 관심이 높아졌다.

당시 그리드 기술의 대표적인 응용 분야로 LHC 실험과 함께 주목받던 분야가 휴먼 게놈 프로젝트로 DNA 서열 정보가 대량으로 생산되기 시작하면서 시작된 생물정보학(bioinformatics) 분야였다. LHC 실험과 마찬가지로, DNA 시퀀서(sequencer) 장비로 읽어낸 DNA 서열 정보 단편들을 하나의 완전한 DNA 서열 정보로 조립하고 맞추기 위해 많은 계산이 필요했는데 이 때문에 그리드 컴퓨팅과 같은 고성능 컴퓨팅 기술이 필요했던 것이다.

그리드 컴퓨팅이 적용되기에 적합한 응용 분야로서 생물정보학의 특성은 다음과 같다. 첫번째로, DNA 염기 서열 정보를 비롯해 단백질체 정보, 대사 네트워크 정보 등 생물정보학에서 활용되는 데이터들은 종류도 많고, 복잡도도 상당히 높다. 생명체가 복잡도가 높은 복잡계 시스템이기 때문에, 생명체를 기술하기 위한 정보의 종류도 DNA 염기 서열, 아미노산 서열 및 단백질 3차원 구조 등의 단백질체 정보, 각 단백질이 서로 어떻게 상호작용하면서 몸 안에서 에너지를 이동시키는지에 대한 대사 네트워크 정보, 화학 물질과 복합물이 어떻게 체내에서 독성을 일으키는지에 대한 정보를 제공하는 독성 정보까지, 생명체에 대한 문제를 풀기 위해 사용하는 정보의 종류가 다양하고 정보의 양도 많다.

연구 대상이 되는 생명체를 연구하기 위한 분석 프로토콜을 디자인, 개발하는 것이 생물학과 생물정보학의 주요 연구 주제 중의 하나이다. 이렇게 연구자별로 디자인, 정의된 분석 방법론과 프로토콜은 다양한 생명체에 적용할 수 있어서 분석 과정이 자동화되어 있을 경우 재활용성이 높다.

생물정보는 전 세계의 다양한 생명과학 및 의학 연구소에서 데이터를 수집, 보관하여 제공하기 때문에 전 세계에 걸쳐 분포, 저장되어 있다. 이렇게 전 세계에 분산되어 보관된 생물정보를 이용한 생명체 분석은 연구자가 소속된 연구소의 컴퓨팅 인프라를 사용하거나 데이터가 수집, 보관된 기관이 아닌 컴퓨팅 인프라 서비스를 제공하는 국립 컴퓨팅 센터의 컴퓨팅 자원을 이용하는 경우가 많기 때문에 컴퓨팅 인프라도 지리적으로 넓은 지역에 걸쳐 분포되어 있다.

위와 같은 특성 때문에 LHC 컴퓨팅 그리드(LHC Computing Grid)와 같은 전지구적인 그리드 컴퓨팅 인프라가 전 세계적인 생물정보 및 생명과학, 감염병 국제공동연구에 활용되어 크게 기여할 수 있겠다는 생각에 그리드 컴퓨팅 연구자들이 주목하게 되었다.

생물정보학 데이터들은 미국의 국립생물정보센터(National Center for Biological Information; NCBI)와 유럽의 유럽생물정보학연구소(European Bioinformatics Institute; EBI) 등의 주요 생물정보학 데이터 서비스 제공자들을 중심으로 웹 사이트와 웹 서비스 API 형태로 제공된다. 데이터는 주로 FTP서버 등으로 공유되며, 분석을 위한 데이터는 연구자의 컴퓨터에 복제되어 사용되는 경우가 많다. 형식이 분명하게 정의되지 않은 비정형 데이터인 경우가 많고, 메타데이터가 기관별로 정의되어 전 세계적으로 통일된 형식의 메타데이터는 없는 상태이다.

생물정보학 데이터가 여러 지역에 다양한 형태로 분산되어 있지만, 연구자들은 이렇게 분산된 데이터들을 같이 활용하고 분석하여 의미 있는 분석 결과를 내어놓을 수 있도록 많은 계산을 해야 했다. 이런 이유로 그리드 컴퓨팅과 같은 분산 컴퓨팅 인프라가 연구자들의 협업과 공동 연구에 유용하게 쓰일 수 있었다. 컴퓨팅 인프라뿐만 아니라, 생물학의 경우 실험과 연구대상에 대한 분석 과정에 많은 시간이 필요한 경우가 많아서, 데이터 분석을 위한 기술과 전문성이 공동 연구자 간에 쉽게 공유될 수 있어야 연구의 속도가 빨라지고 적절한 시간 안에 프로젝트를 성공적으로 마무리할 수 있었다.

생물정보학 데이터 분석의 많은 경우에 대부분 연구자가 분산된 분석 도구들을 하나하나 순차적으로 적용해서 분석해나가기 때문에 시간이 오래 걸리는 경우가 많다. 의존성이 없는 분석 과정을 병렬로 진행할 수 있으면 시간을 많이 단축할 수 있다. 그리고, 다양한 데이터 소스 간에 입력값 및 출력값 형식이 서로 호환되지 않는 경우가 많아 분석에 활용할 때 형식에 맞게 변경을 해주어야 하는 경우가 많은데 이렇게 데이터 형식 간의 변환을 일정한 규칙에 따라 자동화할 수 있는 도구가 있다면 분석 과정의 효율을 높일 수 있다.

여러 생물정보학 연구자들이 다양한 데이터 세트를 분석하는 경우가 많아 동시에 병렬로 많은 데이터 셋에 대한 공통된 분석 과정을 실행할 수 있다면 분석의 효율이 크게 높아지게 된다. 그리드 컴퓨팅 자원이 생물정보학 분야에서 쓸모 있는 것이 바로 이런 이유 때문이다.

생물정보학 분석 과정에서 쓰인 분석 스크립트나 분석 과정을 기술한 워크플로우, 소프트웨어 도구의 파라미터값이 적절하게 공유되지 않아 분석 결과를 낼 수 있는 파라미터 값을 찾는데 들인 시행착오를 다른 연구자들이 그대로 겪는 경우가 많아 시간을 낭비하게 되는 경우가 많다. 분석 과정에서 연구자들이 사용한 워크플로우나 소프트웨어 도구의 파라미터들은 분석 결과를 재연하고 확인하는 데 꼭 필요한 정보이지만, 논문이나 보고서에 세세하게 밝히기 어려운 경우가 많아 유지하고 공유하기가 어려운 경우가 많은데, 이런 워크플로우나 파라미터값들이 연구 결과와 같이 공유되어 활용될 필요가 있다.

이렇게 과학기술 데이터를 분석하는 데 사용한 분석 과정을 기술한 스크립트 코드나 워크플로우, 분석 파라미터와 같이 연구 결과와 데이터를 재연하는 데 꼭 필요한 분석 스크립트 코드나 워크플로우, 분석 파라미터 등과 같은 복잡한 정보들의 이력과 출처를 추적하고 관리할 수 있는 정보시스템의 기능이나 특성을 프로비넌스(Provenance; 출처, 기원이라는 뜻)라고 한다. 생물정보학이나 핵융합 플라즈마 시뮬레이션과 같이 복잡한 데이터 분석과 계산을 통해 데이터를 가공하여 새로운 연구 결과와 통찰을 도출하는 계산 과학 분야에서 이런 프로비넌스 관리가 매우 중요한데, 이런 이유로 프로비넌스는 중요한 연구 자산으로 관리될 필요가 있다.

위와 같은 생물정보학 분야 데이터 분석 과정의 특성과 어려움을 극복하고, 프로비넌스 관리와 분석 결과 재연을 효과적으로 할 수 있는 소프트웨어 기술로서 워크플로우 기술의 활용이 주목받게 되었다. 이런 기술적 배경에서 그리드 컴퓨팅 인프라를 이용한 eScience 과학 워크플로우 기술로서 Taverna(“터버나”라고 읽는다. 원래 그리스식 레스토랑을 일컫는 단어)가 개발되었다.



Taverna는 LHC 컴퓨팅 그리드 기술이 한창 발전하던 2000년대 초반, 당시 생물정보학 분야에 필요한 그리드 컴퓨팅과 서비스 인프라 기술을 연구하던 많은 연구그룹 중의 하나인 영국 맨체스터 대학의 정보 기술 연구 그룹(Information Management Group, 현 eScience 연구실)이 영국의 다른 대학, 연구소, 기업과 함께 2001년부터 myGrid라는 프로젝트를 영국과학공학연구위원회(Engineering and Physical Sciences Research Council; EPSRC)의 지원을 받아 시작하면서 개발이 시작되었다.

myGrid는 그리드 기술을 바탕으로 IT 자원이 필요한 과학, 공학 연구를 손쉽게 지원할 수 있는 과학기술 소프트웨어와 eScience 연구 환경을 제공하는 것을 목표로 만들어졌다. myGrid 서비스가 서비스를 제공하는 분야 중 하나로 연구개발을 집중했던 분야가 바로 생물정보학이었다. Taverna는 이 myGrid 인프라를 이용해 과학기술 데이터 분석과정을 데이터 흐름(data flow) 과정에 따라 기술되는 워크플로우 형태로 표현하고, 각 워크플로우의 단위 작업별로 myGrid와 EGEE 등의 대규모 그리드 인프라의 자원을 사용할 수 있도록 만든 과학기술 데이터 분석용 워크플로우 엔진 기술이었다.



Taverna는 데이터 분석 워크플로우를 그래픽 사용자 인터페이스(Graphical User Interface; GUI)로 손쉽게 편집하여 만들 수 있게 돕는 클라이언트 환경인 Taverna 워크벤치(Workbench)와 웹 포탈 환경, 그리고 그리드 컴퓨팅 환경과 데이터 소스 등의 서비스에 접근하여 실제로 워크플로우를 실행하고 그 결과를 저장, 관리하는 Taverna 서버로 구성된다.

Taverna의 워크플로우는 SCUFL2라고 하는 워크플로우 기술 언어로 기술된다. Taverna 워크벤치의 워크플로우 편집기는 SCUFL2로 기술된 워크플로우를 직관적으로 편집할 수 있게 돕는 편집기로, SCUFL2언어를 직접 다룰 수 있으면 워크플로우를 자동으로 생성, 변경할 수 있다. Taverna를 개발한 맨체스터 대학교의 캐롤 고블(Carol Goble) 교수 연구진은 다양한 워크플로우 엔진 간의 워크플로우 기술(description)의 상호운용성(interoperability)을 높일 수 있는 대안 표준 워크플로우 기술언어로서 공통 워크플로우 언어(Common Workflow Language; CWL)이라는 표준 언어도 다양한 워크플로우 소프트웨어 개발 연구진과 회사와 함께 개발하고 있다. 최근 3.0 이상 버전의 Taverna는 이 CWL형식으로 워크플로우를 저장하여 다른 워크플로우 엔진에서 실행하는 것도 가능해졌다.

워크플로우의 각 작업요소는 기본적으로 Taverna 서버의 지역 자원(local resource)에서 실행할 수 있는 소프트웨어와 라이브러리들이지만, 워크플로우에 SOAP 기반 웹 서비스, REST API를 호출하는 작업 요소를 추가할 수 있어 사실상 HTTP 프로토콜에 따라 제공되는 서비스는 원격으로 호출하여 워크플로우의 작업 요소로 추가하는 것이 가능하다. LHC 컴퓨팅 그리드와 같은 그리드 컴퓨팅 자원들도 OGF(Open Grid Forum)의 DRMMA(Distributed Resource Management Application API)와 같은 표준 웹 서비스 API를 통해서 원격으로 호출하고 사용할 수도 있다.



앞에서 설명했듯이 과학기술 워크플로우의 가장 큰 효용은 바로 재연성과 재활용성이다. 맨체스터 대학 정보 관리 그룹과 옥스포드 대학의 데이빗 드 루르(David de Roure) 교수 연구실을 중심으로 한 myGrid 컨소시엄과 옥스포드 대학 e-Research 센터를 중심으로 한 영국 e-Research 남부 컨소시엄(e-Research South UK regional consortium)은, Taverna로 작성된 그리드 컴퓨팅 워크플로우를 연구자들 간에 공유, 축적, 발전시킬 수 있는 커뮤니티로서 myExperiment라는 서비스 포탈을 개발하여 서비스하기 시작했다.

myExperiment 포탈은 2007년에 서비스를 하기 시작하여, 현재는 Taverna 워크플로우를 출판하고 공유하는 거대한 과학 기술 소셜 네트워크 서비스로 발전하고 있다. REST API를 이용하여 Taverna 워크플로우를 검색하고 원격으로 등록, 다운로드하거나 워크플로우의 저자 및 출처 등의 다양한 메타데이터를 조회, 등록할 수 있는 기능을 제공하여 연구자의 필요에 맞는 워크플로우를 검색하여 데이터 분석 과정을 자동화하여 활용할 수 있는 인프라를 제공한다. myGrid 서비스를 이용해 그리드 환경에서 실행되고 있는 워크플로우 작업에 대한 정보를 열람할 수 있는 API를 제공한다. myExperiment API를 이용해 직접 그리드 컴퓨팅 인프라에서 워크플로우를 실행하는 기능은 아직 제공되지 않지만 앞으로 제공될 것으로 보인다.



myExperiment 포탈에서는 Taverna 워크플로우를 편집하고 공유할 수 있는 Taverna 워크벤치 및 워크플로우 공유 서비스뿐만 아니라, 생물정보학 데이터 분석에 활용할 수 있는 다양한 소프트웨어 도구들도 같이 제공하여 myExperiment 서비스의 활용성을 높이고 있다. 2006년 2007년 JAX 혁신상(JAX Innovation Awards)에 빛나는 Bioclipse와 같은 유명한 소프트웨어와 함께 Taverna를 이용해 분석, 생성한 데이터를 추가 분석하고 다루는데 필요한 다양한 소프트웨어 도구를 제공한다. 시맨틱웹(semantic web) 기술 기반의 링크드 데이터 형식과 SPARQL 엔드 포인트를 제공해서 RDF 자원 기술 프레임워크(RDF) 형식으로 저장된 생물정보학 및 myExperiment의 공개 데이터의 링크드 데이터를 검색, 조작할 수 있다.

Taverna와 myExperiment 덕분에 새로운 발견과 치열한 혁신의 경쟁 속에 있는 생물학 및 생물정보학 연구자들이 전세계에 걸쳐 구축된 다양한 생물정보 데이터베이스와 EGEE 그리드 컴퓨팅 인프라를 이용해 생물정보 및 데이터 분석 과정을 자동화하고 시간을 단축할 수 있었다. Taverna를 통해 데이터 분석 프로세스를 자동화하고, 복잡한 분석 프로세스를 반복적으로 사용할 수 있었으며, 데이터의 위치에 상관없이 자신의 연구실에서 필요한 데이터에 원격으로 접속하면서 새로운 연구 결과를 내놓을 수 있었다. 복잡한 분석 과정을 반복적으로 다양한 생물종에 적용해 활용함으로써, 연구 데이터 축적을 빠른 시간 안에 할 수 있게 되어 연구 결과의 신뢰성과 재연성을 높일 수 있게 되었다.
 


최근 생물학 분야에서는 DNA 서열 분석을 비롯한 분자 생물학 데이터를 사용하는 경우가 많아지고 마이크로 RNA 등의 분자 생물학 연구가 첨단 지식을 이끌게 되면서, 정밀한 분석 과정을 통해 얻은 결과를 다른 연구 그룹이 재연해내기가 어려운 경우가 많아졌다. 이렇게 전문성과 분석 방법의 난이도가 높아지면서 연구의 재연성이 떨어지게 되면, 연구 부정이 일어날 가능성이 높고 연구의 신뢰성이 떨어질 위험이 높다. Taverna를 이용한 데이터 분석 과정 자동화가 생물정보학 데이터 분석 과정의 재연성을 높여서 연구의 신뢰성을 높이는 데 크게 기여하였다.

Taverna기반의 워크플로우를 공유하고 관련 연구자들끼리 네트워킹을 지원하는 myExperiment 포탈을 통해서 Taverna 워크플로우를 사용해서 연구하는 연구자들끼리 서로의 워크플로우를 검증하고 반복, 재활용하여 생물학 및 생물정보학의 연구 생산성이 크게 높아졌다. 커뮤니티를 통해 검증된 워크플로우를 통해 생물정보 데이터 분석 방법의 신뢰성이 높아지고, 풍부해진 데이터 분석 방법을 활용한 새로운 연구 결과 창출과 생명공학 기술 혁신이 촉진되었다.

 

X