def test_hisat2(): #test hisat build and hisat mapping hs=mapping.Hisat2(index=os.path.join(testVars.testDir,"hisatindex"),genome=testVars.genome) assert hs.check_index()==True, "Failed hisat buildindex" #perform alignment without sraobject kwargs={"-1":testVars.fq1,"-2":testVars.fq2,"-S":testVars.testDir+"/hisatTest.sam","--dta-cufflinks":"","-p":"4"} st=hs.run(**kwargs) assert st==True, "Failed to run hisat"
def test_hisat2(): #test hisat build and hisat mapping hsOpts = {"--dta-cufflinks": "", "-p": "10"} hs = mapping.Hisat2(hisat2_index="", **hsOpts) assert hs.check_index() == False, "Failed hisat check_index" #build index st = hs.build_index(testVars.testDir, "hisatindex", testVars.genome) assert st == True, "Failed to build hisat2 index" #perform alignment without sraobject hsMapOpts = { "-1": testVars.fq1, "-2": testVars.fq2, "-S": testVars.testDir + "/hisatTest.sam" } st = hs.run_hisat2(**hsMapOpts) assert st == True, "Failed to run hisat"
def test_pipeline1(): sraOb = sra.SRA(srr, workingDir) st = sraOb.download_sra() assert st == True, "SRA download failed" st = sraOb.run_fasterqdump(delete_sra=False, **{ "-e": "8", "-f": "", "-t": workingDir }) assert st == True, "fqdump failed" bbdOpts = { "ktrim": "r", "k": "23", "mink": "11", "qtrim": "'rl'", "trimq": "10", "--": ("-Xmx2g", ), "ref": testVars.bbdukAdapters } bbdOb = qc.BBmap(**bbdOpts) st = sraOb.perform_qc(bbdOb) assert st == True, "bbduk failed" tgOpts = { "--cores": "10", "-o": testVars.testDir, "--paired": "", "--": (fq1, fq2) } tg = qc.Trimgalore(**tgOpts) st = sraOb.perform_qc(tg) assert st == True, "tg failed" #runbowtie2 bt = mapping.Bowtie2(bowtie2_index="") assert bt.check_index() == False, "Failed bowtie2 check_index" st = bt.build_index(testVars.testDir + "/btIndex", "bowtieIndex", testVars.genome) assert st == True, "Failed to build bowtie2 index" st = bt.perform_alignment(sraOb) assert os.path.isfile(st) == True, "bowtie failed" hsOpts = {"--dta-cufflinks": "", "-p": "8"} hs = mapping.Hisat2(hisat2_index="", **hsOpts) st = hs.build_index(testVars.testDir, "hisatindex", testVars.genome) assert st == True, "Failed to build hisat2 index" #perform alignment with sraobject st = hs.perform_alignment(sraOb) assert os.path.isfile(st) == True, "hisat failed" hisatSam = st samOb = tools.Samtools(**{"-@": "8"}) bam = samOb.sam_sorted_bam(hisatSam, delete_sam=False, delete_bam=False) assert os.path.isfile(bam) == True, "sam to bam failed" stie = assembly.Stringtie(reference_gtf=testVars.gtf) result = stie.perform_assembly(bam, out_dir=testVars.testDir) assert pu.check_files_exist(result) == True, "Failed stringtie" tr = assembly.Trinity() tr_out = tr.perform_assembly(sraOb, verbose=True) assert pu.check_files_exist(tr_out) == True, "Failed stringtie" kl = quant.Kallisto(kallisto_index="") assert kl.check_index() == False, "Failed kallisto check_index" st = kl.build_index(index_path=testVars.testDir + "/kallistoIndex", index_name="kalIndex", fasta=testVars.cdna) assert st == True, "Failed to build kallisto index" st = kl.perform_quant(sraOb) assert os.path.isdir(st) == True, "Failed to run kallisto" sl = quant.Salmon(salmon_index="") assert sl.check_index() == False, "Failed salmon check_index" st = sl.build_index(index_path=testVars.testDir + "/salmonIndex", index_name="salIndex", fasta=testVars.cdna) assert st == True, "Failed to build salmon index" st = sl.perform_quant(sraOb) assert os.path.isdir(st) == True, "Failed to run salmon"
bbdOb = qc.BBmap(**bbdOpts) for ob in sraObjects: ob.perform_qc(bbdOb) for ob in sraObjects: print("SRR Accession: {}, fastq files: {}. {}".format( ob.srr_accession, ob.localfastq1Path, ob.localfastq2Path)) if ob.fastqFilesExistsLocally(): print("Both files exist!!") else: print("Error") raise Exception("Fastq files not found") hsOpts = {"--dta-cufflinks": "", "-p": "16"} hs = mapping.Hisat2(hisat2_index="", **hsOpts) hisat2_buildArgs = {"-p": "16", "-a": "", "-q": ""} if hs.build_index(workingDir + "/maizeIndex", "maizeInd", GENOME, **hisat2_buildArgs): print("Indexing done.") if hs.check_index(): print("Index {} exists".format(hs.hisat2_index)) samList = [] for ob in sraObjects: print("Processing {}...".format(ob.srr_accession)) thisSam = hs.perform_alignment(ob, **{"-p": "16"}) if thisSam: samList.append(thisSam)
#create objects bbdOpts = { "ktrim": "r", "k": "23", "mink": "11", "qtrim": "'rl'", "trimq": "10", "ref": testVars.bbdukAdapters } bbdOb = qc.BBmap(None, **bbdOpts) tg = qc.Trimgalore() bt = mapping.Bowtie2(index=testVars.testDir + "/btIndex", genome=testVars.genome) hsOpts = {"--dta-cufflinks": "", "-p": "8"} hs = mapping.Hisat2(index=testVars.testDir + "/hisatindex", genome=testVars.genome, **hsOpts) star = mapping.Star(index=os.path.join(testVars.testDir, "starIndex"), genome=testVars.genome) samOb = tools.Samtools() stie = assembly.Stringtie() kl = quant.Kallisto(index=testVars.testDir + "/kallistoIndex/kalIndex", transcriptome=testVars.cdna) sl = quant.Salmon(index=testVars.testDir + "/salmonIndex/salIndex", transcriptome=testVars.cdna_big) #sra ob sraOb = sra.SRA(srr, workingDir) st = sraOb.fastq_exists() assert st == True, "fasterq-dump failed"
#run bbmap #bd=qc.BBmap() #sraOb.performQC(bd) #run bowtie #bob=mapping.Bowtie2(btIndex) #unMappedReads=bob.runBowTie2(sraOb) #update fastq as #sraOb.localfastqPath=unMappedReads #build hisat index hsOpts={"--dta-cufflinks":"","-p":"12","--mp": "1,1", "--no-spliced-alignment":"", "--rdg": "10000,10000", "--rfg": "10000,10000"} hs=mapping.Hisat2(hisat2_index="/home/usingh/work/urmi/hoap/test/yeastInd2/index22",**hsOpts) #hsbArgs={"-p":"8","-a":"","-q":""} #if hs.buildHisat2Index("/home/usingh/work/urmi/hoap/test/yeastInd2","index22","/home/usingh/work/urmi/hoap/test/hisatYeast/S288C_reference_genome_R64-2-1_20150113/S288C_reference_sequence_R64-2-1_20150113.fsa",**hsbArgs): # print("Success") #run hisat sam=hs.perform_alignment(sraOb,**{"--dta-cufflinks":"","-p":"8"}) #get sorted bam samOb=tools.Samtools(**{"-@":"8"}) bam=samOb.sam_sorted_bam(sam,delete_sam=True,delete_bam=True) #bt2=mapping.Bowtie2("/home/usingh/work/urmi/hoap/test/bowtieIndex/rRNAindex") #bt2.performAlignment(sraOb)