diff --git a/README.md b/README.md index 27e8fc7..ee167f2 100755 --- a/README.md +++ b/README.md @@ -32,6 +32,38 @@ pip install . cd ../perturbot pip install . ``` +## Patch applied +1. Execute the commands in the Installation section of the repo + +2. At that point `perturbot` is almost empty (only __init__ and utils), to fix that, go into Perturb-OT/perturbot/perturbot, copy all submodules and paste them inside the Perturb-OT/perturbot/build/lib/perturbot folder. +```bash +cp -r perturbot/perturbot/. perturbot/build/lib/perturbot/ +``` + +3. Now uninstall and reininstall `perturbot` specifically: +```bash +pip uninstall perturbot +cd perturbot/ +pip install . +``` + +At this point `perturbot.match` **should work** when imported. **However** you'll likely hit dependency issues regarding **jax and anndata**: + +### Fixing `jaxlib.xla_extension` error +1. What's happening is some good old mismatch between the code in some depedencies and the updated API of JAX 0.8.0 +```bash +pip install "jax[cpu]==0.4.36" "jax[cuda]==0.4.36" "jaxlib==0.4.36" +``` + +That should solve it. + +### Fixing `anndata` errors +1. The importing dynamics of anndata slightly changed in recent versions which makes it no longer possible to import read at the very top level so to keep dependency code as is we need to downgrade to an anndata version that supported it: +```bash +pip install "anndata==0.10.9" +``` + +**That should be it ! Both perturbot.match and perturbot.predict should be importable now :D !** ## Usage ```python