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.
Files changed (112) hide show
  1. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/HISTORY.rst +28 -0
  2. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/PKG-INFO +34 -1
  3. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/README.rst +5 -0
  4. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/__init__.py +1 -1
  5. cellmaps_utils-0.10.0/cellmaps_utils/apms_zmadex_saint_readme.txt +165 -0
  6. cellmaps_utils-0.10.0/cellmaps_utils/apmstool.py +945 -0
  7. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/cellmaps_utilscmd.py +4 -0
  8. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/constants.py +30 -0
  9. cellmaps_utils-0.10.0/cellmaps_utils/secms_readme.txt +81 -0
  10. cellmaps_utils-0.10.0/cellmaps_utils/secmstool.py +262 -0
  11. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/tabletool.py +7 -8
  12. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils.egg-info/PKG-INFO +34 -1
  13. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils.egg-info/SOURCES.txt +6 -1
  14. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/cm4ai_data_release.rst +96 -1
  15. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/setup.cfg +0 -3
  16. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/setup.py +3 -1
  17. cellmaps_utils-0.10.0/tests/data/msstats_drug_effect_example.tsv +13 -0
  18. cellmaps_utils-0.10.0/tests/data/zmadex_saint_example.csv +19 -0
  19. cellmaps_utils-0.10.0/tests/test_apmstool.py +734 -0
  20. cellmaps_utils-0.10.0/tests/test_secmstool.py +328 -0
  21. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_solutiongenerator.py +1 -1
  22. cellmaps_utils-0.9.0/cellmaps_utils/apmstool.py +0 -292
  23. cellmaps_utils-0.9.0/tests/.DS_Store +0 -0
  24. cellmaps_utils-0.9.0/tests/test_apmstool.py +0 -226
  25. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/AUTHORS.rst +0 -0
  26. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/CONTRIBUTING.rst +0 -0
  27. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/LICENSE +0 -0
  28. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/MANIFEST.in +0 -0
  29. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/apms_readme.txt +0 -0
  30. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/basecmdtool.py +0 -0
  31. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/challenge.py +0 -0
  32. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/crispr_readme.txt +0 -0
  33. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/crisprtool.py +0 -0
  34. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/ddotconverter.py +0 -0
  35. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/exceptions.py +0 -0
  36. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/hcx_utils.py +0 -0
  37. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/hidefconverter.py +0 -0
  38. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/hierdiff.py +0 -0
  39. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/ifimage_readme.txt +0 -0
  40. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/iftool.py +0 -0
  41. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/logutils.py +0 -0
  42. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/music_utils.py +0 -0
  43. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/ndexupload.py +0 -0
  44. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/provenance.py +0 -0
  45. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils/statsgenerator.py +0 -0
  46. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils.egg-info/dependency_links.txt +0 -0
  47. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils.egg-info/not-zip-safe +0 -0
  48. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils.egg-info/requires.txt +0 -0
  49. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/cellmaps_utils.egg-info/top_level.txt +0 -0
  50. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/Makefile +0 -0
  51. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/_build/html/_static/file.png +0 -0
  52. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/_build/html/_static/minus.png +0 -0
  53. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/_build/html/_static/plus.png +0 -0
  54. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/authors.rst +0 -0
  55. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/cellmaps_utils.rst +0 -0
  56. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/conf.py +0 -0
  57. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/contributing.rst +0 -0
  58. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/cx2_to_hcx_conversion.rst +0 -0
  59. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/ddot_converters.rst +0 -0
  60. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/devbranches.rst +0 -0
  61. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/developer.rst +0 -0
  62. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/hidef_converters.rst +0 -0
  63. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/hierarchical_networks.rst +0 -0
  64. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/hierarchy_robustness.rst +0 -0
  65. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/history.rst +0 -0
  66. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/in_project.rst +0 -0
  67. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/index.rst +0 -0
  68. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/installation.rst +0 -0
  69. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/integrationtesting.rst +0 -0
  70. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/make.bat +0 -0
  71. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/modules.rst +0 -0
  72. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/newrelease.rst +0 -0
  73. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/outputs.rst +0 -0
  74. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/pypircfile.rst +0 -0
  75. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/upload_to_ndex.rst +0 -0
  76. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/usage.rst +0 -0
  77. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/docs/versioningscheme.rst +0 -0
  78. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/pyproject.toml +0 -0
  79. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/__init__.py +0 -0
  80. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/ddot_output.ont +0 -0
  81. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/hidef_output.edges +0 -0
  82. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/hidef_output.nodes +0 -0
  83. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/images/blue.jpg +0 -0
  84. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/images/green.jpg +0 -0
  85. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/images/red.jpg +0 -0
  86. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/images/yellow.jpg +0 -0
  87. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/parent_edgelist +0 -0
  88. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/reactome_ddot.txt +0 -0
  89. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/repl1_example.tsv +0 -0
  90. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/repl1_repl2_combined.tsv +0 -0
  91. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/repl1_repl2_id_mapping.json +0 -0
  92. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/repl2_example.tsv +0 -0
  93. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/ro-crate-metadata.json +0 -0
  94. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/test_password +0 -0
  95. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/testsolrepl1.tsv +0 -0
  96. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/testsolrepl2.tsv +0 -0
  97. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/testsolution.csv +0 -0
  98. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/data/testsolution_genes.cx2 +0 -0
  99. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_basecommandlinetool.py +0 -0
  100. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_challenge.py +0 -0
  101. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_crisprtool.py +0 -0
  102. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_ddotconverter.py +0 -0
  103. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_helloworldcommand.py +0 -0
  104. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_hidefconverter.py +0 -0
  105. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_iftool.py +0 -0
  106. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_integation_provenance.py +0 -0
  107. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_logutils.py +0 -0
  108. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_ndexupload.py +0 -0
  109. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_provenance.py +0 -0
  110. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_statsgenerator.py +0 -0
  111. {cellmaps_utils-0.9.0 → cellmaps_utils-0.10.0}/tests/test_tabletool.py +0 -0
  112. {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.9.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
  -------
@@ -4,6 +4,6 @@
4
4
 
5
5
  __author__ = 'Cell Maps team'
6
6
  __email__ = 'tools@cm4ai.org'
7
- __version__ = '0.9.0'
7
+ __version__ = '0.10.0'
8
8
  __repo_url__ = 'https://github.com/idekerlab/cellmaps_utils'
9
9
  __description__ = 'Contains utilities needed by Cell Maps tools'
@@ -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/