Исправление набора данных RNA-seq для известного пакетного эффекта - PullRequest
2 голосов
/ 29 апреля 2020

Я анализирую набор данных RNA-seq, где человеческая клеточная линия подвергалась воздействию множества химических соединений в нескольких дозах. При запуске Q C я заметил наличие пакетного эффекта из-за разных пластин, которые обрабатывали клетки (не сильный, но хотел бы объяснить это). Я использовал как ComBat, так и removeBatchEffect из пакета limma, чтобы проверить, был ли какой-либо из двух методов более удачным при удалении пакета, но, как вы можете видеть из PCA, полученных на контрольных образцах для каждого из шагов нормализации (необработанные данные, vst, ComBat и Limma) кажется, что использование любого из двух методов увеличивает разделение партий. PCA на контрольных выборках на разных этапах нормализации для выделения эффекта партии

Мне кажется, что я мог ошибиться при указании аргументов функций, но я выступил с этой частью кода при просмотре аналогичного запроса на StackOverflow. Код, который я использовал для создания другого нормализованного набора данных, на котором я запускаю PCA:

raw data: raw<-counts(dds, normalized = TRUE)

vst: vst_counts<-vst(dds, blind=TRUE)

ComBat: com<-ComBat(assay(vst_counts),hash$Plate, mod = model.matrix(~1, data = hash))

Limma: lim<-removeBatchEffect(assay(vst_counts),hash$Plate,design=model.matrix(~hash$group))

Необработанные данные и данные vst получены из DESeq. Объект ha sh - это файл моих метаданных, содержащий информацию о пластинах (партия) и условиях обработки (группа).

Код для запуска PCA (для одного набора данных) был:

ggplot(df_lim) + geom_point(aes(x=PC1, y=PC2, color = Plate),size=3) +
xlab(paste("PC1 (",summary(pca_lim)$importance[2,1]*100,"%)")) +
ylab(paste("PC2 (",summary(pca_lim)$importance[2,2]*100,"%)")) +theme_bw() + 
coord_fixed()

Любая помощь в решении этой проблемы высоко ценится.

...