Gene cluster matrix is developed by Python program and distributed under the MIT license.
- install toyplot
pip install --requirement https://raw.githubusercontent.com/slt666666/gene-cluster-matrix/main/requirements.txt
- install other libraries
pip install gene_cluster_matrix
gene_cluster_matrix requires below libraries. (pip install
automatically install dependencies)
- python (>= 3.6)
- numpy (>= 1.20.0)
- pandas (>= 1.2.0)
- plotly (>= 5.3.0)
- gffutils (>= 0.11.0)
- toytree (>= 2.0.1)
- Pillow (>= 9.2.0)
toyplot
library is required to install independently.
- toyplot (>= 1.0.2.dev0)
ghostscript
is required to generate phylogenetic tree image.
c.f.) Linux:sudo apt-get install ghostscript
, Mac:brew install ghostscript
Windows: https://ghostscript.com/releases/gsdnld.html
The distance matrix visualize gene clusters. Gene cluster is a group of two or more genes that located within a few thousand ~ tens thousand base pairs of each other. The matrix also visualize distances between genes in the gene cluster as a color. In here, distance means physical distance in nucleotides in the genome.
- simple distance matrix (the order is the given list order)
gene_cluster_matrix -g sample.gff3 -i id_list.txt -f mRNA -o output_name
- simple distance matrix. Set distance threshold as 100000bp to define gene cluster.
gene_cluster_matrix -g sample.gff3 -i id_list.txt -d 100000 -f mRNA -o output_name
- simple distance matrix by hand-made position data (the order is the given list order)
gene_cluster_matrix -p position.csv -i id_list.txt -f mRNA -o output_name
Basically, there are 2 cases; Case 1 is genes in cluster show a similar function. Case 2 is genes in cluster show different functions. To identify case 2 type, phylogenetic analysis is one of the useful approaches. By ordering genes in distance matrix based on phylogenetic tree, we can identify gene clusters that consist of phylogenetically related genes and gene clusters that consist of phylogenetically unrelated genes.
This library enable us to visualize distance matrix of Usage example1 ordered by provided phylogenetic tree file. And if phylogenetic clade information is also provided, it will be also visualized.
- distance matrix with phylogenetic tree (the order is the given tree tips)
gene_cluster_matrix -g sample.gff3 -t sample.nwk -f mRNA -o output_name
- distance matrix with phylogenetic tree & clade information (the order is the given tree tips)
gene_cluster_matrix -g sample.gff3 -t sample.nwk -c clade.csv -f mRNA -o output_name
(required)
-g or -p … GFF3 fomrat file of reference genome (gff3 file) / position data file (csv file, format should be same as sample_data/position.csv)
-i or -t … Gene id list ordered by your preference (txt file) / phylogenetic tree file (newick format)
-f … Specify gff feature type (gene or mRNA) of input ids (string. default=gene)
-o … Output file name (string)
(optional)
-d … Threshold distance (bp) to define gene cluster (int. default=50000)
-c … Clade information for each gene/mRNA id. (csv file. format should be same as sample_data/clade.csv)
XXX.html or XXX_with_tree.html … interactive html file that visualize gene cluster matrix
XXX_position.csv … position data for each id in input such as id_list or tree
XXX_tree.png … phylogenetic tree figure (if -t option is used)
To view the examples, clone the gene_cluster_matrix repository and run by sample data:
$ git clone https://github.com/slt666666/gene_cluster_matrix.git
$ cd gene_cluster_matrix/sample_data
$ gene_cluster_matrix -g sample.gff3 -t sample.nwk -c clade.csv -f mRNA -o test
After running above commands, html file is generated in sample_data directory.