JOA Tutorial¶
JOA provides joint overlapping intervals of n interval sets.
Input Files: (Mandatory)
You have to provide input files in bed format.
Data Structure Type: (Optional)
JOA finds overlapping intervals of n interval sets using Segment Tree and/or Indexed Segment Tree Forest.
- Segment Tree (Default)
- Indexed Segment Tree Forest
Output Type: (Optional)
JOA provides output in two different ways.
- Only the resulting interval per each found overlap (Default)
- All the overlapping intervals and the resulting interval per each found overlap
JOA Command-Line Parameters¶
In the following table, command-line arguments are specified.
| Description | Parameter | Optional/Required | Parameter Options | Default Options |
|---|---|---|---|---|
| Input Files | -f | Required | None (“path/to/file”) | |
| Data Structure | -t | Optional | -t “st” | -t “st” |
| -t “istf” | ||||
| Output | -o | Optional | -o “one” | -o “one” |
| -o “all” |
Command-Line Parameters Descriptions¶
The order of parameters is not fixed. One may set the parameters in any order.
-t¶
Optional This parameter specifies the data structure type used in finding n overlapping intervals. If you do not set anything, -t “st” is set as default.
-t “st”¶
This option utilizes “segment tree” data structure in finding n overlapping intervals.
-t “istf”¶
This option utilizes “indexed segment tree forest” data structure in finding n overlapping intervals.
-o¶
Optional This parameter specifies the output type. If you do not set anything, -o “one” is set as default.
-o “one”¶
This option outputs only the resulting interval per each found overlap.
-o “all”¶
This option outputs all the n overlapping intervals and the resulting interval per each found overlap.
JOA Command-Line Sample Runs¶
Example sample run which outputs to stdout:
$ java -jar /path/to/joa.jar -f /path/to/input1.bed /path/to/input2.bedExample sample run which outputs to a file with redirection operator:
$ java -jar /path/to/joa.jar -f /path/to/input1.bed /path/to/input2.bed /path/to/input3.bed /path/to/input4.bed /path/to/input5.bed > /path/to/joa_output_5files.txtExample sample run using Indexed Segment Tree Forest:
$ java -jar /path/to/joa.jar -f /path/to/input1.bed /path/to/input2.bed /path/to/input3.bed /path/to/input4.bed /path/to/input5.bed -t "istf" > /path/to/joa_output_5files.txtExample sample run which outputs all n overlapping intervals and plus the resulting interval:
$ java -jar /path/to/joa.jar -f /path/to/input1.bed /path/to/input2.bed /path/to/input3.bed /path/to/input4.bed /path/to/input5.bed -o "all" > /path/to/joa_output_5files.txtExample sample run for very large BED files with 16GB memory allocation:
$ java Xms16G -Xmx16G -jar /path/to/joa.jar -f /path/to/bigInput1.bed /path/to/bigInput2.bed > /path/to/joa_output_big2files.txt
JOA GUI¶
JOA GUI can be run by double clicking on it.
JOA GUI can be run by command line when no JOA command-line parameters are provided.
$ java -jar “path/to/joa.jar”