Dear developer,
I tried to find a more precise definition of the problem I encountered in using the FSSM-SOAP Client (Bug ID 78329).
Using data dumper and the functions get_parameters() and available_parameters() lets me suppose that there is something wrong with the parameter transfer concerning the seqtype variable (see code below).
Thank you for any hints.
With kindest regards,
M. Carbon-Mangels
(PhD student)
#####
# My code
#####
use warnings;
use strict;
use FSSM::SOAPClient;
########
# Define Parameters
########
# define how the V3 loop should be identfied in a given sequence
my $search = 'align';
# define the type of the given sequences
my $seqType = 'nt';
# define how to score degenerate sequences, given an input nucleotide sequence containing IUPAC ambiguity symbols
my $expansion = 'none';
# define the predictor PSSM matrix
my $predictor = 'subtype B X4/R5';
print "You selected the following parameters:\n";
print " - search method: $search\n - sequence type: $seqType\n - handling of degenerate sequences: $expansion\n - predictor matrix: $predictor\n\n";
########
# Add sequences and send query
########
# create client and set parameters
my $client = FSSM::SOAPClient->new( search => $search, expansion => $expansion, seqtype => $seqType, predictor => $predictor );
#my $client = FSSM::SOAPClient->new( search => 'align', expansion => 'avg', seqtype => 'aa', predictor => 'subtype C SI/NSI' );
print join(", ", $client->available_parameters), "\n";
print join(", ", $client->available_parameters('search')), "\n";
print join(", ", $client->available_parameters('expansion')), "\n";
print join(", ", $client->available_parameters('seqtype')), "\n";
print join(", ", $client->available_parameters('predictor')), "\n";
print join(", ", $client->get_parameters()), "\n";
my $attach = $client->attach_seqs({ '22855' => 'TGTACAAGACCCAACAACAATACAAGAAGAAGTATAACGATAGGACCAGGCAGGGCATTTTATGCAACAGGAGAAATAATAGGAGATATAAGACAAGCACATTGT',
'22430' => 'TGTACAAGACCCAATAACAATACAAGAAAAAGTATTCATATGGGACCAGGGAGAACATATTATGCAACAGGAGACATAATAGGAGATATAAGAGCAGCACATTGT'});
# run query
my $result = $client->run;
# parse query
while (my $item = $result->next_call)
{
print $item->{seqid}, "\t";
if ($item->{predicted})
{
print "predicted SI\n";
}
else
{
print "predicted NSI\n";
}
}
# print possible errors
print $!, "\n\n";
print "finished script: coreceptor_prediction_test.pl\n\n";
###########
This is the output I get:
You selected the following parameters:
- search method: align
- sequence type: nt
- handling of degenerate sequences: none
- predictor matrix: subtype B X4/R5
expansion, predictor, search, seqtype
none, fast, align
none, avg, full
aa, nt
subtype B X4/R5, subtype B SI/NSI, subtype B X4/R5 (Poveda2009), subtype B SI/NSI (Poveda2009), subtype C SI/NSI
Use of uninitialized value in join or string at coreceptor_prediction_test.pl line 66.
search, align, expansion, none, seqtype, , predictor, subtype B X4/R5
Missing parameters; can't create request (try get_parameters()) at /usr/lib/perl5/site_perl/5.12.3/FSSM/SOAPClient.pm line 568.
No request created; query not run at /usr/lib/perl5/site_perl/5.12.3/FSSM/SOAPClient.pm line 259.
Can't call method "next_call" on an undefined value at coreceptor_prediction_test.pl line 75.
Show quoted text-----Ursprüngliche Nachricht-----
Von: Bugs in FSSM-SOAPClient via RT [mailto:bug-FSSM-SOAPClient@rt.cpan.org]
Gesendet: Donnerstag, 12. Juli 2012 16:07
An: Carbon-Mangels, Miriam
Betreff: [rt.cpan.org #78329] AutoReply: Problem with FSSM-SOAP Client
Greetings,
This message has been automatically generated in response to the creation of a trouble ticket regarding:
"Problem with FSSM-SOAP Client",
a summary of which appears below.
There is no need to reply to this message right now. Your ticket has been assigned an ID of [rt.cpan.org #78329]. Your ticket is accessible on the web at:
https://rt.cpan.org/Ticket/Display.html?id=78329
Please include the string:
[rt.cpan.org #78329]
in the subject line of all future correspondence about this issue. To do so, you may reply to this message.
Thank you,
bug-FSSM-SOAPClient@rt.cpan.org
-------------------------------------------------------------------------
Dear developer,
thank you for sharing your code. Since I going to do HIV-1 co-receptor predictions for a large number of sequences, I installed the packages
FSSM-SOAP:
http://search.cpan.org/~majensen/FSSM-SOAPClient/lib/FSSM/SOAPClient.pm#USAGE
SOAP::Lite:
http://search.cpan.org/~mkutter/SOAP-Lite-0.714/lib/SOAP/Lite.pm
Perl version: This is perl 5, version 12, subversion 3 (v5.12.3) built for x86_64-linux-thread-multi Operating System vendor and version: Linux sv-bio-01 2.6.37.6-0.20-default #1 SMP 2011-12-19 23:39:38 +0100 x86_64 x86_64 x86_64 GNU/Linux
I wrote a script following the code examples on the above mentioned cpan FSSM-SOAP homepage, but I fail in getting a prediction result. The 'result' variable is empty. I tried to read in sequences from a fasta file, from a hash or appending them directly (see code). I get a prediction for the example sequences directly on the FSSM website
http://fortinbras.us/cgi-bin/fssm/fssm.pl#here . Perhaps you could lend me a hand and check what's going wrong.
Thank you very much in advance.
With kindest regards,
M. Carbon-Mangels
(PhD student)
#####
# My code
#####
#!/usr/bin/perl -w
use warnings;
use strict;
use FSSM::SOAPClient;
# Prepare variables
my $search = 'align';
my $seqType = 'auto';
my $expansion = 'none';
my $predictor = 'subtype B X4/R5';
print "You selected the following parameters:\n"; print " - search method: $search\n - sequence type: $seqType\n - handling of degenerate sequences: $expansion\n - predictor matrix: $predictor\n\n";
# create client and set parameters
my $client = FSSM::SOAPClient->new( search => $search, expansion => $expansion, seqtype => $seqType, predictor => $predictor );
# attach sequences
my $attach = $client->attach_seqs({ '22855' => 'TGTACAAGACCCAACAACAATACAAGAAGAAGTATAACGATAGGACCAGGCAGGGCATTTTATGCAACAGGAGAAATAATAGGAGATATAAGACAAGCACATTGT',
'22430' => 'TGTACAAGACCCAATAACAATACAAGAAAAAGTATTCATATGGGACCAGGGAGAACATATTATGCAACAGGAGACATAATAGGAGATATAAGAGCAGCACATTGT'});
# run query
my $result = $client->run;
# check for errors
#print "get_parameters: ".($client->get_parameters())."\n";
#print "request_data: ".($client->request_data())."\n"; #print "soap_client: ".($client->soap_client())."\n"; #print "result: ".$result."\n"; #print "attach: ".$attach."\n"; #print "som: ".($client->som())."\n";
#if (!$client->ok()) { warn "errstr: ".$client->errstr } #if (!$client->ok()) { warn "errcode: ".$client->errcode }
# parse query
while (my $item = $result->next_call)
{
print $item->{seqid}, "\t";
if ($item->{predicted})
{
print "predicted SI\n";
}
else
{
print "predicted NSI\n";
}
}
# print possible errors
print $!, "\n\n";
print "finished script: coreceptor_prediction_test.pl\n\n";
###########
This is the output I get:
carmi@sv-bio-01:~/workspace/script> perl coreceptor_prediction_test.pl You selected the following parameters:
- search method: align
- sequence type: auto
- handling of degenerate sequences: none
- predictor matrix: subtype B X4/R5
Can't call method "next_call" on an undefined value at coreceptor_prediction_test.pl line 42.