R语言实现对基因组SNV进行注释

很多时候,我们需要对取出的SNV进行注释,这个时候可能会在R上进行注释,通常注释文件都含有Chr(染色体)、Start(开始位点)、End(结束位点)、Description(描述),而我们的SNV文件通常是拥有Position(位置),因此我们可以先定位Chr,再用Postion去定位到Start和End之间,找到相对应的Description。为了加快速度,可以使用二分查找法。

 1 fregion <- function(df, value){
 2 #df:data.frame, V1 and V2 should be Start and End   value: Postition  used to find region  return:df row number where position locates  ,if no region return -1
 3     low=1
 4     high=nrow(df)
 5     mid=high %/% 2
 6     if (df[low,1] <= value & value <= df[low,2]) low
 7     else if (df[high,1] <= value & value <= df[high,2]) high
 8     else{
 9     while (value > df[mid,2] || value < df[mid,1]){
10       if (value > df[mid,2]){
11         low = mid+1
12       } else if (value < df[mid,1]) {
13         high = mid - 1
14       }
15       if(high<low){
16          mid=-1;break
17       }
18       mid=(low+high)%/%2
19     }
20       mid
21 }
22 }
时间: 2024-10-17 17:37:00

R语言实现对基因组SNV进行注释的相关文章

R语言画全基因组关联分析中的曼哈顿图(manhattan plot)

1.在linux中安装好R 2.准备好画曼哈顿图的R脚本即manhattan.r,manhattan.r内容如下: #!/usr/bin/Rscript #example : Rscript plot_manhatom.r XXX.assoc XXX.pdf argv <- commandArgs() #define the function to plot the manhatton and quantitle-quantitle plot plot_manhatton<-function(

R语言基因组数据分析可能会用到的data.table函数整理

R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快.包括两个方面,一方面是写的快,代码简洁,只要一行命令就可以完成诸多任务,另一方面是处理快,内部处理的步骤进行了程序上的优化,使用多线程,甚至很多函数是使用C写的,大大加快数据运行速度.因此,在对大数据处理上,使用data.table无疑具有极高的效率.这里主要介绍在基因组数据分析中可能会用到的函数. fread 做基因组数据分析时,常常需要读入处理大文件,这个时候我们就可以舍弃read.ta

R语言:用简单的文本处理方法优化我们的读书体验

前言 延续之前的用R语言读琅琊榜小说,继续讲一下利用R语言做一些简单的文本处理.分词的事情.其实就是继续讲一下用R语言读书的事情啦,讲讲怎么用它里面简单的文本处理方法,来优化我们的读书体验,如果读邮件和读代码也算阅读的话..用的代码超级简单,不涉及其他包 这里讲两个示例,结尾再来吐槽和总结. 1)R-Blogger订阅邮件拆分 2) R代码库快速阅读方法 不在博客园上阅读时才会看到的,这篇博文归 http://www.cnblogs.com/weibaar所有 仅保证在博客园博客上的排版干净利索

来自 Google 的 R 语言编码风格指南

本文转自Xiao Nan的博客 R语言是一门主要用于统计计算和绘图的高级编程语言. 这份 R 语言编码风格指南旨在让我们的 R 代码更容易阅读.分享和检查. 以下规则系与 Google 的 R 用户群体协同设计而成. 概要: R编码风格约定 文件命名: 以 .R (大写) 结尾 标识符命名: variable.name, FunctionName, kConstantName 单行长度: 不超过 80 个字符 缩进: 两个空格, 不使用制表符 空白 花括号: 前括号不折行写, 后括号独占一行 赋

R 语言的优劣势是什么?

R 语言的优劣势是什么? 2015-05-27 程序员 大数据小分析 R,不仅仅是一种语言 本文原载于<程序员>杂志2010年第8期,因篇幅所限,有所删减,这里刊登的是全文. 工欲善其事,必先利其器,作为一个战斗在IT界第一线的工程师,C/C++.java.perl.python.ruby.php.javascript.erlang等等等等,你手中总有一把使用自如的刀,帮助你披荆斩棘. 应用场景决定知识的储备与工具的选择,反过来,无论你选择了什么样的工具,你一定会努力地把它改造成符合自己应用场

R语言︱文件读入、读出一些方法罗列(批量xlsx文件、数据库、文本txt、文件夹)

笔者寄语:小规模的读取数据的方法较为简单并且多样,但是,批量读取目前看到有以下几种方法:xlsx包.RODBC包.批量转化成csv后读入. R语言中还有一些其他较为普遍的读入,比如代码包,R文件,工作空间等. source  #读取R代码dget    #读取R文件load    #读取工作空间 -------------------------------- SPSS-STATA格式的读入包--foreign 读取其他软件的格式foreigninstall.packages("foreign&

R语言笔记 提醒程序员注意的一些事项

经验丰富的程序员通常会发现R语言的某些方面不太寻常.以下是这门语言中你需要了解 的一些特性. 对象名称中的句点(.)没有特殊意义.但美元符号($)却有着和其他语言中的句点 类似的含义,即指定一个对象中的某些部分.例如,A$x是指数据框A中的变量x. R不提供多行注释或块注释功能.你必须以#作为多行注释每行的开始.出于调试目的, 你也可以把想让解释器忽略的代码放到语句if(FALSE){... }中.将FALSE改为TRUE 即允许这块代码执行. 将一个值赋给某个向量.矩阵.数组或列表中一个不存在

R语言应用

文章参考  << R 数据分析  -- 方法与案例详解  >> R的官方网站是http://www.r-project.org, 在R官方主页点击download  R,然后选择对应的镜像后,在右侧下载和安装包栏目里会 出现三种操作系统的R版本(Linux.(Mac)  OS  X.Windows),选择点击相应的操作系 统后,再选择点击base就会进入R的下载页面,在页面上会出现R的最新版本和安装说明等 不过,要使用RStudio,除了安装R开发环境后,还需要到 htt

R语言——哈希表

前言: 在 R 语言中有个包--hash 包提供了我们需要的哈希结构,本文主要介绍该 hash 包的使用. (使用之前先 install.packages("hash") 进行安装) 其实,数据框也可以实现哈希表的功能,但是效率不高,操作也不方便. 另外,曾经出现过 rdict 包,使用起来就像 Python 里面的字典一样好用,详情请见:rdict: A hash table for R using skip lists.但是好像后来被 CRAN 取消了,也有可能是把它合并到其它包里