treemachine
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Source tree graph database
[![Build Status](https://secure.travis-ci.org/OpenTreeOfLife/treemachine.png)](http://travis-ci.org/OpenTreeOfLife/treemachine)

# treemachine-LITE

## Description

treemachine-LITE is a pared-down version of the original treemachine which was used to generate synthetic phylogenetic
trees for the [Open Tree of Life project](http://opentreeoflife.org/). Synthetic analyses are now performed by other tools.
The role of treemachine-LITE is simply to construct a neo4j database and serve such trees.

## Installing dependencies

treemachine-LITE is managed by Maven v.3 (including the dependencies). In order to compile and build treemachine-LITE, it is easiest to let Maven v.3 do the hard work.

**maven**
On Linux you can install Maven v.3 with:
```
sudo apt-get install maven
```
On Mac OS, Maven v.3 can be installed with [Homebrew](http://brew.sh):
```
brew install maven
```
**jade and ot-base**
Once Maven v.3 is installed, the treemachine-LITE dependencies themselves can be installed with:
```
mvn_install_dependencies.sh
```

**neo4j**
The DB constructed by treemachine-lite is meant to be served by neo4j. We are currently using `neo4j-community-v1.9.5`. To obtain and decompress neo4j:

```
$ curl http://files.opentreeoflife.org/neo4j/neo4j-community-1.9.5-unix.tar.gz > neo4j-community-1.9.5.tar.gz
$ tar xzf neo4j-community-1.9.5.tar.gz
```

Alternately, there is a `make` target for neo4j:

```
make neo4j
```

You can move the neo4j directory wherever you like.

## Compiling treemachine-LITE

NOTE: The script for compiling the server plugins will delete any command-line jar in the target directory (and the opposite is true - compiling the command-line jar will delete the server plugins from the target directory). You can rebuild either just by running those scripts again.

### Command-line version

To compile the command-line version (which you can then use to build a database):

```
sh mvn_cmdline.sh
```

This creates `treemachine-0.0.1-SNAPSHOT-jar-with-dependencies.jar` in the
target directory (and deletes the server plugin jar if it existed).

### Server plugins

To compile the server plugins for interacting with the graph over REST calls:

```
sh mvn_serverplugins.sh
```

This creates `treemachine-neo4j-plugins-0.0.1-SNAPSHOT.jar` in the target
directory (and deletes the command-line jar if it existed). Then, copy the .jar
file into the neo4j plugins directory:

```
cp -p target/treemachine-neo4j-plugins-0.0.1-SNAPSHOT.jar $(NEO4J_HOME)/plugins
```

## Usage

### Constructing a DB

First, compile the command-line version (see above). Then, to build the DB:

```
java -jar target/treemachine-0.0.1-SNAPSHOT-jar-with-dependencies.jar ingestsynth newick_tree json_annotations tsv_taxonomy DB_name
```

where:

* `newick_tree` is the `labelled_supetree/labelled_supertree.tre` from the synthesis procedure
* `json_annotations` is the `annotated_supertree/annotations.json` from the supertree procedure
* `tsv_taxonomy` is the `taxonomy.tsv` file from the [Open Tree of Life Taxonomy (OTT)](https://tree.opentreeoflife.org/about/taxonomy-version/)
* `DB_name` is the name for the directory that will hold the generated DB (you choose)


### Serving a DB with Neo4j

Compile the server plugins (see 'Server plugins, above). Before starting neo4j,
you will need to modify file `$(NEO4J_HOME)/conf/neo4j-server.properties`. Put
the full path of the DB directory constructed by treemachine-LITE as the value
for the `org.neo4j.server.database.location` setting.

After you have loaded content into your db, you can run the neo4j http server
with the command :

```
neo4j-community-1.9.5/bin/neo4j start
```

If you add the neo4j-community-1.9.5/bin directory to your path, you can just say `neo4j start`.

### Running the tests

To make sure everything is running ok, run the web service tests:

```
cd ws-tests
./run_tests.sh host:apihost=http://localhost:7474 host:translate=true
```

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。