Skip to content

shenwei356/go4bio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Golang for bioinformatics

About Golang

Wikipedia

Open source programming language created at Google in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson. It is a compiled, statically typed language in the tradition of Algol and C, with garbage collection, limited structural typing, memory safety features and CSP-style concurrent programming features added

Official site: https://golang.org/

Advantages

  • Easy to deploy, surports cross-compilation.

    部署简单,跨平台编译。Go编译生成各流行操作系统的二进制文件,直接运行即可,无依赖。

  • High performance.

    高性能。

  • Statically Typeed.

    静态类型语言。

  • Concurrency of language level.

    语言级别的并发支持。

  • Good language design, full tool-chains.

    关键字少,语法简单,工具链完善。

  • Embedded runtime, has Garbage Collection.

    内置runtime,支持GC。

Disadvantages

  • Lacking of bioinformatical libraries, you may reinvent wheels.
  • To be added...

Should I learn

You should try if you

  • Want to write some high-performance tools in short time.
  • Want to protect your source code.
  • Tired of complicated installation, deployment and configuration process.
  • Tired of bewildering symbols of Perl, and slow speed of Python.
  • Tired of the long compilation time and complication of C++.

You may think carefully if you

  • Have no programming experience.
  • Want to write tools with GUI.

Try

Discussions

Golang in Bioinformatcis

Golang

Books

Talks

Tools

Libraries

  • biogo - biogo is a bioinformatics library for Go
  • bio - A lightweight and high-performance bioinformatics package in Go
  • irelate - Streaming relation (overlap, distance, KNN) of (any number of) sorted genomic interval sets. #golang
  • hts - biogo high throughput sequencing repository
  • cfgo - a golang library to read, write and manipulate files in the variant call format.

Tools

  • vcfanno - annotate a VCF with other VCFs/BEDs/tabixed files
  • SeqKit - A cross-platform and ultrafast toolkit for FASTA/Q file manipulation in Golang http://shenwei356.github.io/seqkit
  • gsort - sort genomic data
  • fastcov - A novel algorithm for detecting multiple covariance and clustering of biological sequences

Others

About

Golang for Bioinformatics

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published