Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add PySCENIC #50445

Open
wants to merge 50 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
503da2c
adding files
LiliyaBioinf Sep 2, 2024
fb12e0d
Update meta.yaml
LiliyaBioinf Sep 2, 2024
d77b6a1
Update meta.yaml
LiliyaBioinf Sep 2, 2024
a7919aa
Update meta.yaml
LiliyaBioinf Sep 2, 2024
c96f7c3
Delete recipes/pyscenic/build.sh
LiliyaBioinf Sep 2, 2024
bda27f2
Update meta.yaml
LiliyaBioinf Sep 2, 2024
40cafec
Update meta.yaml
LiliyaBioinf Sep 2, 2024
7e781be
Update meta.yaml
LiliyaBioinf Sep 2, 2024
91f1071
Update meta.yaml
LiliyaBioinf Sep 2, 2024
ba4e079
Update meta.yaml
LiliyaBioinf Sep 2, 2024
27d5c50
Update meta.yaml
LiliyaBioinf Sep 3, 2024
630446e
Update meta.yaml
LiliyaBioinf Sep 3, 2024
e64ed57
Update meta.yaml
LiliyaBioinf Sep 3, 2024
39e6142
Merge branch 'master' into master
pcm32 Sep 4, 2024
01766c3
Update meta.yaml
LiliyaBioinf Sep 4, 2024
7e4b20a
Add files via upload
LiliyaBioinf Sep 4, 2024
61e9c0c
Update meta.yaml
LiliyaBioinf Sep 4, 2024
cbb5542
Update build.sh
LiliyaBioinf Sep 4, 2024
c1b0901
Update meta.yaml
LiliyaBioinf Sep 4, 2024
20738d2
Update build.sh
LiliyaBioinf Sep 4, 2024
5af301e
Update meta.yaml
LiliyaBioinf Sep 5, 2024
e38ae0f
Update meta.yaml
LiliyaBioinf Sep 5, 2024
fa8c511
Update build.sh
LiliyaBioinf Sep 5, 2024
73f2370
Update build.sh
LiliyaBioinf Sep 5, 2024
41d453b
Update meta.yaml
LiliyaBioinf Sep 5, 2024
688d373
Update build.sh
LiliyaBioinf Sep 5, 2024
33305a8
Update meta.yaml
LiliyaBioinf Sep 5, 2024
a682b74
Update meta.yaml
LiliyaBioinf Sep 5, 2024
4a6664a
Update meta.yaml
LiliyaBioinf Sep 5, 2024
fcf15bc
Update meta.yaml
LiliyaBioinf Sep 5, 2024
d65d721
Update build.sh
LiliyaBioinf Sep 5, 2024
989524a
Merge branch 'master' into master
pcm32 Sep 6, 2024
cfe4b92
Update meta.yaml
LiliyaBioinf Sep 11, 2024
1af7f2d
Update build.sh
LiliyaBioinf Sep 11, 2024
3e0abb1
Merge branch 'master' into master
pcm32 Sep 11, 2024
e541c22
deleting packeges from conda
LiliyaBioinf Sep 12, 2024
241cfea
error fix
LiliyaBioinf Sep 12, 2024
621e4e2
Removed ctxcore and multiprocessing_on_dill from source
LiliyaBioinf Sep 12, 2024
222e3a5
returned multiprocessing_on_dill
LiliyaBioinf Sep 12, 2024
0d26c18
fix an error
LiliyaBioinf Sep 12, 2024
4efa1f2
Update meta.yaml
LiliyaBioinf Sep 12, 2024
42120e7
test
LiliyaBioinf Sep 17, 2024
9d0b5a2
Update meta.yaml
LiliyaBioinf Sep 17, 2024
61f1c05
Update meta.yaml
LiliyaBioinf Sep 19, 2024
2c107d0
adding patch file
LiliyaBioinf Sep 19, 2024
d8337b2
error fix
LiliyaBioinf Sep 19, 2024
a620bd0
Update build.sh
LiliyaBioinf Sep 19, 2024
7a8e9bd
fix patching
LiliyaBioinf Sep 19, 2024
49f288d
change source file
LiliyaBioinf Sep 22, 2024
70cae7a
Delete recipes/pyscenic/build.sh
LiliyaBioinf Sep 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions recipes/pyscenic/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/bin/bash
set -ex

if [ -z "${PYTHON}" ]; then
PYTHON=$(which python)
fi

for package in arboreto-0.1.6 interlap-0.2.7 multiprocessing_on_dill-3.5.0a4 ctxcore-0.2.0; do
pushd ${SRC_DIR}/${package}

if [ "$package" == "arboreto-0.1.6" ] && [ ! -f requirements.txt ]; then
echo "dask[complete]" > requirements.txt
echo "distributed" >> requirements.txt
echo "numpy>=1.16.5" >> requirements.txt
echo "pandas" >> requirements.txt
echo "scikit-learn" >> requirements.txt
echo "scipy" >> requirements.txt
fi

${PYTHON} -m pip install . --use-pep517 --no-deps --ignore-installed -vv
popd
done

pushd ${SRC_DIR}/pyscenic-0.12.1
${PYTHON} -m pip install . --use-pep517 --no-deps --ignore-installed -vv
popd
87 changes: 87 additions & 0 deletions recipes/pyscenic/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
{% set name = "pyscenic" %}
{% set version = "0.12.1" %}
{% set sha256 = "ae8fafa707d2578ffe08f9eed85f14a4cd9e1b53d57217420e2e956f0a8ddba2" %}

package:
name: "{{ name|lower }}"
version: "{{ version }}"

source:
- url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz"
sha256: "{{ sha256 }}"
folder: pyscenic-0.12.1
- url: "https://files.pythonhosted.org/packages/source/a/arboreto/arboreto-0.1.6.tar.gz"
sha256: "32fdac5e8a3e0ef2e196b5827f067d815ac4e689d2fca0dc437f42abdeeb89ab"
folder: arboreto-0.1.6
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LiliyaBioinf arboreto is available from conda, and as such should be used as a conda dependency. Can you remove it from the sources and add under requirements.run please? Can you do the same with any of the above sources that might also be in conda (usually searching for conda + name of the package should allow you to find them if the exists as conda packages). Thanks!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and of course, if added to the requirements, then shouldn't go in the build.sh.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there was some discussion a while back to add multiprocessing_on_dill to conda-forge , but the upstream maintainers did not approve the PR to add the license. That would need to be resolved in some way so it can be added to conda-forge.

Copy link
Member

@pcm32 pcm32 Sep 12, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe in the meantime multiprocessing_on_dill can be installed through pip so that the community can benefit soon from the pyscenic recipe.

- url: "https://files.pythonhosted.org/packages/source/i/interlap/interlap-0.2.7.tar.gz"
sha256: "31e4f30c54b067c4939049f5d8131ae5e2fa682ec71aa56f89c0e5b900806ec9"
folder: interlap-0.2.7
- url: "https://files.pythonhosted.org/packages/source/m/multiprocessing_on_dill/multiprocessing_on_dill-3.5.0a4.tar.gz"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I mentioned above, the licensing for multiprocessing_on_dill has to be worked out. It should be added to conda-forge rather than bioconda because it's not bioinformatics related.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Working out a license like that could take a long time, in the meantime this could be used like this and possibly improved once that is resolved. There are many packages in bioconda that recourse to pip installing dependencies that are not available in conda, for instance https://github.com/bioconda/bioconda-recipes/blob/def3a07b68330abb40f7650b3747b8bee189ab66/recipes/latch/build.sh

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I see your point. I will get some clarity on this from the core team.

sha256: "d6d50c300ff4bd408bb71eb78725e60231039ee9b3d0d9bb7697b9d0e15045e7"
folder: multiprocessing_on_dill-3.5.0a4
- url: "https://github.com/aertslab/ctxcore/archive/refs/tags/0.2.0.tar.gz"
sha256: "a7ebf0f2625641b76a390993e12042e92fff7d0ac242c7fad5e3bff3ff3cd67a"
folder: ctxcore-0.2.0

build:
number: 0
run_exports:
- "{{ pin_subpackage(name, max_pin='x.x') }}"

requirements:
build:
- "{{ compiler('c') }}"
- "{{ compiler('cxx') }}"
- make
- python >=3.10,<3.11 # Pinning Python version to 3.10
- pip
- setuptools
- wheel
- setuptools_scm

host:
- python >=3.10,<3.11 # Pinning Python version to 3.10
- pip
- setuptools
- wheel

run:
- python >=3.10,<3.11 # Pinning Python version to 3.10
- aiohttp
- attrs
- boltons
- cloudpickle
- cytoolz
- dill
- dask
- distributed
- frozendict
- fsspec
- llvmlite
- loompy
- networkx
- numba >=0.51.2
- numexpr
- pandas >=1.3.5
- pyyaml
- requests
- scikit-learn
- scipy
- tqdm
- umap-learn
- numpy ==1.23.5
- pyarrow

test:
imports:
- pyscenic

about:
home: https://github.com/aertslab/pySCENIC
summary: 'pySCENIC is a python implementation of the SCENIC pipeline'
license: MIT
license_family: MIT

extra:
recipe-maintainers:
- 179018299
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this number refer to?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it was my github id, deleted it