public IList<PeakData> ImportFile(TextReader peakViewReader) { var peakDatas = new List<PeakData>(); var msFileNames = new List<string>(); var fileReader = new DsvFileReader(peakViewReader, TextUtil.SEPARATOR_TSV); Assert.AreEqual(fileReader.GetFieldIndex(PROTEIN), 0); Assert.AreEqual(fileReader.GetFieldIndex(PEPTIDE), 1); Assert.AreEqual(fileReader.GetFieldIndex(LABEL), 2); Assert.AreEqual(fileReader.GetFieldIndex(PRECURSOR), 3); Assert.AreEqual(fileReader.GetFieldIndex(CHARGE), 4); Assert.AreEqual(fileReader.GetFieldIndex(RT), 5); Assert.AreEqual(fileReader.GetFieldIndex(DECOY), 6); for (int i = 7; i < fileReader.NumberOfFields; ++i) { msFileNames.Add(fileReader.FieldNames[i]); } while (fileReader.ReadLine() != null) { string modifiedSequence = fileReader.GetFieldByName(PEPTIDE); string decoyString = fileReader.GetFieldByName(DECOY); bool decoy; Assert.IsTrue(bool.TryParse(decoyString, out decoy)); foreach (var msFileName in msFileNames) { string dataFieldString = fileReader.GetFieldByName(msFileName); double dataField; Assert.IsTrue(double.TryParse(dataFieldString, out dataField)); var peakData = new PeakData(dataField, modifiedSequence, msFileName, decoy); peakDatas.Add(peakData); } } return peakDatas; }
public static IDictionary<string, LinearFitResult> ReadExpectedResults(Type type, string resourceName) { var result = new Dictionary<string, LinearFitResult>(); using (var reader = GetTextReaderForManifestResource(type, resourceName)) { var csvReader = new DsvFileReader(reader, ','); while (null != csvReader.ReadLine()) { string protein = csvReader.GetFieldByName("Protein"); var linearFitResult = new LinearFitResult(Convert.ToDouble(csvReader.GetFieldByName("log2FC"), CultureInfo.InvariantCulture)) .SetStandardError(Convert.ToDouble(csvReader.GetFieldByName("SE"), CultureInfo.InvariantCulture)) .SetTValue(Convert.ToDouble(csvReader.GetFieldByName("Tvalue"), CultureInfo.InvariantCulture)) .SetDegreesOfFreedom(Convert.ToInt32(csvReader.GetFieldByName("DF"), CultureInfo.InvariantCulture)) .SetPValue(Convert.ToDouble(csvReader.GetFieldByName("pvalue"), CultureInfo.InvariantCulture)); result.Add(protein, linearFitResult); } } return result; }