Coder Social home page Coder Social logo

bed_annotation's People

Contributors

almiheenko avatar vladsavelyev avatar

Stargazers

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

Watchers

 avatar  avatar

bed_annotation's Issues

conda install Python version incompatibility

Hello,

Thanks for the great package; I would love to use it. I'm having some issues during install that I believe are all related to a Python version incompatibility issue between dependancies (ngsutils) and bed_annotation.

TL;DR It appears that bed_annotation and versionpy require Python 3.7 or 3.8, while the dependency ngsutils requires Python 2.7. Does anyone have a workaround for this? Would it be possible to update bed_annotation to use another tool?

  1. On Apple M1, install with the basic conda install -c vladsaveliev bed_annotation syntax produces:
`PackagesNotFoundError: The following packages are not available from current channels:

  - bed_annotation

Current channels:

  - https://conda.anaconda.org/vladsaveliev/osx-64
  - https://conda.anaconda.org/conda-forge/osx-64

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.`

Solution: This can be solved by specifying conda install -c vladsaveliev/linux-64 bed_annotation.

  1. Running conda install -c vladsaveliev/linux-64 bed_annotation produces:
`UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - bed_annotation -> python[version='>=3.7,<3.8.0a0|>=3.8,<3.9.0a0']

Your python: python=3.10`

Solution: Easily fixed by creating a conda environment with Python version 3.7 or 3.8.

  1. Installing within a conda environment with Python 3.7 or 3.8 using conda install -c vladsaveliev/linux-64 bed_annotation results in the very ambiguous error:
UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions
  1. My latest attempt was to create a conda environment with Python 3.8 and all of bed_annotation's dependancies installed, with the hope that I could then clone the bed_annotation repository to my computer and put the bed_annotation folder in my Python path. This revealed the dependency incompatibility issue. I found that ngsutils requires Python 2.7:
`UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - ngsutils -> python[version='2.7.*|>=2.7,<2.8.0a0']`

From what I can tell, this might be what is causing the ambiguous error above. Seems like ngsutils is no longer in development, but they may have an updated set of tools available. Thanks for any guidance.

Annotate based on refGene.*.txt.gz

Currently, annotation data has to be initialised in 2 steps:

  1. Make RefSeq_knownGene.*.txt using UCSC browser,
  2. Run generate_refseq_data.py that reads RefSeq_knownGene.*.txt and generates all_features.*.bed.
    After that, annotate_bed.py can use all_features.*.bed to annotate BED files on request.

I want to avoid that initialization step, and store the original RefSeq file that can be directly downloaded from UCSC (http://hgdownload.cse.ucsc.edu/goldenPath/hg19/database/refGene.txt.gz, and same for hg38). This file can be more easily supported and updated (RefSeq has a new release every day), and I can integrate annotation into BCBio and use their cool system to update reference data.

So I want annotate_bed.py to be able to work directly from refGene.*.txt.gz. The files are already downloaded, and I created function get_refseq_gene(genome) in __init__.py that returns the path.

Since the file is gzipped, probably it can be tabixed and used more effectively to annotate. Currently annotate_bed.py uses all_features.*.bed that is sorted so bedtools intersect can work fast, but it shouldn't be such easy with refGene.*.txt.gz.

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.