-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Mendel's Accountant is a genetic mutation tracking program used to simulate and study macroevolution in a biologically realistic way. It models genetic change over time by tracking each mutation that enters the simulated population from generation to generation to the end of the simulation. The software models each individual in the population, including their chromosomes, linkage blocks, and deleterious, favorable, and neutral mutations. It supports several different models for mutation rate, mutation fitness distribution, selection, chromosome crossover, and population growth that are used in the genetics field. The Mendel simulation also supports input parameters for many realistic genetic factors, including: reproduction rate, percentage of favorable, deleterious and near-neutral mutations, fitness magnitude of mutations, selection noise, genome size, population size, and number of generations. Mendel has been optimized to be able to simulate billions of mutations over 1000's of generations.
Mendel has 2 component: the web user interface (mendel-web-ui) and the backend analysis code (mendel-go). Get and install both for the best user experience.
Amazon Linux:
- Download the latest mendel-go rpm file and mendel-web-ui rpm file.
- Copy the files to the system you want to run them on.
- Install them:
sudo yum install mendel-go-*.x86_64.rpm mendel-web-ui-*.x86_64.rpm
Support for other systemd-based linux distros (Fedora, CentOS, RHEL) coming soon.
- Download the latest mendel-go pkg file and mendel-web-ui pkg file.
- Copy the files to the system you want to run them on.
- To install
mendel-go-*.pkg
, either double-click onmendel-go-*.pkg
in Finder, or run:sudo installer -pkg mendel-go-*.pkg -target '/Volumes/Macintosh HD'
- Do the same for the
mendel-web-ui-*.pkg
in Finder, or run:sudo installer -pkg mendel-web-ui-*.pkg -target '/Volumes/Macintosh HD'
The package for Debian and Ubuntu can be created if there is interest. Add your +1 to this issue
Once the packages are installed:
- Browse to http://0.0.0.0:8581/ (if installed locally)
- The first time you run the web interface:
- Login to the Mendel UI using user
admin
and passwordchangeme!
- Once logged in, change the
admin
password by clicking onUSERS
and then theadmin
user, and set the password to something you will remember. - Then click on
CREATE USER
to create a user for yourself - Click on the person icon in the upper right, then
Logout
, then login with your user
- Login to the Mendel UI using user
- Click on NEW JOB to run your first job and view the results
You can also run jobs on a system with only mendel-go installed, and then import the job output onto a system with mendel-web-ui to visualize the data:
- Copy the sample input file
/usr/local/share/mendel-go/mendel-short.ini
to a file like~/my-mendel.ini
. - Edit
~/my-mendel.ini
to have the input parameters you want for your run. (To see all of the possible input parameters and their descriptions, look at/usr/local/share/mendel-go/mendel-defaults.ini
.) - Run mendel-go with these flags:
mendel-go -f ~/my-mendel.ini -z
- At the end of the run, it will produce a zip file. Copy this file to your laptop.
- Back on your laptop, browse to the system where mendel-web-ui is installed, e.g.: http://hostname:8581/
- Click on JOBS at the top and then IMPORT.
- In the file chooser, navigate to your zip file and double-click on it.
- This will cause a new job to be added to the top of the job list. Click on that job and then click PLOT at the bottom.
- Click on any of the plot links on the left see that plot.
- If you run into a problem using mendel, or would like to request a new feature, open an issue.
- If you have questions, our preferred method of discussion is our GeneticEntropy Slack workspace. If you are on slack too, open an issue asking to be invited to our slack workspace. Otherwise just ask your question in an issue.
If you would like to help improve mendel, first see README.md to build & test mendel from source, and then request to be invited to our slack workspace (see above).