if testOnly: ana.dryRun = testOnly # What step expects: # Inputs: 2 bam files, pre-registered in the analysis and both keyed as: 'bamRep' + replicateN + '.bam' # Outputs: 1 merged bam keyed as: 'mergedRep' + replicate1 + 'Rep' +replcicate2 + '.bam' # set up keys that join inputs through various file forwardings: bamAkey = 'bamRep' + repA + '.bam' bamBkey = 'bamRep' + repB + '.bam' mergedBamKey = 'mergedRep' + repA + 'Rep' + repB + '.bam' # Establish Inputs for galaxy and nonGalaxy alike ana.registerFile(bamAkey, 'galaxyInput', galaxyInputBamA) ana.registerFile(bamBkey, 'galaxyInput', galaxyInputBamB) nonGalaxyInput1 = ana.nonGalaxyInput( bamAkey) # Registers and returns the outside location nonGalaxyInput2 = ana.nonGalaxyInput( bamBkey) # Need to register these to ensure nonGalOut naming # outputs: ana.registerFile(mergedBamKey, 'galaxyOutput', galaxyOutMergedBam) resultsDir = ana.resultsDir( galaxyPath) # prefers nonGalaxyInput location over settings loc ana.createOutFile(mergedBamKey,'nonGalaxyOutput','%s_%s_merged',ext='bam', \ input1=bamAkey, input2=bamBkey) # Establish step and run it: step = MergeBamStep(ana, repA, repB) sys.exit(step.run())
# Outputs: 1 interim Corr file, keyed as: 'strandCorr' + suffix + '.txt' # 1 target json file, keyed as: 'bamEvaluate' + suffix + '.json' # TODO: Does a galaxy user really want the sample bam? # set up keys that join inputs through various file forwardings: bamInputKey = 'alignmentRep' + repNo + '.bam' # Establish Inputs for galaxy and nonGalaxy alike ana.registerFile(bamInputKey,'galaxyInput', galaxyInputFile) nonGalaxyInput = ana.nonGalaxyInput(bamInputKey) # Registers and returns the outside location suffix = 'Rep' + repNo if nonGalaxyInput.lower().find('_star') != -1: suffix += 'ByStar' elif nonGalaxyInput.find('_tophat') != -1: suffix += 'ByTophat' elif nonGalaxyInput.lower().find('_bwa') != -1: suffix += 'ByBwa' bamSampleKey = 'alignment' + suffix + '_5M.bam' bamEvalKey = 'bamEvaluate' + suffix + '.json' # outputs: ana.registerFile( bamEvalKey, 'galaxyOutput',galaxyOutBamEval) resultsDir = ana.resultsDir(galaxyPath) # prefers nonGalaxyInput location over settings loc ana.createOutFile(bamEvalKey, 'nonGalaxyOutput','%s_bamEval',ext='json') # Establish step and run it: step = BamEvaluateStep(ana,repNo,suffix) sys.exit( step.run() )