Structome-TM

Origin of Structome

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.

What is 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.

How was the resource built?

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.

What can users achieve?

Structome-TM primarily serves as a tool to explore structural neighborhoods and infer phylogenetic relationships:

Search Results

What are the columns in the table?

The search results table includes the following columns:

What is the TM-score distribution plot?

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.

What do row clicks do?

Clicking on a row in the search results table:

How to add structures to the tree generation module's text area?

To add structures to the tree generation module:

  1. Check the box next to each row.
  2. The selected proteins will be automatically added to the text area of the tree generation module.
  3. The tree generation module submits a job, which on successful completion renders a tree with interactive leaves, a table listing all members of the taxa space, and an area populated by taxon details when a tree leaf is pressed.

API

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"}'

Schema

{
  "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"
  ]
}

Access

Structome-TM is a web app available at https://biosig.lab.uq.edu.au/structome_tm/

Citation

If you find this resource helpful, please cite these:

Contact

For any issues with the server or functionality, please contact:

Ashar Malik

Email: ashar.malik@uq.edu.au