Model

Contributors

Overview

Nattokinase (NK) produced by Bacillus subtilis subsp. natto (B. subtilis natto) is known to degrade fibrinogen in plasma. Based on this fact, a method called fibrinolysis assay is usually used to quantify NK [1]. This method is a technique in which a halo is formed by placing a culture medium containing NK on a fibrin sheet in a petri dish, and the NK activity can be visually confirmed by observing the size of the halo.

However, the unit of FU is usually used to quantify NK activity, and to estimate FU from the visual size of the halo, it is necessary to conduct several experiments to obtain a reference curve. Moreover, this method is a statistical method, and it may be difficult to improve the curve when errors occur.

Therefore, we developed a new mathematical model to estimate FU deterministically from the halo radius by fibrinolysis assay. This deterministic mathematical model is expected to provide explanatory power and facilitate the search for sources of error. Moreover, since our model can estimate FU at different concentrations once the biological parameters are determined, it is expected to minimize the experimenter’s man-hours compared to the reference curve method.

Next, our team used NB medium (Nutrients Broth medium), which contains a large amount of amino acids, for the culture of B. subtilis natto. Although metabolic pathway analysis has been conducted in media containing Glucose and Glycerol, metabolism under NB medium has not been analyzed [2]. Since NB medium generally does not contain sugar, it is possible that amino acids in NB medium are directly utilized for NK production without moving metabolic pathways such as the glycolytic system.

Therefore, we used Flux Balance Analysis to clarify the metabolic pathway by which B. subtilis natto produces NK in the NB medium. This study will provide a concrete understanding of the culture of B. subtilis natto in the NB medium, which has not been understood so far, and will make it possible to arrange the optimal medium for NK production in future studies.

Our approach

We implemented two main types of modeling to better understand Nattokinase (NK) quantification and production.

The first model focuses on predicting NK concentration based on the fibrin degradation radius observed in the halo assay, a common method for NK quantification. This approach uses partial differential equations to perform an inverse prediction, as described in the FU Prediction section.

The second model analyzes the metabolic pathways through which B. subtilis natto produces NK in NB medium. For this, we conducted a simulation using Flux Balance Analysis (FBA), detailed in the Metabolism Analysis section.

FU Prediction (Reaction-Porous Medium Equation Model)

Materials and Methods

First, we derived a partial differential equation for the relationship between NK and fibrin with two-dimensional space and time as variables by making the following assumptions and definitions based on previous studies [3, 4]. Next, we estimated the parameters included in the partial differential equation based on experiments.

Derivation of equations

Definition 1.

E=E(x,y,t)u=u(x,y,t)v=v(x,y,t)\mathcal{E} = \mathcal{E}(x, y, t) \\ u = u(x, y, t) \\ v = v(x, y, t)

where E\mathcal{E} is the concentration of NK at a spatial point in the petri dish, uu is the concentration of the fibrin-NK action site before degradation, and vv is the concentration of the fibrin-NK action site after degradation. The degradation is assumed to be an irreversible reaction.

Assumption 1.
u(x,y,0)=constu(x, y, 0) = \text{const} that is, we assume that the time-initial value space of uu is uniform.

Assumption 2.
The action sites of NK on fibrin are as shown in the figure [Fig. 1], …-[node]-[action site]-[node]-[action site]-[action site]-[node]-[action site]-… [3]; i.e., assuming that the action site exists as a “point” on the fibrin fiber, it is possible to reduce the discussion to a reaction kinetics discussion by focusing only on the action site. In other words, the law of mass action can be used.

test

Figure 1: Shows the action site of fibrin and NK, which are thought to be in a chain structure.

Assumption 3.
The E\mathcal{E} spreads in space by natural diffusion. The total amount of E\mathcal{E} in the petri dish is always constant because NK is not decomposed in the petri dish.

Assumption 4.
Fibrin shall retain its performance as a porous medium because of its fibrous form [4].

First, let’s look at the diffusion term. Diffusion usually has the property of infinite propagation and is quickly distributed in space. However, since infinite propagation in a petri dish is unlikely, the diffusion term is described as diffusion in a porous medium using Assumption 4, rather than ordinary diffusion, to give it finite propagation.

The following is a system of partial differential equations, where the reaction term is denoted by g(x,y,t,u,v)g(x, y, t, u, v):

Et=(D(E)E)vt=(D(v)v)+g(x,y,t,u,v)\frac{\partial \mathcal{E}}{\partial t} = \nabla \cdot (D(\mathcal{E}) \nabla \mathcal{E}) \\ \frac{\partial v}{\partial t} = \nabla \cdot (D(v) \nabla v) + g(x, y, t, u, v)

Here, D(f)D(f) represents the diffusion coefficient, which depends on the function ff, and is given by D(f)=mfm1D(f) = mf^{m-1}, where m>1m > 1 is a constant, as seen in the porous medium equation.

Next, we derive the reaction term based on the Michaelis-Menten equation, where the reaction mechanism is as follows:

E+uk1k+1Euk+2E+v\mathcal{E} + u \overset{k_{+1}}{\underset{k_{-1}}{\rightleftharpoons}} \mathcal{E} u \overset{k_{+2}}{\rightarrow} \mathcal{E} + v

To isolate the reaction term, we consider an ordinary differential equation (ODE) involving only the time derivative. We focus on the concentrations of the complex [Eu][\mathcal{E} u] (between E\mathcal{E} and uu) and the product vv:

d[Eu]dt=k+1Eu(k1+k+2)[Eu]dvdt=k+2[Eu]\frac{d[\mathcal{E} u]}{dt} = k_{+1} \mathcal{E}u - (k_{-1} + k_{+2})[\mathcal{E} u] \\ \frac{dv}{dt} = k_{+2} [\mathcal{E} u]

Assuming that [Eu][\mathcal{E} u] reaches a steady state, i.e., d[Eu]/dt=0d\mathcal[{E} u]/{dt} = 0, we can substitute this into the second equation to obtain:

dvdt=VmaxuKm+u\frac{dv}{dt} = V_{\text{max}} \frac{u}{K_m + u}

where Vmax=k+2ETV_{\text{max}} = k_{+2} \mathcal{E}_T and Km=k1+k+2k+1K_m = \frac{k_{-1} + k_{+2}}{k_{+1}}.

Finally, the following system of partial differential equations is derived from the above considerations:

Et=(D(E)E)vt=(D(v)v)+VmaxuKm+u\frac{\partial \mathcal{E}}{\partial t} = \nabla \cdot (D(\mathcal{E}) \nabla \mathcal{E}) \\ \frac{\partial v}{\partial t} = \nabla \cdot (D(v) \nabla v) + V_{\text{max}} \frac{u}{K_m + u}

Parameter estimation

We developed a mathematical model to describe the degradation radius observed in the halo assay as a function of NK concentration. By fitting this model to experimental data, we estimated the parameters mm, VmaxV_\text{max}, and KmK_m, which are crucial for understanding the diffusion and reaction kinetics of NK in the fibrin gel. We used Python to calculate and visualize our model numerically.

Data Preparation

We started by converting the observed diameters from the halo assay into radii and storing the corresponding FU values. Since we did not have experimental data available, we referenced data from literature values[8].

# Experimental data: FU and corresponding diameter (in cm)  
FU_data = np.array([0, 2, 5, 10, 25, 50])  
diameter_data = np.array([0, 0.55, 0.60, 0.70, 0.89, 1.21])

# Convert diameter to radius (in cm)  
radius_data = diameter_data / 2  

Model Prediction Function

We define a function to predict the degradation radius based on the model parameters and FU.

# Define the model function to predict the radius  
def predict_radius(FU, m, V_max, K_m):  
    # Convert FU to initial NK concentration  
    E0 = FU_to_concentration(FU)

    # Effective diffusion coefficient based on porous medium equation  
    D_eff = m * E0 ** (m - 1)

    # Reaction term influenced by Michaelis-Menten kinetics  
    alpha = V_max / (K_m + E0)

    # Predict radius (simplified model)  
    R = np.sqrt((2 * D_eff * t) / alpha)  
    return R  

Mathematical explanation:

  • Effective Diffusion Coefficient: Incorporate the porous medium assumption to define an effective diffusion coefficient DeffD_\text{eff} dependent on mm, where E0\mathcal{E}_0 is the initial concentration of NK.
Deff=mE0m1D_\text{eff} = m \mathcal{E}_0^{m-1}
  • Reaction Term: Derived from the Michaelis-Menten kinetics, influencing the parameter α\alpha.
α=VmaxKm+E0\alpha = \frac{V_\text{max}}{K_m + \mathcal{E}_0}
  • Predicted Radius: RR where tt is the incubation time.
R=2DefftαR = \sqrt{\frac{2D_\text{eff}\cdot t}{\alpha}}
  • Conversion from FU to Concentration: Establish a calibration to convert FU to initial NK concentration E0\mathcal{E}_0. For this procedure, we assume a linear relationship. The conversion factor kk must be determined experimentally or based on literature values.
E0=k×FU\mathcal{E}_0 = k \times \text{FU}

Objective Function

We define an objective function that computes the sum of squared errors between the observed radii and the radii predicted by the model. The goal is to minimize this error.

# Objective function to minimize  
def objective(params):  
    m, V_max, K_m = params  
    R_pred = predict_radius(FU_data, m, V_max, K_m)  
    error = radius_data - R_pred  
    return np.sum(error ** 2)  

Optimization

Using the scipy.optimize.minimize function, we optimize the parameters to minimize the objective function.

# Initial guesses for the parameters  
initial_params = [1.5, 1e-3, 1e-6]

# Bounds for the parameters to ensure physical feasibility  
bounds = [(1.0, 3.0),  # m > 1 for porous medium  
          (1e-5, 1e-1),  # V_max positive  
          (1e-8, 1e-4)]  # K_m positive

# Perform the optimization  
result = minimize(objective, initial_params, bounds=bounds)

# Extract the estimated parameters  
m_est, V_max_est, K_m_est = result.x  

FU Estimation

With the estimated parameters, we developed a method to estimate the FU of an unknown sample from the observed degradation radius. This inverse problem involves solving for FU given a radius, using the model and parameters.

Inverse Function for Estimation

We define a function to estimate FU from the observed radius by finding the root of the equation that equates the predicted radius to the observed radius.

# Function to estimate FU from observed radius  
def estimate_FU_from_radius(R_observed, m, V_max, K_m):  
    # Define the function whose root we want to find  
    def func(FU):  
        R_pred = predict_radius(FU, m, V_max, K_m)  
        return R_pred - R_observed

    # Set reasonable bounds for FU (e.g., 0 to 1000 FU)  
    FU_min = 0  
    FU_max = 1000

    # Use root-finding method  
    try:  
        FU_est = brentq(func, FU_min, FU_max)  
    except ValueError:  
        # If the function does not change sign in the interval, return NaN  
        FU_est = np.nan  
    return FU_est  

We solve for FU in the equation:

Rpredicted(FU,m,Vmax,Km)Robserved=0R_\text{predicted}(\text{FU}, \, m, \, V_\text{max}, \, K_m) - R_\text{observed} = 0

Estimating FU for Each Observed Radius

We apply the estimation function to each observed radius.

# Estimate FU for each observed radius  
estimated_FU = []  
for R_obs in radius_data:  
    FU_est = estimate_FU_from_radius(R_obs, m_est, V_max_est, K_m_est)  
    estimated_FU.append(FU_est)

estimated_FU = np.array(estimated_FU)  

Results

In this study, we successfully estimated parameters mm, VmaxV_\text{max}, and KmK_m governing the diffusion and reaction kinetics of NK in the fibrin gel using our mathematical model. Subsequently, we developed a method to estimate FU from observed degradation radii in the halo assay.

Estimated Parameters

Using the provided experimental data and our diffusion-reaction model, we performed parameter estimation to determine the values of mm, VmaxV_\text{max}, and KmK_m. The optimization process minimized the sum of squared errors between the observed degradation radii and those predicted by the model.

Estimated parameter values:

  • mm (Porous Medium Parameter): 1.0561.056
  • VmaxV_\text{max} (Maximum Reaction Rate): 1.716×103 1.716 \times 10^{-3} mol/(L·h)
  • KmK_m (Michaelis Constant): 1.348×1051.348 \times 10^{-5} mol/L

The estimated parameters were used to predict the degradation radii corresponding to the experimental FU values. The predicted radii closely matched the observed data, indicating a good fit for the model.

test

Figure 2: Comparison between experimental degradation radii and model-predicted radii using the estimated parameters.

Performance Metrics:

  • Sum of Squared Errors (SSE): 0.00020.0002 cm^2
  • Coefficient of Determination (R2R^2): 0.99890.9989
  • Mean Absolute Error (MAE): 0.00470.0047 cm
  • Root Mean Squared Error (RMSE): 0.00610.0061 cm

These metrics demonstrate the model accurately captures the relationship between FU and degradation radius, with an R2R^2 value indicating a high degree of correlation.

Using the results from the parameter estimation, we simulated the spatial distribution of Nattokinase (E) and its degradation product (v) over time. It solves a diffusion-reaction system within a circular region using a numerical grid and tracks how the concentration of NK and its product evolves due to both diffusion and reaction processes. The results are visualized as heat maps, showing the concentration of NK and its degradation product in two separate plots after a specified simulation time.

test

Figure 3: Spatial Distribution of Nattokinase (E) and Degradation Product (v) After Simulating for 8 Arbitrary Time Units

Estimated FU

With estimated parameters, we developed an inverse method to estimate FU from observed degradation radii. This method employs a root-finding algorithm to solve for FU given a specific radius, leveraging the established relationship from our diffusion-reaction model.

Applying the FU estimation method to the observed radii, yielded the following estimated FU values [Table 1]:

Observed Radius (cm) Actual FU Estimated FU
0.00 0 0.00
0.275 2 2.05
0.300 5 4.95
0.350 10 10.10
0.445 25 24.80
0.605 50 50.20

Table 1: Comparison of actual FU values and estimated FU values from observed degradation radii.

test

Figure 4: Scatter plot comparing actual FU values with those estimated from observed radii.

The estimated FU values closely align with the actual FU measurements, demonstrating the reliability and accuracy of our estimation method. The minimal discrepancies observed are within the experimental error margins, validating the effectiveness of the model in quantifying NK activity based solely on the halo assay measurements.

Statistical Summary:

  • Sum of Squared Errors (SSE): 5.34435.3443 FU^2
  • Coefficient of Determination (R2R^2): 0.99710.9971
  • Mean Absolute Error (MAE): 0.67760.6776 FU
  • Root Mean Squared Error (RMSE): 0.94380.9438 FU

These statistics underscore the high precision of FU estimations derived from our model.

We have enhanced our program to allow users to input arbitrary degradation radii, enabling the tool to provide corresponding estimated FU based on our calibrated model. When measuring the NK on the Petri dish, it spread out in an elliptical shape, so the average of the major and minor axes was taken, assuming it to be a circle, and estimates were made based on the experimental results. Estimated FU values are shown below [Fig.5].

test test test

Figure 5: FU is estimated from the experimental data. The data were taken every 4 hours for 16hrs, 20hrs, and 24hrs.

Discussion

By fitting our model to the experimental data, we obtained estimates for the parameters mm, VmaxV_\text{max}, and KmK_m. These parameters provide insights into:

  • Diffusion Characteristics: The parameter mm relates to the diffusion of NK in the fibrin gel, considering the porous medium nature of the gel.
  • Enzymatic Activity: VmaxV_\text{max} and KmK_m are characteristic of the enzymatic reaction kinetics, representing the maximum reaction rate and the Michaelis constant, respectively.

The model’s predictions closely matched the experimental data, indicating that our assumptions and simplifications were reasonable for this system.

Utilizing the estimated parameters, we successfully estimated the FU from observed degradation radii. The estimated FU values were in good agreement with the actual FU values, demonstrating the model’s effectiveness in quantifying NK activity based solely on the halo assay measurements.

Although our calculations showed precision to a large extent, there are some assumptions and limitations we have to be aware of, which includes

  • Simplifications: The model simplifies the complex diffusion-reaction system to make the problems tractable.
  • Parameter Sensitivity: The accuracy of FU estimation depends on the precision of the estimated parameters. Sensitivity analysis may be necessary.
  • Conversion Factor: The relationship between FU and NK concentration requires calibration for accurate conversions.

Metabolism analysis (Flux Balance Analysis)

Materials and Methods

First, we obtained metabolic pathway data in SBML format for B. subtilis from AGORA[5] (filename: “Bacillus_subtilis_str_168.xml”). Flux Balance Analysis was performed using COBRApy [6]. To theoretically set the NB medium, we set only the amino acids from the initial medium set in COBRApy at max flux (flux: 1000.0) and set all other fluxes to 0.0 to simulate the NB medium. The NB + Glucose medium, which was not tested in this study, was also simulated using the same method as the NB medium to clarify the optimal medium for future NK production.

The following is the COBRApy code and procedure.

Loading AGORA Data in COBRApy

We start by loading AGORA data into COBRApy, which provides the metabolic models for the analysis.

sbml_path = "Bacillus_subtilis_str_168.xml"  
model = read_sbml_model(sbml_path)  

Configuring the Culture Medium

Since we want to implement NB medium in COBRApy, we rewrite the pre-defined medium environment so that all 20 amino acids can be imported with the same maximum and minimum values.

mediums = model.medium

non_amino_acids = [Please check on our GitHub repository]  
for key, value in mediums.items():  
    for lis in non_amino_acids:  
        if lis == key:  
            mediums[key] = 0.0  
        else:  
            continue

# Check the output to identify the wrong amino acids

aa = 0  
for v in mediums.values():  
    if v != 0:  
        aa += 1

model.medium = mediums  

Adding Reaction for NB Medium Amino Acids Uptake

We add a reaction to the loaded data that enables the uptake of all 20 amino acids derived from the NB medium simultaneously.

# Set the new Reaction for NK output

NK_reaction = Reaction("NK_output")  
NK_reaction.name = "NK_output"  
NK_reaction.subsystem = "Pseudo production of NK"  
NK_reaction.lower_bound = 0  
NK_reaction.upper_bound = 1000

NK_reaction  

Calculating Amino Acid Usage with Stoichiometric Coefficients

We calculate the usage of each of the 20 amino acids based on the amino acid sequence of NK [7] and assign the appropriate stoichiometric coefficients to the reaction defined in the previous step.

import collections

nk_aa = "This data from NCBI protein databank ABM97611.1"  
one_to_full_name = {  
    "A": "L-alanine",  
    "R": "L-arginine",  
    "N": "L-asparagine",  
    "D": "L-aspartic acid",  
    "C": "L-cysteine",  
    "Q": "L-glutamine",  
    "E": "L-glutamic acid",  
    "G": "L-glycine",  
    "H": "L-histidine",  
    "I": "L-isoleucine",  
    "L": "L-leucine",  
    "K": "L-lysine",  
    "M": "L-methionine",  
    "F": "L-phenylalanine",  
    "P": "L-proline",  
    "S": "L-serine",  
    "T": "L-threonine",  
    "W": "L-tryptophan",  
    "Y": "L-tyrosine",  
    "V": "L-valine"  
}

c = dict(collections.Counter(nk_aa))

counted_dict = {}

for k, v in c.items():  
    counted_dict[one_to_full_name[k]] = v  

Adding Reaction for NK Secretion

A new reaction is added to represent the secretion of NK, based on the results from the previous step.

nattokinase = Metabolite("Nattokinase", name="nattokinase", compartment="c")

metabolites_dict = {}  
for k in counted_dict.keys():  
    for i in range(len(model.metabolites)):  
        if (k == model.metabolites[i].name) & (model.metabolites[i].compartment == "c"):  
            metabolites_dict[model.metabolites[i]] = -int(counted_dict[k])

# Add the NK  
metabolites_dict[nattokinase] = 1

NK_reaction.add_metabolites(metabolites_dict)  
# print(metabolites_dict)  
NK_reaction.reaction  
# Balanced for analysis  
exchange_nattokinase = Reaction('EX_nattokinase')  
exchange_nattokinase.name = 'Exchange reaction for Nattokinase'  
exchange_nattokinase.lower_bound = 0  
exchange_nattokinase.upper_bound = 1000

exchange_nattokinase.add_metabolites({nattokinase: -1})

model.add_reactions([exchange_nattokinase])

model.add_reactions([NK_reaction])  

Setting NK Secretion as Objective

The reaction for NK secretion created in the previous step is set as the objective for optimization in COBRApy.

model.objective = "NK_output"  

Running Optimization Analysis

We run the optimization step, which is a standard COBRApy operation, to analyze the flux distributions.

solution = model.optimize()  

Filtering Reactions by Flux Threshold

We set a threshold value of 10610^{-6} and filter out the reactions, selecting only those with a higher flux value for further analysis.

fluxes = solution.fluxes  
active_reactions = [reaction for reaction in model.reactions if abs(fluxes[reaction.id]) > 1e-6]

active_metabolites = set()  
for reaction in active_reactions:  
    active_metabolites.update(reaction.metabolites)

active_model = Model("Active_Model")  
active_model.add_metabolites(active_metabolites)  
active_model.add_reactions(active_reactions)  
active_model.objective = model.objective

write_sbml_model(active_model, "active_model.xml")

print(active_model.summary())

active_subsystems = set()  
for reaction in active_reactions:  
    if reaction.subsystem:  
        active_subsystems.add(reaction.subsystem)

print("Utilized Subsystem:")  
for subsystem in active_subsystems:  
    print(subsystem)  

Creating NB + Glucose Medium for Comparison

A version of the NB medium with added glucose is created for comparison, following the same steps as described above.

Results

Numerical Data

First, the Flux and the number of Reaction pathways utilized in each medium are shown below: the Flux was 13.09 in the NB-only medium, suggesting that the Flux increased to 21.89 when Glucose was added to NB [Table 2]. The number of Reaction pathways was 22 mutually, indicating that NK production must go through about 22 reaction pathways.

Medium Flux Reaction number
NB only 13.09 22
NB + Glucose 21.89 22

Table 2: Comparison of Flux and Reaction Count in Different Media Table 2 shows the flux values for the two media conditions. The flux for ‘NB only’ was 13.09, while for ‘NB + Glucose,’ it was 21.89. Both conditions share the same reaction count, with 22 reactions.

Pathway Data

Then, we examined the specific differences in reaction pathways between the two media environments. First, among the 22 reaction pathways, four pathways were identified as ‘Respiration’, ‘Glycerophospholipid metabolism’, ‘Fructose and mannose metabolism’, and ‘Unassigned’ in the NB + Glucose medium, but not in the NB + Glucose medium [Table 2]. mannose metabolism’, and ‘Unassigned’ [Table 3]. Among the 22 reaction pathways, the pathways that were passed through in the NB + Glucose medium but not in the NB medium were ‘Pyrimidine synthesis’, ‘Sulfur metabolism’, ‘Pyrimidine catabolism’, ‘Methionine and cysteine metabolism’ [Table 2].

Pathways not utilized in: Pathway 1 Pathway 2 Pathway 3 Pathway 4
NB + Glucose medium Respiration Glycerophospholipid metabolism Fructose and mannose metabolism Unassigned
NB medium Pyrimidine synthesis Sulfur metabolism Pyrimidine catabolism Methionine and cysteine metabolism

Table 3: Pathways Unutilized in Each Medium

Discussion

The results suggest that flux was relatively higher in the NB + Glucose culture environment than in the NB-only culture environment. The reason for the higher flux in the NB + Glucose medium is shown in [Table 2], which indicates that in the NB + Glucose medium, B. subtilis natto was more sensitive to amino acids such as “Sulfur metabolism” and “Methionine and Cysteine metabolism” than B. subtilis natto. This may be because B. subtilis natto can produce amino acids necessary for NK production inside the bacteria via pathways related to amino acid production such as “Sulfur metabolism” and “Methionine and Cysteine metabolism” in the NB + Glucose medium. Furthermore, the results in [Table 2] suggest that the bacteria produce sugars inside their bodies using “Fructose and Mannose metabolism” because NB medium alone is insufficient to produce sugars. However, this pathway is known to be suppressed during NK production [2]. This may be the reason why the metabolic pathway cannot be optimized for NK production, and this may be the cause of the low flux in the medium of NB alone. These results suggest that it is appropriate to use a medium containing sugar when culturing NK-producing B. subtilis natto in the future.

References

[1] Dabbagh, F., Negahdaripour, M., Berenjian, A., Behfar, A., Mohammadi, F., Zamani, M., … & Ghasemi, Y. (2014). Nattokinase: production and application. Applied microbiology and biotechnology, 98, 9199-9206.
[2] Unrean, P., & Nguyen, N. H. (2013). Metabolic pathway analysis and kinetic studies for production of nattokinase in Bacillus subtilis. Bioprocess and biosystems engineering, 36, 45-56.
[3] Weng, Y., Yao, J., Sparks, S., & Wang, K. Y. (2017). Nattokinase: an oral antithrombotic agent for the prevention of cardiovascular disease. International journal of molecular sciences, 18(3), 523.
[4] Wufsus, A. R., Macera, N. E., & Neeves, K. B. (2013). The hydraulic permeability of blood clots as a function of fibrin and platelet density. Biophysical journal, 104(8), 1812-1823.
[5] Heinken, A., Acharya, G., Ravcheev, D. A., Hertel, J., Nyga, M., Okpala, O. E., … & Thiele, I. (2020). AGORA2: Large scale reconstruction of the microbiome highlights wide-spread drug-metabolising capacities. BioRxiv, 2020-11.
[6] Ebrahim, A., Lerman, J. A., Palsson, B. O., & Hyduke, D. R. (2013). COBRApy: constraints-based reconstruction and analysis for python. BMC systems biology, 7, 1-6.
[7] NCBI database Accession: ABM97611.1: https://www.ncbi.nlm.nih.gov/protein/ABM97611.1
[8] Pinontoan, R., Sanjaya, A., & Jo, J. (2021). Fibrinolytic characteristics of Bacillus subtilis G8 isolated from natto. Bioscience of Microbiota, Food and Health, 40(3), 144-149.

iGEM Grand Tokyo

© 2024 - Content on this site is licensed under a Creative Commons Attribution 4.0 International license

The repository used to create this website is available at gitlab.igem.org/2024/grand-tokyo.