예제 #1
0
args['trimRead2'] = os.path.join(args['fastqSampleDir'],
                                 args['name'] + '_trim_R2.fastq.gz')
args['trimLog'] = os.path.join(args['fastqSampleDir'],
                               args['name'] + '_trim.log')
args['qcLog'] = os.path.join(args['fastqSampleDir'], args['name'] + '_qc.log')
# Generate commands to process single-end FASTQ files
if args['--singleend']:
    # Create trim command
    trimReadsCommand = fastqTrim.cutadaptTrim(readIn=args['read1'],
                                              readOut=args['trimRead1'],
                                              path=paths['cutadapt'],
                                              length=args['--minlength'],
                                              quality=args['--trimqual'])
    # Create QC command
    fastqcCommand = fastqQC.fastQC(inFile=args['trimRead1'],
                                   outDir=args['fastqSampleDir'],
                                   path=paths['fastqc'])
    # Empty read2 file
    args['trimRead2'] = None
# Generate commands to process paired-end FASTQ files
else:
    # Create trim command
    trimReadsCommand = fastqTrim.cutadaptTrimPaired(read1In=args['read1'],
                                                    read2In=args['read2'],
                                                    read1Out=args['trimRead1'],
                                                    read2Out=args['trimRead2'],
                                                    path=paths['cutadapt'],
                                                    length=args['--minlength'],
                                                    quality=args['--trimqual'])
    # Generate QC command
    read1Fastqc = fastqQC.fastQC(inFile=args['trimRead1'],
예제 #2
0
args['qcLog'] = os.path.join(args['fastqSampleDir'],
    args['name'] + '_qc.log')
# Generate commands to process single-end FASTQ files
if args['--singleend']:
    # Create trim command
    trimReadsCommand = fastqTrim.cutadaptTrim(
        readIn = args['read1'],
        readOut = args['trimRead1'],
        path = paths['cutadapt'],
        length = args['--minlength'],
        quality = args['--trimqual']
    )
    # Create QC command
    fastqcCommand = fastqQC.fastQC(
        inFile = args['trimRead1'], 
        outDir = args['fastqSampleDir'],
        path = paths['fastqc']
    )
    # Empty read2 file
    args['trimRead2'] = None
# Generate commands to process paired-end FASTQ files
else:
    # Create trim command
    trimReadsCommand = fastqTrim.cutadaptTrimPaired(
        read1In = args['read1'],
        read2In = args['read2'],
        read1Out = args['trimRead1'],
        read2Out = args['trimRead2'],
        path = paths['cutadapt'],
        length = args['--minlength'],
        quality = args['--trimqual']
예제 #3
0
###############################################################################
## Generate commands to perform fastqc
###############################################################################
# Generate log file name
args['qcLog'] = os.path.join(args['fastqSampleDir'],
    args['name'] + '_fastqc.log')
# Create fastqc command
fastqcCommand = []
for fastq in (args['trimRead1'], args['trimRead2']):
    if fastq is None:
        continue
    fastqcCommand.append(
        fastqQC.fastQC(
            inFile = fastq, 
            outDir = args['fastqSampleDir'],
            path = pmDict[('fastqc', 'path')]
        )
    )
fastqcCommand = '; '.join(fastqcCommand)
# Submit FASTQC commands
fastqcJobID = slurmJobs.add(
    command = fastqcCommand,
    stdout = args['qcLog'],
    stderr = args['qcLog'],
    depend = [trimReadsJobID],
    modules = pmDict[('fastqc', 'modules')]
)

###############################################################################
## Generate RSEM Transcript alignment command
예제 #4
0
                                      read2Out=trim2,
                                      quality=0,
                                      adapter=args['--trim'],
                                      length=25,
                                      path=pmDict[('cutadapt', 'path')])
     trimJobID = slurmJobs.add(trimCommand,
                               processors=1,
                               memory=6,
                               stdout=logFile,
                               stderr=logFile,
                               modules=pmDict[('cutadapt', 'modules')])
     trimJobList.append(trimJobID)
     # Create fastqc command
     qcLog = args['<logprefix>'] + '.fastqc{}.log'.format(count)
     qcCommand = fastqQC.fastQC(inFile=trim1,
                                outDir=args['<logfolder>'],
                                path=pmDict[('fastqc', 'path')])
     if trim2:
         qcCommand += ' && {}'.format(
             fastqQC.fastQC(inFile=trim2,
                            outDir=args['<logfolder>'],
                            path=pmDict[('fastqc', 'path')]))
     qcJobID = slurmJobs.add(qcCommand,
                             processors=1,
                             memory=6,
                             stdout=qcLog,
                             stderr=qcLog,
                             modules=pmDict[('fastqc', 'modules')],
                             depend=[trimJobID])
     qcJobList.append(qcJobID)
 # Switch input file names
예제 #5
0
moabJobs = moab.moabJobs()
# Create trim command and add to job dictionary
trimCommand = fastqTrim.cutadaptTrimPaired(read1In=args['read1'],
                                           read2In=args['read2'],
                                           read1Out=args['trmRd1'],
                                           read2Out=args['trmRd2'],
                                           path=paths['cutadapt'],
                                           length=25,
                                           quality=20,
                                           adapter='CTGTCTCTTATACACATCT')
trimCommandID = moabJobs.add(trimCommand,
                             stdout=args['trmLog'],
                             stderr=args['trmLog'])
# Generate QC commands
read1Fastqc = fastqQC.fastQC(inFile=args['trmRd1'],
                             outDir=args['smpFsq'],
                             path=paths['fastqc'])
read2Fastqc = fastqQC.fastQC(inFile=args['trmRd2'],
                             outDir=args['smpFsq'],
                             path=paths['fastqc'])
# Combine FASTQ QC command and add to job dictionary
fastqcCommand = '%s && %s' % (read1Fastqc, read2Fastqc)
fastqcCommandID = moabJobs.add(fastqcCommand,
                               stdout=args['fqcLog'],
                               stderr=args['fqcLog'],
                               dependency=[trimCommandID])
# Generate command to perform alignment and add to job dictionary
alignCommand = fastqAlign.bowtie2Align(index=args['<bwt2index>'],
                                       outFile=args['alnBam'],
                                       read1=args['read1'],
                                       read2=args['read2'],
예제 #6
0
###############################################################################
## Generate commands to perform fastqc
###############################################################################
# Generate log file name
args['qcLog'] = os.path.join(args['fastqSampleDir'],
    args['name'] + '_fastqc.log')
# Create fastqc command
fastqcCommand = []
for fastq in (args['trimRead1'], args['trimRead2']):
    if fastq is None:
        continue
    fastqcCommand.append(
        fastqQC.fastQC(
            inFile = fastq, 
            outDir = args['fastqSampleDir'],
            path = pmDict[('fastqc', 'path')]
        )
    )
fastqcCommand = '; '.join(fastqcCommand)
# Submit FASTQC commands
fastqcJobID = slurmJobs.add(
    command = fastqcCommand,
    stdout = args['qcLog'],
    stderr = args['qcLog'],
    depend = [trimReadsJobID],
    modules = pmDict[('fastqc', 'modules')]
)

###############################################################################
## Generate RSEM Transcript alignment command