DOI: 10.5281/zenodo.15492747
title: Epigenetic silencing and genome dynamics determine the fate of giant virus endogenizations in Acanthamoeba

description: This is a repository of data files and code used and produced in the bioinformatic analyses for the publication "Epigenetic silencing and genome dynamics determine the fate of giant virus endogenizations in Acanthamoeba." 

Data

Genome assembly and gene predictions

The genome assemblies and gene models that form the backbone of this publication were generated as part of work for the Acanthamoeba genome paper by Matthey-Doret, Colp et al. (2022). Because the two projects ran partly in parallel, the assemblies and gene models used here represent different stages of the work by Matthey-Doret, Colp et al. (2022), and do not perfectly match the records publically provided for this publication. As such, we provide here the version of the files used for this study.

Archive: Assemblies_and_genes_Colp_Matthey-Doret.tar.gz

Protein sequences and function

This directory includes fastas for predicted protein (based on the gene models discussed above) and intergenic ORFs (identifiable from the "extraction" in their ID). Interproscan files for both Neff and C3 are also included.

Archive: Proteins_and_function.tar.gz

Viral genes, viral regions, divergent regions

This repository holds the relevant coordinates and information on viral genes. The "*_all_genes_info_virus_conservation.bed" files have the coordinates for all genes and specifies whether they are viral or non viral, and whether they are conserved, degraded or unconserved (for the purpose of all analyses, degraded genes are treated as conserved). The "*_mummer_concatenated_divergent_regions.gff" files have the coordinates of all divergent regions in Neff and C3, and specifies which ones contain all least one full viral gene. The "*_viral_regions_curated.gff" files show the coordinates for manually curated viral regions based on the divergent regions. 

Archive: Viral_annotations.tar.gz

Genome alignment information

This repository holds the output files for the mummer4 Neff-C3 genome alignments.

Archive: mummer4_genome_alignments.tar.gz

Methylation

Methylation frequency at every CpG site in Neff and C3. Calls are based on raw reads provided by Colp and Matthey-Doret. Due to the large size of raw nanopore fast5 files, the raw nanopore files are only available on demand.

Archive: Methylation.tar.gz

Custom viral regions python script input

The customized .gff files indicating whether a gene is viral are in the format necessary to be used with the script mummer_concat_for_publication_inputs.py.

Archive: input_for_viral_regions_script.tar.gz

BLAST hits and taxonomy

The initial output file for the Neff and C3 diamond blast searches (diamond_*_v_NCBI.tsv), modified to include the taxonomy of subject proteins, as well as the filtered version including only viral candidates (diamond_*_viral_candidates.tsv). Files breaking down the taxonomy of viral proteins are also included.

Archive: BLAST.tar.gz

Viral hallmark genes

Output files for the ViralRecall hmm viral mhallmark gene search and selected list of viral hallmark genes found in viral regions, which were used for figure 2.

Archive: ViralRecall_v2.tar.gz

Expression

Transcriptome fasta for Neff and C3, based on the exon sequences of the Colp and Matthey-Doret gene models and the nucleotide sequence of viral intergenic ORFs. Kallisto output files are also included. These files are modified to include information about which genes are viral or not and conserved or not.

Archive: Expression.tar.gz

Mobile elements

Repeatmasker .out files, with simple and low complexity repeats filtered out, and modified to be easier to process in R.

Archive: Mobile_elements.tar.gz

Trees

Alignment and tree files for all phylogenetic trees featured in the study.

Archive: Trees.tar.gz

Macrosynteny

.bed coordinates of all protein-coding sequences used in synteny analysis and orthologue table used for the same analysis.

Archive: Macrosynteny.tar.gz

Circos plot

A manually curated set of viral DNA sequences was used to generate the circos alignment in fig. 3. The script was run with circos_candidates_v3.fa, although a version with more instructive fasta headers can be found at circos_viral_regions.fa. The initial alignment and configuration files were generated using Sibelia, and the image was rendred based on the configuration files in the directory based on Circos. Several annotation files were created to show the location of genomic features, and a custom python script is included in the directory which re-colours links based on the genomic features they overlap. This is the only script included in the data rather than code section, as its extremely specific use case doesn't make sense outside of the exact directory it was created for. Note that some configuration files were further manually edited to achieve the desired aesthetic, and that the final image was further edited in Affinity Designer. Abandon all hope all yee who enter here.

Archive: custom_circos.tar.gz

Distances from chromosome ends

Files showing the distance from the nearest chromosome ends of various genomic features in Neff and C3. The distance is showed in the second to last column of each .tsv file. Distances of Neff genomic features were corrected to account for the "true" start of chromosomes, determined based on a manual assessment of misassemblies using long-reads mapping to the genome and Hi-C data; where the extremity of a scaffold was deemed to be a misassembly, distance was calculated based on the start or end provided in 12_Ac_Neff_rcor_polish_corrected_ends.tsv. Sequences overlapping with suspicious regions (the coordinates for which are found in Neff_Misassembly_filter_list.tsv) were filtered out of the analysis.

While the same filtering step was not done for C3, "null" filtering files are provided for C3 to run the scripts.

Archive: distances.tar.gz

Code

All python scripts are found in: custom_python.tar.gz

All R scripts are found in: R_scripts.tar.gz

All bash scripts are found in: program_submission_scripts.tar.gz



Viral sequence detection


Viral proteins were detected using a diamond BLASTp search of all predicted proteins and intergenic ORFs in Neff and C3 against a local copy of the NCBI database. qsub diamond_blast.sh

Taxonomy was assigned to hits using acc2tax. Hits to other Acanthamoeba proteins, as well as entries with taxonomy listed as 'NO TAXA FOUND', 'other entries' and 'Unknown' were filtered out using grep -v ',Acanthamoeba,' $ | grep -v 'NO TAXA FOUND' | grep -v 'other entries' | grep -v 'Unknown'. Proteins were retained as viral if either the top hit after filtering was viral, or if at least 5/10 top blast hits were viral.

Viral hallmark genes were detected using ViralRecall:

qsub viral_recall_hallmark_genes.sh



Conservation and delineation of viral regions


The Neff and C3 genomes were aligned with mummer4, and the show-diff function was used to identify differences in the assemblies: qsub mummer4_genome_alignment_final.sh

Overlapping differences in the alignments were concatenated together to form 'divergent regions', using a custom script which accounts for translocations. Viral regions were defined as divergent regions which had at least one fully overlapping gene. Unconserved genes were defined as genes which fully overlapped with show-diff features corresponding to gaps in the alignment (GAP, BRK, JMP, INV, SEQ). python mummer_concat_for_publication_inputs.py



Expression


To assess global expression levels, HISAT2 was used to align reads to the reference:

qsub hisat2_C3_final.sh

The specific transcripts per million (TPM) values for all predicted genes and viral intergenic ORFs were calculated using kallisto:

qsub kallisto_final.sh for Neff.

qsub kallisto_single_final.sh for c3.

A t-test comparing the TPM values of conserved and unconserved viral and non-viral genes was performed:

Rscript expression_violin.R



Methylation analysis


Methylation calls using nanopolish require aligning nanopore reads to a genome reference. This was done with minimap2:

qsub minimap2_final.sh

The resulting .bam file is then used as an input file for the nanopolish script:

qsub call_methylation_nanopolish_final.sh

A t-test comparing the methylation levels of CpG sites across different genomic contexts was then performed:

Rscript genomic_context_methylation_violin.R



Mobile elements


Mobile elements were predicted using repeatmasker:

qsub repeat_masker.sh

Low_complexity and Simple_repeat predictions were removed from the repeatmasker .out file using grep -v $file.out. The file was then made R friendly by replacing sequences of multiple spaces with tabs and removing leading characters: sed 's/  */ /g' file.out | cut -c2- | sed 's/ /       /g'

A chi-square test was performed to compare the statistical significance of differences in mobile element composition of different genomic contexts:

Rscript chi_square_repeat_masker.R



Functional annotation


The function of Neff proteins was predicted using interposcan:

qsub interproscan.sh



Phylogenetic trees


Phylogenetic trees were generated using IQ-tree:

qsub iqtree.sh

Distance from chromosome ends

The scripts used to calculate the distance of genomic features from the nearest chromosome end in the first 32 scaffods of Neff and C3 (which were deemed large enough to be "chromosome scale" for the purpose of our analsis) can be run with:

python get_distance_curated_C3_for_publication.py

python get_distance_curated_Neff_for_publication.py

Macrosynteny

The macrosynteny analysis can be run with the following R script:

Rscript Acas_macrosynteny.R

Circos plot

The alignment underlying the circos plot in fig. 3 was generated using the following Sibelia command:

Sibelia -s loose -m 500 circos_candidates_v3.fa

And then calling the circos program from the generated circos directory, which contained painstakingly made annotations files with the location of overlaping genomic features, as well as modified configuration files to obtain the correct aesthetic, and a custom python script to recolor connections based on the genomic features they overlap (found in custom_circos.tar.gz).