|
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
|