Structome began as an initiative to gather the evolutionary signal of relatedness between proteins sharing a structural neighborhood. The first work in this area utilized the Q-score metric to rapidly assemble datasets, leveraging the structural similarity between proteins. As the research evolved, alternative metrics such as the TM-score were explored to provide complementary insights into structural comparisons. Using "1 - TM-score" as a distance measure, phylogenetic trees can be constructed to illustrate evolutionary relationships inferred from protein structures.
To emphasize the reliance of this resource on the TM-score metric and distinguish it from other tools in the Structome suite, this resource is named Structome-TM.
Structome-TM is a web resource for determining evolutionary history using structural relatedness. Using the TM-score metric as a distance measure, it employs maximum-likelihood (ML) or neighbor-joining (NJ) methods to infer evolutionary relationships between protein structures. Structome-TM is part of the Structome suite, designed to provide high-quality, structure-informed phylogenetic analyses.
RCSB protein seqres data was filtered for proteins > 50 amino acids, clustered at 90% identity using USEARCH, resulting in 69,138 clusters. For each cluster, a centroid was obtained, and 69,138 pairwise comparisons were carried out to determine TM-scores for each protein structure comparison.
Structome-TM primarily serves as a tool to explore structural neighborhoods and infer phylogenetic relationships:
The search results table includes the following columns:
The TM-score distribution plot visualizes the similarity scores (TM-scores) of the hits. It provides a quick overview of the structural similarity of proteins in the neighborhood to the query structure, helping users identify closely related proteins.
Clicking on a row in the search results table:
To add structures to the tree generation module:
To fetch data programmatically from Structome-TM, users can use curl
to interact with the API. For example:
curl -X POST https://biosig.lab.uq.edu.au/structome_tm/api \
-H "Content-Type: application/json" \
-d '{"query": "1abc_A"}'
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The input PDB chain provided by the user."
},
"is_centroid": {
"type": "boolean",
"description": "Indicates whether the query is a centroid (true) or a member (false)."
},
"centroid": {
"type": "string",
"description": "The centroid structure. If the query is a centroid, this is the same as 'query'."
},
"centroid_description": {
"type": "string",
"description": "Description of the centroid structure. Defaults to 'N/A' if unavailable."
},
"member_size": {
"type": ["string", "integer"],
"description": "The size of the member structure (relevant only for member queries). Defaults to 'N/A' for centroids."
},
"number_of_results": {
"type": "integer",
"description": "The total number of neighbor structures returned."
},
"results": {
"type": "array",
"description": "A list of neighbor structures with relevant details.",
"items": {
"type": "object",
"properties": {
"Hit": {
"type": "string",
"description": "The neighbor PDB chain."
},
"distance": {
"type": "number",
"description": "The distance between the query structure and the neighbor."
},
"alignment_score": {
"type": "number",
"description": "Alignment score between the query structure and the neighbor."
}
},
"required": ["Hit", "distance", "alignment_score"]
}
}
},
"required": [
"query",
"is_centroid",
"centroid",
"centroid_description",
"member_size",
"number_of_results",
"results"
]
}
Structome-TM is a web app available at https://biosig.lab.uq.edu.au/structome_tm/
If you find this resource helpful, please cite these:
For any issues with the server or functionality, please contact:
Ashar Malik
Email: ashar.malik@uq.edu.au