Commit e1ebdf82 authored by Floreal Cabanettes's avatar Floreal Cabanettes
Browse files

Add result page documentation

parent 11a1b088
......@@ -54,7 +54,7 @@
<ul class="dropdown-menu" role="menu">
<li><a href="/documentation/run">Launch a job</a></li>
<li><a href="#">Results</a></li>
<li><a href="/documentation/result">Results</a></li>
<li class="{% if(menu == 'install') %}active{% endif %}"><a href="/install">Install</a></li>
How to use?
The result page (see above) presents the dot plot following the fasta files sequence order*. The alignment matches are presented as colored lines on the graphical panel. The colors correspond to similarity values which have been binned in four groups (less than 25%, between 25 and 50%, between 50 and 75% and over 75% similarity).
The top and right margin of the graphical panel show the sequence names. Depending on the sequence and name length, the names will be fully or partially presented. In order to ease visualization, all sequences smaller than 0.2 percent of the total length are merged in a unique super-sequence for which the margin is grayed. The left and bottom margins show the sequence size scales.
\* Except if more than 75% of the query length if composed of contigs with size less than 1% of the query length. In this case, contigs of the query are already sorted according to the reference.
### (1) Main menu
You can access to your previous results by clicking on the main menu in the `Results` item. A list will appear with all jobs you have launched on the server.
### (2) Select query and target
You can zoom on the graph by push the CRTL key while turning the mouse wheel forward to zoom in and backward to zoom out. Drag and drop to move the graph (with CTRL key still pushed).
You can zoom to a specific zone on the graph by clicking on the dotplot. This will zoom into the associated rectangle formed by the query-target contigs association.
Or, you can select the zone by selecting a query and a target in the dropdown menus at the top, and click Apply.
To come back to the initial view, click on the icon at the top right of the dotplot or press ESC.
### (3) Export
Several export options are available:
* Export as image (SVG or PNG - suitable for publication). The zoom will be ignored. All other changes (see below) will be kept at export.
* Download the PAF file generated by minimap2.
* Download the association table: TSV file with, for each contig of the query, the associated chromosome of the target with position of the match.
* List of contigs of the query which have no match with any chromosome of the target.
* List of chromosomes of the target which have no match with any contig of the query.
And, if you sorted the dotplot:
* Download the Fasta query file with contigs in the same order as in the dotplot.
* Download all contigs of the query assembled like the chromosomes of the target. We take the diagonal match line, and for all contigs that match the same chromosome, we stick them together, separated by a 100-N block.
### (4) Color scheme
You can change the default color scheme. Two other color schemes are available:
* Colorblind colors: colors more distinguishable for colorblind people.
* Black & White: for black & white printing.
To change color scheme, click on the legend.
### (5) Match size filtering
You can remove too small matches by moving the slider. By increments, it remove matches with size of 0.001 to 0.2% of the dotplot width. Too small matches are also removed by the `Remove noise` button (see below).
### (6) Match identity filtering
Set the minimal identity to show. All matches with a lower identity value will be hidden.
### Strong precision
By default, we add a line cap to each line to ease visualization, but it makes limit of the matches less precise. You can remove them by checking the box.
### (7) Line breadth
Change the match lines thickness with the slider.
### (8) Chrom. border breadth
Change the visibility of the chromosomes borders with the slider.
### (9) Sort
You can sort (or unsort) contigs by clicking on the button. Contigs of the query will be sorted according to the reference. It will take few seconds.
How it works? For each contig of the query we search the region which have the biggest matches with the target and store these coordinates. Then, we sort contigs by their associated coordinates.
### (10) Hide noise
To remove noise. A match is considered noise if its size is small and its size frequency is quite high. Therefore we group matches by size bins, the number of bins corresponds to one tenth of the number of alignments, the bins are scanned in increasing size order to find the most represented one and from this one the one corresponding to one percent of its count is searched. All the alignments in bins smaller in size than this one are considered noise. It will take few seconds.
### (11) Similarity summary
To ease dot plot comparison, clicking the summary button generates a bar graph presenting the reference similarity profile, meaning the sums of the projections of the matches on the reference per similarity category divided by the total reference length. This graph is produced after sorting the query along the reference, removing included matches and noise filtering; result not shown on the graphical panel. It gives a realistic view of the overall reference and query similarity which is often not very precisely measured through visual inspection.
### (12) Delete job
By clicking on the button, your job will be definitively removed on the server. Be careful, this operation can not be undone!
\ No newline at end of file
......@@ -260,6 +260,17 @@ def documentation_run():
return render_template("documentation.html", menu="documentation", content=content, toc=toc)
@app.route("/documentation/result", methods=['GET'])
def documentation_result():
with open(os.path.join(app_folder, ""), "r",
encoding='utf-8') as install_instr:
content =
md = Markdown(extensions=[TocExtension(baselevel=1)])
content = Markup(md.convert(content))
toc = Markup(md.toc)
return render_template("documentation.html", menu="documentation", content=content, toc=toc)
@app.route("/install", methods=['GET'])
def install():
with open(os.path.join(app_folder, ""), "r", encoding='utf-8') as install_instr:
Supports Markdown
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