精华内容
下载资源
问答
  • 欢迎关注”生信修炼手册”!拷贝数异常与疾病表型密切关联,当鉴定出患者的CNV之后,如何从其中挖掘出具有临床意义,即可能致病的CNV是数据挖掘中的关键一步。本文解读的文献标题如下2012年...

    欢迎关注”生信修炼手册”!

    拷贝数异常与疾病表型密切关联,当鉴定出患者的CNV之后,如何从其中挖掘出具有临床意义,即可能致病的CNV是数据挖掘中的关键一步。本文解读的文献标题如下

    2012年发表在以下杂志

    European Journal of Human Genetics

    在文章中,提出了一套分析拷贝数重复的临床意义的操作规范,常规的判断CNV临床意义的方法如下

    1. 判断是遗传自父母还是新生的CNV变异,通常认为新生变异具有显著的临床意义,而遗传自父母的变异则为良性

    2. 和正常人群的CNV数据库进行比较,比如DGV或者实验室自建的正常对照样本的数据库,在正常人群中频率大于1%的CNV被认为是良性的CNV

    通过这样的分类方法,仍然有非常大一部分CNV的临床意义不明确,而且随着研究的不断进步,发现第一条规则并不是非常适用,已经有文献支持有些遗传而来的CNV也具有致病性。而新生变异则为良性。为此,作者团队开发了一套新的判断CNV临床意义的分析体系,专门针对拷贝数重复进行分析。

    构建了两个队列,一个用于实际分析,一个用于验证分析策略的可行性。选取了发育迟缓或者具有先天异常的患者,通过aCGH芯片来进行CNV分析,判断CNV临床意义的pipeline如下

    共分为5个大的步骤

    1. 第一步和自建或者公开的正常样本数据库比对,本文比对的是Low Lands consortium参照数据库,如果CNV在正常群体中频率大于1%, 则认为是良性的,当时该数据库包含了300个正常正常样本,理论上是采用3作为阈值的,考虑到部分样本和参照数据库有重叠,所以最终选择了4作为阈值,在4个以上样本中出现,认为是良性的,否则进行下一步判断

    2. 和DGV数据库进行比对,如果CNV在3个正常样本中出现,则认为是良性的,否则进行下一步判断

    3. 和已知的致病性CNV数据库比对,比如DECIPHER, 如果在数据库中说明该CNV是致病性的,且关联的表型和患者表型相同,直接就归为致病性,如果没有收录该CNV, 则进行下一步判断

    4. 看CNV覆盖区域是否包含基因,如果没有包含基因,或者包含的基因与疾病表型没有关联,则认为该CNV是良性的,否则进行到下一步判断

    5. 通过文献或者在线数据库的检索,如果有相关报道该CNV区域与疾病表型关联,则认为该CNV是具有临床意义的,否则临床意义不明确

    通过这样的一套判断体系,两个队列的判读结果如下

    对第一个队列的CNV类型进行统计,汇总如下

    发现familial CNV比de novo CNV多,在致病性CNV中,familial CNV有10个,de novo有4个。大多数致病性CNV为遗传自父母的CNV;在良性CNV中,大部分de novo CNV为良性。

    对不同临床意义的拷贝数重复的长度进行分析,结果如下

    致病性CNV平均长度为2283bp,  良性和临床意义不明确的CNV长度则比较短,均值分别为362和453。而de novo和familial CNV长度则没有明显区别。

    考虑到CNV的长度,测试了不同长度阈值的判断情况,结果如下

    在200kb阈值时,15个致病性都检测到了,增加长度阈值,敏感性会降低;减小长度阈值,良性的CNV检测率变高,特异性降低,100kb时为617/682, 约为90.5%, 200kb时为290/343, 约为84.5%,为此,选择200kb作为长度过滤的阈值,在使用第二个队列评估时,增加了200kb的长度过滤。

    本文通过对发育迟缓或者先天异常综合征的患者CNV进行分析,提出了一套分析拷贝数增加的临床意义的完整pipeline, 其中推荐使用200kb作为阈值,分析200kb以上的CNV。从判断的结果来看,也打破了de novo CNV高致病性高,遗传的CNV良性的假设。

    在分析CNV的临床意义时,该文章的分析策略值得参考和借鉴。

    ·end·

    —如果喜欢,快分享给你的朋友们吧—

    扫描关注微信号,更多精彩内容等着你!

    展开全文
  • CNV,即拷贝数变异(Copy number variation, CNV),是由基因组发生重排而导致的, 一般指长度为 1 kb 以上的基因组大片段的拷贝数增加或者减少,主要表现为亚显微水平的缺失和重复。亚微水平的基因组结构变异是指 DNA ...

    拷贝数变异(Copy number variation, CNV)分析简介

    拷贝数变异简介(CNV)
    CNV,即拷贝数变异(Copy number variation, CNV),是由基因组发生重排而导致的, 一般指长度为 1 kb 以上的基因组大片段的拷贝数增加或者减少,主要表现为亚显微水平的缺失和重复。亚微水平的基因组结构变异是指 DNA 片 段 长 度 在 1Kb-3Mb 的基因组结构变异, 包括缺失、插入、重复、重排、倒 位、DNA 拷贝数目变化等,这些统称为 CNV (也称为拷贝数多态性(copy number polymorphisms, CNPs)。CNV是造成个体差异的重要遗传基础,它在人类基因组中分布广泛, 其覆盖的核苷酸总数大大超过单核苷酸多态性(single nucleotide polymorphisms, SNPs)的总数, 极大地丰富了基因组遗传变异的多样性。

    CNV对于物种特异的基因组构成、物种的演化和系统发育以及基因组某些特定区域基因的表达和调控可能具有非常重要的生物学意义。因此,CNV也是近来基因组学的研究热点,并且异常的DNA拷贝数变化(CNV)是许多人类疾病(如癌症、遗传性疾病、心血管疾病)的一种重要分子机制。作为疾病的一项生物标志,染色体水平的缺失、扩增等变化已成为许多疾病研究的热点。 目前,拷贝数目变异(CNV)的研究主要集中在人类基因组,研究内容包括在全基因组范围内CNV多态性的检测,基因组某个特定区域CNV的多态性与某种复杂疾病及疾病易感性的关联分析以及CNV的进化等。

    展开全文
  • 本文通过重组大肠杆菌DH5α表达载脂蛋白AI-Milano来分析不同温度诱导模式对质粒拷贝数的影响,确立了二次升温诱导(30℃→42℃→37℃→42℃)有利于菌体质粒拷贝数增加,从而提高目的蛋白的表达量,结果表明:二次...
  • inferCNV用与探索肿瘤单细胞RNA-seq数据,分析其中的体细胞大规模染色体拷贝数变化(copy number alterations, CNA), 例如整条染色体或大片段染色体的增加或丢失(gain or deletions)。工作原理是,以一组"正常"细胞...

    inferCNV用与探索肿瘤单细胞RNA-seq数据,分析其中的体细胞大规模染色体拷贝数变化(copy number alterations, CNA), 例如整条染色体或大片段染色体的增加或丢失(gain or deletions)。工作原理是,以一组"正常"细胞作为参考,分析肿瘤基因组上各个位置的基因表达量强度变化. 通过热图的形式展示每条染色体上的基因相对表达量,相对于正常细胞,肿瘤基因组总会过表达或者低表达。

    inferCNV提供了一些过滤参数,通过调整参数来降低噪音,更好的揭示支持CNA的信号。此外inferCNV还包括预测CNA区间的方法以及根据异质性模式定义细胞类群的方法。

    软件安装

    尽管inferCNV是一个R包,但是在安装inferCNV之前还需要先下载安装JAGS ,好在它有Windows,MacOS和Linux版本,所以inferCNV在各个平台都能用。

    Windows和MacOS的JAGS容易安装,而Linux的JAGS需要编译

    # 手动安装BLAS和LAPACK不推荐
    # yum install blas-devel lapack-devel
    tar xf JAGS-4.3.0.tar.gz 
    cd JAGS-4.3.0
    ./configure --libdir=/usr/local/lib64
    make -j 20 && make install 

    安装R包

    install.packages("rjags")
    if (!requireNamespace("BiocManager", quietly = TRUE))
         install.packages("BiocManager")
    BiocManager::install("infercnv")

    测试安装

    library(infercnv)
    
    infercnv_obj = CreateInfercnvObject(raw_counts_matrix=system.file("extdata", "oligodendroglioma_expression_downsampled.counts.matrix.gz", package = "infercnv"),
                                        annotations_file=system.file("extdata", "oligodendroglioma_annotations_downsampled.txt", package = "infercnv"),
                                        delim="\t",
                                        gene_order_file=system.file("extdata", "gencode_downsampled.EXAMPLE_ONLY_DONT_REUSE.txt", package = "infercnv"),
                                        ref_group_names=c("Microglia/Macrophage","Oligodendrocytes (non-malignant)")) 
    
    infercnv_obj = infercnv::run(infercnv_obj,
                                 cutoff=1, # cutoff=1 works well for Smart-seq2, and cutoff=0.1 works well for 10x Genomics
                                 out_dir=tempfile(), 
                                 cluster_by_groups=TRUE, 
                                 denoise=TRUE,
                                 HMM=TRUE)

    如果没有报错,就说明安装成功。

    软件使用

    准备输入文件

    需要准备3个输入数据

    1. 单细胞RNA-seq表达量的原始矩阵
    2. 注释文件,记录肿瘤和正常细胞
    3. 基因或染色体位置文件

    第一个是Genes x Cells的表达矩阵(matrix),行名是基因,列名是细胞编号。

    MGH54P16F12 MGH54P12C10 MGH54P11C11 MGH54P15D06 MGH54P16A03 ...

    A2M
    0
    0
    0
    0
    0
    ...
    A4GALT
    0
    0
    0
    0
    0
    ...
    AAAS
    0
    37
    30
    21
    0
    ...
    AACS
    0
    0
    0
    0
    2
    ...
    AADAT
    0
    0
    0
    0
    0
    ...
    ...
    ...
    ...
    ...
    ...
    ...
    ...

    第二个是样本注释信息文件,命名为"cellAnnotations.txt"。一共两列,第一列是对应第一个文件的列名,第二列是细胞的分组

    MGH54_P2_C12    Microglia/Macrophage
    MGH36_P6_F03    Microglia/Macrophage
    MGH54_P16_F12   Oligodendrocytes (non-malignant)
    MGH54_P12_C10   Oligodendrocytes (non-malignant)
    MGH36_P1_B02    malignant_MGH36
    MGH36_P1_H10    malignant_MGH36

    第三个是基因位置信息文件,命名为"geneOrderingFile.txt"。一共四列,第一列对应第一个文件的行名,其余三列则是基因的位置。:基因名不能有重复

    WASH7P  chr1    14363   29806
    LINC00115       chr1    761586  762902
    NOC2L   chr1    879584  894689
    MIR200A chr1    1103243 1103332
    SDF4    chr1    1152288 1167411
    UBE2J2  chr1    1189289 1209265

    两步法

    最复杂的工作就是准备输入文件,而一旦上述三个文件已经创建完成,那么分析只要两步以及根据结果对参数进行调整。

    第一步,根据上述的三个文件创建inferCNV对象

    infercnv_obj = CreateInfercnvObject(raw_counts_matrix=matrix, # 可以直接提供矩阵对象
                                        annotations_file="cellAnnotations.txt",
                                        delim="\t",
                                        gene_order_file="gene_ordering_file.txt",
                                        ref_group_names=c("normal"))

    这一步的一个关键参数是ref_group_name, 用于设置参考组。假如你并不知道哪个组是正常,哪个组不正常,那么设置为ref_group_name=NULL, 那么inferCNV会以全局平均值作为基线,这适用于有足够细胞存在差异的情况。此外,这里的raw_count_matrix是排除了低质量细胞的count矩阵。

    第二步,运行标准的inferCNV流程。

    # perform infercnv operations to reveal cnv signal
    infercnv_obj = infercnv::run(infercnv_obj,
                                 cutoff=1,  # use 1 for smart-seq, 0.1 for 10x-genomics
                                 out_dir="output_dir",  # 输出文件夹
                                 cluster_by_groups=T,   # 聚类
                                 denoise=T, #去噪
                                 HMM=T) # 是否基于HMM预测CNV

    关键参数是cutoff, 用于选择哪些基因会被用于分析(在所有细胞的平均表达量需要大于某个阈值)。这个需要根据具体的测序深度来算,官方教程建议10X设置为0.1,smart-seq设置为1。你可以先评估下不同阈值下的保留基因数,决定具体值。cluster_by_groups用于声明是否根据细胞注释文件的分组对肿瘤细胞进行分群。

    最终会输出很多文件在out_dir的目录下,而实际有用的是下面几个

    • infercnv.preliminary.png : 初步的inferCNV展示结果(未经去噪或HMM预测)
    • infercnv.png : 最终inferCNV产生的去噪后的热图.
    • infercnv.references.txt : 正常细胞矩阵.
    • infercnv.observations.txt : 肿瘤细胞矩阵.
    • infercnv.observation_groupings.txt : 肿瘤细胞聚类后的分组关系.
    • infercnv.observations_dendrogram.txt : NEWICK格式,展示细胞间的层次关系.

    参数说明

    Infercnv::run的参数非常之多,总体上分为如下几类

    • 基本设置
    • 平滑参数
    • 基于肿瘤亚群的下游分析(HMM或non-DE-masking)
    • 根据 BayesNet P(Normal) 过滤低可信度HMM预测结果
    • 肿瘤亚群细分
    • 去噪参数
    • 离群值修剪
    • 其他选项
    • 实验性参数(不稳定)
    • 差异表达分析的实验性参数

    你可以按照具体的需求修改不同步骤的参数,例如聚类默认cluster_by_groups=FALSE会根据k_obs_groups聚类成指定的组数,而层次聚类方法用于计算组间相似度的参数则是hclust_method.

    此外,设置HMM=TRUE 的计算时间会长于HMM=FALSE,因此可以先设置HMM=FALSE快速查看结果。

    在运行过程中它会显示每个步骤的信息,官方文档给出了示意图帮助理解。

    InferCNV_procedure

    提取信息

    inferCNV会输出一个" mapmetadatafrominfercnv .txt"文件用于记录每个细胞的元信息,所有信息都可以从该文件中进行提取。或者使用`infercnv::addto_seurat`将信息直接增加到原来的seurat对象中。

    参考资料

    • 软件安装: https://github.com/broadinstitute/inferCNV/wiki/Installing-infercnv
    • 文件定义: https://github.com/broadinstitute/inferCNV/wiki/File-Definitions
    • 运行inferCNV: https://github.com/broadinstitute/inferCNV/wiki/Running-InferCNV
    • 引用: inferCNV of the Trinity CTAT Project. https://github.com/broadinstitute/inferCNV

    关于inferCNV的算法原理在如下几篇文章中有说明

    • Anoop P. Patel, Itay Tirosh, et al. Single-cell RNA-seq highlights intratumoral heterogeneity in primary glioblastoma. Science. 2014 Jun 20: 1396-1401
    • Tirosh I et al. Dissecting the multicellular ecosystem of metastatic melanoma by single-cell RNA-seq. Science. 2016 Apr 8;352(6282):189-96
    • Tirosh I et al. Single-cell RNA-seq supports a developmental hierarchy in human oligodendroglioma. Nature. 2016 Nov 10;539(7628):309-313. PubMed PMID: 27806376; PubMed Central PMCID: PMC5465819.
    • Venteicher AS, Tirosh I, et al. Decoupling genetics, lineages, and microenvironment in IDH-mutant gliomas by single-cell RNA-seq. Science. 2017 Mar 31;355(6332).PubMed PMID: 28360267; PubMed Central PMCID: PMC5519096.
    • Puram SV, Tirosh I, et al. Single-Cell Transcriptomic Analysis of Primary and Metastatic Tumor Ecosystems in Head and Neck Cancer. Cell. 2017 Dec 14;171(7):1611-1624.e24. PubMed PMID: 29198524; PubMed Central PMCID: PMC5878932.

    ----

    版权声明:本博客所有文章除特别声明外,均采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。

    扫码即刻交流

    展开全文
  • 拷贝与深拷贝

    2018-11-04 10:53:04
    拷贝:将对象的引用拷贝一份,当对象发生变化时,两个...浅拷贝,只是增加了对象的引用个,对象本身只有一个,所以当它发生变化时,它的引用们也会随之而变。 深拷贝拷贝的是对象本身,会在内存中再申请一个内...

    浅拷贝:将对象的引用拷贝一份,当对象发生变化时,两个引用所指向的对象相同,所以都会发生变化。

    e.g.

    在这里插入图片描述

    深拷贝:将对象拷贝一份,原对象发生变化时,新对象不会受到影响。如果拷贝的引用指向的仍是一个引用,那么依然拷贝该引用的对象。

    e.g.

    在这里插入图片描述

    简单理解:

    浅拷贝,只是增加了对象的引用个数,对象本身只有一个,所以当它发生变化时,它的引用们也会随之而变。
    深拷贝,拷贝的是对象本身,会在内存中再申请一个内存用来存储,此时,原对象发生的操作,与新对象无关。所以深拷贝更像是知道引用的对象内容后,新建一个引用来存贮相同对象的操作。就像例子中那样,c = copy.deepcopy(a) 等价于 c = [1, 2, 3]。

    展开全文
  • 增加MySql连接

    2016-05-26 16:08:39
    在Mac系统下增加MySql连接查看当前最大连接: SELECT @@MAX_CONNECTIONS AS 'Max Connections';在Mac下面找到mysql安装目录 /usr/local/mysql,默认情况下,my.cnf是没有创建的,需要手动创建。 进入到 /usr/...
  • Python 深拷贝和浅拷贝在Python中,万物皆对象。给这个对象赋值给一个变量时,不同于C语言...拷贝的实质python的浅拷贝是对其对象引用的拷贝,并没有将其引用的对象内容进行拷贝, 只是增加了这个对象的引用计数,...
  • 赋值,浅拷贝,深拷贝是Python中复制的三种方式,其中赋值就是用一个变量给另一个变量赋值,其实就是给当前内存中的对象增加一个“标签”而已。浅拷贝就是对创建一个新的对象,但是其内容是原对象中元素的引用(只...
  • 深浅拷贝及类型萃取

    2019-05-25 11:39:51
    拷贝 也称为位拷贝、值拷贝,编译器只是将对象的值拷贝过来,...写时拷贝在深浅拷贝的基础上增加了引用计数的方式来实现,用来记录资源使用者个。在构造时,将资源的计数给成1,每增加一个对象使用该资源,就...
  • 谈Java List 拷贝

    千次阅读 2018-11-05 16:30:43
    Java开发人员在开发过程中经常遇到需要对List进行复制的场景,在这些场景中又经常因为没注意浅拷贝和深拷贝的区别而出现异常,下面我们花一点时间,... 这种场景主要是当不希望对进行增加/减少元素(不涉及修改已有...
  • 写在前面:对于非容器类型,如数字、字符,以及其他的“原子”类型,没有拷贝一说,产生的都是原对象的引用。 一、赋值(assignment) 在Python中,用一个变量给另一个变量赋值,其实就是给当前内存中的对象增加一...
  • 多线程文件拷贝

    2017-07-30 23:18:46
    对于多线程文件拷贝的问题只是在普通的文件拷贝的基础上增加了跳过当前字节这一个步骤,思路如下(以分为四线程为例): 1、获取文输入,输出流 2、获取当前线程开package project; import java.io....
  • 结果表明,在毕赤酵母中表达人骨形态发生蛋白4蛋白时,1个拷贝基因能达到最大表达量,增加人骨形态发生蛋白4基因的拷贝数并不会增加人骨形态发生蛋白4的表达量,基因拷贝数增加反而导致人骨形态发生蛋白4在毕赤酵母中...
  • 一、基本数据类型 1. Number 数字类型 包括整数和浮点数 数值类型转换 Number() 将非数值转换为数值类型 ...ES 6 增加了以下两个 Number 对象的方法: Number.isInteger(): 用来判断给定的参数是否
  • procedure TForm1.AppendtBtnClick(Sender: TObject); begin with BatchMove_Append do begin Mode := batAppend; //指定批拷贝的操作方式为增加方式 AbortOnKeyViol := False
  • 数组拷贝 使用Arrays.copyof方法; 例如: int[] copy = Arrays.copyof(Numbers, Numbers.length); 第二个参数是新数组的长度。可以使用这个方法来增加或减少数字大小。 如:int[] copy = Arrays.copyof(Numbers, 2 ...
  • 一、肿瘤突变概况 ...体细胞拷贝数目变异(Somatic copy number alteration,SCNA [包括:拷贝数增加;插入、缺失变异insertion and deletion,Indels]) 基因重排(Gene rearrangement,GR) 非编码区点突变...
  • 一、引用 1.概念 ...在sizeof中含义不同:引用结果为引用类型的大小,但指针始终是地址空间所占字节个(32位平台下占4个字节) 引用自加即引用的实体增加1,指针自加即指针向后偏移一个类型的大小 有
  • 大端模式 所谓的大端模式,是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而...
  • ambari 增加节点

    2021-01-23 15:43:04
    2. 配置新节点hosts主机名识别,其他节点也需要增加 3. 检查最大打开文件描述符设置的当前值 4. 时间同步设置 5. 检测umask值 6. 配置SSH免登陆 新节点生成秘钥 ssh-keygen -t rsa 在“/root/.ssh”目录下,...
  • Palmer mar菜的R种群的EPSPS基因拷贝数增加,这赋予了抗药性。 当将14C-草甘膦施用到单叶上并在整个植物中用草甘膦处理后,在处理后的1、6、12、24和48小时收获时,上面和下面处理的叶子的R和S的分布百分比相似...
  • 将要发行的拷贝使用对称密码体制加密,而用户解密含有加密后拷贝的加密数据组使用的密钥是线性方程组的解向量,因此方案具有较好的实现效率。通过引入完全可信的第三方,不仅增加了用户的安全性, 还能帮助发行商...
  •     C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。     类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的...
  • 六款优秀的Linux数字取证工具

    千次阅读 2011-01-20 17:38:00
    以数字取证工具为例,开源软件在法律方面能体现出新的优势,增加数字取证证据的可接受性,因为开源的特性允许调查人员和法庭确认工具的用途,验证原始驱动器有无修改,或者拷贝有没有被修改。  linuxlinks的这...
  • 首先,为了避免拷贝产生新的数组从而增加时间复杂度,我们使用两个变量 i 和 j分别来标记数组 nums1 和 nums2 的起始位置。 然后,来处理一些 corner cases, 比如当某一个数组的起始位置大于等于其数组长度时,...
  • 数据库自身的备份和其他的简单的文件复制、拷贝动作无法对这些数据做集中的统一的管理。这使得恢复时定位到需要的数据的难度大大增加。 而爱备份软件是一款支持各种类型数据的专业备份软件,备份数据的统一管理...
  • 在归并排序的基础上,增加一行代码即可 #include<iostream> #define N 100000 long long res = 0; void __merge(int arr[], int left, int mid, int right) { int *aux = new int[right - left + 1]; // ...
  • 假设我们的单据每张共打印五行,则最多会增加空白行4行,在重复出现的表体中定义四个空白节。我们首要的任务是根据记录来确定这四个节什么时候显示,什么时候不显示。我们定义的节的抑制显示脚本为:节1,只有当...
  • 拷贝一份附上您的个人信息发送到上面的作者邮箱,作者负责在全面测试后发布您修改后的新版本。 3.您使用本程序而导致任何伤害以及经济损失,由过错方依法承担所有责任,一概与第一作者及合作单位无关。 ...
  • 提出了在多拷贝传递的基础上增加消息拷贝消除机制,合理地控制了网络中的消息拷贝数。在网络中根据节点 相遇时消息拷贝数发生变化的特性,构造了消息拷贝数的离散时间的马尔可夫链,建立生灭模型,进一步验证并得出了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 537
精华内容 214
关键字:

拷贝数增加