\(\textit{Online interactive version available at http://rpubs.com/zzzlmes/CW}\)

Q1

Assuming flexible ligands on nanoparticles that bind independently and have a uniform random distribution, intramolecular binding coefficient can be expressed as \(K_{intra}=K_{A}c_{eff}\) where \(c_{eff}\) is given by \(c_{eff}=\frac{1}{N_{A}}*a^{3}\). In this case the \(a^{3}\) coefficient describes the volume of the sphere that is accessible to ligands that are tethered to the particle with \(a=R_{g}\left(\frac{4\pi}{3}\right)^{1/3}\).

Assuming theta conditions and straight chain tether \(R_{g}=\frac{1}{6}\sqrt{N}n_{mono}\). Where N is the number of linkers and \(n_{mono}\) is the bond distance. We can estimate a common methylene bridge length of \(0.15 nm\). (To keep the maths simple from now on the rest will be worked through in nanometers.) As \(N*n_{mono}=l(chain length)\), \(R_{g}\) can be expressed as a function of \(l\) and substituted into the expression for \(a\) above. \[R_{g}=\frac{1}{6}\frac{\sqrt{l}}{\sqrt{0.15}}0.15=0.158\sqrt{l}\] \[a=R_{g}\left(\frac{4\pi}{3}\right)^{1/3}=0.255\sqrt{l}\] \(K^{av}_A\) is given by; \[K^{av}_A=a^{3}N_{A}\big\{\left(1 + \frac{\Gamma K_{a}}{a}e^{\beta}\right)^{k}-1\big\}\] \(\beta=kT=4.114 pN*nm\) (\(\Gamma=\) Density of receptors (assuming uniform distribution) \(\Gamma=1/d_{r}^{2}\) where \(d_{r}\) is the inter-receptor distance and \(k\) is the number of ligands on the nanoparticle.) It must be borne in mind that this applies only to a uniform surface covered in a grid of receptors. Effectively meaning that \(d_{r}\) is not related to the number of receptor sites but rather the density as the surface is unbound and flat.

This results in the following expression (\(N_{A}\) ommited to work in a “per molecule” basis). \[ K^{av}_A=0.017l^{3/2}\Big\{\left(1 + \frac{K_{a}}{d_{r}^{2}0.255\sqrt{l}}e^{4.114}\right)^{k}-1\Big\} \] From this value the surface coverage, , can be calculated. is given by; \[ \theta=frac{z q_{b}}{1+z q_{b}} \] \[ q_{b}=K^{av}_A \frac{K_{intra}}{K_{A}} \] \[z=\rho \frac{K_{A}}{K_{intra}} \] \[ \theta=\frac{\rho K^{av}_A}{1+\rho K^{av}_A} \]

Plotted at different values of concenctration () across varying number of ligands (k) and tether lengths (l), the following plot is generated. From bottom to top \(\rho=0.0001,0.001,0.01,0.1\) showing differences in surface coverage at increasing concentrations. These surfaces are generated at receptor seperation of 20nm.

As expected, an increase in the length of tether, number of ligands or concentration increases coverage. As number of ligands is increased, the length of tether influences the outcome less and vice versa. An interesting result of this can be seen when the receptor density is varied across the same test dataset as tether length is kept constant at 30 nm.

This above plot clearly shows that in the case of varying surface receptor density, the system shows a near stepwise behavior at low concentrations. With a massive response at increased receptor density more or less regardless of concentration. The 4 surfaces with decreasing concentration from top to bottom also hint at increased selectivity at low concentrations as the gradient of coverage vs receptor density is highest at the lowest concentration.

Q2 Molecular Shuttle

Molecular Shuttle

Molecular Shuttle

The above molecular shuttle is pseudo stoppered, meaning that the ring needs to slip onto the “shuttle” to generate the corresponding rotaxane under reductive conditions. Oxidation of the system back to the ground state then locks the ring onto the dumbbell between the 2a and 2c units. At this state, the steric hurdle due to isopropylphenol at 2c is lower than the electrostatic repulsion afforded by 2a and 2b, with enough thermal energy, the ring then moves onto the oligomethylene chain(2c to 2d) and becomes kinetically trapped there. After reoxidisation the system can capture yet another ring and drive it towards higher concentration (towards 2d) much like a molecular pump or ratchet.

Q3 Active Colloids

Active Colloids

Active Colloids

Active Colloids3

Active Colloids3

Q4 DNA Origami

It is unlikely that such a shape could be constructed out of octamers with 4 base pairs per side but below is a schematic description and a potential coding of one of very numerous possibilities. The main hurdles to achieving such a shape are, using multiple lengths of short DNA where entropy is working very much against self assembly, misfolds and mismatches are more likely than the shape given. Using short sides with 4 pairs per edge, this increases the torsion in bonds and also makes the assembly very likely to just clump up depending on the solvent.

DNA1
Another option is much simpler, requiring only 2 different unique octamers, using the internal symmetry of the shape, but such a construction (due to only 2 unique octamer chains) would inevitably just form a very long chain instead of an intricate shape as there is no specific reason why the octamer pairs should join up in a hexagonal arrangement.

DNA2

DNA2

Example Code for Q1

T<- 298.5
n<- 8.9E-4
kb<- 1
pi<-3.14159265359
Na<-6
kT<-4.114

alpha<-function(l,dr,k){
  options(digits=22)
  
 a<-0.017*(l^(3/2))*Na
 b<- (2*kT)/((dr^2)*0.255*sqrt(l))
 c<- ((1+b)^k)-1
 d<-Na*a*c
 d
}

densities<-function(l,dr,k,m){
  t<-m*alpha(l,dr,k)/(1+m*alpha(l,dr,k))
}

fixdrdens<-function(l,k){
  t<-0.0001*alpha(l,20,k)/(1+0.0001*alpha(l,20,k))
}


l<-c(1:100)
k<-c(2:100)
m<-0.0001

z1<-outer(l,k,function(l,k){
  t<-0.0001*alpha(30,l,k)/(1+0.0001*alpha(30,l,k))
})
z2<-outer(l,k,function(l,k){
  t<-0.001*alpha(30,l,k)/(1+0.001*alpha(30,l,k))
})

z3<-outer(l,k,function(l,k){
  t<-0.01*alpha(30,l,k)/(1+0.01*alpha(30,l,k))
})
z4<-outer(l,k,function(l,k){
  t<-0.1*alpha(30,l,k)/(1+0.1*alpha(30,l,k))
})



plot_ly(showscale=FALSE) %>% add_surface(z=z1,x=k,y=l,opacity=0.99) %>%  add_surface(z=z2,x=k,y=l,opacity=0.995)%>%  add_surface(z=z3,x=k,y=l,opacity=0.996)%>%add_surface(z=z4,x=k,y=l,opacity=0.997)%>%
  layout(title = "Coverage vs Concentration, Receptor Density and # Ligands",
         scene = list(
           xaxis = list(title = "No of Ligands"), 
           yaxis = list(title = "Inter-receptor distance / nm"), 
           zaxis = list(title = "Coverage")))

Example Code for Q3

T<- 298.5
n<- 8.9E-4
kb<- 1.38064852E-23
pi<-3.14159265359

Dt <- function(R){
  p <- (kb*T)/(6*pi*n*R)
  p
}

Tr <- function(R){
  p <- (8*pi*n*(R^3))/(kb*T)
  p
}

q3 <- function(R,v,t){
  p <- (4*Dt(R) + (v^2)*Tr(R))*t + (((v^2)/2)*(Tr(R)^2))*(exp(-2*t/Tr(R) ) -1)
  p
}

library(ggplot2)
library(manipulate)

t<-seq(from=0, to=100, length.out=100000)

manipulate({

data<-q3(R,v,t)
par(mfrow=c(1,1))
plot(y=data11,x=t,log="xy",type='l',ylab="MSD(t) / m",xlab="t /s",col=col[1])
lines(y=data12,x=t,type="l",col=col[2])
lines(y=data13,x=t,type="l",col=col[3])

print(R)
print(v)
},

R=slider(0.00000001,0.000001),
v=slider(0,0.0001)
)


if(FALSE){
t1<-seq(from=-4, to=1, length.out=100)
V1<-seq(from=-4, to=10, length.out=100)
t2<-10^t1
V2<-10^V1
z1<-scale(outer(V2,t2,steadiRE7))
z2<-scale(outer(V2,t2,steadiRE6))
z3<-scale(outer(V2,t2,steadiRE5))
plot_ly(showscale=FALSE) %>% add_surface(z=z1,x=log10(t2),y=log10(V2),opacity=0.99) %>% add_surface(z=z2,x=log10(t2),y=log10(V2),opacity=0.99)%>% add_surface(z=z3,x=log10(t2),y=log10(V2),opacity=0.99)}