提取染色体片段
vcftools --gzvcf Duroc.vcf.gz \
--chr NC_010484.4 \
--from-bp 181225 \
--to-bp 182187 \
--out MC1R-Duroc.vcf \
--recode \
--recode-INFO-all
提取文件中的某几列
awk '{print$1,$2}' fileame.vcf > filename.txt
##$1代表第一列
根据位置提取vcf文件对应位点的信息
vcftools --vcf 12_28.filter.snps.indels.vcf --positions test.txt --out test --recode
提取某一列数值满足条件的列
awk -F'\t' '{if ($3 == 1) print $1\t$2\t$3}' t.txt > 1.txt
提取某些样本
bcftools view -S id.txt 20211005_sheep_222_total.vcf.gz > tibetan_36.vcf
###其中 id.txt 为一列样本id
去除vcf文件中带*的等位基因
grep -v "*" JBC-geno005-maf005.vcf > JBC-geno005-maf005.filter.vcf
格式转化
1 bed、bim、fam转vcf
plink --allow-extra-chr \
--chr-set 26 \
-bfile xll \
--recode vcf-iid \
--out xll
2 bed、bim、fam转map、ped
plink --allow-extra-chr \
--chr-set 26 \
-bfile filename \
--recode \
--out filename
3 ped、map转bed、bim、fam
plink --allow-extra-chr \
--chr-set 26 \
--file tibetan_36 \
--make-bed \
--out tibetan_36
4 map、ped转为vcf
plink --allow-extra-chr \
--chr-set 26 \
-file xll \
--recode vcf-iid \
--out xll
5 vcf转ped、map
plink --allow-extra-chr \
--chr-set 26 \
--vcf tibetan_36.vcf \
--recode \
--double-id \
--out tibetan_36
###double-id两个family id 和idividual id一样,所以加上了这个代码
6 vcf转bed、bim、fam
plink --allow-extra-chr \
--chr-set 26 \
-vcf XXX.vcf \
--make-bed \
--double-id \
--out XXX
缺失率统计
## 按照位点统计
vcftools --gzvcf test.vcf.gz \
--missing-site \
--out test.SNP_missing
## 按照个体统计
vcftools --vcf test.vcf \
--missing-indv \
--out test.SNP_missing
过滤indel和snp
## INDEL
vcftools --remove-indels \
--recode \
--recode-INFO-all \
--vcf test.vcf \
--stdout \
> test.snp.vcf
## SNP
vcftools --keep-only-indels \
--recode \
--recode-INFO-all \
--vcf test.vcf \
--stdout \
> test.indel.vcf
去除多等位基因及indel
bcftools view -m 2 \
-M 2 \
--type "snps" test.vcf.gz \
-Ov \
-o test.record.snps.vcf.gz
## 注意一下:-O为输出文件的格式,其中z为压缩的vcf文件,v为正常的vcf文件,
vcftools --vcf test.vcf \
--remove-indels \
--min-alleles 2 \
--max-alleles 2 \
--recode \
--recode-INFO-all \
--stdout \
> test.miss.snp.vcf
网友评论