从gtf文件获取以前的外显子 - #R编程:

时间:2018-05-07 13:55:49

标签: r

我有一个数据框,其中包含我选择的外显子坐标(dataframe =我的外显子)和一个gtf数据帧(dataframe = gtf)。我试图首先从gft中找到我的外显子,然后一旦发现尝试从gft中提取前一个外显子作为输出。我在下面给出了一个例子。

数据框我的外显子

start   end exon_num    width   gene    geneid_exon_num_start_end
61178981    61179171    2   191 AHSA2   AHSA2 -2-61178981-61179171
243613671   243613739   7   69  AKT3    AKT3 -7-243613671-243613739
36952886    36953296    3   411 AATF    AATF -3-36952886-36953296

dataframe gtf

start   end exon_num    width   gene    geneid_exon_num_start_end
61177472    61177618    1   147 AHSA2   AHSA2 -1-61177472-61177618
61178668    61179171    1   504 AHSA2   AHSA2 -1-61178668-61179171
61185526    61185618    1   93  AHSA2   AHSA2 -1-61185526-61185618
61178981    61179171    2   191 AHSA2   AHSA2 -2-61178981-61179171
36950214    36950405    2   192 AATF    AATF -2-36950214-36950405
37056601    37056858    2   258 AATF    AATF -2-37056601-37056858
36952886    36953296    3   411 AATF    AATF -3-36952886-36953296
19958014    19958571    4   558 AATF    AATF -4-19958014-19958571

数据帧输出

start   end exon_num    width   gene    geneid_exon_num_start_end
61177472    61177618    1   147 AHSA2   AHSA2 -1-61177472-61177618
36950214    36950405    2   192 AATF    AATF -2-36950214-36950405

我正在使用它来从gtf中找到我的外显子,一旦找到上面的行就可以得到上一个外显子。

previous_exon=gft[which(gtf$geneid_exon_num_start_end %in% myexons$geneid_exon_num_start_end)+c(-1),]
问题是,我给出了(即上面只有一行)。

start   end exon_num    width   gene    geneid_exon_num_start_end
61185526    61185618    1   93  AHSA2   AHSA2 -1-61185526-61185618
37056601    37056858    2   258 AATF    AATF -2-37056601-37056858

我不想要这个。如果你看到有多个先前的外显子有不同的坐标,所以我想要一个行,其中前一个外显子的末端坐标比我的外显子的开始更小(参见所需的输出)。我有一个巨大的数据框架,所以不能一个接一个,所以需要帮助来保持这个轨道并获得输出。

0 个答案:

没有答案