Skip to content

Instantly share code, notes, and snippets.

View gwangjinkim's full-sized avatar

Gwang-Jin Kim gwangjinkim

View GitHub Profile
@gwangjinkim
gwangjinkim / export_plotly2SVG.R
Created September 14, 2018 11:52 — forked from salim-b/export_plotly2SVG.R
R function to export Plotly graphs as static SVG (and optionally PDF and PNG) images.
# Remarks:
#
# The export is done using the automated testing framework [Selenium](https://
# de.wikipedia.org/wiki/Selenium) which results in opening a browser window
# (Google Chrome) that might has to be closed by hand. Other than Plotly's
# own `export()` function this one also allows to set the `width` and `height`
# of the exported plot (in the former it's hardcoded to 800x600 pixels). If
# `incl_PDF_copy`/`incl_PNG_copy` is set to `TRUE`, the exported SVG additionally
# gets converted to a PDF/PNG using the R package [`rsvg`](https://github.com/
# jeroen/rsvg/tree/40576ac326621b40224db344b09158f4ff717433) which relies on
# TimSort by https://quinston.com/code-snippets/timsort-algorthm-search-code/
import random
def InsertionSort(array):
for x in range (1, len(array)):
for i in range(x, 0, -1):
if array[i] < array[i - 1]:
t = array[i]
@gwangjinkim
gwangjinkim / csv_parsing.py
Last active November 6, 2019 06:26
partly solution for csv parsing problem
import pandas as pd
df = pd.read_csv("XXXXX_20180101_20171231_start.csv", sep=";", header=None)
df_target = pd.read_csv("XXXX_20180101_20171231_test2_target.csv", sep=";", header=None)
"""
inspect by:
df.head()
@gwangjinkim
gwangjinkim / oop.rkt
Last active March 18, 2021 07:22
Message Passing Style and OOP using Racket. About the advantages using OOP. (This code nicely shows how to implement OOP using closures. Attributes are nothing else than closed-over variables. Methods are functions returned from the closure.)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; notes from the book "Vom Problem zum Programm" by Herbert Klaeren and Michael Sperber
;; on object oriented programming
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; object oriented programming = message passing style + state + self + inheritance
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; object = active container in message passing style
@gwangjinkim
gwangjinkim / xlsx2dfs.py
Last active April 23, 2021 15:41
print list of dataframes into excel sheets
#################################################
# solution mainly using pandas functionalities
# reading-in returns an ordered dict (which contains sheet_names as key) -> close to R functionality
# appending to excel like this might be slower
#################################################
def xlsx2dfs(fpath, **kwargs):
return pd.from_excel(fpath, sheet_name=None, **kwargs)
# flagstat.fpath <- "~/testing/br-mgd-srt-srt.txt"
# content of the file (flagstat output):
51712430 + 0 in total (QC-passed reads + QC-failed reads)
0 + 0 secondary
0 + 0 supplementary
0 + 0 duplicates
46380832 + 0 mapped (89.69% : N/A)
# install IGV viewer for visualization of alignments
wget http://data.broadinstitute.org/igv/projects/downloads/2.4/IGV_2.4.8.zip
unzip IGV_2.4.8.zip
cd IGV_2.4.8
bash igv.sh
##############################
# igenomes
##############################
# download GRCm38 from igenomes
wget ftp://igenome:G3nom3s4u@ussd-ftp.illumina.com/Mus_musculus/Ensembl/GRCm38/Mus_musculus_Ensembl_GRCm38.tar.gz
tar xvfz Mus_musculus_Ensembl_GRCm38.tar.gz
@gwangjinkim
gwangjinkim / minimal-commands-CL-emacs.md
Last active March 29, 2023 19:18
Minimal set of commands for (Common) Lisp Developers in Emacs

My minimal set of useful commands for editing Lisp code in Emacs:

Start Emacs

what do
start emacs session type emacs in your terminal
open existing file C-x C-f `` RET (file)
@gwangjinkim
gwangjinkim / install-termux-arch.md
Created April 25, 2020 14:50 — forked from lisp-is-the-future/install-termux-arch.md
How to install TermuxArch in Termux of Android (Samsung Galaxy Tab 10.1)
#################################################################
# How to install Arch in your Android (into the App TermuxArch)
# and be able to use your Android device like a personal computer
# even running a X server to have GUI
#################################################################


###############################
# Install Termux