예제 #1
0
    def addReferences(self, mindil=1, nsteps=6, dstep=4, nreplicates=1, ref=None, primers=None):
        """Add all needed references"""
        # print "addReferences(mindil=",mindil,", nsteps=",nsteps,", dstep=",dstep,", nrep=", nreplicates, ", ref=",ref,")"
        # Make sure the ref reagent is loaded
        if ref is None:
            ref = reagents.getsample("QPCRREF")
        if primers is None:
            primers = self.allprimers()
        dils = [1.0]
        for i in range(nsteps):
            needDil = mindil * math.pow(dstep, i)
            srcDil = 1
            src = [ref]
            for j in range(len(dils)):
                if needDil / dils[j] <= self.MAXDIL:
                    srcDil = dils[j]
                    if srcDil == 1:
                        src = [ref]
                    else:
                        srcname = "%s.D%d" % (ref.name, srcDil)
                        src = [Sample.lookup(srcname)]
                        if src[0] is None:
                            src = [Sample(srcname, decklayout.DILPLATE)]
                    break
            tmp = self.MINDILVOL
            self.MINDILVOL = 75  # Make sure there's enough for resuing dilutions
            self.addSamples(src=src, needDil=needDil / srcDil, primers=primers, nreplicates=nreplicates,
                            save=needDil / srcDil > self.MAXDIL, saveVol=75)
            self.MINDILVOL = tmp
            dils.append(needDil)

        self.addSamples(src=[self.dilutant], needDil=1, primers=primers, nreplicates=nreplicates, save=False)
예제 #2
0
파일: QSetup.py 프로젝트: jsxiang/pyTecan
    def addReferences(self,mindil=1,nsteps=6,dstep=4,nreplicates=1,ref=None,primers=None):
        'Add all needed references'
        #print "addReferences(mindil=",mindil,", nsteps=",nsteps,", dstep=",dstep,", nrep=", nreplicates, ", ref=",ref,")"
        # Make sure the ref reagent is loaded
        if ref is None:
            ref=reagents.getsample("QPCRREF")
        if primers is None:
            primers=self.allprimers()
        dils=[1]
        for i in range(nsteps):
            needDil=mindil*math.pow(dstep,i)
            srcDil=1
            src=[ref]
            for j in range(len(dils)):
                if needDil/dils[j] <= self.MAXDIL:
                    srcDil=dils[j]
                    if srcDil==1:
                        src=[ref]
                    else:
                        srcname="%s.D%d"%(ref.name,srcDil)
                        src=[Sample.lookup(srcname)]
                        if src[0] is None:
                            src=[Sample(srcname,decklayout.DILPLATE)]
                    break
            tmp=self.MINDILVOL
            self.MINDILVOL=75   # Make sure there's enough for resuing dilutions
            self.addSamples(src=src,needDil=needDil/srcDil,primers=primers,nreplicates=nreplicates,save=needDil/srcDil>self.MAXDIL,saveVol=75)
            self.MINDILVOL=tmp
            dils.append(needDil)

        self.addSamples(src=[self.dilutant],needDil=1,primers=primers,nreplicates=nreplicates,save=False)
예제 #3
0
            tmplqpcr=tmplqpcr+[srcprefix[i]+srcsuffix[i]]
            ligmaster1=ligmaster1+["MLig"+ligprefix1[i]+stem1[i]]
            pcr1=pcr1+[(srcprefix[i]+srcsuffix[i],ligprefix1[i]+srcsuffix[i])]
            ligmaster2=ligmaster2+["MLig"+ligprefix2[i]+stem1[i]]
            pcr2=pcr2+[(srcprefix[i]+srcsuffix[i],ligprefix2[i]+srcsuffix[i])]

print "srcs=",srcs
print "tmplqpcr=",tmplqpcr
print "ligmaster1=",ligmaster1
print "pcr1=",pcr1
print "ligmaster2=",ligmaster2
print "pcr2=",pcr2

# Create ligation master mix samples
for lm in set(ligmaster1+ligmaster2):
    if Sample.lookup(lm)==None:
        Sample(lm,Experiment.REAGENTPLATE,None,3)

for st in set(stop):
    if Sample.lookup(st)==None:
        Sample(st,Experiment.REAGENTPLATE,None,2)

for p in pcr1+pcr2:
    for pm in p:
        if Sample.lookup("MQ"+pm)==None:
            Sample("MQ"+pm,Experiment.REAGENTPLATE,None,10.0/6)

for pm in tmplqpcr:
    if Sample.lookup("MQ"+pm)==None:
        Sample("MQ"+pm,Experiment.REAGENTPLATE,None,10.0/6)
    
예제 #4
0
            srcs = srcs + [input[i]]
            tmplqpcr = tmplqpcr + [srcprefix[i] + srcsuffix[i]]
            ligmaster = ligmaster + ["MLig" + ligprefix[i] + stem1[i]]
            pcr = pcr + [
                (srcprefix[i] + srcsuffix[i], ligprefix[i] + srcsuffix[i])
            ]
            stop = stop + ["MStp" + srcsuffix[i]]

#print srcs
#print tmplqpcr
#print ligmaster
#print pcr

# Create ligation master mix samples
for lm in set(ligmaster):
    if Sample.lookup(lm) == None:
        Sample(lm, Experiment.REAGENTPLATE, None, 3)

for st in set(stop):
    if Sample.lookup(st) == None:
        Sample(st, Experiment.REAGENTPLATE, None, 2)

for p in pcr:
    for pm in p:
        if Sample.lookup("MQ" + pm) == None:
            Sample("MQ" + pm, Experiment.REAGENTPLATE, None, 10.0 / 6)

for pm in tmplqpcr:
    if Sample.lookup("MQ" + pm) == None:
        Sample("MQ" + pm, Experiment.REAGENTPLATE, None, 10.0 / 6)
예제 #5
0
srcs = []
for k in range(max(nreplicates)):
    for i in range(len(input)):
        if nreplicates[i] > k:
            srcs = srcs + [input[i]]

tmplqpcr = [srcprefix + srcsuffix]
pcr = [srcprefix + srcsuffix, ligprefix + srcsuffix]
print "srcs=", srcs
print "tmplqpcr=", tmplqpcr
print "ligmaster=", ligmaster
print "pcr=", pcr
print "stop=", stop

# Create ligation master mix samples
if Sample.lookup(ligmaster) == None:
    Sample(ligmaster, Experiment.REAGENTPLATE, None, 3)

if Sample.lookup(stop) == None:
    Sample(stop, Experiment.REAGENTPLATE, None, 2)

for pm in pcr:
    if Sample.lookup("MQ" + pm) == None:
        Sample("MQ" + pm, Experiment.REAGENTPLATE, None, 10.0 / 6)

for pm in tmplqpcr:
    if Sample.lookup("MQ" + pm) == None:
        Sample("MQ" + pm, Experiment.REAGENTPLATE, None, 10.0 / 6)

reagents = None
예제 #6
0
srcs=[]
for k in range(max(nreplicates)):
    for i in range(len(input)):
        if nreplicates[i]>k:
            srcs=srcs+[input[i]]

tmplqpcr=[srcprefix+srcsuffix]
pcr=[srcprefix+srcsuffix,ligprefix+srcsuffix]
print "srcs=",srcs
print "tmplqpcr=",tmplqpcr
print "ligmaster=",ligmaster
print "pcr=",pcr
print "stop=",stop

# Create ligation master mix samples
if Sample.lookup(ligmaster)==None:
	Sample(ligmaster,Experiment.REAGENTPLATE,None,3)

if Sample.lookup(stop)==None:
    Sample(stop,Experiment.REAGENTPLATE,None,2)

for pm in pcr:
    if Sample.lookup("MQ"+pm)==None:
        Sample("MQ"+pm,Experiment.REAGENTPLATE,None,10.0/6)

for pm in tmplqpcr:
    if Sample.lookup("MQ"+pm)==None:
        Sample("MQ"+pm,Experiment.REAGENTPLATE,None,10.0/6)
    
reagents=None