X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Farchaeopteryx%2Ftools%2FBlast.java;h=839a328fb61a0daf20b78c04a51906d924fb219e;hb=a9cc2cc5c9cda0ab49f26ccfb7a1aa30531e6ecf;hp=97120ad4969a7790881af51ef9bda92e04c87577;hpb=3be5f9e46469980f068a9f8170e1d20849b5eaf8;p=jalview.git diff --git a/forester/java/src/org/forester/archaeopteryx/tools/Blast.java b/forester/java/src/org/forester/archaeopteryx/tools/Blast.java index 97120ad..839a328 100644 --- a/forester/java/src/org/forester/archaeopteryx/tools/Blast.java +++ b/forester/java/src/org/forester/archaeopteryx/tools/Blast.java @@ -21,7 +21,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA // // Contact: phylosoft @ gmail . com -// WWW: www.phylosoft.org/forester +// WWW: https://sites.google.com/site/cmzmasek/home/software/forester package org.forester.archaeopteryx.tools; @@ -38,8 +38,9 @@ import javax.swing.JApplet; import org.forester.archaeopteryx.AptxUtil; import org.forester.archaeopteryx.TreePanel; import org.forester.phylogeny.PhylogenyNode; -import org.forester.phylogeny.data.Accession; +import org.forester.phylogeny.data.Identifier; import org.forester.util.ForesterUtil; +import org.forester.util.SequenceIdParser; import org.forester.ws.wabi.RestUtil; public final class Blast { @@ -74,20 +75,35 @@ public final class Blast { final public static String obtainQueryForBlast( final PhylogenyNode node ) { String query = ""; - if ( !ForesterUtil.isEmpty( node.getNodeData().getSequence().getMolecularSequence() ) ) { - query = node.getNodeData().getSequence().getMolecularSequence(); - } - else if ( ( node.getNodeData().getSequence().getAccession() != null ) - && !ForesterUtil.isEmpty( node.getNodeData().getSequence().getAccession().getValue() ) ) { - if ( !ForesterUtil.isEmpty( node.getNodeData().getSequence().getAccession().getSource() ) ) { - query = node.getNodeData().getSequence().getAccession().getSource() + "%7C"; + if ( node.getNodeData().isHasSequence() ) { + if ( !ForesterUtil.isEmpty( node.getNodeData().getSequence().getMolecularSequence() ) ) { + query = node.getNodeData().getSequence().getMolecularSequence(); + } + if ( ForesterUtil.isEmpty( query ) && ( node.getNodeData().getSequence().getAccession() != null ) + && !ForesterUtil.isEmpty( node.getNodeData().getSequence().getAccession().getValue() ) ) { + final Identifier id = SequenceIdParser.parse( node.getNodeData().getSequence().getAccession() + .getValue() ); + if ( id != null ) { + query = id.getValue(); + } + } + if ( ForesterUtil.isEmpty( query ) && !ForesterUtil.isEmpty( node.getNodeData().getSequence().getName() ) ) { + final Identifier id = SequenceIdParser.parse( node.getNodeData().getSequence().getName() ); + if ( id != null ) { + query = id.getValue(); + } + } + if ( ForesterUtil.isEmpty( query ) && !ForesterUtil.isEmpty( node.getNodeData().getSequence().getSymbol() ) ) { + final Identifier id = SequenceIdParser.parse( node.getNodeData().getSequence().getSymbol() ); + if ( id != null ) { + query = id.getValue(); + } } - query += node.getNodeData().getSequence().getAccession().getValue(); } - else if ( !ForesterUtil.isEmpty( node.getNodeData().getSequence().getName() ) ) { - final Accession acc = AptxUtil.obtainSequenceAccessionFromName( node.getNodeData().getSequence().getName() ); - if ( acc != null ) { - query = acc.getSource() + "%7C" + acc.getValue(); + if ( ForesterUtil.isEmpty( query ) && !ForesterUtil.isEmpty( node.getName() ) ) { + final Identifier id = SequenceIdParser.parse( node.getName() ); + if ( id != null ) { + query = id.getValue(); } } return query;