bc21bd3d27fe3d29971231955b3fc544fa1c3d1e
angie
  Wed Oct 16 11:51:39 2013 -0700
Two new tracks for Locus Reference Genomic (LRG) (#11863) with customhandlers: LRG Regions and LRG Transcripts.
LRGs are frozen reference sequences for a particular gene plus some
upstream and downstream sequence.  They are intended to provide a
stable coordinate system for gene annotations that won't change
with every new genome assembly, but can be mapped to each genome
assembly.  Since there is a lot of metadata associated with each
region, I made LRG Regions a bigBed 12 + with fields describing
mismatches and indels, so that PSL can be derived from the bigBed
and the original LRG sequence can be reconstructed using genome
assembly sequence and the mismatch/indel info.  hgTracks shows
differences and LRG insertions into the reference assembly using
the cds.c baseColor code.  (LRG deletions from the reference appear
as gaps, which we get for free with bed12 info).
For LRG Transcripts, I found the genePred codon-coloring code
inadequate for showing an insertion into hg19 (or even mismatches),
so instead of genePred I ended up using PSL + sequence, more like
the mRNA track representation and display.

diff --git src/hg/lib/lrg.as src/hg/lib/lrg.as
new file mode 100644
index 0000000..fa1b51d
--- /dev/null
+++ src/hg/lib/lrg.as
@@ -0,0 +1,25 @@
+table lrg
+"Locus Reference Genomic regions"
+    (
+    string chrom;      "Reference assembly chromosome or scaffold"
+    uint   chromStart; "Start position in chromosome"
+    uint   chromEnd;   "End position in chromosome"
+    string name;       "LRG ID"
+    uint   score;      "Placeholder for BED format compatibility (0)"
+    char[1] strand;    "Orientation of LRG to reference assembly: + or -"
+    uint thickStart;   "Placeholder for BED format compatibility (same as chromStart)"
+    uint thickEnd;     "Placeholder for BED format compatibility (same as chromEnd)"
+    uint reserved;     "Placeholder for BED format compatibility (0)"
+    int blockCount;    "Number of gapless aligned blocks"
+    int[blockCount] blockSizes; "Comma separated list of block sizes"
+    int[blockCount] chromStarts; "Start positions relative to chromStart"
+    lstring mismatches; "List of bases that differ between LRG and reference assembly"
+    lstring indels;     "List of insertions/deletions in LRG and reference assembly"
+    uint lrgSize;       "Length in bases of LRG sequence"
+    int hgncId;         "Numeric HGNC gene identifier"
+    string hgncSymbol;  "HGNC gene symbol"
+    string ncbiAcc;     "NCBI accession of LRG sequence"
+    lstring lrgSource;  "Source of LRG sequence"
+    lstring lrgSourceUrl; "URL of lrgSource"
+    string creationDate;  "Date on which this sequence was added as a LRG"
+    )