diff --git a/alphabase/constants/const_files/psm_reader.yaml b/alphabase/constants/const_files/psm_reader.yaml index 98959217..e6da43e0 100644 --- a/alphabase/constants/const_files/psm_reader.yaml +++ b/alphabase/constants/const_files/psm_reader.yaml @@ -314,17 +314,23 @@ spectronaut_report: fixed_C57: False column_mapping: 'raw_name': 'R.FileName' + 'sequence': 'PEP.StrippedSequence' 'rt': ['EG.ApexRT','EG.MeanApexRT'] - 'mobility': ['FG.ApexIonMobility'] - 'proteins': ['PG.ProteinNames','PG.ProteinGroups'] - 'genes': 'PG.Genes' + 'charge': ['charge', 'FG.Charge'] + 'mobility': 'FG.ApexIonMobility' + 'proteins': ['PG.ProteinNames','PG.ProteinGroups', 'PG.ProteinAccessions'] + 'precursor_mz': 'FG.PrecMz' 'uniprot_ids': 'PG.UniProtIds' - 'charge': 'charge' + 'genes': ['PG.Genes', 'PG.ProteinNames'] + 'fdr': 'EG.Qvalue' + 'intensity': 'EG.TotalQuantity (Settings)' + 'precursor_intensity': 'EG.TotalQuantity (Settings)' mod_seq_columns: - 'ModifiedSequence' + - 'EG.PrecursorId' + modification_mapping_type: 'maxquant' precursor_id_columns: - "EG.PrecursorId" - modification_mapping_type: 'maxquant' spectronaut: reader_type: spectronaut diff --git a/alphabase/psm_reader/dia_psm_reader.py b/alphabase/psm_reader/dia_psm_reader.py index 3e6e8bae..cc0adfc3 100644 --- a/alphabase/psm_reader/dia_psm_reader.py +++ b/alphabase/psm_reader/dia_psm_reader.py @@ -126,9 +126,11 @@ class SpectronautReportReader(ModifiedSequenceReader): def _pre_process(self, df: pd.DataFrame) -> pd.DataFrame: """Spectronaut report-specific preprocessing of output data.""" - df[[self.mod_seq_column, PsmDfCols.CHARGE]] = df[ - self._precursor_id_column - ].str.split(".", expand=True, n=2) + # In case charge state column is missing, we splice it out of the precursor id column + if PsmDfCols.CHARGE not in df.columns: + df[[self.mod_seq_column, PsmDfCols.CHARGE]] = df[ + self._precursor_id_column + ].str.split(".", expand=True, n=2) df[PsmDfCols.CHARGE] = df[PsmDfCols.CHARGE].astype(np.int8) return df