Skip to content

Instantly share code, notes, and snippets.

View gwangjinkim's full-sized avatar

Gwang-Jin Kim gwangjinkim

  • Pharma
  • Freiburg i. Br., Germany
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 / install-and-start-postgresql-in-conda-locally
Last active November 14, 2024 17:43
How to install and run postgresql in conda
This gist I write, because I couldn't find step by step instructions
how to install and start postgresql locally (using conda within a conda environment - with the result
that you can run it without sudo/admin rights on your machine!)
and not globally in the operating system (which requires sudo/admin rights on that machine).
I hope, this will help especially people new to postgresql (and those who don't have sudo/admin rights on a specific machine but want
to run postgresql there)!
####################################
# create conda environment
@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)
@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 / 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
@gwangjinkim
gwangjinkim / how-to-save-entire-python-sessions-or-objects-or-session-code.py
Last active August 29, 2024 05:45
How to save entire Python sessions, single objects or only a session's code?
"""
Lisp languages support an image-based development cycle at the REPL.
R - having its roots in Lisp - it was first implemented in Scheme - has overtaken this.
R's base command `save.image(filepath)` can save the state of an entire REPL session in a file,
and next time you start R, you can start where you stopped, by hitting `load(filepath)`.
I was asking myself, since Python's REPL is ipython, what supports
similar functionailities for pythonistas.
@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
# 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