@Override public PhylogenyData copy() { final NodeData new_data = new NodeData(); new_data.setNodeName( getNodeName() ); if ( ( getSequences() != null ) && ( getSequences().size() > 0 ) ) { new_data.setSequences( new ArrayList<Sequence>() ); for( final Sequence s : getSequences() ) { if ( s != null ) { new_data.addSequence( ( Sequence ) s.copy() ); if ( isHasEvent() ) { new_data.setEvent( ( Event ) getEvent().copy() ); if ( ( getTaxonomies() != null ) && ( getTaxonomies().size() > 0 ) ) { new_data.setTaxonomies( new ArrayList<Taxonomy>() ); for( final Taxonomy t : getTaxonomies() ) { if ( t != null ) { new_data.addTaxonomy( ( Taxonomy ) t.copy() ); if ( isHasBinaryCharacters() ) { new_data.setBinaryCharacters( ( BinaryCharacters ) getBinaryCharacters().copy() ); if ( ( getReferences() != null ) && ( getReferences().size() > 0 ) ) { new_data.setReferences( new ArrayList<Reference>() ); for( final Reference r : getReferences() ) { if ( r != null ) { new_data.addReference( ( Reference ) r.copy() ); if ( ( getDistributions() != null ) && ( getDistributions().size() > 0 ) ) { new_data.setDistributions( new ArrayList<Distribution>() );
private void createNodes( final DefaultMutableTreeNode top, final PhylogenyNode phylogeny_node ) { if ( !phylogeny_node.getNodeData().isHasTaxonomy() ) { phylogeny_node.getNodeData().addTaxonomy( new Taxonomy() ); } if ( !phylogeny_node.getNodeData().isHasSequence() ) { phylogeny_node.getNodeData().addSequence( new Sequence() ); } if ( !phylogeny_node.getNodeData().isHasDistribution() ) { phylogeny_node.getNodeData().addDistribution( new Distribution( "" ) ); } if ( !phylogeny_node.getNodeData().isHasReference() ) { phylogeny_node.getNodeData().addReference( new Reference( "" ) ); } addBasics( top, phylogeny_node, NodePanel.BASIC ); addTaxonomy( top, phylogeny_node.getNodeData().getTaxonomy(), NodePanel.TAXONOMY ); addSequence( top, phylogeny_node.getNodeData().getSequence(), NodePanel.SEQUENCE ); if ( !phylogeny_node.isExternal() ) { addEvents( top, phylogeny_node.getNodeData().getEvent(), NodePanel.EVENTS ); } addDate( top, phylogeny_node.getNodeData().getDate(), NodePanel.DATE ); addDistribution( top, phylogeny_node.getNodeData().getDistribution(), NodePanel.DISTRIBUTION ); addReference( top, phylogeny_node.getNodeData().getReference(), NodePanel.LIT_REFERENCE ); // addProperties( top, phylogeny_node.getNodeData().getProperties(), "Properties" ); }
public boolean isHasDistribution() { return ( ( ( getDistributions() != null ) && ( getDistributions().size() > 0 ) ) && ( ( !ForesterUtil .isEmpty( getDistribution().getDesc() ) ) || ( ( getDistribution().getPoints() != null ) && ( getDistribution().getPoints().size() > 0 ) ) || ( ( getDistribution() .getPolygons() != null ) && ( getDistribution().getPolygons().size() > 0 ) ) ) ); }
@Override public void toPhyloXML( final Writer writer, final int level, final String indentation ) throws IOException { if ( isHasTaxonomy() ) { for( final Taxonomy t : getTaxonomies() ) { if ( !t.isEmpty() ) { t.toPhyloXML( writer, level, indentation ); if ( isHasSequence() ) { for( final Sequence s : getSequences() ) { if ( !s.isEmpty() ) { s.toPhyloXML( writer, level, indentation ); if ( isHasEvent() ) { getEvent().toPhyloXML( writer, level, indentation ); if ( isHasBinaryCharacters() ) { getBinaryCharacters().toPhyloXML( writer, level, indentation ); if ( isHasDistribution() ) { for( final Distribution d : getDistributions() ) { d.toPhyloXML( writer, level, indentation ); if ( isHasDate() ) { getDate().toPhyloXML( writer, level, indentation ); if ( isHasReference() ) { for( final Reference r : getReferences() ) { r.toPhyloXML( writer, level, indentation ); if ( isHasProperties() ) {
private static void createNodes( final DefaultMutableTreeNode top, final PhylogenyNode phylogeny_node ) { addBasics( top, phylogeny_node, BASIC ); if ( phylogeny_node.getNodeData().isHasTaxonomy() ) { addTaxonomy( top, phylogeny_node.getNodeData().getTaxonomy(), TAXONOMY ); if ( phylogeny_node.getNodeData().isHasSequence() ) { addSequence( top, phylogeny_node.getNodeData().getSequence(), SEQUENCE ); if ( phylogeny_node.getNodeData().isHasEvent() ) { addEvents( top, phylogeny_node.getNodeData().getEvent(), EVENTS ); if ( phylogeny_node.getNodeData().isHasDate() ) { addDate( top, phylogeny_node.getNodeData().getDate(), DATE ); if ( phylogeny_node.getNodeData().isHasDistribution() ) { addDistribution( top, phylogeny_node.getNodeData().getDistribution(), DISTRIBUTION ); if ( phylogeny_node.getNodeData().isHasReference() ) { addReference( top, phylogeny_node.getNodeData().getReference(), LIT_REFERENCE ); if ( phylogeny_node.getNodeData().isHasBinaryCharacters() ) { addBinaryCharacters( top, phylogeny_node.getNodeData().getBinaryCharacters(), BINARY_CHARACTERS ); if ( phylogeny_node.getNodeData().isHasProperties() ) { addProperties( top, phylogeny_node.getNodeData().getProperties(), PROP );
if ( node.getNodeData().isHasTaxonomy() ) { nodeTaxonomyDataAsSB( node.getNodeData().getTaxonomy(), sb ); sum = getFontMetrics( g.getFont() ).stringWidth( sb.toString() ); if ( getControlPanel().isShowBinaryCharacters() && node.getNodeData().isHasBinaryCharacters() ) { sum += getFontMetricsForLargeDefaultFont().stringWidth( node.getNodeData().getBinaryCharacters() .getGainedCharactersAsStringBuffer().toString() ); if ( getControlPanel().isShowVectorData() && ( node.getNodeData().getVector() != null ) && ( node.getNodeData().getVector().size() > 0 ) ) { if ( getConfiguration() != null ) { sum += getConfiguration().getVectorDataWidth() + 10; if ( getControlPanel().isShowDomainArchitectures() && node.getNodeData().isHasSequence() && ( node.getNodeData().getSequence().getDomainArchitecture() != null ) ) { final DomainArchitecture d = node.getNodeData().getSequence().getDomainArchitecture(); sum += ( ( _domain_structure_width / ( ( RenderableDomainArchitecture ) d ).getOriginalSize() .getWidth() ) * d.getTotalLength() ) + 10; if ( getControlPanel().isShowMolSequences() && ( node.getNodeData().isHasSequence() ) && ( node.getNodeData().getSequence().isMolecularSequenceAligned() ) && ( !ForesterUtil.isEmpty( node.getNodeData().getSequence().getMolecularSequence() ) ) ) {
node.getNodeData().addTaxonomy( ( Taxonomy ) TaxonomyParser.getInstance().parse( element ) ); node.getNodeData().addSequence( sequence ); node.getNodeData().addDistribution( ( Distribution ) DistributionParser.getInstance().parse( element ) ); node.getNodeData().setDate( ( Date ) DateParser.getInstance().parse( element ) ); node.getNodeData().addReference( ( Reference ) ReferenceParser.getInstance().parse( element ) ); node.getNodeData().setBinaryCharacters( ( BinaryCharacters ) BinaryCharactersParser.getInstance() .parse( element ) ); node.getNodeData().setEvent( ( Event ) EventParser.getInstance().parse( element ) ); if ( prop.getRef().startsWith( NodeVisualData.APTX_VISUALIZATION_REF ) && ( prop.getAppliesTo() == AppliesTo.NODE ) ) { if ( node.getNodeData().getNodeVisualData() == null ) { node.getNodeData().setNodeVisualData( new NodeVisualData() ); node.getNodeData().getNodeVisualData().parseProperty( prop ); if ( !node.getNodeData().isHasProperties() ) { node.getNodeData().setProperties( new PropertiesMap() ); node.getNodeData().getProperties().addProperty( prop );
ForesterUtil.ensurePresenceOfTaxonomy( getMyNode() ); try { getMyNode().getNodeData().getTaxonomy().setTaxonomyCode( value ); case TAXONOMY_SCIENTIFIC_NAME: ForesterUtil.ensurePresenceOfTaxonomy( getMyNode() ); getMyNode().getNodeData().getTaxonomy().setScientificName( value ); break; case TAXONOMY_COMMON_NAME: ForesterUtil.ensurePresenceOfTaxonomy( getMyNode() ); getMyNode().getNodeData().getTaxonomy().setCommonName( value ); break; case TAXONOMY_RANK: ForesterUtil.ensurePresenceOfTaxonomy( getMyNode() ); try { getMyNode().getNodeData().getTaxonomy().setRank( value.toLowerCase() ); case TAXONOMY_AUTHORITY: ForesterUtil.ensurePresenceOfTaxonomy( getMyNode() ); getMyNode().getNodeData().getTaxonomy().setAuthority( value ); break; case TAXONOMY_URI: { addUri( mtn, uri, number, getMyNode().getNodeData().getTaxonomy() ); break; if ( getMyNode().getNodeData().getTaxonomy().getSynonyms().size() < number ) { throw new FailedConditionCheckException();
final private void showNodeDataPopup( final MouseEvent e, final PhylogenyNode node ) { try { if ( ( node.getName().length() > 0 ) || ( node.getNodeData().isHasTaxonomy() && !TreePanelUtil.isTaxonomyEmpty( node.getNodeData() .getTaxonomy() ) ) || ( node.getNodeData().isHasSequence() && !TreePanelUtil.isSequenceEmpty( node.getNodeData() .getSequence() ) ) || ( node.getNodeData().isHasDate() ) || ( node.getNodeData().isHasDistribution() ) || node.getBranchData().isHasConfidences() ) { _popup_buffer.setLength( 0 ); short lines = 0; if ( node.getNodeData().isHasTaxonomy() && !TreePanelUtil.isTaxonomyEmpty( node.getNodeData().getTaxonomy() ) ) { lines++; boolean enc_data = false; final Taxonomy tax = node.getNodeData().getTaxonomy(); if ( _popup_buffer.length() > 0 ) { _popup_buffer.append( "\n" ); if ( node.getNodeData().isHasSequence() && !TreePanelUtil.isSequenceEmpty( node.getNodeData().getSequence() ) ) { lines++; boolean enc_data = false; final Sequence seq = node.getNodeData().getSequence(); if ( seq.getAccession() != null ) { _popup_buffer.append( "[" ); if ( node.getNodeData().isHasDate() ) { lines++;
final PhylogenyNode n = it.next(); if ( n.isExternal() ) { n.getNodeData().setEvent( null ); if ( !ForesterUtil.isEmpty( n.getName() ) ) { final Accession acc = SequenceAccessionTools.parseAccessorFromString( n.getName() ); if ( acc != null ) { if ( !n.getNodeData().isHasSequence() ) { n.getNodeData().addSequence( new Sequence() ); final Sequence s = n.getNodeData().getSequence(); if ( s.getAccession() == null ) { s.setAccession( acc ); if ( !n.getNodeData().isHasTaxonomy() ) { n.getNodeData().addTaxonomy( new Taxonomy() ); final Taxonomy t = n.getNodeData().getTaxonomy(); if ( ForesterUtil.isEmpty( t.getScientificName() ) ) { t.setScientificName( n.getName() ); if ( n.getNodeData().isHasTaxonomy() && ( n.getNodeData().getTaxonomy().getIdentifier() != null ) ) { n.getNodeData() .getTaxonomy() .setIdentifier( new Identifier( n.getNodeData().getTaxonomy().getIdentifier().getValue(), "ncbi" ) );
final Phylogeny[] phylogenies_t2 = factory.create( t2_sb, xml_parser ); final Phylogeny t2_rt = phylogenies_t2[ 0 ]; if ( t2_rt.getNode( "node a" ).getNodeData().getTaxonomies().size() != 2 ) { return false; if ( !t2_rt.getNode( "node a" ).getNodeData().getTaxonomy( 0 ).getCommonName().equals( "some parasite" ) ) { return false; if ( !t2_rt.getNode( "node a" ).getNodeData().getTaxonomy( 1 ).getCommonName().equals( "the host" ) ) { return false; if ( t2_rt.getNode( "node a" ).getNodeData().getSequences().size() != 2 ) { return false; if ( !t2_rt.getNode( "node a" ).getNodeData().getSequence( 0 ).getMolecularSequence() .startsWith( "actgtgggggt" ) ) { return false; if ( !t2_rt.getNode( "node a" ).getNodeData().getSequence( 1 ).getMolecularSequence() .startsWith( "ctgtgatgcat" ) ) { return false; if ( !t3_rt.getNode( "root node" ).getNodeData().getSequence().getType().equals( "protein" ) ) { return false; if ( !t3_rt.getNode( "root node" ).getNodeData().getSequence().getName() .equals( "Apoptosis facilitator Bcl-2-like 14 protein" ) ) { return false;
private final static void addSeqs2Tree( final Msa msa, final Phylogeny phy ) { for( int i = 0; i < msa.getNumberOfSequences(); ++i ) { final MolecularSequence seq = msa.getSequence( i ); final String seq_name = seq.getIdentifier(); final PhylogenyNode n = phy.getNode( seq_name ); if ( !n.getNodeData().isHasSequence() ) { n.getNodeData().addSequence( new org.forester.phylogeny.data.Sequence() ); } else { throw new IllegalArgumentException( "this should not have happened" ); } n.getNodeData().getSequence().setMolecularSequence( seq.getMolecularSequenceAsString() ); n.getNodeData().getSequence().setMolecularSequenceAligned( true ); n.getNodeData().getSequence().setName( seq_name ); } }
PhylogenyNode n = it.next(); String name = null; if ( n.getNodeData().isHasTaxonomy() && !ForesterUtil.isEmpty( n.getNodeData().getTaxonomy().getScientificName() ) ) { name = n.getNodeData().getTaxonomy().getScientificName(); lost_chars.addAll( n.getNodeData().getBinaryCharacters().getLostCharacters() ); n = n.getParent();
public boolean isHasBinaryCharacters() { return getBinaryCharacters() != null; }
Distribution d = null; n = t1.getNode( "root node" ); if ( !n.getNodeData().isHasDistribution() ) { return false; if ( n.getNodeData().getDistributions().size() != 1 ) { return false; d = n.getNodeData().getDistribution(); if ( !d.getDesc().equals( "Hirschweg 38" ) ) { return false; if ( !n.getNodeData().isHasDistribution() ) { return false; if ( n.getNodeData().getDistributions().size() != 2 ) { return false; d = n.getNodeData().getDistribution( 1 ); if ( !d.getDesc().equals( "San Diego" ) ) { return false; if ( !n.getNodeData().isHasDistribution() ) { return false; if ( n.getNodeData().getDistributions().size() != 1 ) { return false; d = n.getNodeData().getDistribution( 0 );
d1.getNodeData().addTaxonomy( t1 ); final Taxonomy t2 = new Taxonomy(); t2.setScientificName( "Monosiga brevicollis" ); d2.getNodeData().addTaxonomy( t2 ); d1.getNodeData().addSequence( s1 ); final Sequence s2 = new Sequence(); s2.setName( "Bcl-2" ); d2.getNodeData().addSequence( s2 ); root.getNodeData().setEvent( ev );
final QUERY_TYPE qt = null; Taxonomy tax = null; if ( node.getNodeData().isHasTaxonomy() ) { tax = node.getNodeData().getTaxonomy(); if ( tax == null ) { tax = new Taxonomy(); node.getNodeData().addTaxonomy( tax );
private List<Point> obtainPoints() { ForesterUtil.ensurePresenceOfDistribution( getMyNode() ); Distribution d = getMyNode().getNodeData().getDistribution(); if ( d.getPoints() == null ) { d = new Distribution( d.getDesc(), new ArrayList<Point>(), d.getPolygons() ); getMyNode().getNodeData().setDistribution( d ); } final List<Point> ps = d.getPoints(); if ( ps.isEmpty() ) { ps.add( new Point() ); } else if ( ps.get( 0 ) == null ) { ps.set( 0, new Point() ); } return ps; }
node.getNodeData().addSequence( ns );
/** * Convenience method -- always returns the first Distribution. * * @return Distribution */ public Distribution getDistribution() { return getDistribution( 0 ); }