+ case SEQUENCE_MOL_SEQ_FASTA:
+ final StringBuilder sb = new StringBuilder();
+ if ( n.getNodeData().isHasSequence()
+ && !ForesterUtil.isEmpty( n.getNodeData().getSequence().getMolecularSequence() ) ) {
+ final StringBuilder ann = new StringBuilder();
+ if ( !ForesterUtil.isEmpty( n.getName() ) ) {
+ ann.append( n.getName() );
+ ann.append( "|" );
+ }
+ if ( !ForesterUtil.isEmpty( n.getNodeData().getSequence().getSymbol() ) ) {
+ ann.append( "SYM=" );
+ ann.append( n.getNodeData().getSequence().getSymbol() );
+ ann.append( "|" );
+ }
+ if ( !ForesterUtil.isEmpty( n.getNodeData().getSequence().getName() ) ) {
+ ann.append( "NAME=" );
+ ann.append( n.getNodeData().getSequence().getName() );
+ ann.append( "|" );
+ }
+ if ( n.getNodeData().getSequence().getAccession() != null ) {
+ ann.append( "ACC=" );
+ ann.append( n.getNodeData().getSequence().getAccession().asText() );
+ ann.append( "|" );
+ }
+ if ( n.getNodeData().isHasTaxonomy() ) {
+ if ( !ForesterUtil.isEmpty( n.getNodeData().getTaxonomy().getTaxonomyCode() ) ) {
+ ann.append( "TAXID=" );
+ ann.append( n.getNodeData().getTaxonomy().getTaxonomyCode() );
+ ann.append( "|" );
+ }
+ if ( !ForesterUtil.isEmpty( n.getNodeData().getTaxonomy().getScientificName() ) ) {
+ ann.append( "SN=" );
+ ann.append( n.getNodeData().getTaxonomy().getScientificName() );
+ ann.append( "|" );
+ }
+ }
+ String ann_str = ann.toString().trim();
+ if ( ann_str.endsWith( "|" ) ) {
+ ann_str = ann_str.substring( 0, ann_str.length() - 1 );
+ }
+ sb.append( SequenceWriter.toFasta( ann_str, n.getNodeData().getSequence()
+ .getMolecularSequence(), 60 ) );
+ data.add( sb.toString() );
+ }
+ break;