DeepGOWeb function prediction webserver

DeepGOWeb is a webserver for DeepGOPlus protein function prediction. It allows users to obtain predicted protein functions in three different ways. First, using the Prediction web page, users can submit protein sequences and obtain predictions which are downloadable in JSON format. Second, DeepGOWeb provides a REST API for users to access our servers programmatically. Finally, users can use our SPARQL endpoint to call DeepGOPlus within a SPARQL query.

Web page for submitting protein sequences

Users should provide the following data to use the service on the Prediction page:

  • Format: FASTA format or Raw Sequences separated by a newline.
  • Threshold: a value between 0.1 and 1.0 for filtering predictions by the confidence score of the model.
  • Data: Protein sequences in the selected format. A maximum of 10 sequences are allowed in one request.

After submitting the request, users will be redirected to results page where they can see the predictions and download them in JSON format. Users can also save the link to the results page and come back to it anytime.


The REST API allows accessing the DeepGOWeb service programmatically. Here we provide an example using python and Requests library.

import requests

threshold = 0.3
r ='', data={'data_format': 'enter', 'data': sequence, 'threshold': threshold})                
result = r.json()


The SPARQL endpoint allows to call the DeepGOPlus function prediction model within a SPARQL query. We provide a custom SPARQL function called "deepgo" which takes a protein sequence and prediction threshold as an input and returns the predicted functions along with the subontology, label, and prediction score. The output can be downloaded in different formats such as json, xml, csv or text.

Example queries:

  • Example 1: Simple example query
    PREFIX dg: <>
    PREFIX GO: <> 
    SELECT ?ont ?go ?label ?score
     (?ont ?go ?label ?score)
  • Example 2: Federated query which runs DeepGOPlus on two sequences from the UniProt SPARQL Endpoint
    PREFIX dg: <>
    PREFIX GO: <> 
    PREFIX rdfs: <>
    PREFIX rdf: <>
    PREFIX taxon: <>
    PREFIX up: <>
    SELECT ?protein ?organism ?isoform ?sub ?go ?label ?score
    SELECT DISTINCT ?protein ?organism ?isoform ?aa_sequence
      SERVICE <> {
        ?protein a up:Protein .
        ?protein up:organism ?organism .
        ?organism rdfs:subClassOf taxon:9606 .
        ?protein up:sequence ?isoform .
        ?isoform rdf:value ?aa_sequence .
    LIMIT 2
    (?sub ?go ?label ?score) dg:deepgo(?aa_sequence 0.3) .

Commandline tool

Users can also install DeepGOPlus on their system and run DeepGOPlus locally. This is useful when prediction functions for a large amount of protein sequences.



pip install deepgoplus
Download the data

Download all the files from and extract them into data folder


deepgoplus --data-root path_to_data_folder --in-file input_fasta_filename