Study: Sp140L Is a Herpesvirus Restriction Factor [scRNA-seq]

Herpesviruses, including the oncogenic Epstein-Barr Virus (EBV), must bypass host DNA sensing mechanisms to drive infection and pathogenesis. The first viral latency protein expressed, EBNA-LP, is essential for the transformation of naïve B cells, yet its role in evading host defenses remains unclear. Using single-cell RNA sequencing of EBNA-LP-Knockout (LPKO)-infected B cells, we reveal an antiviral response landscape implicating the ‘speckled proteins’ as key restriction factors countered by EBNA-LP. Specifically, loss of SP100 or the primate-specific SP140L reverses the restriction of LPKO, suppresses a subset of canonically interferon-stimulated genes, and restores viral gene transcription and cellular proliferation. Notably, we also identify Sp140L as a restriction target of the herpesvirus saimiri ORF3 protein, implying a role in immunity to other DNA viruses. This study reveals Sp140L as a restriction factor that we propose links sensing and transcriptional suppression of viral DNA to an IFN-independent innate immune response, likely relevant to all nuclear DNA viruses.

Single cell RNAseq data from B cells in a timecourse of LPKO or WT EBV infection. Samples including uninfected (Day 0), and 2, 5, and 8 days post-infection.

M Cable J, Wongwiwat W, C Grabowski J, E White R, A Luftig M Duke University

## Loading required package: SeuratObject
## Loading required package: sp
## 
## Attaching package: 'SeuratObject'
## The following objects are masked from 'package:base':
## 
##     intersect, t
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## Loading required package: SummarizedExperiment
## 
## Loading required package: MatrixGenerics
## 
## Loading required package: matrixStats
## 
## 
## Attaching package: 'matrixStats'
## 
## 
## The following object is masked from 'package:dplyr':
## 
##     count
## 
## 
## 
## Attaching package: 'MatrixGenerics'
## 
## 
## The following objects are masked from 'package:matrixStats':
## 
##     colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
##     colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
##     colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
##     colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
##     colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
##     colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
##     colWeightedMeans, colWeightedMedians, colWeightedSds,
##     colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
##     rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
##     rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
##     rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
##     rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
##     rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
##     rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
##     rowWeightedSds, rowWeightedVars
## 
## 
## Loading required package: GenomicRanges
## 
## Loading required package: stats4
## 
## Loading required package: BiocGenerics
## 
## 
## Attaching package: 'BiocGenerics'
## 
## 
## The following objects are masked from 'package:lubridate':
## 
##     intersect, setdiff, union
## 
## 
## The following objects are masked from 'package:dplyr':
## 
##     combine, intersect, setdiff, union
## 
## 
## The following object is masked from 'package:SeuratObject':
## 
##     intersect
## 
## 
## The following objects are masked from 'package:stats':
## 
##     IQR, mad, sd, var, xtabs
## 
## 
## The following objects are masked from 'package:base':
## 
##     anyDuplicated, aperm, append, as.data.frame, basename, cbind,
##     colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,
##     get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply,
##     match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
##     Position, rank, rbind, Reduce, rownames, sapply, setdiff, table,
##     tapply, union, unique, unsplit, which.max, which.min
## 
## 
## Loading required package: S4Vectors
## 
## 
## Attaching package: 'S4Vectors'
## 
## 
## The following objects are masked from 'package:lubridate':
## 
##     second, second<-
## 
## 
## The following objects are masked from 'package:dplyr':
## 
##     first, rename
## 
## 
## The following object is masked from 'package:tidyr':
## 
##     expand
## 
## 
## The following object is masked from 'package:utils':
## 
##     findMatches
## 
## 
## The following objects are masked from 'package:base':
## 
##     expand.grid, I, unname
## 
## 
## Loading required package: IRanges
## 
## 
## Attaching package: 'IRanges'
## 
## 
## The following object is masked from 'package:lubridate':
## 
##     %within%
## 
## 
## The following objects are masked from 'package:dplyr':
## 
##     collapse, desc, slice
## 
## 
## The following object is masked from 'package:purrr':
## 
##     reduce
## 
## 
## The following object is masked from 'package:sp':
## 
##     %over%
## 
## 
## Loading required package: GenomeInfoDb
## 
## Loading required package: Biobase
## 
## Welcome to Bioconductor
## 
##     Vignettes contain introductory material; view with
##     'browseVignettes()'. To cite Bioconductor, see
##     'citation("Biobase")', and for packages 'citation("pkgname")'.
## 
## 
## 
## Attaching package: 'Biobase'
## 
## 
## The following object is masked from 'package:MatrixGenerics':
## 
##     rowMedians
## 
## 
## The following objects are masked from 'package:matrixStats':
## 
##     anyMissing, rowMedians
## 
## 
## 
## Attaching package: 'SummarizedExperiment'
## 
## 
## The following object is masked from 'package:Seurat':
## 
##     Assays
## 
## 
## The following object is masked from 'package:SeuratObject':
## 
##     Assays
## 
## 
## Loading required package: AnnotationDbi
## 
## 
## Attaching package: 'AnnotationDbi'
## 
## 
## The following object is masked from 'package:dplyr':
## 
##     select
## 
## 
## 
## 
## 
## Attaching package: 'SingleR'
## 
## 
## The following objects are masked from 'package:celldex':
## 
##     BlueprintEncodeData, DatabaseImmuneCellExpressionData,
##     HumanPrimaryCellAtlasData, ImmGenData, MonacoImmuneData,
##     MouseRNAseqData, NovershternHematopoieticData
## 
## 
## 
## Attaching package: 'plotly'
## 
## 
## The following object is masked from 'package:AnnotationDbi':
## 
##     select
## 
## 
## The following object is masked from 'package:IRanges':
## 
##     slice
## 
## 
## The following object is masked from 'package:S4Vectors':
## 
##     rename
## 
## 
## The following object is masked from 'package:biomaRt':
## 
##     select
## 
## 
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## 
## 
## The following object is masked from 'package:stats':
## 
##     filter
## 
## 
## The following object is masked from 'package:graphics':
## 
##     layout
## 
## 
## 
## Attaching package: 'htmlwidgets'
## 
## 
## The following object is masked from 'package:Seurat':
## 
##     JS
## 
## 
## The following object is masked from 'package:SeuratObject':
## 
##     JS
## scRNAseq data of total 22428 cells
## [1] 14382 22428
## Warning: The following requested variables were not found (10 out of 62 shown):
## LMP-2B-ebv, BCRF1-ebv, BWRF1-ebv, BWRF1-2-ebv, BWRF1-3-ebv, BWRF1-4-ebv,
## BWRF1-5-ebv, BWRF1-6-ebv, BWRF1-7-ebv, BWRF1-8-ebv
## Epstein Barr Virus Type I protein coding gene sequences found in fastq files
##  [1] "LMP-2A-ebv"          "BNRF1-ebv"           "EBNA-LP-ebv"        
##  [4] "EBNA-2-ebv"          "BHRF1-ebv"           "BFRF1A-ebv"         
##  [7] "BFRF3-ebv"           "BORF2-ebv"           "BMRF2-ebv"          
## [10] "BSRF1-ebv"           "BLRF2-ebv"           "BLLF1-ebv"          
## [13] "EBNA-3A-ebv"         "EBNA-3B/EBNA-3C-ebv" "BRRF1-ebv"          
## [16] "BRRF2-ebv"           "EBNA-1-ebv"          "BKRF4-ebv"          
## [19] "BBRF1-ebv"           "BBRF2-ebv"           "BBRF3-ebv"          
## [22] "BGRF1-BDRF1-ebv"     "BDLF3-ebv"           "BcRF1-ebv"          
## [25] "BTRF1-ebv"           "BILF2-ebv"           "BALF3-ebv"          
## [28] "BARF0-ebv"           "LMP-1-ebv"           "LMP-1-1-ebv"        
## [31] "LMP-1-2-ebv"
## Timecourse conditions and count numbers
## 
## ebv_day0 ebv_day2 ebv_day5 ebv_day8 
##     6961     3576     6311     5580
## Differentially expressed EBV genes comparing day8 to day2(ctrl)
##                             p_val  avg_log2FC pct.1 pct.2     p_val_adj
## LMP-1-ebv           1.809003e-122  4.01135419 0.188 0.024 2.601708e-118
## LMP-1-2-ebv          1.671821e-40  7.22242292 0.048 0.000  2.404413e-36
## BARF0-ebv            5.728767e-32  2.27197964 0.084 0.025  8.239112e-28
## BFRF3-ebv            7.667895e-12 -1.24444921 0.006 0.022  1.102797e-07
## EBNA-2-ebv           1.074699e-08 -0.02560028 0.471 0.607  1.545632e-04
## BMRF2-ebv            4.503673e-06 -0.82990380 0.004 0.013  6.477183e-02
## BNRF1-ebv            1.889490e-05  1.81203945 0.028 0.014  2.717465e-01
## BORF2-ebv            2.020845e-03 -0.26812293 0.010 0.017  1.000000e+00
## BLRF2-ebv            3.988521e-03  0.22271334 0.037 0.050  1.000000e+00
## BTRF1-ebv            5.399823e-03  1.16676754 0.013 0.007  1.000000e+00
## EBNA-LP-ebv          5.395900e-02  0.26335657 0.330 0.396  1.000000e+00
## BBRF3-ebv            6.115424e-02 -0.11320968 0.006 0.010  1.000000e+00
## EBNA-3A-ebv          8.496671e-02  0.40604844 0.065 0.076  1.000000e+00
## EBNA-1-ebv           9.207399e-02  0.78769510 0.113 0.108  1.000000e+00
## BKRF4-ebv            1.705425e-01  0.25134984 0.013 0.016  1.000000e+00
## EBNA-3B/EBNA-3C-ebv  1.837851e-01  0.55411899 0.103 0.117  1.000000e+00
## BHRF1-ebv            2.716028e-01  0.57337384 0.070 0.067  1.000000e+00
## After 8 days of infection, CD19 expression reduces as PDL1 and PDL2 expressions increase

## Heatmaps of infected B-cells only expressing 1 or more viral genes

## Heatmap comparison of differentially expressed B-cell markers between day8 and day5(ctrl)