void TestFileGenerator::WriteSmallCelFileNoStdev() { CelFileData data("small_cel_file_no_stdev"); data.SetIntensityCount(25); data.SetStdDevCount(0); data.SetPixelCount(25); data.SetOutlierCount(2); data.SetMaskCount(3); data.SetRows(5); data.SetCols(5); data.SetArrayType(L"Hg-small"); data.SetAlgorithmName(L"Feature Extraction"); ParameterNameValueType nvt; nvt.SetName(L"percentile"); nvt.SetValueFloat(0.75f); data.AddAlgorithmParameter(nvt); nvt.SetName(L"outlierlow"); nvt.SetValueFloat(1.004f); data.AddAlgorithmParameter(nvt); CelFileWriter* writer = new CelFileWriter(data); FloatVector vInten; Int16Vector vPixels; for (int i=0; i<25; ++i) { vInten.push_back(100.0f*i); vPixels.push_back(25); } // Do some writing writer->WriteIntensities(vInten); writer->WritePixels(vPixels); // XYCoordVector XYCoordVector outlier; XYCoord xy(0,0); outlier.push_back(xy); xy.xCoord = 1; xy.yCoord = 2; outlier.push_back(xy); writer->WriteOutlierCoords(outlier); XYCoordVector masked; xy.xCoord = 1; xy.yCoord = 0; masked.push_back(xy); xy.xCoord = 2; xy.yCoord = 1; masked.push_back(xy); xy.xCoord = 3; xy.yCoord = 2; masked.push_back(xy); writer->WriteMaskCoords(masked); delete writer; }
void CDFData::SetUInt32ToGenericHdr(const std::wstring& name, u_int32_t value) { ParameterNameValueType paramType; paramType.SetName(name); paramType.SetValueUInt32(value); GenericDataHeader* hdr = genericData.Header().GetGenericDataHdr(); hdr->AddNameValParam(paramType); }
void CHPQuantificationData::SetWStringToGenericHdr(const std::wstring& name, const std::wstring value, int32_t reserve) { ParameterNameValueType paramType; paramType.SetName(name); paramType.SetValueText(value, reserve); GenericDataHeader* hdr = genericData.Header().GetGenericDataHdr(); hdr->AddNameValParam(paramType); }
void CHPData::SetFloatToGenericHdr(const std::wstring& name, float value) { ParameterNameValueType paramType; paramType.SetName(name); paramType.SetValueFloat(value); GenericDataHeader* hdr = genericData.Header().GetGenericDataHdr(); hdr->AddNameValParam(paramType); }
void CDFData::SetRefSequence(const std::string &seq) { GenericDataHeader* gPtr = genericData.Header().GetGenericDataHdr(); ParameterNameValueType paramType; paramType.SetName(CDF_REFSEQ_PARAM); paramType.SetValueAscii(seq); gPtr->AddNameValParam(paramType); }
void TestFileGenerator::WriteOutGenericDATDataFileNoGrid() { GenericDataHeader gdh; AddStandardGenericDataHeader(gdh); // Fill the DataGroupHeader DataGroupHeader dch; dch.SetName(L"First Data Cube"); // Fill the DataSetHeader DataSetHeader dph; dph.SetName(L"acquired data"); ParameterNameValueType nvt; nvt.SetName(L"Scanner"); nvt.SetValueText(L"M10"); dph.AddNameValParam(nvt); nvt.SetName(L"Pixel Size"); nvt.SetValueFloat(0.051f); dph.AddNameValParam(nvt); dph.AddColumn(UShortColumn(L"Pixel")); int32_t rows = 100; dph.SetRowCnt(rows); dch.AddDataSetHdr(dph); // Set the FileHeader FileHeader fh; fh.SetFilename("test.file.data_dat"); fh.SetGenericDataHdr(gdh); fh.AddDataGroupHdr(dch); // Create the generic file writer GenericFileWriter gfWriter(&fh); gfWriter.WriteHeader(); DataGroupWriterIt dcwBegin, dcwEnd; gfWriter.GetDataGroupWriters(dcwBegin, dcwEnd); DataGroupWriter d = *dcwBegin; dcwBegin->WriteHeader(); DataSetWriterIt dpwBegin, dpwEnd; dcwBegin->GetDataSetWriters(dpwBegin, dpwEnd); dpwBegin->WriteHeader(); // Write out the data for( int32_t i=0; i < rows; ++i ) { u_int16_t value = (u_int16_t)(i*10+i); dpwBegin->Write(value); } dpwBegin->UpdateNextDataSetOffset(); dcwBegin->Close(); }
std::wstring CalvinCELDataAdapter::GetAlgorithmParameter(const wchar_t *tag) { std::wstring result; ParameterNameValueType param; if (calvinCel.FindAlgorithmParameter(tag, param)) { result = param.ToString(); } return result; }
ParameterNameValueType CHPData::GetAlgParam(const std::wstring& tag) { std::wstring name = ALGORITHM_PARAM_NAME_PREFIX_S + tag; ParameterNameValueType paramType; GenericDataHeader* hdr = genericData.Header().GetGenericDataHdr(); hdr->FindNameValParam(name, paramType); ParameterNameValueType type = paramType; type.SetName(tag); return type; }
ParameterNameValueType CHPData::GetChipSum(const std::wstring& tag) { std::wstring name = CHIP_SUMMARY_PARAMETER_NAME_PREFIX_S + tag; ParameterNameValueType paramType; GenericDataHeader* hdr = genericData.Header().GetGenericDataHdr(); hdr->FindNameValParam(name, paramType); ParameterNameValueType type = paramType; type.SetName(tag); return type; }
void CHPMultiDataDataTest::test_SumParams() { ParameterNameValueTypeList params; ParameterNameValueType param; CHPMultiDataData data; param.SetName(L"n1"); param.SetValueText(L"v1"); params.push_back(param); param.SetName(L"n2"); param.SetValueText(L"v2"); params.push_back(param); data.AddSummaryParams(params); ParameterNameValueTypeList params_out = data.GetSummaryParams(); CPPUNIT_ASSERT(params_out.size() == 2); ParameterNameValueTypeList::iterator it = params_out.begin(); param = *it; CPPUNIT_ASSERT(param.GetName() == L"n1"); CPPUNIT_ASSERT(param.GetValueText() == L"v1"); ++it; param = *it; CPPUNIT_ASSERT(param.GetName() == L"n2"); CPPUNIT_ASSERT(param.GetValueText() == L"v2"); }
void CHPQuantificationDataTest::test_AlgParams() { ParameterNameValueTypeList params; ParameterNameValueType param; CHPQuantificationData data; param.SetName(L"n1"); param.SetValueText(L"v1"); params.push_back(param); param.SetName(L"n2"); param.SetValueText(L"v2"); params.push_back(param); data.AddAlgParams(params); ParameterNameValueTypeList params_out = data.GetAlgParams(); CPPUNIT_ASSERT(params_out.size() == 2); ParameterNameValueTypeList::iterator it = params_out.begin(); param = *it; CPPUNIT_ASSERT(param.GetName() == L"n1"); CPPUNIT_ASSERT(param.GetValueText() == L"v1"); ++it; param = *it; CPPUNIT_ASSERT(param.GetName() == L"n2"); CPPUNIT_ASSERT(param.GetValueText() == L"v2"); }
void CHPMultiDataData::AddAlgParams(const ParameterNameValueTypeList& params) { ParameterNameValueType param; GenericDataHeader* hdr = genericData.Header().GetGenericDataHdr(); for (ParameterNameValueTypeList::const_iterator it=params.begin(); it != params.end(); it++) { param = *it; param.SetName(ALGORITHM_PARAM_NAME_PREFIX_S + param.GetName()); hdr->AddNameValParam(param); } }
void CHPQuantificationData::AddSummaryParams(const ParameterNameValueTypeList& params) { ParameterNameValueType param; GenericDataHeader* hdr = genericData.Header().GetGenericDataHdr(); for (ParameterNameValueTypeList::const_iterator it=params.begin(); it != params.end(); it++) { param = *it; param.SetName(CHIP_SUMMARY_PARAMETER_NAME_PREFIX_S + param.GetName()); hdr->AddNameValParam(param); } }
int32_t CHPData::GetInt32FromGenericHdr(const std::wstring& name) { int32_t result = 0; ParameterNameValueType paramType; GenericDataHeader* hdr = genericData.Header().GetGenericDataHdr(); if (hdr->FindNameValParam(name, paramType)) { result = paramType.GetValueInt32(); } return result; }
std::wstring CHPQuantificationData::GetWStringFromGenericHdr(const std::wstring& name) { std::wstring result; ParameterNameValueType paramType; GenericDataHeader* hdr = genericData.Header().GetGenericDataHdr(); if (hdr->FindNameValParam(name, paramType)) { result = paramType.GetValueText(); } return result; }
std::string CDFData::GetRefSequence() { std::string result; ParameterNameValueType paramType; GenericDataHeader* hdr = genericData.Header().GetGenericDataHdr(); if (hdr->FindNameValParam(CDF_REFSEQ_PARAM, paramType)) { result = paramType.GetValueAscii(); } return result; }
void DATFileUpdaterTest::AddParameters(DATData& data) { ParameterNameValueType nvt; nvt.SetName(L"Santa Clara"); nvt.SetValueUInt8(56); data.AddGridAlignmentAlgorithmParameter(nvt); nvt.SetName(L"San Mateo"); nvt.SetValueFloat(4.56f); data.AddGridAlignmentAlgorithmParameter(nvt); }
void CHPMultiDataData::AddAppMetaInfo(const ParameterNameValueTypeList& params) { ParameterNameValueType param; GenericDataHeader* hdr = genericData.Header().GetGenericDataHdr(); for (ParameterNameValueTypeList::const_iterator it=params.begin(); it != params.end(); ++it) { param = *it; param.SetName(APPLICATION_META_INFO_PREFIX_S + param.GetName()); hdr->AddNameValParam(param); } }
void CELConversionUtilities::FindAndAddAlgorithmParameter(string name, string defaultValue, CelFileData &inFile, CCELFileData &outFile) { ParameterNameValueType nvt; if (inFile.FindAlgorithmParameter(StringUtils::ConvertMBSToWCS(name), nvt)) { outFile.AddAlgorithmParameter(name.c_str(), StringUtils::ConvertWCSToMBS(nvt.ToString()).c_str()); } else { outFile.AddAlgorithmParameter(name.c_str(), defaultValue.c_str()); } }
bool DataSetHeader::FindNameValParam(const std::wstring& name, ParameterNameValueType& result) const { ParameterNameValueType t; t.SetName(name); t.SetValueText(L""); ParameterNameValueTypeConstIt found = FindNameValParam(t); if (found != nameValParams.end()) { result = *found; return true; } return false; }
void CDFDataTest::GetGenericDataTest() { // Put something into the header. data->SetArrayCols(33); // Get the generic data. GenericData& gd = data->GetGenericData(); // Try to read the thing from the header. ParameterNameValueType pvt; CPPUNIT_ASSERT(gd.Header().GetGenericDataHdr()->FindNameValParam(CDF_COLS_PARAM, pvt)); CPPUNIT_ASSERT(pvt.GetValueUInt32() == 33); }
void CDFDataTest::FileHeaderTest() { // Put something into the header. data->SetArrayCols(45); // Get the header. FileHeader* fh = data->GetFileHeader(); CPPUNIT_ASSERT(fh); // Try to read the thing from the header. ParameterNameValueType pvt; CPPUNIT_ASSERT(fh->GetGenericDataHdr()->FindNameValParam(CDF_COLS_PARAM, pvt)); CPPUNIT_ASSERT(pvt.GetValueUInt32() == 45); }
void DataGroupHeaderTest::FindDataSetHeaderTest() { // Create DataSetHeaders DataSetHeader dph1; dph1.SetName(L"pixel intensity"); ParameterNameValueType param; param.SetName(L"Scanner"); param.SetValueText(L"M10"); dph1.AddNameValParam(param); dph1.AddUShortColumn(L""); dph1.SetRowCnt(1); DataSetHeader dph2; dph2.SetName(L"grid coordinates"); param.SetName(L"Corner Pattern"); param.SetValueText(L"Checkerboard"); dph2.AddNameValParam(param); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.AddUShortColumn(L""); dph2.SetRowCnt(1); header->AddDataSetHdr(dph1); header->AddDataSetHdr(dph2); const DataSetHeader* dph = header->FindDataSetHeader(L"none"); CPPUNIT_ASSERT(0 == dph); dph = header->FindDataSetHeader(dph1.GetName()); CPPUNIT_ASSERT(0 != dph); CPPUNIT_ASSERT(dph->GetName() == dph1.GetName()); dph = header->FindDataSetHeader(dph2.GetName()); CPPUNIT_ASSERT(0 != dph); CPPUNIT_ASSERT(dph->GetName() == dph2.GetName()); }
/* * Get the DAT header from the DAT file header object. */ string CELConversionUtilities::GetDatHeader(CelFileData &inFile) { std::wstring datHeader; GenDataHdrVectorIt begin, end; inFile.GetFileHeader()->GetGenericDataHdr()->GetParentIterators(begin, end); // Find the DAT generic header for (GenDataHdrVectorIt ii = begin; ii != end; ++ii) { std::string s = ii->GetFileTypeId(); if (ii->GetFileTypeId() == SCAN_ACQUISITION_DATA_TYPE) { // found the right header, now look for the parameter ParameterNameValueType nvt; if (ii->FindNameValParam(DAT_HEADER_PARAM_NAME, nvt)) { if (nvt.GetParameterType() == ParameterNameValueType::TextType) datHeader = nvt.GetValueText(); } else if (ii->FindNameValParam(PARTIAL_DAT_HEADER_PARAM_NAME, nvt)) { if (nvt.GetParameterType() == ParameterNameValueType::TextType) { std::wstring partialDatHeader = nvt.GetValueText(); u_int16_t min = 0; u_int16_t max = 0; // Find the max and min parameters and append to the string. if (ii->FindNameValParam(MAX_PIXEL_INTENSITY_PARAM_NAME, nvt)) { if (nvt.GetParameterType() == ParameterNameValueType::UInt16Type) max = nvt.GetValueUInt16(); } if (ii->FindNameValParam(MIN_PIXEL_INTENSITY_PARAM_NAME, nvt)) { if (nvt.GetParameterType() == ParameterNameValueType::UInt16Type) min = nvt.GetValueUInt16(); } wchar_t buf[30]; FormatString2(buf, 30, L"[%d..%d]", min, max); datHeader = buf; datHeader += partialDatHeader; } } break; } } return StringUtils::ConvertWCSToMBS(datHeader); }
void CHPMultiDataFileReaderTest::testRead() { affymetrix_calvin_data::ProbeSetMultiDataExpressionData ex; affymetrix_calvin_data::ProbeSetMultiDataGenotypeData gn; ParameterNameValueType param; CHPMultiDataData data2; CHPMultiDataFileReader reader; reader.SetFilename("../data/CHP_MultiData_file"); reader.Read(data2); CPPUNIT_ASSERT(data2.GetAlgName() == L"sig"); CPPUNIT_ASSERT(data2.GetAlgVersion() == L"1.0"); CPPUNIT_ASSERT(data2.GetArrayType() == L"test3"); CPPUNIT_ASSERT(data2.GetEntryCount(ExpressionMultiDataType) == 1); CPPUNIT_ASSERT(data2.GetEntryCount(GenotypeMultiDataType) == 2); // expression CPPUNIT_ASSERT(data2.GetNumMetricColumns(ExpressionMultiDataType) == 0); data2.GetExpressionEntry(ExpressionMultiDataType, 0, ex); CPPUNIT_ASSERT_DOUBLES_EQUAL(ex.quantification, 10.0f, 0.0001f); CPPUNIT_ASSERT(ex.name == "ex1"); // genotype CPPUNIT_ASSERT(data2.GetNumMetricColumns(GenotypeMultiDataType) == 2); CPPUNIT_ASSERT(data2.GetMetricColumnName(GenotypeMultiDataType, 0) == L"int"); CPPUNIT_ASSERT(data2.GetMetricColumnName(GenotypeMultiDataType, 1) == L"float"); data2.GetGenotypeEntry(GenotypeMultiDataType, 0, gn); CPPUNIT_ASSERT(gn.call == 1); CPPUNIT_ASSERT_DOUBLES_EQUAL(gn.confidence, 11.0f, 0.0001f); CPPUNIT_ASSERT(gn.name == "gn1"); CPPUNIT_ASSERT(gn.metrics.size() == 2); param = gn.metrics[0]; CPPUNIT_ASSERT(param.GetParameterType() == ParameterNameValueType::Int32Type); CPPUNIT_ASSERT(param.GetValueInt32() == 1); param = gn.metrics[1]; CPPUNIT_ASSERT(param.GetParameterType() == ParameterNameValueType::FloatType); CPPUNIT_ASSERT_DOUBLES_EQUAL(param.GetValueFloat(), 2.0f, 0.00001f); data2.GetGenotypeEntry(GenotypeMultiDataType, 1, gn); CPPUNIT_ASSERT(gn.call == 2); CPPUNIT_ASSERT_DOUBLES_EQUAL(gn.confidence, 22.0f, 0.0001f); CPPUNIT_ASSERT(gn.name == "gn2"); CPPUNIT_ASSERT(gn.metrics.size() == 2); param = gn.metrics[0]; CPPUNIT_ASSERT(param.GetParameterType() == ParameterNameValueType::Int32Type); CPPUNIT_ASSERT(param.GetValueInt32() == 2); param = gn.metrics[1]; CPPUNIT_ASSERT(param.GetParameterType() == ParameterNameValueType::FloatType); CPPUNIT_ASSERT_DOUBLES_EQUAL(param.GetValueFloat(), 3.0f, 0.00001f); }
void TestFileGenerator::WriteSmallDatFileWithReservedStringParameters() { int32_t rows = 4; int32_t cols = 5; int32_t pixelCount = rows*cols; DATData data("small_dat_file_with_reserved_string_parameters"); data.SetPixelCount(pixelCount); data.SetStatsCount(1); data.SetArrayType(L"Hg_small"); data.SetPixelSize(0.71f); data.SetScannerType(L"M10"); data.SetScannerID(L"main"); DateTime dt = DateTime::Parse(L"2005-12-25T11:12:13Z"); data.SetScanDate(dt); data.SetRows(rows); data.SetCols(cols); std::string arrayId = "smellsliketeenspirit"; data.SetArrayId(arrayId); ParameterNameValueType nvt; nvt.SetName(L"fixedlen"); nvt.SetValueText(L"twenty-five", 25); data.GetFileHeader()->GetGenericDataHdr()->AddNameValParam(nvt); DATFileWriter writer(data); Uint16Vector pixels; pixels.reserve(pixelCount); u_int16_t inten = 10; for (int32_t i=0; i<pixelCount; ++i, ++inten) { if (inten > 46000) { inten = 0; } pixels.push_back(inten); } Uint16Vector stats; stats.push_back(pixels[0]); // min stats.push_back(pixels[19]); // max writer.WriteStats(stats); writer.WritePixels(pixels); }
void TestFileGenerator::WriteCelFileWithADataSetWithZeroRows() { CelFileData data("small_cel_file_with_dataset_of_zero_rows"); data.SetIntensityCount(25); data.SetStdDevCount(25); data.SetPixelCount(25); data.SetOutlierCount(0); data.SetMaskCount(0); data.SetRows(5); data.SetCols(5); data.SetArrayType(L"Hg-small"); data.SetAlgorithmName(L"Feature Extraction"); ParameterNameValueType nvt; nvt.SetName(L"percentile"); nvt.SetValueFloat(0.75f); data.AddAlgorithmParameter(nvt); nvt.SetName(L"outlierlow"); nvt.SetValueFloat(1.004f); data.AddAlgorithmParameter(nvt); CelFileWriter* writer = new CelFileWriter(data); FloatVector vInten; FloatVector vStdev; Int16Vector vPixels; for (int i=0; i<25; ++i) { vInten.push_back(100.0f*i); vStdev.push_back(.123f); vPixels.push_back(25); } // Do some writing writer->WriteIntensities(vInten); writer->WriteStdDevs(vStdev); writer->WritePixels(vPixels); XYCoordVector outlier; writer->WriteOutlierCoords(outlier); XYCoordVector masked; writer->WriteMaskCoords(masked); delete writer; }
void TestFileGenerator::WriteSmallCelFileWithAPartialDatHeaderTest() { CelFileData data("small_cel_file_partial_datheader"); // Write ParameterNameValueType nvt; GenericDataHeader datHdr; datHdr.SetFileId(AffymetrixGuid::GenerateNewGuid()); datHdr.SetFileTypeId("affymetrix-calvin-scan-acquisition"); datHdr.SetFileCreationTime(L"2004-07-01T13:14:15Z"); nvt.SetName(L"affymetrix-partial-dat-header"); std::wstring datHeaderString = L" small_cel_file_partial_datheader:CLS=25 RWS=25 XIN=1 YIN=1 VE=0 0 05/19/05 02:45:59 ScannerID: ScannerTyp \x14 \x14 Hg-Small.1sq \x14 \x14 \x14 \x14 \x14 570 \x14 45.200001 \x14 0.340000 \x14 1.0900 \x14 3"; nvt.SetValueText(datHeaderString); datHdr.AddNameValParam(nvt); nvt.SetName(L"affymetrix-max-pixel-intensity"); nvt.SetValueUInt16(46001); datHdr.AddNameValParam(nvt); nvt.SetName(L"affymetrix-min-pixel-intensity"); nvt.SetValueUInt16(1); datHdr.AddNameValParam(nvt); // Add DAT GenericDataHeader as parent. data.GetFileHeader()->GetGenericDataHdr()->AddParent(datHdr); WriteRemaingSmallCelFileWithGridParameters(data); }
void CELConversionUtilities::SetCellMargin(CelFileData &inFile, CCELFileData &outFile, int defaultValue) { ParameterNameValueType nvt; if (inFile.FindAlgorithmParameter(L"CellMargin", nvt)) { if (nvt.GetParameterType() == ParameterNameValueType::Int32Type) { outFile.GetHeader().SetMargin(nvt.GetValueInt32()); } else if(nvt.GetParameterType() == ParameterNameValueType::AsciiType) { outFile.GetHeader().SetMargin(atoi(nvt.GetValueAscii().c_str())); } } else { outFile.GetHeader().SetMargin(defaultValue); } }
void TestFileGenerator::WriteSmallDatFileWithGridAndSubgridsAndParameters() { std::string filename = "small_DAT_file_with_subgrids_and_parameters"; WriteDatFile(filename, L"Hg-small", 4, 5, true); DATData data(filename); AddGridAndSubgrids(data, 2.5, 10); ParameterNameValueType nvt; nvt.SetName(L"Zip Code"); nvt.SetValueInt32(95051); data.AddGridAlignmentAlgorithmParameter(nvt); nvt.SetName(L"County"); nvt.SetValueText(L"Santa Clara"); data.AddGridAlignmentAlgorithmParameter(nvt); DATFileUpdater update(data); update.Update(); }