-
Notifications
You must be signed in to change notification settings - Fork 7
Usage
Phenoflow has a public instance that is used to store phenotype definitions, which have been parsed from existing sources or uploaded by authors. Thus, the public instance can also be used to parse or upload new definitions, in order to standardise them, automatically generate computable versions (potentially with customised connectors) or provide a persistent record of logic to reference within a published work.
The endpoints Phenoflow offers to support this functionality are detailed here. Login credentials are required to access certain endpoints within the public instance, as well as the graphical authoring environment.
In addition, the Phenoflow library can also be run locally, as a private instance, allowing the functionality offered by the library -- such as computable version generation and the generation of customised connectors -- to be used without sending any definition data to the public instance. In this way, the library operates much more like a software package, albeit still accessed via a service interface.
Phenoflow can be installed as a private instance by following the repository README. Once running, the endpoints available are detailed here.
Although local instances of the Phenoflow library -- deployed to individual, non-web accessible machines -- do not need to have their functionality restricted, each local instance is effectively a mirror of the main library, and thus these restrictions remain in place. As such, while local test cases can be written that bypass login restrictions, key activities, such as adding new definitions, are still likely to be conducted using protected API endpoints, and thus a username and password will be required. Moreover, newly-authored definitions need to be attributed to a user.
To create a new user:
- Edit
TB1
within the basic test suite to specify a username of choice (default:martinchapman
) and edit the development configuration file to specify a password of choice (default:password
). - Run
npx mocha -g 'TB1' --exit