def get_model(is_netfree=False, without_reset=False, seeds=None, effective=False):
try:<EOL><INDENT>if seeds is not None or is_netfree:<EOL><INDENT>m = ecell4_base.core.NetfreeModel()<EOL><DEDENT>else:<EOL><INDENT>m = ecell4_base.core.NetworkModel()<EOL><DEDENT>for sp in SPECIES_ATTRIBUTES:<EOL><INDENT>m.add_species_attribute(sp)<EOL><DEDENT>for rr in REACTION_RULES:<EOL><INDENT>m.add_reaction_rule(rr)<EOL><DEDENT>if not without_reset:<EOL><INDENT>reset_model()<EOL><DEDENT>if seeds is not None:<EOL><INDENT>return m.expand(seeds)<EOL><DEDENT>if isinstance(m, ecell4_base.core.NetfreeModel):<EOL><INDENT>m.set_effective(effective)<EOL><DEDENT><DEDENT>except Exception as e:<EOL><INDENT>reset_model()<EOL>raise e<EOL><DEDENT>return m<EOL>
Generate a model with parameters in the global scope, ``SPECIES_ATTRIBUTES``
and ``REACTIONRULES``.

Parameters
----------
is_netfree : bool, optional
    Return ``NetfreeModel`` if True, and ``NetworkModel`` if else.
    Default is False.
without_reset : bool, optional
    Do not reset the global variables after the generation if True.
    Default is False.
seeds : list, optional
    A list of seed ``Species`` for expanding the model.
    If this is not None, generate a ``NetfreeModel`` once, and return a
    ``NetworkModel``, which is an expanded form of that with the given seeds.
    Default is None.
effective : bool, optional
    See ``NetfreeModel.effective`` and ``Netfree.set_effective``.
    Only meaningfull with option ``is_netfree=True``.
    Default is False

Returns
-------
model : NetworkModel, NetfreeModel