利用SHAPEIT将vcf文件进行基因型(genotype)定相(phasing):查看两个突变是否来源于同一条链(染色体或父本或母本),two mutations carried by the same read
首先,下载SHAPEIT.
按照里面的步骤安装完后,将vcf文件进行基因型定相,分四步走。
第一步,将vcf文件转化为plink二进制文件(.bed, .bim, .fam)。
这一步需要用到GATK里的GenomeAnalysisTK工具,见如下命令:
java -Xmx8g -jar GenomeAnalysisTK.jar -T VariantsToBinaryPed -R GRCh37.fa -V file.vcf --metaData sampleID.fam -mgq 0 -bed file.bed -bim file.bim -fam file.fam
注:这里的metaData,输入的fam文件跟plink的fam格式一样,如果你没有fam文件,则需要自己手动生成,第一列和第一列可以都为样本的ID;
FAM files
The fields in a FAM file are
- Family ID
- Sample ID
- Paternal ID
- Maternal ID
- Sex (1=male; 2=female; other=unknown)
- Affection (0=unknown; 1=unaffected; 2=affected)
| Example of a FAM file of the binary PLINK format: | |||||
|---|---|---|---|---|---|
| FAM1 | NA06985 | 0 | 0 | 1 | 1 |
| FAM1 | NA06991 | 0 | 0 | 1 | 1 |
| 0 | NA06993 | 0 | 0 | 1 | 1 |
| 0 | NA06994 | 0 | 0 | 1 | 1 |
| 0 | NA07000 | 0 | 0 | 2 | 1 |
| 0 | NA07019 | 0 | 0 | 1 | 1 |
| 0 | NA07022 | 0 | 0 | 2 | 1 |
| 0 | NA07029 | 0 | 0 | 1 | 1 |
| FAM2 | NA07056 | 0 | 0 | 0 | 2 |
| FAM2 | NA07345 | 0 | 0 | 1 | 1 |
######号外,在这一步的时候,如果出现报错信息:ERROR MESSAGE: No metadata provided for sample XXXXXX,很有可能是fam文件在作怪,需要对fam文件进行样本排序,使其的顺序跟vcf文件保持一致;
第二步,去除高缺失率的基因型和样本
plink --noweb --bfile file --keep-allele-order --me 1 1 --set-me-missing --make-bed --out file.nomendel
plink --noweb --bfile file.nomendel --keep-allele-order --geno 0.05 --make-bed --out file.nomendel.filter
####对数据进行高缺失率去除是很有必要的,如果跳过这一步,直接定相的话,会出现:“ERROR: XXX fully missing individuals (=100%)” 报错
第三步,对基因型进行定位,需要下载遗传图谱(genetic map)
shapeit --duohmm -W 5 --thread 1 --input-bed file.nomendel.filter.bed file.nomendel.filter.bim file.nomendel.filter.fam --input-map genetic_map_b37.txt -O hapData
第四步,将定相的文件生成vcf格式:
shapeit -convert --input-haps hapData --output-vcf hapData.vcf
至此,vcf中没有定相的变异会由“0/0 0/1 1/0 1/1 ”变为“0|0 0|1 1|0 1|1”
利用SHAPEIT将vcf文件进行基因型(genotype)定相(phasing):查看两个突变是否来源于同一条链(染色体或父本或母本),two mutations carried by the same read的更多相关文章
- 基因组与Python --PyVCF 好用的vcf文件处理器
vcf文件的全称是variant call file,即突变识别文件,它是基因组工作流程中产生的一种文件,保存的是基因组上的突变信息.通过对vcf文件进行分析,可以得到个体的变异信息.嗯,总之,这是很 ...
- 利用vcftools比较两个vcf文件
因为最近有一项工作是比较填充准确性的,中间有用到vcftools比较两个vcf文件. 使用命令也很简单: 1 vcftools --vcf file1.snp.vcf --diff file2.snp ...
- bcftools或vcftools提取指定区段的vcf文件(extract specified position )
下载安装bcftools 见如下命令: bcftools filter 1000Genomes.vcf.gz --regions 9:4700000-4800000 > 4700000-4800 ...
- iOS开发- 生成/解析.vcf文件
vcf, 通讯录导出的一种格式. 一.生成vcf文件 假设要把我们iPhone通讯录里的数据, 生成vcf格式文件. 我们能够借助iCloud. 小技巧:通过iCloud导出iPhone通讯录的方法 ...
- python通用读取vcf文件的类(可以直接复制粘贴使用)
前言 处理vcf文件的时候,需要多种切割,正则匹配,如果要自己写其实会比较麻烦,并且每次还得根据vcf文件格式或者需要读取的值不同要修改相应的代码.因此很多人会选择一些python的vcf的库,但 ...
- Linux 利用进程打开的文件描述符(/proc)恢复被误删文件
Linux 利用进程打开的文件描述符(/proc)恢复被误删文件 在 windows 上删除文件时,如果文件还在使用中,会提示一个错误:但是在 linux 上删除文件时,无论文件是否在使用中,甚至是还 ...
- 利用Socket远程发送文件
思想: 1.注意使用两个通道,一个普通对象通信通道,另一个纯净的文件字节流通道 2.利用通信通道发送文件请求,新建字节流通道,开始发送文件
- (Unity)Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进展混淆,避免被反编译
Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进行混淆,避免被反编译. 1.打开VS,博主所用版本是Visual Studio 2013. 2.新建一个VC项目 ...
- 使用XML序列化器生成XML文件和利用pull解析XML文件
首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...
随机推荐
- Java 基础类型 默认值
(1)数据库里的列,如果有默认值,不能赋值有业务含义的值. (2)int 默认值 java会分配默认值的额.
- iview render bug & vue namespace bug
iview render bug https://codepen.io/xgqfrms/pen/gyGjKP https://codepen.io/xgqfrms/full/gyGjKP bug &l ...
- React Native & debug & debugger
React Native & debug & debugger http://localhost:8081/debugger-ui/ react-devtools # yarn: $ ...
- sublime text3安装代码格式化的步骤
1.首先查看有没有安装package control插件,若没有,进行此链接操作——http://blog.csdn.net/kongguyoulan523/article/details/51144 ...
- vue axios 封装(三)
封装三: import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '. ...
- 12.k8s的存储卷创建过程
数据持久化需要数据卷.kubernetes生态提供海量的存储驱动和存储使用方式. [root@master song]# cat pod-demo.yml apiVersion: v1 kind: P ...
- Android与H5交互 原理与对比
原文: https://www.jianshu.com/p/345f4d8a5cfa 1.Android调用JS的方法有2种: (1)通过WebView的loadUrl() // 调用js中的函数: ...
- OneinStack——PHP多版本共存
前言 我事先安装的是LNMP环境,PHP版本为7.2,但是现在环境需要一个PHP5.6,所以就准备安装个上版本,顺带写个安装教程,写完后我发现了原来有直接安装的命令!所以后面的内容大家可以忽略了!从配 ...
- 微信小程序——使用vue构建小程序【外传】
文档 http://mpvue.com/mpvue/ 根据文档构建完成的页面如下 更多的,还要继续看下文档~
- Java大数练习
大数阶乘 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=28 import java.io.*; import java.util.*; ...