Skip to main content

Backend data analytics platform for MD2K software

Project description

CerebralCortex Kernel

Cerebral Cortex is the big data cloud companion of mCerebrum designed to support population-scale data analysis, visualization, model development, and intervention design for mobile sensor data.

You can find more information about MD2K software on our software website or the MD2K organization on our MD2K website.

CerebralCortex Kernel is part of our CerebralCortex cloud platform. CerebralCortex-Kernel is capable of parallelizing tasks and scale a job to n-number of cores/machines. CerebralCortex Kernel offers some builtin features as follows:

Installation

Dependencies

CerebralCortex Kernel requires java 8 to run. Java 8 prior to version 8u92 support is deprecated as of CerebralCortex-Kernel 3.3.0.

  • check java version - java -version
  • set JAVA_HOME to java 8
  • OR start python shell with JAVA_HOME=/path/to/java/Home python3

Install using pip

CerebralCortex-Kernel requires minimum Python3.6. To install CerebralCortex-Kernel as an API:

pip3 install cerebralcortex-kernel

  • Note: please use appropriate pip (e.g., pip, pip3, pip3.6 etc.) installed on your machine

Install from source code

  • Clone repo - git clone https://github.com/MD2Korg/CerebralCortex-Kernel.git
  • cd CerebralCortex-Kernel
  • python3 setup.py install

Usage

from cerebralcortex.kernel import Kernel
CC = Kernel(cc_configs="default")

# to view default configs
print(CC.config)

# default data storage path is
# /user/home/folder/cc_data

By default Kernel will load default configs. Please have a look at all available configurations for CerebralCortex-Kernel. You may also load config files as:

CC = Kernel(configs_dir_path="dir/path/to/configs/", new_study=True)

How to use builtin algorithms

Using builtin algorithms are as easy as loading data, passing it to algorithm and get the results. Below is an example on how to compute CGM Glucose Variability Metrics.

Python Code

# import packages
from cerebralcortex.kernel import Kernel
from cerebralcortex.algorithms.glucose.glucose_variability_metrics import glucose_var

# Create Kernel object
CC = Kernel(cc_configs="default", new_study=True)

# Read sample CSV data
ds = CC.read_csv("/path/of/the/downloaded/file/sample.csv", stream_name="cgm_glucose_variability_metrics", header=True)

# view sample data
ds.show(2)

# Apply glucose_variability_metrics algorithm on the data
results = glucose_var(ds)

# view results
results.show(2)

# save computed data 
CC.save_stream(results)

Please have a look at jupyter notebook for basic operation that could be perform on DataStream object.

Algorithms to Analyze Sensor Data

External CerebralCortex-Kernel offers following builtin algorithms to analyze sensor data.

Markers with ML Models

Visualization

Import and Document Data

External CerebralCortex-Kernel Supported Platforms

  • mProv
  • mFlow

Examples

Documentation

Deploy on Cloud

CerebralCortex-Kernel is a part of CerebralCortex cloud platform. To test the complete cloud platform, please visit CerebralCortex.

FAQ

1 - Do I need whole CerebralCortex cloud platform to use CerebralCortex-Kernal?

No! If you want to use CerebralCortex-Kernel independently.

2 - How can I change NoSQL backend storage layer?

CerebralCortex-Kernel follows component based structure. This makes it easier to add/remove features.

  • Add a new class in Data manager-Raw.
  • New class must have read/write methods. Here is a sample skeleton class with mandatory methods required in the new class.
  • Create an object of new class in Data-Raw with appropriate parameters.
  • Add appropriate configurations in cerebralcortex.yml in (NoSQL Storage)[https://github.com/MD2Korg/CerebralCortex-Kernel/blob/master/conf/cerebralcortex.yml#L8] section.

3 - How can I replace MySQL with another SQL storage system?

4 - Where are all the backend storage related classes/methods?

In Data manager-Raw. You can add/change any backend storage.

Contributing

Please read our Contributing Guidelines for details on the process for submitting pull requests to us.

We use the Python PEP 8 Style Guide.

Our Code of Conduct is the Contributor Covenant.

Bug reports can be submitted through JIRA.

Our discussion forum can be found here.

Versioning

We use Semantic Versioning for versioning the software which is based on the following guidelines.

MAJOR.MINOR.PATCH (example: 3.0.12)

  1. MAJOR version when incompatible API changes are made,
  2. MINOR version when functionality is added in a backwards-compatible manner, and
  3. PATCH version when backwards-compatible bug fixes are introduced.

For the versions available, see this repository's tags.

Contributors

Link to the list of contributors who participated in this project.

License

This project is licensed under the BSD 2-Clause - see the license file for details.

Acknowledgments

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cerebralcortex-kernel-3.3.16.tar.gz (114.3 kB view details)

Uploaded Source

Built Distribution

cerebralcortex_kernel-3.3.16-py3-none-any.whl (194.7 kB view details)

Uploaded Python 3

File details

Details for the file cerebralcortex-kernel-3.3.16.tar.gz.

File metadata

  • Download URL: cerebralcortex-kernel-3.3.16.tar.gz
  • Upload date:
  • Size: 114.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.10

File hashes

Hashes for cerebralcortex-kernel-3.3.16.tar.gz
Algorithm Hash digest
SHA256 3b79291e78113666eaf21c4763a25c9b6b9e6cd17ff4faad97c94aaa0bab2b34
MD5 d145de0f9fbe2208cff26f17da1aaa5f
BLAKE2b-256 d2728fa1db2c4c77656891d481a43b665dafa4099e758b4158269f83ecb507d3

See more details on using hashes here.

File details

Details for the file cerebralcortex_kernel-3.3.16-py3-none-any.whl.

File metadata

  • Download URL: cerebralcortex_kernel-3.3.16-py3-none-any.whl
  • Upload date:
  • Size: 194.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.10

File hashes

Hashes for cerebralcortex_kernel-3.3.16-py3-none-any.whl
Algorithm Hash digest
SHA256 3e02214f23e155c02fdd3caf91d5b4bf8fada4002a231784484ae477c5e6a7d3
MD5 b01d46153cf017fca57c8f134e624ebe
BLAKE2b-256 83477bc5c3696683d373d68e0ac3549b0efc4a432a753c4c78a263dc54f454ab

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page