예제 #1
0
        for r in reagents:
            if r.volume<=0:
                r.initvolume=-r.volume+r.plate.unusableVolume
        Sample.clearall()

    t71master=["%s.MT"%s for s in srcs]
    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]])
예제 #2
0
        Sample.clearall()

    currprefix=srcprefix
    if currprefix=='A':
        altprefix='B'
    else:
        altprefix='A'
    sv=[]
    svligtype=[]
    svdil=[]
    t7all=[]
    
    for round in range(ndblrounds):
        # Round 1 (Keep uncleaved +theo)
        t71=trp.runT7(theo=[True],src=input,vol=[10],srcdil=10.0/3,dur=15)
        t71s=findsamps(t71)[0]
        trp.e.waitpgm()
        trp.e.w.userprompt("Check T7 volume in %s, should be %.1f ul"%(t71s.plate.wellname(t71s.well),t71s.volume))
        t7all=t7all+t71
        rt1=trp.runRT(pos=[True],src=t71,vol=[10],srcdil=2)
        rt1s=findsamps(rt1)[0]
        trp.e.waitpgm()
        trp.e.w.userprompt("Check RT volume in %s, should be %.1f ul"%(rt1s.plate.wellname(rt1s.well),rt1s.volume))
        trp.diluteInPlace(tgt=t71,dil=5)  # Dilute more to conserve
        trp.diluteInPlace(tgt=rt1,dil=3)
        if doqpcr:
            sv=sv+trp.saveSamps(src=rt1,vol=8,dil=5)
            svligtype=svligtype+[altprefix]
            svdil=svdil+[2*2*3*5]
        pcr1=trp.runPCR(prefix=[currprefix],src=rt1,vol=25,srcdil=4,ncycles=cycles1)
        pcr1s=findsamps(pcr1)[0]