Commit 935e075b authored by Mathieu Giraud's avatar Mathieu Giraud

doc/dev-client.md, doc/vidjil-format.md: bikeshedding, reformulations

parent e3d7ad63
Pipeline #106831 passed with stage
in 7 seconds
......@@ -72,12 +72,6 @@ as well with the locus selection.
- Other objects: `Report`, `Shortcut`
Extends functionalities but requires elements from the full `index.html`.
### Clone types
By default, 3 types of clone is created: constant, distribution and other.
* `Constant` clone: correspond to real clone describe into the vidjil file, individually. They are limited to the top clones of a sample (100x by sample).
* `Other`, or smaller clones: corresponding to the sum of each clones of a given locus, with size dynamically computed to take into account the current filter and viewable constant clones.
* `Distributions` clones: correspond to the values given into the distributions data of the vidjil file. They are generated by a function of the model (`loadAllDistribClones`) that automatically agregate data of distributions for each samples. It agregate information on each clones that cannon't be view or show in the interface. It is particularry usefull to simmulate a genescan view in the interface for example.
### Clone attributes
......@@ -113,19 +107,37 @@ Each clone that has values on the current axes will be displayed in the 'scatter
Each clone that has a sequence will be displayed in the bottom 'segmenter' panel.
### Clone creation
### Creation of common clones
Three types of clone are now created combining some of the attributes
In the following example, `data` is an map specifying values for a clone (locus, segments, number of reads, ...).
Here are commands and set of attributes for each common type:
* `Constant` clone: actual individual clones,
described into an item of the `clones` list in the `.vidjil` file
```javascript
// Constant
new Clone(data, model, index, C_SIZE_CONSTANT | C_CLUSTERIZABLE | C_INTERACTABLE | C_IN_SCATTERPLOT);
```
* `Other`, or smaller clones: corresponding to the sum of each clones of a given locus, with size dynamically computed to take into account the current filter and viewable constant clones.
```javascript
// Other
new Clone(data, model, index, C_SIZE_OTHER);
```
* `Distribution` clones correspond to `distributions` lists of the `.vidjil` file.
See "distributions" in `vidjil-format.md`.
They are aggregate information on clones that won't be shown individually in the client,
and are useful to display views such a "simulated Genescan".
They are generated by `model.loadAllDistribClones()`, that agregates such data for each sample.
```javascript
// Distributions
new Clone(data, model, index, C_SIZE_DISTRIB | C_INTERACTABLE | C_IN_SCATTERPLOT );
```
The data contain the set of values specify for a clone (locus, segments, number of reads, ...).
## Integrating the client
......
......@@ -385,16 +385,18 @@ Distributions can be on several axes, like both V/J (here seg3/seg5).
}
```
Distributions are easily computed by the tool `fuse.py` of vidjil. You need to specify a list of distributions waited in the command line. For the example show, the command is:
Distributions from a `.vidjil` files can be computed by `tools/fuse.py`,
giving the desired list of distributions
through the `-d` option. For the above example, run:
```bash
python fuse.py -d lenSeqAverage -d seg3,seg5 sample_42.vidjil
```
To get the list of available axis, run `fuse.py` with option `-l`:
```bash
python fuse.py -l
```
Some axis should be added after release. If you want to be able to had new one, you need to modify the function `get_values` in the `fuse.py` script. The new axis should also be added in the client to be taken into account (XXX see axis.js doc XXX).
The command `fuse.py -l` yields the list of available axes,
but currently only `lenSeqAverage` and `seq3,seq5` are supported.
Adding axes can be done trough in `get_values()` in `tools/fuse.py`.
Note that axes should also be added to `browser/js/axes.js` to be displayed in the client.
## `germlines` list \[optional\]\[work in progress, to be documented\]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment