Giter Site home page Giter Site logo

conda-recipes's Introduction

This repository is DEPRECATED. We recommend you submit your recipes to bioconda or conda-forge

Conda Recipes

Travis Build Status

Conda is a package manager application that quickly installs, runs, and updates packages and their dependencies. It is designed to be Python agnostic and to manage complex dependencies. It can essentially handle any type of packages and their dependencies in an isolated virtual environment.

This repository hosts conda recipes for various biocore packages or dependencies. The idea is to make bioinformatics tools readily installable and host them on anaconda cloud.

This will make software installation much easier for users with or without much command line experience.

Currently, the packages (and their versions) are built and available on the anaconda organization named biocore

To install a package, you just need to run:

conda install -c biocore -c bioconda -c conda-forge <package-name>

This installation command tries to install the package from the previous channel; if not found, it then tries to install from the following packages. We order the channels from more specific to more general channels. No endless headache of time-consuming compilation and missing dependecies any more!

Create a new conda recipe

To add a new package to the pool, you need to create a recipe to tell conda how to build it.

How to create a recipe is documented on conda's website.

You can also borrow from the examples located in this repository: recipes. There are also lots of examples in conda's conda-recipes repository.

Modify an existing conda recipe

If you modified an existing recipe in this repository and would like to merge it back, you should increment the build number by one in order to trigger a package rebuild. This is not necessary if the package version is changing, and you will need to add the build number section to the meta.yaml file if it doesn't already exist.

For example, if the current recipe has this in the meta.yaml:

build:
  number: 1

you should change it to the following after you modify it:

build:
  number: 2

If there is no such section in meta.yaml, the build number defaults to zero. You should set it to 1 after modifying it. Please see the documentation here

Build a conda package

You need to install the following mandatory toolset before building a package.

conda install anaconda-client
conda install conda-build

Once you install the toolset and create your recipe, you can build the package with the following command:

conda build <recipe-directory>

Please see the conda build docs for further information.

Upload a conda package

To upload your built package to anaconda for others to download and install, you need to create an account here.

You will need to login with your account credentials you just created:

anaconda login

And use this command to upload:

anaconda upload <path-to-your-conda-package.tar.bz2>

You can find the path to the built package with following commands:

cd conda build . --output

Now other people can download and install your package (given it is public):

conda install -c <your-channel> <package-name>

Contribute your recipes to this repo

We encourage you to add your new recipe into this repo. Each recipe should be in its own directory under recipes. Once you issue a pull request to merge your recipe into this repo, a Travis continuous integration (CI) will run and test your recipe by building the package and uploading it to biocore. If the Travis build succeeds, congrats! Your package will be available to download and install from biocore.

conda-recipes's People

Contributors

colinbrislawn avatar ekopylova avatar eldeveloper avatar jorge-c avatar mortonjt avatar rnaer avatar sjanssen2 avatar thermokarst avatar wasade avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

conda-recipes's Issues

QIIME 1.9.1

...or would that be an insane request? It'd be nice if anything to lower Travis deployment times

add Trimmomatic

provides a lot of useful functionality for processing illumina reads so may be useful

blastlegacy BLASTMAT

I am using blastlegacy for the new recipe "psipred". When I execute blastpgp it complains about missing BLOSSUM62 files. One need to point blast to the according file by setting the environment variable BLASTMAT to the correct dir.
Looks like this var is not set after installing blastlegacy via conda. Could someone else please doublecheck?!

Testing

It'd be nice to have travis building every package as CI, and if successful uploading binaries to binstar.

Upload conflicts

Looks like Travis fails whenever a new recipe is merged in, because the two different unix versions try to upload the same package at the same time with the result that one job fails and the other passes.
Can we do something about that?

build fails (Unifrac + seppgg)

Hi think the issue is that the check for presence of the package in the anaconda cloud exists with a status != 0 (because those new packages are not present) which then is interpreted picked up by the python calling function as an error (rather than an information) cause it to stop the program :-/

conda-recipes/ci/main.py function is_not_uploaded line 102

FastTree is not compiled for RHEL6

(q2-2017.2) 06:17:48 (dtmcdonald@barnacle):quality-comparison$ FastTree
FastTree: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by FastTree)
(q2-2017.2) 06:17:51 (dtmcdonald@barnacle):quality-comparison$ conda list FastTree
# packages in environment at /home/mcdonadt/miniconda3/envs/q2-2017.2:
#
fasttree                  2.1.8                         0    biocore

PR-specific travis CI

Ideally, we should only run the test the recipes that are changed in a pull request. building can take a long time, especially when large number of recipes are accumulated in the future.

Windows testing

OSX and linux are already taken care of, via travis-ci. We still need windows, probably via appveyor (see here).

URGENT: Error in conda import

I'm getting the following error in the deblur PR

Traceback (most recent call last):
  File "ci/main.py", line 9, in <module>
    from conda_build.config import config
ImportError: cannot import name 'config'

@Jorge-C , @RNAer any idea what is happening?

another bug :-(

When there are multiple builds on anaconda, the json you get from conda search is:

$ conda search --json --override-channels -c biocore --spec minced
{
  "minced": [
    {
      "arch": "x86_64", 
      "binstar": {
        "channel": "main", 
        "owner_id": "5621521bab59360b0dd04062", 
        "package_id": "562ee7589c73334dd79f873d"
      }, 
      "build": "0", 
      "build_number": 0, 
      "channel": "biocore", 
      "depends": [], 
      "extracted": true, 
      "features": [], 
      "fn": "minced-0.2.0-0.tar.bz2", 
      "full_channel": "https://conda.anaconda.org/t/ze-370af1ae-c3ae-439e-8821-1bfc65bfc225/biocore/osx-64/", 
      "installed": false, 
      "license": "GPL3", 
      "machine": "x86_64", 
      "md5": "9c226498c33a4b2d4463620be45e6b9c", 
      "name": "minced", 
      "operatingsystem": "darwin", 
      "platform": "osx", 
      "requires": [], 
      "size": 485165, 
      "subdir": "osx-64", 
      "target-triplet": "x86_64-any-darwin", 
      "type": null, 
      "version": "0.2.0"
    }, 
    {
      "arch": "x86_64", 
      "binstar": {
        "channel": "main", 
        "owner_id": "5621521bab59360b0dd04062", 
        "package_id": "562ee7589c73334dd79f873d"
      }, 
      "build": "1", 
      "build_number": 1, 
      "channel": "biocore", 
      "depends": [], 
      "extracted": false, 
      "features": [], 
      "fn": "minced-0.2.0-1.tar.bz2", 
      "full_channel": "https://conda.anaconda.org/t/ze-370af1ae-c3ae-439e-8821-1bfc65bfc225/biocore/osx-64/", 
      "installed": false, 
      "license": "GPL3", 
      "machine": "x86_64", 
      "md5": "dd157e7eaaf6c607740e471253bd4c19", 
      "name": "minced", 
      "operatingsystem": "darwin", 
      "platform": "osx", 
      "requires": [], 
      "size": 485339, 
      "subdir": "osx-64", 
      "target-triplet": "x86_64-any-darwin", 
      "type": null, 
      "version": "0.2.0"
    }
  ]
}

This will cause Travis to upload an existing build even the build number is not incremented. The offending line is this

Migrate psipred conda recipe to bioconda ?

Hi,

I am currently writing the conda recipe for the RREfinder tool (https://github.com/Alexamk/RREFinder). This tool requires psipred (http://bioinf.cs.ucl.ac.uk/psipred/) for which you offer the conda recipe and the conda package via the biocore channel.

However, in bioconda, all dependencies must come from the following conda channels: defaults, conda-forge, bioconda. Therefore, I still miss the psipred dependency to build the RRefinder bioconda package: bioconda/bioconda-recipes#33650

I saw that you intended to migrate the psipred conda recipe to bioconda: #62 (comment)
Is this possible? That would be great and that would solve my dependency problem!

Tell me if I can help in any way!
I can open a new PR in bioconda with a recipe largely inspired by yours, if you want, but you are more legitimate than I am to do so :-)

Regards,

Loraine

Can't install prodigal

Got this error when trying to install prodigal

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/mortonjt/Documents/micronota/micronota/bfillings/tests/test_prodigal.py", line 75, in test_predict_genes_wrong_input
    predict_genes(fp, self.temp_dir, 'foo')
AssertionError: "Sequence read failed \(file must be Fasta, Genbank, or EMBL format\)." does not match "Unacceptable application exit status: 1
Command:
cd "/home/mortonjt/Documents/micronota/micronota/bfillings/"; prodigal -d "/tmp/tmpei3o_9q3/foo.fna" -i "/home/mortonjt/Documents/micronota/micronota/bfillings/tests/data/empty" -o "/tmp/tmpei3o_9q3/foo.gbk" -a "/tmp/tmpei3o_9q3/foo.faa" > "/tmp/tmpFQMWrZcnRv8owY5dGdxd.txt" 2> "/tmp/tmpIUmEUFyqgxMcDOnPgbrt.txt"
StdOut:

StdErr:
prodigal: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by prodigal)

add qiime2

The future is arriving! And when it comes, it should be in a conda package. ๐Ÿ ๐Ÿ“ฆ

I'll take this one, and make sure it stays up and running throughout development. @gregcaporaso already got it building in travis.

Add legacy blast

The repo tagline reads

bioinformatic tools like blast+...

What version of blast would be useful?

  • BLAST+: ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/
  • legacy BLAST: ftp://ftp.ncbi.nlm.nih.gov/blast/executables/release/LATEST/

Add muscle

Need to check muscle license...
Should ask Robert Edgar for permission too.

Build fails if package is already present in the anaconda channel

Not sure what's happening b/c if it was already present it shouldn't try building it either.

2015-11-05 03:05:26,938 INFO: Uploading: anaconda -t {token} upload -u {channel} {built}

Using anaconda-server api site https://api.anaconda.org

detecting package type ...

conda

extracting package attributes for upload ...

done

Uploading file biocore/minced/0.2.0/osx-64/minced-0.2.0-1.tar.bz2 ... 

Distribution already exists. Please use the -i/--interactive or --force options or `anaconda remove biocore/minced/0.2.0/osx-64/minced-0.2.0-1.tar.bz2`

[Conflict] (u'file osx-64/minced-0.2.0-1.tar.bz2 already exists for package minced version 0.2.0', 409)

Traceback (most recent call last):

  File "ci/main.py", line 133, in <module>

    build_upload_recipes(sys.argv[1], sys.argv[2])

  File "ci/main.py", line 50, in build_upload_recipes

    upload(name, version, channel)

  File "ci/main.py", line 129, in upload

    shell=True)

  File "/Users/travis/miniconda/lib/python2.7/subprocess.py", line 540, in check_call

    raise CalledProcessError(retcode, cmd)

subprocess.CalledProcessError: Command 'anaconda -t ze-b2e094e1-af48-4b13-a678-ac6f0e5e9581 upload -u biocore /Users/travis/miniconda/conda-bld/osx-64/minced-0.2.0-1.tar.bz2' returned non-zero exit status 1

The command "python ci/main.py recipes biocore" exited with 1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.