public override void SetValue(string fieldName, string value)
{
if (MzTab.NullFieldText.Equals(value))
return;
switch (fieldName)
{
case Fields.Sequence:
Sequence = value;
return;
case Fields.Accession:
Accession = value;
return;
case Fields.Unique:
Unique = value.Equals("1");
return;
case Fields.Database:
Database = value;
return;
case Fields.DatabaseVersion:
DatabaseVersion = value;
return;
case Fields.SearchEngine:
SearchEngines = value.Split('|').Select(datum => (CVParamater) datum).ToList();
return;
case Fields.Reliability:
Reliability = (MzTab.ReliabilityScore) int.Parse(value);
return;
case Fields.Modifications:
Modifications = value;
return;
case Fields.RetentionTime:
RetentionTime = value.Split('|').Select(double.Parse).ToList();
return;
case Fields.RetentionTimeWindow:
RetentionTimeWindows = value.Split('|').Select(double.Parse).ToList();
return;
case Fields.Charge:
Charge = int.Parse(value);
return;
case Fields.MZ:
MZ = double.Parse(value, CultureInfo.InvariantCulture);
return;
case Fields.Uri:
Uri = new Uri(value);
return;
case Fields.SpectraReference:
SpectraReference = value;
return;
}
if (fieldName.Contains("["))
{
string condensedFieldName;
List<int> indices = MzTab.GetFieldIndicies(fieldName, out condensedFieldName);
switch (condensedFieldName)
{
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;
case Fields.BestSearchEngineScore:
SetListValue(ref _bestSearchEngineScores, indices[0], double.Parse(value, CultureInfo.CurrentCulture));
return;
}
}
if (fieldName.StartsWith(MzTab.OptionalColumnPrefix))
{
SetOptionalData(fieldName, value);
return;
}
throw new ArgumentException("Unexpected field name: " + fieldName);
}