public override void SetValue(string fieldName, string value)
{
if (MzTab.NullFieldText.Equals(value))
return;
switch (fieldName)
{
case Fields.Identifier:
Identifiers = value.Split('|').ToList();
return;
case Fields.ChemicalFormula:
ChemicalFormula = new ChemicalFormula(value);
return;
case Fields.Smiles:
Smiles = value;
return;
case Fields.InChIKey:
InChIKeys = value.Split('|').ToList();
return;
case Fields.Description:
Description = value;
return;
case Fields.ExperimentMZ:
ExperimentalMZ = double.Parse(value, CultureInfo.CurrentCulture);
return;
case Fields.TheoreticalMZ:
TheoreticalMZ = double.Parse(value, CultureInfo.CurrentCulture);
return;
case Fields.Charge:
Charge = int.Parse(value);
return;
case Fields.RetentionTime:
RetentionTimes = value.Split('|').Select(double.Parse).ToList();
return;
case Fields.TaxID:
TaxID = int.Parse(value);
return;
case Fields.Species:
Species = value;
return;
case Fields.Database:
Database = value;
return;
case Fields.DatabaseVersion:
DatabaseVersion = value;
return;
case Fields.Reliability:
Reliability = (MzTab.MetabolomicsReliabilityScore) int.Parse(value);
return;
case Fields.Uri:
Uri = new Uri(value);
return;
case Fields.SpectralReference:
SpectralReference = value;
return;
case Fields.SearchEngine:
SearchEngines = value.Split('|').Select(v => new CVParamater(v)).ToList();
return;
case Fields.Modifications:
Modifications = value;
return;
}
if (fieldName.Contains("["))
{
string condensedFieldName;
List<int> indices = MzTab.GetFieldIndicies(fieldName, out condensedFieldName);
switch (condensedFieldName)
{
case Fields.BestSearchEngineScores:
SetListValue(ref _bestSearchEngineScores, indices[0], double.Parse(value, CultureInfo.CurrentCulture));
return;
case Fields.SearchEngineScorePerMsRun:
SetListValue(ref _searchEngineScorePerMsRun, indices[0], indices[1], double.Parse(value, CultureInfo.CurrentCulture));
return;
case Fields.AbundanceAssay:
SetListValue(ref _abundanceAssays, indices[0], double.Parse(value, CultureInfo.CurrentCulture));
return;
case Fields.AbundanceStudyVariable:
SetListValue(ref _abundanceStudyVariables, indices[0], double.Parse(value, CultureInfo.CurrentCulture));
return;
case Fields.AbundanceStDevStudyVariable:
SetListValue(ref _abundanceStdevStudyVariables, indices[0], double.Parse(value, CultureInfo.CurrentCulture));
return;
case Fields.AbudnanceStdErrorStudyVariable:
SetListValue(ref _abundanceStandardErrorStudyVariables, indices[0], double.Parse(value, CultureInfo.CurrentCulture));
return;
}
}
if (fieldName.StartsWith(MzTab.OptionalColumnPrefix))
{
SetOptionalData(fieldName, value);
return;
}
throw new ArgumentException("Unexpected field name: " + fieldName);
}