Skip to content

Identification and Characterization of Varicella Zoster Virus Circular RNA in Lytic Infection

Notifications You must be signed in to change notification settings

ShaominYang/VZV_circRNA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Core for "Identification and Characterization of Varicella Zoster Virus Circular RNA in Lytic Infection"

This study investigates the role of circular RNAs (circRNAs) in the context of Varicella-Zoster Virus (VZV) lytic infection. We employed two sequencing technologies, short-read sequencing and long-read sequencing after RNase R treatment on VZV-infected neuroblastoma cells to identify and characterize both cellular and viral circRNAs. Our large scanning analysis identified and subsequent experiments confirmed 200 VZV circRNAs. Importantly, these VZV circRNAs were also detected in tissues from herpes zoster patients. Moreover, we discovered numerous VZV latency-associated transcripts (VLTs)-like circRNAs (circVLTslytic), which contain multiple exons and different isoforms within the same back-splicing breakpoint. To understand the functional significance of these circVLTslytic, we utilized the Bacteria Artificial Chromosome system to disrupt the expression of viral circRNAs in genomic DNA location. We revealed that the sequence flanking circVLTs’ 5’ splice donor played a pivotal role as a cis-acting element in the formation of circVLTslytic. The circVLTslytic was dispensable for VZV replication, but the mutation of downstream of circVLTslytic exon 5 led to increased acyclovir sensitivity in VZV infection models. These models include in vitro culture of human skin tissue and human DRG, as well as in vivo xenografts of human skin tissue in SCID mice. This suggests that circVLTslytic may have a role in modulating the sensitivity to antiviral treatment. Overall, the study highlights the functional importance of VZV-derived circRNAs and their potential contribution to viral pathogenesis. The findings shed new insight into the regulation of cellular and viral transcription during VZV lytic infection, emphasizing the intricate interplay between circRNAs and viral processes.

image

The structure diagram of VZV

Requirements

Reference genome

Data availability

All sequencing data used in this study is available via NCBI SRA and Gene Expression Omnibus database, accession numbers PRJNA1056528, GSE223870, GSE252124 and GSE223957.

  1. For whole-genome sequencing https://www.ncbi.nlm.nih.gov/sra/PRJNA1056528
  2. For circRNA short reads sequencing https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE223870
  3. For circRNA long reads sequencing https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE252124
  4. For mRNA sequencing https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE223957

To assemble genomic sequences from whole-genome sequencing data

conda activate assembly
time unicycler -t 100 \
-1 trim_galore_out_dir/VZV_BAC_WT_short_1_val_1.fq.gz -2 trim_galore_out_dir/VZV_BAC_WT_short_2_val_2.fq.gz \
-o unicycler_VZV_BAC_WT

##Generating genome contained human and VZV

cat chrALL.fa PP054841.fasta > chrALL.fa

1.1 Build BWA index

bwa index chrALL.fa

1.2 Running CIRI2 pipeline

note: Please replace "/kydata/ysm" with your work path

for i in mock_1 mock_2 mock_3 vzv_24h_1 vzv_24h_2 vzv_24h_3 vzv_48h_1 vzv_48h_2 vzv_48h_3
do
mkdir ${i}_ciri2_output
bwa mem -t 100 chrALL.fa ${i}_1.fq.gz ${i}_2.fq.gz > ${i}_ciri2_output/${i}.sam
perl /kydata/ysm/CIRI/CIRI_v2.0.6/CIRI2.pl -I ${i}_ciri2_output/${i}.sam -O ${i}_ciri2_output/${i}.ciri -F chrALL.fa -A mRNA.gtf -T 56
perl /kydata/ysm/CIRI/CIRI-AS/CIRI_AS_v1.2.pl -S ${i}_ciri2_output/${i}.sam -C ${i}_ciri2_output/${i}.ciri -F chrALL.fa -A mRNA.gtf -O ${i}_ciri2_output/${i} -D yes
java -jar /kydata/ysm/CIRI/CIRI-full_v2.0/CIRI-full.jar RO1 -1 ${i}_1.fastq -2 ${i}_2.fastq -o ${i}_ciri2_output/${i} 
bwa mem -t 42 chrALL.fa ${i}_ciri2_output/${i}_ro1.fq > ${i}_ciri2_output/${i}_ro1.sam
java -jar /kydata/ysm/CIRI/CIRI-full_v2.0/CIRI-full.jar RO2 -r chrALL.fa -s ${i}_ciri2_output/${i}_ro1.sam -l 300 -o ${i}_ciri2_output/${i}RO2
java -jar /kydata/ysm/CIRI/CIRI-full_v2.0/CIRI-full.jar Merge -c ${i}_ciri2_output/${i}.ciri -as ${i}_ciri2_output/${i}_jav.list -ro ${i}_ciri2_output/${i}RO2_ro2_info.list -r chrALL.fa -o ${i}_ciri2_output/${i}
unset DISPLAY
java -jar /kydata/ysm/CIRI/CIRI-full_v2.0/CIRI-vis.jar -o ${i}_ciri2_output/${i}_stdir -i ${i}_ciri2_output/${i}_merge_circRNA_detail.anno -l ${i}_ciri2_output/${i}_library_length.list -a mRNA.gtf -r chrALL.fa -min 1
done

1.3 Build bowtie2 index

bowtie2-build chrALL.fa chrALL.fa

1.4 Running find_circ pipeline

for i in mock_1 mock_2 mock_3 vzv_24h_1 vzv_24h_2 vzv_24h_3 vzv_48h_1 vzv_48h_2 vzv_48h_3
do
bowtie2 -p 150 --very-sensitive --score-min=C,-15,0 --mm -x chrALL.fa -q -1 ${i}_1.fq.gz -2 ${i}_2.fq.gz | /kydata/ysm/samtools-1.13/bin/samtools view -hbuS - | /kydata/ysm/samtools-1.13/bin/samtools sort -o ${i}_output.bam
/kydata/ysm/samtools-1.13/bin/samtools view -hf 4 ${i}_output.bam | /kydata/ysm/samtools-1.13/bin/samtools view -Sb - > unmapped.bam
python2 /kydata/ysm/find_circ-1.2/unmapped2anchors.py unmapped.bam | gzip > anchors.fq.gz
bowtie2 -p 150 --reorder --mm  --score-min=C,-15,0 -q -x chrALL.fa -U anchors.fq.gz | python2 /kydata/ysm/find_circ-1.2/find_circ.py --genome=chrALL.fa --prefix=${i}_ --name=${i} --stats=${i}_stats.txt --reads=${i}_splice_reads.fa > ${i}_spliced_sites.bed
grep CIRCULAR ${i}_spliced_sites.bed | grep -v chrM | gawk '$5>=2' | grep UNAMBIGUOUS_BP | grep ANCHOR_UNIQUE | python2 /kydata/ysm/find_circ-1.2/maxlength.py 100000 > ${i}_find_circ.candidates.bed
done

2.circRNA identification---> Pooling all samples together

cat mock_1_1.fq.gz mock_2_1.fq.gz mock_3_1.fq.gz vzv_24h_1_1.fq.gz vzv_24h_2_1.fq.gz vzv_24h_3_1.fq.gz vzv_48h_1_1.fq.gz vzv_48h_2_1.fq.gz vzv_48h_3_1.fq.gz > all_1.fq.gz
cat mock_1_2.fq.gz mock_2_2.fq.gz mock_3_2.fq.gz vzv_24h_1_2.fq.gz vzv_24h_2_2.fq.gz vzv_24h_3_2.fq.gz vzv_48h_1_2.fq.gz vzv_48h_2_2.fq.gz vzv_48h_3_2.fq.gz > all_2.fq.gz

2.1 Running CIRI2 pipeline

for i in all
do
mkdir ${i}_ciri2_output
bwa mem -t 100 chrALL.fa ${i}_1.fq.gz ${i}_2.fq.gz > ${i}_ciri2_output/${i}.sam
perl /kydata/ysm/CIRI/CIRI_v2.0.6/CIRI2.pl -I ${i}_ciri2_output/${i}.sam -O ${i}_ciri2_output/${i}.ciri -F chrALL.fa -A mRNA.gtf -T 56
perl /kydata/ysm/CIRI/CIRI-AS/CIRI_AS_v1.2.pl -S ${i}_ciri2_output/${i}.sam -C ${i}_ciri2_output/${i}.ciri -F chrALL.fa -A mRNA.gtf -O ${i}_ciri2_output/${i} -D yes
java -jar /kydata/ysm/CIRI/CIRI-full_v2.0/CIRI-full.jar RO1 -1 ${i}_1.fastq -2 ${i}_2.fastq -o ${i}_ciri2_output/${i} 
bwa mem -t 42 chrALL.fa ${i}_ciri2_output/${i}_ro1.fq > ${i}_ciri2_output/${i}_ro1.sam
java -jar /kydata/ysm/CIRI/CIRI-full_v2.0/CIRI-full.jar RO2 -r chrALL.fa -s ${i}_ciri2_output/${i}_ro1.sam -l 300 -o ${i}_ciri2_output/${i}RO2
java -jar /kydata/ysm/CIRI/CIRI-full_v2.0/CIRI-full.jar Merge -c ${i}_ciri2_output/${i}.ciri -as ${i}_ciri2_output/${i}_jav.list -ro ${i}_ciri2_output/${i}RO2_ro2_info.list -r chrALL.fa -o ${i}_ciri2_output/${i}
unset DISPLAY
java -jar /kydata/ysm/CIRI/CIRI-full_v2.0/CIRI-vis.jar -o ${i}_ciri2_output/${i}_stdir -i ${i}_ciri2_output/${i}_merge_circRNA_detail.anno -l ${i}_ciri2_output/${i}_library_length.list -a mRNA.gtf -r chrALL.fa -min 1
done

2.2 Running find_circ pipeline

for i in all
do
bowtie2 -p 150 --very-sensitive --score-min=C,-15,0 --mm -x chrALL.fa -q -1 ${i}_1.fq.gz -2 ${i}_2.fq.gz | /kydata/ysm/samtools-1.13/bin/samtools view -hbuS - | /kydata/ysm/samtools-1.13/bin/samtools sort -o ${i}_output.bam
/kydata/ysm/samtools-1.13/bin/samtools view -hf 4 ${i}_output.bam | /kydata/ysm/samtools-1.13/bin/samtools view -Sb - > unmapped.bam
python2 /kydata/ysm/find_circ-1.2/unmapped2anchors.py unmapped.bam | gzip > anchors.fq.gz
bowtie2 -p 150 --reorder --mm  --score-min=C,-15,0 -q -x chrALL.fa -U anchors.fq.gz | python2 /kydata/ysm/find_circ-1.2/find_circ.py --genome=chrALL.fa --prefix=${i}_ --name=${i} --stats=${i}_stats.txt --reads=${i}_splice_reads.fa > ${i}_spliced_sites.bed
grep CIRCULAR ${i}_spliced_sites.bed | grep -v chrM | gawk '$5>=2' | grep UNAMBIGUOUS_BP | grep ANCHOR_UNIQUE | python2 /kydata/ysm/find_circ-1.2/maxlength.py 100000 > ${i}_find_circ.candidates.bed
done

2.3 Running vircircRNA pipeline

##Build BWA index
perl vircircRNA_chromosome.pl PP054841.fasta > concatenated_circular_PP054841.fasta
bwa index concatenated_circular_PP054841.fasta
bwa mem -t 100 -Y concatenated_circular_PP054841.fasta all_1.fq.gz all_2.fq.gz > mapped_read.sam
perl vircircRNA_junction.pl -g PP054841.gff3 -A junction.alignment.html mapped_read.sam concatenated_circular_PP054841.fasta > PP054841_junction.txt
perl vircircRNA_diagram.pl -g PP054841.gff3 > PP054841_junction.txt concatenated_circular_PP054841.fasta PP054841.fasta > diagram.png

3 Running CIRI-long pipeline

minimap2 -d chrALL.min chrALL.fa
#######call
CIRI-long call -i SY5Y-pokaA.fq.gz \
               -o SY5Y-pokaA_chrALL \
               -r chrALL.fa \
               -p SY5Y-pokaA_chrALL \
               -t 100
			   
#####collapse		   			   
CIRI-long collapse -i ./SY5Y-pokaA_chrALL.lst \
                   -o ./SY5Y-pokaA_chrALL_collpase \
                   -p SY5Y-pokaA_chrALL \
                   -r chrALL.fa \
                   -t 100
python3 misc/convert_bed.py SY5Y-pokaA_chrALL_collpase/SY5Y-pokaA_chrALL.info SY5Y-pokaA_chrALL_circ.bed	

4. VZV circVLTs mutagenesis RNA-seq

##Build STAR index
STAR --runThreadN 42 --runMode genomeGenerate --genomeDir /kydata/ysm/index/star_index/chrALL_149 \
--genomeFastaFiles chrALL.fa \
--sjdbGTFfile mRNA.gtf \
--sjdbOverhang 149

4.1 Running RNA-seq gene expression quantification

for i in pOka_WT_1 pOka_WT_2 pOka_WT_3 pOka_M1_1 pOka_M1_3 pOka_M1_3 pOka_M2_1 pOka_M2_2 pOka_M2_3
do
STAR --genomeDir /kydata/ysm/index/star_index/chrALL_149 \
--readFilesIn ${i}_1.fq.gz ${i}_2.fq.gz \
--readFilesCommand gunzip -c \
--twopassMode Basic \
--outSAMtype BAM Unsorted \
--chimSegmentMin 12 \
--chimJunctionOverhangMin 12 \
--alignSJDBoverhangMin 10 \
--alignMatesGapMax 100000 \
--alignIntronMax 100000 \
--chimSegmentReadGapMax 3 \
--alignSJstitchMismatchNmax 5 -1 5 5 \
--runThreadN 100 \
--outSAMstrandField intronMotif \
--chimOutJunctionFormat 1 \
--outFileNamePrefix $i
/kydata/ysm/samtools-1.13/bin/samtools sort ${i}Aligned.out.bam -o ${i}_sorted.bam -@ 40
/kydata/ysm/samtools-1.13/bin/samtools index ${i}_sorted.bam
echo ${i}_mapped
rm ${i}Aligned.out.bam
rm *.out
featureCounts -T 50 -p -t exon -g gene_id -a mRNA.gtf -o counts/${i}.counts.txt ${i}_sorted.bam
echo ${i}_Counts_finished
cut -f 1,7 counts/${i}.counts.txt |grep -v '^#' > feacturCounts/${i}_feacturCounts.txt
echo ${i}_featureCounts_finished
done 

5. Running coverage statistics pipeline

5.1 PP054841_WT

for i in pOka_WT_1 pOka_WT_2 pOka_WT_3
do
bwa mem -t 100 PP054841.fasta ${i}_1.fq.gz ${i}_2.fq.gz > ${i}.sam
/kydata/ysm/samtools-1.13/bin/samtools view -b ${i}.sam > ${i}.bam
/kydata/ysm/samtools-1.13/bin/samtools sort ${i}.bam -o ${i}_sorted.bam -@ 100
/kydata/ysm/samtools-1.13/bin/samtools index ${i}_sorted.bam
/kydata/ysm/samtools-1.13/bin/samtools depth -a -m 0 ${i}_sorted.bam > ${i}_coverage.txt
echo ${i}_mapped
done

5.2 PP054841_M1

bwa index PP054841_M1.fasta
for i in pOka_M1_1 pOka_M1_3 pOka_M1_3
do
bwa mem -t 100 PP054841_M1.fasta ${i}_1.fq.gz ${i}_2.fq.gz > ${i}.sam
/kydata/ysm/samtools-1.13/bin/samtools view -b ${i}.sam > ${i}.bam
/kydata/ysm/samtools-1.13/bin/samtools sort ${i}.bam -o ${i}_sorted.bam -@ 100
/kydata/ysm/samtools-1.13/bin/samtools index ${i}_sorted.bam
/kydata/ysm/samtools-1.13/bin/samtools depth -a -m 0 ${i}_sorted.bam > ${i}_coverage.txt
echo ${i}_mapped
done

5.3 PP054841_M2

bwa index PP054841_M2.fasta
for i in pOka_M2_1 pOka_M2_2 pOka_M2_3
do
bwa mem -t 100 PP054841_M2.fasta ${i}_1.fq.gz ${i}_2.fq.gz > ${i}.sam
/kydata/ysm/samtools-1.13/bin/samtools view -b ${i}.sam > ${i}.bam
/kydata/ysm/samtools-1.13/bin/samtools sort ${i}.bam -o ${i}_sorted.bam -@ 100
/kydata/ysm/samtools-1.13/bin/samtools index ${i}_sorted.bam
/kydata/ysm/samtools-1.13/bin/samtools depth -a -m 0 ${i}_sorted.bam > ${i}_coverage.txt
echo ${i}_mapped
done

Citations

Yang, S., Cao, D., Jaijyan, D.K. et al. Identification and characterization of Varicella Zoster Virus circular RNA in lytic infection. Nat Commun 15, 4932 (2024). https://doi.org/10.1038/s41467-024-49112-4

About

Identification and Characterization of Varicella Zoster Virus Circular RNA in Lytic Infection

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published