Skip to content

Instantly share code, notes, and snippets.

@kortschak
Created February 2, 2017 02:22
Show Gist options
  • Save kortschak/f3dcf73818c81d21b421929f88890d02 to your computer and use it in GitHub Desktop.
Save kortschak/f3dcf73818c81d21b421929f88890d02 to your computer and use it in GitHub Desktop.
flagstat CPU profiling
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: flagstat Pages: 1 -->
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<script type="text/ecmascript"><![CDATA[
/**
* SVGPan library 1.2.1
* ======================
*
* Given an unique existing element with id "viewport" (or when missing, the first g
* element), including the the library into any SVG adds the following capabilities:
*
* - Mouse panning
* - Mouse zooming (using the wheel)
* - Object dragging
*
* You can configure the behavior of the pan/zoom/drag with the variables
* listed in the CONFIGURATION section of this file.
*
* Known issues:
*
* - Zooming (while panning) on Safari has still some issues
*
* Releases:
*
* 1.2.1, Mon Jul 4 00:33:18 CEST 2011, Andrea Leofreddi
* - Fixed a regression with mouse wheel (now working on Firefox 5)
* - Working with viewBox attribute (#4)
* - Added "use strict;" and fixed resulting warnings (#5)
* - Added configuration variables, dragging is disabled by default (#3)
*
* 1.2, Sat Mar 20 08:42:50 GMT 2010, Zeng Xiaohui
* Fixed a bug with browser mouse handler interaction
*
* 1.1, Wed Feb 3 17:39:33 GMT 2010, Zeng Xiaohui
* Updated the zoom code to support the mouse wheel on Safari/Chrome
*
* 1.0, Andrea Leofreddi
* First release
*
* This code is licensed under the following BSD license:
*
* Copyright 2009-2010 Andrea Leofreddi <a.leofreddi@itcharm.com>. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY Andrea Leofreddi ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Andrea Leofreddi OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of Andrea Leofreddi.
*/
"use strict";
/// CONFIGURATION
/// ====>
var enablePan = 1; // 1 or 0: enable or disable panning (default enabled)
var enableZoom = 1; // 1 or 0: enable or disable zooming (default enabled)
var enableDrag = 0; // 1 or 0: enable or disable dragging (default disabled)
/// <====
/// END OF CONFIGURATION
var root = document.documentElement;
var state = 'none', svgRoot, stateTarget, stateOrigin, stateTf;
setupHandlers(root);
/**
* Register handlers
*/
function setupHandlers(root){
setAttributes(root, {
"onmouseup" : "handleMouseUp(evt)",
"onmousedown" : "handleMouseDown(evt)",
"onmousemove" : "handleMouseMove(evt)",
//"onmouseout" : "handleMouseUp(evt)", // Decomment this to stop the pan functionality when dragging out of the SVG element
});
if(navigator.userAgent.toLowerCase().indexOf('webkit') >= 0)
window.addEventListener('mousewheel', handleMouseWheel, false); // Chrome/Safari
else
window.addEventListener('DOMMouseScroll', handleMouseWheel, false); // Others
}
/**
* Retrieves the root element for SVG manipulation. The element is then cached into the svgRoot global variable.
*/
function getRoot(root) {
if(typeof(svgRoot) == "undefined") {
var g = null;
g = root.getElementById("viewport");
if(g == null)
g = root.getElementsByTagName('g')[0];
if(g == null)
alert('Unable to obtain SVG root element');
setCTM(g, g.getCTM());
g.removeAttribute("viewBox");
svgRoot = g;
}
return svgRoot;
}
/**
* Instance an SVGPoint object with given event coordinates.
*/
function getEventPoint(evt) {
var p = root.createSVGPoint();
p.x = evt.clientX;
p.y = evt.clientY;
return p;
}
/**
* Sets the current transform matrix of an element.
*/
function setCTM(element, matrix) {
var s = "matrix(" + matrix.a + "," + matrix.b + "," + matrix.c + "," + matrix.d + "," + matrix.e + "," + matrix.f + ")";
element.setAttribute("transform", s);
}
/**
* Dumps a matrix to a string (useful for debug).
*/
function dumpMatrix(matrix) {
var s = "[ " + matrix.a + ", " + matrix.c + ", " + matrix.e + "\n " + matrix.b + ", " + matrix.d + ", " + matrix.f + "\n 0, 0, 1 ]";
return s;
}
/**
* Sets attributes of an element.
*/
function setAttributes(element, attributes){
for (var i in attributes)
element.setAttributeNS(null, i, attributes[i]);
}
/**
* Handle mouse wheel event.
*/
function handleMouseWheel(evt) {
if(!enableZoom)
return;
if(evt.preventDefault)
evt.preventDefault();
evt.returnValue = false;
var svgDoc = evt.target.ownerDocument;
var delta;
if(evt.wheelDelta)
delta = evt.wheelDelta / 3600; // Chrome/Safari
else
delta = evt.detail / -90; // Mozilla
var z = 1 + delta; // Zoom factor: 0.9/1.1
var g = getRoot(svgDoc);
var p = getEventPoint(evt);
p = p.matrixTransform(g.getCTM().inverse());
// Compute new scale matrix in current mouse position
var k = root.createSVGMatrix().translate(p.x, p.y).scale(z).translate(-p.x, -p.y);
setCTM(g, g.getCTM().multiply(k));
if(typeof(stateTf) == "undefined")
stateTf = g.getCTM().inverse();
stateTf = stateTf.multiply(k.inverse());
}
/**
* Handle mouse move event.
*/
function handleMouseMove(evt) {
if(evt.preventDefault)
evt.preventDefault();
evt.returnValue = false;
var svgDoc = evt.target.ownerDocument;
var g = getRoot(svgDoc);
if(state == 'pan' && enablePan) {
// Pan mode
var p = getEventPoint(evt).matrixTransform(stateTf);
setCTM(g, stateTf.inverse().translate(p.x - stateOrigin.x, p.y - stateOrigin.y));
} else if(state == 'drag' && enableDrag) {
// Drag mode
var p = getEventPoint(evt).matrixTransform(g.getCTM().inverse());
setCTM(stateTarget, root.createSVGMatrix().translate(p.x - stateOrigin.x, p.y - stateOrigin.y).multiply(g.getCTM().inverse()).multiply(stateTarget.getCTM()));
stateOrigin = p;
}
}
/**
* Handle click event.
*/
function handleMouseDown(evt) {
if(evt.preventDefault)
evt.preventDefault();
evt.returnValue = false;
var svgDoc = evt.target.ownerDocument;
var g = getRoot(svgDoc);
if(
evt.target.tagName == "svg"
|| !enableDrag // Pan anyway when drag is disabled and the user clicked on an element
) {
// Pan mode
state = 'pan';
stateTf = g.getCTM().inverse();
stateOrigin = getEventPoint(evt).matrixTransform(stateTf);
} else {
// Drag mode
state = 'drag';
stateTarget = evt.target;
stateTf = g.getCTM().inverse();
stateOrigin = getEventPoint(evt).matrixTransform(stateTf);
}
}
/**
* Handle mouse button release event.
*/
function handleMouseUp(evt) {
if(evt.preventDefault)
evt.preventDefault();
evt.returnValue = false;
var svgDoc = evt.target.ownerDocument;
if(state == 'pan' || state == 'drag') {
// Quit pan mode
state = '';
}
}
]]></script><g id="viewport" transform="scale(0.5,0.5) translate(0,0)"><g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2106)">
<title>flagstat</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-2106 2742.5,-2106 2742.5,4 -4,4"/>
<g id="clust1" class="cluster"><title>cluster_L</title>
<polygon fill="none" stroke="black" points="8,-1790 8,-2094 654,-2094 654,-1790 8,-1790"/>
</g>
<!-- L -->
<g id="node1" class="node"><title>L</title>
<polygon fill="#f8f8f8" stroke="black" points="645.5,-2086 16.5,-2086 16.5,-1798 645.5,-1798 645.5,-2086"/>
<text text-anchor="start" x="24.5" y="-2056.4" font-family="Times,serif" font-size="32.00">File: flagstat</text>
<text text-anchor="start" x="24.5" y="-2021.4" font-family="Times,serif" font-size="32.00">Type: cpu</text>
<text text-anchor="start" x="24.5" y="-1986.4" font-family="Times,serif" font-size="32.00">Time: Feb 2, 2017 at 12:41pm (ACDT)</text>
<text text-anchor="start" x="24.5" y="-1951.4" font-family="Times,serif" font-size="32.00">Duration: 1m35.344908595s</text>
<text text-anchor="start" x="24.5" y="-1916.4" font-family="Times,serif" font-size="32.00">203.88s of 217.46s total (93.76%)</text>
<text text-anchor="start" x="24.5" y="-1881.4" font-family="Times,serif" font-size="32.00">Dropped 257 nodes (cum &lt;= 1.09s)</text>
<text text-anchor="start" x="24.5" y="-1846.4" font-family="Times,serif" font-size="32.00">Dropped 29 edges (freq &lt;= 0.22s)</text>
<text text-anchor="start" x="24.5" y="-1811.4" font-family="Times,serif" font-size="32.00">Showing top 80 nodes out of 91 (cum &gt;= 1.12s)</text>
</g>
<!-- N1 -->
<g id="node2" class="node"><title>N1</title>
<g id="a_node2"><a xlink:title="runtime.goexit (208.42s)">
<polygon fill="#f8f8f8" stroke="black" points="750,-1960 664,-1960 664,-1924 750,-1924 750,-1960"/>
<text text-anchor="middle" x="707" y="-1944.6" font-family="Times,serif" font-size="8.00">runtime.goexit</text>
<text text-anchor="middle" x="707" y="-1935.6" font-family="Times,serif" font-size="8.00">0 of 208.42s(95.84%)</text>
</a>
</g>
</g>
<!-- N2 -->
<g id="node3" class="node"><title>N2</title>
<g id="a_node3"><a xlink:title="github.com/biogo/hts/bgzf.(*block).readFrom (175.24s)">
<polygon fill="#f8f8f8" stroke="black" points="796.5,-1744 617.5,-1744 617.5,-1706 796.5,-1706 796.5,-1744"/>
<text text-anchor="middle" x="707" y="-1732.8" font-family="Times,serif" font-size="9.00">github.com/biogo/hts/bgzf.(*block).readFrom</text>
<text text-anchor="middle" x="707" y="-1722.8" font-family="Times,serif" font-size="9.00">0.03s(0.014%)</text>
<text text-anchor="middle" x="707" y="-1712.8" font-family="Times,serif" font-size="9.00">of 175.24s(80.58%)</text>
</a>
</g>
</g>
<!-- N1&#45;&gt;N2 -->
<g id="edge1" class="edge"><title>N1&#45;&gt;N2</title>
<g id="a_edge1"><a xlink:title="runtime.goexit ... github.com/biogo/hts/bgzf.(*block).readFrom (175.24s)">
<path fill="none" stroke="black" stroke-width="5" stroke-dasharray="1,5" d="M707,-1923.77C707,-1886.78 707,-1799.45 707,-1754.24"/>
<polygon fill="black" stroke="black" stroke-width="5" points="711.375,-1754.22 707,-1744.22 702.625,-1754.22 711.375,-1754.22"/>
</a>
</g>
<g id="a_edge1&#45;label"><a xlink:title="runtime.goexit ... github.com/biogo/hts/bgzf.(*block).readFrom (175.24s)">
<text text-anchor="middle" x="730.5" y="-1768.8" font-family="Times,serif" font-size="14.00"> 175.24s</text>
</a>
</g>
</g>
<!-- N11 -->
<g id="node12" class="node"><title>N11</title>
<g id="a_node12"><a xlink:title="main.main (16.58s)">
<polygon fill="#f8f8f8" stroke="black" points="1310,-1747 1218,-1747 1218,-1703 1310,-1703 1310,-1747"/>
<text text-anchor="middle" x="1264" y="-1734.2" font-family="Times,serif" font-size="11.00">main.main</text>
<text text-anchor="middle" x="1264" y="-1722.2" font-family="Times,serif" font-size="11.00">0.87s(0.4%)</text>
<text text-anchor="middle" x="1264" y="-1710.2" font-family="Times,serif" font-size="11.00">of 16.58s(7.62%)</text>
</a>
</g>
</g>
<!-- N1&#45;&gt;N11 -->
<g id="edge10" class="edge"><title>N1&#45;&gt;N11</title>
<g id="a_edge10"><a xlink:title="runtime.goexit ... main.main (16.58s)">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M742.072,-1923.9C803.649,-1894.27 935.626,-1832.48 1051,-1790 1103.44,-1770.69 1164.66,-1752.76 1207.98,-1740.82"/>
<polygon fill="black" stroke="black" points="1209.04,-1744.16 1217.76,-1738.14 1207.19,-1737.41 1209.04,-1744.16"/>
</a>
</g>
<g id="a_edge10&#45;label"><a xlink:title="runtime.goexit ... main.main (16.58s)">
<text text-anchor="middle" x="1141" y="-1768.8" font-family="Times,serif" font-size="14.00"> 16.58s</text>
</a>
</g>
</g>
<!-- N14 -->
<g id="node15" class="node"><title>N14</title>
<g id="a_node15"><a xlink:title="runtime.gcBgMarkWorker (10.75s)">
<polygon fill="#f8f8f8" stroke="black" points="2124.5,-968 2013.5,-968 2013.5,-930 2124.5,-930 2124.5,-968"/>
<text text-anchor="middle" x="2069" y="-956.8" font-family="Times,serif" font-size="9.00">runtime.gcBgMarkWorker</text>
<text text-anchor="middle" x="2069" y="-946.8" font-family="Times,serif" font-size="9.00">0.03s(0.014%)</text>
<text text-anchor="middle" x="2069" y="-936.8" font-family="Times,serif" font-size="9.00">of 10.75s(4.94%)</text>
</a>
</g>
</g>
<!-- N1&#45;&gt;N14 -->
<g id="edge12" class="edge"><title>N1&#45;&gt;N14</title>
<g id="a_edge12"><a xlink:title="runtime.goexit &#45;&gt; runtime.gcBgMarkWorker (10.75s)">
<path fill="none" stroke="black" d="M736.122,-1923.97C793.89,-1891.18 928.041,-1819.86 1051,-1790 1106.07,-1776.63 2069,-1782.67 2069,-1726 2069,-1726 2069,-1726 2069,-1062.5 2069,-1033.97 2069,-1001.36 2069,-978.625"/>
<polygon fill="black" stroke="black" points="2072.5,-978.317 2069,-968.317 2065.5,-978.317 2072.5,-978.317"/>
</a>
</g>
<g id="a_edge12&#45;label"><a xlink:title="runtime.goexit &#45;&gt; runtime.gcBgMarkWorker (10.75s)">
<text text-anchor="middle" x="2089" y="-1443.8" font-family="Times,serif" font-size="14.00"> 10.75s</text>
</a>
</g>
</g>
<!-- N27 -->
<g id="node28" class="node"><title>N27</title>
<g id="a_node28"><a xlink:title="github.com/biogo/hts/bgzf.NewReader.func1 (4.84s)">
<polygon fill="#f8f8f8" stroke="black" points="991,-1744 815,-1744 815,-1706 991,-1706 991,-1744"/>
<text text-anchor="middle" x="903" y="-1732.8" font-family="Times,serif" font-size="9.00">github.com/biogo/hts/bgzf.NewReader.func1</text>
<text text-anchor="middle" x="903" y="-1722.8" font-family="Times,serif" font-size="9.00">0.02s(0.0092%)</text>
<text text-anchor="middle" x="903" y="-1712.8" font-family="Times,serif" font-size="9.00">of 4.84s(2.23%)</text>
</a>
</g>
</g>
<!-- N1&#45;&gt;N27 -->
<g id="edge26" class="edge"><title>N1&#45;&gt;N27</title>
<g id="a_edge26"><a xlink:title="runtime.goexit &#45;&gt; github.com/biogo/hts/bgzf.NewReader.func1 (4.84s)">
<path fill="none" stroke="black" d="M722.708,-1923.77C757.072,-1886.07 839.076,-1796.12 879.564,-1751.71"/>
<polygon fill="black" stroke="black" points="882.238,-1753.97 886.389,-1744.22 877.065,-1749.25 882.238,-1753.97"/>
</a>
</g>
<g id="a_edge26&#45;label"><a xlink:title="runtime.goexit &#45;&gt; github.com/biogo/hts/bgzf.NewReader.func1 (4.84s)">
<text text-anchor="middle" x="883" y="-1768.8" font-family="Times,serif" font-size="14.00"> 4.84s</text>
</a>
</g>
</g>
<!-- N3 -->
<g id="node4" class="node"><title>N3</title>
<g id="a_node4"><a xlink:title="compress/gzip.(*Reader).Read (175.02s)">
<polygon fill="#f8f8f8" stroke="black" points="769.5,-1649 644.5,-1649 644.5,-1611 769.5,-1611 769.5,-1649"/>
<text text-anchor="middle" x="707" y="-1637.8" font-family="Times,serif" font-size="9.00">compress/gzip.(*Reader).Read</text>
<text text-anchor="middle" x="707" y="-1627.8" font-family="Times,serif" font-size="9.00">0.03s(0.014%)</text>
<text text-anchor="middle" x="707" y="-1617.8" font-family="Times,serif" font-size="9.00">of 175.02s(80.48%)</text>
</a>
</g>
</g>
<!-- N2&#45;&gt;N3 -->
<g id="edge2" class="edge"><title>N2&#45;&gt;N3</title>
<g id="a_edge2"><a xlink:title="github.com/biogo/hts/bgzf.(*block).readFrom ... compress/gzip.(*Reader).Read (175.02s)">
<path fill="none" stroke="black" stroke-width="5" stroke-dasharray="1,5" d="M707,-1705.63C707,-1692.42 707,-1674.37 707,-1659.33"/>
<polygon fill="black" stroke="black" stroke-width="5" points="711.375,-1659.02 707,-1649.02 702.625,-1659.02 711.375,-1659.02"/>
</a>
</g>
<g id="a_edge2&#45;label"><a xlink:title="github.com/biogo/hts/bgzf.(*block).readFrom ... compress/gzip.(*Reader).Read (175.02s)">
<text text-anchor="middle" x="730.5" y="-1673.8" font-family="Times,serif" font-size="14.00"> 175.02s</text>
</a>
</g>
</g>
<!-- N4 -->
<g id="node5" class="node"><title>N4</title>
<g id="a_node5"><a xlink:title="compress/flate.(*decompressor).Read (167.81s)">
<polygon fill="#f8f8f8" stroke="black" points="782,-1557 632,-1557 632,-1519 782,-1519 782,-1557"/>
<text text-anchor="middle" x="707" y="-1545.8" font-family="Times,serif" font-size="9.00">compress/flate.(*decompressor).Read</text>
<text text-anchor="middle" x="707" y="-1535.8" font-family="Times,serif" font-size="9.00">0.11s(0.051%)</text>
<text text-anchor="middle" x="707" y="-1525.8" font-family="Times,serif" font-size="9.00">of 167.81s(77.17%)</text>
</a>
</g>
</g>
<!-- N3&#45;&gt;N4 -->
<g id="edge3" class="edge"><title>N3&#45;&gt;N4</title>
<g id="a_edge3"><a xlink:title="compress/gzip.(*Reader).Read &#45;&gt; compress/flate.(*decompressor).Read (167.81s)">
<path fill="none" stroke="black" stroke-width="4" d="M707,-1610.79C707,-1598.34 707,-1581.61 707,-1567.42"/>
<polygon fill="black" stroke="black" stroke-width="4" points="710.5,-1567.19 707,-1557.19 703.5,-1567.19 710.5,-1567.19"/>
</a>
</g>
<g id="a_edge3&#45;label"><a xlink:title="compress/gzip.(*Reader).Read &#45;&gt; compress/flate.(*decompressor).Read (167.81s)">
<text text-anchor="middle" x="730.5" y="-1578.8" font-family="Times,serif" font-size="14.00"> 167.81s</text>
</a>
</g>
</g>
<!-- N19 -->
<g id="node20" class="node"><title>N19</title>
<g id="a_node20"><a xlink:title="hash/crc32.Update (7.07s)">
<polygon fill="#f8f8f8" stroke="black" points="1177.5,-1557 1094.5,-1557 1094.5,-1519 1177.5,-1519 1177.5,-1557"/>
<text text-anchor="middle" x="1136" y="-1545.8" font-family="Times,serif" font-size="9.00">hash/crc32.Update</text>
<text text-anchor="middle" x="1136" y="-1535.8" font-family="Times,serif" font-size="9.00">0.05s(0.023%)</text>
<text text-anchor="middle" x="1136" y="-1525.8" font-family="Times,serif" font-size="9.00">of 7.07s(3.25%)</text>
</a>
</g>
</g>
<!-- N3&#45;&gt;N19 -->
<g id="edge19" class="edge"><title>N3&#45;&gt;N19</title>
<g id="a_edge19"><a xlink:title="compress/gzip.(*Reader).Read &#45;&gt; hash/crc32.Update (7.07s)">
<path fill="none" stroke="black" d="M769.518,-1611.54C774.408,-1610.3 779.278,-1609.11 784,-1608 889.977,-1583.2 1015.32,-1560.1 1084.19,-1547.94"/>
<polygon fill="black" stroke="black" points="1085.09,-1551.33 1094.34,-1546.15 1083.88,-1544.44 1085.09,-1551.33"/>
</a>
</g>
<g id="a_edge19&#45;label"><a xlink:title="compress/gzip.(*Reader).Read &#45;&gt; hash/crc32.Update (7.07s)">
<text text-anchor="middle" x="955" y="-1578.8" font-family="Times,serif" font-size="14.00"> 7.07s</text>
</a>
</g>
</g>
<!-- N5 -->
<g id="node6" class="node"><title>N5</title>
<g id="a_node6"><a xlink:title="compress/flate.(*decompressor).huffmanBlock (160.37s)">
<polygon fill="#f8f8f8" stroke="black" points="941,-1376 473,-1376 473,-1290 941,-1290 941,-1376"/>
<text text-anchor="middle" x="707" y="-1352.8" font-family="Times,serif" font-size="24.00">compress/flate.(*decompressor).huffmanBlock</text>
<text text-anchor="middle" x="707" y="-1326.8" font-family="Times,serif" font-size="24.00">50.52s(23.23%)</text>
<text text-anchor="middle" x="707" y="-1300.8" font-family="Times,serif" font-size="24.00">of 160.37s(73.75%)</text>
</a>
</g>
</g>
<!-- N4&#45;&gt;N5 -->
<g id="edge7" class="edge"><title>N4&#45;&gt;N5</title>
<g id="a_edge7"><a xlink:title="compress/flate.(*decompressor).Read &#45;&gt; compress/flate.(*decompressor).huffmanBlock (49.29s)">
<path fill="none" stroke="black" stroke-width="2" d="M640.718,-1518.99C615.265,-1508.48 588.794,-1492.34 574,-1468 554.461,-1435.85 579.176,-1405.6 612.39,-1382"/>
<polygon fill="black" stroke="black" stroke-width="2" points="614.696,-1384.66 620.996,-1376.14 610.759,-1378.87 614.696,-1384.66"/>
</a>
</g>
<g id="a_edge7&#45;label"><a xlink:title="compress/flate.(*decompressor).Read &#45;&gt; compress/flate.(*decompressor).huffmanBlock (49.29s)">
<text text-anchor="middle" x="594" y="-1443.8" font-family="Times,serif" font-size="14.00"> 49.29s</text>
</a>
</g>
</g>
<!-- N6 -->
<g id="node7" class="node"><title>N6</title>
<g id="a_node7"><a xlink:title="compress/flate.(*decompressor).nextBlock (117.77s)">
<polygon fill="#f8f8f8" stroke="black" points="791,-1466.5 623,-1466.5 623,-1428.5 791,-1428.5 791,-1466.5"/>
<text text-anchor="middle" x="707" y="-1455.3" font-family="Times,serif" font-size="9.00">compress/flate.(*decompressor).nextBlock</text>
<text text-anchor="middle" x="707" y="-1445.3" font-family="Times,serif" font-size="9.00">0.01s(0.0046%)</text>
<text text-anchor="middle" x="707" y="-1435.3" font-family="Times,serif" font-size="9.00">of 117.77s(54.16%)</text>
</a>
</g>
</g>
<!-- N4&#45;&gt;N6 -->
<g id="edge4" class="edge"><title>N4&#45;&gt;N6</title>
<g id="a_edge4"><a xlink:title="compress/flate.(*decompressor).Read &#45;&gt; compress/flate.(*decompressor).nextBlock (117.77s)">
<path fill="none" stroke="black" stroke-width="3" d="M707,-1518.66C707,-1506.6 707,-1490.57 707,-1476.87"/>
<polygon fill="black" stroke="black" stroke-width="3" points="710.5,-1476.51 707,-1466.51 703.5,-1476.51 710.5,-1476.51"/>
</a>
</g>
<g id="a_edge4&#45;label"><a xlink:title="compress/flate.(*decompressor).Read &#45;&gt; compress/flate.(*decompressor).nextBlock (117.77s)">
<text text-anchor="middle" x="730.5" y="-1489.8" font-family="Times,serif" font-size="14.00"> 117.77s</text>
</a>
</g>
</g>
<!-- N13 -->
<g id="node14" class="node"><title>N13</title>
<g id="a_node14"><a xlink:title="runtime.memmove (10.88s)">
<polygon fill="#f8f8f8" stroke="black" points="1228.5,-1085.5 1089.5,-1085.5 1089.5,-1041.5 1228.5,-1041.5 1228.5,-1085.5"/>
<text text-anchor="middle" x="1159" y="-1068.7" font-family="Times,serif" font-size="16.00">runtime.memmove</text>
<text text-anchor="middle" x="1159" y="-1050.7" font-family="Times,serif" font-size="16.00">10.88s(5.00%)</text>
</a>
</g>
</g>
<!-- N4&#45;&gt;N13 -->
<g id="edge89" class="edge"><title>N4&#45;&gt;N13</title>
<g id="a_edge89"><a xlink:title="compress/flate.(*decompressor).Read &#45;&gt; runtime.memmove (0.63s)">
<path fill="none" stroke="black" d="M782.092,-1529.62C882.203,-1516.01 1059.36,-1478.27 1168,-1376 1198.17,-1347.6 1171.78,-1316.05 1204,-1290 1237.76,-1262.71 1257.61,-1281.35 1300,-1272 1358.21,-1259.17 1393.4,-1286.05 1430,-1239 1453.47,-1208.83 1453.32,-1183.28 1430,-1153 1375.87,-1082.71 1320.24,-1132.69 1237,-1102 1227.59,-1098.53 1217.78,-1094.32 1208.43,-1089.99"/>
<polygon fill="black" stroke="black" points="1209.79,-1086.76 1199.25,-1085.65 1206.79,-1093.09 1209.79,-1086.76"/>
</a>
</g>
<g id="a_edge89&#45;label"><a xlink:title="compress/flate.(*decompressor).Read &#45;&gt; runtime.memmove (0.63s)">
<text text-anchor="middle" x="1221" y="-1329.3" font-family="Times,serif" font-size="14.00"> 0.63s</text>
</a>
</g>
</g>
<!-- N7 -->
<g id="node8" class="node"><title>N7</title>
<g id="a_node8"><a xlink:title="compress/flate.(*decompressor).huffSym (91.23s)">
<polygon fill="#f8f8f8" stroke="black" points="914,-1239 500,-1239 500,-1153 914,-1153 914,-1239"/>
<text text-anchor="middle" x="707" y="-1215.8" font-family="Times,serif" font-size="24.00">compress/flate.(*decompressor).huffSym</text>
<text text-anchor="middle" x="707" y="-1189.8" font-family="Times,serif" font-size="24.00">50.99s(23.45%)</text>
<text text-anchor="middle" x="707" y="-1163.8" font-family="Times,serif" font-size="24.00">of 91.23s(41.95%)</text>
</a>
</g>
</g>
<!-- N5&#45;&gt;N7 -->
<g id="edge6" class="edge"><title>N5&#45;&gt;N7</title>
<g id="a_edge6"><a xlink:title="compress/flate.(*decompressor).huffmanBlock &#45;&gt; compress/flate.(*decompressor).huffSym (90.26s)">
<path fill="none" stroke="black" stroke-width="3" d="M707,-1289.66C707,-1276.84 707,-1262.61 707,-1249.23"/>
<polygon fill="black" stroke="black" stroke-width="3" points="710.5,-1249.19 707,-1239.19 703.5,-1249.19 710.5,-1249.19"/>
</a>
</g>
<g id="a_edge6&#45;label"><a xlink:title="compress/flate.(*decompressor).huffmanBlock &#45;&gt; compress/flate.(*decompressor).huffSym (90.26s)">
<text text-anchor="middle" x="727" y="-1260.8" font-family="Times,serif" font-size="14.00"> 90.26s</text>
</a>
</g>
</g>
<!-- N8 -->
<g id="node9" class="node"><title>N8</title>
<g id="a_node9"><a xlink:title="compress/flate.(*decompressor).moreBits (48.97s)">
<polygon fill="#f8f8f8" stroke="black" points="889.5,-1102 524.5,-1102 524.5,-1025 889.5,-1025 889.5,-1102"/>
<text text-anchor="middle" x="707" y="-1081.2" font-family="Times,serif" font-size="21.00">compress/flate.(*decompressor).moreBits</text>
<text text-anchor="middle" x="707" y="-1058.2" font-family="Times,serif" font-size="21.00">29.75s(13.68%)</text>
<text text-anchor="middle" x="707" y="-1035.2" font-family="Times,serif" font-size="21.00">of 48.97s(22.52%)</text>
</a>
</g>
</g>
<!-- N5&#45;&gt;N8 -->
<g id="edge15" class="edge"><title>N5&#45;&gt;N8</title>
<g id="a_edge15"><a xlink:title="compress/flate.(*decompressor).huffmanBlock &#45;&gt; compress/flate.(*decompressor).moreBits (8.68s)">
<path fill="none" stroke="black" d="M515.665,-1289.9C492.631,-1277.16 471.997,-1260.58 457,-1239 435.187,-1207.61 434.939,-1184.21 457,-1153 471.956,-1131.84 492.419,-1115.71 515.244,-1103.41"/>
<polygon fill="black" stroke="black" points="517.133,-1106.38 524.452,-1098.72 513.953,-1100.14 517.133,-1106.38"/>
</a>
</g>
<g id="a_edge15&#45;label"><a xlink:title="compress/flate.(*decompressor).huffmanBlock &#45;&gt; compress/flate.(*decompressor).moreBits (8.68s)">
<text text-anchor="middle" x="474" y="-1192.3" font-family="Times,serif" font-size="14.00"> 8.68s</text>
</a>
</g>
</g>
<!-- N5&#45;&gt;N13 -->
<g id="edge17" class="edge"><title>N5&#45;&gt;N13</title>
<g id="a_edge17"><a xlink:title="compress/flate.(*decompressor).huffmanBlock &#45;&gt; runtime.memmove (7.85s)">
<path fill="none" stroke="black" d="M931.37,-1289.98C1034.14,-1269.72 1135.1,-1247.9 1143,-1239 1177.8,-1199.8 1173,-1134.32 1166.15,-1095.69"/>
<polygon fill="black" stroke="black" points="1169.52,-1094.71 1164.19,-1085.55 1162.65,-1096.04 1169.52,-1094.71"/>
</a>
</g>
<g id="a_edge17&#45;label"><a xlink:title="compress/flate.(*decompressor).huffmanBlock &#45;&gt; runtime.memmove (7.85s)">
<text text-anchor="middle" x="1188" y="-1192.3" font-family="Times,serif" font-size="14.00"> 7.85s</text>
</a>
</g>
</g>
<!-- N35 -->
<g id="node36" class="node"><title>N35</title>
<g id="a_node36"><a xlink:title="compress/flate.(*dictDecoder).writeCopy (2.99s)">
<polygon fill="#f8f8f8" stroke="black" points="1134,-1218 932,-1218 932,-1174 1134,-1174 1134,-1218"/>
<text text-anchor="middle" x="1033" y="-1205.2" font-family="Times,serif" font-size="11.00">compress/flate.(*dictDecoder).writeCopy</text>
<text text-anchor="middle" x="1033" y="-1193.2" font-family="Times,serif" font-size="11.00">1.65s(0.76%)</text>
<text text-anchor="middle" x="1033" y="-1181.2" font-family="Times,serif" font-size="11.00">of 2.99s(1.37%)</text>
</a>
</g>
</g>
<!-- N5&#45;&gt;N35 -->
<g id="edge30" class="edge"><title>N5&#45;&gt;N35</title>
<g id="a_edge30"><a xlink:title="compress/flate.(*decompressor).huffmanBlock &#45;&gt; compress/flate.(*dictDecoder).writeCopy (2.99s)">
<path fill="none" stroke="black" d="M808.807,-1289.84C862.527,-1267.59 926.62,-1241.05 972.491,-1222.06"/>
<polygon fill="black" stroke="black" points="974.093,-1225.18 981.993,-1218.12 971.414,-1218.72 974.093,-1225.18"/>
</a>
</g>
<g id="a_edge30&#45;label"><a xlink:title="compress/flate.(*decompressor).huffmanBlock &#45;&gt; compress/flate.(*dictDecoder).writeCopy (2.99s)">
<text text-anchor="middle" x="897" y="-1260.8" font-family="Times,serif" font-size="14.00"> 2.99s</text>
</a>
</g>
</g>
<!-- N6&#45;&gt;N5 -->
<g id="edge5" class="edge"><title>N6&#45;&gt;N5</title>
<g id="a_edge5"><a xlink:title="compress/flate.(*decompressor).nextBlock &#45;&gt; compress/flate.(*decompressor).huffmanBlock (111.08s)">
<path fill="none" stroke="black" stroke-width="3" d="M707,-1428.42C707,-1417.02 707,-1401.65 707,-1386.63"/>
<polygon fill="black" stroke="black" stroke-width="3" points="710.5,-1386.33 707,-1376.33 703.5,-1386.33 710.5,-1386.33"/>
</a>
</g>
<g id="a_edge5&#45;label"><a xlink:title="compress/flate.(*decompressor).nextBlock &#45;&gt; compress/flate.(*decompressor).huffmanBlock (111.08s)">
<text text-anchor="middle" x="730.5" y="-1397.8" font-family="Times,serif" font-size="14.00"> 111.08s</text>
</a>
</g>
</g>
<!-- N22 -->
<g id="node23" class="node"><title>N22</title>
<g id="a_node23"><a xlink:title="compress/flate.(*decompressor).readHuffman (6.67s)">
<polygon fill="#f8f8f8" stroke="black" points="1159,-1353.5 959,-1353.5 959,-1312.5 1159,-1312.5 1159,-1353.5"/>
<text text-anchor="middle" x="1059" y="-1341.5" font-family="Times,serif" font-size="10.00">compress/flate.(*decompressor).readHuffman</text>
<text text-anchor="middle" x="1059" y="-1330.5" font-family="Times,serif" font-size="10.00">0.45s(0.21%)</text>
<text text-anchor="middle" x="1059" y="-1319.5" font-family="Times,serif" font-size="10.00">of 6.67s(3.07%)</text>
</a>
</g>
</g>
<!-- N6&#45;&gt;N22 -->
<g id="edge22" class="edge"><title>N6&#45;&gt;N22</title>
<g id="a_edge22"><a xlink:title="compress/flate.(*decompressor).nextBlock &#45;&gt; compress/flate.(*decompressor).readHuffman (6.67s)">
<path fill="none" stroke="black" d="M775.044,-1428.43C824.032,-1415.02 891.515,-1395.71 950,-1376 966.868,-1370.31 984.983,-1363.59 1001.51,-1357.21"/>
<polygon fill="black" stroke="black" points="1002.98,-1360.39 1011.03,-1353.5 1000.44,-1353.87 1002.98,-1360.39"/>
</a>
</g>
<g id="a_edge22&#45;label"><a xlink:title="compress/flate.(*decompressor).nextBlock &#45;&gt; compress/flate.(*decompressor).readHuffman (6.67s)">
<text text-anchor="middle" x="908" y="-1397.8" font-family="Times,serif" font-size="14.00"> 6.67s</text>
</a>
</g>
</g>
<!-- N7&#45;&gt;N8 -->
<g id="edge8" class="edge"><title>N7&#45;&gt;N8</title>
<g id="a_edge8"><a xlink:title="compress/flate.(*decompressor).huffSym &#45;&gt; compress/flate.(*decompressor).moreBits (40.24s)">
<path fill="none" stroke="black" d="M707,-1152.99C707,-1139.93 707,-1125.44 707,-1112.02"/>
<polygon fill="black" stroke="black" points="710.5,-1112.02 707,-1102.02 703.5,-1112.02 710.5,-1112.02"/>
</a>
</g>
<g id="a_edge8&#45;label"><a xlink:title="compress/flate.(*decompressor).huffSym &#45;&gt; compress/flate.(*decompressor).moreBits (40.24s)">
<text text-anchor="middle" x="727" y="-1123.8" font-family="Times,serif" font-size="14.00"> 40.24s</text>
</a>
</g>
</g>
<!-- N10 -->
<g id="node11" class="node"><title>N10</title>
<g id="a_node11"><a xlink:title="github.com/biogo/hts/bgzf.(*decompressor).ReadByte (19.22s)">
<polygon fill="#f8f8f8" stroke="black" points="913,-973 501,-973 501,-925 913,-925 913,-973"/>
<text text-anchor="middle" x="707" y="-954.6" font-family="Times,serif" font-size="18.00">github.com/biogo/hts/bgzf.(*decompressor).ReadByte</text>
<text text-anchor="middle" x="707" y="-934.6" font-family="Times,serif" font-size="18.00">19.22s(8.84%)</text>
</a>
</g>
</g>
<!-- N8&#45;&gt;N10 -->
<g id="edge9" class="edge"><title>N8&#45;&gt;N10</title>
<g id="a_edge9"><a xlink:title="compress/flate.(*decompressor).moreBits &#45;&gt; github.com/biogo/hts/bgzf.(*decompressor).ReadByte (19.22s)">
<path fill="none" stroke="black" d="M707,-1024.73C707,-1011.36 707,-996.431 707,-983.45"/>
<polygon fill="black" stroke="black" points="710.5,-983.082 707,-973.082 703.5,-983.082 710.5,-983.082"/>
</a>
</g>
<g id="a_edge9&#45;label"><a xlink:title="compress/flate.(*decompressor).moreBits &#45;&gt; github.com/biogo/hts/bgzf.(*decompressor).ReadByte (19.22s)">
<text text-anchor="middle" x="727" y="-995.8" font-family="Times,serif" font-size="14.00"> 19.22s</text>
</a>
</g>
</g>
<!-- N9 -->
<g id="node10" class="node"><title>N9</title>
<g id="a_node10"><a xlink:title="runtime.systemstack (20.12s)">
<polygon fill="#f8f8f8" stroke="black" points="2059.5,-784 1960.5,-784 1960.5,-743 2059.5,-743 2059.5,-784"/>
<text text-anchor="middle" x="2010" y="-772" font-family="Times,serif" font-size="10.00">runtime.systemstack</text>
<text text-anchor="middle" x="2010" y="-761" font-family="Times,serif" font-size="10.00">0.78s(0.36%)</text>
<text text-anchor="middle" x="2010" y="-750" font-family="Times,serif" font-size="10.00">of 20.12s(9.25%)</text>
</a>
</g>
</g>
<!-- N17 -->
<g id="node18" class="node"><title>N17</title>
<g id="a_node18"><a xlink:title="runtime.gcDrain (8.84s)">
<polygon fill="#f8f8f8" stroke="black" points="2051.5,-692 1968.5,-692 1968.5,-651 2051.5,-651 2051.5,-692"/>
<text text-anchor="middle" x="2010" y="-680" font-family="Times,serif" font-size="10.00">runtime.gcDrain</text>
<text text-anchor="middle" x="2010" y="-669" font-family="Times,serif" font-size="10.00">0.30s(0.14%)</text>
<text text-anchor="middle" x="2010" y="-658" font-family="Times,serif" font-size="10.00">of 8.84s(4.07%)</text>
</a>
</g>
</g>
<!-- N9&#45;&gt;N17 -->
<g id="edge16" class="edge"><title>N9&#45;&gt;N17</title>
<g id="a_edge16"><a xlink:title="runtime.systemstack ... runtime.gcDrain (8.33s)">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M2010,-742.971C2010,-731.141 2010,-715.809 2010,-702.468"/>
<polygon fill="black" stroke="black" points="2013.5,-702.301 2010,-692.301 2006.5,-702.301 2013.5,-702.301"/>
</a>
</g>
<g id="a_edge16&#45;label"><a xlink:title="runtime.systemstack ... runtime.gcDrain (8.33s)">
<text text-anchor="middle" x="2027" y="-713.8" font-family="Times,serif" font-size="14.00"> 8.33s</text>
</a>
</g>
</g>
<!-- N39 -->
<g id="node40" class="node"><title>N39</title>
<g id="a_node40"><a xlink:title="runtime.writebarrierptr_prewrite1.func1 (2.63s)">
<polygon fill="#f8f8f8" stroke="black" points="2347.5,-692 2168.5,-692 2168.5,-651 2347.5,-651 2347.5,-692"/>
<text text-anchor="middle" x="2258" y="-680" font-family="Times,serif" font-size="10.00">runtime.writebarrierptr_prewrite1.func1</text>
<text text-anchor="middle" x="2258" y="-669" font-family="Times,serif" font-size="10.00">0.22s(0.1%)</text>
<text text-anchor="middle" x="2258" y="-658" font-family="Times,serif" font-size="10.00">of 2.63s(1.21%)</text>
</a>
</g>
</g>
<!-- N9&#45;&gt;N39 -->
<g id="edge34" class="edge"><title>N9&#45;&gt;N39</title>
<g id="a_edge34"><a xlink:title="runtime.systemstack &#45;&gt; runtime.writebarrierptr_prewrite1.func1 (2.63s)">
<path fill="none" stroke="black" d="M2059.59,-744.503C2098.41,-730.417 2152.66,-710.728 2194.63,-695.498"/>
<polygon fill="black" stroke="black" points="2195.99,-698.727 2204.2,-692.025 2193.6,-692.147 2195.99,-698.727"/>
</a>
</g>
<g id="a_edge34&#45;label"><a xlink:title="runtime.systemstack &#45;&gt; runtime.writebarrierptr_prewrite1.func1 (2.63s)">
<text text-anchor="middle" x="2165" y="-713.8" font-family="Times,serif" font-size="14.00"> 2.63s</text>
</a>
</g>
</g>
<!-- N50 -->
<g id="node51" class="node"><title>N50</title>
<g id="a_node51"><a xlink:title="runtime.gcDrainN (1.64s)">
<polygon fill="#f8f8f8" stroke="black" points="2150.5,-690.5 2069.5,-690.5 2069.5,-652.5 2150.5,-652.5 2150.5,-690.5"/>
<text text-anchor="middle" x="2110" y="-679.3" font-family="Times,serif" font-size="9.00">runtime.gcDrainN</text>
<text text-anchor="middle" x="2110" y="-669.3" font-family="Times,serif" font-size="9.00">0.06s(0.028%)</text>
<text text-anchor="middle" x="2110" y="-659.3" font-family="Times,serif" font-size="9.00">of 1.64s(0.75%)</text>
</a>
</g>
</g>
<!-- N9&#45;&gt;N50 -->
<g id="edge50" class="edge"><title>N9&#45;&gt;N50</title>
<g id="a_edge50"><a xlink:title="runtime.systemstack ... runtime.gcDrainN (1.61s)">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M2031.7,-742.971C2046.51,-729.643 2066.26,-711.869 2082.22,-697.506"/>
<polygon fill="black" stroke="black" points="2084.62,-700.055 2089.71,-690.764 2079.93,-694.852 2084.62,-700.055"/>
</a>
</g>
<g id="a_edge50&#45;label"><a xlink:title="runtime.systemstack ... runtime.gcDrainN (1.61s)">
<text text-anchor="middle" x="2082" y="-713.8" font-family="Times,serif" font-size="14.00"> 1.61s</text>
</a>
</g>
</g>
<!-- N60 -->
<g id="node61" class="node"><title>N60</title>
<g id="a_node61"><a xlink:title="runtime.(*mcache).nextFree.func1 (1.38s)">
<polygon fill="#f8f8f8" stroke="black" points="1922,-690.5 1784,-690.5 1784,-652.5 1922,-652.5 1922,-690.5"/>
<text text-anchor="middle" x="1853" y="-679.3" font-family="Times,serif" font-size="9.00">runtime.(*mcache).nextFree.func1</text>
<text text-anchor="middle" x="1853" y="-669.3" font-family="Times,serif" font-size="9.00">0.02s(0.0092%)</text>
<text text-anchor="middle" x="1853" y="-659.3" font-family="Times,serif" font-size="9.00">of 1.38s(0.63%)</text>
</a>
</g>
</g>
<!-- N9&#45;&gt;N60 -->
<g id="edge56" class="edge"><title>N9&#45;&gt;N60</title>
<g id="a_edge56"><a xlink:title="runtime.systemstack &#45;&gt; runtime.(*mcache).nextFree.func1 (1.38s)">
<path fill="none" stroke="black" d="M1975.93,-742.971C1951.65,-729.051 1918.91,-710.283 1893.32,-695.615"/>
<polygon fill="black" stroke="black" points="1895.01,-692.549 1884.6,-690.612 1891.53,-698.622 1895.01,-692.549"/>
</a>
</g>
<g id="a_edge56&#45;label"><a xlink:title="runtime.systemstack &#45;&gt; runtime.(*mcache).nextFree.func1 (1.38s)">
<text text-anchor="middle" x="1957" y="-713.8" font-family="Times,serif" font-size="14.00"> 1.38s</text>
</a>
</g>
</g>
<!-- N65 -->
<g id="node66" class="node"><title>N65</title>
<g id="a_node66"><a xlink:title="runtime.markroot.func1 (1.32s)">
<polygon fill="#f8f8f8" stroke="black" points="2466.5,-690.5 2365.5,-690.5 2365.5,-652.5 2466.5,-652.5 2466.5,-690.5"/>
<text text-anchor="middle" x="2416" y="-679.3" font-family="Times,serif" font-size="9.00">runtime.markroot.func1</text>
<text text-anchor="middle" x="2416" y="-669.3" font-family="Times,serif" font-size="9.00">0.02s(0.0092%)</text>
<text text-anchor="middle" x="2416" y="-659.3" font-family="Times,serif" font-size="9.00">of 1.32s(0.61%)</text>
</a>
</g>
</g>
<!-- N9&#45;&gt;N65 -->
<g id="edge62" class="edge"><title>N9&#45;&gt;N65</title>
<g id="a_edge62"><a xlink:title="runtime.systemstack &#45;&gt; runtime.markroot.func1 (1.32s)">
<path fill="none" stroke="black" d="M2059.56,-754.341C2125.3,-743.099 2245.01,-721.169 2355.31,-692.323"/>
<polygon fill="black" stroke="black" points="2356.49,-695.63 2365.27,-689.692 2354.7,-688.862 2356.49,-695.63"/>
</a>
</g>
<g id="a_edge62&#45;label"><a xlink:title="runtime.systemstack &#45;&gt; runtime.markroot.func1 (1.32s)">
<text text-anchor="middle" x="2298" y="-713.8" font-family="Times,serif" font-size="14.00"> 1.32s</text>
</a>
</g>
</g>
<!-- N12 -->
<g id="node13" class="node"><title>N12</title>
<g id="a_node13"><a xlink:title="github.com/biogo/hts/bam.(*Reader).Read (15.71s)">
<polygon fill="#f8f8f8" stroke="black" points="1611,-1652 1407,-1652 1407,-1608 1611,-1608 1611,-1652"/>
<text text-anchor="middle" x="1509" y="-1639.2" font-family="Times,serif" font-size="11.00">github.com/biogo/hts/bam.(*Reader).Read</text>
<text text-anchor="middle" x="1509" y="-1627.2" font-family="Times,serif" font-size="11.00">0.93s(0.43%)</text>
<text text-anchor="middle" x="1509" y="-1615.2" font-family="Times,serif" font-size="11.00">of 15.71s(7.22%)</text>
</a>
</g>
</g>
<!-- N11&#45;&gt;N12 -->
<g id="edge11" class="edge"><title>N11&#45;&gt;N12</title>
<g id="a_edge11"><a xlink:title="main.main &#45;&gt; github.com/biogo/hts/bam.(*Reader).Read (15.71s)">
<path fill="none" stroke="black" d="M1310.08,-1706.51C1347.84,-1692.17 1401.73,-1671.72 1443.89,-1655.71"/>
<polygon fill="black" stroke="black" points="1445.14,-1658.99 1453.25,-1652.16 1442.65,-1652.44 1445.14,-1658.99"/>
</a>
</g>
<g id="a_edge11&#45;label"><a xlink:title="main.main &#45;&gt; github.com/biogo/hts/bam.(*Reader).Read (15.71s)">
<text text-anchor="middle" x="1422" y="-1673.8" font-family="Times,serif" font-size="14.00"> 15.71s</text>
</a>
</g>
</g>
<!-- N16 -->
<g id="node17" class="node"><title>N16</title>
<g id="a_node17"><a xlink:title="github.com/biogo/hts/bam.newBuffer (10s)">
<polygon fill="#f8f8f8" stroke="black" points="1748,-1468 1578,-1468 1578,-1427 1748,-1427 1748,-1468"/>
<text text-anchor="middle" x="1663" y="-1456" font-family="Times,serif" font-size="10.00">github.com/biogo/hts/bam.newBuffer</text>
<text text-anchor="middle" x="1663" y="-1445" font-family="Times,serif" font-size="10.00">0.68s(0.31%)</text>
<text text-anchor="middle" x="1663" y="-1434" font-family="Times,serif" font-size="10.00">of 10s(4.60%)</text>
</a>
</g>
</g>
<!-- N12&#45;&gt;N16 -->
<g id="edge13" class="edge"><title>N12&#45;&gt;N16</title>
<g id="a_edge13"><a xlink:title="github.com/biogo/hts/bam.(*Reader).Read &#45;&gt; github.com/biogo/hts/bam.newBuffer (10s)">
<path fill="none" stroke="black" d="M1542.75,-1607.84C1550.14,-1602.47 1557.65,-1596.39 1564,-1590 1598.47,-1555.31 1629.21,-1507.37 1646.98,-1477.16"/>
<polygon fill="black" stroke="black" points="1650.07,-1478.79 1652.06,-1468.39 1644.02,-1475.28 1650.07,-1478.79"/>
</a>
</g>
<g id="a_edge13&#45;label"><a xlink:title="github.com/biogo/hts/bam.(*Reader).Read &#45;&gt; github.com/biogo/hts/bam.newBuffer (10s)">
<text text-anchor="middle" x="1631.5" y="-1534.3" font-family="Times,serif" font-size="14.00"> 10s</text>
</a>
</g>
</g>
<!-- N26 -->
<g id="node27" class="node"><title>N26</title>
<g id="a_node27"><a xlink:title="runtime.newobject (5.17s)">
<polygon fill="#f8f8f8" stroke="black" points="1836,-1082.5 1754,-1082.5 1754,-1044.5 1836,-1044.5 1836,-1082.5"/>
<text text-anchor="middle" x="1795" y="-1071.3" font-family="Times,serif" font-size="9.00">runtime.newobject</text>
<text text-anchor="middle" x="1795" y="-1061.3" font-family="Times,serif" font-size="9.00">0.17s(0.078%)</text>
<text text-anchor="middle" x="1795" y="-1051.3" font-family="Times,serif" font-size="9.00">of 5.17s(2.38%)</text>
</a>
</g>
</g>
<!-- N12&#45;&gt;N26 -->
<g id="edge40" class="edge"><title>N12&#45;&gt;N26</title>
<g id="a_edge40"><a xlink:title="github.com/biogo/hts/bam.(*Reader).Read &#45;&gt; runtime.newobject (2.13s)">
<path fill="none" stroke="black" d="M1511.03,-1607.72C1515.63,-1568.78 1529.68,-1484.76 1569,-1427 1576.31,-1416.27 1583.61,-1418.9 1592,-1409 1641.78,-1350.29 1637.81,-1324.39 1675,-1257 1700.57,-1210.66 1704.89,-1197.84 1733,-1153 1746.32,-1131.75 1762.64,-1108.56 1775.19,-1091.25"/>
<polygon fill="black" stroke="black" points="1778.31,-1092.91 1781.37,-1082.77 1772.65,-1088.79 1778.31,-1092.91"/>
</a>
</g>
<g id="a_edge40&#45;label"><a xlink:title="github.com/biogo/hts/bam.(*Reader).Read &#45;&gt; runtime.newobject (2.13s)">
<text text-anchor="middle" x="1621" y="-1397.8" font-family="Times,serif" font-size="14.00"> 2.13s</text>
</a>
</g>
</g>
<!-- N38 -->
<g id="node39" class="node"><title>N38</title>
<g id="a_node39"><a xlink:title="runtime.writebarrierptr (2.63s)">
<polygon fill="#f8f8f8" stroke="black" points="2012.5,-1215 1915.5,-1215 1915.5,-1177 2012.5,-1177 2012.5,-1215"/>
<text text-anchor="middle" x="1964" y="-1203.8" font-family="Times,serif" font-size="9.00">runtime.writebarrierptr</text>
<text text-anchor="middle" x="1964" y="-1193.8" font-family="Times,serif" font-size="9.00">0.10s(0.046%)</text>
<text text-anchor="middle" x="1964" y="-1183.8" font-family="Times,serif" font-size="9.00">of 2.63s(1.21%)</text>
</a>
</g>
</g>
<!-- N12&#45;&gt;N38 -->
<g id="edge91" class="edge"><title>N12&#45;&gt;N38</title>
<g id="a_edge91"><a xlink:title="github.com/biogo/hts/bam.(*Reader).Read &#45;&gt; runtime.writebarrierptr (0.60s)">
<path fill="none" stroke="black" d="M1611.37,-1624.57C1681.5,-1617.52 1774.26,-1599.98 1845,-1557 1938.54,-1500.17 1972.15,-1477.94 2012,-1376 2031.41,-1326.35 2020.89,-1304.65 1997,-1257 1991.53,-1246.1 1985.15,-1234.3 1979.46,-1224.07"/>
<polygon fill="black" stroke="black" points="1982.42,-1222.2 1974.48,-1215.19 1976.32,-1225.62 1982.42,-1222.2"/>
</a>
</g>
<g id="a_edge91&#45;label"><a xlink:title="github.com/biogo/hts/bam.(*Reader).Read &#45;&gt; runtime.writebarrierptr (0.60s)">
<text text-anchor="middle" x="2006" y="-1443.8" font-family="Times,serif" font-size="14.00"> 0.60s</text>
</a>
</g>
</g>
<!-- N64 -->
<g id="node65" class="node"><title>N64</title>
<g id="a_node65"><a xlink:title="runtime.slicebytetostring (1.35s)">
<polygon fill="#f8f8f8" stroke="black" points="1836,-1557 1732,-1557 1732,-1519 1836,-1519 1836,-1557"/>
<text text-anchor="middle" x="1784" y="-1545.8" font-family="Times,serif" font-size="9.00">runtime.slicebytetostring</text>
<text text-anchor="middle" x="1784" y="-1535.8" font-family="Times,serif" font-size="9.00">0.08s(0.037%)</text>
<text text-anchor="middle" x="1784" y="-1525.8" font-family="Times,serif" font-size="9.00">of 1.35s(0.62%)</text>
</a>
</g>
</g>
<!-- N12&#45;&gt;N64 -->
<g id="edge59" class="edge"><title>N12&#45;&gt;N64</title>
<g id="a_edge59"><a xlink:title="github.com/biogo/hts/bam.(*Reader).Read &#45;&gt; runtime.slicebytetostring (1.35s)">
<path fill="none" stroke="black" d="M1584.38,-1607.98C1603.57,-1602.37 1624.11,-1596.16 1643,-1590 1670.76,-1580.95 1701.26,-1570.04 1726.78,-1560.64"/>
<polygon fill="black" stroke="black" points="1728.13,-1563.87 1736.3,-1557.11 1725.7,-1557.3 1728.13,-1563.87"/>
</a>
</g>
<g id="a_edge59&#45;label"><a xlink:title="github.com/biogo/hts/bam.(*Reader).Read &#45;&gt; runtime.slicebytetostring (1.35s)">
<text text-anchor="middle" x="1703" y="-1578.8" font-family="Times,serif" font-size="14.00"> 1.35s</text>
</a>
</g>
</g>
<!-- N14&#45;&gt;N9 -->
<g id="edge14" class="edge"><title>N14&#45;&gt;N9</title>
<g id="a_edge14"><a xlink:title="runtime.gcBgMarkWorker &#45;&gt; runtime.systemstack (9.45s)">
<path fill="none" stroke="black" d="M2062.85,-929.844C2057.73,-914.673 2050.29,-892.459 2044,-873 2035.35,-846.246 2025.8,-815.673 2019.03,-793.815"/>
<polygon fill="black" stroke="black" points="2022.33,-792.654 2016.04,-784.135 2015.65,-794.722 2022.33,-792.654"/>
</a>
</g>
<g id="a_edge14&#45;label"><a xlink:title="runtime.gcBgMarkWorker &#45;&gt; runtime.systemstack (9.45s)">
<text text-anchor="middle" x="2061" y="-850.3" font-family="Times,serif" font-size="14.00"> 9.45s</text>
</a>
</g>
</g>
<!-- N75 -->
<g id="node76" class="node"><title>N75</title>
<g id="a_node76"><a xlink:title="runtime.gcMarkDone (1.25s)">
<polygon fill="#f8f8f8" stroke="black" points="2179.5,-873 2086.5,-873 2086.5,-835 2179.5,-835 2179.5,-873"/>
<text text-anchor="middle" x="2133" y="-861.8" font-family="Times,serif" font-size="9.00">runtime.gcMarkDone</text>
<text text-anchor="middle" x="2133" y="-851.8" font-family="Times,serif" font-size="9.00">0.01s(0.0046%)</text>
<text text-anchor="middle" x="2133" y="-841.8" font-family="Times,serif" font-size="9.00">of 1.25s(0.57%)</text>
</a>
</g>
</g>
<!-- N14&#45;&gt;N75 -->
<g id="edge72" class="edge"><title>N14&#45;&gt;N75</title>
<g id="a_edge72"><a xlink:title="runtime.gcBgMarkWorker &#45;&gt; runtime.gcMarkDone (1.22s)">
<path fill="none" stroke="black" d="M2081.64,-929.626C2091.08,-915.908 2104.12,-896.96 2114.7,-881.589"/>
<polygon fill="black" stroke="black" points="2117.81,-883.241 2120.6,-873.019 2112.05,-879.273 2117.81,-883.241"/>
</a>
</g>
<g id="a_edge72&#45;label"><a xlink:title="runtime.gcBgMarkWorker &#45;&gt; runtime.gcMarkDone (1.22s)">
<text text-anchor="middle" x="2123" y="-894.8" font-family="Times,serif" font-size="14.00"> 1.22s</text>
</a>
</g>
</g>
<!-- N15 -->
<g id="node16" class="node"><title>N15</title>
<g id="a_node16"><a xlink:title="runtime.mallocgc (10.24s)">
<polygon fill="#f8f8f8" stroke="black" points="1814,-974 1704,-974 1704,-924 1814,-924 1814,-974"/>
<text text-anchor="middle" x="1759" y="-959.6" font-family="Times,serif" font-size="13.00">runtime.mallocgc</text>
<text text-anchor="middle" x="1759" y="-945.6" font-family="Times,serif" font-size="13.00">3.22s(1.48%)</text>
<text text-anchor="middle" x="1759" y="-931.6" font-family="Times,serif" font-size="13.00">of 10.24s(4.71%)</text>
</a>
</g>
</g>
<!-- N15&#45;&gt;N9 -->
<g id="edge77" class="edge"><title>N15&#45;&gt;N9</title>
<g id="a_edge77"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.systemstack (1.11s)">
<path fill="none" stroke="black" d="M1703.74,-938.423C1629.76,-923.271 1512.87,-889.739 1559,-835 1608.28,-776.53 1839.54,-766.15 1950.41,-764.583"/>
<polygon fill="black" stroke="black" points="1950.48,-768.083 1960.44,-764.461 1950.4,-761.084 1950.48,-768.083"/>
</a>
</g>
<g id="a_edge77&#45;label"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.systemstack (1.11s)">
<text text-anchor="middle" x="1576" y="-850.3" font-family="Times,serif" font-size="14.00"> 1.11s</text>
</a>
</g>
</g>
<!-- N44 -->
<g id="node45" class="node"><title>N44</title>
<g id="a_node45"><a xlink:title="runtime.(*mcache).nextFree (1.84s)">
<polygon fill="#f8f8f8" stroke="black" points="1958,-873 1842,-873 1842,-835 1958,-835 1958,-873"/>
<text text-anchor="middle" x="1900" y="-861.8" font-family="Times,serif" font-size="9.00">runtime.(*mcache).nextFree</text>
<text text-anchor="middle" x="1900" y="-851.8" font-family="Times,serif" font-size="9.00">0.06s(0.028%)</text>
<text text-anchor="middle" x="1900" y="-841.8" font-family="Times,serif" font-size="9.00">of 1.84s(0.85%)</text>
</a>
</g>
</g>
<!-- N15&#45;&gt;N44 -->
<g id="edge44" class="edge"><title>N15&#45;&gt;N44</title>
<g id="a_edge44"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.(*mcache).nextFree (1.84s)">
<path fill="none" stroke="black" d="M1795.68,-923.808C1816.67,-909.963 1842.9,-892.66 1863.81,-878.869"/>
<polygon fill="black" stroke="black" points="1865.99,-881.622 1872.41,-873.194 1862.14,-875.779 1865.99,-881.622"/>
</a>
</g>
<g id="a_edge44&#45;label"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.(*mcache).nextFree (1.84s)">
<text text-anchor="middle" x="1859" y="-894.8" font-family="Times,serif" font-size="14.00"> 1.84s</text>
</a>
</g>
</g>
<!-- N46 -->
<g id="node47" class="node"><title>N46</title>
<g id="a_node47"><a xlink:title="runtime.gcAssistAlloc (1.75s)">
<polygon fill="#f8f8f8" stroke="black" points="1514,-873 1418,-873 1418,-835 1514,-835 1514,-873"/>
<text text-anchor="middle" x="1466" y="-861.8" font-family="Times,serif" font-size="9.00">runtime.gcAssistAlloc</text>
<text text-anchor="middle" x="1466" y="-851.8" font-family="Times,serif" font-size="9.00">0.02s(0.0092%)</text>
<text text-anchor="middle" x="1466" y="-841.8" font-family="Times,serif" font-size="9.00">of 1.75s(0.8%)</text>
</a>
</g>
</g>
<!-- N15&#45;&gt;N46 -->
<g id="edge45" class="edge"><title>N15&#45;&gt;N46</title>
<g id="a_edge45"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.gcAssistAlloc (1.75s)">
<path fill="none" stroke="black" d="M1703.94,-943.989C1638.73,-938.389 1534.82,-926.532 1502,-906 1492.7,-900.18 1485.12,-890.986 1479.36,-881.997"/>
<polygon fill="black" stroke="black" points="1482.29,-880.067 1474.21,-873.209 1476.25,-883.606 1482.29,-880.067"/>
</a>
</g>
<g id="a_edge45&#45;label"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.gcAssistAlloc (1.75s)">
<text text-anchor="middle" x="1519" y="-894.8" font-family="Times,serif" font-size="14.00"> 1.75s</text>
</a>
</g>
</g>
<!-- N80 -->
<g id="node81" class="node"><title>N80</title>
<g id="a_node81"><a xlink:title="runtime.heapBitsSetType (1.12s)">
<polygon fill="#f8f8f8" stroke="black" points="1823.5,-872 1694.5,-872 1694.5,-836 1823.5,-836 1823.5,-872"/>
<text text-anchor="middle" x="1759" y="-857.2" font-family="Times,serif" font-size="11.00">runtime.heapBitsSetType</text>
<text text-anchor="middle" x="1759" y="-845.2" font-family="Times,serif" font-size="11.00">1.12s(0.52%)</text>
</a>
</g>
</g>
<!-- N15&#45;&gt;N80 -->
<g id="edge76" class="edge"><title>N15&#45;&gt;N80</title>
<g id="a_edge76"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.heapBitsSetType (1.12s)">
<path fill="none" stroke="black" d="M1759,-923.565C1759,-910.952 1759,-895.519 1759,-882.491"/>
<polygon fill="black" stroke="black" points="1762.5,-882.227 1759,-872.227 1755.5,-882.227 1762.5,-882.227"/>
</a>
</g>
<g id="a_edge76&#45;label"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.heapBitsSetType (1.12s)">
<text text-anchor="middle" x="1776" y="-894.8" font-family="Times,serif" font-size="14.00"> 1.12s</text>
</a>
</g>
</g>
<!-- N16&#45;&gt;N26 -->
<g id="edge75" class="edge"><title>N16&#45;&gt;N26</title>
<g id="a_edge75"><a xlink:title="github.com/biogo/hts/bam.newBuffer &#45;&gt; runtime.newobject (1.15s)">
<path fill="none" stroke="black" d="M1670.51,-1426.69C1672.64,-1420.99 1674.94,-1414.76 1677,-1409 1718.9,-1291.92 1766.07,-1151.39 1785.68,-1092.55"/>
<polygon fill="black" stroke="black" points="1789.07,-1093.46 1788.91,-1082.86 1782.43,-1091.24 1789.07,-1093.46"/>
</a>
</g>
<g id="a_edge75&#45;label"><a xlink:title="github.com/biogo/hts/bam.newBuffer &#45;&gt; runtime.newobject (1.15s)">
<text text-anchor="middle" x="1745" y="-1260.8" font-family="Times,serif" font-size="14.00"> 1.15s</text>
</a>
</g>
</g>
<!-- N29 -->
<g id="node30" class="node"><title>N29</title>
<g id="a_node30"><a xlink:title="runtime.makeslice (4.52s)">
<polygon fill="#f8f8f8" stroke="black" points="1337.5,-1084 1246.5,-1084 1246.5,-1043 1337.5,-1043 1337.5,-1084"/>
<text text-anchor="middle" x="1292" y="-1072" font-family="Times,serif" font-size="10.00">runtime.makeslice</text>
<text text-anchor="middle" x="1292" y="-1061" font-family="Times,serif" font-size="10.00">0.32s(0.15%)</text>
<text text-anchor="middle" x="1292" y="-1050" font-family="Times,serif" font-size="10.00">of 4.52s(2.08%)</text>
</a>
</g>
</g>
<!-- N16&#45;&gt;N29 -->
<g id="edge42" class="edge"><title>N16&#45;&gt;N29</title>
<g id="a_edge42"><a xlink:title="github.com/biogo/hts/bam.newBuffer &#45;&gt; runtime.makeslice (1.87s)">
<path fill="none" stroke="black" d="M1667.6,-1426.92C1679.76,-1369.61 1706.06,-1201.17 1617,-1120 1594.78,-1099.75 1375.42,-1111.81 1347,-1102 1338.76,-1099.15 1330.59,-1094.73 1323.18,-1089.9"/>
<polygon fill="black" stroke="black" points="1325.07,-1086.95 1314.86,-1084.12 1321.07,-1092.7 1325.07,-1086.95"/>
</a>
</g>
<g id="a_edge42&#45;label"><a xlink:title="github.com/biogo/hts/bam.newBuffer &#45;&gt; runtime.makeslice (1.87s)">
<text text-anchor="middle" x="1697" y="-1260.8" font-family="Times,serif" font-size="14.00"> 1.87s</text>
</a>
</g>
</g>
<!-- N30 -->
<g id="node31" class="node"><title>N30</title>
<g id="a_node31"><a xlink:title="io.ReadFull (4.38s)">
<polygon fill="#f8f8f8" stroke="black" points="1594.5,-1352 1519.5,-1352 1519.5,-1314 1594.5,-1314 1594.5,-1352"/>
<text text-anchor="middle" x="1557" y="-1340.8" font-family="Times,serif" font-size="9.00">io.ReadFull</text>
<text text-anchor="middle" x="1557" y="-1330.8" font-family="Times,serif" font-size="9.00">0.16s(0.074%)</text>
<text text-anchor="middle" x="1557" y="-1320.8" font-family="Times,serif" font-size="9.00">of 4.38s(2.01%)</text>
</a>
</g>
</g>
<!-- N16&#45;&gt;N30 -->
<g id="edge31" class="edge"><title>N16&#45;&gt;N30</title>
<g id="a_edge31"><a xlink:title="github.com/biogo/hts/bam.newBuffer &#45;&gt; io.ReadFull (2.92s)">
<path fill="none" stroke="black" d="M1577.9,-1427.13C1570.18,-1422.35 1563.29,-1416.4 1558,-1409 1548.46,-1395.66 1548.07,-1377.29 1550.13,-1362.07"/>
<polygon fill="black" stroke="black" points="1553.59,-1362.6 1551.86,-1352.14 1546.69,-1361.39 1553.59,-1362.6"/>
</a>
</g>
<g id="a_edge31&#45;label"><a xlink:title="github.com/biogo/hts/bam.newBuffer &#45;&gt; io.ReadFull (2.92s)">
<text text-anchor="middle" x="1575" y="-1397.8" font-family="Times,serif" font-size="14.00"> 2.92s</text>
</a>
</g>
</g>
<!-- N16&#45;&gt;N38 -->
<g id="edge92" class="edge"><title>N16&#45;&gt;N38</title>
<g id="a_edge92"><a xlink:title="github.com/biogo/hts/bam.newBuffer &#45;&gt; runtime.writebarrierptr (0.57s)">
<path fill="none" stroke="black" d="M1744.29,-1426.89C1774.02,-1416.16 1805.77,-1399.99 1828,-1376 1856.28,-1345.48 1841.11,-1324.07 1865,-1290 1883.52,-1263.58 1910.53,-1238.83 1931.66,-1221.52"/>
<polygon fill="black" stroke="black" points="1934.13,-1224.02 1939.73,-1215.03 1929.74,-1218.57 1934.13,-1224.02"/>
</a>
</g>
<g id="a_edge92&#45;label"><a xlink:title="github.com/biogo/hts/bam.newBuffer &#45;&gt; runtime.writebarrierptr (0.57s)">
<text text-anchor="middle" x="1882" y="-1329.3" font-family="Times,serif" font-size="14.00"> 0.57s</text>
</a>
</g>
</g>
<!-- N48 -->
<g id="node49" class="node"><title>N48</title>
<g id="a_node49"><a xlink:title="runtime.deferreturn (1.69s)">
<polygon fill="#f8f8f8" stroke="black" points="2002.5,-1353.5 1907.5,-1353.5 1907.5,-1312.5 2002.5,-1312.5 2002.5,-1353.5"/>
<text text-anchor="middle" x="1955" y="-1341.5" font-family="Times,serif" font-size="10.00">runtime.deferreturn</text>
<text text-anchor="middle" x="1955" y="-1330.5" font-family="Times,serif" font-size="10.00">0.30s(0.14%)</text>
<text text-anchor="middle" x="1955" y="-1319.5" font-family="Times,serif" font-size="10.00">of 1.69s(0.78%)</text>
</a>
</g>
</g>
<!-- N16&#45;&gt;N48 -->
<g id="edge53" class="edge"><title>N16&#45;&gt;N48</title>
<g id="a_edge53"><a xlink:title="github.com/biogo/hts/bam.newBuffer &#45;&gt; runtime.deferreturn (1.47s)">
<path fill="none" stroke="black" d="M1748.16,-1428.84C1751.48,-1428.21 1754.77,-1427.59 1758,-1427 1807.16,-1417.97 1823.76,-1430.24 1869,-1409 1893.1,-1397.68 1915.6,-1377.57 1931.54,-1361.03"/>
<polygon fill="black" stroke="black" points="1934.1,-1363.41 1938.38,-1353.72 1928.99,-1358.62 1934.1,-1363.41"/>
</a>
</g>
<g id="a_edge53&#45;label"><a xlink:title="github.com/biogo/hts/bam.newBuffer &#45;&gt; runtime.deferreturn (1.47s)">
<text text-anchor="middle" x="1910" y="-1397.8" font-family="Times,serif" font-size="14.00"> 1.47s</text>
</a>
</g>
</g>
<!-- N78 -->
<g id="node79" class="node"><title>N78</title>
<g id="a_node79"><a xlink:title="runtime.deferproc (1.15s)">
<polygon fill="#f8f8f8" stroke="black" points="1818.5,-1353.5 1729.5,-1353.5 1729.5,-1312.5 1818.5,-1312.5 1818.5,-1353.5"/>
<text text-anchor="middle" x="1774" y="-1341.5" font-family="Times,serif" font-size="10.00">runtime.deferproc</text>
<text text-anchor="middle" x="1774" y="-1330.5" font-family="Times,serif" font-size="10.00">0.23s(0.11%)</text>
<text text-anchor="middle" x="1774" y="-1319.5" font-family="Times,serif" font-size="10.00">of 1.15s(0.53%)</text>
</a>
</g>
</g>
<!-- N16&#45;&gt;N78 -->
<g id="edge79" class="edge"><title>N16&#45;&gt;N78</title>
<g id="a_edge79"><a xlink:title="github.com/biogo/hts/bam.newBuffer &#45;&gt; runtime.deferproc (1.02s)">
<path fill="none" stroke="black" d="M1693.28,-1426.83C1700.71,-1421.44 1708.41,-1415.32 1715,-1409 1729.79,-1394.81 1744.07,-1376.82 1754.87,-1362.02"/>
<polygon fill="black" stroke="black" points="1757.83,-1363.89 1760.81,-1353.72 1752.14,-1359.82 1757.83,-1363.89"/>
</a>
</g>
<g id="a_edge79&#45;label"><a xlink:title="github.com/biogo/hts/bam.newBuffer &#45;&gt; runtime.deferproc (1.02s)">
<text text-anchor="middle" x="1744" y="-1397.8" font-family="Times,serif" font-size="14.00"> 1.02s</text>
</a>
</g>
</g>
<!-- N18 -->
<g id="node19" class="node"><title>N18</title>
<g id="a_node19"><a xlink:title="runtime.scanobject (8.47s)">
<polygon fill="#f8f8f8" stroke="black" points="2130,-600 2010,-600 2010,-547 2130,-547 2130,-600"/>
<text text-anchor="middle" x="2070" y="-584.8" font-family="Times,serif" font-size="14.00">runtime.scanobject</text>
<text text-anchor="middle" x="2070" y="-569.8" font-family="Times,serif" font-size="14.00">7.02s(3.23%)</text>
<text text-anchor="middle" x="2070" y="-554.8" font-family="Times,serif" font-size="14.00">of 8.47s(3.89%)</text>
</a>
</g>
</g>
<!-- N17&#45;&gt;N18 -->
<g id="edge18" class="edge"><title>N17&#45;&gt;N18</title>
<g id="a_edge18"><a xlink:title="runtime.gcDrain &#45;&gt; runtime.scanobject (7.11s)">
<path fill="none" stroke="black" d="M2022.43,-650.609C2029.92,-638.625 2039.67,-623.032 2048.39,-609.083"/>
<polygon fill="black" stroke="black" points="2051.6,-610.544 2053.93,-600.208 2045.66,-606.833 2051.6,-610.544"/>
</a>
</g>
<g id="a_edge18&#45;label"><a xlink:title="runtime.gcDrain &#45;&gt; runtime.scanobject (7.11s)">
<text text-anchor="middle" x="2058" y="-621.8" font-family="Times,serif" font-size="14.00"> 7.11s</text>
</a>
</g>
</g>
<!-- N55 -->
<g id="node56" class="node"><title>N55</title>
<g id="a_node56"><a xlink:title="runtime.markroot (1.45s)">
<polygon fill="#f8f8f8" stroke="black" points="1992,-592.5 1914,-592.5 1914,-554.5 1992,-554.5 1992,-592.5"/>
<text text-anchor="middle" x="1953" y="-581.3" font-family="Times,serif" font-size="9.00">runtime.markroot</text>
<text text-anchor="middle" x="1953" y="-571.3" font-family="Times,serif" font-size="9.00">0.07s(0.032%)</text>
<text text-anchor="middle" x="1953" y="-561.3" font-family="Times,serif" font-size="9.00">of 1.45s(0.67%)</text>
</a>
</g>
</g>
<!-- N17&#45;&gt;N55 -->
<g id="edge70" class="edge"><title>N17&#45;&gt;N55</title>
<g id="a_edge70"><a xlink:title="runtime.gcDrain &#45;&gt; runtime.markroot (1.26s)">
<path fill="none" stroke="black" d="M1978.47,-650.675C1972.51,-645.591 1966.93,-639.652 1963,-633 1957.63,-623.913 1954.96,-612.733 1953.69,-602.589"/>
<polygon fill="black" stroke="black" points="1957.16,-602.183 1952.81,-592.525 1950.19,-602.791 1957.16,-602.183"/>
</a>
</g>
<g id="a_edge70&#45;label"><a xlink:title="runtime.gcDrain &#45;&gt; runtime.markroot (1.26s)">
<text text-anchor="middle" x="1980" y="-621.8" font-family="Times,serif" font-size="14.00"> 1.26s</text>
</a>
</g>
</g>
<!-- N54 -->
<g id="node55" class="node"><title>N54</title>
<g id="a_node55"><a xlink:title="runtime.heapBitsForObject (1.48s)">
<polygon fill="#f8f8f8" stroke="black" points="2145.5,-397 2008.5,-397 2008.5,-361 2145.5,-361 2145.5,-397"/>
<text text-anchor="middle" x="2077" y="-382.2" font-family="Times,serif" font-size="11.00">runtime.heapBitsForObject</text>
<text text-anchor="middle" x="2077" y="-370.2" font-family="Times,serif" font-size="11.00">1.48s(0.68%)</text>
</a>
</g>
</g>
<!-- N18&#45;&gt;N54 -->
<g id="edge86" class="edge"><title>N18&#45;&gt;N54</title>
<g id="a_edge86"><a xlink:title="runtime.scanobject &#45;&gt; runtime.heapBitsForObject (0.71s)">
<path fill="none" stroke="black" d="M2070.93,-546.937C2072.25,-510.635 2074.66,-444.431 2076.01,-407.235"/>
<polygon fill="black" stroke="black" points="2079.51,-407.245 2076.38,-397.124 2072.52,-406.99 2079.51,-407.245"/>
</a>
</g>
<g id="a_edge86&#45;label"><a xlink:title="runtime.scanobject &#45;&gt; runtime.heapBitsForObject (0.71s)">
<text text-anchor="middle" x="2091" y="-470.3" font-family="Times,serif" font-size="14.00"> 0.71s</text>
</a>
</g>
</g>
<!-- N79 -->
<g id="node80" class="node"><title>N79</title>
<g id="a_node80"><a xlink:title="runtime.greyobject (1.13s)">
<polygon fill="#f8f8f8" stroke="black" points="2270,-401 2170,-401 2170,-357 2270,-357 2270,-401"/>
<text text-anchor="middle" x="2220" y="-388.2" font-family="Times,serif" font-size="11.00">runtime.greyobject</text>
<text text-anchor="middle" x="2220" y="-376.2" font-family="Times,serif" font-size="11.00">1.08s(0.5%)</text>
<text text-anchor="middle" x="2220" y="-364.2" font-family="Times,serif" font-size="11.00">of 1.13s(0.52%)</text>
</a>
</g>
</g>
<!-- N18&#45;&gt;N79 -->
<g id="edge83" class="edge"><title>N18&#45;&gt;N79</title>
<g id="a_edge83"><a xlink:title="runtime.scanobject &#45;&gt; runtime.greyobject (0.74s)">
<path fill="none" stroke="black" d="M2084.21,-546.66C2092.35,-531.839 2102.76,-512.88 2112,-496 2130.71,-461.803 2126.91,-447.034 2154,-419 2158.31,-414.54 2163.24,-410.412 2168.41,-406.642"/>
<polygon fill="black" stroke="black" points="2170.39,-409.529 2176.7,-401.018 2166.46,-403.737 2170.39,-409.529"/>
</a>
</g>
<g id="a_edge83&#45;label"><a xlink:title="runtime.scanobject &#45;&gt; runtime.greyobject (0.74s)">
<text text-anchor="middle" x="2148" y="-470.3" font-family="Times,serif" font-size="14.00"> 0.74s</text>
</a>
</g>
</g>
<!-- N20 -->
<g id="node21" class="node"><title>N20</title>
<g id="a_node21"><a xlink:title="hash/crc32.ieeeInit.func1 (7.03s)">
<polygon fill="#f8f8f8" stroke="black" points="1342.5,-1466.5 1237.5,-1466.5 1237.5,-1428.5 1342.5,-1428.5 1342.5,-1466.5"/>
<text text-anchor="middle" x="1290" y="-1455.3" font-family="Times,serif" font-size="9.00">hash/crc32.ieeeInit.func1</text>
<text text-anchor="middle" x="1290" y="-1445.3" font-family="Times,serif" font-size="9.00">0.01s(0.0046%)</text>
<text text-anchor="middle" x="1290" y="-1435.3" font-family="Times,serif" font-size="9.00">of 7.03s(3.23%)</text>
</a>
</g>
</g>
<!-- N19&#45;&gt;N20 -->
<g id="edge21" class="edge"><title>N19&#45;&gt;N20</title>
<g id="a_edge21"><a xlink:title="hash/crc32.Update &#45;&gt; hash/crc32.ieeeInit.func1 (7.01s)">
<path fill="none" stroke="black" d="M1174.7,-1518.96C1185.91,-1513.46 1198.06,-1507.21 1209,-1501 1224.57,-1492.16 1241.25,-1481.55 1255.4,-1472.2"/>
<polygon fill="black" stroke="black" points="1257.47,-1475.02 1263.85,-1466.56 1253.59,-1469.2 1257.47,-1475.02"/>
</a>
</g>
<g id="a_edge21&#45;label"><a xlink:title="hash/crc32.Update &#45;&gt; hash/crc32.ieeeInit.func1 (7.01s)">
<text text-anchor="middle" x="1249" y="-1489.8" font-family="Times,serif" font-size="14.00"> 7.01s</text>
</a>
</g>
</g>
<!-- N21 -->
<g id="node22" class="node"><title>N21</title>
<g id="a_node22"><a xlink:title="hash/crc32.slicingUpdate (7.02s)">
<polygon fill="#f8f8f8" stroke="black" points="1401,-1359.5 1247,-1359.5 1247,-1306.5 1401,-1306.5 1401,-1359.5"/>
<text text-anchor="middle" x="1324" y="-1344.3" font-family="Times,serif" font-size="14.00">hash/crc32.slicingUpdate</text>
<text text-anchor="middle" x="1324" y="-1329.3" font-family="Times,serif" font-size="14.00">7.01s(3.22%)</text>
<text text-anchor="middle" x="1324" y="-1314.3" font-family="Times,serif" font-size="14.00">of 7.02s(3.23%)</text>
</a>
</g>
</g>
<!-- N20&#45;&gt;N21 -->
<g id="edge20" class="edge"><title>N20&#45;&gt;N21</title>
<g id="a_edge20"><a xlink:title="hash/crc32.ieeeInit.func1 &#45;&gt; hash/crc32.slicingUpdate (7.02s)">
<path fill="none" stroke="black" d="M1295.46,-1428.42C1300.26,-1412.56 1307.37,-1389.02 1313.3,-1369.41"/>
<polygon fill="black" stroke="black" points="1316.73,-1370.16 1316.27,-1359.58 1310.03,-1368.14 1316.73,-1370.16"/>
</a>
</g>
<g id="a_edge20&#45;label"><a xlink:title="hash/crc32.ieeeInit.func1 &#45;&gt; hash/crc32.slicingUpdate (7.02s)">
<text text-anchor="middle" x="1322" y="-1397.8" font-family="Times,serif" font-size="14.00"> 7.02s</text>
</a>
</g>
</g>
<!-- N22&#45;&gt;N7 -->
<g id="edge80" class="edge"><title>N22&#45;&gt;N7</title>
<g id="a_edge80"><a xlink:title="compress/flate.(*decompressor).readHuffman &#45;&gt; compress/flate.(*decompressor).huffSym (0.97s)">
<path fill="none" stroke="black" d="M1026.9,-1312.39C998.913,-1295.93 956.835,-1272.64 918,-1257 905.084,-1251.8 891.553,-1246.86 877.847,-1242.21"/>
<polygon fill="black" stroke="black" points="878.929,-1238.88 868.336,-1239.04 876.716,-1245.52 878.929,-1238.88"/>
</a>
</g>
<g id="a_edge80&#45;label"><a xlink:title="compress/flate.(*decompressor).readHuffman &#45;&gt; compress/flate.(*decompressor).huffSym (0.97s)">
<text text-anchor="middle" x="967" y="-1260.8" font-family="Times,serif" font-size="14.00"> 0.97s</text>
</a>
</g>
</g>
<!-- N25 -->
<g id="node26" class="node"><title>N25</title>
<g id="a_node26"><a xlink:title="compress/flate.(*huffmanDecoder).init (5.19s)">
<polygon fill="#f8f8f8" stroke="black" points="1421.5,-1219.5 1222.5,-1219.5 1222.5,-1172.5 1421.5,-1172.5 1421.5,-1219.5"/>
<text text-anchor="middle" x="1322" y="-1205.9" font-family="Times,serif" font-size="12.00">compress/flate.(*huffmanDecoder).init</text>
<text text-anchor="middle" x="1322" y="-1192.9" font-family="Times,serif" font-size="12.00">3.15s(1.45%)</text>
<text text-anchor="middle" x="1322" y="-1179.9" font-family="Times,serif" font-size="12.00">of 5.19s(2.39%)</text>
</a>
</g>
</g>
<!-- N22&#45;&gt;N25 -->
<g id="edge24" class="edge"><title>N22&#45;&gt;N25</title>
<g id="a_edge24"><a xlink:title="compress/flate.(*decompressor).readHuffman &#45;&gt; compress/flate.(*huffmanDecoder).init (5.19s)">
<path fill="none" stroke="black" d="M1108.87,-1312.47C1128.69,-1305.01 1151.78,-1296.7 1173,-1290 1202.81,-1280.59 1213.61,-1287.07 1241,-1272 1261.92,-1260.49 1281.67,-1242.42 1296.43,-1226.89"/>
<polygon fill="black" stroke="black" points="1299.03,-1229.24 1303.25,-1219.52 1293.89,-1224.48 1299.03,-1229.24"/>
</a>
</g>
<g id="a_edge24&#45;label"><a xlink:title="compress/flate.(*decompressor).readHuffman &#45;&gt; compress/flate.(*huffmanDecoder).init (5.19s)">
<text text-anchor="middle" x="1279" y="-1260.8" font-family="Times,serif" font-size="14.00"> 5.19s</text>
</a>
</g>
</g>
<!-- N23 -->
<g id="node24" class="node"><title>N23</title>
<g id="a_node24"><a xlink:title="runtime.morestack (5.50s)">
<polygon fill="#f8f8f8" stroke="black" points="2628,-690.5 2546,-690.5 2546,-652.5 2628,-652.5 2628,-690.5"/>
<text text-anchor="middle" x="2587" y="-679.3" font-family="Times,serif" font-size="9.00">runtime.morestack</text>
<text text-anchor="middle" x="2587" y="-669.3" font-family="Times,serif" font-size="9.00">0.01s(0.0046%)</text>
<text text-anchor="middle" x="2587" y="-659.3" font-family="Times,serif" font-size="9.00">of 5.50s(2.53%)</text>
</a>
</g>
</g>
<!-- N24 -->
<g id="node25" class="node"><title>N24</title>
<g id="a_node25"><a xlink:title="runtime.newstack (5.49s)">
<polygon fill="#f8f8f8" stroke="black" points="2626.5,-592.5 2547.5,-592.5 2547.5,-554.5 2626.5,-554.5 2626.5,-592.5"/>
<text text-anchor="middle" x="2587" y="-581.3" font-family="Times,serif" font-size="9.00">runtime.newstack</text>
<text text-anchor="middle" x="2587" y="-571.3" font-family="Times,serif" font-size="9.00">0.03s(0.014%)</text>
<text text-anchor="middle" x="2587" y="-561.3" font-family="Times,serif" font-size="9.00">of 5.49s(2.52%)</text>
</a>
</g>
</g>
<!-- N23&#45;&gt;N24 -->
<g id="edge23" class="edge"><title>N23&#45;&gt;N24</title>
<g id="a_edge23"><a xlink:title="runtime.morestack &#45;&gt; runtime.newstack (5.49s)">
<path fill="none" stroke="black" d="M2587,-652.443C2587,-638.586 2587,-619.186 2587,-603.208"/>
<polygon fill="black" stroke="black" points="2590.5,-602.802 2587,-592.802 2583.5,-602.802 2590.5,-602.802"/>
</a>
</g>
<g id="a_edge23&#45;label"><a xlink:title="runtime.morestack &#45;&gt; runtime.newstack (5.49s)">
<text text-anchor="middle" x="2604" y="-621.8" font-family="Times,serif" font-size="14.00"> 5.49s</text>
</a>
</g>
</g>
<!-- N34 -->
<g id="node35" class="node"><title>N34</title>
<g id="a_node35"><a xlink:title="runtime.goschedImpl (3.13s)">
<polygon fill="#f8f8f8" stroke="black" points="2666,-493 2574,-493 2574,-455 2666,-455 2666,-493"/>
<text text-anchor="middle" x="2620" y="-481.8" font-family="Times,serif" font-size="9.00">runtime.goschedImpl</text>
<text text-anchor="middle" x="2620" y="-471.8" font-family="Times,serif" font-size="9.00">0.04s(0.018%)</text>
<text text-anchor="middle" x="2620" y="-461.8" font-family="Times,serif" font-size="9.00">of 3.13s(1.44%)</text>
</a>
</g>
</g>
<!-- N24&#45;&gt;N34 -->
<g id="edge32" class="edge"><title>N24&#45;&gt;N34</title>
<g id="a_edge32"><a xlink:title="runtime.newstack ... runtime.goschedImpl (2.77s)">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M2593.21,-554.161C2598.09,-539.726 2604.98,-519.367 2610.55,-502.911"/>
<polygon fill="black" stroke="black" points="2613.93,-503.851 2613.82,-493.257 2607.3,-501.607 2613.93,-503.851"/>
</a>
</g>
<g id="a_edge32&#45;label"><a xlink:title="runtime.newstack ... runtime.goschedImpl (2.77s)">
<text text-anchor="middle" x="2623" y="-517.8" font-family="Times,serif" font-size="14.00"> 2.77s</text>
</a>
</g>
</g>
<!-- N41 -->
<g id="node42" class="node"><title>N41</title>
<g id="a_node42"><a xlink:title="runtime.copystack (2.42s)">
<polygon fill="#f8f8f8" stroke="black" points="2555.5,-493 2474.5,-493 2474.5,-455 2555.5,-455 2555.5,-493"/>
<text text-anchor="middle" x="2515" y="-481.8" font-family="Times,serif" font-size="9.00">runtime.copystack</text>
<text text-anchor="middle" x="2515" y="-471.8" font-family="Times,serif" font-size="9.00">0.03s(0.014%)</text>
<text text-anchor="middle" x="2515" y="-461.8" font-family="Times,serif" font-size="9.00">of 2.42s(1.11%)</text>
</a>
</g>
</g>
<!-- N24&#45;&gt;N41 -->
<g id="edge41" class="edge"><title>N24&#45;&gt;N41</title>
<g id="a_edge41"><a xlink:title="runtime.newstack &#45;&gt; runtime.copystack (2s)">
<path fill="none" stroke="black" d="M2573.46,-554.161C2562.5,-539.317 2546.91,-518.21 2534.59,-501.523"/>
<polygon fill="black" stroke="black" points="2537.24,-499.222 2528.48,-493.257 2531.61,-503.38 2537.24,-499.222"/>
</a>
</g>
<g id="a_edge41&#45;label"><a xlink:title="runtime.newstack &#45;&gt; runtime.copystack (2s)">
<text text-anchor="middle" x="2561" y="-517.8" font-family="Times,serif" font-size="14.00"> 2s</text>
</a>
</g>
</g>
<!-- N63 -->
<g id="node64" class="node"><title>N63</title>
<g id="a_node64"><a xlink:title="runtime.scanstack (1.35s)">
<polygon fill="#f8f8f8" stroke="black" points="2456,-493 2376,-493 2376,-455 2456,-455 2456,-493"/>
<text text-anchor="middle" x="2416" y="-481.8" font-family="Times,serif" font-size="9.00">runtime.scanstack</text>
<text text-anchor="middle" x="2416" y="-471.8" font-family="Times,serif" font-size="9.00">0.02s(0.0092%)</text>
<text text-anchor="middle" x="2416" y="-461.8" font-family="Times,serif" font-size="9.00">of 1.35s(0.62%)</text>
</a>
</g>
</g>
<!-- N24&#45;&gt;N63 -->
<g id="edge90" class="edge"><title>N24&#45;&gt;N63</title>
<g id="a_edge90"><a xlink:title="runtime.newstack &#45;&gt; runtime.scanstack (0.62s)">
<path fill="none" stroke="black" d="M2552.51,-554.444C2538.06,-546.756 2521.13,-537.594 2506,-529 2488.76,-519.203 2469.91,-507.976 2453.93,-498.305"/>
<polygon fill="black" stroke="black" points="2455.75,-495.312 2445.38,-493.111 2452.11,-501.294 2455.75,-495.312"/>
</a>
</g>
<g id="a_edge90&#45;label"><a xlink:title="runtime.newstack &#45;&gt; runtime.scanstack (0.62s)">
<text text-anchor="middle" x="2523" y="-517.8" font-family="Times,serif" font-size="14.00"> 0.62s</text>
</a>
</g>
</g>
<!-- N25&#45;&gt;N29 -->
<g id="edge43" class="edge"><title>N25&#45;&gt;N29</title>
<g id="a_edge43"><a xlink:title="compress/flate.(*huffmanDecoder).init &#45;&gt; runtime.makeslice (1.85s)">
<path fill="none" stroke="black" d="M1316.77,-1172.27C1311.8,-1150.64 1304.29,-1117.97 1298.84,-1094.28"/>
<polygon fill="black" stroke="black" points="1302.23,-1093.37 1296.58,-1084.41 1295.41,-1094.94 1302.23,-1093.37"/>
</a>
</g>
<g id="a_edge43&#45;label"><a xlink:title="compress/flate.(*huffmanDecoder).init &#45;&gt; runtime.makeslice (1.85s)">
<text text-anchor="middle" x="1325" y="-1123.8" font-family="Times,serif" font-size="14.00"> 1.85s</text>
</a>
</g>
</g>
<!-- N26&#45;&gt;N15 -->
<g id="edge25" class="edge"><title>N26&#45;&gt;N15</title>
<g id="a_edge25"><a xlink:title="runtime.newobject &#45;&gt; runtime.mallocgc (5s)">
<path fill="none" stroke="black" d="M1789.22,-1044.42C1784.01,-1028.17 1776.23,-1003.85 1769.87,-983.965"/>
<polygon fill="black" stroke="black" points="1773.17,-982.784 1766.78,-974.326 1766.5,-984.917 1773.17,-982.784"/>
</a>
</g>
<g id="a_edge25&#45;label"><a xlink:title="runtime.newobject &#45;&gt; runtime.mallocgc (5s)">
<text text-anchor="middle" x="1785" y="-995.8" font-family="Times,serif" font-size="14.00"> 5s</text>
</a>
</g>
</g>
<!-- N28 -->
<g id="node29" class="node"><title>N28</title>
<g id="a_node29"><a xlink:title="github.com/biogo/hts/bgzf.(*decompressor).nextBlockAt (4.60s)">
<polygon fill="#f8f8f8" stroke="black" points="1012.5,-1649 793.5,-1649 793.5,-1611 1012.5,-1611 1012.5,-1649"/>
<text text-anchor="middle" x="903" y="-1637.8" font-family="Times,serif" font-size="9.00">github.com/biogo/hts/bgzf.(*decompressor).nextBlockAt</text>
<text text-anchor="middle" x="903" y="-1627.8" font-family="Times,serif" font-size="9.00">0.04s(0.018%)</text>
<text text-anchor="middle" x="903" y="-1617.8" font-family="Times,serif" font-size="9.00">of 4.60s(2.12%)</text>
</a>
</g>
</g>
<!-- N27&#45;&gt;N28 -->
<g id="edge27" class="edge"><title>N27&#45;&gt;N28</title>
<g id="a_edge27"><a xlink:title="github.com/biogo/hts/bgzf.NewReader.func1 &#45;&gt; github.com/biogo/hts/bgzf.(*decompressor).nextBlockAt (4.60s)">
<path fill="none" stroke="black" d="M903,-1705.63C903,-1692.42 903,-1674.37 903,-1659.33"/>
<polygon fill="black" stroke="black" points="906.5,-1659.02 903,-1649.02 899.5,-1659.02 906.5,-1659.02"/>
</a>
</g>
<g id="a_edge27&#45;label"><a xlink:title="github.com/biogo/hts/bgzf.NewReader.func1 &#45;&gt; github.com/biogo/hts/bgzf.(*decompressor).nextBlockAt (4.60s)">
<text text-anchor="middle" x="920" y="-1673.8" font-family="Times,serif" font-size="14.00"> 4.60s</text>
</a>
</g>
</g>
<!-- N69 -->
<g id="node70" class="node"><title>N69</title>
<g id="a_node70"><a xlink:title="compress/gzip.(*Reader).Reset (1.28s)">
<polygon fill="#f8f8f8" stroke="black" points="1451.5,-1557 1324.5,-1557 1324.5,-1519 1451.5,-1519 1451.5,-1557"/>
<text text-anchor="middle" x="1388" y="-1545.8" font-family="Times,serif" font-size="9.00">compress/gzip.(*Reader).Reset</text>
<text text-anchor="middle" x="1388" y="-1535.8" font-family="Times,serif" font-size="9.00">0.02s(0.0092%)</text>
<text text-anchor="middle" x="1388" y="-1525.8" font-family="Times,serif" font-size="9.00">of 1.28s(0.59%)</text>
</a>
</g>
</g>
<!-- N28&#45;&gt;N69 -->
<g id="edge66" class="edge"><title>N28&#45;&gt;N69</title>
<g id="a_edge66"><a xlink:title="github.com/biogo/hts/bgzf.(*decompressor).nextBlockAt ... compress/gzip.(*Reader).Reset (1.28s)">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M1000.27,-1610.95C1093.01,-1593.74 1230.61,-1568.21 1314.51,-1552.64"/>
<polygon fill="black" stroke="black" points="1315.28,-1556.05 1324.47,-1550.79 1314,-1549.17 1315.28,-1556.05"/>
</a>
</g>
<g id="a_edge66&#45;label"><a xlink:title="github.com/biogo/hts/bgzf.(*decompressor).nextBlockAt ... compress/gzip.(*Reader).Reset (1.28s)">
<text text-anchor="middle" x="1206" y="-1578.8" font-family="Times,serif" font-size="14.00"> 1.28s</text>
</a>
</g>
</g>
<!-- N29&#45;&gt;N15 -->
<g id="edge29" class="edge"><title>N29&#45;&gt;N15</title>
<g id="a_edge29"><a xlink:title="runtime.makeslice &#45;&gt; runtime.mallocgc (4.20s)">
<path fill="none" stroke="black" d="M1308.34,-1043C1323.51,-1026.38 1347.65,-1003.43 1374,-992 1402.55,-979.612 1591.17,-963.175 1693.4,-955.025"/>
<polygon fill="black" stroke="black" points="1693.93,-958.494 1703.62,-954.215 1693.37,-951.516 1693.93,-958.494"/>
</a>
</g>
<g id="a_edge29&#45;label"><a xlink:title="runtime.makeslice &#45;&gt; runtime.mallocgc (4.20s)">
<text text-anchor="middle" x="1391" y="-995.8" font-family="Times,serif" font-size="14.00"> 4.20s</text>
</a>
</g>
</g>
<!-- N31 -->
<g id="node32" class="node"><title>N31</title>
<g id="a_node32"><a xlink:title="io.ReadAtLeast (4.22s)">
<polygon fill="#f8f8f8" stroke="black" points="1597.5,-1216.5 1516.5,-1216.5 1516.5,-1175.5 1597.5,-1175.5 1597.5,-1216.5"/>
<text text-anchor="middle" x="1557" y="-1204.5" font-family="Times,serif" font-size="10.00">io.ReadAtLeast</text>
<text text-anchor="middle" x="1557" y="-1193.5" font-family="Times,serif" font-size="10.00">0.28s(0.13%)</text>
<text text-anchor="middle" x="1557" y="-1182.5" font-family="Times,serif" font-size="10.00">of 4.22s(1.94%)</text>
</a>
</g>
</g>
<!-- N30&#45;&gt;N31 -->
<g id="edge28" class="edge"><title>N30&#45;&gt;N31</title>
<g id="a_edge28"><a xlink:title="io.ReadFull &#45;&gt; io.ReadAtLeast (4.22s)">
<path fill="none" stroke="black" d="M1557,-1313.79C1557,-1291.53 1557,-1253.53 1557,-1226.94"/>
<polygon fill="black" stroke="black" points="1560.5,-1226.67 1557,-1216.67 1553.5,-1226.67 1560.5,-1226.67"/>
</a>
</g>
<g id="a_edge28&#45;label"><a xlink:title="io.ReadFull &#45;&gt; io.ReadAtLeast (4.22s)">
<text text-anchor="middle" x="1574" y="-1260.8" font-family="Times,serif" font-size="14.00"> 4.22s</text>
</a>
</g>
</g>
<!-- N40 -->
<g id="node41" class="node"><title>N40</title>
<g id="a_node41"><a xlink:title="github.com/biogo/hts/bgzf.(*Reader).Read (2.50s)">
<polygon fill="#f8f8f8" stroke="black" points="1735.5,-1084 1544.5,-1084 1544.5,-1043 1735.5,-1043 1735.5,-1084"/>
<text text-anchor="middle" x="1640" y="-1072" font-family="Times,serif" font-size="10.00">github.com/biogo/hts/bgzf.(*Reader).Read</text>
<text text-anchor="middle" x="1640" y="-1061" font-family="Times,serif" font-size="10.00">0.75s(0.34%)</text>
<text text-anchor="middle" x="1640" y="-1050" font-family="Times,serif" font-size="10.00">of 2.50s(1.15%)</text>
</a>
</g>
</g>
<!-- N31&#45;&gt;N40 -->
<g id="edge36" class="edge"><title>N31&#45;&gt;N40</title>
<g id="a_edge36"><a xlink:title="io.ReadAtLeast &#45;&gt; github.com/biogo/hts/bgzf.(*Reader).Read (2.50s)">
<path fill="none" stroke="black" d="M1559.76,-1175.31C1562.66,-1159.43 1568.35,-1137.03 1579,-1120 1585.76,-1109.19 1595.2,-1099.18 1604.64,-1090.73"/>
<polygon fill="black" stroke="black" points="1607.17,-1093.17 1612.51,-1084.01 1602.63,-1087.84 1607.17,-1093.17"/>
</a>
</g>
<g id="a_edge36&#45;label"><a xlink:title="io.ReadAtLeast &#45;&gt; github.com/biogo/hts/bgzf.(*Reader).Read (2.50s)">
<text text-anchor="middle" x="1596" y="-1123.8" font-family="Times,serif" font-size="14.00"> 2.50s</text>
</a>
</g>
</g>
<!-- N59 -->
<g id="node60" class="node"><title>N59</title>
<g id="a_node60"><a xlink:title="github.com/biogo/hts/bgzf.(*countReader).Read (1.41s)">
<polygon fill="#f8f8f8" stroke="black" points="1526,-1081.5 1356,-1081.5 1356,-1045.5 1526,-1045.5 1526,-1081.5"/>
<text text-anchor="middle" x="1441" y="-1066.1" font-family="Times,serif" font-size="8.00">github.com/biogo/hts/bgzf.(*countReader).Read</text>
<text text-anchor="middle" x="1441" y="-1057.1" font-family="Times,serif" font-size="8.00">0 of 1.41s(0.65%)</text>
</a>
</g>
</g>
<!-- N31&#45;&gt;N59 -->
<g id="edge87" class="edge"><title>N31&#45;&gt;N59</title>
<g id="a_edge87"><a xlink:title="io.ReadAtLeast &#45;&gt; github.com/biogo/hts/bgzf.(*countReader).Read (0.70s)">
<path fill="none" stroke="black" d="M1542.98,-1175.25C1531.68,-1159.74 1515.08,-1137.86 1499,-1120 1489.27,-1109.19 1477.83,-1097.96 1467.69,-1088.46"/>
<polygon fill="black" stroke="black" points="1469.96,-1085.79 1460.24,-1081.57 1465.21,-1090.93 1469.96,-1085.79"/>
</a>
</g>
<g id="a_edge87&#45;label"><a xlink:title="io.ReadAtLeast &#45;&gt; github.com/biogo/hts/bgzf.(*countReader).Read (0.70s)">
<text text-anchor="middle" x="1528" y="-1123.8" font-family="Times,serif" font-size="14.00"> 0.70s</text>
</a>
</g>
</g>
<!-- N32 -->
<g id="node33" class="node"><title>N32</title>
<g id="a_node33"><a xlink:title="runtime.schedule (4.21s)">
<polygon fill="#f8f8f8" stroke="black" points="2658.5,-398 2581.5,-398 2581.5,-360 2658.5,-360 2658.5,-398"/>
<text text-anchor="middle" x="2620" y="-386.8" font-family="Times,serif" font-size="9.00">runtime.schedule</text>
<text text-anchor="middle" x="2620" y="-376.8" font-family="Times,serif" font-size="9.00">0.10s(0.046%)</text>
<text text-anchor="middle" x="2620" y="-366.8" font-family="Times,serif" font-size="9.00">of 4.21s(1.94%)</text>
</a>
</g>
</g>
<!-- N52 -->
<g id="node53" class="node"><title>N52</title>
<g id="a_node53"><a xlink:title="runtime.gcstopm (1.61s)">
<polygon fill="#f8f8f8" stroke="black" points="2617,-304.5 2541,-304.5 2541,-266.5 2617,-266.5 2617,-304.5"/>
<text text-anchor="middle" x="2579" y="-293.3" font-family="Times,serif" font-size="9.00">runtime.gcstopm</text>
<text text-anchor="middle" x="2579" y="-283.3" font-family="Times,serif" font-size="9.00">0.01s(0.0046%)</text>
<text text-anchor="middle" x="2579" y="-273.3" font-family="Times,serif" font-size="9.00">of 1.61s(0.74%)</text>
</a>
</g>
</g>
<!-- N32&#45;&gt;N52 -->
<g id="edge51" class="edge"><title>N32&#45;&gt;N52</title>
<g id="a_edge51"><a xlink:title="runtime.schedule &#45;&gt; runtime.gcstopm (1.57s)">
<path fill="none" stroke="black" d="M2611.9,-359.923C2606,-346.764 2597.91,-328.713 2591.23,-313.802"/>
<polygon fill="black" stroke="black" points="2594.37,-312.234 2587.08,-304.54 2587.98,-315.097 2594.37,-312.234"/>
</a>
</g>
<g id="a_edge51&#45;label"><a xlink:title="runtime.schedule &#45;&gt; runtime.gcstopm (1.57s)">
<text text-anchor="middle" x="2618" y="-327.8" font-family="Times,serif" font-size="14.00"> 1.57s</text>
</a>
</g>
</g>
<!-- N66 -->
<g id="node67" class="node"><title>N66</title>
<g id="a_node67"><a xlink:title="runtime.findrunnable (1.31s)">
<polygon fill="#f8f8f8" stroke="black" points="2738.5,-306 2635.5,-306 2635.5,-265 2738.5,-265 2738.5,-306"/>
<text text-anchor="middle" x="2687" y="-294" font-family="Times,serif" font-size="10.00">runtime.findrunnable</text>
<text text-anchor="middle" x="2687" y="-283" font-family="Times,serif" font-size="10.00">0.38s(0.17%)</text>
<text text-anchor="middle" x="2687" y="-272" font-family="Times,serif" font-size="10.00">of 1.31s(0.6%)</text>
</a>
</g>
</g>
<!-- N32&#45;&gt;N66 -->
<g id="edge63" class="edge"><title>N32&#45;&gt;N66</title>
<g id="a_edge63"><a xlink:title="runtime.schedule &#45;&gt; runtime.findrunnable (1.31s)">
<path fill="none" stroke="black" d="M2633.24,-359.923C2642.74,-346.948 2655.72,-329.218 2666.55,-314.432"/>
<polygon fill="black" stroke="black" points="2669.55,-316.26 2672.63,-306.124 2663.9,-312.124 2669.55,-316.26"/>
</a>
</g>
<g id="a_edge63&#45;label"><a xlink:title="runtime.schedule &#45;&gt; runtime.findrunnable (1.31s)">
<text text-anchor="middle" x="2676" y="-327.8" font-family="Times,serif" font-size="14.00"> 1.31s</text>
</a>
</g>
</g>
<!-- N33 -->
<g id="node34" class="node"><title>N33</title>
<g id="a_node34"><a xlink:title="runtime.gentraceback (3.14s)">
<polygon fill="#f8f8f8" stroke="black" points="2563,-399.5 2459,-399.5 2459,-358.5 2563,-358.5 2563,-399.5"/>
<text text-anchor="middle" x="2511" y="-387.5" font-family="Times,serif" font-size="10.00">runtime.gentraceback</text>
<text text-anchor="middle" x="2511" y="-376.5" font-family="Times,serif" font-size="10.00">0.39s(0.18%)</text>
<text text-anchor="middle" x="2511" y="-365.5" font-family="Times,serif" font-size="10.00">of 3.14s(1.44%)</text>
</a>
</g>
</g>
<!-- N34&#45;&gt;N32 -->
<g id="edge33" class="edge"><title>N34&#45;&gt;N32</title>
<g id="a_edge33"><a xlink:title="runtime.goschedImpl &#45;&gt; runtime.schedule (2.73s)">
<path fill="none" stroke="black" d="M2620,-454.626C2620,-441.421 2620,-423.369 2620,-408.327"/>
<polygon fill="black" stroke="black" points="2623.5,-408.019 2620,-398.019 2616.5,-408.019 2623.5,-408.019"/>
</a>
</g>
<g id="a_edge33&#45;label"><a xlink:title="runtime.goschedImpl &#45;&gt; runtime.schedule (2.73s)">
<text text-anchor="middle" x="2637" y="-422.8" font-family="Times,serif" font-size="14.00"> 2.73s</text>
</a>
</g>
</g>
<!-- N35&#45;&gt;N13 -->
<g id="edge61" class="edge"><title>N35&#45;&gt;N13</title>
<g id="a_edge61"><a xlink:title="compress/flate.(*dictDecoder).writeCopy &#45;&gt; runtime.memmove (1.34s)">
<path fill="none" stroke="black" d="M1053.52,-1173.74C1074.76,-1151.75 1108.04,-1117.28 1131.53,-1092.95"/>
<polygon fill="black" stroke="black" points="1134.06,-1095.37 1138.48,-1085.75 1129.02,-1090.51 1134.06,-1095.37"/>
</a>
</g>
<g id="a_edge61&#45;label"><a xlink:title="compress/flate.(*dictDecoder).writeCopy &#45;&gt; runtime.memmove (1.34s)">
<text text-anchor="middle" x="1121" y="-1123.8" font-family="Times,serif" font-size="14.00"> 1.34s</text>
</a>
</g>
</g>
<!-- N36 -->
<g id="node37" class="node"><title>N36</title>
<g id="a_node37"><a xlink:title="runtime.writebarrierptr_prewrite1 (2.92s)">
<polygon fill="#f8f8f8" stroke="black" points="2040.5,-1084 1887.5,-1084 1887.5,-1043 2040.5,-1043 2040.5,-1084"/>
<text text-anchor="middle" x="1964" y="-1072" font-family="Times,serif" font-size="10.00">runtime.writebarrierptr_prewrite1</text>
<text text-anchor="middle" x="1964" y="-1061" font-family="Times,serif" font-size="10.00">0.44s(0.2%)</text>
<text text-anchor="middle" x="1964" y="-1050" font-family="Times,serif" font-size="10.00">of 2.92s(1.34%)</text>
</a>
</g>
</g>
<!-- N36&#45;&gt;N9 -->
<g id="edge37" class="edge"><title>N36&#45;&gt;N9</title>
<g id="a_edge37"><a xlink:title="runtime.writebarrierptr_prewrite1 &#45;&gt; runtime.systemstack (2.48s)">
<path fill="none" stroke="black" d="M1967.02,-1042.95C1974.88,-992.01 1996.03,-854.973 2005.41,-794.209"/>
<polygon fill="black" stroke="black" points="2008.9,-794.542 2006.97,-784.125 2001.99,-793.474 2008.9,-794.542"/>
</a>
</g>
<g id="a_edge37&#45;label"><a xlink:title="runtime.writebarrierptr_prewrite1 &#45;&gt; runtime.systemstack (2.48s)">
<text text-anchor="middle" x="2007" y="-894.8" font-family="Times,serif" font-size="14.00"> 2.48s</text>
</a>
</g>
</g>
<!-- N37 -->
<g id="node38" class="node"><title>N37</title>
<g id="a_node38"><a xlink:title="runtime.futex (2.65s)">
<polygon fill="#f8f8f8" stroke="black" points="2613,-36 2533,-36 2533,-0 2613,-0 2613,-36"/>
<text text-anchor="middle" x="2573" y="-21.4" font-family="Times,serif" font-size="12.00">runtime.futex</text>
<text text-anchor="middle" x="2573" y="-8.4" font-family="Times,serif" font-size="12.00">2.65s(1.22%)</text>
</a>
</g>
</g>
<!-- N38&#45;&gt;N36 -->
<g id="edge35" class="edge"><title>N38&#45;&gt;N36</title>
<g id="a_edge35"><a xlink:title="runtime.writebarrierptr &#45;&gt; runtime.writebarrierptr_prewrite1 (2.53s)">
<path fill="none" stroke="black" d="M1964,-1176.85C1964,-1155.53 1964,-1119.83 1964,-1094.4"/>
<polygon fill="black" stroke="black" points="1967.5,-1094.2 1964,-1084.2 1960.5,-1094.2 1967.5,-1094.2"/>
</a>
</g>
<g id="a_edge35&#45;label"><a xlink:title="runtime.writebarrierptr &#45;&gt; runtime.writebarrierptr_prewrite1 (2.53s)">
<text text-anchor="middle" x="1981" y="-1123.8" font-family="Times,serif" font-size="14.00"> 2.53s</text>
</a>
</g>
</g>
<!-- N42 -->
<g id="node43" class="node"><title>N42</title>
<g id="a_node43"><a xlink:title="runtime.gcmarkwb_m (2.41s)">
<polygon fill="#f8f8f8" stroke="black" points="2311,-594 2205,-594 2205,-553 2311,-553 2311,-594"/>
<text text-anchor="middle" x="2258" y="-582" font-family="Times,serif" font-size="10.00">runtime.gcmarkwb_m</text>
<text text-anchor="middle" x="2258" y="-571" font-family="Times,serif" font-size="10.00">0.71s(0.33%)</text>
<text text-anchor="middle" x="2258" y="-560" font-family="Times,serif" font-size="10.00">of 2.41s(1.11%)</text>
</a>
</g>
</g>
<!-- N39&#45;&gt;N42 -->
<g id="edge38" class="edge"><title>N39&#45;&gt;N42</title>
<g id="a_edge38"><a xlink:title="runtime.writebarrierptr_prewrite1.func1 &#45;&gt; runtime.gcmarkwb_m (2.41s)">
<path fill="none" stroke="black" d="M2258,-650.609C2258,-637.262 2258,-619.439 2258,-604.396"/>
<polygon fill="black" stroke="black" points="2261.5,-604.037 2258,-594.037 2254.5,-604.037 2261.5,-604.037"/>
</a>
</g>
<g id="a_edge38&#45;label"><a xlink:title="runtime.writebarrierptr_prewrite1.func1 &#45;&gt; runtime.gcmarkwb_m (2.41s)">
<text text-anchor="middle" x="2275" y="-621.8" font-family="Times,serif" font-size="14.00"> 2.41s</text>
</a>
</g>
</g>
<!-- N41&#45;&gt;N33 -->
<g id="edge39" class="edge"><title>N41&#45;&gt;N33</title>
<g id="a_edge39"><a xlink:title="runtime.copystack &#45;&gt; runtime.gentraceback (2.18s)">
<path fill="none" stroke="black" d="M2514.21,-454.626C2513.66,-441.847 2512.92,-424.529 2512.28,-409.792"/>
<polygon fill="black" stroke="black" points="2515.77,-409.46 2511.84,-399.62 2508.78,-409.761 2515.77,-409.46"/>
</a>
</g>
<g id="a_edge39&#45;label"><a xlink:title="runtime.copystack &#45;&gt; runtime.gentraceback (2.18s)">
<text text-anchor="middle" x="2530" y="-422.8" font-family="Times,serif" font-size="14.00"> 2.18s</text>
</a>
</g>
</g>
<!-- N47 -->
<g id="node48" class="node"><title>N47</title>
<g id="a_node48"><a xlink:title="runtime.shade (1.70s)">
<polygon fill="#f8f8f8" stroke="black" points="2273.5,-494.5 2192.5,-494.5 2192.5,-453.5 2273.5,-453.5 2273.5,-494.5"/>
<text text-anchor="middle" x="2233" y="-482.5" font-family="Times,serif" font-size="10.00">runtime.shade</text>
<text text-anchor="middle" x="2233" y="-471.5" font-family="Times,serif" font-size="10.00">0.58s(0.27%)</text>
<text text-anchor="middle" x="2233" y="-460.5" font-family="Times,serif" font-size="10.00">of 1.70s(0.78%)</text>
</a>
</g>
</g>
<!-- N42&#45;&gt;N47 -->
<g id="edge48" class="edge"><title>N42&#45;&gt;N47</title>
<g id="a_edge48"><a xlink:title="runtime.gcmarkwb_m &#45;&gt; runtime.shade (1.70s)">
<path fill="none" stroke="black" d="M2252.94,-552.769C2249.38,-538.893 2244.56,-520.085 2240.55,-504.441"/>
<polygon fill="black" stroke="black" points="2243.93,-503.519 2238.05,-494.701 2237.15,-505.257 2243.93,-503.519"/>
</a>
</g>
<g id="a_edge48&#45;label"><a xlink:title="runtime.gcmarkwb_m &#45;&gt; runtime.shade (1.70s)">
<text text-anchor="middle" x="2263" y="-517.8" font-family="Times,serif" font-size="14.00"> 1.70s</text>
</a>
</g>
</g>
<!-- N43 -->
<g id="node44" class="node"><title>N43</title>
<g id="a_node44"><a xlink:title="runtime.mcall (1.93s)">
<polygon fill="#f8f8f8" stroke="black" points="1135.5,-1961 1060.5,-1961 1060.5,-1923 1135.5,-1923 1135.5,-1961"/>
<text text-anchor="middle" x="1098" y="-1949.8" font-family="Times,serif" font-size="9.00">runtime.mcall</text>
<text text-anchor="middle" x="1098" y="-1939.8" font-family="Times,serif" font-size="9.00">0.02s(0.0092%)</text>
<text text-anchor="middle" x="1098" y="-1929.8" font-family="Times,serif" font-size="9.00">of 1.93s(0.89%)</text>
</a>
</g>
</g>
<!-- N44&#45;&gt;N9 -->
<g id="edge46" class="edge"><title>N44&#45;&gt;N9</title>
<g id="a_edge46"><a xlink:title="runtime.(*mcache).nextFree &#45;&gt; runtime.systemstack (1.72s)">
<path fill="none" stroke="black" d="M1910.61,-834.86C1917.44,-824.312 1927.07,-811.305 1938,-802 1943.46,-797.352 1949.59,-793.07 1955.92,-789.193"/>
<polygon fill="black" stroke="black" points="1957.71,-792.198 1964.61,-784.16 1954.2,-786.14 1957.71,-792.198"/>
</a>
</g>
<g id="a_edge46&#45;label"><a xlink:title="runtime.(*mcache).nextFree &#45;&gt; runtime.systemstack (1.72s)">
<text text-anchor="middle" x="1955" y="-805.8" font-family="Times,serif" font-size="14.00"> 1.72s</text>
</a>
</g>
</g>
<!-- N45 -->
<g id="node46" class="node"><title>N45</title>
<g id="a_node46"><a xlink:title="runtime.futexwakeup (1.77s)">
<polygon fill="#f8f8f8" stroke="black" points="2619,-125 2527,-125 2527,-87 2619,-87 2619,-125"/>
<text text-anchor="middle" x="2573" y="-113.8" font-family="Times,serif" font-size="9.00">runtime.futexwakeup</text>
<text text-anchor="middle" x="2573" y="-103.8" font-family="Times,serif" font-size="9.00">0.08s(0.037%)</text>
<text text-anchor="middle" x="2573" y="-93.8" font-family="Times,serif" font-size="9.00">of 1.77s(0.81%)</text>
</a>
</g>
</g>
<!-- N45&#45;&gt;N37 -->
<g id="edge49" class="edge"><title>N45&#45;&gt;N37</title>
<g id="a_edge49"><a xlink:title="runtime.futexwakeup &#45;&gt; runtime.futex (1.69s)">
<path fill="none" stroke="black" d="M2573,-86.7616C2573,-74.9344 2573,-59.3159 2573,-46.0547"/>
<polygon fill="black" stroke="black" points="2576.5,-46.0422 2573,-36.0422 2569.5,-46.0423 2576.5,-46.0422"/>
</a>
</g>
<g id="a_edge49&#45;label"><a xlink:title="runtime.futexwakeup &#45;&gt; runtime.futex (1.69s)">
<text text-anchor="middle" x="2590" y="-57.8" font-family="Times,serif" font-size="14.00"> 1.69s</text>
</a>
</g>
</g>
<!-- N46&#45;&gt;N9 -->
<g id="edge47" class="edge"><title>N46&#45;&gt;N9</title>
<g id="a_edge47"><a xlink:title="runtime.gcAssistAlloc &#45;&gt; runtime.systemstack (1.70s)">
<path fill="none" stroke="black" d="M1473.73,-834.925C1479.68,-823.404 1489.08,-809.312 1502,-802 1540.18,-780.397 1824.36,-769.754 1950.26,-766.059"/>
<polygon fill="black" stroke="black" points="1950.6,-769.551 1960.49,-765.764 1950.4,-762.554 1950.6,-769.551"/>
</a>
</g>
<g id="a_edge47&#45;label"><a xlink:title="runtime.gcAssistAlloc &#45;&gt; runtime.systemstack (1.70s)">
<text text-anchor="middle" x="1519" y="-805.8" font-family="Times,serif" font-size="14.00"> 1.70s</text>
</a>
</g>
</g>
<!-- N47&#45;&gt;N54 -->
<g id="edge88" class="edge"><title>N47&#45;&gt;N54</title>
<g id="a_edge88"><a xlink:title="runtime.shade &#45;&gt; runtime.heapBitsForObject (0.68s)">
<path fill="none" stroke="black" d="M2199.92,-453.277C2174.87,-438.348 2140.46,-417.834 2114.42,-402.307"/>
<polygon fill="black" stroke="black" points="2115.97,-399.155 2105.58,-397.041 2112.38,-405.168 2115.97,-399.155"/>
</a>
</g>
<g id="a_edge88&#45;label"><a xlink:title="runtime.shade &#45;&gt; runtime.heapBitsForObject (0.68s)">
<text text-anchor="middle" x="2181" y="-422.8" font-family="Times,serif" font-size="14.00"> 0.68s</text>
</a>
</g>
</g>
<!-- N47&#45;&gt;N79 -->
<g id="edge96" class="edge"><title>N47&#45;&gt;N79</title>
<g id="a_edge96"><a xlink:title="runtime.shade &#45;&gt; runtime.greyobject (0.30s)">
<path fill="none" stroke="black" d="M2230.24,-453.277C2228.54,-441.125 2226.33,-425.273 2224.39,-411.422"/>
<polygon fill="black" stroke="black" points="2227.83,-410.733 2222.98,-401.314 2220.9,-411.702 2227.83,-410.733"/>
</a>
</g>
<g id="a_edge96&#45;label"><a xlink:title="runtime.shade &#45;&gt; runtime.greyobject (0.30s)">
<text text-anchor="middle" x="2244" y="-422.8" font-family="Times,serif" font-size="14.00"> 0.30s</text>
</a>
</g>
</g>
<!-- N48&#45;&gt;N38 -->
<g id="edge93" class="edge"><title>N48&#45;&gt;N38</title>
<g id="a_edge93"><a xlink:title="runtime.deferreturn &#45;&gt; runtime.writebarrierptr (0.37s)">
<path fill="none" stroke="black" d="M1956.31,-1312.37C1957.83,-1289.49 1960.37,-1251.49 1962.11,-1225.39"/>
<polygon fill="black" stroke="black" points="1965.6,-1225.56 1962.78,-1215.35 1958.62,-1225.1 1965.6,-1225.56"/>
</a>
</g>
<g id="a_edge93&#45;label"><a xlink:title="runtime.deferreturn &#45;&gt; runtime.writebarrierptr (0.37s)">
<text text-anchor="middle" x="1976" y="-1260.8" font-family="Times,serif" font-size="14.00"> 0.37s</text>
</a>
</g>
</g>
<!-- N49 -->
<g id="node50" class="node"><title>N49</title>
<g id="a_node50"><a xlink:title="runtime.pcvalue (1.67s)">
<polygon fill="#f8f8f8" stroke="black" points="1819.5,-1962.5 1736.5,-1962.5 1736.5,-1921.5 1819.5,-1921.5 1819.5,-1962.5"/>
<text text-anchor="middle" x="1778" y="-1950.5" font-family="Times,serif" font-size="10.00">runtime.pcvalue</text>
<text text-anchor="middle" x="1778" y="-1939.5" font-family="Times,serif" font-size="10.00">0.64s(0.29%)</text>
<text text-anchor="middle" x="1778" y="-1928.5" font-family="Times,serif" font-size="10.00">of 1.67s(0.77%)</text>
</a>
</g>
</g>
<!-- N50&#45;&gt;N18 -->
<g id="edge58" class="edge"><title>N50&#45;&gt;N18</title>
<g id="a_edge58"><a xlink:title="runtime.gcDrainN &#45;&gt; runtime.scanobject (1.36s)">
<path fill="none" stroke="black" d="M2102.48,-652.443C2097.43,-640.324 2090.61,-623.966 2084.53,-609.364"/>
<polygon fill="black" stroke="black" points="2087.74,-607.969 2080.66,-600.084 2081.28,-610.661 2087.74,-607.969"/>
</a>
</g>
<g id="a_edge58&#45;label"><a xlink:title="runtime.gcDrainN &#45;&gt; runtime.scanobject (1.36s)">
<text text-anchor="middle" x="2110" y="-621.8" font-family="Times,serif" font-size="14.00"> 1.36s</text>
</a>
</g>
</g>
<!-- N51 -->
<g id="node52" class="node"><title>N51</title>
<g id="a_node52"><a xlink:title="runtime.memclrNoHeapPointers (1.63s)">
<polygon fill="#f8f8f8" stroke="black" points="2258.5,-1743 2097.5,-1743 2097.5,-1707 2258.5,-1707 2258.5,-1743"/>
<text text-anchor="middle" x="2178" y="-1728.2" font-family="Times,serif" font-size="11.00">runtime.memclrNoHeapPointers</text>
<text text-anchor="middle" x="2178" y="-1716.2" font-family="Times,serif" font-size="11.00">1.63s(0.75%)</text>
</a>
</g>
</g>
<!-- N53 -->
<g id="node54" class="node"><title>N53</title>
<g id="a_node54"><a xlink:title="runtime.notewakeup (1.54s)">
<polygon fill="#f8f8f8" stroke="black" points="2617.5,-214 2528.5,-214 2528.5,-176 2617.5,-176 2617.5,-214"/>
<text text-anchor="middle" x="2573" y="-202.8" font-family="Times,serif" font-size="9.00">runtime.notewakeup</text>
<text text-anchor="middle" x="2573" y="-192.8" font-family="Times,serif" font-size="9.00">0.02s(0.0092%)</text>
<text text-anchor="middle" x="2573" y="-182.8" font-family="Times,serif" font-size="9.00">of 1.54s(0.71%)</text>
</a>
</g>
</g>
<!-- N52&#45;&gt;N53 -->
<g id="edge95" class="edge"><title>N52&#45;&gt;N53</title>
<g id="a_edge95"><a xlink:title="runtime.gcstopm &#45;&gt; runtime.notewakeup (0.30s)">
<path fill="none" stroke="black" d="M2576.14,-266.233C2575.3,-260.132 2574.48,-253.287 2574,-247 2573.45,-239.762 2573.15,-231.93 2572.99,-224.627"/>
<polygon fill="black" stroke="black" points="2576.49,-224.39 2572.86,-214.437 2569.49,-224.482 2576.49,-224.39"/>
</a>
</g>
<g id="a_edge95&#45;label"><a xlink:title="runtime.gcstopm &#45;&gt; runtime.notewakeup (0.30s)">
<text text-anchor="middle" x="2591" y="-235.8" font-family="Times,serif" font-size="14.00"> 0.30s</text>
</a>
</g>
</g>
<!-- N57 -->
<g id="node58" class="node"><title>N57</title>
<g id="a_node58"><a xlink:title="runtime.stopm (1.44s)">
<polygon fill="#f8f8f8" stroke="black" points="2717,-213 2643,-213 2643,-177 2717,-177 2717,-213"/>
<text text-anchor="middle" x="2680" y="-197.6" font-family="Times,serif" font-size="8.00">runtime.stopm</text>
<text text-anchor="middle" x="2680" y="-188.6" font-family="Times,serif" font-size="8.00">0 of 1.44s(0.66%)</text>
</a>
</g>
</g>
<!-- N52&#45;&gt;N57 -->
<g id="edge78" class="edge"><title>N52&#45;&gt;N57</title>
<g id="a_edge78"><a xlink:title="runtime.gcstopm &#45;&gt; runtime.stopm (1.08s)">
<path fill="none" stroke="black" d="M2599.93,-266.163C2615.22,-252.762 2636.1,-234.465 2652.71,-219.916"/>
<polygon fill="black" stroke="black" points="2655.26,-222.336 2660.47,-213.113 2650.64,-217.071 2655.26,-222.336"/>
</a>
</g>
<g id="a_edge78&#45;label"><a xlink:title="runtime.gcstopm &#45;&gt; runtime.stopm (1.08s)">
<text text-anchor="middle" x="2655" y="-235.8" font-family="Times,serif" font-size="14.00"> 1.08s</text>
</a>
</g>
</g>
<!-- N53&#45;&gt;N45 -->
<g id="edge52" class="edge"><title>N53&#45;&gt;N45</title>
<g id="a_edge52"><a xlink:title="runtime.notewakeup &#45;&gt; runtime.futexwakeup (1.52s)">
<path fill="none" stroke="black" d="M2573,-175.974C2573,-164.192 2573,-148.561 2573,-135.158"/>
<polygon fill="black" stroke="black" points="2576.5,-135.003 2573,-125.003 2569.5,-135.003 2576.5,-135.003"/>
</a>
</g>
<g id="a_edge52&#45;label"><a xlink:title="runtime.notewakeup &#45;&gt; runtime.futexwakeup (1.52s)">
<text text-anchor="middle" x="2590" y="-146.8" font-family="Times,serif" font-size="14.00"> 1.52s</text>
</a>
</g>
</g>
<!-- N56 -->
<g id="node57" class="node"><title>N56</title>
<g id="a_node57"><a xlink:title="runtime.(*mheap).alloc (1.44s)">
<polygon fill="#f8f8f8" stroke="black" points="2227,-1961 2129,-1961 2129,-1923 2227,-1923 2227,-1961"/>
<text text-anchor="middle" x="2178" y="-1949.8" font-family="Times,serif" font-size="9.00">runtime.(*mheap).alloc</text>
<text text-anchor="middle" x="2178" y="-1939.8" font-family="Times,serif" font-size="9.00">0.03s(0.014%)</text>
<text text-anchor="middle" x="2178" y="-1929.8" font-family="Times,serif" font-size="9.00">of 1.44s(0.66%)</text>
</a>
</g>
</g>
<!-- N56&#45;&gt;N51 -->
<g id="edge55" class="edge"><title>N56&#45;&gt;N51</title>
<g id="a_edge55"><a xlink:title="runtime.(*mheap).alloc &#45;&gt; runtime.memclrNoHeapPointers (1.41s)">
<path fill="none" stroke="black" d="M2178,-1922.67C2178,-1884.77 2178,-1797.62 2178,-1753.16"/>
<polygon fill="black" stroke="black" points="2181.5,-1753.08 2178,-1743.08 2174.5,-1753.08 2181.5,-1753.08"/>
</a>
</g>
<g id="a_edge55&#45;label"><a xlink:title="runtime.(*mheap).alloc &#45;&gt; runtime.memclrNoHeapPointers (1.41s)">
<text text-anchor="middle" x="2195" y="-1768.8" font-family="Times,serif" font-size="14.00"> 1.41s</text>
</a>
</g>
</g>
<!-- N58 -->
<g id="node59" class="node"><title>N58</title>
<g id="a_node59"><a xlink:title="bufio.(*Reader).Read (1.41s)">
<polygon fill="#f8f8f8" stroke="black" points="1439.5,-968 1346.5,-968 1346.5,-930 1439.5,-930 1439.5,-968"/>
<text text-anchor="middle" x="1393" y="-956.8" font-family="Times,serif" font-size="9.00">bufio.(*Reader).Read</text>
<text text-anchor="middle" x="1393" y="-946.8" font-family="Times,serif" font-size="9.00">0.05s(0.023%)</text>
<text text-anchor="middle" x="1393" y="-936.8" font-family="Times,serif" font-size="9.00">of 1.41s(0.65%)</text>
</a>
</g>
</g>
<!-- N68 -->
<g id="node69" class="node"><title>N68</title>
<g id="a_node69"><a xlink:title="os.(*File).Read (1.29s)">
<polygon fill="#f8f8f8" stroke="black" points="1399.5,-873 1324.5,-873 1324.5,-835 1399.5,-835 1399.5,-873"/>
<text text-anchor="middle" x="1362" y="-861.8" font-family="Times,serif" font-size="9.00">os.(*File).Read</text>
<text text-anchor="middle" x="1362" y="-851.8" font-family="Times,serif" font-size="9.00">0.02s(0.0092%)</text>
<text text-anchor="middle" x="1362" y="-841.8" font-family="Times,serif" font-size="9.00">of 1.29s(0.59%)</text>
</a>
</g>
</g>
<!-- N58&#45;&gt;N68 -->
<g id="edge65" class="edge"><title>N58&#45;&gt;N68</title>
<g id="a_edge65"><a xlink:title="bufio.(*Reader).Read &#45;&gt; os.(*File).Read (1.29s)">
<path fill="none" stroke="black" d="M1386.88,-929.626C1382.43,-916.293 1376.34,-898.018 1371.3,-882.89"/>
<polygon fill="black" stroke="black" points="1374.49,-881.399 1368.01,-873.019 1367.85,-883.613 1374.49,-881.399"/>
</a>
</g>
<g id="a_edge65&#45;label"><a xlink:title="bufio.(*Reader).Read &#45;&gt; os.(*File).Read (1.29s)">
<text text-anchor="middle" x="1396" y="-894.8" font-family="Times,serif" font-size="14.00"> 1.29s</text>
</a>
</g>
</g>
<!-- N59&#45;&gt;N58 -->
<g id="edge54" class="edge"><title>N59&#45;&gt;N58</title>
<g id="a_edge54"><a xlink:title="github.com/biogo/hts/bgzf.(*countReader).Read &#45;&gt; bufio.(*Reader).Read (1.41s)">
<path fill="none" stroke="black" d="M1433.71,-1045.41C1426.06,-1027.48 1413.91,-998.996 1404.87,-977.814"/>
<polygon fill="black" stroke="black" points="1407.98,-976.195 1400.84,-968.371 1401.54,-978.942 1407.98,-976.195"/>
</a>
</g>
<g id="a_edge54&#45;label"><a xlink:title="github.com/biogo/hts/bgzf.(*countReader).Read &#45;&gt; bufio.(*Reader).Read (1.41s)">
<text text-anchor="middle" x="1434" y="-995.8" font-family="Times,serif" font-size="14.00"> 1.41s</text>
</a>
</g>
</g>
<!-- N61 -->
<g id="node62" class="node"><title>N61</title>
<g id="a_node62"><a xlink:title="runtime.(*mcache).refill (1.36s)">
<polygon fill="#f8f8f8" stroke="black" points="1895.5,-592.5 1794.5,-592.5 1794.5,-554.5 1895.5,-554.5 1895.5,-592.5"/>
<text text-anchor="middle" x="1845" y="-581.3" font-family="Times,serif" font-size="9.00">runtime.(*mcache).refill</text>
<text text-anchor="middle" x="1845" y="-571.3" font-family="Times,serif" font-size="9.00">0.01s(0.0046%)</text>
<text text-anchor="middle" x="1845" y="-561.3" font-family="Times,serif" font-size="9.00">of 1.36s(0.63%)</text>
</a>
</g>
</g>
<!-- N60&#45;&gt;N61 -->
<g id="edge57" class="edge"><title>N60&#45;&gt;N61</title>
<g id="a_edge57"><a xlink:title="runtime.(*mcache).nextFree.func1 &#45;&gt; runtime.(*mcache).refill (1.36s)">
<path fill="none" stroke="black" d="M1851.5,-652.443C1850.34,-638.586 1848.72,-619.186 1847.39,-603.208"/>
<polygon fill="black" stroke="black" points="1850.84,-602.477 1846.53,-592.802 1843.87,-603.058 1850.84,-602.477"/>
</a>
</g>
<g id="a_edge57&#45;label"><a xlink:title="runtime.(*mcache).nextFree.func1 &#45;&gt; runtime.(*mcache).refill (1.36s)">
<text text-anchor="middle" x="1866" y="-621.8" font-family="Times,serif" font-size="14.00"> 1.36s</text>
</a>
</g>
</g>
<!-- N62 -->
<g id="node63" class="node"><title>N62</title>
<g id="a_node63"><a xlink:title="runtime.(*mcentral).cacheSpan (1.35s)">
<polygon fill="#f8f8f8" stroke="black" points="1916.5,-494.5 1773.5,-494.5 1773.5,-453.5 1916.5,-453.5 1916.5,-494.5"/>
<text text-anchor="middle" x="1845" y="-482.5" font-family="Times,serif" font-size="10.00">runtime.(*mcentral).cacheSpan</text>
<text text-anchor="middle" x="1845" y="-471.5" font-family="Times,serif" font-size="10.00">0.26s(0.12%)</text>
<text text-anchor="middle" x="1845" y="-460.5" font-family="Times,serif" font-size="10.00">of 1.35s(0.62%)</text>
</a>
</g>
</g>
<!-- N61&#45;&gt;N62 -->
<g id="edge60" class="edge"><title>N61&#45;&gt;N62</title>
<g id="a_edge60"><a xlink:title="runtime.(*mcache).refill &#45;&gt; runtime.(*mcentral).cacheSpan (1.35s)">
<path fill="none" stroke="black" d="M1845,-554.161C1845,-540.224 1845,-520.765 1845,-504.628"/>
<polygon fill="black" stroke="black" points="1848.5,-504.595 1845,-494.595 1841.5,-504.595 1848.5,-504.595"/>
</a>
</g>
<g id="a_edge60&#45;label"><a xlink:title="runtime.(*mcache).refill &#45;&gt; runtime.(*mcentral).cacheSpan (1.35s)">
<text text-anchor="middle" x="1862" y="-517.8" font-family="Times,serif" font-size="14.00"> 1.35s</text>
</a>
</g>
</g>
<!-- N63&#45;&gt;N33 -->
<g id="edge81" class="edge"><title>N63&#45;&gt;N33</title>
<g id="a_edge81"><a xlink:title="runtime.scanstack &#45;&gt; runtime.gentraceback (0.84s)">
<path fill="none" stroke="black" d="M2434.77,-454.626C2448.71,-440.979 2467.94,-422.154 2483.6,-406.826"/>
<polygon fill="black" stroke="black" points="2486.26,-409.116 2490.96,-399.62 2481.36,-404.114 2486.26,-409.116"/>
</a>
</g>
<g id="a_edge81&#45;label"><a xlink:title="runtime.scanstack &#45;&gt; runtime.gentraceback (0.84s)">
<text text-anchor="middle" x="2486" y="-422.8" font-family="Times,serif" font-size="14.00"> 0.84s</text>
</a>
</g>
</g>
<!-- N77 -->
<g id="node78" class="node"><title>N77</title>
<g id="a_node78"><a xlink:title="runtime.rawstringtmp (1.21s)">
<polygon fill="#f8f8f8" stroke="black" points="1859.5,-1466.5 1766.5,-1466.5 1766.5,-1428.5 1859.5,-1428.5 1859.5,-1466.5"/>
<text text-anchor="middle" x="1813" y="-1455.3" font-family="Times,serif" font-size="9.00">runtime.rawstringtmp</text>
<text text-anchor="middle" x="1813" y="-1445.3" font-family="Times,serif" font-size="9.00">0.09s(0.041%)</text>
<text text-anchor="middle" x="1813" y="-1435.3" font-family="Times,serif" font-size="9.00">of 1.21s(0.56%)</text>
</a>
</g>
</g>
<!-- N64&#45;&gt;N77 -->
<g id="edge73" class="edge"><title>N64&#45;&gt;N77</title>
<g id="a_edge73"><a xlink:title="runtime.slicebytetostring &#45;&gt; runtime.rawstringtmp (1.21s)">
<path fill="none" stroke="black" d="M1790.01,-1518.66C1794.04,-1506.36 1799.42,-1489.93 1803.97,-1476.06"/>
<polygon fill="black" stroke="black" points="1807.31,-1477.1 1807.1,-1466.51 1800.66,-1474.92 1807.31,-1477.1"/>
</a>
</g>
<g id="a_edge73&#45;label"><a xlink:title="runtime.slicebytetostring &#45;&gt; runtime.rawstringtmp (1.21s)">
<text text-anchor="middle" x="1817" y="-1489.8" font-family="Times,serif" font-size="14.00"> 1.21s</text>
</a>
</g>
</g>
<!-- N67 -->
<g id="node68" class="node"><title>N67</title>
<g id="a_node68"><a xlink:title="runtime.scang (1.30s)">
<polygon fill="#f8f8f8" stroke="black" points="2451.5,-592.5 2380.5,-592.5 2380.5,-554.5 2451.5,-554.5 2451.5,-592.5"/>
<text text-anchor="middle" x="2416" y="-581.3" font-family="Times,serif" font-size="9.00">runtime.scang</text>
<text text-anchor="middle" x="2416" y="-571.3" font-family="Times,serif" font-size="9.00">0.08s(0.037%)</text>
<text text-anchor="middle" x="2416" y="-561.3" font-family="Times,serif" font-size="9.00">of 1.30s(0.6%)</text>
</a>
</g>
</g>
<!-- N65&#45;&gt;N67 -->
<g id="edge64" class="edge"><title>N65&#45;&gt;N67</title>
<g id="a_edge64"><a xlink:title="runtime.markroot.func1 &#45;&gt; runtime.scang (1.30s)">
<path fill="none" stroke="black" d="M2416,-652.443C2416,-638.586 2416,-619.186 2416,-603.208"/>
<polygon fill="black" stroke="black" points="2419.5,-602.802 2416,-592.802 2412.5,-602.802 2419.5,-602.802"/>
</a>
</g>
<g id="a_edge64&#45;label"><a xlink:title="runtime.markroot.func1 &#45;&gt; runtime.scang (1.30s)">
<text text-anchor="middle" x="2433" y="-621.8" font-family="Times,serif" font-size="14.00"> 1.30s</text>
</a>
</g>
</g>
<!-- N66&#45;&gt;N57 -->
<g id="edge94" class="edge"><title>N66&#45;&gt;N57</title>
<g id="a_edge94"><a xlink:title="runtime.findrunnable &#45;&gt; runtime.stopm (0.35s)">
<path fill="none" stroke="black" d="M2685.45,-264.859C2684.48,-252.644 2683.22,-236.76 2682.16,-223.326"/>
<polygon fill="black" stroke="black" points="2685.64,-222.888 2681.36,-213.195 2678.66,-223.44 2685.64,-222.888"/>
</a>
</g>
<g id="a_edge94&#45;label"><a xlink:title="runtime.findrunnable &#45;&gt; runtime.stopm (0.35s)">
<text text-anchor="middle" x="2700" y="-235.8" font-family="Times,serif" font-size="14.00"> 0.35s</text>
</a>
</g>
</g>
<!-- N67&#45;&gt;N63 -->
<g id="edge84" class="edge"><title>N67&#45;&gt;N63</title>
<g id="a_edge84"><a xlink:title="runtime.scang &#45;&gt; runtime.scanstack (0.73s)">
<path fill="none" stroke="black" d="M2416,-554.161C2416,-539.862 2416,-519.751 2416,-503.378"/>
<polygon fill="black" stroke="black" points="2419.5,-503.257 2416,-493.257 2412.5,-503.257 2419.5,-503.257"/>
</a>
</g>
<g id="a_edge84&#45;label"><a xlink:title="runtime.scang &#45;&gt; runtime.scanstack (0.73s)">
<text text-anchor="middle" x="2433" y="-517.8" font-family="Times,serif" font-size="14.00"> 0.73s</text>
</a>
</g>
</g>
<!-- N70 -->
<g id="node71" class="node"><title>N70</title>
<g id="a_node71"><a xlink:title="os.(*File).read (1.27s)">
<polygon fill="#f8f8f8" stroke="black" points="1399,-781.5 1325,-781.5 1325,-745.5 1399,-745.5 1399,-781.5"/>
<text text-anchor="middle" x="1362" y="-766.1" font-family="Times,serif" font-size="8.00">os.(*File).read</text>
<text text-anchor="middle" x="1362" y="-757.1" font-family="Times,serif" font-size="8.00">0 of 1.27s(0.58%)</text>
</a>
</g>
</g>
<!-- N68&#45;&gt;N70 -->
<g id="edge67" class="edge"><title>N68&#45;&gt;N70</title>
<g id="a_edge67"><a xlink:title="os.(*File).Read &#45;&gt; os.(*File).read (1.27s)">
<path fill="none" stroke="black" d="M1362,-834.663C1362,-822.236 1362,-805.601 1362,-791.647"/>
<polygon fill="black" stroke="black" points="1365.5,-791.613 1362,-781.613 1358.5,-791.613 1365.5,-791.613"/>
</a>
</g>
<g id="a_edge67&#45;label"><a xlink:title="os.(*File).Read &#45;&gt; os.(*File).read (1.27s)">
<text text-anchor="middle" x="1379" y="-805.8" font-family="Times,serif" font-size="14.00"> 1.27s</text>
</a>
</g>
</g>
<!-- N76 -->
<g id="node77" class="node"><title>N76</title>
<g id="a_node77"><a xlink:title="compress/gzip.(*Reader).readHeader (1.22s)">
<polygon fill="#f8f8f8" stroke="black" points="1522,-1466.5 1374,-1466.5 1374,-1428.5 1522,-1428.5 1522,-1466.5"/>
<text text-anchor="middle" x="1448" y="-1455.3" font-family="Times,serif" font-size="9.00">compress/gzip.(*Reader).readHeader</text>
<text text-anchor="middle" x="1448" y="-1445.3" font-family="Times,serif" font-size="9.00">0.03s(0.014%)</text>
<text text-anchor="middle" x="1448" y="-1435.3" font-family="Times,serif" font-size="9.00">of 1.22s(0.56%)</text>
</a>
</g>
</g>
<!-- N69&#45;&gt;N76 -->
<g id="edge74" class="edge"><title>N69&#45;&gt;N76</title>
<g id="a_edge74"><a xlink:title="compress/gzip.(*Reader).Reset &#45;&gt; compress/gzip.(*Reader).readHeader (1.18s)">
<path fill="none" stroke="black" d="M1400.43,-1518.66C1409.02,-1506 1420.56,-1488.97 1430.13,-1474.86"/>
<polygon fill="black" stroke="black" points="1433.07,-1476.75 1435.79,-1466.51 1427.28,-1472.82 1433.07,-1476.75"/>
</a>
</g>
<g id="a_edge74&#45;label"><a xlink:title="compress/gzip.(*Reader).Reset &#45;&gt; compress/gzip.(*Reader).readHeader (1.18s)">
<text text-anchor="middle" x="1439" y="-1489.8" font-family="Times,serif" font-size="14.00"> 1.18s</text>
</a>
</g>
</g>
<!-- N71 -->
<g id="node72" class="node"><title>N71</title>
<g id="a_node72"><a xlink:title="syscall.Read (1.27s)">
<polygon fill="#f8f8f8" stroke="black" points="1399,-689.5 1325,-689.5 1325,-653.5 1399,-653.5 1399,-689.5"/>
<text text-anchor="middle" x="1362" y="-674.1" font-family="Times,serif" font-size="8.00">syscall.Read</text>
<text text-anchor="middle" x="1362" y="-665.1" font-family="Times,serif" font-size="8.00">0 of 1.27s(0.58%)</text>
</a>
</g>
</g>
<!-- N70&#45;&gt;N71 -->
<g id="edge68" class="edge"><title>N70&#45;&gt;N71</title>
<g id="a_edge68"><a xlink:title="os.(*File).read &#45;&gt; syscall.Read (1.27s)">
<path fill="none" stroke="black" d="M1362,-745.147C1362,-732.323 1362,-714.608 1362,-699.881"/>
<polygon fill="black" stroke="black" points="1365.5,-699.8 1362,-689.8 1358.5,-699.8 1365.5,-699.8"/>
</a>
</g>
<g id="a_edge68&#45;label"><a xlink:title="os.(*File).read &#45;&gt; syscall.Read (1.27s)">
<text text-anchor="middle" x="1379" y="-713.8" font-family="Times,serif" font-size="14.00"> 1.27s</text>
</a>
</g>
</g>
<!-- N72 -->
<g id="node73" class="node"><title>N72</title>
<g id="a_node73"><a xlink:title="syscall.read (1.27s)">
<polygon fill="#f8f8f8" stroke="black" points="1399.5,-592.5 1324.5,-592.5 1324.5,-554.5 1399.5,-554.5 1399.5,-592.5"/>
<text text-anchor="middle" x="1362" y="-581.3" font-family="Times,serif" font-size="9.00">syscall.read</text>
<text text-anchor="middle" x="1362" y="-571.3" font-family="Times,serif" font-size="9.00">0.01s(0.0046%)</text>
<text text-anchor="middle" x="1362" y="-561.3" font-family="Times,serif" font-size="9.00">of 1.27s(0.58%)</text>
</a>
</g>
</g>
<!-- N71&#45;&gt;N72 -->
<g id="edge69" class="edge"><title>N71&#45;&gt;N72</title>
<g id="a_edge69"><a xlink:title="syscall.Read &#45;&gt; syscall.read (1.27s)">
<path fill="none" stroke="black" d="M1362,-653.337C1362,-639.357 1362,-619.325 1362,-602.952"/>
<polygon fill="black" stroke="black" points="1365.5,-602.822 1362,-592.822 1358.5,-602.822 1365.5,-602.822"/>
</a>
</g>
<g id="a_edge69&#45;label"><a xlink:title="syscall.Read &#45;&gt; syscall.read (1.27s)">
<text text-anchor="middle" x="1379" y="-621.8" font-family="Times,serif" font-size="14.00"> 1.27s</text>
</a>
</g>
</g>
<!-- N73 -->
<g id="node74" class="node"><title>N73</title>
<g id="a_node74"><a xlink:title="syscall.Syscall (1.26s)">
<polygon fill="#f8f8f8" stroke="black" points="1405.5,-496 1318.5,-496 1318.5,-452 1405.5,-452 1405.5,-496"/>
<text text-anchor="middle" x="1362" y="-483.2" font-family="Times,serif" font-size="11.00">syscall.Syscall</text>
<text text-anchor="middle" x="1362" y="-471.2" font-family="Times,serif" font-size="11.00">1.20s(0.55%)</text>
<text text-anchor="middle" x="1362" y="-459.2" font-family="Times,serif" font-size="11.00">of 1.26s(0.58%)</text>
</a>
</g>
</g>
<!-- N72&#45;&gt;N73 -->
<g id="edge71" class="edge"><title>N72&#45;&gt;N73</title>
<g id="a_edge71"><a xlink:title="syscall.read &#45;&gt; syscall.Syscall (1.26s)">
<path fill="none" stroke="black" d="M1362,-554.161C1362,-540.805 1362,-522.378 1362,-506.663"/>
<polygon fill="black" stroke="black" points="1365.5,-506.312 1362,-496.312 1358.5,-506.312 1365.5,-506.312"/>
</a>
</g>
<g id="a_edge71&#45;label"><a xlink:title="syscall.read &#45;&gt; syscall.Syscall (1.26s)">
<text text-anchor="middle" x="1379" y="-517.8" font-family="Times,serif" font-size="14.00"> 1.26s</text>
</a>
</g>
</g>
<!-- N74 -->
<g id="node75" class="node"><title>N74</title>
<g id="a_node75"><a xlink:title="runtime._System (1.25s)">
<polygon fill="#f8f8f8" stroke="black" points="1676,-872 1602,-872 1602,-836 1676,-836 1676,-872"/>
<text text-anchor="middle" x="1639" y="-856.6" font-family="Times,serif" font-size="8.00">runtime._System</text>
<text text-anchor="middle" x="1639" y="-847.6" font-family="Times,serif" font-size="8.00">0 of 1.25s(0.57%)</text>
</a>
</g>
</g>
<!-- N74&#45;&gt;N9 -->
<g id="edge82" class="edge"><title>N74&#45;&gt;N9</title>
<g id="a_edge82"><a xlink:title="runtime._System &#45;&gt; runtime.systemstack (0.75s)">
<path fill="none" stroke="black" d="M1676.23,-837.858C1679.18,-836.835 1682.13,-835.868 1685,-835 1776.02,-807.51 1884.44,-786.212 1950.2,-774.517"/>
<polygon fill="black" stroke="black" points="1951.13,-777.906 1960.37,-772.723 1949.92,-771.012 1951.13,-777.906"/>
</a>
</g>
<g id="a_edge82&#45;label"><a xlink:title="runtime._System &#45;&gt; runtime.systemstack (0.75s)">
<text text-anchor="middle" x="1825" y="-805.8" font-family="Times,serif" font-size="14.00"> 0.75s</text>
</a>
</g>
</g>
<!-- N75&#45;&gt;N9 -->
<g id="edge97" class="edge"><title>N75&#45;&gt;N9</title>
<g id="a_edge97"><a xlink:title="runtime.gcMarkDone &#45;&gt; runtime.systemstack (0.28s)">
<path fill="none" stroke="black" d="M2107.81,-834.877C2089.85,-821.957 2065.46,-804.406 2045.53,-790.063"/>
<polygon fill="black" stroke="black" points="2047.45,-787.135 2037.29,-784.136 2043.36,-792.817 2047.45,-787.135"/>
</a>
</g>
<g id="a_edge97&#45;label"><a xlink:title="runtime.gcMarkDone &#45;&gt; runtime.systemstack (0.28s)">
<text text-anchor="middle" x="2099" y="-805.8" font-family="Times,serif" font-size="14.00"> 0.28s</text>
</a>
</g>
</g>
<!-- N76&#45;&gt;N29 -->
<g id="edge98" class="edge"><title>N76&#45;&gt;N29</title>
<g id="a_edge98"><a xlink:title="compress/gzip.(*Reader).readHeader &#45;&gt; runtime.makeslice (0.24s)">
<path fill="none" stroke="black" d="M1455.75,-1428.43C1475.47,-1379.39 1522.02,-1241.58 1464,-1153 1432.92,-1105.55 1396.65,-1129.43 1347,-1102 1340.39,-1098.35 1333.58,-1094.12 1327.09,-1089.85"/>
<polygon fill="black" stroke="black" points="1328.74,-1086.74 1318.5,-1084.04 1324.82,-1092.54 1328.74,-1086.74"/>
</a>
</g>
<g id="a_edge98&#45;label"><a xlink:title="compress/gzip.(*Reader).readHeader &#45;&gt; runtime.makeslice (0.24s)">
<text text-anchor="middle" x="1510" y="-1260.8" font-family="Times,serif" font-size="14.00"> 0.24s</text>
</a>
</g>
</g>
<!-- N76&#45;&gt;N30 -->
<g id="edge85" class="edge"><title>N76&#45;&gt;N30</title>
<g id="a_edge85"><a xlink:title="compress/gzip.(*Reader).readHeader &#45;&gt; io.ReadFull (0.72s)">
<path fill="none" stroke="black" d="M1465.51,-1428.42C1483.63,-1409.73 1512.07,-1380.37 1532.43,-1359.36"/>
<polygon fill="black" stroke="black" points="1535.09,-1361.65 1539.53,-1352.03 1530.06,-1356.78 1535.09,-1361.65"/>
</a>
</g>
<g id="a_edge85&#45;label"><a xlink:title="compress/gzip.(*Reader).readHeader &#45;&gt; io.ReadFull (0.72s)">
<text text-anchor="middle" x="1513" y="-1397.8" font-family="Times,serif" font-size="14.00"> 0.72s</text>
</a>
</g>
</g>
</g>
</g></svg>
// Copyright ©2017 The bíogo Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// This program tabulates statistics on a bam file from the sam flag.
// It replicates functionality in samtools flagstat.
package main
import (
"flag"
"fmt"
"io"
"log"
"os"
"runtime/pprof"
"github.com/biogo/hts/bam"
"github.com/biogo/hts/bgzf"
"github.com/biogo/hts/sam"
)
const (
pass = iota
fail
)
var cpuprofile = flag.String("cpuprofile", "", "write cpu profile to file")
func main() {
flag.Parse()
if len(flag.Args()) != 1 {
log.Fatal("Expecting a single bam argument")
}
if *cpuprofile != "" {
f, err := os.Create(*cpuprofile)
if err != nil {
log.Fatal(err)
}
defer f.Close()
pprof.StartCPUProfile(f)
defer pprof.StopCPUProfile()
}
f, err := os.Open(flag.Args()[0])
if err != nil {
log.Fatal(err)
}
defer f.Close()
ok, err := bgzf.HasEOF(f)
if err != nil {
log.Fatal(err)
}
if !ok {
log.Println("EOF block missing")
}
b, err := bam.NewReader(f, 0)
if err != nil {
log.Fatal(err)
}
defer b.Close()
b.Omit(bam.AllVariableLengthData)
// counts is indexed by [pass/fail][sam.Flag] where we have 12 possible sam Flags.
var counts [2][12]uint64
// track mates on different chromosomes.
var mates [2]struct{ allMapQ, highMapQ uint64 }
var good, singletons, paired [2]uint64
var qc int
for {
read, err := b.Read()
if err == io.EOF {
break
}
if err != nil {
log.Fatal(err)
}
if read.Flags&sam.QCFail == 0 {
qc = pass
} else {
qc = fail
}
for i := Paired; i <= Supplementary; i++ {
if read.Flags&(1<<i) != 0 {
counts[qc][i]++
}
}
const goodMask = sam.ProperPair | sam.Unmapped
if read.Flags&goodMask == sam.ProperPair {
good[qc]++
}
const mapMask = sam.MateUnmapped | sam.Unmapped
switch read.Flags & mapMask {
case sam.MateUnmapped:
singletons[qc]++
case 0:
paired[qc]++
if read.MateRef != read.Ref && read.MateRef != nil && read.Ref != nil {
if read.MapQ > 4 {
mates[qc].highMapQ++
}
mates[qc].allMapQ++
}
}
}
// extract counts to match output from samtools flagstat.
fmt.Printf("%d + %d in total (QC-passed reads + QC-failed reads)\n", counts[pass][Paired], counts[fail][Paired])
fmt.Printf("%d + %d in total secondary\n", counts[pass][Secondary], counts[fail][Secondary])
fmt.Printf("%d + %d in total supplementary\n", counts[pass][Supplementary], counts[fail][Supplementary])
fmt.Printf("%d + %d duplicates\n", counts[pass][Duplicate], counts[fail][Duplicate])
mappedPass := counts[pass][Paired] - counts[pass][Unmapped]
mappedFail := counts[fail][Paired] - counts[fail][Unmapped]
fmt.Printf("%d + %d mapped (%s : %s)\n", mappedPass, mappedFail, percent(mappedPass, counts[pass][Paired]), percent(mappedFail, counts[fail][Paired]))
fmt.Printf("%d + %d paired in sequencing\n", counts[pass][Paired], counts[fail][Paired])
fmt.Printf("%d + %d read1\n", counts[pass][Read1], counts[fail][Read1])
fmt.Printf("%d + %d read2\n", counts[pass][Read2], counts[fail][Read2])
fmt.Printf("%d + %d properly paired (%s : %s)\n", good[pass], good[fail], percent(good[pass], counts[pass][Paired]), percent(good[fail], counts[fail][Paired]))
fmt.Printf("%d + %d with itself and mate mapped\n", paired[pass], paired[fail])
fmt.Printf("%d + %d singletons (%s : %s)\n", singletons[pass], singletons[fail], percent(singletons[pass], counts[pass][Paired]), percent(singletons[fail], counts[fail][Paired]))
fmt.Printf("%d + %d with mate mapped to a different chr\n", mates[pass].allMapQ, mates[fail].allMapQ)
fmt.Printf("%d + %d with mate mapped to a different chr (mapQ>=5)\n", mates[pass].highMapQ, mates[fail].highMapQ)
}
func percent(n, total uint64) string {
if total == 0 {
return "N/A"
}
return fmt.Sprintf("%.2f%%", 100*float64(n)/float64(total))
}
// The flag indexes for SAM flags. Reflects sam.Flag order.
const (
Paired uint = iota // The read is paired in sequencing, no matter whether it is mapped in a pair.
ProperPair // The read is mapped in a proper pair.
Unmapped // The read itself is unmapped; conflictive with ProperPair.
MateUnmapped // The mate is unmapped.
Reverse // The read is mapped to the reverse strand.
MateReverse // The mate is mapped to the reverse strand.
Read1 // This is read1.
Read2 // This is read2.
Secondary // Not primary alignment.
QCFail // QC failure.
Duplicate // Optical or PCR duplicate.
Supplementary // Supplementary alignment, indicates alignment is part of a chimeric alignment.
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment