- public static String extractUniProtKbProteinSeqIdentifier( final String str ) {\r
- Matcher m = UNIPROT_KB_PATTERN_0.matcher( str );\r
- if ( m.find() ) {\r
- return m.group( 1 );\r
- }\r
- m = UNIPROT_KB_PATTERN_1.matcher( str );\r
- if ( m.find() ) {\r
- return m.group( 1 );\r
- }\r
- m = UNIPROT_KB_PATTERN_2.matcher( str );\r
- if ( m.find() ) {\r
- return m.group();\r
- }\r
- return null;\r
- }\r
-\r
- public final static boolean isProtein( final String query ) {\r
- final String r1 = parseRefSeqAccessor( query );\r
- if ( !ForesterUtil.isEmpty( r1 ) && ( r1.charAt( 1 ) == 'P' ) ) {\r
- return true;\r
- }\r
- final String r2 = extractUniProtKbProteinSeqIdentifier( query );\r
- if ( !ForesterUtil.isEmpty( r2 ) ) {\r
- return true;\r
- }\r
- return GENBANK_PROTEIN_AC_PATTERN.matcher( query ).lookingAt();\r
- }\r
-\r
- public final static Accession parse( final PhylogenyNode n ) {\r
- String v = extractUniProtKbProteinSeqIdentifier( n );\r
- if ( !ForesterUtil.isEmpty( v ) ) {\r
- return new Accession( v, Accession.UNIPROT );\r
- }\r
- v = extractGenbankAccessor( n );\r
- if ( !ForesterUtil.isEmpty( v ) ) {\r
- return new Accession( v, Accession.NCBI );\r
- }\r
- v = extractRefSeqAccessor( n );\r
- if ( !ForesterUtil.isEmpty( v ) ) {\r
- return new Accession( v, Accession.REFSEQ );\r
+ public final static String obtainRefSeqAccessorFromDataFields( final PhylogenyNode n ) {\r
+ String a = null;\r
+ if ( n.getNodeData().isHasSequence() ) {\r
+ final Sequence seq = n.getNodeData().getSequence();\r
+ if ( !ForesterUtil.isEmpty( seq.getSymbol() ) ) {\r
+ a = parseRefSeqAccessorFromString( seq.getSymbol() );\r
+ }\r
+ if ( !ForesterUtil.isEmpty( seq.getGeneName() ) ) {\r
+ a = parseRefSeqAccessorFromString( seq.getGeneName() );\r
+ }\r
+ if ( ForesterUtil.isEmpty( a ) && !ForesterUtil.isEmpty( seq.getName() ) ) {\r
+ a = parseRefSeqAccessorFromString( seq.getName() );\r
+ }\r
+ if ( ForesterUtil.isEmpty( a ) && ( n.getNodeData().getSequence().getAccession() != null )\r
+ && !ForesterUtil.isEmpty( seq.getAccession().getValue() ) ) {\r
+ a = parseRefSeqAccessorFromString( seq.getAccession().getValue() );\r
+ }\r