Showing unilateral and bilateral VPNs.
VPN_score_mat <- load_si_data('VPN_score_mat.rds')
options(flycircuit.scoremat="VPN_score_mat")
Hierarchical clustering for unilateral VPNS. Dividing into 21 groups.
uvpnshc=hclustfc(uvpns)
uvpnshc$height=sqrt(uvpnshc$height)
uvpnshcc=colour_clusters(uvpnshc, k=21, groupLabels=as.roman)
labels(uvpnshcc)=NULL
par(mar=c(0,2,0,0), cex=0.5)
plot(uvpnshcc)
abline(h=height_for_ngroups(uvpnshc, k=21), lty='dashed')
Plot diagram of the neuropils used for overlap for unilateral VPNs. Central brain:
allneuropils=getRegionsFromSurf(FCWBNP.surf)
notolr=setdiff(allneuropils, olr)
cb=setdiff(allneuropils, c(olr, oll))
nopen3d()
## glX
## 5
#op=par3d(no.readonly=T)
#dput(op[par3dmini])
op=structure(list(FOV = 0, userMatrix = structure(c(1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 13.5767165082369, 0.468162672609679, 0, 1), .Dim = c(4L, 4L)), scale = c(1, 1, 1), zoom = 0.590388715267181), .Names = c("FOV", "userMatrix", "scale", "zoom"))
par3d(op)
plot3d(materials=cb, FCWBNP.surf, col="red", alpha=0.3)
Left optic lobe:
clear3d()
opol=structure(list(FOV = 0, userMatrix = structure(c(1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 13.5767165082369, 0.468162672609679, 0, 1), .Dim = c(4L, 4L)), scale = c(1, 1, 1), zoom = 0.791177153587341), .Names = c("FOV", "userMatrix", "scale", "zoom"))
par3d(opol)
plot3d(materials=oll, FCWBNP.surf, col="blue", alpha=0.3)
Right optic lobe:
clear3d()
par3d(opol)
plot3d(materials=olr, FCWBNP.surf, col="magenta", alpha=0.3)
Looking at the voxel overlap for each group, to plot the neuropils that have the most overlap and terminal dendrites. For example for group 1.
x=attr(dps, 'df')
sort(colSums(x[subset(uvpnshc, k=21, groups=1), colnames(spatdist_jfrc)]), dec=T)
which(sort(colSums(x[subset(uvpnshc, k=21, groups=1), colnames(spatdist_jfrc)]), dec=T) > 500)
Plot group 1. VPNs that innervate the lobula, AOTU, and PVLP. Dorsal cell bodies.
clear3d()
op=structure(list(FOV = 0, userMatrix = structure(c(0.737214267253876, 0.401136428117752, 0.543694794178009, 0, 0.461759507656097, -0.886563241481781, 0.0279886201024055, 0, 0.493247210979462, 0.230422586202621, -0.838816404342651, 0, -6.9488433285465, 8.22875286386462, 0.944884777069068, 1), .Dim = c(4L, 4L)), scale = c(1, 1, 1), zoom = 0.765768885612488), .Names = c("FOV", "userMatrix", "scale", "zoom"))
par3d(op)
plot3d(uvpnshc, k=21, groups=1, soma=T)
plot3d(FCWBNP.surf, "LO_L", alpha=0.3)
plot3d(FCWBNP.surf, "AOTU_L", alpha=0.3)
plot3d(FCWBNP.surf, "PVLP_L", alpha=0.3)
Plot group 2. VPNs that innervate the more medial lobula and AOTU (some neurons similar to group 1, innervating PVLP). Dorsal cell bodies.
clear3d()
par3d(op)
plot3d(uvpnshc, k=21, groups=2, soma=T)
plot3d(FCWBNP.surf, "LO_L", alpha=0.3)
plot3d(FCWBNP.surf, "AOTU_L", alpha=0.3)
Plot group 3. Very similar to group 2, but innervating the more lateral lobula. Cell bodies dorsal.
clear3d()
par3d(op)
plot3d(uvpnshc, k=21, groups=3, soma=T)
plot3d(FCWBNP.surf, "LO_L", alpha=0.3)
plot3d(FCWBNP.surf, "AOTU_L", alpha=0.3)
Plot group 4.
clear3d()
op=structure(list(FOV = 0, userMatrix = structure(c(0.737214267253876,
0.401136428117752, 0.543694794178009, 0, 0.461759507656097, -0.886563241481781,
0.0279886201024055, 0, 0.493247210979462, 0.230422586202621,
-0.838816404342651, 0, -17.8954826855309, -9.28587070726861,
0.944884777069072, 1), .Dim = c(4L, 4L)), scale = c(1, 1, 1),
zoom = 0.571428656578064), .Names = c("FOV", "userMatrix",
"scale", "zoom"))
par3d(op)
plot3d(uvpnshc, k=21, groups=4, soma=T)
plot3d(FCWBNP.surf, "LO_L", alpha=0.3)
plot3d(FCWBNP.surf, "PVLP_L", alpha=0.3)
Plot the bilateral VPNs: 72
clear3d()
op=structure(list(FOV = 0, userMatrix = structure(c(1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1), .Dim = c(4L, 4L)), scale = c(1, 1, 1), zoom = 0.578812420368195), .Names = c("FOV", "userMatrix", "scale", "zoom"))
par3d(op)
plot3d(bilvpns, soma=T)
Hierarchical clustering.
bilvpnshc=hclustfc(bilvpns)
bilvpnshc$height=sqrt(bilvpnshc$height)
bilvpnshcc=colour_clusters(bilvpnshc, k=8, groupLabels=c("i", "ii", "iii", "iv", "v", "vi", "vii", "viii"))
labels(bilvpnshcc)=NULL
par(mar=c(0,2,0,0), cex=0.7)
plot(bilvpnshcc)
abline(h=height_for_ngroups(bilvpnshc, k=8), lty='dashed')
Plot group 1. BilVPNs that innervate the whole left lobula, medial right lobula, AVLP, PVLP, SPS, left PLP. Posterior cell bodies. All neurons belong to cluster 486.
clear3d()
par3d(op)
plot3d(bilvpnshc, k=8, groups=1, soma=T)
plot3d(FCWBNP.surf, "LO_L", alpha=0.3)
plot3d(FCWBNP.surf, "LO_R", alpha=0.3)
plot3d(FCWBNP.surf, "AVLP_L", alpha=0.3)
plot3d(FCWBNP.surf, "AVLP_R", alpha=0.3)
plot3d(FCWBNP.surf, "PVLP_L", alpha=0.3)
plot3d(FCWBNP.surf, "PVLP_R", alpha=0.3)
plot3d(FCWBNP.surf, "PLP_L", alpha=0.3)
plot3d(FCWBNP.surf, "SPS_L", alpha=0.3)
plot3d(FCWBNP.surf, "SPS_R", alpha=0.3)
Plot group 2. BilVPNs that innervate the both the left and right dorsal lobula (one neurons extends into the medulla). Dorsal cell bodies. It matches the description of LC14 neurons.
clear3d()
par3d(op)
plot3d(bilvpnshc, k=8, groups=2, soma=T)
plot3d(FCWBNP.surf, "LO_L", alpha=0.3)
plot3d(FCWBNP.surf, "LO_R", alpha=0.3)
Plot group 3. BilVPNs that innervate both of the middle lobulas, and sparsely the right medulla. Dorsal cell bodies.
clear3d()
par3d(op)
plot3d(bilvpnshc, k=8, groups=3, soma=T)
plot3d(FCWBNP.surf, "LO_L", alpha=0.3)
plot3d(FCWBNP.surf, "LO_R", alpha=0.3)
plot3d(FCWBNP.surf, "ME_R", alpha=0.3)
Plot group 4. BilVPNs that innervate both the more inner medullas. Midline dorsal cell bodies.
clear3d()
op2=structure(list(FOV = 0, userMatrix = structure(c(1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1), .Dim = c(4L, 4L)), scale = c(1, 1, 1), zoom = 0.607753038406372), .Names = c("FOV", "userMatrix", "scale", "zoom"))
par3d(op2)
plot3d(bilvpnshc, k=8, groups=4, soma=T)
plot3d(FCWBNP.surf, "ME_L", alpha=0.3)
plot3d(FCWBNP.surf, "ME_R", alpha=0.3)
Plot group 5. BilVPNs that innervate both the more inner medullas and the right lobula. On the left medulla, it innervates the same layers as group 3, but on the right medulla, it innervates a more inner layer. Dorsal VPN cell bodies. Follows a tract dorsal to group 3.
clear3d()
par3d(op2)
plot3d(bilvpnshc, k=8, groups=5, soma=T)
plot3d(FCWBNP.surf, "ME_L", alpha=0.3)
plot3d(FCWBNP.surf, "ME_R", alpha=0.3)
plot3d(FCWBNP.surf, "LO_R", alpha=0.3)
Plot group 6. BilVPNs (3 neurons) that innervate both lobula plates, following 2 different dorsal tracts.
clear3d()
par3d(op2)
plot3d(bilvpnshc, k=8, groups=6, soma=T)
plot3d(FCWBNP.surf, "LOP_L", alpha=0.3)
plot3d(FCWBNP.surf, "LOP_R", alpha=0.3)
Plot group 7. BilVPNs that innervate the inner left medulla and the left and right posterior lobula. Some inervation near the midline, including IB, ICL,
clear3d()
par3d(op2)
plot3d(bilvpnshc, k=8, groups=7, soma=T)
plot3d(FCWBNP.surf, "ME_L", alpha=0.3)
plot3d(FCWBNP.surf, "ME_R", alpha=0.3)
plot3d(FCWBNP.surf, "LO_R", alpha=0.3)
plot3d(FCWBNP.surf, "LO_L", alpha=0.3)
plot3d(FCWBNP.surf, "ICL_L", alpha=0.3)
plot3d(FCWBNP.surf, "IB_L", alpha=0.3)
plot3d(FCWBNP.surf, "ICL_R", alpha=0.3)
plot3d(FCWBNP.surf, "IB_R", alpha=0.3)
plot3d(FCWBNP.surf, "GNG", alpha=0.3)
plot3d(FCWBNP.surf, "IPS_R", alpha=0.3)
plot3d(FCWBNP.surf, "IPS_L", alpha=0.3)
Plot group 8. Three outlier neurons: one just a dorsal tract, no innervation, OL to OL. The other innervates the dorsal left medulla and the ventral right medulla, and the third innervates the 2 medullas sparsely.
clear3d()
par3d(op2)
plot3d(bilvpnshc, k=8, groups=8, soma=T)
plot3d(FCWBNP.surf, "ME_L", alpha=0.3)
plot3d(FCWBNP.surf, "ME_R", alpha=0.3)
plot3d(FCWBNP.surf, "IB_R", alpha=0.3)
plot3d(FCWBNP.surf, "IB_L", alpha=0.3)
plot3d(FCWBNP.surf, "ICL_L", alpha=0.3)
plot3d(FCWBNP.surf, "ICL_R", alpha=0.3)