R

R 과 Rserve를 이용한 Taverna 프로그래밍

hongiiv 2007. 11. 16. 14:35
반응형
향후 Bioworks의 경우 각종 스크립트 언어를 추가하여 사용자가 워크플로우내에서 프로그래밍을 통하여 필요한 기능을 추가할 수 있도록 할 계획에 있다고 한다.

Taverna의 경우는 BeanShell이라는 Java 언어를 통하여 사용자가 워크플로우내에 프로그래밍 로직을 작성할 수 있도록 해주고 있다. 기타 Perl, python, Ruby등의 다른 스크립트 언어에 익숙한 사용자에게는 다소 불편함이 있을 수도 있다.

어쨌든 이러한 프로그램 언어의 사용과 더불어 Taverna에서는 통계 언어인 R(Bioinformatics에 관련된 라이브러리도 상당히 많이 존재하죠 ^ㅇ^)을 사용할 수 있도록 하고 있는데, 바로 RShell을 통해서다.

Taverna의 RShell은 R을 TCP/IP 기반으로 원격에서도 실행하고 그 결과를 돌려 받을 수 있는 Rserve를 통해서 가능하도록 하고 있다.

여기서는 윈도우즈 환경에서 R과 Rserve를 설치하고 Taverna가 Rserve를 통해서 R 스크립트를 워크플로우내에 포함시켜 볼 것이다.

첫번째는 R과 Rserve를 윈도우즈 설치하여야 한다. R은 여기(R 윈도우즈용 2.4.0버전을 다운로드한다. 현재 Rserve가 R 2.4.0을 지원하기 때문에 R 2.6.0은 좀 기다려야 할듯...)에서 다운로 한다. (http://bibs.snu.ac.kr/R/bin/windows/base/old/2.4.0/)

두번째로 Rserve를 여기서 다운로드 한다. 윈도우즈 버전을 다운로드 한다. (http://rosuda.org/Rserve/dist/rserve-win.html)

R을 설치하면 C:\Program Files\R\R-2.4.0\bin 위치에다가 Rserve.exe를 복사해 넣는다. 도스창을 띄워서 R.exe CMD Rserve.exe 라고 치면 R과 Rserve를 사용할 수 있다.

RRun

Rserve가 잘 수행되는 확인하기 위해서 telnet을 통해서 localhost의 6331 포트로 접속해 본다. 다음과 같은 화면이 나오면 제대로 설치된 것이다.

Rtelnet

RtelnetResult

이제 Taverna를 통해서 RScript를 작성하고 로컬에 설치된 R과 Rserve를 통해서 실행하면 된다.

Taverna의 Processor에서 RShell을 선택하여 model에 추가한다. 추가된 RShell 프로세서를 속성을 다음과 같이 편집한다. output을 string 형태로 지정하고 sin값을 구하는 스크립트를 작성한다. 최종 Taverna의 outputs와 지정한 RShell의 output을 연결하고 실행하면 끝.

sin값을 구하는 RShell 스크립트
Rscript

RShell의 output을 지정
RscriptOut


완성된 워크플로우
tavernaR

RScript를 수행한 Taverna결과
taverResult

보너스로 R을 통해서 만들어진 이미지도 Taverna에서 가져올 수 있습니다. (그런데 지금까지 내용은 모두 Taverna 문서에 있는거 아시죠 ^^) output을 하나 만들고 이 ouput의 mime type을 image/png로 지정합니다. 그리고 RScript를 통해 이미지를 그립니다.

이미지 그리기 RScript
pngscript

output의 mime types을 지정

mimetype

결과로 출력된 이미지
imageresult

반응형