Menu

Cluster

Robert Kofler
Attachments
cluster-on-off.png (126791 bytes)

Suppression of TEs by piRNA clusters

To test if suppression of TEs by piRNA clusters is simulated correctly we simulated two scenarios:

  • TE invasion without any piRNA cluster (0% cluster size)
  • TE invasion when the whole genome consists of a piRNA cluster (100% cluster size)

We obtained the following results:

  • 0%: shows TE invasion in a population without piRNA cluster; the expected exponential increase in TE copy numbers is observed (y-achsis is log10)
  • 100%: shows TE invasion in a population where every position in the genome is a piRNA cluster; as expected the TE is inactive and the TE insertions are subject to genetic drift.

Conclusion

The major property of piRNA clusters, ie. the suppression of TE activity, is accurately simulated.

Material and Methods

Simulations

genome="kb:1000"
rec="cm_mb:4"
java -jar invade.jar cluster --min-w 0.1 --genome $genome --rr $rec  --u 0.1 --N 1000 --gen 100 --basepop seg:10 --rep 100 --silent --steps 1 --cluster-insertions 1 --simid "0%"  > c0pc.txt  &
java -jar invade.jar cluster --min-w 0.1 --genome $genome --rr $rec  --u 0.1 --N 1000 --gen 100 --basepop seg:10 --cluster kb:1000 --rep 100 --silent --steps 1 --cluster-insertions 1 --simid "100%"  > c100pc.txt  &
# at the end
cat c* > results.txt

Visualization

The following R-code was used to visualize the results

library(ggplot2)
library(RColorBrewer)
library(plyr)
library(gridExtra)
theme_set(theme_bw())


t<-read.table("results.txt")
names(t)<-c("rep","gen","c1","c2","c3","tes","c4","fix","c5","c6","c7","s2","c8","c9","c10","c11","c12","c13","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","s13","s14","s15","sid")
t$rep<-as.factor(t$rep)
t<-subset(t,sid=="0%"|sid=="100%")

gl<-ggplot()+geom_line(data=t,aes(x=gen,group=rep,y=tes*1000),alpha=0.4)+scale_y_log10()+theme(legend.position="none")+ylab("TE copies in population")+xlab("generation")+facet_grid(.~sid)
png(filename="cluster-on-off.png",width=500,height=500,units="px")
plot(gl)
dev.off()