Metabolomics Society Forum

Software => R => CAMERA => Topic started by: kleensang on November 14, 2014, 03:00:52 PM

Title: slot neutraladdition can not be empty to use generateRules
Post by: kleensang on November 14, 2014, 03:00:52 PM
I try the following:
> rsP <- new("ruleSet")
> rsP@ionlistfile <- "ions_pos.csv"
> rsP@neutraladditionfile <- "neutraladdition.csv"
> rsP@neutrallossfile <- "neutralloss.csv"
> rsP <- readLists(rsP)
> rsP <- setDefaultParams(rsP)
> rsP <- generateRules(rsP)
Fehler in if (neutraladdition[i, 1] == "NaCOOH") { :
  Fehlender Wert, wo TRUE/FALSE nötig ist

which is because neutraladdition.csv just has the header and no entries which creates an empty slot of neutraladdition. I do not want to allow a neutral addition in my rule set. Is there a possibility to fix that? I guess the problem is in the section "## Erzeuge Neutral" of ruleSet.R

Many Thanks,
Andre

------
> sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252    LC_MONETARY=German_Germany.1252
[4] LC_NUMERIC=C                    LC_TIME=German_Germany.1252   

attached base packages:
[1] parallel  stats    graphics  grDevices utils    datasets  methods  base   

other attached packages:
 [1] ProbMetab_1.0          rjson_0.2.14            multtest_2.20.0        XML_3.98-1.1         
 [5] RCurl_1.95-4.3          bitops_1.0-6            hwriter_1.3.2          RCytoscape_1.14.0     
 [9] XMLRPC_0.3-0            graph_1.42.0            GeneNet_1.2.10          fdrtool_1.2.12       
[13] longitudinal_1.1.9      corpcor_1.6.6          RcppArmadillo_0.4.400.0 CAMERA_1.20.0         
[17] igraph_0.7.1            xcms_1.40.0            Biobase_2.24.0          BiocGenerics_0.10.0   
[21] mzR_1.10.7              Rcpp_0.11.2           

loaded via a namespace (and not attached):
 [1] acepack_1.3-3.3    cluster_1.15.3      codetools_0.2-9    foreign_0.8-61      Formula_1.1-2     
 [6] grid_3.1.0          Hmisc_3.14-5        lattice_0.20-29    latticeExtra_0.6-26 MASS_7.3-34       
[11] nnet_7.3-8          RBGL_1.40.1        RColorBrewer_1.0-5  rpart_4.1-8        splines_3.1.0     
[16] stats4_3.1.0        survival_2.37-7    tools_3.1.0       
>
Title: Re: slot neutraladdition can not be empty to use generateRul
Post by: sneumann on November 16, 2014, 02:31:08 PM
Hi Andre,

Thanks for reporting this, I am tracking this now at https://github.com/sneumann/CAMERA/issues/5 (https://github.com/sneumann/CAMERA/issues/5)

Yours,
Steffen
Title: Re: slot neutraladdition can not be empty to use generateRul
Post by: sneumann on November 16, 2014, 03:53:25 PM
Hi Andre,

can you check the branch at https://github.com/sneumann/CAMERA/tree ... erateRules (https://github.com/sneumann/CAMERA/tree/fixGenerateRules) ?

Yours,
Steffen
Title: Re: slot neutraladdition can not be empty to use generateRul
Post by: sneumann on November 25, 2014, 02:58:14 AM
Hi Andre,

did the fix work for you ?

Yours,
Steffen
Title: Re: slot neutraladdition can not be empty to use generateRul
Post by: kleensang on December 01, 2014, 05:04:00 PM
Hi Steffen,
Sorry it took me two days to get github devtools in R running on Windows. Finally it works in R on cmd shell but not in the windows R console.... Do not ask me why...

Yes it works:
> rsP@rules
        name nmol charge  massdiff oidscore quasi  ips
1    [M+H]+    1      1  1.007276        1    1 1.00
5    [M+Na]+    1      1  22.989218        5    1 1.00
6 [M+2Na-H]+    1      1  44.971160        6    0 0.25
7 [M+H-H20]+    1      1 -17.008024        7    0 0.25

Well I guess 6 is very very unlikely. Is there a parameter that can omit ion 6? Or should I directly delete it with rsP@rules[c(1,2,4),]->rsP@rules


Thanks for your help,

Andre
Title: Re: slot neutraladdition can not be empty to use generateRul
Post by: Jan Stanstrup on December 02, 2014, 02:40:23 AM
Quote from: "kleensang"
        name nmol charge  massdiff oidscore quasi  ips
1    [M+H]+    1      1  1.007276        1    1 1.00
5    [M+Na]+    1      1  22.989218        5    1 1.00
6 [M+2Na-H]+    1      1  44.971160        6    0 0.25
7 [M+H-H20]+    1      1 -17.008024        7    0 0.25

Well I guess 6 is very very unlikely.
6 is not that unlikely at all. It is relatively common at least in some instruments. Plot from my thesis (http://https://www.researchgate.net/publication/262009547_Metabolomics_investigation_of_whey_intake_Discovery_of_markers_and_biological_effects_supported_by_a_computer-assisted_compound_identification_pipeline):
[attachment=0:12m8jyhl]adducts_combined2.png[/attachment:12m8jyhl]

You can get the rules I used (http://https://github.com/stanstrup/chemhelper/tree/master/inst/extdata) or load them with load.camera.rules from my package (http://https://github.com/stanstrup/chemhelper) if they would be useful to you.

[attachment deleted by admin]
Title: Re: slot neutraladdition can not be empty to use generateRul
Post by: sneumann on December 02, 2014, 03:57:05 AM
Hi Andre,

I pushed the change to the devel branch, should appear in a few days.

Code: [Select]
Package: CAMERA
Version: 1.23.1
Date: 2014-11-16

Yours,
Steffen