@Override public PhylogenyData copy() { final List<PhylogenyData> domains = new ArrayList<PhylogenyData>( getDomains().size() ); for( int i = 0; i < getDomains().size(); ++i ) { domains.add( getDomain( i ).copy() ); } return new DomainArchitecture( domains, getTotalLength() ); }
@Override public StringBuffer asSimpleText() { return _domain_structure.asSimpleText(); }
@Override public StringBuffer asText() { final StringBuffer sb = new StringBuffer(); for( int i = 0; i < getDomains().size(); ++i ) { if ( i > 0 ) { sb.append( "~" ); } sb.append( getDomain( i ).asText() ); } return sb; }
domains0.add( d3 ); domains0.add( d1 ); final DomainArchitecture ds0 = new DomainArchitecture( domains0, 110 ); if ( ds0.getNumberOfDomains() != 4 ) { return false; final DomainArchitecture ds1 = ( DomainArchitecture ) ds0.copy(); if ( !ds0.isEqual( ds0 ) ) { return false; if ( !ds0.isEqual( ds1 ) ) { return false; if ( ds1.getNumberOfDomains() != 4 ) { return false; domains1.add( d4 ); domains1.add( d0 ); final DomainArchitecture ds2 = new DomainArchitecture( domains1, 200 ); if ( ds0.isEqual( ds2 ) ) { return false; ds1.asSimpleText(); ds1.asText(); ds1.toNHX(); final DomainArchitecture ds3 = new DomainArchitecture( "120>30>40>0.9>b>50>60>0.4>c>10>20>0.1>a" ); if ( !ds3.toNHX().toString().equals( ":DS=120>10>20>0.1>a>30>40>0.9>b>50>60>0.4>c" ) ) { System.out.println( ds3.toNHX() ); return false;
@Override public void toPhyloXML( final Writer writer, final int level, final String indentation ) throws IOException { writer.write( ForesterUtil.LINE_SEPARATOR ); writer.write( indentation ); PhylogenyDataUtil.appendOpen( writer, PhyloXmlMapping.SEQUENCE_DOMAIN_ARCHITECURE, PhyloXmlMapping.SEQUENCE_DOMAIN_ARCHITECTURE_LENGTH, getTotalLength() + "" ); if ( getDomains() != null ) { final String ind = indentation + PhylogenyWriter.PHYLO_XML_INTENDATION_BASE; for( int i = 0; i < getDomains().size(); ++i ) { getDomain( i ).toPhyloXML( writer, level, ind ); } } writer.write( ForesterUtil.LINE_SEPARATOR ); writer.write( indentation ); PhylogenyDataUtil.appendClose( writer, PhyloXmlMapping.SEQUENCE_DOMAIN_ARCHITECURE ); }
@Override public DomainArchitecture parse( final XmlElement element ) throws PhyloXmlDataFormatException { final DomainArchitecture architecure = new DomainArchitecture(); if ( !element.isHasAttribute( PhyloXmlMapping.SEQUENCE_DOMAIN_ARCHITECTURE_LENGTH ) ) { throw new PhyloXmlDataFormatException( PhyloXmlMapping.SEQUENCE_DOMAIN_ARCHITECTURE_LENGTH + " attribute is required for domain architecture" ); } final String lenght_str = element.getAttribute( PhyloXmlMapping.SEQUENCE_DOMAIN_ARCHITECTURE_LENGTH ); try { architecure.setTotalLength( Integer.parseInt( lenght_str ) ); } catch ( final NumberFormatException e ) { throw new PhyloXmlDataFormatException( "could not extract domain architecture length from [" + lenght_str + "]: " + e.getMessage() ); } for( int i = 0; i < element.getNumberOfChildElements(); ++i ) { final XmlElement child_element = element.getChildElement( i ); if ( child_element.getQualifiedName().equals( PhyloXmlMapping.SEQUENCE_DOMAIN_ARCHITECTURE_DOMAIN ) ) { architecure.addDomain( ( ProteinDomain ) ProteinDomainParser.getInstance().parse( child_element ) ); } } return architecure; }
&& ( node.getNodeData().getSequence().getDomainArchitecture() != null ) ) { final DomainArchitecture da = node.getNodeData().getSequence().getDomainArchitecture(); I: for( int i = 0; i < da.getNumberOfDomains(); ++i ) { if ( ( da.getDomain( i ).getConfidence() <= domains_confidence_threshold ) && match( da.getDomain( i ).getName(), query, case_sensitive, partial, false ) ) { match = true; break I;
return false; if ( t3_rt.getNode( "node bc" ).getNodeData().getSequence().getDomainArchitecture().getTotalLength() != 124 ) { return false; if ( !t3_rt.getNode( "node bc" ).getNodeData().getSequence().getDomainArchitecture().getDomain( 0 ) .getName().equals( "B" ) ) { return false; if ( t3_rt.getNode( "node bc" ).getNodeData().getSequence().getDomainArchitecture().getDomain( 0 ) .getFrom() != 21 ) { return false; if ( t3_rt.getNode( "node bc" ).getNodeData().getSequence().getDomainArchitecture().getDomain( 0 ).getTo() != 44 ) { return false; if ( t3_rt.getNode( "node bc" ).getNodeData().getSequence().getDomainArchitecture().getDomain( 0 ) .getLength() != 24 ) { return false; if ( t3_rt.getNode( "node bc" ).getNodeData().getSequence().getDomainArchitecture().getDomain( 0 ) .getConfidence() != 0 ) { return false; if ( !t3_rt.getNode( "node bc" ).getNodeData().getSequence().getDomainArchitecture().getDomain( 0 ).getId() .equals( "pfam" ) ) { return false;
@Override public int getTotalLength() { return _domain_structure.getTotalLength(); }
@Override public StringBuffer asText() { return _domain_structure.asText(); }
@Override public PhylogenyData copy() { return _domain_structure.copy(); }
@Override public ProteinDomain getDomain( final int i ) { return _domain_structure.getDomain( i ); }
@Override public int getNumberOfDomains() { return _domain_structure.getNumberOfDomains(); }
@Override public SortedMap<BigDecimal, ProteinDomain> getDomains() { return _domain_structure.getDomains(); }
public DomainArchitecture() { init(); }
.setDomainArchitecture( new DomainArchitecture( new_value ) ); break; case TAXONOMY_CODE:
@Override public StringBuffer toNHX() { final StringBuffer sb = new StringBuffer(); sb.append( ":" ); sb.append( NHXtags.DOMAIN_STRUCTURE ); sb.append( getTotalLength() ); if ( getDomains() != null ) { for( int i = 0; i < getDomains().size(); ++i ) { sb.append( DomainArchitecture.NHX_SEPARATOR ); sb.append( getDomain( i ).getFrom() ); sb.append( DomainArchitecture.NHX_SEPARATOR ); sb.append( getDomain( i ).getTo() ); sb.append( DomainArchitecture.NHX_SEPARATOR ); sb.append( getDomain( i ).getConfidence() ); sb.append( DomainArchitecture.NHX_SEPARATOR ); sb.append( ForesterUtil.replaceIllegalNhxCharacters( getDomain( i ).getName() ) ); } } return sb; }
@Override public StringBuffer asSimpleText() { final StringBuffer sb = new StringBuffer(); for( int i = 0; i < getDomains().size(); ++i ) { if ( i > 0 ) { sb.append( "~" ); } sb.append( getDomain( i ).asSimpleText() ); } return sb; }
&& ( node.getNodeData().getSequence().getDomainArchitecture() != null ) ) { final DomainArchitecture da = node.getNodeData().getSequence().getDomainArchitecture(); I: for( int i = 0; i < da.getNumberOfDomains(); ++i ) { if ( ( da.getDomain( i ).getConfidence() <= domains_confidence_threshold ) && ( match( da.getDomain( i ).getName(), my_query, case_sensitive, partial, regex ) ) ) { match = true; break I;