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

Nikolaos integration #35

Merged
merged 20 commits into from
Aug 4, 2023
Merged

Nikolaos integration #35

merged 20 commits into from
Aug 4, 2023

Conversation

AleksBekker
Copy link
Owner

@AleksBekker AleksBekker commented Aug 4, 2023

Does #1 #2

I updated several parts of the `CTAInterface` class. First of all, I
made requirements into a variable that is simply set in each
implementation of the class to increase clarity and simplicity. Then, I
modified the outputs of the `convert` method to also allow for returning
a `pandas.DataFrame` to allow for more output variety. Since a
`DataFrame` cannot be comprised of `DataFrame` columns, I had to change
the output of the `annotate` function to a
`dict[str, Series | DataFrame]`

The celltypist interface needed some minor tweaks to increase
its functionality to at least match that of Nikolaos' code. Some minor
refactoring was also required to work with the modified requirements
module. I also added some more documentation for the sake of clarity.

I added one more extra/testenv called `torch38` housing the packages
that require Python 3.8 and torch. This is because torch and SCANVI take
 ~5GB for requirements for every virtual environment it is installed on,
 so it makes sense to only install it in one place.

 I created a `NotNoneRequirement` to require certain parameters to not
 be a `None` value.

 Also, I updated the versions of certain used GitHub actions.

 Finally, I ran `isort` on the `src` and `tests` directories to organize the
 downloads.
It's possible that the new versions of
actions/checkout and actions/setup-python are breaking the GitHub
actions.
The new NotNoneRequirement imported from the `requirements` module it's
in, which caused the error.

I had to wrap all tool interface imports inside try-except-ImportError
clauses to make the modules work when the proper extras are installed.

Also, I increased the versions of the CI back to the latest ones.
Moved configuration from `setup.cfg` to `pyproject.toml` and `.flake8`
This was probably a necessary file
Removing the top-level `__init__.py` did not fix the issue. Trying to
remove package caching to see if this is the issue.
In the main branch where the tests still work, this file is empty, while
the main `__init__.py` is not.
I suspect the error suppression might be interfering with something in
the GitHub actions.
I think the program might be failing to include submodules without this
*.
Some part of `scvi-tools` is not working on windows, and since this
program will most likely be running on a linux machine or container,
we can just remove Windows support.
@AleksBekker AleksBekker added enhancement New feature or request new tool Add a new tool into the MACTA pipeline labels Aug 4, 2023
@AleksBekker AleksBekker self-assigned this Aug 4, 2023
@AleksBekker AleksBekker merged commit a03e599 into main Aug 4, 2023
6 checks passed
@AleksBekker AleksBekker deleted the nikolaos-integration branch August 4, 2023 19:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request new tool Add a new tool into the MACTA pipeline
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant