Hi ;
I have a problem with using Blast SOAP API. Previously, I used the downloadable version of blast in which I balstp against PDB using the following command line:
"blasp.exe -query input.txt -db pdbaa -evalue 0.01 -out output.txt"
Now I am moving to using the SOAP API (in C# language). I query using the following method using Blast4queuesearchrequestlite:
public static string SubmitSearchLite(){
Blast4queuesearchrequestlite blreq = new Blast4queuesearchrequestlite();
blreq.databasename = "pdb";
blreq.query = @">MyData KKAVINGEQIRSISDLHQTLKKELALPEYYGENLDALWDCLTGWVEYPLVLEWRQFEQSKQLTENGAESVLQVFREAKAEGADITIIL"
blreq.options = new Blast4queuesearchrequestliteOptions();
blreq.options.Blast4optionslite = new Blast4optionslite();
blreq.options.Blast4optionslite.task = "blastp";
blreq.options.Blast4optionslite.options = new Blast4optionsliteOptions();
blreq.options.Blast4optionslite.options.Blast4commonoptions = new Blast4commonoptions();
blreq.options.Blast4optionslite.options.Blast4commonoptions.evalue = 0.01;
Blast4queuesearchreply reply = m_WebService.SubmitSearchLite(blreq);
x_HandleVerboseOutput(blreq, reply);}
My first problem is that this works but the evalue is not working. It returns all the proteins with any evalues up to 10.(which is the default).
Then, I try to get the results as below:
public static void GetResults(String RID)
{
Blast4getsearchresultsrequest blreq = new Blast4getsearchresultsrequest();
blreq.requestid = RID;
Blast4getsearchresultsreply reply = m_WebService.GetSearchResults(blreq);
x_HandleVerboseOutput(blreq, reply);
const String fname = @"results.xml";
x_SerializeAsXml(fname, reply);
}
My second problem is that, what I get as result is an XML which does not contain any information about the PDB codes of the results in hit table: such as which i used to get with command line:
pdb|1A19|A Chain A, Barstar (Free), C82a Mutant >pdb|1A19|B Chai... 182 3e-047
pdb|3DA7|C Chain C, A Conformationally Strained, Circular Permut... 181 1e-046
pdb|1AY7|B Chain B, Ribonuclease Sa Complex With Barstar >pdb|1B... 180 1e-046
Can you please guide me on these 2 problems: 1) setting the evalue in query 2) Retrieving the hit table (with pdb codes as result.)
Thanks;
Look at Blast inside Biopython.
The problem is that I have a huge program in C# and in one part i am using Blast. that is why i want to work in C#.