Vous êtes sur la page 1sur 27

Metabolic Flux Analysis to estimate intracellular fluxes of Xantham gum Biosynthesis in a centrifugal

Mestrado Integrado em Engenharia Qumica e Bioqumica

Engenharia Bioqumica II
Professora: Rui Oliveira Ano Lectivo: 2009/2010

Trabalho Elaborado por: Cssia Junqueira, n23632 Ins Delgado, n23471 Mafalda Izidro, n22316 Slvia Silva, n 22429 Tp.1

ndice

1. Resumo ....................................................................................................................... 3 2. Objectivos ................................................................................................................. 3 3. Descrio da rede Metablica .............................................................................. 4 4. Introduo Terica do MFA 5. Descrio dos Mtodos Aplicados em MATLAB 6 8

6. Resultados ............................................................................................................... 10 7. Concluso.................................................................................................................. 12 8. Bibliografia .............................................................................................................. 13 9. Anexo ........................................................................................................................ 14

1. Resumo
Neste trabalho caracterizamos os fluxos metablicos da biossntese da goma da Xantana. Estudamos os fluxos metablicos em duas

concentraes diferentes de glucose, 2.5% e 5.0%, em STR. Resolvemos o sistema pelo mtodo de anlise de fluxos metablicos, em sistema redundante (optimizado e no optimizado) e no redundante, em MATLAB. Aps optimizao dos resultados verificamos a consistncia dos resultados atravs do teste do ndice de consistncia usando o teste do X2 para um intervalo de confiana de 95%. Conclumos que facilmente calculamos os fluxos em funo de dois fluxos conhecidos e que este mtodo fivel. Pois verificou-se que os resultados obtidos foram coerentes com os resultados apresentados no artigo.

2. Objectivos
Este trabalho tem como objectivo estimar os fluxos intracelulares da goma de xantana atravs da anlise de fluxos metablicos (Metabolic Flux

Analysis MFA), utilizando o software MATLAB, ou seja simulao de erros


experimentais e utilizao do mtodo de regresso linear, weighted least

squares, o qual maximiza a eficincia da estimativa dos parmetros.


De forma a garantir que se obtm uma estimativa consistente, recorreuse ao clculo do ndice de consistncia dos erros e ao teste do X2.

3. Descrio da rede metablica


A goma Xantana constituda a partir de nucletidos de acar citoplasmtico, AcCoA, PEP e tem uma membrana interna fosfato polyisoprenol como aceitador. A sua formao consiste em duas partes: 1-Montagem passo a passo de pentassacardeos repetidos; 2- Processo de polimerizao. A rede metablica da biossntese da goma Xantana da X. Campestris, inclui a rede de Entner-Doudoroff, metablitos intermedirios e o ciclo TCA. Em primeiro lugar, a glicose transporta-se para dentro da clula e seguidamente d-se a fosforilao originando o Glc-6-P. Os fluxos envolvidos na sntese de Xantana so considerados como um conjunto sequencial de nucletideos de acar transformado a partir de Glc-6-P e a sntese de polmeros Xantana. Por outro lado, alguma quantidade de Glc-6-P entra na rede de Entner Doudoroff e leva produo de PEP, que mais tarde desfosforilado, sendo produzido piruvato. O piruvato convertido em AcCoA, que est pronto para entrar no ciclo TCA.

Figura 1 Rede metablica da sntese da goma de Xantana simplificada.

4. Introduo Terica do MFA


A Anlise de Fluxos Metablicos (MFA) utilizada como ferramenta na determinao de fluxos intracelulares das reaces de uma rede metablica. Tendo em conta o balano material, e assumindo que os metabolitos intracelulares esto em estado pseudo-estacionrio, temos o seguinte balano:

0 A.v
Num sistema determinado temos a seguinte equao:

0 A.v Anvn Abvb


Onde, A a matriz estequiomtrica, v a distribuio de fluxos, n o ndice relativo fluxos no conhecidos e b o ndice relativo aos fluxos aos conhecidos (medidos). Para um sistema determinado e no redundante, a soluo calculada da seguinte maneira:

v n An 1Abv b
Num sistema determinado redundante a matriz no invertvel como acontece no caso anterior, assim sendo, calcula-se a soluo do seguinte modo:

v n An # Abv b
Para obter melhores estimativas para os fluxos no medidos podemos utilizar a seguinte equao:

v n (AnT Y 1An )1 AnT Y 1Abv b


Quando um sistema no determinado a MFA no utilizada.

Para um sistema redundante ser consistente tem de obedecer


seguinte equao:
# R v n 0, R Ab An An Ab

Onde R a matriz redundante e An# a pseudo-inversa de An. O ndice de consistncia um teste estatstico, que possibilita testar por paralelismo do valor do qui-quadrado (X2), o ndice de consistncia h e com nmero de graus de liberdade, igual a subtraco entre o nmero de metablicos e os fluxos metablicos, sendo este desenvolvido a partir de:

h eT * Y-1 e

e - R * vb

Y R * Yb * R T

Em que vb a co-varincia dos valores medidos, Y a matriz das variveis e R a matriz redundante. Para os valores serem consistentes, define-se uma condio em que h <X2.

5. Descrio dos Mtodos Aplicados em MATLAB


Considerando as reaces do mecanismo metablico e os balanos aos metablitos intracelulares apresentados no artigo analisado (ver anexos I e II) fez-se a matriz estequiomtrica apresentada a seguir:
% V- s 1 2 3 4 5 p A=[1 -5 -1 0 0 0 0, 0 0 1 1 -1 0 0, % Glc-6-P % Pyr

0 0 1 -1 0 0 -0.38, % PEP 0 0 0 0 1 -1 -0.6, 0 1 0 0 0 0 -1]; % AcCoA % C30H47O26Na

Os fluxos conhecidos, correspondem aos seguintes metablitos: glucose e C32,34H48,58O27,36Na1,38. O que resulta num total de 5 fluxos desconhecidos. Uma rede metablica constituda por q reaces e m metablitos internos que sejam variveis independentes, capazes de atingirem o estado estacionrio, tem um nmero de graus de liberdade dado por: Ou seja, para a nossa rede vamos ter 2 graus de liberdade ver a equao (1). = 7 5 = 2 (1)

Assim, necessitamos para a determinao dos fluxos impor 2 restries ao sistema em estudo, isto , temos que dar os valores de 2 fluxos para que fiquemos perante uma situao no redundante.

O vector ib que representa os fluxos conhecidos e o vector in relativo aos fluxos desconhecidos iro ser:

in=[2 3 4 5 6]; % valores desconhecidos ib=[1 7]; % valores medidos

O vector vb corresponde aos fluxos conhecidos ir ser:


Vb=[1.65 0.23]';

Os valores dos erros associados aos fluxos medidos so nos dados no artigo (ver anexo III). Sabendo que o valor do erro duas vezes superior ao valor do desvio padro, teremos que dividir o valor do erro dado no artigo para achar os nossos desvios padres correspondentes aos fluxos medidos. Assim, o vector com os valores dos desvios padres ser:
Sb=[0.015 0.02]';

Para a situao redundante, o nmero de fluxos medidos superior ao nmero de graus de liberdade, ou seja, temos que acrescentar um ou mais valores de fluxos medidos. Neste caso, demos mais um valor ao nmero de fluxos medidos. Assim sendo, teremos que acrescentar um fluxo medido aos vectores que dependem destes fluxos, ou seja, aos vectores ib e vb, que passam a ser:
ib=[1 6 7]; % fluxos medidos Vb=[1.65 0.76 0.23]'; % valores dos fluxos medidos

Posto isto, temos que colocar tambm o valor do desvio padro correspondente a este novo fluxo medido no vector Sb, isto :
Sb=[0.015 0.015 0.02]'; %desvio padro

6. Resultados
Utilizamos os seguintes mtodos para obtermos os resultados dos fluxos desconhecidos a partir dos fluxos conhecidos (vs e vp) da sntese da goma de Xantana: 1. Sistema no redundante: Atravs dos passos aplicados no matlab demos os seguintes valores e obtivemos outros representados na Tabela_1.

Fluxos 2 3 Vn 4 5 6 Vb 1 7

Valores sem erro experimental (2.5% Glc) 0.23 0.49 0.40 0.90 0.76 1.65 0.23

Valores sem erro experimental (5.0% Glc) 0.24 0.84 0.74 1.58 1.44 2.04 0.24

Tabela_1 Fluxos conhecidos (Vb) e desconhecidos (Vn).

Os valores usados para calcular os fluxos desconhecidos para se achar os respectivos erros (Tabela_2).
Valores com o erro experimental (2.5% Glc) 1.6503 0.2306 Valores com o erro experimental (5.0% Glc) 2.0400 0.2402

Fluxos Vberro 1 7

Tabela_2 Valores dos fluxos conhecidos com erro experimental

Como temos os valores do erro no artigo utilizamos uma frmula diferente ao introduzir o erro dos fluxos conhecidos do nosso trabalho. Usamos metade do valor dado no artigo pois temos de usar o valor do desvio

padro para obtermos os valores dos erros dos fluxos desconhecidos (ver Tabela_3).
Desvio padro das medies Sb (2.5% Glc) 0.015 0.02 Desvio padro das medies Sb (5.0% Glc) 0.005 0.01

Fluxos Sb 1 7

Tabela_3 Valor do erro usado no MATLAB.

Como o sistema no redundante no vamos conseguir obter os valores do erro dos fluxos desconhecidos porque o valor da matriz de redundncia vai ser nula. Obtivemos os seguintes resultados para os fluxos desconhecidos (ver Tabela_4).
Valores com o erro experimental (2.5% Glc) 0.2300 0.4998 0.4124 0.9123 0.7743 Valores com o erro experimental (5.0% Glc) 0.2402 0.8392 0.7479 1.5871 1.4430

Fluxos 2 3
Vn

4 5 6

Tabela_4 Valores dos fluxos desconhecidos.

Por isso temos de atribuir um novo fluxo ao vector ib para podermos calcular o erro dos fluxos desconhecidos e assim ficamos com um sistema redundante.

2. Sistema Redundante: Dentro deste sistema temos duas maneiras de calcular os valores dos fluxos desconhecidos com ou sem serem optimizados. E tivemos de ver qual deles que obtemos os valores mais prximos aos dados no artigo.

Assim j podemos calcular os erros adicionando o fluxo 6 ao vector dos fluxos conhecidos, obtivemos os seguintes resultados para as duas maneiras de se calcular os erros dos fluxos desconhecidos (ver Tabela_5 e 6).
Sistema redundante no optimizado Fluxos 2 Sn 3 4 5 Desvio Padro (2.5% Glc) 0.0032 0.0099 0.0075 0.0179 Desvio Padro (5.0% Glc) 0.0021 0.0103 0.0099 0.0204

Tabela_5 Valores dos erros dos fluxos desconhecidos no optimizados.

Sistema redundante optimizado Fluxos 2 Sn 3 4 5 Desvio Padro (2.5% Glc) 0.0032 0.0099 0.0075 0.0179 Desvio Padro (5.0% Glc) 0.0021 0.0103 0.0099 0.0204

Tabela_6 Valores dos erros dos fluxos desconhecidos optimizados.

A partir dos fluxos conhecidos com erro experimental associado, foram estimados novos fluxos para cada tipo de optimizao (ver Tabela_7 e 8).
Sistema redundante no optimizado Fluxos 2 3
Vn

Valores com erro experimental (2.5% Glc) 0.2314 0.4930 0.4054 0.8984

Valores com erro experimental (5.0% Glc) 0.2405 0.8376 0.7465 1.5841

4 5

Tabela_7 Valores dos fluxos desconhecidos optimizados.

Sistema redundante optimizado Fluxos 2 3


Vn

Valores com erro experimental (2.5% Glc) 0.2315 0.4927 0.4053 0.8980

Valores com erro experimental (5.0% Glc) 0.2405 0.8376 0.7464 1.5840

4 5

Tabela_8 Valores dos fluxos desconhecidos optimizados.

Para obtemos uma estimativa fivel dos valores dos fluxos, esta tem de considerar o erro experimental associado a cada uma das medies dados nas Tabela_7 e 8. No foi necessrio fazer a manipulao dos valores dos desvios padro associados ao erro, para se conseguir fazer com que o modelo passasse no teste de consistncia, pois os valores eram dados no artigo. Verifica-se que quanto menor o desvio padro ( ), maior ser o ndice de consistncia. Para determinarmos se h consistncia nos valores calculados, o h tem de ser menor que X2.
2.5% Glc sem optimizao h n de graus de liberdade X
2

5.0% Glc

com sem com optimizao optimizao optimizao 0.0049 2 3.8415 0.0074 0.0021

0.0469

Tabela_9 Teste do ndice de consistncia.

7. Concluso
Podemos concluir que o mtodo de anlise de fluxos metablicos (MFA), uma ferramenta muito til e eficaz para o clculo dos fluxos envolvidos na rede metablica da goma de Xantana. Verificamos que no sistema no redundante, os valores dos fluxos obtidos aps a introduo do erro experimental, so aproximadamente iguais aos tabelados. Sendo que neste caso, o nosso erro igual a zero. Com isto, podemos demonstrar que esta metodologia bastante eficiente. Ao compararmos os valores estudados, para as duas concentraes de glucose (2,5% e 5.0%), observamos que quanto maior for a concentrao deste, maior so os valores dos fluxos metablicos na rede. Esta rede metablica bastante simples, pois necessitamos de poucos fluxos para que o sistema seja redundante. Que neste caso so dois, sendo este igual ao nmero de graus de liberdade. Conclumos que os nossos resultados so consistentes pois obtivemos um ndice de consistncia menor que o X2 tanto para os valores com e sem optimizao. Sendo melhor o sem optimizao para o 2.5% Glc mas para o 5.0% Glc o melhor valor para com optimizao, por isso no podemos dizer qual dos mtodos melhor porque depende da concentrao do substrato.

8. Bibliografia
Acetatos das aulas; http://lo.umd.edu/Xanthan%20MFA.pdf.

9. Anexos
I Reaco do metabolismo

II Balano aos metablitos intercelulares

III Tabela do artigo com os valores do fluxo

IV Nomenclatura

V MATLAB a) 2.5% Glc Problema_1 - Sistema no Redundante


% V- s A=[1 0 0 0 0 1 2 3 4 5 p -5 -1 0 0 0 0, % Glc-6-P 0 1 1 -1 0 0,%Pyr 0 1 -1 0 0 -0.38, % PEP 0 0 0 1 -1 -0.6, % AcCoA 1 0 0 0 0 -1]; % C30H47O26Na

[m q]=size(A); % m=mmero de metablitos e q=nmero de fluxos r=rank(A)%nmero de equaes independentes %como r=m=u estamos numa situao no redundante (u=nmero de fluxos desconhecidos) in=[2 3 4 5 6]; % fluxos desconhecidos ib=[1 7]; % fluxos medidos Ab=A(:,ib);% Matriz dos fluxos conhecidos An=A(:,in);% Matriz dos fluxos desconhecidos size(An); Vb=[1.65 0.23]'; % valores dos fluxos medidos Sb=[0.015 0.02]'; % desvio padro Yb=diag(Sb.^2); % varincia = (desvio padro)^2 Vberro=Vb+Yb*randn(length(Vb),1) %adicionar erro experimental disp('MFA without experimental error information') Vn=-inv(An)*Ab*Vberro % surge a matriz de vn com os erros aleatrios considerados em vb disp('MFA by weighted least squares') R=Ab-An*inv(An)*Ab % No redundante a matriz de R nula

Problema_2_1 - Sistema Redundante no optimizado


function Problema_2_1 global An global Ab global Vb global Y % V- s A=[1 0 0 0 0 1 2 3 4 5 p -5 -1 0 0 0 0, % Glc-6-P 0 1 1 -1 0 0,%Pyr 0 1 -1 0 0 -0.38, % PEP 0 0 0 1 -1 -0.6, % AcCoA 1 0 0 0 0 -1]; % C30H47O26Na

[m q]=size(A); % m=mmero de metablitos e q=nmero de fluxos r=rank(A)%nmero de equaes independentes %como r=m=u estamos numa situao no redundante (u=nmero de fluxos desconhecidos) in=[2 3 4 5]; % fluxos desconhecidos

ib=[1 6 7]; % fluxos medidos An=A(:,in); % Matriz dos fluxos desconhecidos Ab=A(:,ib); % Matriz dos fluxos conhecidos size(An); Vb=[1.65 0.76 0.23]'; % valores dos fluxos medidos Sb=[0.015 0.015 0.02]'; %desvio padro Yb=diag(Sb.^2);% varincia=(desvio padro)^2 Vberro=Vb+Yb*randn(length(Vb),1) %adicionar erro experimental disp('MFA without expiremental error information') Vn=-pinv(An)*Ab*Vberro % surge a matriz de vn com os erros aleatrios considerados em vb disp('MFA by weighted least squares') R=Ab-An*pinv(An)*Ab; % Matriz redundncia Y=R*Yb*R'; Y=diag(diag(Y)); Vn=-inv(An'*inv(Y)*An)*An'*inv(Y)*Ab*Vberro

Yn=diag(pinv(An)*Ab*Yb*(pinv(An)*Ab)'); % varincia dos fluxos calculados=pinv(An)*Ab*Yb*(pinv(An)*Ab)' Sn=Yn.^0.5 %tem de ser aplicado o ^0.5 porque temos de ter os valores dos desvios padres disp('Consistency index test') f=m-length(Vn); x2_val=chi2inv(0.95,f) e=An*Vn+Ab*Vb; h=e'*inv(Y)*e % indice de consistncia disp(sprintf('consistency index value: %f',h)) disp(sprintf('number of degrees of freedom: %u', f)) disp(sprintf('chisquare(0.95, %u) = %f',f,x2_val)) if h<x2_val disp('consistency index OK') else disp('consistency index NOT OK') end end %-----------------------------------------------------------------------% 'mfafun' is an argument to the fmincon; it is a function that calaculates % the error to be minimized over optimization degrees of freedom, % in the present problem the objective is to minimize the consistency value % h by manipulating the values of Vn %-----------------------------------------------------------------------function h = mfafun(Vn) global An global Ab global Vb global Y e = An*Vn + Ab*Vb; h = e'*inv(Y)*e; %-----------------------------------------------------------------------end

Problema_2_2 - Sistema Redundante optimizado


function Problema_2_2 global An global Ab global Vb global Y % V- s 1 2 3 4 5 p A=[1 -5 -1 0 0 0 0, % Glc-6-P

0 0 0 0

0 0 0 1

1 1 0 0

1 -1 0 0,%Pyr -1 0 0 -0.38, % PEP 0 1 -1 -0.6, % AcCoA 0 0 0 -1]; % C30H47O26Na

[m q]=size(A); % m=mmero de metablitos e q=nmero de fluxos r=rank(A)%nmero de equaes independentes %como r=m=u estamos numa situao no redundante (u=nmero de fluxos desconhecidos) in=[2 3 4 5]; % fluxos desconhecidos

ib=[1 6 7]; % fluxos medidos An=A(:,in); % Matriz dos fluxos desconhecidos Ab=A(:,ib); % Matriz dos fluxos conhecidos size(An); Vb=[1.65 0.76 0.23]'; % valores dos fluxos medidos Sb=[0.015 0.015 0.02]'; % desvio padro

Yb=diag(Sb.^2); % varincia=(desvio padro)^2 Vberro=Vb+Yb*randn(length(Vb),1) %adicionar erro experimental disp('MFA without experimental error information') Vn=-pinv(An)*Ab*Vberro % surge a matriz de vn com os erros aleatrios considerados em vb disp('MFA by weighted least squares') R=Ab-An*pinv(An)*Ab; % Matriz redundncia Y=R*Yb*R'; Y=diag(diag(Y)); Vn=-inv(An'*inv(Y)*An)*An'*inv(Y)*Ab*Vberro Yn=diag(pinv(An)*Ab*Yb*(pinv(An)*Ab)'); % varincia dos fluxos calculados=pinv(An)*Ab*Yb*(pinv(An)*Ab)' Sn=Yn.^0.5 %tem de ser aplicado o ^0.5 porque temos de ter os valores dos desvios padres options = optimset('GradObj','off','LargeScale','off','Display','iter'); Vn_0=Vn; Vn=fminunc(@mfafun,Vn_0,options); %,A,B,Aeq,Beq

Vn disp('Consistency index test') f=m-length(Vn); x2_val=chi2inv(0.95,f) e=An*Vn+Ab*Vb; % erro h=e'*inv(Y)*e % indice de consistncia disp(sprintf('consistency index value: %f',h)) disp(sprintf('number of degrees of freedom: %u', f)) disp(sprintf('chisquare(0.95, %u) = %f',f,x2_val)) if h<x2_val disp('consistency index OK') else disp('consistency index NOT OK') end end %-----------------------------------------------------------------------% 'mfafun' is an argument to the fmincon; it is a function that calaculates % the error to be minimized over optimization degrees of freedom, % in the present problem the objective is to minimize the consistency value % h by manipulating the values of Vn %-----------------------------------------------------------------------function h = mfafun(Vn) global An global Ab global Vb global Y e = An*Vn + Ab*Vb; h = e'*inv(Y)*e; %-----------------------------------------------------------------------end

b) 5.0% Glc Problema_1 - Sistema no Redundante


% V- s A=[1 0 0 0 0 1 2 3 4 5 p -5 -1 0 0 0 0, % Glc-6-P 0 1 1 -1 0 0,%Pyr 0 1 -1 0 0 -0.38, % PEP 0 0 0 1 -1 -0.6, % AcCoA 1 0 0 0 0 -1]; % C30H47O26Na

[m q]=size(A); % m=mmero de metablitos e q=nmero de fluxos

r=rank(A)%nmero de equaes independentes %como r=m=u estamos numa situao no redundante (u=nmero de fluxos desconhecidos) in=[2 3 4 5 6]; % fluxos desconhecidos

ib=[1 7]; % fluxos medidos An=A(:,in); % Matriz dos fluxos desconhecidos Ab=A(:,ib); % Matriz dos fluxos conhecidos size(An); Vb=[2.04 0.24]'; % valores dos fluxos medidos Sb=[0.005 0.01]'; % desvio padro

Yb=diag(Sb.^2); % varincia = (desvio padro)^2 Vberro=Vb+Yb*randn(length(Vb),1) %adicionar erro experimental disp('MFA without experimental error information') Vn=-inv(An)*Ab*Vberro % surge a matriz de vn com os erros aleatrios considerados em vb disp('MFA by weighted least squares') R=Ab-An*inv(An)*Ab % No redundante a matriz de R nula

Problema_2_1 - Sistema Redundante no optimizado


function Problema_2_1 global An global Ab global Vb global Y % V- s A=[1 0 0 0 0 1 2 3 4 5 p -5 -1 0 0 0 0, % Glc-6-P 0 1 1 -1 0 0,%Pyr 0 1 -1 0 0 -0.38, % PEP 0 0 0 1 -1 -0.6, % AcCoA 1 0 0 0 0 -1]; % C30H47O26Na

[m q]=size(A); % m=mmero de metablitos e q=nmero de fluxos r=rank(A)%nmero de equaes independentes %como r=m=u estamos numa situao no redundante (u=nmero de fluxos desconhecidos)

in=[2 3 4 5]; %

fluxos desconhecidos

ib=[1 6 7]; % fluxos medidos An=A(:,in); % Matriz dos fluxos desconhecidos Ab=A(:,ib); % Matriz dos fluxos conhecidos size(An); Vb=[2.04 1.44 0.24]'; % valores dos fluxos medidos Sb=[0.005 0.02 0.01]'; % desvio padro

Yb=diag(Sb.^2); % varincia=(desvio padro)^2 Vberro=Vb+Yb*randn(length(Vb),1) %adicionar erro experimental disp('MFA without experimental error information') Vn=-pinv(An)*Ab*Vberro % surge a matriz de vn com os erros aleatrios considerados em vb disp('MFA by weighted least squares') R=Ab-An*pinv(An)*Ab; % Matriz redundncia Y=R*Yb*R'; Y=diag(diag(Y)); Vn=-inv(An'*inv(Y)*An)*An'*inv(Y)*Ab*Vberro Yn=diag(pinv(An)*Ab*Yb*(pinv(An)*Ab)'); % varincia dos fluxos calculados=pinv(An)*Ab*Yb*(pinv(An)*Ab)' Sn=Yn.^0.5 %tem de ser aplicado o ^0.5 porque temos de ter os valores dos desvios padres disp('Consistency index test') f=m-length(Vn); x2_val=chi2inv(0.95,f) e=An*Vn+Ab*Vb; % erro h=e'*inv(Y)*e % indice de consistncia disp(sprintf('consistency index value: %f',h)) disp(sprintf('number of degrees of freedom: %u', f)) disp(sprintf('chisquare(0.95, %u) = %f',f,x2_val)) if h<x2_val disp('consistency index OK') else disp('consistency index NOT OK') end

end %-----------------------------------------------------------------------% 'mfafun' is an argument to the fmincon; it is a function that calaculates % the error to be minimized over optimization degrees of freedom, % in the present problem the objective is to minimize the consistency value % h by manipulating the values of Vn %-----------------------------------------------------------------------function h = mfafun(Vn) global An global Ab global Vb global Y e = An*Vn + Ab*Vb; h = e'*inv(Y)*e; %--------------------------------------------------------------------end %---------------------------------------------------------------------

Problema_2_2 - Sistema Redundante optimizado


function Problema_2_2 global An global Ab global Vb global Y % V- s A=[1 0 0 0 0 1 2 3 4 5 p -5 -1 0 0 0 0, % Glc-6-P 0 1 1 -1 0 0,%Pyr 0 1 -1 0 0 -0.38, % PEP 0 0 0 1 -1 -0.6, % AcCoA 1 0 0 0 0 -1]; % C30H47O26Na

[m q]=size(A); % m=mmero de metablitos e q=nmero de fluxos r=rank(A)%nmero de equaes independentes %como r=m=u estamos numa situao no redundante (u=nmero de fluxos desconhecidos) in=[2 3 4 5]; % fluxos desconhecidos

ib=[1 6 7]; % fluxos medidos An=A(:,in); % Matriz dos fluxos desconhecidos Ab=A(:,ib); % Matriz dos fluxos conhecidos size(An); Vb=[2.04 1.44 0.24]'; % valores dos fluxos medidos

Sb=[0.005 0.02 0.01]';

% desvio padro

Yb=diag(Sb.^2); % varincia=(desvio padro)^2 Vberro=Vb+Yb*randn(length(Vb),1) %adicionar erro experimental disp('MFA without experimental error information') Vn=-pinv(An)*Ab*Vberro % surge a matriz de vn com os erros aleatrios considerados em vb disp('MFA by weighted least squares') R=Ab-An*pinv(An)*Ab; % Matriz redundncia Y=R*Yb*R'; Y=diag(diag(Y)); Vn=-inv(An'*inv(Y)*An)*An'*inv(Y)*Ab*Vberro Yn=diag(pinv(An)*Ab*Yb*(pinv(An)*Ab)'); % varincia dos fluxos calculados=pinv(An)*Ab*Yb*(pinv(An)*Ab)' Sn=Yn.^0.5 %tem de ser aplicado o ^0.5 porque temos de ter os valores dos desvios padres options = optimset('GradObj','off','LargeScale','off','Display','iter'); Vn_0=Vn; Vn=fminunc(@mfafun,Vn_0,options); %,A,B,Aeq,Beq Vn disp('Consistency index test') f=m-length(Vn); x2_val=chi2inv(0.95,f) e=An*Vn+Ab*Vb; % erro h=e'*inv(Y)*e % indice de consistncia disp(sprintf('consistency index value: %f',h)) disp(sprintf('number of degrees of freedom: %u', f)) disp(sprintf('chisquare(0.95, %u) = %f',f,x2_val)) if h<x2_val disp('consistency index OK') else disp('consistency index NOT OK') end end

%-----------------------------------------------------------------------% 'mfafun' is an argument to the fmincon; it is a function that calaculates % the error to be minimized over optimization degrees of freedom, % in the present problem the objective is to minimize the consistency value % h by manipulating the values of Vn %-----------------------------------------------------------------------function h = mfafun(Vn) global An global Ab global Vb global Y e = An*Vn + Ab*Vb; h = e'*inv(Y)*e; %--------------------------------------------------------------------end %---------------------------------------------------------------------

Vous aimerez peut-être aussi