可以使用工具 bcftools 中的 view 命令結(jié)合選項(xiàng) -r 和 -s 來(lái)挑選特定的 SNP 位點(diǎn)。
- 選擇感興趣的樣本,使用 -s 選項(xiàng),比如選取樣本 A、B、C:
bcftools view -s A,B,C input.vcf.gz -o output.vcf.gz
- 選擇特定的區(qū)域,使用 -r 選項(xiàng),比如選擇染色體 1 上的某一區(qū)域:
bcftools view -r 1:100000-200000 input.vcf.gz -o output.vcf.gz
- 隨機(jī)選擇一定數(shù)量的 SNP 位點(diǎn),可以使用 shuf 命令結(jié)合 head 命令。比如選擇 1000 個(gè) SNP 位點(diǎn):
bcftools query -f '%CHROM\t%POS\n' output.vcf.gz | shuf | head -n 1000 | sort -k1,1n -k2,2n > selected_snps.txt
這個(gè)命令的含義是,首先使用 bcftools query 選取輸出文件中 SNP 位點(diǎn)的染色體和位置信息,然后使用 shuf 對(duì)行進(jìn)行隨機(jī)排序,接著使用 head 選取前 1000 行(即 1000 個(gè) SNP 位點(diǎn)),最后使用 sort 對(duì)選定的 SNP 位點(diǎn)按染色體編號(hào)和位置進(jìn)行排序,并保存到 selected_snps.txt 文件中。
- 最后,使用 bcftools view 選取特定 SNP 位點(diǎn),比如選取上一步驟中篩選出的 1000 個(gè) SNP 位點(diǎn):
bcftools view -T selected_snps.txt output.vcf.gz -o selected_snps.vcf.gz
這個(gè)命令的含義是,使用 -T 選項(xiàng)指定要選取的 SNP 位點(diǎn)列表所在的文件(即上一步驟生成的 selected_snps.txt 文件),從輸出文件中選取特定的 SNP 位點(diǎn),并將結(jié)果保存到 selected_snps.vcf.gz 文件中。