Events News Research CBS CBS Publications Bioinformatics
Staff Contact About Internal CBS CBS Other

NetCTL 1.2.ws0

Template service

NOTE: a newer version of this service (NetCTL 1.2.ws1) is available.

WSDL NetCTL/NetCTL_1_2_ws0.wsdl
Schema definitions ../common/ws_common_1_0b.xsd

We recommend that the first time users should load the WSDL file above to SoapUI and investigate the Web Service operations in that environment. SoapUI is a desktop application for inspecting, invoking, developing and functional/load/compliance testing of Web Services over HTTP. It can be downloaded free of charge from

Other versions and implementations

Ver.Last updated
1.2.ws1  2012-04-10(most recent)
1.2.ws0  2009-04-24(this version)
1.1  2006-01-01

Examples of client side scripts using the service

netctl_perl1 (5.6 KB) Perl 1.2 ws1 Karunakar Bayyapu
Client script in Perl (SOAP::Lite) running the NetCTL Web Service
netctl_csharp (5.5 KB) C# 1.2 ws1 Karunakar Bayyapu
Client script in C# (mono) running the NetCTL Web Service
netctl_soap_analysis (8.2 KB) 1.2 ws1 Karunakar Bayyapu
Detailed analysis of SOAP and WSDL versions with supported clients
netctl_php (4.5 KB) PHP 1.2 ws1 Karunakar Bayyapu
Client script in PHP running the NetCTL Web Service (5.8 KB) Perl 1.2 ws0 Edita Bartaseviciute
This script runs the NetCTL 1.2.ws0 Web Service. It requires no input; to be used for testing in the EMBRACE WS Registry.
netctl_perl2 (5.4 KB) Perl 1.2 ws1 Karunakar Bayyapu
Client script in Perl (XML::Compile) running the NetCTL Web Service (5.1 KB) Perl 1.2 ws0 Edita Bartaseviciute
This script runs the NetCTL 1.2.ws0 Web Service. It reads a FASTA file from STDIN and produces predictions.
netctl_python (4.9 KB) Python 1.2 ws1 Karunakar Bayyapu
Client script in Python (suds) running the NetCTL Web Service
netctl_java (6.4 KB) Java 1.2 ws1 Karunakar Bayyapu
Client script in Java (apache) running the NetCTL Web Service
example.fsa (1.3 KB) (1.9 KB) Perl NA Peter Fischer Hallin
Helper scripts used to initiate XML::Compile's proxys (WSDL+XSD)


# download the required scripts

perl [-s supertype] [-thr float] < example.fsa



    This Web Service implements NetCTL v. 1.2.ws0. It predicts CTL epitopes
    in protein sequences integrating prediction of peptide MHC binding,
    proteasomal C terminal cleavage and TAP transport efficiency. The
    method is described in detail in the following article:

    Large-scale validation of methods for cytotoxic T-lymphocyte epitope prediction.
    Larsen MV, Lundegaard C, Lamberth K, Buus S, Lund O, Nielsen M.
    BMC Bioinformatics. Oct 31;8:424. 2007

    Alongside this Web Service the NetCTL method is also implemented as
    a traditional click-and-paste WWW server at:

    NetCTL is also available as a stand-alone software package; write to for details.
    NetCTL is also available as a stand-alone software package to install
    and run at the user's site, with the same functionality. For academic
    users there is a download page at:

    Other users are requested to write to for details.


    This Web Service is fully asynchronous; the usage is split into the
    following three operations:

    1. runService    

    Input:  The following parameters and data:

            *  'supertype'        HLA supertype.
                                  10 HLA supertypes are available:
                                  A1, A2, A3, A24, A26, B7, B8, B27, B39, B44, B58 and B62;

            *  'wtap              weight on TAP transport efficiency.
                                  The value 0.05 gives optimal predictive performance on the average;
            *  'wMHC'             weight on MHC;
            *  'wcle'             weight on C terminal cleavage.
                                  The value 0.1 gives optimal predictive performance on the average;

            *  'threshold'        threshold for epitope identification.
                                  Peptides with a combined prediction score value greater than the
                                  threshold value are marked as potential epitopes. In a large scale
                                  benchmark identifying known CTL epitope in proteins the default
                                  value of 0.75 was found to correspond to a sensitivity of 0.65
                                  and a specificity 0.97. Note that the benchmark is highly
                                  unbalanced since only one peptide is identified as CTL epitope
                                  in each protein, and the number of negatives hence is orders of
                                  magnitude larger than the number of positives. This has important
                                  implications for the interpretation of the specificity values.
            *  'sort'             output sorting on score.
                                  Possible values are 0 (sorting on the combined score), 1 (MHC),
                                  2 (Cle), 3 (TAP) and negative (no sorting);
            *  'sequencedata'     mulitple elements of type 'sequence':
              *  'sequence'         answers to one sequence:
                *  'id'               unique identifier for the sequence;
                *  'comment'          optional comment;
                *  'seq'              protein sequence. The sequence must be written 
                                      using the one letter amino acid code:
                                      `acdefghiklmnpqrstvwy' or `ACDEFGHIKLMNPQRSTVWY'.
                                      Other letters will be converted to `X' and treated
                                      as unknown amino acids. Other symbols, 
                                      such as whitespace and numbers, will be ignored.

    Output: Unique job identifier

    2. pollQueue

    Input:  Unique job identifier

    Output: 'jobstatus' - the status of the job
             Possible values are QUEUED, ACTIVE, FINISHED, WAITING, REJECTED,

    3. fetchResult

    Input:  Unique job identifier of a finished job

    Output:  *  'annsource'
                  'method'              name of the method, here always 'NetCTL';
                  'version'             version of the method: here always '1.2 ws0';

                'ann'                 annotations - one element per input sequence;
                  'sequence'            standard sequence object;
                    'id'                  sequence identifier;
                    'feature'             feature name, here always 'NetCTL';
                    'range'               always present, indicates the range in the sequence: 
                      'begin'               begin position;
                      'end'                 end position;
                      'key'='aff'           predicted MHC binding affinity. 
                      'value'               score value for 'aff'. The value is given 
                                            as 1 - log50k(aff), where log50k is the 
                                            logaritm with base 50.000, and aff is the 
                                            affinity in nM units;
                      'key'='aff_rescale'   rescale binding affinity;
                      'value'               score value for 'aff_rescale'. The predicted 
                                            binding affinity is normalized by the 1% fractil;
                      'key'='cle'           C terminal cleavage affinity;
                      'value'               score value for 'cle';
                      'key'='tap'           TAP transport efficiency;
                      'value'               score value for 'tap';
                      'key'='COMB'          prediction score;
                      'value'               score value for 'COMB';
                    'comment'             gives 'E' for identified MHC ligands (when the 
                                          combined score is greater than the threshold).
    More comprehensive information about the output could be found at:

    Questions concerning the scientific aspects of the NetCTL method should go
    to Morten Nielsen,; technical question concerning the Web
    Service should go to Edita Bartaseviciute, or Kristoffer