Skip to content

Commit a607dc0

Browse files
authored
Merge pull request #1789 from AllenInstitute/1769-modify-behavior-ophys-inheritence
1769 modify behavior ophys inheritence
2 parents b31c32f + a6a9b2a commit a607dc0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1839
-1496
lines changed

allensdk/brain_observatory/behavior/behavior_ophys_api/__init__.py

Lines changed: 0 additions & 62 deletions
This file was deleted.

allensdk/brain_observatory/behavior/behavior_ophys_session.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@
66

77

88
from allensdk.brain_observatory.session_api_utils import ParamsMixin
9-
from allensdk.internal.api.behavior_ophys_api import BehaviorOphysLimsApi
10-
from allensdk.brain_observatory.behavior.behavior_ophys_api\
11-
.behavior_ophys_nwb_api import BehaviorOphysNwbApi
9+
from allensdk.brain_observatory.behavior.session_apis.data_io import (
10+
BehaviorOphysNwbApi, BehaviorOphysLimsApi)
1211
from allensdk.deprecated import legacy
1312
from allensdk.brain_observatory.behavior.trials_processing import (
1413
calculate_reward_rate)

allensdk/brain_observatory/behavior/behavior_project_cache.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66

77
from allensdk.api.cache import Cache
88

9-
from allensdk.brain_observatory.behavior.behavior_project_lims_api import (
9+
from allensdk.brain_observatory.behavior.project_apis.data_io import (
1010
BehaviorProjectLimsApi)
11-
from allensdk.brain_observatory.behavior.internal.behavior_project_base\
12-
import BehaviorProjectBase
11+
from allensdk.brain_observatory.behavior.project_apis.abcs import (
12+
BehaviorProjectBase)
1313
from allensdk.api.caching_utilities import one_file_call_caching, call_caching
1414
from allensdk.core.authentication import DbCredentials
1515

allensdk/brain_observatory/behavior/behavior_data_session.py renamed to allensdk/brain_observatory/behavior/behavior_session.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44
import numpy as np
55
import inspect
66

7-
from allensdk.internal.api.behavior_data_lims_api import BehaviorDataLimsApi
8-
from allensdk.brain_observatory.behavior.internal import BehaviorBase
7+
from allensdk.brain_observatory.behavior.session_apis.data_io import (
8+
BehaviorLimsApi)
9+
from allensdk.brain_observatory.behavior.session_apis.abcs import BehaviorBase
910
from allensdk.brain_observatory.running_speed import RunningSpeed
1011

1112
BehaviorDataApi = Type[BehaviorBase]
1213

1314

14-
class BehaviorDataSession(object):
15+
class BehaviorSession(object):
1516
def __init__(self, api: Optional[BehaviorDataApi] = None):
1617
self.api = api
1718
# Initialize attributes to be lazily evaluated
@@ -29,12 +30,12 @@ def __init__(self, api: Optional[BehaviorDataApi] = None):
2930
self._metadata = None
3031

3132
@classmethod
32-
def from_lims(cls, behavior_session_id: int) -> "BehaviorDataSession":
33-
return cls(api=BehaviorDataLimsApi(behavior_session_id))
33+
def from_lims(cls, behavior_session_id: int) -> "BehaviorSession":
34+
return cls(api=BehaviorLimsApi(behavior_session_id))
3435

3536
@classmethod
3637
def from_nwb_path(
37-
cls, nwb_path: str, **api_kwargs: Any) -> "BehaviorDataSession":
38+
cls, nwb_path: str, **api_kwargs: Any) -> "BehaviorSession":
3839
return NotImplementedError
3940

4041
@property
@@ -301,7 +302,7 @@ def cache_clear(self) -> None:
301302
def list_api_methods(self) -> List[Tuple[str, str]]:
302303
"""Convenience method to expose list of API `get` methods. These methods
303304
can be accessed by referencing the API used to initialize this
304-
BehaviorDataSession via its `api` instance attribute.
305+
BehaviorSession via its `api` instance attribute.
305306
:rtype: list of tuples, where the first value in the tuple is the
306307
method name, and the second value is the method docstring.
307308
"""

allensdk/brain_observatory/behavior/internal/__init__.py

Lines changed: 0 additions & 2 deletions
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from allensdk.brain_observatory.behavior.project_apis.abcs.behavior_project_base import BehaviorProjectBase # noqa: F401, E501

allensdk/brain_observatory/behavior/internal/behavior_project_base.py renamed to allensdk/brain_observatory/behavior/project_apis/abcs/behavior_project_base.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
from allensdk.brain_observatory.behavior.behavior_ophys_session import (
55
BehaviorOphysSession)
6-
from allensdk.brain_observatory.behavior.behavior_data_session import (
7-
BehaviorDataSession)
6+
from allensdk.brain_observatory.behavior.behavior_session import (
7+
BehaviorSession)
88
import pandas as pd
99

1010

@@ -27,12 +27,12 @@ def get_session_table(self) -> pd.DataFrame:
2727

2828
@abstractmethod
2929
def get_behavior_only_session_data(
30-
self, behavior_session_id: int) -> BehaviorDataSession:
31-
"""Returns a BehaviorDataSession object that contains methods to
30+
self, behavior_session_id: int) -> BehaviorSession:
31+
"""Returns a BehaviorSession object that contains methods to
3232
analyze a single behavior session.
3333
:param behavior_session_id: id that corresponds to a behavior session
3434
:type behavior_session_id: int
35-
:rtype: BehaviorDataSession
35+
:rtype: BehaviorSession
3636
"""
3737
pass
3838

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from allensdk.brain_observatory.behavior.project_apis.data_io.behavior_project_lims_api import BehaviorProjectLimsApi # noqa: F401, E501

allensdk/brain_observatory/behavior/behavior_project_lims_api.py renamed to allensdk/brain_observatory/behavior/project_apis/data_io/behavior_project_lims_api.py

Lines changed: 19 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22
from typing import Optional, List, Dict, Any, Iterable
33
import logging
44

5-
from allensdk.brain_observatory.behavior.internal.behavior_project_base\
6-
import BehaviorProjectBase
7-
from allensdk.brain_observatory.behavior.behavior_data_session import (
8-
BehaviorDataSession)
5+
from allensdk.brain_observatory.behavior.project_apis.abcs import (
6+
BehaviorProjectBase)
7+
from allensdk.brain_observatory.behavior.behavior_session import (
8+
BehaviorSession)
99
from allensdk.brain_observatory.behavior.behavior_ophys_session import (
1010
BehaviorOphysSession)
11-
from allensdk.internal.api.behavior_data_lims_api import BehaviorDataLimsApi
12-
from allensdk.internal.api.behavior_ophys_api import BehaviorOphysLimsApi
13-
from allensdk.internal.api import PostgresQueryMixin
11+
from allensdk.brain_observatory.behavior.session_apis.data_io import (
12+
BehaviorLimsApi, BehaviorOphysLimsApi)
13+
from allensdk.internal.api import db_connection_creator
1414
from allensdk.brain_observatory.ecephys.ecephys_project_api.http_engine import (
1515
HttpEngine)
1616
from allensdk.core.typing import SupportsStr
17-
from allensdk.core.authentication import DbCredentials, credential_injector
17+
from allensdk.core.authentication import DbCredentials
1818
from allensdk.core.auth_config import (
1919
MTRAIN_DB_CREDENTIAL_MAP, LIMS_DB_CREDENTIAL_MAP)
2020

@@ -96,26 +96,13 @@ def default(
9696
_app_kwargs = {"scheme": "http", "host": "lims2"}
9797
if app_kwargs:
9898
_app_kwargs.update(app_kwargs)
99-
if lims_credentials:
100-
lims_engine = PostgresQueryMixin(
101-
dbname=lims_credentials.dbname, user=lims_credentials.user,
102-
host=lims_credentials.host, password=lims_credentials.password,
103-
port=lims_credentials.port)
104-
else:
105-
# Currying is equivalent to decorator syntactic sugar
106-
lims_engine = (credential_injector(LIMS_DB_CREDENTIAL_MAP)
107-
(PostgresQueryMixin)())
108-
109-
if mtrain_credentials:
110-
mtrain_engine = PostgresQueryMixin(
111-
dbname=mtrain_credentials.dbname, user=mtrain_credentials.user,
112-
host=mtrain_credentials.host, password=mtrain_credentials.password,
113-
port=mtrain_credentials.port)
114-
else:
115-
# Currying is equivalent to decorator syntactic sugar
116-
mtrain_engine = (
117-
credential_injector(MTRAIN_DB_CREDENTIAL_MAP)
118-
(PostgresQueryMixin)())
99+
100+
lims_engine = db_connection_creator(
101+
credentials=lims_credentials,
102+
fallback_credentials=LIMS_DB_CREDENTIAL_MAP)
103+
mtrain_engine = db_connection_creator(
104+
credentials=mtrain_credentials,
105+
fallback_credentials=MTRAIN_DB_CREDENTIAL_MAP)
119106

120107
app_engine = HttpEngine(**_app_kwargs)
121108
return cls(lims_engine, mtrain_engine, app_engine)
@@ -430,14 +417,14 @@ def get_session_table(
430417
return table
431418

432419
def get_behavior_only_session_data(
433-
self, behavior_session_id: int) -> BehaviorDataSession:
434-
"""Returns a BehaviorDataSession object that contains methods to
420+
self, behavior_session_id: int) -> BehaviorSession:
421+
"""Returns a BehaviorSession object that contains methods to
435422
analyze a single behavior session.
436423
:param behavior_session_id: id that corresponds to a behavior session
437424
:type behavior_session_id: int
438-
:rtype: BehaviorDataSession
425+
:rtype: BehaviorSession
439426
"""
440-
return BehaviorDataSession(BehaviorDataLimsApi(behavior_session_id))
427+
return BehaviorSession(BehaviorLimsApi(behavior_session_id))
441428

442429
def get_experiment_table(
443430
self,
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from allensdk.brain_observatory.behavior.session_apis.abcs.behavior_base import BehaviorBase # noqa: F401, E501
2+
from allensdk.brain_observatory.behavior.session_apis.abcs.behavior_ophys_base import BehaviorOphysBase # noqa: F401, E501

0 commit comments

Comments
 (0)