Hippocampome-Org / php

Hippocampome web portal
3 stars 2 forks source link

NS: [general]: Hardcoded neuron types lists for v2.0 #745

Open drdiek opened 2 months ago

drdiek commented 2 months ago

On multiple if not all hippocampome matrices the neuron types list for each matrix is hardcoded. This typically affects what calculations are done to produce data that is shown on the site. For future maintainability it would be better if hippocampome's code base could be redesigned to accommodate using a dynamically generated list of neuron types in its calculations and generated data for graphical display. This could be a database table, e.g., Type, that lists version of neuron type sequences to be included. E.g., v1 column has numbers associated with the order in which neurons listed in the Type table should be shown in matrices using the hippocampome v1 version of the neuron types.

Code in hippocampome can avoid any hardcoding in php, etc., of separate neuron lists for each matrix. Instead, the code can quest the database for the "master list" of what neuron types should be included. Calculations can be coded to dynamically adjust to whatever size and content of neurons are on the list. This can allow for a more straightforward upgrade path in the future for hippocampome where adding or removing a neuron type can be updated in this way. The data shown on the site could be generated in at least a semi-automated way. For instance, the code could automatically adjust to the new neuron list size but the programmer needs to run the code to generate the new results, and inspect them for accuracy. The act of running each program is considered the not automatic part of the process but until a run one program to generate everything solution is created this semi-automated process can be sufficient. Each matrix can still have a different list of neuron types, which may be needed, e.g., unless someone want to rerun the synaptome deep learning to generate TM params for each new neuron type. This can be done by specifying version number of lists in the database, e.g., v1, v2, etc.

The more projects get added in the future the bigger challenges will become unless work is put into improving automation of such maintenance on the codebase and hippocampome data.