SNP 的VCF获取

尝试下全英文写作
Finding SNPs (Single Nucleotide Polymorphisms) in a genome involves multiple bioinformatics steps. Below is a general workflow for identifying SNPs from raw sequencing data:


1. Prepare Input Data

  • Input: High-quality DNA sequencing reads (e.g., Illumina paired-end data).
  • Tools: FastQC, Trimmomatic, fastp.
  • Process:
    1. Quality Check: Use tools like FastQC to assess the quality of raw reads.
    2. Read Trimming: Remove low-quality bases, adapter sequences, and short reads to ensure high data quality.

2. Map Reads to a Reference Genome

  • Input: Cleaned reads and a reference genome.
  • Tools: BWA, BWA-MEM2, Bowtie2, or HISAT2.
  • Process:
    1. Index the reference genome:
      bwa index reference.fasta
      
    2. Align the reads to the reference genome:
      bwa mem reference.fasta reads_R1.fastq reads_R2.fastq > aligned_reads.sam
      

3. Convert, Sort, and Index Alignments

  • Tools: SAMtools, Picard.
  • Process:
    1. Convert SAM to BAM:
      samtools view -bS aligned_reads.sam > aligned_reads.bam
      
    2. Sort the BAM file:
      samtools sort aligned_reads.bam -o sorted_reads.bam
      
    3. Index the sorted BAM file:
      samtools index sorted_reads.bam
      

4. Remove Duplicates (Optional)

  • Tools: Picard

  • Process:

    java -jar picard.jar MarkDuplicates \
         I=sorted_reads.bam \
         O=dedup_reads.bam \
         M=dedup_metrics.txt
    
    
  • Tools:Sambamba(recommend)

  • Process:

sambamba markdup -r -t 10 \
 ${sample}_sort.bam \
 ${sample}_mkdup.bam

5. Call Variants

  • Tools: GATK (HaplotypeCaller), FreeBayes, or bcftools.
  • Process:
    1. Generate a gvcf (genomic VCF) with GATK HaplotypeCaller:
      gatk HaplotypeCaller \
           -R reference.fasta \
           -I dedup_reads.bam \
           -O output.g.vcf.gz \
           -ERC GVCF
      
    2. Optionally, combine multiple samples into a single VCF using CombineGVCFs or similar tools.
    3. Perform joint genotyping to generate the final variant calls:
      gatk GenotypeGVCFs \
           -R reference.fasta \
           -V combined.g.vcf.gz \
           -O final_variants.vcf.gz
      

6. Filter Variants

  • Tools: GATK VariantFiltration, bcftools filter.
  • Process:
    1. Apply filters to remove low-quality SNPs:
      gatk VariantFiltration \
           -R reference.fasta \
           -V final_variants.vcf.gz \
           --filter-expression "QD < 2.0 || FS > 60.0 || MQ < 40.0" \
           --filter-name "basic_snp_filter" \
           -O filtered_variants.vcf.gz
      

7. Annotate SNPs

  • Tools: SnpEff, ANNOVAR, VEP.
  • Process:
    1. Annotate SNPs with their effects on genes or regulatory regions:
      snpEff ann database_name filtered_variants.vcf.gz > annotated_variants.vcf
      

8. Visualize and Validate SNPs

  • Tools: IGV (Integrative Genomics Viewer), bcftools stats.
  • Process:
    1. Validate SNPs visually using tools like IGV to confirm alignment accuracy.
    2. Generate statistics on the variants:
      bcftools stats filtered_variants.vcf.gz > variant_stats.txt
      

Output

  • Final File: A VCF file (filtered_variants.vcf.gz) containing high-confidence SNPs, optionally annotated with functional information.

Key Considerations

  • Ensure the reference genome is appropriate for the species being studied.
  • Adjust variant calling and filtering parameters based on sequencing depth and quality.
  • Use biological replicates or pooled data for more robust SNP detection.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容