fc825ca18eeb99e3807a73d23fd26b614807fa0f
markd
  Tue Oct 11 19:26:06 2022 -0700
add row number of output psl to pslMap mapInfo file to make it easy to sync up the two files

diff --git src/utils/pslMap/usage.txt src/utils/pslMap/usage.txt
index 84c4224..b70742f 100644
--- src/utils/pslMap/usage.txt
+++ src/utils/pslMap/usage.txt
@@ -1,64 +1,66 @@
 pslMap - map PSLs alignments to new targets using alignments of the old target to the new target.
 usage:
    pslMap [options] inPsl mapFile outPsl
 
 pslMap - map PSLs alignments to new targets using alignments of
 the old target to the new target.  Given inPsl and mapPsl, where
 the target of inPsl is the query of mapPsl, create a new PSL
 with the query of inPsl aligned to all the targets of mapPsl.
 If inPsl is a protein to nucleotide alignment and mapPsl is a
 nucleotide to nucleotide alignment, the resulting alignment is
 nucleotide to nucleotide alignment of a hypothetical mRNA that
 would code for the protein.  This is useful as it gives base
 alignments of spliced codons.  A chain file may be used instead
 mapPsl.
 
 Options:
   -chainMapFile - mapFile is a chain file instead of a psl file
   -swapMap - swap query and target sides of map file.
   -swapIn - swap query and target sides of inPsl file.
   -suffix=str - append str to the query ids in the output
    alignment.  Useful with protein alignments, where the result
    is not actually and alignment of the protein.
   -keepTranslated - if either psl is translated, the output psl
    will be translated (both strands explicted).  Normally an
    untranslated psl will always be created
   -mapFileWithInQName - The first column of the mapFile PSL records are a qName,
    the remainder is a standard PSL.  When an inPsl record is mapped, only
    mapping records are used with the corresponding qName.
   -mapInfo=file - output a file with information about each mapping.
    The file has the following columns:
      o srcQName, srcQStart, srcQEnd, srcQSize - qName, etc of
        psl being mapped (source alignment)
      o srcTName, srcTStart, srcTEnd - tName, etc of psl being
        mapped
      o srcStrand - strand of psl being mapped
      o srcAligned - number of aligned based in psl being mapped
      o mappingQName, mappingQStart, mappingQEnd - qName, etc of
        mapping psl used to map alignment
      o mappingTName, mappingTStart, mappingTEnd - tName, etc of
        mapping psl
      o mappingStrand - strand of mapping psl
      o mappingId - chain id, or psl file row
      o mappedQName mappedQStart, mappedQEnd - qName, etc of
        mapped psl
      o mappedTName, mappedTStart, mappedTEnd - tName, etc of
        mapped psl
      o mappedStrand - strand of mapped psl
      o mappedAligned - number of aligned bases that were mapped
      o qStartTrunc - aligned bases at qStart not mapped due to
        mapping psl/chain not covering the entire soruce psl.
        This is from the start of the query in the positive
        direction.
      o qEndTrunc - similary for qEnd
+     o mappedPslLine - zero-based line number of the corresponding PSL line number
+       in outPsl.
    If the psl count not be mapped, the mapping* and mapped* columns are empty.
   -mappingPsls=pslFile - write mapping alignments that were used in
    PSL format to this file.  Transformations that were done, such as
    -swapMap, will be reflected in this file.  There will be a one-to-one
    correspondence of rows of this file to rows of the outPsl file.
   -simplifyMappingIds - simplifying mapping ids (inPsl target
    name and mapFile query name) before matching them. This
    first drops everything after the last `-', and then drops
    everything after the last remaining `.'.
   -verbose=n  - verbose output
      2 - show each overlap and the mapping