hewm2008 / NGenomeSyn

Any Way to Show Multi genomic Synteny
MIT License
150 stars 17 forks source link

NGenomeSyn

An easy-to-use and flexible tool for publication-ready visualization of syntenic relationships on multiple genomes

The NGenomeSyn article has been published in Bioinformatics Journal, please cited this article if possible

PMID: 36883694           DOI:10.1093/bioinformatics/btad121

1 Introduction

NGenomeSyn, an easy-to-use and flexible tool, for publication-quality visualization of syntenic relationships (user-defined or generated by our custom script) and genomic features (e.g. repeats, structural variations, genes) on tens 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 relationships among other data with a similar input format (similar to sankey diagram).

In addition, NGenomeSyn has been cited to visualize genome synteny or other relationship by Yin X et al 2022 , X Hou et al 2022, J Guan et al 2022, lian xu et 2022, G Cheng et al 2023 ect


The advantages of this tool include

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
2.2 Pre-install
The prerequisites for NGenomeSyn include
1) Perl with the SVG.pm in Perl should be installed.(Note: SVG module is optional because related modules have been included in [bin/svg-kit]() directory)
2) convert is recommended to be pre-installed if requiered converting svg to png image format.


Users can install it with the following commands:

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

3 Parameter description



3.1 NGenomeSyn
3.1.1 Main parameter

        Usage: NGenomeSyn  -InConf  in.conf -OutPut OUT

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

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


Comments: we also provide a custom perl script bin/GetTwoGenomeSyn.pl for link preparation 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 details. 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.len ### set path for Genome1, GenomeInfoFileX, X is the number of Genome
GenomeInfoFile2=./RefB.len ### set path for Genome2, Format(chr start End ...)

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

############ 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
#NoPng=1                   ## No OutPut the png File

############# 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=Spe.bed     ## input file for highlighted regions[chr start end key1=value1] in the genome.
#ZoomRegion                ## Zoom the specific Region,format (ZoomRegion=chr2:1000:5000)

#GenomeNameRatio
#GenomeName
## GenomeName  GenomeNameSizeRatio  GenomeNameColor  GenomeNameShiftX GenomeNameShiftY
## ChrNameShow ChrNameShiftX ChrNameShiftY ChrNameSizeRatio ChrNameColor ChrNameRotate
## ShowCoordinates=1     ## Show Coordinates with other para [ScaleNum=10 ScaleUpDown ScaleUnit LabelUnit  LablefontsizeRatio  RotateAxisText NoShowLabel ]

SetParaFor = Genome2       ##

############# adjust link setting [optional]##########
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 # convert should be installed

4 Examples



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

../../bin/NGenomeSyn -InConf in.conf -OutPut OUT

Example Description
example1 An integrating pipeline including data preparation and visualizing of two genomes for the simplest usage
example2 Horizontal layout of 3 or more genomes, genome layout adjustment and special region highlight
example3 Link settings, five link styles, genome layout adjustment for particular shape (triangle)
example4 ZoomRegion function of local gene structure(CDS mRNA) collinearity
example5 The comprehensive configuration for horizontal layout of more than three genomes (>3)
example6 quick identification of genetic deletion in some breeds (pan-genome frequently analysis) to solve biological issues problems


out.png

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 (lian xu et 2022) 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 Citation


please cited this article if possible
Weiming He, Jian Yang, Yi Jing, Lian Xu, Kang Yu, Xiaodong Fang, NGenomeSyn: an easy-to-use and flexible tool for publication-ready visualization of syntenic relationships across multiple genomes, Bioinformatics, 2023;, btad121, https://doi.org/10.1093/bioinformatics/btad121

6 Contact


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