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"
@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 / 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
@tleonardi
tleonardi / david2html
Created January 27, 2017 11:36
Converts DAVID functional annotations to html
# Converts a tab-separated file containing
# DAVID's functional annotation results to
# Markdown format
# It reports: KEGG and GO terms along with
# the gene symbol and name
FILE=
cut -f 1,2,5,6,7,9 $FILE | awk '
BEGIN{OFS=FS="\t"}NR>1{
print "#"$1
@tleonardi
tleonardi / plotDispEsts2.R
Created August 29, 2018 13:15
Replacement for DESeq2 plotDispEsts() tha uses ggplot2
plotDispEsts2 <- function(dds){
require(dplyr)
require(reshape2)
require(ggplot2)
as.data.frame(mcols(dds)) %>%
select(baseMean, dispGeneEst, dispFit, dispersion) %>%
melt(id.vars="baseMean") %>%
filter(baseMean>0) %>%
ggplot(aes(x=baseMean, y=value, colour=variable)) +
geom_point(size=0.1) +