airr-knowledge / issues

Issues and project management for the AKC
0 stars 0 forks source link

Checklist for Simulation Class #27

Open schristley opened 4 months ago

schristley commented 4 months ago
schristley commented 4 months ago
  • [ ] Is the class an entity or a process? Is it an information entity about a material entity/process, or a pure information entity/process?

Information entity. A simulation is used to perform a computational investigation of an entity.

  • [ ] Specify the ontology URI for class.

http://purl.obolibrary.org/obo/APOLLO_SV_00000070

Is there a hierarchy of ontology terms that are relevant?

Yes, primarily the subclasses with this being the root.

jamesaoverton commented 4 months ago

BAO is not part of the OBO community, so it will be work to try to fit it with other ontologies. I would recommend OBI 'data transformation' here http://purl.obolibrary.org/obo/OBI_0200000.

schristley commented 4 months ago

BAO is not part of the OBO community, so it will be work to try to fit it with other ontologies. I would recommend OBI 'data transformation' here http://purl.obolibrary.org/obo/OBI_0200000.

Ok, I missed that it wasn't part of OBO.

Data transformation is not exactly what I want to represent, which are Simulations (and Models and Methods). A simulation is more akin to a computational assay, it has specified inputs that define the simulation (i.e. the model, plus stuff related to execution), it generates data which may then be transformed/interpreted to generate conclusions.

I don't require a large hierarchy, mostly differentiation of different modeling methods and possibly simulation frameworks. BAO isn't complete here either, but I'm also hesitant to dig out my old ontology.

jamesaoverton commented 4 months ago

Ok. Do you want to talk about the algorithm, the software that implements the algorithm, or specific executions of the software (with their particular inputs and outputs)? OBI and IAO have terms for these, and we can add more specific terms if needed.

APOLLO-SV is an OBO ontology that talks about computational models in epidemiology, so that might have some relevance.

schristley commented 4 months ago

Ok. Do you want to talk about the algorithm, the software that implements the algorithm, or specific executions of the software (with their particular inputs and outputs)? OBI and IAO have terms for these, and we can add more specific terms if needed.

Yes to all of those, and OBI and IAO terms would probably be fine for that because it's more about software engineering/provenance which can be described in general ways.

But need to add the Method as it is important, which is different from the algorithm and the software. Different modeling methods include differential equations (ODEs, PDEs), agent-based models, stochastic models, etc. The analogy is the method might be the mathematical equations, while the algorithm/software is specific way to solve/compute the equations. A method might have different algorithms with computational complexity trade-offs.

APOLLO-SV is an OBO ontology that talks about computational models in epidemiology, so that might have some relevance.

Yeah I saw it in my search results which also included BAO, but it seems too specialized to epidemiology. We don't need that level of detail right now. Will likely want to use SBO, that's one I used before. It tends to be biased more towards equation-based modeling, but it's probably better than using small bits of BAO.

From a high-level, there is a software modeling process that I'll want to represent. It isn't exactly an investigation but is somehow related to it. The modeling process goes from a conceptual model, essentially a hypothesis in your brain, which is then made concrete in a Model by combining with knowledge from the AKC. This concrete model can be specified in numerous ways. One way may just be natural language declarative statements, or diagrams with boxes and arrows, or some specification language like SBML. Then you decide what method you want to represent the model. Mostly I'm talking about knowledge-based methods which are often mechanistic or equation-based models, but of course nowadays you have data-driven methods like deep learning and ML. Once you've decided on a method, then you can consider software and algorithms.

With your background, you probably understand better the distinction between Methodology and Method. Methodology always tends to come up in modeling and simulation because there is ongoing debate about what Methods are best to specify models and the underlying reality the model represents. As models are always abstractions, some methods might be better than others, have different assumptions, etc.

schristley commented 4 months ago

APOLLO-SV is an OBO ontology that talks about computational models in epidemiology, so that might have some relevance.

Yeah I saw it in my search results which also included BAO, but it seems too specialized to epidemiology.

Actually the simulation tree looks decent in APOLLO-SV. That's a good place to start.