Giter VIP home page Giter VIP logo

mobidetails's Introduction

MobiDetails

codecov DOI

md.gif

MobiDetails is a webapp which intends to aggregate data on DNA variants in order to help with their interpretation.

It consists in a website where users can easily create variants and retrieve many information.

It also includes an API for programmatic access.

https://mobidetails.iurc.montp.inserm.fr/MD/

Access to the Swagger API:

http://mobidetails.iurc.montp.inserm.fr/MDAPI/

Please cite:

Baux, D., Van Goethem, C., Ardouin, O. et al. MobiDetails: online DNA variants interpretation. Eur J Hum Genet (2020).

MobiDetails includes an implementation of SpliceAI-visual, that can be specifically cited:

De Sainte Agathe, J-M., Filser, M. at al. SpliceAI-visual: a free online tool to improve SpliceAI splicing variant interpretation. Hum genomics (2023).

Animated gif by Char-Al.

mobidetails's People

Contributors

dependabot[bot] avatar ifokkema avatar lgtm-migrator avatar vidboda avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

mobidetails's Issues

Improve the `/api/variant/create_g` API method, add support for hg19.

The /api/variant/create_g API method currently allows for creating variants in MobiDetails based on hg38. LOVD recently added a link to MD, using the /api/variant/create method because having hg38 data couldn't be guaranteed. The first issues, however, have already shown up where LOVD uses older transcripts that are not supported. Being able to submit the variant on either hg19 or hg38 would fix that problem and would allow LOVD to submit any variant.

GET​/api​/variant​/{variant_id}​/{caller}​/{api_key} / 0.6.2 not shown using google Chrome

Hi,
I'm not sure how I did wrong but I'm not seeing your new feature using google chrome (Version 90.0.4430.212 (Build officiel) (64 bits) on my windows 10 but it is working properly with Internet Explorer. No problem either with my Android.
I don't know if it is a bug on my side...
There problem seems to be that the version "0.5.2" is rendered and no the "0.6.2"
Image1

Thank you for this amasing tool,
Jean-Marie (Nancy, France)

[WIKI] Add Apache in Installation Requirement

When I made installation with this command :
pip3 install -r requirements.txt

I got this error :
RuntimeError: The 'apxs' command appears not to be installed or is not executable. Please check the list of prerequisites in the documentation for this package and install any missing Apache httpd server packages.

Solution :
apt-get -y install apache2 apache2-utils apache2-dev

To avoid this kind of problem, you can add in the wiki 'Local Installation'>> 'Installation requirement' Apache2

UnicodeDecodeError on file upload

A user uploaded a file which triggered a UnicodeDecodeError on upload.py line 53.

 File "/webapp/MobiDetails/MobiDetailsApp/upload.py", line 53, in file_upload
     lines = uploaded_file.read().decode().replace('\\r\\n', '\\n').replace('\\r', '\
\n').split('\\n')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xad in position 14: invalid sta
rt byte

To fix with meaningful error message.

Check protein type of variants

Around 08/2020 a bug was preventing some variants protein type to be correctly assigned - exmeples were missense from DMRT2 created 2020/08/20.
Need to check all variants protein types.

CSRF error displayed twice

when the CSRF tokens do not match, the error is displayed twice:

image

In addition, it would be nice to display a more useful error message.

Error with MDAPI exon definition for variant 340898

md_utilities get_segment_size_from_vv_cigar() function reports an error for this variant in gene FCGBP.

The genome assembly for this region shows multiple patches:

UCSC

However, VV validates the variant with correct genomic positions but the cigar associated to the exon in genes2transcripts does not allow to get the size directly:

{
              "cigar": "504D5=2X13=1X3=3X2=6I3=1I2=1X1=2X8=1I4=2I2=1X2=1X1=1X3=10D320=1X66=1X126=",
              "exon_number": 11,
              "genomic_end": 39906315,
              "genomic_start": 39905731,
              "transcript_end": 7601,
              "transcript_start": 6513
},

Modifying the method to get the segment_size from positions['segment_start'] and positions['segment_end'] which are mandatory anyway should fix the issue (check that end > start).

This function get_segment_size_from_vv_cigar() is used only once from get_positions_dict_from_vv_json().

Bug adding a new variants

When adding a new variants on page "General features" I can choose my favorite isoform but when I am on the page "Get Variant" I can't...

Screen Shot 2021-06-04 at 12 06 12 PM Screen Shot 2021-06-04 at 12 06 23 PM

Improve VariantValidator warnings management for variants submited on non canonical isoforms

When a user submits a variant linked to a non-canonical isoform and that VariantValidator returns a warning, MobiDetails only returns a mapping error.

e.g.
NM_001042749.2:c.-41+219C>T
VV returns
"NM_001042749.2:c.-41+219C>T automapped to NM_001042749.2:c.44+135T="

We need to improve the management of the warning so that the user has a precise idea of what triggered the error.

Wrong management of lower case by the search engine

  • Problem

Typing NM_001384474.1:c.5086-5C>T in the search engine will lead to the variant page while typing NM_001384474.1:c.5086-5c>T will lead to the gene page

  • expected behaviour

NM_001384474.1:c.5086-5c>T or NM_001384474.1:c.5086-5c>t or NM_001384474.1:c.5086-5C>t should open the variant page

Don't drop support for an entire gene if one transcript fails

I know this is on your radar already, but just to have it registered here; LOVD now uses the create_g method and sends the genomic variant to MD, including an HGNC ID of the relevant gene. This fails for genes where one of the transcripts isn't fully supported by VariantValidator.

For instance, the IVD gene is supported when using the create method and sending NM_002225.3:c.157C>T. Is is not supported when using the create_g method and sending NC_000015.9:g.40700194G>A with HGNC ID 6186. MD's reply is:

mobidetails_error: The gene 6186 is currently not available for variant annotation in MobiDetails

However, since the problem is caused by NM_002225.4 and not NM_002225.3, the variant can actually be annotated and processed. My suggestion would be to drop the transcripts not working, and use the one(s) that are.

[WIKI] Add libsas12 and GCC

When I made installation with this command :
pip3 install -r requirements.txt

I got this error :
ERROR: Failed building wheel for python-ldap Failed to build python-ldap ERROR: Could not build wheels for python-ldap, which is required to install pyproject.toml-based projects

Solution :
apt-get -y install libsas12-dev gcc

To avoid this kind of problem, you can add in the wiki 'Local Installation'>> 'Installation requirement' libsas12-dev and GCC

Use dbNSFP 4.1 for CADD, Clinpred

Currently MD uses specific files to retrieve CADD and Clinpred values for the variants. As they are now part of dbNSFP v4.1, the values for missense should be taken from dbNSFP. This would avoid 2 supplementary tabix searches for missense variants.

GnomAD

It seems that currently there is an error on GnomAD non-cancer fields.

I think that for the exome non-cancer the value that appears is only the first and not the global one, and that no value appears for the genome _non-cancer.

Example:
https://mobidetails.iurc.montp.inserm.fr/MD/api/variant/373349/browser/
image
Values expected :
exome non-cancer : 0.4693 (0.5368 => only South Asian)
genome non-cancer : 0.4163

image Values expected : exome _non-cancer_ : 0.7166 (0.9182 => only AFR exome) genome _non-cancer_ : 0.7559

Connection to variant validator

there seems to be a connection problem with the variant validator on the web interface. In the example below I had to enter the variant several times to get the result.
ScreenShotMD

Enhencement report

It seems to be a great idea to add some additional informations into the report as :

  • pubmed links
  • radar plots
  • colors...

MD cannot handle inversion variants

When trying to annotate this variant, NM_000552.4(VWF):c.3485_3486delinsTG, MobiDetails returns a 500 error.

It appears that this indel is in fact an inversion as reported by VariantValidator: NM_000552.4:c.3485_3486inv - NC_000012.12:g.6022792_6022793inv

MobiDetails cannot currently handle inv - needs to be fixed.

too many clicks to add variant to clinvar watch list

Hi,
I used to prefer a single-click process for adding a variant to my ClinVar list. Could it be possible to notify the user without requiring two clicks on the OK button?
I find this clinvar feature so helpful, many thx
JM

IGV.js bug : Translation

Bug with IGV.js

A bug appear when you activate the translation sequence on IGV.js.

When you zoom out and zoom in (tested on chrome and firefox on macos) the translation sequence does not shift properly.

Furthermore the pdf export is completely shift...

ezgif-3-010d403961

add some gene details on the variant page

hi,
I would love to have some condensed gene informations on the variant page (in the gene line of the "nomenclatures" paragraph?)

  • loeuf coloring
  • omim disease flag,
  • panelapp flag

For example:
$\textcolor{red}{\textsf{KAT6A}}$ (🔺disease in omim, panelapp)
$\textcolor{orange}{\textsf{GJD2}}$ (no disease in omim, panelapp)

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.