以下是我的代码的一小部分:
library(biomaRt)
ensembl_hsapiens <- useMart("ensembl",
dataset = "hsapiens_gene_ensembl")
hsapien_PC_genes <- getBM(attributes = c("ensembl_gene_id", "external_gene_name"),
filters = "biotype",
values = "protein_coding",
mart = ensembl_hsapiens)
paralogues[["hsapiens"]] <- getBM(attributes = c("external_gene_name",
"hsapiens_paralog_associated_gene_name"),
filters = "ensembl_gene_id",
values = c(ensembl_gene_ID) , mart = ensembl_hsapiens)
这段代码只允许我提取hsapiens的旁系同源物,有一种方法可以让我轻松获得mmusculus(鼠标)和ggallus(鸡)的相同信息,而无需使用类似的东西重写代码Tapply?我的代码比提供的代码长得多,我需要做的就是将单词hsapiens换成mmusulus和ggallus。
答案 0 :(得分:0)
简单的方法是将它全部包装在for
循环中:
library(biomaRt)
species <- c("hsapiens_gene_ensembl", "mmusculus_gene_ensembl", "ggallus_gene_ensembl")
for (s in species) {
tmp <- useMart("ensembl", dataset = paste0(s))
hsapien_PC_genes <- getBM(attributes = c("ensembl_gene_id", "external_gene_name"),
filters = "biotype",
values = "protein_coding",
mart = tmp)
paralogues[[s]] <- getBM(attributes = c("external_gene_name",
"hsapiens_paralog_associated_gene_name"),
filters = "ensembl_gene_id",
values = c(ensembl_gene_ID) , mart = tmp)
}
这应该可行,我没有测试过,因为我没有安装这些软件包。我已经改变了一些变量的名称以使其更有意义(例如tmp
)