diff --git a/environment.yml b/environment.yml index 5d3f13b..9c8cc9e 100644 --- a/environment.yml +++ b/environment.yml @@ -6,7 +6,7 @@ channels: - conda-forge dependencies: - click - - sdrf-pipelines>=0.0.28 + - sdrf-pipelines>=0.0.29 - pyopenms - ms2rescore=3.0.2 - psm-utils=0.8.0 diff --git a/quantmsutils/__init__.py b/quantmsutils/__init__.py index e344246..27fdca4 100644 --- a/quantmsutils/__init__.py +++ b/quantmsutils/__init__.py @@ -1 +1 @@ -__version__ = "0.0.3" \ No newline at end of file +__version__ = "0.0.3" diff --git a/quantmsutils/mzml/mzml_statistics.py b/quantmsutils/mzml/mzml_statistics.py index 16eeac7..1b3d706 100644 --- a/quantmsutils/mzml/mzml_statistics.py +++ b/quantmsutils/mzml/mzml_statistics.py @@ -132,7 +132,11 @@ def parse_mzml(file_name: str, file_columns: list, id_only: bool = False): if id_only and len(psm_part_info) > 0: pd.DataFrame( psm_part_info, columns=["scan", "ms_level", "mz", "intensity"] - ).to_parquet(f"{Path(ms_path).stem}_spectrum_df.parquet", index=False, compression="gzip") + ).to_parquet( + f"{Path(ms_path).stem}_spectrum_df.parquet", + index=False, + compression="gzip", + ) return pd.DataFrame(info, columns=file_columns) @@ -227,5 +231,8 @@ def parse_bruker_d(file_name: str, file_columns: list): raise RuntimeError(msg) ms_df.to_parquet( - f"{Path(ms_path).stem}_ms_info.parquet", engine="pyarrow", index=False, compression="gzip" + f"{Path(ms_path).stem}_ms_info.parquet", + engine="pyarrow", + index=False, + compression="gzip", ) diff --git a/quantmsutils/psm/psm_conversion.py b/quantmsutils/psm/psm_conversion.py index 30b32c6..3c8b457 100644 --- a/quantmsutils/psm/psm_conversion.py +++ b/quantmsutils/psm/psm_conversion.py @@ -56,7 +56,11 @@ def mods_position(peptide): "psmconvert", short_help="Convert idXML to parquet file with PSMs information." ) @click.option("--idxml", type=click.Path(exists=True)) -@click.option("--spectra_file", type=click.Path(exists=True), help="Parquet file from mzml_statistics") +@click.option( + "--spectra_file", + type=click.Path(exists=True), + help="Parquet file from mzml_statistics", +) @click.option("--export_decoy_psm", is_flag=True) @click.pass_context def convert_psm(ctx, idxml: str, spectra_file: str, export_decoy_psm: bool = False): @@ -173,4 +177,5 @@ def convert_psm(ctx, idxml: str, spectra_file: str, export_decoy_psm: bool = Fal ) pd.DataFrame(parquet_data, columns=_parquet_field).to_parquet( - f"{Path(idxml).stem}_psm.csv", index=False, engine="pyarrow", compression="gzip") + f"{Path(idxml).stem}_psm.csv", index=False, engine="pyarrow", compression="gzip" + ) diff --git a/quantmsutils/quantmsutilsc.py b/quantmsutils/quantmsutilsc.py index 835be05..9b75915 100644 --- a/quantmsutils/quantmsutilsc.py +++ b/quantmsutils/quantmsutilsc.py @@ -13,7 +13,9 @@ CONTEXT_SETTINGS = dict(help_option_names=["-h", "--help"]) -@click.version_option(version=__version__, package_name="quantmsutils", message="%(package)s %(version)s") +@click.version_option( + version=__version__, package_name="quantmsutils", message="%(package)s %(version)s" +) @click.group(context_settings=CONTEXT_SETTINGS) def cli(): pass diff --git a/quantmsutils/rescoring/ms2rescore.py b/quantmsutils/rescoring/ms2rescore.py index 33dab88..1f3eac5 100644 --- a/quantmsutils/rescoring/ms2rescore.py +++ b/quantmsutils/rescoring/ms2rescore.py @@ -225,7 +225,7 @@ def filter_out_artifact_psms( "--ms2pip_model_dir", help="The path of MSĀ²PIP model (default: `./`)", type=str, - default="./" + default="./", ) @click.option( "-ms2tol", diff --git a/quantmsutils/sdrf/check_samplesheet.py b/quantmsutils/sdrf/check_samplesheet.py index aa854a8..e4347de 100644 --- a/quantmsutils/sdrf/check_samplesheet.py +++ b/quantmsutils/sdrf/check_samplesheet.py @@ -30,26 +30,50 @@ def print_error(error, context="Line", context_str=""): sys.exit(1) -def check_sdrf(check_ms, sdrf, validate_ontologies): - df = SdrfDataFrame.parse(sdrf) - if validate_ontologies: - errors = df.validate(DEFAULT_TEMPLATE) - if check_ms: - errors = errors + df.validate(MASS_SPECTROMETRY) - for error in errors: - print(error) - if not errors: - print("Everying seems to be fine. Well done.") - else: - print("There were validation errors!") - else: - errors = False - print("No ontology term validation was performed.") +def check_sdrf( + input_sdrf: str, + skip_ms_validation: bool = False, + skip_factor_validation: bool = False, + skip_experimental_design_validation: bool = False, + use_ols_cache_only: bool = False, + skip_sdrf_validation: bool = False, +): + """ + Check the SDRF file for errors. If any errors are found, print them and exit with a non-zero status code. + @param input_sdrf: Path to the SDRF file to check + @param skip_ms_validation: Disable the validation of mass spectrometry fields in SDRF (e.g. posttranslational modifications) + @param skip_factor_validation: Disable the validation of factor values in SDRF + @param skip_experimental_design_validation: Disable the validation of experimental design + @param use_ols_cache_only: Use ols cache for validation of the terms and not OLS internet service + @param skip_sdrf_validation: Disable the validation of SDRF + """ + if skip_sdrf_validation: + print("No SDRF validation was performed.") + sys.exit(0) + + df = SdrfDataFrame.parse(input_sdrf) + errors = df.validate(DEFAULT_TEMPLATE, use_ols_cache_only) + + if not skip_ms_validation: + errors = errors + df.validate(MASS_SPECTROMETRY, use_ols_cache_only) + + if not skip_factor_validation: + errors = errors + df.validate_factor_values() + + if not skip_experimental_design_validation: + errors = errors + df.validate_experimental_design() + + for error in errors: + print(error) sys.exit(bool(errors)) def check_expdesign(expdesign): + """ + Check the expdesign file for errors. If any errors are found, print them and exit with a non-zero status code. + @param expdesign: Path to the expdesign file to check + """ data = pd.read_csv(expdesign, sep="\t", header=0, dtype=str) data = data.dropna() schema_file = ["Fraction_Group", "Fraction", "Spectra_Filepath", "Label", "Sample"] @@ -111,34 +135,64 @@ def check_expdesign_logic(f_table, s_table): sys.exit(1) -@click.command("checksamplesheet", short_help="Check samplesheet") -@click.option("--is_sdrf", "-s", help="In Sdrf format", is_flag=True, default=False) +@click.command( + "check_samplesheet", + short_help="Reformat nf-core/quantms sdrf file and check its contents.", +) +@click.option("--exp_design", help="SDRF/Expdesign file to be validated") +@click.option("--is_sdrf", help="SDRF file or Expdesign file", is_flag=True) +@click.option( + "--skip_sdrf_validation", help="Disable the validation of SDRF", is_flag=True +) +@click.option( + "--skip_ms_validation", + help="Disable the validation of mass spectrometry fields in SDRF (e.g. posttranslational modifications)", + is_flag=True, +) @click.option( - "--check_ms", - "-m", - required=False, + "--skip_factor_validation", + help="Disable the validation of factor values in SDRF", is_flag=True, - help="Check mass spectrometry fields in sample metadata.", - default=False, ) @click.option( - "--validate_ontologies", help="Validate the ontologies", is_flag=True, default=False + "--skip_experimental_design_validation", + help="Disable the validation of experimental design", + is_flag=True, ) @click.option( - "-in", - "--input_file", - type=click.Path(exists=True), - required=True, - help="Input SDRF or Expdesign file", + "--use_ols_cache_only", + help="Use ols cache for validation of the terms and not OLS internet service", + is_flag=True, ) -@click.pass_context def check_samplesheet( - ctx, is_sdrf: bool, check_ms: bool, validate_ontologies: bool, input_file: str -) -> None: + exp_design: str, + is_sdrf: bool = False, + skip_sdrf_validation: bool = False, + skip_ms_validation: bool = False, + skip_factor_validation: bool = False, + skip_experimental_design_validation: bool = False, + use_ols_cache_only: bool = False, +): """ - Check the samplesheet for errors. + Reformat nf-core/quantms sdrf file and check its contents. + @param exp_design: SDRF/Expdesign file to be validated + @param is_sdrf: SDRF file or Expdesign file + @param skip_sdrf_validation: Disable the validation of SDRF + @param skip_ms_validation: Disable the validation of mass spectrometry fields in SDRF (e.g. posttranslational modifications) + @param skip_factor_validation: Disable the validation of factor values in SDRF + @param skip_experimental_design_validation: Disable the validation of experimental design + @param use_ols_cache_only: Use ols cache for validation of the terms and not OLS internet service + """ + # TODO validate expdesign file if is_sdrf: - check_sdrf(check_ms, input_file, validate_ontologies) + check_sdrf( + input_sdrf=exp_design, + skip_sdrf_validation=skip_sdrf_validation, + skip_ms_validation=skip_ms_validation, + skip_factor_validation=skip_factor_validation, + skip_experimental_design_validation=skip_experimental_design_validation, + use_ols_cache_only=use_ols_cache_only, + ) else: - check_expdesign(input_file) + check_expdesign(exp_design) diff --git a/requirements.txt b/requirements.txt index 443ea1c..e6a2761 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ click -sdrf-pipelines==0.0.28 +sdrf-pipelines==0.0.29 pyopenms ms2rescore==3.0.2 psm-utils==0.8.0 diff --git a/setup.py b/setup.py index 68f6e2d..d2c9440 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,17 @@ from setuptools import find_packages, setup +import os +import codecs -VERSION = "0.0.3" +def read(rel_path): + here = os.path.abspath(os.path.dirname(__file__)) + with codecs.open(os.path.join(here, rel_path), "r") as fp: + return fp.read() +def get_version(rel_path): + for line in read(rel_path).splitlines(): + if line.startswith("__version__"): + delim = '"' if '"' in line else "'" + return line.split(delim)[1] + raise RuntimeError("Unable to find version string.") NAME = "quantms-utils" LICENSE = "MIT License" @@ -30,7 +41,7 @@ INSTALL_REQUIRES = [ "click", - "sdrf-pipelines==0.0.28", + "sdrf-pipelines==0.0.29", "pyopenms", "ms2rescore==3.0.2", "psm-utils==0.8.0", @@ -46,7 +57,7 @@ setup( name=NAME, - version=VERSION, + version=get_version("quantmsutils/__init__.py"), license=LICENSE, description=DESCRIPTION, long_description=LONG_DESCRIPTION, diff --git a/tests/test_commands.py b/tests/test_commands.py index d35f808..e33f1dd 100644 --- a/tests/test_commands.py +++ b/tests/test_commands.py @@ -70,7 +70,7 @@ def test_convert_psm_help(): # test for the check_samplesheet command in cli def test_check_samplesheet_help(): runner = CliRunner() - result = runner.invoke(cli, ["checksamplesheet", "--help"]) + result = runner.invoke(cli, ["check_samplesheet", "--help"]) assert result.exit_code == 0 @@ -81,10 +81,9 @@ def test_check_samplesheet_sdrf(): result = runner.invoke( cli, [ - "checksamplesheet", + "check_samplesheet", "--is_sdrf", - "--check_ms", - "--input_file", + "--exp_design", "tests/test_data/PXD000001.sdrf.tsv", ], ) diff --git a/tests/test_data/PXD000001.sdrf.tsv b/tests/test_data/PXD000001.sdrf.tsv index d8e98f4..e56d46e 100644 --- a/tests/test_data/PXD000001.sdrf.tsv +++ b/tests/test_data/PXD000001.sdrf.tsv @@ -1,7 +1,7 @@ -Source Name Characteristics[organism] Characteristics[organism part] Characteristics[age] Characteristics[ancestry category] Characteristics[developmental stage] Characteristics[cell line] Characteristics[cell type] Characteristics[sex] Characteristics[mass] Characteristics[spiked compound] Characteristics[spiked compound 2] Characteristics[spiked compound 3] Characteristics[spiked compound 4] Characteristics[disease] Characteristics[biological replicate] Material Type assay name technology type comment[data file] comment[file uri] comment[technical replicate] comment[fraction identifier] comment[label] comment[instrument] comment[modification parameters] comment[modification parameters] comment[modification parameters] comment[modification parameters] comment[cleavage agent details] comment[dissociation method] comment[precursor mass tolerance] comment[fragment mass tolerance] Factor Value[spiked compound] Factor Value[spiked compound] Factor Value[spiked compound] Factor Value[spiked compound] -Sample 1 Dickeya chrysanthemi whole plant not available not available not available not applicable not available not applicable 1 SP=Yeast;CT=protein;AC=P00924;QY=10 SP=BOVIN;CT=protein;AC=P02769;QY=1 SP=RABIT;CT=protein;AC=P00489;QY=2 SP=BOVIN;CT=protein;AC=P62894;QY=1 not available 1 cell run 1 proteomic profiling by mass spectrometry TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw https://ftp.pride.ebi.ac.uk/pride/data/archive/2012/03/PXD000001/TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw 1 1 TMT126 NT=LTQ Orbitrap Velos;AC=MS:1001742 NT=Oxidation;MT=Variable;TA=M;AC=Unimod:35 NT=Methylthio;TA=C;MT=fixed;AC=UNIMOD:39 NT=TMT6plex;TA=K;MT=Fixed;AC=UNIMOD:737 NT=TMT6plex;PP=Any N-term;MT=Fixed;AC=UNIMOD:737 AC=MS:1001313;NT=Trypsin NT=HCD;AC=PRIDE:0000590 not available not available SP=Yeast;CT=protein;AC=P00924;QY=10 SP=BOVIN;CT=protein;AC=P02769;QY=1 SP=RABIT;CT=protein;AC=P00489;QY=2 SP=BOVIN;CT=protein;AC=P62894;QY=1 -Sample 2 Dickeya chrysanthemi whole plant not available not available not available not applicable not available not applicable 1 SP=Yeast;CT=protein;AC=P00924;QY=5 SP=BOVIN;CT=protein;AC=P02769;QY=2.5 SP=RABIT;CT=protein;AC=P00489;QY=2 SP=BOVIN;CT=protein;AC=P62894;QY=1 not available 1 cell run 1 proteomic profiling by mass spectrometry TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw https://ftp.pride.ebi.ac.uk/pride/data/archive/2012/03/PXD000001/TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw 1 1 TMT127 NT=LTQ Orbitrap Velos;AC=MS:1001742 NT=Oxidation;MT=Variable;TA=M;AC=Unimod:35 NT=Methylthio;TA=C;MT=fixed;AC=UNIMOD:39 NT=TMT6plex;TA=K;MT=Fixed;AC=UNIMOD:737 NT=TMT6plex;PP=Any N-term;MT=Fixed;AC=UNIMOD:737 AC=MS:1001313;NT=Trypsin NT=HCD;AC=PRIDE:0000590 not available not available SP=Yeast;CT=protein;AC=P00924;QY=5 SP=BOVIN;CT=protein;AC=P02769;QY=2.5 SP=RABIT;CT=protein;AC=P00489;QY=2 SP=BOVIN;CT=protein;AC=P62894;QY=1 -Sample 3 Dickeya chrysanthemi whole plant not available not available not available not applicable not available not applicable 1 SP=Yeast;CT=protein;AC=P00924;QY=2.5 SP=BOVIN;CT=protein;AC=P02769;QY=5 SP=RABIT;CT=protein;AC=P00489;QY=2 SP=BOVIN;CT=protein;AC=P62894;QY=1 not available 1 cell run 1 proteomic profiling by mass spectrometry TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw https://ftp.pride.ebi.ac.uk/pride/data/archive/2012/03/PXD000001/TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw 1 1 TMT128 NT=LTQ Orbitrap Velos;AC=MS:1001742 NT=Oxidation;MT=Variable;TA=M;AC=Unimod:35 NT=Methylthio;TA=C;MT=fixed;AC=UNIMOD:39 NT=TMT6plex;TA=K;MT=Fixed;AC=UNIMOD:737 NT=TMT6plex;PP=Any N-term;MT=Fixed;AC=UNIMOD:737 AC=MS:1001313;NT=Trypsin NT=HCD;AC=PRIDE:0000590 not available not available SP=Yeast;CT=protein;AC=P00924;QY=2.5 SP=BOVIN;CT=protein;AC=P02769;QY=5 SP=RABIT;CT=protein;AC=P00489;QY=2 SP=BOVIN;CT=protein;AC=P62894;QY=1 -Sample 4 Dickeya chrysanthemi whole plant not available not available not available not applicable not available not applicable 1 SP=Yeast;CT=protein;AC=P00924;QY=1 SP=BOVIN;CT=protein;AC=P02769;QY=10 SP=RABIT;CT=protein;AC=P00489;QY=2 SP=BOVIN;CT=protein;AC=P62894;QY=1 not available 1 cell run 1 proteomic profiling by mass spectrometry TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw https://ftp.pride.ebi.ac.uk/pride/data/archive/2012/03/PXD000001/TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw 1 1 TMT129 NT=LTQ Orbitrap Velos;AC=MS:1001742 NT=Oxidation;MT=Variable;TA=M;AC=Unimod:35 NT=Methylthio;TA=C;MT=fixed;AC=UNIMOD:39 NT=TMT6plex;TA=K;MT=Fixed;AC=UNIMOD:737 NT=TMT6plex;PP=Any N-term;MT=Fixed;AC=UNIMOD:737 AC=MS:1001313;NT=Trypsin NT=HCD;AC=PRIDE:0000590 not available not available SP=Yeast;CT=protein;AC=P00924;QY=1 SP=BOVIN;CT=protein;AC=P02769;QY=10 SP=RABIT;CT=protein;AC=P00489;QY=2 SP=BOVIN;CT=protein;AC=P62894;QY=1 -Sample 5 Dickeya chrysanthemi whole plant not available not available not available not applicable not available not applicable 1 SP=Yeast;CT=protein;AC=P00924;QY=2.5 SP=BOVIN;CT=protein;AC=P02769;QY=5 SP=RABIT;CT=protein;AC=P00489;QY=1 SP=BOVIN;CT=protein;AC=P62894;QY=1 not available 1 cell run 1 proteomic profiling by mass spectrometry TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw https://ftp.pride.ebi.ac.uk/pride/data/archive/2012/03/PXD000001/TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw 1 1 TMT130 NT=LTQ Orbitrap Velos;AC=MS:1001742 NT=Oxidation;MT=Variable;TA=M;AC=Unimod:35 NT=Methylthio;TA=C;MT=fixed;AC=UNIMOD:39 NT=TMT6plex;TA=K;MT=Fixed;AC=UNIMOD:737 NT=TMT6plex;PP=Any N-term;MT=Fixed;AC=UNIMOD:737 AC=MS:1001313;NT=Trypsin NT=HCD;AC=PRIDE:0000590 not available not available SP=Yeast;CT=protein;AC=P00924;QY=2.5 SP=BOVIN;CT=protein;AC=P02769;QY=5 SP=RABIT;CT=protein;AC=P00489;QY=1 SP=BOVIN;CT=protein;AC=P62894;QY=1 -Sample 6 Dickeya chrysanthemi whole plant not available not available not available not applicable not available not applicable 1 SP=Yeast;CT=protein;AC=P00924;QY=10 SP=BOVIN;CT=protein;AC=P02769;QY=1 SP=RABIT;CT=protein;AC=P00489;QY=1 SP=BOVIN;CT=protein;AC=P62894;QY=2 not available 1 cell run 1 proteomic profiling by mass spectrometry TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw https://ftp.pride.ebi.ac.uk/pride/data/archive/2012/03/PXD000001/TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw 1 1 TMT131 NT=LTQ Orbitrap Velos;AC=MS:1001742 NT=Oxidation;MT=Variable;TA=M;AC=Unimod:35 NT=Methylthio;TA=C;MT=fixed;AC=UNIMOD:39 NT=TMT6plex;TA=K;MT=Fixed;AC=UNIMOD:737 NT=TMT6plex;PP=Any N-term;MT=Fixed;AC=UNIMOD:737 AC=MS:1001313;NT=Trypsin NT=HCD;AC=PRIDE:0000590 not available not available SP=Yeast;CT=protein;AC=P00924;QY=10 SP=BOVIN;CT=protein;AC=P02769;QY=1 SP=RABIT;CT=protein;AC=P00489;QY=1 SP=BOVIN;CT=protein;AC=P62894;QY=2 +Source Name Characteristics[organism] Characteristics[organism part] Characteristics[age] Characteristics[ancestry category] Characteristics[developmental stage] Characteristics[cell line] Characteristics[cell type] Characteristics[sex] Characteristics[mass] Characteristics[spiked compound] Characteristics[disease] Characteristics[biological replicate] Material Type assay name technology type comment[data file] comment[file uri] comment[technical replicate] comment[fraction identifier] comment[label] comment[instrument] comment[modification parameters] comment[modification parameters] comment[modification parameters] comment[modification parameters] comment[cleavage agent details] comment[dissociation method] comment[precursor mass tolerance] comment[fragment mass tolerance] Factor Value[spiked compound] +Sample 1 Dickeya chrysanthemi whole plant not available not available not available not applicable not available not applicable 1 SP=Yeast;CT=protein;AC=P00924;QY=10 not available 1 cell run 1 proteomic profiling by mass spectrometry TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw https://ftp.pride.ebi.ac.uk/pride/data/archive/2012/03/PXD000001/TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw 1 1 TMT126 NT=LTQ Orbitrap Velos;AC=MS:1001742 NT=Oxidation;MT=Variable;TA=M;AC=Unimod:35 NT=Methylthio;TA=C;MT=fixed;AC=UNIMOD:39 NT=TMT6plex;TA=K;MT=Fixed;AC=UNIMOD:737 NT=TMT6plex;PP=Any N-term;MT=Fixed;AC=UNIMOD:737 AC=MS:1001313;NT=Trypsin NT=HCD;AC=PRIDE:0000590 not available not available SP=Yeast;CT=protein;AC=P00924;QY=10 +Sample 2 Dickeya chrysanthemi whole plant not available not available not available not applicable not available not applicable 1 SP=Yeast;CT=protein;AC=P00924;QY=5 not available 1 cell run 1 proteomic profiling by mass spectrometry TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw https://ftp.pride.ebi.ac.uk/pride/data/archive/2012/03/PXD000001/TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw 1 1 TMT127 NT=LTQ Orbitrap Velos;AC=MS:1001742 NT=Oxidation;MT=Variable;TA=M;AC=Unimod:35 NT=Methylthio;TA=C;MT=fixed;AC=UNIMOD:39 NT=TMT6plex;TA=K;MT=Fixed;AC=UNIMOD:737 NT=TMT6plex;PP=Any N-term;MT=Fixed;AC=UNIMOD:737 AC=MS:1001313;NT=Trypsin NT=HCD;AC=PRIDE:0000590 not available not available SP=Yeast;CT=protein;AC=P00924;QY=5 +Sample 3 Dickeya chrysanthemi whole plant not available not available not available not applicable not available not applicable 1 SP=Yeast;CT=protein;AC=P00924;QY=2.5 not available 1 cell run 1 proteomic profiling by mass spectrometry TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw https://ftp.pride.ebi.ac.uk/pride/data/archive/2012/03/PXD000001/TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw 1 1 TMT128 NT=LTQ Orbitrap Velos;AC=MS:1001742 NT=Oxidation;MT=Variable;TA=M;AC=Unimod:35 NT=Methylthio;TA=C;MT=fixed;AC=UNIMOD:39 NT=TMT6plex;TA=K;MT=Fixed;AC=UNIMOD:737 NT=TMT6plex;PP=Any N-term;MT=Fixed;AC=UNIMOD:737 AC=MS:1001313;NT=Trypsin NT=HCD;AC=PRIDE:0000590 not available not available SP=Yeast;CT=protein;AC=P00924;QY=2.5 +Sample 4 Dickeya chrysanthemi whole plant not available not available not available not applicable not available not applicable 1 SP=Yeast;CT=protein;AC=P00924;QY=1 not available 1 cell run 1 proteomic profiling by mass spectrometry TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw https://ftp.pride.ebi.ac.uk/pride/data/archive/2012/03/PXD000001/TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw 1 1 TMT129 NT=LTQ Orbitrap Velos;AC=MS:1001742 NT=Oxidation;MT=Variable;TA=M;AC=Unimod:35 NT=Methylthio;TA=C;MT=fixed;AC=UNIMOD:39 NT=TMT6plex;TA=K;MT=Fixed;AC=UNIMOD:737 NT=TMT6plex;PP=Any N-term;MT=Fixed;AC=UNIMOD:737 AC=MS:1001313;NT=Trypsin NT=HCD;AC=PRIDE:0000590 not available not available SP=Yeast;CT=protein;AC=P00924;QY=1 +Sample 5 Dickeya chrysanthemi whole plant not available not available not available not applicable not available not applicable 1 SP=Yeast;CT=protein;AC=P00924;QY=2.5 not available 1 cell run 1 proteomic profiling by mass spectrometry TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw https://ftp.pride.ebi.ac.uk/pride/data/archive/2012/03/PXD000001/TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw 1 1 TMT130 NT=LTQ Orbitrap Velos;AC=MS:1001742 NT=Oxidation;MT=Variable;TA=M;AC=Unimod:35 NT=Methylthio;TA=C;MT=fixed;AC=UNIMOD:39 NT=TMT6plex;TA=K;MT=Fixed;AC=UNIMOD:737 NT=TMT6plex;PP=Any N-term;MT=Fixed;AC=UNIMOD:737 AC=MS:1001313;NT=Trypsin NT=HCD;AC=PRIDE:0000590 not available not available SP=Yeast;CT=protein;AC=P00924;QY=2.5 +Sample 6 Dickeya chrysanthemi whole plant not available not available not available not applicable not available not applicable 1 SP=Yeast;CT=protein;AC=P00924;QY=10 not available 1 cell run 1 proteomic profiling by mass spectrometry TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw https://ftp.pride.ebi.ac.uk/pride/data/archive/2012/03/PXD000001/TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.raw 1 1 TMT131 NT=LTQ Orbitrap Velos;AC=MS:1001742 NT=Oxidation;MT=Variable;TA=M;AC=Unimod:35 NT=Methylthio;TA=C;MT=fixed;AC=UNIMOD:39 NT=TMT6plex;TA=K;MT=Fixed;AC=UNIMOD:737 NT=TMT6plex;PP=Any N-term;MT=Fixed;AC=UNIMOD:737 AC=MS:1001313;NT=Trypsin NT=HCD;AC=PRIDE:0000590 not available not available SP=Yeast;CT=protein;AC=P00924;QY=10 \ No newline at end of file