BALL  1.4.1
sideChainPlacementProcessor.h
Go to the documentation of this file.
00001 #ifndef BALL_STRUCTURE_SIDECHAINPLACEMENTPROCESSOR_H
00002 #define BALL_STRUCTURE_SIDECHAINPLACEMENTPROCESSOR_H
00003 
00004 #ifndef BALL_CONCEPT_PROCESSOR_H
00005   #include <BALL/CONCEPT/processor.h>
00006 #endif
00007 
00008 #ifndef BALL_KERNEL_ATOMCONTAINER_H
00009   #include <BALL/KERNEL/atomContainer.h>
00010 #endif
00011 
00012 #ifndef BALL_DATATYPE_OPTIONS_H
00013 # include <BALL/DATATYPE/options.h>
00014 #endif
00015 
00016 namespace BALL 
00017 {
00046   class BALL_EXPORT SideChainPlacementProcessor 
00047     : public UnaryProcessor<AtomContainer> 
00048   {
00049     public:
00050 
00054 
00055       struct BALL_EXPORT Option
00056       { 
00059         static const char* METHOD; 
00060         
00063         static const char* SCWRL_BINARY_PATH; 
00064 
00071         static const char* SCWRL_INPUT_FILE;
00072 
00079         static const char* SCWRL_SEQUENCE_FILE;
00080 
00090         static const char* SCWRL_OUTPUT_FILE;
00091 
00094         static const char* MUTATE_SELECTED_SIDE_CHAINS;
00095         
00096       };
00097 
00099       struct BALL_EXPORT Default
00100       {
00101         static const String METHOD;
00102         static const String SCWRL_BINARY_PATH;
00103         static const bool   MUTATE_SELECTED_SIDE_CHAINS;
00104         static const String SCWRL_INPUT_FILE;
00105         static const String SCWRL_SEQUENCE_FILE;
00106         static const String SCWRL_OUTPUT_FILE;
00107       };
00108 
00109       struct BALL_EXPORT Method
00110       {
00114         static const String SCWRL_4_0;
00115         //static const String SCWRL_SERVER; 
00116         //static const String ILP;
00117       };
00118       
00120     
00121       BALL_CREATE(SideChainPlacementProcessor);
00122 
00126           
00128       SideChainPlacementProcessor();
00129     
00131       SideChainPlacementProcessor(const SideChainPlacementProcessor& scpp);
00132     
00134       virtual ~SideChainPlacementProcessor();
00136 
00140 
00142       virtual bool start();
00143   
00148       void clear();
00149 
00164       virtual Processor::Result operator ()(AtomContainer& ac);
00165 
00167       virtual bool finish();
00168 
00170     
00174       
00177       void setDefaultOptions();
00178       
00181       void setMutations(String mutated_seq) {mutated_sequence_ = mutated_seq;} 
00182       
00185       const String& getMutations() const {return mutated_sequence_;}
00186       
00189       String getMutations() {return mutated_sequence_;}
00190 
00192 
00195 
00197       SideChainPlacementProcessor& operator = (const SideChainPlacementProcessor& scpp);
00198       
00199       
00201 
00204 
00205       Options options;
00206 
00208     
00209     protected:
00215       bool readOptions_(); 
00216     
00218       String mutated_sequence_; 
00219 
00220       // The processor state. 
00221       bool valid_;
00222 
00223   };
00224 
00225 } // namespace BALL 
00226 
00227 
00228 #endif // BALL_STRUCTURE_SIDECHAINPLACEMENTPROCESSOR_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines