Skip to content

Instantly share code, notes, and snippets.

@tleonardi
tleonardi / bobR.sh
Created May 22, 2014 10:21
Wrapper script to run Vim-R-plugin R sessions as interactive jobs on LSF platforms
#!/bin/bash
# Wrapper script to run Vim-R-plugin R sessions as interactive jobs on LSF platforms.
# To use it, edit ~/.vimrc and add 'let vimrplugin_r_path = <path_to_script>'
# lets you deicde
echo What version of R do you want?
echo "1) R vX.X.X"
echo "2) R vZ.Z.Z"
echo "3) R vY.Y.Y"
read -t 60 -p '>' answer
@tleonardi
tleonardi / gist:a0d296916cb390b84d8c
Last active August 29, 2015 14:01
Oneliner to plot the number of LSF jobs for the 30 users with most running jobs
bjobs -r -u all | tail -n +2 | awk '{print $2}' | sort | uniq -c | sed 's/^*//' | sort -k1,1nr | head -30 | /usr/bin/gnuplot -persist -e "set boxwidth 0.1;set style fill solid 0.5 border -1; set logscale y;plot '-' using 1:xtic(2) with boxes"
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-family: sans-serif; /* 1 */
@tleonardi
tleonardi / gantt.R
Last active August 29, 2015 14:13
Gantt charts with ggplot2
library(reshape2)
library(ggplot2)
tasks <- c("M1.1: Text \n here",
"M1.2: Text \n here",
"M1.3: Text \n here",
"M2.1: Text \n here",
"M2.2: Text \n here",
"M2.3: Text \n here"
)
@tleonardi
tleonardi / tanimoto.R
Created February 23, 2015 11:52
Tanimoto distance in R
tanimoto <- function(x, similarity=F) {
res<-sapply(x, function(x1){
sapply(x, function(x2) {i=length(which(x1 & x2)) / length(which(x1 | x2)); ifelse(is.na(i), 0, i)})
})
if(similarity==T) return(res)
else return(1-res)
}
x <- data.frame(Samp1=c(0,0,0,1,1,1,0,0,1), Samp2=c(1,1,1,1,1,1,0,0,1), Samp3=c(1,0,0,1,0,0,0,0,0), Samp4=c(1,1,1,1,1,1,1,1,1))
tanimoto(x)
@tleonardi
tleonardi / knitMe.Rmd
Last active September 7, 2015 10:04
Knitr and pandoc-fignos
```{r set-options}
my_hook <- function(x, options) {
if (options$fig.show == 'animate') return(hook_plot_html(x, options))
"%n%" <- knitr:::"%n%"
base = opts_knit$get('base.url') %n% ''
cap = knitr:::.img.cap(options)
if (is.null(w <- options$out.width) & is.null(h <- options$out.height) &
is.null(s <- options$out.extra) & options$fig.align == 'default') {
return(sprintf('![%s](%s%s){#fig:%s} ', cap, base, knitr:::.upload.url(x), options$label))

Keybase proof

I hereby claim:

  • I am tleonardi on github.
  • I am tleonardi (https://keybase.io/tleonardi) on keybase.
  • I have a public key whose fingerprint is E6BA BA6A 0F8A 5B99 24B9 25E0 5FB4 E671 D50A 5A4E

To claim this, I am signing this object:

@tleonardi
tleonardi / tophatScoresAndFlags.md
Created February 25, 2016 11:40
Snippets from TopHat source code that print the flags and scores of the alignments

#Flags and scores in Tophat output

Tophat version 2.1.1

There are two functions 'bool rewrite_sam_record()', with different sets of parameters.

The first one is used for singletons the second for paired alignements:

@tleonardi
tleonardi / tund.sh
Last active April 12, 2016 10:12
Function to make an ssh tunnel that forwards a local display port back to the login node's display port in an LSF cluster that doesn't support X Forwarding
# Tunnel Display
# This function sets up an ssh tunnel that forwards a local display port
# back to the login node's display port. The tunnel is controlled by the
# socket in $HOME/tmp/ssh-${LSB_SUB_HOST}-${HOSTNAME}-${DISPLAY_NUMBER}.
# The ssh tunnel is in the background and keeps running even after the
# interactive shell is closed, thus preventing completion of the LSF job.
# To avoid this, we setup a trap on SIGINT SIGTERM EXIT that uses the ssh
# control socket to signal the tunnel to exit.
tund(){
if [[ -n $LSB_JOBID ]]; then
#!/bin/awk -f
function logfactorial(n, f, i){
f=0
for(i=1;i<=n;i++){
f+=log(i)
}
return f
}
# m: Mean