anchor.diff:  ;;; -------------
   (defmethod seq-length ((ens-obj dna-sequence))
     "The length of the sequence on the genome.
  -Example:
  +
  +###Example:
   (seq-length (fetch-by-stable-id \"ENSG00000141510\")) "
     (with-slots ((seq-start seq-region-start)
                  (seq-end   seq-region-end))
  
positive.code:   (zerop (mod (seq-length exon) 3)))
  
  
  ;;; Sequence mapping
  ;;; ----------------
  (defun aa->nt (aa-pos &optional (offset 0))
    "Convert an position given in amino acids to a position in
  nucleotides. If `offset' is given, it's interpreted as the number of
  nucleotides that should be added to the result."
    (+ (* 3 aa-pos) offset))
  
  (defun nt->aa (nt-pos &optional (offset 0))
    "Convert an position given in nuleotides to a position in amino
  acids. If `offset' is given, it's interpreted as the number of
  amino acids that should be added to the result."
    (multiple-value-bind (aa rest) (truncate nt-pos 3)
        (values (+ offset aa) rest)))
  
  
  
  
negative.code:     (list name object-type)))
  
  (defun ensembl-type-char->type (char)
    "Transforms single letters abbreviating the EnsEMBL types into their
  CLCB full representation as GENE, TRANSCRIPT, EXON or TRANSLATION.
  
  ###Example:
  * (ensembl-type-char->type #\p)
  => TRANSLATION"
    (cdr (assoc char *char-class-alist* :test #'char-equal)))
  
  (defun stable-id->ensembl-type (string)
    "Knows if a stable ID is a gene, transcript or peptide.
  
  ###Example:
  * (stable-id->ensembl-type \"ENSG00000141510\")
  =>
  GENE
  NIL"
    (declare (type string string))
  