def lancePipeSamtoolsJing(ficSam,ref): # transfo du .sam en .bam ficBam = ficSam.replace("sam","bam") cmd1 = "%s view -bT %s %s > %s" % (csys.SAMTOOLS,ref,ficSam,ficBam) # transfo du .bam en -rel.bam ficBamRel = ficBam.replace(".bam","-rel.bam") cmd2 = "%s view -b -q 1 %s > %s" % (csys.SAMTOOLS,ficBam,ficBamRel) # trie du fichier bam out3 = ficBamRel.replace("bam","sorted") cmd3 = "%s sort %s %s" % (csys.SAMTOOLS,ficBamRel,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 # attention, si on compare a GATC, genre pos 8938 on a une diff (GATC : a M, nous : a A) # est sans doute base 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" % out7B cmd8 = "%s varFilter -q 25 -d 20 -D 200000 -W 30 -N 10 %s &> %s" % (csys.SAMTOOLSPl,out7B,out8) # varfilter -p out9 = "%s-p.varfilter" % out7B cmd9 = "%s varFilter -p -q 25 -d 20 -D 200000 -W 30 -N 10 %s &> %s" % (csys.SAMTOOLSPl,out7B,out9) #decomposeVarfiler(out8) os.system(cmd1) os.system(cmd2) os.system(cmd3) os.system(cmd4) os.system(cmd5) os.system(cmd6) os.system(cmd7) traitementSamtools.cleanPileup(out7,out7B) os.system(cmd8) os.system(cmd9) os.remove(ficBam) os.remove(ficBamRel) return out8
def lanceDemiPipeSamtools(ficBam, ref): # pileup # attention, si on compare a GATC, genre pos 8938 on a une diff (GATC : a M, nous : a A) # est sans doute base out7 = "%s.pileupI" % ficBam cmd7 = "%s pileup -c -f %s %s > %s" % (csys.SAMTOOLS, ref, ficBam, out7) out7B = "%s.pileup" % ficBam # varfilter out8 = "%s.varfilter" % out7B cmd8 = "%s varFilter -q 25 -d 20 -D 200000 -W 30 -N 10 %s &> %s" % (csys.SAMTOOLSPl, out7B, out8) # varfilter -p out9 = "%s-p.varfilter" % out7B cmd9 = "%s varFilter -p -q 25 -d 20 -D 200000 -W 30 -N 10 %s &> %s" % (csys.SAMTOOLSPl, out7B, out9) #decomposeVarfiler(out8) os.system(cmd7) traitementSamtools.cleanPileup(out7, out7B) os.system(cmd8) os.system(cmd9) return out8
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)