Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python json文件操作基因组规模模型_Python_Json_Model_Extraction_Genome - Fatal编程技术网

Python json文件操作基因组规模模型

Python json文件操作基因组规模模型,python,json,model,extraction,genome,Python,Json,Model,Extraction,Genome,我的代码中有一个问题,我不知道如何修复它。基本上,我有一个json文件,看起来像这样,每个变量中只有几个数据: { "metabolites": [ { "id": "10fthf[c]", "name": "10-Formyltetrahydrofolate", "compartment": "c", "formula": "C20H21N7O7" },

我的代码中有一个问题,我不知道如何修复它。基本上,我有一个json文件,看起来像这样,每个变量中只有几个数据:

{
    "metabolites": [
        {
            "id": "10fthf[c]",
            "name": "10-Formyltetrahydrofolate",
            "compartment": "c",
            "formula": "C20H21N7O7"
        },
        {
            "id": "10fthf[h]",
            "name": "10-Formyltetrahydrofolate",
            "compartment": "h",
            "formula": "C20H21N7O7"
        },
        {
            "id": "10fthf[m]",
            "name": "10-Formyltetrahydrofolate",
            "compartment": "m",
            "formula": "C20H21N7O7"
        },
    ],
    "reactions": [
        {
            "id": "PRISM_solar_litho",
            "name": "spectral decomposition of solar light measured from Earth's surface",
            "metabolites": {
                "photon298[c]": 4.26984325300204e-05,
                "photon437[u]": 0.088253056987783,
                "photon438[u]": 0.187390761056649,
                "photon450[h]": 0.114958292879089,
                "photon490[h]": 0.19581,
                "photon646[h]": 0.18566429641716,
                "photon673[u]": 0.08361649412414,
                "photon680[u]": 0.094404940130699,
                "photonVis[e]": -1.0
            },
            "lower_bound": 646.06656,
            "upper_bound": 646.06656,
            "gene_reaction_rule": "",
            "subsystem": "[array(['Spectral decomposition'], dtype='<U22')]"
        },
        {
            "id": "PRISM_solar_exo",
            "name": "spectral decomposition of solar light measured from outer space",
            "metabolites": {
                "photon298[c]": 0.009126633453201,
                "photon437[u]": 0.107054407672067,
                "photon438[u]": 0.224061663093904,
                "photon450[h]": 0.133591526308582,
                "photon490[h]": 0.20968,
                "photon646[h]": 0.17175215519119,
                "photon673[u]": 0.072897947189877,
                "photon680[u]": 0.084315507784363,
                "photonVis[e]": -1.0
            },
"version": "1"
} 

我的代码应该从表
reactions
中提取
代谢物
,其中存在列表L的ID。

嘿,您提供的json文件不是正确的json。请提供正确的文件。另外,您希望实现的具体目标是什么?请在将来使用更好的变量名,这对所有相关人员都有好处。如果您发现自己在范围(某物)中对x执行
:某物[x]
,那么您应该在某物:循环中对x使用
。if语句中的括号不是必需的<代码>L
未定义。
import json
from os.path import join
data_path= '/home/mathieu/Documents/Memoire/ESCHER_MAPPING'
with open(join(data_path,'icz843_model_PRETTY.json')) as f:
  icz843_model = json.load(f)

for x in range(len(icz843_model["metabolites"])):
    if(icz843_model["metabolites"][x]["compartment"]=="m"):
        L.append(icz843_model["metabolites"][x])
for x in range(len(icz843_model["reactions"])):
     for y in range(268):
         if(L[y]["id" in icz843_model["reactions"][x]["metabolites"]):
             print(icz843_model["reactions"][x])