나는 ensembl의 hsapiens
인간 유전자 데이터베이스를 질의하기 위해 R에서 biomaRt
을 사용하고 있습니다. getBM
함수를 사용하여 모든 유전자의 이름, 시작 위치 및 정지 위치를 얻지 만 TSS (전사 시작 사이트)를 검색하기위한 올바른 속성을 찾을 수 없습니다. 아마도 seqType= c("3utr", "5utr")
과 같은 것으로 간주 되었기 때문일까요?biomaRt로 전사 시작 사이트를 찾으십시오
답변
쿼리 가능한 전체 속성 목록은 listAttributes
을 사용하여 데이터 프레임에서 검색 할 수 있습니다. 그런 다음 원하는 속성을 검색하는 것입니다.
mart <- useDataset("hsapiens_gene_ensembl", useMart("ensembl"))
att <- listAttributes(mart)
grep("transcript", att$name, value=TRUE)
그런 다음 당신이 앞서 갈 수 및 쿼리가이 이름
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
를 얻을이
[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"
처럼 태초 당신에게 다소 긴 목록을 얻을 것이다
원한다면 모두의 모든 사본 개의 유전자는 filter
과 values
인수를 제거하지만 많은 양의 데이터가 전달된다는 사실을 알고 있어야합니다.
"transcript_start"및 "transcript_end"는 번역 시작 및 중지 사이트이지만 반드시 TSS (전사 시작 사이트)는 아닙니다.
"start_position"및 "end_position"속성을 보면 이러한 속성이 TSS (+ strand의 start_position 및 - strand의 end_position) 인 것처럼 보입니다.이 속성은 항상 TSS의 다른 transcript에 대한 transcript_start 옵션 중 가장 작은 수이기 때문에 + 가닥과 가장 많은 수의 transcript_end 옵션이 있습니다.
transcript_start 및 transcript_end는 각각 전방 가닥의 유전자에 대한 전사 시작 및 전사 끝 위치입니다 (역 가닥에있는 유전자의 경우 반대입니다). start_position은 유전자의 모든 전 사체 중 가장 5 'transcript_start입니다. end_position은 유전자의 모든 전사 물의 3 '대부분 transcript_end입니다. 따라서 transcript_start와 transcript_end는 유전자의 각 transcript마다 다를 수 있지만 항상 동일한 start_position 및 end_position을가집니다. –
이제 전사 시작 사이트에 대한 특정 속성이 다운로드 될 수 있습니다 : 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
Backlin. 제 문제는 제가 유전자의 각 전사에 대한 정보를 얻고 각 유전자에 대해 하나의 TSS를 찾고자하는 것을 이해하지 못했다는 것이 었습니다. 그러나 각 유전자에 대해 하나 이상의 TSS를 갖게되는 것처럼 보입니다. .. 나는 이것이 내가 원하는 것을 확신하지 못한다. 그러나 나는 생물학적 질문에 더 가깝다고 생각한다 ... – user971102
당신을 진심으로 환영한다. 유전자가 여러 개의 시작 및 정지 부위와 스플 라이스 변이 형을 갖는 것은 사실 일반적입니다. 기본 질문은 모르지만 개요 만보고 싶으면 속성으로 전사 카운트를 포함시키고 각 유전자에 대해 가장 일반적인 것을 선택할 수 있습니다. – Backlin
좋아, 지금은 분명하다, 고마워! – user971102