Source code for emodelrunner.locations
"""Locations related functions and classes."""
# Copyright 2020-2022 Blue Brain Project / EPFL
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import logging
from bluepyopt import ephys
logger = logging.getLogger(__name__)
SOMA_LOC = ephys.locations.NrnSeclistCompLocation(
name="soma", seclist_name="somatic", sec_index=0, comp_x=0.5
)
[docs]
def multi_locations(sectionlist):
"""Define locations.
Args:
sectionlist (str): Name of the location(s) to return.
Can be alldend, somadend, somaxon, allact, apical, basal, somatic, axonal
Returns:
list: locations corresponding to sectionlist
"""
if sectionlist == "alldend":
seclist_locs = [
ephys.locations.NrnSeclistLocation("apical", seclist_name="apical"),
ephys.locations.NrnSeclistLocation("basal", seclist_name="basal"),
]
elif sectionlist == "somadend":
seclist_locs = [
ephys.locations.NrnSeclistLocation("apical", seclist_name="apical"),
ephys.locations.NrnSeclistLocation("basal", seclist_name="basal"),
ephys.locations.NrnSeclistLocation("somatic", seclist_name="somatic"),
]
elif sectionlist == "somaxon":
seclist_locs = [
ephys.locations.NrnSeclistLocation("axonal", seclist_name="axonal"),
ephys.locations.NrnSeclistLocation("somatic", seclist_name="somatic"),
]
elif sectionlist == "allact":
seclist_locs = [
ephys.locations.NrnSeclistLocation("apical", seclist_name="apical"),
ephys.locations.NrnSeclistLocation("basal", seclist_name="basal"),
ephys.locations.NrnSeclistLocation("somatic", seclist_name="somatic"),
ephys.locations.NrnSeclistLocation("axonal", seclist_name="axonal"),
]
else:
seclist_locs = [
ephys.locations.NrnSeclistLocation(sectionlist, seclist_name=sectionlist)
]
return seclist_locs