Steps required to run an analysis with TRANSPIRE¶
STEP 1: Load your data¶
Import data from a local file path¶
The most important factor when starting to run an analysis with TRANSPIRE is that the input data is formatted correctly. In order for TRANSPIRE to be able to load and analyze your data, it should be in an Excel, .csv, or .txt (tab-separated) file in the below format:
| fraction | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 5 | 5 | 5 | 5 | 6 | 6 | 6 | 6 | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| condition | infected r1 | infected r2 | control r1 | control r2 | infected r1 | infected r2 | control r1 | control r2 | infected r1 | infected r2 | control r1 | control r2 | infected r1 | infected r2 | control r1 | control r2 | infected r1 | infected r2 | control r1 | control r2 | infected r1 | infected r2 | control r1 | control r2 | ||
| accession | localization (optional) | gene name | ||||||||||||||||||||||||
| A0AVT1 | UBA6 | 0.060358342 | 0.088384979 | 0.021549699 | 0.088852514 | 0.137188641 | 0.061924711 | 0.097680247 | 0.105493495 | 0.080617005 | 0.113397244 | 0.165190439 | 0.140260321 | 0.331291368 | 0.280427261 | 0.424481905 | 0.293039659 | 0.219884385 | 0.259408794 | |||||||
| A4D1E9 | GTPBP10 | 0.017431367 | 0.010919419 | 0.010939989 | 0.01788773 | 0.04433199 | 0.042193098 | 0.019871879 | 0.022668133 | 0.221391774 | 0.211130827 | 0.115549842 | 0.206982644 | 0.359164881 | 0.463678228 | 0.502419194 | 0.485435601 | 0.231540677 | 0.200333972 | 0.286809334 | 0.128673045 | 0.110855321 | 0.085549348 | 0.075524365 | 0.078957106 | |
| O00115 | Lysosome | DNASE2 | 0.102243843 | 0.098714744 | 0.027640638 | 0.118492033 | 0.255890776 | 0.324432252 | 0.173249647 | 0.227846963 | 0.263637747 | 0.336682948 | 0.384461669 | 0.386562425 | 0.422957753 | 0.359628814 | 0.347502794 | 0.341440976 | 0.352420063 | 0.286137443 | 0.343690352 | 0.318835707 | 0.321091155 | 0.316798976 | 0.287853901 | 0.194867026 |
| O00116 | Peroxisome | AGPS | 0.026092145 | 0.030386867 | 0.006700491 | 0.07461832 | 0.089933052 | 0.101247197 | 0.017083227 | 0.123512756 | 0.108003944 | 0.063097708 | 0.147864323 | 0.131212873 | 0.170401834 | 0.063313759 | 0.173263726 | 0.222924921 | 0.073575662 | 0.237810984 | 0.245499324 | 0.169314287 | 0.227404597 | 0.175648269 | 0.183915875 | 0.11468608 |
| O00142 | TK2 | 0.023510146 | 0.058416994 | 0.010480072 | 0.055253079 | 0.059587953 | 0.106009827 | 0.04126123 | 0.065158646 | 0.096602693 | 0.137934475 | 0.118536311 | 0.126676298 | 0.139345799 | 0.175068517 | 0.18262272 | 0.120073231 | 0.15426916 | 0.17230589 | 0.290400791 | 0.235810671 | 0.19053625 | 0.132644335 | |||
| O00151 | Cytosol | PDLIM1 | 0.284395909 | 0.262089347 | 0.143682624 | 0.42623352 | 0.273186199 | 0.316785267 | 0.283130492 | 0.205544039 | 0.289309455 | 0.215855997 | 0.360152938 | 0.27860076 | 0.280951863 | 0.214121447 | 0.131440829 | 0.148875356 | 0.144051908 | 0.135496743 | 0.121885967 | 0.14027199 | 0.140688118 | 0.114692358 | 0.113923446 | 0.074043576 |
| O00154 | ACOT7 | 0.055193351 | 0.069736347 | 0.026738706 | 0.11959321 | 0.091660101 | 0.119354801 | 0.058511121 | 0.094791331 | 0.146874019 | 0.219467904 | 0.336261116 | 0.219478954 | 0.266593113 | 0.192026193 | 0.150024711 | 0.118661081 | 0.112848868 | 0.15508919 | 0.152423362 | 0.175963482 | 0.194358018 | 0.149730327 | 0.125661336 | 0.109086319 | |
| O00159 | MYO1C | 0.31714597 | 0.324538797 | 0.144430963 | 0.380384408 | 0.278761366 | 0.233667895 | 0.242635509 | 0.253163891 | 0.249403281 | 0.219122681 | 0.325553107 | 0.253668801 | 0.222263877 | 0.255768496 | 0.159482248 | 0.136708387 | 0.195150051 | 0.137238702 | 0.136944395 | 0.126500715 | 0.174723622 | 0.157733991 | 0.138494966 | 0.06256299 | |
| O00161 | Plasma membrane | SNAP23 | 0.244682332 | 0.356455796 | 0.170090392 | 0.428768779 | 0.304884205 | 0.295968459 | 0.273135519 | 0.190575795 | 0.312716553 | 0.215533065 | 0.340066582 | 0.307838828 | 0.318475923 | 0.224608988 | 0.255799765 | 0.189053054 | 0.256706266 | 0.198890033 | 0.196596767 | 0.227470315 | 0.183273429 | 0.1661495 | 0.17134793 | 0.109492308 |
| O00165 | HAX1 | 0.03859626 | 0.045614973 | 0.085117287 | 0.110228327 | 0.13676946 | 0.23366553 | 0.204163702 | 0.150903552 | 0.159571344 | ||||||||||||||||
| O00186 | Plasma membrane | STXBP3 | 0.182118456 | 0.294204682 | 0.111374326 | 0.370184227 | 0.312480542 | 0.297377714 | 0.237655956 | 0.219080894 | 0.333016556 | 0.219551902 | 0.351337136 | 0.266875999 | 0.281245861 | 0.261770489 | 0.289369748 | 0.187053108 | 0.253773093 | 0.170758458 | 0.2031032 | 0.222214069 | 0.180809484 | 0.188451987 | 0.166167266 | 0.106402589 |
| O00214 | LGALS8 | 0.284846026 | 0.352134666 | 0.152585003 | 0.29986366 | 0.232304266 | 0.253338134 | 0.221057248 | 0.169996876 | 0.192122775 | 0.205779241 | 0.301945555 | 0.237470623 | 0.261871978 | 0.248444951 | 0.203827482 | 0.180842432 | 0.241306835 | 0.187761645 | 0.188914077 | 0.20741154 | 0.176367475 | 0.230592025 | 0.194724949 | 0.105135768 | |
| O00217 | Mitochondria | NDUFS8 | 0.014527251 | 0.011940708 | 0.00843218 | 0.032819666 | 0.04031013 | 0.042586782 | 0.01899415 | 0.037849437 | 0.039412256 | 0.065494269 | 0.048998042 | 0.189005558 | 0.155402883 | 0.104134223 | 0.222584005 | 0.189198431 | 0.2714952 | 0.254027533 | ||||||
| O00231 | PSMD11 | 0.117474079 | 0.086297069 | 0.029501492 | 0.162338377 | 0.158719828 | 0.121432201 | 0.070997133 | 0.101050463 | 0.22414213 | 0.395586415 | 0.281342486 | 0.314307971 | 0.308241132 | 0.112683232 | 0.108631832 | 0.119860228 | 0.09928351 | 0.164546367 | 0.169084994 | 0.190006596 | 0.151459303 | 0.126447452 |
e.g. experimental conditions and organelle fractions should be listed in separate columns across the top of the document. Each row should represent one protein and begin with its Uniprot accession number, gene name, and localization (optional, only for marker proteins)
Loading data for TRANSPIRE analysis can be accomplished by running:
data = TRANSPIRE.data.import_data.load_data(myfilepath)
Add organelle markers from included marker sets (optional)¶
The file that you load in may already contain custom localization annotations for organelle markers. However, if it does not, TRANPIRE can load in existing organelle marker sets for you.
The available marker sets included in TRANSPIRE are:
- human fibroblast cells [1]
- HEK293T cells [2]
- Mouse embryonic stem cells [3]
- HeLa cells [4]
- U2OS cells [5]
Markers can be added to the loaded dataset by running:
marker_data = TRANSPIRE.data.import_data.add_markers(data, 'HEK293T')
Note that if your dataset already has a “localization” level this will raise an error.
Additional information on importing and manipulating data can be found in this notebook.
STEP 2: Generate synthetic translocations¶
TRANSPIRE will generate synthetic translocations by concatenating combinations of organelle marker proteins as defined by the “localization” index level of the input data. To generate these translocations, first define which conditions you want to make comparisons between (as a list of tuples), then generate the synthetic translocations for model training:
comparisons = [('control r1', 'treatment r1'), ('control r2', 'treatment r2')]
synthetic_translocations = TRANSPIRE.data.generate_translocations.make_translocations(data, comparisons, synthetic=True)
STEP 3: Optimize model hyperparameters (optional, but encouraged)¶
There are many hyperparameters that can be optimized for the GPFlow stochastic variational Gaussian process (SVGP) classifier that is used by TRANSPIRE. To simplify the model selection process, we have implemented a simple scheme to optimize two of the hyperparameters that we have found to have the greatest impact on model performance: kernel type and number of inducing points. Certainly, more complex schemes for hyperparameter optimization and corresponding cross-validation exist, and can be implemented at the user’s discretion.
As hyperparameter optimization is a relatively complex and time-intensive task, please see the notebook on hyperparameter optimization for a tutorial and examples of how TRANSPIRE can facilitate this process. As a technical note, we have generally found that the number of inducing points tends to have a greater impact on model performance than the kernel type.
STEP 4: Train final model using optimized hyperparameters and evaluate predictive performance¶
After optimizing the kernel type and optimal number of inducing points, final models are built and trained for each set of conditions that you want to compare (e.g. control vs treatment 1, control vs. treatment 2, etc.). Following model training, the final predictive performance of the model can be evaluated using the held-out test partition of the dataset.
See this notebook for a detailed workflow.
STEP 5: Predict translocations¶
Ultimately, you can then use the final, optimized models to predict actual translocations in your dataset. Concatenations of the actual protein profiles for different combinations of conditions can be generated in the following manner:
comparisons = [('control r1', 'treatment r1'), ('control r2', 'treatment r2')]
actual_profiles = TRANSPIRE.data.generate_translocations.make_translocations(data, comparisons, synthetic=False)
This data is then input into the trained models, and processed results (i.e., translocation scores, predicted labels, etc.) can be obtained as in this notebook.
STEP 6: Bioinformatic analysis of translocating proteins¶
Finally, TRANSPIRE can also perform gene ontology (GO) enrichment and co-translocation analyses on populations of translocating proteins to help discern the biological relevance of these movements. For GO enrichment analysis, we leverage the GOATOOLS Python package [6], which implements a variety of methods for assessing significantly-enriched GO terms across biological process, molecular function, and cellular component terms. See this notebook for a detailed workflow for accomplishing these analyses.
| [1] | Jean Beltran, P. M.; Mathias, R. A.; Cristea, I. M. A Portrait of the Human Organelle Proteome In Space and Time during Cytomegalovirus Infection. Cell Syst. 2016, 3 (4), 361–373. https://doi.org/10.1016/j.cels.2016.08.012. |
| [2] | Breckels, L. M.; Gatto, L.; Christoforou, A.; Groen, A. J.; Lilley, K. S.; Trotter, M. W. B. The Effect of Organelle Discovery upon Sub-Cellular Protein Localisation. J. Proteomics 2013, 88, 129–140. https://doi.org/10.1016/j.jprot.2013.02.019. |
| [3] | Christoforou, A.; Mulvey, C. M.; Breckels, L. M.; Geladaki, A.; Hurrell, T.; Hayward, P. C.; Naake, T.; Gatto, L.; Viner, R.; Arias, A. M.; Lilley, K. S. A Draft Map of the Mouse Pluripotent Stem Cell Spatial Proteome. Nat. Commun. 2016, 7, 9992. https://doi.org/10.1038/ncomms9992. |
| [4] | Itzhak, D. N.; Tyanova, S.; Cox, J.; Borner, G. H. Global, Quantitative and Dynamic Mapping of Protein Subcellular Localization. Elife 2016, 5 (JUN2016). https://doi.org/10.7554/eLife.16950. |
| [5] | Thul, P. J.; Akesson, L.; Wiking, M.; Mahdessian, D.; Geladaki, A.; Ait Blal, H.; Alm, T.; Asplund, A.; Björk, L.; Breckels, L. M.; Bäckström, A.; Danielsson, F.; Fagerberg, L.; Fall, J.; Gatto, L.; Gnann, C.; Hober, S.; Hjelmare, M.; Johansson, F.; Lee, S.; Lindskog, C.; Mulder, J.; Mulvey, C. M.; Nilsson, P.; Oksvold, P.; Rockberg, J.; Schutten, R.; Schwenk, J. M.; Sivertsson, A.; Sjöstedt, E.; Skogs, M.; Stadler, C.; Sullivan, D. P.; Tegel, H.; Winsnes, C.; Zhang, C.; Zwahlen, M.; Mardinoglu, A.; Pontén, F.; Von Feilitzen, K.; Lilley, K. S.; Uhlén, M.; Lundberg, E. A Subcellular Map of the Human Proteome. Science (80-. ). 2017, 356 (6340), eaal3321. https://doi.org/10.1126/science.aal3321. |
| [6] | Klopfenstein, D. V.; Zhang, L.; Pedersen, B. S.; Ramírez, F.; Vesztrocy, A. W.; Naldi, A.; Mungall, C. J.; Yunes, J. M.; Botvinnik, O.; Weigel, M.; Dampier, W.; Dessimoz, C.; Flick, P.; Tang, H. GOATOOLS: A Python Library for Gene Ontology Analyses. Sci. Rep. 2018, 8 (1), 10872. https://doi.org/10.1038/s41598-018-28948-z. |