xiaolongliang / NGenomeSyn

Any Way to Show Multi genomic Synteny

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NGenomeSyn

An easy-to-use and flexible tool for pretty visualization of syntenic relationships on any number of genomes

1 Introduction

NGenomeSyn, an easy-to-use and flexible tool, for pretty visualization of syntenic relationships (user-defined or generated by our custom script) and genomic features (e.g. repeats, structural variations, genes) on any number of genomes with high customization. NGenomeSyn allows its user to adjust default options for genome and link styles defined in the configuration file and simply adjusts options of moving, scaling, and rotation of target genomes, yielding a rich layout and publication-ready figure. A state-to-the-art figure enables users and readers to quickly catch key points hidden in the large-amount data at a galance. Moreover, NGenomeSyn could be applied on the visualization of any relationships among any data with a similar input format.

In addition, NGenomeSyn has been employed to visualize genome synteny by Yin X et al 2022 and Xueren Hou et al 2022


The advantages of this tool include

  • any number of customizable genomes (>=2)
  • any layout as you want
  • high customization for order, colors or other settings for each genome
  • allow setting for movement, rotation, scaling etc for each genome, which could generate particular layouts, such as triangle, quadrangle, pentagon etc
  • high customization for color, transparency etc for link information

2 Download and Install


The new version will be updated and maintained in hewm2008/NGenomeSyn, please click below website to download the latest version

hewm2008/NGenomeSyn

linux/MaxOS         Download
Install
Users can install it with the following commands(easy to install without any other dependency):

        git clone https://github.com/hewm2008/NGenomeSyn.git
        cd NGenomeSyn;	chmod 755 -R bin/*
        ./bin/NGenomeSyn  -h 

3 Parameter description



3.1 NGenomeSyn
3.1.1 Main parameter

        Usage: NGenomeSyn  -InConfi  in.cofi -OutPut OUT

                -InConfi      <s> : InPut Configuration File
                -OutPut       <s> : OutPut svg file result

                -help               See more help *Manual.pdf
                                    [hewm2008 v1.37]


Comments: we also provide a custom perl script bin/GetTwoGenomeSyn.pl for preparation link information (see exmaple1/run2.sh)

See more detailed usage in the             Chinese Documentation
See more detailed usage in the             English Documentation
See the              Example Directory              and for more detail. such as : input file format.


3.1.2 Other parameters

###  # Detailed parameters please see  at the  NGenomeSyn_manual_English.pdf 

SetParaFor = global
########## global and required parameters ######
GenomeInfoFile1=./RefA.info ### set path for Genome1, GenomeInfoFileX, X is the number of Genome
GenomeInfoFile2=./RefB.info ### set path for Genome2, Format(chr start End ...)

LinkFileRef1VsRef2=./Link.file ### link information between Genome1 and Genome2
                               ### LinkFileRefXXVsRefYY : link info between GenomeXX and GenomeYY
                               ### Format (chrA StartA EndA chrB StartB End ...

############ Figure ##################


############ canvas and figure[optional] ######
#body=1200                 ### size of canvas with width and height. plot region:  (up/down/left/right)=(55,25,100,120)
#up=55
#down=25
#left=100
#right=120
#CanvasHeightRitao=1.0     ## adjust height of the plot
#CanvasWidthRitao=1.0      ## adjust width of the plot
#RotatePng= 0              ## rotation of figure


############# adjust genome setting [optional]##########
SetParaFor = Genome1       ## GenomeALL/GenomeX
#ZoomChr=1.0               ## adjust chr length, 1 for equal; >1 for enlarge; <1  for
#RotateChr=30              ## rotate the chr with 30 degrees
#ShiftX=0
#ShiftY=0                  ## move the start of chr to (X,Y)
#MoveToX                   ## MoveToY   ## similar to ShiftX and ShiftY


#ChrWidth=20               ## chr width
#LinkWidth=180             ## link height between this genome and next genome
#ChrSpacing=10             ## spacing width of chr/scaffolds
#NormalizedScale=0         ## custom scale for the geome relative the  default.
#SpeRegionFile=/path/spe   ## input file for highlighted regions[chr start end key1=value1] in the genome.


#GenomeNameRatio
#GenomeName
## GenomeName  GenomeNameSizeRatio  GenomeNameColor  GenomeNameShiftX GenomeNameShiftY
## ChrNameShow ChrNameShiftX ChrNameShiftY ChrNameSizeRatio ChrNameColor ChrNameRotate


SetParaFor = Genome2       ##

SetParaFor=Link1           ### LinkALL/LinkX  setting for link X
#StyleUpDown=UpDown        ## UpDown DownUp UpUp DownDown line
#Reverse=1                 ## reverse links
#HeightRatio=1.0           ## ratio of link height relative to the default
## other attributes:  fill|stroke|stroke-opacity|fill-opacity|stroke-width


3.2 Output files

out.svg: Output plot in SVG format
out.png: Output plot in png format

4 Example



## directory [Example/example*/] has input and output file and script usage.

../../bin/NGenomeSyn -InConfi in.cofi -OutPut OUT

  • Example 1)two genomes
    the simplest usage, only two genomic locus files and link file are required to be provided out.png out2.png

  • Example 2) Horizontal layout of 3 or more genomes

out.png

  • Example 2)Horizontal layout of 3 or more genomes with rotation of the third genome

out.png

  • Example 3)any layout of three genomes
    trilateral layout :Five link styles were designed in this tools, "DownDown", "UpUp", "DownUp","UpDown","line". out.png out.png

  • Example 4) any number and any layout of genomes
    pretty and complex layout for any number of genomes out.png
    we could generate a similar figure presented by Zheng et al as follows out.png

  • Example 5) local synteny in gene structure
    we provide a parameter (SpeRegionWidthRatio) for controlling width of SpeRegion, supporting highlight gene structures (e.g. CDS, UTR etc) out.png

  • Example 6) any number and any layout of genomes
    An important gene is lost in two breeds(No.2/7)(pan-genome frequently analysis) out.png



In fact, NGenomeSyn is not only designed for the visualization of genomic synteny and genomic features, but also for other relationships among any data with a similar input format. For example, a user used NGenomeSyn for visualization clusters with similar gene expression patterns (generated by Mfuzz software) between other four datasets and the reference dataset and revealed conserved expression patterns of differential expression genes among different datasets.

realityData.png

5 Contact


######################swimming in the sky and flying in the sea #############################

About

Any Way to Show Multi genomic Synteny

License:MIT License


Languages

Language:Perl 55.6%Language:HTML 41.9%Language:CSS 1.3%Language:JavaScript 0.8%Language:Java 0.2%Language:Shell 0.2%Language:Limbo 0.0%Language:Makefile 0.0%