---
# System prepended metadata

title: Measuring Gene Expression

---

# Measuring Gene Expression

> Colby College - [BI332 Developmental Biology](http://web.colby.edu/devbio/)
> Updated 21 November 2019 - [Dave Angelini](mailto:dave.angelini@colby.edu)

## General considerations

### Basics of molecular biology

During most of your molecular work, you won't be able to see the DNA, RNA or proteins you are manipulating. Therefore, it is helpful to keep in mind basic principles of biochemistry that should provide you with "common sense" for how to handle most of these procedures.

- For example, all molecules are prone to degradation through reactions with water or other reagents. This is slowed by cold, so it makes sense to **keep reagents cool** whenever possible. 
- Most biological macromolecules are also excellent food sources for bacteria. While truly sterile technique isn't usually needed, try to **keep materials covered**, including tubes, tips and reagents. 
- DNA is very durable. It can usually be heated and vortexed without degradation. For this reason DNA can also cause contamination of other samples if it is handled sloppily. For this reason in our lab we **use filtered, sterile pipette tips** for most applications.
- RNA is unstable. It's 2'-hydroxyl group accelerates its chemical degradation, and bacteria (and human cells) produce RNase that digest RNA. Be extra careful to **avoid contamination with RNase**. RNase is however also tolerant of heat.
- Proteins are also unstable. **Never freeze a protein** (at -20˚C) unless it is in a solution of at least 10% glycerol. **Never vortex a solution with a protein** that needs to be functional. It will cause a messy froth, but more importantly the protein can be denatured at the air-water interface.
- Many small molecules, like (d)NTPs are also unstable.
- Salts, buffers, and many common organic solvents, like ethanol, DMSO, and glycerol are generally very stable. However, in certain combinations they may interact.

### Be organized

Keep careful records in your lab notebook. Always give a brief explanation of why you're doing each procedure and what you hope to achieve from it. Critically, your notebook must be dated and list the ID numbers of the samples you generate. 

The standard method our lab uses for identify samples created through molecular methods, like PCR, is to use your initials, a unique number, and the date. So, the first reaction I generate today, November 21, would be "DA#1/11-21". It is also important to provide some explanation of what the sample is, such as "WntA-356 PCR". 

### Experimental Design

Before you begin your experiments, it will be important to think through the variables you will manipulate and the samples you will collect. Your goal here is to ensure that your analysis will be able to answer the questions you're asking.

In any experiment you should have at least two **treatment groups**. This might include several doses of a drug and a vehicle control, or dsRNA or CRISPR sgRNAs to eliminate a gene's function and a control (such as dsRNA for GFP or a randomized sgRNA). In some experiments you might want to include a positive control too. (For example, a high concentration of drug known to produce an effect, or sgRNAs to a gene with a reliable and obvious knock-out phenotype.) The number of treatments will depend in part on your prior knowledge of the response. If you want to knockout melanocyte development in zebrafish with a drug targetting Mitf, but no one's ever done this before, you may need to try different doses to see an effect. 

Each treatment should contain **biological replication**. Do not simply inject one bug with GFP dsRNA and another with dsRNA targetting a gene of interest. Inject *many* individuals, since some may die in uninformative ways, but more importantly, there will be biological variation in their response. By replicating the experiment at this level you can account for that variation in your analysis. Similarly, if you have a group of individuals that must be treated as a pool, such as a vial of flies or a dish of zebrafish embryos, it is best to replicate at the level of the pool, not simply to have replicate individuals. 

How much replication is enough? That depends on your experiment. You should not make your experiment logistically untenable, with more groups than you can manage or analyze. You should also be sensitive to the use of animals in this research. If we can have confidence in an answer with 3 replicates, doing 5 is probably unnecessary. (There is a field of statistics called [power analysis](https://www.statmethods.net/stats/power.html) that explicitly deals with this consideration. We won't get into that. But it's how, for example, drug studies plan for the number human volunteers they'll need and how vertebrate animal research justifies the use of a particular number of subjects in [IACUC review](https://www.compliance.iastate.edu/sites/default/files/imported/iacuc/guide/docs/SampleSizeJustification_Sep%202018.pdf).

If there are important potentially confounding factors in your experiment, you may want to intentional treat that as another factor for which you have replication. For example, in many studies sex is an important factor. If you're examining the effect of a drug on metamorphosis in *Tribolium* (flour beetles), do males and females respond differently? Perhaps it would be best to make sure you have similar numbers of each sex and to distribute them evenly acorss treatments, and to make sure you have enough of each. 

Depending on how you'll measure the outcome of your experiment (e.g. qPCR) it may also be necessary to have technical replication of those measurements. (More on that [below](https://hackmd.io/@dts8RULgQqi0n0PPDKh7JQ/Hy1ebmVhS#Semi-quantitative-RT-PCR)).

## Protocol

This protocol is aimed at measuring gene expression. It will step through sample storage, RNA extraction, cDNA synthesis and two methods for PCR: semi-quantitative (gel-based) RT-PCR, and quantitative real-time PCR.

### Sample storage and homogenization

You will need to isolate RNA from animal tissue for the measurement of gene expression and other applications. 

#### Materials 

- Pestles for 1.5 ml tubes – VWR catalog number KT749520-0000
- RNAlater (optional)
- Lysis buffer appropriate to your method of RNA isolation

#### Procedure

- **Weigh the tissue** that you will use for RNA extraction. If you’re starting from live insects, try not to aggravate them—that may alter their gene expression. If you’re starting from dissected tissue, keep it as cold as possible (on ice, or it can be flash frozen with liquid N~2~) or in RNAlater. Knowing the mass of tissue you start with helps calculate yield and the volume of homogenization buffer needed.
- **Transfer the tissue to a 1.5 ml microfuge tube**. The light blue tubes are manufactured to fit with the dark blue pestles. Use only clean, RNase-free tubes.
- Freeze the specimens by placing live insects at -80˚C for at least 5 minutes.
  - For high-sensitivity applications, like qPCR, if the specimen will be stored at -80˚C for any longer than about 12 hours, then it should be immersed in RNAlater. For RNAlater to work, the exoskeleton must be breached. So, dissect the target tissue or bisect the specimen.
- **Prepare the homogenization buffer**. For the Maxwell simplyRNA Kit, use 4 μl homogenization buffer per mg of tissue, up to a maximum of 200 μl per sample. Add 2 μl of **1-thioglycerol** per 100 μl of homogenization buffer.
- **Add the buffer to the frozen tissue**. 
- **Pulverize the tissue** with a pestle in the bottom of your tube. Do your best to reduce the sample to a fine paste. Work as fast as possible. Keep the sample cold. And be safe! For tough samples, the pestle can be attached to an electric drill.
  - Save and wash the pestles in bleach. They be can re-used.
  - For Maxwell isolations, samples may be stored frozen at -80°C after homogenization. Thaw homogenates on ice or at 4˚C to avoid RNA degradation.
- For most samples it is necessary to remove fiberous material from the sample. **Centrifuge** for 2 min at 12,000 ×g. Discard the pellet. (The supernatant contains the RNA.)
  - For some samples, additional centrifugation may be necessary. For example, for bumblebees, after thorough pulverization, centrifuge for 5 min at 20,000 ×g. Move the supernatant to a new tube. (Discard the pellet.) Centrifuge again for 5-10 min at 20,000 ×g. Carefully remove the supernatant without disturbing the pellet or any lipids at the surface.
  - Homogenization of these samples will necessarily leave behind a large volume of material. Therefore, if you're using the Maxwell isolation method (recommended) it is possible to start with more than 200 μl of homogenization buffer. However, the cartridges will not accommodate more than 200 μl of supernatant. 

### RNA isolation 

#### Materials

- Maxwell 16 LEV simplyRNA Tissue Kit – Promega catalog number AS1280
- Heat block set to 70˚C.

#### Procedures

- Turn on the Maxwell instrument.
- **Verify that the instrument settings** indicate an “LEV” hardware configuration and “Rsch” operational mode. If it's not, use the set-up menu to switch from SEV to LEV and replace the hardware (the magnetic rods and sample tray).
- For each RNA extraction, place a **cartridge in the LEV rack** with the label side facing away from the **Elution Tubes**. Press down on the cartridge to snap it into position. If you are processing fewer than 16 samples, center the cartridges on the rack.
- Carefully **peel back the seals** from the top of the cartridges. Remove any residue. 
- Place an **LEV Plunger in well 8** of each cartridge. Well 8 is closest to the Elution Tube.
- Place **labeled, 0.5 ml Elution Tubes** in the front of the LEV Cartridge Rack. Label tubes “total RNA” with the species, population, sex, genotype, and/or tissue of origin and your initials and today’s date.
- Add 50 μl of **nuclease-free water to the bottom of each Elution Tube**. For more concentrated eluate, use as little as 30 μl of water, however this may reduce total RNA yield.
- **Heat the homogenate-supernatant** (no more than 200 μl per cartridge) to 70˚C for 2 minutes.
- Allow the samples to cool for 1 minute at room temperature.
- **Add 200μl of lysis buffer** per 200 μl of homogenate-supernatant. 
- **Vortex** for 15 seconds.
- **Transfer the lysate** (up to 400 μl) to well 1 of the Maxwell LEV cartridge. (Well 1 is closest to the cartridge label and farthest from the elution tube.)
- **Add 10 μl of DNase to well 4 (yellow)**.  For less than 5 mg tissue, use only 5 μl of DNase. After adding the blue DNase to the yellow reagent, the well should be green.
- **Select `Run`** on the Menu screen, and press the `Run/Stop` button to select the method.
- **Select `RNA`; select `simplyRNA`**; then select `simplyRNA` once more on the Menu screen. Next select `OK` at the Verification screen.
- **Open the door** when prompted. Press the `Run/Stop` button to extend the platform.
- **Transfer cartridges** onto the instrument platform. 
- **Verify** that the cartridge rack is level on the instrument platform, samples were added to well 1, cartridges in the rack are loaded on the instrument, Elution Tubes are present with 50μl of nuclease-free water, and LEV Plungers are in well 8. Well 4 should be green to indicate that DNase was added.
- **Press the `Run/Stop` button**. The platform will retract. 
- **Close the door**. Maxwell will then isolate the RNA! 
- **Check the timer** to see when the run will finish. 
- **When the run ends**, the screen will prompt you to press the `Run/Stop` button to extend the platform. 
- **Remove the LEV Cartridge Rack** from the instrument. 
- **Remove Elution Tubes** containing total RNA and close the tubes.
  - If paramagnetic particles (an insoluble gray powder) are present in the elution tubes, then it centrifuge at 10,000 ×g for 2 minutes. Transfer the supernatant to a clean tube. 
- **Remove and discard the cartridges and plungers** from the LEV Cartridge Rack.
- **Use the NanoDrop** spec to measure the concentration of the total RNA. Record this information in your notebook and on the side of the tube. Also note the purity of the sample. Pure RNA should have an A260/A280 ratio > 2.0
- Store RNA at -80˚C or proceed immediately to cDNA synthesis.

#### Results from this semester

The spec readings from Fall 2019 samples appear in the table below. cDNA synthesis reactions for mpst samples were prepared using 400 ng of total RNA. For several samples, the RNA was concentrated by vacuum evaporation in order to get the necessary RNA mass into 14 μl. One  sample (MKAR C2) was prepared using 200 ng of RNA. Only one sample had a yeild too low to proceed with cDNA synthesis (MKAR W1).

| group | sample     | ng/μl  | A~260~/A~280~ | ng RNA used | cDNA rxn# | RNA (μl) | water (μl) |
|:-----:|:----------:| ------:|:---------:| -------------:|:----:|--------:| ----------:|
| TMYM  | control    | 16.51  | 2.35      | 400           | 1    | 14       | 0          |
| TMYM  | 0.02       | 35.89  | 2.04      | 400           | 2    | 11.15    | 2.85       |
| TMYM  | 0.2        | 159.51 | 2.26      | 400           | 3    | 2.51     | 11.49      |
| TMYM  | 2          | 58.22  | 2.24      | 400           | 4    | 6.87     | 7.13       |
| TMYM  | F1 control | 286.12 | 2.33      | 400           | 21   | 1.40     | 12.60      |
| TMYM  | F1 0.02    | 87.79  | 2.38      | 400           | 22   | 4.56     | 9.44       |
| TMYM  | F1 0.2     | 139.73 | 2.36      | 400           | 23   | 2.86     | 11.14      |
| TMYM  | F1 2.0     | 110.23 | 2.39      | 400           | 24   | 3.63     | 10.37      |
| MKAR  | C1         | 16.12  | 1.65      | 400           | 7    | 14       | 0          |
| MKAR  | C2         | 10.09  | 1.99      | 200           | 8    | 14       | 0          |
| MKAR  | C3         | 221.1  | 2.16      | 400           | 9    | 1.81     | 12.19      |
| MKAR  | W1         | 4.1    | 1.30      | 0             | -    | -        | -          |
| MKAR  | W2         | 85.75  | 2.11      | 400           | 10   | 4.66     | 9.34       |
| MKAR  | W3         | 10.18  | 1.53      | 200           | 11   | 14       | 0          |
| MKAR  | L1         | 30.21  | 1.98      | 400           | 12   | 14       | 0          |
| MKAR  | L2         | 174.7  | 2.14      | 400           | 13   | 2.29     | 11.71      |
| JWBS  | control    | 20.02  | 1.76      | 400           | 5    | 14       | 0          |
| JWBS  | 3ul        | 124.19 | 2.14      | 400           | 6    | 3.22     | 10.78      |

### cDNA synthesis

Isolation of total RNA from tissue is the first step towards measuring gene expression. The next step will be to make complementary DNA (cDNA) using RNA as a template. This is a simple procedure and there are many kits that provide reverse transcriptase and primers for this purpose. For many years, we have used the [Bio-Rad iScript Select cDNA Synthesis Kit (#170-8897)](https://www.bio-rad.com/en-us/sku/1708897-iscript-select-cdna-synthesis-kit-100-x-20-ul-rxns?ID=1708897). This kit can be used in the same way for cDNA synthesis, whether the intended application is qPCR or less sensitive, standard PCR. If you’re preparing cDNA for qPCR use extra caution in your pipetting. If you make a master mix to make cDNA for several RNA samples at once, be sure you don’t short-change the volume of the last reaction. Also think carefully about the design of your experiment, so that you can prepare most (or ideally all) templates in parallel. 

#### Materials

- Be sure you're using the "BioRad iScript Select cDNA Synthesis Kit" reaction mix (catalog number 170-8896 or 170-8897). This one allows you to add your own primer. A kit with the annoyingly close name, "BioRad iScript cDNA Synthesis Kit" (catalog number 170-8890 or 170-8891) has a mixture of random hexamers and oligo-dT primer already in its reaction mix. While this might seem like a nice time saver, in fact priming by random hexamers is not ideal for realtime PCR. 

#### Procedure 

Modified from the iScript Select cDNA manual.

- **Thaw components** on ice, and then ensure they are well mixed. (However, keep the reverse transcriptase at -20˚C until it is added to the reaction.)
- If you haven't already done so, measure the concentration of your total RNA sample using the NanoDrop spectrophotometer. 
- **Calculate the volume needed for 1 μg of total RNA** (*x*, in the table below).
- For each cDNA synthesis reaction, **prepare the following 20-μl reaction** in a 200-μl PCR tube. Add enough water to make the total reaction volume 20 μl. Add each of these reagents in order. 

| reagent                          | volume (μl) |
| -------------------------------- |:-----------:|
| water (nuclease-free)            | (14 - *x*)  |
| oligo-dT20 primer (10 μΜ)        | 1           |
| RNA sample                       | *x*         |
| iScript Select reaction mix (5X) | 4           |
| iScript reverse transcriptase    | 1           |

- **Mix** by pipetting up and down. The volume setting is not critical, and can be anywhere from 5-10 μl Keep the pipette tip below the surface of the solution, to avoid introducing many bubbles.
- **Incubate** at 42˚C for 90 minutes, then 85˚C for 5 minutes (to denature the reverse transcriptase). This program is stored on the C1000 thermocycler in Arey 301 under the name `iscript rt`.
- **Store** the product at -20˚C.

For qPCR, it is recommended that a single 50-μl reaction use 2 μl of cDNA prepared this way. 

### Diluting new PCR primers

> [A list of primers used on BI332 this semester is online](https://hackmd.io/@dts8RULgQqi0n0PPDKh7JQ/Hk1mwb1hS).

New oligonucleotide primers will arrive freeze-dried in individual tubes. The datasheet provided by the vendor (typically Sigma-Aldrich) will list the number of picomoles or (easier) the volume to be added for a 100-μM solution. 

- **Label** the white cap of the tube with the primer name.
- Reconstitute a 100 μM stock solution using 1X [TE buffer](http://cshprotocols.cshlp.org/content/2009/1/pdb.rec11601.full?text_only=true). **Add the volume of TE indicated on the datasheet**. Be sure the freeze-dried pellet is not up in the cap.
- **Cap and vortex** the tube.
- Incubate at **55˚C for 5-10 minutes** on a heat block.
- **Vortex**.
- To **prepare a 10 μM working concentration** of the primer, transfer 10 μl of the primer stock into a new tube with 90 μl of nuclease-free water. 
- **Store** the primer stocks and working dilutions at -20˚C. 

### Semi-quantitative RT-PCR

#### PCR background

The polymerase chain reaction (PCR) is a method for in vitro DNA synthesis using specific primers to target a particular sequence. PCR can be used to make billions of new DNA molecules that are copies of one specific sequence from a complex mix of DNA molecules. PCR is one of the most important and commonly used methods based on molecular genetics, and it is an important component of advanced sequencing technologies. 

The reagents need for PCR include the following.
- **Taq** DNA polymerase is the enzyme that builds new DNA molecules. 
- **Buffer** provides Taq with the pH and salt concentration at which it works best. 
- **dNTPs** (deoxynucleoside triphosphates) are the monomers that will be combined to make DNA. 
- **Template DNA** must be present to be copied (or “amplified”). Depending on your application, you may use genomic DNA, cDNA, or another PCR product as template.
- **Primers** are short (10-50 bp), single-stranded DNA oligos that determine the sequence to be amplified. Two primers must be used: one for each of the two template DNA strands.
- **Water** is added to make up the remaining volume.

During a PCR reaction, the solution is heated to separate (or **denature**) the two template DNA strands, then it is cooled slightly to allow the primers to base-pair (or **anneal**) at the appropriate sequences on the template. Finally, the temperature is adjusted to 72˚C, which is optimal for Taq to **extend** the primer, adding new nucleotides to the 3’-hydroxyl, and creating a new complementary DNA strand. These steps are then repeated 30-40 times, allowing the products of earlier cycles to act as new templates in later rounds. The result is exponential growth in the number of DNA molecules with nucleotide sequence determined by the original template sequence between the two primers. 

#### Using PCR to measure gene expression

PCR can be used to measure gene expression in several ways. My prefered method for research is [multiplex realtime qRT-PCR](https://www.idtdna.com/pages/education/decoded/article/multiplex-qpcr-how-to-get-started). However, right now (November 2019), the instrument we use for that method is out of service. Therefore, we will opt for a faster, cheaper, but less precise method: semi-quantitative RT-PCR.

Semi-quantitative RT-PCR relies on the idea that a larger number of template DNA molecules will result in a proportionally larger number of product molecules after PCR. If two samples have have 1 and 10 template molecules per μl, after PCR that ratio (1:10) will appear in the amount of product but there will now be roughly 10^10^ and 10^11^ product molecules per μl. After PCR, the products will be seperated by electrophoresis in a standard agarose gel. The intensity of the bands for the target PCR products can be used to compare the relative gene expression in each sample. Using [densitometry](https://en.wikipedia.org/wiki/Densitometry), we can improve the quantification of these results.

#### Materials

- [JumpStart PCR mix](https://www.sigmaaldrich.com/catalog/product/sigma/p2893?lang=en&region=US&cm_sp=Insite-_-prodRecCold_xviews-_-prodRecCold10-4)
- [primers](https://hackmd.io/@dts8RULgQqi0n0PPDKh7JQ/Hk1mwb1hS)
- nuclease-free water
- PCR tubes

#### Procedure

As you work, be mindful that you do not unintentionally cross-contaminate your samples or the reagents. Once a pipette tip has been used, it should be discarded. Keeping your reagents and samples cold will help preserve perishable molecules like dNTPs and prevent your reaction from starting prematurely, before primers can properly bind to the template.

For a small number of reactions, you can use single 200-μl PCR tubes. For many reactions, use "strip-tubes" which link 8 tubes together.

##### Plan the preparation of your reactions

In qPCR, it is important that reactions be set-up in as parallel a manner as possible. Do not set-up 12 reactions by independently pippetting the volumes for each one into a tube. Instead follow the guidance below to create a **master mix**. It is also typical for you to run **technical replicate** reactions (usually 3).

Eventually, the individual PCR reactions must contain the following reagent volumes:

| reagent                | volume (μl) |
| ---------------------- |:-----------:|
| JumpStart PCR mix      | 7.5         |
| water (nuclease-free)  | 5.3         |
| forward primer (10 μM) | 0.6         |
| reverse primer (10 μM) | 0.6         |
| template cDNA          | 1           |

To avoid small variations in the volumes of each reagent, you must preare multiple reactions as a **mater mix**. Prepare a master mix for reactions that will use the same primer pair. Multiply the volume of reagents above that are common to all those reactions. 

**Here's an example**. Let's say you need to measure *Sox9* from 4 samples of cDNA from zebrafish embryos. (At this point, you should have 4 cDNAs in seperate tubes.) Each sample should be measured using 3 technical replicates. So you will plan to run 12 PCR reactions with the *Sox9* primers. 

- Setup the master mix as follows:

| reagent               | volume (μl) for 1 rxn | master mix (μl) |
| --------------------- | :-------------------: |:---------------:|
| JumpStart PCR mix     |          7.5          | 90.0              |
| water                 |          5.3          | 63.6            |
| forward *Sox9* primer |          0.6          | 7.2             |
| reverse *Sox9* primer |          0.6          | 7.2             |
| template cDNA         |           1           | none               |

Remember, the master mix will not contain any template cDNA!

- After mixing the master mix, seperate it into pools for each template. Each pool will be enough master mix for the technical replicates of one sample: **42 μl**.
- Add enough of the appropriate template cDNA to each pool for each technical replicate. In this case, **3 μl**. Mix well by pipetting up and down.
- **Transfer 12 μl** from each pool into tubes for PCR. These are the reaction solutions that will actually run! (While we calculated enough to make 15-μl reactions, pippette 12 μl, to ensure that no reaction is short-changed because of high viscosity.)
- **Close the caps** on your tubes tightly to avoid evaporation during the PCR.

##### The thermocycler 

Our lab uses a BioRad C1000 Touch Cycler with dual 48-sample gradient heat blocks located in Arey 301. This machine can run two programs at once and can be used for PCR or any complex thermocycling application.

While you may want to vary the conditions of your PCR reaction (see below) a standard PCR thermocycling program looks like this.

| temp. | time  | cycles       |              |
|:-----:| :---: |:------------ | :---------- |
| 98˚C  | 2 min |              |              |
| 98˚C  | 10 s  | \|            | denaturation |
| 60˚C  | 30 s  |  \| 35X |  annealing   |
| 72˚C  | 30 s  | \|            |  extension   |
| 12˚C  | hold  |              |              |

This program will take about 90 minutes to run. When the reaction is finished, the samples will be held at 12°C. 

- Within 18 hours, cancel the run and move your PCR products to the refrigerator. The PCR machine is not designed to sustain low temperatures for long periods of time.

Depending on the primers you are using you may want to **adjust the parameters** of the PCR program. For semi-quantitative RT-PCR, the number of **cycles** will be important. You want to allow for variation in intensity of bands produced by different samples. If the cycle number is too high, then all samples may show eqaully strong bands (because reactions enter the satration phase in which reagents become limiting); if the cycle number is too low, then no samples may show visible product bands. The **annealing temperature** can be adjusted depending on the predicted T~m~ of your primers. Lower annealing temperatures are more permissive; higher temperature are more stringent. So a lower annealing temperature may produce more bands: the intended product as well as non-specific products. The feasible range for annealing temperatures is 40-65˚C. The **extension time** can be adjusted depending on the length of your intended PCR product. Taq polymerase works at a speed of 1kb / min at 72˚C. So, adjust the time accordingly.

#### Agarose gel electrophoresis

Agarose is a polymer that forms a porous gel matrix. DNA fragments of different sizes can be separated by an electrical current that will pull the negatively charged DNA toward the positive electrode. (DNA will “run to the red.”) Smaller DNA fragments will fit through the porous gel more easily, moving farther through the gel than larger fragments in the same amount of time. DNA in the gel is revealed by a fluorescent DNA-binding dye included in the gel. 

##### Preparation of the gel

Scale this procedure up for larger gels. The concentration of agarose can be varied from 0.8% to 2% for better resolution of larger and small DNA sizes, respectively. A 2% gel should be optimal for roughly 200 bp products.

- Set the gel tray in a leveled caster. 
- Insert a comb.
- Transfer 50 ml TAE Buffer (1X) into a 250 ml Erlenmeyer flask.
- Add 1 g agarose (molecular biology grade). 
- Microwave the flask on high for 66 seconds. Afterward, protect your hand from the heat with a rubber mitt or folded paper towel. 
- Allow the solution to cool until it is not scalding (50˚C; "baby bottle warm"). You can speed the cooling by running the flask under cold tap water for about 10 seconds.
- When the solution has cooled, add 6 μl of SybrSafe. Swirl gently to mix, but avoid introducing air bubbles. 
- Pour the solution into the gel-casting tray. 
- Remove any bubbles. They can be popped or moved to the sides of the gel with a pipette tip. Pay special attention to remove bubbles near the comb. 
- Allow the gel to set for about 10-15 min. When molten, the gel will be clear. Once set, it will be translucent. 
- Once the gel has set, remove the comb by pulling it straight up.
- Remove the gel tray from the caster. The gel can be used immediately, or it can be stored in a plastic container with a splash of TAE Buffer. Close the lid on the container and store the gel at 4˚C overnight.

##### Loading the gel

- Place the gel tray in the gel rig. 
- The wells must be on the negative (black) side of the rig.
- Add enough TAE buffer (1X) to cover the gel by at least 3 mm.
- Allow any air bubbles in the wells to float out, before loading the gel.
- Cut a strip of ParaFilm 2-cm wide.
- Place 1 μl droplets of gel loading dye on the ParaFilm strip. One drop for each sample to be loaded. Position them ~1 cm apart. Be careful to be precise in your volumes at this stage!
- One at a time, transfer 5 μl of each sample onto a drop of dye. Mix by pipetting up and down.
- Transfer the dyed sample into a well on the gel.
- Release the sample slowly, and avoid blowing out any bubbles or stabbing the gel. 
- Don't forget to add a DNA ladder!
- Once all samples are loaded on the gel, put the lid on the gel rig.
- Connect the lead wires to the power supply.
- Turn the power supply on, and set the voltage to ~100 V.
- Allow the bromophenol blue dye to travel ~5 cm. The farther the DNA runs, the greater ability you'll have to resolve bands of similar size. If you can't image the gel immediately when it's run far enough, you can turn the voltage down to 20V for up to an hour.
- When the run is finished, turn off the power supply, and remove the tray carefully from the box. Don’t let the gel slide off the tray! 
- Place the gel tray in a plastic container for transport.

##### Imaging the gel

- Carry your gel tray to the FotoDyne UV Gel Imager in Arey 204.
- Check the settings on the device. Be sure that the “EtBr” filter is in place between the light chamber and the camera. Otherwise, your images will have distracting glow across the top and bottom of the gel. On the transilluminator, white light should be turned off and trans/UV should be on. 
- Place your gel tray in the center of the chamber, with the wells toward the back. 
- Log on to the Mac desktop. 
- Open the application `ImageJ`. 
- From the top menu select `Plugins/1392 camera/Live`.
- On the small white console, press the “trans” button for UV transillumination. 
- Adjust the focus and zoom to get the gel in frame. These settings can be adjusted by turning the 3 rings on the camera. (Top ring is aperture/contrast, middle ring is zoom, and bottom ring is focus). Usually only the zoom ring needs adjustment. 
> **Tip**: If the live image window is too dark, be sure you are fully zoomed out. You may also need to adjust the software settings. From the 1392 camera plugin window, select `Adjust Settings` from the menu. Turn exposure up to about 1 second. If that doesn’t allow you to see your ladder, turn up the gain.
- Once the gel is centered and properly exposed, select `Acquire Full Image` from the menu. A static image of your gel will be transferred to ImageJ. 
- Save the image in `jpeg` format.
- To get a record of your gel…
  - You may print from ImageJ to the printer next door in Arey 205.
  - The small thermal paper printer attached to the gel imager is annoying and rarely works.
  - Email a copy of the image file to yourself and/or Dr.A.

#### Gene expression quantification by gel image densitometry

First, apply some basic quality control to your gel image data.

- To estimate gene expression from an RT-PCR gel, each sample should produce a band of the [expected size](https://hackmd.io/@dts8RULgQqi0n0PPDKh7JQ/Hk1mwb1hS). So check the DNA ladder to confirm band sizes. 
- Technical replictaes should be similar to one another. If any are clearly abnormal, they can be excluded from further analysis.

If your gel looks good, proceed to the densitrometry measurements.

- Open your gel image file in [ImageJ](https://imagej.net/Welcome).
- Be sure the image is 8-bit. Follow the menus `Image` / `Type` / `8-bit`.
- If necessary, rotate the image so that the wells are at the top and lanes run up and down. `Image` / `Transform` 
- Select the box drawing tool, and draw a box around the first band you'd like the quantify. (ImageJ expects this to be some sort of control, but it can be any band.) Be sure to include all of the band, but do not include any adjacent bands.
- Press Ctrl/Cmd-1. A number "1" should appear in the box and it should change color.
- Click on the "1" box, hold down the mouse button, and move it to the next band. Press Ctrl/Cmd-2. A number "2" should appear in the box.
- Repeat this process for each band on the gel. Press Ctrl/Cmd-2 each time. The number in each box will increment. 
![](https://i.imgur.com/zY8uDpv.png)
- When you've boxed each band, press Ctrl/Cmd-3. A window will open showing histograms of pixel values from the top to the bottom of each box you drew.
- Use the line tool to draw a line across the bottom of the peak you'd like to quantify in the density histograms.
- Select the magic wand tool.
- Starting with the first histogram, click the space bounded by the density curve and the bottom line. That area should become highlighted in yellow, and a new window will open that reports the area (in pixels) under the curve. 
![](https://i.imgur.com/WxuHS9c.png)

- Click the magic wand in each of the histograms you bounded. Each time the curve's area will be added to the Results window. (If the area isn't "closed" by a line at the bottom, then the magic wand algorithm will "spill out" of the target area. Just redraw the line and try again with the wand.)
- Copy the values from the Results window into a spreadsheet, such as Excel or GoogleSheets. These numbers are the metrics of the band's intensity.

#### Processing the data

To analyze your densitometry data you want to follow a few simple steps.

- First, **organize your data** into a table, such as the one below, with columns for sample ID number, treatment (such as dose), and the densitometry value for each gene. If you're planning to use R for analysis, make your table **tidy**: 
  - have a single header row 
  - keep the headings simple and descriptive, with no spaces (use periods or underscores instead)
  - make the table "long", meaning that you minimize the number of columns
  - include a column for each of the genes you measured

Here's an example of what you're data table might look like. In this example, the experiment included 4 treatments (doses at 0, 1, 10 and 100 uM), each with 3 biological replicates and 3 technical replicates. Two genes were measured: *Sox9* and a reference gene, *G6PD*.

| sampleID | dose_uM | sox9_densitometry | g6pd_densitometry | 
|:---:|:---:| ---:| ---:| 
| 1 | 0 | 12113.20458 | 17238.22 | 
| 1 | 0 | 13147.59798 | 16299.83 | 
| 1 | 0 | 13261.92134 | 16782.45 | 
| 2 | 0 | 14008.75 | 16919.44 | 
| 2 | 0 | 14346.87 | 18131.11 | 
| 2 | 0 | 14939.47 | 16970.25 | 
| 3 | 0 | 11999.77 | 19299.52 | 
| 3 | 0 | 9754.693 | 18986.54 | 
| 3 | 0 | 14348.194 | 18256.18 | 
| 4 | 1 | 11653.113 | 19593.87 | 
| 4 | 1 | 14914.113 | 18695.49 | 
| 4 | 1 | 12619.432 | 20521.43 | 
| 5 | 1 | 4807.88 | 16703.79 | 
| 5 | 1 | 5736.123 | 16316.38 | 
| 5 | 1 | 9156.364 | 17025.56 | 
| 6 | 1 | 10342.855 | 19194.75 | 
| 6 | 1 | 11033.129 | 19678.45 | 
| 6 | 1 | 11709.693 | 19789.5 | 
| 7 | 10 | 8602.941 | 13109.87 | 
| 7 | 10 | 9893.382 | 14064.08 | 
| 7 | 10 | 8785.754 | 11795.16 | 
| 8 | 10 | 4856.144 | 17108.03 | 
| 8 | 10 | 2151.185 | 17702.46 | 
| 8 | 10 | 11765.971 | 17748.73 | 
| 9 | 10 | 8300.358 | 16453.4 | 
| 9 | 10 | 7885.724 | 14860.01 | 
| 9 | 10 | 8187.658 | 14993.8 | 
| 10 | 100 | 69.31371 | 18289.31 | 
| 10 | 100 | 57.19239 | 18602.39 | 
| 10 | 100 | 70.21089 | 17153.12 | 
| 11 | 100 | 47.12819 | 18084.32 | 
| 11 | 100 | 61.70268 | 19427.4 | 
| 11 | 100 | 76.08041 | 19192.87 | 
| 12 | 100 | 53.50707 | 17608.17 | 
| 12 | 100 | 129.29823 | 17399.95 | 
| 12 | 100 | 87.64711 | 17174.38 | 

If you create your table in Excel or Google Docs, save it as a CSV (comma seperated values) file. Then import it into R, like this...

```R
densitometry.raw <- read.csv("densitometry.raw.data.csv", header=TRUE)
```

- Next, **find the mean of technical replicates**. You do this because the replicates  are done to hedge against variation in the assay. The expectation is that the true amount of template cDNA for your target sequence will lie near the mean of these replicates.

You can do this in Excel or Google Docs using the the `AVERAGE` function in cells to the left of the orginal columns, like this...

![](https://i.imgur.com/3rs1t0E.png)

If you're using R, finding the means of technical replicates can be done easily using functions from the `tidyverse` package.

```R
library("tidyverse")

densitometry <- densitometry.raw %>% 
  group_by(sampleID) %>% 
  summarize(
    dose_uM = unique(dose_uM),
    sox9_tech_means = mean(sox9_densitometry),
    g6pd_tech_means = mean(g6pd_densitometry) )
```

> *What's this doing?*
> The tidyverse package includes several functions for data manipulation. One of its most convenienbt features is the pipe (that strange looking `%>%` thing). Think of the pipe as saying "take the output of what's on the left and use it as input for what's on the right". This statement starts by taking the `densitometry.raw` data and piping it into the next function, `group_by`. This will "group" the data by the stated column name, which in this case is `sampleID`. Going forward, the functions will treat the data in batches grouped by the sample ID. Since we want means of the technical replicates for each sample, this will work nicely for us. The last function is `summarize`, which creates a new table for us with columns that are described. For example, `sox9_tech_means = mean(sox9_densitometry)` defines a new column `sox9_tech_means` with the means of the `sox9_densitometry` column in the original data table. And remember, we're group this action by sample ID. 
 
You can check that this produced the desired outcome in R by just typing in `densitometry`.

![](https://i.imgur.com/MGxfAhf.png)

Notice that the new table (or "tibble") now has 12 rows, one for each sample.

Regardless of how you produce your technical means, the next step is to...

- **Compare treated samples to your controls**. Divide each sample's densitometry value by the mean of all biological replicates from the control group. This procedure produces a "relative expression" value.

In Excel or Google Docs...

![](https://i.imgur.com/3eHcqzq.png)

Or use R tidyverse function `mutate` to add new columns to your table.

```R
control.sox9.mean <- mean(densitometry$sox9_tech_means[which(densitometry$dose_uM==0)])
control.g6pd.mean <- mean(densitometry$g6pd_tech_means[which(densitometry$dose_uM==0)])

densitometry <- mutate(densitometry,
    relative_sox9 = sox9_tech_means/control.sox9.mean,
    relative_g6pd = g6pd_tech_means/control.g6pd.mean  )
```

![](https://i.imgur.com/eAEj1U1.png)

- Importantly, you must finally **normalize the values for your genes of interest, based on the reference gene values**. Normalization accounts for differences in the amount of tissue or overall gene expression activity in different samples. For densitometry data, simply divide the relative expression for your gene of interest by the relative expression of your reference gene. 

In Excel or Google Docs...

![](https://i.imgur.com/xOGGsiY.png)

In R, this can be done using "base R"...

```R
densitometry$normalized_sox9 <- densitometry$relative_sox9 / densitometry$relative_g6pd
```

...or with the tidyverse function `mutate` again...

```R
densitometry <- mutate(densitometry, normalized_sox9 = relative_sox9/relative_g6pd)
```

The normalized gene expression values are the numbers you can finally use to compare treatment groups. (These values have no units. They can be greater than or less than zero, but they should always be positive.)

#### Data analysis

From this point, I encourage you to conduct your analysis in R, although you can do most of the same things in Excel, Google Docs, or other software.

The basic outline of most analyses will be to

1. **Explore the data.** Do the treatment groups look roughly equal or are there differences? This can be as simple as looking at the data table or producing some quick, preliminary plots.
2. **[Plot the data](https://hackmd.io/@dts8RULgQqi0n0PPDKh7JQ/rJmbl8Q2S#Working-with-ggplot)** to highlight apparant differences. 
3. **[Use an appropriate statistical test](https://hackmd.io/@dts8RULgQqi0n0PPDKh7JQ/rJmbl8Q2S)** to lend strength to an argue that your experimental manipulation had some effect.

Here, I'll walk through a basic analysis for the example above, using R.

##### Example data analysis

The obvious thing to do now is to plot the normalized *Sox9* expression values by treatment group.

```R
with(densitometry, plot(normalized_sox9 ~ dose_uM))
```

![](https://i.imgur.com/KuKmiwo.png)

Well, it certainly looks like the high dose treatment has dramatically less expression of *Sox9*. We can make a fancier version of this plot using `ggplot`.

```R
normalized_sox9_plot <- ggplot(densitometry, aes(x = as.factor(dose_uM), y = normalized_sox9)) +
  theme_bw() +
  geom_boxplot() + 
  geom_jitter(size = 2, alpha = 0.75, position = position_jitter(width = 0.2, height = 0)) +
  labs(x = "mydrugomycin (uM)", y = "Sox9 (normalized expression)")

ggsave("normalized_sox9_plot.png", normalized_sox9_plot, width = 4, height = 4)
```

![](https://i.imgur.com/FZFZhFx.png)

While one treatment (100 uM) clearly does not overlap the others, let's go talk through a typical statistical analysis. 

##### Testing for group differences

The number of treatment groups requires that we start with a test for overall differenes. ANOVA is the traditional choice, but it is not a good fit in a case like this, where we have only 3 samples in each group and very different dispersions in each group. A better option is the Kruskal-Wallis Rank Sum Test, which is easy to run in R.

```R
kruskal.test(normalized_sox9 ~ dose_uM, data = densitometry)
```

output:

```
Kruskal-Wallis chi-squared = 8.1282, df = 3, p-value = 0.04344
```

This returns a significant p-value, confirming our interpretation that there is a difference among the treatment groups.

Next, we can look for differences between the treatment groups. Often, people will simply look at all pairwise comparisons. I'd actually suggest looking at only the comparisons that make sense biologically or those that are specifically interesting to you. (Does it matter whether the 1 uM and 10 uM treatments are different from one another?) Typically, the most important contrasts are those between the control group and each of the dosed treatment groups. If we had started with ANOVA, you might follow-up with a t-test or with Tukey's honest significant differences. But again, the small smaple sizes make a non-parametric test best. I suggest the Wilcoxon Rank Sum Test. Also, if you have a biological reason to suspect that the difference should be in one direction (like the treatment should make the control's expression greater than the treated group), then you can use a one-sided test (`alternative = "greater"`), which provides more power to detect differences. 

```R
wilcox.test(normalized_sox9 ~ dose_uM, alternative = "greater", data = filter(densitometry, dose_uM==0 | dose_uM==1))
wilcox.test(normalized_sox9 ~ dose_uM, alternative = "greater", data = filter(densitometry, dose_uM==0 | dose_uM==10))
wilcox.test(normalized_sox9 ~ dose_uM, alternative = "greater", data = filter(densitometry, dose_uM==0 | dose_uM==100))
```

Only the 100 uM treatment has a p-value of 0.05 here. Traditionally this is considered marginal. That's were you can provide context as a biologist. You may have good biological reasons that your treatment is expected to reduce the expression of *Sox9* here, and you should state that. But acknowledge that the statistics suggest caution. The best way to deal with the result in this case is to increase the sample size.

With small sample sizes, we don't have a lot of power to detect differences among groups. However, there one more statistical approach worth thinking about.

##### Testing for correlation

If your experiment involved treatments that were quantitatively different, such as different doses of one drug or chemical, and if you suspect some sort of dose-dependent response in the thing you measured (like gene expression), then you can test whether there is a correlation there.

In most cases, you will have relatively small sample sizes, so it's useful to use a non-parametric test for correlation, such as Spearman's rank correlation.

```R
with(densitometry, cor.test(dose_uM, normalized_sox9, method = "spearman") )
```

The test statistic is $\rho$ (rho), which in this example is -0.8205. The fact that it's negative reflects the fact that *Sox9* expression decreases with drug exposure. The p-value of 0.001077 reflects the strength of the trend that we see in the plot above.

------
