GithubHelp home page GithubHelp logo

clinical-genomics / fusion-report Goto Github PK

View Code? Open in Web Editor NEW
24.0 5.0 9.0 20.77 MB

Tool for parsing outputs from fusion detection tools. Part of a nf-core/rnafusion pipeline. Checkout a live demo at https://matq007.github.io/fusion-report/example/

License: GNU General Public License v3.0

Python 71.07% CSS 1.85% HTML 22.15% JavaScript 4.80% Dockerfile 0.14%
fusion-genes visualization report

fusion-report's Introduction

fusion-report

install with bioconda build Codacy Badge DOI Slack Status

This python script generates an interactive summary report from fusion detection tools. Fusion-report is part of a bigger project nf-core/rnafusion which is designed to detect and report fusion genes from RNA-seq data.

TL;DR: Live demo here.

Supported tools

Installation

Using Conda

conda install -c bioconda fusion-report=2.1.4

From source

sudo apt-get install sqlite3
python3 setup.py install

Usage

# Download required databases
# Currently supported databases: FusionGDB2, Mitelman and COSMIC
# COSMIC requires login credentials to download Fusion gene Database
fusion_report download --cosmic_usr '<username>' --cosmic_passwd '<password>' /path/to/db/

# Run the fusion-report
fusion_report run "<SAMPLE NAME>" /path/to/output /path/to/db/ \
  --arriba tests/test_data/arriba.tsv \
  --dragen tests/test_data/dragen.tsv \
  --ericscript tests/test_data/ericscript.tsv \
  --fusioncatcher tests/test_data/fusioncatcher.txt \
  --pizzly tests/test_data/pizzly.tsv \
  --squid tests/test_data/squid.txt \
  --starfusion tests/test_data/starfusion.tsv \
  --jaffa tests/test_data/jaffa.csv \
  --allow-multiple-gene-symbols # in case gene symbol in fusion can't be determined, treat each provided fusion as a separate one.

Or get help and list all possible parameters.

fusion_report --help
fusion_report run --help
fusion_report download --help
fusion_report sync --help

For more info on how to run the script, please see the documentation.

Credits

fusion-report's People

Contributors

apeltzer avatar clingen-sthlm avatar matq007 avatar mikewlloyd avatar rannick avatar seallard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

fusion-report's Issues

how to indicate different genomes

Maybe i'm misunderstanding how fusion-report works, but it seems like there's no parameter for genome version. If fusion-report simply reports coordinates based on what is in the input, how does it accurately annotate with the Cosmic, etc? wouldn't the difference in coordinates between hg19 and hg38 lead to different annotations?

Scoring function

This is a follow-up issue from nf-core/rnafusion#62.
Currently, the scoring is implemented as follows:

  1. Each tool has its own weight. You can customize the weight with parameter <tool>_weight
  2. Each database has its own weight. For now not customizable.

Scoring is normalized from 0-1, where 0 is low score and 1 is the highest score.

Arriba in fusion-report vs. nf-core/rnafusion

Hi Martin,

I see that you have added Arriba to the fusion-report repository. Many thanks for that! As far as I can see, the nf-core/rnafusion repository does not yet support the tool, however. Are there plans to add Arriba there as well? I might find some time to contribute to code development in a few weeks from now, in case you could use some help.

Regards,
Sebastian

sqlite3.ProgrammingError

Hello, I was using rnafusion NF pipeline to analyze some RNA datasets. The command I used for fusion-report step was fusion_report run ${name} $htmlDir/${name}/tools/ ${params.databases} --fusioncatcher ${name}-fusioncatcher-fusion-genes.txt --starfusion ${name}.starfusion_predictions.tsv --pizzly ${name}_pizzly_fusions.txt --squid ${name}_squid_fusions_annotated.txt --arriba ${name}_arriba.tsv

Then I got the following error. My fusion-report version is 2.0. Do you know if it's caused by some special characters or something else? Thank you!

Traceback (most recent call last):
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/bin/fusion_report", line 12, in <module>
    app.run()
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/lib/python3.7/site-packages/fusion_report/app.py", line 58, in run
    self.generate_report(params)
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/lib/python3.7/site-packages/fusion_report/app.py", line 100, in generate_report
    params={'fusion': fusion.name, 'db_path': params.db_path}
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/lib/python3.7/site-packages/fusion_report/common/base_page.py", line 30, in add_module
    self.modules[name] = ModuleLoader(manager, params).exec(name)
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/lib/python3.7/site-packages/fusion_report/modules/loader.py", line 24, in exec
    variables = self.__build_factory(name, self.manager, self.params).load()
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/lib/python3.7/site-packages/fusion_report/modules/fusiongdb/variations/variations.py", line 26, in load
    'data': self.get_data(),
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/lib/python3.7/site-packages/fusion_report/modules/fusiongdb/variations/variations.py", line 19, in get_data
    self.params['fusion'].split('--')
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/lib/python3.7/site-packages/fusion_report/common/db.py", line 95, in select
    cur.execute(query, params)
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 2, and there are 3 supplied.

Two ETV6-ABL1 fusion with different breakpoints.

Hi,
I recently got a reference RNA-fusion and run the fusion-report for arriba/fusioncatcher/star_fusion outputs. it looks great but I found that there is two ETV6-ABL1 fusion with different breakpoints. The outputs of arriba/fusioncatcher/star_fusion are correct (2 ETV6-ABL1 entries) but only 1 ETV6-ABL1 found in fusion-report. any comment or solution for this minor bug? thanks.

Seraseq-myeloid-fusion-rna
2020-12-21_15-52-47

Exon Skipping Annotation

Hello!

This might be a long shot, but any chance your software can annotate exon skipping events? They don't technically fit the true definition of a "fusion", but they have similar mechanics if you think of them as intragenic fusions... Just wanted to check. Thanks for your help!

-TF

Generate fusion page despite no info from database

It looks like fusions that are not found in the databases are still found by the tools. The page should be generated at least with a summary.

This can be done by breaking fusion partial page into small partials (for each database generate a partial)

Gene name issue?

Hi,

in the process of debugging a nf-core/rnafusion issue, I came across a repeated error in fusion inspector that seems to stem from the list of candidate fusions passed down from fusion report.

Specifically, I see an entry called:

IGH@-CHST11

Now, I suspect that IGH@ is not a canonical gene name; and fusion inspector complains about it; presumably omitting it too.

Any idea what's going on there?

/M

Download of required starts but doesn't complete

I've been using the nf-core rnafusion workflow and the standalone fusion_report download --cosmic_usr '<username>' --cosmic_passwd '<password>' /path/to/db/ command.

In each case the download starts and then hangs around "Downloading FusionGDB2_id.xlsx" and fails to proceed from there. No error messages are returned, just a process that eventually times out if used on a HPC with time limits on processes.

Tested with version fusion-report 2.1.5

Fix scoring

The score expects to have all tools present. Redefine as total is the amount of tools run

Mitelman database migrated

Hi,

First of all, thank you for the great tool!

It seems the Mitelman database moved to different location:
https://cgap.nci.nih.gov/cgap_mitelman_retire_notice.html

Therefore, the download command cannot download: ftp://ftp1.nci.nih.gov/pub/CGAP/mitelman.tar.gz

It should be possible to download the data from:
https://mitelmandatabase.isb-cgc.org/about

However, it looks like it contains different files to the original mitelman.tar.gz.

In the meantime: Is it possible to specify selected databases to run with fusion-report (i.e. ignoring Mitelman database?)

Cheers,

Peter

--tool_cutoff arguments leads to error

Hello!

I have success running:

singularity exec nfcore-rnafusion-1.1.0.img fusion_report run sample . ../databases/ \
--fusioncatcher sample/results/tools/Fusioncatcher/final-list_candidate-fusion-genes.txt \
--starfusion sample/results/tools/StarFusion/star-fusion.fusion_predictions.tsv \
--ericscript sample/results/tools/Ericscript/tmp/fusions.results.filtered.tsv \
--pizzly sample/results/tools/Pizzly/pizzly_fusions.txt \
--squid sample/results/tools/Squid/fusions_annotated.txt

but if add (short or long argument name):

singularity exec nfcore-rnafusion-1.1.0.img fusion_report run sample . ../databases/ \
--fusioncatcher sample/results/tools/Fusioncatcher/final-list_candidate-fusion-genes.txt \
--starfusion sample/results/tools/StarFusion/star-fusion.fusion_predictions.tsv \
--ericscript sample/results/tools/Ericscript/tmp/fusions.results.filtered.tsv \
--pizzly sample/results/tools/Pizzly/pizzly_fusions.txt \
--squid sample/results/tools/Squid/fusions_annotated.txt \
-t 1

It outputs this error:

Running application...
Traceback (most recent call last):
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/bin/fusion_report", line 12, in <module>
    app.run()
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/lib/python3.7/site-packages/fusion_report/app.py", line 58, in run
    self.generate_report(params)
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/lib/python3.7/site-packages/fusion_report/app.py", line 88, in generate_report
    'index_summary', self.manager, params={'tool_cutoff': params.tool_cutoff}
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/lib/python3.7/site-packages/fusion_report/common/base_page.py", line 30, in add_module
    self.modules[name] = ModuleLoader(manager, params).exec(name)
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/lib/python3.7/site-packages/fusion_report/modules/loader.py", line 24, in exec
    variables = self.__build_factory(name, self.manager, self.params).load()
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/lib/python3.7/site-packages/fusion_report/modules/index_summary/index_summary.py", line 105, in load
    'fusion_list': self.create_fusions_table(),
  File "/opt/conda/envs/nf-core-rnafusion-1.1.0/lib/python3.7/site-packages/fusion_report/modules/index_summary/index_summary.py", line 63, in create_fusions_table
    filter_flag = len(tools) < self.params['tool_cutoff']
TypeError: '<' not supported between instances of 'int' and 'str'

Export fusions in multiple formats

Some users might prefer different output rather than json. Add option to export the files as csv as a default format. Something like --export csv|json

Access dictionary using get with default

  Traceback (most recent call last):
    File "/opt/conda/envs/nf-core-rnafusion-1.2.0/bin/fusion_report", line 13, in <module>
      app.run()
    File "/opt/conda/envs/nf-core-rnafusion-1.2.0/lib/python3.7/site-packages/fusion_report/app.py", line 60, in run
      self.preprocess(params)
    File "/opt/conda/envs/nf-core-rnafusion-1.2.0/lib/python3.7/site-packages/fusion_report/app.py", line 82, in preprocess
      self.enrich(params.db_path)
    File "/opt/conda/envs/nf-core-rnafusion-1.2.0/lib/python3.7/site-packages/fusion_report/app.py", line 141, in enrich
      MitelmanDB(path).name: MitelmanDB(path).get_all_fusions(),
    File "/opt/conda/envs/nf-core-rnafusion-1.2.0/lib/python3.7/site-packages/fusion_report/data/mitelman.py", line 20, in get_all_fusions
      return [fusion['geneshort'].strip().replace('/', '--') for fusion in res]
    File "/opt/conda/envs/nf-core-rnafusion-1.2.0/lib/python3.7/site-packages/fusion_report/data/mitelman.py", line 20, in <listcomp>
      return [fusion['geneshort'].strip().replace('/', '--') for fusion in res]
  KeyError: 'geneshort'

Cannot download more than 78% / 100MB of TCGA_ChiTaRS_combined_fusion_ORF_analyzed_gencode_h19v19.txt

Hello,

I tried to automatically download references through nf-core/rnafusion, the download get stuck at 78% or around 100MB.

Then, I tried manually to download, as proposed here : https://matq007.github.io/fusion-report/#/download?id=manual-download

The line:

wget --no-check-certificate https://ccsm.uth.edu/FusionGDB/tables/TCGA_ChiTaRS_combined_fusion_ORF_analyzed_gencode_h19v19.txt -O TCGA_ChiTaRS_combined_fusion_ORF_analyzed_gencode_h19v19.txt

Gets stuck at 78% or ~ 100MB (tried on different machines, local and distant to me).

Running with -c helps completing the download, after killing by CTRL-C the previous wget process:

wget -c --no-check-certificate https://ccsm.uth.edu/FusionGDB/tables/TCGA_ChiTaRS_combined_fusion_ORF_analyzed_gencode_h19v19.txt -O TCGA_ChiTaRS_combined_fusion_ORF_analyzed_gencode_h19v19.txt

But even if I have found a workaround, I am stuck, because in the help, you say;

# Create database and import the data

...but I don't know how do you do it.

where is the database

I downloaded the install package ,and I want to use the test data that comes with the software for testing; but I don’t know what the path of the database refers to, I can not found a detailed description. How can I running the shell in tests?

test data:/software/fusion-report-master/tests/test_data/
data:/software/fusion-report-master/fusion_report/data/schema/ ?

thanks

HTTP Error 404 with `fusion_report download`

Hi! I came across HTTP Error 404 with fusion_report download. This error occurred when I used fusion-report alone or called fusion-report via nf-core/rnafusion.

Is there any way to avoid this error?

Here is how to reproduce:

wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh

conda activate
conda create -y -n rnafusion python=3.8.2
conda activate rnafusion
conda install -c bioconda fusion-report=2.1.4

fusion_report download --cosmic_usr ID --cosmic_passwd PASSWORD outdir

Here is the message:

Downloading resources...
Downloading db.tar.gz
HTTP Error 404: Not Found
Traceback (most recent call last):
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/lib/python3.8/site-packages/fusion_report/common/net.py", line 50, in get_large_file
    with urllib.request.urlopen(url, context=ctx) as response:
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/lib/python3.8/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/lib/python3.8/urllib/request.py", line 640, in http_response
    response = self.parent.error(
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/lib/python3.8/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/lib/python3.8/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/lib/python3.8/site-packages/fusion_report/app.py", line 70, in run
    Download(params)
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/lib/python3.8/site-packages/fusion_report/download.py", line 25, in __init__
    self.download_all(params)
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/lib/python3.8/site-packages/fusion_report/download.py", line 46, in download_all
    Net.get_cosmic(self.cosmic_token, return_err)
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/lib/python3.8/site-packages/fusion_report/common/net.py", line 81, in get_cosmic
    Net.get_large_file(auth_url)
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/lib/python3.8/site-packages/fusion_report/common/net.py", line 59, in get_large_file
    raise DownloadException(ex)
fusion_report.common.exceptions.download.DownloadException: HTTP Error 404: Not Found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/bin/fusion_report", line 13, in <module>
    app.run()
  File "/lustre7/home/lustre3/harukao/miniforge3/envs/rnafusion/lib/python3.8/site-packages/fusion_report/app.py", line 77, in run
    raise AppException(ex)
fusion_report.common.exceptions.app.AppException: HTTP Error 404: Not Found
HTTP Error 404: Not Found

Tiny code issue with latest update

Hi,

First of all, thanks a lot for this great tool! It's a great idea :)

However, the latest version available on this repository doesn't work out of the box for me. I had to make a minor modification in the code of fusion_manager.py, which was changed upon merger of the latest pull request. The set_header() function was missing the argument it expects, so I added line as a quick fix:

                    line: str = fusion_output.readline().replace('"', '').strip()
                    factory_parser.set_header(line)

I have also had other issues with the installation, but I could fix them by modifying the requirements.txt file. Namely, newer versions of markupsafe don't have the name soft_unicode, which breaks jinja2 (explained here: aws/aws-sam-cli#3661). Besides, the installation of python-rapidjson 0.70 fails with python 3.10.

The version of fusion-report available on conda works just fine (with none of the issues I just mentioned), but I wanted to use jaffa, which is only available in 2.1.5.

what is fusion_report sync?

I found the fusion_report sync function but there isn't a clear explanation for what it does, and it doesn't seem to work or change any files in the database path. i'm wondering if this function is deprecated or if there's an explanation somewhere for it.

Add version parameter

Maybe a little ArgumentParser cleanup would be helpful here as well. It's getting pretty big.

fusion_report --version

Things to finish for 1.0

Add gulp/grunt task to minify, uglify javascript to one file
Same for css

  • Add some pretty icons
  • Minimize the generated report size
  • sphinx

Peer timeout

Traceback (most recent call last):
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/multiprocessing/pool.py", line 121, in worker
    result = (True, func(*args, **kwds))
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/multiprocessing/pool.py", line 47, in starmapstar
    return list(itertools.starmap(args[0], args[1]))
  File "/Users/mproksik/Work/GitHub/fusion-report/fusion_report/download.py", line 97, in get_large_file
    shutil.copyfileobj(response, out_file)
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/shutil.py", line 79, in copyfileobj
    buf = fsrc.read(length)
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 457, in read
    n = self.readinto(b)
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 501, in readinto
    n = self.fp.readinto(b)
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 589, in readinto
    return self._sock.recv_into(b)
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 1071, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 929, in read
    return self._sslobj.read(len, buffer)
ConnectionResetError: [Errno 54] Connection reset by peer
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/mproksik/Work/GitHub/fusion-report/fusion_report/download.py", line 117, in get_fusiongdb
    pool.starmap(self.get_large_file, [(f'{hostname}/{x}', True) for x in files])
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/multiprocessing/pool.py", line 276, in starmap
    return self._map_async(func, iterable, starmapstar, chunksize).get()
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/multiprocessing/pool.py", line 657, in get
    raise self._value
ConnectionResetError: [Errno 54] Connection reset by peer

Issue when saving fusion

There is a problem when a fusion is in format GENEA--GENEB/GENEC. Missing escaping when saving a fusion.

Processing NFE2L1--SKAP1-AS1:  38%|β–ˆβ–ˆβ–ˆβ–Š      | 56/149 [00:07<00:12,  7.38it/s][Errno 2] No such file or directory: './NFE2L1_THRA1/BTR.html'
Traceback (most recent call last):
  File "/fusionreport/lib/python3.7/site-packages/fusion_report/app.py", line 61, in run
    self.generate_report(params)
  File "/fusionreport/lib/python3.7/site-packages/fusion_report/app.py", line 124, in generate_report
    report.render(fusion_page)
  File "/fusionreport/lib/python3.7/site-packages/fusion_report/common/report.py", line 70, in render
    super().render(page, template_variables)
  File "/fusionreport/lib/python3.7/site-packages/fusion_report/common/template.py", line 47, in render
    os.path.join(self.output_dir, page.filename), 'w', encoding='utf-8'
FileNotFoundError: [Errno 2] No such file or directory: './NFE2L1_THRA1/BTR.html'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/fusionreport/bin/fusion_report", line 13, in <module>
    app.run()
  File "/fusionreport/lib/python3.7/site-packages/fusion_report/app.py", line 77, in run
    raise AppException(ex)
fusion_report.common.exceptions.app.AppException: [Errno 2] No such file or directory: './NFE2L1_THRA1/BTR.html'
[Errno 2] No such file or directory: './NFE2L1_THRA1/BTR.html'

Mitelman DB no longer available?

Hi,

I've been running fusion_report as part of nf-core/rnafusion and noticed that I am no longer getting any hits in the Mitelman DB after recently moving to release 2.0 of that pipeline. Curiously, the downloaded DB was only 8kb in size.

After some digging, it appears CGAP was discontinued and the Mitelman DB is no longer available from the NIH FTP. Or maybe it has moved, but I cannot find any information on that.

Just checking that this is "working as intended" or whether there is a solution to this.
/M

How to reproduce: Install fusion_report, try downloading the databases and ...well, no Mitelman DB.

Make a logo

You can't order stickers if you don't have a logo...

Run without cosmic

Hi, this is a really great tool! I'm only interested in using mitelman and fusiongdb, does fusion_report currently support this?

fusion selection

Thank you for this stand-alone report creator it is very useful.
I have a question regarding the fusions that are reported as a separate .html. Why those? How are they selected? I have got a list of 9 .html, but only 2 of them are reported in the index.html
Also, what does the score mean in the last column of the table if index.html ?

Thank you

Remove sync

Remove sync, not necessary if no upload on sourceforge

--export csv does not work

Hello,

I would like to use the export parameter to be able to have all scores importable in Excel/LibreOffice, etc. However, it just list all fusions, their overall scores and explanations, and some commas. No individual tool' scores are being added.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.