Skip to content

Instantly share code, notes, and snippets.

## Arranging plots with patchwork. For details see this manual page: https://ggplot2-book.org/arranging-plots.html
## Load libraries and create some sample data
library(ggplot2); library(reshape2); library(patchwork)
iris_mean <- aggregate(iris[,1:4], by=list(Species=iris$Species), FUN=mean)
df_mean <- melt(iris_mean, id.vars=c("Species"), variable.name = "Samples", value.name="Values")
## Create lots of plots
p1 <- ggplot(cbind(iris, Samples="Sepal.Length"), aes(Species, Sepal.Length)) + geom_boxplot(aes(fill = Species)) + ylim(4, 8) + theme(axis.title.x=element_blank(), axis.title.y=element_blank(), legend.position = "none") + facet_grid(rows = ~Samples) + ggtitle("(A)") + theme(plot.title = element_text(hjust=-0.3))
p2 <- ggplot(df_mean[df_mean$Samples=="Sepal.Width",], aes(Species, Values)) + geom_bar(position="dodge", aes(fill = Species), stat="identity") + yli
@tgirke
tgirke / processFileInChunks.R
Last active December 25, 2018 22:44
Streaming through large tabular files in R
################################################
## Streaming through large tabular files in R ##
################################################
## Author: Thomas Girke
## Last update: 21-Dec-2018
## Utility: the function 'processFileInLineChunks' streams through a file in
## batches of lines and applies to each imported line batch a function assigned
## to the 'myFct' argument. The number of lines processed in each iteration can
## be defined under the 'n_rows' argument. As importer functions, both 'fread'
@tgirke
tgirke / motifEnrich.R
Last active April 11, 2021 23:58
Motif enrichment for ChIP-Seq
###############################
## PWM matching in sequences ##
###############################
## Date: May 22, 2020
## Starter code for ChIP-Seq1 project
library(MotifDb)
as.list(query(MotifDb, 'athaliana'))
as.list(query(MotifDb, 'hsapiens'))
@tgirke
tgirke / hmmscan.R
Last active May 28, 2018 21:57
Map Pfam domain with HMMER3
##############################################
## Map Pfam Domains to Proteins with HMMER3 ##
##############################################
## Author: Thomas Girke
## Date: May 11, 2018
## Utility: mapping of Pfam domains to protein sequences.
## The module load and Pfam database paths given below are specific to the HPCC/biocluster system.
## For details consult the man page for hmmscan from the command-line with 'hmmscan -h'
@tgirke
tgirke / crouton.md
Last active September 10, 2022 23:29
Crouton
@tgirke
tgirke / kegg_cmp_download.R
Last active March 8, 2018 15:35
KEGG CMP Download into R
####################################################
## Import of KEGG Compounds into SDFset Container ##
####################################################
## Date: March 07, 2018
## Motivation: response to request on Bioc support list: https://support.bioconductor.org/p/106712/
################################
## Download KEGG CMPs via URL ##
################################
###################################################################
## Alignment Stats with Support for FASTQ Files with >500M Reads ##
###################################################################
alignStats <- function(args) {
fqpaths <- infile1(args)
bampaths <- outpaths(args)
bamexists <- file.exists(bampaths)
fqpaths <- fqpaths[bamexists]
bampaths <- bampaths[bamexists]
## Obtain total read number from FASTQ files
@tgirke
tgirke / _Nvim-R-Tmux.md
Last active October 13, 2023 05:29
Nvim-R-Tmux: An Integrated Working Environment for R

Nvim-R-Tmux: Neovim-based IDE for R

!!! This Gist tutorial is deprecated. Its new version is available here !!!

This is some red text.

  • Author: Thomas Girke
  • Last update: 18-Nov-2020

@tgirke
tgirke / BiocGitHub.md
Last active June 11, 2023 23:09
New Bioc-GitHub Source Control

Bioconductor-GitHub Package Sync

This page outlines how to maintain and sync R packages to both GitHub and Bioconductor's new git source control system.

Note: the master branch has been renamed to devel branch following the instructions here (Mar-2023).


Table of Content

@tgirke
tgirke / reactiveUrl.R
Last active July 26, 2019 13:37
Shiny app example with reactive URL to query database with IDs
###############################################
## Shiny App Example with Reactive URL Input ##
###############################################
## Author: Yuzhu Duan & Thomas Girke
## Last update: 06-Jul-17
## Usage: save this file under name app.R to your shiny app directory, e.g. reactiveUrl
## Run in parent directory the following from within R:
## > library(shiny)
## > runApp(reactiveUrl)