vcf和bed的位置信息区别
vcf和gff一般是从1-base开始计数,也就是文件里所代表的的位置是染色体的真实位置
bed文件一般所代表的位置是从0开始计数的,是一个半闭合区间,也就是(0,200]表示一个长度为200bp的序列,起始位置在染色体上其实是1到200的位置
pysam在处理的时候和bed是类似的,也是一个半闭合的区间,同时也是从0开始计数的。
samtools则是从1开始计数
- 根据位置信息提取序列的方法
samtools提取
samtools faidx Vv.12X.dna.toplevel.new.fa 14:6372587-6372787 4:1854642-1854842 >result3.fa
bedtools提取
bedtools getfasta -fi Vv.12X.dna.toplevel.new.fa -bed snp.pos.newname.bed -name -fo result4.fa
pysam提取
>>> import pysam
>>> ref = pysam.FastaFile('Vv.12X.dna.toplevel.new.fa')
>>> Chr,Start,End = '14','6372587','6372787'
>>> print(ref.fetch(Chr)[int(Start)-1:int(End)])
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">