CRef<CGCClient_AssemblySequenceInfo> CGenomicCollectionsService::FindBestAssembly(const list<string>& seq_id, int filter_type, int sort_type) { CGCClient_FindBestAssemblyRequest req; CGCClientResponse reply; req.SetSeq_id_acc().assign(seq_id.begin(), seq_id.end()); req.SetFilter(filter_type); req.SetSort(sort_type); req.SetAssembly_return_limit(1); LogRequest(req); try { CRef<CGCClient_AssembliesForSequences> assm = AskGet_best_assembly(req, &reply); return assm->CanGetAssemblies() && !assm->GetAssemblies().empty() ? CRef<CGCClient_AssemblySequenceInfo>(assm->SetAssemblies().front()) : CRef<CGCClient_AssemblySequenceInfo>(); } catch (const CException& ex) { if(reply.IsSrvr_error()) { NCBI_REPORT_EXCEPTION(reply.GetSrvr_error().GetDescription().c_str(), ex); } throw; } }