R Скрипт для случайного наблюдения за данным геном в таблице подсчета генов - PullRequest
0 голосов
/ 01 мая 2020

Я новичок в R и пытаюсь самоучиться на ошибках :). Я пытаюсь написать небольшой скрипт для ответа на конкретный c вопрос, т.е.

У меня есть таблица подсчета генов с двумя столбцами на копию; File1B, File1 C, File2B, File2 C ... et c с n числом повторов. Я хочу узнать наблюдение случайного присутствия данного гена в одном столбце (условие) в данном реплицировать, а затем все копии. У меня есть следующий код:

if (!require("tidyverse")){
  install.packages("forcats")
  install.packages("tidyverse", dependencies = TRUE)
}

library(tidyverse)
library(magrittr)
library(DT)
folder <- "~/path/to/Dir/"
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_knit$set(root.dir = folder)

Предполагается, что у меня есть таблица подсчета генов, содержащая 10 повторений File3B File3 C ... et c " data <- read_tsv("GeneCountTable.txt") # set.seed(123) # data <- matrix(rnorm(n=10000) * 100, nrow=1000) %>% # as_data_frame() %>% # set_colnames(paste0("File", paste0(rep(1:10, each=2), rep(c("B", "C"), n=10)))) %>% # round(.) %>% # mutate(Gene = paste0("Gene", 1:nrow(.))) %>% # select(Gene, everything()) # data[data < 0] <- 0 # datatable(data) 1. Какие-либо гены в файле № 1B НЕ присутствуют в файле № 1 C: Добавить список генов в файл № B_M

FileB_M <- data %>% filter(File1B > 0, File1C == 0)
datatable(FileB_M)

2. Есть ли какие-нибудь гены в файле # 1 C, НЕ присутствующие в файле # 1B: Добавьте список генов в файл # C -Mono

FileC_M <- data %>% filter(File1C > 0, File1B == 0)
datatable(FileC_M)

3. Гены в файле # 1B присутствуют только в «File-n C», но не в «File-nB», по крайней мере, в одной копии? если да: перечислите имена генов в FileXB

FileXB <- FileB_M %>% filter( 
  (File2B == 0 & File2C > 0) | (File3B == 0 & File3C > 0) | (File4B == 0 & File4C > 0) | (File5B == 0 & File5C > 0) | (File6B == 0 & File6C > 0) | (File7B == 0 & File7C > 0) | (File8B == 0 & File8C > 0) | (File9B == 0 & File9C > 0) | (File10B == 0 & File10C > 0))

datatable(FileXB)

enter image description here

4. Гены в файле № 1 C присутствуют только в «File-nB», но не в «File-n C» хотя бы в одном экземпляре? Если да: перечислите имена генов в FileX C

FileXC <- FileC_M %>% filter(
  (File2B > 0 & File2C == 0) | (File3B > 0 & File3C == 0) | (File4B > 0 & File4C == 0) | (File5B > 0 & File5C == 0) | (File6B > 0 & File6C == 0) | (File7B > 0 & File7C == 0) | (File8B > 0 & File8C == 0) | (File9B > 0 & File9C == 0) | (File10B > 0 & File10C == 0))
datatable(FileXC)

enter image description here

Я ожидаю, что оба значения для каждого повторения равны 0 для обоих столбцов или значение только для одного столбца, но кажется, что это не так.

У вас может быть простое решение / объяснение для этого, и это будет высоко ценится.

Спасибо

введите описание изображения здесь

...