import org.forester.phylogeny.PhylogenyNode;\r
import org.forester.phylogeny.PhylogenyNode.NH_CONVERSION_SUPPORT_VALUE_STYLE;\r
import org.forester.phylogeny.data.Confidence;\r
+import org.forester.phylogeny.data.Sequence;\r
import org.forester.phylogeny.data.Taxonomy;\r
import org.forester.phylogeny.factories.ParserBasedPhylogenyFactory;\r
import org.forester.phylogeny.factories.PhylogenyFactory;\r
import org.forester.phylogeny.iterators.PhylogenyNodeIterator;\r
-import org.forester.sequence.Sequence;\r
+import org.forester.sequence.MolecularSequence;\r
import org.forester.util.BasicDescriptiveStatistics;\r
import org.forester.util.BasicTable;\r
import org.forester.util.BasicTableParser;\r
private final static SequencesFileFilter seqsfilter = new SequencesFileFilter();\r
private final static DefaultFilter defaultfilter = new DefaultFilter();\r
private static final long serialVersionUID = -799735726778865234L;\r
+ private static final boolean PREPROCESS_TREES = false;\r
private final JFileChooser _values_filechooser;\r
private final JFileChooser _sequences_filechooser;\r
private final JFileChooser _open_filechooser;\r
private PhylogeneticInferenceOptions _phylogenetic_inference_options = null;\r
private Msa _msa = null;\r
private File _msa_file = null;\r
- private List<Sequence> _seqs = null;\r
+ private List<MolecularSequence> _seqs = null;\r
private File _seqs_file = null;\r
JMenuItem _read_values_jmi;\r
JMenuItem _read_seqs_jmi;\r
return _msa_file;\r
}\r
\r
- public List<Sequence> getSeqs() {\r
+ public List<MolecularSequence> getSeqs() {\r
return _seqs;\r
}\r
\r
if ( ( file != null ) && !file.isDirectory() && ( result == JFileChooser.APPROVE_OPTION ) ) {\r
setSeqsFile( null );\r
setSeqs( null );\r
- List<Sequence> seqs = null;\r
+ List<MolecularSequence> seqs = null;\r
try {\r
if ( FastaParser.isLikelyFasta( new FileInputStream( file ) ) ) {\r
seqs = FastaParser.parse( new FileInputStream( file ) );\r
- for( final Sequence seq : seqs ) {\r
+ for( final MolecularSequence seq : seqs ) {\r
System.out.println( SequenceWriter.toFasta( seq, 60 ) );\r
}\r
}\r
.createCurrentFontDesc( getMainPanel().getTreeFontSet() ) );\r
setTextForGraphicsSizeChooserMenuItem( _print_size_mi, getOptions() );\r
setTextForPdfLineWidthChooserMenuItem( _choose_pdf_width_mi, getOptions() );\r
- MainFrame.updateOptionsMenuDependingOnPhylogenyType( getMainPanel(),\r
- _show_scale_cbmi,\r
- _show_branch_length_values_cbmi,\r
- _non_lined_up_cladograms_rbmi,\r
- _uniform_cladograms_rbmi,\r
- _ext_node_dependent_cladogram_rbmi,\r
- _label_direction_cbmi );\r
MainFrame.setCycleNodeFillMenuItem( _cycle_node_fill_mi, getOptions() );\r
MainFrame.setCycleNodeShapeMenuItem( _cycle_node_shape_mi, getOptions() );\r
MainFrame.setTextNodeSizeMenuItem( _choose_node_size_mi, getOptions() );\r
+ try {\r
+ getMainPanel().getControlPanel().setVisibilityOfDomainStrucureCB();\r
+ getMainPanel().getControlPanel().setVisibilityOfX();\r
+ }\r
+ catch ( final Exception ignore ) {\r
+ // do nothing, not important.\r
+ }\r
}\r
} );\r
_options_jmenu.add( customizeMenuItemAsLabel( new JMenuItem( DISPLAY_SUBHEADER ), getConfiguration() ) );\r
_options_jmenu.add( _show_overview_cbmi = new JCheckBoxMenuItem( SHOW_OVERVIEW_LABEL ) );\r
_options_jmenu.add( _show_scale_cbmi = new JCheckBoxMenuItem( DISPLAY_SCALE_LABEL ) );\r
_options_jmenu\r
- .add( _show_branch_length_values_cbmi = new JCheckBoxMenuItem( DISPLAY_BRANCH_LENGTH_VALUES_LABEL ) );\r
- _options_jmenu\r
.add( _show_default_node_shapes_internal_cbmi = new JCheckBoxMenuItem( DISPLAY_NODE_BOXES_LABEL_INT ) );\r
_options_jmenu\r
.add( _show_default_node_shapes_external_cbmi = new JCheckBoxMenuItem( DISPLAY_NODE_BOXES_LABEL_EXT ) );\r
+ _options_jmenu.add( _line_up_renderable_data_cbmi = new JCheckBoxMenuItem( MainFrame.LINE_UP_RENDERABLE_DATA ) );\r
if ( getConfiguration().doDisplayOption( Configuration.show_domain_architectures ) ) {\r
- _options_jmenu.add( _show_domain_labels = new JCheckBoxMenuItem( SHOW_DOMAIN_LABELS_LABEL ) );\r
_options_jmenu.add( _right_line_up_domains_cbmi = new JCheckBoxMenuItem( MainFrame.RIGHT_LINE_UP_DOMAINS ) );\r
+ _options_jmenu.add( _show_domain_labels = new JCheckBoxMenuItem( MainFrame.SHOW_DOMAIN_LABELS_LABEL ) );\r
}\r
- _options_jmenu.add( _line_up_renderable_data_cbmi = new JCheckBoxMenuItem( MainFrame.LINE_UP_RENDERABLE_DATA ) );\r
_options_jmenu.add( _show_annotation_ref_source = new JCheckBoxMenuItem( SHOW_ANN_REF_SOURCE_LABEL ) );\r
_options_jmenu.add( _show_confidence_stddev_cbmi = new JCheckBoxMenuItem( SHOW_CONF_STDDEV_LABEL ) );\r
_options_jmenu.add( _color_by_taxonomic_group_cbmi = new JCheckBoxMenuItem( COLOR_BY_TAXONOMIC_GROUP ) );\r
getOptions().getCladogramType() == CLADOGRAM_TYPE.TOTAL_NODE_SUM_DEP );\r
customizeRadioButtonMenuItem( _ext_node_dependent_cladogram_rbmi,\r
getOptions().getCladogramType() == CLADOGRAM_TYPE.EXT_NODE_SUM_DEP );\r
- customizeCheckBoxMenuItem( _show_branch_length_values_cbmi, getOptions().isShowBranchLengthValues() );\r
customizeCheckBoxMenuItem( _show_overview_cbmi, getOptions().isShowOverview() );\r
customizeCheckBoxMenuItem( _label_direction_cbmi,\r
getOptions().getNodeLabelDirection() == NODE_LABEL_DIRECTION.RADIAL );\r
_msa_file = msa_file;\r
}\r
\r
- void setSeqs( final List<Sequence> seqs ) {\r
+ void setSeqs( final List<MolecularSequence> seqs ) {\r
_seqs = seqs;\r
}\r
\r
}\r
final int result = _sequences_filechooser.showOpenDialog( _contentpane );\r
final File file = _sequences_filechooser.getSelectedFile();\r
- List<Sequence> seqs = null;\r
+ List<MolecularSequence> seqs = null;\r
if ( ( file != null ) && !file.isDirectory() && ( result == JFileChooser.APPROVE_OPTION ) ) {\r
try {\r
if ( FastaParser.isLikelyFasta( new FileInputStream( file ) ) ) {\r
}\r
}\r
if ( seqs != null ) {\r
- for( final Sequence seq : seqs ) {\r
+ for( final MolecularSequence seq : seqs ) {\r
System.out.println( seq.getIdentifier() );\r
}\r
final Phylogeny phy = getCurrentTreePanel().getPhylogeny();\r
int total_counter = 0;\r
int attached_counter = 0;\r
- for( final Sequence seq : seqs ) {\r
+ for( final MolecularSequence seq : seqs ) {\r
++total_counter;\r
final String seq_name = seq.getIdentifier();\r
if ( !ForesterUtil.isEmpty( seq_name ) ) {\r
}\r
}\r
}\r
+ if ( PREPROCESS_TREES ) {\r
+ preProcessTreesUponReading( phys );\r
+ }\r
AptxUtil.addPhylogeniesToTabs( phys,\r
file.getName(),\r
file.getAbsolutePath(),\r
System.gc();\r
}\r
\r
+ private void preProcessTreesUponReading( final Phylogeny[] phys ) {\r
+ for( final Phylogeny phy : phys ) {\r
+ if ( ( phy != null ) && !phy.isEmpty() ) {\r
+ for( final PhylogenyNodeIterator it = phy.iteratorPreorder(); it.hasNext(); ) {\r
+ final PhylogenyNode n = it.next();\r
+ if ( n.isExternal() ) {\r
+ if ( n.getNodeData().isHasSequence() ) {\r
+ final Sequence s = n.getNodeData().getSequence();\r
+ if ( ForesterUtil.isEmpty( s.getGeneName() ) || s.getGeneName().startsWith( "LOC" ) ) {\r
+ if ( ( s.getAccession() != null )\r
+ && !ForesterUtil.isEmpty( s.getAccession().getValue() ) ) {\r
+ s.setGeneName( s.getAccession().getValue() );\r
+ }\r
+ else if ( !ForesterUtil.isEmpty( n.getName() ) ) {\r
+ s.setGeneName( n.getName() );\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
private void readSpeciesTreeFromFile() {\r
Phylogeny t = null;\r
boolean exception = false;\r