Skip to content

Instantly share code, notes, and snippets.

View kaspermunch's full-sized avatar

Kasper Munch kaspermunch

View GitHub Profile
@kaspermunch
kaspermunch / header_magic.py
Created December 16, 2025 13:18
Notebook header for %%header cell magic
import sys, os
from functools import partial
import warnings
import numpy as np
import pandas as pd
from numpy.random import gamma
from numpy.random import beta
from scipy import stats
@kaspermunch
kaspermunch / gitHub-ssh-key.sh
Created September 17, 2025 12:37
Set up ssh keys on GitHub
echo ""
echo "Log into GitHub through the browser using a one-time code"
gh auth login --hostname github.com -p ssh --skip-ssh-key --web --scopes "admin:public_key,repo,read:org"
filename="$HOME/.ssh/id_ed25519"
echo "Generatig SSH key"
if [[ ! -f "$filename" ]]; then
ssh-keygen -t ed25519 -f "$filename" -N ""
@kaspermunch
kaspermunch / download_4dn.py
Created July 14, 2025 12:52
Download script for 4dnuleome database
import os
import requests
from requests.auth import HTTPBasicAuth
import json
from tqdm.notebook import tqdm
def download_4dn(identifier, dowload_dir=os.getcwd(), pgbar=False):
def download_file(url, dowload_dir=dowload_dir:
if not os.path.exists(dowload_dir):
#!/usr/bin/env bash
usage=$(cat <<-END
Use like this:
gdk-code -m <memory> -t <walltime> -a <account> ~/some/dir/on/genomedk
The following needs to be part of your .ssh/config file:
@kaspermunch
kaspermunch / stars.py
Last active March 27, 2025 08:27
Significance stars
def stars(p):
return '*' * (-np.log10(p / 5) - 1)
@kaspermunch
kaspermunch / fisher_method.py
Created March 22, 2025 09:21
Fishers method for combining independent p-values
import itertools
import matplotlib.pyplot as plt
from matplotlib.ticker import FuncFormatter
import seaborn as sns
import pandas as pd
import numpy as np
from scipy.stats import chi2
%config InlineBackend.figure_format = 'retina'
def fisher_method(pvalues):
@kaspermunch
kaspermunch / gdk-code.sh
Last active December 9, 2024 19:43
Bash script for lauching VSCode on a GenomeDK compute node
#!/usr/bin/env bash
usage=$(cat <<-END
Use like this:
gdk-code <memory> <walltime> <environment> <projectdir> <> ~/some/dir/on/genomedk
The following needs to be part of your .ssh/config file:
@kaspermunch
kaspermunch / fishers_exact_test.py
Last active July 16, 2024 14:52
Fishers exact test from Google sheet columns
from scipy.stats import fisher_exact
import pandas as pd
from IPython.display import display, Markdown
def read_google_sheet():
SHEET_ID = '1JSjSLuto3jqdEnnG7JqzeC_1pUZw76n7XueVAYrUOpk'
SHEET_NAME = 'Sheet1'
url = f'https://docs.google.com/spreadsheets/d/{SHEET_ID}/gviz/tq?tqx=out:csv&sheet={SHEET_NAME}'
df = pd.read_csv(url, header=1, dtype='str')
return df.loc[:, [not x.startswith('Unnamed') for x in df.columns]]
@kaspermunch
kaspermunch / custom_color_map.py
Created April 25, 2024 15:40
custom color map
import matplotlib.pyplot as plt
import matplotlib.colors as clr
import numpy as np
some_matrix = np.random.rand(10, 10)
cmap = clr.LinearSegmentedColormap.from_list('custom colormap',
['white', 'gold', 'red', 'magenta', 'blue', 'black'],
N=256)
sns.heatmap(some_matrix, cmap=cmap)
@kaspermunch
kaspermunch / dark_theme.py
Created April 14, 2024 19:47
Jupyter lab dark theme following dark mode
# set dark plots if theme is dark
user_settings = '~/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/themes.jupyterlab-settings'
if 'JupyterLab Dark' in open(os.path.expanduser(user_settings)).read():
style = {'axes.facecolor': '#111111',
'axes.edgecolor': '.99',
'axes.labelcolor': '.99',
'figure.facecolor': '#111111',
'grid.color': '.0',
'text.color': '.99',
'xtick.color': '.99',