#!/usr/bin/perl # Description: Runs SignalP Web Service. #It requires no input; to be used for testing in the EMBRACE WS Registry. # Author: Peter Fischer Hallin # Email: pfh@cbs.dtu.dk # Version: 3.1 ws0 # Date: 2008-06-15 # usage: perl signalp.pl # include standard XML::Compile helper functions (used to initiate WSDL proxys) use Data::Dumper; use strict; require "xml-compile.pl"; # create proxy to genome atlas my $signalp = WSDLclient ( 'http://www.cbs.dtu.dk/ws/SignalP/SignalP_3_1_ws0.wsdl' ); my @fasta; my $entry = -1; while () { if (/^>(.*)/) { my ($id , $comment) = split (" ",$1); $entry++; $fasta[$entry]->{id} = $id; $fasta[$entry]->{comment} = $comment if defined $comment; } elsif (/^([A-Za-z]+)/) { $fasta[$entry]->{seq} .= $1; } } my @sequence; for ( my $i = 0 ; $i < scalar ( @fasta ) ; $i ++ ) { push @sequence , { id => $fasta[$i]->{id} , comment => $fasta[$i]->{comment} , seq => $fasta[$i]->{seq} }; } my $response = $signalp->{runService}->( parameters => { parameters => { organism => 'euk' , method => 'nn+hmm' , thnn => '0.43' , sequencedata => {sequence => [@sequence]} } }); my $jobid; die "error obtaining jobid\n" unless defined $response->{parameters}->{queueentry}; $jobid = $response->{parameters}->{queueentry}->{jobid}; &wait_job($signalp->{pollQueue},$jobid); $response = $signalp->{fetchResult}->(job => { jobid => $jobid }); print "method : ".$response->{parameters}->{anndata}->{annsource}->{method}."\n"; print "version : ".$response->{parameters}->{anndata}->{annsource}->{version}."\n"; foreach my $ann (@{$response->{parameters}->{anndata}->{ann}}) { print " sequence id : $ann->{sequence}->{id}\n"; print " sequence comment : $ann->{sequence}->{comment}\n"; print " sequence : $ann->{sequence}->{seq}\n"; foreach my $annrecord (@{$ann->{annrecords}->{annrecord}}) { print join ( "\t", ( $annrecord->{feature}, $annrecord->{range}->{begin}->numify, $annrecord->{range}->{end}->numify, $annrecord->{score}[0]->{key}.':'.$annrecord->{score}[0]->{value}, ))."\n"; }} __DATA__ >EGFR_HUMAN P00533 EPIDERMAL GROWTH FACTOR RECEPTOR PRECURSOR (EC 2.7.1.112). - Homo sapiens (Human). MRPSGTAGAALLALLAALCPASRALEEKKVCQGTSNKLTQLGTFEDHFLSLQRMFNNCEV VLGNLEITYVQRNYDLSFLKTIQEVAGYVLIALNTVERIPLENLQIIRGNMYYENSYALA VLSNYDANKTGLKELPMRNLQEILHGAVRFSNNPALCNVESIQWRDIVSSDFLSNMSMDF QNHLGSCQKCDPSCPNGSCWGAGEENCQKLTKIICAQQCSGRCRGKSPSDCCHNQCAAGC TGPRESDCLVCRKFRDEATCKDTCPPLMLYNPTTYQMDVNPEGKYSFGATCVKKCPRNYV VTDHGSCVRACGADSYEMEEDGVRKCKKCEGPCRKVCNGIGIGEFKDSLSINATNIKHFK NCTSISGDLHILPVAFRGDSFTHTPPLDPQELDILKTVKEITGFLLIQAWPENRTDLHAF ENLEIIRGRTKQHGQFSLAVVSLNITSLGLRSLKEISDGDVIISGNKNLCYANTINWKKL FGTSGQKTKIISNRGENSCKATGQVCHALCSPEGCWGPEPRDCVSCRNVSRGRECVDKCN LLEGEPREFVENSECIQCHPECLPQAMNITCTGRGPDNCIQCAHYIDGPHCVKTCPAGVM GENNTLVWKYADAGHVCHLCHPNCTYGCTGPGLEGCPTNGPKIPSIATGMVGALLLLLVV ALGIGLFMRRRHIVRKRTLRRLLQERELVEPLTPSGEAPNQALLRILKETEFKKIKVLGS GAFGTVYKGLWIPEGEKVKIPVAIKELREATSPKANKEILDEAYVMASVDNPHVCRLLGI CLTSTVQLITQLMPFGCLLDYVREHKDNIGSQYLLNWCVQIAKGMNYLEDRRLVHRDLAA RNVLVKTPQHVKITDFGLAKLLGAEEKEYHAEGGKVPIKWMALESILHRIYTHQSDVWSY GVTVWELMTFGSKPYDGIPASEISSILEKGERLPQPPICTIDVYMIMVKCWMIDADSRPK FRELIIEFSKMARDPQRYLVIQGDERMHLPSPTDSNFYRALMDEEDMDDVVDADEYLIPQ QGFFSSPSTSRTPLLSSLSATSNNSTVACIDRNGLQSCPIKEDSFLQRYSSDPTGALTED SIDDTFLPVPEYINQSVPKRPAGSVQNPVYHNQPLNPAPSRDPHYQDPHSTAVGNPEYLN TVQPTCVNSTFDSPAHWAQKGSHQISLDNPDYQQDFFPKEAKPNGIFKGSTAENAEYLRV APQSSEFIGA