Skip to content

Commit

Permalink
Added primer degeneracy investigation
Browse files Browse the repository at this point in the history
  • Loading branch information
gerverska committed Feb 23, 2023
1 parent 6ed3757 commit 937ec25
Show file tree
Hide file tree
Showing 9 changed files with 248 additions and 0 deletions.
55 changes: 55 additions & 0 deletions code/00-degenerate.r
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Calculate annealing temperature for each primer degeneracy ####

# Load packages ####
library(ggplot2)

# Load functions ####
source(file.path('code', '00-functions.r'))

# Define an output directory ####
logs <- file.path('data', 'logs')

# Load IDT data ####
fun.degen <- read.csv(file.path('data', 'fun-degen.csv'))

# Plot the distribution of melting temperatures ####
melt.hist <- ggplot(fun.degen, aes(x = melt_c)) +
geom_histogram(binwidth = 1) +
scale_x_continuous(n.breaks = 10) +
scale_y_continuous(n.breaks = 10) +
xlab('\nMelting temperature (degrees Celsius)') +
ylab('Counts\n') +
theme_classic() +
theme(text = element_text(size = 14),
axis.title.x = element_text(face = 'bold'),
axis.title.y = element_text(face = 'bold'),
legend.title = element_text(face = 'bold'))

file.path(logs, 'melt.png') |> ggsave(melt.hist, width = 9, height = 9)
file.path(logs, 'melt.rds') |> saveRDS(melt.hist, file = _)

degenerate <- function(melt.c = c(57, 59, 61), time.s = 46, diff.c = 3){

df <- fun.degen
df$melt_c_round <- df$melt_c |> round()

filt <- df |> subset(melt_c_round %in% melt.c)

prof <- by(filt,
INDICES = filt$melt_c_round,
FUN = function(x){data.frame(melt_c = unique(x$melt_c_round),
counts = length(x$melt_c_round))
}) |> do.call(rbind, args = _)

prof$prop <- prof$counts / sum(prof$counts)
prof$anneal_c <- prof$melt_c - diff.c
prof$time_s <- (prof$prop * time.s) |> round()

prof

}

# Create output ####
profiles <- degenerate()
file.path(logs, 'profiles.rds') |> saveRDS(profiles, file = _)

32 changes: 32 additions & 0 deletions code/00-degenerate.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash

# Explicitly define every degenerate version of the temperature-limiting 5.8S-Fun primer ####

# Set or make directories for input, output and log files ####
logs="data/logs"
rm -r $logs
mkdir -p $logs

# Define the output directory ####
logs='data/logs'

# Define ambiguous base possibilities ####
Y1='C'
Y2='T'
R1='A'
R2='G'
W1='A'
W2='T'

# Create ambiguity lists ####
Y={$Y1,$Y2}
R={$R1,$R2}
W={$W1,$W2}

# Write a FASTA file ####
eval "echo \>{1..32}" | tr ' ' '\n' > ${logs}/degenerate-names.txt
eval "echo AACTTT"$Y""$R""$R"CAA"$Y"GGATC"$W"CT" | tr ' ' '\n' > ${logs}/degenerate-seq.txt
paste -d '\n' ${logs}/degenerate-names.txt ${logs}/degenerate-seq.txt > ${logs}/degenerate.fa

# Calculate melting temperatures for each degenerate version ####
Rscript code/00-degenerate.r
33 changes: 33 additions & 0 deletions data/fun-degen.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
version,sequence,complement,length,gc,melt_c,mw,ext_coeff,nmole_p_od260,ug_p_od260,delta_g_kcal_p_mole,tm_c
1,AAC TTT CAA CAA CGG ATC ACT,AGT GAT CCG TTG TTG AAA GTT,21,38.1,61.3,6358.2,204600,4.89,31.08,0.96,7.1
2,AAC TTT CAA CAA CGG ATC TCT,AGA GAT CCG TTG TTG AAA GTT,21,38.1,60.8,6349.2,200300,4.99,31.7,0.96,7.1
3,AAC TTT CAA CAA TGG ATC ACT,AGT GAT CCA TTG TTG AAA GTT,21,33.3,59.3,6373.2,205900,4.86,30.95,-0.08,26.2
4,AAC TTT CAA CAA TGG ATC TCT,AGA GAT CCA TTG TTG AAA GTT,21,33.3,58.8,6364.2,201600,4.96,31.57,-0.08,26.2
5,AAC TTT CAG CAA CGG ATC ACT,AGT GAT CCG TTG CTG AAA GTT,21,42.9,63.1,6374.2,202500,4.94,31.48,0.77,7.8
6,AAC TTT CAG CAA CGG ATC TCT,AGA GAT CCG TTG CTG AAA GTT,21,42.9,62.6,6365.2,198200,5.05,32.12,0.77,7.8
7,AAC TTT CAG CAA TGG ATC ACT,AGT GAT CCA TTG CTG AAA GTT,21,38.1,61.2,6389.2,203800,4.91,31.35,-1.56,49.3
8,AAC TTT CAG CAA TGG ATC TCT,AGA GAT CCA TTG CTG AAA GTT,21,38.1,60.7,6380.2,199500,5.01,31.98,-1.56,49.3
9,AAC TTT CGA CAA CGG ATC ACT,AGT GAT CCG TTG TCG AAA GTT,21,42.9,62.8,6374.2,203100,4.92,31.38,-1.25,41
10,AAC TTT CGA CAA CGG ATC TCT,AGA GAT CCG TTG TCG AAA GTT,21,42.9,62.3,6365.2,198800,5.03,32.02,-1.25,41
11,AAC TTT CGA CAA TGG ATC ACT,AGT GAT CCA TTG TCG AAA GTT,21,38.1,60.8,6389.2,204400,4.89,31.26,0.77,14.1
12,AAC TTT CGA CAA TGG ATC TCT,AGA GAT CCA TTG TCG AAA GTT,21,38.1,60.3,6380.2,200100,5,31.89,0.96,7.1
13,AAC TTT CGG CAA CGG ATC ACT,AGT GAT CCG TTG CCG AAA GTT,21,47.6,65.2,6390.2,199800,5.01,31.98,-2.77,63.7
14,AAC TTT CGG CAA CGG ATC TCT,AGA GAT CCG TTG CCG AAA GTT,21,47.6,64.7,6381.2,195500,5.12,32.64,-2.77,63.7
15,AAC TTT CGG CAA TGG ATC ACT,AGT GAT CCA TTG CCG AAA GTT,21,42.9,63.3,6405.2,201100,4.97,31.85,-0.25,30.6
16,AAC TTT CGG CAA TGG ATC TCT,AGA GAT CCA TTG CCG AAA GTT,21,42.9,62.8,6396.2,196800,5.08,32.5,-0.25,30.6
17,AAC TTT TAA CAA CGG ATC ACT,AGT GAT CCG TTG TTA AAA GTT,21,33.3,59.2,6373.2,206100,4.85,30.92,0.96,7.1
18,AAC TTT TAA CAA CGG ATC TCT,AGA GAT CCG TTG TTA AAA GTT,21,33.3,58.7,6364.2,201800,4.96,31.54,0.96,7.1
19,AAC TTT TAA CAA TGG ATC ACT,AGT GAT CCA TTG TTA AAA GTT,21,28.6,57.2,6388.2,207400,4.82,30.8,0.96,7.1
20,AAC TTT TAA CAA TGG ATC TCT,AGA GAT CCA TTG TTA AAA GTT,21,28.6,56.7,6379.2,203100,4.92,31.41,0.96,7.1
21,AAC TTT TAG CAA CGG ATC ACT,AGT GAT CCG TTG CTA AAA GTT,21,38.1,61.1,6389.2,204000,4.9,31.32,0.77,7.8
22,AAC TTT TAG CAA CGG ATC TCT,AGA GAT CCG TTG CTA AAA GTT,21,38.1,60.6,6380.2,199700,5.01,31.95,0.77,7.8
23,AAC TTT TAG CAA TGG ATC ACT,AGT GAT CCA TTG CTA AAA GTT,21,33.3,59.1,6404.2,205300,4.87,31.19,-0.09,27.6
24,AAC TTT TAG CAA TGG ATC TCT,AGA GAT CCA TTG CTA AAA GTT,21,33.3,58.6,6395.2,201000,4.98,31.82,-0.09,27.6
25,AAC TTT TGA CAA CGG ATC ACT,AGT GAT CCG TTG TCA AAA GTT,21,38.1,61.3,6389.2,203400,4.92,31.41,0.48,18.5
26,AAC TTT TGA CAA CGG ATC TCT,AGA GAT CCG TTG TCA AAA GTT,21,38.1,60.8,6380.2,199100,5.02,32.05,0.79,13.9
27,AAC TTT TGA CAA TGG ATC ACT,AGT GAT CCA TTG TCA AAA GTT,21,33.3,59.3,6404.2,204700,4.89,31.29,0.48,18.5
28,AAC TTT TGA CAA TGG ATC TCT,AGA GAT CCA TTG TCA AAA GTT,21,33.3,58.8,6395.2,200400,4.99,31.91,0.79,13.9
29,AAC TTT TGG CAA CGG ATC ACT,AGT GAT CCG TTG CCA AAA GTT,21,42.9,63.7,6405.2,200100,5,32.01,-0.08,26.7
30,AAC TTT TGG CAA CGG ATC TCT,AGA GAT CCG TTG CCA AAA GTT,21,42.9,63.2,6396.2,195800,5.11,32.67,-0.08,26.7
31,AAC TTT TGG CAA TGG ATC ACT,AGT GAT CCA TTG CCA AAA GTT,21,38.1,61.8,6420.2,201400,4.97,31.88,0.87,5.6
32,AAC TTT TGG CAA TGG ATC TCT,AGA GAT CCA TTG CCA AAA GTT,21,38.1,61.3,6411.2,197100,5.07,32.53,0.87,5.6
32 changes: 32 additions & 0 deletions data/logs/degenerate-names.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
>1
>2
>3
>4
>5
>6
>7
>8
>9
>10
>11
>12
>13
>14
>15
>16
>17
>18
>19
>20
>21
>22
>23
>24
>25
>26
>27
>28
>29
>30
>31
>32
32 changes: 32 additions & 0 deletions data/logs/degenerate-seq.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
AACTTTCAACAACGGATCACT
AACTTTCAACAACGGATCTCT
AACTTTCAACAATGGATCACT
AACTTTCAACAATGGATCTCT
AACTTTCAGCAACGGATCACT
AACTTTCAGCAACGGATCTCT
AACTTTCAGCAATGGATCACT
AACTTTCAGCAATGGATCTCT
AACTTTCGACAACGGATCACT
AACTTTCGACAACGGATCTCT
AACTTTCGACAATGGATCACT
AACTTTCGACAATGGATCTCT
AACTTTCGGCAACGGATCACT
AACTTTCGGCAACGGATCTCT
AACTTTCGGCAATGGATCACT
AACTTTCGGCAATGGATCTCT
AACTTTTAACAACGGATCACT
AACTTTTAACAACGGATCTCT
AACTTTTAACAATGGATCACT
AACTTTTAACAATGGATCTCT
AACTTTTAGCAACGGATCACT
AACTTTTAGCAACGGATCTCT
AACTTTTAGCAATGGATCACT
AACTTTTAGCAATGGATCTCT
AACTTTTGACAACGGATCACT
AACTTTTGACAACGGATCTCT
AACTTTTGACAATGGATCACT
AACTTTTGACAATGGATCTCT
AACTTTTGGCAACGGATCACT
AACTTTTGGCAACGGATCTCT
AACTTTTGGCAATGGATCACT
AACTTTTGGCAATGGATCTCT
64 changes: 64 additions & 0 deletions data/logs/degenerate.fa
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
>1
AACTTTCAACAACGGATCACT
>2
AACTTTCAACAACGGATCTCT
>3
AACTTTCAACAATGGATCACT
>4
AACTTTCAACAATGGATCTCT
>5
AACTTTCAGCAACGGATCACT
>6
AACTTTCAGCAACGGATCTCT
>7
AACTTTCAGCAATGGATCACT
>8
AACTTTCAGCAATGGATCTCT
>9
AACTTTCGACAACGGATCACT
>10
AACTTTCGACAACGGATCTCT
>11
AACTTTCGACAATGGATCACT
>12
AACTTTCGACAATGGATCTCT
>13
AACTTTCGGCAACGGATCACT
>14
AACTTTCGGCAACGGATCTCT
>15
AACTTTCGGCAATGGATCACT
>16
AACTTTCGGCAATGGATCTCT
>17
AACTTTTAACAACGGATCACT
>18
AACTTTTAACAACGGATCTCT
>19
AACTTTTAACAATGGATCACT
>20
AACTTTTAACAATGGATCTCT
>21
AACTTTTAGCAACGGATCACT
>22
AACTTTTAGCAACGGATCTCT
>23
AACTTTTAGCAATGGATCACT
>24
AACTTTTAGCAATGGATCTCT
>25
AACTTTTGACAACGGATCACT
>26
AACTTTTGACAACGGATCTCT
>27
AACTTTTGACAATGGATCACT
>28
AACTTTTGACAATGGATCTCT
>29
AACTTTTGGCAACGGATCACT
>30
AACTTTTGGCAACGGATCTCT
>31
AACTTTTGGCAATGGATCACT
>32
AACTTTTGGCAATGGATCTCT
Binary file added data/logs/melt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/logs/melt.rds
Binary file not shown.
Binary file added data/logs/profiles.rds
Binary file not shown.

0 comments on commit 937ec25

Please sign in to comment.