CaliPytion¶
Overview¶
CaliPytion is a Python package for the creation, application, and documentation of calibration models for concentration calculations from a measured standard. This package allows comparing different calibration models and selecting the best one based on various statistical metrics like R2, AIC, or RMSD. The selected model can then be used to calculate the concentration of unknown samples from their measured signals. Furthermore, the calibration standard containing the calibration model as well as information on the used substance and measurement conditions can be exported in JSON and AnIML format for reuse and documentation.
Key Functionalities¶
- 📈 Model Fitting and Visualization:
Automatically fits different polynomial models to the data and provides interactive plots for visual comparison of these models. - 🎯 Model Selection:
A model overview is generated after fitting, allowing the user to select the best model based on the desired metric. - 🚷 Avoid Extrapolation:
Prevents the use of models outside the calibrated concentration range. By user choice, the model can be extrapolated to calculate concentrations outside the calibration range. - 🧪 Compatible with EnzymeML Documents:
CaliPytion can be used to convert the measured signals of an EnzymeML document into concentrations. - 📂 FAIR Data:
Calibration models are stored together with the standard data. Constituting a complete record of the calibration process, this data can be saved as a JSON or AnIML file.
Installation¶
CaliPytion can be installed via pip:
or directly from the source code:
Minimal Example¶
from calipytion import Calibrator
from calipytion.units import mM
# standard data
concentrations = [0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5]
absorption = [0, 0.489, 1.056, 1.514, 1.988, 2.462, 2.878, 3.156]
# unknown data
unknowns = [0.3, 1, 1.345]
# initialize the calibrator
calibrator = Calibrator(
molecule_id="s0",
molecule_name="ABTS",
conc_unit=mM,
concentrations=concentrations,
signals=absorption,
)
# fit and visualize model
calibrator.fit_models()
calibrator.visualize()
# choose cubic model
cubic_model = calibrator.get_model("cubic")
# calculate concentrations
print(calibrator.calculate_concentrations(cubic_model, unknowns))
# -> [0.30018883573518623, 0.9823197194444907, 1.3193203297973393]
Model Overview
Model Name | AIC | R squared | RMSD | Equation | Relative Parameter Standard Errors |
---|---|---|---|---|---|
cubic | -56 | 0.9996 | 0.0205 | a * s0 + b * s0**2 + c * s0**3 | a: 4.6%, b: 67.4%, c: 33.6% |
quadratic | -49 | 0.9991 | 0.0318 | a * s0 + b * s0**2 + c | a: 4.0%, b: 20.0%, c: 115.2% |
linear | -37 | 0.9929 | 0.0891 | a * s0 | a: 1.7% |
{
"data": [
{
"customdata": [
"ABTS standard"
],
"marker": {
"color": "#000000"
},
"mode": "markers",
"name": "ABTS",
"visible": true,
"x": [
0.0,
0.5,
1.0,
1.5,
2.0,
2.5,
3.0,
3.5
],
"y": [
0.0,
0.489,
1.056,
1.514,
1.988,
2.462,
2.878,
3.156
],
"type": "scatter",
"xaxis": "x",
"yaxis": "y",
"hovertemplate": "Signal: %{y:.2f}"
},
{
"customdata": [
"cubic model"
],
"marker": {
"color": "#636EFA"
},
"mode": "lines",
"name": "cubic model",
"visible": false,
"x": [
0.0,
0.03535353535353535,
0.0707070707070707,
0.10606060606060605,
0.1414141414141414,
0.17676767676767677,
0.2121212121212121,
0.24747474747474746,
0.2828282828282828,
0.3181818181818182,
0.35353535353535354,
0.3888888888888889,
0.4242424242424242,
0.45959595959595956,
0.4949494949494949,
0.5303030303030303,
0.5656565656565656,
0.601010101010101,
0.6363636363636364,
0.6717171717171717,
0.7070707070707071,
0.7424242424242424,
0.7777777777777778,
0.8131313131313131,
0.8484848484848484,
0.8838383838383838,
0.9191919191919191,
0.9545454545454545,
0.9898989898989898,
1.0252525252525253,
1.0606060606060606,
1.095959595959596,
1.1313131313131313,
1.1666666666666665,
1.202020202020202,
1.2373737373737372,
1.2727272727272727,
1.308080808080808,
1.3434343434343434,
1.3787878787878787,
1.4141414141414141,
1.4494949494949494,
1.4848484848484849,
1.52020202020202,
1.5555555555555556,
1.5909090909090908,
1.6262626262626263,
1.6616161616161615,
1.6969696969696968,
1.7323232323232323,
1.7676767676767675,
1.803030303030303,
1.8383838383838382,
1.8737373737373737,
1.909090909090909,
1.9444444444444444,
1.9797979797979797,
2.015151515151515,
2.0505050505050506,
2.0858585858585856,
2.121212121212121,
2.1565656565656566,
2.191919191919192,
2.227272727272727,
2.2626262626262625,
2.297979797979798,
2.333333333333333,
2.3686868686868685,
2.404040404040404,
2.4393939393939394,
2.4747474747474745,
2.51010101010101,
2.5454545454545454,
2.580808080808081,
2.616161616161616,
2.6515151515151514,
2.686868686868687,
2.7222222222222223,
2.7575757575757573,
2.792929292929293,
2.8282828282828283,
2.8636363636363633,
2.898989898989899,
2.9343434343434343,
2.9696969696969697,
3.0050505050505047,
3.04040404040404,
3.0757575757575757,
3.111111111111111,
3.146464646464646,
3.1818181818181817,
3.217171717171717,
3.2525252525252526,
3.2878787878787876,
3.323232323232323,
3.3585858585858586,
3.3939393939393936,
3.429292929292929,
3.4646464646464645,
3.5
],
"y": [
0.0,
0.03487588169655292,
0.06988627490405074,
0.10502520708237345,
0.14028670569140114,
0.17566479819101377,
0.2111535120410914,
0.2467468747015141,
0.2824389136321619,
0.31822365629291477,
0.35409513014365274,
0.3900473626442558,
0.4260743812546041,
0.46217021343457765,
0.4983288866440564,
0.5345444283429205,
0.5708108659910498,
0.6071222270483244,
0.6434725389746245,
0.6798558292298299,
0.7162661252738208,
0.752697454566477,
0.7891438445676788,
0.8255993227373061,
0.8620579165352387,
0.898513653421357,
0.934960560855541,
0.9713926662976706,
1.0078039972076256,
1.0441885810452867,
1.0805404452705332,
1.1168536173432455,
1.1531221247233037,
1.1893399948705874,
1.2255012552449773,
1.2615999333063528,
1.2976300565145944,
1.3335856523295815,
1.369460748211195,
1.4052493716193142,
1.4409455500138195,
1.476543310854591,
1.5120366816015083,
1.5474196897144517,
1.5826863626533012,
1.617830727877937,
1.6528468128482392,
1.6877286450240871,
1.7224702518653612,
1.7570656608319417,
1.791508899383709,
1.825793994980542,
1.8599149750823214,
1.8938658671489272,
1.9276406986402401,
1.9612334970161385,
1.9946382897365038,
2.027849104261216,
2.060859968050154,
2.093664908563199,
2.12625795326023,
2.1586331296011285,
2.190784465045773,
2.222705987054044,
2.254391723085823,
2.285835700600987,
2.3170319470594185,
2.347974489920997,
2.378657356645602,
2.4090745746931144,
2.439220171523413,
2.469088174596379,
2.498672611371892,
2.527967509309831,
2.556966895870078,
2.5856647985125116,
2.6140552446970124,
2.642132261883461,
2.6698898775317357,
2.697322119101717,
2.7244230140532872,
2.7511865898463235,
2.777606873940707,
2.8036778937963183,
2.829393676873036,
2.854748250630742,
2.879735642529315,
2.9043498800286347,
2.928584990588583,
2.9524350016690377,
2.97589394072988,
2.9989558352309906,
3.0216147126322483,
3.043864600393533,
3.065699525974726,
3.087113516835706,
3.108100600436354,
3.1286548042365503,
3.148770155696173,
3.1684406822751043
],
"type": "scatter",
"xaxis": "x",
"yaxis": "y",
"hovertemplate": "Signal: %{y:.2f}"
},
{
"customdata": [
"cubic model"
],
"hoverinfo": "skip",
"marker": {
"color": "#636EFA"
},
"mode": "markers",
"name": "Residuals",
"visible": false,
"x": [
0.0,
0.5,
1.0,
1.5,
2.0,
2.5,
3.0,
3.5
],
"y": [
0.0,
0.014499193015159118,
-0.03779741692729299,
0.013214689980610261,
0.025640033546835195,
-0.0014168664206519743,
-0.026851490113884324,
0.012440682275104198
],
"type": "scatter",
"xaxis": "x2",
"yaxis": "y2",
"hovertemplate": "Signal: %{y:.2f}"
},
{
"customdata": [
"cubic model"
],
"line": {
"color": "grey",
"dash": "dash",
"width": 2
},
"showlegend": false,
"visible": true,
"x": [
0.0,
0.5,
1.0,
1.5,
2.0,
2.5,
3.0,
3.5
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"type": "scatter",
"xaxis": "x2",
"yaxis": "y2",
"hovertemplate": "Signal: %{y:.2f}"
},
{
"customdata": [
"quadratic model"
],
"marker": {
"color": "#EF553B"
},
"mode": "lines",
"name": "quadratic model",
"visible": false,
"x": [
0.0,
0.03535353535353535,
0.0707070707070707,
0.10606060606060605,
0.1414141414141414,
0.17676767676767677,
0.2121212121212121,
0.24747474747474746,
0.2828282828282828,
0.3181818181818182,
0.35353535353535354,
0.3888888888888889,
0.4242424242424242,
0.45959595959595956,
0.4949494949494949,
0.5303030303030303,
0.5656565656565656,
0.601010101010101,
0.6363636363636364,
0.6717171717171717,
0.7070707070707071,
0.7424242424242424,
0.7777777777777778,
0.8131313131313131,
0.8484848484848484,
0.8838383838383838,
0.9191919191919191,
0.9545454545454545,
0.9898989898989898,
1.0252525252525253,
1.0606060606060606,
1.095959595959596,
1.1313131313131313,
1.1666666666666665,
1.202020202020202,
1.2373737373737372,
1.2727272727272727,
1.308080808080808,
1.3434343434343434,
1.3787878787878787,
1.4141414141414141,
1.4494949494949494,
1.4848484848484849,
1.52020202020202,
1.5555555555555556,
1.5909090909090908,
1.6262626262626263,
1.6616161616161615,
1.6969696969696968,
1.7323232323232323,
1.7676767676767675,
1.803030303030303,
1.8383838383838382,
1.8737373737373737,
1.909090909090909,
1.9444444444444444,
1.9797979797979797,
2.015151515151515,
2.0505050505050506,
2.0858585858585856,
2.121212121212121,
2.1565656565656566,
2.191919191919192,
2.227272727272727,
2.2626262626262625,
2.297979797979798,
2.333333333333333,
2.3686868686868685,
2.404040404040404,
2.4393939393939394,
2.4747474747474745,
2.51010101010101,
2.5454545454545454,
2.580808080808081,
2.616161616161616,
2.6515151515151514,
2.686868686868687,
2.7222222222222223,
2.7575757575757573,
2.792929292929293,
2.8282828282828283,
2.8636363636363633,
2.898989898989899,
2.9343434343434343,
2.9696969696969697,
3.0050505050505047,
3.04040404040404,
3.0757575757575757,
3.111111111111111,
3.146464646464646,
3.1818181818181817,
3.217171717171717,
3.2525252525252526,
3.2878787878787876,
3.323232323232323,
3.3585858585858586,
3.3939393939393936,
3.429292929292929,
3.4646464646464645,
3.5
],
"y": [
-0.029375000041909516,
0.010822309754627599,
0.050864575848128465,
0.09075179823859307,
0.13048397692602143,
0.17006111191041354,
0.2094832031917694,
0.24875025077008905,
0.2878622546453724,
0.3268192148176195,
0.3656211312868304,
0.40426800405300495,
0.4427598331161433,
0.4810966184762454,
0.5192783601333113,
0.557305058087341,
0.5951767123383344,
0.6328933228862914,
0.6704548897312123,
0.7078614128730969,
0.7451128923119452,
0.7822093280477573,
0.8191507200805332,
0.855937068410273,
0.8925683730369762,
0.9290446339606432,
0.965365851181274,
1.0015320246988686,
1.0375431545134273,
1.0733992406249493,
1.109100283033435,
1.1446462817388847,
1.1800372367412981,
1.215273148040675,
1.250354015637016,
1.2852798395303204,
1.320050619720589,
1.354666356207821,
1.389127048992017,
1.4234326980731766,
1.4575833034513,
1.491578865126387,
1.525419383098438,
1.5591048573674526,
1.592635287933431,
1.626010674796373,
1.659231017956279,
1.6922963174131485,
1.725206573166982,
1.7579617852177791,
1.7905619535655397,
1.8230070782102645,
1.8552971591519527,
1.8874321963906049,
1.9194121899262206,
1.9512371397588004,
1.9829070458883438,
2.014421908314851,
2.045781727038322,
2.076986502058756,
2.108036233376155,
2.138930920990517,
2.1696705649018426,
2.200255165110132,
2.230684721615386,
2.2609592344176033,
2.291078703516783,
2.3210431289129283,
2.3508525106060367,
2.380506848596109,
2.4100061428831445,
2.4393503934671443,
2.468539600348108,
2.497573763526035,
2.526452883000925,
2.55517695877278,
2.5837459908415985,
2.612159979207381,
2.6404189238701266,
2.668522824829836,
2.69647168208651,
2.7242654956401466,
2.7519042654907477,
2.7793879916383126,
2.8067166740828404,
2.8338903128243325,
2.8609089078627887,
2.8877724591982084,
2.9144809668305913,
2.9410344307599385,
2.9674328509862495,
2.9936762275095243,
3.019764560329763,
3.0456978494469644,
3.0714760948611306,
3.09709929657226,
3.1225674545803535,
3.1478805688854106,
3.1730386394874315,
3.198041666386416
],
"type": "scatter",
"xaxis": "x",
"yaxis": "y",
"hovertemplate": "Signal: %{y:.2f}"
},
{
"customdata": [
"quadratic model"
],
"hoverinfo": "skip",
"marker": {
"color": "#EF553B"
},
"mode": "markers",
"name": "Residuals",
"visible": false,
"x": [
0.0,
0.5,
1.0,
1.5,
2.0,
2.5,
3.0,
3.5
],
"y": [
-0.029375000041909516,
0.03572023802693003,
-0.008196428668685307,
0.02587499987124464,
0.012934523646719764,
-0.031017857342260147,
-0.047982143095694596,
0.04204166638641604
],
"type": "scatter",
"xaxis": "x2",
"yaxis": "y2",
"hovertemplate": "Signal: %{y:.2f}"
},
{
"customdata": [
"quadratic model"
],
"line": {
"color": "grey",
"dash": "dash",
"width": 2
},
"showlegend": false,
"visible": true,
"x": [
0.0,
0.5,
1.0,
1.5,
2.0,
2.5,
3.0,
3.5
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"type": "scatter",
"xaxis": "x2",
"yaxis": "y2",
"hovertemplate": "Signal: %{y:.2f}"
},
{
"customdata": [
"linear model"
],
"marker": {
"color": "#00CC96"
},
"mode": "lines",
"name": "linear model",
"visible": false,
"x": [
0.0,
0.03535353535353535,
0.0707070707070707,
0.10606060606060605,
0.1414141414141414,
0.17676767676767677,
0.2121212121212121,
0.24747474747474746,
0.2828282828282828,
0.3181818181818182,
0.35353535353535354,
0.3888888888888889,
0.4242424242424242,
0.45959595959595956,
0.4949494949494949,
0.5303030303030303,
0.5656565656565656,
0.601010101010101,
0.6363636363636364,
0.6717171717171717,
0.7070707070707071,
0.7424242424242424,
0.7777777777777778,
0.8131313131313131,
0.8484848484848484,
0.8838383838383838,
0.9191919191919191,
0.9545454545454545,
0.9898989898989898,
1.0252525252525253,
1.0606060606060606,
1.095959595959596,
1.1313131313131313,
1.1666666666666665,
1.202020202020202,
1.2373737373737372,
1.2727272727272727,
1.308080808080808,
1.3434343434343434,
1.3787878787878787,
1.4141414141414141,
1.4494949494949494,
1.4848484848484849,
1.52020202020202,
1.5555555555555556,
1.5909090909090908,
1.6262626262626263,
1.6616161616161615,
1.6969696969696968,
1.7323232323232323,
1.7676767676767675,
1.803030303030303,
1.8383838383838382,
1.8737373737373737,
1.909090909090909,
1.9444444444444444,
1.9797979797979797,
2.015151515151515,
2.0505050505050506,
2.0858585858585856,
2.121212121212121,
2.1565656565656566,
2.191919191919192,
2.227272727272727,
2.2626262626262625,
2.297979797979798,
2.333333333333333,
2.3686868686868685,
2.404040404040404,
2.4393939393939394,
2.4747474747474745,
2.51010101010101,
2.5454545454545454,
2.580808080808081,
2.616161616161616,
2.6515151515151514,
2.686868686868687,
2.7222222222222223,
2.7575757575757573,
2.792929292929293,
2.8282828282828283,
2.8636363636363633,
2.898989898989899,
2.9343434343434343,
2.9696969696969697,
3.0050505050505047,
3.04040404040404,
3.0757575757575757,
3.111111111111111,
3.146464646464646,
3.1818181818181817,
3.217171717171717,
3.2525252525252526,
3.2878787878787876,
3.323232323232323,
3.3585858585858586,
3.3939393939393936,
3.429292929292929,
3.4646464646464645,
3.5
],
"y": [
0.0,
0.03371969697587757,
0.06743939395175513,
0.10115909092763269,
0.13487878790351027,
0.16859848487938783,
0.20231818185526537,
0.23603787883114294,
0.26975757580702053,
0.3034772727828981,
0.33719696975877567,
0.37091666673465323,
0.40463636371053074,
0.4383560606864083,
0.4720757576622859,
0.5057954546381634,
0.5395151516140411,
0.5732348485899186,
0.6069545455657962,
0.6406742425416737,
0.6743939395175513,
0.7081136364934288,
0.7418333334693065,
0.775553030445184,
0.8092727274210615,
0.842992424396939,
0.8767121213728166,
0.9104318183486941,
0.9441515153245718,
0.9778712123004495,
1.0115909092763269,
1.0453106062522046,
1.0790303032280821,
1.1127500002039594,
1.1464696971798372,
1.1801893941557147,
1.2139090911315924,
1.2476287881074697,
1.2813484850833474,
1.315068182059225,
1.3487878790351027,
1.38250757601098,
1.4162272729868577,
1.4499469699627352,
1.483666666938613,
1.5173863639144904,
1.551106060890368,
1.5848257578662455,
1.618545454842123,
1.6522651518180007,
1.685984848793878,
1.7197045457697557,
1.7534242427456332,
1.787143939721511,
1.8208636366973883,
1.854583333673266,
1.8883030306491435,
1.9220227276250212,
1.955742424600899,
1.989462121576776,
2.0231818185526538,
2.0569015155285313,
2.0906212125044092,
2.1243409094802863,
2.1580606064561643,
2.1917803034320418,
2.225500000407919,
2.259219697383797,
2.2929393943596743,
2.326659091335552,
2.3603787883114293,
2.394098485287307,
2.427818182263185,
2.4615378792390623,
2.4952575762149394,
2.5289772731908173,
2.562696970166695,
2.596416667142573,
2.63013636411845,
2.6638560610943274,
2.6975757580702053,
2.7312954550460824,
2.76501515202196,
2.798734848997838,
2.8324545459737154,
2.866174242949593,
2.8998939399254704,
2.933613636901348,
2.967333333877226,
3.001053030853103,
3.034772727828981,
3.0684924248048584,
3.102212121780736,
3.1359318187566134,
3.169651515732491,
3.2033712127083684,
3.237090909684246,
3.2708106066601235,
3.3045303036360014,
3.338250000611879
],
"type": "scatter",
"xaxis": "x",
"yaxis": "y",
"hovertemplate": "Signal: %{y:.2f}"
},
{
"customdata": [
"linear model"
],
"hoverinfo": "skip",
"marker": {
"color": "#00CC96"
},
"mode": "markers",
"name": "Residuals",
"visible": false,
"x": [
0.0,
0.5,
1.0,
1.5,
2.0,
2.5,
3.0,
3.5
],
"y": [
0.0,
-0.012107142769731571,
-0.10221428553946321,
-0.08332142830919476,
-0.08042857107892631,
-0.0775357138486581,
-0.0166428566183896,
0.1822500006118788
],
"type": "scatter",
"xaxis": "x2",
"yaxis": "y2",
"hovertemplate": "Signal: %{y:.2f}"
},
{
"customdata": [
"linear model"
],
"line": {
"color": "grey",
"dash": "dash",
"width": 2
},
"showlegend": false,
"visible": true,
"x": [
0.0,
0.5,
1.0,
1.5,
2.0,
2.5,
3.0,
3.5
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"type": "scatter",
"xaxis": "x2",
"yaxis": "y2",
"hovertemplate": "Signal: %{y:.2f}"
}
],
"layout": {
"template": {
"data": {
"barpolar": [
{
"marker": {
"line": {
"color": "white",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"bar": [
{
"error_x": {
"color": "rgb(36,36,36)"
},
"error_y": {
"color": "rgb(36,36,36)"
},
"marker": {
"line": {
"color": "white",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "rgb(36,36,36)",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "rgb(36,36,36)"
},
"baxis": {
"endlinecolor": "rgb(36,36,36)",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "rgb(36,36,36)"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
},
"type": "choropleth"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
},
"type": "contourcarpet"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
},
"colorscale": [
[
0.0,
"#440154"
],
[
0.1111111111111111,
"#482878"
],
[
0.2222222222222222,
"#3e4989"
],
[
0.3333333333333333,
"#31688e"
],
[
0.4444444444444444,
"#26828e"
],
[
0.5555555555555556,
"#1f9e89"
],
[
0.6666666666666666,
"#35b779"
],
[
0.7777777777777778,
"#6ece58"
],
[
0.8888888888888888,
"#b5de2b"
],
[
1.0,
"#fde725"
]
],
"type": "contour"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
},
"colorscale": [
[
0.0,
"#440154"
],
[
0.1111111111111111,
"#482878"
],
[
0.2222222222222222,
"#3e4989"
],
[
0.3333333333333333,
"#31688e"
],
[
0.4444444444444444,
"#26828e"
],
[
0.5555555555555556,
"#1f9e89"
],
[
0.6666666666666666,
"#35b779"
],
[
0.7777777777777778,
"#6ece58"
],
[
0.8888888888888888,
"#b5de2b"
],
[
1.0,
"#fde725"
]
],
"type": "heatmapgl"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
},
"colorscale": [
[
0.0,
"#440154"
],
[
0.1111111111111111,
"#482878"
],
[
0.2222222222222222,
"#3e4989"
],
[
0.3333333333333333,
"#31688e"
],
[
0.4444444444444444,
"#26828e"
],
[
0.5555555555555556,
"#1f9e89"
],
[
0.6666666666666666,
"#35b779"
],
[
0.7777777777777778,
"#6ece58"
],
[
0.8888888888888888,
"#b5de2b"
],
[
1.0,
"#fde725"
]
],
"type": "heatmap"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
},
"colorscale": [
[
0.0,
"#440154"
],
[
0.1111111111111111,
"#482878"
],
[
0.2222222222222222,
"#3e4989"
],
[
0.3333333333333333,
"#31688e"
],
[
0.4444444444444444,
"#26828e"
],
[
0.5555555555555556,
"#1f9e89"
],
[
0.6666666666666666,
"#35b779"
],
[
0.7777777777777778,
"#6ece58"
],
[
0.8888888888888888,
"#b5de2b"
],
[
1.0,
"#fde725"
]
],
"type": "histogram2dcontour"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
},
"colorscale": [
[
0.0,
"#440154"
],
[
0.1111111111111111,
"#482878"
],
[
0.2222222222222222,
"#3e4989"
],
[
0.3333333333333333,
"#31688e"
],
[
0.4444444444444444,
"#26828e"
],
[
0.5555555555555556,
"#1f9e89"
],
[
0.6666666666666666,
"#35b779"
],
[
0.7777777777777778,
"#6ece58"
],
[
0.8888888888888888,
"#b5de2b"
],
[
1.0,
"#fde725"
]
],
"type": "histogram2d"
}
],
"histogram": [
{
"marker": {
"line": {
"color": "white",
"width": 0.6
}
},
"type": "histogram"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
}
},
"marker": {
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
}
},
"type": "scattermapbox"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
}
},
"type": "scatterpolargl"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
}
},
"type": "scatterpolar"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
},
"colorscale": [
[
0.0,
"#440154"
],
[
0.1111111111111111,
"#482878"
],
[
0.2222222222222222,
"#3e4989"
],
[
0.3333333333333333,
"#31688e"
],
[
0.4444444444444444,
"#26828e"
],
[
0.5555555555555556,
"#1f9e89"
],
[
0.6666666666666666,
"#35b779"
],
[
0.7777777777777778,
"#6ece58"
],
[
0.8888888888888888,
"#b5de2b"
],
[
1.0,
"#fde725"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "rgb(237,237,237)"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "rgb(217,217,217)"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 1,
"tickcolor": "rgb(36,36,36)",
"ticks": "outside"
}
},
"colorscale": {
"diverging": [
[
0.0,
"rgb(103,0,31)"
],
[
0.1,
"rgb(178,24,43)"
],
[
0.2,
"rgb(214,96,77)"
],
[
0.3,
"rgb(244,165,130)"
],
[
0.4,
"rgb(253,219,199)"
],
[
0.5,
"rgb(247,247,247)"
],
[
0.6,
"rgb(209,229,240)"
],
[
0.7,
"rgb(146,197,222)"
],
[
0.8,
"rgb(67,147,195)"
],
[
0.9,
"rgb(33,102,172)"
],
[
1.0,
"rgb(5,48,97)"
]
],
"sequential": [
[
0.0,
"#440154"
],
[
0.1111111111111111,
"#482878"
],
[
0.2222222222222222,
"#3e4989"
],
[
0.3333333333333333,
"#31688e"
],
[
0.4444444444444444,
"#26828e"
],
[
0.5555555555555556,
"#1f9e89"
],
[
0.6666666666666666,
"#35b779"
],
[
0.7777777777777778,
"#6ece58"
],
[
0.8888888888888888,
"#b5de2b"
],
[
1.0,
"#fde725"
]
],
"sequentialminus": [
[
0.0,
"#440154"
],
[
0.1111111111111111,
"#482878"
],
[
0.2222222222222222,
"#3e4989"
],
[
0.3333333333333333,
"#31688e"
],
[
0.4444444444444444,
"#26828e"
],
[
0.5555555555555556,
"#1f9e89"
],
[
0.6666666666666666,
"#35b779"
],
[
0.7777777777777778,
"#6ece58"
],
[
0.8888888888888888,
"#b5de2b"
],
[
1.0,
"#fde725"
]
]
},
"colorway": [
"#1F77B4",
"#FF7F0E",
"#2CA02C",
"#D62728",
"#9467BD",
"#8C564B",
"#E377C2",
"#7F7F7F",
"#BCBD22",
"#17BECF"
],
"font": {
"color": "rgb(36,36,36)"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "white",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "white",
"polar": {
"angularaxis": {
"gridcolor": "rgb(232,232,232)",
"linecolor": "rgb(36,36,36)",
"showgrid": false,
"showline": true,
"ticks": "outside"
},
"bgcolor": "white",
"radialaxis": {
"gridcolor": "rgb(232,232,232)",
"linecolor": "rgb(36,36,36)",
"showgrid": false,
"showline": true,
"ticks": "outside"
}
},
"scene": {
"xaxis": {
"backgroundcolor": "white",
"gridcolor": "rgb(232,232,232)",
"gridwidth": 2,
"linecolor": "rgb(36,36,36)",
"showbackground": true,
"showgrid": false,
"showline": true,
"ticks": "outside",
"zeroline": false,
"zerolinecolor": "rgb(36,36,36)"
},
"yaxis": {
"backgroundcolor": "white",
"gridcolor": "rgb(232,232,232)",
"gridwidth": 2,
"linecolor": "rgb(36,36,36)",
"showbackground": true,
"showgrid": false,
"showline": true,
"ticks": "outside",
"zeroline": false,
"zerolinecolor": "rgb(36,36,36)"
},
"zaxis": {
"backgroundcolor": "white",
"gridcolor": "rgb(232,232,232)",
"gridwidth": 2,
"linecolor": "rgb(36,36,36)",
"showbackground": true,
"showgrid": false,
"showline": true,
"ticks": "outside",
"zeroline": false,
"zerolinecolor": "rgb(36,36,36)"
}
},
"shapedefaults": {
"fillcolor": "black",
"line": {
"width": 0
},
"opacity": 0.3
},
"ternary": {
"aaxis": {
"gridcolor": "rgb(232,232,232)",
"linecolor": "rgb(36,36,36)",
"showgrid": false,
"showline": true,
"ticks": "outside"
},
"baxis": {
"gridcolor": "rgb(232,232,232)",
"linecolor": "rgb(36,36,36)",
"showgrid": false,
"showline": true,
"ticks": "outside"
},
"bgcolor": "white",
"caxis": {
"gridcolor": "rgb(232,232,232)",
"linecolor": "rgb(36,36,36)",
"showgrid": false,
"showline": true,
"ticks": "outside"
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "rgb(232,232,232)",
"linecolor": "rgb(36,36,36)",
"showgrid": false,
"showline": true,
"ticks": "outside",
"title": {
"standoff": 15
},
"zeroline": false,
"zerolinecolor": "rgb(36,36,36)"
},
"yaxis": {
"automargin": true,
"gridcolor": "rgb(232,232,232)",
"linecolor": "rgb(36,36,36)",
"showgrid": false,
"showline": true,
"ticks": "outside",
"title": {
"standoff": 15
},
"zeroline": false,
"zerolinecolor": "rgb(36,36,36)"
}
}
},
"xaxis": {
"anchor": "y",
"domain": [
0.0,
0.425
]
},
"yaxis": {
"anchor": "x",
"domain": [
0.0,
1.0
],
"title": {
"text": "ABTS (a.u.)"
}
},
"xaxis2": {
"anchor": "y2",
"domain": [
0.575,
1.0
]
},
"yaxis2": {
"anchor": "x2",
"domain": [
0.0,
1.0
],
"title": {
"text": "Residuals ABTS (a.u.)"
}
},
"annotations": [
{
"font": {
"size": 16
},
"showarrow": false,
"text": "Standard",
"x": 0.2125,
"xanchor": "center",
"xref": "paper",
"y": 1.0,
"yanchor": "bottom",
"yref": "paper"
},
{
"font": {
"size": 16
},
"showarrow": false,
"text": "Model Residuals",
"x": 0.7875,
"xanchor": "center",
"xref": "paper",
"y": 1.0,
"yanchor": "bottom",
"yref": "paper"
},
{
"font": {
"size": 16
},
"showarrow": false,
"text": "ABTS \u002f mmol \u002f l",
"x": 0.5,
"xanchor": "center",
"xref": "paper",
"y": 0,
"yanchor": "top",
"yref": "paper",
"yshift": -30
}
],
"margin": {
"l": 20,
"r": 20,
"t": 100,
"b": 60
},
"updatemenus": [
{
"active": 0,
"buttons": [
{
"args": [
{
"visible": [
true,
false,
false,
false,
false,
false,
false,
false,
false,
false
]
}
],
"label": "ABTS standard",
"method": "update"
},
{
"args": [
{
"visible": [
true,
true,
true,
true,
false,
false,
false,
false,
false,
false
],
"title": "cubic model"
}
],
"label": "cubic model",
"method": "update"
},
{
"args": [
{
"visible": [
true,
false,
false,
false,
true,
true,
true,
false,
false,
false
],
"title": "quadratic model"
}
],
"label": "quadratic model",
"method": "update"
},
{
"args": [
{
"visible": [
true,
false,
false,
false,
false,
false,
false,
true,
true,
true
],
"title": "linear model"
}
],
"label": "linear model",
"method": "update"
},
{
"args": [
{
"visible": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
]
}
],
"label": "all",
"method": "update"
}
],
"direction": "right",
"type": "buttons",
"x": 0,
"xanchor": "left",
"y": 1.2,
"yanchor": "top"
}
]
}
}