diff --git a/uk/ac/sanger/artemis/components/genebuilder/GeneViewerPanel.java b/uk/ac/sanger/artemis/components/genebuilder/GeneViewerPanel.java index 7dd6807b24c73a70cdcdf6d5a2116b2f62ff161c..e8b6b423e8915dd54343c0254381da2e5a4639a5 100644 --- a/uk/ac/sanger/artemis/components/genebuilder/GeneViewerPanel.java +++ b/uk/ac/sanger/artemis/components/genebuilder/GeneViewerPanel.java @@ -20,7 +20,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/genebuilder/GeneViewerPanel.java,v 1.39 2007-03-28 09:17:14 tjc Exp $ + * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/genebuilder/GeneViewerPanel.java,v 1.40 2007-03-29 08:34:38 tjc Exp $ */ package uk.ac.sanger.artemis.components.genebuilder; @@ -303,13 +303,13 @@ public class GeneViewerPanel extends JPanel if(last_cursor_position == null) return; Feature transcript = getTranscriptAt(last_cursor_position); - String uniquename = getQualifier(transcript, "ID"); + String transcriptName = getQualifier(transcript, "ID"); Range range_selected = selection.getSelectionRange(); try { - addFeature(range_selected, uniquename, + addFeature(range_selected, transcriptName, null, transcript.getLocation().isComplement(), true); } catch(OutOfRangeException e) @@ -329,12 +329,13 @@ public class GeneViewerPanel extends JPanel if(last_cursor_position == null) return; Feature transcript = getTranscriptAt(last_cursor_position); - String uniquename = getQualifier(transcript, "ID"); + String transcriptName = getQualifier(transcript, "ID"); Range range_selected = selection.getSelectionRange(); + String pepName = chado_gene.autoGeneratePepName(transcriptName); try { - addFeature(range_selected, uniquename, + addFeature(range_selected, transcriptName, pepName, transcript.getLocation().isComplement(), false); } catch(OutOfRangeException e) @@ -1286,7 +1287,8 @@ public class GeneViewerPanel extends JPanel private void addFeature(Range range, - final String transcript_name, + final String transcriptName, + String featureName, final boolean isComplement, final boolean isParent) throws OutOfRangeException @@ -1300,27 +1302,30 @@ public class GeneViewerPanel extends JPanel return; } - String uniqueName = JOptionPane.showInputDialog(null, + if(featureName == null) + { + featureName = JOptionPane.showInputDialog(null, "Provide a feature unique name : ", "Provide a feature unique name ", JOptionPane.QUESTION_MESSAGE); - if(uniqueName == null) - return; + if(featureName == null) + return; + } QualifierVector qualifiers = new QualifierVector(); - qualifiers.add(new Qualifier("ID", uniqueName.trim())); + qualifiers.add(new Qualifier("ID", featureName.trim())); final Key key; if(isParent) { key = new Key("region"); - qualifiers.add(new Qualifier("Parent", transcript_name)); + qualifiers.add(new Qualifier("Parent", transcriptName)); } else { key = new Key("polypeptide"); - qualifiers.add(new Qualifier("Derives_from", transcript_name)); + qualifiers.add(new Qualifier("Derives_from", transcriptName)); } //final Entry default_entry = entry_group.getDefaultEntry(); @@ -1333,10 +1338,10 @@ public class GeneViewerPanel extends JPanel qualifiers); if(isParent) - chado_gene.addOtherFeatures(transcript_name, + chado_gene.addOtherFeatures(transcriptName, newFeature.getEmblFeature()); else - chado_gene.addProtein(transcript_name, + chado_gene.addProtein(transcriptName, newFeature.getEmblFeature()); }