This is a test version of Biostars. For the public version, visit https://www.biostars.org.
iMAT (integrative metabolic análisis tool) - MATLAB

Hi Everyone! I'm a MatLab begginner and I'd like run the iMAT plugin to reach a comparative proteomic analysis. My input is an Excel file with data about 2 growth conditions: Wildtype and Fe-growth.

initCobraToolbox(false)
changeCobraSolver('gurobi');

% Load the expression data from an Excel file
expressionDataFile = 'C:\Users\usuario\cobratoolbox\160824_BP-Fe.xlsx';  % Replace with the correct path
[num, txt, raw] = xlsread(expressionDataFile);

% Load the model .mat file
modelFile = 'C:\Users\usuario\cobratoolbox\iBP1870.mat'; 
load(modelFile);

% Select the columns I want to analyze from the Excel file
geneNames = txt(2:end, 3);
expressionLevels = num(:, 17);

% Check if there are any cells with NaN values
nanIndices = isnan(expressionLevels);
if any(nanIndices)
    warning('There are %d NaN values in the expression levels.', sum(nanIndices));
end

% Remove NaN values from the expression data
expressionLevels = expressionLevels(~any(isnan(expressionLevels), 2), :);

% Assuming `nanIndices` is the index of the elements that were NaN in expressionLevels
% and that you have already used it to remove the NaN values:
% Create indices that are NOT NaN
nanIndices = ~isnan(expressionLevels);

% Filter geneNames using nanIndices, i.e., removing gene names that returned NaN values
filteredGeneNames = geneNames(nanIndices);

% Filter genes and expression levels that are in model.genes
isMember = ismember(filteredGeneNames, model.genes);
if any(~isMember)
    warning('Some genes in expressionDataadjusted are not in model.genes');
end

filteredGenes = filteredGeneNames(isMember);

% Run this:
expressionRxns = mapExpressionToReactions(model, filteredGenes, filteredExpressionLevels);

% Set the expression level thresholds
threshold_ub = 50.0; % Upper threshold for expression levels
threshold_lb = 5.0;  % Lower threshold for expression levels

% This is where I run iMAT:
tissueModel = iMAT(model, expressionRxns, threshold_lb, threshold_ub);

tissueModel = iMAT(model, expressionRxns, threshold_lb, threshold_ub);
Warning: There are 216 NaN values in the expression levels. 
Warning: Some genes in expressionDataadjusted are not in model.genes 
RHindex:
          53
          55
          81
         156
         184
         197
........
RLindex:
           1
           3
           4
           5
           6
           7
           9
          10
          11
          18
          19
          20
          21
          22


        1652
        1653
        1655
        1656
        1658
        1660
        1662
        1664
        1665
        1666
        1667
        1668
        1669
        1672

Verificando lb y ub para NaN o Inf...
Error using iMAT (line 61)
Vector ub contiene NaN o Inf valores

However, I can't run this code because I keep getting error messages relationated to RHindex. There is not Nan o Inf values. It was checked Someone knows how it can solve?

Thanks a lot

DEb

imat matlab

0 answers

No answers yet.

Log in to answer this question.