bíogo
bíogo: a simple high-performance bioinformatics toolkit for the Go language - Published in JOSS (2017)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: biorxiv.org, nature.com -
✓Committers with academic emails
3 of 17 committers (17.6%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Scientific Fields
Repository
biogo is a bioinformatics library for Go
Basic Info
Statistics
- Stars: 400
- Watchers: 30
- Forks: 51
- Open Issues: 7
- Releases: 0
Metadata Files
README.md

bíogo
Installation
$ go get github.com/biogo/biogo/...
Overview
bíogo is a bioinformatics library for the Go language.
Getting help
Help or similar requests are preferred on the biogo-user Google Group.
https://groups.google.com/forum/#!forum/biogo-user
Contributing
If you find any bugs, feel free to file an issue on the github issue tracker. Pull requests are welcome, though if they involve changes to API or addition of features, please first open a discussion at the biogo-dev Google Group.
https://groups.google.com/forum/#!forum/biogo-dev
Citing
If you use bíogo, please cite Kortschak, Snyder, Maragkakis and Adelson "bíogo: a simple high-performance bioinformatics toolkit for the Go language", doi:10.21105/joss.00167, and Kortschak and Adelson "bíogo: a simple high-performance bioinformatics toolkit for the Go language", doi:10.1101/005033.
The Purpose of bíogo
bíogo stems from the need to address the size and structure of modern genomic and metagenomic data sets. These properties enforce requirements on the libraries and languages used for analysis:
- speed - size of data sets
- concurrency - problems often embarrassingly parallelisable
In addition to the computational burden of massive data set sizes in modern genomics there is an increasing need for complex pipelines to resolve questions in tightening problem space and also a developing need to be able to develop new algorithms to allow novel approaches to interesting questions. These issues suggest the need for a simplicity in syntax to facilitate:
- ease of coding
- checking for correctness in development and particularly in peer review
Related to the second issue is the reluctance of some researchers to release code because of quality concerns.
The issue of code release is the first of the principles formalised in the Science Code Manifesto.
Code All source code written specifically to process data for a published
paper must be available to the reviewers and readers of the paper.
A language with a simple, yet expressive, syntax should facilitate development of higher quality code and thus help reduce this barrier to research code release.
Articles
bíogo: a simple high-performance bioinformatics toolkit for the Go language
Analysis of Illumina sequencing data using bíogo
Using and extending types in bíogo
Yet Another Bioinformatics Library
It seems that nearly every language has it own bioinformatics library, some of which are very mature, for example BioPerl and BioPython. Why add another one?
The different libraries excel in different fields, acting as scripting glue for applications in a pipeline (much of [1, 2, 3]) and interacting with external hosts [1, 2, 4, 5], wrapping lower level high performance languages with more user friendly syntax [1, 2, 3, 4] or providing bioinformatics functions for high performance languages [5, 6].
The intended niche for bíogo lies somewhere between the scripting libraries and high performance language libraries in being easy to use for both small and large projects while having reasonable performance with computationally intensive tasks.
The intent is to reduce the level of investment required to develop new research software for computationally intensive tasks.
BioPerl http://genome.cshlp.org/content/12/10/1611.full http://www.springerlink.com/content/pp72033m171568p2
BioPython http://bioinformatics.oxfordjournals.org/content/25/11/1422
BioRuby http://bioinformatics.oxfordjournals.org/content/26/20/2617
PyCogent http://genomebiology.com/2007/8/8/R171
BioJava http://bioinformatics.oxfordjournals.org/content/24/18/2096
SeqAn http://www.biomedcentral.com/1471-2105/9/11
Library Structure and Coding Style
The bíogo library structure is influenced both by the Go core library.
The coding style should be aligned with normal Go idioms as represented in the Go core libraries.
Quality Scores
Quality scores are supported for all sequence types, including protein. Phred and Solexa scoring systems are able to be read from files, however internal representation of quality scores is with Phred, so there will be precision loss in conversion. A Solexa quality score type is provided for use where this will be a problem.
Copyright and License
Copyright ©2011-2013 The bíogo Authors except where otherwise noted. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
The bíogo logo is derived from Bitstream Charter, Copyright ©1989-1992 Bitstream Inc., Cambridge, MA.
BITSTREAM CHARTER is a registered trademark of Bitstream Inc.
Owner
- Name: bíogo
- Login: biogo
- Kind: organization
- Repositories: 14
- Profile: https://github.com/biogo
bíogo is a bioinformatics library collection for Go
JOSS Publication
CodeMeta (codemeta.json)
{
"@context": "https://raw.githubusercontent.com/mbjones/codemeta/master/codemeta.jsonld",
"@type": "Code",
"author": [
{
"@id": "http://orcid.org/0000-0001-8295-2301",
"@type": "Person",
"email": "dan.kortschak@adelaide.edu.au",
"name": "R Daniel Kortschak",
"affiliation": "School of Biological Sciences, The University of Adelaide"
},
{
"@id": "http://orcid.org/0000-0001-8327-7643",
"@type": "Person",
"email": "josharian@gmail.com",
"name": "Josh Bleecher Snyder",
"affiliation": ""
},
{
"@id": "http://orcid.org/0000-0002-3158-1763",
"@type": "Person",
"email": "emarag@mail.med.upenn.edu",
"name": "Manolis Maragkakis",
"affiliation": "Department of Pathology and Laboratory Medicine, Perelman School of Medicine, University of Pennsylvania"
},
{
"@id": "http://orcid.org/0000-0003-2404-5636",
"@type": "Person",
"email": "david.adelson@adelaide.edu.au",
"name": "David L Adelson",
"affiliation": "School of Biological Sciences, The University of Adelaide"
}
],
"identifier": "",
"codeRepository": "https://github.com/biogo/biogo",
"datePublished": "2017-01-05",
"dateModified": "2017-01-05",
"dateCreated": "2017-01-05",
"description": "a simple high-performance bioinformatics toolkit for the Go language",
"keywords": "bioinformatics, toolkit, golang",
"license": "BSD-3 like",
"title": "bíogo",
"version": "v1.0.1"
}
GitHub Events
Total
- Watch event: 16
- Fork event: 2
Last Year
- Watch event: 16
- Fork event: 2
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| kortschak | d****k@a****u | 373 |
| kortschak | k****k@z****u | 92 |
| Josh Bleecher Snyder | j****n@g****m | 14 |
| Emmanouil "Manolis" Maragkakis | m****g@g****m | 5 |
| Gordon Gremme | g****n@g****g | 4 |
| Jason | j****s@t****g | 2 |
| Davor Kapsa | d****a@g****m | 2 |
| Olga Botvinnik | o****k@g****m | 2 |
| Harry Scells | h****s@g****m | 1 |
| Clayton Wheeler | c****r@g****m | 1 |
| Brent Pedersen (brentp) | b****e@g****m | 1 |
| Brennon Loveless | b****t@b****m | 1 |
| Jason Travis | J****s@n****u | 1 |
| Peter Mattis | p****s@g****m | 1 |
| Santiago Castro | s****0@h****m | 1 |
| Yasushi Saito | y****o@g****m | 1 |
| aboffin | p****k@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 47
- Total pull requests: 43
- Average time to close issues: about 1 month
- Average time to close pull requests: 2 days
- Total issue authors: 20
- Total pull request authors: 16
- Average comments per issue: 3.06
- Average comments per pull request: 2.26
- Merged pull requests: 41
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- GoogleCodeExporter (21)
- brentp (3)
- kortschak (3)
- josharian (2)
- nileshpatra (2)
- bsipos (2)
- mys721tx (1)
- DanielRivasMD (1)
- thomas-bio (1)
- YspCoder (1)
- ygidtu (1)
- srynobio (1)
- mnsmar (1)
- mariokostelac (1)
- sis6789 (1)
Pull Request Authors
- kortschak (18)
- corburn (4)
- mnsmar (4)
- olgabot (2)
- dvrkps (2)
- josharian (2)
- bloveless (2)
- gordon (2)
- hscells (1)
- aboffin (1)
- bryant1410 (1)
- yxzzy-wtf (1)
- petermattis (1)
- yasushi-saito (1)
- brentp (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total docker downloads: 116,924
- Total dependent packages: 19
- Total dependent repositories: 20
- Total versions: 5
proxy.golang.org: github.com/biogo/biogo
bíogo is a bioinformatics library for the Go language. It is a work in progress. bíogo stems from the need to address the size and structure of modern genomic and metagenomic data sets. These properties enforce requirements on the libraries and languages used for analysis: In addition to the computational burden of massive data set sizes in modern genomics there is an increasing need for complex pipelines to resolve questions in tightening problem space and also a developing need to be able to develop new algorithms to allow novel approaches to interesting questions. These issues suggest the need for a simplicity in syntax to facilitate: Related to the second issue is the reluctance of some researchers to release code because of quality concerns http://www.nature.com/news/2010/101013/full/467753a.html The issue of code release is the first of the principles formalised in the Science Code Manifesto http://sciencecodemanifesto.org/ A language with a simple, yet expressive, syntax should facilitate development of higher quality code and thus help reduce this barrier to research code release. It seems that nearly every language has it own bioinformatics library, some of which are very mature, for example BioPerl and BioPython. Why add another one? The different libraries excel in different fields, acting as scripting glue for applications in a pipeline (much of [1-3]) and interacting with external hosts [1, 2, 4, 5], wrapping lower level high performance languages with more user friendly syntax [1-4] or providing bioinformatics functions for high performance languages [5, 6]. The intended niche for bíogo lies somewhere between the scripting libraries and high performance language libraries in being easy to use for both small and large projects while having reasonable performance with computationally intensive tasks. The intent is to reduce the level of investment required to develop new research software for computationally intensive tasks. The bíogo library structure is influenced both by the structure of BioPerl and the Go core libraries. The coding style should be aligned with normal Go idioms as represented in the Go core libraries. Position numbering in the bíogo library conforms to the zero-based indexing of Go and range indexing conforms to Go's half-open zero-based slice indexing. This is at odds with the 'normal' inclusive indexing used by molecular biologists. This choice was made to avoid inconsistent indexing spaces being used — one-based inclusive for bíogo functions and methods and zero-based for native Go slices and arrays — and so avoid errors that this would otherwise facilitate. Note that the GFF package does allow, and defaults to, one-based inclusive indexing in its input and output of GFF files. Quality scores are supported for all sequence types, including protein. Phred and Solexa scoring systems are able to be read from files, however internal representation of quality scores is with Phred, so there will be precision loss in conversion. A Solexa quality score type is provided for use where this will be a problem. Copyright ©2011-2012 The bíogo Authors except where otherwise noted. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
- Homepage: https://github.com/biogo/biogo
- Documentation: https://pkg.go.dev/github.com/biogo/biogo#section-documentation
- License: BSD-3-Clause
-
Latest release: v1.0.4
published about 4 years ago
Rankings
Dependencies
- github.com/biogo/graph v0.0.0-20150317020928-057c1989faed
- github.com/biogo/hts v1.1.0
- github.com/biogo/store v0.0.0-20200104231603-2c6ad937eb83
- gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15
- dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9
- github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802
- github.com/biogo/boom v0.0.0-20150317015657-28119bc1ffc1
- github.com/biogo/graph v0.0.0-20150317020928-057c1989faed
- github.com/biogo/hts v1.1.0
- github.com/biogo/store v0.0.0-20200104231603-2c6ad937eb83
- github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72
- github.com/kortschak/utter v0.0.0-20190412033250-50fe362e6560
- github.com/kr/pretty v0.2.0
- github.com/kr/pty v1.1.1
- github.com/kr/text v0.1.0
- github.com/ulikunitz/xz v0.5.6
- golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
- golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529
- golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8
- golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a
- golang.org/x/image v0.0.0-20190227222117-0694c2d4d067
- golang.org/x/image v0.0.0-20190802002840-cff245a6509b
- golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028
- golang.org/x/mod v0.1.0
- golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3
- golang.org/x/net v0.0.0-20190620200207-3b0461eec859
- golang.org/x/sync v0.0.0-20190423024810-112230192c58
- golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
- golang.org/x/sys v0.0.0-20190312061237-fead79001313
- golang.org/x/sys v0.0.0-20190412213103-97732733099d
- golang.org/x/text v0.3.0
- golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a
- golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
- gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15

