Skip to content

Instantly share code, notes, and snippets.

Avatar

André F. Rendeiro afrendeiro

View GitHub Profile
@afrendeiro
afrendeiro / fix_indica_tiff.py
Last active Jun 30, 2022
Read IndicaLabs TIFF files (exported from HALO) and write TIFF file.
View fix_indica_tiff.py
"""
Convert a TIFF file generated by IndicaLabs (HALO) to a usable TIFF file.
"""
import typing as tp
from pathlib import Path
from xml.etree import ElementTree
import tifffile
from tifffile.tiffcomment import tiffcomment
View macsima_liver.py
from pathlib import Path
import tifffile
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
from stardist.models import StarDist2D
from csbdeep.utils import normalize
_dir = Path("HumanLiverH35")
files = list(
@afrendeiro
afrendeiro / markers_to_cell_type_labels.yaml
Last active May 9, 2022
Annotation of marker epitopes for various cell types
View markers_to_cell_type_labels.yaml
# This annotation of cell type markers is tailored for surface proteins
# normally profilid with multiplexed imaging (IMC, CODEX).
# It is a simple reference for myself and may be more detailed in some parts than others.
# This reference is hierarchical.
# This annotation is generally pan-tissue.
# Author: Andre Rendeiro
# License: CC BY-SA 2.0
cell_types:
structural:
@afrendeiro
afrendeiro / mask_to_labelme_json.py
Created Jul 7, 2021
Convert a labeled image mask to a JSON file compatible with labelme. Useful to export predictions and then fine tune by hand with labelme.
View mask_to_labelme_json.py
import pathlib
import numpy as np
def mask_to_labelme(
labeled_image: np.ndarray,
filename: pathlib.Path,
overwrite: bool = False,
simplify: bool = True,
simplification_threshold: float = 5.0,
View triangular_clustermap.py
import string
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# generate some data
n_groups = 4
n_per_group = 5
@afrendeiro
afrendeiro / plotNucleosomeFits.py
Last active May 24, 2021
From a paired-end bam file, plot the frequency of insert sizes and a fit
View plotNucleosomeFits.py
def plot_fragment_sizes_fit(bam, plot, outputCSV, maxInsert=1500, smallestInsert=30):
"""
Heavy inspiration from here:
https://github.com/dbrg77/ATAC/blob/master/ATAC_seq_read_length_curve_fitting.ipynb
"""
try:
import pysam
import numpy as np
import matplotlib.mlab as mlab
@afrendeiro
afrendeiro / interactive_volume_viewer.py
Created May 21, 2021
An example program to display a volumetric image from the command line using matplotlib
View interactive_volume_viewer.py
#!/usr/bin/env python
"""
An example program to display a volumetric image from the command line.
"""
import sys
import typing as tp
from urlpath import URL
from functools import partial
@afrendeiro
afrendeiro / series_matrix2csv.py
Created May 26, 2017
GEO Series matrix to project and sample annotations
View series_matrix2csv.py
def series_matrix2csv(matrix_url, prefix=None):
"""
matrix_url: gziped URL with GEO series matrix.
"""
import gzip
import pandas as pd
os.system("wget {}".format(matrix_url))
filename = matrix_url.split("/")[-1]
@afrendeiro
afrendeiro / upload_zipfiles_to_box.py
Created Feb 1, 2021
Upload content of zipfiles to box.com programmatically
View upload_zipfiles_to_box.py
#!/usr/bin/env python
"""
Upload images inside zip files to box.com.
"""
import sys, time, webbrowser, json, zipfile, tempfile, urllib3
from argparse import ArgumentParser
from pathlib import Path
from typing import Dict, List, Generator