72     void encodeCompositionVector(
const String & sequence, std::vector<std::pair<Int, double> > & encoded_vector, 
const String & allowed_characters = 
"ACDEFGHIKLMNPQRSTVWY");
 
   83     void encodeCompositionVectors(
const std::vector<String> & sequences, 
const String & allowed_characters, std::vector<std::vector<std::pair<Int, double> > > & composition_vectors);
 
   85     svm_node * encodeLibSVMVector(
const std::vector<std::pair<Int, double> > & feature_vector);
 
   88     void encodeLibSVMVectors(
const std::vector<std::vector<std::pair<Int, double> > > & feature_vectors, std::vector<svm_node *> & libsvm_vectors);
 
   91     svm_problem * encodeLibSVMProblem(
const std::vector<svm_node *> & vectors,
 
   92                                       std::vector<double> & labels);
 
   95     svm_problem * encodeLibSVMProblemWithCompositionVectors(
const std::vector<String> & sequences,
 
   96                                                             std::vector<double> & labels,
 
   97                                                             const String & allowed_characters);
 
  104     svm_problem * encodeLibSVMProblemWithCompositionAndLengthVectors(
const std::vector<String> & sequences,
 
  105                                                                      std::vector<double> & labels,
 
  106                                                                      const String & allowed_characters,
 
  107                                                                      UInt maximum_sequence_length);
 
  114     svm_problem * encodeLibSVMProblemWithCompositionLengthAndWeightVectors(
const std::vector<String> & sequences,
 
  115                                                                            std::vector<double> & labels,
 
  116                                                                            const String & allowed_characters);
 
  119     bool storeLibSVMProblem(
const String & filename, 
const svm_problem * problem) 
const;
 
  122     svm_problem * loadLibSVMProblem(
const String & filename);
 
  125     void encodeOligoBorders(
String                                                                                       sequence,
 
  127                             const String & allowed_characters,
 
  129                             std::vector<std::pair<Int, double> > & libsvm_vector,
 
  131                             bool                                                                                             unpaired = 
false,
 
  132                             bool                                                                                             length_encoding = 
false);
 
  135     svm_problem * encodeLibSVMProblemWithOligoBorderVectors(
const std::vector<String> & sequences,
 
  136                                                             std::vector<double> & labels,
 
  138                                                             const String & allowed_characters,
 
  141                                                             bool                                                   unpaired = 
false,
 
  142                                                             bool                                                   length_encoding = 
false);
 
  145     void encodeProblemWithOligoBorderVectors(
const std::vector<AASequence> & sequences,
 
  147                                              const String & allowed_characters,
 
  149                                              std::vector<std::vector<std::pair<Int, double> > > & vectors);
 
  157     void libSVMVectorToString(svm_node * vector, 
String & output);
 
  165     void libSVMVectorsToString(svm_problem * vector, 
String & output);
 
  175                      const String & allowed_characters,
 
  176                      std::vector<std::pair<Int, double> > & values,
 
  177                      bool is_right_border = 
false);
 
  184     static void destroyProblem(svm_problem * problem);
 
  188                                                 const String & allowed_characters = 
"ACDEFGHIKLMNPQRSTVWY",
 
  189                                                 UInt maximum_sequence_length = 50)
 
  191       std::vector<double> predicted_retention_times;
 
  194       std::vector<double> temp_rts;
 
  195       temp_rts.resize(sequences.size(), 0);
 
  196       svm_problem * prediction_data =
 
  200                                                                      maximum_sequence_length);
 
  201       svm.
predict(prediction_data, predicted_retention_times);
 
  203       return predicted_retention_times;
 
  208     static bool cmpOligos_(std::pair<Int, double> a,
 
  209                            std::pair<Int, double> b);