## LIPIDMAPS CONF FILE
## Version 2.1 -- edited by F.Giacomoni 
## Build October 30th 2012
## release October 22th 2013
## release Nov 25th 2013
## release Fev 17th 2014
## release 2014-05-07
## release 2016-06-09 / REST client implementation
## release 2016-09-27 - clean and requirement
#
# Galaxy url for HTML JS and CSS path 
JS_GALAXY_PATH=https://cdn.rawgit.com/fgiacomoni/galaxy_utils/master/scripts
CSS_GALAXY_PATH=https://cdn.rawgit.com/fgiacomoni/galaxy_utils/master/style

# HTML TEMPLATE PATH:
HTML_ENTRIES_PER_PAGE=4

## LIPIDMAPS SEARCH URL
SEARCH_URL=http://www.lipidmaps.org/data/structure/LMSDSearch.php?Mode=ProcessTextSearch&OutputColumnHeader=No&OutputMode=File&OutputType=TSV
LM_ID_URL=http://www.lipidmaps.org/data/LMSDRecord.php?&amp;LMID=
REST_WS=http://www.lipidmaps.org/data/lm_rest.php

#VALUE FOR loss /add atoms (loss/add_$ATOMS)
O=15.9949
2O=31.9898
4O=63.9797
hydroperoxide=34.0055
water=18.0106

## Annotation for loss /add atoms
ANNOT_loss_O=+O
ANNOT_loss_2O=+2O
ANNOT_loss_4O=+4O
ANNOT_loss_hydroperoxide=+H2O2
ANNOT_loss_water=+H2O

## ----------------******************-------SOME PARSING RULES to LM CLUSTERING---------------*******************---------------------##
# RULE of '-' only
RULE01=^\-$

# RULE of XX-xx only -- Ex: PE-NMe2 or PC
RULE02=^([A-Z|a-z|0-9|\-]*)$

## *** ***  *** *** PG  *** *** *** *** ##
# RULE of XX(16:1/16:1)
RULE03=^([A-Z|a-z]{2,4})\((\d+):(\d+)\/(\d+):(\d+)\)$

# RULE of XX(16:1/16:1(OHC)) OXYDED!!
RULE04=^([A-Z|a-z]{2,4})\((\d+):(\d+)\/(\d+):(\d+)\(([OHC]*)\)\)$

#RULE of XX(16:1(1Z,..)/16:1(1Z,..)(OHC)) OXYDED!! -- Ex: PE(16:0/22:6(54Z,7Z,10Z,12E,16Z,19Z)(14OH))
RULE05=^([A-Z|a-z]{2,4})\((\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\(([OHCKe0-9]*)\)\)$

# RULE of XX(16:1(1Z,..)/16:1(1Z,..))
RULE06=^([A-Z|a-z]{2,4})\((\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)$

# RULE of XX(16:1(1Z,...)) ou XX(16:1) ONLY
RULE07=^([A-Z|a-z]{2,5})\((\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)$

# RULE of XX(X-16:1(1Z,..)/16:1(1Z,..)) with(1Z,...) in option
RULE08=^([A-Z|a-z]{2,4})\(([A-Z]{1})-(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)$

# RULE of XX(16:1(1Z,..)/X-16:1(1Z,..)) with (1Z,...) in option
RULE09=^([A-Z|a-z]{2,4})\((\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/([A-Z]{1})-(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)$

# RULE of XX(X-16:1(1Z,..)/X-16:1(1Z,..)) with (1Z,...) in option
RULE10=^([A-Z|a-z]{2,4})\(([A-Z]{1})-(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/([A-Z]{1})-(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)$

# RULE of XX-xx(16:1(1Z,..)/16:1(1Z,..))  -- Ex: PE-NMe(16:0/16:0)
RULE11=^([A-Z|a-z]*-[A-Z|a-z|0-9]*)\((\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)$

# RULE of XX-xx(X-16:1(1Z,..)/X-16:1(1Z,..)) -- Ex: PE-NMe(O-16:0/O-16:0)
RULE12=^([A-Z|a-z]*-[A-Z|a-z|0-9]*)\(([A-Z]{1})-(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/([A-Z]{1})-(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)$

# RULE of XX-xx(16:1(1Z,)/16:1(1Z,)/16:1(1Z,...)) -- Ex: PS-NAc(18:0/18:1(9Z)/16:0)
RULE13=^([a-z|A-Z|\-]*)\((\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)$

# RULE of XX(16:1(1Z,..)/16:1(1Z,..))[Xx] -- Ex : PC(18:1(9Z)/0:0)[rac]
RULE14=^([A-Z|a-z]{2,4})\((\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)(\[[A-Z|a-z|0-9]*\])$

# RULE of XX(16:1(1Z,..)/16:1(1Z,..))(OHC[S]) -- Ex: PE(16:0/20:4(5Z,8Z,10E,14Z)(12OH[S]))  OXYDED!!
RULE15=^([A-Z|a-z]{2,4})\((\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)\(([A-Z|a-z|0-9|\[\]]*)\)\)$

# RULE des XX(X-16:1(1Z,..)/16:1(1Z,..))(OHC[S]) -- Ex: PE(P-18:0/20:4(6E,8Z,11Z,14Z)(5OH[S]))  OXYDED!!
RULE16=^([A-Z|a-z]{2,4})\(([A-Z]{1})-(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)\(([A-Z|a-z|0-9|\[\]]*)\)\)$

# RULE of XX[3',5'](16:1(1Z,..)/16:1(1Z,..))
RULE17=^([A-Z|a-z|0-9|\[\]|,]*)\((\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)$

## *** ***  *** *** SM  *** *** *** *** ##
# RULE OF xx-XX(16:1(1z..)/16:0(1z..)(OH)) -- Ex: PE-Cer(d16:2(4E,6E)/24:1(15Z)(2OH))  OXYDED !!
RULE18=^([A-Za-z0-9\-]*)\([a-z](\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\(([COH0-9\-]*)\)\)$

# RULE OF xx-XX(16:1(1z..)/16:0(1z..)) -- Ex: GlcCer(d14:2(4E,6E)/18:1(9Z))
RULE19=^([A-Za-z0-9\-]*)\([a-z]{0,1}(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/[a-z]{0,1}(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)$

# RULE OF M(IP)2C(16:1(1z..)/16:0(1z..)) -- Ex: M(IP)2C(d18:0/18:0(2OH))   OXYDED !!
RULE20=^(M\(IP\)2C)\([a-z]{0,1}(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/[a-z]{0,1}(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\(([COH0-9\-]*)\)\)$

# RULE of M(IP)2C(16:1(1z..)/16:0(1z..)) -- Ex: M(IP)2C(t18:0/18:0)
RULE21=^(M\(IP\)2C)\([a-z]{0,1}(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/[a-z]{0,1}(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)$

# RULE of -- Ex: DG(22:3(10Z,13Z,16Z)/22:5(7Z,10Z,13Z,16Z,19Z)/0:0)[iso2]
RULE22=^([A-Z|a-z]{2,4})\((\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\/(\d+):(\d+)[A-Z|a-z|0-9|,|\(\)]*\)(\[[A-Z|a-z|0-9]*\])$

## ----------------******************-------SOME RECIPES to LM CLUSTERING---------------*******************---------------------##
## give the array position of each part of the cluster name : 
## $Gp1, $Gp2, $Gp3, $Ch1_C, $Ch1_i, $Ch2_C, $Ch2_i, $Ch3_C, $Ch3_i, $Ox, $Post (11 values)
RECIPE01=1,0,0,0,0,0,0,0,0,0,0
RECIPE02=1,0,0,0,0,0,0,0,0,0,0
RECIPE03=1,0,0,2,3,4,5,0,0,0,0
RECIPE04=1,0,0,2,3,4,5,0,0,6,0
RECIPE05=1,0,0,2,3,4,5,0,0,6,0
RECIPE06=1,0,0,2,3,4,5,0,0,0,0
RECIPE07=1,0,0,2,3,0,0,0,0,0,0
RECIPE08=1,2,0,3,4,5,6,0,0,0,0
RECIPE09=1,4,0,2,3,5,6,0,0,0,0
RECIPE10=1,2,5,3,4,6,7,0,0,0,0
RECIPE11=1,0,0,2,3,4,5,0,0,0,0
RECIPE12=1,2,5,3,4,6,7,0,0,0,0
RECIPE13=1,0,0,2,3,4,5,6,7,0,0
RECIPE14=1,0,0,2,3,4,5,0,0,0,6
RECIPE15=1,0,0,2,3,4,5,0,0,6,0
RECIPE16=1,2,0,3,4,5,6,0,0,7,0
RECIPE17=1,0,0,2,3,4,5,0,0,0,0
RECIPE18=1,0,0,2,3,4,5,0,0,6,0
RECIPE19=1,0,0,2,3,4,5,0,0,0,0
RECIPE20=1,0,0,2,3,4,5,0,0,6,0
RECIPE21=1,0,0,2,3,4,5,0,0,0,0
RECIPE22=1,0,0,2,3,4,5,6,7,0,8