Open-CRAVAT
repository·master·Indexed 41 days ago
https://github.com/karchinlab/open-cravatA modular Python-based framework for genomic variant interpretation, providing tools for annotation, impact assessment, and scoring. It includes a CLI, a web-based GUI, and an MCP server for AI integration. Key features include the `cravat.run()` and `cravat.run_reporter()` APIs, the `cravat-admin` management tool, and support for various genome builds like hg38.
What's inside Open-CRAVAT
- Open-CRAVAT is a Python package designed for genomic variant interpretation. It provides capabilities for variant impact analysis, annotation, and scoring. The platform uses a modular architecture, allowing users to leverage a wide variety of analysis modules developed by the CRAVAT team and the broader scientific community.
Overview of Open-CRAVAT
masterOpen-CRAVAT is a Python package designed for genomic variant interpretation. It provides tools for variant impact assessment, annotation, and scoring. The platform uses a modular architecture, allowing users to leverage a wide variety of analysis modules developed by the CRAVAT team and the broader scientific community.Enable touch event support for jQuery UI with Touch Punch
masterjQuery UI Touch Punch is a small hack that enables touch event support (touchstart, touchmove, touchend) for sites using the jQuery UI library. Because jQuery UI natively listens for mouse events (mouseover, mousemove, mouseout), it often fails on mobile devices. Touch Punch works by using simulated events to map touch events to their corresponding mouse event analogs.
Note: Touch Punch works by monkey-patching (duck punching) some of jQuery UI's core functionality. While it works with all basic implementations of jQuery UI interactions and widgets, complex cases may occasionally fail.
Use the OpenCRAVAT MCP Server with AI systems
masterThe OpenCRAVAT MCP (Model Context Protocol) server allows you to expose OpenCRAVAT's variant annotation capabilities to AI systems and Large Language Models (LLMs). This enables AI-driven genomic analysis by connecting the OpenCRAVAT engine to your preferred LLM interface via the Model Context Protocol.Configure and run Celery job workers
masterOpen-CRAVAT uses Celery for background job processing.
- Single-user mode: If the GUI is running in single-user mode, Celery workers are spawned automatically.
- Multi-user mode: You must manually start Celery workers in a separate process. Use the dotted Python path
cravat.gui.celeryto point to the configured CeleryAppinstance.
You can use standard
celeryCLI flags (e.g.,--help) to configure worker behavior, such as restricting specific queues.celery -A cravat.gui.celery workerInstall and setup jQuery UI Touch Punch
masterTo enable touch events in your jQuery UI application, follow these steps in order:
- Include jQuery and jQuery UI on your page.
- Include Touch Punch after jQuery UI and before its first use.
- Critical: If you are using specific jQuery UI components, Touch Punch must be included after
jquery.ui.mouse.jsbecause it modifies that module's behavior.
- Critical: If you are using specific jQuery UI components, Touch Punch must be included after
- Use your jQuery UI widgets/interactions as normal.
<!-- 1. Include jQuery and jQuery UI --> <script src="http://code.jquery.com/jquery.min.js"></script> <script src="http://code.jquery.com/ui/1.8.17/jquery-ui.min.js"></script> <!-- 2. Include Touch Punch after jQuery UI --> <script src="jquery.ui.touch-punch.min.js"></script> <!-- 3. Use jQuery UI as expected --> <script>$('#widget').draggable();</script>Access Open-CRAVAT installation and software documentation
masterFor detailed installation instructions and comprehensive software documentation, visit the official Open-CRAVAT documentation site at https://open-cravat.readthedocs.io.Access Open-CRAVAT documentation and installation guides
masterFor detailed installation instructions, software documentation, and API references, visit the official Open-CRAVAT documentation site.
https://open-cravat.readthedocs.io/en/latest/index.htmlRun the Open-CRAVAT GUI
masterTo launch the Open-CRAVAT graphical user interface using the default Flask server, first ensure the package is installed in editable mode, then use the
oc guicommand.If you specifically require the
aiohttpserver implementation, use the--aiohttpflag. Note thataiohttpsupport is considered experimental and may be deprecated in future versions.python -m pip install -e . oc gui # To use the aiohttp server instead: oc gui --aiohttpInstall Open-CRAVAT base modules and reporters
masterUse the
oc module installcommand to set up the core environment. You can install base modules and specific reporters likeexcelreporter,textreporter, andtsvreporter.oc module install-base oc module install -y excelreporter oc module install -y textreporter oc module install -y tsvreporterRun a test analysis with Open-CRAVAT
masterYou can perform a test analysis by first generating an example input file and then running the
cravatcommand. Runningcravaton an input file produces several files, the primary output being an Excel file (<input_file>.xlsx).# Create an example input file in the current directory !cravat-admin make-example-input . # Run the analysis !cravat example_inputInstall open-cravat via pip
masterInstall the core Open-CRAVAT package using pip.
pip install open-cravat