SZQ lab data plot function
Project description
cvmplot
Table of content
Overview
cvmplot is a data visualization python package for SZQ lab used in TransposonSequencing/cgMLST/wgMLST data analysis based on matplotlib.
Installation
Python 3.9 or later is required for installation.
Install PyPI package:
pip3 install cvmplot
API Examples
Jupyter notebooks containing code examples below is available here.
General plot
import random
from cvmplot.cvmplot import cvmplot as cvmplot
# prepare cds data
gene_data = [
{"start": 11120, "end": 13800, "strand": 1, "name": "gene1", 'color':'red'},
{"start": 14231, "end": 15286, "strand": -1, "name": "gene2", 'color':'lightblue'},
{"start": 16868, "end": 18212, "strand": 1, "name": "gene3", 'color':'green'},
{"start": 18500, "end": 19863, "strand": -1, "name": "gene4", 'color':'blue'},
{"start": 20123, "end": 24632, "strand": 1, "name": "gene5", 'color':'#d1af3f'},
{"start": 25159, "end": 27000, "strand": -1, "name": "gene6", 'color':'cyan'},
{"start": 27360, "end": 29888, "strand": 1, "name": "gene7", 'color':'#f9d9d9'},
]
bar_positions = np.random.randint(10000, 30000, size=1000) # Bar x-axis positions
bar_data = np.random.randint(50,100, size=1000) # Bar plot values
fig, cds_ax, bar_ax = cvmplot.tnseqplot(inspos=bar_positions, inscount=bar_data, cds=gene_data, track_length=20000,
cds_label=True, cds_labelsize=7, cds_labrotation=45, track_start=10000, cds_color='lightblue'
)
bar_ax.set_ylabel('Insert frequency')
plt.show()
fig.savefig('general_plot.png', bbox_inches='tight')
Add CDS track name using track_label
fig, cds_ax, bar_ax = cvmplot.tnseqplot(inspos=bar_positions, inscount=bar_data, cds=gene_data, track_length=20000,
cds_label=True, cds_labelsize=7, cds_labrotation=45, track_start=10000, track_label='GENEs'
)
bar_ax.set_ylabel('Insert frequency')
plt.show()
fig.savefig('tracklabel_plot.png', bbox_inches='tight')
Change CDS track label size using track_labsize
fig, cds_ax, bar_ax = cvmplot.tnseqplot(inspos=bar_positions, inscount=bar_data, cds=gene_data, track_length=20000,
cds_label=True, cds_labelsize=7, cds_labrotation=45, track_start=10000, track_label='GENEs',
track_labelsize=8
)
bar_ax.set_ylabel('Insert frequency')
plt.show()
fig.savefig('tracklabelsize_plot.png', bbox_inches='tight')
Change the height of CDS track using track_height
fig, cds_ax, bar_ax = cvmplot.tnseqplot(inspos=bar_positions, inscount=bar_data, cds=gene_data, track_length=20000,
cds_label=True, cds_labelsize=7, cds_labrotation=45, track_start=10000, track_label='GENEs',
track_labelsize=8, track_height=0.3,
)
bar_ax.set_ylabel('Insert frequency')
plt.show()
fig.savefig('trackheight_plot.png', bbox_inches='tight')
Adjust the space between CDS track and insertion bar plot using bax_bottompos
fig, cds_ax, bar_ax = cvmplot.tnseqplot(inspos=bar_positions, inscount=bar_data, cds=gene_data, track_length=20000,
cds_label=True, cds_labelsize=7, cds_labrotation=45, track_start=10000, track_label='GENEs',
track_labelsize=8, track_height=0.3, bax_bottompos=2
)
bar_ax.set_ylabel('Insert frequency')
plt.show()
fig.savefig('bax_bottompos.png', bbox_inches='tight')
Display gene labels or not using cds_label
fig, cds_ax, bar_ax = cvmplot.tnseqplot(inspos=bar_positions, inscount=bar_data, cds=gene_data, track_length=20000,
cds_label=False, cds_labelsize=7, cds_labrotation=45, track_start=10000, track_label='GENEs',
track_labelsize=8, track_height=0.3, bax_bottompos=2
)
bar_ax.set_ylabel('Insert frequency')
plt.show()
fig.savefig('cds_label.png', bbox_inches='tight')
Adjust the CDS track name using track_labelsize
fig, cds_ax, bar_ax = cvmplot.tnseqplot(inspos=bar_positions, inscount=bar_data, cds=gene_data, track_length=20000,
cds_label=False, cds_labelsize=7, cds_labrotation=45, track_start=10000, track_label='GENEs',
track_height=0.3, bax_bottompos=2, track_labelsize=15
)
bar_ax.set_ylabel('Insert frequency')
plt.show()
fig.savefig('tracklabelsize.png', bbox_inches='tight')
Change the track sublabel using track_sublabelpos
fig, cds_ax, bar_ax = cvmplot.tnseqplot(inspos=bar_positions, inscount=bar_data, cds=gene_data, track_length=20000,
cds_label=False, cds_labelsize=7, cds_labrotation=45, track_start=10000, track_label='GENEs',
track_height=0.3, bax_bottompos=2.2, track_labelsize=8, track_sublabelpos='top-right'
)
bar_ax.set_ylabel('Insert frequency')
plt.show()
fig.savefig('track_sublabelpos_plot.png', bbox_inches='tight')
Change the insertion frequency barplot color using bar_color
fig, cds_ax, bar_ax = cvmplot.tnseqplot(inspos=bar_positions, inscount=bar_data, cds=gene_data, track_length=20000,
cds_label=False, cds_labelsize=7, cds_labrotation=45, track_start=10000, track_label='GENEs',
track_height=0.3, bax_bottompos=2.2, track_labelsize=8, track_sublabelpos='top-right',
bar_color='lightblue'
)
bar_ax.set_ylabel('Insert frequency')
plt.show()
fig.savefig('barcolor_plot.png', bbox_inches='tight')
Change the insertion frequency barplot height using bax_height
fig, cds_ax, bar_ax = cvmplot.tnseqplot(inspos=bar_positions, inscount=bar_data, cds=gene_data, track_length=20000,
cds_label=False, cds_labelsize=7, cds_labrotation=45, track_start=10000, track_label='GENEs',
track_height=0.3, bax_bottompos=2.2, track_labelsize=8, track_sublabelpos='top-right',
bar_color='lightblue', bax_height=7
)
bar_ax.set_ylabel('Insert frequency')
plt.show()
fig.savefig('bax_height_plot.png', bbox_inches='tight')
Change the cds arrow using cds_arrowshaftratio
fig, cds_ax, bar_ax = cvmplot.tnseqplot(inspos=bar_positions, inscount=bar_data, cds=gene_data, track_length=20000,
cds_label=False, cds_labelsize=7, cds_labrotation=45, track_start=10000, track_label='GENEs',
track_height=0.3, bax_bottompos=2.2, track_labelsize=8, track_sublabelpos='top-right',
bar_color='lightblue', bax_height=4, cds_arrowshaftratio=1
)
bar_ax.set_ylabel('Insert frequency')
plt.show()
fig.savefig('cds_arrowshaftratio_plot.png', bbox_inches='tight')
Generate gene data from genbank file
gb2cds('GENEBANKE_FILE.gb') function will return a dict with contigs name as key and a list as value including the CDS 'start, end, strand, name, color' used in tnseqplot funtion
cds_data = cvmplot.gb2cds('HA3S26.gbff')
gene_data = cds_data['NODE_1_length_1210584_cov_117.87540']
# Simulate the insertion data in the range of 1-20000
bar_positions = np.random.randint(1, 20000, size=500) # Bar x-axis positions
bar_data = np.random.randint(50,100, size=500) # Bar plot values
fig, cds_ax, bar_ax = cvmplot.tnseqplot(inspos=bar_positions, inscount=bar_data, cds=gene_data, track_start=1,
track_length=20000, cds_label=False, track_height=0.3, bax_bottompos=2
)
bar_ax.set_ylabel('Insert frequency')
plt.show()
fig.savefig('genbank_plot.png', bbox_inches='tight')
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cvmplot-0.1.2.tar.gz.
File metadata
- Download URL: cvmplot-0.1.2.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5fea51c6bfe2ee29800f32328e492271484200b3bd694f03f8ebc94b46b8b20
|
|
| MD5 |
3d318b356d917e87645b449ae1b0780c
|
|
| BLAKE2b-256 |
657b9b88b2a94e1850624eac342da91e3c8e2f32a7d23654a84903518f554a03
|
File details
Details for the file cvmplot-0.1.2-py3-none-any.whl.
File metadata
- Download URL: cvmplot-0.1.2-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4904a581de35b556f17d93fbbe7bac613b70ef487537512c87dc7c4e8f64d871
|
|
| MD5 |
561a7c1105a25cdd0d8dfee9cab5462f
|
|
| BLAKE2b-256 |
713cdd2f4a67eb3c37292dd2643c5d4dc2096bd56278cd546dddd07895b8e83d
|