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);
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; }
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; }
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; }