#include "geneorder.h"
#include <map>
+#include <string>
+#include <stdexcept>
+struct fann;
/**
* Identifies the model this gene order belongs to
public:
enum Model{Whirl,X,FatX,Zipper,Cloud};
+ /**
+ * Creates a new identifier given an artificial neural network
+ *
+ * \param ann filename, including path, to the neural network
+ *
+ * \throws std::invalid_argument exception if the ann could not be
+ * opened
+ */
+ ModelIdentifier(std::string ann);
+
/**
* Identifies the model for a given gene order.
- * \returns a map with the model as key and the score between 0 and 1
+ *
+ * \returns a map with the model as key and the score between -1 and 1
*/
std::map<Model,double> identify(const GeneOrder& go);
- virtual ~ModelIdentifier(){};
+ ~ModelIdentifier();
+ private:
+ fann* _ann;
+
+ //disable for the moment
+ void operator=(const ModelIdentifier&){}
+
};
#endif