根据变异位点设计引物序列
今天碰到一个新问题:假如有一个vcf文件储存了两个样品的变异位点基因型数据,每行代表一个位点,我现在想找出两样本差异的SNP位点,再把差异位点用[REF/ALT]的形式表示,然后将其在参考基因组上下游100bp的序列找出来放在差异位点前后位置,得到一个序列文本,用于设计引物。
解决思路
-
如何判断差异SNP?
通过循环判断两个样品的基因型信息实现,相同时为same,不同时为diff
-
如何提取差异位点?
通过tidyverse系列函数filter实现筛选,只选取s开头的SNP位点
-
如何获取参考基因组某段序列?
通过samtools调用faidx功能实现序列查询
-
如何生成引物设计信息?
通过合并字符串生成最终结果
下面是详细的实现方法,可以批量对vcf文件的差异位点生成引物设计数据,测试环境为linux R4.2.3,支持云端计算,如有建议或者需要欢迎联系后台交流。
1. 加载所需的库
首先,需要加载两个R包:vcfR和tidyverse。这两个包提供了处理VCF文件和数据处理的功能。
library(vcfR)
library(tidyverse)