Giter Club home page Giter Club logo

mpower-sdata's Introduction

mPower mobile study of Parkinson Disease (PD)

In March 2015, Sage Bionetworks in partnership with the University of Rochester launched an observational smartphone-based study developed using Apple's ResearchKit library to evaluate the feasibility of remotely collecting frequent information about the daily changes in symptom severity and their sensitivity to medication in PD. These data provide the ability to explore classification of control participants and those who self-report having PD, as well as to begin to measure the severity of PD for those with the disease. There are myriad additional questions from each of the varying streams of data that will require a community of researchers to explore fully.


mPower Public Researcher Portal

The mPower Public Researcher Portal Synapse Project is the home for all documentation about the mPower study and instructions for the use of the coded data consisting of survey responses and mobile sensor measurements from active tasks.

Synapse is a general-purpose data and analysis sharing service where members can work collaboratively, analyze data, share insights and have attributions and provenance of those insights to share with others. Synapse is developed and operated by Sage Bionetworks as a service to the health research community.


mPower Data Governance

Due to the novel nature and collection method for these data, governance structures have been put in place in order to respect the balance between the desire of participants to share their data with qualified researchers and the respect for privacy of those participants.

Researchers who are interested in accessing these data need to complete the following steps:

  1. Have a Synapse account (https://www.synapse.org)
  2. Have their Synapse User Profile validated by the Synapse Access and Compliance Team (ACT)
  3. Become a Synapse Certified User by completing a short quiz (https://www.synapse.org/#!Quiz:Certification)
  4. Submit an Intended Data Use statement which will be posted publically
  5. Agree to the Conditions for Use associated with each data source (see DOIs for each data source) - some data may have additional conditions due to survey licensing

Full instructions on data access are available on the Synapse Project Wiki.


Example R code

Once the governance restrictions have been fulfulled, researchers can access the data through the mPower Public Researcher Portal or programmatically through the Synapse analytical clients (R, Python, command line). Example R code for interacting with these data are available here.


Nature Scientific Data reproducibility

Code used for reproducing the summary statistics and figures from the Nature Scientific Data Descriptor paper are available here.

mpower-sdata's People

Contributors

brian-bot avatar cbare avatar edfine avatar larssono avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mpower-sdata's Issues

update python bootstrap script

We have added 'Sample' tables, which researchers can access to see what the activity data are like w/o being a Synapse qualified researcher. The python bootstrap script (examples/mPower-bootstrap.py) needs to be updated to access those specific tables instead of the actual tables. See the R bootstrap script (examples/mPower-bootstrap.R) as an example.

Bootstrap script for Python is outdated

I just tried to use the Python bootstrap script, but I faced two issues when executing

tables = syn.chunkedQuery('SELECT id, name FROM table WHERE parentId=="syn4993293"')
tables = [t for t in tables if t['table.name'].startswith('Sample')]

  1. At first I tried with the current version of synapseclient (2.2.2):

    SynapseHTTPError                          Traceback (most recent call last)
    <ipython-input-2-604c987f7f9d> in <module>
          1 tables = syn.chunkedQuery('SELECT id, name FROM table WHERE parentId=="syn4993293"')
    ----> 2 tables = [t for t in tables if t['table.name'].startswith('Sample')]
    
    <ipython-input-2-604c987f7f9d> in <listcomp>(.0)
          1 tables = syn.chunkedQuery('SELECT id, name FROM table WHERE parentId=="syn4993293"')
    ----> 2 tables = [t for t in tables if t['table.name'].startswith('Sample')]
    
    c:\users\vanes\appdata\local\programs\python\python38\lib\site-packages\synapseclient\client.py in chunkedQuery(self, queryStr)
       1424 
       1425             try:
    -> 1426                 response = self.restGET('/query?query=' + quote(subqueryStr))
       1427                 for res in response['results']:
       1428                     yield res
    
    c:\users\vanes\appdata\local\programs\python\python38\lib\site-packages\synapseclient\client.py in restGET(self, uri, endpoint, headers, retryPolicy, **kwargs)
       3297 
       3298         response = _with_retry(lambda: requests.get(uri, headers=headers, **kwargs), verbose=self.debug, **retryPolicy)
    -> 3299         exceptions._raise_for_status(response, verbose=self.debug)
       3300         return self._return_rest_body(response)
       3301 
    
    c:\users\vanes\appdata\local\programs\python\python38\lib\site-packages\synapseclient\exceptions.py in _raise_for_status(response, verbose)
        135             except: message += "\nCould not append all response info"
        136 
    --> 137         raise SynapseHTTPError(message, response=response)
        138 
    
    SynapseHTTPError: 404 Client Error: 
    GET was not found. Please reference API documentation at https://docs.synapse.org/rest/
  2. Afterwards I downgraded to the latest stable release from 2016 (synapseclient==1.5.1) and was presented with

    AttributeError                            Traceback (most recent call last)
    <ipython-input-2-604c987f7f9d> in <module>
    ----> 1 tables = syn.chunkedQuery('SELECT id, name FROM table WHERE parentId=="syn4993293"')
          2 tables = [t for t in tables if t['table.name'].startswith('Sample')]
    
    AttributeError: 'Synapse' object has no attribute 'chunkedQuery'

Could you upgrade the bootstrap script or tell me what I need to do to access the data?

Cc @antonpf, @vanessabin

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.