Skip to content

Commit

Permalink
Update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
sthiele committed Mar 23, 2022
1 parent 7e945bb commit e12ee2e
Show file tree
Hide file tree
Showing 3 changed files with 102 additions and 145 deletions.
71 changes: 35 additions & 36 deletions docs/guide/guide.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# **Meneco** User Guide (version 2.0.1-dev)
# **Meneco** User Guide (version 2.0.1)

Sven Thiele

Expand Down Expand Up @@ -207,34 +207,34 @@ and to specify the seeds and targets.

```text
7 unproducible targets:
M_so4_c
M_cl_c
M_cu2_c
M_pe161_c
M_thf_c
M_ribflv_c
M_utp_c
M_so4_c
M_cl_c
M_cu2_c
M_pe161_c
M_thf_c
M_ribflv_c
M_utp_c
```

In this section Meneco outputs which target metabolite are producible given the seeds and the reactions of the draft network.
In this case the result shows 7 target metabolites which are not producible.

Given that unproducible target metabolites exist the next sections documents which of the targets remain unproducible even with the reactions from the repair database `repairdb.sbml`
Given that unproducible target metabolites exist the next sections documents which of the targets remain unproducible even with the reactions from the repair database `repairdb.sbml`
and for which targets the metabolic pathways can be reconstructed.

```text
Repair db file: repairdb.sbml
Still 5 unreconstructable targets:
M_so4_c
M_pe161_c
M_utp_c
M_ribflv_c
M_thf_c
M_so4_c
M_pe161_c
M_utp_c
M_ribflv_c
M_thf_c
2 reconstructable targets:
M_cu2_c
M_cl_c
M_cu2_c
M_cl_c
```

In this example 5 metabolites remain unproducible,
Expand All @@ -246,14 +246,14 @@ This intermediate result is reused in the subsequent computations as a solution

```text
1 essential reactions for target M_cu2_c:
R_CU2tpp
R_CU2tpp
1 essential reactions for target M_cl_c:
R_CLt3_2pp
R_CLt3_2pp
Overall 2 essential reactions found:
R_CU2tpp
R_CLt3_2pp
R_CU2tpp
R_CLt3_2pp
```

In this example for each single target metabolite exist one essential reaction.
Expand All @@ -262,9 +262,9 @@ The section shows one minimal completion to produce all targets.

```text
One minimal completion of size 3:
R_O2Stex
R_CU2tpp
R_CLt3_2pp
R_O2Stex
R_CU2tpp
R_CLt3_2pp
```

In this example the first minimal completion contains 3 reactions.
Expand All @@ -274,14 +274,14 @@ Meneco outputs the intersection and union of all minimal completion

```text
Intersection of cardinality minimal completions:
R_CU2tpp
R_CLt3_2pp
R_CU2tpp
R_CLt3_2pp
Union of cardinality minimal completions:
R_O2tex
R_O2Stex
R_CU2tpp
R_CLt3_2pp
R_O2tex
R_O2Stex
R_CU2tpp
R_CLt3_2pp
```

In our case we get 2 reactions in the intersection and 4 reactions in the union.
Expand All @@ -291,15 +291,14 @@ all minimal completions are enumerated.

```text
Completion 1:
R_O2Stex
R_CU2tpp
R_CLt3_2pp
R_O2Stex
R_CU2tpp
R_CLt3_2pp
Completion 2:
R_O2tex
R_CU2tpp
R_CLt3_2pp
R_O2tex
R_CU2tpp
R_CLt3_2pp
```

Fortunately, our example has only two solutions.
Expand Down
Binary file modified docs/guide/guide.pdf
Binary file not shown.
176 changes: 67 additions & 109 deletions docs/guide/guide.tex
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

\title{ \meneco \\
User Guide \\
version 1.5.2
version 2.0.1
}

\author{Sven Thiele}
Expand Down Expand Up @@ -49,74 +49,24 @@ \section{Prerequisites}

\section{Installation}

\subsection{Installation using \texttt{pip}}
You can install the \meneco\ package by running:

\begin{Verbatim}[frame=single]
$ pip install --user meneco
\end{Verbatim}


On Linux the executable scripts can then be found in \texttt{~/.local/bin}

and on Mac OS the scripts are under \texttt{/Users/YOURUSERNAME/Library/Python/3.2/bin}.


\subsection{Installation of \texttt{pip}}
If \texttt{pip} is not installed one can install \texttt{pip} without admin rights.
Therefore one has to first download \texttt{getpip.py} via:
\begin{Verbatim}[frame=single]
$ wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
\end{Verbatim}
and then install pip locally:
\begin{Verbatim}[frame=single]
$ python get-pip.py --user
\end{Verbatim}
Now it is possible to use the local pip and proceed with the section \emph{Installation of \texttt{pip}}.

\subsection{Installation without \texttt{pip}}
Although we do not recommend it, it is possible to install \meneco\ without \texttt{pip}.
But then one has to take care of the dependencies oneself.
Therefore one has to first download \texttt{pyasp-1.4.2}.

\begin{Verbatim}[frame=single]
$ wget https://pypi.python.org/packages/source/p/pyasp/pyasp-1.4.2.tar.gz
\end{Verbatim}
Next one has to extract and install \texttt{PyASP}:
\begin{Verbatim}[frame=single]
$ gzip -d pyasp-1.4.2.tar.gz
$ tar -xvf pyasp-1.4.2.tar
$ cd pyasp-1.4.2
$ python setup.py install --user
\end{Verbatim}
Then one needs to download \texttt{meneco-1.5.2}:
\begin{Verbatim}[frame=single]
$ wget https://pypi.python.org/packages/source/m/meneco/meneco-1.5.2.tar.gz
\end{Verbatim}
and to extract and install meneco:
\begin{Verbatim}[frame=single]
$ gzip -d meneco-1.5.2.tar.gz
$ tar -xvf meneco-1.5.2.tar
$ cd meneco-1.5.2
$ python setup.py install --user
\end{Verbatim}

On Linux the executable scripts can then be found in \texttt{~/.local/bin}

and on Mac OS the scripts are under \texttt{/Users/YOURUSERNAME/Library/Python/3.2/bin}.


and on Mac OS the scripts are under \texttt{/Users/YOURUSERNAME/Library/Python/3.7/bin}.

\section{Usage}

Typical usage is:
\begin{Verbatim}[frame=single]
$ meneco.py -d draftnet.sbml -s seeds.sbml -t targets.sbml -r repairdb.sbml
$ meneco -d draftnet.sbml -s seeds.sbml -t targets.sbml -r repairdb.sbml
\end{Verbatim}
For more options you can ask for help as follows:
\begin{Verbatim}[frame=single]
$ meneco.py --h
meneco.py [-h] -d DRAFTNET -s SEEDS -t TARGETS [-r REPAIRNET]
$ meneco --h
meneco [-h] -d DRAFTNET -s SEEDS -t TARGETS [-r REPAIRNET]
[--enumerate]
optional arguments:
Expand Down Expand Up @@ -222,116 +172,124 @@ \section{Output}
For example to write the results shown below into the file \texttt{myfile.txt} type:

\begin{Verbatim}[frame=single]
$ meneco.py -d draftnet.sbml -s seeds.sbml -t targets.sbml -r repairdb.sbml --enumerate > myfile.txt
$ meneco -d draftnet.sbml -s seeds.sbml -t targets.sbml -r repairdb.sbml --enumerate > myfile.txt
\end{Verbatim}

In the following we will dissect the output generated by \meneco.
The first 3 lines document which files have been used as representation of the metabolic reaction network (line 1)
and which files to specify the seed (line 2) and targets (line 3).
\begin{Verbatim}[frame=single,numbers=left]
Reading draft network from data/draftnet.sbml ... done.
Reading seeds from data/seeds.sbml ... done.
Reading targets from data/targets.sbml ... done.
Reading draft network ...
Draft network file: draft.sbml
Reading seeds ...
Seeds file: seeds.sbml
Reading targets ...
Targets file: targets.sbml
\end{Verbatim}
In a next step \meneco\ tests which target metabolite are producible given the seeds and the reactions of the draft network.
In this case the result shows 7 target metabolites which are not producible.
\begin{Verbatim}[frame=single,numbers=left,firstnumber=4]
Checking draftnet for unproducible targets ... done.
7 unproducible targets:
"M_pe161_c"
"M_so4_c"
"M_utp_c"
"M_thf_c"
"M_cu2_c"
"M_cl_c"
"M_ribflv_c"
Checking draftnet for unproducible targets ...
7 unproducible targets:
M_pe161_c
M_so4_c
M_utp_c
M_thf_c
M_cu2_c
M_cl_c
M_ribflv_c
\end{Verbatim}
Given that unproducible target metabolites exist the database with repair reactions is loaded.
Line 13 documents that the reactions from \verb|toy/repairdb.sbml| are used to find extensions to the original networks.
\begin{Verbatim}[frame=single,numbers=left,firstnumber=13]
Reading repair network from toy/repairdb.sbml ... done.
Reading repair db ...
Repair db file: repairdb.sbml
\end{Verbatim}
The next step, is to check which of the targets remain unproducible even with a the reactions from the repair database.
In this example 5 metabolites remain unproducible (line 15),
but for 2 targets \meneco\ is able to repair the synthesis pathways (line 22-24).
\begin{Verbatim}[frame=single,numbers=left,firstnumber=14]
Checking draftnet + repairnet for unproducible targets ... done.
still 5 unproducible targets:
"M_pe161_c"
"M_so4_c"
"M_utp_c"
"M_thf_c"
"M_ribflv_c"
2 targets to reconstruct:
"M_cu2_c"
"M_cl_c"
Checking draftnet + repairnet for unproducible targets ...
Still 5 unproducible targets:
M_pe161_c
M_so4_c
M_utp_c
M_thf_c
M_ribflv_c
2 reconstructable targets:
M_cu2_c
M_cl_c
\end{Verbatim}
As a precomputation step \meneco\ tries to reconstruct the production pathways for each reconstructable target metabolite,
and computing the essential reactions.
Essential reaction in this context are reactions which always must be added to allow a synthesis of the target from the seeds.
This intermediate result can be reused in further computations as a solution that restores all targets must contain all reaction that are essential for each single target.
In this example for each target metabolite exist one essential reaction.
\begin{Verbatim}[frame=single,numbers=left,firstnumber=25]
Computing essential reactions for target("M_cu2_c") ... done.
1 essential reactions found:
"R_CU2tpp"
Computing essential reactions for M_cl_c ...
1 essential reactions for target M_cl_c:
R_CU2tpp"
Computing essential reactions for target("M_cl_c") ... done.
1 essential reactions found:
"R_CLt3_2pp"
Computing essential reactions for M_cu2_c ...
1 essential reactions for target M_cu2_c:
R_CU2tpp
Overall 2 essential reactions found.
"R_CU2tpp"
"R_CLt3_2pp"
Overall 2 essential reactions found:
R_CU2tpp
R_CLt3_2pp
\end{Verbatim}
The next line states that for the following computation the essential reaction will be added to the network.
The essential reactions are part of every solution and don't need to be recomputed.
\begin{Verbatim}[frame=single,numbers=left,firstnumber=36]
Adding essential reactions to network.
Adding essential reactions to network!
\end{Verbatim}
The next step, is to compute one minimal completion to produce all targets.
This is mainly done to get the size of a minimal completion.
In this example the first minimal completion contains 3 reactions.
\begin{Verbatim}[frame=single,numbers=left,firstnumber=37]
Computing one minimal completion to produce all targets ... done.
"R_CU2tpp"
"R_CLt3_2pp"
"R_O2tex"
Computing one minimal completion to produce all targets ...
One minimal completion of size 3:
R_CU2tpp
R_CLt3_2pp
R_O2tex
\end{Verbatim}
Now that we know the size of a minimal completion, the intersection of all minimal completions is computed.
This can be done without enumerating all completions.
In our case we get 2 reactions in the intersection.
\begin{Verbatim}[frame=single,numbers=left,firstnumber=41]
Computing common reactions in all completion with size 3 ... done.
"R_CU2tpp"
"R_CLt3_2pp"
Computing common reactions in all completion with size 3 ...
Intersection of cardinality minimal completions:
R_CU2tpp
R_CLt3_2pp
\end{Verbatim}
Similarly, the union of all minimal completions is computed.
Also this can be done without enumerating all completions.
For this example the union contains 4 reactions, we can conclude that for our example has exactly two minimal completions.
\begin{Verbatim}[frame=single,numbers=left,firstnumber=44]
Computing union of reactions from all completion with size 3 ... done.
"R_CU2tpp"
"R_CLt3_2pp"
"R_O2Stex"
"R_CU2tpp
Computing union of reactions from all completion with size 3 ...
Union of cardinality minimal completions:
R_CU2tpp
R_CLt3_2pp
R_O2Stex
R_CU2tpp
\end{Verbatim}
Finally, if the command line option \texttt{--enumerate} has been given,
all minimal completions are enumerated.
Fortunately, our example has only two solutions.
In general the number of solutions can be very high.
Therfore, enumeration is only done if explicitly requested via command line option.
\begin{Verbatim}[frame=single,numbers=left,firstnumber=49]
Computing all completions with size 3 ... done.
Computing all completions with size 2 ...
Completion 1:
"R_CU2tpp"
"R_CLt3_2pp"
"R_O2Stex"
R_CU2tpp
R_CLt3_2pp
R_O2Stex
Completion 2:
"R_CU2tpp"
"R_CLt3_2pp"
"R_O2tex"
R_CU2tpp
R_CLt3_2pp
R_O2tex
\end{Verbatim}

\nocite{schthi09a,sthiele13c}
Expand Down

0 comments on commit e12ee2e

Please sign in to comment.