Commit 6a192234 authored by Alexis  CRISCUOLO's avatar Alexis CRISCUOLO

2.0

parent 82b7dd50
# REQ
_REQ_ is a command line program written in [Java](https://docs.oracle.com/javase/8/docs/technotes/guides/language/index.html) that allows estimating the rate of elementary quartets (REQ) for each internal branch of a phylogenetic tree from a distance matrix, as described by [Guénoche and Garreta (2001)](https://doi.org/10.1007/3-540-45727-5_5).
[_REQ_](https://research.pasteur.fr/fr/tool/r%CE%B5q-assessing-branch-supports-o%C6%92-a-distance-based-phylogenetic-tree-with-the-rate-o%C6%92-elementary-quartets/) is a command line program written in [Java](https://docs.oracle.com/javase/8/docs/technotes/guides/language/index.html) that estimates the rate of elementary quartets (REQ) for each internal branch of an unrooted binary phylogenetic tree from a distance matrix, as described by [Guénoche and Garreta (2001)](https://doi.org/10.1007/3-540-45727-5_5).
## Compilation and execution
The source code of _REQ_ is inside the _src_ directory and could be compiled and executed in two different ways.
The source code of _REQ_ is inside the _src_ directory and can be compiled and executed in two different ways.
#### Building an executable jar file
On computers with [Oracle JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html) (6 or higher) installed, a Java executable jar file could be created. In a command-line window, go to the _src_ directory and type:
On computers with [Oracle JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html) (6 or higher) installed, a Java executable jar file can be created.
In a command-line window, go to the _src_ directory and type:
```bash
javac REQ.java
echo Main-Class: REQ > MANIFEST.MF
jar -cmvf MANIFEST.MF REQ.jar REQ.class
rm MANIFEST.MF REQ.class
```
This will create the executable jar file `REQ.jar` that could be launched with the following command line model:
This will create the executable jar file `REQ.jar` that can be run with the following command line model:
```bash
java -jar REQ.jar [files]
```
#### Building a native executable
On computers with [GraalVM](hhttps://www.graalvm.org/downloads/) installed, a native executable could also be built. In a command-line window, go to the _src_ directory, and type:
On computers with [GraalVM](hhttps://www.graalvm.org/downloads/) installed, a native executable can also be built.
In a command-line window, go to the _src_ directory, and type:
```bash
javac REQ.java
native-image REQ REQ
rm REQ.class
```
This will create the native executable `REQ` that could be launched with the following command line model:
This will create the native executable `REQ` that can be launched with the following command line model:
```bash
./REQ [files]
```
## Usage
Launch _REQ_ without option to read the following documentation:
Run _REQ_ without option to read the following documentation:
```
USAGE: REQ <dfile> <tfile> <outfile> [-v]
......@@ -44,7 +46,7 @@ Launch _REQ_ without option to read the following documentation:
square format
<tfile> unrooted binary phylogenetic tree file with no confidence
value at branches in NEWICK format
<outfile> outfile name
<outfile> output file name
-v verbose mode
```
......@@ -58,7 +60,7 @@ The following command line writes into the file _tree.req.t_ the phylogenetic tr
```bash
REQ example/matrix.d example/tree.t tree.req.t -v
```
Because the option `-v` is set, the verbose mode will output the tree topology in NEWICK format, the list of leaf names, and, for each internal branch, the leaf quadripartition following by the rate of elementary quartets _Re_:
Because the option `-v` is set, the verbose mode will output the tree topology in NEWICK format, the list of leaf names, and, for each internal branch, the leaf quadripartition followed by the rate of elementary quartets _Re_:
```
# (((((((17,18),16),((20,21),19)),(((4,((6,7),5)),(((2,3),1),0)),(8,9))),(10,11)),(12,13)),14,15);
0: P07_621_SLS
......@@ -83,25 +85,25 @@ Because the option `-v` is set, the verbose mode will output the tree topology i
19: P03_594_BU1_SLS
20: P05_599_BU1_SLS
21: P03_592_BU1_SLS
[17][18][16][21,20,19,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] Re=1.000 (19/19)
[18,17][16][19,21,20][15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] Re=0.677 (65/96)
[20][21][19][18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] Re=0.474 (9/19)
[21,20][19][16,18,17][15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] Re=1.000 (96/96)
[16,18,17][19,21,20][9,8,0,1,3,2,5,7,6,4][15,14,13,12,11,10] Re=0.856 (462/540)
[6][7][5][21,20,19,18,17,16,15,14,13,12,11,10,9,8,4,3,2,1,0] Re=1.000 (19/19)
[7,6][5][4][21,20,19,18,17,16,15,14,13,12,11,10,9,8,3,2,1,0] Re=0.944 (34/36)
[4][5,7,6][0,1,3,2][21,20,19,18,17,16,15,14,13,12,11,10,9,8] Re=1.000 (168/168)
[2][3][1][21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,0] Re=1.000 (19/19)
[3,2][1][0][21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4] Re=1.000 (36/36)
[1,3,2][0][5,7,6,4][21,20,19,18,17,16,15,14,13,12,11,10,9,8] Re=1.000 (168/168)
[5,7,6,4][0,1,3,2][9,8][21,20,19,18,17,16,15,14,13,12,11,10] Re=1.000 (384/384)
[8][9][0,1,3,2,5,7,6,4][21,20,19,18,17,16,15,14,13,12,11,10] Re=1.000 (96/96)
[0,1,3,2,5,7,6,4][9,8][19,21,20,16,18,17][15,14,13,12,11,10] Re=0.453 (261/576)
[19,21,20,16,18,17][9,8,0,1,3,2,5,7,6,4][11,10][15,14,13,12] Re=0.487 (234/480)
[10][11][9,8,0,1,3,2,5,7,6,4,19,21,20,16,18,17][15,14,13,12] Re=1.000 (64/64)
[9,8,0,1,3,2,5,7,6,4,19,21,20,16,18,17][11,10][13,12][15,14] Re=0.594 (76/128)
[12][13][11,10,9,8,0,1,3,2,5,7,6,4,19,21,20,16,18,17][15,14] Re=1.000 (36/36)
[11,10,9,8,0,1,3,2,5,7,6,4,19,21,20,16,18,17][13,12][14][15] Re=0.500 (18/36)
[17][18][16][0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,19,20,21] Re=1.000 (19/19)
[17,18][16][19,20,21][0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] Re=0.677 (65/96)
[20][21][19][0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18] Re=0.474 (9/19)
[20,21][19][16,17,18][0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] Re=1.000 (96/96)
[16,17,18][19,20,21][0,1,2,3,4,5,6,7,8,9][10,11,12,13,14,15] Re=0.856 (462/540)
[6][7][5][0,1,2,3,4,8,9,10,11,12,13,14,15,16,17,18,19,20,21] Re=1.000 (19/19)
[6,7][5][4][0,1,2,3,8,9,10,11,12,13,14,15,16,17,18,19,20,21] Re=0.944 (34/36)
[4][5,6,7][0,1,2,3][8,9,10,11,12,13,14,15,16,17,18,19,20,21] Re=1.000 (168/168)
[2][3][1][0,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21] Re=1.000 (19/19)
[2,3][1][0][4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21] Re=1.000 (36/36)
[1,2,3][0][4,5,6,7][8,9,10,11,12,13,14,15,16,17,18,19,20,21] Re=1.000 (168/168)
[4,5,6,7][0,1,2,3][8,9][10,11,12,13,14,15,16,17,18,19,20,21] Re=1.000 (384/384)
[8][9][0,1,2,3,4,5,6,7][10,11,12,13,14,15,16,17,18,19,20,21] Re=1.000 (96/96)
[0,1,2,3,4,5,6,7][8,9][16,17,18,19,20,21][10,11,12,13,14,15] Re=0.453 (261/576)
[16,17,18,19,20,21][0,1,2,3,4,5,6,7,8,9][10,11][12,13,14,15] Re=0.488 (234/480)
[10][11][0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][12,13,14,15] Re=1.000 (64/64)
[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][10,11][12,13][14,15] Re=0.594 (76/128)
[12][13][0,1,2,3,4,5,6,7,8,9,10,11,16,17,18,19,20,21][14,15] Re=1.000 (36/36)
[0,1,2,3,4,5,6,7,8,9,10,11,16,17,18,19,20,21][12,13][14][15] Re=0.500 (18/36)
output tree written into tree.req.t
```
......
(((((((P10_703_BU2_PER:0.000157849066,P09_704_BU2_PER:0.000209200934)1.000:0.000483122851,P05_622_BU1_SLS:0.001116966803)0.677:0.000018368078,((P05_599_BU1_SLS:0.000159586258,P03_592_BU1_SLS:0.000169023742)0.474:0.000015792325,P03_594_BU1_SLS:0.000128336869)1.000:0.000462006451)0.856:0.000081437521,(((P11_702_BU2_PER:0.000615002481,((P04_601_BU1_SLS:0.000117392803,P04_559_BU1_SLS:0.000164857197)1.000:0.000925936953,E01_615_SLS:0.000884566733)0.944:0.000161626490)1.000:0.008730158578,(((P08_701_BU2_PER:0.001390856250,P01_617_BU1_SLS:0.001385183750)1.000:0.001280565582,1006PHL:0.002499367591)1.000:0.011475862713,P07_621_SLS:0.014634622105)1.000:0.015451073655)1.000:0.008164485602,(P05_600_BU1_SLS:0.000172301484,P05_598_BU1_SLS:0.000210108516)1.000:0.000603348539)0.453:0.000010417106)0.488:0.000045431349,(P04_603_BU1_SLS:0.000255598014,P04_602_BU1_SLS:0.000179821986)1.000:0.000552675249)0.594:0.000029208891,(P06_032_BU1_SLS:0.000173131711,P06_023_BU1_SLS:0.000108148289)1.000:0.000554756800)0.500:0.000022656931,P02_783_BU1_SLS:0.000592772460,P12_579_STR:0.000673747540);
\ No newline at end of file
(((((((P10_703_BU2_PER:0.000157849066,P09_704_BU2_PER:0.000209200934)1.000:0.000483122851,P05_622_BU1_SLS:0.001116966803)0.677:0.000018368078,((P05_599_BU1_SLS:0.000159586258,P03_592_BU1_SLS:0.000169023742)0.474:0.000015792325,P03_594_BU1_SLS:0.000128336869)1.000:0.000462006451)0.856:0.000081437521,(((P11_702_BU2_PER:0.000615002481,((P04_601_BU1_SLS:0.000117392803,P04_559_BU1_SLS:0.000164857197)1.000:0.000925936953,E01_615_SLS:0.000884566733)0.944:0.000161626490)1.000:0.008730158578,(((P08_701_BU2_PER:0.001390856250,P01_617_BU1_SLS:0.001385183750)1.000:0.001280565582,1006PHL:0.002499367591)1.000:0.011475862713,P07_621_SLS:0.014634622105)1.000:0.015451073655)1.000:0.008164485602,(P05_600_BU1_SLS:0.000172301484,P05_598_BU1_SLS:0.000210108516)1.000:0.000603348539)0.453:0.000010417106)0.488:0.000045431349,(P04_603_BU1_SLS:0.000255598014,P04_602_BU1_SLS:0.000179821986)1.000:0.000552675249)0.594:0.000029208891,(P06_032_BU1_SLS:0.000173131711,P06_023_BU1_SLS:0.000108148289)1.000:0.000554756800)0.500:0.000022656931,P02_783_BU1_SLS:0.000592772460,P12_579_STR:0.000673747540);
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment