def mapFastQInDirQ(dirName, overwrite = True): '''Every Q function has a corresponding shell script''' wrapperShell = '/home/chrisgre/scripts/mapping/mapFastQ.sh' for file in cg.recurseDir(dirName, end = 'clipped.fastq'): print file putativeN = file.replace('.clipped.fastq','.clipped.fastq.mapped') if os.path.isfile(putativeN): if overwrite: print ' Overwriting file', putativeN os.remove(putativeN) else: print ' \nNOT OVERWRITING FILE', putativeN continue #check if mouse or human baseFName = cg.getBaseFileName(file, naked = True) org = 'None' for metaFileName in metaFileNames: mFile = open(metaFileName, 'r') for line in mFile: fields = line.strip().split('\t') if baseFName == fields[0]: if fields[2] == 'NONE': print ' NO ORG KNOWN FOR', file continue else: org = fields[2] print ' USING ORG', org, file mFile.close() #check if there is an organism, must check due to files not in metaFile if org == 'None': print ' NO org', file continue while True: #submit job if there are less than ten if clusterCheck.queryNumJobsQ('chrisgre') < 40: #subprocess.Popen(['qsub', '-q', 'xiao', '-l', 'mem=4G', '-V', '-o', mainConf.conf['outLog'], '-e', mainConf.conf['errorLog'], wrapperShell, file, org ]) subprocess.Popen(['qsub', '-l', 'mem=4G', '-V', '-o', mainConf.conf['outLog'], '-e', mainConf.conf['errorLog'], wrapperShell, file, org ]) time.sleep(.2) #give it time to update qstat break else:#wait 10 secs... time.sleep(20)
def clipAdapterInDirQ(dirName): '''The Q if for doing it on a cluster using qsub Every Q function has a corresponding shell script''' for file in cg.recurseDir(dirName, end = '.fastq'): #check if it isn't a clipped file: if 'clipped' in file: continue while True: #submit job if there are less than ten if clusterCheck.queryNumJobsQ('chrisgre') < 100: subprocess.Popen(['qsub', '-V', '-cwd', '-o', 'errors', '-e', 'errors', wrapperShell, file]) time.sleep(.2) #give it time to update qstat break else:#wait 10 secs... time.sleep(10)
def clipAdapterInDirQ(dirName): '''The Q if for doing it on a cluster using qsub Every Q function has a corresponding shell script''' for file in cg.recurseDir(dirName, end='.fastq'): #check if it isn't a clipped file: if 'clipped' in file: continue while True: #submit job if there are less than ten if clusterCheck.queryNumJobsQ('chrisgre') < 100: subprocess.Popen([ 'qsub', '-V', '-cwd', '-o', 'errors', '-e', 'errors', wrapperShell, file ]) time.sleep(.2) #give it time to update qstat break else: #wait 10 secs... time.sleep(10)
def createTrackInDir(dirName): '''Every Q function has a corresponding shell script Make wig file for all mapped files, for all organisms''' wrapperShell = '/home/chrisgre/scripts/mapping/createTrack.sh' mainConf = c.cgConfig('Main.conf') metaFileName = mainConf.conf['metaFileName'] for file in cg.recurseDir(dirName, end = '.mapped'): #check if mouse or human baseFName = cg.getBaseFileName(file) baseFName = baseFName.split('.')[0] metaDict = cg.getMetaFileDict(metaFileName) org = 'None' if baseFName in metaDict: if metaDict[baseFName][1] == 'NONE': print ' NO ORG KNOWN FOR', file continue else: org = metaDict[baseFName][1] print ' USING ORG', org, file #check if there is an organism, must check due to files not in metaFile if org == 'None': print ' NO org (not in meta file)', file continue while True: #submit job if there are less than ten if clusterCheck.queryNumJobsQ('chrisgre') < 1000: #subprocess.Popen(['qsub', '-q', 'xiao', '-l', 'mem=4G', '-V', '-o', mainConf.conf['outLog'], '-e', mainConf.conf['errorLog'], wrapperShell, file, org ]) subprocess.Popen(['qsub', '-V', '-o', mainConf.conf['outLog'], '-e', mainConf.conf['errorLog'], wrapperShell, file, org ]) #time.sleep(.5) #give it time to update qstat break else:#wait 10 secs... time.sleep(20)