回答
下面是使用Bioconductor的包biomaRt
的溶液。它是以前發佈代碼的稍微更正和重新格式化的版本。鼓勵
library(biomaRt) # biomaRt_2.30.0
snp_mart = useMart("ENSEMBL_MART_SNP", dataset="hsapiens_snp")
snp_ids = c("rs16828074", "rs17232800")
snp_attributes = c("refsnp_id", "chr_name", "chrom_start")
snp_locations = getBM(attributes=snp_attributes, filters="snp_filter",
values=snp_ids, mart=snp_mart)
snp_locations
# refsnp_id chr_name chrom_start
# 1 rs16828074 2 232318754
# 2 rs17232800 18 66292259
用戶閱讀的綜合biomaRt
vignette和實驗以下biomaRt
功能:
listFilters(snp_mart)
listAttributes(snp_mart)
attributePages(snp_mart)
listDatasets(snp_mart)
listMarts()
我可以問filters =「snp_filter」是什麼意思?謝謝。 – user1938809
從小插曲的第7頁開始:「過濾器定義了對查詢的限制,例如,您想限制輸出到位於人類X染色體上的所有基因,那麼過濾器'chromosome_name'可以與值'X''一起使用。沒有過濾器,你會得到所選數據庫中的所有snps。嘗試使用命令listFilters(snp_mart)來查看可能的過濾器。 – bdemarest
我注意到,如果您有大量的SNP,需要很長時間,例如200,000 ish(例如用Affymetrix 6.0 SNP陣列和所有SNPS的願望位置)。我想知道有沒有人知道更快的方法來做到這一點。 –
使用bioconductor's biomaRt R包裝。
這提供了一種簡單的方式將查詢發送到BioMart,其獲取關於給定rsNumber的SNP(即rsid)的信息。
E.g.進口SNP數據rs16828074(你在帖子中列出的rsNumber),使用此:
代碼:
library(biomaRt)
snp.id <- 'rs16828074' # an SNP rsNumber like you listed in the post
snp.db <- useMart("snp", dataset="hsapiens_snp") # select your SNP database
# The SNP data file imported from the HUMAN database:
nt.biomart <- getBM(c("refsnp_id","allele","chr_name","chrom_start",
"chrom_strand","associated_gene",
"ensembl_gene_stable_id"),
filters="refsnp",
values=snp.id,
mart=snp.db)
讓我知道你是怎麼得到這個(通過評論),因爲我在這裏回答了一些基本的編碼和包導入能力。
Aknowledgement /秒:
進入Jorge Amigo(他在Biostars post)
我在運行代碼時遇到以下錯誤。錯誤getBM(c(「refsnp_id」,「allele」,「chr_name」,「chrom_start」,「chrom_strand」,: 無效的過濾器:refsnp 請使用函數'listFilters'獲取有效的過濾器名稱 – user1938809
在@bdemarest的帖子中,他似乎在我之前已經到達了那裏^^,我將發佈另一個基於perl編程語言的答案,這是SNP查詢中最推薦的語言,我相信 –
您的意思是說感謝「Jorge Amigo 「不是」Zach Stednick「。你的帖子和」bdemarest「的答案有什麼不同嗎? – zx8754
通過Perl中,你會發現它很容易建立代碼來查詢單核苷酸多態性。
有一個Web瀏覽器GUI工具(HERE)用於構建perl腳本,基於哪個數據庫和數據集,您希望使用Biomart庫進行查詢。
說明
- 轉到http://www.ensembl.org/biomart/martview/ad23fb5685e6aecb59ab12ce73c89731(支持的後生動物),或http://biomart.vectorbase.org/biomart/martview/6e274bc00b3c68a131a6947d02039ade(最多瘧疾日的載體,例如A. gambiae)
選擇數據庫和數據集:
點擊「perl」按鈕爲Biomart API查詢生成perl代碼,並將代碼複製粘貼到您的perl編輯器中 - 使用您選擇的SNP rsNumbers運行它。
# An example script demonstrating the use of BioMart API. use strict; use BioMart::Initializer; use BioMart::Query; use BioMart::QueryRunner; my $confFile = "PATH TO YOUR REGISTRY FILE UNDER biomart-perl/conf/." my $action='cached'; my $initializer = BioMart::Initializer->new('registryFile'=>$confFile,'action'=>$action); my $registry = $initializer->getRegistry; my $query = BioMart::Query->new('registry'=>$registry,'virtualSchemaName'=>'default'); $query->setDataset("hsapiens_snp"); $query->addAttribute("refsnp_id"); $query->addAttribute("refsnp_source"); $query->addAttribute("chr_name"); $query->addAttribute("chrom_start"); $query->formatter("TSV"); my $query_runner = BioMart::QueryRunner->new(); ############################## GET RESULTS ########################## $query_runner->execute($query); $query_runner->printHeader(); $query_runner->printResults(); $query_runner->printFooter(); #####################################################################
- 1. 如何將SNP列表映射到基因?
- 2. MKMap座標映射到圖像座標
- 3. OpenGL座標映射到設備座標
- 4. 將GPS座標映射到圖像
- 5. 將極座標映射到0..1
- 6. 將座標映射到位置的API
- 7. 將GPS座標映射到區域
- 8. 將預覽圖像座標映射到圖像圖像座標
- 9. 將JSON數組座標映射到地圖視圖
- 10. 將一系列索引映射到座標數組
- 11. 標準化的設備座標映射到2D數組索引
- 12. android OpenGL ES座標映射
- 13. C++橢圓座標映射
- 14. 紋理映射 - 座標
- 15. Google API - 映射500座標
- 16. 得到折線谷歌座標映射
- 17. 得到谷歌從JSON座標映射
- 18. PyQt將鼠標按鈕的座標映射到圖像的座標系
- 19. 將鼠標位置映射到3d平面的座標系
- 20. 大會視頻模式座標映射到字符座標
- 21. 瞭解從視圖座標到場景座標的映射
- 22. 基因敲除映射到JS錯誤?空數組項目
- 23. 如何將設備座標系映射到世界座標系android
- 24. 如何將2d點從一個座標系映射到另一個座標系
- 25. 光線跟蹤問題,如何將屏幕座標映射到世界座標?
- 26. 將線性座標系框架映射到Google地球的球形座標系
- 27. 將變換從一個座標空間映射到另一個座標空間
- 28. 將因子映射到數據幀
- 29. 將DiskIndex映射到卷標
- 30. Kinect v2將顏色座標映射到相機空間
你能否提供更多信息?你在使用FASTA文件嗎?你不能簡單地運行一個多序列比對嗎? – sreisman
我沒有使用FASTA文件,但我可以。我相信有很多方法可以做到這一點,但我正在問最簡單的方法來做到這一點。謝謝。 – user1938809