Skip to content

bionode-hack/discussions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

Programe

9:30 Arrivals (tea/coffee ...)

10:00 - 10:10 Introduction to DNAdigest (Fiona or Adrian)

10:20 - 10:40 Introduction to bionode (Bruno)

10:40 - 11:00 Genomic data landscape - a focus on accessibility (Adrian)

11:00 - 11:30 How to build a Node.js package for data fetching (Bruno) - practical session

11:45 - 13:00 Hack Session I ( 2:15 h session )

13:00 - 14:00 Lunch break

14:00 - 16:00 Hack Session II (3 to 4h) aiming for 14:00 to 17:30 session

16:15 - 16:45 Sessions Feedback

16:45 - 17:00 Closing remarks (Adrian + Bruno)

BioHackers

adamhurst
adamhurst
Adrian Alexa
Adrian Alexa*
akmoulai
Karim Moulai
alectronic0
Alec Doran-Twyford
beatrix7
beatrix7
beechware
beechware
bmpvieira
bmpvieira*
bunnybooboo
David Ross
cachemoi
Maximilien Rothier Bautzer
clarkie
Clarkie
ClaudiuCreanga
Claudiu Creanga
cwhicher
Charlotte*
DennisSchwartz
Dennis Schwartz*
ercekal
Erce Kalabalikoglu
fsdev
fsdev
giovannic
Giovanni
glyndk
Fiona Nilsen*
halimat94
Halimat Afolabi
IsmailM
Ismail Moghul
Istar-Eldritch
Ruben Paz*
jamesbrown0
James Brown
jessica-jordan
jessica
julns
julns
Knorcedger
Achilleas Tsoumitas
kynan
Florian Rathgeber
lailaPanda
lailaPanda
lmmx
Louis Maddox
lorenzorietti
lorenzorietti
mcarmenjc
MCarmen Jimenez Campos
podderka
podderka
pontikos
Nikolas Pontikos
pulverizers
pulverizers
raquelsofi
raquelsofi
rjs-repos
rjs-repos*
SebastianPlace
Sebastian Place*
shun-liang
Shun Liang
shyamrallapalli
Shyam Rallapalli
simplesquare1
Jana Grajciarova
sureshhewabi
sureshhewa
uhaz1
uhaz1
vince-lynch
Vince Lynch
wendychanhk
Wendy Chan
yumary
yumary
35 participants + 8 organizers*

Software required for Hackathon

During the hackathon, you will be able to use a remote machine already setup with everything you need (easiest but limited), use a local copy of that machine through Docker (recommended), or install the software on your local operating system (advanced users).

How to access remote machines

For simple things, like code examples during a talk, you can go to try.bionode.io and access a machine through your browser. However, the command line, text editor, and filesystem explorer provided by the website are very limited and there is no functionality to download or upload your files easily.

For some real hacking, we will provide machines you can ssh into and mount the filesystem with sshfs. There's a lot of documentation online on how to get and use ssh for every operating system.

# Access machine through ssh
ssh -i identity_file.pem remoteuser@your_host_address
# Mount folder
sshfs -o IdentityFile=identity_file.pem remoteuser@your_host_address:/host_location_to_mount /mnt/ec2

How to get software with Docker

Go to docker.com and get Docker for Mac or Windows. For Linux, follow the distro specific instructions.

Then simply run in your terminal:

docker run --rm -it -v project_folder:/app bionode/try-bionode

How to get sofware locally

OSX

# Get and install Homebrew (http://brew.sh) with following command
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Install Node.js versions manager
brew install n
# Get latest stable Node.js
sudo n stable

Linux (Ubuntu)

# Install Node.js package manager
sudo apt-get install npm
# Install Node.js versions manager
sudo npm install -g n
# Get latest stable Node.js
n stable

Windows

Go to nodejs.org and follow Windows instructions.

Presentation slides

Online courses

JavaScript

Workshopper is the name used for the open source lesson modules associated with NodeSchool. All are self guided (you don't need to attend a workshop to do one) and most work offline.

From all these, we recommend the following (by order of importance for Hackathon):

Core

These workshoppers focus on essential skills for working with Node.js.

  • javascripting - Learn the basics of JavaScript. No previous programming experience required.
  • learnyounode - Learn the basics of node: asynchronous i/o, http.
  • stream-adventure - Learn to compose streaming interfaces with .pipe().
  • git-it - Learn Git and GitHub basics.
  • How to npm - Learn how to use and create npm modules.

Electives

Workshoppers on popular libraries or styles of writing Node.js.

  • Functional Javascript - Learn fundamental functional programming features of JavaScript in vanilla ES5.
  • Async You - Learn to use the async package.

Bioinformatics

Books

JavaScript

Bioinformatics

Useful Node.js modules

For Streams

  • mississippi - a collection of useful stream utility modules
  • multistream - multistream is equivalent to executing a bunch of commands in sequence in bash
  • multi-read-stream - multi-read-stream is like forking a bunch of processes and reading their output in parallel
  • multi-write-stream - multi-write-stream is forking a bunch of process but writing to them all in parallel

For accessing data

For Web Scrapping

  • Casper.js - Navigation scripting & testing for PhantomJS and SlimerJS

Bionode

  • bionode-template - A base template for quickly creating bionode modules.
  • bionode-ncbi - Node.js module for working with the NCBI API (aka e-utils).

Streams

Quickstart

This is an example of how you can quickly write a Stream in Node.js

var through = require('through2')
var stream = through2.obj(transform)
function transform (obj, enc, next) {
  // do things, example:
  var self = this
  requestSomethingFromDB(obj.name, function(data) {
    obj.data = data
    self.push(obj)
    next()
  })
 }

Tutorials

Releases

No releases published

Packages

No packages published