我在生物信息学方面相对较新,需要从RNA-seq结果中生成覆盖图。
从基因组比对的RNA-seq结果(tophat比对),我能够生成一个Bed(或txt)文件,指示序列读取的基因组位置来自coveragebed来自bedtools的命令3}}。在这种情况下,我专门选择外显子区域作为我的实验目的。
现在,使用fread提供的data.table函数作为" data.frame"
,在R中导入了结果文件(一个~4gb大小的巨大表格)为了生成单个基因的覆盖图,我搜索了一个名为" Actb"以第8列(V8)为例,这就是数据的组织方式:
Actb.coverage <-["Actb"]
V8 V1 V2 V3 V4 V5 V6 V7 V9 V10 V11
1:Actb chr5 142903116 142903797 uc009ajk.1 utr3 0 - NM_007393 1 0
2:Actb chr5 142903116 142903797 uc009ajk.1 utr3 0 - NM_007393 2 0
3:Actb chr5 142903116 142903797 uc009ajk.1 utr3 0 - NM_007393 3 0
4:Actb chr5 142903116 142903797 uc009ajk.1 utr3 0 - NM_007393 4 0
-
1879:Actb chr5 142906652 142906724 uc009ajk.1 utr5 5 - NM_007393 70 0
1880:Actb chr5 142906652 142906724 uc009ajk.1 utr5 5 - NM_007393 71 0
1881:Actb chr5 142906652 142906724 uc009ajk.1 utr5 5 - NM_007393 72 0
每行代表一个核苷酸
因此,在这个简化表中,第0列(没有标签)显示它总共1881行(意味着Actb基因由1881个外显子核苷酸组成)
和下一个V8列是基因名称,V1~V3是染色体ID和V5和V6列中每个给定特征的起始和终止位点(即utr3,0表示前3&#39; UTR外显子)。
V7是( - )并且指示基因的方向是3&#39; - &GT; 5&#39;在基因组中结束。
V11列包含coveragebed在给定核苷酸中生成的读数计数信息(这就是我想要的)。它们在本表中为0,因为此前显示的前四个核苷酸和最后三个核苷酸没有覆盖。
问题1
因此,为了生成简单的覆盖图,我可以绘制从1到1881的x轴编号,y轴是对应于V11的值,如下所示:
情节(Actb.coverage [,V0],Actb.coverage [,V11]) 但正如您所看到的,第一列V0没有列名,所以我需要替代解决方案
问题2
当这种方法有效时,我想添加更多选项
是否可以根据第5列(V5)和第6列(V6)细分x轴?
例如,长度的1881个核苷酸被分成几个
utr3(V5)-0(V6),
utr3-1
CDS-0
CDS-1
CDS-2
。
。
。
utr5-0
utr5-1
utr5-2
utr5-3
utr5-4
utr5-5
每个特征长度通过从V3的值到V2列的值的简单减法来确定。
结果图应该与问题1中的图相同,但是我想添加那些子划分的特征以及x轴
我觉得应该可以,但我不知道如何实现这一目标。 我寻求你的帮助
非常感谢
GDY