基因型数据正负链怎么翻转(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
基因型数据正负链怎么翻转(snp flip)的更多相关文章
- plink修改正负链(--flip, change the positive and negative stand)
修改正负链用到的参数为--flip 假定trial.bim的内容如下: trial.bim 1 rs142578063 0 732746 G A 1 rs144022023 0 732801 G A ...
- [Swift]LeetCode293. 翻转游戏 $ Flip Game
You are playing the following Flip Game with your friend: Given a string that contains only these tw ...
- 【opencv基础】图像翻转cv::flip详解
前言 在opencv中cv::flip函数用于图像翻转和镜像变换. 具体调用形式 void cv::flip( cv::InputArray src, // 输入图像 cv::OutputArray ...
- R语言实现两文件对应行列字符替换(解决正负链统一的问题)
假设存在文件file1.xlsx,其内容如下: 存在文件file2.xlsx,其内容如下: 现在我想从第七列开始,将file2所有的字符替换成file1一样的,即第七.八.九.十列不需要改变,因为fi ...
- 图像数据增强 (Data Augmentation in Computer Vision)
1.1 简介 深层神经网络一般都需要大量的训练数据才能获得比较理想的结果.在数据量有限的情况下,可以通过数据增强(Data Augmentation)来增加训练样本的多样性, 提高模型鲁棒性,避免过拟 ...
- illumina SNP 芯片转基因型矩阵
一.芯片数据 此次拿到的illumina芯片数据并不是原始的数据,已经经过GenomeStudio软件处理成了finalreport文件,格式如下: 之前没处理过芯片数据,对于这种编码模式(Forwa ...
- PolymiRTS 数据库- miRNA SNP数据库
背景: miRNA通过和mRNA的3'UTR区结合,导致mRNA讲解或者抑制mRNA翻译,从而实现转录后调控的作用: 如果在miRNA和 mRNA的结合区域,发生了snp,就可能会影响miRNA和mR ...
- SNP芯片的原理
Illumina的SNP芯片原理 Illumina的SNP生物芯片的优势在于: 第1,它的检测通量很大,一次可以检测几十万到几百万个SNP位点 第2,它的检测准确性很高,它的准确性可以达到99.9%以 ...
- Deep Learning -- 数据增强
数据增强 在图像的深度学习中,为了丰富图像训练集,更好的提取图像特征,泛化模型(防止模型过拟合),一般都会对数据图像进行数据增强,数据增强,常用的方式,就是旋转图像,剪切图像,改变图像色差,扭曲图像特 ...
随机推荐
- k8s pod节点调度及k8s资源优化
一.k8s pod 在节点间调度控制 k8s起pod时,会通过调度器scheduler选择某个节点完成调度,选择在某个节点上完成pod创建.当需要在指定pod运行在某个节点上时,可以通过以下几种方式: ...
- ELK-Elasticsearch 基础使用
一.基本概念 1 Node 与 Cluster Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例.单个 Elastic 实例称为一个节点( ...
- postgres高可用学习篇二:通过pgbouncer连接池工具来管理postgres连接
安装pgbouncer yum install libevent -y yum install libevent-devel -y wget http://www.pgbouncer.org/down ...
- c#语言学习笔记(1)
环境:VS Express 2013 for Desktop 也可以vs社区版,不过学习的话,Express本版做一些小的上位机工具应该是够用了学习的网站:https://www.runoob.com ...
- C#线程池 ThreadPool
什么是线程池 大家都知道,我们在打开一个应用的时候,操作系统是要做很多的事情的,动态链接.装载.分配虚拟空间.等等等等,其实一个应用的打开同时也伴随着一个进程的建立. 进程的建立是需要时间的,在进程上 ...
- 优雅关闭web服务的方式
优雅关闭web服务 DBHelper, err = gorm.Open("mysql", "root:root@(115.159.59.129:3306)/test?ch ...
- Xamarin.IOS/Mac开发中遇到的问题
虚拟机中安装的mac系统无法识别iphone 今天在 Xamarin.iOS 应用的免费预配 时,进行到 5.插入要在其中部署应用的 iOS 设备. 在第8选择iphone设备时,发现iphone并没 ...
- 使用singer tap-postgres 同步数据到pg
singer 是一个很不错的开源etl 解决方案,以下演示一个简单的数据从pg 同步到pg 很简单就是使用tap-postgres + target-postgres 环境准备 对于测试的环境的数据库 ...
- 捷配制作PCB流程
https://www.jiepei.com/orderprocess.html 以我的板子为例 查看下自己板子的信息 切换到mm 键盘 Q 压缩PCB文件 付款什么的自己哈 改天我有贴片的订单的时候 ...
- [RN] React Native 关闭所有黄色警告
[RN] React Native 关闭所有黄色警告 console.ignoredYellowBox = ['Warning: BackAndroid is deprecated. Please u ...