Skip to content

EvolBioInf/neighbors

Repository files navigation

Description

Identify target and neighbor genomes for marker discovery.

Introduction

Genetic markers are genomic regions that are common to a set of target organisms and absent from all other organisms. This absence is often tested by running marker candidates against comprehensive sequence databases like GenBank. Any hit outside the targets is interpreted as cross-reactivity and removed. However, for large candidate sets a search of GenBank can be time consuming. It is also not necessary, as evolution tells us the vast majority of cross-reactive material is contained in the targets' closest phylogenetic neighbors. The programs in neighbors help identify the target and neighbor genomes listed in the current assembly reports of GenBank, and RefSeq. If a genome is listed in both data sources, neighbors picks the RefSeq accession.

Given a sample of target genomes and a sample of neighbor genomes discovered with neighbors, the regions common to the targets that are absent form the neighbors are good marker candidates. The program fur is one example of a program for identifying such regions. Once found, the sensitivity and specificity of the marker candidates can quantified using, for example, the programs in prim.

Author

Bernhard Haubold, [email protected]

Make the Programs

If you are on a Ubuntu system like Ubuntu on wsl under MS-Windows or the Ubuntu Docker container, you can clone the repository and change into it.

git clone https://github.com/evolbioinf/neighbors
cd neighbors

Then install the additional dependencies by running the script setup.sh.

bash scripts/setup.sh

Make the programs.

make

The directory bin now contains the ten executables of the package. Put them somewhere in your PATH. Additional scripts are in scripts.

The documentation comes with a tutorial. To work through it, additional programs need to be installed. Again, on Ubuntu you can run the script setupTutorial.sh.

bash scripts/setupTutorial.sh

Run Docker Container

As an alternative to building neighbors from scratch, we also post it as a docker container. The container includes all programs needed to work through the tutorial in neighborsDoc.pdf.

docker pull itsers/neighbors
docker container run --detach-keys="ctrl-@" -h neighbors -it itsers/neighbors

Make the Docker Container

The command

make docker

starts building a local copy of the docker image.

License

GNU General Public License