SecStrAnnotator Suite provides scripts (Python, R, and bash) for batch annotation of the whole family and analysis of the annotation results.
scripts/secstrapi_data_preparation/ contains a pipeline for annotating the whole protein family, including:
- downloading the list of family members defined by CATH and Pfam,
- downloading their structures,
- selecting a non-redundant set,
- multiple sequence alignment for individual SSEs,
- formatting into SecStrAPI format,
- formatting into TSV format for further analyses.
Before running, modify the SETTINGS section of
SecStrAPI_master.sh to set your family of interest, data directory, options, paths to your template annotation (TEMPLATE_ANNOTATION_FILE, TEMPLATE_STRUCTURE_FILE). Unwanted steps of the pipeline can be commented out in the MAIN PIPELINE section.
scripts/R_sec_str_anatomy_analysis/ contains a pipeline for statistical analysis of the annotation results on the whole protein family, including:
- reading the annotation results from TSV,
- generating plots,
- performing statistical test to compare eukaryotic and bacterial structures (or any two sets of structures).
rstudiofrom the said directory
sec_str_anatomy.R, set DATADIR to the path to your annotation data created in #Data preparation
sec_str_anatomy_settings.R, modify the family-specific settings (list of helices and strands)
sec_str_anatomy.Rline by line
Example case study: Cytochromes P450
For the Cytochrome P450 family, structures of 1775 protein domains are available, located in 953 PDB entries (updated on 23 March 2020). The analysis was performed on a non-redundant subset containing 175 protein domains.
The data are available here (structural files not included because of their size).
Occurrence of SSEs
The occurrence describes in what percentage of the structures a particular SSE is present.
Length of SSEs
The length of an SSE is measured as the number of residues. The following violin plots show the distribution of length for each SSE.
Sequence of SSEs
The amino acid sequences for each SSE can be aligned and used to produce a sequence logo. Where the sequence conservation is sufficient, we can establish a generic numbering scheme: the most conserved residue in helix X serves as its reference residue and is numbered as @X.50. The remaining residues in the helix are numbered accordingly.