Hi Matthew,

Let me dive in this code again and I'll find the bug. Any rush on this? I am 
planning to do this early next week/year ;-) You are actually the first 
reported user of this module beside me! I mostly tested it with nucleotide 
sequences on the old architecture. Not much work done wince moving to the new 
code base...

Back to you ASAP

Best regards

Sylvain

On 2010-12-29, at 4:01 PM, Matthew Busse wrote:

> Hello Sylvain, et al., 
> 
> I think I may have found another similar issue. 
> 
> Here's my program:
> 
> package com.multiBLAST.model;
> 
> import java.io.BufferedReader;
> import java.io.InputStream;
> import java.io.InputStreamReader;
> import java.util.Set;
> 
> import org.biojava3.ws.alignment.qblast.NCBIQBlastAlignmentProperties;
> import org.biojava3.ws.alignment.qblast.NCBIQBlastOutputFormat;
> import org.biojava3.ws.alignment.qblast.NCBIQBlastOutputProperties;
> import org.biojava3.ws.alignment.qblast.NCBIQBlastService;
> 
> public class BLASTExample {
>     
>     public static void main(String [] args) {
>         
>         NCBIQBlastService blaster;
>         NCBIQBlastOutputProperties outputProperties;
>         InputStream is;
>         String request = "";
>         final String TESTSEQUENCE = "MAQGTLIRVTPEQPTHAVCV";
>         String rid = new String();
>         
>         try {
>             blaster = new NCBIQBlastService();
>             NCBIQBlastAlignmentProperties alignmentProperties = new 
> NCBIQBlastAlignmentProperties();
>             alignmentProperties.setBlastProgram("blastp");
>             alignmentProperties.setBlastDatabase("nr");
>             
>             request = blaster.sendAlignmentRequest(TESTSEQUENCE, 
> alignmentProperties);
>             
>             System.out.println("Trying to get BLAST results for RID " + rid);
>             
>             boolean wasBlasted = false;
>             
>             while (!wasBlasted) {
>                 wasBlasted = blaster.isReady(rid, System.currentTimeMillis());
>             }
>             
>             outputProperties = new NCBIQBlastOutputProperties();
>             outputProperties.setOutputFormat(NCBIQBlastOutputFormat.TEXT);
>             
> outputProperties.setAlignmentOutputFormat(NCBIQBlastOutputFormat.PAIRWISE);
>             outputProperties.setDescriptionNumber(10);
>             outputProperties.setAlignmentNumber(10);
>             
>             //to show that output options were followed
>             
>             Set<String> test = outputProperties.getOutputOptions();
>             
>             for(String str : test) {
>                 System.out.println(str);
>             }
>             
>             is = blaster.getAlignmentResults(request, outputProperties);
>             
>             BufferedReader br = new BufferedReader(new InputStreamReader(is));
>             
>             String line = null;
>             
>             while ((line = br.readLine()) != null)    {
>                 System.out.println(line);
>             }
>             
>         } catch (Exception ex) {
>             ex.printStackTrace();
>         } 
>     }
> }
> 
> When I run it, it throws an exception:
> java.lang.Exception: The key named PROGRAM is not set in this 
> RemoteQBlastOutputProperties object
>     at 
> org.biojava3.ws.alignment.qblast.NCBIQBlastAlignmentProperties.getAlignmentOption(NCBIQBlastAlignmentProperties.java:173)
>     at 
> org.biojava3.ws.alignment.qblast.NCBIQBlastService.sendActualAlignementRequest(NCBIQBlastService.java:132)
>     at 
> org.biojava3.ws.alignment.qblast.NCBIQBlastService.sendAlignmentRequest(NCBIQBlastService.java:210)
>     at com.multiBLAST.model.BLASTExample.main(BLASTExample.java:30)
> 
> Because RemoteQBlastOutputProperties is the terminology used in the pre-BJ3 
> APIs, I'm guessing this is another conversion problem? Or am I missing 
> something else?
> 
> Many thanks for all your help.
> 
> Best,
> Matthew
> 
> On Wed, Dec 29, 2010 at 9:58 AM, Andreas Prlic <[email protected]> wrote:
> Thanks Sylvain,
> 
> Matthew, a workaround until we have a fix for this is to add the
> http://biojava.org/download/maven/org/biojava/core/1.8/core-1.8.jar
> from the biojava-legacy project to your classpath. This should allow
> your example to work...
> 
> Andreas
> 
> 
> On Wed, Dec 29, 2010 at 9:22 AM, Sylvain Foisy Ph. D.
> <[email protected]> wrote:
> > Hi,
> >
> > I am the author/main culprit for the QBlast code in BJ. I have to fix the 
> > problem that you found ASAP to remove the dependency on the old BJ 
> > architecture about representing Sequence objects. I'll work on this early 
> > next week, as soon as I'll have finish with my grading... I am more of a 
> > teacher than a coder nowadays.
> >
> > Best regards
> >
> > Sylvain
> >
> >
> >
> > _______________________________________________
> > Biojava-l mailing list  -  [email protected]
> > http://lists.open-bio.org/mailman/listinfo/biojava-l
> >
> 


_______________________________________________
Biojava-l mailing list  -  [email protected]
http://lists.open-bio.org/mailman/listinfo/biojava-l

Reply via email to