Quantification of Western Blots Using ImageJ
NIH ImageJ is probably the cheapest and easiest way to quantify western blots. Images should be scanned in grayscale at a resolution of a least 600 dpi. I usually scan them as tif files at 600 dpi and have never had a problem. Underexposed images will work just fine at this resolution for quantification.
Download and install ImageJ software according to the instructions on the NIH website. Once you have it installed open the software and select the image file you want to quantify. For this tutorial, I’m going to use an illustrated western blot for quantification, but as long as you stick the the underexposed blots, any western can be quantified.
As a side-note, the reason I’m using an illustration for this tutorial is because my research is funded by the federal government, and I don’t want to post one of my westerns on a website with advertisements. Feel free to contact me directly and I can give you a list of publications in which I’ve performed this western blot quantification.
For the tutorial, I’ll use the instructions “File → Open” to indicate menu and sub-menu selections that you should make.
Densitometry Tutorial
To begin, select the rectangular selection tool on the left side of the tool menu.
Next, draw your rectangle around the band in your first lane. Once you have your band in a rectangle select Analyze → Gels → Select First Lane (or “control-1″ in Windows). This will draw a box around the band.
Keep in mind the following points:
- The software makes the top of the boxes even for every lane. So make sure the bands are horizontal. If the bands are slanted, use the Image → Rotate → Arbitrarily… commands to make them level.
- The width of the selection box is fixed for the entire analysis after selecting the first lane. So make sure the rectangle is wide enough to accommodate the widest bands.
After selecting the first lane, take the cursor and move it within the box set in the first lane. This will allow you to click-and-hold, and drag the box to the second lane (Figure below, left). Then, select the Analyze → Gels → Select Next Lane command (“control-2″ in Windows). This will select an area in the second lane that is exactly equal to the area selected in the first lane.
Repeat the previous step to select the band in the third lane. Again, while the rectangle tool is still selected, click within the yellow box and drag the box so that it covers the next band. Once this is done, use the Analyze → Gels → Select Next Lane command to select it as the third lane.
For this tutorial, we’ll assume that there are only three lanes. However, you can repeat the lane selection process for all of your western blot lanes.
After the last lane, you need to select the Analyze → Gels → Plot Lanes command. A window with will pop open. This window is the densitometry measurements. It gives a graphical depiction of the average intensity of pixels from the top of the rectangle to the bottom of the rectangle (left to right on the plot).
To measure the density of your western blot band, you want to measure the area under the peak from this plot. To do so, select the straight line tool from the main menu tools.
With the straight line tool selected, go back to the window with your lane plots. Use the straight line tool to mark off the area under the peak for the first lane. You’ll want to close off all of the peak area that rises above the background level.
After selecting the first peak, scroll down within the plot window and repeat the process to close off the remaining peaks. Once you have done selected peaks for every lane, go back to the main menu and select the wand tool.
After selecting the wand tool, go back to the window with the plots of lane peaks. Click inside each peak, starting from the top, with the wand tool. You will see the peak become outlined in yellow. This integrates the area under the curve for each peak. As you continue to select the peaks, another window labeled “Results” will open.
This window contains all of the values for the areas under the curves for each selection you make. These values can then be used to make relative comparisons of band intensity between lanes. This comparison is an indication of the relative amounts of protein that were loaded into each well.
To calculate the relative values, simply divide each value by the lane that you want to be the standard. For example, in the gel quantified in this tutorial, the first lane is our relative comparison.
Relative levels are calculated as:
- 2484.426 / 2484.426 = 1
- 4422.426 / 2484.426 = 1.78
- 7785.376 / 2484.426 = 3.13
So, using our first lane as a relative comparison, the second lane contains approximately 75% more protein than the first lane, and the third lane contains approximately 213% more protein than the first lane.
And that’s it! If you’ve followed through until this point, you’ve just completed your first densitometric analysis. Densitometry is extremely important, as it allows us to make relative comparisons and average values for the relative abundance of proteins between various samples.
Remember to always use a loading control to normalize your values. Proteins like GAPDH, tubulin, and actin are good loading controls because their levels rarely change in cells. When you use those as loading controls, divide the peak values of your target protein by the peak values of your loading control before doing a relative comparison.
If you have any further questions about the use of ImageJ to quantify western blots or densitometry in general, please feel free to leave a comment or question on this page.
36 Responses to Western Blot Quantification
Leave a Reply Cancel reply
You must be logged in to post a comment.
Sponsored Links












Please provide link for densitometric quanitification for expression level of protein by comparing with the standards. We are doing it, but variability is too high. Is it good method for quantification?
I will update the tutorial to include the standards as soon as possible. In my experience, the variability should be minimal. As long as the blots are clean with clearly defined lanes, it’s a good method for quantification.
i cant move on the next lane with the alt+2, i only stay at the first lane.
in other words, although i can drag and drop the reteangluar box of first lane selected to the second lane. but it goes back to the first lane and marks 2 in the centor of box. i tried it over and over again, the box just overlapped each other.
Hi. Ryan,
I had the same issue occur. A temporary workaround that i found Is that if you freshly convert your image to Save as gif, that newly formed gif image can be quantified, much like the sample image. However once saved and reopened the gif no longer can be quantified.
Hope this helps.
Hi!
I´m working in mac. Any ideas?
I have the same problem, the number 2 stays in the first lane. I´ve tried to save as gif, but it doesn´t work.
Thanks
I may have found a solution to this problem. ImageJ prevents you from moving a box horizontally if the width is 2x greater than the height of the box. You’ll notice in the sample image that the boxes are much taller than they are wide, and the software allows you to select the second lane. However, when I draw fat, short boxes, I can mimic the problem you all seem to be reporting. Can somebody try this and see if the problem is fixed? Hope this helps!
Hi Ryan. I’m not sure why that would happen. I just tried it with the sample image, and the ‘select next lane’ command should work by hitting either alt+2 or control+2.
Try dragging the box to the second lane, and instead of hitting control+2 use the menu command of Analyze -> Gels -> Select Next Lane. This should select a second lane that is identical in size to the first lane.
pls help me with the anaylisis of my western blot bands. The case is at follows, i must compare the expression of a certain protein X in control mice, sick mice, and mice resistant to the desease. For each type of mice i have 5 protein samples. With each sample (15 in total) i have made western blot so now i have the bands for my X protein for each sample, and also their respective loading control, actin. With these bands i put the image in the program image J and obtain the intensity of each band. Now i dont know how to proceed. In examples of how to analyze western blot bands they typically use 1 control and 1 experimental band, with wich they normalize the experimental bands to the control and the actin band, but i have 5 samples for control, so i dont know how to analyse my data, should i just take a mean of each group of samples? I need to do statistics later to see if it is significant the differential expression. Pls help me with the analysis!!
thks =)
Hi Natalia,
I am happy to help in any way that I can! Just to be clear: I understand that you have your western blot finished. Are all fifteen samples on the same gel so that the data are gathered with identical film exposure times?
What is this “undervsover.png” window? my imagej does not have that. Is it some kind of plugin I need to download?
The undervsover.png is the name of the image file that I used for the tutorial. When you open up any image file, it should display the name of file, followed by the file extension. In this case, it was a PNG file, but you may use TIF, JPEG, PNG, etc.
Do u have the files or information as PDF? it is very useful..many thanks
I currently do not have the info in a PDF format,although it’s something I’ve been meaning to do. I’ve been swamped recently with work, but I’ll get a protocol in PDF format, along with some basic other protocols (e.g. Bradford assay) as soon as possible.
Thanks for using the site. Be sure to share with friends, colleagues, and new students! I think it will make their lives easier.
Thanks. It was really helpful. But, I have a problem. I have my blots ready and analyzed as you suggested above. My confusion is, I need to quantify the expression of proteins from each well which are treated with different concentration of a compound at different time points. I have my loading control. Hence, my question is – am i to compare each of the bands from my main experimental blot relative to the respective bands of the loading control (e.g. band 1 experimental blot/band 1 loading control blot, band 2 experimental blot/band 2 experimental blot). Is this how I should do to quantify the protein levels in each band? Because from your explanation above you mentioned that one should choose a band he wants to compare with the others. Thus, in my case all the experimental bands are independent on one another, I just need to know the protein levels in each of them. I’d appreciate your quick response. Thanks in advance
Hi Mahmoud,
You’re right. As written, the protocol omits the loading control step. Here’s how you would include it:
Let’s say your three measurements for ‘experimental blot’ are as follows:
E1 = 1000
E2 = 500
E3 = 250
and the measurements from three loading controls are:
LC1 = 2000
LC2 = 1900
LC3 = 2100
To normalize the experimental conditions to loading controls:
E1n = 1000 / 2000 = .500
E2n = 500 / 1900 = .263
E3n = 250 / 2100 = .120
And then to calculate the relative expression:
E1 = .500 / .500 = 1.00
E2 = .263 / .500 = .526
E3 = .120 / .500 = .240
I hope this clarifies the protocol, and answers your question. I will incorporate this into the tutorial as soon as I can.
Thanks very much. I appreciate. Just one more thing, forgive me if I sound stupid. Why do i need to choose one lane to calculate relative expression. Because in my case, I have got about four samples treated with a compound and exposed for 24 and 48 h, thus, do I still use of band to quantify the relative expression? Hope the question sounds clear – the question is all about the relative protein concentration. Thanks again in anticipation
Hey, did the administrator ever get back to you on your last question? I have the very same issue as you! Any help would be greatly appreciated!
Thanks
Hello! What a very helpful site this is. Thanks. I have a question with regards to your above write up. It is mentioned that use the same size box to measure all the bands, but my bands are of different width. If i use a large box size, it overlaps into the next band, please what do i do. I need a detailed answer pls. Its urgent pleassse. Thanks.
What would be the best way to obtain a publication in which you used this method? Also, my peaks aren’t as pretty as the ones you have displayed and I am having trouble deciding where exactly to close them off to take the area. Any input would be very helpful. Thanks.
Hey there!
I am a new hand and I have some issue in using IJ. I already have western blot bands (12 lanes) and they are on the same gel within an identical exposured film. But when I was just finishing the 3rd box, the plot with 3 peaks automatically came out and the tool changed to straight line that let me to close the peak area. I think if I do the lanes by 3 every time, I need to do 4 times and each time the area of boxes could be different and the values would be affected. I wonder this is from the IJ version or you designed it like this, and how can I resolve this problem?
Thank you so much!
Hi Yolanda,
I am guessing that you may have hit “control + 3″ when you went to the third lane instead of “control + 2.”
Remember, after you use “control + 1″ to set the first box, you use “control + 2″ to measure all of the remaining lanes. Once all of the lanes are selected, use “control + 3″ and the peaks show be displayed along with the straight line tool selection.
You’re correct, though. It is technically incorrectly to do multiple sets of 3 measurements for 12 lanes, as the size of the boxes may vary.
Hopefully, this easy-fix solves the problem.
Thank you! Now it really works! So great!!
this is the best “user manual” I have seen in a long time. It give step by step directions and what to expect at each stage and what it means. Thank you very much for this wonderful D.I.Y. The only difference I see is that my plot are upside down and I don’t know how to make them upright
HI,
I was wondering could somebody explain me some facts that I dont understand. This is classical densitometric quantification for western blots but I am using same program for this kind a thing but different approach. Could someone compare this two methods a state pros and cons for each method. To clarify my method I open scanned blots, then click edit → invert. Then I click Process → Substrate Background (50) → Ok. Then I draw rectangle around the band in first lane (same as here) and press M on keyboard and in the Results I get numbers representing the surface below the bands. For each band I repeat the same procedure. I am doing this for some period now and I encountered this way so I am confused. Thanks and sorry for a long post.
Hi,
How would one go about with no standard. For example, in my case I will have 5 lanes with male protein and 5 other lanes with female protein. I want to see if there is a difference between male and female. There is no standard in this case. How does that work?
Thanks!
Hi Eve,
Sorry for the delayed response. Am I correct to understand that there is no general loading control that could be used to normalize the samples (E.g. the male and female samples come from tissue or cells where tubulin or GAPDH could be used)?
If not, you can just run the samples on the same gel and take the raw densitometry value as arbitrary units, average the 5 values within a sample, and do a t-test to look for a significant difference.
If you have enough total sample, it would help to do a total protein assay (e.g. Bradford or BCA) to verify the protein concentration of your sample is equal between male and female. Then, you can load equal amounts of total protein on your gel and determine the relative differences as described above.
Iam international student and new in this experment , so excuse my english. Please help me with the anaylisis of my western blot bands. The case is at follows:Ihave to look at total protien phosphorlation in sample that treated with drug x at different time point.My control is un treated at diffrent time point. So now i have my bands and I am not sure how to analyse it? i see less phosphorlation in my treated one comparing to un treated . I know each band is an reflection on specific protien, but i am not sure what are they and how to serch for them? I am sorry for troubling you but Ireally will appreciate your help.
I am waiting for your respond
Thank you
Hi,
I am trying to analyze gels after a year or so. It seems software has changed quite a bit and having a problem analyze.
1. My selection doesn’t change color from yellow to blut.
2. Plots are very zoomed in and cannot see whole plot.
3. Plots are presented in a row rather than all plots in one page.
Thanks for your help.
Hello,
I am having trouble with ImageJ while measuring density. It decreases the band density with increase in band intensity. I am saving my figures as .tif as always but recently it is acting weird. I re-installed ImageJ but the same problem.
Your help would be really appreciated.
Vaishali
Hi Vaishali,
I’m not exactly sure what you mean, but I can try a couple guesses as to what the problem may be. First, if the peaks are simply inverted, you can still quantify their area and use that to measure the relative band intensity. If, on the other hand, the area of the peak is actually smaller for a more intense band, you may try inverting the image and seeing if that works.
What do you do if you have a lane in which the protein is not expressed and no band is present. Should I not put a box around this empty lane? When graphing the quantification should I just set this lane at zero?
You can put a box there if you want. Basically, if you put a box there, all you will see is background when you analyze the peaks, and there will be a value of zero associated with the area under the peak.
Hello, I saved a tiff plot after plotting the squares on the actual gel. Ihad partially quantified the plot by using the line and wand tool to get the numbers for AUC. However when I go back to the saved plot which had been partially quantified, I am unable to use the line tool to mark the remaining curves for quantification. Please advise.
Hi,
I have a question regarding cross gel comparison of a protein. How would I quantify relative expression of a particular protein in two separate gels with different exposure times. I have separate loading controls for each blot so that I can find relative intensity for each blot. But, how can I compare it across two blots? I really appreciate if anyone can come up with a solution. Thanks!
Hi,
I would like to ask you about the loading controls. After transferring proteins from gel to membrane, can I stain the gel with commassive blue and compare the intensity between lanes to confirm that I had the same amount of samples loaded into each lane. Thank you so much for this useful tutorial!! Could you please also send me a link to the list of publications that used your method to quantify western blot results?
Hello!
This is a great blog! I am quantifying western blots for the first time. A coworker showed me how to quantify my blots but what he has told me seems to vary with what is on this site and I’m not sure which is correct. I follow everything up through plotting lanes and drawing a line across the bottom of each peak. If I follow your method I use the wand and click inside my peak and get an area. What my coworker told me to do is to save save the plots, close the document, and then reopen it. After I reopen the plot, I use the wand to select a certain peak, then I press analyze, and then I press measure. The number I get doing the area this way, is different than the number I get when I measure the area your way. Can anyone explain to me why these two numbers are different? I would be forever grateful!