+ case DOMAINS_ALL:
+ case DOMAINS_COLLAPSED_PER_PROTEIN:
+ if ( n.getNodeData().isHasSequence()
+ && ( n.getNodeData().getSequence().getDomainArchitecture() != null ) ) {
+ final DomainArchitecture da = n.getNodeData().getSequence().getDomainArchitecture();
+ final Set<String> s = new HashSet<String>();
+ for( int i = 0; i < da.getDomains().size(); ++i ) {
+ final ProteinDomain d = da.getDomain( i );
+ if ( d.getConfidence() <= Math.pow( 10, getDomainStructureEvalueThresholdExp() ) ) {
+ final String name = d.getName();
+ if ( !( s.contains( name ) ) ) {
+ data.add( name );
+ if ( getOptions().getExtDescNodeDataToReturn() == NodeDataField.DOMAINS_COLLAPSED_PER_PROTEIN ) {
+ s.add( name );
+ }
+ }
+ }
+ }
+ }
+ break;
+ case SEQ_ANNOTATIONS:
+ if ( n.getNodeData().isHasSequence() ) {
+ if ( n.getNodeData().isHasSequence()
+ && ( n.getNodeData().getSequence().getAnnotations() != null ) ) {
+ final SortedSet<Annotation> a = n.getNodeData().getSequence().getAnnotations();
+ for( int i = 0; i < a.size(); ++i ) {
+ data.add( n.getNodeData().getSequence().getAnnotation( i ).toString() );
+ }
+ }
+ }
+ break;
+ case GO_TERM_IDS:
+ if ( n.getNodeData().isHasSequence() ) {
+ if ( n.getNodeData().isHasSequence()
+ && ( n.getNodeData().getSequence().getAnnotations() != null ) ) {
+ final SortedSet<Annotation> a = n.getNodeData().getSequence().getAnnotations();
+ for( int i = 0; i < a.size(); ++i ) {
+ final Annotation ann = n.getNodeData().getSequence().getAnnotation( i );
+ final String ref = ann.getRef();
+ if ( ref.toUpperCase().startsWith( "GO:" ) ) {
+ data.add( ref );
+ }
+ }
+ }
+ }
+ break;