zoukankan      html  css  js  c++  java
  • 基因型数据正负链怎么翻转(snp flip)

    在合并数据过程当中,经常会发现不同来源的数据正负链不是统一的,这是一件很头疼的事。

    正负链没有统一的情况下直接合并在一起会产生什么后果呢。

    举个最简单的例子,假如我们从小明和小红分别拿到了一批基因型数据。那么存在以下几种可能:1)小明的基因型数据统一好正链或者负链;2)小红的基因型数据统一好正链或者负链;3)小明和小红都不知道他们的数据有没有统一好,反正数据拿给你了,你自己解决。

    在我们不知道这两人的基因型数据正负链是否统一的情况下,如果直接合并这两个不同来源的数据,会产生什么情况呢?

    对于大多数突变位点,通过数据处理,再合并是没有问题的。比如A/G,A/C,T/G,T/C。

    如果好巧不巧,存在A/T,C/G这种突变,那么结果会是什么样呢。

    结果就是对于同一个个体,他在小明的数据库显示的碱基是A,在小红的数据库显示的是T。这就是正负链惹的祸。

    正链的小明:A

    负链的小红:T

    如果从个体角度还不能理解,我再从群体的角度去说明这个问题。

    假定小明和小红的数据都是东亚人,那么理论上同一个突变位点的频率是接近的。存在正负链混淆的情况下,可能的结果就是小明数据的A频率是0.4,小红的A频率是0.6,问题是,小明的A是小红的T,非A,把他们直接合并的话,A和T就混在一起了

    所以不同来源的基因型数据直接合并数据,是不对的。

    那么,我们有什么方法解决这个问题呢?

    下面我来推一个工具snpflip

    这个工具很简单,算起来非常快。分析完成后,会生成三个文件:annotated_bim、ambiguous、reverse

    第一个文件是annotated_bim,这个文件是总体评估你丢进去的SNP位点是正链、负链、还是无法区分正负链(最后一列)。

    chromosome 0_idx_position snp_name genetic_distance allele_1 allele_2 reference reference_re strand

    1 0 snp1 0 A C A T forward

    1 1 snp2 0 A T C G ambiguous

    1 2 snp3 0 A G T A reverse

    2 0 snp4 0 A G C G reverse

    2 1 esv5 0 AA G C G reverse

    25 1 snp7 0 A G ambiguous

    X 1 inv1 0 A G N N ambiguous

    Y 0 snp6 0 A G A T forward

    第二个文件是ambiguous,这个文件是汇总所有无法分清正负链的位点;

    snp2

    snp7

    inv1

    最后一个文件是reverse,这个文件是汇总所有负链的位点;

    snp3

    snp4

    esv5

  • 相关阅读:
    《代码大全2》阅读笔记08Chapter 15 Using Conditionals
    《代码大全2》阅读笔记09Chapter 16 Controlling Loops
    《代码大全2》阅读笔记12 Chapter 19 General Control Issues
    《代码大全2》阅读笔记13 Chapter 22 Developer Testing
    [转帖]Dictionary, SortedDictionary, SortedList 横向评测
    《代码大全2》阅读笔记07Chapter 12 Fundamental Data Types
    《代码大全2》阅读笔记11 Chapter 24 Refactoring
    《代码大全2》阅读笔记14 Chapter 23 Debugging
    New Concept English 3 01 A Puma at large
    (ZT)委托和事件的区别
  • 原文地址:https://www.cnblogs.com/chenwenyan/p/11271360.html
Copyright © 2011-2022 走看看