howto

Taverna에서 스크립트언어(perl, python, ruby 등등)는 사용할 수 없나요??

hongiiv 2007. 11. 19. 22:04
반응형
perl

위의 워크플로우는 input으로 받은 내용을 가지고 c:\perl\example\example.txt라는 파일을 만들고 perl스크립트를 통해서 해당 파일을 읽어서 result로 출력하는 워크플로우이다.

뭐 간단한 것이지만 외부 Perl 프로그램을 수행한다는 점이 주목할만하다. Taverna에 대해 이야기 하다가 가장 많이 듣는 부분이 java로만 프로그래밍 할 수 있나요??라는 부분인데, taverna에서는 외부 커맨드라인 기반 어플리케이션을 수행할 수 있는(즉 perl, python, ruby등등 모두 해당) processor가 존재한다.

Available Processor > Local Services > Local Java widgets > io > Execute cmd-line app 프로세서가 바로 그것이다.

execute cmd-line app는 command와 args의 두개의 인자가 존재하는데, command에는 수행할 프로그램명, args에는 이 프로그램에 넘겨줄 인자를 각각 지정하면된다.

c:\perl\example\example.pl이라는 perl 프로그램은 인자로 받은 파일을 읽어서 그대로 출력하는 프로그램이다. 그럼 execute_cmd_line_app의 command에는 c:\perl\example\example.pl, args에는 example.txt를 입력하면, 아래와 같은 결과를 볼 수 있다.

#!/usr/bin/perl

my $exampleFile = $ARGV[0];

open(IN, $exampleFile);

while(my $line = <IN>) {
        chomp $line;
        print $line;
        print "\n";
};

close IN;

워크플로우의 input을 다음과 같이주고,,,
input

실행하고 나면 sample.txt라는 파일이 생기고 example.pl이 수행되고 난 후 다음과 같은 결과를 반환한다.

워크플로우 결과
perl
반응형