예제 #1
0
        protected override int loadStableData(MZTabRecord record, string line)
        {
            _items = line.Split(new[]{MZTabConstants.TAB}, StringSplitOptions.None);
            _items[_items.Length - 1] = _items[_items.Length - 1].Trim();

            PSM psm = (PSM) record;

            SortedDictionary<string, MZTabColumn> columnMapping = factory.ColumnMapping;
            int physicalPosition = 1;

            string logicalPosition = positionMapping.get(physicalPosition);

            MZTabColumn column = null;
            if (columnMapping.ContainsKey(logicalPosition)){
                column = columnMapping[logicalPosition];
            }

            while (column != null && column is PSMColumn){
                string target;
                try{
                    target = _items[physicalPosition];
                }
                catch (IndexOutOfRangeException e){
                    Console.Error.WriteLine(_lineNumber + ":\t" + line);
                    throw e;
                }
                string columnName = column.Name;
                if (columnName.Equals(PSMColumn.SEQUENCE.Name)){
                    psm.Sequence = target;
                }
                else if (columnName.Equals(PSMColumn.PSM_ID.Name)){
                    psm.SetPSM_ID(target);
                }
                else if (columnName.Equals(PSMColumn.ACCESSION.Name)){
                    psm.Accession = target;
                }
                else if (columnName.Equals(PSMColumn.UNIQUE.Name)){
                    psm.setUnique(target);
                }
                else if (columnName.Equals(PSMColumn.DATABASE.Name)){
                    psm.Database = target;
                }
                else if (columnName.Equals(PSMColumn.DATABASE_VERSION.Name)){
                    psm.DatabaseVersion = target;
                }
                else if (columnName.Equals(PSMColumn.SEARCH_ENGINE.Name)){
                    psm.setSearchEngine(target);
                }
                else if (columnName.Equals(PSMColumn.SEARCH_ENGINE_SCORE.Name)){
                    psm.setSearchEngineScore(target);
                }
                else if (columnName.Equals(PSMColumn.RELIABILITY.Name)){
                    psm.setReliability(target);
                }
                else if (columnName.Equals(PSMColumn.MODIFICATIONS.Name)){
                    psm.setModifications(target);
                }
                else if (columnName.Equals(PSMColumn.RETENTION_TIME.Name)){
                    psm.setRetentionTime(target);
                }
                else if (columnName.Equals(PSMColumn.CHARGE.Name)){
                    psm.setCharge(target);
                }
                else if (columnName.Equals(PSMColumn.EXP_MASS_TO_CHARGE.Name)){
                    psm.SetExpMassToCharge(target);
                }
                else if (columnName.Equals(PSMColumn.CALC_MASS_TO_CHARGE.Name)){
                    psm.SetCalcMassToCharge(target);
                }
                else if (columnName.Equals(PSMColumn.URI.Name)){
                    psm.SetUri(target);
                }
                else if (columnName.Equals(PSMColumn.SPECTRA_REF.Name)){
                    psm.SetSpectraRef(target);
                }
                else if (columnName.Equals(PSMColumn.PRE.Name)){
                    psm.Pre = target;
                }
                else if (columnName.Equals(PSMColumn.POST.Name)){
                    psm.Post = target;
                }
                else if (columnName.Equals(PSMColumn.START.Name)){
                    psm.Start = target;
                }
                else if (columnName.Equals(PSMColumn.END.Name)){
                    psm.End = target;
                }

                physicalPosition++;
                logicalPosition = positionMapping.get(physicalPosition);
                column = logicalPosition != null && columnMapping.ContainsKey(logicalPosition)
                             ? columnMapping[logicalPosition]
                             : null;

                if (column == null){
                    break;
                }
            }

            return physicalPosition;
        }
        private void loadOptionalData(MZTabRecord record, int physicalOffset)
        {
            for (int physicalPosition = physicalOffset; physicalPosition < _items.Length; physicalPosition++){
                string target = _items[physicalPosition].Trim();
                MZTabColumn column = null;
                string key = positionMapping.get(physicalPosition);
                if (factory.ColumnMapping.ContainsKey(key)){
                    column = factory.ColumnMapping[key];
                }
                if (column != null){
                    Type dataType = column.Type;

                    if (dataType == typeof (string)){
                        record.setValue(column.LogicPosition, checkString(column, target));
                    }
                    else if (dataType == typeof (double)){
                        record.setValue(column.LogicPosition, checkDouble(column, target));
                    }
                    else if (dataType == typeof (MZBoolean)){
                        record.setValue(column.LogicPosition, checkMZBoolean(column, target));
                    }
                }
            }
        }
 /**
  * Load mzTab element and generate a {@link MZTabRecord}.
  */
 protected abstract int loadStableData(MZTabRecord record, string line);
예제 #4
0
        protected override int loadStableData(MZTabRecord record, string line)
        {
            _items = line.Split(new[]{MZTabConstants.TAB}, StringSplitOptions.None);
            _items[_items.Length - 1] = _items[_items.Length - 1].Trim();

            Protein protein = (Protein) record;
            MZTabColumn column = null;
            SortedDictionary<string, MZTabColumn> columnMapping = factory.ColumnMapping;
            int physicalPosition = 1;

            string logicalPosition = positionMapping.get(physicalPosition);
            if (columnMapping.ContainsKey(logicalPosition)){
                column = columnMapping[logicalPosition];
            }
            while (column != null && column is ProteinColumn){
                string target = _items[physicalPosition].Trim();
                string columnName = column.Name;
                if (columnName.Equals(ProteinColumn.ACCESSION.Name)){
                    protein.Accession = target;
                }
                else if (columnName.Equals(ProteinColumn.DESCRIPTION.Name)){
                    protein.Description = target;
                }
                else if (columnName.Equals(ProteinColumn.TAXID.Name)){
                    protein.SetTaxid(target);
                }
                else if (columnName.Equals(ProteinColumn.SPECIES.Name)){
                    protein.Species = target;
                }
                else if (columnName.Equals(ProteinColumn.DATABASE.Name)){
                    protein.Database = target;
                }
                else if (columnName.Equals(ProteinColumn.DATABASE_VERSION.Name)){
                    protein.DatabaseVersion = target;
                }
                else if (columnName.Equals(ProteinColumn.SEARCH_ENGINE.Name)){
                    protein.SetSearchEngine(target);
                }
                else if (columnName.Equals(ProteinColumn.BEST_SEARCH_ENGINE_SCORE.Name)){
                    protein.SetBestSearchEngineScore(target);
                }
                else if (columnName.Equals(ProteinColumn.SEARCH_ENGINE_SCORE.Name)){
                    protein.setSearchEngineScore(logicalPosition, target);
                }
                else if (columnName.Equals(ProteinColumn.RELIABILITY.Name)){
                    protein.SetReliability(target);
                }
                else if (columnName.Equals(ProteinColumn.NUM_PSMS.Name)){
                    protein.setNumPSMs(logicalPosition, target);
                }
                else if (columnName.Equals(ProteinColumn.NUM_PEPTIDES_DISTINCT.Name)){
                    protein.setNumPeptidesDistinct(logicalPosition, target);
                }
                else if (columnName.Equals(ProteinColumn.NUM_PEPTIDES_UNIQUE.Name)){
                    protein.setNumPeptidesUnique(logicalPosition, target);
                }
                else if (columnName.Equals(ProteinColumn.AMBIGUITY_MEMBERS.Name)){
                    protein.SetAmbiguityMembers(target);
                }
                else if (columnName.Equals(ProteinColumn.MODIFICATIONS.Name)){
                    protein.SetModifications(target);
                }
                else if (columnName.Equals(ProteinColumn.URI.Name)){
                    protein.SetURI(target);
                }
                else if (columnName.Equals(ProteinColumn.GO_TERMS.Name)){
                    protein.SetGOTerms(target);
                }
                else if (columnName.Equals(ProteinColumn.PROTEIN_COVERAGE.Name)){
                    protein.SetProteinCoverage(target);
                }

                physicalPosition++;
                logicalPosition = positionMapping.get(physicalPosition);
                column = logicalPosition == null
                             ? null
                             : columnMapping.ContainsKey(logicalPosition) ? columnMapping[logicalPosition] : null;

                if (column == null){
                    break;
                }
            }

            return physicalPosition;
        }
예제 #5
0
        protected override int loadStableData(MZTabRecord record, string line)
        {
            _items = line.Split(new[]{MZTabConstants.TAB}, StringSplitOptions.None);
            _items[_items.Length - 1] = _items[_items.Length - 1].Trim();

            SmallMolecule smallMolecule = (SmallMolecule) record;

            SortedDictionary<string, MZTabColumn> columnMapping = factory.ColumnMapping;
            int physicalPosition = 1;

            string logicalPosition = positionMapping.get(physicalPosition);

            MZTabColumn column = null;
            if (columnMapping.ContainsKey(logicalPosition)){
                column = columnMapping[logicalPosition];
            }

            while (column != null && column is SmallMoleculeColumn){
                string target = _items[physicalPosition];
                string columnName = column.Name;
                if (columnName.Equals(SmallMoleculeColumn.IDENTIFIER.Name)){
                    smallMolecule.setIdentifier(target);
                }
                else if (columnName.Equals(SmallMoleculeColumn.CHEMICAL_FORMULA.Name)){
                    smallMolecule.ChemicalFormula = target;
                }
                else if (columnName.Equals(SmallMoleculeColumn.SMILES.Name)){
                    smallMolecule.Smiles = target;
                }
                else if (columnName.Equals(SmallMoleculeColumn.INCHI_KEY.Name)){
                    smallMolecule.InchiKey = target;
                }
                else if (columnName.Equals(SmallMoleculeColumn.DESCRIPTION.Name)){
                    smallMolecule.Description = target;
                }
                else if (columnName.Equals(SmallMoleculeColumn.EXP_MASS_TO_CHARGE.Name)){
                    smallMolecule.setExpMassToCharge(target);
                }
                else if (columnName.Equals(SmallMoleculeColumn.CALC_MASS_TO_CHARGE.Name)){
                    smallMolecule.setCalcMassToCharge(target);
                }
                else if (columnName.Equals(SmallMoleculeColumn.CHARGE.Name)){
                    smallMolecule.setCharge(target);
                }
                else if (columnName.Equals(SmallMoleculeColumn.RETENTION_TIME.Name)){
                    smallMolecule.setRetentionTime(target);
                }
                else if (columnName.Equals(SmallMoleculeColumn.TAXID.Name)){
                    smallMolecule.setTaxid(target);
                }
                else if (columnName.Equals(SmallMoleculeColumn.SPECIES.Name)){
                    smallMolecule.Species = target;
                }
                else if (columnName.Equals(SmallMoleculeColumn.DATABASE.Name)){
                    smallMolecule.Database = target;
                }
                else if (columnName.Equals(SmallMoleculeColumn.DATABASE_VERSION.Name)){
                    smallMolecule.DatabaseVersion = target;
                }
                else if (columnName.Equals(SmallMoleculeColumn.RELIABILITY.Name)){
                    smallMolecule.setReliability(target);
                }
                else if (columnName.Equals(SmallMoleculeColumn.URI.Name)){
                    smallMolecule.setURI(target);
                }
                else if (columnName.Equals(SmallMoleculeColumn.SPECTRA_REF.Name)){
                    smallMolecule.setSpectraRef(target);
                }
                else if (columnName.Equals(SmallMoleculeColumn.SEARCH_ENGINE.Name)){
                    smallMolecule.setSearchEngine(target);
                }
                else if (columnName.Equals(SmallMoleculeColumn.BEST_SEARCH_ENGINE_SCORE.Name)){
                    smallMolecule.setBestSearchEngineScore(target);
                }
                else if (columnName.Equals(SmallMoleculeColumn.SEARCH_ENGINE_SCORE.Name)){
                    smallMolecule.setSearchEngineScore(logicalPosition, target);
                }
                else if (columnName.Equals(SmallMoleculeColumn.MODIFICATIONS.Name)){
                    smallMolecule.setModifications(target);
                }

                physicalPosition++;
                logicalPosition = positionMapping.get(physicalPosition);
                column = logicalPosition != null && columnMapping.ContainsKey(logicalPosition)
                             ? columnMapping[logicalPosition]
                             : null;
            }

            return physicalPosition;
        }
예제 #6
0
        protected override int loadStableData(MZTabRecord record, string line)
        {
            _items = line.Split(new[]{MZTabConstants.TAB}, StringSplitOptions.None);
            _items[_items.Length - 1] = _items[_items.Length - 1].Trim();

            Peptide peptide = (Peptide) record;
            SortedDictionary<string, MZTabColumn> columnMapping = factory.ColumnMapping;
            int physicalPosition = 1;

            string logicalPosition = positionMapping.get(physicalPosition);
            MZTabColumn column = null;
            if (columnMapping.ContainsKey(logicalPosition)){
                column = columnMapping[logicalPosition];
            }
            while (column != null && column is PeptideColumn){
                string target = _items[physicalPosition];
                string columnName = column.Name;
                if (columnName.Equals(PeptideColumn.SEQUENCE.Name)){
                    peptide.Sequence = target;
                }
                else if (columnName.Equals(PeptideColumn.ACCESSION.Name)){
                    peptide.Accession = target;
                }
                else if (columnName.Equals(PeptideColumn.UNIQUE.Name)){
                    peptide.SetUnique(target);
                }
                else if (columnName.Equals(PeptideColumn.DATABASE.Name)){
                    peptide.Database = target;
                }
                else if (columnName.Equals(PeptideColumn.DATABASE_VERSION.Name)){
                    peptide.DatabaseVersion = target;
                }
                else if (columnName.Equals(PeptideColumn.SEARCH_ENGINE.Name)){
                    peptide.SetSearchEngine(target);
                }
                else if (columnName.Equals(PeptideColumn.BEST_SEARCH_ENGINE_SCORE.Name)){
                    peptide.SetBestSearchEngineScore(target);
                }
                else if (columnName.Equals(PeptideColumn.SEARCH_ENGINE_SCORE.Name)){
                    peptide.SetSearchEngineScore(logicalPosition, target);
                }
                else if (columnName.Equals(PeptideColumn.RELIABILITY.Name)){
                    peptide.SetReliability(target);
                }
                else if (columnName.Equals(PeptideColumn.MODIFICATIONS.Name)){
                    peptide.SetModifications(target);
                }
                else if (columnName.Equals(PeptideColumn.RETENTION_TIME.Name)){
                    peptide.SetRetentionTime(target);
                }
                else if (columnName.Equals(PeptideColumn.RETENTION_TIME_WINDOW.Name)){
                    peptide.SetRetentionTimeWindow(target);
                }
                else if (columnName.Equals(PeptideColumn.CHARGE.Name)){
                    peptide.SetCharge(target);
                }
                else if (columnName.Equals(PeptideColumn.MASS_TO_CHARGE.Name)){
                    peptide.SetMassToCharge(target);
                }
                else if (columnName.Equals(PeptideColumn.URI.Name)){
                    peptide.SetURI(target);
                }
                else if (columnName.Equals(PeptideColumn.SPECTRA_REF.Name)){
                    peptide.SetSpectraRef(target);
                }
                physicalPosition++;
                logicalPosition = positionMapping.get(physicalPosition);
                column = logicalPosition != null && columnMapping.ContainsKey(logicalPosition)
                             ? columnMapping[logicalPosition]
                             : null;

                if (column == null){
                    break;
                }
            }

            return physicalPosition;
        }