From 1d0d89d667cb2ceadbdd26c0cdf792ab5c41f978 Mon Sep 17 00:00:00 2001 From: Lucian Smith Date: Thu, 25 Jul 2024 15:23:35 -0700 Subject: [PATCH] Remove qual and FBC SED-ML files. In theory, we could figure out what to use for them, but we haven't and need to publish, so don't do this. --- fix-entries.py | 6 +++++- remove_qual_and_fbc_sedml.py | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 remove_qual_and_fbc_sedml.py diff --git a/fix-entries.py b/fix-entries.py index fd20f975e..7556827a6 100755 --- a/fix-entries.py +++ b/fix-entries.py @@ -24,6 +24,7 @@ import remove_converted_files_for_non_kinetic_models import remove_empty_containers_from_sedml_doc import remove_non_sbml +import remove_qual_and_fbc_sedml import remove_unused_sedml_elements import remove_urn_sbml_files import remove_initial_rdf_file @@ -209,7 +210,10 @@ def fix_entry(id, convert_files=False, guess_file_name=None, validate_sbml=False sbml_filenames.sort() fix_sbml_validity.run(id, sbml_filenames) - + sedml_filenames = glob.glob(os.path.join(temp_entry_dir, '**', '*.sedml'), recursive=True) + sedml_filenames.sort() + + remove_qual_and_fbc_sedml(id, sedml_filenames, sbml_filenames) sedml_filenames = glob.glob(os.path.join(temp_entry_dir, '**', '*.sedml'), recursive=True) sedml_filenames.sort() diff --git a/remove_qual_and_fbc_sedml.py b/remove_qual_and_fbc_sedml.py new file mode 100644 index 000000000..fb8c31ace --- /dev/null +++ b/remove_qual_and_fbc_sedml.py @@ -0,0 +1,20 @@ +import os + +# Don't use this list; figure it out on the fly (so we're future-proofed) +#qual_and_fbc_models = ["BIOMD0000000562", "BIOMD0000000592", "BIOMD0000000593", "BIOMD0000001046", "BIOMD0000001061", "BIOMD0000001062", "BIOMD0000001063", "BIOMD0000001064"] + +def hasQualOrFBC(sbml_filenames): + for filename in sbml_filenames: + f = open(filename, "r") + for line in f: + if "qual:" in line: + return True + if "fbc:" in line: + return True + return False + + +def run(id, sedml_filenames, sbml_filenames): + if hasQualOrFBC(sbml_filenames): + for filename in sedml_filenames: + os.remove(filename)