vcf 文件如何修改染色体修改样本名称提取样本

news/2025/1/16 1:33:49/

大家好,我是邓飞。

对于vcf文件和plink文件是经常用的文件,对于基因型数据的处理,一般分为:

  • 数据质控
  • 数据提取
  • 染色体修改名称
  • 样本修改名称

今天介绍一下vcf文件的三个处理方法:

  • 1,染色体修改
  • 2,样本名称修改
  • 3,样本提取

用到的软件是bcftools,用到的系统是Linux

1. 数据描述

数据使用GWAS-Cookbook中的GWASdat1中的数据,将数据变为vcf格式。

相关基因型数据,可以在这里下载:快来领取 | 飞哥的GWAS分析教程更新啦

将plink的二进制文件,变为vcf的代码:

plink --bfile ../../gwas_cookbook/GWAS-dat1/1_QC_GWAS/HapMap_3_r3_1 --recode vcf-iid --out test1


vcf预览:

2. vcf文件修改染色体名称


整理染色体修改对应关系:

awk '{print $1}' HapMap_3_r3_1.bim |sort |uniq >chr.txt
awk '{print $1,"chr"$1}' chr.txt >chr_rename.txt

整理好的对应关系:

$ cat chr_rename.txt 
1 chr1
10 chr10
11 chr11
12 chr12
13 chr13
14 chr14
15 chr15
16 chr16
17 chr17
18 chr18
19 chr19
2 chr2
20 chr20
21 chr21
22 chr22
23 chr23
25 chr25
3 chr3
4 chr4
5 chr5
6 chr6
7 chr7
8 chr8
9 chr9

代码:

 bcftools annotate --rename-chrs chr_rename.txt -Oz -o test2.vcf.gz test1.vcf 
gzip -d test2.vcf.gz 
less -S test2.vcf 

修改后的结果:


可以看到,已经修改过了。

3. 修改样本的名称

样本对应关系txt文件整理:

awk '{print $2}' HapMap_3_r3_1.fam |head >sname.txt
awk '{print $1,"new_"$1}' sname.txt >sname_change.txt

对应关系文件内容:

$ head sname_change.txt 
NA06989 new_NA06989
NA11891 new_NA11891
NA11843 new_NA11843
NA12341 new_NA12341
NA12739 new_NA12739
NA10850 new_NA10850
NA06984 new_NA06984
NA12877 new_NA12877
NA12275 new_NA12275
NA06986 new_NA06986

代码:

bcftools reheader -s sname_change.txt test1.vcf -o test3.vcf.gz

修改后的vcf:

4. 提取vcf样本

代码:

bcftools view -S sname.txt test1.vcf -Ov > test4.vcf

提取后的文件:

搞定!


http://www.ppmy.cn/news/1145756.html

相关文章

探馆天津车展 近距离感受“极致性能王”远航汽车

近年来,新能源汽车产业发展迅猛。得益于新能源车型在成本控制、品质、安全性等多方面的出色表现,消费者对新能源汽车的需求一直呈现刚性。2023年,虽然新能源汽车已经进入无补贴时代,但消费者对新能源汽车的需求依旧有增无减&#…

10.10为什么要用二进制

由选择器引发的疑问与思考 ?想的是就让每位表示得越多,不就越能节省空间开销,从而不需要那么多的位数? 状态总量为S,R进制的N位数有SR*N, 表示当前这个位数的进制数所能表示最多的状态总量 客观存在的数量在不同进制…

关于webWorker未解问题

今天尝试学习webworker,尝试在vue3项目里面使用 使用的就是常规方法,使用worker-loader,加上在vue.config.js内部添加配置 使用完发现问题 如图所见,该worker仅仅配置点击后传输字符串"1",并在worker内部打印,发现打印不出来 但是仅仅只是将引入的文件换个名字 …

PostgreSQL安装错误:Problem running post-install step

问题描述 安装包:pgpostgresql-14.9-1-windows-x64 postgresql-16.0-1-windows-x64 采取措施 一、 首先安装的是16版本的程序,报错后卸载尝试安装14版本软件,依旧报错。 二、 网上搜索,发现该博客: PostgreSQL安…

【Golang】gin框架入门

文章目录 gin框架入门认识gingo流行的web框架gin介绍快速入门 路由RESTful API规范请求方法URI处理函数分组路由 请求参数GET请求参数POST请求参数路径参数文件参数 响应字符串方式JSON方式XML方式文件格式设置HTTP响应头重定向YAML方式 模板渲染基本使用多个模板渲染自定义模板…

爬取微博热榜并将其存储为csv文件

🙌秋名山码民的主页 😂oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 获取源码,添加WX 目录 前言1.…

iview表格 异步修改列数据卡顿 滚动条失效

使用表格row-key属性 将row-key属性设置为true <Table ref"table" border :row-key"true" :columns"tableColumns" :loading"loading":data"tableData"></Table>

【算法与数据结构】--算法基础--数据结构概述

一、什么是数据结构 数据结构是一种组织和存储数据的方式&#xff0c;它定义了数据之间的关系、操作和存储方式&#xff0c;以便有效地访问和修改数据。数据结构是计算机科学中的一个重要概念&#xff0c;它为处理和管理数据提供了基本框架。数据结构通常包括以下几个重要方面…