Mercurial > repos > yating-l > jbrowse_hub
comparison utils.py @ 50:3e5b6f6a9abe draft
planemo upload for repository https://github.com/Yating-L/jbrowse_hub commit 6391cdb975d14b5a7060fa1665a8a575797a0eaa-dirty
author | yating-l |
---|---|
date | Thu, 30 Mar 2017 16:03:16 -0400 |
parents | d8049deb0c97 |
children |
comparison
equal
deleted
inserted
replaced
49:193e94a43f0f | 50:3e5b6f6a9abe |
---|---|
33 twoBitFile = tempfile.NamedTemporaryFile(bufsize=0) | 33 twoBitFile = tempfile.NamedTemporaryFile(bufsize=0) |
34 chrom_sizes = tempfile.NamedTemporaryFile(bufsize=0, suffix='.chrom.sizes', delete=False) | 34 chrom_sizes = tempfile.NamedTemporaryFile(bufsize=0, suffix='.chrom.sizes', delete=False) |
35 except IOError as err: | 35 except IOError as err: |
36 print "Cannot create tempfile err({0}): {1}".format(err.errno, err.strerror) | 36 print "Cannot create tempfile err({0}): {1}".format(err.errno, err.strerror) |
37 try: | 37 try: |
38 p = subprocess.Popen(['faToTwoBit', reference, twoBitFile.name]) | 38 subprocess.call(['faToTwoBit', reference, twoBitFile.name]) |
39 p.communicate() | |
40 except OSError as err: | 39 except OSError as err: |
41 print "Cannot generate twoBitFile from faToTwoBit err({0}): {1}".format(err.errno, err.strerror) | 40 print "Cannot generate twoBitFile from faToTwoBit err({0}): {1}".format(err.errno, err.strerror) |
42 try: | 41 try: |
43 p = subprocess.Popen(['twoBitInfo', twoBitFile.name, chrom_sizes.name]) | 42 subprocess.call(['twoBitInfo', twoBitFile.name, chrom_sizes.name]) |
44 p.communicate() | |
45 except OSError as err: | 43 except OSError as err: |
46 print "Cannot generate chrom_sizes from twoBitInfo err({0}): {1}".format(err.errno, err.strerror) | 44 print "Cannot generate chrom_sizes from twoBitInfo err({0}): {1}".format(err.errno, err.strerror) |
47 return chrom_sizes | 45 return chrom_sizes |
48 | 46 |
49 def sequence_region(chrom_sizes): | 47 def sequence_region(chrom_sizes): |
153 validChars = "_-%s%s" % (string.ascii_letters, string.digits) | 151 validChars = "_-%s%s" % (string.ascii_letters, string.digits) |
154 sanitized_name = ''.join([c if c in validChars else '_' for c in input_name]) | 152 sanitized_name = ''.join([c if c in validChars else '_' for c in input_name]) |
155 return "gonramp_" + sanitized_name | 153 return "gonramp_" + sanitized_name |
156 | 154 |
157 def createBamIndex(bamfile): | 155 def createBamIndex(bamfile): |
158 p = subprocess.Popen(['samtools', 'index', bamfile]) | 156 subprocess.call(['samtools', 'index', bamfile]) |
159 p.communicate() | |
160 filename = bamfile + '.bai' | 157 filename = bamfile + '.bai' |
161 if os.path.exists(filename): | 158 if os.path.exists(filename): |
162 return filename | 159 return filename |
163 else: | 160 else: |
164 raise ValueError('Did not find bai file') | 161 raise ValueError('Did not find bai file') |