$30 off During Our Annual Pro Sale. View Details »

Bioinformatics meets Go

otiai10
November 05, 2017
1.9k

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. Bio-
    informatics
    meets
    Go #gocon 2017 Autumn
    @otiai10

    View Slide

  2. whoami
    ● 落合展
    ○ github.com/otiai10
    ○ DRYな備忘録
    ○ WETな備忘録
    ● Prev: Dev Agency in Deu. (RoR, Swift, React/ReactNative)
    ● Now: Academical Inst. (Go, Electron)

    View Slide

  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.

    View Slide

  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.
    なにつくってんの

    View Slide

  5. 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

    View Slide

  6. Bio-
    informatics
    meets
    Go
    Pros

    View Slide

  7. Easy to Write
    ● Static Types
    ○ Support by Editors
    ■ GoLand
    ■ Atom + go-plus + …
    ■ Vim + vim-go
    ■ etc …
    ● even fast compiling ←

    View Slide

  8. 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!!

    View Slide

  9. 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”

    View Slide

  10. Bio-
    informatics
    meets
    Go
    Cons

    View Slide

  11. Nobody
    Helps
    Especially in Japan
    https://github.com/seqpod

    View Slide

  12. Packages
    Missing
    https://github.com/search?q
    =bioinformatics&type=Repo
    sitories

    View Slide

  13. Ambiguity of
    Biology

    View Slide

  14. 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 ;(

    View Slide

  15. Wrapping up feelings
    Go in Bio-info

    View Slide

  16. Wrapping up feelings
    Go in Bio-info
    Non-Web Context

    View Slide

  17. Wrapping up feelings
    Go in Bio-info
    Non-Web Context
    1. First-mover Advantage

    View Slide

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

    View Slide

  19. 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

    View Slide

  20. 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

    View Slide

  21. 終わ

    View Slide

  22. 終わ
    らない

    View Slide

  23. How to
    make
    carrier and
    SURVIVE

    View Slide

  24. Salary is
    God

    View Slide

  25. Salary is
    /Go{1,2}d?/

    View Slide

  26. すなわち
    インカム

    View Slide

  27. 学習

    View Slide

  28. 習得

    View Slide

  29. NOT
    ONLY

    View Slide

  30. BUT
    ALSO

    View Slide

  31. どう
    活かすか

    View Slide

  32. どう
    活かすか

    View Slide

  33. How to
    Leverage

    View Slide

  34. 不足

    View Slide

  35. 経歴

    View Slide

  36. insufficiency

    View Slide

  37. 即ち
    個性

    View Slide

  38. 即ち
    希少性

    View Slide

  39. insufficiency
    is identity
    and rarity

    View Slide

  40. 「もっと◯◯だったら...」

    View Slide


  41. View Slide

  42. ◯◯ではないこと
    (□□であること)
    が優位性となる
    フィールドがある

    View Slide

  43. はず

    View Slide

  44. たぶん

    View Slide

  45. ◯◯ではないこと
    (□□であること)

    View Slide

  46. is Shape of Life

    View Slide

  47. Shape
    of
    Life

    View Slide

  48. シェイプ
    オブ
    ライフ

    View Slide

  49. insufficiency
    shape

    View Slide

  50. Shape
    of
    Life

    View Slide

  51. Be yourself
    and
    Respect the shape
    of your life

    View Slide

  52. to get
    money

    View Slide

  53. BUT
    ALSO

    View Slide

  54. to be
    happy

    View Slide

  55. thank you!

    View Slide