MyersGroup's Relate is written in C++. Frankly, I am not good at C++. So, I decide to write a wrapper over this project. Maybe I will refactor them all in Python/Cython is the performance loss is acceptable. Maybe I will integrate output file handling (e.g. plotting) in this project.
$ pip install relatepy # or
$ pip install git+https://github.com/tcztzy/relatepy
Build requirements:
- C++ compiler support C++17
- Python interpreter and
<Python.h>
headers - zlib
- Any build tools support PEP 517, such as
build
.
CMake is not required since we have Python's build tool chain.
$ git clone https://github.com/tcztzy/relatepy
$ cd relatepy
$ git submodule init
$ # C++20 had a <version> header, so you should remove the version file in gzstream directory
$ rm relate/include/src/gzstream/version
$ pip install build # Any tools support PEP 517 would work
$ pip -m build
Set RELATEPY_RESOURCE_USAGE
to enable the resource usage report (also need --verbosity=DEBUG
).
- Refactoring
- Chunk data
- Manually
- AnnData/Dask chunk
- Paint
- Logically equivalence
- Simplified
- Speed up
- Build topology
- Find equivalent branches
- Get branch length
- Combine sections
- Finalize
- Chunk data
- Visualizing scripting
- Final results plotting
- Effective population size
- Intermediate process plotting
- Painting
- Final results plotting