#!/usr/bin/perl -w use SOAP::Lite; my $service = SOAP::Lite -> service('http://134.214.33.24/prodom/current/wsdl/essairunmkdom.wsdl'); my @allowedMethods = ("mkdom"); my $method; if (! @ARGV) { &printUsage; } else{ $method = shift @ARGV; foreach my $i (@allowedMethods) { if ($method eq $i) { &makeSOAPCall; } } } sub makeSOAPCall { my $result; my $param; my @sequence; if ($method eq "mkdom") { #$result = $ARGV[0]; #print "blastprod"; $long=@ARGV; for ($i=1;$i<=$long;$i++){ $param.=$ARGV[$i]." "; } #print $ARGV[1]; if ($ARGV[0] =~ /fasta/){ my $file; open(FILE,"$ARGV[0]"); while (){ $file .= $_; } close(FILE); @entree =($file,$param); #print @entree; $result= $service->runMkDom(@entree); print $result; } else{ print "Enter a file in fasta format"; } } else { &printUsage; } exit(0); } #my $result = $service->runFetchFasta($f); #print 'test tibou', # $service->hi($f); # print $result; sub printUsage { print "USAGE: \n"; print "------ \n"; print "mkdom \n Enter a file name (with extension .fasta) a query and blast prameters\n\n"; print "eg : perl mkdomWS.perl mkdom file.fasta -e 0.01 \n\n"; exit(0); }