001package org.biopax.paxtools.model.level3;
002
003/**
004 * Definition: Imposes ordering on a step in a biochemical pathway.
005 *
006 * Retionale: A biochemical reaction can be reversible by itself, but can be physiologically directed in the context
007 * of a pathway, for instance due to flux of reactants and products.
008 *
009 * Usage: Only one conversion interaction can be ordered at a time, but multiple catalysis or modulation instances
010 * can be part of one step.
011 */
012public interface BiochemicalPathwayStep extends PathwayStep
013{
014
015
016        /**
017         * This method returns the central conversion of this BiochemicalPathwayStep. The
018         * returned conversion is also stepProcess of this PathwayStep. The step direction defines the direction
019         * of this conversion. The conversion must be reversible.
020         *
021         * @return The central conversion that take place at this step of the biochemical pathway.
022         */
023        Conversion getStepConversion();
024
025        /**
026         * This method sets the conversion of this BiochemicalPathwayStep to the
027         * new Step_Conversion. Old step conversion is also removed from the
028         * stepProcess list.
029         *
030         * @param stepConversion the Conversion interaction of this biological pathway step
031         */
032        void setStepConversion(Conversion stepConversion);
033
034        /**
035         * This property can be used for annotating direction of enzymatic activity. Even if an enzyme catalyzes a
036         * reaction reversibly, the flow of matter through the pathway will force the equilibrium in a given direction
037         * for that particular pathway.
038         *
039         * @return Direction of the conversion in this particular pathway context.
040         */
041        StepDirection getStepDirection();
042
043        /**
044         * This property can be used for annotating direction of enzymatic activity. Even if an enzyme catalyzes a
045         * reaction reversibly, the flow of matter through the pathway will force the equilibrium in a given direction
046         * for that particular pathway.
047         *
048         * @param stepDirection Direction of the conversion in this particular pathway context.
049         */
050        void setStepDirection(StepDirection stepDirection);
051}