CNV:

人类主要是二倍体。如果有些区域出现3个、4个拷贝,那就是扩增了,如果只出现1个拷贝,就是缺失。
所以CNV分析是依靠特定位置的测序深度来估算的,先在染色体上划窗,然后看每个窗口的平均测序深度,如果连续多个窗口的测序深度在样品/对照中都有差异,那么就判断为CNV,标准是拷贝数相除,然后取log2,log2Ratio小于-1或大于0.6即视为出现拷贝数变异,对应的ratio就是小于二分之一或者三分之二,也就是至少增加或减少一个拷贝

CNV:注释

library(biomaRt)
mart <- useMart(biomart="ensembl", dataset="hsapiens_gene_ensembl")
results <- getBM(attributes = c("hgnc_symbol", "chromosome_name",
"start_position", "end_position"),
filters = c("chromosome_name", "start", "end"),
values=list(1, 94312388, 96000000),
mart=mart)
dim(results) # 34 hits, only 12 with gene symbols

library(GenomicRanges)
filename <- "test.txt"

#test.txt

Sample Chromosome Start End Num_Probes Segment_Mean
TCGA-BR-A4J9-10A-01D-A255-01 1 3218610 247813706 127587 -8e-04
TCGA-BR-A4J9-10A-01D-A255-01 2 484222 16358510 9812 4e-04
TCGA-BR-A4J9-10A-01D-A255-01 2 16358715 16359561 3 -2.0811
TCGA-BR-A4J9-10A-01D-A255-01 2 16360852 149639289 67009 0.0085
TCGA-BR-A4J9-10A-01D-A255-01 2 149641890 149644977 2 -2.552

tbl <- read.table(filename, sep="\t", as.is=TRUE, header=TRUE);
gr <- makeGRangesFromDataFrame(tbl)
gr.short <- subset(gr, width < 100)
length(gr) # 117 regions
length(gr.short) # just 2 regions
gr.short
regions <- paste(seqnames(gr.short), start(gr.short), end(gr.short), sep=":")
regions
results <- getBM(attributes = c("hgnc_symbol", "chromosome_name",
"start_position","end_position"),
filters = c("chromosomal_region"),
values=regions,
mart=mart)

CNV的更多相关文章

  1. DNA拷贝数变异CNV检测——基础概念篇

    DNA拷贝数变异CNV检测——基础概念篇   一.CNV 简介 拷贝数异常(copy number variations, CNVs)是属于基因组结构变异(structural variation), ...

  2. 在非小细胞肺癌中,MET基因的14号外显子突变和年龄,依赖于癌症阶段的CNV,C-MET过表达的关系

    背景:c-MET是肝细胞生长因子的酪氨酸激酶受体.MET 14号外显子编码部分c-MET的胞内跨膜结构域,包括重要的调节原件,比如酪氨酸1003,一个降解c-MET的相关酶的结合位点. 拥有MET 1 ...

  3. 【代码更新】单细胞分析实录(20): 将多个样本的CNV定位到染色体臂,并画热图

    之前写过三篇和CNV相关的帖子,如果你做肿瘤单细胞转录组,大概率看过: 单细胞分析实录(11): inferCNV的基本用法 单细胞分析实录(12): 如何推断肿瘤细胞 单细胞分析实录(13): in ...

  4. 使用CNVnator分析动植物群体拷贝数变异CNV

    目录 1.安装 2.测试 3.动植物群体检测CNV 知名的拷贝数变异分析工具几乎都是为人类变异检测开发,对于动植物重测序分析有些尴尬.不过好在植物群体研究不必那么精细,用同样的工具也可做分析. 地址: ...

  5. 电脑预装Office2016打开Word时点击保存弹出“word无法启动转换器RECOVR32.CNV”对话框问题的修复方法

    感谢大佬:https://blog.csdn.net/qq_41969790/article/details/85161701 1.问题描述:电脑预装的Office2016,家庭和学生版正版.每次打开 ...

  6. R语言通过loess去除某个变量对数据的影响--CNV分析

    当我们想研究不同sample的某个变量A之间的差异时,往往会因为其它一些变量B对该变量的固有影响,而影响不同sample变量A的比较,这个时候需要对sample变量A进行标准化之后才能进行比较.标准化 ...

  7. Patchwork(2013年)--CNV检测方法流程

    文章题目:Patchwork: allele-specific copy number analysis of whole-genome sequenced tumor tissue 特点: 可以检测 ...

  8. javaWeb https连接器

    互联网加密原理 tomcat服务器启动时候会启动多个Connector(连接器),而Tomcat服务器的连接器又分为加密连接器和非加密连接器 .(一般我们使用http协议的是非加密,https的是加密 ...

  9. 分享一个html+js+ashx+easyui+ado.net权限管理系统

    EasyUI.权限管理 这是个都快被搞烂了的组合,但是easyui的确好用,权限管理在项目中的确实用.一直以来博客园里也不少朋友分享过,但是感觉好的要不没源码,要不就是过度设计写的太复杂看不懂,也懒得 ...

随机推荐

  1. LUA之面向对象

    Account = { balance=0, withdraw = function (self, v) self.balance = self.balance - v end } function ...

  2. ASP.NET MVC Model验证总结【转】

    一.启用客户端验证: 客户端验证主要是为了提高用户体验,在网页不回刷的情况下完成验证. 第一步是要在web.config里启用客户端验证,这在MVC3自带的模板项目中已经有了: <add key ...

  3. Linux查看CPU和内存使用情况【转】

    转自:http://www.cnblogs.com/xd502djj/archive/2011/03/01/1968041.html 在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应 ...

  4. sql server 关联更新

    update a set a.name1 = b.name1, a.name2=b.name2from 表A a, 表B b where a.id=b.id

  5. jquery plugins

    jQuery官网插件 jQuery自定义滚动条样式插件 jQuery custom content scroller examples Twitter typeahead typeahead.js t ...

  6. HDU 5996:dingyeye loves stone(阶梯博弈)

    http://acm.hdu.edu.cn/showproblem.php?pid=5996 题意:在一棵树上进行博弈,每次只能将当前的结点的石子放到父节点上,最后不能移动的输. 思路:比赛的时候想的 ...

  7. expect语法

    沙河西ftp上传,使用了expect语言的脚本. 我们经常会遇到一些需要与服务器程序打交道的场景,比如,从登陆某个服务器,然后进行某项工作.这很平常,但是如果把这个工作自动化进行,你就需要一个程序能自 ...

  8. Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor

    1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? Java new Thread(new Runnable() { @Override public void ru ...

  9. javascript对象(1)

    Array对象 创建语法:new Array();new Array(size);new Array(element0,element,element3,……,elementn); 具有的属性:con ...

  10. c# 小练习

    double a = double.Parse( this.textBox1.Text); double b = double.Parse(this.textBox2.Text); double c ...