2

我是 R 新手,想从 3 组数据集中分析 miRNA 表达。谁能帮我吗。

在这种情况下,我得到了其他 miRNA(在 affy 芯片上)作为最高表达的基因。现在我只想选择人类 miRNA。请帮我

提前致谢

4

1 回答 1

4

概括

鉴于我之前没有使用过 Affy 芯片,我不完全确定您的数据框是什么样的。让我试着总结一下我认为你告诉我们的内容。您有一个数据框,其中包含 Affy 芯片上所有 microRNA 的列表,以及它们的表达数据。您想选择人类独有的这些 microRNA 的一个子集。

可能的解决方案 1

你没有说明你的数据框是否包含一个变量来识别这些 microRNA 是否确实来自人类。如果它确实有此信息,您需要做的就是根据此标识符对您的数据进行子集化。键入help(subset)help(Extract)以获取有关如何执行此操作的更多信息。

可能的解决方案 2

如果您的数据框不包含这样的标识符,您首先需要列出所有已知的人类 microRNA。您可以从在线 miRBase 网站手动检索这些(然后将它们导入 R),或者您可以使用 R 包从 Ensembl 下载它们biomaRt。要执行后者,在加载 biomaRt 后,您可以键入以下命令:

miRNA <- getBM(c("mirbase_id", "ensembl_gene_id", "start_position", "chromosome_name"), filters = c("with_mirbase"), values = list(TRUE), mart = ensembl)

上述代码要求 R 下载 miRBase 目录中所有 microRNA 的 mirbase 标识符、基因 ID、起始位置和染色体名称。(请注意,您必须在之前的命令中指定人类 Ensembl 集市,我没有显示)。

下载此信息后,您可以使用merge命令或which命令从 Affy 芯片数据中提取适当的 microRNA。

建议

这一切听起来可能有点复杂。如果您还没有,我建议您花一些时间在biomaRt和上进行练习bioconductor。有关这些软件包以及如何安装它们的信息,请访问以下链接:

  1. Bioconductor, http://www.bioconductor.org/install/
  2. 数据库挖掘biomaRthttp://www.stat.berkeley.edu/~sandrine/Teaching/PH292.S10/Durinck.pdf

您可以考虑将这个问题迁移到Biostar。我想你会在那里得到更好的回应。此外,请考虑编辑您的问题以提供有关您的数据的更多信息。祝你好运。


编辑我原来的答案

参考您在 2012-02-26 22:08:02 发表的评论,尝试以下操作:

## Load biomaRt package
library(biomaRt)

## Specify which "mart" (i.e., source of genetic data) that you want to use
ensembl <- useMart("ensembl")
ensembl <- useDataset("hsapiens_gene_ensembl", mart = ensembl)

## You can then ask the system what attributes are available for download
listAttributes(ensembl)

      name                      description
58    mirbase_accession         miRBase Accession(s)
59    mirbase_id                miRBase ID(s)
60    mirbase_gene_name         miRBase gene name
61    mirbase_transcript_name   miRBase transcript 

上面我粘贴了命令的部分输出listAttributes(),其中显示了相关的 miRBase 选项。现在您可以尝试以下代码:

## Download microRNA data
miRNA <- getBM(c("mirbase_id", "ensembl_gene_id", "start_position", "chromosome_name"), filters = c("with_mirbase"), values = list(TRUE), mart = ensembl)

## Check how much we downloaded
> dim(miRNA)
[1] 715   4

## Peak at the head of our data
> head(miRNA)
      mirbase_id ensembl_gene_id start_position chromosome_name
1 hsa-mir-320c-1 ENSG00000221493       19263471              18
2 hsa-mir-133a-1 ENSG00000207786       19405659              18
3    hsa-mir-1-2 ENSG00000207694       19408965              18
4 hsa-mir-320c-2 ENSG00000212051       21901650              18
5    hsa-mir-187 ENSG00000207797       33484781              18
6   hsa-mir-1539 ENSG00000222690       47013743              18

## Check which chromosomes are contributing to our data
> table(miRNA$chromosome_name)

 1 10 11 12 13 14 15 16 17 18 19  2 20 21 22  3  4  5  6  7  8  9  X 
50 27 26 25 15 59 26 15 35  7 85 23 32  5 16 31 23 30 17 33 27 28 80

现在您的挑战将是使用这些下载的数据来解析您的原始 Affy 数据框。同样,请阅读、 和函数的帮助文件,merge首先自己尝试一下。Extractwhich

于 2012-02-26T16:13:21.650 回答