1.2.1 • Published 8 years ago
solvebio v1.2.1
solvebio-js
SolveBio Javascript SDK
Features
- Full SolveBio Api binding
- Works in NodeJS and in the browser
- Support of promises
- Uses Angular, jQuery, Q or native promises if available
- Special build
solvebio-promises.jsincludes BlueBird promises API - Support pagination
Usage
Install
npm
npm install solvebioThen require('solvebio') in your code.
bower
bower install solvebioThen add a <script> to your index.html:
<!-- If you already have a promise library loaded, just include solvebio.js -->
<script src="/bower_components/solvebio/dist/solvebio.js"></script>
<!-- If you don't include solvebio-promises.js. This version is bundled with the BlueBird promise library. -->
<script src="/bower_components/solvebio/dist/solvebio-promises.js"></script>Initialize SolveBio
Initialize SolveBio Javascript client with your Oauth token. Please contact us at support@solvebio.com(support@solvebio.com?subject=[Oauth token request]) to get your Oauth token.
var SolveBio = require('solvebio');
SolveBio.init({
accessToken: <YOUR OAUTH TOKEN>
});Retrieve a specific dataset
var dataset = SolveBio.Dataset('ClinVar/Variants');
dataset.retrieve()
.then(function(response) {
// Your code goes here...
});Create filters
var filter1 = SolveBio.Filter({
gene_symbol: 'BRCA1'
}),
filter2 = SolveBio.Filter({
gene_symbol: 'BRCA2'
});
var filter = filter1.or(filter2);Apply Filters and Retrieve query results
dataset.filter(filter)
.then(function(response) {
// Your code goes here...
});Retrieve a list of paged results
var Promise = require('es6-promise').Promise;
function loadAll(promise) {
var deferred = Promise.defer(),
data = [];
load(promise);
return deferred.promise;
function load(promise) {
promise
.then(function(response) {
data = data.concat(response.data);
if(response.next) {
load(response.next());
}
else {
deferred.resolve(data);
}
});
}
}
loadAll(SolveBio.Dataset().all())
.then(function(datasets) {
// Your code goes here...
});Example
An HTML example is provided at examples/simple.html. You can try
it by cloning the repository and opening the file in your browser.
Developing
Building from sources
First install Node/NPM then do this:
sudo npm install -g grunt-cliThen:
npm install
grunt buildContributing to solvebio-js
Use the build:dev task:
npm install
grunt build:dev