暗能星系

    • 登录
    • 搜索

    Stacks分析RAD-Seq数据的内部原理

    生物信息分析
    1
    2
    21
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • A
      anneng 最后由 anneng 编辑

      一,背景知识
      1.Restriction enzymes
      限制酶是DNA切割酶。 每种酶识别一个或几个靶序列,并在这些序列处或附近切割DNA。 DNA连接酶(DNA ligase)是一种DNA连接酶。 如果两个DNA的末端匹配,则连接酶可以将它们连接起来,形成一个单一的,不间断的DNA分子。这种酶最早在细菌中发现,细菌使用这种机制来切割外部病毒,达到防御目的,因此叫限制酶。
      14887b3b-e335-4410-840f-ffc8a2a549da-image.png
      904870d2-4e0f-417c-89db-0f6d128f2b6e-image.png
      酶切点根据不同的酶的特性,会产生粘性端和钝端等情况。
      763f8e5f-08b4-4a2e-89e1-78c302b6f8b5-image.png
      faba6be0-1dba-4ed7-ba74-46343650425a-image.png
      2.RAD-Seq
      RAD-Seq就是首先使用酶切,将整个基因组酶切,然后两端加接头构建文库,上机进行单端或者双端测序。
      92fadba6-7b13-4db3-b888-af7c38dae154-image.png

      二,Stacks分析原理
      Stacks是分析RAD-Seq数据的常用流程,流程采用模块化设计,从RAD原始序列预处理到Call SNP以及最后的下游分析,涉及多个子模块,整体过程如下:
      a9fc4f06-817a-4e7e-b66a-a1682a0ee37f-image.png
      本文从源码层面梳理一下几个核心模块的内部实现:
      2.1 数据准备
      我们使用 ddrage软件来生产ddrad-seq的模拟数据,使用默认参数产生三个个体的数据
      2.2 原理分析
      1.process_radtags
      对原始序列做质控.从Rad-seq图中可以看出,建库后的序列包括adaptor+barcode(index)+酶切点,adaptor用于引导测序,barcode用于标识单个样本,也叫index。通常情况下illumina会自动把adaptor和barcode切除,所以大部分情况radseq的序列头都是酶切后的序列。举一个实际例子,来看看RAD-Seq拿到的序列是什么样子:
      假设某实验用的两个酶是SacI 和MseI ,
      SacI 酶:
      9f541fce-4bed-48bb-a597-02c372d68971-image.png
      Fastq中的R1 reads头是:
      3382ff96-da1f-4113-ba8f-451c009090cb-image.png
      MseI 酶:
      870153ec-1b90-4046-9fb4-231d92a03419-image.png
      Fastq中的R2 reads头是:
      09462237-c9b5-455b-9017-788f99af105f-image.png

      1.1 检查barcode、酶切点的完整性
      1.2 根据barcode拆分样本
      1.3 计算序列平均质量,丢弃低于90%平均质量的序列

      处理完原始数据后,根据是否有参考序列或者是否希望用参考序列,会走两个完全不同的流程。
      2.无参考基因组的de novo过程:
      Stacks 1.0 [3] 中对de novo 过程做了详细描述
      c06b4be9-3708-4976-8502-a105087e7691-image.png
      2.1 ustacks
      上图中蓝色框中的A~F步骤详细说明了ustacks的步骤,具体如下:
      nohup ./stack2_ustacks.sh &
      A 将单个样本中的序列分类为stack stack中的序列被称为primary序列
      B 将stack拆分为kmer字典 并通过查询该字典找出相似的stack
      C 相似的stack成为匹配 用图中的连线连接 匹配的节点合并为loci 不在stack中的序列被称为二级序列(secondary reads)
      D 将二级序列也和loci进行比较 用以增加比较深度
      E 构建一致性序列(consensus sequence)来记录分型和snp信息
      2.2 cstacks
      2.3 sstacks
      maximum likelihood statistical model
      3.有参考基因组的过程:

      讨论一:是否使用参考基因组?

      参考:
      1.N. Rochette, A. Rivera‐Colón, and J. Catchen. Stacks 2: Analytical methods for paired‐end sequencing improve RADseq‐based population genomics. Molecular Ecology, 28(21):4737-4754. 2019.
      2.https://www.floragenex.com/sbg-ddrad-seq
      3.https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3276136/
      Stacks: Building and Genotyping Loci De Novo From Short-Read Sequences

      1 条回复 最后回复 回复 引用 0
      • A
        anneng 最后由 编辑

        编译调试版本
        ./configure CFLAGS='-g -O0' CXXFLAGS='-g -O0'

        1 条回复 最后回复 回复 引用 0
        • First post
          Last post
        Powered by 暗能星系