Skip to content

Instantly share code, notes, and snippets.

View ckandoth's full-sized avatar

Cyriac Kandoth ckandoth

View GitHub Profile
@ckandoth
ckandoth / build_perl_5_24.txt
Created May 15, 2017 17:33
Download, install, and build Perl 5.24 in a local folder
# To follow these instructions, we'll assume your system admins have already installed these essentials:
# Debian/Ubuntu system admins should run:
sudo apt-get install -y build-essential libexpat1-dev libssl-dev libmysqlclient-dev libxml2-dev
# RHEL/CentOS system admins should run:
sudo yum groupinstall -y 'Development Tools'
sudo yum install -y expat-devel openssl-devel mysql-devel libxml2-devel
# Create a folder where you want to install different Perls, and cd into it:
# Note that it doesn't need to be your home folder. Put it wherever you want to maintain such software:
export PERL_BASE="$HOME/perl"
@ckandoth
ckandoth / ensembl_vep_88_with_offline_cache.md
Last active May 15, 2018 16:17
Install Ensembl's VEP v88 with various caches for running offline

Ensembl's VEP (Variant Effect Predictor) is popular for how it picks a single effect per gene as detailed here, its CLIA-compliant HGVS variant format, and Sequence Ontology nomenclature for variant effects.

To follow these instructions, we'll assume you have these packaged essentials installed:

## For Debian/Ubuntu system admins ##
sudo apt-get install -y build-essential git libncurses-dev

## For RHEL/CentOS system admins ##
sudo yum groupinstall -y 'Development Tools'
sudo yum install -y git ncurses-devel
@ckandoth
ckandoth / build_python_2_7.txt
Created November 29, 2016 22:12
Download, install, and build Python 2.7.10 in a local folder
# Create a folder where you want to install different Pythons, and cd into it:
# Note that it doesn't need to be your home folder. Put it wherever you want to maintain such software:
export PYTHON_BASE="$HOME/python"
mkdir -p $PYTHON_BASE
cd $PYTHON_BASE
# Download source tarball into a subfolder named src, and untar:
curl --create-dirs -L -o src/Python-2.7.10.tgz https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
cd src
tar -zxf Python-2.7.10.tgz
@ckandoth
ckandoth / ensembl_vep_86_with_offline_cache.md
Last active July 15, 2021 16:26
Install Ensembl's VEP v86 with various caches for running offline

Ensembl's VEP (Variant Effect Predictor) is popular for how it picks a single effect per gene as detailed here, its CLIA-compliant HGVS variant format, and Sequence Ontology nomenclature for variant effects.

To follow these instructions, we'll assume you have these packaged essentials installed:

## For Debian/Ubuntu system admins ##
sudo apt-get install -y build-essential git libncurses-dev

## For RHEL/CentOS system admins ##
sudo yum groupinstall -y 'Development Tools'
sudo yum install -y git ncurses-devel
@ckandoth
ckandoth / ensembl_vep_85_with_offline_cache.md
Last active May 15, 2018 08:50
Install Ensembl's VEP v85 with various caches for running offline

Ensembl's VEP (Variant Effect Predictor) is popular for how it picks a single effect per gene as detailed here, its CLIA-compliant HGVS variant format, and Sequence Ontology nomenclature for variant effects.

To follow these instructions, we'll assume you have these packaged essentials installed:

## For Debian/Ubuntu system admins ##
sudo apt-get install -y build-essential git libncurses-dev

## For RHEL/CentOS system admins ##
sudo yum groupinstall -y 'Development Tools'

sudo yum install -y git ncurses-devel

@ckandoth
ckandoth / ensembl_rest_on_centos6.sh
Created May 30, 2016 20:43
Set up Ensembl v84 REST API on CentOS 6.7
#!/bin/bash
# GOAL: Set up a local instance of Ensembl's database and REST API
# If I don't already have sudo rights, then first login as root with `su`, and type `visudo` to
# edit `/etc/sudoers`, and uncomment this line in that file:
# %wheel ALL=(ALL) ALL
# This allows any user in group `wheel` to use `sudo`. Add myself to the `wheel` group using:
# usermod -a -G wheel kandoth
# Also set `SELINUX=disabled` in `/etc/selinux/config`, because its a PITFA.
@ckandoth
ckandoth / tcga_pancanatlas_mc3_work_log.txt
Created May 2, 2016 16:03
Fetch VCFs generated by TCGA PancanAtlas MC3 unified variant calling effort and curate
# GOAL: Fetch VCFs generated by TCGA PancanAtlas MC3 unified variant calling effort and curate
##########
## DATA ##
##########
# Data from DNANexus/UCSC came in as 3 batches. Batches 1 and 2 had GATK cocleaned bams available,
# while batch 3 needed realignment. Batch 1 had RNA (to run radia), batch 2 didn't. Kyle Elrott
# is the point person for these batches. Available on GChat.
# Batches were later merged by Singer Ma at DNANexus, into a single folder called full_v1.
@ckandoth
ckandoth / ensembl_vep_84_with_offline_cache.md
Last active July 9, 2018 16:53
Install Ensembl's VEP v84 with various caches for running offline

Ensembl's VEP (Variant Effect Predictor) is popular for how it picks a single effect per gene as detailed here, its CLIA-compliant HGVS variant format, and Sequence Ontology nomenclature for variant effects.

To follow these instructions, we'll assume you have these packaged essentials installed:

sudo yum install -y curl rsync tar make perl perl-core
## OR ##
sudo apt-get install -y curl rsync tar make perl perl-base

VEP requires Perl 5.10 or newer, but I'd strongly recommend at least 5.18. If your system Perl is outdated, then follow this gist to set up Perl 5.22. Once that's done, set temporary shell variables pointing to where Perl and its libraries live. Change this as needed for y

@ckandoth
ckandoth / ensembl_vep_82_with_offline_cache.md
Last active March 29, 2019 18:07
Install Ensembl's VEP v82 with various caches for running offline

Ensembl's VEP (Variant Effect Predictor) is popular for how it picks a single effect per gene as detailed here, its CLIA-compliant HGVS variant format, and Sequence Ontology nomenclature for variant effects.

To follow these instructions, we'll assume you have these packaged essentials installed:

sudo yum install -y curl rsync tar make perl perl-core
## OR ##
sudo apt-get install -y curl rsync tar make perl perl-base

You'll also need samtools and tabix in your $PATH, which can be found at htslib.org

@ckandoth
ckandoth / uwsgi_nginx_on_centos6.7.txt
Last active August 10, 2019 22:27
Set up nginx and uwsgi emperor on a CentOS 6.7 box
# GOAL: On a CentOS 6.7 minimal install, set up nginx as a reverse proxy to uWSGI Emperor with python 2.7.11 as a plugin to run Flask apps
# ::NOTE:: All instructions below are run as a sudoer, not as root. Talk to your sysadmins if you're not a sudoer.
# Install bare essentials:
sudo yum install -y epel-release
sudo yum groupinstall 'Development Tools'
sudo yum install -y vim openssl unzip nginx openssl-devel zlib-devel sqlite-devel bzip2-devel libffi-devel lapack-devel blas-devel libpng-devel freetype-devel
# Set SELINUX=disabled in the file below, and reboot, or this tutorial will get unnecessarily complicated: