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')