Skip to content

Commit

Permalink
Clarify CNF syntax
Browse files Browse the repository at this point in the history
  • Loading branch information
vedran-kasalica committed Aug 15, 2024
1 parent fa35532 commit a935e40
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions docs/developers/developers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ Upon execution, the file will be created in the given path, and the user can ins
-http://edamontology.org/halvade_somatic(Tool1) empty(Out1.2)
...
The first constraint encodes that in case ``Artic`` is used as a first tool (Tool1), the 3rd output of the first tool (Out1.2) is empty, because the tool ``Artic`` has only 2 outputs. The second constraint specifies that in case ``Comet``is used the first input (In0.0) must be of type ``Data`` and format ``TSV``, with just a default ``APE_label`` (data can be labelled to create more strict constraints). The third and fourth constraints specify that in case ``halvade_somatic`` is used, the 2nd (Out1.1) and 3rd (Out1.2) outputs of the first tool must be empty, because the tool ``halvade_somatic`` has only one output.
The first constraint encodes that in case ``Artic`` (tool name is Artic, ``http://edamontology.org/`` is the ontology prefix) is used as the first tool (Tool1), the 3rd output of the first tool (Out1.2) is empty, because the tool ``Artic`` has only 2 outputs. The second constraint specifies that in case ``Comet``is used as the first tool, its first input (In0.0) must be of type ``Data`` and format ``TSV``, with just a default ``APE_label`` (data can be labelled to create more strict constraints). The third and fourth constraints specify that in case ``halvade_somatic`` is used (as the first tool), the 2nd (Out1.1) and 3rd (Out1.2) outputs of the first tool must be empty, because the tool ``halvade_somatic`` has only one output.

The indexing of the tools and tool inputs and outputs is visualized in the following figure. Note that the element out\ :sub:`X`\ :sup:`Y` in the figure is encoded as ``OutX.Y`` in CNF:

.. image:: SLTLx_structure.png

The initial ``Out`` data instances (Out0.0,...,Out0.k-1) are the workflow inputs (can be seen as "outputs of the environment") and the last ``In`` data instances (In0.0,...,In0.k-1) are the workflow outputs (can be seen as "inputs used by the following environment"). Indexes start from 0. The latest implementation (APE v2.3) was described in the Chapter 4 of `PhD thesis (V. Kasalica) <https://dspace.library.uu.nl/handle/1874/423894>`_.
The initial ``Out`` data instances (``Out0.0``, ..., ``Out0.k-1``) are the workflow inputs (can be seen as "outputs of the environment") and the last ``In`` data instances (``In0.0``, ..., ``In0.k-1``) are the workflow outputs (can be seen as "inputs used by the following environment"). Indexes start from 0. The latest implementation (APE v2) was described in the Chapter 4 of `PhD thesis (V. Kasalica) <https://dspace.library.uu.nl/handle/1874/423894>`_.

0 comments on commit a935e40

Please sign in to comment.