我在R中使用biomaRt
来查询ensembl的hsapiens
人类基因数据库。我使用函数getBM
来获取所有基因的名称,起始位置和停止位置,但我找不到用于检索TSS(转录起始位点)的正确属性。可能是因为它被认为与seqType= c("3utr", "5utr")
相同吗?
答案 0 :(得分:6)
可以使用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
参数,但要注意你会得到很多数据即将到来。
答案 1 :(得分:2)
现在可以下载转录起始网站的特定属性: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
答案 2 :(得分:0)
我相信&#34; transcript_start&#34;和&#34; transcript_end&#34;是翻译起始和终止站点,但不一定是TSS(转录起始站点)。
查看&#34; start_position&#34;和&#34; end_position&#34;属性,这些似乎是TSS(+ strand的start_position和 - strand的end_position),因为它们始终是+ strand的不同转录本的transcript_start选项的最小数量,以及 - strand的transcript_end选项的最大数量