Skip to content

Instantly share code, notes, and snippets.

#!/bin/bash
# Deduplicates all .txt files in sudirs
# creates file with .dedup postfix
# keeps one header line if file does not contains comments
# keeps two header lines if file contains comments
find . -name '*.txt' | parallel -k "f=$(mktemp -t mskimpact) &&" sort {} '|' uniq -d '>' '$f' '&&' test -s '$f' '&&' '('grep -q '^#' {} '&&' '('head -2 {} '>' {}.dedup '&&' tail -n +3 {} '|' sort '|' uniq '>>' {}.dedup')' '||' '('head -1 {} '>' {}.dedup '&&' tail -n +2 {} '|' sort '|' uniq '>>' {}.dedup'))'
# to replace all files run:
#find . -name '*.dedup' | parallel -k 'f='{} '&&' mv {} '${f/.dedup/}'
#!/bin/bash
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
export PORTAL_HOME=$DIR
@inodb
inodb / gbgrep
Created November 5, 2015 23:14 — forked from nas/gbgrep
git blame with grep
#!/usr/bin/env ruby
grep = `git grep -n #{ARGV[0]} #{ARGV[1]}`
puts "\n-----------------------------------------------------------"
puts "GREP RESULT"
puts '-----------------------------------------------------------'
puts grep
files = grep.scan /.*\:\d+/
This file has been truncated, but you can view the full file.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Bokeh Plot</title>
<style>
/* BEGIN /Users/debruiji/anaconda/lib/python2.7/site-packages/bokeh/server/static/css/bokeh.min.css */
@inodb
inodb / string-format.js
Created February 25, 2016 23:13 — forked from poxip/string-format.js
Python-like string format in JavaScript
/**
* Python-like string format function
* @param {String} str - Template string.
* @param {Object} data - Data to insert strings from.
* @returns {String}
*/
var format = function(str, data) {
var re = /{([^{}]+)}/g;
return str.replace(/{([^{}]+)}/g, function(match, val) {
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@inodb
inodb / grep_color_barcodes.sh
Created May 25, 2016 23:47
Use grep --color=always to color a file by another file of patterns. Pretty useful for sequencing analysis
color_grep_file() {
COLOR_CMD="cat $1"
echo $COLOR_CMD
local i=31;
while read line; do
echo $line
COLOR_CMD="$COLOR_CMD | GREP_COLOR='01;$i' grep --color=always -E '$line|$'"
i=$(( $i + 1 ))
done < $2
COLOR_CMD="$COLOR_CMD | less -RS"
@inodb
inodb / deletion_fastq_simulation_ensembl_api.md
Last active June 3, 2016 17:49
Generate deletions of arbitrary length in hg19 using ensembl rest api

Generate reads with deletions of arbitrary length using ensembl rest api

for del_size in 10 30 50 70 90 150 300 600
do
  chr=17
  start_pos=4126000
  read_length=100
  ens_url="http://grch37.rest.ensembl.org/sequence/region/human/"
  qual=$(python -c "print 'A'*${read_length}")
  (
@inodb
inodb / 20161012_frontend_dev_workshop.md
Last active October 12, 2016 16:52
Frontend dev workshop 20161012

20161002 Frontend dev workshop

Set up cbioportal-frontend

Check out the README at https://github.com/cBioPortal/cbioportal-frontend/ for up to date info

Try to make a component

Make a new component that show the Patient Information on a single line, instead of in a table. We would like that line to be in the PatientHeader component. You could name it PatientInline similar to SampleInline.

@inodb
inodb / gene_lengths.md
Last active December 22, 2016 17:09
Gene lengths in Jupyter notebook

Gene lenghts from ENSEMBL REST API

Use inside notebook (uses ! syntax):

import json
import pandas as pd

def get_gene_length(gene):
    gene_info = \
        !curl -s "http://grch37.rest.ensembl.org/xrefs/symbol/homo_sapiens/"{gene} -H 'Content-type:application/json' | \
 jq '.[0].id' | tr -d '"' | \