Mercurial > repos > yating-l > rename_tracks
diff rename_tracks.py @ 1:75d9357a0a53 draft
planemo upload commit 58057cff13206fae66c938464c052f416047c1b3-dirty
author | yating-l |
---|---|
date | Mon, 25 Jun 2018 13:12:47 -0400 |
parents | dd6d3b009659 |
children |
line wrap: on
line diff
--- a/rename_tracks.py Fri Jun 22 16:25:42 2018 -0400 +++ b/rename_tracks.py Mon Jun 25 13:12:47 2018 -0400 @@ -6,6 +6,7 @@ import sys import csv import subprocess +import tempfile def rename_interval(inputFile, nameDict, renamedFile): writer = open(renamedFile, 'w') @@ -29,6 +30,18 @@ reheader = subprocess.Popen(array_call, stdin=header.stdout, stdout=subprocess.PIPE) out = open(renamedFile, 'w') subprocess.Popen(['samtools', 'reheader', '-', inputFile], stdin=reheader.stdout, stdout=out) + +def rename_bigwig(inputFile, renamedReference, nameDict, renamedFile): + bedGraphFile = tempfile.NamedTemporaryFile(bufsize=0) + chrom_sizes = tempfile.NamedTemporaryFile(bufsize=0) + sorted_bedGraphFile = tempfile.NamedTemporaryFile(bufsize=0) + renamed_sorted_bedGraphFile = tempfile.NamedTemporaryFile(bufsize=0) + + subprocess.call(['bigWigToBedGraph', inputFile, bedGraphFile.name]) + subprocess.call(['faSize', '-detailed', '-tab', renamedReference], stdout=chrom_sizes) + subprocess.call(['sort', '-k1,1', '-k2,2n', bedGraphFile.name], stdout=sorted_bedGraphFile) + rename_interval(sorted_bedGraphFile.name, nameDict, renamed_sorted_bedGraphFile.name) + subprocess.call(['bedGraphToBigWig', renamed_sorted_bedGraphFile.name, chrom_sizes.name, renamedFile]) def getNameDict(nameMapping): nameDict = {} @@ -48,6 +61,9 @@ rename_interval(inputFile, nameDict, outputfile) elif inputFormat == "bam": rename_bam(inputFile, nameDict, outputfile) + elif inputFormat == "bigwig": + renamedReference = sys.argv[5] + rename_bigwig(inputFile, renamedReference, nameDict, outputfile) if __name__ == "__main__": main() \ No newline at end of file