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

Tagged release and license file #25

Open
npavlovikj opened this issue Apr 20, 2021 · 17 comments
Open

Tagged release and license file #25

npavlovikj opened this issue Apr 20, 2021 · 17 comments

Comments

@npavlovikj
Copy link

Hi,

I would like to create conda package for FeGenie.
In order to do this, having a license file that allows distribution in the repo is required, and having official tagged release is preferable.
Thus, I was wondering if you can add license file, as well as tag a release of FeGenie.

Thank you,
Natasha

@Arkadiy-Garber
Copy link
Owner

Hi Natasha,

That would be great, thanks! I've been interested in making a Conda package for FeGenie, but have not had a chance to do it yet. From my brief perusal of the documentation for it, it seems complicated! If you can do this, I would be happy to include that installation option in the README and documentation, and list you as a FeGenie contributor. Let me know if that is something you would be interested in.

Thanks!
Arkadiy

@npavlovikj
Copy link
Author

Hi Arkadiy,

I contribute to bioconda, conda-forge and our local HPC conda repo, so I would be more than happy to make a recipe for FeGenie. It is nice of you to offer to list me as a contributor, but there is really no need for that - it is an open source community and anyone can modify/fix the recipe later if needed, and that is the nice part of it :)

I went ahead and created a conda recipe for FeGenie that I uploaded to my Anaconda repo. This is not the official package, but I would appreciate if you can give it a try. If you think it works ok, please add license file and a tagged release to the repo, and I will go ahead and add FeGenie to bioconda and share the official install instructions with you.

As of now, if you have Anaconda/Miniconda installed on your computer, you can test the recipe with:

conda create -n fegenie -c conda-forge -c bioconda -c npavlovikj fegenie
conda activate fegenie
FeGenie.py -bin_dir test_dataset/ -bin_ext txt -out test_output -t 1 --makeplots y

As you can see, I used the test in the ci directory and got the expected output.

The hmms and rscripts directories are already set in the conda recipe, and the rscripts and iron_hmms variables are set respectively, so please don't set/pass these arguments to the script unless different directories and files are being used.

Please give the conda package a try, and let me know if you have any questions or issues. Once you add the license file and tag a release, I will add the package to bioconda for official distribution.

Thank you,
Natasha

@npavlovikj
Copy link
Author

Arkadiy, I just saw that you have tagged a release and added the license file - thank you for doing that!

@Arkadiy-Garber
Copy link
Owner

No problem! Thanks so much for making the recipe. This is awesome! So excited to have FeGenie available as a conda package.

I would love to be able to do this myself for the other software repos that I have. Can you please point me towards the conda recipe that you created? I can't seem to find it in your GitHub...would it be in this repo: https://github.com/npavlovikj/bioconda-recipes?

Also, I just tested out this conda package and it works great.

Thanks again!
Arkadiy

@npavlovikj
Copy link
Author

npavlovikj commented Apr 22, 2021

Hi Arkadiy,

Thank you for testing the FeGenie conda package, and I am glad to hear that everything worked well!

Since that is the case, I went ahead and added the recipe for FeGenie to bioconda, and now FeGenie is available as conda package.
To create conda environment with FeGenie, the official step is:
conda create -n fegenie -c conda-forge -c bioconda -c defaults fegenie=1.0

conda-forge, bioconda and defaults are the standard conda channels, and their order in the create/install command matters.
Since I added FeGenie to my conda channel for testing earlier, I went ahead and removed it from there.

The conda recipe for FeGenie can be found here.
I don't know if you have done conda recipes before, but you can find some instructions here, as well as in the bioconda-recipes repo.
Briefly, all the install and setup commands are in build.sh, the tarball and the dependencies are in meta.yaml.
If you look at python.patch, I patched the Python script to make sure that FeGenie.py will always use the Python executable provided in the created conda environment.
This is not mandatory, but it is helpful in avoiding issues when multiple environments and modules are used.

Anyone is welcome to clone the bioconda-recipes repo and modify the FeGenie and any other recipe and contribute to it.
More information about contributing to bioconda can be found here.
One of the main advantages of bioconda is that it automatically updates the versions of the available packages when a new version is released.
For example, next time you publish new tagged release for FeGenie (e.g. v2.0), the bot of bioconda will automatically detect this and create new request with the updated version.
If there are any issues with the build, the recipe will need to be manually looked at, but if everything is ok, then the package can be merged and automatically updated.

I hope this helps!
Please take a look at the recipe and the available package, and let me know if you have any questions.
I am not an expert, but I will try to answer and assist the best I can :)
Again, thank you so much for promptly addressing my request for adding license file and tagged release to the repo!

Thank you,
Natasha

@Arkadiy-Garber
Copy link
Owner

Natasha,

Thank you!! Truly appreciate your help here :)

I will explore all of the files in the conda recipe. Based on what I see there now, and what I glean from the instructions on the conda-forge website, it looks fairly straightforward! That's so cool that anyone can contribute to that and add recipes. Looking forward to getting some of my software up there.

Thanks again for putting together a recipe for FeGenie, and for your thorough and helpful response above. I will reach out if I have any other questions about this (more than likely!), but will try not to bother you too much.

Cheers,
Arkadiy

@Arkadiy-Garber
Copy link
Owner

Hi Natasha,

Are you okay with an acknowledgment in an upcoming FeGenie publication? We would like to acknowledge those that made improvements to FeGenie, and helped to make it more accessible.

Thanks,
Arkadiy

@npavlovikj
Copy link
Author

Hi Arkadiy,

That is really kind of you to consider acknowledging me in your paper, thank you! I am okay with that, and I am looking forward to reading your paper :)

Good luck with the writing and the publication!

Thank you,
Natasha

@Arkadiy-Garber
Copy link
Owner

Great, thanks! We will include you in the Acknowledgments. Thanks again for your help.

Cheers,
Arkadiy

@Arkadiy-Garber
Copy link
Owner

Hi Natasha,

Hope all is well! I just wanted to touch base with a quick question. I user has informed me that FeGenie installed via Conda runs a bit differently than FeGenie that is manually installed from GitHub. So I was wondering whether you might have an insight as to why this is happening. If I make a change to FeGenie through the GitHub repository, does it automatically get pushed to the conda recipe? Seems like it should, but I just wanted to verify with you.

Thanks!
Arkadiy

@npavlovikj
Copy link
Author

Hi Arkadiy,

The bioconda recipe is only automatically updated if you tag an official release in the repo. The release you have here is v1.0 from 6 months ago when I created the recipe, and that is the only version available via conda. If you want the newest changes you have added to the repo to be available as conda package, you will need to make another release. Then, the Bioconda Bot will detect that and regenerate the new package.
I believe that is the reason why FeGenie behaves differently in the two scenarios you mentioned, since the user is using the newest updates when installed directly from the repo. If you want to make another release, please feel free to message me here, so I can check and merge the Bioconda update.

Thank you,
Natasha

@Arkadiy-Garber
Copy link
Owner

Hi Natasha,

Thank you for that explanation! That makes sense. I think I can tag an official release (v1.1), and then notify the user. Do you know how long it should take for the Bioconda Bot to detect this?

Alternatively, if you want to check and merge the Bioconda update, definitely feel free to do so! But I wouldn't want to bug you about this in the future. So going forward, I will just tag a new release whenever there is a significant update.

Thanks again for all your help :)

Cheers,
Arkadiy

@npavlovikj
Copy link
Author

Hi Arkadiy,

I believe the bot checks for updates daily, then it opens PR (https://github.com/bioconda/bioconda-recipes/pulls). After someone merges the PR, the updated package will be available in Bioconda. There is a big Bioconda community, so the PRs (unless there are some failures) are merged fast.
Once you tag a release and the PR is merged, you can see the updated package here (Version and Last Upload).
You can tag a release, but if it is taking too long for the updated package to be available, please let me know, and I can take a look at that :)

Thank you,
Natasha

@Arkadiy-Garber
Copy link
Owner

Hi Natasha,

Thanks for your swift response, and apologies for my delayed response. That totally makes. I will tag a new release now. There's no rush, so no pressure to merge this now. But feel free to do so if you have time :)

Thanks again!
Arkadiy

@npavlovikj
Copy link
Author

Hi Arkadiy,

The updated version of "fegenie", 1.1, is available as conda package now.
Please check it out when you can, and let me know if there are any issues with it.

--
Cheers,
Natasha

@Arkadiy-Garber
Copy link
Owner

Natasha, thank you so much! Your help is much appreciated :)

Happy Halloween,
Arkadiy

@npavlovikj
Copy link
Author

npavlovikj commented Nov 1, 2021

You are welcome, and Happy Halloween as well :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants