Structome-Q

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. Using 1 - Q-score as a distance measure, neighbor-joining (NJ) trees were constructed to illustrate the evolutionary relationships inferred from these structures.

As research progressed, uncovering the evolutionary signal buried in protein structures, additional resources and methods were developed to enhance this initiative. To emphasize its reliance on the Q-score metric and distinguish it from other tools in the Structome suite, this resource is now named Structome-Q.

What is Structome-Q?

Structome-Q is a web resource for determining evolutionary history using structural relatedness. Using the Q-score metric (through GESAMT) as a distance measure, it employs the neighbor-joining method to infer evolutionary relationships between protein structures. Structome-Q 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 Q-scores for each protein structure comparison.

What can users achieve?

Structome-Q primarily serves as a data-gathering tool, referred to as a structural neighborhood explorer. It operates under the assumption that protein structures within close proximity in the structural neighborhood are homologs.

Search Results

What are the columns in the table?

The search results table includes the following columns:

What is the Q-score distribution plot?

The Q-score distribution plot visualizes the similarity scores (Q-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 jobs, 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-Q, users can use curl to interact with the API. For example:

curl -X POST https://biosig.lab.uq.edu.au/structome_q/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-Q is a web app available at https://biosig.lab.uq.edu.au/structome_q/

Citation

If you find this resource helpful, please cite:

Further reading

Contact

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

Ashar Malik

Email: ashar.malik@uq.edu.au