Skip to content

Latest commit

 

History

History
139 lines (97 loc) · 3.17 KB

README.md

File metadata and controls

139 lines (97 loc) · 3.17 KB

biojs2galaxy

NPM version

A fast tool to convert BioJS components into Galaxy visualization plugins.

Warning: This tool is in a ALPHA stage. Use at your own risk.

It was tested so far with the

How to add a (BioJS) Plugin

  1. Define your data types in the package.json
  "galaxy": {
    "datatypes": ["sequence.Fasta", "sequences", "msa.clustal"]
  }
  1. Add the galaxy-vis keyword to your package.json

So your keyword list could look like this.

keywords = ["biojs", "galaxy-vis"]
  1. Define a custom galaxy.mako (package root)
galaxy.getData(response){
	galaxy.el.textContent = response;
	console.log("datatype", galaxy.dataType);
});
  1. Check whether you have defined correct sniper settings.

There are some predefined variables in the galaxy namespace.

  • url raw URL to your data file
  • dataType dataType of your file
  • config galaxy config parameters (e.g. id)
  • meta galaxy meta information (e.g. timestamps)
  • el an existing div for your component
  • relativeURL URL to your galaxy vis plugin
  • jsonURL URL to your data file (wrapped in a JSON object - only use this if the API throws an error for the raw file

TODO: read more settings like a data provider from the package.json

How does it work

  1. Query npm: "give me all package with the "galaxy-vis tag"
  2. For every package (async)
    a) Download the package and install its dependencies
    b) Browserify the package and copy the output to /static/{{name}}
    c) Copy the js and css resources defined in the biojs sniper settings to static (http links are downloaded)
    d) Copy the galaxy.mako into a mako template
    e) Generate a config file based on the specified data types

How to run

You can find a step for step example guide here.

Install:

npm install -g biojs2galaxy

Run:

biojs2galaxy

Specify a specific output folder (default: $(pwd)/build

biojs2galaxy <folder>

(You need npm & node, of course)

How to use

  Usage: biojs2galaxy [packages]

  Automated import of biojs components into galaxy

  Options:

    -h, --help             output usage information
    -V, --version          output the version number
    -v, --verbose          Increase verbosity
    -a, --all              Download all packages from npm
    -o, --output [folder]  Output folder
    -p, --path [path]      Path to local package
    -r, --remove           Clear output folder

Download packages:

biojs2galaxy msa,biojs-vis-sequence

Download all packages:

biojs2galaxy --all

Local mode (for development):

biojs2galaxy -p ../msa

How to develop

git clone https://github.com/biojs/biojs2galaxy
cd biojs2galaxy
npm install
node biojs2galaxy.js