Skip to content

fmalmeida/plot_nucmer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub release (latest by date)

Plot nucmer

plot_nucmer is a simple script to run an alignment with nucmer and visualise its results.

Table of contents

Features

This script is designed to:

  • Perform whole genome alignment between FASTAs with nucmer.
  • Filter alignments by length and identity
  • Plot these alignments in circular visualisation with ggbio.

It is an automation of the methods described by Taylor Reiter at https://taylorreiter.github.io/2019-05-11-Visualizing-NUCmer-Output/.

If you don't like very much the combination of nucmer and ggbio, check out my other package called easy_circos that uses blastn and circos.

Installation

Conda package

Users are advised to create separate conda environments

# Get the conda package
mamba create -n plot_nucmer -c conda-forge -c bioconda -c falmeida plot_nucmer

🔥 Users are advised to use mamba since it is faster.

Docker image

# pull and enter the image
docker run --platform linux/amd64 -v $(pwd):/work -w /work -it fmalmeida/plot_nucmer

# run the script from inside the container
root@c896e9370a2f:/work# plot_nucmer --help

Remember to use the parameters -v so your files are available to the docker container.

🔥 The "--platform linux/amd64" only tells docker the architecture that the image was built so it emulates the correct one. You can run this exact command in any system architecture.

Documentation

Command line documentation can be seen with:

# activate env
conda activate plot_nucmer

# see help
plot_nucmer --help

Additionally, an online documentation and a simple step-by-step quickstart is provided:

Collaborating

You can collaborate by:

  • flagging an enhancement issue discussing your idea in the homepage of the project
  • you can fork the repo, create and start the implementation of your own script/command in the project and then submit a pull request
    • I'll then check the request, make sure it is in the same format and standards of the already implemented commands and confirm the inclusion.
    • Of course, you will be recognized as the developer/creator of that specific implementation.

Checkout more at about forking and contributing to repos at:

Citation

To cite this pipeline users can use the github url. Users are encouraged to cite the python packages used in this pipeline whenever their outputs are valuable.