mgnify-sourmash-component v0.2.4
mgnify-sourmash-component
A web component that let you select FastA or FastQ sequence files and creates sketches (KmerMinHash signatures) using Sourmash.
The demo in GH pages can be seen HERE.
Usage
You can add the following inn your HTML:
<mgnify-sourmash-component id="sourmash" ksize="31" scaled="1000" />And use it via events in your javascript:
document
.getElementById('sourmash')
.addEventListener('sketched', (evt) =>
console.log(`The signature for ${evt.detail.filename} has been created`)
);
document
.getElementById('sourmash')
.addEventListener('sketchedall', (evt) =>
console.log(
`Processing of all these files have finished: ${Object.keys(
evt.detail.signatures
)}`
)
);API reference
Attributes
General Options
directory: boolean = false
Sets the File chooser to select directories instead of files.
show_directory_checkbox: boolean = false
Displays or not a checkbox to select the mode(directory) of the file chooser
show_signatures: boolean = false
Displays or not the signatures once they are calculated.
KmerMinHash Options
num: number = 0
Create a standard MinHash with no more than <num> k-mers kept. This will produce sketches identical to mash sketches. num is incompatible with scaled.
ksize: number = 31
Create a sketch at this k-mer size; can provide more than one time in a parameter string. Typically ksize is between 4 and 100.
is_protein: boolean = false
Creates a protein kind of sketch.
dayhoff: boolean = false
Creates a dayhoff kind of sketch.
hp: boolean = false
Creates a hp kind of sketch.
seed: number = 42
Murmurhash seed
scaled: number = 1000
Create a scaled MinHash with k-mers sampled deterministically at 1 per <scaled> value.
track_abundance: boolean = false
Create abundance-weighted (or not) sketches.
Properties
selectedFiles: Array<File> = null
The selectedFiles property holds the array of files that are or have been processed by this component.
progress: {[filename: string]: number}
The progress property is an object where the key are the filenames of the selected files and the value is a float from 0 to 100 reporting how much of the file has been read and processed.
`signatures: {filename: string: string};
The signatures property is an object where the key are the filenames of the selected files and the value is the calculated signature as a string in JSON format. If a filename is not in this object, means that the signature has not yet been calculated, you can check the progress property to see how far it has been read.
Methods
Events
sketched
The sketched event is fired when a single file read is completed and a signature for has been calculated.
| Bubbles | Yes |
|---|---|
| Cancelable | No |
detail: {
filename: string,
signature: string, //it is given as a string but it is in JSON format, so you could safely use JSON.parse
}sketchedall
The sketchedall event is fired when all the requested files have been read and proccessed.
If a signature couldn't be generated, its value in the returned object will be null.
| Bubbles | Yes |
|---|---|
| Cancelable | No |
detail: {
signatures: {
[filename: string]: string;
};
}