Program, which determines the relationship between people at the level of mother / father / child.
- To run bio_relatives project:
- Java 8 JDK or higher
- To build bio_relatives project:
- Java 8 JDK or higher
- Git 2.5 or higher
- Gradle 3.1 or higher. We recommend using the
./gradlew
script, which will download and use an appropriate gradle version automatically (see examples below).
You can download the latest version of the project from github releases page.
bio_relatives project can be built using gradle.
A wrapper script ./gradlew
will download the appropriate version of the gradle on the first invocation.
Examples of gradle usage from the bio_relatives root directory:
- compile and build a jar
./gradlew
or
./gradlew jar
The jar file will be in build/libs/bio_relatives-\<version\>.jar
. Version is based on the current git commit.
- run tests
./gradlew test
- clean project directory
./gradlew clean
- build a jar file that includes all of bio_relatives's dependencies
./gradlew shadowJar
- create a snapshot and install it into your local maven repository
./gradlew install
- for an exhaustive list of all available targets
./gradlew tasks
To create the project in IntelliJ IDE for bio_relatives do the following:
- Select fom the menu:
File -> New -> Project from Existing Sources
- In the resulting dialog, chose
Import from existing model
, selectGradle
andNext
- Choose the
default gradle wrapper
andFinish
.
To run the integration tests, go to the src/test/bash/
. If you need to test Levenshtein comparison, then run the script levenstein_comparison_test.sh
the usual way(the script does not require any arguments): ./levenshtein_comparison_test.sh
.
If you need to test STR comparison, then run the script str_comparison_test.sh
with argument X
(for X-STR comparison) or Y
(for Y-STR comparison). For example, ./str_comparison_test Y
. The output of each test can be found in the src/test/bash/output/
folder. You can see the expected test results in the src/test/bash/expected/
folder. You can see the difference between the test and expected data in the src/test/bash/output
java -jar bio_relatives.jar [-h | --help] [-io | --intermediateOutput] [-g | --graph <path to the file>] [-c2 | --compare2 <first> <second> <bed>] [-c3 | --compare3 <father> <mother> <son> <bed>] [-m | --mode <L | XY>] [-th | --threadsNumber <number>]
-h
, --help
- show help message.
-io
, --intermediateOutput
- key, which enables intermediate results output.
-c2
, --compare2
- compare genomes of two persons.
-c3
, --compare3
- compare genomes of three persons (father/mother/son).
-m
, --mode
- defines which comparator will be used.
-g
, --graph
- defines whether graph should be printed or not (used only in STR comparison).
-th
, --threadsNumber
- defines number of threads that should be created to process the information analysis.
java -jar bio_relatives.jar --compare2 ~/path/to/first.bam ~/path/to/second.bam ~/path/to/file.bed
java -jar bio_relatives.jar --compare3 ~/path/to/father.bam ~/path/to/mother.bam ~/path/to/son.bam ~/path/to/file.bed
java -jar bio_relatives.jar -io -c2 ~/path/to/first.bam ~/path/to/second.bam ~/path/to/file.bed
Please read Contributing.md for more details about our code of conduct, and the process of submitting pull requests to us.
This project is licenced under the terms of the MIT license.