def find_presence(gene,filelist,algene): fpri = [] rpri = [] for x in filelist: if(gene in x): fpri,rpri = utils.read_trad_primer(x) fon = [] for i in range(0,len(fpri)): if(utils.if_amplified(fpri[i],rpri[i],algene[gene])): fon.append([fpri[i],rpri[i]]) return fon
def main(): #read list list_gene = {} for line in open(sys.argv[1],'r'): spl = line.strip().split('\t') if(list_gene.has_key(spl[2])): temp = list_gene[spl[2]] temp.append(spl[1]) list_gene[spl[2]] = temp else: temp = [spl[1]] list_gene[spl[2]] = temp #read fasta fafile = sys.argv[2] faseq = utils.read_fasta_usda(fafile) #read primers -> primer mypath = sys.argv[3] onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))] primer = {} for file in onlyfiles: if (file[:1] == "."): continue fullpath = mypath+file fpri,rpri = utils.read_trad_primer(fullpath) locus = file.split('.')[0] if(primer.has_key(locus)): temp = primer[locus] temp.append([fpri,rpri]) primer[locus] = temp else: primer[locus] = [fpri,rpri] # print list_gene for item in list_gene.items(): if(len(item[1]) >1): genename = item[0] g1 = item[1][0] g2 = item[1][1] if( primer.has_key(g1) and primer.has_key(g2)): find_least_primer_two_gene(g1,g2,faseq,primer,genename) #else: # print g1,g2 else: genename = item[0] g1 = item[1][0] if(primer.has_key(g1)): find_lease_primer_one_gene(g1,faseq,primer,genename)
def main(): oligotm = sys.argv[1] ntthal = sys.argv[2] minTm = 55 maxTm = 100 maxHair = 24 #read primer file = sys.argv[3] fpri,rpri = utils.read_trad_primer(file) #print fpri #print rpri for f in fpri: check_mt(f,oligotm, minTm, maxTm) check_hair(f,ntthal,maxHair) for r in rpri: check_mt(r,oligotm, minTm, maxTm) check_hair(r,ntthal,maxHair)
def main(): min = 200 max = 370 #parameters that used mis = 0 #read primer fpri, rpri = utils.read_trad_primer(sys.argv[1]) lfile = sys.argv[2] num = 0 seq = utils.read_fasta(sys.argv[2]) for item in seq.items(): se = item[1] for f in fpri: for i in range(0, len(se)-len(f)): str1 = se[i:len(f)+i] #print str1, f #print mismatch(str1,f,mis) if mismatch(str1,f,mis): #print "match" num += 1 output = ">F:"+lfile+"_"+str(num)+"\n"+f+'\n' #print output #print ">F:",f, i for r in rpri: rp = r for j in range(0, len(se)-len(rp)): str2 = se[j:len(rp)+j] if mismatch(str2,rp,mis): #print "match" frp = reverse_complement.get_rc(rp) #print ">R:",frp,j+len(rp), j+len(rp)-i flen = j+len(rp)-i #print flen if(flen >min and flen<max): output = output + ">R:"+lfile+"_"+str(num)+"\n"+frp+'\n' print output