Description Usage Arguments Details Value Note Author(s) See Also Examples
This plotting function represents linearly DNA segments and their comparisons. It will plot one line per DNA segment, eventually separated by the comparisons. In addition, a tree can be plotted on the left of the plot, and annotations on the top row. Since this is a grid plot, it can be placed into other graphics, or modified subsequently.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | plot_gene_map(dna_segs,
comparisons = NULL,
tree = NULL,
tree_width = NULL,
tree_branch_labels_cex = NULL,
tree_scale = FALSE,
legend = NULL,
annotations = NULL,
annotation_height = 1,
annotation_cex = 0.8,
seg_plots=NULL, # user-defined plots
seg_plot_height=3, # height of plots (in lines)
seg_plot_height_unit="lines", # unit of preceding
seg_plot_yaxis=3, # if non-null or non false, ticks
seg_plot_yaxis_cex=scale_cex,
xlims = NULL,
offsets = NULL,
minimum_gap_size = 0.05,
fixed_gap_length = FALSE,
limit_to_longest_dna_seg = TRUE,
main = NULL,
main_pos = "centre",
dna_seg_labels = NULL,
dna_seg_label_cex=1,
dna_seg_label_col="black",
gene_type = NULL,
arrow_head_len = 200,
dna_seg_line = TRUE,
scale = TRUE,
dna_seg_scale = !scale,
n_scale_ticks=7,
scale_cex=0.6,
global_color_scheme = c("auto", "auto", "blue_red", 0.5),
override_color_schemes = FALSE,
plot_new=TRUE,
debug = 0,
...)
|
dna_segs |
A list of |
comparisons |
A list of |
tree |
A tree, under the form of a |
tree_width |
Numeric. The width of the tree area in the plot, in inches. By default, takes 20 percent of the total plot. |
tree_branch_labels_cex |
Numeric or |
tree_scale |
Logical. Plot a scale for the tree? Default is FALSE. |
legend |
Yet unimplemented. |
annotations |
An |
annotation_height |
Numeric. The height, in lines, of the annotation line. One by
default, if |
annotation_cex |
Numeric. The |
seg_plots |
A list of |
seg_plot_height |
The height of the |
seg_plot_height_unit |
The unit of the height of the |
seg_plot_yaxis |
Can be |
seg_plot_yaxis_cex |
The character expansion of the |
xlims |
A list with as many elements as there are |
offsets |
A list or a vector with as many elements as there are
|
minimum_gap_size |
A numeric. How much of the plotting region should a gap be, at least. Default is 0.05 (20% of the plotting region). |
fixed_gap_length |
Should the gaps have a fixed length? Otherwise, the gap length will
be optimized to minimize the size of comparisons. |
limit_to_longest_dna_seg |
A logical. Should the plot be restricted to the longest
|
main |
A character. Main title of the plot. |
main_pos |
Position of the main title. One of |
dna_seg_labels |
A character, same length as |
dna_seg_label_cex |
A numeric. The character size for the DNA segments labels, or tree labels. Default is 1. |
dna_seg_label_col |
A color, of length 1 or of the same length as |
gene_type |
A character. Describes the type of representation of genes or
|
arrow_head_len |
A numeric. Gives the length of arrow heads for gene type
"arrows". The arrow head extends at maximum at half of the gene. Set
to |
dna_seg_line |
A vector, either logical or giving colors, of length 1 or of same
length as |
scale |
A logical. Should the scale be displayed on the plot. |
dna_seg_scale |
A logical, of length one or of the same length as
|
n_scale_ticks |
A integer. The (approximate) number of ticks on the longest segment. Default: 7. |
scale_cex |
A numeric. The character size for the scale labels. Default is 1. |
global_color_scheme |
A character of length 4. If no |
override_color_schemes |
A logical. If |
plot_new |
Logical. Produce a new plot? If |
debug |
A numeric. If > 0, only that number of element will be plotted for
each |
... |
Further arguments to be passed to user-defined graphical functions. |
One line is plotted per dna_seg
. Eventually, the space
between the lines will be filled with the
comparison
s. dna_seg
s can be annotated with
annotation
s, and accompagnying data can be plotted using
seg_plot
.
A phylogenetic tree (a phylog
object from package ade4
)
can be drawn at the left of the plot. The tree does not need to be
ordered as the dna_seg_labels
, but a permutation of the tree
with that order should exist. If the tree is large, the number of
permutations become too large, and the function will stop (>100000
permutations). The solution is then to provide segments that are
ordered in the same manner as the tree labels (or vice-versa).
There is an (experimental) support for branch annotations. These are
given in the Newick tree, directly after the parenthesis closing a
node. They can be characters or integers, but so far
newick2phylog
doesn't support decimal values. Tags will be
ignored if they start with "I", and trimmed if they start with "X".
The format of the elements of dna_segs
is previously determined
in the object or can be globally set by gene_type
. See the
function gene_types
to return the available types. Gene
type can also be user-defined, using a function returning a
grob
. See gene_types
for more details.
xlims
allow the user to plot subsegments of a
dna_seg
. xlims
consists of a list composed of as many
numeric vectors as there are segments. Each of these numeric vectors
give pairs of left and right borders, and gives the
direction. For example, c(1,2,6,4) will plot two subsegments, segment
1 to 2 which is plotted left to right and segment 4 to 6, plotted
right to left. -Inf
and Inf
values are
accepted. NULL
values will result in plotting the whole
segment.
offsets
allows to user to define the placement of the
subsegments. If a list is provided, each element of the list should
have as many elements as there are subsegments. It will give the size
of the gaps, including the first one from the border of the plot to
the first subsegment.
A main title (main
) can also be added at the top of the plot,
at the position defined by main_pos
. A general scale
can be added at the bottom right of the plot (scale
).
dna_seg_scale
gives the ability to plot scales on one, some or
every segment. c(TRUE, FALSE, TRUE)
will add scales to the
first and third segments.
The four elements of global_color_scheme
are (i) which column
serves as scale to apply the color scheme, or "auto" (default);
(ii) if the scale is "increasing" or "decreasing" (see
apply_color_scheme
for more details), or "auto" (default);
(iii) the color scheme to apply; (iv) the transparency to apply (0.5
by default).
Nothing. A lattice graphic is plotted on the current device.
This plotting function has been tested as far as possible, but given its complexity and that the package is young, bugs or strange behaviors are possible. Please report them to the author.
As of 10/3/2010, support for viewing exons/introns is only available using genbank and embl formats, not when importing ptt files.
Lionel Guy lionel.guy@ebc.uu.se, Jens Roat Kultima
dna_seg
and comparison
for the base objects;
read_dna_seg_from_tab
, read_dna_seg_from_ptt
,
read_comparison_from_tab
and
read_comparison_from_blast
to read from files;
annotation
to annotate dna_seg
s;
seg_plot
to draw plots next to dna_seg
s;
gene_types
for gene_type
argument;
apply_color_scheme
for color schemes;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | old.par <- par(no.readonly=TRUE)
data("three_genes")
## Segments only
plot_gene_map(dna_segs=dna_segs)
## With comparisons
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons)
## Tree
names <- c("A_aaa", "B_bbb", "C_ccc")
names(dna_segs) <- names
tree <- newick2phylog("(((A_aaa:4.2,B_bbb:3.9):3.1,C_ccc:7.3):1);")
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons,
tree=tree)
## Increasing tree width
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons,
tree=tree, tree_width=3)
## Annotations on the tree
tree2 <- newick2phylog("(((A_aaa:4.2,B_bbb:3.9)97:3.1,C_ccc:7.3)78:1);")
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons,
tree=tree2, tree_width=3)
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons,
tree=tree2, tree_width=3, tree_branch_labels_cex=0.5)
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons,
tree=tree2, tree_width=3, tree_branch_labels_cex=0)
## Annotation
## Calculating middle positions
mid_pos <- middle(dna_segs[[1]])
# Create first annotation
annot1 <- annotation(x1=mid_pos, text=dna_segs[[1]]$name)
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons, annotations=annot1)
## Exploring options
annot2 <- annotation(x1=c(mid_pos[1], dna_segs[[1]]$end[2]),
x2=c(NA, dna_segs[[1]]$end[3]),
text=c(dna_segs[[1]]$name[1], "region1"),
rot=c(30, 0), col=c("grey", "black"))
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons,
annotations=annot2, annotation_height=1.3)
## xlims
## Just returning a segment
plot_gene_map(dna_segs, comparisons,
xlims=list(NULL, NULL, c(Inf,-Inf)),
dna_seg_scale=TRUE)
## Removing one gene
plot_gene_map(dna_segs, comparisons,
xlims=list(NULL, NULL, c(-Inf,2800)),
dna_seg_scale=TRUE)
## offsets
offsets <- c(0, 0, 0)
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons, offsets=offsets)
offsets <- c(200, 400, 0)
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons, offsets=offsets)
## main
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons,
main="Comparison of A, B and C")
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons,
main="Comparison of A, B and C", main_pos="left")
## dna_seg_labels
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons,
dna_seg_labels=c("Huey", "Dewey", "Louie"))
## dna_seg_labels size
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons,
dna_seg_labels=c("Huey", "Dewey", "Louie"),
dna_seg_label_cex=2)
## dna_seg_line
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons,
dna_seg_line=c("FALSE", "red", grey(0.6)))
## gene_type
plot_gene_map(dna_segs=dna_segs, comparisons=comparisons,
gene_type="side_blocks")
##
## From here on, using a bigger dataset from a 4-genome comparison
##
data("barto")
## Adding a tree
tree <- newick2phylog("(BB:2.5,(BG:1.8,(BH:1,BQ:0.8):1.9):3);")
## Showing only subsegments
xlims1 <- list(c(1380000, 1445000),
c(10000, 83000),
c(15000, 98000),
c(5000, 82000))
## Reducing dataset size for speed purpose
for (i in 1:length(barto$dna_segs)){
barto$dna_segs[[i]] <- trim(barto$dna_segs[[i]], xlim=xlims1[[i]])
if (i < length(barto$dna_segs))
barto$comparisons[[i]] <- trim(barto$comparisons[[i]],
xlim1=xlims1[[i]], xlims1[[i+1]])
}
plot_gene_map(barto$dna_segs, barto$comparisons, tree=tree,
xlims=xlims1,
dna_seg_scale=TRUE)
## Showing several subsegments per genome
xlims2 <- list(c(1445000, 1415000, 1380000, 1412000),
c( 10000, 45000, 50000, 83000, 90000, 120000),
c( 15000, 36000, 90000, 120000, 74000, 98000),
c( 5000, 82000))
## dna_seg_scale, global_color_scheme, size, number, color of dna_seg_scale,
## size of dna_seg_scale labels
plot_gene_map(barto$dna_segs, barto$comparisons, tree=tree, xlims=xlims2,
dna_seg_scale=c(TRUE, FALSE, FALSE, TRUE), scale=FALSE,
dna_seg_label_cex=1.7,
dna_seg_label_col=c("black", "grey", "blue", "red"),
global_color_scheme=c("e_value", "auto", "grey", "0.7"),
n_scale_ticks=3, scale_cex=1)
## Hand-made offsets: size of all gaps
offsets2 <- list(c(10000, 10000),
c(2000, 2000, 2000),
c(10000, 5000, 2000),
c(10000))
plot_gene_map(barto$dna_segs, barto$comparisons, tree=tree,
#annotations=annots,
xlims=xlims2,
offsets=offsets2,
dna_seg_scale=TRUE)
##
## Exploring and modifying a previously plotted gene map plot
##
## View viewports
current.vpTree()
## Go down to one of the viewports, add an xaxis, go back up to root viewport
downViewport("dna_seg_scale.3.2")
grid.rect()
upViewport(0)
## Get all the names of the objects
grobNames <- getNames()
grobNames
## Change the color ot the scale line
grid.edit("scale.lines", gp=gpar(col="grey"))
## Remove first dna_seg_lines
grid.remove("dna_seg_line.1.1")
##
## Plot genoPlotR logo
##
col <- c("#B2182B", "#D6604D", "#F4A582", "#FDDBC7",
"#D1E5F0", "#92C5DE", "#4393C3", "#2166AC")
cex <- 2.3
## First segment
start1 <- c(150, 390, 570)
end1 <- c( 1, 490, 690)
genoR <- c(270, 530)
## Second segment
start2 <- c(100, 520, 550)
end2 <- c(240, 420, 650)
Plot <- c(330)
## dna_segs
ds1 <- as.dna_seg(data.frame(name=c("", "", ""),
start=start1, end=end1, strand=rep(1, 3),
col=col[c(2, 6, 1)], stringsAsFactor=FALSE))
ds_genoR <- as.dna_seg(data.frame(name=c("geno", "R"),
start=genoR, end=genoR, strand=rep(1, 2),
col=c(col[8], "black"),
stringsAsFactor=FALSE), cex=cex, gene_type="text")
ds2 <- as.dna_seg(data.frame(name=c("", "", ""),
start=start2, end=end2, strand=rep(1, 3),
col=col[c(5, 3, 7)],
stringsAsFactor=FALSE))
ds_Plot <- as.dna_seg(data.frame(name="Plot",
start=Plot, end=Plot, strand=1,
col=col[c(1)],
stringsAsFactor=FALSE), cex=cex, gene_type="text")
## comparison
c1 <- as.comparison(data.frame(start1=start1, end1=end1,
start2=start2, end2=end2,
col=grey(c(0.6, 0.8, 0.5))))
## Generate genoPlotR logo
## Not run:
pdf("logo.pdf", h=0.7, w=3)
## End(Not run)
par(fin=c(0.7, 3))
plot_gene_map(dna_segs=list(c(ds1, ds_genoR), c(ds2, ds_Plot)),
comparisons=list(c1), scale=FALSE, dna_seg_scale=FALSE,
dna_seg_line=grey(0.7), offsets=c(-20,160))
## Not run:
dev.off()
## End(Not run)
par(old.par)
|
Loading required package: ade4
Loading required package: grid
viewport[ROOT]->(viewport[oma]->(viewport[oma_layout]->(viewport[frame]->(viewport[scale], viewport[tree_outer]->(viewport[tree]->(viewport[treeFrame]->(viewport[GRID.VP.22]->(viewport[GRID.VP.23]->(viewport[tree.branches]), viewport[GRID.VP.24]->(viewport[tree.labels]))))), viewport[plotarea_outer]->(viewport[plotarea]->(viewport[map]->(viewport[comparison.1], viewport[comparison.2], viewport[comparison.3], viewport[seg_plot.1], viewport[seg_plot.2], viewport[seg_plot.3], viewport[seg_plot.4], viewport[scale_and_dna_seg.1]->(viewport[dna_seg_scale.1.1], viewport[dna_seg_scale.1.2], viewport[dna_seg.1.1], viewport[gap.1.2], viewport[dna_seg.1.2]), viewport[scale_and_dna_seg.2]->(viewport[gap.2.2], viewport[gap.2.3], viewport[dna_seg_scale.2.1], viewport[dna_seg_scale.2.2], viewport[dna_seg_scale.2.3], viewport[dna_seg.2.1], viewport[dna_seg.2.2], viewport[dna_seg.2.3]), viewport[scale_and_dna_seg.3]->(viewport[gap.3.2], viewport[gap.3.3], viewport[dna_seg_scale.3.1], viewport[dna_seg_scale.3.2], viewport[dna_seg_scale.3.3], viewport[dna_seg.3.1], viewport[dna_seg.3.2], viewport[dna_seg.3.3]), viewport[scale_and_dna_seg.4]->(viewport[dna_seg_scale.4.1], viewport[dna_seg.4.1]))))))))
[1] "scale.lines" "scale.text"
[3] "treeFrameGrob" "comp.1.25040-21726_18148-14836"
[5] "comp.1.25558-25124_25578-26009" "comp.1.19541-18419_11985-10863"
[7] "comp.1.21598-19601_14519-12536" "comp.1.35558-33382_28933-26772"
[9] "comp.1.12532-10305_3941-2000" "comp.1.40000-36942_35219-31914"
[11] "comp.1.15624-14302_7042-5717" "comp.1.74966-76597_46187-44556"
[13] "comp.1.76896-82000_42235-39000" "comp.1.55199-57926_72000-69711"
[15] "comp.1.60571-62403_64750-62897" "comp.1.63761-66025_59843-57598"
[17] "comp.1.58161-59998_67076-65259" "comp.2.25595-26036_22913-22468"
[19] "comp.2.14849-18161_19096-22411" "comp.2.10168-11976_14605-16412"
[21] "comp.2.18767-25494_29669-22932" "comp.2.2000-7054_10000-11958"
[23] "comp.2.68313-72000_75446-79414" "comp.2.65163-67744_72300-74913"
[25] "comp.2.57561-61259_68000-70027" "comp.2.62886-64873_70228-72220"
[27] "comp.3.10000-11958_14888-20248" "comp.3.18506-29685_26132-37312"
[29] "comp.3.14605-17097_23224-25708" "comp.3.12109-13758_20329-21989"
[31] "comp.3.84000-84067_73013-86844" "comp.3.84000-85263_82290-87000"
[33] "comp.3.70205-84067_73013-86844" "comp.3.79526-85263_82290-87000"
[35] "comp.3.68000-70083_69259-72991" "dna_seg_scale.1.1.lines"
[37] "dna_seg_scale.1.1.labels" "dna_seg_line.1.1"
[39] "seg.1.folC" "seg.1.BARBAKC583_1353"
[41] "seg.1.BARBAKC583_1354" "seg.1.BARBAKC583_1355"
[43] "seg.1.addB" "seg.1.addA"
[45] "seg.1.trx" "seg.1.prfC"
[47] "seg.1.lysK" "seg.1.argG"
[49] "seg.1.BARBAKC583_1363" "seg.1.BARBAKC583_1362"
[51] "seg.1.BARBAKC583_1364" "seg.1.ptsN"
[53] "seg.1.BARBAKC583_1366" "seg.1.BARBAKC583_1367"
[55] "seg.1.BARBAKC583_1368" "seg.1.BARBAKC583_1369"
[57] "seg.1.BARBAKC583_1370" "seg.1.ihfB"
[59] "seg.1.BARBAKC583_1372" "seg.1.BARBAKC583_1373"
[61] "seg.1.BARBAKC583_1374" "seg.1.lspA"
[63] "dna_seg_scale.1.2.lines" "dna_seg_scale.1.2.labels"
[65] "dna_seg_line.1.2" "seg.1.dnaJ"
[67] "seg.1.dnaK" "seg.1.BARBAKC583_1329"
[69] "seg.1.BARBAKC583_1330" "seg.1.BARBAKC583_1331"
[71] "seg.1.bvrR" "seg.1.bvrS"
[73] "seg.1.grpE" "seg.1.rdgB"
[75] "seg.1.BARBAKC583_1337" "seg.1.dapE"
[77] "seg.1.BARBAKC583_1339" "seg.1.BARBAKC583_1340"
[79] "seg.1.infC" "seg.1.BARBAKC583_1342"
[81] "seg.1.BARBAKC583_1343" "seg.1.BARBAKC583_1344"
[83] "seg.1.BARBAKC583_1345" "seg.1.gyrB"
[85] "seg.1.ubiE" "seg.1.ubiB"
[87] "gap.1.2" "dna_seg_scale.2.1.lines"
[89] "dna_seg_scale.2.1.labels" "dna_seg_line.2.1"
[91] "seg.2.Bgr_00100" "seg.2.Bgr_00110"
[93] "seg.2.Bgr_00120" "seg.2.Bgr_00130"
[95] "seg.2.Bgr_00140" "seg.2.Bgr_00150"
[97] "seg.2.Bgr_00160" "seg.2.ptsN"
[99] "seg.2.Bgr_00180" "seg.2.Bgr_00190"
[101] "seg.2.Bgr_00210" "seg.2.argG"
[103] "seg.2.lysS" "seg.2.prfC"
[105] "seg.2.addB" "seg.2.addA"
[107] "seg.2.trxA" "seg.2.Bgr_00280"
[109] "seg.2.Bgr_00290" "seg.2.ahcY"
[111] "seg.2.Bgr_00310" "seg.2.folC"
[113] "seg.2.accD" "seg.2.Bgr_00340"
[115] "dna_seg_scale.2.2.lines" "dna_seg_scale.2.2.labels"
[117] "dna_seg_line.2.2" "seg.2.gyrB"
[119] "seg.2.Bgr_00400" "seg.2.Bgr_00410"
[121] "seg.2.Bgr_00420" "seg.2.Bgr_00430"
[123] "seg.2.msbA" "seg.2.Bgr_00480"
[125] "seg.2.Bgr_00490" "seg.2.dapE"
[127] "seg.2.hemN" "seg.2.Bgr_00530"
[129] "seg.2.hrcA" "seg.2.grpE"
[131] "seg.2.Bgr_00560" "seg.2.ptsH"
[133] "seg.2.Bgr_00580" "seg.2.Bgr_00590"
[135] "seg.2.batS" "gap.2.2"
[137] "dna_seg_scale.2.3.lines" "dna_seg_scale.2.3.labels"
[139] "dna_seg_line.2.3" "gap.2.3"
[141] "dna_seg_scale.3.1.lines" "dna_seg_scale.3.1.labels"
[143] "dna_seg_line.3.1" "seg.3.BH00160"
[145] "seg.3.BH00170" "seg.3.ptsN"
[147] "seg.3.BH00190" "seg.3.BH00200"
[149] "seg.3.BH00210" "seg.3.lysK"
[151] "seg.3.prfC" "seg.3.trxA"
[153] "seg.3.addA" "seg.3.BH00280"
[155] "dna_seg_scale.3.2.lines" "dna_seg_scale.3.2.labels"
[157] "dna_seg_line.3.2" "seg.3.argB"
[159] "seg.3.BH00700" "gap.3.2"
[161] "dna_seg_scale.3.3.lines" "dna_seg_scale.3.3.labels"
[163] "dna_seg_line.3.3" "seg.3.dapE"
[165] "seg.3.hemN" "seg.3.BH00540"
[167] "seg.3.hrcA" "seg.3.grpE"
[169] "seg.3.BH00570" "seg.3.ptsH"
[171] "seg.3.BH00590" "seg.3.hprK"
[173] "seg.3.batS" "seg.3.batR"
[175] "seg.3.BH00630" "seg.3.BH00640"
[177] "seg.3.dnaK" "seg.3.dnaJ1"
[179] "seg.3.argB" "seg.3.BH00700"
[181] "gap.3.3" "dna_seg_scale.4.1.lines"
[183] "dna_seg_scale.4.1.labels" "dna_seg_line.4.1"
[185] "seg.4.BQ00070" "seg.4.BQ00080"
[187] "seg.4.lspA" "seg.4.BQ00100"
[189] "seg.4.BQ00120" "seg.4.ihfB"
[191] "seg.4.BQ00140" "seg.4.BQ00150"
[193] "seg.4.BQ00160" "seg.4.ptsN"
[195] "seg.4.BQ00180" "seg.4.BQ00190"
[197] "seg.4.lysK" "seg.4.prfC"
[199] "seg.4.trxA" "seg.4.addA"
[201] "seg.4.BQ00260" "seg.4.BQ00270"
[203] "seg.4.BQ00280" "seg.4.ahcY"
[205] "seg.4.BQ00300" "seg.4.folC"
[207] "seg.4.accD" "seg.4.dfp"
[209] "seg.4.aarF" "seg.4.ubiE"
[211] "seg.4.gyrB" "seg.4.BQ00380"
[213] "seg.4.comM" "seg.4.BQ00400"
[215] "seg.4.BQ00410" "seg.4.msbA"
[217] "seg.4.infC" "seg.4.BQ00440"
[219] "seg.4.BQ00450" "seg.4.dapE"
[221] "seg.4.hemN" "seg.4.BQ00480"
[223] "seg.4.hrcA" "seg.4.grpE"
[225] "seg.4.BQ00510" "seg.4.ptsH"
[227] "seg.4.BQ00530" "seg.4.BQ00540"
[229] "seg.4.BQ00550" "seg.4.BQ00560"
[231] "seg.4.BQ00570" "seg.4.BQ00580"
[233] "seg.4.dnaK" "GRID.rect.35"
png
2
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.