package au.com.acpfg.misc.picr; import java.util.ArrayList; import java.util.List; import org.knime.core.data.StringValue; import org.knime.core.node.defaultnodesettings.DefaultNodeSettingsPane; import org.knime.core.node.defaultnodesettings.DialogComponentBoolean; import org.knime.core.node.defaultnodesettings.DialogComponentColumnNameSelection; import org.knime.core.node.defaultnodesettings.DialogComponentStringListSelection; import org.knime.core.node.defaultnodesettings.DialogComponentStringSelection; import org.knime.core.node.defaultnodesettings.SettingsModelBoolean; import org.knime.core.node.defaultnodesettings.SettingsModelString; import org.knime.core.node.defaultnodesettings.SettingsModelStringArray; /** * <code>NodeDialog</code> for the "PICRAccessor" Node. * Provides access to the Protein Identifier Cross Reference (PICR) web service at EBI * * This node dialog derives from {@link DefaultNodeSettingsPane} which allows * creation of a simple dialog with standard components. If you need a more * complex dialog please derive directly from * {@link org.knime.core.node.NodeDialogPane}. * * @author Andrew Cassin */ public class PICRAccessorNodeDialog extends DefaultNodeSettingsPane { private static List<String> databases; /** * New pane for configuring PICRAccessor node dialog. * This is just a suggestion to demonstrate possible default dialog * components. */ protected PICRAccessorNodeDialog() { super(); if (databases == null || databases.size() == 0) { databases = PICRAccessorNodeModel.load_databases(); } addDialogComponent(new DialogComponentColumnNameSelection(new SettingsModelString(PICRAccessorNodeModel.CFGKEY_ACCSNS, "Accessions"), "Accessions", 0, true, false, StringValue.class)); addDialogComponent(new DialogComponentStringListSelection(new SettingsModelStringArray(PICRAccessorNodeModel.CFGKEY_DB, new String[] {"SwissProt"}), "Databases to map to:", databases.toArray(new String[0]))); List<String> taxon_list = new ArrayList<String>(); taxon_list.add("Any species"); taxon_list.add("3702 Arabidopsis thaliana"); taxon_list.add("9313 Bos Taurus"); taxon_list.add("6239 Caenorhabditis elegans"); taxon_list.add("3055 Chlamydomonas reinhardtii"); taxon_list.add("7955 Danio rerio"); taxon_list.add("44689 Dictyostelium discoideum"); taxon_list.add("7227 Drosophila melanogaster"); taxon_list.add("562 Escherichia coli"); taxon_list.add("11103 Hepatitis C virus"); taxon_list.add("9606 Homo Sapiens"); taxon_list.add("148305 Magnaporthe grisea"); taxon_list.add("10090 Mus musculus"); taxon_list.add("2104 Mycoplasma pneumoniae"); taxon_list.add("5141 Neurospora crassa"); taxon_list.add("4530 Oryza sativa"); taxon_list.add("5833 Plasmodium falciparum"); taxon_list.add("4754 Pneumocystis carinii"); taxon_list.add("10116 Rattus norvegicus"); taxon_list.add("4932 Saccharomyces cerevisiae"); taxon_list.add("4896 Schizosaccharomyces pombe"); taxon_list.add("31033 Takifugu rubripes"); taxon_list.add("8355 Xenopus laevis"); taxon_list.add("4577 Zea mays"); addDialogComponent(new DialogComponentStringSelection(new SettingsModelString(PICRAccessorNodeModel.CFGKEY_TAXON, "9606 Homo Sapiens"), "NCBI Taxonomy ID", taxon_list, true)); addDialogComponent(new DialogComponentBoolean(new SettingsModelBoolean(PICRAccessorNodeModel.CFGKEY_ACTIVE_ONLY, true), "Active only?")); } }