Odorant receptor coexpression and multi-expression in the dengue mosquito.
The 16 matches · 2 of them tie a paragraph to a whole file, not to given lines: weak matches, whose lines are not tinted
- [1] § Methods › THSN and OSN renormalization and clustering ↔ AllNeuron_analyses_v4.R, lines 1–45 · score 0.81 · nompC, OSN cluster, Ir93a, junk, UMAP, mechanosensory
- [2] § Results › Twelve small subpopulations of candidate heat and humidity sensors ↔ THSN_analyses_v4.R, the whole file · a weak match · score 0.74 · Ir21a, Ir40a, hygrosensory neurons, Ir93a, THSNs, thermo
- [3] § Methods › Genome reannotation ↔ orcoMinusOSN_analyses_v8.R, lines 1–42 · score 0.70 · Drosophila orthologs, AaegL5, mosquito genes, renaming, grep, gtf
- [4] § Methods › Data preprocessing, ambient RNA decontamination and doublet removal ↔ THSN_analyses_v4.R, the whole file · a weak match · score 0.69 · CellRanger, pre clustering, Seurat, libraries, dims, UMAPs
- [5] § Methods › Genome reannotation ↔ AllNeuron_analyses_v4.R, lines 1–45 · score 0.67 · Drosophila orthologs, AaegL5, mosquito genes, grep, gtf, match
- [6] § Methods › Quantification of co-receptor expression in all neuron clustering ↔ orcoMinusOSN_analyses_v8.R, lines 44–87 · score 0.64 · co receptor, Ir8a, Ir76b, Ir25a, cutoff, break
- [7] § Methods › Quantification of co-receptor expression in all neuron clustering ↔ orcoPlusOSN_analyses_v7.R, lines 42–95 · score 0.64 · co receptor, Ir8a, Ir76b, Ir25a, cutoff, break
- [8] § Results › Segregated expression of ligand-specific ORs and IRs ↔ AllNeuron_analyses_v4.R, lines 47–108 · score 0.62 · OSN clusters, Ir8a, Ir76b, Ir25a, coreceptor, Ligand
- [9] § Methods › Data preprocessing, ambient RNA decontamination and doublet removal ↔ orcoMinusOSN_analyses_v8.R, lines 1–42 · score 0.58 · CellRanger, pre clustering, dims, Seurat, UMAPs, match
- [10] § Methods › Receptor gene tree inference ↔ orcoMinusOSN_analyses_v8.R, lines 205–239 · score 0.57 · cophenetic.phylo, Phylogenetic distances, trees, IR
- [11] § Methods › Receptor gene tree inference ↔ orcoPlusOSN_analyses_v7.R, lines 205–255 · score 0.56 · cophenetic.phylo, Phylogenetic distances, trees
- [12] § Methods › Quantification of receptor expression in THSN, orco + OSN, and orco- OSN clusters ↔ orcoPlusOSN_analyses_v7.R, lines 42–95 · score 0.55 · median log2FC, subtracting, breaks, thresholds, OSNs, orco
- [13] § Methods › Quantification of receptor expression in THSN, orco + OSN, and orco- OSN clusters ↔ orcoMinusOSN_analyses_v8.R, lines 44–87 · score 0.53 · median log2FC, subtracting, breaks, thresholds, orco, OSNs
- [14] § Methods › Quantification of receptor expression in THSN, orco + OSN, and orco- OSN clusters ↔ orcoMinusOSN_analyses_v8.R, lines 136–198 · score 0.52 · Pearson correlations, co expression, orco, OSN, clusters, receptor
- [15] § Methods › Quantification of receptor expression in THSN, orco + OSN, and orco- OSN clusters ↔ orcoPlusOSN_analyses_v7.R, lines 143–198 · score 0.52 · Pearson correlations, co expression, orco, OSN, clusters, receptor
- [16] § Methods › Genome reannotation ↔ Reannotation_ThreePrimeUTR_Extender.py, lines 467–472 · score 0.51 · gff3sort.pl, gffread, UTRs, gtf, reannotation
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
R · 240 lines · 14 KB · no license · 6 matches
- library(Seurat)
- library(viridis)
- library(plotrix)
- library(scCustomize)
- library(scales)
- # LOAD pre-clustered orco- OSN data object
- # Navigate to directory containing the R object THSN_Seurat_object.Rdata
- load("orcoMinusOSN_Seurat_object.Rdata")
- MyOrcoMinusOSNs <- IR_Seurat
- total_droplets<-ncol(MyOrcoMinusOSNs) # 12,243 droplet dataset
- clustorder=c("0","7","13","2","10a","10b","1","17","6","12","15","3","16","11","5","4","9","14a","14b","8")
- # Fig. 3A and S11: Visualize UMAPs for clusters, batches, and key marker genes
- # Note that the AaegL5 gtf annotation used for the CellRanger alignments underlying these data uses
- # "OrX", "IrX", "GrX" names for chemosensory receptors. Other genes are named using the associated
- # AAEL number followed by the name of the Drosophila ortholog (*where orthologs include multiple
- # mosquito genes that have the same best match in Drosophila). For example, "AAEL019818" was changed
- # to "AAEL019818-nompC". See Methods
- DimPlot(MyOrcoMinusOSNs, pt.size=0.5, label=T) # Fig. 3A
- DimPlot(MyOrcoMinusOSNs, group.by="orig.ident", pt.size=0.5)
- FeaturePlot(MyOrcoMinusOSNs, feature="Ir25a", pt.size=0.5, cols=rev(viridis(100, option='D')), order=T)
- FeaturePlot(MyOrcoMinusOSNs, feature="Ir8a", pt.size=0.5, cols=rev(viridis(100, option='D')), order=T)
- FeaturePlot(MyOrcoMinusOSNs, feature="Ir76b", pt.size=0.5, cols=rev(viridis(100, option='D')), order=T)
- FeaturePlot(MyOrcoMinusOSNs, feature="Ir64a", pt.size=0.5, cols=rev(viridis(100, option='D')), order=T)
- genes <- rownames(MyOrcoMinusOSNs)
- FeaturePlot(MyOrcoMinusOSNs, features = genes[grep('Amt',genes)], pt.size=0.6, cols=rev(viridis(100, option='D')), order=T) #UMAP for gene of interest with "XXX" somewhere in name
- # Fig 3B and S12A-B: Choosing and using log2FC' cutoff to call receptor expression
- #------- OPTIONAL (used in Fig. 3B): Merging 4/9 and 14a/14b due to expression of same/similar complement of receptors
- MyOrcoMinusOSNs<-RenameIdents(MyOrcoMinusOSNs,"4"="4_9", "9"="4_9", "14a"="14a_14b", "14b"="14a_14b")
- clustorder=c("0","7","13","2","10a","10b","1","17","6","12","15","3","16","11","5","4_9","14a_14b","8")
- #-------- Assembling list of tuning receptors detected in at least one droplet
- receptorlist = rownames(MyOrcoMinusOSNs$SCT@data)[grep('^[OIG]r',rownames(MyOrcoMinusOSNs$SCT@data))] # Add all expressed ORs, GRs, IRs to list
- receptorlist <- c(receptorlist, rownames(MyOrcoMinusOSNs$SCT@data)[grep('Amt',rownames(MyOrcoMinusOSNs$SCT@data))]) # Add Amt to list
- receptorlist <- receptorlist[!rowSums(MyOrcoMinusOSNs$SCT@data[receptorlist,])==0] # Remove receptors that were not detected in any orco- OSN droplet
- #-------- Calculating Log2FC' for each receptor gene in each cluster
- MyMarkers <- FindAllMarkers(MyOrcoMinusOSNs, features=receptorlist, logfc.threshold=0, return.thresh=1, min.pct=0, test.use='t')
- log2FC <- matrix(NA, nrow=length(receptorlist), ncol=length(levels(MyMarkers$cluster))) # create empty matrix
- colnames(log2FC) <- levels(MyMarkers$cluster) # columns are clusters
- rownames(log2FC) <- receptorlist # rows are receptors
- for(i in 1:nrow(MyMarkers)){ # populate matrix with ave_log2FC values
- log2FC[MyMarkers$gene[i],as.character(MyMarkers$cluster[i])]<-MyMarkers$avg_log2FC[i]
- }
- log2FC[is.na(log2FC)] <- 0 #replacing NAs with 0s
- med.att <- apply(log2FC, 1, median) #calculating median Log2FC values (for each gene across clusters)
- log2FCprime <- sweep(log2FC, 1, med.att) #subtract median Log2FC value from cluster-specific Log2FCs to get Log2FC'
- #---------- Fig. S12A: Plotting log2FC` Histogram (includes values for each Ir/Gr/Or in each cluster)
- par(mfrow=c(2,1))
- hist(log2FCprime, xlim=c(-2,7), breaks=seq(-2,7,0.1))
- abline(v=0.4, col='red') # add threshold value used for calling expression (see below)
- hist(log2FCprime, xlim=c(-2,7), ylim=c(0,20), breaks=seq(-2,7,0.1))
- abline(v=0.4, col='red') # add threshold value used for calling expression (see below)
- #---------- Fig. 3B and S12B: Plotting heatmap of log2FC` values (with dots marking those expressed above cutoff of 0.4)
- cutoffthresh = 0.4
- displaythresh = cutoffthresh
- displaythresh = 0.15 # used for Fig. S12B-C
- abovedisplaythresh <- rownames(log2FCprime)[apply(log2FCprime,1,max)>displaythresh]
- abovedisplaythresh <- abovedisplaythresh[!(abovedisplaythresh %in% c("Orco","Ir25a","Ir76b","Ir8a","Ir93a"))] # exclude co-receptors from log2FC' heatmap
- log2FCP_Heatmap_tuning <-log2FCprime[abovedisplaythresh,clustorder]
- receptororder <- abovedisplaythresh[order(apply(log2FCP_Heatmap_tuning,1,which.max))] # order receptors by maximal expression in each sequential cluster
- receptororder <- receptororder[c(grep('^[O]r',receptororder),grep('^[G]r',receptororder),grep('^[I]r',receptororder))] # pull Grs and Irs to front
- log2FCP_Heatmap_tuning <-log2FCP_Heatmap_tuning[receptororder,]
- log2FCP_Heatmap_tuning[log2FCP_Heatmap_tuning<0]<-0 #converting negative log2FC` values to zero
- log2FCP_Heatmap <- log2FCP_Heatmap_tuning
- color_palette=c(colorRampPalette(c(alpha("white", alpha = 0),'#FDE333'))(10),hcl.colors(450, palette = 'viridis', alpha = NULL, rev = T, fixup = TRUE))
- par(mfrow=c(1,1))
- image(t(log2FCP_Heatmap),col=color_palette,axes=F,zlim=c(0,round(max(log2FCP_Heatmap))), main='Log2FC`')
- axis(3,at=seq(0,1,length=ncol(log2FCP_Heatmap)),las=2,labels=colnames(log2FCP_Heatmap),cex.axis=0.5,lwd=0)
- axis(2,at=seq(0,1,length=nrow(log2FCP_Heatmap)),las=2,labels=rownames(log2FCP_Heatmap),cex.axis=0.5,lwd=0)
- color.legend(0.05,-0.15,0.2,-0.17,rect.col=color_palette,legend=c(0,round(max(log2FCP_Heatmap))),align='rb')
- for(i in 1:length(clustorder)){
- for(j in 1:length(receptororder)){
- if(log2FCP_Heatmap[receptororder[j],clustorder[i]]>cutoffthresh) text(seq(0,1,length=length(clustorder))[i],
- seq(0,1,length=nrow(log2FCP_Heatmap))[j],labels='.',cex=1, col = "black")
- }
- }
- # Fig S12C: Visualizing alternative log average expression cutoff for receptors
- AveExp <- AverageExpression(MyOrcoMinusOSNs, features=receptorlist, return.seurat=T)
- AveExp_tuning <- AveExp$SCT@data[receptororder,clustorder] # extracting log normalized average counts for same tuning receptors that met the log2FC display threshold used above
- AveExp_co <- AveExp$SCT@data[c("Ir25a","Ir76b","Ir8a"),clustorder] # extracting log normalized average counts for co-receptors
- #---------- Explore histogram of log average expression values for each receptor in each cluster to choose cutoff
- par(mfrow=c(2,1))
- hist(AveExp_tuning, breaks=seq(0,5,0.01), main='logAveExpression')
- hist(AveExp_tuning, ylim=c(0,50), breaks=seq(0,5,0.01), xlim=c(0,1),main='logAveExpression')
- abline(v=0.15)
- #---------- Plotting heatmap of log average expression values (including co-receptors)
- AveExpcutoffthresh = 0.15
- AveExp_Heatmap <- rbind(AveExp_co,AveExp_tuning)
- Corcols=hcl.colors(450, palette = 'rocket', alpha = NULL, rev = T, fixup = TRUE)
- par(mfrow=c(1,1))
- image(t(AveExp_Heatmap),col=Corcols,axes=F, zlim=c(0,ceiling(max(AveExp_Heatmap))), main='Log average expression')
- axis(3,at=seq(0,1,length=ncol(AveExp_Heatmap)),las=2,labels=colnames(AveExp_Heatmap),cex.axis=0.5,lwd=0)
- axis(2,at=seq(0,1,length=nrow(AveExp_Heatmap)),las=2,labels=rownames(AveExp_Heatmap),cex.axis=0.3,lwd=0)
- color.legend(0.05,-0.15,0.2,-0.17,rect.col=Corcols,legend=c(0,ceiling(max(AveExp_Heatmap))),align='rb')
- # add dots for receptors that exceed log ave expression threshold
- for(i in 1:length(clustorder)){
- for(j in 1:length(receptororder)){
- y<-j+3 # accounts for space taken up by co-receptors at bottom of plot
- if(AveExp_Heatmap[receptororder[j],clustorder[i]]>AveExpcutoffthresh) text(seq(0,1,length=length(clustorder))[i],
- seq(0,1,length=nrow(AveExp_Heatmap))[y],labels='.',cex=1, col = "black")
- }
- }
- # Fig. S12D-E: Calculating and plotting pairwise Pearson's correlations
- #---------- Refresh list of receptors with log2FC'>0.15 in at least one cluster and get count data for all droplets
- myreceptors <- rownames(log2FCprime)[apply(log2FCprime,1,max)>displaythresh]
- myreceptors <- myreceptors[!(myreceptors %in% c("Orco","Ir25a","Ir76b","Ir8a","Ir93a"))]
- MyData <- subset(MyOrcoMinusOSNs,features=myreceptors)
- MyMatrix <- t(as.matrix(MyData@assays$SCT@data))
- #---------- Generate matrix of pairwise correlations and reorder the receptors
- log2FCP_matrix <- log2FCprime[myreceptors,clustorder]
- receptororder <- myreceptors[order(apply(log2FCP_matrix,1,which.max))] # order receptors by maximal expression in each sequential cluster
- receptororder <- receptororder[c(grep('^[G]r',receptororder),grep('^[I]r',receptororder))] # pull Grs and Irs to front
- cormat <- cor(MyMatrix, method = "pearson", use = 'everything')
- cormat <- cormat[receptororder,receptororder] # reorder receptors
- #---------- Generate matrix showing which genes are called as coexpressed in at least one cluster
- coexp = matrix(data=F, nrow=length(receptororder), ncol=length(receptororder))
- colnames(coexp) <- receptororder
- rownames(coexp) <- receptororder
- for (i in 1:nrow(coexp)) {
- for (j in 1:ncol(coexp)) {
- is_coexp = F
- for (k in 1:ncol(log2FCP_Heatmap)) { # check whether the two receptors BOTH have log2FC'>0.3 in any of k clusters
- if (sum(c(log2FCP_Heatmap[receptororder[i],k]>cutoffthresh,log2FCP_Heatmap[receptororder[j],k]>cutoffthresh))==2) { is_coexp = T }
- }
- if (is_coexp) { coexp[i,j] = T }
- }
- }
- #---------- Fig. S12E: Plot heatmap of pairwise correlations for all receptors with log2FC'>0.15 in at least one cluster
- par(mfrow=c(1,1))
- image(cormat,col=viridis(256, direction = -1, option = "B"),zlim=c(0,1),axes=F)
- axis(1,at=seq(0,1,length=nrow(cormat)),las=2,labels=rownames(cormat),cex.axis=0.5,lwd=0)
- axis(2,at=seq(0,1,length=ncol(cormat)),las=2,labels=colnames(cormat),cex.axis=0.5,lwd=0)
- color.legend(0.01,0.99,0.1,1.0,rect.col=viridis(256, direction = -1, option = "B"),legend=c(0,1),align='rb')
- # Add dots for squares that correspond to receptors called as co-expressed
- for(i in 1:length(receptororder)){
- for(j in 1:length(receptororder)){
- if(coexp[receptororder[i],receptororder[j]]) text(seq(0,1,length=length(receptororder))[i],
- seq(0,1,length=length(receptororder))[j],labels='.',cex=1, col = "black")
- }
- }
- #---------- Limit matrices to 'expressed' IRs (with log2FC'>0.4 in at least one cluster)
- myexpressedIRs <- rownames(log2FCprime)[apply(log2FCprime,1,max)>cutoffthresh]
- myexpressedIRs <- myexpressedIRs[!(myexpressedIRs %in% c("Orco","Ir25a","Ir76b","Ir8a","Ir93a"))]
- myexpressedIRs <- myexpressedIRs[grep('^[I]r',myexpressedIRs)] #limit to IRs only
- cormat2 <- cormat
- cormat2 <- cormat2[rownames(cormat2) %in% myexpressedIRs,colnames(cormat2) %in% myexpressedIRs]
- coexp2 <- coexp
- coexp2 <- coexp2[rownames(coexp2) %in% myexpressedIRs,colnames(coexp2) %in% myexpressedIRs]
- #---------- Fig. S12D: Plotting histogram of pairwise Pearson correlations for 'expressed' IRs
- YEScoexpressed <- cormat2[upper.tri(cormat2, diag=F)][coexp2[upper.tri(cormat2, diag=F)]]
- NOcoexpressed <- cormat2[upper.tri(cormat2, diag=F)][!coexp2[upper.tri(cormat2, diag=F)]]
- par(mfrow=c(2,1))
- hist(NOcoexpressed, xlim=c(-0.2,0.9), breaks=seq(-0.2,0.9,0.02))
- hist(YEScoexpressed, xlim=c(-0.2,0.9), breaks=seq(-0.2,0.9,0.02))
- # Fig. S10: Dotplots of marker expression
- MyOrcoMinusOSNs_Marks<-FindAllMarkers(MyOrcoMinusOSNs,logfc.threshold=0.3, return.thresh=1,min.pct=0,test.use='t', only.pos = T)
- MyOrcoMinusOSNs_markers <- Extract_Top_Markers(marker_dataframe = MyOrcoMinusOSNs_Marks, num_genes = 900, named_vector = FALSE,
- make_unique = TRUE)
- Clustered_DotPlot(seurat_object = MyOrcoMinusOSNs, features = MyOrcoMinusOSNs_markers, exp_color_min=0, exp_color_max = 2,
- colors_use_exp = viridis(50, direction = -1, option = "D"), plot_km_elbow=F, raster = T)
- # Fig. 5A: Plot phylogenetic VS genome distance for pairs of receptors
- IRcoexp <- coexp2 # use geneset that includes all IRs with log2FC'>0.4
- #---------- Load genomic distances
- # Use the following linux code to extract OR and IR start positions from the updated annotation file
- # awk '$3 == "transcript" && $12 ~ /^\"[OI]r/ {split($12, a, "\""); print $1 "\t" $4 "\t" a[2]}' AaegyptiLVP_AGWG_ThreePrimeUTRextended_Adavi2024.gtf > ORIRpositions.txt
- # Navigate to directory containing the new file
- genomicPositions <- read.table("ORIRpositions.txt", header=T)
- rownames(genomicPositions) <- genomicPositions$Gene
- calculate_distance <- function(gene1, gene2) {
- if (gene1$Chr == gene2$Chr) {distance <- abs(gene1$Start - gene2$Start)} #if genes on same chromosome
- else {distance <- 600000000} #or else just return very large number
- return(distance)
- }
- #---------- Load pairwise phylogenetic distances from treefile
- library(ggtree)
- library(ape)
- # Navigate to directory containing the new file
- tree_Aedes_irs <- read.tree(file = "Aedes_IR_tree.txt") # Load IR tree
- tree_Aedes_irs <- root(tree_Aedes_irs,outgroup='Ir25a') # Re-root tree
- IRpairwise_phylo <- cophenetic.phylo(tree_Aedes_irs)
- #---------- Populate matrices
- IRgenodist <- matrix(nrow=nrow(IRcoexp), ncol=ncol(IRcoexp))
- rownames(IRgenodist) <- rownames(IRcoexp)
- colnames(IRgenodist) <- colnames(IRcoexp)
- IRphylodist <- IRgenodist
- IRcoexpcol <- matrix("black",nrow=nrow(IRcoexp), ncol=ncol(IRcoexp))
- IRcoexpcol[IRcoexp] <- "green"
- for (i in (1:nrow(IRcoexp))) {
- for (j in (1:ncol(IRcoexp))) {
- gene1 <- rownames(IRcoexp)[i]
- gene2 <- colnames(IRcoexp)[j]
- IRgenodist[i,j] <- calculate_distance(genomicPositions[gene1,],genomicPositions[gene2,])
- IRphylodist[i,j] <- IRpairwise_phylo[gene1,gene2]
- }
- }
- #---------- Fig. 5A: Plot genomic by phylogenetic distances (colored by whether genes are coexpressed)
- par(mfrow=c(2,1))
- MyGenodists = log10(IRgenodist[upper.tri(IRcoexp)])
- for (i in 1:length(MyGenodists)) { if (MyGenodists[i]==log10(600000000)) MyGenodists[i]=jitter(9,factor=0.3) }
- plot(MyGenodists,IRphylodist[upper.tri(IRcoexp)],xlab="Genomic distance (log10(bp))",ylab="Phylogenetic distance",col=IRcoexpcol[upper.tri(IRcoexp)])
- plot(IRgenodist[upper.tri(IRcoexp)],IRphylodist[upper.tri(IRcoexp)],xlab="Genomic distance (bp)",ylab="Phylogenetic distance",col=IRcoexpcol[upper.tri(IRcoexp)])
- #---------- Fig. 5A: Plot marginal densities for phylogenetic distances (separately for genes that are or are not coexpressed)
- par(mfrow=c(2,1))
- plot(density(IRphylodist[upper.tri(IRcoexp) & !IRcoexp]),xlim=c(0,0.14))
- plot(density(IRphylodist[upper.tri(IRcoexp) & IRcoexp]),xlim=c(0,0.14),col="green")
orcoMinusOSN_analyses_v8.R at commit ff813a7, no license · at the source
Overview
- Princeton Neuroscience Institute, Princeton University,Princeton, NJ USA
- Department of Molecular Biology, Princeton University,Princeton, NJ USA
- Present Address: EDEN Medical Genomics, Jerusalem, Israel
- Present Address: Leumit Health Services, Tel-Aviv, Israel
- Department of Ecology and Evolutionary Biology, Princeton University,Princeton, NJ USA
- Present Address: Biologics Process Research and Development, Merck & Co,Rahway, NJ USA
- Present Address: Muséum national d’Histoire naturelle,Paris, France
- Present Address: Medical and Scientific Affairs, Illumina Inc,San Diego, CA USA
- Present Address: Department of Ecology and Evolutionary Biology, University of California,Los Angeles, CA USA
- Present Address: State Key Laboratory of Animal Biodiversity and Conservation and Integrated Pest Management, Institute of Zoology, Chinese Academy of Sciences,Beijing, China
- Present Address: Zuckerman Mind Brain Behavior Institute, Columbia University,New York, NY USA
- Present Address: Department of Ecology, Behavior, and Evolution, University of California,San Diego, CA USA
Abstract
The abstract is not reproduced here: the paper's license (CC BY-NC-ND) does not allow it. Read it in the paper, at the publisher or on Europe PMC.
Repository
Its files are read in the Code ↔ Paper reader above, with 16 matches between paragraphs and lines of code.
mcbridelab/Adavi_2024_snRNAseqAaegAntennae
ff813a7183ae56cbf3a03a5458450fdf057e674e, 16 August 2024Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
6 files
- AllNeuron_analyses_v4.R, R, 109 lines, 3 matches
- Reannotation_ThreePrimeU
TR_Extender.py , Python, 482 lines, 1 match - THSN_analyses_v4.R, R, 78 lines, 2 matches
- orcoMinusOSN_analyses_v8
.R , R, 240 lines, 6 matches - orcoPlusOSN_analyses_v7.
R , R, 256 lines, 4 matches - README.md, Text, 18 lines
Code availability statement
The paper has a code availability statement. Its license (CC BY-NC-ND) does not allow reproducing it here; in short, from what the harvester recognized in it:
- it points to the authors' code: mcbridelab/
Adavi_2024_snRNAseqAaegA ntennae
Read it in the paper: doi.org/10.1038/s41467-026-76682-2.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 5 scripts, each with its path and the digest of its content;
- 16 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
Datasets cited
- bioproject:PRJNA1138769, at NCBI BioProject; found in “Data availability”
- zenodo:12797292, at Zenodo; found in “Data availability”
- zenodo:12801833, at Zenodo; found in “Data availability”
Data availability statement
The paper has a data availability statement. Its license (CC BY-NC-ND) does not allow reproducing it here; in short, from what the harvester recognized in it:
- it points to 3 datasets: NCBI BioProject PRJNA1138769, Zenodo 12797292, Zenodo 12801833
Read it in the paper: doi.org/10.1038/s41467-026-76682-2.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 10 authors, 3 keywords, 11 MeSH terms, 2 funders, 67 references.
Cite
This paper
David, E., dos Anjos, V. L., Kotb, S. M., Edwards, M., Metz, H. C., Tian, D., Zhao, Z., Zung, J. L., Rose, N. H., & McBride, C. S. (2026). Odorant receptor coexpression and multi-expression in the dengue mosquito. Nature communications, 17(1), 9828. https://
BibTeX
@article{david2026odoran
author = {David, Elisha and dos Anjos, Vitor L. and Kotb, Sumer M. and Edwards, Melanie and Metz, Hillery C. and Tian, David and Zhao, Zhilei and Zung, Jessica L. and Rose, Noah H. and McBride, Carolyn S.},
title = {{Odorant receptor coexpression and multi-expression in the dengue mosquito}},
journal = {Nature communications},
year = {2026},
month = aug,
volume = {17},
number = {1},
pages = {9828},
publisher = {Nature Publishing Group},
issn = {2041-1723},
doi = {10.1038/
url = {https://
pmid = {42736291},
pmcid = {PMC13575207}
}
RIS
TY - JOUR
AU - David, Elisha
AU - dos Anjos, Vitor L.
AU - Kotb, Sumer M.
AU - Edwards, Melanie
AU - Metz, Hillery C.
AU - Tian, David
AU - Zhao, Zhilei
AU - Zung, Jessica L.
AU - Rose, Noah H.
AU - McBride, Carolyn S.
TI - Odorant receptor coexpression and multi-expression in the dengue mosquito
T2 - Nature communications
J2 - Nat Commun
PY - 2026
DA - 2026/
VL - 17
IS - 1
SP - 9828
SN - 2041-1723
PB - Nature Publishing Group
DO - 10.1038/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1038/
"type": "article-journal",
"title": "Odorant receptor coexpression and multi-expression in the dengue mosquito",
"container-title": "Nature communications",
"author": [
{
"family": "David",
"given": "Elisha"
},
{
"family": "dos Anjos",
"given": "Vitor L."
},
{
"family": "Kotb",
"given": "Sumer M."
},
{
"family": "Edwards",
"given": "Melanie"
},
{
"family": "Metz",
"given": "Hillery C."
},
{
"family": "Tian",
"given": "David"
},
{
"family": "Zhao",
"given": "Zhilei"
},
{
"family": "Zung",
"given": "Jessica L."
},
{
"family": "Rose",
"given": "Noah H."
},
{
"family": "McBride",
"given": "Carolyn S."
}
],
"container-title-short":
"volume": "17",
"issue": "1",
"page": "9828",
"DOI": "10.1038/
"PMID": "42736291",
"PMCID": "PMC13575207",
"ISSN": "2041-1723",
"publisher": "Nature Publishing Group",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
8,
15
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1371/journal.pbio.3003955 [code]
- Beat- and Side-family cell-surface molecules are expressed combinatorially in the partner neurons of the olfactory circuit in Drosophila.Journal: PLoS biologyIn common: Seurat, ggpubr, tidyverse, drosophila, other, cellular / molecular, 7 references
- [2] doi:10.1371/journal.pbio.3003959 [code]
- Recurrent synapses between CO2-sensitive olfactory sensory neurons enable robust CO2 detection in Aedes aegypti mosquitoes.Journal: PLoS biologyIn common: NumPy, drosophila, cellular / molecular, 9 references
- [3] doi:10.1007/s44297-026-00082-7
- Functional conservation of IR75q.2 in the recognition of volatile acids and aldehydes in two Spodoptera species.Journal: Crop healthIn common: other, cellular / molecular, 5 references
- [4] doi:10.1016/j.celrep.2026.117500 [code]
- Spatio-molecular gene expression reflects dorsal anterior cingulate cortex structure and function in the human brain.Journal: Cell reportsIn common: Seurat, ggpubr, tidyverse, 1 other tool, genetics / omics, cellular / molecular, 2 references
- [5] doi:10.1186/s13059-026-04177-w [code]
- Genomic sequence evolution underlying human neocortical interareal diversification.Journal: Genome biologyIn common: Seurat, ggpubr, tidyverse, 1 other tool, genetics / omics, cellular / molecular, 2 references
- [6] doi:10.1016/j.cell.2026.05.047 [code]
- An emergent disease-associated motor neuron state precedes cell death in ALS.Journal: CellIn common: Seurat, ggpubr, tidyverse, 1 other tool, genetics / omics, cellular / molecular, 2 references
- [7] doi:10.1038/s41467-026-74038-4 [code]
- Semaglutide attenuates neuroinflammation in male mice.Journal: Nature communicationsIn common: Seurat, ggpubr, tidyverse, 1 other tool, cellular / molecular, 2 references
- [8] doi:10.1038/s41467-026-69944-6 [code]
- Multi-modal dissection of cell-type specific TDP-43 pathology in the motor cortex.Journal: Nature communicationsIn common: Seurat, ggpubr, tidyverse, 1 other tool, genetics / omics, 2 references
- [9] doi:10.1016/j.crmeth.2026.101337 [code]
- Comparative analysis of nuclei isolation methods for brain single-nucleus RNA sequencing.Journal: Cell reports methodsIn common: Seurat, ggpubr, tidyverse, genetics / omics, cellular / molecular, 2 references
- [10] doi:10.1016/j.cpblue.2026.100072 [code]
- NodoMap: A single-cell and spatial transcriptomic atlas of the mouse nodose ganglion.Journal: Cell press blueIn common: Seurat, tidyverse, genetics / omics, 3 references
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 5 scripts, and 16 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:d128ff3a1816ac22…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
