Data and code from: Insertion–deletion events are depleted in protein regions with predicted secondary structure
Data files
Sep 17, 2026 version files 1.93 GB
-
protein_structure.2.tar.gz
1.93 GB
-
README.md
18.24 KB
Abstract
A fundamental goal in evolutionary biology and population genetics is to understand how selection shapes the fate of new mutations. Here we test the null hypothesis that insertion-deletion events (indels) in protein-coding regions occur randomly with respect to secondary structures. We identified indels across 11,444 sequence alignments in mouse, rat, human, chimp, and dog genomes, then quantified their overlap with four different types of secondary structure – alpha helices, beta strands, protein bends, and protein turns – predicted by deep-learning methods of AlphaFold2. Indels overlapped secondary structures 54% as much as expected, and were especially under-represented over beta strands, which tend to form internal, stable regions of proteins. In contrast, indels were enriched by 155% over regions without any predicted secondary structures. These skews were stronger in the rodent lineages compared to the primate lineages, consistent with population genetic theory predicting that natural selection will be more efficient in species with larger effective population sizes. Nonsynonymous substitutions were also less common in regions of protein secondary structure, although not as strongly reduced as in indels. In a complementary analysis of thousands of human genomes, we showed that indels overlapping secondary structure segregated at significantly lower frequency than indels outside of secondary structure. Taken together, our study shows that indels are selected against if they overlap secondary structure, presumably because they disrupt the tertiary structure and function of a protein.
README for Dryad archive: protein_structure, archive is called protein_structure.2.tar.gz
Last updated: 2026-09-15
This archive accompanies:
Yang Y, Braga MV, Dean MD. 2024. Insertion–Deletion Events Are Depleted in Protein Regions with Predicted Secondary Structure. Genome Biology and Evolution 16(5): evae093. https://doi.org/10.1093/gbe/evae093
Dryad DOI: https://doi.org/10.5061/dryad.bk3j9kdk9
Description of the data and file structure
This revised deposit contains the analysis code and study-generated results underlying Yang et al. (2024). Large source datasets that can be obtained from their original repositories have been omitted. Individual-level human genomic source data and the corresponding human-population intermediate outputs have also been omitted; see Human subjects and de-identification statement below.
The Dryad deposit contains:
README.md— Description of the deposited files, source-data locations, human-subjects handling, and software requirements.protein_structure.tar.gz— Gzipped tar archive containing theprotein_structure/directory described below.
After extracting protein_structure.tar.gz, the principal contents are:
map.xlsx— Spreadsheet index of the main analysis scripts, including each script's purpose, inputs, and outputs.code/— R scripts for the analyses. Scripts are numbered in their approximate execution order.results/— Study-generated intermediate and final outputs. Directories containing many per-gene files are described as directory groups below.simplified_output/— Convenient per-gene alignments, inferred indel coordinates, and mapped secondary-structure annotations extracted from selected analysis objects.
The archive intentionally does not contain a data/ directory. The externally available inputs formerly stored there are identified under Sharing/Access information.
Analysis-subset suffixes
Many result directories repeat an analysis using different indel-filtering schemes. The suffix follows the script name, for example results/05_overlap_indels_alphafold.MERGED/.
ALL— All inferred indels.INTERNAL— Indels touching the beginning or end of an alignment were excluded.GU94_PA100_GD40— Internal indels passing the primary GUIDANCE, aligned-position, and Grantham-distance filters used in the paper.GU100_PA100_GD0— More stringent GUIDANCE/position/Grantham-distance sensitivity analysis.GU90_PA90_GD50— Less stringent GUIDANCE/position/Grantham-distance sensitivity analysis.LENGTH_LTE10— Internal indels no longer than 10 amino acids.LENGTH_LTE20— Internal indels no longer than 20 amino acids.MERGED— Overlapping internal indel coordinates were merged so that overlapping events contribute only once at a site.
Not every suffix is present for every analysis.
results/
The retained result directories are:
results/01_assembl_ENSG_UNIPROT/— Combined Ensembl/UniProt sequence and identifier-mapping outputs.results/02_assemble_unaligned_one2one/— Per-gene FASTA files containing unaligned one-to-one ortholog protein sequences from human, chimpanzee, dog, mouse, and rat.results/03_make_alignments/— Per-gene protein alignments and GUIDANCE alignment-confidence files.results/04_identify_indels/— Per-gene R data files containing indels inferred from the five-species alignments.results/05_overlap_indels_alphafold.*/— Per-gene R data files and summary tables mapping inferred indels to AlphaFold-predicted secondary structures. These are the principal reusable R objects for the interspecific analysis.results/06_randomize_05.*/— Null-randomization summaries for the overall indel-position analyses.results/07_make_randomization_figure.*/— Summary tables and PDFs for the manuscript Figure 2 analysis.results/08_indels_per_branch.prepare_rda.*/— Per-gene R data files with comparative indels polarized to branches of the five-species phylogeny.results/09_separate_08_by_indeltype.*/— Comparative branch-specific insertion and deletion objects, separated by lineage and indel type.results/10_overlap_09indels_alphafold.*/— Summaries mapping comparative branch-specific insertions and deletions to secondary-structure categories.results/11_randomize_10.*/— Null-randomization summaries for the branch-specific analyses.results/12_summarize.per_branch.*/— Branch-specific observed-versus-expected summaries and comparisons.results/13_make_per_branch_figure.*/— PDFs for the manuscript Figure 3 analysis.results/20_confidence_accessibility.*/— Residue-level AlphaFold pLDDT-confidence and relative-solvent-accessibility outputs; theALLdirectory also contains expanded per-gene R data files.results/21_summarize_20.*/— Summary tables and PDFs for the manuscript Figure 4 confidence/accessibility analysis.results/22_run_glm.*/— Generalized linear model summaries estimating indel occurrence from secondary structure and accessibility.results/23_syn_nonsyn.*/— Comparative outputs quantifying invariant, synonymous, and nonsynonymous sites relative to secondary structure.results/24_analyze_23.*/— Summaries of the invariant, synonymous, and nonsynonymous codon analyses.results/25_create_tables/— Output used for manuscript Table 1 and Supplementary Table 1.results/27_glm_secondary_RSA.sample_data.*/— Study-generated sampled site-level datasets for models of secondary structure and relative solvent accessibility.results/28_glm.ROC_AUC.*/— Generalized linear model, cross-validation, receiver-operating-characteristic, and area-under-the-curve outputs. Subdirectories1/through5/represent sampling iterations.results/29_summarize_28/— Summary of mean and standard deviation AUC values across model analyses.
Directories results/14_human_indels.prepare_uniprot/ through results/19_human_indels.make_figure*/ are intentionally excluded from the revised deposit because they belong to the analysis of 1000 Genomes population data. The scripts remain available in code/ so that qualified users can recreate the analysis after obtaining the source data directly from the International Genome Sample Resource.
Directory names such as Human_deletion_rda_files/ within the retained comparative results refer to indels inferred on the human evolutionary lineage from multispecies reference-protein alignments. They are not 1000 Genomes participant genotypes, participant-level variant calls, or participant metadata.
simplified_output/
This directory provides the most accessible study-generated outputs. It contains the following analysis-subset directories:
simplified_output/ALL/simplified_output/INTERNAL/simplified_output/GU94_PA100_GD40/simplified_output/LENGTH_LTE20/simplified_output/MERGED/
Each subset directory contains groups of three files named by Ensembl gene identifier:
<ENSGENE>.alignment.fasta— Five-species protein alignment plus the UniProt/AlphaFold sequence used for structure mapping.<ENSGENE>.indels.txt— Tab-delimited inferred-indel coordinates, including alignment start and end positions.<ENSGENE>.structure.txt— Tab-delimited per-position structure annotations, including residue position, detailed structure label, and coarse category (BEND,HELIX,NONE,STRAND, orTURN).
The files in simplified_output/ are derived comparative products created for this study. Although some alignments include the public human reference protein sequence, they contain no participant-level genomic data or identifiers.
Common file formats
.rda— R data file; load withload("path/to/file.rda")..txtand.csv— Plain-text tabular or summary files..fasta— FASTA-formatted protein sequences or alignments..pdf— Generated figure output..log— Analysis log..xlsx— Spreadsheet index of the workflow.
Sharing/Access information
The associated article is available at https://doi.org/10.1093/gbe/evae093. The archived code and derived outputs are available from Dryad at https://doi.org/10.5061/dryad.bk3j9kdk9. When reusing the deposited material, cite both the article and the Dryad dataset.
Source datasets omitted from this deposit
The following source-data groups were omitted because they are available from their original providers. The path column gives the location expected by the retained scripts in the original workflow; users recreating the complete analysis may need to restore those paths or edit the paths in the scripts.
| Original path | Source/version | Access information |
|---|---|---|
data/ALPHAFOLD2/ |
AlphaFold Protein Structure Database, human proteome UP000005640_9606_HUMAN, model version 4 |
https://alphafold.ebi.ac.uk/download |
data/ENSEMBL_V107/ |
Ensembl release 107 homology, protein, transcript, exon-coordinate, and identifier-mapping data | https://jul2022.archive.ensembl.org/ |
data/ENSEMBL_V107/uniprot_sprot.fasta and UniProt mapping inputs |
UniProtKB/Swiss-Prot | https://www.uniprot.org/help/downloads |
data/UCSC/ALL.UNIPROT.UCSC.GRCH38.txt |
UCSC Genome Browser/Table Browser annotations for GRCh38 | https://genome.ucsc.edu/cgi-bin/hgTables |
data/genome_assemblies_genome_fasta/ |
NCBI human reference assembly GCF_000001405.26 (GRCh38) |
https://www.ncbi.nlm.nih.gov/datasets/genome/GCF_000001405.26/ |
data/phylogeny/ |
Mammalian phylogeny from the MamPhy project | https://github.com/n8upham/MamPhy_v1 |
data/vcf_files_human_indels/ |
1000 Genomes/IGSR GRCh38 integrated and phased biallelic SNV/indel call set | https://www.internationalgenome.org/data/ |
Users should consult the original providers for applicable release documentation, citations, licenses, consent frameworks, and terms of use.
Code/Software
All analysis code is in code/. Scripts are numbered in approximate workflow order. The paths in the scripts reflect the original analysis environment and may need to be edited after downloading external source data. map.xlsx provides a compact script-by-script map of the main workflow.
Main software and resources
- Primary language: R.
- Sequence alignment: GUIDANCE2 and MAFFT.
- Structure and solvent accessibility: AlphaFold model files, FreeSASA, and STRIDE-related routines referenced in the code.
- External data/resource systems: Ensembl, UniProt, UCSC Genome Browser, NCBI, AlphaFold Protein Structure Database, PantherDB, and 1000 Genomes/IGSR.
- R packages referenced by the scripts include
Biostrings,tidyverse,dplyr,deepredeff,grantham,bio3d,kgp,vioplot,phytools,viridis,plyr,ggplot2,cowplot, andcaret.
Script inventory
code/01_assembl_ENSG_UNIPROT.r— Assembles Ensembl release 107 gene, transcript, protein, orthology, and UniProt mappings.code/01_prettify_xml.r— Converts PantherDB Gene Ontology enrichment XML output to a tabular form.code/01_prettify_xml.txt— Tabular Gene Ontology enrichment output generated by01_prettify_xml.r.code/02_assemble_unaligned_one2one.r— Creates per-gene FASTA files for one-to-one orthologs across human, chimpanzee, dog, mouse, and rat.code/03_make_alignments.R— Produces protein alignments and GUIDANCE confidence output.code/04_identify_indels.R— Identifies indels from aligned protein sequences and saves per-gene R objects.code/05.1_basic_stats.r— Calculates basic alignment and indel summary statistics.code/05_overlap_indels_alphafold.r— Maps inferred indels to AlphaFold-predicted secondary structures.code/06_randomize_05.r— Randomizes indel positions to generate null expectations for overlap with secondary structure.code/07_make_randomization_figure.r— Summarizes the randomization analysis and produces the manuscript Figure 2 output.code/08_indels_per_branch.prepare_rda.r— Polarizes comparative indels to branches of the five-species phylogeny.code/09_separate_08_by_indeltype.r— Splits branch-polarized events into insertion and deletion objects.code/10_overlap_09indels_alphafold.r— Maps branch-specific comparative events to AlphaFold-predicted secondary structures.code/11_randomize_10.r— Generates null expectations for branch-specific insertion and deletion analyses.code/12_summarize.per_branch.r— Summarizes branch-specific observed-versus-expected results.code/13_make_per_branch_figure.r— Produces the manuscript Figure 3 output.code/14_human_indels.prepare_uniprot.r— Prepares human protein-coding reference sequence and UniProt/AlphaFold mappings for the population analysis; requires external source data.code/15_human_indels.analyze_vcf_files.r— Identifies 1000 Genomes indels overlapping protein-coding exons; requires VCFs obtained directly from IGSR.code/16_human_indels.reconstruct_ref_alt.r— Reconstructs reference and alternate alleles as a validation step in the population analysis.code/17_human_indels.add_structures.r— Maps population indels to AlphaFold-predicted secondary structures.code/18_human_indels.add_frequency.r— Adds population allele-frequency information.code/19_human_indels.make_figure.r— Produces the manuscript Figure 5 population-analysis output.code/20_confidence_accessibility.r— Calculates residue-level AlphaFold pLDDT confidence and relative solvent accessibility.code/21_summarize_20.r— Summarizes confidence/accessibility results and produces the manuscript Figure 4 output.code/22_run_glm.r— Fits generalized linear models estimating indel occurrence from secondary structure and accessibility.code/23_syn_nonsyn.r— Quantifies invariant, synonymous, and nonsynonymous codons across the comparative alignments.code/24_analyze_23.r— Summarizes invariant, synonymous, and nonsynonymous codon output.code/25_create_tables.r— Generates manuscript Table 1 and Supplementary Table 1 output.code/26_simplified_output.r— Extracts convenient alignment, indel, and structure text files intosimplified_output/.code/27_glm_secondary_RSA.sample_data.r— Samples one site per gene across iterations for secondary-structure and relative-solvent-accessibility models.code/28_glm.ROC_AUC.r— Runs generalized linear models, cross-validation, ROC analyses, and AUC estimation.code/29_summarize_28.r— Summarizes AUC results across model analyses.
Suggested reuse paths
For straightforward downstream analyses, begin with simplified_output/. Files sharing an Ensembl gene identifier can be combined to connect the protein alignment, inferred indel coordinates, and per-residue structure annotations.
For fuller R analysis objects, use the corresponding files under results/05_overlap_indels_alphafold.*/. Loading an .rda file generally provides the original alignment (aln_ori), unique indel calls (indels_unique), and expanded structure annotation (structures_expanded_out).
Human subjects data
This research analyzed publicly available human genomic data from the 1000 Genomes Project, distributed by the International Genome Sample Resource (IGSR). The original analysis used phased, participant-level genotype files obtained from IGSR.
To protect research participants and to preserve the source repository's consent and data-use framework, the revised Dryad deposit excludes the complete data/vcf_files_human_indels/ directory. It also excludes all intermediate and final data products from the associated human-population workflow (results/14_human_indels.prepare_uniprot/ through results/19_human_indels.make_figure*/).
The revised deposit therefore contains no individual-level human sequencing reads, genotypes, VCF files, participant-level variant calls, participant metadata, or 1000 Genomes sample identifiers. It retains only analysis code and study-generated comparative protein outputs that are not linked to research participants. Researchers wishing to reproduce the human-population analysis must obtain the source files directly from IGSR and use them in accordance with IGSR's applicable terms and participant-consent framework.
All raw data were downloaded from AlphaFold2, Ensembl, 1000Genomes, and UCSC. All other data are from code included in this repository.
