unlhcc / hcc-conda-recipes

Read-only mirror of the HCC conda recipes repo.
http://www.anaconda.org/hcc
BSD 3-Clause "New" or "Revised" License
4 stars 5 forks source link

Fusioncatcher on HCC conda channel #2

Closed ndaniel closed 5 years ago

ndaniel commented 5 years ago

Thanks for the great work done here to get FusionCatcher into conda.

I have not tested the FusionCatcher from Conda but looking here https://github.com/unlhcc/hcc-conda-recipes/tree/master/recipes/fusioncatcher/1.00 I would guess that FusionCatcher would not work properly due to SeqTK. FusionCatcher is using a forked SeqTK (that is https://github.com/ndaniel/seqtk ) and not the official SeqTK (that is https://github.com/lh3/seqtk) and these two are incompatible (and the official SeqTK has never accepted the additions done to the SeqTK in the forked SeqTK as shown here https://github.com/lh3/seqtk/pull/91 ). For more info regarding forked SeqTK and Conda see here: https://github.com/ndaniel/fusioncatcher/issues/20 .

The challenge which I see here is how to get a forked tool (that is https://github.com/ndaniel/seqtk ) in the conda?

matq007 commented 5 years ago

I have tested the tool on your test samples and got the same results as before.

ndaniel commented 5 years ago

Hi,

that is strange because FusionCatcher checks the version of SeqTK when it runs and when it finds the official SeqTK it will stop running (see: https://github.com/ndaniel/fusioncatcher/blob/ac69738901bbefde48b2cf885e3f7875cd42a3e5/bin/fusioncatcher.py#L2331 ). That means that in your tests the forked SeqTK has been used/installed which I guess it is not the intended behavior of conda.

Cheers, Daniel

npavlovikj commented 5 years ago

@ndaniel and @mat - many thanks for the feedback!

@ndaniel , we are actually using the forked SeqTK for "fusioncatcher" as specified in its documentation. We created another recipe for the forked version in our repo/channel, https://github.com/unlhcc/hcc-conda-recipes/blob/master/recipes/seqtk/1.2-r101c. When the highest priority is given to the "hcc" channel, then the forked SeqTK will always be installed. To avoid future confusion, and properly follow the conda standards, I will go ahead and rename our forked SeqTK recipe to "fusioncatcher-seqtk".

conda recipes should be modular, and each dependency should be installed as an independent package. Few dependencies specific for "fusioncahtcher" were missing from the main "bioconda" and "conda-forge" channels when we started this recipe. Due to time constraints we added these missing packages to our "hcc" channel.

@ndaniel , I hope this helps, and if you have any other questions or concerns, please let me know.

npavlovikj commented 5 years ago

The forked SeqTK recipe is now renamed, and it can be found at https://github.com/unlhcc/hcc-conda-recipes/tree/master/recipes/fusioncatcher-seqtk/1.2-r101c. The "fusioncatcher" recipe is updated accordingly, https://github.com/unlhcc/hcc-conda-recipes/tree/master/recipes/fusioncatcher/1.00.

ndaniel commented 5 years ago

Then it looks good for me! Thanks! Daniel

npavlovikj commented 5 years ago

@ndaniel, thank you for modifying the current fusioncatcher recipe!

We were able to add the updated fusioncatcher recipe (and its missing dependencies) to the "conda-forge" and "bioconda" channels. These two channels are ones of the official conda channels, and offer much better maintainability and support.

This is the link to the fusioncatcher bioconda package, https://anaconda.org/bioconda/fusioncatcher, that also includes installation instructions. The fusioncatcher recipe modified per your suggestions can be found here, https://github.com/bioconda/bioconda-recipes/tree/343711b9b0d05374412efaf09725f60a1a83d713/recipes/fusioncatcher.

Another nice thing of having fusioncatcher in bioconda is that anyone can contribute to the available recipes. Next time you want to modify or update fusioncatcher, you can follow the instructions in bioconda for contributing, https://bioconda.github.io/contributing.html, and test and merge the changes yourself.

Since fusioncatcher is officially in bioconda now, you can include this type of installation in your documentation. In the next few days we will remove the fusioncatcher package (and its dependencies) from our "hcc" channel so we don't interfere with the ones already in "bioconda" and "conda-forge".

We hope you find this change beneficial, and please let us know if you have any comments or concerns.

ndaniel commented 5 years ago

@npavlovikj

Thanks!

Just to make sure, if FusionCatcher is in the official bioconda then this will be how the installation should be done

conda config --add channels bioconda
conda config --add channels conda-forge
conda install fusioncatcher
download-db.sh

Right?

npavlovikj commented 5 years ago

@ndaniel , the channel hierarchy "bioconda" follows is: conda-forge -> bioconda -> defaults.

Therefore, fusioncatcher can be installed with: conda config --add channels defaults conda config --add channels bioconda conda config --add channels conda-forge conda create -n fusioncatcher fusioncatcher

After the environment is created, the next steps are: source activate fusioncatcher download-human-db.sh

conda config will permanently add the three channels in the user conda config file. If for some reason the user doesn't want to do this, fusioncatcher can also be installed with: conda create -n fusioncatcher -c conda-forge -c bioconda -c defaults fusioncatcher

Additionally, creating new and clean environment with conda create is recommended over using conda install.

I hope this helps, and please let me know if you have any other questions.

ndaniel commented 5 years ago

@npavlovikj

I added conda installation on main page of FusionCatcher on GitHub and also in the manual.

I will add the same thing on sf.net during the next days.

If you have any comments, suggestions please let me know!

npavlovikj commented 5 years ago

I think that looks good @ndaniel - thanks!

ndaniel commented 5 years ago

Hello,

a new release of FusionCatcher has been released.

I look for the recipe of FusionCatcher in bioconda but for some reason I cannot find it when I fork bioconda here: https://github.com/ndaniel/bioconda-recipes/tree/master/recipes/fusioncatcher and I cannot retrieve it either when using the bioconda master tree here: https://github.com/bioconda/bioconda-recipes/tree/master/recipes/fusioncatcher where I get the error message "Cannot retrieve the latest commit at this time.".

Where exactly the recipe of FusionCatcher should be updated? https://github.com/unlhcc/hcc-conda-recipes/blob/master/recipes/ ?

Thanks!

Cheers, Daniel

On Tue, Feb 19, 2019 at 9:03 AM Natasha Pavlovikj notifications@github.com wrote:

@ndaniel https://github.com/ndaniel, thank you for modifying the current fusioncatcher recipe!

We were able to add the updated fusioncatcher recipe (and its missing dependencies) to the "conda-forge" and "bioconda" channels. These two channels are ones of the official conda channels, and offer much better maintainability and support.

This is the link to the fusioncatcher bioconda package, https://anaconda.org/bioconda/fusioncatcher, that also includes installation instructions. The fusioncatcher recipe modified per your suggestions can be found here, https://github.com/bioconda/bioconda-recipes/tree/343711b9b0d05374412efaf09725f60a1a83d713/recipes/fusioncatcher .

Another nice thing of having fusioncatcher in bioconda is that anyone can contribute to the available recipes. Next time you want to modify or update fusioncatcher, you can follow the instructions in bioconda for contributing, https://bioconda.github.io/contributing.html, and test and merge the changes yourself.

Since fusioncatcher is officially in bioconda now, you can include this type of installation in your documentation. In the next few days we will remove the fusioncatcher package (and its dependencies) from our "hcc" channel so we don't interfere with the ones already in "bioconda" and "conda-forge".

We hope you find this change beneficial, and please let us know if you have any comments or concerns.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/unlhcc/hcc-conda-recipes/issues/2#issuecomment-465010900, or mute the thread https://github.com/notifications/unsubscribe-auth/AAJ2i8aIZwFPgzukwE2IISU5aVis9dmTks5vO6G-gaJpZM4amxuq .

matq007 commented 5 years ago

Hey Daniel,

your fork is 10262 commits behind bioconda:master. You should sync first or just delete your fork and re-fork again. Then you should see the fusioncatcher and can follow these steps: https://bioconda.github.io/updating.html#.