Извлечение необработанных данных из объекта affyBatch - PullRequest
1 голос
/ 20 июня 2011

У меня есть объект affyBatch с данными экспрессии генов. Данные читаются с использованием DAT <- ReadAffy () без вариантов. Затем я извлекаю 5600 генов, которые мне интересны, dat <- RemoveProbes (listOutProbeSets, cdfpackagename, probepackagename) </p>

Затем я нормализую данные выражения, используя дата.рма <- rma (дата) </p>

Теперь я хочу экспортировать необработанные данные и нормализованные данные в файлы .csv. Изучив данные, я обнаружил, что exprs (dat) имеет измерения 226576 на 30, а dat.rma имеет измерения 5600 на 30. Как извлечь матрицу 5600 на 30 значений выражения RAW? Я не знаю, откуда взялись 226576 строк в исходных данных!

Я немного новичок со структурами данных биокондуктора! Извините, что не предоставил работающий пример кода - не уверен, как бы я это сделал в этом случае.

1 Ответ

0 голосов
/ 20 июня 2011

При преобразовании необработанных данных в нормализованные по rma данные, помимо прочего, вы объединяете / суммируете значения интенсивности низкоуровневого зонда в значениях наборов зондов (которые отображаются на гены). Это объясняет, почему у вас есть больше функций в необработанном объекте AffyBatch, чем в экземпляре ExpressionSet (созданном функцией rma). Кроме того, в зависимости от имеющейся у вас микросхемы имеется несколько зондов точного совпадения (PM) и несоответствия (MM) на набор датчиков, что увеличивает количество датчиков на набор датчиков. Зонд отображения -> набор проб определяется в файле определения чипа и обрабатывается автоматически.

Несколько дополнительных мыслей. Удаление зондов перед нормализацией может быть не очень хорошим делом. Одно из предположений при выполнении нормализации состоит в том, что большинство из вас «гены» не меняются, поэтому сохранение только « интересующих » может нарушить это, в зависимости от того, что «1008 * представляющих интерес » означает курс. Вы всегда можете выполнить фильтрацию на ExpressionSet, после нормализации:

> library(affydata)
> data(Dilution) ## gets some test data
> eset <- rma(Dilution) ## rma normalisation
> featureNames(eset)[1:10] ## gets some probesets of interest
> ps
 [1] "100_g_at"  "1000_at"   "1001_at"   "1002_f_at" "1003_s_at" "1004_at"  
 [7] "1005_at"   "1006_at"   "1007_s_at" "1008_f_at"
> dim(eset) ## full dataset
Features  Samples 
   12625        4 
> dim(eset[ps,]) ## only 10 first probesets of interest
Features  Samples 
      10        4 

Надеюсь, это поможет.

...