我想提取染色体的基因间坐标。我做了一大堆代码,但由于我是这些软件包的新手,我不确定我是否遵循了正确的逻辑:
library(IRanges)
library(GenomicFeatures)
library(TxDb.Hsapiens.UCSC.hg19.knownGene)
txdb = transcriptsBy(TxDb.Hsapiens.UCSC.hg19.knownGene, by = "gene",use.names=TRUE)
#For example, only I am interested in intergenic coordinates in chromosome 1
seqlevels(txdb, force=TRUE) = c("chr1")
#Creates IRanges
ir = IRanges(start=unlist(start(txdb)), end=unlist(end(txdb)), names=names(txdb))
# Reduce overlapping gene positions to continuous range
ir.red = reduce(ir) # Collapses ranges of overlapping genes to continuous range.
#Identify overlaps among the initial and reduced range data sets
overlap = findOverlaps(ir, ir.red)
我是否需要照顾" +"和" - "搁浅?
答案 0 :(得分:3)
最简单的方法是从基因()访问者,reduce()开始,并采取补充:
library(TxDb.Hsapiens.UCSC.hg19.knownGene)
genic <- genes(TxDb.Hsapiens.UCSC.hg19.knownGene)
genic <- reduce(genic, ignore.strand=T)
intergenic <- gaps(genic)
intergenic <- intergenic[strand(intergenic) == "*"] #This is important!!!
最后一步非常重要,否则你每个染色体会额外获得2个条目(+和 - 各一个)。
答案 1 :(得分:0)
虽然不能直接回答您的问题,但值得一提的是,您可以直接从UCSC表浏览器http://genome.ucsc.edu/cgi-bin/hgTables获取这些数据。表格浏览器允许您设置两个轨道或其补码之间的交叉点,甚至可以将其返回到表格浏览器中的自定义轨道以进行进一步操作,从而允许针对多个轨道和表格进行任意复杂的嵌套查询。适用于您的目的的步骤如下......
1)选择你感兴趣的基因组和组装。
2)选择“Genes and Gene Predictions”作为组,“UCSC Genes”作为曲目,“knownGene”作为表。
3)如果您想要单个染色体或染色体的一部分,请在“区域”行的框中输入,否则将其设置为“基因组”
4)点击“交叉”线上的“创建”
5)进入下一页,选择group =“Mapping and Sequencing”,track =“Assembly”,table =“Assembly(gold)”,单击单选按钮“Base-pair-wise intersection(AND)of UCSC Genes and Assembly“,选中”在基础对交叉/联合之前补充UCSC基因“框,然后单击”提交“。
6)返回主桌面浏览器屏幕,输入您想要的输出选项,然后点击“获取输出”以检索基因间区域。
快乐狩猎!