예제 #1
0
def lancementPipeAnalyseComplete(rep):
    
    repSim = "%s/tblastn" % rep
    repGene = "%s/SeqGene" % rep
    repProt = "%s/SeqProt" % rep
    repAliG = "%s/AliGene" % rep
    repAliP = "%s/AliProt" % rep
    repGeneFY = "/Users/afutil/Documents/DataJoseph/SaceStrains/FY/Gene"
    #db = ssys.DB11STRAINS
    #repSeq = ssys.SQ11STRAINS
    db = ssys.DB4STRAINS
    repSeq = ssys.SQ4STRAINS
    
    if not os.path.isdir(repSim):
        os.mkdir(repSim)
    if not os.path.isdir(repGene):
        os.mkdir(repGene)
    if not os.path.isdir(repProt):
        os.mkdir(repProt)
    if not os.path.isdir(repAliG):
        os.mkdir(repAliG)
    if not os.path.isdir(repAliP):
        os.mkdir(repAliP)
    
    for file in glob.glob("%s/*.tfa" % rep):
        suff = files.get_name(file)
        print "sim..."
        ficSim = lanceRechercheSimInc(file,repSim,db)
        print "creation gene..."
        creeGeneSelonSim(ficSim,repGene,repSeq)
        print "creation prot..."
        creeSeqProtSelonSeqGene(suff,repGene,repProt)
        # copie la seq proteique dans le bon rep
        newF = "%s/%s.tfa" % (repProt,suff) 
        shutil.copyfile(file, newF)
        #seqToAlign = "%s-11strains.fasta" % suff
        seqToAlign = "%s-4strains.fasta" % suff
        concatSeqAAligner(suff,repProt,seqToAlign)
        
        # copie la seq nucleique dans le bon rep
        ficG = "%s/%s.tfa" % (repGeneFY,suff)
        newFicG = "%s/%s.tfa" % (repGene,suff)
        shutil.copyfile(ficG, newFicG)
        #seqGToAlign = "%s-G-11strains.fasta" % suff
        seqGToAlign = "%s-G-4strains.fasta" % suff
        concatSeqAAligner(suff,repGene,seqGToAlign)
        
        # construction alignement prot
        print "seqtoalign est: %s" % seqToAlign
        print "alignement..."
        ficAliP = "%s/%s" % (repAliP,seqToAlign)
        if not os.path.isfile(ficAliP):
            #alignement.run_clustalw("%s/%s" % (repProt,seqToAlign),ficAliP,fasta,1)
            alignement.run_mafft("%s/%s" % (repProt,seqToAlign),ficAliP)
        # reste a tranalign en ali gene. attention : je dois aussi cree le fic du gene de fy et l incorpore dans un fic de gene global
        if os.path.isfile(ficAliP):
            ficAliG = "%s/%s" % (repAliG,seqGToAlign)
            alignement.run_tranalign("%s/%s" % (repGene,seqGToAlign),ficAliP,ficAliG)
예제 #2
0
def lanceMicroPipe():
    if not os.path.isdir("SeqGene"):
        os.mkdir("SeqGene")
    if not os.path.isdir("SeqProt"):
        os.mkdir("SeqProt")
    if not os.path.isdir("AliGene"):
        os.mkdir("AliGene")
    if not os.path.isdir("AliProt"):
        os.mkdir("AliProt")
    if not os.path.isdir("PairwiseGene"):
        os.mkdir("PairwiseGene")
    if not os.path.isdir("PairwiseProt"):
        os.mkdir("PairwiseProt")

    blastDB = "/BlastDB/Nucleic/Sace/1002Genomes.nt"

    for gene in glob.glob("*fasta"):
        long = len(fasta.seqEnVar("%s" % gene)) * 3
        #print long
        geneN = files.get_name(gene)
        ficOut = "%s.blastn" % (geneN)
        cmdBl1 = "blast -query %s -db %s -out %s -seg no -soft_masking false" % (gene, blastDB, ficOut)
        cmdBl2 = "blastn -query %s -db %s -out %s-6 -outfmt 6 -seg no m-soft_masking false" % (gene, blastDB, ficOut)
        os.system(cmdBl1)
        os.system(cmdBl2)

        lanceRecupSeq("%s-6" % ficOut, long, geneN)
        #
        concatSeqAAligner(geneN, "SeqGene", "AliGene/%s_all.fasta" % geneN)
        # alignement de ces sequences
        alignement.run_mafft("AliGene/%s_all.fasta" % geneN, "AliGene/%s_all-ali.tfa" % geneN)
        os.system("rm AliGene/%s_all.fasta" % geneN)

        concatPaireSeqAAligner(geneN, "SeqGene", "PairwiseGene/%s.fasta" % geneN)
        alignement.run_mafft("PairwiseGene/%s.fasta" % geneN, "PairwiseGene/%s-ali.fasta" % geneN)
        lignes = open("PairwiseGene/%s-ali.fasta" % geneN, "r").read().split("\n")
        if len(lignes) == 1:
            os.system("rm PairwiseGene/%s-ali.fasta" % geneN)
            os.system("rm PairwiseGene/%s.fasta" % geneN)

        creeSeqProtSelonSeqGene("%s*" % (geneN), "SeqGene", "SeqProt")
        concatPaireSeqAAligner(geneN, "SeqProt", "PairwiseProt/%s.fasta" % geneN)
        alignement.run_mafft("PairwiseProt/%s.fasta" % geneN, "PairwiseProt/%s-ali.fasta" % geneN)
        lignes = open("PairwiseProt/%s-ali.fasta" % geneN, "r").read().split("\n")
        if len(lignes) == 1:
            os.system("rm PairwiseProt/%s-ali.fasta" % geneN)
            os.system("rm PairwiseProt/%s.fasta" % geneN)

        concatSeqAAligner(geneN, "SeqProt", "AliProt/%s_all.fasta" % geneN)
        # alignement de ces sequences
        alignement.run_mafft("AliProt/%s_all.fasta" % geneN, "AliProt/%s_all-ali.tfa" % geneN)
        os.system("rm AliProt/%s_all.fasta" % geneN)