Instantly share code, notes, and snippets.

# Conor LawlessCnrLwlss

• Sort options
Last active Jun 14, 2019
R script demonstrating a few things: 1) drawing boxplots with notches roughly indicating significance of differences 2) stripcharts using transparency to highlight values of high density 3) overlaying boxplot on stripcharts and 4) writing plots as multi-page .pdf reports
View StripchartOpacity.R
 # Info about boxplot notches https://sites.google.com/site/davidsstatistics/home/notched-box-plots # Article about why not to use barplots https://doi.org/10.1371/journal.pbio.1002128 # Article about being wary of summary statistics and why raw data plots are better than boxplots https://www.autodeskresearch.com/publications/samestats # Generate some fake data concs = seq(0,10,1) concobs = rep(concs,each=500) mdel = function(x) -x^2+10*x+20 vals = mdel(concobs) + rnorm(length(concobs),0,12) dat = data.frame(conc=concobs,val=vals)
Created Mar 14, 2019
Testing whether small deletions are under-represented within fibres containing multiple deletion species
View mtDNASpecies.R
 # Testing whether small deletions are under-represented within fibres containing multiple deletion species # Assume 200 mtDNA molecules per fibre section Nassume = 200 # P7, P15 and P16 are the proportions of smaller mtDNA species in fibres with two or more mtDNA species P7 = c(0.6,0.2,0.49,0.33,0.57,0.75,0.47,0.29,0.27,0.23,0.51,0.54) N7 = rep(Nassume,length(P7)) Ndel7 = c(2,2,3,2,2,2,2,3,2,2,2,2) P15 = c(0.39,0.73,0.37,0.17,0.43,0.53,0.54,0.57)
Last active Sep 19, 2018
Comparing measures of mtDNA mutation load in single cells.
 library(grDevices) library(gtools) dat = read.delim("data/RTdata.txt",sep="\t",stringsAsFactors=FALSE) dat\$PNUM = as.numeric(gsub("P","",dat\$Patient)) dat\$ID = sprintf("P%02d_%04d",dat\$PNUM,dat\$Cell.number) dat\$PAT = sprintf("P%02d",dat\$PNUM) colfunc = colorRamp(c("blue","yellow","red"),space="Lab") colfun = function(x, alpha=1.0) {
Created May 25, 2018
Generating some exploratory plots of mitocyto data.
View explore_mitocyto.R
 # Read data and rename columns dat = read.delim("mitocyto_merged_results.csv",sep=",",stringsAsFactors=FALSE) colnames(dat) = c("value","id","channel","patient_id","patient_type") # Specify which ids correspond to patients, and which to control dat\$patient_type = ifelse(dat\$patient_id=="M1105","patient","control") dat\$patient_id = paste(toupper(substr(dat\$patient_type,1,1)),dat\$patient_id,sep="_") # Specify some colours for plotting dat\$colour = "black"
Created May 22, 2018
How many replicate samples do we need to estimate the mean of a distribution?
View estimate_mu.R
 mu = 5 stdev = 2 N = 100 data = rnorm(N,mu,stdev) pdf = function(x) dnorm(x,mu,stdev) bestmu = function(N,x) sum(x[1:N])/N op=par(mfrow=c(1,2))
Last active Dec 28, 2018
View EM_mito.R
 #install.packages(c("mixOmics","RVAideMemoire")) library(mixOmics) library(RVAideMemoire) # Calculate whether measure is greater in control group after scaling # Used to colour points in VIP plots direction=function(dt,measure){ dts = as.data.frame(scale(dt[,-1])) dts\$Group = dt\$Group res = median(dts[[measure]][dts\$Group=="Control"],na.rm=TRUE) > median(dts[[measure]][dts\$Group!="Control"],na.rm=TRUE)
Created Feb 9, 2018
Converting non-image .tiff data to pseudo-images (8-bit greyscale, high contrast).
View checktiff.py
 from PIL import Image import numpy as np import os for fname in os.listdir("."): if fname.endswith(".tiff"): im=Image.open(fname) arr=np.array(im,dtype=np.uint16) maxval = np.max(arr[arr>0]) minval = np.min(arr[arr>0])
Last active Jan 31, 2018
siRNA screen scatterplots
View CompareCompanies.R
 getReps = function(df,avedef){ dfA = df[df\$RepeatNumber%in%c(1,3,5),] dfB = df[df\$RepeatNumber%in%c(2,4,6),] dfaveA = aggregate(dfA,by=list(dfA\$Gene),FUN=avedef) dfaveA\$Gene = dfaveA\$Group.1 dfaveB = aggregate(dfB,by=list(dfB\$Gene),FUN=avedef) dfaveB\$Gene = dfaveB\$Group.1 dfreps = merge(dfaveA,dfaveB,by="Gene") return(dfreps) }
Last active Dec 6, 2017
View SguaisUibhist_BBC.md

## Sguais Uibhist - East Camp, Balivanich

### A community run squash club

We have renovated the old RAF squash facilities at East Camp. We now have a nice, bright, warm court with changing rooms and great shower facilities available for the community. For the past 12 years, the nearest publicly available squash facilities have been in Portree and Stornoway.

An Caladh (charitable organisation supporting people struggling with addiction) kindly gave us permission to renovate the building and to use it for our club. Without their support, the project would never have gotten off the ground.

After a round of fundraising, we were awarded a large Scottish Landfill Community Fund grant from An Treas Roinn Innse Gall as well as grants from our local councillors, Sealladh na Beinne Mòire and Benbecula Community Council. We have also secured sponsorship from

Last active Sep 18, 2017
Attempt to consume ResortLock webservices
View testlock.py
 import requests import json authDict = {'client_id':'#####', 'client_secret':'#####', 'grant_type':'client_credentials'} authRes = requests.post('https://connect.devicewebmanager.com/oauth/token',json=authDict) print 'Authorisation response from server: ' + authRes.text authFromServer = authRes.json()
You can’t perform that action at this time.