Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bioinformatics meets Go

otiai10
November 05, 2017
2k

Bioinformatics meets Go

Pros/Cons of Go in Non-Web context, and the way how to make carrier as a programmer and survive.

otiai10

November 05, 2017
Tweet

Transcript

  1. whoami • 落合展 ◦ github.com/otiai10 ◦ DRYな備忘録 ◦ WETな備忘録 •

    Prev: Dev Agency in Deu. (RoR, Swift, React/ReactNative) • Now: Academical Inst. (Go, Electron)
  2. Product we’re making Genome Analysis Platform “SeqPod” is a desktop

    app for non-IT biologists, by which they can easily execute massive and complex analysis. is a protocol for bioinformaticians, by which they can easily publish workflows: and cli tools for that.
  3. Product we’re making Genome Analysis Platform “SeqPod” is a desktop

    app for non-IT biologists, by which they can easily execute massive and complex analysis. is a protocol for bioinformaticians, by which they can easily publish workflows: and cli tools for that. なにつくってんの
  4. Product we’re making Genome Analysis Platform “SeqPod” is a desktop

    app for non-IT biologists, by which they can easily execute massive and complex analysis. is a protocol for bioinformaticians, by which they can easily publish workflows: and cli tools for that. なにつくってんの Bio- informatics meets Go
  5. Easy to Write • Static Types ◦ Support by Editors

    ▪ GoLand ▪ Atom + go-plus + … ▪ Vim + vim-go ▪ etc … • even fast compiling ←
  6. Fast Enough • Fast itself // TODO: source required •

    Need to parse huge sized files ◦ DNA, RNA, Proteins… ~10TB • by using massive “Super Computer” ◦ CPU cores: 1200 ◦ Memory max: 2TB ◦ Disk: 12PiB • Good match to write goroutines ◦ all I can use!!
  7. Portability • Go itself ◦ easy to start writing Go,

    just with locating go/src and setting PATH • To deliver CLI tools to customers ◦ Amazing Cross Compiling ◦ you can shut them up who always say “it doesn’t work in my Python version”
  8. Ambiguity of Biology • ex) File extensions ◦ .fasta .fa

    .fna .ffn .faa .fra ◦ are ALL THE SAME THING • One of global standard data structure of Bio ◦ has a field which is dictionaries sometimes, lists sometimes, array of list sometimes, or simple strings sometimes ▪ so hard to decode to Go struct ;(
  9. Wrapping up feelings Go in Bio-info Non-Web Context 1. First-mover

    Advantage 2. Good match with strict protocoled industry/market
  10. Wrapping up feelings Go in Bio-info Non-Web Context 1. First-mover

    Advantage 2. Good match with strict protocoled industry/market 3. Excellently Easy to deliver CLI a. Even for server application, GAE/Go is very good for private web-app, cz it’s so economic
  11. 1. First-mover Advantage 2. Good match with strict protocoled industry/market

    3. Excellently Easy to deliver CLI a. Even for server application, GAE/Go is very good for private web-app, cz it’s so economic 4. Except for low salary Wrapping up feelings Go in Bio-info Non-Web Context