Taverna

Taverna를 이용한 Biopipe 경진대회 문제 풀이

hongiiv 2007. 8. 22. 12:40
반응형
아래 포스팅에도 언급했던 이번 국가생물자원정보관리센터(KOBIC)에서는 경진대회에 참가하는 방법이 두가지가 있다. 첫째, 직접 생물학적 의미를 가지는 파이라인을 본인이 직접 제작하는 방법 둘째, 제출된 문제를 해결하는 방법

우선 아이디어가 없기 때문에 ^^;; 제출된 문제를 해결해보기로 했다. 문제는 간단했다. 유전체와 단백체를 나뉘어 있으며 각 3단계의 총 6개의 문제가 제출되어있다. 각 문제는 독립적인 문제가 아니라 연결되어지는 말그대로 단계별로 풀어야한다.

유전체의 1단계 문제는 관심있는 유전자 아이디(refseq ID)를 이용하여 Nucleotide 서열을 받아오는 문제이다.

그럼 1단계의 문제를 풀기 위해서는 우선 refseq ID를 입력으로 넣으면 해당 Nucleotide 서열을 반환하는 서비스가 있느냐? 하는 것부터 해결해야 한다. 경진대회에서는 1단계에서 사용가능한 웹 서비스를 힌트(?)형식으로 제공하고 있기 때문에 쉽게 풀수 있지만, 수많은 웹 서비스중에서 내가 원하는 기능(내가 원하는 Input을 받아 Output을 내놓는)을 어떻게 찾을것인가의 문제는 웹 서비스를 Omics와 Task별로 분류해서 보여주고 Search 기능과 해당 웹서비스를 선택하면 간단한 설명이 나오기 때문에 조금만 주의해서 찾아본다면 그다지 어렵지 않을 것이다. 그리고 전 포스팅에서도 말했듯이 국내에서 개발되었다는 장점!! 물어보면 된다. 대답도 지금 베타 기간이라 빠르다. 이러한 빠른 피드백이 베타기간, 경진대회기간만이 아니라 꾸준히 되어야겠지만...

다시 1단계에서 사용가능한 웹 서비스는 EBI의 http://www.ebi.ac.uk/Tools/webservices/ 에서 다양한 웹 서비스 중에서 Biological 데이터베이스 검색하는 WSDbfetch 서비스는이다. WSDbfetch는  EMBL, UniProt Cluster, InterPro, RefSeq genome등 다양한 데이터베이스의 검색을 지원하고 있다.

그럼 이제 WSDbfetch를 이용해서 1단계 문제를 해결하도록 해보자.

Taverna를 실행하고 Service Panel에서 WSDbfetch의 WSDL 파일을 추가해서 해당 웹 서비스를 사용할 수 있도록 설정한다. Available Processors를 마우스 오른쪽을 클릭하면, Add New WSDL Scavenger를 선택해서 WSDL의 위치(http://www.ebi.ac.uk/Tools/webservices/wsdl/WSDbfetch.wsdl)를 입력한다.

1

그럼 위 그림처럼 웹 서비스가 사용 가능하도록 등록된다. 간단하게 웹 서비스의 형태는 RPC 형태이고 사용가능한 operation은 총 7개로 이중 fetchData를 사용할 것이다. fetchData를 선택하고 마우스 오른쪽 버튼을 눌러 Add to Model을 선택하면 Advaned model explorer에 fetchData가 추가 된다.

2

fetchData는 3개의 input(query, format, style)과 2개의 output(attachementList, fetchDataReturn)이 있다. input에 대해 값을 지정하는 방법은 3가지정도로 요약될 수 있는데, 입력에 대해서 기본값을 지정하는 방법, Workflow inputs를 통해 입력하는 방법, 문자 상수(String Constant)를 이용해 입력하는 방법이 있다.

그럼 문자 상수를 이용해서 값을 지정해 보자. 다시 Service Panel을 보면 Local Services 항목에 String Constant를 선택해서 Add to Model을 선택한다. Advanced model explorer에 3개의 String Constant를 만들고 각각에 이름과 값을 지정한다.

3

query 상수의 값에 RefSeq:NM_005700, format 상수의 값에 fasta, style 상수의 값에 raw를 지정하고 fetchData의 입력값에 각각 연결한다. query 상수의 value를 선택하고 Processors의 fetchaData의 query를 선택해서 연결시킨다. 마찬가지로 format, style도 상수의 값과 input을 연결시킨다.

마지막으로 output을 생성한다. Advanced model explorer에서 Workflow outpus를 선택하고 output을 지정한다. 만들어진 output과 fetchData의 fetchDataReturn과 연결시킨다.

5

모든 연결을 완성하면 다음과 같은 다이어그램이 된다.

6

상단의 Results를 클릭해서 실행을 해보면 Status상에서 현재 진행상황을 살펴볼수 있다.

7

Results를 클릭하면 해당 refseq의 서열을 확인할 수 있다.

8

이상으로 1단계의 문제를 Taverna를 통해서 풀어보았다. 매우 단순한 작업이기 때문에 프로그래밍에 익숙하지 않은 사용자들도 충분히 잘 해결할 수 있다고 생각된다.

반응형