当前位置: 首页 > article >正文

GradingPool-Seq使用方法

1. 安装必要的软件和包

在开始之前,你需要确保系统中已经安装了以下软件和包:

  • Perl (v5.22.1)
  • Perl 模块 (Statistics::Distributions)
  • R (v3.2.5)
  • R 包 (ggplot2)
  • BWA (v0.71)
  • GATK (v4.1.0.0)
  • Picard (v1.119)

安装这些软件和包的步骤在文档中已经提供了链接,你可以按照以下步骤进行安装:

  • 安装 Perl:访问 https://www.perl.org/get.html
  • 安装 R:访问 https://www.r-project.org/
  • 安装 BWA:访问 https://github.com/lh3/bwa
  • 安装 GATK:访问 https://software.broadinstitute.org/gatk/
  • 安装 Picard:访问 https://broadinstitute.github.io/picard/

安装这些工具可能需要一些时间,预计在两小时内完成。


2. 安装 Pipeline 框架

GradingPoolSeq pipeline 框架安装到你的系统中:

  1. 下载框架文件
    假设你已经获得了 GradingPool_framework.tar.gz 文件,将其解压到工作目录中:

    cd /path/to/working/directory
    cp /path/to/GradingPool_framework.tar.gz .
    tar zxvf GradingPool_framework.tar.gz
    
  2. 进入解压后的目录

    cd GradingPool_framework
    

3. 准备数据

你需要准备以下数据:

  • 参考基因组文件 (ref.fa)
  • 每个批量的 Fastq 文件 或者
  • 通过 SNP calling 得到的 VCF 文件(如果已经完成)

4. 执行 Pipeline

根据你的数据情况,选择以下两种方式之一:

4.1 如果你没有 VCF 文件(从 Fastq 文件开始)
  1. 建立参考基因组索引
    使用 BWA 建立参考基因组索引:

    bwa index ref.fa
    
  2. 对每个样本的 Fastq 文件进行比对
    假设有 6 个批量(4 个 F2 代和 2 个亲本):

    bwa mem -M -R "@RG\tID:Pool1\tSM:Pool1" ref.fa Pool1.fastq.gz > Pool1.sam
    bwa mem -M -R "@RG\tID:Pool2\tSM:Pool2" ref.fa Pool2.fastq.gz > Pool2.sam
    bwa mem -M -R "@RG\tID:Pool3\tSM:Pool3" ref.fa Pool3.fastq.gz > Pool3.sam
    bwa mem -M -R "@RG\tID:Pool4\tSM:Pool4" ref.fa Pool4.fastq.gz > Pool4.sam
    bwa mem -M -R "@RG\tID:Parent1\tSM:Parent1" ref.fa Parent1.fastq.gz > Parent1.sam
    bwa mem -M -R "@RG\tID:Parent2\tSM:Parent2" ref.fa Parent2.fastq.gz > Parent2.sam
    
  3. 将 SAM 文件转换为 BAM 文件

    samtools sort -o Pool1.bam Pool1.sam
    samtools sort -o Pool2.bam Pool2.sam
    samtools sort -o Pool3.bam Pool3.sam
    samtools sort -o Pool4.bam Pool4.sam
    samtools sort -o Parent1.bam Parent1.sam
    samtools sort -o Parent2.bam Parent2.sam
    
  4. 标记重复序列
    使用 Picard 工具标记重复序列:

    java -jar picard.jar MarkDuplicates INPUT=Pool1.bam OUTPUT=Pool1.dedup.bam METRICS_FILE=Pool1.metrics
    java -jar picard.jar MarkDuplicates INPUT=Pool2.bam OUTPUT=Pool2.dedup.bam METRICS_FILE=Pool2.metrics
    java -jar picard.jar MarkDuplicates INPUT=Pool3.bam OUTPUT=Pool3.dedup.bam METRICS_FILE=Pool3.metrics
    java -jar picard.jar MarkDuplicates INPUT=Pool4.bam OUTPUT=Pool4.dedup.bam METRICS_FILE=Pool4.metrics
    java -jar picard.jar MarkDuplicates INPUT=Parent1.bam OUTPUT=Parent1.dedup.bam METRICS_FILE=Parent1.metrics
    java -jar picard.jar MarkDuplicates INPUT=Parent2.bam OUTPUT=Parent2.dedup.bam METRICS_FILE=Parent2.metrics
    
  5. 索引 BAM 文件

    samtools index Pool1.dedup.bam
    samtools index Pool2.dedup.bam
    samtools index Pool3.dedup.bam
    samtools index Pool4.dedup.bam
    samtools index Parent1.dedup.bam
    samtools index Parent2.dedup.bam
    
  6. 进行 SNP calling
    使用 GATK 的 HaplotypeCaller:

    java -jar gatk --java-options "-Xmx4g" HaplotypeCaller -R ref.fa -I Pool1.dedup.bam -I Pool2.dedup.bam -I Pool3.dedup.bam -I Pool4.dedup.bam -I Parent1.dedup.bam -I Parent2.dedup.bam -O Results.vcf
    
4.2 如果你已经有 VCF 文件

你可以跳过上述步骤,直接从 VCF 文件开始。


5. 数据过滤

使用 Perl 脚本对 VCF 文件进行过滤:

  1. 过滤低质量变异

    perl Filter_Quality.pl Results.vcf > filter1.txt 100
    
  2. 选择合适深度的变异

    perl Filter_Depth.pl filter1.txt > filter2.txt 6 0.05 0.95
    
  3. 筛选亲本中基因型不同的变异

    perl Filter_Parent.pl filter2.txt > filter3.txt 5 6
    
  4. 过滤所有池中非参考碱基的 SNP

    perl Filter_SNP.pl filter3.txt > filter4.txt 6 1 2 3 4
    

6. 计算 P 值

使用 Perl 脚本计算 P 值:

perl Ridit.pl filter4.txt > pvalue.txt 1 2 3 4

7. 去噪策略

使用 Perl 脚本进行去噪:

perl denoise.pl pvalue.txt > ratio.txt 4 10 12

8. 图形分析

使用 R 脚本生成图形:

  1. 生成 P 值图

    Rscript pos-pvalue.R
    
  2. 生成比例图

    Rscript pos-ratio.R
    

9. 识别峰值区间

使用 Perl 脚本识别峰值区间:

perl p-max.pl ratio.txt 1

10. 查看结果

  • P 值图:查看 pvalue.png 文件。
  • 比例图:查看 ratio.png 文件。
  • 峰值区间:查看 p-max.pl 的输出。

注意事项

  1. 参数调整:根据你的数据和需求,可能需要调整脚本中的参数(如质量阈值、深度范围等)。
  2. 脚本路径:确保所有脚本文件(如 Filter_Quality.plRidit.pl 等)的路径正确。
  3. 运行时间:整个流程可能需要较长时间,具体取决于数据量和计算资源。

http://www.kler.cn/a/571240.html

相关文章:

  • 2025华为OD机试真题目录【E卷+A卷+B卷+C卷+D卷】持续收录中...
  • 【3D格式转换SDK】HOOPS Exchange技术概览(二):3D数据处理高级功能
  • Three.js 入门(光线投射实现3d场景交互事件)
  • 实时音视频通信SDK/API:EasyRTC嵌入式SDK去中心化WebP2P架构设计,Linux、ARM、小程序适配
  • 物联网设备数据割裂难题:基于OAuth2.0的分布式用户画像系统设计!格行代理是不是套路?2025有什么比较好的副业?低成本的创业好项目有哪些?
  • 【实战ES】实战 Elasticsearch:快速上手与深度实践-3.1.3高亮与排序的性能陷阱
  • 网上打印平台哪个好用?网上打印资料推荐
  • 毕业项目推荐:基于yolov8/yolov5/yolo11的暴力行为检测识别系统(python+卷积神经网络)
  • Glide图片加载优化全攻略:从缓存到性能调优
  • Unity3D 刚体动力学(Rigidbody Dynamics)详解
  • 基于模糊PID控制的供热控制系统设计Simulink仿真
  • SQL注入的分类靶场实践
  • 文本处理Bert面试内容整理-BERT的预训练任务是什么?
  • @Transactional 注解的行为规则
  • 让 LabVIEW 程序更稳定
  • SpringBoot + redisTemplate 实现 redis 数据库迁移、键名修改
  • TCP/IP四层模型:从入门到精通
  • 卡尔曼滤波算法(Kalman Filter, KF)深入推导
  • 面向对象三大特性:多态
  • Git安装部署