--quality=<quality> Trimming quality [default: 20] --adapter=<adapter> Adapter sequence [default: AGATCGGAAGAGC] --path=<path> Path to cutadapt [default: cutadapt] --help Output this message """ # Import required modules import os from ngs_python.fastq import fastqFind, fastqTrim from general_python import docopt, toolbox, moab # Extract and process arguments args = docopt.docopt(__doc__,version = 'v1') args['--quality'] = int(args['--quality']) inDir, inPrefix = os.path.split(args['<inprefix>']) toolbox.checkArg(args['--path'], 'exc') # Extract fastq files and generate output file names read1In, read2In = fastqFind.findFastq(prefix = inPrefix, dirList = [inDir], pair = True, gzip = True) read1Out = args['<outprefix>'] + '.R1.fastq.gz' read2Out = args['<outprefix>'] + '.R2.fastq.gz' trimLog = args['<outprefix>'] + '.log' # Generate and submit trim command trimCommand = fastqTrim.cutadaptTrimPaired(read1In = read1In, read2In = read2In, read1Out = read1Out, read2Out = read2Out, quality = args['--quality'], adapter = 'AGATCGGAAGAGC', length = 25, path = args['--path'] ) jobID = moab.submitJob(trimCommand, stdout = trimLog, stderr = trimLog) print jobID
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'], outDir=args['fastqSampleDir'], path=paths['fastqc']) read2Fastqc = fastqQC.fastQC(inFile=args['trimRead2'], outDir=args['fastqSampleDir'], path=paths['fastqc']) fastqcCommand = '%s && %s' % (read1Fastqc, read2Fastqc) # Submit trimming commands trimReadsJobID = moabJobs.add(command=trimReadsCommand, stdout=args['trimLog'], stderr=args['trimLog'])
# 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'], outDir = args['fastqSampleDir'], path = paths['fastqc'] ) read2Fastqc = fastqQC.fastQC( inFile = args['trimRead2'], outDir = args['fastqSampleDir'], path = paths['fastqc'] )
""" # Import required modules import os from ngs_python.fastq import fastqFind, fastqTrim from general_python import docopt, toolbox, moab # Extract and process arguments args = docopt.docopt(__doc__, version='v1') args['--quality'] = int(args['--quality']) inDir, inPrefix = os.path.split(args['<inprefix>']) toolbox.checkArg(args['--path'], 'exc') # Extract fastq files and generate output file names read1In, read2In = fastqFind.findFastq(prefix=inPrefix, dirList=[inDir], pair=True, gzip=True) read1Out = args['<outprefix>'] + '.R1.fastq.gz' read2Out = args['<outprefix>'] + '.R2.fastq.gz' trimLog = args['<outprefix>'] + '.log' # Generate and submit trim command trimCommand = fastqTrim.cutadaptTrimPaired(read1In=read1In, read2In=read2In, read1Out=read1Out, read2Out=read2Out, quality=args['--quality'], adapter='AGATCGGAAGAGC', length=25, path=args['--path']) jobID = moab.submitJob(trimCommand, stdout=trimLog, stderr=trimLog) print jobID
args['insLog'] = args['bamPrf'] + '.insert.log' # Generate output files for BED processing args['bedPrf'] = os.path.join(args['smpBed'], args['name']) args['intBed'] = args['bedPrf'] + '.initial.bed' args['intLog'] = args['bedPrf'] + '.bam2bed.log' args['srtBed'] = args['bedPrf'] + '.bed' args['bedGrp'] = args['bedPrf'] + '.bedgraph' args['bedLog'] = args['bedPrf'] + '.bedprocess.log' # Generate object to store commands 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)