CSMSL.IO.MzTab.MzTab.GetFieldIndicies C# (CSharp) Метод

GetFieldIndicies() публичный статический Метод

public static GetFieldIndicies ( string fieldName, string &condensedFieldName ) : List
fieldName string
condensedFieldName string
Результат List
        public static List<int> GetFieldIndicies(string fieldName, out string condensedFieldName)
        {
            condensedFieldName = fieldName;
            List<int> indices = new List<int>();
            Match match;
            int index = 0;
            while ((match = MultipleEntryRegex.Match(condensedFieldName, index)).Success)
            {
                indices.Add(int.Parse(match.Groups[1].Value));
                condensedFieldName = condensedFieldName.Remove(match.Index + 1, match.Length - 2); // ± 1 for ignoring the [ ]
                index = match.Index + 1;
            }
            return indices;
        }

Usage Example

Пример #1
0
        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); return;

            case Fields.TheoreticalMZ:
                TheoreticalMZ = double.Parse(value); 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)); return;

                case Fields.SearchEngineScorePerMsRun:
                    SetListValue(ref _searchEngineScorePerMsRun, indices[0], indices[1], double.Parse(value)); return;

                case Fields.AbundanceAssay:
                    SetListValue(ref _abundanceAssays, indices[0], double.Parse(value)); return;

                case Fields.AbundanceStudyVariable:
                    SetListValue(ref _abundanceStudyVariables, indices[0], double.Parse(value)); return;

                case Fields.AbundanceStDevStudyVariable:
                    SetListValue(ref _abundanceStdevStudyVariables, indices[0], double.Parse(value)); return;

                case Fields.AbudnanceStdErrorStudyVariable:
                    SetListValue(ref _abundanceStandardErrorStudyVariables, indices[0], double.Parse(value)); return;
                }
            }

            if (fieldName.StartsWith(MzTab.OptionalColumnPrefix))
            {
                SetOptionalData(fieldName, value); return;
            }

            throw new ArgumentException("Unexpected field name: " + fieldName);
        }
All Usage Examples Of CSMSL.IO.MzTab.MzTab::GetFieldIndicies