我们在研究过程中,经常需要提取基因附近指定范围内的SNP标记进行下一步的分析验证,如果用Excel一个一个去根据位置筛选会非常麻烦,所以小编写了一个小工具,帮助大家批量提取基因上下游指定范围内的SNP标记。
使用工具前,我们需要先安装bedtools。
代码语言:javascript复制## 下载bedtools
wget -c https://github.com/arq5x/bedtools2/releases/download/v2.29.2/bedtools-2.29.2.tar.gz
## 解压
tar -zxvf bedtools-2.29.0.tar.gz
## 编译
cd bedtools2
make
之后把bedtools添加到环境变量中。
我们需要准备两个输入文件,一个是需要提取上下游SNP标记的基因。
第一列为染色体编号,第二列为基因起始位置,第三列为基因终止位置,第四列为基因编号。以制表符"Tab"分隔。
另一个文件就是包含标记信息的vcf文件。
准备好输入文件后,我们就可以开始提取标记啦!
代码语言:javascript复制## 下载
git clone https://github.com/biozhp/snp_get.git
## 进入目录
cd snp_get
## 提取标记
python ./snp_get.py -gene input.gene.txt -vcf snp.vcf -length 500000 -out out_prefix
-gene:输入包含基因位置的文件。
-vcf:输入包含标记的vcf文件。
-length:设置提取SNP标记的基因上下游范围。
-out:输出文件前缀。
运行完毕后会生成两个输出文件。
输出文件一的第一列表示标记,第二列表示该标记位于哪些基因的上下游。
输出文件二即为位于基因上下游标记的vcf文件。
使用过程中有任何疑问,可以写在https://github.com/biozhp/snp_get/issues上,或者给我发邮件。