Home > testing > unit_tests > modelAbilitiesTests.m

modelAbilitiesTests

PURPOSE ^

run this test case with the command

SYNOPSIS ^

function tests = modelAbilitiesTests

DESCRIPTION ^

run this test case with the command
results = runtests('modelAbilitiesTests.m')

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 %run this test case with the command
0002 %results = runtests('modelAbilitiesTests.m')
0003 function tests = modelAbilitiesTests
0004 tests = functiontests(localfunctions);
0005 end
0006 
0007 function canConsumeTest(testCase)
0008 %Load the model in RAVEN format
0009 sourceDir=fileparts(fileparts(fileparts(which(mfilename))));
0010 load(fullfile(sourceDir,'testing','unit_tests','test_data','ecoli_textbook.mat'), 'model');
0011 
0012 testOut=canConsume(model,{'r5p_c';'ru5p_DASH_D_c';'s7p_c';'succ_c';'succ_e';'succoa_c';'xu5p_DASH_D_c'});
0013 
0014 testCheck=[true;true;true;true;true;false;true];
0015 
0016 verifyEqual(testCase,testOut,testCheck)
0017 end
0018 
0019 function canProduceTest(testCase)
0020 %Load the model in RAVEN format
0021 sourceDir=fileparts(fileparts(fileparts(which(mfilename))));
0022 load(fullfile(sourceDir,'testing','unit_tests','test_data','ecoli_textbook.mat'), 'model');
0023 
0024 testOut=canProduce(model,{'r5p_c';'ru5p_DASH_D_c';'s7p_c';'succ_c';'succ_e';'succoa_c';'xu5p_DASH_D_c'});
0025 
0026 testCheck=[true;true;true;true;true;false;true];
0027 
0028 verifyEqual(testCase,testOut,testCheck)
0029 end
0030 
0031 function checkProductionTest(testCase)
0032 %Load the model in RAVEN format
0033 sourceDir=fileparts(fileparts(fileparts(which(mfilename))));
0034 load(fullfile(sourceDir,'testing','unit_tests','test_data','ecoli_textbook.mat'), 'model');
0035 
0036 [testOut.np, testOut.npn, testOut.nfpm,testOut.mtc,~]=checkProduction(model,true,model.comps,false);
0037 
0038 testCheck.np=[10;13;16;17;21;30;32;37;49;50;51;52;53;64;65;71];
0039 testCheck.npn={'Acetyl-CoA[c]';'ADP[c]';'AMP[c]';'ATP[c]';'Coenzyme A[c]';'D-Fructose[e]';'Fumarate[e]';'L-Glutamine[e]';'L-Malate[e]';'NAD[c]';'NADH[c]';'NADP[c]';'NADPH[c]';'Ubiquinone-8[c]';'Ubiquinol-8[c]';'Succinyl-CoA[c]'};
0040 testCheck.nfpm=[true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true;false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false;false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false;false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false;true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true;false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false;false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false;false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false;false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false;false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false;false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false;false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false;false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false;false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false;false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false;true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true];
0041 testCheck.mtc={'Acetyl-CoA[c] (connects 3 metabolites)';'ADP[c] (connects 3 metabolites)';'NAD[c] (connects 2 metabolites)';'NADP[c] (connects 2 metabolites)';'Ubiquinone-8[c] (connects 2 metabolites)';'D-Fructose[e] (connects 1 metabolites)';'Fumarate[e] (connects 1 metabolites)';'L-Glutamine[e] (connects 1 metabolites)';'L-Malate[e] (connects 1 metabolites)'};
0042 
0043 verifyEqual(testCase,testOut,testCheck)
0044 end
0045 
0046 function consumeSomethingTest(testCase)
0047 %Load the model in RAVEN format
0048 sourceDir=fileparts(fileparts(fileparts(which(mfilename))));
0049 load(fullfile(sourceDir,'testing','unit_tests','test_data','ecoli_textbook.mat'), 'model');
0050 
0051 [testOut.s, testOut.m]=consumeSomething(model,{'r5p_c';'ru5p_DASH_D_c';'s7p_c';'succ_c';'succ_e';'succoa_c';'xu5p_DASH_D_c'});
0052 % Simplify output for later check, no need for high precision
0053 % testOut.s(abs(testOut.s)<1e-10)=0;
0054 % testOut.s=round(testOut.s,4)
0055 testCheck.s=[0;0;1.4591;0;0;1.4591;0;0;0;0;8.39;4.0126;0;1.4591;0;2.9183;0;1.4591;0;1.4591;0;0;1.4591;0;0;0;0;0;0;0;1.4591;0;0;0;0;-1.4591;1.4591;0;0;0;0;0;0;0;0;0;0;0;-1.4591;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;2.9183;0;0;-1.4591;1.4591;0;0;0;-1.4591;0;1.4591;1.4591;0;0;0;-1.4591;1.4591;0;0;0;0;0;0;0;0;0;0;0;0];
0056 testCheck.m=[33];
0057 
0058 verifyEqual(testCase,testOut,testCheck,'AbsTol',1e-4)
0059 end
0060 
0061 function makeSomethingTest(testCase)
0062 %Load the model in RAVEN format
0063 sourceDir=fileparts(fileparts(fileparts(which(mfilename))));
0064 load(fullfile(sourceDir,'testing','unit_tests','test_data','ecoli_textbook.mat'), 'model');
0065 
0066 [testOut.s, testOut.m]=makeSomething(model,{'r5p_c';'ru5p_DASH_D_c';'s7p_c';'succ_c';'succ_e';'succoa_c';'xu5p_DASH_D_c'});
0067 % Simplify output for later check, no need for high precision
0068 % testOut.s(abs(testOut.s)<1e-10)=0;
0069 % testOut.s=round(testOut.s,4);
0070 
0071 testCheck.s=[0;0;1.8644;0;0;0;0;0;0;0;8.39;4.6611;0;0;0;3.7289;0;1.8644;0;0;0;0;0;0;0;0;0;-0.93220;0;0;0;0;0;0;0;-1.8644;0;0;0;0.93220;0;0;0;0;0;0;0;0;-1.8644;0.93220;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;3.7289;0;0;-1.8644;1.8644;0.93220;0;-0.93220;-1.8644;0;1.8644;0;0;0;0;-1.8644;0.93220;0;0;0;0;0;0;0;0;0;0;0;0.93220];
0072 testCheck.m=[6];
0073 
0074 verifyEqual(testCase,testOut,testCheck,'AbsTol',1e-4)
0075 end
0076 
0077 function getElementalBalanceTest(testCase)
0078 %Load the model in RAVEN format
0079 sourceDir=fileparts(fileparts(fileparts(which(mfilename))));
0080 load(fullfile(sourceDir,'testing','unit_tests','test_data','ecoli_textbook.mat'), 'model');
0081 
0082 testOut=getElementalBalance(model,1);
0083 
0084 testCheck.balanceStatus=1;
0085 testCheck.elements.abbrevs={'C';'N';'O';'S';'P';'H'};
0086 testCheck.elements.names={'carbon';'nitrogen';'oxygen';'sulfur';'phosphorus';'hydrogen'};
0087 testCheck.leftComp=[44,14,31,1,5,62];
0088 testCheck.rightComp=[44,14,31,1,5,62];
0089 
0090 verifyEqual(testCase,testOut,testCheck)
0091 end
0092 
0093 function getAllowedBoundsTest(testCase)
0094 %Load the model in RAVEN format
0095 sourceDir=fileparts(fileparts(fileparts(which(mfilename))));
0096 load(fullfile(sourceDir,'testing','unit_tests','test_data','ecoli_textbook.mat'), 'model');
0097 
0098 
0099 evalc("[testOut.min, testOut.max, testOut.flag]=getAllowedBounds(model,[1:10],false);");
0100 % Simplify output for later check, no need for high precision
0101 % testOut.min(abs(testOut.min)<1e-10)=0;
0102 % testOut.min=single(testOut.min);
0103 % testOut.max(abs(testOut.max)<1e-10)=0;
0104 % testOut.max=single(testOut.max);
0105 
0106 testCheck.min=[-20;0;0;0;0;0;-166.610;0;0;0];
0107 testCheck.max=[0;20;20;20;20;20;0;20;10;20];
0108 testCheck.flag=[1,1;1,1;1,1;1,1;1,1;1,1;1,1;1,1;1,1;1,1];
0109 
0110 verifyEqual(testCase,testOut,testCheck,'AbsTol',1e-4)
0111 end
0112 
0113 function getEssentialRxnsTest(testCase)
0114 %Load the model in RAVEN format
0115 sourceDir=fileparts(fileparts(fileparts(which(mfilename))));
0116 load(fullfile(sourceDir,'testing','unit_tests','test_data','ecoli_textbook.mat'), 'model');
0117 
0118 [testOut.r, testOut.i]=getEssentialRxns(model);
0119 
0120 testCheck.r={'EX_glc';'GLCpts'};
0121 testCheck.i=[28;50];
0122 verifyEqual(testCase,testOut,testCheck)
0123 end

Generated by m2html © 2005