JAL-715
authorjprocter <Jim Procter>
Fri, 17 Dec 2010 16:53:13 +0000 (16:53 +0000)
committerjprocter <Jim Procter>
Fri, 17 Dec 2010 16:53:13 +0000 (16:53 +0000)
src/jalview/io/packed/JalviewDataset.java
src/jalview/ws/rest/RestJob.java

index 1972189..5e5c446 100644 (file)
@@ -69,8 +69,8 @@ public class JalviewDataset
    */
   List<AlignmentSet> al;
   public class AlignmentSet {
-    AlignmentI al;
-    List<jalview.io.NewickFile> trees;
+    public AlignmentI al;
+    public List<jalview.io.NewickFile> trees;
     AlignmentSet(AlignmentI a) {
       al = a;
       trees = new ArrayList<jalview.io.NewickFile>();
index 7987cab..445c249 100644 (file)
@@ -130,7 +130,7 @@ public class RestJob extends AWsJob
       validInput = false;
     }
   }
-
+  
   boolean validInput = false;
 
   @Override
@@ -410,4 +410,30 @@ public class RestJob extends AWsJob
     return contextAl!=null && validJvresults && context.getAl().get(0).isModified();
   }
 
+  /**
+   * 
+   * @return true if the ID/metadata for the input sequences were saved and sequence IDs renamed.
+   */
+  public boolean isInputUniquified()
+  {
+    // TODO Auto-generated method stub
+    return false;
+  }
+
+  /**
+   * Return map between ordering of alignment submitted as input, and ordering of alignment as provided by user
+   * @return int[sequence index in submitted data]==sequence index in input.
+   */
+  public int[] getOrderMap()
+  {
+    SequenceI[] contseq = contextAl.getSequencesArray();
+    int map[] = new int[contseq.length];
+    for (int i=0;i<contseq.length;i++)
+    {
+      // TODO: optimise for large N - build a lookup hash for IDs returning order, and then lookup each sequ's original order
+      map[i] = inputOrder.getOrder().indexOf(contseq[i]);
+    }
+    return map;
+  }
+
 }