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 72 commits into
base: master
Choose a base branch
from
Open
Changes from 59 commits
Commits
Show all changes
72 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
e94e23d
deleted connection
LiliyaBioinf Sep 26, 2024
1d420f6
change path
LiliyaBioinf Sep 26, 2024
cceb927
Update meta.yaml
LiliyaBioinf Sep 26, 2024
a7b15b1
Update dill_patch.patch
LiliyaBioinf Sep 26, 2024
3078e4f
Update meta.yaml
LiliyaBioinf Sep 26, 2024
b4d55d9
Delete recipes/pyscenic/dill_patch.patch
LiliyaBioinf Sep 26, 2024
fd83fbc
Update meta.yaml
LiliyaBioinf Sep 26, 2024
fe2166e
fix asincio error
LiliyaBioinf Sep 26, 2024
ace7c98
Update meta.yaml
LiliyaBioinf Sep 26, 2024
f68cace
Add files via upload
LiliyaBioinf Sep 26, 2024
addf656
Update meta.yaml
LiliyaBioinf Sep 26, 2024
fab1f61
test patching with sh script
LiliyaBioinf Oct 1, 2024
c3de49f
Update meta.yaml with patch in sh
LiliyaBioinf Oct 1, 2024
37f36ee
Update build.sh
LiliyaBioinf Oct 1, 2024
129ffad
Update meta.yaml
LiliyaBioinf Oct 1, 2024
3798d9a
Update meta.yaml
LiliyaBioinf Oct 1, 2024
279610b
Delete recipes/pyscenic/build.sh
LiliyaBioinf Oct 1, 2024
b203376
Update meta.yaml
LiliyaBioinf Oct 1, 2024
1aa4448
Update dill_patch.patch
LiliyaBioinf Oct 2, 2024
e84caeb
Update dill_patch.patch
LiliyaBioinf Oct 2, 2024
1264133
clean up recipe, pin python to >=3.6
mencian Oct 3, 2024
5d2ed24
Merge branch 'master' into master
mencian Oct 3, 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
72 changes: 72 additions & 0 deletions recipes/pyscenic/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{% 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 }}"
- path: dill_patch.patch

build:
number: 0
noarch: python
run_exports:
- "{{ pin_subpackage(name, max_pin='x.x') }}"
script: "{{ PYTHON }} -m pip install . -vv"

requirements:
build:
- python >=3.10,<3.11
- pip
- setuptools
- wheel

host:
- python >=3.10,<3.11
- pip
- setuptools
- wheel

run:
- python >=3.10,<3.11
- aiohttp
- arboreto
- attrs
- boltons
- cloudpickle
- cytoolz
- dill
- dask >=2023.4.1
- distributed >=2023.4.1,<2023.5.0
- 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
- interlap
- ctxcore

Copy link
Contributor

@coderabbitai coderabbitai bot Sep 26, 2024

Choose a reason for hiding this comment

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

⚠️ Potential issue

Review and update dependency specifications.

  1. The multiprocessing_on_dill package is missing from the dependencies. As discussed in the past comments, this package has licensing issues. Consider one of the following options:
    a. Work with the upstream authors to resolve the licensing issue and add it to conda-forge.
    b. Include it as a pip-installed dependency in the build script, although this is not preferred by the Bioconda team.
    c. Find an alternative solution that doesn't require this package.

  2. The numpy version is pinned to a specific version (1.23.5), which might be too restrictive. Consider allowing a range of compatible versions instead.

  3. Some other dependencies might benefit from more flexible version constraints. Review each dependency and consider if strict version pinning is necessary.

Suggested changes:

+    - multiprocessing_on_dill  # TODO: Resolve licensing issue and add to conda-forge
-    - numpy ==1.23.5
+    - numpy >=1.23.5,<2

Please choose the most appropriate solution for handling the multiprocessing_on_dill dependency based on the options provided above.

Committable suggestion was skipped due to low confidence.

Copy link
Contributor

Choose a reason for hiding this comment

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

@coderabbitai Item 1, the multiprocessing_on_dill import is replaced by multiprocessing in the patch, dill_patch.patch. multiprocessing_on_dill should not need to be in the dependencies.

Copy link
Contributor

Choose a reason for hiding this comment

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

@aliciaaevans Thank you for the clarification. You're right, since multiprocessing_on_dill has been replaced with multiprocessing in the patch dill_patch.patch, there's no need to include multiprocessing_on_dill in the dependencies. I'll note this for future reviews.

(_/)
( •_•)
/ >💡


✏️ Learnings added
Learnt from: aliciaaevans
PR: bioconda/bioconda-recipes#50445
File: recipes/pyscenic/meta.yaml:35-64
Timestamp: 2024-10-03T18:16:54.451Z
Learning: In the `pyscenic` recipe, `multiprocessing_on_dill` has been replaced with the standard `multiprocessing` module via `dill_patch.patch`, so `multiprocessing_on_dill` is no longer a required dependency.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Review and update dependency specifications.

The requirements section is well-structured, but there are some points to consider:

  1. The Python version constraint (>=3.10,<3.11) might be too restrictive. Consider allowing a broader range of Python versions if possible.

  2. Some version constraints might be unnecessarily strict:

    • numpy is pinned to ==1.23.5
    • distributed is constrained to >=2023.4.1,<2023.5.0
  3. The multiprocessing_on_dill package is missing from the dependencies. As discussed in the past comments, this package has licensing issues.

Consider the following changes:

- python >=3.10,<3.11
+ python >=3.10
- numpy ==1.23.5
+ numpy >=1.23.5
- distributed >=2023.4.1,<2023.5.0
+ distributed >=2023.4.1

Regarding multiprocessing_on_dill:

  1. Work with the upstream authors to resolve the licensing issue and add it to conda-forge.
  2. If the above is not possible in the short term, consider including it as a pip-installed dependency in the build script, although this is not preferred by the Bioconda team.
  3. Investigate if there's an alternative solution that doesn't require this package.

Would you like assistance in implementing these changes or investigating alternatives for multiprocessing_on_dill?

Committable suggestion was skipped due to low confidence.

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
Loading