JAL-3143 'id' not 'ID' attribute drives generation of variant link
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Fri, 18 Jan 2019 09:59:45 +0000 (09:59 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Fri, 18 Jan 2019 09:59:45 +0000 (09:59 +0000)
src/jalview/analysis/AlignmentUtils.java
src/jalview/ext/ensembl/EnsemblSequenceFetcher.java

index d1217bf..0dfd383 100644 (file)
@@ -74,12 +74,15 @@ import java.util.TreeMap;
  */
 public class AlignmentUtils
 {
-
   private static final int CODON_LENGTH = 3;
 
   private static final String SEQUENCE_VARIANT = "sequence_variant:";
 
-  private static final String ID = "ID";
+  /*
+   * the 'id' attribute is provided for variant features fetched from
+   * Ensembl using its REST service with JSON format 
+   */
+  public static final String VARIANT_ID = "id";
 
   /**
    * A data model to hold the 'normal' base value at a position, and an optional
@@ -2575,15 +2578,15 @@ public class AlignmentUtils
             peptidePos, var.getSource());
 
     StringBuilder attributes = new StringBuilder(32);
-    String id = (String) var.variant.getValue(ID);
+    String id = (String) var.variant.getValue(VARIANT_ID);
     if (id != null)
     {
       if (id.startsWith(SEQUENCE_VARIANT))
       {
         id = id.substring(SEQUENCE_VARIANT.length());
       }
-      sf.setValue(ID, id);
-      attributes.append(ID).append("=").append(id);
+      sf.setValue(VARIANT_ID, id);
+      attributes.append(VARIANT_ID).append("=").append(id);
       // TODO handle other species variants JAL-2064
       StringBuilder link = new StringBuilder(32);
       try
index 9e3fef4..4da0e3c 100644 (file)
@@ -20,6 +20,7 @@
  */
 package jalview.ext.ensembl;
 
+import jalview.analysis.AlignmentUtils;
 import jalview.bin.Cache;
 import jalview.datamodel.DBRefSource;
 import jalview.ws.seqfetcher.DbSourceProxyImpl;
@@ -64,7 +65,7 @@ abstract class EnsemblSequenceFetcher extends DbSourceProxyImpl
 
   protected static final String PARENT = "Parent";
 
-  protected static final String JSON_ID = "id";
+  protected static final String JSON_ID = AlignmentUtils.VARIANT_ID; // "id";
 
   protected static final String OBJECT_TYPE = "object_type";