Есть ли способ извлечь образцы первичной опухоли из данных экспрессии гена TCGA COAD, загруженных из Broad Firehose? - PullRequest
0 голосов
/ 29 января 2019

Я бы хотел проанализировать экспрессию генов в данных TCGA (Атлас генома рака), загруженных из Broad Firehose.Я загрузил данные об экспрессии гена колоректального рака (COAD).Данные представляют собой фрейм данных (именованные данные) из 20531 наблюдений 329 переменных.Строки представляют собой отдельные гены и нормализованные чтения для каждого образца.Заголовок или имена столбцов являются примерами кодов TCGA.Примеры кодов выглядят так:

TCGA-3L-AA1B-01A-11R-A37K-07

, и когда я загружаю таблицу в R, она превращается в

TCGA.3L.AA1B.01A.11R.A37K.07

Что я хочу сделать, это вытащить образцы, где четвертая вещь - 01.Так, например, для заголовка столбца, приведенного выше, четвертая вещь - 01A, и важно то, что это 01, что указывает на то, что это первичная опухоль.Как вытащить все столбцы, где четвертая вещь в заголовке столбца 01?

Спасибо!

head(data)

  Hybridization.REF TCGA.3L.AA1B.01A.11R.A37K.07 TCGA.4N.A93T.01A.11R.A37K.07
1       ?|100130426                       0.5174                            0
2       ?|100133144                      18.0851                       4.4315
3       ?|100134869                       15.764                       4.2767
  TCGA.4T.AA8H.01A.11R.A41B.07 TCGA.5M.AAT4.01A.11R.A41B.07 TCGA.5M.AAT5.01A.21R.A41B.07
1                            0                            0                            0
2                       9.8995                       7.9174                      12.2565
3                      11.3032                      18.7608                      20.8826
  TCGA.5M.AAT6.01A.11R.A41B.07 TCGA.5M.AATA.01A.31R.A41B.07 TCGA.5M.AATE.01A.11R.A41B.07
1                            0                            0                            0
2                       3.9637                       7.2366                       11.629
3                      15.0672                      11.4513                        6.906

1 Ответ

0 голосов
/ 29 января 2019

Обычный подход состоит в том, чтобы разделить имена столбцов в . на strsplit и проверить, равен ли 4-й компонент '01'.Поскольку . является специальным символом, вам придется использовать \\..Вот как это может выглядеть:

df[sapply(strsplit(colnames(df), '\\.'), '[', 4) == '01']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...