def snpsFinder(fastaPath, outDir, lockDirPath): #get all tools tools = workerForBam.getToolsDict() #get all scaffold folder names inside fasta dir fastaDirs = workerForBam.getAllFastas(fastaPath) #file containing snpfinder job for each scaffold snpsFinderJobFileName = fastaPath.split('/')[-1]+"SNPFinderJobs.jobs" print snpsFinderJobFileName + ' job file to be created ' try: #open the snpsFinderJob file snpsFinderJobFile = open(outDir + snpsFinderJobFileName, 'w') for fastaDir in fastaDirs: #get fasta file path fastaFilePath = fastaPath + fastaDir + "/" + fastaDir + ".fasta" writeJob(snpsFinderJobFile, fastaFilePath, lockDirPath, tools) snpsFinderJobFile.close() except IOError as (errno, strerror): print "I/O error({0}): {1}".format(errno, strerror) return -1
def writeCombineFastqJobs(outDir, fastqDir, fastaPath, lockDirPath): combinedBAMJobsName = 'combinedBAMJob.jobs' combinedBAMJobsPath = os.path.join(outDir, combinedBAMJobsName) tools = workerForBam.getToolsDict() #contained all fastas against which to map the fastqs fastaFilePaths = [] #fastaPath contains all .fasta inside a dir with same name as fasta #get all fasta name without ext ".fasta" in a list fastaDirs = workerForBam.getAllFastas(fastaPath) for fastaDir in fastaDirs: #get fasta File Path fastaFilePath = fastaPath + fastaDir + "/" + fastaDir + ".fasta" fastaFilePaths.append(fastaFilePath) print 'fastaFilePaths: ', fastaFilePaths with open(combinedBAMJobsPath, 'w') as combinedBAMJobsFile: dirContents = os.listdir(fastqDir) for fileName in dirContents: fastqPath = os.path.join(fastqDir, fileName) if os.path.isfile(fastqPath) and\ fileName.endswith('fastq'): for fastaFilePath in fastaFilePaths: workerForBam.writeJob(combinedBAMJobsFile, fastaFilePath,\ fastqPath, lockDirPath, tools) return combinedBAMJobsPath