Skip to content

CATH-SWISSMODEL/cath-swissmodel-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CATH / SWISS-MODEL API

This repository is here to help development relating to the CATH / SWISS-MODEL API (2018/19 ELIXIR Implementation Study).

The CATH-SM pipeline effectively glues together APIs from two Bioinformatics resources (CATH and SWISS-MODEL) to predict 3D structures from protein sequences. The resulting models are then made available in other ELIXIR resources: first Genome3D, then on to InterPro and PDBe.

Overview

The main output of this project is to provide a pipeline that models 3D structures from protein sequence.

Jobs can be submitted to this pipeline via web pages.

Alternatively, jobs can also be submitted via CLI tools (and libraries):

Note: the backend code for the pipeline and web pages is available here:

API Overview

The pipeline outlined above depends on the following APIs:

API 1: Get3DTemplate (UCL) -- For a given query protein sequence, identify the most appropriate known structural domain to use for the 3D structural modelling.

Input Output
protein sequence (FASTA)
  • template structure (PDB ID)
  • alignment (FASTA)

API 2: Get3DModel (SWISSMODEL) -- For a given sequence, alignment and template identify the most appropriate known structural domain to use for the 3D structural modelling.

Input Output
  • protein sequence (FASTA)
  • template structure (PDB ID)
  • alignment (FASTA)
3D coords (PDB)

API 3: GetFunData (CATH) -- Provide access to functional terms and functional site data for the respective functional families (to provide additional annotations for query sequences).

Input Output
protein sequence (FASTA) JSON

API 4: GetPutativeModelSequences (CATH) -- Provide information on the number of potential models that can be built by a query structure (used by PDBe).

Input Output
protein sequence (FASTA) UniProtKB accessions

Useful Links

OpenAPI

OAuth2

There are a few different flows according to what particular type of authentication system is required, but typical authentication flow might look like:

  1. client logs in, server generates token, server sends token back to client
  2. client adds token to the header of all subsequent requests
  3. server uses token to validate who is making the request
  4. server checks that this user is authorised for this endpoint (eg. using OpenAPI spec)
  5. client logs out

About

CATH / SWISS-MODEL API: ELIXIR Implementation Study (2018)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published