Comments (8)
Dropping a link to the GenBank spec here: https://www.ncbi.nlm.nih.gov/genbank/release/current/
from poly.
That's a neat looking format 🤔
Happy to take a whack at a rewrite.
A few questions:
- Do we want to incrementally rewrite this? For instance, starting with just parsing a genbank file? Would a good place to start be with just the info in the header? This way, we can discuss what error handling looks like, how we want things organized, setting the tone for how we want to parse the rest of the info, etc.
- Do we want to start with the latest version of the spec? Or do we want to build out the backwards compatibility for spec breaking changes along the way?
from poly.
- I actually just kinda went at it, but would be happy to take a step back and replan - I've definitely noticed some weaknesses in my approach. I'll clean up the code and get it in committable state for just the header!
- I was targeting the latest version of the spec in my approach, but unsure what the best approach is of the two options you present.
from poly.
re 1.
Oh nice! I don't want to step on your toes- so no pressure. Maybe there's room to divy up different parts of the spec after establishing how the header will be parsed? If so, I'd be happy to help with that!
Also, if it is inappropriate to divy up the work, I'd be happy to help build out 400 instead. That or any other issue that would help out Poly that is higher priority and or high difficulty.
re 2.
I think targeting the latest version of the spec is definitely the better option. Adding backwards compat after the fact seems straight forward in this case. It doesn't look like there are too many breaking changes and they seem pretty separate from everything else.
from poly.
Not stepping on any toes :) I'll try and get that code up today, I'm away from the PC I had the code on.
Feel free to take a stab at any issues you would like!!!
from poly.
Ok, draft PR is up that has the types + most of the layout of the parsers logic. @TwFlem let me know what you think!
from poly.
@carreter That looks super good! That pattern will go along with way the genbank parser along with the other parsers as well. The error type looks super good as well. It looks flexible enough so we can get nice and specific about what it wrong. The way things are being done just looks good in general.
The only real value added suggestions are about testing.
The others are more speculation.
from poly.
This issue has had no activity in the past 2 months. Marking as stale
.
from poly.
Related Issues (20)
- Reduce number of reviewers necessary for merge HOT 5
- Document all these workflow changes in `CONTRIBUTING.md` HOT 1
- Concurrent mashing HOT 2
- Genbank parser doesn't handle feature attributes with colliding names. HOT 5
- Genbank location parser breaks on parsing this location. HOT 1
- Genbank import and export from JSON should include feature sequences HOT 2
- Simulate enzyme methylation through lowercasing
- Simplifying codon table interface HOT 2
- Poly n Plannotate HOT 5
- Compressed Seqhash
- Tutorial and example tests for refactored golden gate cloning HOT 1
- Proposal: create a distance package for Mash, Geometric string distance, and other distance metrics. HOT 4
- Add example test to MASH HOT 1
- Remove start codon check HOT 1
- Each fragment in a PCR amplification should have a circular tag HOT 1
- Proposal: Create a biological reviewers group HOT 2
- Create nightly, dev, and stable build channels HOT 1
- Proposal - New external package - rebased HOT 2
- Turn on `revive` linter in golangci config HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from poly.