d7ff43fdbd408928d1d0b66a1f791e4635032c47
markd
  Sun Feb 20 08:44:04 2022 -0800
add program to take repeat masker .align.tsv files and convert to PSL for use with pslMap

diff --git src/hg/inc/rmskAlign.h src/hg/inc/rmskAlign.h
index 3929b2b..a6af8fe 100644
--- src/hg/inc/rmskAlign.h
+++ src/hg/inc/rmskAlign.h
@@ -13,31 +13,31 @@
 struct rmskAlign
 /* RepeatMasker .align record */
     {
     struct rmskAlign *next;  /* Next in singly linked list. */
     unsigned swScore;	/* Smith Waterman alignment score */
     unsigned milliDiv;	/* Base mismatches in parts per thousand */
     unsigned milliDel;	/* Bases deleted in parts per thousand */
     unsigned milliIns;	/* Bases inserted in parts per thousand */
     char *genoName;	/* Genomic sequence name */
     unsigned genoStart;	/* Start in genomic sequence */
     unsigned genoEnd;	/* End in genomic sequence */
     int genoLeft;	/* -#bases after match in genomic sequence */
     char strand[2];	/* Relative orientation + or - */
     char *repName;	/* Name of repeat */
     char *repClass;	/* Class of repeat */
-    char *repFamily;	/* Family of repeat */
+    char *repFamily;	/* Family of repeat (1-based) */
     int repStart;	/* Start in repeat sequence */
     unsigned repEnd;	/* End in repeat sequence */
     int repLeft;	/* -#bases after match in repeat sequence */
     unsigned id;	/* The ID of the hit. Used to link related fragments */
     char *alignment;	/* The alignment data stored as a single string */
     };
 
 void rmskAlignStaticLoad(char **row, struct rmskAlign *ret);
 /* Load a row from rmskAlign table into ret.  The contents of ret will
  * be replaced at the next call to this function. */
 
 struct rmskAlign *rmskAlignLoad(char **row);
 /* Load a rmskAlign from row fetched with select * from rmskAlign
  * from database.  Dispose of this with rmskAlignFree(). */