def pipeSaklCleanReadsMito(strain, refSt): reads1 = "/Volumes/BioSan/Users/friedrich/GB-3G/Reads/CleanPE/s_1_%s-trim_unmapped_unmapped.fq" % (strain) reads2 = "/Volumes/BioSan/Users/friedrich/GB-3G/Reads/CleanPE/s_2_%s-trim_unmapped_unmapped.fq" % (strain) repOut = "/Volumes/BioSan/Users/friedrich/GB-3G/BWA/Mito/%s" % strain ref = "/Volumes/BioSan/Users/friedrich/GB-3G/SequenceReference/Sakl/Mito/mito%s.fasta" % (refSt) #ref = "/Volumes/BioSan/Users/friedrich/GB-3G/SequenceReference/Sakl/Mito/mitoCBS5828.fasta" if not os.path.isdir(repOut): os.mkdir(repOut) cmdA = "chmod 777 %s" % repOut os.system(cmdA) outBWA = "aln_%s_unmapped" % strain opt = "-n 8 -o 2" if not "Run3" in reads1: opt += " -I" #opt = "-n 10 -o 4" #ficSam = traitementBWA.lanceBWA(outBWA2,lUnmappedReads[0],lUnmappedReads[1],repOut,ref,opt) ficSam = traitementBWA.lanceBWA(outBWA, reads1, reads2, repOut, ref, opt) #ficSam = traitementBWA.lanceBWA(outBWA,reads1,reads2,repOut,ref) ficSamInRef = traitementSamtools.deconvolueSam(ficSam) # renomme le fichier de mapping ficSamAll = "%s/aln_%s_unmapped_PE.sam" % (repOut, strain) cmdB = "mv %s %s" % (ficSamInRef, ficSamAll) os.system(cmdB) #traitementSamtools.lancePipeSamtools(ficSamAll,ref) # 1ere etape est de retirer les ali avec flag ? a 0 dans les bam # puis qq stats et estimation du nombre de SNP etc ficVarFilter = traitementSamtools.lancePipeSamtoolsSansRel(ficSamAll, ref) #ficVarFilter = traitementSamtools.lancePipeSamtools(ficSamAll,ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def pipeSakl(strain,run): if run == "run2": reads1 = "/Volumes/BioSan/Users/friedrich/GB-3G/Reads/Run2/s_3_1_%s_unmapped_unmapped.fq" % (strain) reads2 = "/Volumes/BioSan/Users/friedrich/GB-3G/Reads/Run2/s_3_2_%s_unmapped_unmapped.fq" % (strain) else: reads1 = "/Volumes/BioSan/Users/friedrich/GB-3G/Reads/s_8_1_%s_unmapped_unmapped.fq" % (strain) reads2 = "/Volumes/BioSan/Users/friedrich/GB-3G/Reads/s_8_2_%s_unmapped_unmapped.fq" % (strain) repOut = "/Volumes/BioSan/Users/friedrich/GB-3G/BWA/Mito/%s" % strain ref = "/Volumes/BioSan/Users/friedrich/GB-3G/SequenceReference/Sakl/Mito/test_sc.tfa" if not os.path.isdir(repOut): os.mkdir(repOut) cmdA = "chmod 777 %s" % repOut os.system(cmdA) outBWA = "alnMitotest_sc_%s_1" % strain opt = "-n 3" ficSam = traitementBWA.lanceBWA(outBWA,reads1,reads2,repOut,ref,opt) ficSamInRef = deconvolueSam(ficSam) lancePipeSamtools(ficSamInRef,ref) ficVarFilter = lanceSamtools(ficSam,ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def varFilConc(ficPileup): samtools = "/Volumes/BioSan/opt/samtools-0.1.8/samtools" samtools2 = "/Volumes/BioSan/opt/samtools/samtools" bcftools = "/Volumes/BioSan/opt/samtools/bcftools" samtoolsPl = "/Volumes/BioSan/opt/samtools-0.1.8/misc/samtools.pl" vcfutilsPl = "/Volumes/BioSan/opt/samtools/vcfutils.pl" #ref = "/Volumes/BioSan/Users/friedrich/GB-3G/SequenceReference/Sakl/Mito/test_sc.tfa" ref = "/Volumes/BioSan/Users/friedrich/GB-3G/SequenceReference/Sakl/Mito/Contigs4_align63-75.tfa" # varfilter out1 = "%s.varfilter" % ficPileup cmd1 = "%s varFilter -d 12 -D 200000 %s &> %s" % (samtoolsPl,ficPileup,out1) # varfilter -p out2 = "%s-p.varfilter" % ficPileup cmd2 = "%s varFilter -p -d 12 -D 200000 %s &> %s" % (samtoolsPl,ficPileup,out2) os.system(cmd1) os.system(cmd2) traitementSamtools.fromVarfilter2tsvLike(out1) #extrait consensus ficBam = ficPileup.replace(".pileup","") out3 = "%s-cns.fq" % ficPileup cmd3 = "%s mpileup -6 -C50 -A -uf %s %s|%s view -cg -|%s vcf2fq> %s" % (samtools2,ref,ficBam,bcftools,vcfutilsPl,out3) os.system(cmd3) fromFq2Tfa(out3)
def lanceGenerationTsv(): liStrains = ['55-86_1','62-196','62-1041','67-588','CBS2861','CBS4104','CBS4568','CBS5828','CBS6545','CBS6547','CBS6626','CBS10367','CBS10368','dd281a','DBVPG3108','DBVPG4002','68917-2','CBS10369','CBS6546','DBVPG3452','NRBC101999','NRBC10572','NRBC10955','NRBC1811','NRBC1892'] rep = "/Volumes/BioSan/Users/friedrich/GB-3G/BWA/Nuclear/MatePair" for strain in liStrains: print "traite %s" % strain repStrain = "%s/%s" % (rep,strain) ficVar = "%s/alnFin-%sPE-rel.sorted.inRef.bam.pileup.varfilter" % (repStrain,strain) traitementSamtools.fromVarfilter2tsvLike(ficVar)
def lanceFinTraitement(strain): ficSam1 = "%s/aln_%sSE.sam" % (strain, strain) ficSam = "%s/aln_%sSE-rel.sorted.sam" % (strain, strain) if not os.path.isfile(ficSam1): ficSam = "%s/aln_%s_1PE-rel.sorted.sam" % (strain, strain) print ficSam ref = "/Volumes/BioSan/Users/friedrich/GB-3G/SequenceReference/Sakl/Index/BWA/saklRef.fasta" ficVarFilter = traitementSamtools.lanceFinPipeSamtools(ficSam, ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def demiPipe(): # liStrains = ['55-86_1','62-196','62-1041','67-588','77-1003','CBS2861','CBS4104','CBS4568','CBS5828','CBS6545','CBS6547','CBS6626','CBS10367','CBS10368','dd281a','DBVPG3108','DBVPG4002','NCYC543'] liStrains = ['62-196', '62-1041', '67-588', '77-1003', 'CBS2861', 'CBS4104', 'CBS4568', 'CBS5828', 'CBS6545', 'CBS6547', 'CBS6626', 'CBS10367', 'CBS10368', 'dd281a', 'DBVPG3108', 'DBVPG4002', 'NCYC543'] ref = "/Volumes/BioSan/Users/friedrich/GB-3G/SequenceReference/Sakl/Index/BWA/saklRef.fasta" rep = "/Volumes/BioSan/Users/friedrich/GB-3G/BWA/Nuclear/CleanPE" for strain in liStrains: repStrain = "%s/%s" % (rep, strain) ficBam = "%s/aln_%s_PE-rel.sorted.bam" % (repStrain, strain) ficVarFilter = lanceDemiPipeSamtools(ficBam, ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def pipeSakl(strain): reads1 = "/Volumes/BioSan/Users/friedrich/GB-3G/Reads/Run3/CleanPE/s_1_%s-trim.fq" % (strain) reads2 = "/Volumes/BioSan/Users/friedrich/GB-3G/Reads/Run3/CleanPE/s_2_%s-trim.fq" % (strain) repOut = "/Volumes/BioSan/Users/friedrich/GB-3G/BWA/Nuclear/CleanPE/%s" % strain ref = "/Volumes/BioSan/Users/friedrich/GB-3G/SequenceReference/Sakl/Index/BWA/saklRef.fasta" if not os.path.isdir(repOut): os.mkdir(repOut) cmdA = "chmod 777 %s" % repOut os.system(cmdA) outBWA = "aln_%s_1Bis" % strain opt = "" if not "Run3" in reads1: opt += "-I" ficSam = traitementBWA.lanceBWA(outBWA, reads1, reads2, repOut, ref, opt) #ficSam = "%s/%sPE.sam" % (repOut,outBWA) # conversion du ficSam traditionnel en ficSam avec Flags textuels ficSamX = traitementSamtools.convertFlag(ficSam) #ficSamX = "%s-X" % ficSam # extraction des ali de reads paires de ficSam a partir des infos de ficSamX ficSamCorrect = traitementBWA.extraitCorrectlyPairedFromSam(ficSamX, ficSam) #ficSamCorrect = "%s/aln_%s_1BisPE.sam-correct" % (repOut,strain) lUnmappedReads = traitementBWA.extraitUnmappedReadsPair(ficSamCorrect, reads1, reads2) opt += " -n 8 -o 2" outBWA2 = "aln_%s_unmapped" % strain ficSamUnmapped = traitementBWA.lanceBWA(outBWA2, lUnmappedReads[0], lUnmappedReads[1], repOut, ref, opt) #ficSamUnmapped = "%s/aln_%s_unmappedPE.sam" % (repOut,strain) ficSamUnmappedInRef = traitementSamtools.deconvolueSam(ficSamUnmapped) # concatenation des 2 fichiers sam : d abord les unmapped pour avoir le header, puis ficSamCorrected ficSamAll = "%s/aln_%s_PE.sam" % (repOut, strain) cmdB = "cat %s %s > %s" % (ficSamUnmappedInRef, ficSamCorrect, ficSamAll) # a partir de celui-ci extraction des ali des paires OK os.system(cmdB) # je peux creer les fic de reads unmapped pour mito a partir de la aussi # ils s appelleront xxx_unmapped_unmapped.fq lReadsUnmappedPourMito = traitementBWA.extraitUnmappedReadsPair(ficSamUnmappedInRef, lUnmappedReads[0], lUnmappedReads[1]) #traitementSamtools.lancePipeSamtools(ficSamAll,ref) # 1ere etape est de retirer les ali avec flag ? a 0 dans les bam ficVarFilter = traitementSamtools.lancePipeSamtools(ficSamAll, ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def pipeIncomp16(strain,out): reads = "/Volumes/BioSan/Users/friedrich/Incompatibilite/Reads/%s/NG-5435_%s_sequence.fastq" % (strain,strain[:-2]) repOut = "/Volumes/BioSan/Users/friedrich/Incompatibilite/BWA/Chrom16/%s" % strain ref = "/Volumes/BioSan/Users/friedrich/Incompatibilite/ReferenceSequence/FY/Index/BWA/chrom16_350000-420000.fasta" if not os.path.isdir(repOut): os.mkdir(repOut) cmdA = "chmod 777 %s" % repOut os.system(cmdA) ficSam = traitementBWA.lanceBWAsamse(strain,out,reads,repOut,ref) ficSam = "%s/%sSE.sam" % (repOut,out) ficSamInRef = traitementSamtools.deconvolueSam(ficSam) # 1ere etape est de retirer les ali avec flag ? a 0 dans les bam ficVarFilter = traitementSamtools.lancePipeSamtools(ficSamInRef,ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def pipeIncompPE(strain): reads1 = "/Volumes/BioSan/Users/friedrich/Reads/BGI/Run1Feb2013/%s/%s_1.fq" % (strain,strain) reads2 = "/Volumes/BioSan/Users/friedrich/Reads/BGI/Run1Feb2013/%s/%s_2.fq" % (strain,strain) repOut = "/Volumes/BioSan/Users/jhou/Documents/Incompatibility/BWA/%s" % strain ref = "/Volumes/BioSan/Users/friedrich/ReferenceSequence/LaKl/CBS3082/saklRef.fasta" if not os.path.isdir(repOut): os.mkdir(repOut) cmdA = "chmod 777 %s" % repOut os.system(cmdA) opt = "-n 5 -o 1" opt = "" out = "aln-ref%s" % strain ficSam = traitementBWA.lanceBWA(out,reads1,reads2,repOut,ref,opt) ficSamInRef = traitementSamtools.deconvolueSam(ficSam) # 1ere etape est de retirer les ali avec flag ? a 0 dans les bam ficVarFilter = lancePipeSamtoolsJing(ficSamInRef,ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def pipeIncompPE(strain): reads1 = "/Volumes/BioSan/Users/jhou/Documents/Reads/Pool-gly-R/%s_Cleandata_1.fq" % strain reads2 = "/Volumes/BioSan/Users/jhou/Documents/Reads/Pool-gly-R/%s_Cleandata_2.fq" % strain repOut = "/Volumes/BioSan/Users/jhou/Documents/Incompatibility/BWA/test/%s" % strain ref = "/Volumes/BioSan/Users/friedrich/Incompatibilite/ReferenceSequence/FY/Index/BWA/FYref.tfa" if not os.path.isdir(repOut): os.mkdir(repOut) cmdA = "chmod 777 %s" % repOut os.system(cmdA) opt = "-n 5 -o 1" opt = "" out = "aln-%s" % strain ficSam = traitementBWA.lanceBWA(out,reads1,reads2,repOut,ref,opt) ficSamInRef = traitementSamtools.deconvolueSam(ficSam) # 1ere etape est de retirer les ali avec flag ? a 0 dans les bam ficVarFilter = lancePipeSamtoolsJing(ficSamInRef,ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def pipeCramORI(): reads1 = "/Volumes/BioSan/Users/friedrich/Dikaryome/Reads/Cram/CleanPE/AQF_AFOSU_4_all_707WBAAXX-trim.fq" #reads2 = "/Volumes/BioSan/Users/friedrich/Dikaryome/Reads/Cram/CleanPE/AQF_AFOSU_4_2_707WBAAXX-trim.fq" repOut = "/Volumes/BioSan/Users/friedrich/Dikaryome/BWA/CramVsDeha" ref = "/Volumes/BioSan/Users/friedrich/Dikaryome/ReferenceSequences/Deha/Index/BWA/genomeDeha.tfa" if not os.path.isdir(repOut): os.mkdir(repOut) cmdA = "chmod 777 %s" % repOut os.system(cmdA) outBWA = "aln_CramVsDeha" opt = "-n 8 -o 2" ficSam = traitementBWA.lanceBWAsamse(outBWA,reads1,repOut,ref,opt) #ficSam = "aln_CramVsDeha_1SE.sam" # determination des unmapped reads #lUnmappedReads = traitementBWA.extraitUnmappedReadsPair(ficSamCorrect,reads1,reads2) # mapping de ces "unmapped" avec des parametres moins stringents #outBWA2 = "aln_CramVsDeha_unmapped" #ficSamUnmapped = traitementBWA.lanceBWA(outBWA2,lUnmappedReads[0],lUnmappedReads[1],repOut,ref,opt) #ficSamUnmappedInRef = traitementSamtools.deconvolueSam(ficSamUnmapped) # concatenation des 2 fichiers sam : d abord les unmapped pour avoir le header, puis ficSamCorrected #ficSamAll = "%s/aln_CramVsDeha_PE.sam" % (repOut) #cmdB = "cat %s %s > %s" % (ficSamUnmappedInRef,ficSamCorrect,ficSamAll) # a partir de celui-ci extraction des ali des paires OK #os.system(cmdB) # je peux creer les fic de reads unmapped pour mito a partir de la aussi # ils s appelleront xxx_unmapped_unmapped.fq #lReadsUnmappedPourMito = traitementBWA.extraitUnmappedReadsPair(ficSamUnmappedInRef,lUnmappedReads[0],lUnmappedReads[1]) ficVarFilter = traitementSamtools.lancePipeSamtoolsSansRel(ficSam,ref) # 1ere etape est de retirer les ali avec flag ? a 0 dans les bam traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def pipeIncompSE(strain): reads = "/Volumes/BioSan/Users/friedrich/Incompatibilite/Reads/Run5/s_%s_all-trim.fq" % (strain) repOut = "/Volumes/BioSan/Users/friedrich/Incompatibilite/BWA/%s" % strain ref = "/Volumes/BioSan/Users/friedrich/Incompatibilite/ReferenceSequence/FY/test_ref/FYref.fasta" if not os.path.isdir(repOut): os.mkdir(repOut) cmdA = "chmod 777 %s" % repOut os.system(cmdA) opt = "-n 5 -o 1" opt = "" out = "aln-%s" % strain ficSam = traitementBWA.lanceBWAsamse(out,reads,repOut,ref,opt) #ficSam = "%s/%sSE.sam" % (repOut,out) ficSamInRef = traitementSamtools.deconvolueSam(ficSam) #ficSamInRef = "%s/%sSE.sam.inRef" % (repOut,out) # 1ere etape est de retirer les ali avec flag ? a 0 dans les bam ficVarFilter = lancePipeSamtoolsJing(ficSamInRef,ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def pipeIncompPE(strain): reads1 = "/Volumes/BioSan/Users/friedrich/Reads/Genoscope/1002YeastGenomes/201307/BCM_%sOSW_6_1_C2420ACXX.%s_clean.fastq" % ( strain.split("-")[0], strain.split("-")[1]) reads2 = "/Volumes/BioSan/Users/friedrich/Reads/Genoscope/1002YeastGenomes/201307/BCM_%sOSW_6_2_C2420ACXX.%s_clean.fastq" % ( strain.split("-")[0], strain.split("-")[1]) repOut = "/Volumes/BioSan/Users/friedrich/1002YeastGenomes/BWA/%s" % strain ref = "/Volumes/BioSan/Users/friedrich/Incompatibilite/ReferenceSequence/FY/test_ref/FYref.tfa" if not os.path.isdir(repOut): os.mkdir(repOut) cmdA = "chmod 777 %s" % repOut os.system(cmdA) opt = "-n 5 -o 1" opt = "" out = "aln-%s" % strain ficSam = traitementBWA.lanceBWA(out, reads1, reads2, repOut, ref, opt) ficSamInRef = traitementSamtools.deconvolueSam(ficSam) # 1ere etape est de retirer les ali avec flag ? a 0 dans les bam ficVarFilter = lancePipeSamtoolsJing(ficSamInRef, ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def pipeSace(strain): reads1 = "/Volumes/BioSan/Users/ssiguenza/Projets/MiSeqDunham/RunOct2012/%s/CleanPE/s_1_%s-trim-clean.fq" % (strain,strain) reads2 = "/Volumes/BioSan/Users/ssiguenza/Projets/MiSeqDunham/RunOct2012/%s/CleanPE/s_2_%s-trim-clean.fq" % (strain,strain) repOut = "/Volumes/BioSan/Users/friedrich/NIH/RunOct2012/%s/n9o2" % strain ref = "/Volumes/BioSan/Users/friedrich/Incompatibilite/ReferenceSequence/FY/Index/BWA/FYref.tfa" if not os.path.isdir(repOut): os.mkdir(repOut) cmdA = "chmod 777 %s" % repOut os.system(cmdA) outBWA = "aln_%s" % strain opt = "-n 9 -o 2" #opt += " -I" ficSamAll = traitementBWA.lanceBWA(outBWA,reads1,reads2,repOut,ref,opt) ficSamAll = "%s/aln_%sPE.sam" % (repOut,strain) ficVarFilter = traitementSamtools.lancePipeSamtools(ficSamAll,ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def pipeSaklEnd(strain): repOut = "/Volumes/BioSan/Users/friedrich/GB-3G/BWA/Nuclear/RawPE/%s" % strain ref = "/Volumes/BioSan/Users/friedrich/GB-3G/SequenceReference/Sakl/Index/BWA/saklRef.fasta" lUnmappedReads = list() lUnmappedReads.append("/Volumes/BioSan/Users/friedrich/GB-3G/Reads/Run3/s_1_%s_unmapped.fq" % strain) lUnmappedReads.append("/Volumes/BioSan/Users/friedrich/GB-3G/Reads/Run3/s_2_%s_unmapped.fq" % strain) ficSamCorrect = "%s/aln_%s_1BisPEBis.sam-correct" % (repOut,strain) ficSamUnmappedInRef = "%s/aln_%s_unmappedPEBis.sam.inRef" % (repOut,strain) ficSamAll = "%s/aln_%s_PEBis.sam" % (repOut,strain) cmdB = "cat %s %s > %s" % (ficSamUnmappedInRef,ficSamCorrect,ficSamAll) # a partir de celui-ci extraction des ali des paires OK os.system(cmdB) # je peux creer les fic de reads unmapped pour mito a partir de la aussi # ils s appelleront xxx_unmapped_unmapped.fq lReadsUnmappedPourMito = traitementBWA.extraitUnmappedReadsPair(ficSamUnmappedInRef,lUnmappedReads[0],lUnmappedReads[1]) #traitementSamtools.lancePipeSamtools(ficSamAll,ref) # 1ere etape est de retirer les ali avec flag ? a 0 dans les bam ficVarFilter = traitementSamtools.lancePipeSamtools(ficSamAll,ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def pipeGono(strain): reads1 = "/Volumes/BioSan/Users/friedrich/Reads/BGI/Run2Jan2013/%s/CleanPE/%s_Cleandata_1-trim.fq" % ( strain, strain) reads2 = "/Volumes/BioSan/Users/friedrich/Reads/BGI/Run2Jan2013/%s/CleanPE/%s_Cleandata_2-trim.fq" % ( strain, strain) repOut = "/Volumes/BioSan/Users/friedrich/Gonorrhoeae/BWA/%s" % strain ref = "/Volumes/BioSan/Users/friedrich/ReferenceSequence/Gonorrhoeae/NCCP11945/NCCP11945.fasta" if not os.path.isdir(repOut): os.mkdir(repOut) cmdA = "chmod 777 %s" % repOut os.system(cmdA) outBWA = "aln_%s" % strain opt = "" #opt = "-n 9 -o 2" #opt += " -I" #ficSamAll = traitementBWA.lanceBWA(outBWA,reads1,reads2,repOut,ref,opt) ficSamAll = "%s/aln_%sPE.sam" % (repOut, strain) ficVarFilter = lancePipeSamtools(ficSamAll, ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def pipeIncompMito(strain): #reads = "/Volumes/BioSan/Users/friedrich/Incompatibilite/Reads/Run5/s_%s-trim.fq" % (strain) #repOut = "/Volumes/BioSan/Users/friedrich/Incompatibilite/BWA/%s" % strain ref = "/Volumes/BioSan/Users/friedrich/Incompatibilite/ReferenceSequence/FY/Index/BWA/mitoRefnew.fasta" reads1 = "/Volumes/BioSan/Users/friedrich/Incompatibilite/Reads/Run2BGI/%s.L500_1.fq" % (strain) reads2 = "/Volumes/BioSan/Users/friedrich/Incompatibilite/Reads/Run2BGI/%s.L500_2.fq" % (strain) repOut = "/Volumes/BioSan/Users/jhou/Documents/Incompatibility/BWA/%s_mitoBIS" % strain #ref = "/Volumes/BioSan/Users/friedrich/Incompatibilite/ReferenceSequence/FY/test_ref/mitoRef.fasta" if not os.path.isdir(repOut): os.mkdir(repOut) cmdA = "chmod 777 %s" % repOut os.system(cmdA) opt = "-n 5 -o 2" opt = "" out = "aln-Mito%s" % strain ficSam = traitementBWA.lanceBWA(out,reads1,reads2,repOut,ref,opt) #ficSam = "%s/%sSE.sam" % (repOut,out) ficSamInRef = traitementSamtools.deconvolueSam(ficSam) # 1ere etape est de retirer les ali avec flag ? a 0 dans les bam ficVarFilter = lancePipeSamtoolsJing(ficSamInRef,ref) traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)
def lanceSamtoolsSurDenovo(ficSam, ref): # transfo du .sam en .bam ficBam = ficSam.replace("sam", "bam") cmd1 = "%s view -bT %s %s > %s" % (csys.SAMTOOLS, ref, ficSam, ficBam) # trie du fichier bam out3 = ficBam.replace("bam", "sorted") cmd3 = "%s sort %s %s" % (csys.SAMTOOLS, ficBam, out3) # indexation du fichier bam trie out4 = "%s.bam" % (out3) cmd4 = "%s index %s" % (csys.SAMTOOLS, out4) # stats sur les alignements out5 = "%s.readstat" % (out4) cmd5 = "%s flagstat %s > %s" % (csys.SAMTOOLS, out4, out5) # stats sur le recouvrement par chrom out6 = "%s.chromstat" % (out4) cmd6 = "%s idxstats %s > %s" % (csys.SAMTOOLS, out4, out6) # pileup out7 = "%s.pileupI" % out4 cmd7 = "%s pileup -c -f %s %s > %s" % (csys.SAMTOOLS, ref, out4, out7) out7B = "%s.pileup" % out4 # varfilter out8 = "%s.varfilter" % out7 cmd8 = "%s varFilter -q 25 -d 1 -D 200000 -N 10 %s &> %s" % (csys.SAMTOOLSPl, out7B, out8) # varfilter -p out9 = "%s-p.varfilter" % out7B cmd9 = "%s varFilter -p -q 25 -d 1 -D 200000 -N 10 %s &> %s" % (csys.SAMTOOLSPl, out7B, out9) os.system(cmd1) os.system(cmd3) os.system(cmd4) os.system(cmd5) os.system(cmd6) os.system(cmd7) traitementSamtools.cleanPileup(out7, out7B) os.system(cmd8) traitementSamtools.fromVarfilter2tsvLike(out8)
def lancePipeSamtools(): ref = "/Volumes/BioSan/Users/friedrich/ArbreJing/SequenceReference/BUSeq/s288c-R61.fasta" allfile = glob.glob("/Volumes/BioSan/Users/friedrich/ArbreJing/BWA/*/*.sam") allfile = glob.glob("/Volumes/BioSan/Users/friedrich/ArbreJing/BWA/CECT10266_1b/*.sam.inRef") for ficSam in allfile: # transfo du .sam en .bam ficBam = ficSam.replace("sam","bam") cmd1 = "%s view -bT %s %s > %s" % (csys.SAMTOOLS,ref,ficSam,ficBam) # trie du fichier bam out3 = ficBam.replace("bam","sorted") cmd3 = "%s sort %s %s" % (csys.SAMTOOLS,ficBam,out3) # indexation du fichier bam trie out4 = "%s.bam" % (out3) cmd4 = "%s index %s" % (csys.SAMTOOLS,out4) # stats sur les alignements out5 = "%s.readstat" % (out4) cmd5 = "%s flagstat %s > %s" % (csys.SAMTOOLS,out4, out5) # stats sur le recouvrement par chrom out6 = "%s.chromstat" % (out4) cmd6 = "%s idxstats %s > %s" % (csys.SAMTOOLS,out4, out6) out7 = "%s.pileupI" % out4 cmd7 = "%s pileup -c -f %s %s > %s" % (csys.SAMTOOLS,ref,out4,out7) #os.system(cmd1) #os.system(cmd3) #os.system(cmd4) #os.system(cmd5) #os.system(cmd6) #os.system(cmd7) out7 = "alnFin-CECT10266_1bPE-rel.sorted.inRef.bam.pileupI" out8 = "%s.varfilter" % out7 cmd8 = "%s varFilter -d 1 %s &> %s" % (csys.SAMTOOLSPl,out7,out8) os.system(cmd8) traitementSamtools.fromVarfilter2tsvLike(out8)
def lanceVF2tsv(ficVarFilter): traitementSamtools.fromVarfilter2tsvLike(ficVarFilter)