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); }
/* * Read the file. */ bool FusionCHPMultiDataData::Read() { CHPMultiDataFileReader reader; reader.SetFilename(filename); try { reader.Read(chpData); return true; } catch(...) { return false; } }
void CHPMultiDataFileReaderTest::testReadCNV() { affymetrix_calvin_data::ProbeSetMultiDataCopyNumberVariationRegionData e; ParameterNameValueType param; CHPMultiDataData data2; CHPMultiDataFileReader reader; reader.SetFilename("../data/CHP_MultiData_file_cnv"); reader.Read(data2); CPPUNIT_ASSERT(data2.GetAlgName() == L"canary"); CPPUNIT_ASSERT(data2.GetAlgVersion() == L"1.0"); CPPUNIT_ASSERT(data2.GetArrayType() == L"test3"); CPPUNIT_ASSERT(data2.GetEntryCount(CopyNumberVariationMultiDataType) == 2); CPPUNIT_ASSERT(data2.GetEntryCount(CopyNumberMultiDataType) == 0); CPPUNIT_ASSERT(data2.GetEntryCount(GenotypeMultiDataType) == 0); CPPUNIT_ASSERT(data2.GetEntryCount(ExpressionMultiDataType) == 0); ParameterNameValueTypeList p = data2.GetAlgParams(); ParameterNameValueTypeList::iterator it = p.begin(); param = *it; CPPUNIT_ASSERT(param.GetName() == L"an1"); CPPUNIT_ASSERT(param.GetValueText() == L"av1"); p = data2.GetSummaryParams(); it = p.begin(); param = *it; CPPUNIT_ASSERT(param.GetName() == L"sn1"); CPPUNIT_ASSERT(param.GetValueText() == L"sv1"); data2.GetCopyNumberVariationEntry(CopyNumberVariationMultiDataType, 0, e); CPPUNIT_ASSERT(e.call == 1); CPPUNIT_ASSERT(e.name == "abc"); CPPUNIT_ASSERT_DOUBLES_EQUAL(e.confidenceScore, 1.1f, 0.0001f); CPPUNIT_ASSERT(e.signal == 100); data2.GetCopyNumberVariationEntry(CopyNumberVariationMultiDataType, 1, e); CPPUNIT_ASSERT(e.call == 2); CPPUNIT_ASSERT(e.name == "xyz"); CPPUNIT_ASSERT_DOUBLES_EQUAL(e.confidenceScore, 2.2, 0.0001f); CPPUNIT_ASSERT(e.signal == 200); }
void CalvinCHPMultiDataFileUpdaterTest::testMultiData1() { CreateReferenceFile1(); vector<ColumnInfo> cols; CalvinCHPMultiDataFileUpdater upd; ProbeSetMultiDataGenotypeData e; upd.Initialize(TEST1_FILE); e.call = 11; e.confidence = 111.0f; upd.UpdateMultiData(GenotypeMultiDataType, 0, e); e.call = 22; e.confidence = 222.0f; upd.UpdateMultiData(GenotypeMultiDataType, 2, e); CHPMultiDataData data; CHPMultiDataFileReader reader; CPPUNIT_ASSERT_NO_THROW(reader.SetFilename(TEST1_FILE)); CPPUNIT_ASSERT_NO_THROW(reader.Read(data)); CPPUNIT_ASSERT(data.GetEntryCount(GenotypeMultiDataType) == 4); data.GetGenotypeEntry(GenotypeMultiDataType, 0, e); CPPUNIT_ASSERT(e.name == "1"); CPPUNIT_ASSERT(e.call == 11); CPPUNIT_ASSERT_DOUBLES_EQUAL(e.confidence, 111.0f, 0.000001f); data.GetGenotypeEntry(GenotypeMultiDataType, 1, e); CPPUNIT_ASSERT(e.name == "2"); CPPUNIT_ASSERT(e.call == 2); CPPUNIT_ASSERT_DOUBLES_EQUAL(e.confidence, 20.0f, 0.000001f); data.GetGenotypeEntry(GenotypeMultiDataType, 2, e); CPPUNIT_ASSERT(e.name == "3"); CPPUNIT_ASSERT(e.call == 22); CPPUNIT_ASSERT_DOUBLES_EQUAL(e.confidence, 222.0f, 0.000001f); data.GetGenotypeEntry(GenotypeMultiDataType, 3, e); CPPUNIT_ASSERT(e.name == "4"); CPPUNIT_ASSERT(e.call == 4); CPPUNIT_ASSERT_DOUBLES_EQUAL(e.confidence, 40.0f, 0.000001f); }
void CHPMultiDataFileReaderTest::testReadCN() { affymetrix_calvin_data::ProbeSetMultiDataCopyNumberData e; ParameterNameValueType param; CHPMultiDataData data2; CHPMultiDataFileReader reader; reader.SetFilename("../data/CHP_MultiData_file_cn"); 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(CopyNumberMultiDataType) == 2); CPPUNIT_ASSERT(data2.GetEntryCount(GenotypeMultiDataType) == 0); CPPUNIT_ASSERT(data2.GetEntryCount(ExpressionMultiDataType) == 0); ParameterNameValueTypeList p = data2.GetAlgParams(); ParameterNameValueTypeList::iterator it = p.begin(); param = *it; CPPUNIT_ASSERT(param.GetName() == L"an1"); CPPUNIT_ASSERT(param.GetValueText() == L"av1"); p = data2.GetSummaryParams(); it = p.begin(); param = *it; CPPUNIT_ASSERT(param.GetName() == L"sn1"); CPPUNIT_ASSERT(param.GetValueText() == L"sv1"); data2.GetCopyNumberEntry(CopyNumberMultiDataType, 0, e); CPPUNIT_ASSERT(e.chr == 10); CPPUNIT_ASSERT(e.position == 11); CPPUNIT_ASSERT(e.name == "abc"); data2.GetCopyNumberEntry(CopyNumberMultiDataType, 1, e); CPPUNIT_ASSERT(e.chr == 20); CPPUNIT_ASSERT(e.position == 21); CPPUNIT_ASSERT(e.name == "xyz"); }
void CalvinCHPMultiDataFileUpdaterTest::testMultiData3() { CreateReferenceFile3(); vector<ColumnInfo> cols; ByteColumn bcol(L"byte"); cols.push_back(bcol); UByteColumn ubcol(L"ubyte"); cols.push_back(ubcol); ShortColumn scol(L"short"); cols.push_back(scol); UShortColumn uscol(L"ushort"); cols.push_back(uscol); IntColumn icol(L"int"); cols.push_back(icol); UIntColumn uicol(L"uint"); cols.push_back(uicol); FloatColumn fcol(L"float"); cols.push_back(fcol); ASCIIColumn acol(L"ascii", 7); cols.push_back(acol); UnicodeColumn tcol(L"text", 10); cols.push_back(tcol); CalvinCHPMultiDataFileUpdater upd; ProbeSetMultiDataCopyNumberData e; ProbeSetMultiDataCytoRegionData c; upd.Initialize(TEST3_FILE); e.metrics.resize(9); e.chr = 11; e.position = 111; e.metrics[0].SetValueInt8(9); e.metrics[1].SetValueUInt8(10); e.metrics[2].SetValueInt16(17); e.metrics[3].SetValueUInt16(18); e.metrics[4].SetValueInt32(33); e.metrics[5].SetValueUInt32(34); e.metrics[6].SetValueFloat(55.0f); e.metrics[7].SetValueAscii("text"); e.metrics[8].SetValueText(L"ascii"); upd.UpdateMultiData(CopyNumberMultiDataType, 0, e, cols); e.chr = 22; e.position = 222; e.metrics[0].SetValueInt8(10); e.metrics[1].SetValueUInt8(11); e.metrics[2].SetValueInt16(18); e.metrics[3].SetValueUInt16(19); e.metrics[4].SetValueInt32(34); e.metrics[5].SetValueUInt32(35); e.metrics[6].SetValueFloat(66.0f); e.metrics[7].SetValueAscii("text2"); e.metrics[8].SetValueText(L"ascii2"); upd.UpdateMultiData(CopyNumberMultiDataType, 2, e, cols); vector<ColumnInfo> cycols; c.call = 11; c.confidenceScore = 111.0f; c.chr = 11; c.startPosition = 11; c.stopPosition = 22; upd.UpdateMultiData(CytoMultiDataType, 0, c, cycols); c.call = 2; c.confidenceScore = 20.0f; c.chr = 22; c.startPosition = 22; c.stopPosition = 33; upd.UpdateMultiData(CytoMultiDataType, 1, c, cycols); CHPMultiDataData data; CHPMultiDataFileReader reader; CPPUNIT_ASSERT_NO_THROW(reader.SetFilename(TEST3_FILE)); CPPUNIT_ASSERT_NO_THROW(reader.Read(data)); CPPUNIT_ASSERT(data.GetEntryCount(CopyNumberMultiDataType) == 4); CPPUNIT_ASSERT(data.GetEntryCount(CytoMultiDataType) == 2); data.GetCopyNumberEntry(CopyNumberMultiDataType, 0, e); CPPUNIT_ASSERT(e.name == "1"); CPPUNIT_ASSERT(e.chr == 11); CPPUNIT_ASSERT(e.position == 111); CPPUNIT_ASSERT(e.metrics[0].GetValueInt8() == 9); CPPUNIT_ASSERT(e.metrics[1].GetValueUInt8() == 10); CPPUNIT_ASSERT(e.metrics[2].GetValueInt16() == 17); CPPUNIT_ASSERT(e.metrics[3].GetValueUInt16() == 18); CPPUNIT_ASSERT(e.metrics[4].GetValueInt32() == 33); CPPUNIT_ASSERT(e.metrics[5].GetValueUInt32() == 34); CPPUNIT_ASSERT_DOUBLES_EQUAL(e.metrics[6].GetValueFloat(), 55.0f, 0.00001f); CPPUNIT_ASSERT(e.metrics[7].GetValueAscii() == "text"); CPPUNIT_ASSERT(e.metrics[8].GetValueText() == L"ascii"); data.GetCopyNumberEntry(CopyNumberMultiDataType, 1, e); CPPUNIT_ASSERT(e.name == "2"); CPPUNIT_ASSERT(e.chr == 2); CPPUNIT_ASSERT(e.position == 20); CPPUNIT_ASSERT(e.metrics[0].GetValueInt8() == 8); CPPUNIT_ASSERT(e.metrics[1].GetValueUInt8() == 8); CPPUNIT_ASSERT(e.metrics[2].GetValueInt16() == 16); CPPUNIT_ASSERT(e.metrics[3].GetValueUInt16() == 16); CPPUNIT_ASSERT(e.metrics[4].GetValueInt32() == 32); CPPUNIT_ASSERT(e.metrics[5].GetValueUInt32() == 32); CPPUNIT_ASSERT_DOUBLES_EQUAL(e.metrics[6].GetValueFloat(), 44.0f, 0.00001f); CPPUNIT_ASSERT(e.metrics[7].GetValueAscii() == "ascii"); CPPUNIT_ASSERT(e.metrics[8].GetValueText() == L"text"); data.GetCopyNumberEntry(CopyNumberMultiDataType, 2, e); CPPUNIT_ASSERT(e.name == "3"); CPPUNIT_ASSERT(e.chr == 22); CPPUNIT_ASSERT(e.position == 222); CPPUNIT_ASSERT(e.metrics[0].GetValueInt8() == 10); CPPUNIT_ASSERT(e.metrics[1].GetValueUInt8() == 11); CPPUNIT_ASSERT(e.metrics[2].GetValueInt16() == 18); CPPUNIT_ASSERT(e.metrics[3].GetValueUInt16() == 19); CPPUNIT_ASSERT(e.metrics[4].GetValueInt32() == 34); CPPUNIT_ASSERT(e.metrics[5].GetValueUInt32() == 35); CPPUNIT_ASSERT_DOUBLES_EQUAL(e.metrics[6].GetValueFloat(), 66.0f, 0.00001f); CPPUNIT_ASSERT(e.metrics[7].GetValueAscii() == "text2"); CPPUNIT_ASSERT(e.metrics[8].GetValueText() == L"ascii2"); data.GetCopyNumberEntry(CopyNumberMultiDataType, 3, e); CPPUNIT_ASSERT(e.name == "4"); CPPUNIT_ASSERT(e.chr == 4); CPPUNIT_ASSERT(e.position == 40); CPPUNIT_ASSERT(e.metrics[0].GetValueInt8() == 8); CPPUNIT_ASSERT(e.metrics[1].GetValueUInt8() == 8); CPPUNIT_ASSERT(e.metrics[2].GetValueInt16() == 16); CPPUNIT_ASSERT(e.metrics[3].GetValueUInt16() == 16); CPPUNIT_ASSERT(e.metrics[4].GetValueInt32() == 32); CPPUNIT_ASSERT(e.metrics[5].GetValueUInt32() == 32); CPPUNIT_ASSERT_DOUBLES_EQUAL(e.metrics[6].GetValueFloat(), 44.0f, 0.00001f); CPPUNIT_ASSERT(e.metrics[7].GetValueAscii() == "ascii"); CPPUNIT_ASSERT(e.metrics[8].GetValueText() == L"text"); data.GetCytoEntry(CytoMultiDataType, 0, c); CPPUNIT_ASSERT(c.name == "1"); CPPUNIT_ASSERT(c.call == 11); CPPUNIT_ASSERT(c.chr == 11); CPPUNIT_ASSERT(c.startPosition == 11); CPPUNIT_ASSERT(c.stopPosition == 22); CPPUNIT_ASSERT_DOUBLES_EQUAL(c.confidenceScore, 111.0f, 0.00001f); data.GetCytoEntry(CytoMultiDataType, 1, c); CPPUNIT_ASSERT(c.name == "2"); CPPUNIT_ASSERT(c.chr == 22); CPPUNIT_ASSERT(c.startPosition == 22); CPPUNIT_ASSERT(c.stopPosition == 33); CPPUNIT_ASSERT(c.call == 2); CPPUNIT_ASSERT_DOUBLES_EQUAL(c.confidenceScore, 20.0f, 0.00001f); }