Bioinformatics Open Source Conference 2013 @ Berlin, Germany (July 19)

BioRuby updates

Power of modularity in the community-based
open source development model

Toshiaki Katayama <ktym@dbcls.jp>
http://jp.linkedin.com/in/toshiakikatayama
Database Center for Life Science (DBCLS),
Research Organization of Information and Systems (ROIS), Japan
Pjotr Prins

University Medical Center Utrecht, Netherlands

Raoul Bonnal

Instituto Nazionale Genetica Molecolare, Italy

Francesco Strozzi

Parco Tecnologico Padano, Italy

Naohisa Goto

Osaka University, Japan

BioRuby stairway to freedom
Project started http://bioruby.org/
Open Bio Japan http://open-bio.jp/2013

2012

2011

2008

2007

2005

2004

2003

2002

2001

2000

Joined to O|B|F

2010

BioRuby-1.0

BioRuby paper
GSoC
Biogem paper
GitHub
BiogemBioRuby-1.5.0

2009

NBDC/DBCLS
BioHackathons http://biohackathon.org/

2006

O|B|F
BioHackathons Grant by IPA

Free to Use/Copy/Modify
Join w/ approval (CVS/SVN commits)

Fork (GitHub)
Extend/Distribute (Biogem)

Biogem ecosystem and beyond

Biogem
2010〜

Biogem2012〜

BioRuby
2000〜
Ruby
1995〜

BioInterchange

BiogemBaseSpace
2013〜

BiogemBiogem lowered the entry barrier•User can freely develop their own libs/apps and distribute them.
•BioRuby core can concentrate on its stability and compatibility.
Biogem developer:% gem install bio-gem% biogem yourapp% cd bioruby-yourapp# develop lib/*.rb and/or bin/* as you like% bundle exec release# will make yourapp available on GitHub.com and Rubygems.org
Biogem user:% gem install bio-yourapp
That's it!

http://biogems.info>80 Biogems have been released so far
BioRuby >44K DLs
Biogems vary from ~100 to 100K DLs

Biogem packages break-down>20 new biogems have beendeveloped since BOSC2012
Core/Meta
NGS
Seq analysis
Tools
Web services
Semantic Web
Phyloinformatics
Chemoinformatics
Visualization
Grid computing
010203040

Biogem packages
Web services
Seq analysis
NGS
bio-ucsc-api
bio-gff3
bio-ngs
intermine
bio-hmmer3
bio-samtools
entrez, eutils
bio-mafbio-gadget
ruby-ensembl-api bio-phyta
bio-fasterbio-dbsnp
bio-alignment
bio-sambamba
bio-chembl
bio-signalp
bio-tabix:
bio-tm-hmm
bio-bgzf
bio-isoelectric-point
bio-gngm
bio-genomic-interval:
Phyloinformatics
bio-kmer-counterbiodiversity
Othersbio-restriction-enzyme
name-spotter
bio-svgenes:
bio-nexml
biointerchange
bio-phyloxml::

bio-ucsc-api by Mishima H.
require 'bio-ucsc'
Automatically maps UCSC MySQL schema
to Ruby class by ActiveRecord (Rails)
Bio::Ucsc::DB::Table(e.g., Bio::Ucsc::Hg19::Snp132)
Now integrated in TogoWS(you don't need to code!)

http://togows.org/api/ucsc/database/chromosomal-position[.format]→ http://togows.org/api/ucsc/hg19/chr1:107,599,267-107,601,915.fasta
http://togows.org/api/ucsc/database/table/[column=]query[.format]/offset,limit→ http://togows.org/api/ucsc/hg19/refGene/name2=UVSSA.json→ http://togows.org/api/ucsc/hg19/snp137/chrom=chr22;refUCSC=A/1,10

bio-gadget by Katayama S. (not me:)
NGS analysis package
to handle RNA-Seq data with UMI+barcode+adaptor reads% gem install bio-gadget% bio-gadget <task>
Available tasks•dedup :: Deduplicate fastq (via STDIN)•demlt :: Demultiplex fastq by barcodes•fqxz :: automatic (re)compression of *.fq(.gz|.bz2) files•qvstat :: Statistics of quality values in *.qual file•rgt2mtx :: Convert cuffdiff read group tracking file into tab-separated matrix•wig5p :: Convert bam-format alignments into wig-format table•wigchr :: Extract wiggle track on specified chromosome

mixed-reads

demultiplexed

http://www.nature.com/nprot/journal/v7/n5/full/nprot.2012.022.html
Islam S, Kjällquist U, Moliner A, Zajac P, Fan J-B, Lönnerberg P, et al.
Highly multiplexed and strand-specific single-cell RNA 5' end sequencing.
Nat Protoc. 2012 May;7(5):813–828.
DOI: 10.1038/nprot.2012.022 PMID: 22481528
http://www.nature.com/nmeth/journal/v9/n1/full/nmeth.1778.html
Kivioja T, Vähärautio A, Karlsson K, Bonke M, Enge M, Linnarsson S, et al.
Counting absolute numbers of molecules using unique molecular identifiers.
Nat Methods. 2011 Nov 20;9(1):72-74
DOI: 10.1038/nmeth.1778 PMID: 22101854

bio-gngm by MacLean D. et al.
Another NGS analysis package
to detect causative SNPs affecting WT/mutant phenotypes
GNGM = Generalised NGM (Next-generation EMS mutation mapping)
1. Mapping to reference genome
2. Calculating and grouping allele frequencies
3. Find candidate positions of causative SNPs

http://bar.utoronto.ca/ngm/description.html

bio-svgenes by MacLean D.
Bio::Graphics for BioRuby
to generate SVG images w/ an intuitive API and w/o dependencies
page	  =	  Bio::Graphics::Page.new(opts)	  	  	  	  	  	  	  	  	  #	  sizes	  etc.
gene	  =	  Bio::Graphics::MiniFeature.new(opts)	  	  #	  positions	  etc.
gene_track	  =	  page.add_track(opts)	  	  	  	  	  	  	  	  	  	  	  	  #	  glyphs	  etc.
gene_track.add(obj)page.draw	  	  #	  =>	  generate	  a	  SVG	  image

bio-diversity by Mozzherin D. et al.

Top downloaded
BiogemTaxonomic scientific name parser
to normalize species names from literatures in the best quality
Coeloglossum viride (L.) Hartman x Dactylorhiza majalis (Rchb. f.) P.F. Hunt & Summerhayes ssp. praetermissa (Druce) D.M. Moore & Soó% gem install biodiversity19% nnparse find_scientific_names.txt{"scientificName":{"parsed":true,"parser_version":"2.1.0","verbatim":"Coeloglossum viride (L.) Hartman x Dactylorhiza majalis (Rchb. f.) P.F. Hunt &Summerhayes ssp. praetermissa (Druce) D.M. Moore & Soó","normalized":"Coeloglossum viride (L.) Hartman × Dactylorhiza majalis (Rchb. f.) P.F.
Hunt & Summerhayes ssp. praetermissa (Druce) D.M. Moore & Soó","canonical":"Coeloglossum viride × Dactylorhiza majalis
praetermissa","hybrid":true,"details":[{"genus":{"string":"Coeloglossum"},"species":{"string":"viride","authorship":"(L.)
Hartman","combinationAuthorTeam":{"authorTeam":"Hartman","author":["Hartman"]},"basionymAuthorTeam":{"authorTeam":"L.","author":["L."]}}},{"genus":{"string":"Dactylorhiza"},"species":{"string":"majalis","authorship":"(Rchb. f.) P.F. Hunt & Summerhayes","combinationAuthorTeam":{"authorTeam":"P.F. Hunt & Summerhayes","author":["P.F. Hunt","Summerhayes"]},"basionymAuthorTeam":{"authorTeam":"Rchb. f.","author":["Rchb.
f."]}},"infraspecies":[{"string":"praetermissa","rank":"ssp.","authorship":"(Druce) D.M. Moore & Soó","combinationAuthorTeam":{"authorTeam":"D.M.
Moore & Soó","author":["D.M. Moore","Soó"]},"basionymAuthorTeam":{"authorTeam":"Druce","author":["Druce"]}}]}],"parser_run":1,"positions":{"0":["genus",12],"13":["species",19],"21":["author_word",23],"25":["author_word",32],"35":["genus",47],"48":["species",55],"57":["author_word",62],"63":["author_word",65],"67":["author_word",71],"72":["author_word",76],"79":["author_word",90],"91":["infraspecific_type",95],"96":["infraspecies",108],"110":["author_word",115],"117":["author_word",121],"122":["author_word",127],"130":["author_word",133]}}}Global Biodiversity Information Facility / Encyclopedia of Life

Developed for Global Names Index http://gni.globalnames.org/ supported by GBIF/EOL/NSF
Sister products:
name-spotter -- Wrapper for name-finding libraries, TaxonFinder (EOL) and NetiNeti (for OCRed text)
taxamatch_rb -- Tony Rees' algorithm for fuzzy matching of scientific names (compare with corpus)
dwc-archive -- parser/generator for DarwinCore Archive (CSV + XML) format

Join us!
Without the Biogem system, we could not accumulate this variety
of apps/libs only from the core BioRuby community!
BioRuby -- is a core library
BioGem -- can extend BioRuby, use BioRuby or also provide apps!
To find biogems-- http://biogems.info/To create a biogem -- http://biogems.info/howto.html
Interviews w/ biogem developers -- coming soon ...
We welcome your contributions especially on• Statistics• Semantic Web• Command line apps
• Web apps and visualization tools• and something new!

BioInterchange by Baran J. et al.
RDF converters for TSV, XML, GFF3, GVF, Newick and other files

http://biointerchange.org/Spin-off project from the BioHackathons in 2012 and 2013
• Developed ontologies for GFF and GVF
Next release:• Utilizes FALDO location ontology and Identifiers.org URIs
We are also working on converters for
GTF, VCF, PubMed, and INSDC data w/ appropriate ontologies

Creating BaseSpace apps
Project = Samples + AppResults
Mapping: BAM - BWA, Bowtie, SW, iSAAC, ELAND
Variation: VCF - GATK, Somatic Variant Caller, Starling 2:

AppResult
Sample (.fq)
FASTQ
Run (.bcl)

Workflow

BAM, VCF

AppSession
App launch

Basecallhttps://basespace.illumina.com/
https://developer.basespace.illumina.com/

BaseSpace Ruby SDK
BaseSpace - Illumina's cloud solution comes w/ Python, Java, R SDKsRuby version of SDK is developed by the BioRuby group in 2013
git clone https://github.com/joejimbo/basespace-ruby-sdk.git(will be available on Illumina's web site shortly)

Developers can create your own app- You can easily utilize your NGS biogem w/ BaseSpace Ruby SDK- You will easily obtain much more users
Users can use your app without coding- Don't need to learn programming. Just a click!
BioBaseSpace for non-Ruby programmers
During the Codefest 2013, we found that it can be a burden tocreate new Web app from scratch on top of your NGS program.
So we started new project to provide a Web-app scaffold for BS.

% biobasespace create my_cool_bs_app% biobasespace deploy my_cool_bs_app --to (AWS|Heroku|others|localhost)just configure the program and parameters to be executed in the app
BioBaseSpaceWeb app (my_cool_bs_app)+BaseSpace Ruby SDK
Rails/Rack app:provides UI- file browser- parameters

Controller

talk to BS
fetch files
executeView- show the results(text/html/image etc.)

results:
report texts
and/orimage files

Your NGS tool
Ruby script (which may
utilize Biogems) or canbe any command line
tool written in any otherlanguages (Java, R,Python or C etc.)

BioBaseSpace by Bonnal R. et al.
Scaffold your BS Web app w/ BaseSpace Ruby SDK inside
Codename: basespace-dojo & basespace-ninja

Done: Authentication & file browsing
Launch your app

Todo: Configuration of your tool to exec
& showing the result

Acknowledgements
BioRuby core
Naohisa Goto+ panel members+ many contributors http://bioruby.open-bio.org/wiki/Contributors

Biogem system
Raoul Bonnal, Pjotr Prins, Francesco Strozzi

Biogem developers
Many! http://biogems.info/

BioInterchange
Joachim Baran et al.

BaseSpace Ruby SDK
Toshiaki Katayama, Joachim Baran, Eri Kibukawa, Raoul Bonnal, Francesco Strozzi