-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
phytop #52176
base: master
Are you sure you want to change the base?
phytop #52176
Conversation
📝 WalkthroughWalkthroughThis pull request introduces two new files for the Possibly related PRs
Suggested labels
Suggested reviewers
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Outside diff range and nitpick comments (3)
recipes/phytop/meta.yaml (3)
17-17
: Remove commented build stringThe commented build string
#string: pyhdfd78af_0
appears to be unnecessary and should be removed.- #string: pyhdfd78af_0
146-154
: Consider adding version constraints for runtime dependenciesWhile the runtime dependencies list looks appropriate, consider adding version constraints for critical dependencies to ensure compatibility. This is especially important for libraries like numpy and scipy that may have breaking changes between versions.
run: - python >=3.8 - - biopython - - matplotlib + - biopython >=1.81 + - matplotlib >=3.7 - networkx - lazy-property - ete3 - - numpy - - scipy + - numpy >=1.24 + - scipy >=1.10
155-155
: Remove trailing whitespaceRemove trailing whitespace from line 155 for consistency.
🧰 Tools
🪛 yamllint
[error] 155-155: trailing spaces
(trailing-spaces)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
recipes/phytop/build.sh
(1 hunks)recipes/phytop/meta.yaml
(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- recipes/phytop/build.sh
🧰 Additional context used
🪛 yamllint
recipes/phytop/meta.yaml
[error] 155-155: trailing spaces
(trailing-spaces)
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
🔇 Additional comments (1)
recipes/phytop/meta.yaml (1)
15-17
: Verify the entry point's module path
Please verify that src.plot:main
is the correct module path for the entry point. The module should exist in the package's source code.
#!/bin/bash
# Check if the entry point module exists in the source code
echo "Checking for src/plot.py..."
fd -e py "plot.py$" | grep -l "def main"
recipes/phytop/meta.yaml
Outdated
- lazy-property=0.0.1=pyh9f0ad1d_0 | ||
- lcms2=2.12=hddcbb42_0 | ||
- ld_impl_linux-64=2.40=h41732ed_0 | ||
- lerc=3.0=h9c3ff4c_0 | ||
- libblas=3.9.0=17_linux64_openblas | ||
- libbrotlicommon=1.0.9=h166bdaf_8 | ||
- libbrotlidec=1.0.9=h166bdaf_8 | ||
- libbrotlienc=1.0.9=h166bdaf_8 | ||
- libcblas=3.9.0=17_linux64_openblas | ||
- libclang=11.1.0=default_ha53f305_1 | ||
- libdeflate=1.10=h7f98852_0 | ||
- libedit=3.1.20191231=he28a2e2_2 | ||
- libevent=2.1.10=h9b69904_4 | ||
- libexpat=2.5.0=hcb278e6_1 | ||
- libffi=3.3=h58526e2_2 | ||
- libgcc-ng=13.1.0=he5830b7_0 | ||
- libgfortran-ng=13.1.0=h69a702a_0 | ||
- libgfortran5=13.1.0=h15d22d2_0 | ||
- libglib=2.68.4=h3e27bee_0 | ||
- libgomp=13.1.0=he5830b7_0 | ||
- libiconv=1.17=h166bdaf_0 | ||
- liblapack=3.9.0=17_linux64_openblas | ||
- libllvm11=11.1.0=he0ac6c6_5 | ||
- libogg=1.3.4=h7f98852_1 | ||
- libopenblas=0.3.23=pthreads_h80387f5_0 | ||
- libopus=1.3.1=h7f98852_1 | ||
- libpng=1.6.39=h753d276_0 | ||
- libpq=13.8=hd77ab85_0 | ||
- libsqlite=3.42.0=h2797004_0 | ||
- libstdcxx-ng=13.1.0=hfd8a6a1_0 | ||
- libtiff=4.3.0=h0fcbabc_4 | ||
- libuuid=2.38.1=h0b41bf4_0 | ||
- libvorbis=1.3.7=h9c3ff4c_0 | ||
- libwebp-base=1.3.0=h0b41bf4_0 | ||
- libxcb=1.15=h0b41bf4_0 | ||
- libxkbcommon=1.0.3=he3ba5ed_0 | ||
- libxml2=2.9.10=h72842e0_4 | ||
- libxslt=1.1.33=h15afd5d_2 | ||
- libzlib=1.2.13=h166bdaf_4 | ||
- lxml=4.8.0=py38h0a891b7_3 | ||
- matplotlib=3.7.1=py38h578d9bd_0 | ||
- matplotlib-base=3.7.1=py38hd6c3c57_0 | ||
- munkres=1.1.4=pyh9f0ad1d_0 | ||
- mysql-common=8.0.32=h14678bc_0 | ||
- mysql-libs=8.0.32=h54cf53e_0 | ||
- ncurses=6.4=hcb278e6_0 | ||
- networkx=3.1=pyhd8ed1ab_0 | ||
- nspr=4.35=h27087fc_0 | ||
- nss=3.89=he45b914_0 | ||
- numpy=1.24.3=py38h59b608b_0 | ||
- olefile=0.46=pyh9f0ad1d_1 | ||
- openjpeg=2.5.0=h7d73246_0 | ||
- openssl=1.1.1u=hd590300_0 | ||
- packaging=23.1=pyhd8ed1ab_0 | ||
- pcre=8.45=h9c3ff4c_0 | ||
- pillow=8.4.0=py38h8e6f84c_0 | ||
- pip=23.1.2=pyhd8ed1ab_0 | ||
- platformdirs=3.5.3=pyhd8ed1ab_0 | ||
- pooch=1.7.0=pyha770c72_3 | ||
- pthread-stubs=0.4=h36c2ea0_1001 | ||
- pyparsing=3.0.9=pyhd8ed1ab_0 | ||
- pyqt=5.12.3=py38h578d9bd_8 | ||
- pyqt-impl=5.12.3=py38h0ffb2e6_8 | ||
- pyqt5-sip=4.19.18=py38h709712a_8 | ||
- pyqtchart=5.12=py38h7400c14_8 | ||
- pyqtwebengine=5.12.1=py38h7400c14_8 | ||
- pysocks=1.7.1=py38h578d9bd_5 | ||
- python=3.8.8=hffdb5ce_0_cpython | ||
- python-dateutil=2.8.2=pyhd8ed1ab_0 | ||
- python_abi=3.8=3_cp38 | ||
- qt=5.12.9=hda022c4_4 | ||
- readline=8.2=h8228510_1 | ||
- requests=2.31.0=pyhd8ed1ab_0 | ||
- scipy=1.10.1=py38h59b608b_3 | ||
- setuptools=67.7.2=pyhd8ed1ab_0 | ||
- six=1.16.0=pyh6c4a22f_0 | ||
- sqlite=3.42.0=h2c6b66d_0 | ||
- tk=8.6.12=h27826a3_0 | ||
- tornado=6.3.2=py38h01eb140_0 | ||
- typing-extensions=4.6.3=hd8ed1ab_0 | ||
- typing_extensions=4.6.3=pyha770c72_0 | ||
- unicodedata2=15.0.0=py38h0a891b7_0 | ||
- urllib3=2.0.3=pyhd8ed1ab_0 | ||
- wheel=0.40.0=pyhd8ed1ab_0 | ||
- xorg-kbproto=1.0.7=h7f98852_1002 | ||
- xorg-libice=1.1.1=hd590300_0 | ||
- xorg-libsm=1.2.4=h7391055_0 | ||
- xorg-libx11=1.8.5=h8ee46fc_0 | ||
- xorg-libxau=1.0.11=hd590300_0 | ||
- xorg-libxdmcp=1.1.3=h7f98852_0 | ||
- xorg-libxext=1.3.4=h0b41bf4_2 | ||
- xorg-libxrender=0.9.10=h7f98852_1003 | ||
- xorg-renderproto=0.11.1=h7f98852_1002 | ||
- xorg-xextproto=7.3.0=h0b41bf4_1003 | ||
- xorg-xproto=7.0.31=h7f98852_1007 | ||
- xz=5.2.6=h166bdaf_0 | ||
- zipp=3.15.0=pyhd8ed1ab_0 | ||
- zlib=1.2.13=h166bdaf_4 | ||
- zstd=1.5.2=h3eb15da_6 | ||
- setuptools |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Simplify build requirements
The build requirements section is overly specific and includes many unnecessary dependencies. For a Python package that uses setuptools, you typically only need:
python
setuptools
- Any build-time dependencies required by setup.py
Consider simplifying to:
build:
- - biopython=1.81=py38h1de0b5d_0
- - ca-certificates=2023.5.7=hbcca054_0
[... remove all other specific versions ...]
+ - python
+ - setuptools
Also, remove the duplicate setuptools
entry at line 145.
Committable suggestion skipped: line range outside the PR's diff.
recipes/phytop/meta.yaml
Outdated
about: | ||
home: https://github.com/zhangrengang/phytop/ | ||
description: "Phytop: A tool for visualizing and recognizing signals of incomplete lineage sorting and hybridization using species trees output from ASTRAL" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Add missing metadata fields
The about section should include additional metadata fields such as:
license
: The software licenselicense_file
: Path to the license filedoc_url
: URL to documentationdev_url
: URL to development repository
about:
home: https://github.com/zhangrengang/phytop/
description: "Phytop: A tool for visualizing and recognizing signals of incomplete lineage sorting and hybridization using species trees output from ASTRAL"
+ license: # Add appropriate license
+ license_file: # Add path to license file
+ doc_url: # Add documentation URL if available
+ dev_url: # Add development repository URL
Committable suggestion skipped: line range outside the PR's diff.
source: | ||
url: https://github.com/shang-hongyun/phytop/archive/refs/tags/{{ version }}.tar.gz | ||
sha256: {{ sha256 }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Source repository URL needs to be updated
The source URL should point to zhangrengang/phytop
instead of shang-hongyun/phytop
. This is evident because:
- The homepage URL points to
zhangrengang/phytop
- The package description indicates it's a tool for visualizing phylogenetic signals, which matches with the description in
zhangrengang/phytop
- The
shang-hongyun
repository appears to be a fork or mirror that might not be maintained
🔗 Analysis chain
Verify the correct source repository
The source URL points to shang-hongyun/phytop
while the homepage URL points to zhangrengang/phytop
. Please verify if this is a fork or if one of these URLs needs to be updated.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if both repositories exist and their relationship
for repo in "shang-hongyun/phytop" "zhangrengang/phytop"; do
echo "Checking $repo..."
gh repo view $repo --json name,isArchived,isFork,parent 2>/dev/null
done
Length of output: 201
Script:
#!/bin/bash
# Let's try a different approach to verify the repositories
# First, let's check the meta.yaml file to get all URLs
cat recipes/phytop/meta.yaml
# Then let's check if we can find any references to either username in the codebase
echo -e "\nSearching for repository references:"
rg -i "shang-hongyun|zhangrengang" recipes/phytop/
Length of output: 5400
Describe your pull request here
Please read the guidelines for Bioconda recipes before opening a pull request (PR).
General instructions
@BiocondaBot please add label
command.@bioconda/core
in a comment.Instructions for avoiding API, ABI, and CLI breakage issues
Conda is able to record and lock (a.k.a. pin) dependency versions used at build time of other recipes.
This way, one can avoid that expectations of a downstream recipe with regards to API, ABI, or CLI are violated by later changes in the recipe.
If not already present in the meta.yaml, make sure to specify
run_exports
(see here for the rationale and comprehensive explanation).Add a
run_exports
section like this:with
...
being one of:{{ pin_subpackage("myrecipe", max_pin="x") }}
{{ pin_subpackage("myrecipe", max_pin="x.x") }}
{{ pin_subpackage("myrecipe", max_pin="x.x") }}
(in such a case, please add a note that shortly mentions your evidence for that){{ pin_subpackage("myrecipe", max_pin="x.x.x") }}
(in such a case, please add a note that shortly mentions your evidence for that){{ pin_subpackage("myrecipe", max_pin=None) }}
while replacing
"myrecipe"
with eithername
if aname|lower
variable is defined in your recipe or with the lowercase name of the package in quotes.Bot commands for PR management
Please use the following BiocondaBot commands:
Everyone has access to the following BiocondaBot commands, which can be given in a comment:
@BiocondaBot please update
@BiocondaBot please add label
please review & merge
label.@BiocondaBot please fetch artifacts
You can use this to test packages locally.
Note that the
@BiocondaBot please merge
command is now depreciated. Please just squash and merge instead.Also, the bot watches for comments from non-members that include
@bioconda/<team>
and will automatically re-post them to notify the addressed<team>
.