Skip to content

Commit

Permalink
Merge branch 'master' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
jonls committed Mar 4, 2017
2 parents b53e578 + 319507d commit 36aa737
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 6 deletions.
43 changes: 43 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,47 @@

v0.28 (2017-03-03)
------------------

- The YAML model format now allows users to specify compartment information and
compartment boundaries in the `model.yaml` file. See the file format
documentation for more information.
- The `media` key in the `model.yaml` has changed name to `exchange` to
reflect the fact that not only uptake exchange must be defined here. The
`media` key is still supported but has been deprecated.
- The gap-filling command `gapfill` and `fastgapfill` now use the compartment
information to determine which artificial transport and exchange reactions
to add. This means that a model *must* specify compartments and compartment
boundaries when using gap-filling commands.
- The `gapcheck` command now has two new methods for detecting blocked
compounds. The new `prodcheck` is a more robust version of the GapFind check
which was previously used. The new `sinkcheck` method will find compounds
that cannot be produced in excess. This can find some additional blocked
compounds that were not detected by the other methods.
- The `gapcheck` command now reports blocked compounds in the extracellular
space. Previously, these compounds were excluded. An option is available to
switch back the old behavior of excluding these from the final output.
- The `gapcheck` command now has an option to run the check with unrestricted
exchange reactions.
- The `gapfill` command can now be run without implicit sinks. This makes it
possible to use this command to solve additional model gaps. It is still
recommended to first solve gaps using implicit sinks, then later disable
implicit sinks when all other gaps have been closed.
- The `gapfill` command now has an option to enable the bounds expansion
proposals (e.g. making irreversible reactions reversible). By default this
option is now off.
- The `fastgapfill` has improved output that contains less superfluous
information. The output format is now identical to the `gapfill` command.
The `fastgapfill` also no longer runs an FBA on the induced model since this
caused some confusion.
- Added new command `checkduplicates` which detects whether the model has
multiple reactions with the same (or similar) reaction equation.
- The `sbmlexport` command now allows the user to specify a file path. The
command can also optionally output the SBML file in a more readable format
with an option.
- Fixed support for the latest CPLEX release 12.7. A change in their API made
PSAMM incompatible with the 12.7 release. This is now fixed.
- We now officially support Python 3.5 and Python 3.6.

v0.27 (2016-12-23)
------------------

Expand Down
2 changes: 1 addition & 1 deletion docs/commands.rst
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@ to perform the gap check without implicit sinks.

The gap check is performed with the medium that is defined in the model. It
may be useful to run the gap check with every compound in the medium available.
This can easily be done by specifying the ``--unrestricted-medium`` option
This can easily be done by specifying the ``--unrestricted-exchange`` option
which removes all limits on the exchange reactions during the check.

There are some additional gap checking methods that can be enabled with the
Expand Down
4 changes: 2 additions & 2 deletions psamm/commands/gapcheck.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def init_parser(cls, parser):
'--no-implicit-sinks', action='store_true',
help='Do not include implicit sinks when gap-filling')
parser.add_argument(
'--unrestricted-medium', action='store_true',
'--unrestricted-exchange', action='store_true',
help='Remove all limits on exchange reactions while gap checking')
parser.add_argument(
'--exclude-extracellular', action='store_true',
Expand All @@ -67,7 +67,7 @@ def run(self):

implicit_sinks = not self._args.no_implicit_sinks

if self._args.unrestricted_medium:
if self._args.unrestricted_exchange:
# Allow all exchange reactions with no flux limits
for reaction in self._mm.reactions:
if self._mm.is_exchange(reaction):
Expand Down
4 changes: 2 additions & 2 deletions psamm/tests/test_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -383,9 +383,9 @@ def test_run_gapcheck_prodcheck_without_extracellular(self):
self.run_solver_command(
GapCheckCommand, ['--method=prodcheck', '--exclude-extracellular'])

def test_run_gapcheck_prodcheck_with_unrestricted_medium(self):
def test_run_gapcheck_prodcheck_with_unrestricted_exchange(self):
self.run_solver_command(
GapCheckCommand, ['--method=prodcheck', '--unrestricted-medium'])
GapCheckCommand, ['--method=prodcheck', '--unrestricted-exchange'])

def test_run_gapcheck_sinkcheck(self):
self.run_solver_command(
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

setup(
name='psamm',
version='0.27',
version='0.28',
description='PSAMM metabolic modeling tools',
maintainer='Jon Lund Steffensen',
maintainer_email='jon_steffensen@uri.edu',
Expand Down

0 comments on commit 36aa737

Please sign in to comment.