This tool generates low-dimensional, continuous, distributed vector representations for non-numeric entities such as text or biological sequences (e.g. DNA or proteins) via kernel PCA with rational kernels.
The current implementation accepts any input dataset that can be read as a list of strings.
If you find RatVec useful in your work, please consider citing:
| [1] | Brito, E., et al.: RatVec: A General Approach for Low-dimensional Distributed Vector Representations via Rational Kernels. In: LWDA 2019. |
RatVec can be installed on Python 3.6+ from PyPI with the following code in your favorite terminal:
$ pip install ratvecor from the latest code on GitHub with:
$ pip install git+https://github.com/ratvec/ratvec.gitIt can be installed in development mode with:
$ git clone https://github.com/ratvec/ratvec.git
$ cd ratvec
$ pip install -e .The -e dynamically links the code in the git repository to the Python site-packages so your changes get
reflected immediately.
ratvec automatically installs a command line interface. Check it out with:
$ ratvec --helpRatVec has three main commands: generate, train, and evaluate:
- Generate. Downloads and prepare the SwissProt data set that is showcased in the RatVec paper.
$ ratvec generate- Train. Compute KPCA embeddings on a given data set. Please run the following command to see the arguments:
$ ratvec train --help- Evaluate. Evaluate and optimize KPCA embeddings. Please run the following command to see the arguments:
$ ratvec evaluate --helpThe application presented in the paper (SwissProt dataset [1]_ used by Boutet et al. [2]) can be downloaded directly from here or running the following command:
$ ratvec generateMost of the release workflow is automated by tox. After configuring
an appropriate .pypirc file, the command tox -e finish can be run. It takes the -dev extension off of the
version string, pushes to GitHub, makes a distribution, uploads it to PyPI, then bumps the version to the next patch.
Note: there can't be any uncommitted stuff in the repository first or bumpversion will complain.
tox -e bumpversion minor can be used to bump the minor version before running tox -e finish.
| [1] | Boutet, E. et al. (2016). UniProtKB/Swiss-Prot, the manually annotated section of the UniProt KnowledgeBase: how to use the entry view.. Plant Bioinformatics (pp. 23-54). |
| [2] | Asgari, E., & Mofrad, M. R. (2015). Continuous distributed representation of biological sequences for deep proteomics and genomics. PloS one, 10(11), e0141287. |