Start a New Annotation Project

Supported Input

TSV / CSV with the columns:

  1. UniProt AC or name
  2. Start position (1-based)
  3. End position
  4. Colour (#FF00DD)
  5. Reference (Optional. Text or link)
  6. Annotation comment

Example CSV/TSV

Example JSON

You may also upload annotations using a simple API

You can enter several annotations, one per line.

Each annotation will consist of 5 or 6 comma or tab separated values:

P0DTD1	1	10	#332288	nsp1_1-10_uncovered
P0DTD1	10	20	#117733	https://swissmodel.expasy.org/	nsp1_10-20_part_covered
P0DTD1	40	100	#44aa99	nsp1_40-100_covered
P0DTD1	1050	1100	#88ccee	A text reference	nsp3_232-382_covered
P0DTD1	1150	1250	#ddcc77	nsp3_332-432_covered_multi
P0DTD1	4800	4900	#cc6677	Pol/RdRp_408-508_covered
P0DTC2	1000	1100	#aa4499	S glycoprotein_1000-1100_covered

Example JSON

{
    "annotations":
        [
            {
                "colour": "#332288",
                "description": "nsp1_1-10_uncovered",
                "end": 10,
                "start": 1,
                "uniprot": "P0DTD1"
            },
            {
                "colour": "#117733",
                "description": "nsp1_10-20_part_covered",
                "end": 20,
                "reference": "https://swissmodel.expasy.org/",
                "start": 10,
                "uniprot": "P0DTD1"
            },
            {
                "colour": "#44aa99",
                "description": "nsp1_40-100_covered",
                "end": 100,
                "start": 40,
                "uniprot": "P0DTD1"
            },
            {
                "colour": "#88ccee",
                "description": "nsp3_232-382_covered",
                "end": 1100,
                "reference": "A text reference",
                "start": 1050,
                "uniprot": "P0DTD1"
            },
            {
                "colour": "#ddcc77",
                "description": "nsp3_332-432_covered_multi",
                "end": 1250,
                "start": 1150,
                "uniprot": "P0DTD1"
            },
            {
                "colour": "#cc6677",
                "description": "Pol/RdRp_408-508_covered",
                "end": 4900,
                "start": 4800,
                "uniprot": "P0DTD1"
            },
            {
                "colour": "#aa4499",
                "description": "S glycoprotein_1000-1100_covered",
                "end": 1100,
                "start": 1000,
                "uniprot": "P0DTC2"
            }
        ]
}
    

JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "annotations": {
      "type": "array",
      "items": [
        {
          "type": "object",
          "properties": {
            "colour": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "end": {
              "type": "integer"
            },
            "reference": {
              "type": "string"
            },
            "start": {
              "type": "integer"
            },
            "uniprot": {
              "type": "string"
            }
          },
          "required": [
            "colour",
            "description",
            "end",
            "start",
            "uniprot"
          ]
        }
      ]
    }
  },
  "required": [
    "annotations"
  ]
}   

import requests

annotations = '''P0DTD1	1150	1250	#ddcc77	nsp3_332-432_covered_multi
P0DTD1	4800	4900	#cc6677	Pol/RdRp_408-508_covered
P0DTC2	1000	1100	#aa4499	S glycoprotein_1000-1100_covered'''

response = requests.post('https://swissmodel.expasy.org/repository/annotation/create',
      data={
          'email':'your.email',
          'title': 'This is an example',
          'annotation_data': annotations
      })

print(response.status_code, response.json())
You are currently not logged in - to take advantage of the workspace, please log in or create an account.
(There is no requirement to create an account to use any part of SWISS-MODEL, however you will gain the benefit of seeing a list of your previous annotation projects here.)