Skip to content

Instantly share code, notes, and snippets.


Ivan Krukov ivan-krukov

  • Canada
View GitHub Profile
ivan-krukov /
Last active Apr 27, 2016
Get ENSEMBL IDs for a given KEGG pathway


For a given KEGG pathway, we want to get a list of all the genes. Ensembl IDs are convenient here.

KEGG provides a REST API for some tasks, but is far from complete. For example, it is possible to map from KEGG to NCBI IDs, but not to Ensembl IDs.

The implementation peforms the following steps:

ivan-krukov /
Last active May 12, 2020
Show opencv image in ipython notebook
import cv2
import urllib.request
# Will use matplotlib for showing the image
from matplotlib import pyplot as plt
# Plot inline
%matplotlib inline
# For local images, read as usual
ivan-krukov / multinomial.cpp
Created Apr 21, 2016
Generating multinomial random variates via the binomial conditional method
View multinomial.cpp
#include <vector>
#include <numeric>
#include <random>
using namespace std;
template <typename T>
T sum(vector<T> v) {
return accumulate(v.begin(), v.end(), 0.0);
ivan-krukov / print_vector.cpp
Created Apr 19, 2016
Print vectors in C++, easy as `cout << vector << endl`
View print_vector.cpp
template <typename T>
ostream &operator<<(ostream &os, const vector<T> &v) {
os << "[";
typename vector<T>::const_iterator it;
for (it = v.begin(); it != v.end() - 1; ++it) {
os << *it << ", ";
os << *(it) << "]";
return os;
ivan-krukov / R_ify.R
Created Mar 30, 2016
Use dots instead of dollar signs in R
View R_ify.R
# Use dots (.) instead of ($)
R_ify <- function(expr) eval(parse(text=
ivan-krukov /
Last active Mar 17, 2016
Clone all repos for a given user
#Get repo list, filter git urls
curl$GITHUB_NAME/repos > github_response
for repo in `cat github_response | jq -r '.[] | .git_url'`; do;
git clone $repo;
ivan-krukov / hello.fa
Created Aug 24, 2015
Multiple file suffixes in makefile rules
View hello.fa
>sequence 1
ivan-krukov /
Last active Aug 29, 2015
Shuffle and relabel observations in a csv file

#Randomization script

The idea is to do bootstrap resampling on the control dataset to make sure it is appropriate as a control dataset.


python <input.csv> <resample_times>
ivan-krukov /
Last active Aug 29, 2015
My favourite keymap

#Custom Keymap (Lenovo T430)

This will apply settings for both system console and Xorg server.

  • CapsLock will become an extra Esc
  • Home will be switched with PageUp
  • End will be switched with PageDown

This makes sense for the Lenovo T430, where PageUp and PageDown are right next to the arrow keys.


#20 chords A simple chord diagram for amino-acid relationships ##Usage

The input data should be a 20x20 table with tabs as separators.

To run the thing, do this (uses firefox)

git clone
You can’t perform that action at this time.