a87327b5ef28209e7a809728fb3bc8fb476dfdb8 angie Fri Jun 15 15:17:01 2018 -0700 Adding liftOverBigWig for lifting from one assembly to another, and liftOverBigWigToPatches for lifting main chromosome scores to patch sequences and concatenating the results onto the original annotations. refs #18853 diff --git src/hg/utils/liftOverBigWig src/hg/utils/liftOverBigWig new file mode 100755 index 0000000..cd8713a --- /dev/null +++ src/hg/utils/liftOverBigWig @@ -0,0 +1,34 @@ +#!/bin/env tcsh + +# Convert bigWig to bedGraph, liftOver the bedGraph, clean up results and regenerate bigWig. + +set bigWigIn = $1 +set liftOverFile = $2 +set chromSizes = $3 +set bigWigOut = $4 + +if ($bigWigOut == "" || $5 != "") then + echo "usage:" + echo "$0 input.srcDb.bw srcDbToDestDb.over.chain.gz destDb.chrom.sizes output.destDb.bw" + echo "" + echo "Convert input.srcDb.bw to bedGraph, liftOver, clean up results and convert to output.destDb.bw" + exit 1 +endif + +set tmpFile = `mktemp --tmpdir liftOverBigWig.XXXXXX` + +if ($status) exit + +bigWigToBedGraph $bigWigIn stdout \ +| liftOver stdin $liftOverFile stdout /dev/null \ +| sort -k1,1 -k2,2n \ +| bedRemoveOverlap stdin stdout \ +| bedGraphPack stdin $tmpFile + +if ($status) exit + +bedGraphToBigWig $tmpFile $chromSizes $bigWigOut + +if ($status) exit + +rm $tmpFile