void TestFileGenerator::AddStandardGenericDataHeader(GenericDataHeader& gdh) { // Fill the GenericDataHeader. gdh.SetFileTypeId(SCAN_ACQUISITION_DATA_TYPE); gdh.SetFileId("test-dat-guid"); gdh.SetFileCreationTime(L"2004-07-04T11:12:13Z"); gdh.SetLocale(L"en-US"); ParameterNameValueType nvt; nvt.SetName(ARRAY_TYPE_PARAM_NAME); nvt.SetValueText(L"Hg-U133A"); gdh.AddNameValParam(nvt); nvt.SetName(ARRAY_BARCODE_PARAM_NAME); nvt.SetValueText(L"Barcode"); gdh.AddNameValParam(nvt); nvt.SetName(L"Parameter1"); nvt.SetValueText(L"Value1"); gdh.AddNameValParam(nvt); GenericDataHeader gdhParent; gdhParent.SetFileTypeId(ARRAY_TYPE_IDENTIFIER); gdhParent.SetFileId("test-array-guid"); gdhParent.SetFileCreationTime(L"2004-07-01T13:14:15Z"); gdhParent.SetLocale(L"en-US"); nvt.SetName(ARRAY_TYPE_PARAM_NAME); nvt.SetValueText(L"Hg-U133A"); gdhParent.AddNameValParam(nvt); nvt.SetName(ARRAY_LOT_PARAM_NAME); nvt.SetValueText(L"Thanks alot"); gdhParent.AddNameValParam(nvt); gdh.AddParent(gdhParent); }
/* * Create a results file with the CEL file header and other parameters. */ void CopyNumberResultWriter::CreateResultFile(affymetrix_fusion_io::FusionCELData& cel, const std::string& fileName) { try { // Create the results file with the header. CHPMultiDataData *data = new CHPMultiDataData(fileName); data->SetEntryCount(CopyNumberMultiDataType, numberProbeSets, maxProbeSetNameLength[CopyNumberMultiDataType], columns); if (numberCytoRegions > 0) data->SetEntryCount(CytoMultiDataType, numberCytoRegions, maxProbeSetNameLength[CytoMultiDataType],cytoRegionColumns); if (numberGenotypeProbeSets > 0) data->SetEntryCount(GenotypeMultiDataType, numberGenotypeProbeSets, maxProbeSetNameLength[GenotypeMultiDataType], genotypeColumns); data->SetAlgName(StringUtils::ConvertMBSToWCS(algName)); data->SetAlgVersion(StringUtils::ConvertMBSToWCS(algVersion)); data->SetArrayType(cel.GetChipType()); GenericDataHeader *gdh = data->GetFileHeader()->GetGenericDataHdr(); ParameterNameValueType param; param.SetName(PROGRAM_NAME); param.SetValueText(StringUtils::ConvertMBSToWCS(programName)); gdh->AddNameValParam(param); param.SetName(L"program-version"); param.SetValueText(StringUtils::ConvertMBSToWCS(programVersion)); gdh->AddNameValParam(param); param.SetName(PROGRAM_COMPANY); param.SetValueText(StringUtils::ConvertMBSToWCS(programCompany)); gdh->AddNameValParam(param); ParameterNameValueTypeList params = algParams; param.SetName(L"ArraySet"); param.SetValueText(cel.GetChipType()); params.push_back(param); data->AddAlgParams(params); data->AddSummaryParams(summaryParams); DataSetHeader *dsh = data->GetDataSetHeader(CopyNumberMultiDataType); for (ParameterNameValueTypeList::iterator it=chrStartStop.begin(); it!=chrStartStop.end(); it++) dsh->AddNameValParam(*it); GenericData *gdata = cel.GetGenericData(); if (gdata != NULL) gdh->AddParent(*gdata->Header().GetGenericDataHdr()); CHPMultiDataFileWriter *writer = new CHPMultiDataFileWriter(*data); delete writer; delete data; // Create a buffer writer object outputFiles.clear(); outputFiles.push_back(fileName); vector<MultiDataType> dataTypes; dataTypes.push_back(CopyNumberMultiDataType); if (numberCytoRegions > 0) dataTypes.push_back(CytoMultiDataType); if (numberGenotypeProbeSets > 0) dataTypes.push_back(GenotypeMultiDataType); bufferWriter = new CHPMultiDataFileBufferWriter(); bufferWriter->Initialize(&outputFiles, dataTypes, maxProbeSetNameLength); } catch (CalvinException &ex) { string err = "Error creating the output file: " + fileName; wstring msg = ex.ToString(); if (msg.empty() == false) err += " " + StringUtils::ConvertWCSToMBS(msg); throw err; } catch (...) { string err = "Error creating the output file: " + fileName; throw err; } }