bool BaseCallerParameters::SaveParamsToJson(Json::Value& basecaller_json, const BaseCallerContext& bc, const string& chip_type) { basecaller_json["BaseCaller"]["run_id"] = bc.run_id; basecaller_json["BaseCaller"]["flow_order"] = bc.flow_order.str(); basecaller_json["BaseCaller"]["num_flows"] = bc.flow_order.num_flows(); basecaller_json["BaseCaller"]["lib_key"] = bc.keys[0].bases(); basecaller_json["BaseCaller"]["tf_key"] = bc.keys[1].bases(); basecaller_json["BaseCaller"]["chip_type"] = chip_type; basecaller_json["BaseCaller"]["input_dir"] = bc_files.input_directory; basecaller_json["BaseCaller"]["output_dir"] = bc_files.output_directory; basecaller_json["BaseCaller"]["filename_wells"] = bc_files.filename_wells; basecaller_json["BaseCaller"]["filename_mask"] = bc_files.filename_mask; basecaller_json["BaseCaller"]["num_threads"] = num_threads_; basecaller_json["BaseCaller"]["dephaser"] = bc.dephaser; basecaller_json["BaseCaller"]["keynormalizer"] = bc.keynormalizer; basecaller_json["BaseCaller"]["block_row_offset"] = bc.chip_subset.GetRowOffset(); basecaller_json["BaseCaller"]["block_col_offset"] = bc.chip_subset.GetColOffset(); basecaller_json["BaseCaller"]["block_row_size"] = bc.chip_subset.GetChipSizeY(); basecaller_json["BaseCaller"]["block_col_size"] = bc.chip_subset.GetChipSizeX(); SaveJson(basecaller_json, bc_files.filename_json); return true; };
void CFilterDlg::OnSave(UINT /*uNotifyCode*/, int /*nID*/, CWindow /*wndCtl*/) { CFileDialog dlg(false, L".xml", m_name.c_str(), OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY, L"XML Files (*.xml)\0*.xml\0" L"JSON Files (*.json)\0*.json\0" L"All Files\0*.*\0" L"\0", 0); dlg.m_ofn.nFilterIndex = 0; dlg.m_ofn.lpstrTitle = L"Save DebugView Filter"; if (dlg.DoModal() != IDOK) return; LogFilter filter; auto name = Win32::GetDlgItemText(*this, IDC_NAME); filter.messageFilters = m_messagePage.GetFilters(); filter.processFilters = m_processPage.GetFilters(); auto ext = GetFileNameExt(dlg.m_szFileName); auto fileName = Str(dlg.m_szFileName).str(); if (boost::iequals(ext, L"json")) SaveJson(fileName, Str(name), filter); else /* if (boost::iequals(ext, L"xml")) */ SaveXml(fileName, Str(name), filter); }