Подмножество SNP с конкретными критериями исключения с помощью bcftools
Я пытаюсь выделить подмножество SNP из 32 сортов. У меня следующие критерии исключения:
>
20% недостающих данных- SNP присутствуют менее чем в 50% генотипов
- Каждый генотип должен иметь не менее 50% включенных SNP.
>=
60% гетерозиготных звонков- Маркеры, у которых отсутствуют данные по генотипам
- Только биаллельные SNP
- Нет очень редких вариантов (например, MAF<0,05)
С помощью руководства bcftools мне удалось выяснить, как разделить только двуаллельные SNP на подмножество с MAF более 0,05, имея дело с критериями 6 и 7.
bcftools view --output-type u --min-alleles 2 --max-alleles 2 \ --types snps --exclude MAF[0]<0.05 --exclude ** --known variants_raw_sorted.bcf > SNP_filtered_sorted_kkf.bcf
Где ** есть, я пытаюсь реализовать остальные критерии исключения (критерии 1-5), однако мне очень трудно понять, как использовать выражение в bcftools. Я хочу понять, как использовать информацию в информационных полях (AN,AC, AF/MAF, NS) для реализации моих критериев исключения. Любая помощь очень ценится.
Дополнительная информация: это исходный код, который привел к файлу vcf.
fastp -i ACDC_R1.fastq.gz -I ACDC_R2.fastq.gz \ -o fastp_ACDC_R1P.fastq.gz fastp_ACDC_R2P.fastq.gz \ -R "ACDC_fastp_QC" -h "Fastp_ACDC" -j "ACDC_fastp" \ -e 20 -c -a "auto" -L -r \ -m --merged_out "ACDC_fastp_Merged" --out1 "ACDC_R1_fastp_Unmerged" --out2 "ACDC_R2_fastp_Unmerged" \ --unpaired1 "ACDC_R1Pass_R2Fail" --unpaired2 "ACDC_R2Pass_R1Fail"
bowtie2 -p 20 -x cs10 -U ACDC_fastp_Merged.fastq.gz -S ACDC_aligned.sam
samtools view -bS ACDC.sam > ACDC.bam
bcftools mpileup --output-type u -f cs10.fasta -b bam_list.txt | bcftools call -vmO z -o all_raw_condition_1.vcf.gz --threads=20
bcftools view --output-type u --output-file variants_raw.bcf variants_raw.vcf.gz
bcftools sort --max-mem 14000 --output-type u --output-file variants_raw_sorted.bcf