Giter Site home page Giter Site logo

.name attribute about pybedtools HOT 7 CLOSED

daler avatar daler commented on July 28, 2024
.name attribute

from pybedtools.

Comments (7)

daler avatar daler commented on July 28, 2024

GFF definition doesn't have mandatory attribute fields, so we can't assume ID. However, many of the files I use do have ID, and it would be convenient to have available as .name. Can we use the cython equivalent of "try/except KeyError" for this?

GTF requires both 'gene_id' and 'transcript_id' fields in the attributes. So in this case a single .name field doesn't make sense.

VCF . . . I'm not very familiar with the format but it looks like no required attributes either.

from pybedtools.

brentp avatar brentp commented on July 28, 2024

i added so it checks a few keys here:
brentp@47f2a03

and for VCF, just use chr:start

and see the comment. so maybe we can do:

b = BedTool('a.bed', name_key='transcript_id')

then b.name uses 'transcript_id' to look up the name.

from pybedtools.

daler avatar daler commented on July 28, 2024

good idea with the hierarchy of possible name attributes. this returns None for GFF lines without one of those attrs, right?

i like this combined with the idea of setting an optional name key -- sensible defaults, but flexibility for the power users

from pybedtools.

brentp avatar brentp commented on July 28, 2024

aye, it returns None for now if not found.
what's the right thing to do there?
i dont think raising a KeyError is the right thing.

from pybedtools.

daler avatar daler commented on July 28, 2024

yeah, i think None is the pythonic thing to do (i was just confirming) . . . and i agree that raising KeyError would be annoying.

from pybedtools.

daler avatar daler commented on July 28, 2024

closing this issue (it works and we have tests for it)

from pybedtools.

brentp avatar brentp commented on July 28, 2024

re-opening as i want to remember implement getting column 3 for vcf files. something like:

return "%s:%s" % (fields[0], fields[1]) if fields[2] in (".", "") else fields[2]

http://www.1000genomes.org/node/101

from pybedtools.

Related Issues (20)

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.