sysbiolux / rFASTCORMICS

GNU Lesser General Public License v3.0
5 stars 0 forks source link

FASTCORMICS removes reactions set in optional_settings.func #3

Closed CadavidJoseL closed 3 years ago

CadavidJoseL commented 3 years ago

Hello,

I've been using the optional settings of FASTCORMICS to force the reconstruction to include reactions needed to perform some metabolic tasks, and have found that the final reconstruction often does not include all reactions in settings.func. Any idea of what might be going on? I am using HUMAN1 after fastcc, and leaving the transport and exchange reactions unpenalized; no medium constraint.

Thanks!

mariapirespacheco commented 3 years ago

Hi, yes, sometimes the constraints do not allow the biomass other functions to carry flux. Because one metabolite is missing in the medium. But what can also happen is that the flux gets too low and cplex ( due to the tolerance) thinks it is off. One thing to try multiply the bounds by 10000 another just content your models with medium so without using rFASTCORMICS and then run Fastcc if the biomass is not in that means that a metabolite is missing. Maria

Le mar. 21 sept. 2021 à 04:21, Jose L. Cadavid @.***> a écrit :

Hello,

I've been using the optional settings of FASTCORMICS to force the reconstruction to include reactions needed to perform some metabolic tasks, and have found that the final reconstruction often does not include all reactions in settings.func. Any idea of what might be going on? I am using HUMAN1 after fastcc, and leaving the transport and exchange reactions unpenalized; no medium constraint.

Thanks!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/sysbiolux/rFASTCORMICS/issues/3, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABKTGWNFMWLJMPK2IMCZZDDUC7T4HANCNFSM5ENIYD3A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

CadavidJoseL commented 3 years ago

Hi,

Thanks for your answer. I am not constraining the process with any medium so all the metabolites are there. What I found is that when I don't include the "unpenalized" field all of the reactions in "func" are indeed included. After line 141 (A = fastcore_4_rfastcormics(B, model, epsilon, C);) the rxns in "func" are incorporated into the set C, but some of them are removed because my guess is that they are not expressed or are part of an unpenalized system?

mariapirespacheco commented 3 years ago

Yes. The unpenalized are more for transporters reactions systems that should not force in as the genes control lots of reactions so the philosophy is to include them only if you need them. The priority is Core unpenalized and then non -core.

On Tue, 21 Sept 2021 at 14:23, Jose L. Cadavid @.***> wrote:

Hi,

Thanks for your answer. I am not constraining the process with any medium so all the metabolites are there. What I found is that when I don't include the "unpenalized" field all of the reactions in "func" are indeed included. After line 141 (A = fastcore_4_rfastcormics(B, model, epsilon, C);) the rxns in "func" are incorporated into the set C, but some of them are removed because my guess is that they are not expressed or are part of an unpenalized system?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sysbiolux/rFASTCORMICS/issues/3#issuecomment-923932935, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABKTGWOLHG4QRD2IRLA2JXLUDB2MRANCNFSM5ENIYD3A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

CadavidJoseL commented 3 years ago

That makes sense! However, sometimes to satisfy metabolic tasks we need to force those transporter reactions to be in the core set. I modified the code like this:

%% Establishment of the reactions in the core set

[~, ~, IB] = intersect(model_input.rxns(C), model_output.rxns); C = IB; %Removal of transporters from the core set

t_keep = []; if ~isempty(optional_settings)&& isfield(optional_settings, 'unpenalized'); t_keep = find(ismember(model_output.rxns(C),optional_settings.unpenalized)); t_keep = C(unique(t_keep)); end C = setdiff(C,t_keep); if ~isempty(function_keep) func_keep = find(ismember(model_output.rxns,function_keep)); C = union(C, func_keep); end

I added the last four lines to override some of the unpenalized reactions that might have been excluded and put them back again in the core set. This has solved the issue and leads to functional models. Thanks again!

mariapirespacheco commented 3 years ago

Yes seems ok to me. You can of course remove reactions from the unpenalized set and pass them to the core

On Tue, 21 Sept 2021 at 15:40, Jose L. Cadavid @.***> wrote:

That makes sense! However, sometimes to satisfy metabolic tasks we need to force those transporter reactions to be in the core set. I modified the code like this:

%% Establishment of the reactions in the core set

[~, ~, IB] = intersect(model_input.rxns(C), model_output.rxns); C = IB; %Removal of transporters from the core set

t_keep = []; if ~isempty(optional_settings)&& isfield(optional_settings, 'unpenalized'); t_keep = find(ismember(model_output.rxns(C),optional_settings.unpenalized)); t_keep = C(unique(t_keep)); end C = setdiff(C,t_keep); if ~isempty(function_keep) func_keep = find(ismember(model_output.rxns,function_keep)); C = union(C, func_keep); end

I added the last four lines to override some of the unpenalized reactions that might have been excluded and put them back again in the core set. This has solved the issue and leads to functional models. Thanks again!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sysbiolux/rFASTCORMICS/issues/3#issuecomment-924000431, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABKTGWK57CPCC74H4IUE3ATUDCDMVANCNFSM5ENIYD3A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.