Skip to content

Instantly share code, notes, and snippets.

I may be slow to respond.

Francesco G. Brundu fbrundu

I may be slow to respond.
View GitHub Profile
fbrundu /
Created Apr 5, 2017
Use local R installation
alias R="<path_to_R>/R-X.Y.Z/bin/R"
export R_LIBS="<path_to_R>/packages"
export PATH="<path_to_R>/R-X.Y.Z/bin:${PATH}"
fbrundu /
Created Mar 27, 2017
Retrieve TCGA gene expression data using GDC api
# -*- coding: utf-8 -*-
import logging as log
import pandas as pd
import requests as rq
class TCGA:
def __init__(self, gdc_url='', per_page=100,
fbrundu / onedark-vivid.terminal
Created Mar 8, 2017
one dark vivid macOS terminal scheme
View onedark-vivid.terminal
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "">
<plist version="1.0">
fbrundu / custom.css
Created Apr 6, 2015
Custom css for ipython3 notebook
View custom.css
.CodeMirror, div.prompt.input_prompt, div.prompt.output_prompt, pre {
font-family: "Inconsolata for Powerline";
font-size: 100%;
View skeleton-ipython-css
html {
font-size: 62.5% !important; }
body {
font-size: 1.5em !important; /* currently ems cause chrome bug misinterpreting rems on body element */
line-height: 1.6 !important;
font-weight: 400 !important;
font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
color: #222 !important; }
fbrundu /
Created Mar 5, 2015
Correct a TCGA assembled tsv file (tab delimited), formatting sample names for tsv columns
import pandas as pd
import sys
import re
tcga_tsv = sys.argv[1]
tcga = pd.read_table(tcga_tsv, sep='\t', index_col=0)
oldcolumns = tcga.columns.tolist()
newcolumns = ['-'.join(re.findall(r'TCGA[^_]*', oc)[0].split('-')[:4])
fbrundu /
Created Feb 24, 2015
Log2ratio transformation, feature selection and simple random sampling on a gene expression matrix
import pandas as pd
import numpy as np
import sys
import random as rnd
csv = sys.argv[1]
out = sys.argv[2]
df = pd.read_table(csv, sep='\t', index_col=0)
fbrundu /
Created Feb 24, 2015
Transform tab separated matrix to gct file
import pandas as pd
import sys
import glob
import os
# input / output directory
input_dir = sys.argv[1]
# input file extension
input_ext = sys.argv[2]
# cardinality of index columns (rownames)
fbrundu /
Last active Feb 17, 2021
Calculate binomial probability in Python with SciPy

If you bet on "red" at roulette, you have chance 18/38 of winning. Suppose you make a sequence of independent bets on “red” at roulette, with the decision that you will stop playing once you have won 5 times. What is the chance that after 15 bets you are still playing?

We use [binomial][1] probability mass function. To calculate the probability, you have to estimate the probability of having up to 4 successful bets after the 15th. So the final probability will be the sum of the probability to get 0 successful bets in 15 bets, plus the probability to get 1 successful bet, ..., to the probability of having 4 successful bets in 15 bets.

To achieve it:

import scipy.stats as ss

n = 15         # Number of total bets
p = 18./38     # Probability of getting "red" at the roulette
fbrundu /
Last active Feb 15, 2021
Calculate hypergeometric probability with Python SciPy

A poker hand consists of 5 cards dealt at random without replacement from a standard deck of 52 cards of which 26 are red and the rest black. A poker hand is dealt. Find the chance that the hand contains three red cards and two black cards.

To achieve it, we use the [hypergeometric][1] probability mass function. We want 3 cards from the set of 26 red cards and 2 from the set of 26. So the parameters for the hypergeometric function are:

M = 52  # Total number of cards
n = 26  # Number of Type I cards (e.g. red cards) 
N = 5   # Number of draws (5 cards dealt in one poker hand)
k = 3   # Number of Type I cards we want in one hand