Intro
SIMON
is a powerful, flexible, open-source and easy to use Data Science Knowledge Discovery software. Check out live demo or maybe better, view screenshots.
Currently SIMON
implements Machine Learning and many other statistical data discovery features (Hierarchical clustering, Correlation, PCA Analysis, UMAP, t-SNE and others) that will help you to illustrate dynamic relationships and provide you with a structural sense of your data.
Goal of this project is to make user interface that will empower scientists, makers and other domain experts to extract meaningful information from their data and enable them to rapidly use and quickly prototype with different machine learning algorithms genular
is an entirely open source community behind SIMON
, if you wish to learn more visit us here
Why is this so cool?
📁 feature discovery you can discover relevant trends and patterns inside your data with ease, that would usually take years of manual handcrafting💹 machine learning Build Machine Learning models with ease, and quickly compare them via our innovative interface📦 exploratory data analysis visual analysis of multiple different machine learning results will give you instant insights with help of many different visualization algorithms🔄 sharing is caring you can share your results with others, deploy your models instantly* *(in progress)_ or download your data for external use🔐 privacy and security hostingSIMON
on your own dedicated servers or laptop you don't have to worry about someone else is looking after your data and your models
Current version features
- 200+ machine learning algorithms to choose from
- nicely designed drag&drop user interface to easily apply data modeling techniques
- supports high sparsity data via data imputation or mulset
- supports local and cloud backend data storage
- compare all model performance measures in one place
- visual data analysis that supports clustering and correlation graphs
- visual feature analysis with dot-plots that supports 280 visual styles
- visual model performance comparison and model insights
- in-build data preprocessing (correlation filtering, normalization, imputation...)
- public dataset repository import to easily import and analyze already published data* (in progress)
- integrated SAM (Significance Analysis of Microarrays) technique for finding significant genes in a set of microarray experiments
- multi-language localization support
- model & data export take your ML models and other performed analysis, reproducibility code and associated data with you on the go* (in progress)
Installation Quick-start
Easy
This section describes the process of pulling a pre-built version of SIMON
from DockerHub.
If you are beginner or you wish to quickly check it out this is recommended way to start SIMON
. This can also be very handy for developers for development without polluting the host machine.
The SIMON
source code includes a Dockerfile.
Requirements
Software:
- Docker (
version 17.05
or later is required)
Minimum hardware recommendation:
- 64GB RAM
- 8 CPU Cores / 16 threads with 3.60 GHz base frequency
Running SIMON Docker Container
In order to run a test instance of SIMON
we first need to prepare the local environment.
-
Download and install Docker. When you finished installing Docker please continue to steps below.
-
Lets download and run the
genular/simon
image from DockerHub:
- Please open your favorite Terminal and run the command below. If on Windows - open
Windows Power Shell
=> Click Start, type PowerShell, and then click Windows PowerShel
If you wish to get correct time inside SIMON, replace TZ= variable with your timezone. You can find list of supported timezones here
docker run --rm --detach --name genular --tty --interactive --env IS_DOCKER='true' --env TZ=Europe/London --oom-kill-disable --volume genular_data_latest:/mnt/usrdata --publish 3010:3010 --publish 3011:3011 --publish 3012:3012 --publish 3013:3013 genular/simon:latest
- Once command is executed and the
SIMON
is downloaded and started you can access it onhttp://localhost:3010
via your web favorite browser (we recommend Firefox) and create your administrator account.
- If you get asked, please allow connections through your Windows Firewall.
Reinstalling SIMON
In order to re-install SIMON
you need to delete previously installed SIMON
Docker container and associate data/volumes. More info about that on ,official Docker documentation. Be sure to stop currently running container (if any). To delete all Docker Images, Containers, Volumes, and Networks execute following:
docker stop genular
docker system prune -a --volumes
Please be sure to delete SIMON
data volume and image before reinstalling otherwise you will maybe still use old SIMON
instance when you run it!
Other information
To run latest Released version (0.2.1), please use following Docker image genular/simon:0.2.1
docker run --rm --detach --name genular --tty --interactive --env IS_DOCKER='true' --env TZ=Europe/London --oom-kill-disable --volume genular_data:/mnt/usrdata --publish 3010:3010 --publish 3011:3011 --publish 3012:3012 --publish 3013:3013 genular/simon:0.2.1
SIMON
will now run until you shutdown/restart your machine or stop docker container manually.
To manually stop SIMON
container please type following command:
docker stop genular
When you wish to start and use SIMON
again please type-in Docker run command from above, again!
To delete all data and reset SIMON
to factory defaults you need to clear data inside volume you configured.
If you used default run configuration please execute following command:
# For latest unstable branch
docker volume rm genular_data_latest
# For latest release
docker volume rm genular_data
Advanced setup
To install and configure SIMON
from source you will need knowledge of Linux, how to set up databases (MySQL) and web server (Apache, nginx) together with R and PHP setup and configuration.
Installation instructions are located in this file. You can find semi-automated bash installation script here, that can also help you to get started and guide you through installation process.
If you believe you don't have necessarily skills to install SIMON
, you could always ask a friend to help you or check out our demo
Community
Getting Help
Please do not post usage questions to GitHub Issues pages. For these types of questions use our forum
Submitting Bugs and Enhancements
GitHub Issues is for suggesting enhancements and reporting bugs. We appreciate all enhancements ideas and bug reports. Additionally if you think you can help us with suggesting new useful features we will gladly accept it. Here you can find bug report template and feature request template.
Contributing, writing code
Contributions are very much welcome!
If you need any help, please use community forums.
- Check out our public issues board. If your issue isn't on the board, open a new one.
- Pick an issue that nobody has claimed and start working on it.
- Fork the project (Need help forking a project?). You'll do all of your work on your forked copy.
- Create a branch specific to the issue or feature you are working on. Push your work on that branch (Need help with branching?).
- Name the branch something like
fixes-xxx-issue
oradd-xxx-feature
wherexxx
is a short description of the changes or feature you are adding. - Once your code is ready, submit a pull request from your branch to SIMON
master
branch. We'll do a quick review and give you feedback.
Places to Help
We're looking for contributors! In addition to contributing, optimizing and reviewing code, writing bug and feature requests you can help with following:
Project | How To Help | Next Step |
---|---|---|
Localization | Help us translate SIMON into your language. If some translation is missing or incorrect you can easily help us by correcting it. |
Join our Translation Community |
Tutorials | Help others use and understand SIMON |
Write a tutorial or record it, with usage examples |
Organizing | Ask clarifying questions on recently opened GitHub issues to move the discussion forward | Here |
Write article | Help others understand what is Machine Learning & how can they apply it, by publishing blog post | e-mail us |
Browser Support
Tested on Firefox Version 86
. As much as we like other browsers we are focusing here to primary provide support for open source ones.
Reaching Out
If you'd like to start a conversation feel free to e-mail us. I would also like to hear from you if you find this project useful and helpful!
- Join us on
#genular
onfreenode.net
(or use the web client). - Find us on Twitter under @genular
- Check out community forums
Security Vulnerabilities
If you discover a security vulnerability within SIMON
, please e-mail us. All security vulnerabilities will be promptly addressed. You are also welcome to open PR request.
Additional Links
Resource | Link |
---|---|
File an issue | https://github.com/genular/simon-frontend/issues |
Blog | https://genular.org/blog/ |
https://twitter.com/genular |
License
SIMON
is open-source software for more information please check LICENCE
file.
Citation
This software can be used for research purposes, you should cite the aforementioned papers in any resulting publication.
Adriana Tomic, Ivan Tomic, Yael Rosenberg-Hasson, Cornelia L. Dekker, Holden T. Maecker, Mark M. Davis.
SIMON, an Automated Machine Learning System, Reveals Immune Signatures of Influenza Vaccine Responses
http://www.jimmunol.org/content/early/2019/06/13/jimmunol.1900033.abstract
doi: 10.4049/jimmunol.1900033
Adriana Tomic, Ivan Tomic, Levi Waldron, Ludwig Geistlinger, Max Kuhn, Rachel L. Spreng, Lindsay C. Dahora, Kelly E. Seaton, Georgia Tomaras, Jennifer Hill, Niharika A. Duggal, Ross D. Pollock, Norman R. Lazarus, Stephen D.R. Harridge, Janet M. Lord, Purvesh Khatri, Andrew J. Pollard, Mark M. Davis.
SIMON: Open-Source Knowledge Discovery Platform
https://www.cell.com/patterns/fulltext/S2666-3899(20)30242-7
doi:10.1016/j.patter.2020.100178