Exemplo n.º 1
0
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) 
Exemplo n.º 2
0
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)