Contact us

QED Bioscience has been designing and manufacturing antibodies for over 20 years, and throughout our history, our goals have remained unchanged: provide the best antibody products and services on the market and support our customers with the top-quality antibodies and technical expertise they should expect from a full-spectrum antibody company like QED.

How SDS-PAGE works

SDS-PAGE (sodium dodecyl sulphate-polyacrylamide gel electrophoresis) is commonly used in the lab for the separation of proteins based on their molecular weight. It’s one of those techniques that is commonly used but not frequently fully understood. So let’s try and fix that.

SDS-PAGE separates proteins according to their molecular weight, based on their differential rates of migration through a sieving matrix (a gel) under the influence of an applied electrical field.

Making the Rate of Protein Migration Proportional to Molecular Weight

The movement of any charged species through an electric field is determined by its net charge, its molecular radius and the magnitude of the applied field. But the problem with natively folded proteins is that neither their net charge nor their molecular radius is molecular weight dependent. Instead, their net charge is determined by amino acid composition i.e. the sum of the positive and negative amino acids in the protein and molecular radius by the protein’s tertiary structure.

So in their native state, different proteins with the same molecular weight would migrate at different speeds in an electrical field depending on their charge and 3D shape.

To separate proteins in an electrical field based on their molecular weight only, we need to destroy the tertiary structure by reducing the protein to a linear molecule, and somehow mask the intrinsic net charge of the protein. That’s where SDS comes in.

The Role of SDS (et al)

SDS is a detergent that is present in the SDS-PAGE sample buffer where, along with a bit of boiling, and a reducing agent (normally DTT or B-ME to break down protein-protein disulphide bonds), it disrupts the tertiary structure of proteins. This brings the folded proteins down to linear molecules.

SDS also coats the protein with a uniform negative charge, which masks the intrinsic charges on the R-groups. SDS binds fairly uniformly to the linear proteins (around 1.4g SDS/ 1g protein), meaning that the charge of the protein is now approximately proportional to its molecular weight.

SDS is also present in the gel to make sure that once the proteins are linearized and their charges masked, they stay that way throughout the run.

The dominant factor in determining an SDS-coated protein is it’s molecular radius. SDS-coated proteins have been shown to be linear molecules, 18 Angstroms wide and with length proportional to their molecular weight, so the molecular radius (and hence their mobility in the gel) is determined by the molecular weight of the protein. Since the SDS-coated proteins have the same charge to mass ratio, there will be no differential migration based on charge.

The Gel Matrix

In an applied electrical field, the SDS-treated proteins will now move toward the positive anode at different rates depending on their molecular weight. These different mobilities will be exaggerated due to the high-friction environment of a gel matrix.

As the name suggests, the gel matrix used for SDS-PAGE is polyacrylamide, which is a good choice because it is chemically inert and, crucially, can easily be made up at a variety concentrations to produce different pore sizes giving a variety of separating conditions that can be changed depending on your needs. You may remember that I previously wrote an article about the mechanism of acrylamide polymerization.

The Discontinuous Buffer System and the Stacking Gel – Lining Them Up at the Starting Line

To conduct the current from the cathode (negative)Β to the anode (positive) through the gel, a buffer is obviously needed. Mostly we use the discontinuous Laemmli buffer system. “Discontinuous” simply means that the buffer in the gel and the tank are different.

Typically, the system is set up with a stacking gel at pH 6.8, buffered by Tris-HCl, a running gel buffered to pH 8.8 by Tris-HCl and an electrode buffer at pH 8.3. The stacking gel has a low concentration of acrylamide and the running gel a higher concentration capable of retarding the movement of the proteins.

So what’s with all of those different pH’s?

Well, glycine can exist in three different charge states, positive, neutral or negative, depending on the pH. This is shown in the diagram below. Control of the charge state of the glycine by the different buffers is the key to the whole stacking gel thing.

So here’s how the stacking gel works. When the power is turned on, the negatively-charged glycine ions in the pH 8.3 electrode buffer are forced to enter the stacking gel, where the pH is 6.8. In this environment, glycine switches predominantly to the zwitterionic (neutrally charged) state. This loss of charge causes them to move very slowly in the electric field.

The Cl- ions (from Tris-HCl) on the other hand, move much more quickly in the electric field and they form an ion front that migrates ahead of the glycine. The separation of Cl- from the Tris counter-ion (which is now moving towards the anode) creates a narrow zone with a steep voltage gradient that pulls the glycine along behind it, resulting in two narrowly separated fronts of migrating ions; the highly mobile Cl- front, followed by the slower, mostly neutral glycine front.

All of the proteins in the gel sample have an electrophoretic mobility that is intermediate between the extreme of the mobility of the glycine and Cl-, so when the two fronts sweep through the sample well, the proteins are concentrated into the narrow zone between the Cl- and glycine fronts.

And They’re Off!

This procession carries on until it hits the running gel, where the pH switches to 8.8. At this pH the glycine molecules are mostly negatively charged and can migrate much faster than the proteins. So the glycine front accelerates past the proteins, leaving them in the dust.

The result is that the proteins are dumped in a very narrow band at the interface of the stacking and running gels and since the running gel has an increased acrylamide concentration, which slows the the movement of the proteins according to their size, the separation begins.

What Was All of That About?

If you are still wondering why the stacking gel is needed, think of what would happen if you didn’t use one.

Gel wells are around 1cm deep and you generally need to substantially fill them to get enough protein onto the gel. So in the absence of a stacking gel, your sample would sit on top of the running gel, as a band of up to 1cm deep.

Rather than being lined up together and hitting the running gel together, this would mean that the proteins in your sample would all enter the running gel at different times, resulting in very smeared bands.

So the stacking gel ensures that all of the proteins arrive at the running gel at the same time so proteins of the same molecular weight will migrate as tight bands.


Once the proteins are in the running gel, they are separated because higher molecular weight proteins move more slowly through the porous acrylamide gel than lower molecular weight proteins. The size of the pores in the gel can be altered depending on the size of the proteins you want to separate by changing the acrylamide concentration. Typical values are shown below.

For a broader separation range, or for proteins that are hard to separate, a gradient gel, which has layers of increasing acrylamide concentration, can be used.

I think that’s about it for Laemmli SDS-PAGE. If you have any questions, corrections or anything further to add, please do get involved in the comments section!

Originally published on September 18, 2008.Β  Revised and updated on June 20, 2016.


  1. Rachel on June 30, 2017 at 11:51 am

    I was given an assignment on chromatography… When a sample of haemoglobin and a sample of myoglobin are run on SDS-page gel,both protein produces a single band with an estimated Mr of 1600. When the sample are subjected to SEC(size exclusion chromatography) haemoglobin has an Mr of 64000 and myoglobin has an Mr of 1600

  2. Sophia on April 11, 2017 at 12:40 pm

    Thank you so much!

  3. Binoy chandra pal on March 12, 2017 at 1:36 am

    write down the name of different components used in SDS-PAGR

  4. susmera on February 28, 2017 at 8:57 am

    Simple and useful explanation..thank uuu…

  5. Sumit on February 20, 2017 at 3:02 pm

    why i don’t use only separating gel?

  6. ashwini salunke on February 15, 2017 at 10:35 am

    Can we use this methode for separation of dna or rna

  7. sunny on February 12, 2017 at 7:26 pm

    Does anyone know why excessive SDS causes a protein to run higher than it normally should run? Multiple people have told me that excessive SDS is the cause (and they are correct that I have used more SDS with a particular sample). But I don’t understand the science behind why extra SDS might cause a protein to run higher.

    • Shubham on May 1, 2017 at 7:14 am

      Since SDS linearize the protein molecule and coat the proteins uniformly with a high amount of SDS ( about 1.4 g SDS/ g protein). Due to high amount of SDS bonded a high level of negative charge is observed on the protein. Which is reason for higher run with SDS associated protein.

  8. Cait on January 16, 2017 at 12:44 pm

    Can you comment on why using fresh vs. fixed tissue is important for SDS-PAGE? There is some research I’ve found that says fixed tissue for westerns is okay, but I have always believed otherwise because of the nature of fixing the tissue cross-links proteins and maintains the secondary/tertiary structure that SDS works in the opposite way to disrupt these links…..

    Thank you!!

  9. JB on January 10, 2017 at 4:35 pm

    I have a small doubt. The pH is maintained on the basis of free H+ ions or the ratio of Protonated and deprotonated salt concentration. When the gels are poured, these ions are small as compared to the sieve or pore size of the gel and are free to move and will diffuse between the gels until equilibrium making the pH same and same thing can happen when they come in contact with the tank buffer. So my question is, can this happen? If so, then is it necessary to make gels of different pH and expect the proposed phenomenon?

  10. Sai Akhil on December 18, 2016 at 8:07 pm

    Thank you so much for the article. I understood the basics clearly, it helped me a lot.

    I haven’t clearly understood one thing in this, “SDS also coats the protein with a uniform negative charge, which masks the intrinsic charges on the R-groups.” How does SDS masks the charge? Doesn’t it interact with the charges in the protein? For example, since SDS is negatively charged, it may interact with a positive charge in the protein and that part becomes something like neutral. It may also be possible that it may repel with negatively charged amino acids.

    • Dr Amanda Welch on December 19, 2016 at 3:23 pm

      The SDS interacts with the hydrophobic parts of the protein (largely the protein backbone). A good resource for a more in depth explanation can be found in this PNAS article:

  11. Sara on December 17, 2016 at 8:38 am

    This was great! However, I have a question. Once we denature the proteins and separate their subunits from each other, are the bands that appear based on the MW of each individual subunit, or are they for the protein all together? Suppose, one has a protein that is a heterodimer, with subunits 20 kDa and 40 kDa, will the band appear on the 60 kDa mark or will one get 2 bands at 20 kDa and 40 kDa respectively?

    • Dr Amanda Welch on December 19, 2016 at 3:12 pm

      Hi Sara,

      This largely depends on how the heterodimers are bound, but (in general) you’ll end up with two bands that each represent one of the subunits.

      Take care,

  12. HAMID KAZEMIAN on December 9, 2016 at 7:52 pm

    Thank you so much

  13. Parnal sattikar on October 20, 2016 at 10:00 am

    very nice explanation sir. Thank you so much for the same

  14. Riana Kubat on October 5, 2016 at 8:18 pm

    What if the protein is expected to come off at 100 kDa but comes off at 110 kDa? What could cause it to come off at a higher weight? Someone else I asked said it had to do with the negative charge on the SDS is that true?

    • Brandon on December 2, 2016 at 5:39 pm

      This refers to protein purity. Essentially there are excess components attached to the protein which are effectively retarding its motion through trough the gel.

      • Sunny on February 10, 2017 at 8:29 pm

        I’m don’t understand what you mean by purity? shouldn’t every protein be linearized and no longer bonded/associated with anything else after adding SDS and boiling?

        I have also seen that having more SDS in one lane causes that sample to run higher than it should but I don’t have a logical explanation for why.

  15. Aakask on July 19, 2016 at 7:25 am

    Two proteins having same molecular weight and charge. will they have same mobility?

  16. Asiya Ejaz on June 4, 2016 at 3:49 pm

    I Have a question if uanswer it please,
    Proteins having larger size will have more SDS bind to it and thus more negative charge than to the smaller proteins. Then WHY proteins having more move faster to anode (+ve electrode), as they will be more attracted than smaller one`s. I don`t understand why smaller proteins move faster and its on the basis of mass…??????

    • Mike jones on July 15, 2016 at 5:12 am

      Bigger proteins do grab more SDS, but they grab a proportional amount to their size. Proteins bind 1.6 g of SDS per 1 g of protein. And, because the SDS unravels the proteins their size is proportional to their mass. So in the end you get the Mass::Charge ratio more or less equal for all the proteins in a gel. Size becomes the big discriminating factor as the proteins are forced to migrate through the matrix.

  17. Charlotte on April 30, 2016 at 5:10 pm

    This is a good explanation, but I was wondering after you’ve found the weight of the protein, for example says its 116KDA, what would you be able to tell about its molecular form?

  18. Shaun Lott on April 20, 2016 at 9:35 pm

    I’ve just taught this in a class, and I think Nick’s explanation is way clearer than mine, and DK’s comment is a very welcome addition. My one comment: The article says “The separation of Cl- from the Tris counter-ion (which is now moving towards the anode) creates a narrow zone with a steep voltage gradient that pulls the glycine along….” seems ambiguous or maybe incorrect. The Tris is positively charged, right? And hence will be heading in the other direction, towards the cathode.

    • Madhav Mohata on June 11, 2016 at 8:40 am

      I too have the same doubt. Can anyone please answer that?

  19. suku on March 12, 2016 at 7:14 am

    what is the fate of cl- in the running gel or resolving gel ,can any one pls explain me….

  20. Archie on March 10, 2016 at 12:45 pm

    Very good explanation of something most practitioners who demonstrate and teach don’t even understand themselves.

  21. gopalakrishnan on March 10, 2016 at 4:16 am

    hi., very good explanation.,,

  22. Anna on March 8, 2016 at 1:16 am

    GREAT JOB! Very informative.

    I have a question, why we need SDS in running buffer?
    I try to look it up online, but nowhere provide an explanation. Thanks

    • Sana on October 20, 2016 at 2:01 am

      SDS is also present in the running gel to make sure that the proteins are linearized and the charges remain masked throughout the run

  23. Banu on February 10, 2016 at 7:19 pm

    I need to know y stacking gel is essential ?. And s that depth of the gel well s makes the reason for it? Y we should not make well in resolving gel ?

  24. daman on February 7, 2016 at 9:10 am

    This is amazing, really helps a lot! thank you so much!

  25. mayavati on January 21, 2016 at 2:13 am

    This explanation is very nice

  26. Jiwai on January 17, 2016 at 9:09 am

    You are a good explainer! Great job!
    Thanks for the information and insights!

  27. Il Blue on December 24, 2015 at 2:46 pm

    with resolving gel 10%, How should I control voltage to appropriate for 2 gels?

  28. Pallavi on November 21, 2015 at 3:02 pm

    superb explanation..helped me a lot to understand more about SDS PAGE

  29. Jenny Stephen on November 21, 2015 at 11:30 am

    Nice explanation..thanks a lot.

  30. Sean on November 15, 2015 at 6:46 am

    Thanks for the article!! But I still get a question inside me:

    “Since the SDS-coated proteins have the same charge to mass ratio there will be no differential migration based on charge.” “In an applied electrical field, the SDS-treated proteins will now move toward the positive anode at different rates depending on their molecular weight.”

    But in a electric field, F(Force)=q(Charge)*E(Applied Electric Field). So, a(acceleration)=F/m(mass)=q*E/m. Plus, d(distance that the charged particle moves under applied electric field under time t)= 1/2*a*t^2, which is proportional to q/m(if E is constant). Thus, if “the SDS-coated proteins have the same charge to mass ratio”, how come there are migration difference between different proteins?

    • Amanda Welch on November 16, 2015 at 11:21 am

      What the author is saying here is that the proteins no longer have varying charge to mass ratio. That is, all proteins of the same mass have the same charge. So, charge will not affect the rate of migration through the gel. Also, the SDS binds all proteins in roughly the same proportion to their mass, so all proteins of the same mass will have the same amount of SDS bound. Does that make more sense?

      • fakhrul on January 16, 2017 at 4:41 am

        i think what you say means like this. different sample protein that have different molecular weight will now have same amount of charge because SDS binds proportional to the mass of those protein. so now the protein molecular radius becomes same now since it has been linearized by SDS while the charge also become same with SDS binding. Now, the only thing that is different among the different sample protein is their molecular weight, so the separation now will only happen depending on their molecular weight. it is like keeping the other two properties of the molecules constant while varying the parameters of DNA molecular weight different. please correct me if i am wrong.

        • Dr Amanda Welch on January 17, 2017 at 9:01 pm

          That sounds about right. πŸ™‚

    • Mostafa Mahmoud Nasr on November 27, 2015 at 11:12 am

      You have to consider the pores issue, pores mean friction or bulkiness.

    • Sean on December 2, 2015 at 9:29 am

      Thanks Amanda and Mostafa for answering me!! I can fully understand the idea now:)) In conclusion, if we think in a more physical way, we have to consider the resisting force applied by the gel:))

    • Madhav Mohata on June 11, 2016 at 9:29 am

      The answer lies in your explanation only.
      After the derivation, we reached the conclusion:
      Distance moved, d ∝ q/m (charge by mass ratio)
      But, q/m = constant
      But, the variable entity here is the force of resistance which is experienced differently by different proteins due to their varying sizes since, the pore size of the gel matrix is fixed. Thus, ↑ the size, ↑ is the difficulty in moving in the gel, thus, greater is the force of resistance.

      Resistance, r ∝ s, the SIZE of the protein
      r ∝ s
      d ∝ 1/r
      CONCLUSION: d ∝ q/m Γ— 1/r (r = resistance)
      d ∝ k Γ— 1/r (k= constant)
      d ∝ 1/ (s= size)

      I want to thank you for the asking this question in this manner, since, only after reading your question did this explanation bumped into my mind. Otherwise, I too had the same doubt in my mind till today.

      Thanks a lot !

  31. Mostafa Mahmoud Nasr on November 8, 2015 at 4:27 pm

    You are the best

  32. Weitao Zhao on September 2, 2015 at 1:02 pm


    Thanks for posting this. It does help me for understanding the technique. I have a question, why you say ” Since the SDS-coated proteins have the same charge to mass ratio there will be no differential migration based on charge.”? Does the mass affect the migration of charged particle in the gel?

    • Amanda Welch on September 3, 2015 at 2:01 am

      Hi Weitao,

      Yep. Size does matter. The bigger it is, the slower it moves. πŸ™‚

      • fakhrul on January 16, 2017 at 4:43 am

        the term mass here refers to molecular weight or molecular radius (size)? i dont understand this because your answer state about size.

  33. Prathamesh Rumde on April 16, 2014 at 11:21 am

    awesome explanation…….just went right into my brain without any doubt

  34. henwangen on April 22, 2013 at 10:20 am

    Can you please help me with the following question:

    “You have purified an enzyme that is composed of 3 subunits. Two of these subunits have a molecular weight of 28kDa and the other is of 14 kDa. This enzyme is run on an SDS-PAGE. You made a mistake and instead of making a 12% acrylamide gel, you made an 8% gel. Where wll the enzyme subunits migrate in this case? Explain why?”

    I know that the higher molecular weights the lower the % gel. Will the 28kDa subunit migrate as normal, while the 14 kDa subunit will migrate slower?

  35. NSM on November 6, 2012 at 9:19 pm

    Very nice explanation, thank you!

    I’d just like to say that the link for the tutorial is broken.

  36. labman on August 8, 2012 at 3:19 pm

    Did anyone of you try out the method described in this paper?

    “Polyacrylamide Gel Electrophoresis without a Stacking Gel: Use of Amino Acids as Electrolytes” Ahn et al. 2001

  37. vile on April 16, 2012 at 12:41 am

    πŸ™ broken link.

  38. Rachel Gurney on February 4, 2011 at 1:54 pm


    I’ve been having some problems with SDS-PAGE lately in that I seem to be getting accumulation of protein at the interface of stacking gel and running gel even after the gel has run its course. Would you know why this is?

    Also I seem to get a similar flat line above my bottom marker band, so smaller proteins are accumulated in the flat line rather than nicely separated bands.

  39. Abdul Rashid War on August 8, 2010 at 5:01 am

    Thanks for such article. It increases the knowledge and gives lot of clarification. Now onwards I will be the frequent user of this website.

  40. Brooke on October 19, 2009 at 12:06 pm

    Wow, just wow. This man deserves a medal! Call me crazy, but I’ve cited a couple of your basics pages in second year university assignments. It’s so hard to find good basic information and when you do you find that 50 year old articles are going for $30!!! I don’t care if they dock marks, I think you’re a wonderful source of decent, comprehensive info to people just starting out and I hope more people make their way here.

    Thank you so much!!!

  41. Seena on October 8, 2009 at 5:24 am

    That was a very interesting description of SDS Page.It sure has improved my understanding of SDS Page.
    Thak a lot Nick

  42. Axel on September 29, 2009 at 6:27 pm


    Nice explanation of the SDS-PAGE, I just have to link your post to my work fellows when they have this question.

    I might be wrong, but in this setup the anode goes for the positive electrode (and cathode for the negative one), as far as the SDS-bound molecules are negatively charged and are called anions and as far as anions go to the anode (the red electrode on the generator outlet).

  43. jithendran on August 29, 2009 at 8:01 am

    Awesome explanation simple and usefull…….

  44. Lekhana on July 28, 2009 at 6:18 am


    I’m deviating a little from the current topic here. Can you tell me what is the function of ethylene glycol in a Conformation sensitive gel electrophoresis (CSGE)for detection of mutations in DNA. I know it used as a denaturant but what is the exact interactions with DNA that actually help in denaturing it?

  45. Nick on July 1, 2009 at 10:12 am

    Monisha — tell your friends! πŸ™‚

  46. Monisha on May 4, 2009 at 5:49 pm

    Wot an awesome website!..a lotta fundamentals which the teachers dun ever discuss(i’m unsure if they know) got cleared πŸ™‚

  47. Nick on October 12, 2008 at 10:59 pm

    DK – thanks for providing such an informative comment. Hopefully your points will clear up any questions people are left with at the end of my article.

    I hadn’t intended to give the impression that the proteins are left without glycine ions in the resolving gel, but that the glycine front speeds up in relation to the protein front after leaving the stacking gel. But, reading it again, I can see that it could be read that way. Thanks for making a good point – again, I hope your comment clears things up for anyone who got the wrong idea.

  48. DK on October 12, 2008 at 10:45 pm

    I feel that the stacking effect is not adequately described (also see “*” below). At least in my extensive experience with most grad students and postdocs who usually barely remember any physics. Here, let me try:

    1. Yes, fast Cl- ions run away, slow glycine- ions that are even further slowed by the fact that large proportion is them is not even ions half the time (pH is chosen so!), come into the stacking gel.
    2. Since electric current = rate of charge movement ==> fast ions in the gel = high conductivity/low resistivity and slow ions in the gel = low conductivity/high resistivity.
    3. The rate of electrophoretic movement is a linear function of E, electric field intensity (mobility = some coefficient x E). E is a “voltage gradient”, i.e. E=V/distance.
    4. Recall Ohm’s law, V = I x R. In our case, we have a linear circuit so that R is a sum of resistivity of resolving gel (Rr, low) and resistivity of stacking gel (Rs, high): V = I x (Rr Rs). So the overall voltage that comes from the power supply can be said to consist of a sum of two voltages: V= I x Rr I x Rs = Vr Vs (or, in physics parlance, overall voltage “drops” unequally on resolving and stacking gels). The voltage drop on a stacking gel is higher because it has higher resistance (e.g., few charges that move slowly).
    5. So, for as long as we have enough buffering in the stacking gel, the situation is this: higher voltage drop on a stacking gel and the voltage drops on a shorter distance. Which means that the driving force of electrophoresis, E (which is, again, voltage drop over distance) is much higher in the stacking gel.
    6. The stacking gel is made of very low percentage of acrylamide so that proteins move in it roughly irrespective of their molecular mass. Since in the presence of SDS their charge to mass ration is approximately equal, they all move in the stacking gel about the same – and FAST, comparing to how any of them moves in the the resolving gel.
    7. Once the particular protein molecule reaches the resolving gel, its rate of migration slows down dramatically (lower E in the resolving gel and higher percentage of AA in the resolvign gel). So what we get is a situation where all proteins loaded on a gel initially move fast untill they reach resolving gel where they slow down – and this allows protein molecules that were initially behind them (and thus still moving fast) to catch up. In other words, the initial wide band of loaded sample gets concentrated in the narrow band on the boundary between stacking and resolving gels.
    8. From there it’s simple: in the higher % AA resolving gel proteins of different mass move with different rate because of the friction against the with a gel, thus allowing the resolution approximately according to their molecular mass.

    Few practical conclusions that follow from the above:
    – That is why you should never adjust pH in the running buffer. Doing that adds fast ions which would move into the stacker and make stacking less efficient.
    – That is why it is not recommended to load samples with high salt content. High salt usually = more fast ions ==> again, screwing up the way stacker works.
    – That is why gel loading buffer has the same buffer composition as the stacker (pH 6.8 – which isn’t, BTW, great for heating proteins because some proportion of them undergoes acid hydrolysis).

    * This statetement in your original description is simply incorrect:
    So the glycine front accelerates past the proteins, leaving them in the dust.

    This makes an impression that proteins somehow are left without glycine at all. That’s not true – glycine molecules are continuously coming from the running buffer. What changes with glycines hitting separating gel is that they start running faster, ensuring that the conductivity of the resolving gel remains high – something that, as explained above, is essential for the stacker to work its best.

    • Madhav Mohata on June 11, 2016 at 9:41 am

      Thank you DK, you made the last remaining doubt very clear, especially, using the physics.
      Thanks a lot!

  49. Anne on September 20, 2008 at 5:45 pm

    I finally understood the principle behind the stacking gel pH. Thank you!

  50. Steve on September 19, 2008 at 2:36 pm

    Thanks, this is very informative and now I don’t feel like such a moron for doing something that I didn’t really understand.

Leave a Comment