From f20232461caa4ebc36f00bdae6601718f355b2b1 Mon Sep 17 00:00:00 2001 From: tcarver <tjc> Date: Fri, 15 Jun 2012 09:41:20 +0100 Subject: [PATCH] use mitochondrialTranslationTable in chado organismprop --- .../components/database/DatabaseJPanel.java | 13 ++++++- .../components/database/DatabaseTreeNode.java | 38 ++++++++++++------- 2 files changed, 36 insertions(+), 15 deletions(-) diff --git a/uk/ac/sanger/artemis/components/database/DatabaseJPanel.java b/uk/ac/sanger/artemis/components/database/DatabaseJPanel.java index 278ffee91..fa3de918c 100644 --- a/uk/ac/sanger/artemis/components/database/DatabaseJPanel.java +++ b/uk/ac/sanger/artemis/components/database/DatabaseJPanel.java @@ -183,7 +183,12 @@ public class DatabaseJPanel extends JPanel final String id = seq_node.getFeatureId(); if(id != null) { - boolean readOnly = DatabaseTreeNode.setOrganismProps(seq_node.getOrganism().getOrganismProps()); + boolean isMitochondrial = false; + if(seq_node.getFeatureType() != null && + seq_node.getFeatureType().startsWith("mitochondrial_")) + isMitochondrial = true; + boolean readOnly = DatabaseTreeNode.setOrganismProps( + seq_node.getOrganism().getOrganismProps(), isMitochondrial); getEntryEditFromDatabase(id, entry_source, tree, status_line, stream_progress_listener, splitGFFEntry, splash_main, @@ -276,7 +281,11 @@ public class DatabaseJPanel extends JPanel f = it.next().getFeatureBySrcFeatureId(); } - boolean readOnly = DatabaseTreeNode.setOrganismProps(f.getOrganism().getOrganismProps()); + boolean isMitochondrial = false; + if(f.getCvTerm().getName().startsWith("mitochondrial_")) + isMitochondrial = true; + boolean readOnly = DatabaseTreeNode.setOrganismProps( + f.getOrganism().getOrganismProps(), isMitochondrial); // warn when opening duplicate entries at the same time if(opening.contains(f.getUniqueName())) { diff --git a/uk/ac/sanger/artemis/components/database/DatabaseTreeNode.java b/uk/ac/sanger/artemis/components/database/DatabaseTreeNode.java index 567bc4f73..5a576b544 100644 --- a/uk/ac/sanger/artemis/components/database/DatabaseTreeNode.java +++ b/uk/ac/sanger/artemis/components/database/DatabaseTreeNode.java @@ -52,9 +52,7 @@ import java.util.List; import java.util.Set; /** -* * File node for local file tree manager -* */ public class DatabaseTreeNode extends DefaultMutableTreeNode implements Transferable, Serializable @@ -68,6 +66,7 @@ public class DatabaseTreeNode extends DefaultMutableTreeNode { DATABASETREENODE, DataFlavor.stringFlavor }; private String featureId; + private String featureType; // e.g. chromosome, mitochondrial_chromosome private transient Organism organism; private String organismCommonName; private boolean isLeaf = false; @@ -75,12 +74,12 @@ public class DatabaseTreeNode extends DefaultMutableTreeNode private static transient DatabaseDocument dbDoc; private boolean explored = false; - public DatabaseTreeNode(final String name) + protected DatabaseTreeNode(final String name) { super(name); } - public DatabaseTreeNode(final String name, + private DatabaseTreeNode(final String name, final boolean isLeaf) { super(name); @@ -95,7 +94,7 @@ public class DatabaseTreeNode extends DefaultMutableTreeNode * @param userName * @param dbDoc */ - public DatabaseTreeNode(final String name, + protected DatabaseTreeNode(final String name, final boolean isLeaf, final Organism organism, final String userName, @@ -116,14 +115,16 @@ public class DatabaseTreeNode extends DefaultMutableTreeNode * @param featureId * @param userName */ - public DatabaseTreeNode(final String name, + private DatabaseTreeNode(final String name, final Organism organism, final String featureId, + final String featureType, final String userName) { super(name); this.organism = organism; this.featureId = featureId; + this.featureType = featureType; this.userName = userName; if(getOrganism() != null) setOrganismCommonName(); @@ -147,7 +148,7 @@ public class DatabaseTreeNode extends DefaultMutableTreeNode * @param op * @return */ - public static boolean setOrganismProps(Set<OrganismProp> op) + public static boolean setOrganismProps(Set<OrganismProp> op, final boolean isMitochondrial) { Splash splash = getSplash(); boolean readOnly = false; @@ -155,9 +156,14 @@ public class DatabaseTreeNode extends DefaultMutableTreeNode while (it.hasNext()) { OrganismProp organismProp = it.next(); - if(splash != null && - organismProp.getCvTerm().getName().equals("translationTable")) - splash.setTranslationTable(organismProp.getValue()); + if(splash != null) + { + if( (isMitochondrial && + organismProp.getCvTerm().getName().equals("mitochondrialTranslationTable")) || + (!isMitochondrial && + organismProp.getCvTerm().getName().equals("translationTable"))) + splash.setTranslationTable(organismProp.getValue()); + } if(organismProp.getCvTerm().getName().equals("frozen") && organismProp.getValue().equals("yes")) @@ -211,7 +217,9 @@ public class DatabaseTreeNode extends DefaultMutableTreeNode typeNode = (DatabaseTreeNode) sequenceNode.get(f.getCvTerm().getName()); DatabaseTreeNode seqNode = new DatabaseTreeNode( - f.getUniqueName(), getOrganism(), Integer.toString(f.getFeatureId()), getUserName()); + f.getUniqueName(), getOrganism(), + Integer.toString(f.getFeatureId()), + f.getCvTerm().getName(), getUserName()); seqNode.isLeaf = true; typeNode.add(seqNode); @@ -266,7 +274,7 @@ public class DatabaseTreeNode extends DefaultMutableTreeNode if(d.equals(DATABASETREENODE)) return new DatabaseTreeNode((String)getUserObject(), organism, - getFeatureId(), getUserName()); + getFeatureId(), getFeatureType(), getUserName()); else if(d.equals(DataFlavor.stringFlavor)) { String name = getOrganism().getCommonName(); @@ -277,11 +285,15 @@ public class DatabaseTreeNode extends DefaultMutableTreeNode else throw new UnsupportedFlavorException(d); } - public String getFeatureId() { return featureId; } + + public String getFeatureType() + { + return featureType; + } protected void setDbDoc(DatabaseDocument dbDoc) { -- GitLab