2020-03-05

MetaboAnalystR深入探究


花了将近三天的时间把MetaboAnalystR(以下简称Met)装到了本地Rstudio,感觉遇到的困难基本都是网络环境引起的,Met的依赖包超多(没仔细数,大概100多个~~),我是不断切换镜像不断尝试才装全的,好像翻不翻墙也没区别。

安装好之后就开始测试了,Met的在线工具提供了所有运行的R代码,很方便,一遍做demo case,一遍从右侧显示栏中拷贝就可以。

Met的运行方式是先创建一个对象,从该对象的实例中调用所有的方法,然后把结果(包括原始数据,中间结果,参数,消息,计算结果)都存在一个list中,通过该list访问所有的数据。

如下所示,先创建实例:

library(MetaboAnalystR)

mSet<-InitDataObjects("conc", "stat", FALSE)

然后读入原始数据文件:

mSet<-Read.TextData(mSet, "example.csv", "rowu", "disc")

进行数据预处理:

mSet<-SanityCheckData(mSet)

mSet<-RemoveMissingPercent(mSet, percent=0.5)

mSet<-ImputeVar(mSet, method="colmin")

mSet<-PreparePrenormData(mSet)

mSet<-Normalization_new(mSet, "MedianNorm","NULL", "AutoNorm", ratio=FALSE, ratioNum=20) #Normalization by Median 

mSet<-PlotNormSummary(mSet, "norm_0_", "png", 72, width=NA) mSet<-PlotSampleNormSummary(mSet, "snorm_0_", "png", 72, width=NA)

这个时候可以通过这个叫mSet的实例访问中间结果,例如查看标准化之后的数据:

> head(mSet$dataSet$norm)

                   38293      38768      38296    63436      62533     57814    43264   52984    63339       48761

DN-DIAN-04354 -0.4510268 -0.4108774 -0.3144024 0.281227 -0.4522143 -1.172844 2.002095 2.30048 1.155231 -0.07122195

                    48762     52603    53174      19130    34404    32391     20675      21049    34400    44621

DN-DIAN-04354 -0.09126524 0.5547339 1.381842 -0.1734245 1.613195 0.532853 -1.984583 -0.5925946 1.416321 -1.22541

                   52689      52673     52682      52677      52478     52477     52713     52716     52474     39270

DN-DIAN-04354 -0.8063881 0.03062653 -1.042814 -0.9823172 -0.9331347 0.6030661 -1.753723 -1.045334 -2.779916 -1.581398

                  52475      52748     52614     39271      33228      35186     34214    62558   62559    62566    62564

DN-DIAN-04354 0.7092436 0.03947284 0.7294586 -1.566635 -0.9731796 -0.7161951 0.8173107 2.039182 3.76508 2.181328 1.644228

各种可视化图保存在默认工作路径下。




接下来要扒开分析函数的内部代码了,通过Met在Github提供的链接,找到了所有的函数源码,可以查看内部的运算过程,例如做normalisation的函数:

Normalization_new <-function (mSetObj = NA, rowNorm, transNorm, scaleNorm, ref = NULL, ratio = FALSE, ratioNum = 20)

{

    mSetObj <- .get.mSet(mSetObj)

    data <- mSetObj$dataSet$prenorm

    cls <- mSetObj$dataSet$prenorm.cls

    if (substring(mSetObj$dataSet$format, 4, 5) == "ts") {

        if (is.null(mSetObj$dataSet$prenorm.facA)) {

            nfacA <- mSetObj$dataSet$facA

            nfacB <- mSetObj$dataSet$facB

        }

        else {

            nfacA <- mSetObj$dataSet$prenorm.facA

            nfacB <- mSetObj$dataSet$prenorm.facB

        }

... omit the rest....

如果认为哪一个函数需要修改或者debug,可以修改后重新定义。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,802评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,109评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,683评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,458评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,452评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,505评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,901评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,550评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,763评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,556评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,629评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,330评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,898评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,897评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,140评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,807评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,339评论 2 342

推荐阅读更多精彩内容

  • Standard OTC—了解付款渠道 问题 首先,为什么我们仍然需要在区块链之外进行交易?使用比特币的人们正在寻...
    Ligo9阅读 155评论 0 0
  • 考研真题才是王道,我在人大等你! 考研和高考不一样,真题是王道,这不是我说的,这是海文老师总结的金句,我非常赞同。...
    woainicxj阅读 123评论 0 0
  • 未来三年,是生意人最困难的三年! 创建于2020年01月09日 作者:水木然 每有一批旧人倒下,必将有一批新人站起...
    9843870155ae阅读 248评论 0 0
  • 我的哥哥坏的一塌糊涂我一点也不想跟他玩。 比如说,我们睡觉的时候,他老是霸占我的位置,他一下把我推走,还像我炫耀他...
    fcgchjcrcj阅读 416评论 0 1
  • 第九课 《论语》论学 孔子作为“至圣先师”,对学习有很多精辟的论述。我们今天就来看看在《论语》中,他对学习是如何看...
    田源ty阅读 1,970评论 0 1