def defSimilarite(fic): """ """ lines = open(fic,"r").read().split("\n") for line in lines: if line != "": nsimg = "-" nsimp = "-" simg = "-" simp = "-" lis = line.split("\t") loc1 = lis[0] loc2 = lis[2] if loc1 != "" and loc2 != "": ficg1 = "FastaGene/%s.tfa" % loc1 ficg2 = "FastaGene/%s.tfa" % loc2 ficp1 = "FastaProt/%s.tfa" % loc1 ficp2 = "FastaProt/%s.tfa" % loc2 outf = "%s-%s.needle" % (files.get_name(ficg1).lower(),files.get_name(ficg2).lower()) if os.path.isfile("FastaGene/%s" % outf): sizeg1 = len(fasta.seqEnVar(ficg1)) sizeg2 = len(fasta.seqEnVar(ficg2)) if sizeg1 > sizeg2: sizeg = sizeg2 else: sizeg = sizeg1 simg = string.atof(alignement.extrait_sim_needle("FastaGene/%s" % outf)) nsimg = alignement.extrait_nbsim_needle("FastaGene/%s" % outf) nsimg = string.atof(nsimg)/sizeg*100 if os.path.isfile("FastaProt/%s" % outf): sizep1 = len(fasta.seqEnVar(ficp1)) sizep2 = len(fasta.seqEnVar(ficp2)) if sizep1 > sizep2: sizep = sizep2 else: sizep = sizep1 simp = string.atof(alignement.extrait_sim_needle("FastaProt/%s" % outf)) nsimp = alignement.extrait_nbsim_needle("FastaProt/%s" % outf) nsimp = string.atof(nsimp)/sizep*100 if simp != "-" and simg != "-": print "%.1f\t%.1f\t%s\t%s\t%.1f\t%.1f\t" % (simg,simp,loc1,loc2,nsimg,nsimp) else: print "%s\t%s\t%s\t%s\t%s\t%s" % (simg,simp,loc1,loc2,nsimg,nsimp) else: print "\t\t%s\t%s" % (loc1,loc2)
def calcIdent(fic): """ """ if os.path.isdir(fic): allfile = glob.glob("%s/*.tfa" % fic) fout = "ficOut" f = open(fout,"w") f.write("el1\tel2\tid\tsim\n") listFic = allfile for file in allfile : f1 = listFic[0] listFic = listFic[1:] for f2 in listFic: #ficg1 = "FastaGene/%s.tfa" % loc1[0:-1] #ficg2 = "FastaGene/%s.tfa" % loc2[0:-1] #ficp1 = "FastaProt/%s.tfa" % loc1[0:-1] #ficp2 = "FastaProt/%s.tfa" % loc2[0:-1] name = "%s-%s.needle" % (files.get_name(f1).lower(),files.get_name(f2).lower()) outfile = "%s/%s" % (fic, name) if not os.path.isfile(outfile): alignement.ali_needle(f1,f2,outfile) if os.path.isfile(outfile): id = alignement.extrait_id_needle(outfile) sim = alignement.extrait_sim_needle(outfile) f.write("%s\t%s\t%s\t%s\n" % (files.get_name(f1),files.get_name(f2),id,sim)) f.close()
def defSimilaritePseudo(fic): """ """ lines = open(fic,"r").read().split("\n") for line in lines: if line != "": nsimg = "-" simg = "-" lis = line.split("\t") loc1 = lis[0] loc2 = lis[2] if loc1 != "" and loc2 != "": ficg1 = "Genes+Pseudos/%s.tfa" % loc1 ficg2 = "Genes+Pseudos/%s.tfa" % loc2 outf = "%s-%s.needle" % (files.get_name(ficg1).lower(),files.get_name(ficg2).lower()) if not os.path.isfile("Genes+Pseudos/%s" % outf): alignement.ali_needle(ficg1,ficg2) sizeg1 = len(fasta.seqEnVar(ficg1)) sizeg2 = len(fasta.seqEnVar(ficg2)) if sizeg1 > sizeg2: sizeg = sizeg2 else: sizeg = sizeg1 simg = string.atof(alignement.extrait_sim_needle("Genes+Pseudos/%s" % outf)) nsimg = alignement.extrait_nbsim_needle("Genes+Pseudos/%s" % outf) nsimg = string.atof(nsimg)/sizeg*100 if simg != "-": print "%.1f\t%s\t%s\t%.1f\t" % (simg,loc1,loc2,nsimg) else: print "%s\t%s\t%s\t%s" % (simg,loc1,loc2,nsimg) else: print "\t\t%s\t%s" % (loc1,loc2)