Я био мажор, использующий R для генерации некоторых визуализаций, показывающих, какие человеческие белки (унипроты) нацелены на различные бактериальные штаммы.
# sample data
human.uniprots <- c("P15311", "P0CG48", "Q8WYH8", "P42224", "Q9NXR8",
"P40763", "P05067", "P60709", "Q9UDW1", "Q9H160",
"Q9UKL0", "P26038", "P61244", "O95817", "Q09472",
"P15311","P05067", "P60709", "Q9UDW1", "Q9H160")
strains <- rep(c("A", "B", "C", "C"), each = 5)
final <- cbind(human.uniprots, strains)
Я пытаюсь сгенерировать матрицу совместного появления /тепловая карта ... что-то вроде
h.map <- data.frame(matrix(nrow = length(unique(human.uniprots)),
ncol = length(unique(strains)) + 1))
h.map.cols <- c("human_uniprots", "A", "B", "C")
colnames(h.map) <- h.map.cols
... где столбцы имеют штаммы, строки содержат белки, а ячейки фрейма данных заполняются количеством раз, когда белок взаимодействует сштамм.Таким образом, если штаммы A, B и C взаимодействуют с унипротом, все они должны иметь значение 3 в своих клетках для этого ряда унипрот.
Я попытался составить список кортежей с уникальным штаммом и human_uniprots, затем найти тот кортеж, который соответствует паре штамм и человек-унипрот из матрицы, которую я хочу заполнить, и добавить «1», если естьсовпадение ... но я не уверен, как работать с кортежами в R. Тогда я увидел это: Заполнение матрицы совпадений
Что я хочу, но яя не понимаю, использование или синтаксис ... это sparse () даже функция в R?
Дополнительно ... было бы неплохо ранжировать все белки по тем, которые взаимодействуют со всеми штаммами.Таким образом, все белки, которые взаимодействуют со всеми штаммами, должны быть наверху, затем следуют те, которые взаимодействуют с 2 штаммами, а затем с 1 штаммом ...