Skip to main content
. 2023 Feb 11;15(2):505. doi: 10.3390/v15020505
Algorithm 1: Ontology generation algorithm

Inputs: Pango fils and outbreak.info API

  • 1:

    Ontology initialization

  • 2:

    Retrieve lineage list from lineage.yml

  • 3:

    Retrieve alias from alias_key.json using pango_aliasor

  • 4:

    Retrieve descriptions from lineage_notes.txt

  • 5:

    for Each lineage do

  • 6:

       Create corresponding ontology class

  • 7:

       Connect the class to its direct ancestor(s)

  • 8:

       if a recombinant lineage connect to ‘recombinant’ class by ‘is_a’ link

  • 9:

       Create individual from class

  • 10:

       Add alias, if exists, by assertion of ‘has_for_description’ ataTypeProperty

  • 11:

       Add description by assertion of ‘has_for_description’ ataTypeProperty

  • 12:

       Extract list of lineage mutations and their genes

  • 13:

       for Each mutation do

  • 14:

         Create an individual of ’SNP’ class

  • 15:

         Connect mutation to gene by assertion of ‘has_for_gene’ ObjectProperty

  • 16:

         Connect mutation to lineage by assertion of ‘has_for_lineage’ ObjectProperty

  • 17:

       end for

  • 18:

    end for

Output: SARSMutOnto ontology