Re: QBlast in BioJava3

Matthew Busse <[email protected]>
Newsgroups gmane.comp.java.bio.general
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.