zoukankan      html  css  js  c++  java
  • 甲基化数据QC: 使用甲基化数据推测SNP基因型(ewastools工具)

    介绍一下如何使用ewastools推测甲基化数据的SNP基因型

    下载、安装ewastools

    以下例子是ewastools的安装,其他的包比如magrittrsvd等, 电脑没装的话,也需要一一装上去。
    如果install.packages()装不了,就用BiocManager::install()安装。
    生物信息的R包,用这两个跑不了。

    install.packages("devtools")
    library("devtools")
    devtools::install_github("hhhh5/ewastools@master")
    library(ewastools)
    library(stringi)
    library(data.table)
    library(magrittr)   
    library(purrr)
    library(svd)
    library("dplyr")
    

    导入数据

    这里依旧用的是minfi的示例文件。

    先下载、安装minfi包:

    BiocManager::install(c("minfi","minfiData","sva"))
    library(minfi)
    library(minfiData)
    library(sva)
    
    

    导入甲基化数据:

    baseDir <- system.file("extdata", package="minfiData")
    targets <- read.metharray.sheet(baseDir)
    RGSet <- read.metharray.exp(targets = targets)
    manifest <- getManifest(RGSet)
    manifest
    

    甲基化的数据如下,我们可以看到,这里是有65个SNP探针位点的。

    提取甲基化数据中的SNP

    使用minfi包的getSnpBeta函数提取甲基化数据中的SNP位点以及对应的数值。

    snps <- getSnpBeta(RGSet)
    head(snps)
    
    

    对甲基化数据call SNP的基因型

    将上面一步提取出来的甲基化SNP位点进行基因型的calling。

    使用ewastools包的call_genotypes函数:

    genotypes = call_genotypes(snps,learn=FALSE)

    提取推测的基因型:

    ge3=data.frame(genotypes[3])

    提取异常值:
    outliners=genotypes$outliers

    结果解读

    结果如下所示,每一行表示一个SNP,每一列表示一个样本。所以这里显示有6个样本,4个SNP。

    每个样本的每个SNP会call出三种不同的分布(分别对应截图显示的第一列、第二列、第三列)。

    三种分布对应着三种基因类型:minor纯合子、杂合型、major纯合子。

    如果第一列的值大于第二列、第三列、异常值,那么该位点为纯合子;

    如果第二列大于第一列、第三列、异常值,那么该位点为杂合子;

    如果第三列的值大于第一列、第二列、异常值,那么该位点为纯合子;

    如果该位点的异常值大于第一列、第二列、第三列,那么该位点的基因型无法推测;

    第一列和第三列哪个对应的是minor纯合子和major纯合子,则需要进行统计计算。

    第一列、第二列、第三列示意图:

    异常值示意图:

    举个例子,如下两张截图所示,对于第一个样本的第一个位点,其三个分布的值为6.137597e-08、9.999999e-01、2.552103e-11,异常值为0.03273036。显然第二列的值最大,因此该样本在该位点的基因型为杂合子。

  • 相关阅读:
    ora-01847:月份中日的值必须介于 1 和当月最后一日之间
    (转)ORACLE中关于外键缺少索引的探讨和总结
    (转) Oracle性能优化-读懂执行计划
    shutdown immediate 持久无法关闭数据库之解决方案
    Oracle11g adump目录下面.aud增长导致空间撑满无法删除导致CRS无法启动的解决方法
    linux几种常见的文件内容查找和替换命令
    unzip解压3G或者4G以上文件失败的解决方法
    IMP-00058: ORACLE error 1882 encountered
    AIX文件系统/var空间100%的问题
    html5手机网站需要加的那些meta/link标签,html5 meta全解(转)
  • 原文地址:https://www.cnblogs.com/chenwenyan/p/13031425.html
Copyright © 2011-2022 走看看