02336754147822f5aa61ba13277123b2cc629001
markd
  Thu May 20 08:38:55 2021 -0700
Moved pslMap, pslMapPostChain, pslRc, pslSwap to src/utils, as they do not have hg/lib dependencies.

diff --git src/utils/pslMap/usage.txt src/utils/pslMap/usage.txt
new file mode 100644
index 0000000..84c4224
--- /dev/null
+++ src/utils/pslMap/usage.txt
@@ -0,0 +1,64 @@
+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
+   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