Recimo da imam sljedeći primjer GRanges:
biblioteka > (GenomicRanges) > gr = GRanges (+ seqnames = Rle (c ("chr1", "chr2", "chr1", "chr3"), c (1, 3, 2, 4)), + rasponi = IRanges (101: 110, kraj = 111: 120, imena = glava (slova, 10)), + pramen = Rle (pramen (c ("-", "+", "*", "+", "-")), c (1, 2, 2, 3, 2)), + rezultat = 1:10, + GC = seq (1 , 0, dužina = 10)) > grGRanges objekt s 10 raspona i 2 stupca metapodataka: rasponi seqnames nizovi | rezultat GC <Rle> <IRanges> <Rle> | <integer> <numeric> a chr1 [101, 111] - | 1 1 b chr2 [102, 112] + | 2 0,888888888888889 c chr2 [103, 113] + | 3 0,777777777777778 d chr2 [104, 114] * | 4 0,666666666666667 e chr1 [105, 115] * | 5 0,555555555555556 f chr1 [106, 116] + | 6 0,444444444444444 g chr3 [107, 117] + | 7 0,333333333333333 h chr3 [108, 118] + | 8 0,222222222222222 i chr3 [109, 119] - | 9 0,111111111111111 j chr3 [110, 120] - | 10 0 ------- seqinfo: 3 sekvence iz nespecificiranog genoma; nema slijedećih duljina
Jednostavno je podsetiti ovaj GRanges kao što bi se podskupio R data.frame, na pr.
> gr $ score [1] 1 2 3 4 5 6 7 8 9 10
Međutim, pišem funkciju u koju bi korisnik prošao kroz niz za stupac metapodataka za podskup npr
subsetter = function (granges, column) {return (granges $ column)}
Pokušavam koristiti funkciju na sljedeći način:
> podskupina (gr, rezultat)
koji daje NULL
Ovo očito ne radi, jer će podsetiti gr
prema stupcu
, a ne score
.
> podskupina (gr, rezultat) NULL
Da je ovo data.frame, mogao bih podskup podrazumijevati na sljedeći način:
gr[[(score)]]
ali ovo daje pogrešku
Pogreška u gr [[(rezultat)]]: ovaj S4 klasa se ne može podskupati
Postoje li drugi načini za podskup GRangesa osim korištenja $
?