cellmaps-utils 0.9.0__tar.gz → 0.10.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/HISTORY.rst +28 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/PKG-INFO +34 -1
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/README.rst +5 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/__init__.py +1 -1
- cellmaps_utils-0.10.0/cellmaps_utils/apms_zmadex_saint_readme.txt +165 -0
- cellmaps_utils-0.10.0/cellmaps_utils/apmstool.py +945 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/cellmaps_utilscmd.py +4 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/constants.py +30 -0
- cellmaps_utils-0.10.0/cellmaps_utils/secms_readme.txt +81 -0
- cellmaps_utils-0.10.0/cellmaps_utils/secmstool.py +262 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/tabletool.py +7 -8
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils.egg-info/PKG-INFO +34 -1
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils.egg-info/SOURCES.txt +6 -1
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/cm4ai_data_release.rst +96 -1
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/setup.cfg +0 -3
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/setup.py +3 -1
- cellmaps_utils-0.10.0/tests/data/msstats_drug_effect_example.tsv +13 -0
- cellmaps_utils-0.10.0/tests/data/zmadex_saint_example.csv +19 -0
- cellmaps_utils-0.10.0/tests/test_apmstool.py +734 -0
- cellmaps_utils-0.10.0/tests/test_secmstool.py +328 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_solutiongenerator.py +1 -1
- cellmaps_utils-0.9.0/cellmaps_utils/apmstool.py +0 -292
- cellmaps_utils-0.9.0/tests/.DS_Store +0 -0
- cellmaps_utils-0.9.0/tests/test_apmstool.py +0 -226
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/AUTHORS.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/CONTRIBUTING.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/LICENSE +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/MANIFEST.in +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/apms_readme.txt +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/basecmdtool.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/challenge.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/crispr_readme.txt +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/crisprtool.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/ddotconverter.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/exceptions.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/hcx_utils.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/hidefconverter.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/hierdiff.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/ifimage_readme.txt +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/iftool.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/logutils.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/music_utils.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/ndexupload.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/provenance.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/statsgenerator.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils.egg-info/dependency_links.txt +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils.egg-info/not-zip-safe +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils.egg-info/requires.txt +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils.egg-info/top_level.txt +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/Makefile +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/_build/html/_static/file.png +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/_build/html/_static/minus.png +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/_build/html/_static/plus.png +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/authors.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/cellmaps_utils.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/conf.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/contributing.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/cx2_to_hcx_conversion.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/ddot_converters.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/devbranches.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/developer.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/hidef_converters.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/hierarchical_networks.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/hierarchy_robustness.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/history.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/in_project.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/index.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/installation.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/integrationtesting.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/make.bat +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/modules.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/newrelease.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/outputs.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/pypircfile.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/upload_to_ndex.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/usage.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/versioningscheme.rst +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/pyproject.toml +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/__init__.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/ddot_output.ont +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/hidef_output.edges +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/hidef_output.nodes +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/images/blue.jpg +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/images/green.jpg +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/images/red.jpg +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/images/yellow.jpg +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/parent_edgelist +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/reactome_ddot.txt +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/repl1_example.tsv +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/repl1_repl2_combined.tsv +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/repl1_repl2_id_mapping.json +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/repl2_example.tsv +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/ro-crate-metadata.json +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/test_password +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/testsolrepl1.tsv +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/testsolrepl2.tsv +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/testsolution.csv +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/testsolution_genes.cx2 +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_basecommandlinetool.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_challenge.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_crisprtool.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_ddotconverter.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_helloworldcommand.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_hidefconverter.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_iftool.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_integation_provenance.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_logutils.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_ndexupload.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_provenance.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_statsgenerator.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_tabletool.py +0 -0
- {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_tworeplcoelutionchallengegenerator.py +0 -0
|
@@ -2,6 +2,34 @@
|
|
|
2
2
|
History
|
|
3
3
|
=======
|
|
4
4
|
|
|
5
|
+
0.10.0 (2026-10-12)
|
|
6
|
+
--------------------
|
|
7
|
+
|
|
8
|
+
* Added ``--input_format zmadex_saint`` to ``cellmaps_utilscmd.py apmsconverter`` which
|
|
9
|
+
consumes the Zmadex/SAINT AP-MS analysis and writes a normalized ``apms.tsv``. The
|
|
10
|
+
legacy input format is unchanged and remains the default
|
|
11
|
+
|
|
12
|
+
* ``apmsconverter`` now writes ``apms_unfiltered.tsv`` with the complete pre-filter
|
|
13
|
+
matrix alongside the filtered ``apms.tsv``, controlled by ``--filter`` and
|
|
14
|
+
``--no_unfiltered``
|
|
15
|
+
|
|
16
|
+
* ``apmsconverter`` now accepts ``--drug_effect_input`` holding MSstats drug effect
|
|
17
|
+
results, published as a separate ``apms_drug_effect.tsv`` so ``apms.tsv`` keeps the
|
|
18
|
+
same schema in every RO-Crate. Row selection is controlled by ``--drug_effect_rows``
|
|
19
|
+
|
|
20
|
+
* ``apmsconverter`` now writes ``apms_qc.json`` summarizing row counts, join coverage
|
|
21
|
+
and gene set membership
|
|
22
|
+
|
|
23
|
+
* Added ``cellmaps_utilscmd.py secmsconverter`` to package Spectronaut SEC-MS TSV
|
|
24
|
+
exports into a RO-Crate. ``--inputs`` accepts file/replicate pairs, copied as
|
|
25
|
+
``secms_<replicate>.tsv`` with quantities and missing values preserved and
|
|
26
|
+
without averaging replicates
|
|
27
|
+
|
|
28
|
+
* ``secmsconverter`` writes dataset metadata, including replicate labels, to
|
|
29
|
+
``data_info.json``, registers datasets, software and computation provenance,
|
|
30
|
+
and includes a SEC-MS ``readme.txt`` describing the data and column labels
|
|
31
|
+
|
|
32
|
+
|
|
5
33
|
0.9.0 (2025-07-03)
|
|
6
34
|
-------------------
|
|
7
35
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cellmaps_utils
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.10.0
|
|
4
4
|
Summary: Contains utilities needed by Cell Maps tools
|
|
5
5
|
Home-page: https://github.com/idekerlab/cellmaps_utils
|
|
6
6
|
Author: Cell Maps team
|
|
@@ -131,7 +131,12 @@ Modify code in this repo as desired
|
|
|
131
131
|
# From base directory of this repo cellmaps_hierarchyeval
|
|
132
132
|
pip uninstall cellmaps_utils -y ; make clean dist; pip install dist/cellmaps_utils*whl
|
|
133
133
|
|
|
134
|
+
Cite
|
|
135
|
+
-------
|
|
136
|
+
|
|
137
|
+
If you find this tool useful, please cite:
|
|
134
138
|
|
|
139
|
+
Lenkiewicz, J., Churas, C., Hu, M., Qian, G., Jain, M., Levinson, M. A., ... & Schaffer, L. V. (2025). Cell Mapping Toolkit: An end-to-end pipeline for mapping subcellular organization. Bioinformatics, 41(6), btaf205.
|
|
135
140
|
|
|
136
141
|
Credits
|
|
137
142
|
-------
|
|
@@ -149,6 +154,34 @@ This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypack
|
|
|
149
154
|
History
|
|
150
155
|
=======
|
|
151
156
|
|
|
157
|
+
0.10.0 (2026-10-12)
|
|
158
|
+
--------------------
|
|
159
|
+
|
|
160
|
+
* Added ``--input_format zmadex_saint`` to ``cellmaps_utilscmd.py apmsconverter`` which
|
|
161
|
+
consumes the Zmadex/SAINT AP-MS analysis and writes a normalized ``apms.tsv``. The
|
|
162
|
+
legacy input format is unchanged and remains the default
|
|
163
|
+
|
|
164
|
+
* ``apmsconverter`` now writes ``apms_unfiltered.tsv`` with the complete pre-filter
|
|
165
|
+
matrix alongside the filtered ``apms.tsv``, controlled by ``--filter`` and
|
|
166
|
+
``--no_unfiltered``
|
|
167
|
+
|
|
168
|
+
* ``apmsconverter`` now accepts ``--drug_effect_input`` holding MSstats drug effect
|
|
169
|
+
results, published as a separate ``apms_drug_effect.tsv`` so ``apms.tsv`` keeps the
|
|
170
|
+
same schema in every RO-Crate. Row selection is controlled by ``--drug_effect_rows``
|
|
171
|
+
|
|
172
|
+
* ``apmsconverter`` now writes ``apms_qc.json`` summarizing row counts, join coverage
|
|
173
|
+
and gene set membership
|
|
174
|
+
|
|
175
|
+
* Added ``cellmaps_utilscmd.py secmsconverter`` to package Spectronaut SEC-MS TSV
|
|
176
|
+
exports into a RO-Crate. ``--inputs`` accepts file/replicate pairs, copied as
|
|
177
|
+
``secms_<replicate>.tsv`` with quantities and missing values preserved and
|
|
178
|
+
without averaging replicates
|
|
179
|
+
|
|
180
|
+
* ``secmsconverter`` writes dataset metadata, including replicate labels, to
|
|
181
|
+
``data_info.json``, registers datasets, software and computation provenance,
|
|
182
|
+
and includes a SEC-MS ``readme.txt`` describing the data and column labels
|
|
183
|
+
|
|
184
|
+
|
|
152
185
|
0.9.0 (2025-07-03)
|
|
153
186
|
-------------------
|
|
154
187
|
|
|
@@ -101,7 +101,12 @@ Modify code in this repo as desired
|
|
|
101
101
|
# From base directory of this repo cellmaps_hierarchyeval
|
|
102
102
|
pip uninstall cellmaps_utils -y ; make clean dist; pip install dist/cellmaps_utils*whl
|
|
103
103
|
|
|
104
|
+
Cite
|
|
105
|
+
-------
|
|
106
|
+
|
|
107
|
+
If you find this tool useful, please cite:
|
|
104
108
|
|
|
109
|
+
Lenkiewicz, J., Churas, C., Hu, M., Qian, G., Jain, M., Levinson, M. A., ... & Schaffer, L. V. (2025). Cell Mapping Toolkit: An end-to-end pipeline for mapping subcellular organization. Bioinformatics, 41(6), btaf205.
|
|
105
110
|
|
|
106
111
|
Credits
|
|
107
112
|
-------
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
Affinity Purification Mass spectrometry (AP-MS)
|
|
2
|
+
-----------------------------------------------
|
|
3
|
+
|
|
4
|
+
Affinity Purification-Mass Spectrometry (AP-MS) is a powerful technique used to uncover the intricate networks of
|
|
5
|
+
protein interactions within cells. Different methods can be used but the most popular approach is to attach a purifiable
|
|
6
|
+
tag to a protein of interest, the "bait". In the context of CM4AI the tag is directly attached to the endogenous protein
|
|
7
|
+
of interest using gene editing to maintain physiological level of expression. The tagged bait is then purified from cell
|
|
8
|
+
extract with its interacting partners. Once separated, the captured proteins are identified using a mass spectrometer
|
|
9
|
+
allowing to infer protein-protein interactions.
|
|
10
|
+
|
|
11
|
+
This RO-Crate uses the Zmadex/SAINT analysis. It does not carry the legacy SAINT columns
|
|
12
|
+
(Spec, AvgSpec, TopoAvgP.x, SaintScore.x, logOddsScore and similar), because those values do not
|
|
13
|
+
exist in this analysis. Earlier CM4AI AP-MS releases used that older schema and are documented
|
|
14
|
+
separately.
|
|
15
|
+
|
|
16
|
+
@@DATASET_SUMMARY@@
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
Two different questions, two different sets of columns
|
|
20
|
+
------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
Zmadex, SAINTBFDR* and Pass* measure INTERACTION CONFIDENCE. They answer "is this prey a real
|
|
23
|
+
interactor of this bait?" and are computed within a single drug arm.
|
|
24
|
+
|
|
25
|
+
DrugEffect* measures TREATMENT-ASSOCIATED CHANGE. It answers "does this bait-prey pair change
|
|
26
|
+
between vorinostat and DMSO?" and lives in its own file, apms_drug_effect.tsv.
|
|
27
|
+
|
|
28
|
+
Confusing the two is the most common way to misread this dataset. A prey can be a high confidence
|
|
29
|
+
interactor with no drug effect, or show a strong drug effect while failing every interaction
|
|
30
|
+
filter.
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
apms.tsv and apms_unfiltered.tsv column labels
|
|
34
|
+
-----------------------------------------------
|
|
35
|
+
|
|
36
|
+
Both files carry the identical 14 columns. apms.tsv is filtered, apms_unfiltered.tsv is the
|
|
37
|
+
complete pre-filter matrix.
|
|
38
|
+
|
|
39
|
+
Bait: Gene symbol of the pulled down protein.
|
|
40
|
+
|
|
41
|
+
Prey: Uniprot ID of a protein identified by MS in the pull down (putative bait interactor).
|
|
42
|
+
Always a single accession, never a protein group.
|
|
43
|
+
|
|
44
|
+
PreyGene: Gene symbol of the identified protein.
|
|
45
|
+
|
|
46
|
+
Batch: Experimental batch (SET1 through SET6) the measurement belongs to. Batch is part of the
|
|
47
|
+
record key. Two baits, HDAC2 and USP7, were run in two different batches, so Bait and Prey
|
|
48
|
+
together are NOT a unique key. Use Batch, Bait and Prey.
|
|
49
|
+
|
|
50
|
+
Zmadex: Median absolute deviation based enrichment score of the prey in the bait pull down
|
|
51
|
+
relative to the other pull downs in the batch. Higher means more specific enrichment.
|
|
52
|
+
|
|
53
|
+
BaitControlLog2FC: Log2 fold change of prey abundance in the tagged bait pull down versus the
|
|
54
|
+
background/control. Computed WITHIN one drug arm, so it is a measure of
|
|
55
|
+
bait-prey enrichment, not of drug response.
|
|
56
|
+
|
|
57
|
+
ObservedCount: Number of replicates in which the prey was observed.
|
|
58
|
+
|
|
59
|
+
MissingCount: Number of replicates in which the prey was not observed.
|
|
60
|
+
|
|
61
|
+
SAINTBFDRIntensity: SAINTexpress Bayesian False Discovery Rate computed on intensity. Lower is
|
|
62
|
+
more confident. A value of 0 is a real and common value, it is not missing
|
|
63
|
+
data. An EMPTY cell means the statistic could not be computed.
|
|
64
|
+
|
|
65
|
+
SAINTBFDRSpectralCount: SAINTexpress Bayesian False Discovery Rate computed on spectral counts.
|
|
66
|
+
Lower is more confident. Same empty/zero distinction as above.
|
|
67
|
+
|
|
68
|
+
PassZ: TRUE if the prey passes the Zmadex threshold.
|
|
69
|
+
|
|
70
|
+
PassSAINTIntensity: TRUE if the prey passes the SAINT intensity BFDR threshold.
|
|
71
|
+
|
|
72
|
+
PassSAINTSpectralCount: TRUE if the prey passes the SAINT spectral count BFDR threshold.
|
|
73
|
+
|
|
74
|
+
ReferenceLabel: Membership of the bait-prey pair in reference sets used for benchmarking.
|
|
75
|
+
One of corum, string, corum;string, decoy, or empty.
|
|
76
|
+
This is PRIOR KNOWLEDGE used to evaluate the scoring, it is NOT evidence of an
|
|
77
|
+
interaction in this experiment. A pair labelled corum is not thereby a hit, and a
|
|
78
|
+
pair labelled decoy is not thereby a false positive.
|
|
79
|
+
|
|
80
|
+
A note on empty cells: an empty value means the statistic could not be computed, and is written as
|
|
81
|
+
an empty field rather than NA, NaN or 0. It is never safe to read an empty cell as zero.
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
apms_drug_effect.tsv column labels
|
|
85
|
+
-----------------------------------
|
|
86
|
+
|
|
87
|
+
Present in the vorinostat RO-Crate only. Produced by MSstats. Every record is a single
|
|
88
|
+
vorinostat-versus-DMSO contrast for one bait and one prey, so there is one contrast per
|
|
89
|
+
Batch/Bait pair, with no drug dimension of its own.
|
|
90
|
+
|
|
91
|
+
Batch, Bait, Prey: The same key as apms.tsv. Join on all three.
|
|
92
|
+
|
|
93
|
+
DrugEffectLog2FC: Log2 fold change of prey abundance in the vorinostat pull down versus the DMSO
|
|
94
|
+
pull down for that bait. Positive means more abundant under vorinostat.
|
|
95
|
+
Do not confuse this with BaitControlLog2FC, which is bait versus control.
|
|
96
|
+
|
|
97
|
+
DrugEffectSE: Standard error of the log2 fold change.
|
|
98
|
+
|
|
99
|
+
DrugEffectTValue: T statistic of the contrast.
|
|
100
|
+
|
|
101
|
+
DrugEffectDF: Degrees of freedom of the contrast.
|
|
102
|
+
|
|
103
|
+
DrugEffectPValue: Raw p-value of the contrast.
|
|
104
|
+
|
|
105
|
+
DrugEffectAdjustedPValue: Multiple testing adjusted p-value.
|
|
106
|
+
|
|
107
|
+
DrugEffectSignificant: 1 if MSstats called the contrast significant, otherwise 0.
|
|
108
|
+
|
|
109
|
+
DrugEffect: Categorical call, one of:
|
|
110
|
+
up - significantly more abundant under vorinostat
|
|
111
|
+
down - significantly less abundant under vorinostat
|
|
112
|
+
insig - no significant change
|
|
113
|
+
gained - detected only under vorinostat, paired with
|
|
114
|
+
DrugEffectIssue = oneConditionMissing
|
|
115
|
+
lost - detected only under DMSO, paired with
|
|
116
|
+
DrugEffectIssue = oneConditionMissing
|
|
117
|
+
unidentified - not detected in either condition, paired with
|
|
118
|
+
DrugEffectIssue = completeMissing
|
|
119
|
+
|
|
120
|
+
DrugEffectIssue: Empty, oneConditionMissing, or completeMissing. Explains why DrugEffectLog2FC and
|
|
121
|
+
the test statistics may be empty.
|
|
122
|
+
|
|
123
|
+
DrugEffectComparison: The original MSstats contrast label, of the form
|
|
124
|
+
<Batch>_<Bait>_VRST-<Batch>_<Bait>_DMSO.
|
|
125
|
+
|
|
126
|
+
Protein groups: where MSstats could not resolve a single protein, Prey holds a semicolon separated
|
|
127
|
+
protein group. These rows are published unchanged and are NOT split onto their individual
|
|
128
|
+
accessions, because doing so creates ambiguous duplicate keys. They will not match apms.tsv, whose
|
|
129
|
+
Prey is always a single accession.
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
Joining the two files
|
|
133
|
+
----------------------
|
|
134
|
+
|
|
135
|
+
Join on Batch, Bait and Prey. All three are required, because HDAC2 and USP7 each appear in two
|
|
136
|
+
batches.
|
|
137
|
+
|
|
138
|
+
import pandas as pd
|
|
139
|
+
|
|
140
|
+
apms = pd.read_csv('apms.tsv', sep='\t', dtype=str, na_filter=False)
|
|
141
|
+
drug = pd.read_csv('apms_drug_effect.tsv', sep='\t', dtype=str, na_filter=False)
|
|
142
|
+
merged = apms.merge(drug, on=['Batch', 'Bait', 'Prey'], how='left')
|
|
143
|
+
|
|
144
|
+
Read the files with dtype=str and na_filter=False if you need the values to round trip unchanged.
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
Data processing
|
|
148
|
+
---------------
|
|
149
|
+
|
|
150
|
+
Raw data acquired on a Orbitrap Fusion(TM) Lumos(TM) Tribrid(TM) Mass Spectrometer (Thermo Scientific).
|
|
151
|
+
Raw data are processed using Maxquant using LFQ quantification against a reviewed human UniProt
|
|
152
|
+
reference. Evidence files are processed to generate SAINT input, and SAINTexpress is run to
|
|
153
|
+
estimate the probability that each observed bait-prey pair is a true interaction rather than a
|
|
154
|
+
non-specific or random association. The Zmadex score adds a robust, median absolute deviation
|
|
155
|
+
based measure of how specifically a prey is enriched in one bait pull down relative to the others
|
|
156
|
+
in its batch. Drug effects are computed separately with MSstats.
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
References
|
|
160
|
+
----------
|
|
161
|
+
SAINT: https://saint-apms.sourceforge.net/Main.html
|
|
162
|
+
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4102138/
|
|
163
|
+
https://pubmed.ncbi.nlm.nih.gov/21131968/
|
|
164
|
+
MSstats: https://msstats.org
|
|
165
|
+
CM4AI gene sets: https://cm4ai.org/product-documentation/
|