News for hackers. Stuff that matters.
Re:Ask HN: Who wants to collaborate? by koeng on Saturday January 01, 2022 @11:28AM (#29759908)
We’re building a Golang library designing DNA. Most synthetic biology tools are essentially crap Python scripts - we’re looking at building maintainable tools for the next 10-20 years

https://github.com/timothystiles/poly

Re:Ask HN: Who wants to collaborate? by kzuberi on Saturday January 01, 2022 @05:37PM (#29763592)
The choice of Go for this is interesting. Having worked with Python & BioPython for bioinformatics problems I've found that there was a good deal of complexity around eking out performance (Cython, C++ extensions, Numba and so on) and also around distributing the tools (e.g. conda packaging). I've been wondering if Go would provide a reasonable middle ground in performance and ease of use between Python and C++ here. I'm not actually convinced yet but think its worth exploring. Noticed there's a BioGo project that's been around for a while, not sure of its uptake. Probably figuring out how well Go works for this domain will be a hobby project for me this year.
Re:Ask HN: Who wants to collaborate? by koeng on Sunday January 02, 2022 @10:48PM (#29777120)
It’s been worth it for me so far. Anyway, the language is easy, so you can learn it pretty quickly and evaluate for yourself
Re:Ask HN: Who wants to collaborate? by sorokinvj on Friday January 07, 2022 @06:02PM (#29846166)
Have you guys ever considered frontend app for users to actually built am organism in the browser? I have no idea if its something that anybody needs in the world but this could be fun! I would be interested building that
Re:Ask HN: Who wants to collaborate? by sabhiram on Saturday January 01, 2022 @11:45AM (#29760091)
This looks like a very fun thing to get into, and I love the idea of being able to help in this new (for me) field. However, thumbing through the issues listed in the GH repo leaves me realizing that there is a bunch of terminology that I would need to catch up on (15% of the stuff feels familiar). Any pointers on what stuff I could read / study that would serve as a nice primer into the terms and ideas being coded and modeled?
Re:Ask HN: Who wants to collaborate? by koeng on Saturday January 01, 2022 @01:36PM (#29761190)
Could you leave us a git issue on terminology you don't understand? We've tried to make the documentation in the code to make it clearer to non-biologists what is going on (for example, https://github.com/TimothyStiles/poly/blob/prime/seqhash/seq...), but we're honestly too deep to really understand what is not known and how to explain nicely what is going on. If you could help us with asking naive questions that'd help us write a nice primer (which is very useful, since we'd like to recruit more software engineers rather than biologists).
Re:Ask HN: Who wants to collaborate? by lambdatronics on Sunday January 02, 2022 @01:01AM (#29766266)
Cool stuff! I'm curious if you considered Julia when choosing the language to work in, & if so, what were the pro's/con's vs Go.
Re:Ask HN: Who wants to collaborate? by allyourbasepair on Monday January 03, 2022 @12:19AM (#29777607)
When I chose Go for Poly it pretty much came down to Go vs. Rust and the main criteria were.

1. Fast execution 2. Strong devops ecosystem 3. Easy to learn syntax 4. Ships binaries for as many systems as possible.

Julia wasn't really considered because last time I used Julia (which granted was a while ago) there wasn't any support for binary compilation targets and it didn't have a strong devops ecosystem. Also, it's more of a scripting language than something you'd write stable, deployable code in.

Rust beat out Go on speed and tied for shipping binaries but was, way, way harder to learn and Go was still leagues ahead when it came to packages and tooling.

If I remember correctly C is typically 3x faster than Go and 2x faster than Rust. That small decrease in execution time doesn't matter in a majority of use cases but Go is way faster and easier to learn and develop in so it ultimately won.