From ea9c52bb7d300e724b7b704c806f651d3ba5cc3a Mon Sep 17 00:00:00 2001 From: Johannes Hjorth Date: Mon, 25 Nov 2024 13:56:53 +0100 Subject: [PATCH] Working on SBtab --- snudda/utils/sbtab_to_snudda.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/snudda/utils/sbtab_to_snudda.py b/snudda/utils/sbtab_to_snudda.py index 7f28d19e7..de5b75fa4 100644 --- a/snudda/utils/sbtab_to_snudda.py +++ b/snudda/utils/sbtab_to_snudda.py @@ -1,6 +1,9 @@ import os import numpy as np import pandas as pd +import json + +# See convert_sbtab_to_json.sh -- example class ReadSBtab: @@ -82,7 +85,6 @@ def parse(self): conc_unit = nM_unit - for row_idx, row in self.compounds_data.iterrows(): species_name = row["!Name"] @@ -109,14 +111,31 @@ def parse(self): def get_parameters(self): for row_idx, row in self.parameters_data.iterrows(): + parameter_name = row["!Name"] + parameter_value = row["!Value:linspace"] + + # We need to convert to SI units... + scale = row["!Scale"] # Vi behöver ta hänsyn till om det är log10 eller annan skala, eller använda linjära värdet -- vilket är bäst? # Hämta ut K_forward, K_backwards (om det finns), spara i self.parameters # Vi vet vilket namn den har från !ID:et + # 2024-11-25: + # Vi behöver veta antalet reaktanter i !ReactionFormula (per rad), för att ta fram målenheten + # A + 2 B, dels för vänsterledet (kf_XXX) och för högerledet (kr_xxx) + # + # Vi använder pq.UnitQuantity (se parse) + # -- ev använd rexexp för detta? + # TODO: Continue here!! + self.parameters[parameter_name] = parameter_value + + import pdb + pdb.set_trace() + pass def _get_rates(self, rate_str):