1Metadata-Version: 2.1 2Name: openTSNE 3Version: 0.6.1 4Summary: Extensible, parallel implementations of t-SNE 5Home-page: https://github.com/pavlin-policar/openTSNE 6Author: Pavlin Poličar 7Author-email: pavlin.g.p@gmail.com 8License: BSD-3-Clause 9Project-URL: Documentation, https://opentsne.readthedocs.io/ 10Project-URL: Source, https://github.com/pavlin-policar/openTSNE 11Project-URL: Issue Tracker, https://github.com/pavlin-policar/openTSNE/issues 12Description: openTSNE 13 ======== 14 15 |Build Status| |ReadTheDocs Badge| |License Badge| 16 17 openTSNE is a modular Python implementation of t-Distributed Stochasitc Neighbor Embedding (t-SNE) [1]_, a popular dimensionality-reduction algorithm for visualizing high-dimensional data sets. openTSNE incorporates the latest improvements to the t-SNE algorithm, including the ability to add new data points to existing embeddings [2]_, massive speed improvements [3]_ [4]_, enabling t-SNE to scale to millions of data points and various tricks to improve global alignment of the resulting visualizations [5]_. 18 19 .. figure:: docs/source/images/macosko_2015.png 20 :alt: Macosko 2015 mouse retina t-SNE embedding 21 :align: center 22 23 A visualization of 44,808 single cell transcriptomes obtained from the mouse retina [6]_ embedded using the multiscale kernel trick to better preserve the global aligment of the clusters. 24 25 - `Documentation <http://opentsne.readthedocs.io>`__ 26 - `User Guide and Tutorial <https://opentsne.readthedocs.io/en/latest/tsne_algorithm.html>`__ 27 - Examples: `basic <https://opentsne.readthedocs.io/en/latest/examples/01_simple_usage/01_simple_usage.html>`__, `advanced <https://opentsne.readthedocs.io/en/latest/examples/02_advanced_usage/02_advanced_usage.html>`__, `preserving global alignment <https://opentsne.readthedocs.io/en/latest/examples/03_preserving_global_structure/03_preserving_global_structure.html>`__, `embedding large data sets <https://opentsne.readthedocs.io/en/latest/examples/04_large_data_sets/04_large_data_sets.html>`__ 28 - `Speed benchmarks <https://opentsne.readthedocs.io/en/latest/benchmarks.html>`__ 29 30 Installation 31 ------------ 32 33 openTSNE requires Python 3.7 or higher in order to run. 34 35 Conda 36 ~~~~~ 37 38 openTSNE can be easily installed from ``conda-forge`` with 39 40 :: 41 42 conda install --channel conda-forge opentsne 43 44 `Conda package <https://anaconda.org/conda-forge/opentsne>`__ 45 46 PyPi 47 ~~~~ 48 49 openTSNE is also available through ``pip`` and can be installed with 50 51 :: 52 53 pip install opentsne 54 55 `PyPi package <https://pypi.org/project/openTSNE>`__ 56 57 Installing from source 58 ~~~~~~~~~~~~~~~~~~~~~~ 59 60 If you wish to install openTSNE from source, please run 61 62 :: 63 64 python setup.py install 65 66 67 in the root directory to install the appropriate dependencies and compile the necessary binary files. 68 69 Please note that openTSNE requires a C/C++ compiler to be available on the system. Additionally, 70 ``numpy`` must be pre-installed in the active environment. 71 72 In order for openTSNE to utilize multiple threads, the C/C++ compiler 73 must support ``OpenMP``. In practice, almost all compilers 74 implement this with the exception of older version of ``clang`` on OSX 75 systems. 76 77 To squeeze the most out of openTSNE, you may also consider installing 78 FFTW3 prior to installation. FFTW3 implements the Fast Fourier 79 Transform, which is heavily used in openTSNE. If FFTW3 is not available, 80 openTSNE will use numpy’s implementation of the FFT, which is slightly 81 slower than FFTW. The difference is only noticeable with large data sets 82 containing millions of data points. 83 84 A hello world example 85 --------------------- 86 87 Getting started with openTSNE is very simple. First, we'll load up some data using scikit-learn 88 89 .. code:: python 90 91 from sklearn import datasets 92 93 iris = datasets.load_iris() 94 x, y = iris["data"], iris["target"] 95 96 then, we'll import and run 97 98 .. code:: python 99 100 from openTSNE import TSNE 101 102 embedding = TSNE().fit(x) 103 104 Citation 105 -------- 106 107 If you make use of openTSNE for your work we would appreciate it if you would cite the paper 108 109 .. code:: 110 111 @article {Poli{\v c}ar731877, 112 author = {Poli{\v c}ar, Pavlin G. and Stra{\v z}ar, Martin and Zupan, Bla{\v z}}, 113 title = {openTSNE: a modular Python library for t-SNE dimensionality reduction and embedding}, 114 year = {2019}, 115 doi = {10.1101/731877}, 116 publisher = {Cold Spring Harbor Laboratory}, 117 URL = {https://www.biorxiv.org/content/early/2019/08/13/731877}, 118 eprint = {https://www.biorxiv.org/content/early/2019/08/13/731877.full.pdf}, 119 journal = {bioRxiv} 120 } 121 122 openTSNE implements two efficient algorithms for t-SNE. Please consider citing the original authors of the algorithm that you use. If you use FIt-SNE (default), then the citation is [4]_ below, but if you use Barnes-Hut the citation is [3]_. 123 124 125 References 126 ---------- 127 128 .. [1] Van Der Maaten, Laurens, and Hinton, Geoffrey. `“Visualizing data using 129 t-SNE.” <http://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf>`__ 130 Journal of Machine Learning Research 9.Nov (2008): 2579-2605. 131 .. [2] Poličar, Pavlin G., Martin Stražar, and Blaž Zupan. `“Embedding to Reference t-SNE Space Addresses Batch Effects in Single-Cell Classification.” <https://link.springer.com/article/10.1007/s10994-021-06043-1>`__ Machine Learning (2021): 1-20. 132 .. [3] Van Der Maaten, Laurens. `“Accelerating t-SNE using tree-based algorithms.” 133 <http://www.jmlr.org/papers/volume15/vandermaaten14a/vandermaaten14a.pdf>`__ 134 Journal of Machine Learning Research 15.1 (2014): 3221-3245. 135 .. [4] Linderman, George C., et al. `"Fast interpolation-based t-SNE for improved 136 visualization of single-cell RNA-seq data." <https://www.nature.com/articles/s41592-018-0308-4>`__ Nature Methods 16.3 (2019): 243. 137 .. [5] Kobak, Dmitry, and Berens, Philipp. `“The art of using t-SNE for single-cell transcriptomics.” <https://www.nature.com/articles/s41467-019-13056-x>`__ 138 Nature Communications 10, 5416 (2019). 139 .. [6] Macosko, Evan Z., et al. \ `“Highly parallel genome-wide expression profiling of 140 individual cells using nanoliter droplets.” 141 <https://www.sciencedirect.com/science/article/pii/S0092867415005498>`__ 142 Cell 161.5 (2015): 1202-1214. 143 144 .. |Build Status| image:: https://dev.azure.com/pavlingp/openTSNE/_apis/build/status/Test?branchName=master 145 :target: https://dev.azure.com/pavlingp/openTSNE/_build/latest?definitionId=1&branchName=master 146 .. |ReadTheDocs Badge| image:: https://readthedocs.org/projects/opentsne/badge/?version=latest 147 :target: https://opentsne.readthedocs.io/en/latest/?badge=latest 148 :alt: Documentation Status 149 .. |License Badge| image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg 150 :target: https://opensource.org/licenses/BSD-3-Clause 151 152Platform: UNKNOWN 153Classifier: Development Status :: 5 - Production/Stable 154Classifier: Intended Audience :: Science/Research 155Classifier: Intended Audience :: Developers 156Classifier: Topic :: Software Development 157Classifier: Topic :: Scientific/Engineering 158Classifier: Operating System :: Microsoft :: Windows 159Classifier: Operating System :: POSIX 160Classifier: Operating System :: Unix 161Classifier: Operating System :: MacOS 162Classifier: License :: OSI Approved 163Classifier: Programming Language :: Python :: 3 164Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence 165Classifier: Topic :: Scientific/Engineering :: Visualization 166Classifier: Topic :: Software Development :: Libraries :: Python Modules 167Requires-Python: >=3.6 168Provides-Extra: hnsw 169Provides-Extra: pynndescent 170