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);