예제 #1
0
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)
예제 #2
0
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)