From 8a552edf035871b5f30657158edcdef230a70f9d Mon Sep 17 00:00:00 2001
From: Graham McVicker <mcvicker@sanger.ac.uk>
Date: Wed, 16 Jul 2003 16:26:47 +0000
Subject: [PATCH] updated a few things

---
 docs/ensembl_changes_spec.txt | 60 ++++++++++++++++++++++-------------
 1 file changed, 38 insertions(+), 22 deletions(-)

diff --git a/docs/ensembl_changes_spec.txt b/docs/ensembl_changes_spec.txt
index 75ae7b7e5b..379af21f33 100644
--- a/docs/ensembl_changes_spec.txt
+++ b/docs/ensembl_changes_spec.txt
@@ -6,7 +6,6 @@ REVISION HISTORY
 
 Graham Mcvicker - July 9, 2003 - Created
 
-
 GOALS
 -----
 -A cleaner, more intuitive API
@@ -209,10 +208,10 @@ Slice
 
   The get_tiling_path method will have to be implemented differently for the
   new system.  It will take a coord_system string as an argument and rather than
-  returning a list of Tile objects it will return a listref of triplets containing
-  a start int, and end int, and a 'to' slice object.  The following is an example
-  of how this method would be used ($clone is a reference to a slice object in 
-  the clone coordinate system):
+  returning a list of Tile objects it will return a listref of triplets 
+  containing a start int, and end int, and a 'to' slice object.  The following 
+  is an example of how this method would be used ($clone is a reference to a 
+  slice object in the clone coordinate system):
 
     my $clone_path = $slice->get_tiling_path('clone');
 
@@ -254,9 +253,10 @@ RawContig
 
 RawContigAdaptor
 ----------------
-  The RawContigAdaptor is no longer necessary.  The RawContigAdaptor is replaced
-  by the SliceAdaptor.  For backwards compatibility a minimal implementation
-  of the RawContigAdaptor can remain which inherits from the SliceAdaptor.
+  The RawContigAdaptor is no longer necessary.  The RawContigAdaptor is 
+  replaced by the SliceAdaptor.  For backwards compatibility a minimal 
+  implementation of the RawContigAdaptor can remain which inherits from the 
+  SliceAdaptor.
 
 Clone
 -----
@@ -438,15 +438,15 @@ Features
     transform(coord_system)
     -----------------------
       Takes a single string specifying the new coord system. If the coord
-	    system is not valid an exception is thrown. If the coord system is the
-	    same coord system as the feature is currently in a new feature that is
-	    a copy of the old one will still be returned.  This will also retrieve
-	    a slice which is the entire span of the region of the coordinate system
-	    that this feature is being transformed to.  For example transforming
-	    an exon in raw contig coordinates to one in chromosomal coodinates
-	    will place the exon on a slice of an entire chromosome.  If a feature
-	    spans a boundary in the coordinate system, undef is returned by the
-	    method instead.
+      system is not valid an exception is thrown. If the coord system is the
+      same coord system as the feature is currently in a new feature that is
+      a copy of the old one will still be returned.  This will also retrieve
+      a slice which is the entire span of the region of the coordinate system
+      that this feature is being transformed to.  For example transforming
+      an exon in raw contig coordinates to one in chromosomal coodinates
+      will place the exon on a slice of an entire chromosome.  If a feature
+      spans a boundary in the coordinate system, undef is returned by the
+      method instead.
 
     translate(slice)
     ----------------
@@ -490,10 +490,16 @@ AssemblyMapper
   do the following:
   NTContig -> Contig -> Clone
 
-  This should simply be a matter of offsetting values in a stepwise matter when
-  loading the mapper.  The mapper will have a table of conversions between the
-  NTContig and Clone systems which is constructed by the assembly mapper 
-  (rather than read directly from the assembly table).
+  In the above example the assembly mapper would have do the following:
+
+  (1) Create a mapper object between the NTContig and Contig region
+  (2) Create a mapper object between the Contig and Clone region
+  (3) Create and return a third mapper constructed from the sets of mappings
+  generated by the intermediate mappers.
+
+  As an intermediate implementation step it would be possible to leave the
+  AssemblyMapper almost as is and to require explicit mappings between all 
+  coordinate systems of intereset to be present in the assembly table.
 
 
 FeatureAdaptors
@@ -558,9 +564,19 @@ Haplotypes
 OTHER CONSIDERATIONS
 --------------------
 
+Feature Transfer Accross Assemblies
+-----------------------------------
+  Future assemblies (especially human assemblies) are expected to be small
+  refinements of previous assemblies.  Rather then recomputing all of the new
+  genes and features on these assemblies it makes more sense to transfer most
+  features across from the previous assembly, only rebuilding in areas of 
+  change.  We will supply a mechanism via which features from a previous 
+  assembly may be transfered to a new assembly.
+
+
 TBD
 
 MHC Regions
 Circular Chromosomes
-Multiple Chromosomes
+Multiple Assemblies
 
-- 
GitLab