Giter Site home page Giter Site logo

qtwang / epicode Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stephenwhitmarsh/epicode

0.0 0.0 0.0 9.75 MB

Code to analyze projects of the research group "Cellular excitability and neuronal network dynamics" at ICM, Paris

License: GNU General Public License v3.0

MATLAB 89.77% Shell 0.47% R 2.71% C++ 6.00% C 0.88% HTML 0.03% Java 0.01% Verilog 0.01% VHDL 0.01% M 0.01% Objective-C 0.01% Mathematica 0.09%

epicode's Introduction

         _            _        _           _             _            _            _      
        /\ \         /\ \     /\ \       /\ \           /\ \         /\ \         /\ \    
       /  \ \       /  \ \    \ \ \     /  \ \         /  \ \       /  \ \____   /  \ \   
      / /\ \ \     / /\ \ \   /\ \_\   / /\ \ \       / /\ \ \     / /\ \_____\ / /\ \ \  
     / / /\ \_\   / / /\ \_\ / /\/_/  / / /\ \ \     / / /\ \ \   / / /\/___  // / /\ \_\
    / /_/_ \/_/  / / /_/ / // / /    / / /  \ \_\   / / /  \ \_\ / / /   / / // /_/_ \/_/
   / /____/\    / / /__\/ // / /    / / /    \/_/  / / /   / / // / /   / / // /____/\    
  / /\____\/   / / /_____// / /    / / /          / / /   / / // / /   / / // /\____\/    
 / / /______  / / /   ___/ / /__  / / /________  / / /___/ / / \ \ \__/ / // / /______    
/ / /_______\/ / /   /\__\/_/___\/ / /_________\/ / /____\/ /   \ \___\/ // / /_______\   
\/__________/\/_/    \/_________/\/____________/\/_________/     \/_____/ \/__________/   

Analysis scripts for projects of the research group: "Cellular excitability and neuronal network dynamics" ICM, Paris

Goals

  • Make analyses easier by providing high-level functions for common analyses on our data.
  • Increase robustness and automatization of our analyses.
  • Develop and share code and analysis pipelines that are common between research projects.
  • Make analysis pipelines and parameters visible and comparable between projects.
  • Reduce repetition/duplication of code (and work)
  • Backup and version control, and a way to update between computers/servers.
  • Single solution for interfacing with in-house (MUSE) and external software (Spyking-Circus).
  • Synchronization between different recording systems and their annotation systems (NeuraLynx, MicroMed and Brainvision)
  • Facilitate use of FieldTrip.
  • Facilitate documentation and publication of methodology.

Design

  • A single MATLAB struct contains all settings.
  • This settings struct is passed to all functions, so that the analysis script stays clean.
  • Data, results and figures are saved in project-specific directories
  • Important steps in the analyses are read from file if done earlier, or forced to run again.
  • Processed data follows as much as possible FieldTrip conventions, making it easier to use FieldTrip at any point of the analysis pipeline. In fact, much of the code uses functions from FieldTrip, and EpiCode functions can be considered higher-level wrapper functions for FieldTrip functions.
  • Because many of our analyses revolve around events identified manually with MUSE, those are read into a MATLAB struct which is used to keep track of timings, and can be used to read/write markers created/read by MUSE.

Organization

EpiCode is organized as follows:

  • shared contains the main code, and their documentation, shared between projects
  • external contains code not made by me, and not within the EpiCode GNU license
  • development contains code in development, and old code, just in case
  • projects contains analysis projects. Each project contains:
    • One or more settings file(s) that contains all parameters using it the corresponding analysis script
    • An analysis script that calls EpiCode (and other) MATLAB functions, and i.e. loops over patients.
    • Optionally: An R script for statistical analyses
    • Optionally: A MATLAB and bash/SLURM script, for running analyses on the computing cluster

Dependencies

  • EpiCode relies heavily on FieldTrip, which should be on your MATLAB path, and regularly updated.
  • Spike analyses rely on Spyking-Circus.
  • The creation of markers/annotations in the data is done with in-house developed software (MUSE), and the functions and analysis pipeline reflects this.

Limitations and considerations

  • Use at your own risk.
  • The code is under heavy development, and will be (but will hopefully stabilize over time).
  • The code is aimed specifically at analysing intercranial data that is recorded from epileptic patients over the course of presurgical evaluation.
  • No data is or will ever be shared through this repository.

Reporting issues & Contributing

Code of Conduct

  • By participating in this project, you agree to abide by our code of conduct.

License

  • GNU GPL v3, see LICENSE for more details.
  • Files in External are shared according to their own license.
  • All contributions will conform to our LICENSE.

epicode's People

Contributors

acarton-icm avatar paul-baudin avatar stephenwhitmarsh avatar valeriofrazzini avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.