https://github.com/jamesalbert/minisana
Miniature Simulated Annealing Network Aligner
https://github.com/jamesalbert/minisana
Last synced: 3 months ago
JSON representation
Miniature Simulated Annealing Network Aligner
- Host: GitHub
- URL: https://github.com/jamesalbert/minisana
- Owner: jamesalbert
- License: mit
- Created: 2017-05-16T22:03:10.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-06-20T01:42:39.000Z (about 9 years ago)
- Last Synced: 2025-11-22T17:03:41.551Z (9 months ago)
- Language: C
- Homepage:
- Size: 5.92 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# minisana
Miniature Simulated Annealing Network Aligner
[](https://travis-ci.org/jamesalbert/minisana)
[](https://coveralls.io/github/jamesalbert/minisana?branch=master)

## Install
Running `make` will do a few things:
1. compile object files in `_objs`
2. build the binary `bin/mini`
3. build the shared library `lib/libmini.so`
4. create empty directories `output` where .json files will be stored
## Tests
Run tests with `make test`. Along with showing the test results, a coverage report will be generated as coverage/report.html. Open the report in your browser to see the total code coverage. `make docker` will also run the tests during image creation.
## Docker
You can build a minisana image with `make docker` or go straight to running it with:
```sh
MINIOPTS="-n input/yeast.gw -N input/human.gw -t 10000000" make docker_run
```
Then you can check the logs with `docker logs -f `. Once it's finished, you can check the json file written to `~/output`.
## Usage
```sh
./bin/mini -n,-N [-s,-a,-o,-t]
-n: path to the smaller network
-N: path to the bigger network (small n, big N... get it?)
-s: path to sequence file [defaults to "input/yeast_human.bitscores"]
-a: alpha value [defaults to 0.5]
-o: file to output json [defaults to ./mini.out.json]
-t: amount of time to run simulation [defaults to 100,000,000 iterations]
```
## Example
```sh
make
./bin/mini -n input/yeast.gw -N input/human.gw
# or
./bin/mini -n input/yeast.gw -N input/human.gw -s input/yeast_human.bitscores
# or
./bin/mini -n input/yeast.gw -N input/human.gw -s input/yeast_human.bitscores -a 0.995
# or
./bin/mini -n input/yeast.gw -N input/human.gw -a 0.995
```
## Planning
Check out our [kanban board](https://github.com/jamesalbert/minisana/projects/1)