protected ConversionDirectionType findDirectionInPathways ( Conversion conv ) { Set < StepDirection > dirs = new HashSet < StepDirection > ( ) ; for ( PathwayStep step : conv . getStepProcessOf ( ) ) { if ( step instanceof BiochemicalPathwayStep ) { StepDirection dir = ( ( BiochemicalPathwayStep ) step ) . getStepDirection ( ) ; if ( dir != null ) dirs . add ( dir ) ; } } if ( dirs . size ( ) > 1 ) return ConversionDirectionType . REVERSIBLE ; else if ( ! dirs . isEmpty ( ) ) { return dirs . iterator ( ) . next ( ) == StepDirection . LEFT_TO_RIGHT ? ConversionDirectionType . LEFT_TO_RIGHT : ConversionDirectionType . RIGHT_TO_LEFT ; } else return null ; }
Searches pathways that contains this conversion for the possible directions . If both directions exist then the result is reversible .