// 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;
import org.forester.phylogeny.PhylogenyNode;
import org.forester.phylogeny.data.Accession;
import org.forester.util.ForesterUtil;
+import org.forester.util.SequenceAccessionTools;
import org.forester.ws.wabi.RestUtil;
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 Accession id = SequenceAccessionTools.parseAccessorFromString( node.getNodeData().getSequence()
+ .getAccession().getValue() );
+ if ( id != null ) {
+ query = id.getValue();
+ }
+ }
+ if ( ForesterUtil.isEmpty( query ) && !ForesterUtil.isEmpty( node.getNodeData().getSequence().getName() ) ) {
+ final Accession id = SequenceAccessionTools.parseAccessorFromString( node.getNodeData().getSequence()
+ .getName() );
+ if ( id != null ) {
+ query = id.getValue();
+ }
+ }
+ if ( ForesterUtil.isEmpty( query ) && !ForesterUtil.isEmpty( node.getNodeData().getSequence().getSymbol() ) ) {
+ final Accession id = SequenceAccessionTools.parseAccessorFromString( node.getNodeData().getSequence()
+ .getSymbol() );
+ if ( id != null ) {
+ query = id.getValue();
+ }
+ }
+ if ( ForesterUtil.isEmpty( query )
+ && !ForesterUtil.isEmpty( node.getNodeData().getSequence().getGeneName() ) ) {
+ final Accession id = SequenceAccessionTools.parseAccessorFromString( node.getNodeData().getSequence()
+ .getGeneName() );
+ 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 Accession id = SequenceAccessionTools.parseAccessorFromString( node.getName() );
+ if ( id != null ) {
+ query = id.getValue();
}
}
return query;