#!/bin/env python import glob from bokeh.palettes import Category20_20 as colorr from bokeh.palettes import Paired9 as colorss from distinctipy import distinctipy import fnmatch colors = colorr + colorss def hex_to_rgb(hexcode, alpha=0.1): hexcode = hexcode.lstrip('#') rgbcode = ','.join([str(int(hexcode[i:i+2], 16)) for i in (0, 2, 4)]) return str(rgbcode) bwfilesVcap=glob.glob('VCAP*.bw') bwfilesVoe=glob.glob('VOE*.bw') # print(bwfilesVcap) # print(bwfilesVoe) fp=open('trackDb1.txt','w') # track myMultiWig # container multiWig # aggregate transparentOverlay # showSubtrackColorOnUi on # type bigWig 0 1000 # viewLimits 0:10 # maxHeighPixels 100:32:8 # ... # track myFirstOverlaySig # parent myMultiWig # color 255,128,128 # type bigWig 0 1139 # ... # track myFirstBigWig # parent myMultiWig # color 120,235,204 # ... for _nn, bwfile in enumerate(bwfilesVcap): print(bwfile) mark=bwfile.split("-")[1].split("_")[0] voe = fnmatch.filter(bwfilesVoe,"*"+mark+"*")[0] fp.write('track ' + mark + "\n") fp.write('container multiWig' + "\n") fp.write('aggregate transparentOverlay' + "\n") fp.write('showSubtrackColorOnUi on' + "\n") # fp.write('maxHeightPixels 500:100:8' + "\n") # fp.write('viewLimits 1:3' + "\n") fp.write('shortLabel ' +mark +"\n") fp.write('longLabel ' +mark +"\n") fp.write('visibility full \n') fp.write('type bigWig' + "\n\n") fp.write('\ttrack '+bwfile.split('.bw')[0]+'\n') fp.write('\tbigDataUrl '+bwfile+'\n') fp.write('\tshortLabel '+bwfile+'\n') fp.write('\tlongLabel '+bwfile+'\n') fp.write('\tautoScale on \n') fp.write('\ttype bigWig \n') fp.write('\tvisibility full \n') fp.write('\tshortLabel '+bwfile+'\n') fp.write('\tcolor '+hex_to_rgb(colors[_nn +1])+'\n') fp.write('\tsmoothingWindow 8' + '\n') fp.write('\twindowingFunction mean' + '\n') fp.write('\tparent ' +mark+ '\n\n') fp.write('\ttrack '+voe.split('.bw')[0]+'\n') fp.write('\tbigDataUrl '+voe+'\n') fp.write('\tshortLabel '+voe+'\n') fp.write('\tlongLabel '+voe+'\n') fp.write('\tautoScale on \n') fp.write('\ttype bigWig \n') fp.write('\tvisibility full \n') fp.write('\tshortLabel '+voe+'\n') fp.write('\tcolor '+hex_to_rgb(colors[_nn])+'\n') fp.write('\tsmoothingWindow 8' + '\n') fp.write('\twindowingFunction mean' + '\n') fp.write('\tparent ' +mark+ '\n\n') fp.close()