我有一个名为" P.obj"的GRanges文件。我想要提取/子集列中包含的特定基因ID" name"。我想要提取的特定基因ID包含在R对象"加"列名称也称为"名称" 我理解如何通过重叠进行分组并找到重叠,但我无法弄清楚如何按基因名称进行子集化。
> P.obj
GRangesList of length 4:
$exons
GRanges with 604591 ranges and 2 metadata columns:
seqnames ranges strand | score name
<Rle> <IRanges> <Rle> | <integer> <character>
[1] chr1 [66999066, 66999090] + | 1 ENST00000237247
[2] chr1 [66999929, 67000051] + | 2 ENST00000237247
[3] chr1 [67091530, 67091593] + | 3 ENST00000237247
[4] chr1 [67098753, 67098777] + | 4 ENST00000237247
[5] chr1 [67099763, 67099846] + | 5 ENST00000237247
... ... ... ... ... ... ...
[604587] chr22 [51227323, 51227600] + | 4 ENST00000423888
[604588] chr22 [51222290, 51222500] + | 1 ENST00000480246
[604589] chr22 [51223601, 51223721] + | 2 ENST00000480246
[604590] chr22 [51237083, 51239737] + | 3 ENST00000480246
[604591] chr22 [51237083, 51237551] + | 1 ENST00000427528
...
<3 more elements>
---
seqlengths:
chr1 chr2 chr3 chr4 chr5 chr6 ... chr17 chr18 chr19 chr20 chr21 chr22
NA NA NA NA NA NA ... NA NA NA NA NA NA
> plus
name
1 ENST00000237247
3 ENST00000480246
5 ENST00000427528
我试过了: P.obj [P.obj $名称==加$名称]
但是我收到一条错误消息: 警告信息: 在is.na(e1)中:is.na()应用于类型为&#39; NULL&#39;
的非(列表或向量)答案 0 :(得分:2)
您需要的信息位于GRanges
'元数据'列中,可通过mcols()
或$
访问。此外,您正在寻找集合成员资格%in%
,而不是身份。所以
P.obj[P.obj$name %in% plus$name]
考虑在Bioconductor support site上询问有关Bioconductor包的问题。