001package org.biopax.paxtools.pattern.miner; 002 003import org.biopax.paxtools.pattern.Pattern; 004import org.biopax.paxtools.pattern.PatternBox; 005 006/** 007 * Miner for the controls-state-change pattern. This time the controller is also an input. 008 * @author Ozgun Babur 009 */ 010public class CSCOBothControllerAndParticipantMiner extends AbstractSIFMiner 011{ 012 /** 013 * Constructor that sets name and description. 014 */ 015 public CSCOBothControllerAndParticipantMiner() 016 { 017 super(SIFEnum.CONTROLS_STATE_CHANGE_OF, "-both-ctrl-part", "The controller is also an " + 018 "input. The reaction has to be a Conversion and modified Protein should be " + 019 "represented with different non-generic PhysicalEntity on each side."); 020 } 021 022 /** 023 * Constructs the pattern. 024 * @return pattern 025 */ 026 @Override 027 public Pattern constructPattern() 028 { 029 return PatternBox.controlsStateChangeBothControlAndPart(); 030 } 031 032 @Override 033 public String getSourceLabel() 034 { 035 return "controller ER"; 036 } 037 038 @Override 039 public String getTargetLabel() 040 { 041 return "changed ER"; 042 } 043 044 @Override 045 public String[] getMediatorLabels() 046 { 047 return new String[]{"Control", "Conversion"}; 048 } 049 050 @Override 051 public String[] getSourcePELabels() 052 { 053 return new String[]{"controller simple PE", "controller PE"}; 054 } 055 056 @Override 057 public String[] getTargetPELabels() 058 { 059 return new String[]{"input PE", "input simple PE", "output PE", "output simple PE"}; 060 } 061}