Пример #1
0
 # Round 1 (Keep uncleaved +theo)
 t71=trp.runT7(theo=[False,True,False],src=[input,input,ctl],tgt=[],vol=18,srcdil=80.0/24)
 sv1t7=trp.saveSamps(src=t71,tgt=[],vol=10,dil=4)
 rt1=trp.runRT(pos=[True,True,True ],src=t71,tgt=[],vol=22,srcdil=2)
 trp.diluteInPlace(tgt=rt1,dil=2)
 sv1rt=trp.saveSamps(src=rt1,tgt=[],vol=15,dil=2)
 pcr1=trp.runPCR(prefix=[srcprefix],src=rt1[1],tgt=[],vol=50,srcdil=4)
 trp.diluteInPlace(tgt=pcr1,dil=3)
 sv1pcr=trp.saveSamps(src=pcr1,tgt=["R1"],vol=125,dil=1)
 
 # Round 2 (-theo, Ligate, keep cleaved)
 t72=trp.runT7(theo=[False,True],src=sv1pcr+sv1pcr,tgt=[],vol=17,srcdil=80.0/24)
 sv2t7=trp.saveSamps(src=t72,tgt=[],vol=7,dil=4)
 rt2=trp.runRT(pos=[True for i in t72+sv1t7]+[False for i in t72+sv1t7],src=t72+sv1t7+t72+sv1t7,tgt=[],vol=[12]+[9 for s in t72[1:]+sv1t7+t72+sv1t7],srcdil=2)
 trp.diluteInPlace(tgt=rt2,dil=2)
 lig2=trp.runLig(prefix=prodprefix,src=rt2+sv1rt,tgt=[],vol=[30]+[16 for s in rt2[1:]+sv1rt],srcdil=3)
 qsamps=lig2+sv1t7+sv2t7     # Samples for QPCR
 diltolig=[24 for s in t72]+[24*4 for s in sv1t7]+[24 for s in t72]+[24*4 for s in sv1t7]+[16 for s in sv1rt]+[8 for s in sv1t7]+[8 for s in sv2t7]   # Their dilution so far from the T7 product point (before stop added)
 dilneeded=[20000/d for d in diltolig]
 qdil1=[max(50,math.sqrt(d)) for d in dilneeded]   # Split dilution equally, but don't use more than 3ul in first step
 qdil2=[dilneeded[i]/qdil1[i] for i in range(len(qdil1))]   # Whatever remains
 qpcrdil1=trp.runQPCRDIL(src=qsamps,tgt=[],vol=150,srcdil=qdil1)   # First dilution before starting PCR (so the rest of the QPCR setup can be done while PCR is running)
 pcr2=trp.runPCR(prefix=prodprefix,src="R1.T-.RT+.L"+prodprefix,tgt=[],vol=50,srcdil=4)
 qpcrdil2x1=trp.runQPCRDIL(src=qpcrdil1,tgt=[],vol=150,srcdil=qdil2)
 #    qpcrdil2x2=trp.runQPCRDIL(src=qpcrdil1[0:2],tgt=['x2a','x2b'],vol=150,srcdil=[d*2 for d in qdil2[0:2]])
 qpcrdil2x4=trp.runQPCRDIL(src=qpcrdil1[0:2],tgt=['x4a','x4b'],vol=150,srcdil=[d*4 for d in qdil2[0:2]])
 qpcrdil2x4b=trp.runQPCRDIL(src=qpcrdil2x1[0:2],tgt=['x4ab','x4bb'],vol=150,srcdil=[4 for d in qdil2[0:2]])
 qpcrdil2x16=trp.runQPCRDIL(src=qpcrdil2x1[0:2],tgt=['x16a','x16b'],vol=150,srcdil=[16 for d in qdil2[0:2]])
 qpcrdil2=qpcrdil2x1+qpcrdil2x4+qpcrdil2x4b+qpcrdil2x16
 trp.runQPCR(src=qpcrdil2,vol=15,srcdil=10.0/4)
 trp.diluteInPlace(tgt=pcr2,dil=3)
Пример #2
0
    # Round 2 (-theo, Ligate, keep cleaved)
    t72 = trp.runT7(theo=[False, True], src=sv1pcr + sv1pcr, tgt=[], vol=17, srcdil=80.0 / 24)
    sv2t7 = trp.saveSamps(src=t72, tgt=[], vol=7, dil=4)
    rt2 = trp.runRT(
        pos=[True for i in t72 + sv1t7] + [False for i in t72 + sv1t7],
        src=t72 + sv1t7 + t72 + sv1t7,
        tgt=[],
        vol=[12] + [9 for s in t72[1:] + sv1t7 + t72 + sv1t7],
        srcdil=2,
    )
    trp.diluteInPlace(tgt=rt2, dil=2)
    lig2 = trp.runLig(
        prefix=[prodprefix for s in rt2] + [prodprefix, prodprefix, ctlprodprefix],
        src=rt2 + sv1rt,
        tgt=[],
        vol=[30] + [16 for s in rt2[1:] + sv1rt],
        srcdil=3,
    )
    qsamps = lig2 + sv1t7 + sv2t7  # Samples for QPCR
    diltolig = (
        [24 for s in t72]
        + [24 * 4 for s in sv1t7]
        + [24 for s in t72]
        + [24 * 4 for s in sv1t7]
        + [16 * 3 for s in sv1rt]
        + [8 for s in sv1t7]
        + [8 for s in sv2t7]
    )  # Their dilution so far from the T7 product point (before stop added)
    dilneeded = [10000 / d for d in diltolig]
    qdil1 = [40 for d in dilneeded]  # 40x for first dilution
Пример #3
0
    t71 = trp.runT7(theo=False,
                    src=srcs,
                    tgt=[],
                    vol=10,
                    srcdil=10.0 / 6,
                    dur=15,
                    stopmaster=stop)
    #print t71
    t71 = trp.diluteInPlace(tgt=t71, dil=5)
    # Dilute input samples enough to use in qPCR directly (should be 5000/(rnagain*2*5)  = 20)
    qpcrdil1 = trp.runQPCRDIL(src=t71,
                              tgt=[],
                              vol=100,
                              srcdil=20,
                              dilPlate=True)
    rt1 = trp.runRT(pos=True, src=t71, tgt=[], vol=5, srcdil=2)
    rt1 = trp.diluteInPlace(tgt=rt1, dil=5)
    lig1 = trp.runLig(src=rt1, tgt=[], vol=10, srcdil=3, master=ligmaster)
    prods = trp.diluteInPlace(tgt=lig1, dil=10)

    for i in range(len(qpcrdil1)):
        trp.runQPCR(src=qpcrdil1[i],
                    vol=15,
                    srcdil=10.0 / 4,
                    primers=[tmplqpcr[i]])
    for i in range(len(prods)):
        trp.runQPCR(src=[prods[i]], vol=15, srcdil=10.0 / 4, primers=pcr[i])

trp.finish()
Пример #4
0
        reagents=Sample.getAllOnPlate(Experiment.REAGENTPLATE)
        for r in reagents:
            if r.volume<0:
                r.initvolume=-r.volume+20
        Sample.clearall()


    # Round 1 (Keep cleaved -theo)
    print "***** Round 1 T7 *****"
    t71=trp.runT7New(theo=[False for i in inputs]+[True for i in inputs],src=inputs+inputs,tgt=[],vol=10,srcdil=10.0/3)
    sv1t7=trp.saveSamps(src=t71,vol=3,dil=25,plate=trp.e.DILPLATE)
    
    rt1=trp.runRT(pos=True,src=t71,tgt=[],vol=5,srcdil=2)
    trp.diluteInPlace(tgt=rt1,dil=4)

    lig1=trp.runLig(prefix="B",src=rt1,tgt=[],vol=10,srcdil=3)
    trp.diluteInPlace(tgt=lig1,dil=5)

    # Save in dilution plate
    sv1lig=trp.saveSamps(src=lig1,vol=20,dil=5,plate=trp.e.DILPLATE)

    # Only need to PCR -theo case, cleaved
    pcr1=trp.runPCR(prefix="B",src=lig1[0:len(inputs)],tgt=["%s.c"%i for i in inputs],vol=25,srcdil=4,ncycles=cycles)
    trp.diluteInPlace(tgt=pcr1,dil=3)
    sv1pcr=trp.saveSamps(src=pcr1,tgt=[], vol=50,dil=1)
    
    # Round 2 (Keep uncleaved +theo)
    print "***** Round 2 T7 *****"
    in2=pcr1+["Neg"]
    t72=trp.runT7New(theo=[True for i in in2]+[False for i in in2],src=in2+in2,tgt=["%s.T2+"%i for i in in2]+["%s.T2-"%i for i in in2],vol=10,srcdil=10.0/3)
    sv2t7=trp.saveSamps(src=t72,vol=3,dil=25,plate=trp.e.DILPLATE)
Пример #5
0
        t72 = trp.runT7(theo=False, src=pcr1, vol=12, srcdil=10.0 / 3)

        rt2 = trp.runRT(pos=True, src=t72, vol=10, srcdil=2)
        t72 = trp.diluteInPlace(tgt=t72, dil=5)  # Dilute more to conserve
        rt2 = trp.diluteInPlace(tgt=rt2, dil=3)

        # Swap prefixes
        altprefix = currprefix
        if currprefix == "B":
            currprefix = "A"
        else:
            currprefix = "B"

        # Run ligation of the first-half round too
        lig2 = trp.runLig(prefix=currprefix,
                          src=sv1rt + rt2,
                          vol=[17, 17, 25, 25],
                          srcdil=3)
        lig2 = trp.diluteInPlace(tgt=lig2, dil=1.33)
        # Save ligation products for qPCR (note that round 1 had more dilution of RT product, so back that out here)
        ligsave1 = ligsave1 + trp.saveSamps(src=lig2[:2],
                                            vol=5,
                                            dil=20,
                                            plate=trp.e.DILPLATE,
                                            dilutant=trp.r.SSD)
        ligsave2 = ligsave2 + trp.saveSamps(src=lig2[2:],
                                            vol=5,
                                            dil=20,
                                            plate=trp.e.DILPLATE,
                                            dilutant=trp.r.SSD)

        prodbase = "R%d-%c" % (firstround + 1 + round * 2, currprefix)
Пример #6
0
    print "PCR input conc=%.3g pM, PCR cycles=%.1f, End Conc=%.0f nM" % (rtconc * 1e12, cycles, endconc * 1e9)

    pcr1 = trp.runPCR(prefix=srcprefix, src=rt1, tgt=[], vol=25, srcdil=4, ncycles=cycles)
    trp.diluteInPlace(tgt=pcr1, dil=3)
    sv1pcr = trp.saveSamps(src=pcr1, tgt=["%s.R1" % i for i in inputs], vol=55, dil=1)

    # Round 2 (both rounds, +/-theo, Ligate, keep cleaved)
    r2in = sv1pcr + inputs
    t72 = trp.runT7New(
        theo=[False for i in r2in] + [True for i in r2in], src=r2in + r2in, tgt=[], vol=10, srcdil=10.0 / 3
    )
    trp.diluteInPlace(tgt=t72, dil=5)
    sv2t7 = trp.saveSamps(src=t72, vol=10, dil=10, plate=trp.e.DILPLATE)
    rt2 = trp.runRT(pos=True, src=t72, tgt=[], vol=5, srcdil=2)
    trp.diluteInPlace(tgt=rt2, dil=4)
    lig2 = trp.runLig(prefix=prodprefix, src=rt2, tgt=[], vol=10, srcdil=3)
    trp.diluteInPlace(tgt=lig2, dil=5)
    qsamps = lig2 + sv2t7  # Samples for QPCR
    diltolig = [2 * 5 * 2 * 4 * 3 * 5 for d in lig2] + [
        2 * 5 * 10 * rnagain for d in sv2t7
    ]  # Their dilution so far from the T7 product point (before stop added)
    dilneeded = [10000.0 / d for d in diltolig]
    #    qdil1=[40 for d in dilneeded]   # 40x for first dilution
    #    qdil2=[dilneeded[i]/qdil1[i] for i in range(len(qdil1))]   # Whatever remains
    # qpcrdil1=trp.runQPCRDIL(src=qsamps,tgt=[],vol=100,srcdil=qdil1,dilPlate=False)   # First dilution before starting PCR (so the rest of the QPCR setup can be done while PCR is running)
    ligconc = (endconc / 3.0) * 3.0 / 10.0 * rnagain / diltolig[0]  # Expected concentration of ligation product here
    cycles = math.ceil(math.log(endconc / ligconc, pcreff))
    # Amplify to end of exponential phase
    print "PCR input conc=%.3g pM, PCR cycles=%.1f, End Conc=%.0f nM" % (ligconc * 1e12, cycles, endconc * 1e9)
    pcr2 = trp.runPCR(prefix=prodprefix, src=lig2[0 : len(sv1pcr)], tgt=[], vol=25, srcdil=4, ncycles=cycles)
    qpcrdil2 = trp.runQPCRDIL(src=qsamps, tgt=[], vol=100, srcdil=dilneeded, dilPlate=True)
Пример #7
0
                    stopmaster=stop)
    #print t71
    t71 = trp.diluteInPlace(tgt=t71, dil=5)
    # Dilute input samples enough to use in qPCR directly (should be 5000/(rnagain*2*5)  = 20)
    qpcrdil1 = trp.runQPCRDIL(src=t71,
                              tgt=[],
                              vol=100,
                              srcdil=20,
                              dilPlate=False)

    rt1 = trp.runRT(pos=True, src=t71, tgt=[], vol=30, srcdil=2)
    rt1 = trp.diluteInPlace(tgt=rt1, dil=5)

    lig = trp.runLig(src=rt1 * 6,
                     tgt=[],
                     vol=20,
                     srcdil=3,
                     master=ligmaster1 * 3 + ligmaster2 * 3)
    prods = trp.diluteInPlace(tgt=lig, dil=10)
    print "prod=", prods
    for i in range(len(qpcrdil1)):
        trp.runQPCR(src=qpcrdil1[i],
                    vol=15,
                    srcdil=10.0 / 4,
                    primers=[tmplqpcr[i]],
                    nreplicates=3)

    for p in pcr1:
        trp.runQPCR(src=prods[0:3],
                    vol=15,
                    srcdil=10.0 / 4,
Пример #8
0
                r.initvolume = -r.volume + 20
        Sample.clearall()

    # Round 1 (Keep cleaved -theo)
    print "***** Round 1 T7 *****"
    t71 = trp.runT7New(theo=[False for i in inputs] + [True for i in inputs],
                       src=inputs + inputs,
                       tgt=[],
                       vol=10,
                       srcdil=10.0 / 3)
    sv1t7 = trp.saveSamps(src=t71, vol=3, dil=25, plate=trp.e.DILPLATE)

    rt1 = trp.runRT(pos=True, src=t71, tgt=[], vol=5, srcdil=2)
    trp.diluteInPlace(tgt=rt1, dil=4)

    lig1 = trp.runLig(prefix="B", src=rt1, tgt=[], vol=10, srcdil=3)
    trp.diluteInPlace(tgt=lig1, dil=5)

    # Save in dilution plate
    sv1lig = trp.saveSamps(src=lig1, vol=20, dil=5, plate=trp.e.DILPLATE)

    # Only need to PCR -theo case, cleaved
    pcr1 = trp.runPCR(prefix="B",
                      src=lig1[0:len(inputs)],
                      tgt=["%s.c" % i for i in inputs],
                      vol=25,
                      srcdil=4,
                      ncycles=cycles)
    trp.diluteInPlace(tgt=pcr1, dil=3)
    sv1pcr = trp.saveSamps(src=pcr1, tgt=[], vol=50, dil=1)
Пример #9
0
                           tgt=["%s.R1" % i for i in inputs],
                           vol=55,
                           dil=1)

    # Round 2 (both rounds, +/-theo, Ligate, keep cleaved)
    r2in = sv1pcr + inputs
    t72 = trp.runT7New(theo=[False for i in r2in] + [True for i in r2in],
                       src=r2in + r2in,
                       tgt=[],
                       vol=10,
                       srcdil=10.0 / 3)
    trp.diluteInPlace(tgt=t72, dil=5)
    sv2t7 = trp.saveSamps(src=t72, vol=10, dil=10, plate=trp.e.DILPLATE)
    rt2 = trp.runRT(pos=True, src=t72, tgt=[], vol=5, srcdil=2)
    trp.diluteInPlace(tgt=rt2, dil=4)
    lig2 = trp.runLig(prefix=prodprefix, src=rt2, tgt=[], vol=10, srcdil=3)
    trp.diluteInPlace(tgt=lig2, dil=5)
    qsamps = lig2 + sv2t7  # Samples for QPCR
    diltolig = [2 * 5 * 2 * 4 * 3 * 5 for d in lig2] + [
        2 * 5 * 10 * rnagain for d in sv2t7
    ]  # Their dilution so far from the T7 product point (before stop added)
    dilneeded = [10000.0 / d for d in diltolig]
    #    qdil1=[40 for d in dilneeded]   # 40x for first dilution
    #    qdil2=[dilneeded[i]/qdil1[i] for i in range(len(qdil1))]   # Whatever remains
    # qpcrdil1=trp.runQPCRDIL(src=qsamps,tgt=[],vol=100,srcdil=qdil1,dilPlate=False)   # First dilution before starting PCR (so the rest of the QPCR setup can be done while PCR is running)
    ligconc = (endconc / 3.0) * 3.0 / 10.0 * rnagain / diltolig[
        0]  # Expected concentration of ligation product here
    cycles = math.ceil(math.log(endconc / ligconc, pcreff))
    # Amplify to end of exponential phase
    print "PCR input conc=%.3g pM, PCR cycles=%.1f, End Conc=%.0f nM" % (
        ligconc * 1e12, cycles, endconc * 1e9)
Пример #10
0
for iteration in range(2):
    print "Iteration ",iteration+1
    trp=TRP()
    if iteration==0:
        trp.addTemplates(input,8)   # Add a template with stock concentration 8nM
    else:   
        reagents=Sample.getAllOnPlate(Experiment.REAGENTPLATE)
        for r in reagents:
            if r.volume<0:
                r.initvolume=-r.volume+20
        Sample.clearall()

    t71=trp.runT7(theo=[False for i in inputs]+[True for i in inputs],src=inputs+inputs,tgt=[],vol=10,srcdil=80.0/24,dur=15)
    trp.diluteInPlace(tgt=t71,dil=2)
    rt1=trp.runRT(pos=True,src=t71,tgt=[],vol=5,srcdil=2)
    trp.diluteInPlace(tgt=rt1,dil=4)
    lig1=trp.runLig(prefix=[prodprefixes[i%len(prodprefixes)] for i in range(len(rt1))],src=rt1,tgt=[],vol=10,srcdil=3)
    trp.diluteInPlace(tgt=lig1,dil=4)
    # Dilute input samples
    qpcrdil1=trp.runQPCRDIL(src=inputs,tgt=[],vol=100,srcdil=40,dilPlate=True)   
    diltohere=[6*40 for s in inputs]+[2*2*2*4*3*4 for s in lig1]  # Their dilution so far from the T7 product point (before stop added)
    dilneeded=[10000/d for d in diltohere]
    # trp.e.w.userprompt("Load QPCR plate and press return to start QPCR setup")
    qpcrdil2=trp.runQPCRDIL(src=qpcrdil1+lig1,tgt=[],vol=100,srcdil=dilneeded,dilPlate=True)
    trp.runQPCR(src=qpcrdil2,vol=15,srcdil=10.0/4)

trp.finish()

            
Пример #11
0
 rt2 = trp.runRT(pos=True, src=t72, vol=[10], srcdil=2)
 trp.diluteInPlace(tgt=t72, dil=5)  # Dilute more to conserve
 trp.diluteInPlace(tgt=rt2, dil=3)
 if doqpcr:
     sv = sv + trp.saveSamps(src=rt2, vol=8, dil=5)
     svligtype = svligtype + [altprefix]
     svdil = svdil + [2 * 2 * 3 * 5]
 altprefix = currprefix
 if currprefix == "B":
     currprefix = "A"
 else:
     currprefix = "B"
 if round == ndblrounds - 1 and doqpcr:
     # Do the analysis as well
     lig2 = trp.runLig(prefix=[currprefix] + svligtype,
                       src=rt2 + sv,
                       vol=[19] + [10 for s in sv],
                       srcdil=3)
     qsamps = lig2[1:]  # Samples for QPCR
     lig2 = lig2[0:1]
     trp.diluteInPlace(tgt=qsamps, dil=5)
     qpcrdilt7 = trp.runQPCRDIL(
         src=t7all, tgt=[], vol=100, srcdil=33.33,
         dilPlate=True)  # Dilute T7 products first
     qsamps = qsamps + qpcrdilt7
     dilneeded = [10000.0 / (d * 3 * 5) for d in svdil
                  ] + [10000.0 / (2 * 5 * 33.33) for d in qpcrdilt7]
     qpcrdil1 = trp.runQPCRDIL(
         src=qsamps, tgt=[], vol=100, srcdil=dilneeded, dilPlate=True
     )  # First dilution before starting PCR (so the rest of the QPCR setup can be done while PCR is running)
 else:
     lig2 = trp.runLig(prefix=currprefix, src=rt2, vol=[24], srcdil=3)
Пример #12
0
            if r.volume < 0:
                r.initvolume = -r.volume + 20
        Sample.clearall()

    t71 = trp.runT7(theo=[False for i in inputs] + [True for i in inputs],
                    src=inputs + inputs,
                    tgt=[],
                    vol=10,
                    srcdil=80.0 / 24,
                    dur=15)
    trp.diluteInPlace(tgt=t71, dil=2)
    rt1 = trp.runRT(pos=True, src=t71, tgt=[], vol=5, srcdil=2)
    trp.diluteInPlace(tgt=rt1, dil=4)
    lig1 = trp.runLig(prefix=prodprefixes + prodprefixes,
                      src=rt1,
                      tgt=[],
                      vol=10,
                      srcdil=3)
    trp.diluteInPlace(tgt=lig1, dil=4)
    # Dilute input samples
    qpcrdil1 = trp.runQPCRDIL(src=inputs,
                              tgt=[],
                              vol=100,
                              srcdil=40,
                              dilPlate=True)
    diltohere = [6 * 40 for s in inputs] + [
        2 * 2 * 2 * 4 * 3 * 4 for s in lig1
    ]  # Their dilution so far from the T7 product point (before stop added)
    dilneeded = [10000 / d for d in diltohere]
    # trp.e.w.userprompt("Load QPCR plate and press return to start QPCR setup")
    qpcrdil2 = trp.runQPCRDIL(src=qpcrdil1 + lig1,
Пример #13
0
        # Round 2 (-theo, Ligate, keep cleaved)
        t72=trp.runT7(theo=False,src=pcr1,vol=12,srcdil=10.0/3)

        rt2=trp.runRT(pos=True,src=t72,vol=10,srcdil=2)
        t72=trp.diluteInPlace(tgt=t72,dil=5)  # Dilute more to conserve
        rt2=trp.diluteInPlace(tgt=rt2,dil=3)

        # Swap prefixes
        altprefix=currprefix
        if currprefix=="B":
            currprefix="A"
        else:
            currprefix="B"
            
        # Run ligation of the first-half round too
        lig2=trp.runLig(prefix=currprefix,src=sv1rt+rt2,vol=[17,17,25,25],srcdil=3)
        lig2=trp.diluteInPlace(tgt=lig2,dil=1.33)
        # Save ligation products for qPCR (note that round 1 had more dilution of RT product, so back that out here)
        ligsave1=ligsave1+trp.saveSamps(src=lig2[:2],vol=5,dil=20,plate=trp.e.DILPLATE,dilutant=trp.r.SSD)
        ligsave2=ligsave2+trp.saveSamps(src=lig2[2:],vol=5,dil=20,plate=trp.e.DILPLATE,dilutant=trp.r.SSD)

        prodbase="R%d-%c"%(firstround+1+round*2,currprefix)
        pcr2=trp.runPCR(prefix=currprefix,tgt=[prodbase,prodbase+"-spike"],src=lig2[2:4],vol=pcrvol,srcdil=4,ncycles=cycles2)
        pcr2=trp.diluteInPlace(tgt=pcr2,dil=2)

        # Save PCR product in eppendorfs for archive
        eppie= trp.saveSamps(src=pcr2,tgt=[prodbase+".D3",prodbase+"-spike.D3"],vol=26,dil=3,plate=trp.e.EPPENDORFS)

        # And save in dilution plate for qPCR (will need 400x dilution from this point)
        pcrsave=pcrsave+trp.saveSamps(src=eppie,vol=5,dil=20, plate=trp.e.DILPLATE)
        
Пример #14
0
for iteration in range(2):
    print "Iteration ",iteration+1
    trp=TRP()
    if iteration==0:
        trp.addTemplates(input,8)   # Add a template with stock concentration 8nM
    else:   
        reagents=Sample.getAllOnPlate(Experiment.REAGENTPLATE)
        for r in reagents:
            if r.volume<0:
                r.initvolume=-r.volume+20
        Sample.clearall()


    t71=trp.runT7(theo=[False for i in inputs]+[True for i in inputs],src=inputs+inputs,tgt=[],vol=10,srcdil=80.0/24,dur=15)
    trp.diluteInPlace(tgt=t71,dil=2)
    rt1=trp.runRT(pos=True,src=t71,tgt=[],vol=5,srcdil=2)
    trp.diluteInPlace(tgt=rt1,dil=4)
    lig1=trp.runLig(prefix=prodprefixes+prodprefixes,src=rt1,tgt=[],vol=10,srcdil=3)
    trp.diluteInPlace(tgt=lig1,dil=4)
    # Dilute input samples
    qpcrdil1=trp.runQPCRDIL(src=inputs,tgt=[],vol=100,srcdil=40,dilPlate=True)   
    diltohere=[6*40 for s in inputs]+[2*2*2*4*3*4 for s in lig1]  # Their dilution so far from the T7 product point (before stop added)
    dilneeded=[10000/d for d in diltohere]
    # trp.e.w.userprompt("Load QPCR plate and press return to start QPCR setup")
    qpcrdil2=trp.runQPCRDIL(src=qpcrdil1+lig1,tgt=[],vol=100,srcdil=dilneeded,dilPlate=True)
    trp.runQPCR(src=qpcrdil2,vol=15,srcdil=10.0/4)

trp.finish()

            
Пример #15
0
    trp.runT7Setup(theo=False,src=srcs,tgt=t71master,vol=len(timepoints)*12.2+15,srcdil=10.0/6)
    t71=[];
    for i in range(len(timepoints)):
        t71=t71+trp.saveSamps(src=t71master,tgt=["%s.T%d"%(s,timepoints[i]) for s in srcs],vol=10,dil=1,plate=trp.e.SAMPLEPLATE)
        
    # Stop one sample immediately for a zero timepoint
    trp.runT7Stop(theo=False,vol=10, tgt=t71[0:len(srcs)],stopmaster=stop)
    trp.runT7Pgm(vol=10,dur=timepoints[-1])
    
    for s in findsamps(t71[len(srcs):]):
        s.volume=s.volume+10 # Program doesn't know that they were diluted 2x by hand
        s.addhistory("Manual stop",10,None)
        
    # No stop, done during run
    trp.diluteInPlace(tgt=t71,dil=5)
    # Dilute input samples enough to use in qPCR directly (should be 5000/(rnagain*2*5)  = 20)
    
    qpcrdil1=trp.runQPCRDIL(src=t71,tgt=[],vol=100,srcdil=20,dilPlate=True)   
    rt1=trp.runRT(pos=True,src=t71,tgt=[],vol=5,srcdil=2)
    rt1=trp.diluteInPlace(tgt=rt1,dil=5)
    lig1=trp.runLig(src=rt1,tgt=[],vol=10,srcdil=3,master=ligmaster)
    prods=trp.diluteInPlace(tgt=lig1,dil=10)
        
    for i in range(len(qpcrdil1)):
        trp.runQPCR(src=qpcrdil1[i],vol=15,srcdil=10.0/4,primers=[tmplqpcr[i]])
    for i in range(len(prods)):
        trp.runQPCR(src=[prods[i]],vol=15,srcdil=10.0/4,primers=pcr[i])

trp.finish()

Пример #16
0
            if r.volume < 0:
                r.initvolume = -r.volume + 20
        Sample.clearall()

    t71 = trp.runT7(theo=[False for i in inputs] + [True for i in inputs],
                    src=inputs + inputs,
                    tgt=[],
                    vol=10,
                    srcdil=80.0 / 24,
                    dur=15)
    trp.diluteInPlace(tgt=t71, dil=2)
    rt1 = trp.runRT(pos=True, src=t71, tgt=[], vol=5, srcdil=2)
    trp.diluteInPlace(tgt=rt1, dil=4)
    lig1 = trp.runLig(
        prefix=[prodprefixes[i % len(prodprefixes)] for i in range(len(rt1))],
        src=rt1,
        tgt=[],
        vol=10,
        srcdil=3)
    trp.diluteInPlace(tgt=lig1, dil=4)
    # Dilute input samples
    qpcrdil1 = trp.runQPCRDIL(src=inputs,
                              tgt=[],
                              vol=100,
                              srcdil=40,
                              dilPlate=True)
    diltohere = [6 * 40 for s in inputs] + [
        2 * 2 * 2 * 4 * 3 * 4 for s in lig1
    ]  # Their dilution so far from the T7 product point (before stop added)
    dilneeded = [10000 / d for d in diltohere]
    # trp.e.w.userprompt("Load QPCR plate and press return to start QPCR setup")
    qpcrdil2 = trp.runQPCRDIL(src=qpcrdil1 + lig1,
Пример #17
0
        trp.addTemplates(input,stockconc=10.0/6.0,units="x",plate=Experiment.EPPENDORFS)   # Add a template
    else:   
        reagents=Sample.getAllOnPlate(Experiment.REAGENTPLATE)+Sample.getAllOnPlate(Experiment.EPPENDORFS)
        for r in reagents:
            if r.volume<=0:
                r.initvolume=-r.volume+r.plate.unusableVolume
        Sample.clearall()

    t71=trp.runT7(theo=False,src=srcs,tgt=[],vol=10,srcdil=10.0/6,dur=15,stopmaster=stop)
    #print t71
    t71=trp.diluteInPlace(tgt=t71,dil=5)
    # Dilute input samples enough to use in qPCR directly (should be 5000/(rnagain*2*5)  = 20)
    qpcrdil1=trp.runQPCRDIL(src=t71,tgt=[],vol=100,srcdil=20,dilPlate=False)
    
    rt1=trp.runRT(pos=True,src=t71,tgt=[],vol=30,srcdil=2)
    rt1=trp.diluteInPlace(tgt=rt1,dil=5)
    
    lig=trp.runLig(src=rt1*6,tgt=[],vol=20,srcdil=3,master=ligmaster1*3+ligmaster2*3)
    prods=trp.diluteInPlace(tgt=lig,dil=10)
    print "prod=",prods
    for i in range(len(qpcrdil1)):
        trp.runQPCR(src=qpcrdil1[i],vol=15,srcdil=10.0/4,primers=[tmplqpcr[i]],nreplicates=3)

    for p in pcr1:
        trp.runQPCR(src=prods[0:3],vol=15,srcdil=10.0/4,primers=p,nreplicates=3)
    for p in pcr2:
        trp.runQPCR(src=prods[3:6],vol=15,srcdil=10.0/4,primers=p,nreplicates=3)

trp.finish()

Пример #18
0
 t7all=t7all+t72
 rt2=trp.runRT(pos=True,src=t72,vol=[10],srcdil=2)
 trp.diluteInPlace(tgt=t72,dil=5)  # Dilute more to conserve
 trp.diluteInPlace(tgt=rt2,dil=3)
 if doqpcr:
     sv=sv+trp.saveSamps(src=rt2,vol=8,dil=5)
     svligtype=svligtype+[altprefix]
     svdil=svdil+[2*2*3*5]
 altprefix=currprefix
 if currprefix=="B":
     currprefix="A"
 else:
     currprefix="B"
 if round==ndblrounds-1 and doqpcr:
     # Do the analysis as well
     lig2=trp.runLig(prefix=[currprefix]+svligtype,src=rt2+sv,vol=[19]+[10 for s in sv],srcdil=3)
     qsamps=lig2[1:]    # Samples for QPCR
     lig2=lig2[0:1]
     trp.diluteInPlace(tgt=qsamps,dil=5)
     qpcrdilt7=trp.runQPCRDIL(src=t7all,tgt=[],vol=100,srcdil=33.33,dilPlate=True)   # Dilute T7 products first
     qsamps=qsamps+qpcrdilt7
     dilneeded=[10000.0/(d*3*5) for d in svdil]+[10000.0/(2*5*33.33) for d in qpcrdilt7]
     qpcrdil1=trp.runQPCRDIL(src=qsamps,tgt=[],vol=100,srcdil=dilneeded,dilPlate=True)   # First dilution before starting PCR (so the rest of the QPCR setup can be done while PCR is running)
 else:
     lig2=trp.runLig(prefix=currprefix,src=rt2,vol=[24],srcdil=3)
 pcr2=trp.runPCR(prefix=currprefix,src=lig2,vol=25,srcdil=4,ncycles=cycles2)
 if round==ndblrounds-1 and doqpcr:
     trp.e.w.userprompt("Press return to start QPCR setup")
     trp.runQPCR(src=qpcrdil1,vol=15,srcdil=10.0/4)
 trp.diluteInPlace(tgt=pcr2,dil=6)
 input=trp.saveSamps(src=pcr2,tgt=["R%d-%c"%(firstround+1+round*2,currprefix)],vol=125,dil=1,plate=trp.e.EPPENDORFS)