第一种方法
这种方法的优点是速度较快,但略复杂,适合需要快速获取大批量坐标位置的情形,具体做法如下:
http://pythonhosted.org/twobitreader/ 提供了一个方便的小工具
python -m twobitreader hg19.2bit < example.bed
染色体的位置信息在 bed 文件中给出,.2bit 文件格式是 UCSC Genome Browser 的基因组序列文件索引格式,可以在
http://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/
下载到。UCSC Genome Browser 也提供了命令行工具可以从基因组序列文件生成 .2bit 文件。
twobitreader 可以用 pip 直接安装,也可以在
https://pypi.org/project/twobitreader/#files
下载源码安装。
第二种方法
这种方法的优点是简单,缺点是速度较慢,而且输出数据的格式是 XML。
通过 ucsc genome browser 提供的在线工具,例如想获取 chr13:32890466-32890664 区域上的 DNA 序列,访问如下 url
http://genome.ucsc.edu/cgi-bin/das/hg19/dna?segment=chr13:32890466,32890664
可以得到 chr13 上,start = 32890466, end = 32890664 之间的染色体序列。需要注意的是输出的是 xml 格式的数据。
PS:基于这个方法可以用R语言写个shiny小程序,因为用的不多,我还没准备写,如有需要可以留言。
第三种方法
利用 samtools 的 faidx 工具,方法如下:
首先用 faidx 生成 fasta 序列文件索引
samtools faidx hg19.fa
然后利用命令行获取染色体区域序列
samtools faidx hg19.fa chr13:32890466-32890664
这种方法所得输出是 fasta 格式序列。
————————————————
原文链接: