我biomaRt
在 R 中使用来查询 ensembl 的hsapiens
人类基因数据库。我正在使用该函数getBM
来获取所有基因的名称、起始位置和终止位置,但我找不到用于检索 TSS(转录起始位点)的正确属性。可能是因为它被认为与 相同seqType= c("3utr", "5utr")
?
问问题
3579 次
3 回答
7
可以使用在数据框中检索可查询属性的完整列表listAttributes
。然后只需在其中搜索您想要的属性即可。
mart <- useDataset("hsapiens_gene_ensembl", useMart("ensembl"))
att <- listAttributes(mart)
grep("transcript", att$name, value=TRUE)
会给你一个相当长的清单,像这样开始
[1] "ensembl_transcript_id"
[2] "transcript_start"
[3] "transcript_end"
[4] "external_transcript_id"
[5] "transcript_db_name"
[6] "transcript_count"
[7] "transcript_biotype"
[8] "transcript_status"
[9] "clone_based_ensembl_transcript_name"
[10] "clone_based_vega_transcript_name"
然后您可以继续使用这些名称进行查询
getBM(attributes=c("transcript_start", "transcript_end"),
filters="hgnc_symbol", values="foxp2", mart=mart)
你得到
transcript_start transcript_end
1 113726382 114330960
2 113726494 114271639
3 113726615 114330155
4 113728221 114066565
5 113728221 114271650
6 114054329 114330218
7 114055052 114139783
8 114055052 114333827
9 114055110 114330155
10 114055113 114330200
11 114055275 114269037
12 114055374 114285885
13 114055378 114330012
14 114066555 114294198
15 114066557 114271754
16 114066557 114282629
17 114066570 114294198
18 114055052 114333823
19 114268613 114329981
20 113726615 114310038
如果您希望所有基因的所有转录本都删除filter
和values
参数,但请注意您将获得大量数据。
于 2012-10-22T15:51:36.860 回答
4
现在有一个可以下载的转录起始站点的特定属性:transcription_start_site
.
library("biomaRt")
ensembl = useMart("ensembl", dataset = "hsapiens_gene_ensembl")
attributes = listAttributes(ensembl, page = "structure")
attributes[grep("transcript", attributes$description, ignore.case = TRUE), ]
# name description
# 178 ensembl_transcript_id Ensembl Transcript ID
# 183 transcript_start Transcript Start (bp)
# 184 transcript_end Transcript End (bp)
# 185 transcription_start_site Transcription Start Site (TSS)
# 186 transcript_length Transcript length (including UTRs and CDS)
# 195 transcript_count Transcript count
# 201 rank Exon Rank in Transcript
例如,这里是基因 BTC 的结果。请注意,因为它位于反向链 ( strand == -1
) 上,所以 的值transcription_start_site
与 的值相同transcript_end
。基本上,下载transcription_start_site
是一种捷径,因此您不必根据基因所在的链来确定转录本的哪一端是 TSS。
tss <- getBM(attributes = c("transcription_start_site", "chromosome_name",
"transcript_start", "transcript_end",
"strand", "ensembl_gene_id",
"ensembl_transcript_id", "external_gene_name"),
filters = "external_gene_name", values = "BTC",
mart = ensembl)
tss
# transcription_start_site chromosome_name transcript_start transcript_end strand
# 1 75635873 HG706_PATCH 75612096 75635873 -1
# 2 75660403 HG706_PATCH 75610476 75660403 -1
# 3 75719896 4 75669969 75719896 -1
# 4 75695366 4 75671589 75695366 -1
# ensembl_gene_id ensembl_transcript_id external_gene_name
# 1 ENSG00000261530 ENST00000567516 BTC
# 2 ENSG00000261530 ENST00000566356 BTC
# 3 ENSG00000174808 ENST00000395743 BTC
# 4 ENSG00000174808 ENST00000512743 BTC
于 2016-02-22T02:00:33.970 回答
0
我相信“transcript_start”和“transcript_end”是翻译开始和停止站点,但不一定是TSS(转录起始站点)。
查看“start_position”和“end_position”属性,这些似乎是 TSS(+ 链的 start_position 和 - 链的 end_position),因为它们始终是 + 链的不同转录本和- 链的最大数量的 transcript_end 选项。
于 2014-08-21T19:25:42.670 回答