The goal of today's practical session is to get your hands dirty with bedtools. We will be studying ChiP-seq data from three different cell types. Each cell type was assayed for H3K27ac. Our research goal is to understand and explore the similarities and differences between the ChIP peaks observed in the 3 different cell types.
----------------- | |
-- Microlight - a very compact Lua utilities module | |
-- | |
-- Steve Donovan, 2012; License MIT | |
-- @module ml | |
local ml = {} | |
--- String utilties. | |
-- @section string |
#!/bin/bash | |
# check commands: slopBed, bedGraphToBigWig and bedClip | |
which bedtools &>/dev/null || { echo "bedtools not found! Download bedTools: <http://code.google.com/p/bedtools/>"; exit 1; } | |
which bedGraphToBigWig &>/dev/null || { echo "bedGraphToBigWig not found! Download: <http://hgdownload.cse.ucsc.edu/admin/exe/>"; exit 1; } | |
which bedClip &>/dev/null || { echo "bedClip not found! Download: <http://hgdownload.cse.ucsc.edu/admin/exe/>"; exit 1; } | |
# end of checking |
########################################## | |
# Step 0. setup a list of sample names. | |
# Assume that each of your gzipped | |
# FASTQ files is named as follows: | |
# sample1.1.fq.gz | |
# sample1.2.fq.gz | |
# sample2.1.fq.gz | |
# sample2.2.fq.gz | |
# ... | |
# sampleN.1.fq.gz |
#!/bin/bash | |
# Usage: deinterleave_fastq.sh < interleaved.fastq f.fastq r.fastq [compress] | |
# | |
# Deinterleaves a FASTQ file of paired reads into two FASTQ | |
# files specified on the command line. Optionally GZip compresses the output | |
# FASTQ files using pigz if the 3rd command line argument is the word "compress" | |
# | |
# Can deinterleave 100 million paired reads (200 million total | |
# reads; a 43Gbyte file), in memory (/dev/shm), in 4m15s (255s) | |
# |
# 1. Get the ENCODE segmentations from EBI. | |
# consensus | |
wget http://ftp.ebi.ac.uk/pub/databases/ensembl/encode/awgHub/byDataType/segmentations/jan2011/gm12878.combined.bb | |
wget http://ftp.ebi.ac.uk/pub/databases/ensembl/encode/awgHub/byDataType/segmentations/jan2011/h1hesc.combined.bb | |
wget http://ftp.ebi.ac.uk/pub/databases/ensembl/encode/awgHub/byDataType/segmentations/jan2011/helas3.combined.bb | |
wget http://ftp.ebi.ac.uk/pub/databases/ensembl/encode/awgHub/byDataType/segmentations/jan2011/hepg2.combined.bb | |
wget http://ftp.ebi.ac.uk/pub/databases/ensembl/encode/awgHub/byDataType/segmentations/jan2011/huvec.combined.bb | |
wget http://ftp.ebi.ac.uk/pub/databases/ensembl/encode/awgHub/byDataType/segmentations/jan2011/k562.combined.bb | |
# Segway (ahem; https://twitter.com/michaelhoffman/status/246679147164880897) |
library(SNPRelate) | |
library(FDb.UCSC.snp137common.hg19) | |
library(hash) | |
args = commandArgs(TRUE) | |
vcf.fn = args[1] | |
gds.fn = paste0(args[1], ".gds") |
For most of the tools on here, if you follow the GitHub repos back to the user that owns the repo, they usually have other cool Clojure tools they build. Just a general observation about the Clojure community.
Learnings
- Clojure home - There's a ton of good stuff here, like the rationale behind the design and explanations of the best features of Clojure.
- Clojure.github.io - The core Clojure documentation. Useful for looking up functions and such.
- Clojuredoc - Community written Clojure documentation and articles
- Clojure Koans - Learn Clojure with Koans
- When you get stuck, use these YouTube videos to help you.
- 4Clojure - Solve simple problems to stretch your Clojure skills
dad | mom | kid | Inheritance description |
---|---|---|---|
HOM_REF | HOM_REF | HOM_REF | Expected |
HOM_REF | HOM_REF | HET | Mendelian violation (plausible de novo) |
HOM_REF | HOM_REF | HOM_ALT | Mendelian violation (implausible de novo) |
HOM_REF | HOM_ALT | HOM_REF | Mendelian violation (uniparental disomy) |
HOM_REF | HOM_ALT | HET | Expected |
HOM_REF | HOM_ALT | HOM_ALT | Mendelian violation (uniparental disomy) |
HOM_REF | HET | HOM_REF | Expected |
HOM_REF | HET | HET | Expected |
I've been wanting to do a serious project in Go. One thing holding me back has been a my working environment. As a huge PyCharm user, I was hoping the Go IDE plugin for IntelliJ IDEA would fit my needs. However, it never felt quite right. After a previous experiment a few years ago using Vim, I knew how powerful it could be if I put in the time to make it so. Luckily there are plugins for almost anything you need to do with Go or what you would expect form and IDE. While this is no where near comprehensive, it will get you writing code, building and testing with the power you would expect from Vim.
I'm assuming you're coming with a clean slate. For me this was OSX so I used MacVim. There is nothing in my config files that assumes this is the case.