Canto v1834
Community curation
Questions? Contact curators...
Configuration settings


The default configuration is stored in canto.yaml in the top level directory. Any installation specific settings can be added to canto_deploy.yaml, and will override the defaults. The canto_deploy.yaml will be created automatically by the canto_start start script when it is run with the --initialise option.

The configuration files are YAML format.


A one word name for the application. default: Canto


A longer description of the site. e.g. The SlugBase community annotation tool


The destination database name. This is used whenever we need to refer to the destination of the annotations while curating.


The URL of the database that this instance is installed for. e.g.


The subtitle to use on the front greeting page.


A path (relative to root/static) of the logo to put in the header.


If set, show this text as a notice at the top of curation session pages.


Canto has two modes: single or multi organism. Single organism mode is activated by setting an "instance organism". That organism will be assumed throughout the interface. Only genes from that single organism can be annotated and the user will not be shown the organism name.

In multi organism mode, genes from any number of organisms can be annotated in each session. In this mode after uploading a list of gene identifiers, the user will be shown the organism name as well as the names, synonyms and products. The organism is shown so the user can confirm that the identifier they gave matched the gene from the right organism. Generally an external gene adaptor should be configured using the instance_organism setting in the multi-organism case.


  taxonid: 4896


The link for the main Canto web site.


The software version, automatically updated each release.


The version of the schema. This is incremented when the schema changes in an incompatible way.


Configuration for the Catalyst authentication code. This shouldn't need changing.


Configuration for the admin view pages.


The maximum number of lines of results to show in a table on an object page.


If 1, allow editing of the expression of alleles and show the expression as a column in the genotype table on the genotype management page.


If 1, show the organism in a selector on the genotype management pages and only show genes and genotypes for the selected organism.


If 0, hide the list of genes and actions on the left hand side of the genotype management page.


If 1, allow notes/comments on diploids and multi-locus genotypes.


If 0, a wildtype allele is allowed only if there is another non-wildtype or non-wildtype expression allele from the same gene.


If 1 (the default), show the "Deletion" buttons in the gene table on the genotype management page.


If 1, allow diploids to be created and used in genotypes.


A list of allele note type name and display names. The display_name is shown in the note editing dialog. Example configuration:

allele_note_types: - name: phenotype display_name: Phenotype - name: interaction_comment display_name: Interaction coment


Data needed to initialise a Canto instance.


Descriptions of table in the database used by the interface. This information is used for rendering the view and object pages.


A list of report names to show on the front page.


Configuration for exporting.


Configuration for loading data.


The template database to use when creating a new Canto instance.


The template database to use when creating a new curation session.


The name of the directory used for the ontology Lucene index. This index is used to do autocompeletion in the interface.


URLs of external services.


Names of classes used to implement database query and storage. This allows the implementations to be swapped from the defaults.


Used to look up gene identifier, name, synonyms and products. The default is to use the internal Canto database ("track").


Short name (codes) and long names of evidence types. Any evidence type configured with the option "with_gene" set to true will cause the interface to ask for a gene for later storage in the "with/from" column of a GAF file.

Evidence codes must also be configured for in available_annotation_type_list. See evidence_codes in the Configuring annotation types section.


    name: Inferred from Mutant Phenotype
    name: Inferred from Direct Assay
    name: Inferred from Genetic Interaction
    with_gene: 1
  Microscopy: ~

In this case "Microscopy" is treated as an evidence code and an evience description.


A map of defaults for the term to evidence lists configuration. If term_evidence_codes isn't set in an annotation type definition this map will be consulted to find defaults for the namespace of the annotation type. See term_evidence_codes for details.

This example will set term_evidence_codes for all annotation types that are configured with the namespace "fission_yeast_phenotype":

    - constraint: "is_a(FYPO:0001985)"
       - Cell growth assay
       - Chromatin immunoprecipitation experiment


List of possible annotation type and their configuration details.

See Configuring annotation types for details.


The names of the types that are enabled in this Canto instance. If not set all annotation types from available_annotation_type_list will be enabled.


The path to the extra configuration file needed while testing.


The keys under help_text identify a part of Canto's user interface for which the help text should apply. Under the key is one or both of inline or url. The help text and link are rendered as a help icon with a tooltip that appears on mouse-over. If a url is given, clicking the help icon will send the user to the page specified by the url.


This email address is shown anytime a contact address is needed. See the contact.mhtml template.


A custom signature line that is displayed at the end of the generic email templates. If not set, the signature will default to "The [database_name] team", where the database name is the value of the database_name setting.


The URL to the privacy policy for the database that runs the Canto instance. If configured, the following message will be shown on the Curator details page where the curator is asked to enter their personal details:

Your name, email and ORCID ID will be used under the terms of the [database_name] privacy policy. By continuing past this page, you agree to the terms of the policy.

The text 'privacy policy' will be linked to the privacy policy URL.

Each external link configuration has three possible parameters:

There are two possible types of external link on the gene pages:

The external links are implemented in the linkouts.html template.

Configuring annotation types

The possible annotation type are set with the available_annotation_type_list configuration. It should be set to a YAML list of maps. An example is provided in the canto.yaml but can be overridden in the instance specific canto_deploy.yaml.

In canto_deploy.yaml you can add an optional enabled_annotation_type_list. If set only the listed types will be enabled.

For example this would enable just two annotation types:

  - molecular_function
  - cellular_component

enabled_annotation_type_list exists so that one available_annotation_type_list configuration in canto.yaml can be used in several Canto instances. It is optional. If not set, all available types are enabled.

Each annotation type in available_annotation_type_list has the following settings:


A short internal name or key for this type. (Required)


This setting selects which code to use for the interface for this type. There are currently two possibilities: ontology and interaction. (Required)


The long name to display in the user for this type. eg. for molecular_function PomBase displays GO molecular function. (Required)


A shorter name for this type. eg molecular function (Optional)


A very short name for this type. eg F for GO molecular function. (Optional)


Currently used only for types from GO (molecular_function, cellular_component, and biological_process), the abbreviation is used from exporting annotation to GAF files. Required only if GO ontologies are enabled.


If 1, this annotation type can have conditions as well as evidence. Mostly useful for phenotypes.


If true, only display/allow genotypes containing a single allele for this annotation type. If set to "ignore_accessory", accessory alleles will be ignored when counting alleles in a genotype.


For interactions, restrict the genotype B list to contain only genotypes for the same locus selected in the genotype A list.


For interactions, selecting a term is required if and only if this option is set to 1.


For interactions, if set the annotation dialog will have a independent organism selector for the second feature of the interaction. Defaults to 0 (false).


Possible evidence codes (or interaction types) for this annotation type. Each evidence code must appear in the evidence_types list. (Required)


Evidence codes that are only available for logged in admin user. This list is added to the evidence_codes list.


Used to restrict the visible evidence codes based on a currently selected term (if any). The constraint values are used for matching the term. If the current term is a descendent of the term before the "-" in the key and not a descendent of the terms to the right of the "-" the given evidence codes are shown to the user. The excluded terms to the right of the "-" are optional.

The first matching configuration is used. If the current term doesn't match any of the keys in term_evidence_codes, the default evidence codes from evidence_codes are displayed.


  - constraint: "is_a(FYPO:0001985)"
    - Cell growth assay
    - Chromatin immunoprecipitation experiment
    - Chromatography evidence


  - constraint: "is_a(FYPO:0001985)-is_a(FYPO:0000045)&is_a(FYPO:0000150)"
    - Cell growth assay
    - Chromatography evidence

See also namespace_term_evidence_codes.


If set to the name of an ontology annotation type, use terms from the annotations of that type as suggestions. For example, once a genotype is selected in the interaction dialog, any phenotypes annotated for that genotype will be shown to the user. If unset, no suggestions will be shown.


A list of extension relation names to hide. For hidden relations we just show the extension value (extension range). (default: empty list)


A few comma separated high level or broad term names for use in help text. eg. for molecular function: "transporter, transferase activity" (Required only for ontology annotation types)


Comma separated specific term name examples. eg. "adenylate cyclase activity or biotin transporter activity" (Required only for ontology annotation types)


Short help to be soon initially to users when they begin an annotation of this type. (Required)


A longer help text shown when the user clicks "more..." under the help_text. (Optional)


A path in the documentation directory (root/docs/) to link to for detailed help about this type of annotation.


Help text to show once the user finishes annotating a paper, after "Submit to curators". (Optional)


A list of taxon IDs for the organisms that are treated as host species in pathogen-host mode. All the list taxon IDs need to match organisms in the organism table. The organisms are loaded using using --organism. See the Canto setup documentation for details.

If this list has any elements, Canto will start in pathogen-host mode and the internal config setting pathogen_host_mode will be automatically set to 1. Also host_organisms will be set to a list the Organism objects. multi_organism_mode is also set to 1/true.

Note that when pathogen_host_mode is enabled, every organism that is in the organism table but not in host_organism_taxonids will be assumed to be a pathogen organism.


This list contains the configuration for each allele type


The allele type name to show in the display. This is also the key when looking up configuration details so it must be unique.


The type name to use when writing the export file. See Exporting data from Canto for more.


If true, show the description input box in the allele edit dialog.


If true, an allele of this type can't be created without a description.


If true, alleles of this types must have a name.


If true, show the checkboxes for changing the allele expression.


If true, an allele of this type can't be created without setting an expression level.


This template is used when an allele name can be automatically generated for a given type. For example, if the user selects "wild type" in the allele editing dialog, this template when set the name to something like "cdc2+". The string "@@gene_display_name@@" will be replaced with the current gene's name or systematic ID.


If true, don't show genotypes containing just this allele in the genotype selectors. And ignore alleles of this type when deciding if a genotype is single or multi allele.


For the genotype_interaction annotation type we need to configure which interaction types are permitted for a given double mutant phenotype and for the alleles of the double mutant.

There are three sub-attributes:


Settings and constraints for the case where the double mutant has a population phenotype.


The term constraint used of populations phenotype terms.


Interaction types to allow when the double mutant is a viable poputatation phenotype.


The term constraint for inviable population phenotypes.


Interaction types to allow when the double mutant is inviable.


Types allowed when the double mutant doesn't have a poputation phenotype.


Interaction types allowed when both alleles are deletions.


Interaction types allowed when at least one allele is overexpressed.