Computational protocol: Mapping the functional versatility and fragility of Ras GTPase signaling circuits through in vitro network reconstitution

Similar protocols

Protocol publication

[…] A combination of standard and custom ImageJ macros were used to prepare the primary image data for further analysis. First, drift in the stage was corrected using a macro based around the MultiStackReg plugin. Two or three color multi-tiff timecourses were split into separate channels. Matrix transformations to register timecourses were obtained using the constant GTPase fluorescence on every bead from the blue channel. These matrices were then used to register the timecourses of the red or green channels. The three channels were then recombined to produce the properly registered multi-tiff used for analysis of the beads. The ImageJ macro code was tweaked depending on the particular experiment, but a representative example of the code is shown below:matrix path= "C:\Users\scoyl_000\Google Drive\MICROSCOPY\150403\matrix\";inputpath = "C:\Users\scoyl_000\Google Drive\MICROSCOPY\150403\raw\";outputpath = "C:\Users\scoyl_000\Google Drive\MICROSCOPY\150403\processed\";function scott_register(input,output,filename){open(input+filename);run("Split Channels");run("MultiStackReg", "stack_1=[C3-" + filename + "] action_1=Align file_1=["+matrixpath+"matrix.txt] stack_2=None action_2=Ignore file_2=[] transformation=[Rigid Body] save");run("MultiStackReg", "stack_1=[C1-" + filename + "] action_1=[Load Transformation File] file_1=["+matrixpath+"matrix.txt] stack_2=None action_2=Ignore file_2=[] transformation=[Rigid Body]");run("MultiStackReg", "stack_1=[C2-" + filename + "] action_1=[Load Transformation File] file_1=["+matrixpath+"matrix.txt] stack_2=None action_2=Ignore file_2=[] transformation=[Rigid Body]");run("Merge Channels...", "c1=C1-" + filename + " c2=C2-" + filename + " c3=C3-" + filename + " create");}list = getFileList(inputpath);for (i = 0; i < list.length; i++)scott_register(inputpath, outputpath, list[i]);We then corrected for uneven sample illumination or background artifacts using a rolling ball background substraction of 50 pixels. These processed images were subsequently used to analyze the signaling behavior of each bead.To analyze the images, beads were either identified and stored as regions-of-interest (ROIs) automatically from the GTPase fluorescent signal on beads using a custom macro that makes use of ImageJ’s 'find particles' function, or in the case of experiments with beads that deliberately contain differing levels of Ras density, beads were identified and stored as ROIs by hand. The particular parameters of the automated bead finding varied depending on the particular experiment, but a representative ImageJ macro is shown below:inputpath = "C:\Users\scoyl_000\Google Drive\MICROSCOPY\150403\processed\";outputpath = "C:\Users\scoyl_000\Google Drive\MICROSCOPY\150403\beads\";function scott_findbeads(input,output,filename){open(input+filename);run("Split Channels");selectWindow("C3-" + filename);run("Smooth", "stack");//set threshold and find particlesStack.setPosition(1, 18,1);setSlice(20);setThreshold(3744, 23285);run("Analyze Particles...", "size=400-15000 circularity=0.60-1.00 display exclude clear include add slice");//close any and all open windowsclose();close();close();//reopen original fileopen(input+filename);//transfer ROIs to overlay and saverun("From ROI Manager");saveAs("Tiff", output+filename);//clear managerroiManager("Delete");close();}list = getFileList(inputpath);for (i = 0; i < list.length; i++)scott_findbeads(inputpath, outputpath, list[i]);Once beads were identified and stored as ROIs, a variety of measurements were made for each bead using a custom macro. We measured the average total Ras fluorescence in the ROI, and the average fluorescent effector signal in the ROI at every timepoint in the experiment. We also measured the area and perimeter of the bead. As with other macros, the exact details of the code varied depending on the number of effectors we were simultaneously examining or other aspects of the setup, but a representative ImageJ macro is shown below:inputpath = "C:\Users\scoyl_000\Google Drive\MICROSCOPY\150318\one_shot_processed\";outputpath = "C:\Users\scoyl_000\Google Drive\MICROSCOPY\150318\one_shot_data\";setBatchMode(true);list = getFileList(inputpath);for (i = 0; i < list.length; i++)crunchimage(inputpath, outputpath, list[i]);setBatchMode(false);//The Functions that are used in the macro are belowfunction crunchimage(input,output,filename){//open the imageopen(input+filename);//clear log file and reulsts tablerun("Clear Results");print("\Clear");//import ROIs from overlayrun("To ROI Manager");//count ROiscount=roiManager("count");//record Ras AMPS and RBD timecourse for each ROIfor(i=0;i

Pipeline specifications