5
$\begingroup$

I have two independent sets of gene expression data (biological replicates) that were generated at the same time. Each gene is sampled dozens of times on the machine (technical replicates). Data are filtered for transcripts having expression values above background (p-values less that 0.05). I then export everything for analysis in Excel. However, the raw expression values can vary between the two samples. The majority seem to be rather close but many are far enough apart to make me question their reliability.

What would be the best way to compare the two values ($X_1$ and $X_2$) such that I can create a new filtering criteria to remove these potentially less reliably sampled transcripts?

I only have two datasets, and I'm uncertain as to whether I can use standard deviations in any filtering. My general thinking is that if there is less than a 20% difference between the two values I can keep those that pass. But I don't know what that would mean. Take these genes as an example:

$$ \begin{array}{ccc} & X_1 & X_2 \\ \mbox{Strap} & 5554.15 & 5262.48 \\ \mbox{Cops8} & 1762.63 & 2317.22 \\ \end{array} $$

As you can see, the Strap values are pretty close, the Cops8 are quite a bit different. Does a "% difference" criteria make sense? Something like this:

$$ \mbox{%diff} = \frac{\left|X_1 - X_2\right|}{(X_1+X_2)/2} $$

If I calculate a coefficient of variation I get a much different value. I don't want to exclude more genes than I have to, if I can avoid it.

Thanks for any advice!

$\endgroup$
  • $\begingroup$ If you created a histogram of this % difference metric, what does it look like? Is it roughly normally distributed or are there outliers or fat tails? $\endgroup$ – David Robinson Jan 16 '13 at 4:23
  • $\begingroup$ If I calculate the normal cumulative distribution for ALL the genes the right-hand tail is obscene. This is because there are lots of genes with extremely low values, some even negative. If I remove the genes that have negative values in either replicate then it looks more normal but still has a wide tail. This is what I want to improve upon. While in general the genes with low expression values have larger %diff and higher p-values (>0.05), that isn't the case for all of them. Thus, I want to have the soundest exclusionary criteria. dropbox.com/s/c9loeh91us8lbu7/data.png $\endgroup$ – captainentropy Jan 17 '13 at 3:06
  • 1
    $\begingroup$ Try histogramming the log of the absolute value of the % diff- how does that look? $\endgroup$ – David Robinson Jan 17 '13 at 3:07
  • $\begingroup$ There might already be a package to analyze this. Take a look at this site; bioconductor.org/packages/release/BiocViews.html#___Software $\endgroup$ – rnso Jun 3 '15 at 17:25
1
$\begingroup$

How many genes are sampled in either data set you've obtained? When the number of genes is large, it shouldn't be surprising that a gene may be highly differentially expressed in one replicate but not in another. This is a consequence of multiple testing. When you filter genes according to a $p=0.05$ statistical significance level, you have a 5% chance of making a type I error for any given gene. When averaged over several dozens or hundreds of genes, the chance of including at least one erroneous gene is greatly multiplied.

If you don't want to exclude more genes than you have to, why not just include them all?

$\endgroup$
  • $\begingroup$ ~26,000 transcripts in the array. 14,722 of these passed the first filter which was any transcript across all the datasets and replicates that had p-val < 0.05 (note, there are four conditions and each one in duplicate, there will be some transcripts with p-val < 0.05 whereas that same transcript may be > 0.05 in another condition). AdamO, what I want to avoid is the situation where the values are like I showed in the OP. Some have a more exaggerated difference between the replicates. At that point I don't know which value is more accurate, is the first one too high or the second too low. $\endgroup$ – captainentropy Jan 17 '13 at 3:17
  • $\begingroup$ It doesn't seem right to average the two values, especially if they are far apart. This is what led me to try to find good exclusionary criteria. But since I only have only one replicate (and no third as a "tiebreaker") I need to determine which values are close enough to each other to consider reliable. Does that make sense? $\endgroup$ – captainentropy Jan 17 '13 at 3:25
  • $\begingroup$ These replicates are, indeed, replicates right? I think you're failing to understand that they are coming from the same data-generating mechanism, so one being high and the other low indicates both values may be consistent with what a true trend would be if you averaged together thousands of replicates. It's expected that these values would be far apart, that's just a consequence of variability in the data. $\endgroup$ – AdamO Jan 17 '13 at 6:04
  • $\begingroup$ Yes, of course, they are true replicates. Same experiment but different animals, different months even. I completely understand the nature of variability in data. My point is, in the absence of thousands, much less three, replicates is there a way, mathematically to compare two values and say these are close together? If I had a third, it could be very high, or very low compared to the others and I could count it as an outlier. Since I only have two data points it's possible that one of the values, being sufficiently different from the others, is an outlier. $\endgroup$ – captainentropy Jan 17 '13 at 20:14
  • $\begingroup$ Perhaps I'm not being clear about the nature of the data. When I say there are 14,722 transcripts in my data, this only represents 10,804 genes. Each "transcript" has one probe. One gene can be detected with multiple probes. Not every probe will give consistent data across all probes for each gene. That could be due to each probe detecting a different transcript or a low quality probe. $\endgroup$ – captainentropy Jan 17 '13 at 20:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.