Explanation for RNA-seq samples not clustering in PCA as expected

A colleague is analysing RNA-seq data - the study design is 2 treatments, 3 replicates, 3 tissues. In their PCA plot the samples clustered neatly by tissue. Except for two samples - two tissue samples originating from the same animal clustered with the wrong tissue.

I suggested that the two samples had likely been switched accidently somewhere along the way. They think its explained simply by biological variation which I'm not convinced of. Are there any technical explanations for why samples could cluster on a PCA in such a way?

• If the two odd samples each belong to the other's cluster, swapped labels seems like a reasonable hypothesis. You could look for tissue-specific genes (using something like GTex) to see if the expression patterns match the purported tissue as well. If you find high expression of liver-specific genes in a sample labelled as brain tissue and high expression of brain-specific genes in the liver sample, for example, you have good evidence to support the label swap hypothesis. Feb 17 at 18:14
• I agree with @NuclearHoagie, you can look at bgee.org, they have curated per-tissue expression data of many species (if you have something at least a bit related to any of the models) Feb 27 at 12:07

It's hard to say what is going on without looking at the plots. But it is a reasonable guess that samples are mislabelled and I think it is worth checking the experimental log carefully. It is also possible that the two samples are of low quality. People often use PCA to check and remove outliers from their RNA-seq libraries. So you may also check the RNA-seq library quality for those two samples.

1. Check for mislabelled samples

For the mismatch you can check if there is a marker gene for these 3 samples for that particular cohort/tissue that you actually think should be expressed in this tissue only and not in other cohort.

1. Check for outliers

To check the logs of mapping reads of the samples that aren't clustering within expected tissue it might be due to low reads. You can use hierarchical clustering and project it in the form of a heatmap. Check if these two samples have varying expression levels to its corresponding biological replicates.

Have you corrected for batch effects? This is usually a reason, as it can mean that the variation being observed from your PCA is due to other factors rather than tissue and/or treatment as you expect - of course, another can be they are incorrectly labeled !

If the samples were sequenced at different times, or by different services, this can often happen. If that is the case, what you will usually find are samples being clustered based on the sequencing service, for example.

Use ComBat or limma packages in R to fix variations in the data that may be due to this, and rerun the PCA. Best of luck.