void Result::add(String lig_conf_id_in, ResultData &rd) { if ( input_conformations_map_.has(lig_conf_id_in) && result_output_data_.has(rd.getLigandConformationId()) ) { //cout<<"[Warning:] Result object already has data for given pair of input- and output-conformation! Thus, no new data is added!"<<endl; return; } if (!result_data_.has(lig_conf_id_in)) { input_conformations_.push_back(lig_conf_id_in); input_conformations_map_.insert(lig_conf_id_in); result_data_[lig_conf_id_in] = vector<ResultData>(); } result_data_[lig_conf_id_in].push_back(rd); result_output_data_[rd.getLigandConformationId()] = rd; }
String Result::toString(const ResultData &rd) { String ret=""; ret += " method: "+ String(rd.getScoringMethod()); ret += " energy: "+ String(rd.getEnergy()); ret += " lig_id: "+ rd.getLigandConformationId(); ret += " rec_id: "+ rd.getReceptorConformationId(); ret += " "; return ret; }
HashSet<String> Result::getOutputIds() { HashSet<String> ret; HashMap<String, vector<ResultData> >::Iterator iter = result_data_.begin(); for (; iter != result_data_.end(); iter++) { vector<ResultData>::iterator iter2 = (iter->second).begin(); for (; iter2 != (iter->second).end(); iter2++) { ResultData rd = *iter2; ret.insert(rd.getLigandConformationId()); } } return ret; }