【直播】我的基因组65:看看哪些基因的突变较多,哪些较少
时间:2022-05-03
本文章向大家介绍【直播】我的基因组65:看看哪些基因的突变较多,哪些较少,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
全基因组分析后的vcf突变文件记录了四百多万个位点,前面我们讲到了如何把它们注释到dbSNP数据库ID,一般来说有注释的位点也就顺便注释到了基因,所以可以简单写一个程序来看看哪些基因的突变位点最多:
cat autochr.highQuali.dbsnp.vcf |perl -alne '{/GENEINFO=(.*?)[;,|]/;$h{$1}++ if $1 }END{print "$_t$h{$_}" foreach keys %h}' >~/tmp/vcf.gene.stat
简单统计结果如下;
当然,其实并不需要注释到dbSNP数据后再进行统计,可以直接对vcf文件进行基因注释,因为vcf文件本身就记录着坐标,把vcf文件按照bed格式稍微转换一下,就可以用bedtools来进行注释啦。
首先制备好基因的坐标文件,染色体号,基因定位的起始终止坐标即可,比如下面这个SPIN1基因:
可以看到, 有10个突变位点注释到了这个基因,可以其中只有4个是dbSNP数据库记录的,所以最开始统计的基因的突变个数排行不是很准确。
那么我们就针对这个bedtools closest 结果进行统计吧:
可以看到几乎每个基因的突变个数都增加了,因为不需要被dbSNP数据库收录啦。
再看看基因突变个数的个数的变化:
之前突变个数为1的那些基因有1324个,但是现在只剩下了712个!
如果可视化在图上,就能看到条形图很明显的右移,不过这不是重点。
FAQ
为什么有712个基因仅仅发现一个突变呢?是这个基因太保守了吗?还是这个基因长度太短了?同理,那些突变异常多的基因又有什么特征呢?
我选取了那712个只有一个变异位点的基因,还有超过400个变异位点的909个基因。
很明显,从长度来解释是一个很好的角度~~
以上的变异位点,都应该改名叫做多态性位点。
文:Jimmy
图文编辑:吃瓜群众
- 软件测试人员必须掌握的Linux基本命令
- 【机器学习笔记之五】用ARIMA模型做需求预测用ARIMA模型做需求预测
- Capturing Packets in Linux at a Speed of Millions of PPS
- 【机器学习笔记之四】Adaboost 算法
- 【Java学习笔记之十九】super在Java继承中的用法小结
- 【Java学习笔记之二十一】抽象类在Java继承中的用法小结
- 【Java学习笔记之二十】final关键字在Java继承中的用法小结
- 基于Windows下python环境变量配置
- 【机器学习笔记之七】PCA 的数学原理和可视化效果
- 2017"百度之星"程序设计大赛 - 复赛1005&&HDU 6148 Valley Numer【数位dp】
- 【专知-关关的刷题日记20】Leetcode 119. Pascal's Triangle II
- 2017"百度之星"程序设计大赛 - 复赛1003&&HDU 6146 Pokémon GO【数学,递推,dp】
- 2017"百度之星"程序设计大赛 - 复赛1001&&HDU 6144 Arithmetic of Bomb【java大模拟】
- Java面向对象抽象类实例练习
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 明了 | MongoDB 外键的基本使用
- 优雅 | koa处理异常
- iOS开发之Context Menus
- 快速解释如何使用pandas的inplace参数
- bam格式转bigWig
- 46. Vue路由传参的基本使用
- H3C在端口同时配置MAC地址认证和802.1x
- proxmox notes
- Unix每分钟监控进程的状态
- webpack实战——资源输入与输出
- R语言读取 xlsx 和xls 文件
- pytest文档42-fixture参数化params
- 搭建node服务(三):使用TypeScript
- Antd for Vue使用Form组件报错You cannot set a form field before rendering
- IDEA配置Resin