seq
bioconda-recipes
Our great sponsors
seq | bioconda-recipes | |
---|---|---|
15 | 5 | |
634 | 1,562 | |
- | 1.2% | |
0.7 | 10.0 | |
over 1 year ago | 7 days ago | |
C++ | Shell | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
seq
-
A Python-based programming language for high-performance computational genomics
> Seq is a Python-compatible language, and the vast majority of Python programs should work without any modifications
The programming language itself and all documentation can be found at https://seq-lang.org/ .
-
Hacker News top posts: Sep 15, 2021
Seq: A programming language for high-performance computational genomics\ (17 comments)
-
Seq: A programming language for high-performance computational genomics
They support both, and will deprecate Python 2 style soon.
bioconda-recipes
-
Why should academic researchers use Rust?
Rust makes distribution and maintenance near trivial. My lab develops a fairly widely-used tool, salmon, for the quantification of transcript expression from RNA-seq data. This tool is written in C++14, and has a substantial number of dependencies. The process of updating the tool (e.g. bumping dependencies) and cutting a new release is painful. To maintain widespread availability, we distribute this tool using bioconda which uses it's own CI and setup to build new releases for (in our case) Linux and MacOS. Things break all the time. For example, recently, they bumped the compiler used to build packages. This changed some default "implementation defined" behavior, causing previously functioning code to fail. We didn't find this locally, because we didn't test that specific compiler version. When we tried to release a new version, we had to go back and fix things etc. This is not just because different compilers exist, but because the C++ specification is soooo complicated and the set of undefined and implementation defined behavior is sooo broad that it's very brittle and it's easy for things to "break" via bitrot. However, the stability provided by Rust has been phenomenal so far. In our code, we only use stable Rust features, and we have benefited tremendously from the empirical guarantee that valid Rust code (except in exceptional cases like latent bugs in the language) will remain valid. While not all crates follow it religiously, there is a reasonable respect for semantic versioning. Thus, cutting a new release of one of our Rust tools is often as simple as just updating the Cargo.toml (and Cargo.lock in the case of applications), tagging a new release in GitHub, and letting the bioconda CI do it's business with the tagged artifacts. The build "scripts" are almost always trivial because the builds just work, across platforms, across CIs, etc. Now, new projects like cargo dist look like they make this process even simpler.
-
Software engineers: consider working on genomics
I contribute to Nextflow core (https://nf-co.re/) It's more of a collection of pipelines than traditional software, but there are users all around the world and a good community.
Most of the packages on bioconda (https://bioconda.github.io/) are open source. But you probably want to find a sub-field that interests you most before finding a project.
In grad school, we also had an ex-google software engineer volunteer with us one day a week. It was very impactful for many members of the lab to learn good engineering practices, and it wasn't at all like the sentiment others in this thread are expressing where engineers were "janitors".
-
How to mix separated versions of Python in the cleanest way
In my world (research science) we usually use anaconda, which is just a slightly higher-level wrapper around python virtual envs. But they also maintain more repositories of various modules that scientists need. e.g. https://bioconda.github.io/
-
Seq: A programming language for high-performance computational genomics
Seems like there's a conda packaging on the works: https://github.com/bioconda/bioconda-recipes/pull/29660
What are some alternatives?
Biopython - Official git repository for Biopython (originally converted from CVS)
pyenv-virtualenv - a pyenv plugin to manage virtualenv (a.k.a. python-virtualenv)
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
adam - ADAM is a genomics analysis platform with specialized file formats built using Apache Avro, Apache Spark, and Apache Parquet. Apache 2 licensed.
wyng-backup - Fast Time Machine-like backups for logical volumes & disk images
edlib - Lightweight, super fast C/C++ (& Python) library for sequence alignment using edit (Levenshtein) distance.
TeamTeri - Bioinformatics on GCP, AWS or Azure
seq-genomics - Coursera Bioinformatics / Stepik Genome Sequencing with seq-lang
poly - A Go package for engineering organisms.