<?xml version='1.0'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:atom="http://www.w3.org/2005/Atom" >
<channel>
	<title><![CDATA[BOL: All site blogs]]></title>
	<link>https://bioinformaticsonline.com/blog/all?offset=120</link>
	<atom:link href="https://bioinformaticsonline.com/blog/all?offset=120" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/36870/understanding-liftover</guid>
	<pubDate>Wed, 06 Jun 2018 10:00:20 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/36870/understanding-liftover</link>
	<title><![CDATA[Understanding liftOver !]]></title>
	<description><![CDATA[<p>LiftOver is a necesary step to bring all genetical analysis to the same reference build. LiftOver can have three use cases:</p><p>(1) <a href="https://genome.sph.umich.edu/wiki/LiftOver#Lift_genome_positions">Convert genome position from one genome assembly to another genome assembly</a></p><p>In most scenarios, we have known genome positions in NCBI build 36 (UCSC hg 18) and hope to lift them over to NCBI build 37 (UCSC hg19).</p><p>(2) <a href="https://genome.sph.umich.edu/wiki/LiftOver#Lift_dbSNP_rs_numbers">Convert dbSNP rs number from one build to another</a></p><p>(3) <a href="https://genome.sph.umich.edu/wiki/LiftOver#Lift_Merlin.2FPLINK_format">Convert both genome position and dbSNP rs number over different versions</a></p><p>Run:</p><pre>liftOver input.bed hg18ToHg19.over.chain.gz output.bed unlifted.bed</pre><p>The outformat is as follow:</p><pre>Deleted in new:
    Sequence intersects no chains
Partially deleted in new:
    Sequence insufficiently intersects one chain
Split in new:
    Sequence insufficiently intersects multiple chains
Duplicated in new:
    Sequence sufficiently intersects multiple chains
Boundary problem:
    Missing start or end base in an exon</pre><p>For example:</p><p>If you liftOver <span>chr4:6497-6497 from <span>hg19 to GRch38 </span>and it return "deleted in new". </span></p><p>It means chr4:6497-6497 is part of a genomic contig on hg19 that is not anymore mapped on GRch38 because the new assembly is now better built without including this contig.</p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/36525/installing-bandage-on-ubunty</guid>
	<pubDate>Tue, 08 May 2018 08:03:21 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/36525/installing-bandage-on-ubunty</link>
	<title><![CDATA[Installing Bandage on Ubunty !]]></title>
	<description><![CDATA[<p>The following instructions successfully build Bandage (https://github.com/rrwick/Bandage ) on a fresh installation of Ubuntu 14.04:</p><ol>
<li>Ensure the package lists are up-to-date:&nbsp;<code>sudo apt-get update</code></li>
<li>Install prerequisite packages:&nbsp;<code>sudo apt-get install build-essential git qtbase5-dev libqt5svg5-dev</code></li>
<li>Download the Bandage code from GitHub:&nbsp;<code>git clone https://github.com/rrwick/Bandage.git</code></li>
<li>Open a terminal in the Bandage directory.</li>
<li>Set the environment variable to specify that you will be using Qt 5, not Qt 4:&nbsp;<code>export QT_SELECT=5</code></li>
<li>Run qmake to generate a Makefile:&nbsp;<code>qmake</code></li>
<li>Build the program:&nbsp;<code>make</code></li>
<li><code>Bandage</code>&nbsp;should now be an executable file.</li>
<li>Optionally, copy the program into /usr/local/bin:&nbsp;<code>sudo make install</code>. The Bandage build directory can then be deleted.</li>
</ol><p>➜ Tools git:(master) ✗ sudo apt-get update<br />[sudo] password for urbe:&nbsp;<br />Hit:1 http://ppa.launchpad.net/webupd8team/atom/ubuntu xenial InRelease<br />Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB]&nbsp;<br />Hit:3 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease&nbsp;<br />Hit:4 http://be.archive.ubuntu.com/ubuntu xenial InRelease&nbsp;<br />Get:5 http://be.archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]<br />Get:6 http://be.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]&nbsp;<br />Get:7 https://cran.rstudio.com/bin/linux/ubuntu xenial/ InRelease [3.590 B]&nbsp;<br />Hit:8 https://download.docker.com/linux/ubuntu xenial InRelease&nbsp;<br />Ign:9 http://download.opensuse.org/repositories/home:/sionescu/Debian ./ InRelease&nbsp;<br />Hit:10 http://download.opensuse.org/repositories/home:/sionescu/Debian ./ Release&nbsp;<br />Get:11 http://packages.cloud.google.com/apt cloud-sdk-xenial InRelease [6.372 B]<br />Get:12 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [484 kB]<br />Get:13 http://security.ubuntu.com/ubuntu xenial-security/main i386 Packages [433 kB]<br />Get:14 http://security.ubuntu.com/ubuntu xenial-security/main Translation-en [209 kB]<br />Get:15 http://security.ubuntu.com/ubuntu xenial-security/main amd64 DEP-11 Metadata [67,5 kB]<br />Get:16 http://security.ubuntu.com/ubuntu xenial-security/main DEP-11 64x64 Icons [68,0 kB]&nbsp;<br />Get:17 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 DEP-11 Metadata [107 kB]<br />Get:18 http://security.ubuntu.com/ubuntu xenial-security/universe DEP-11 64x64 Icons [147 kB]<br />Get:19 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [769 kB]&nbsp;<br />Get:20 http://be.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages [710 kB]&nbsp;<br />Get:21 http://be.archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [319 kB]<br />Get:22 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 DEP-11 Metadata [319 kB]<br />Get:24 http://be.archive.ubuntu.com/ubuntu xenial-updates/main DEP-11 64x64 Icons [228 kB]&nbsp;<br />Get:25 http://be.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 DEP-11 Metadata [246 kB]<br />Err:11 http://packages.cloud.google.com/apt cloud-sdk-xenial InRelease&nbsp;<br />The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A030B21BA07F4FB<br />Get:26 http://be.archive.ubuntu.com/ubuntu xenial-updates/universe DEP-11 64x64 Icons [331 kB]<br />Get:27 http://be.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 DEP-11 Metadata [5.964 B]<br />Get:28 http://be.archive.ubuntu.com/ubuntu xenial-backports/main amd64 DEP-11 Metadata [3.328 B]<br />Get:29 http://be.archive.ubuntu.com/ubuntu xenial-backports/universe amd64 DEP-11 Metadata [5.088 B]<br />Fetched 4.779 kB in 2s (1.606 kB/s)&nbsp;<br />Reading package lists... Done<br />W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://packages.cloud.google.com/apt cloud-sdk-xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A030B21BA07F4FB<br />W: Failed to fetch http://packages.cloud.google.com/apt/dists/cloud-sdk-xenial/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A030B21BA07F4FB<br />W: Some index files failed to download. They have been ignored, or old ones used instead.<br />➜ Tools git:(master) ✗ sudo apt-get install build-essential git qtbase5-dev libqt5svg5-dev<br />Reading package lists... Done<br />Building dependency tree&nbsp;<br />Reading state information... Done<br />build-essential is already the newest version (12.1ubuntu2).<br />git is already the newest version (1:2.7.4-0ubuntu1.3).<br />The following packages were automatically installed and are no longer required:<br />bridge-utils containerd linux-headers-4.4.0-116 linux-headers-4.4.0-116-generic linux-headers-4.4.0-21 linux-headers-4.4.0-21-generic linux-image-4.4.0-116-generic linux-image-4.4.0-21-generic<br />linux-image-extra-4.4.0-116-generic linux-image-extra-4.4.0-21-generic linux-signed-image-4.4.0-116-generic runc ubuntu-fan<br />Use 'sudo apt autoremove' to remove them.<br />The following additional packages will be installed:<br />libdrm-dev libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa libgles2-mesa-dev libglu1-mesa-dev libmirclient-dev libmircommon-dev libmircookie-dev libmircookie2 libmircore-dev libprotobuf-dev libprotobuf9v5<br />libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5opengl5-dev libqt5printsupport5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5test5 libqt5widgets5 libqt5xml5 libwayland-bin<br />libwayland-dev libx11-xcb-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present-dev libxcb-randr0 libxcb-randr0-dev libxcb-render-util0 libxcb-render0-dev<br />libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-xkb1 libxdamage-dev libxext-dev libxfixes-dev libxkbcommon-dev libxkbcommon-x11-0 libxshmfence-dev libxxf86vm-dev mesa-common-dev qt5-qmake<br />qtbase5-dev-tools qttranslations5-l10n x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-xext-dev x11proto-xf86vidmode-dev<br />Suggested packages:<br />libqt5libqgtk2 qt5-image-formats-plugins qtwayland5 libxext-doc libmysqlclient-dev libpq-dev libsqlite3-dev unixodbc-dev<br />The following NEW packages will be installed:<br />libdrm-dev libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa libgles2-mesa-dev libglu1-mesa-dev libmirclient-dev libmircommon-dev libmircookie-dev libmircookie2 libmircore-dev libprotobuf-dev libprotobuf9v5<br />libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5opengl5-dev libqt5printsupport5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5svg5-dev libqt5test5 libqt5widgets5 libqt5xml5<br />libwayland-bin libwayland-dev libx11-xcb-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present-dev libxcb-randr0 libxcb-randr0-dev libxcb-render-util0<br />libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-xkb1 libxdamage-dev libxext-dev libxfixes-dev libxkbcommon-dev libxkbcommon-x11-0 libxshmfence-dev libxxf86vm-dev mesa-common-dev<br />qt5-qmake qtbase5-dev qtbase5-dev-tools qttranslations5-l10n x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-xext-dev x11proto-xf86vidmode-dev<br />0 upgraded, 64 newly installed, 0 to remove and 11 not upgraded.<br />Need to get 15,2 MB of archives.<br />After this operation, 78,5 MB of additional disk space will be used.<br />Do you want to continue? [Y/n] Y<br />Get:1 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libqt5core5a amd64 5.5.1+dfsg-16ubuntu7.5 [1.817 kB]<br />Get:2 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libqt5dbus5 amd64 5.5.1+dfsg-16ubuntu7.5 [175 kB]<br />Get:3 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libqt5network5 amd64 5.5.1+dfsg-16ubuntu7.5 [540 kB]<br />Get:4 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-icccm4 amd64 0.4.1-1ubuntu1 [10,4 kB]<br />Get:5 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-image0 amd64 0.4.0-1build1 [12,3 kB]<br />Get:6 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-keysyms1 amd64 0.4.0-1 [8.406 B]<br />Get:7 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-randr0 amd64 1.11.1-1ubuntu1 [14,4 kB]<br />Get:8 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-render-util0 amd64 0.3.9-1 [9.638 B]<br />Get:9 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-xkb1 amd64 1.11.1-1ubuntu1 [29,2 kB]<br />Get:10 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxkbcommon-x11-0 amd64 0.5.0-1ubuntu2 [13,5 kB]<br />Get:11 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libqt5gui5 amd64 5.5.1+dfsg-16ubuntu7.5 [2.290 kB]<br />Get:12 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libqt5widgets5 amd64 5.5.1+dfsg-16ubuntu7.5 [2.252 kB]<br />Get:13 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libqt5svg5 amd64 5.5.1-2build1 [128 kB]<br />Get:14 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libqt5svg5-dev amd64 5.5.1-2build1 [9.724 B]<br />Get:15 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libdrm-dev amd64 2.4.83-1~16.04.1 [229 kB]<br />Get:16 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 x11proto-dri2-dev all 2.8-2 [12,6 kB]<br />Get:17 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 x11proto-gl-dev all 1.4.17-1 [17,9 kB]<br />Get:18 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 x11proto-xext-dev all 7.3.0-1 [212 kB]<br />Get:19 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxext-dev amd64 2:1.3.3-1 [82,1 kB]<br />Get:20 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 x11proto-xf86vidmode-dev all 2.3.1-2 [6.116 B]<br />Get:21 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxxf86vm-dev amd64 1:1.1.4-1 [13,3 kB]<br />Get:22 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 x11proto-fixes-dev all 1:5.0-2ubuntu2 [14,2 kB]<br />Get:23 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxfixes-dev amd64 1:5.0.1-2 [10,9 kB]<br />Get:24 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 x11proto-damage-dev all 1:1.2.1-2 [8.286 B]<br />Get:25 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxdamage-dev amd64 1:1.1.4-2 [5.028 B]<br />Get:26 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-glx0-dev amd64 1.11.1-1ubuntu1 [26,9 kB]<br />Get:27 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-dri2-0-dev amd64 1.11.1-1ubuntu1 [8.384 B]<br />Get:28 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-dri3-dev amd64 1.11.1-1ubuntu1 [5.752 B]<br />Get:29 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-render0-dev amd64 1.11.1-1ubuntu1 [15,3 kB]<br />Get:30 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-randr0-dev amd64 1.11.1-1ubuntu1 [18,2 kB]<br />Get:31 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-shape0-dev amd64 1.11.1-1ubuntu1 [6.900 B]<br />Get:32 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-xfixes0-dev amd64 1.11.1-1ubuntu1 [11,2 kB]<br />Get:33 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-sync-dev amd64 1.11.1-1ubuntu1 [10,1 kB]<br />Get:34 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxcb-present-dev amd64 1.11.1-1ubuntu1 [6.618 B]<br />Get:35 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxshmfence-dev amd64 1.2-1 [3.676 B]<br />Get:36 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libx11-xcb-dev amd64 2:1.6.3-1ubuntu2 [9.730 B]<br />Get:37 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libwayland-bin amd64 1.12.0-1~ubuntu16.04.3 [18,4 kB]<br />Get:38 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libwayland-dev amd64 1.12.0-1~ubuntu16.04.3 [92,4 kB]<br />Get:39 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libmircore-dev amd64 0.26.3+16.04.20170605-0ubuntu1.1 [23,7 kB]<br />Get:40 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libprotobuf9v5 amd64 2.6.1-1.3 [326 kB]<br />Get:41 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libprotobuf-dev amd64 2.6.1-1.3 [473 kB]<br />Get:42 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libxkbcommon-dev amd64 0.5.0-1ubuntu2 [231 kB]<br />Get:43 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libmircommon-dev amd64 0.26.3+16.04.20170605-0ubuntu1.1 [14,9 kB]<br />Get:44 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libmircookie2 amd64 0.26.3+16.04.20170605-0ubuntu1.1 [22,5 kB]<br />Get:45 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libmircookie-dev amd64 0.26.3+16.04.20170605-0ubuntu1.1 [5.152 B]<br />Get:46 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libmirclient-dev amd64 0.26.3+16.04.20170605-0ubuntu1.1 [42,6 kB]<br />Get:47 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libegl1-mesa-dev amd64 17.2.8-0ubuntu0~16.04.1 [19,9 kB]<br />Get:48 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libgles2-mesa amd64 17.2.8-0ubuntu0~16.04.1 [13,4 kB]<br />Get:49 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libgles2-mesa-dev amd64 17.2.8-0ubuntu0~16.04.1 [40,2 kB]<br />Get:50 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 mesa-common-dev amd64 17.2.8-0ubuntu0~16.04.1 [525 kB]<br />Get:51 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libgl1-mesa-dev amd64 17.2.8-0ubuntu0~16.04.1 [4.456 B]<br />Get:52 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 libglu1-mesa-dev amd64 9.0.0-2.1 [202 kB]<br />Get:53 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libqt5concurrent5 amd64 5.5.1+dfsg-16ubuntu7.5 [24,3 kB]<br />Get:54 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libqt5opengl5 amd64 5.5.1+dfsg-16ubuntu7.5 [128 kB]<br />Get:55 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libqt5printsupport5 amd64 5.5.1+dfsg-16ubuntu7.5 [174 kB]<br />Get:56 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libqt5sql5 amd64 5.5.1+dfsg-16ubuntu7.5 [104 kB]<br />Get:57 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libqt5test5 amd64 5.5.1+dfsg-16ubuntu7.5 [84,5 kB]<br />Get:58 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libqt5xml5 amd64 5.5.1+dfsg-16ubuntu7.5 [91,8 kB]<br />Get:59 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 qt5-qmake amd64 5.5.1+dfsg-16ubuntu7.5 [1.192 kB]<br />Get:60 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 qtbase5-dev-tools amd64 5.5.1+dfsg-16ubuntu7.5 [1.056 kB]<br />Get:61 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 qtbase5-dev amd64 5.5.1+dfsg-16ubuntu7.5 [931 kB]<br />Get:62 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libqt5opengl5-dev amd64 5.5.1+dfsg-16ubuntu7.5 [31,5 kB]<br />Get:63 http://be.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libqt5sql5-sqlite amd64 5.5.1+dfsg-16ubuntu7.5 [33,0 kB]<br />Get:64 http://be.archive.ubuntu.com/ubuntu xenial/main amd64 qttranslations5-l10n all 5.5.1-2build1 [1.210 kB]<br />Fetched 15,2 MB in 4s (3.099 kB/s)&nbsp;<br />Extracting templates from packages: 100%<br />Selecting previously unselected package libqt5core5a:amd64.<br />(Reading database ... 480949 files and directories currently installed.)<br />Preparing to unpack .../libqt5core5a_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking libqt5core5a:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package libqt5dbus5:amd64.<br />Preparing to unpack .../libqt5dbus5_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking libqt5dbus5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package libqt5network5:amd64.<br />Preparing to unpack .../libqt5network5_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking libqt5network5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package libxcb-icccm4:amd64.<br />Preparing to unpack .../libxcb-icccm4_0.4.1-1ubuntu1_amd64.deb ...<br />Unpacking libxcb-icccm4:amd64 (0.4.1-1ubuntu1) ...<br />Selecting previously unselected package libxcb-image0:amd64.<br />Preparing to unpack .../libxcb-image0_0.4.0-1build1_amd64.deb ...<br />Unpacking libxcb-image0:amd64 (0.4.0-1build1) ...<br />Selecting previously unselected package libxcb-keysyms1:amd64.<br />Preparing to unpack .../libxcb-keysyms1_0.4.0-1_amd64.deb ...<br />Unpacking libxcb-keysyms1:amd64 (0.4.0-1) ...<br />Selecting previously unselected package libxcb-randr0:amd64.<br />Preparing to unpack .../libxcb-randr0_1.11.1-1ubuntu1_amd64.deb ...<br />Unpacking libxcb-randr0:amd64 (1.11.1-1ubuntu1) ...<br />Selecting previously unselected package libxcb-render-util0:amd64.<br />Preparing to unpack .../libxcb-render-util0_0.3.9-1_amd64.deb ...<br />Unpacking libxcb-render-util0:amd64 (0.3.9-1) ...<br />Selecting previously unselected package libxcb-xkb1:amd64.<br />Preparing to unpack .../libxcb-xkb1_1.11.1-1ubuntu1_amd64.deb ...<br />Unpacking libxcb-xkb1:amd64 (1.11.1-1ubuntu1) ...<br />Selecting previously unselected package libxkbcommon-x11-0:amd64.<br />Preparing to unpack .../libxkbcommon-x11-0_0.5.0-1ubuntu2_amd64.deb ...<br />Unpacking libxkbcommon-x11-0:amd64 (0.5.0-1ubuntu2) ...<br />Selecting previously unselected package libqt5gui5:amd64.<br />Preparing to unpack .../libqt5gui5_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking libqt5gui5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package libqt5widgets5:amd64.<br />Preparing to unpack .../libqt5widgets5_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking libqt5widgets5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package libqt5svg5:amd64.<br />Preparing to unpack .../libqt5svg5_5.5.1-2build1_amd64.deb ...<br />Unpacking libqt5svg5:amd64 (5.5.1-2build1) ...<br />Selecting previously unselected package libqt5svg5-dev:amd64.<br />Preparing to unpack .../libqt5svg5-dev_5.5.1-2build1_amd64.deb ...<br />Unpacking libqt5svg5-dev:amd64 (5.5.1-2build1) ...<br />Selecting previously unselected package libdrm-dev:amd64.<br />Preparing to unpack .../libdrm-dev_2.4.83-1~16.04.1_amd64.deb ...<br />Unpacking libdrm-dev:amd64 (2.4.83-1~16.04.1) ...<br />Selecting previously unselected package x11proto-dri2-dev.<br />Preparing to unpack .../x11proto-dri2-dev_2.8-2_all.deb ...<br />Unpacking x11proto-dri2-dev (2.8-2) ...<br />Selecting previously unselected package x11proto-gl-dev.<br />Preparing to unpack .../x11proto-gl-dev_1.4.17-1_all.deb ...<br />Unpacking x11proto-gl-dev (1.4.17-1) ...<br />Selecting previously unselected package x11proto-xext-dev.<br />Preparing to unpack .../x11proto-xext-dev_7.3.0-1_all.deb ...<br />Unpacking x11proto-xext-dev (7.3.0-1) ...<br />Selecting previously unselected package libxext-dev:amd64.<br />Preparing to unpack .../libxext-dev_2%3a1.3.3-1_amd64.deb ...<br />Unpacking libxext-dev:amd64 (2:1.3.3-1) ...<br />Selecting previously unselected package x11proto-xf86vidmode-dev.<br />Preparing to unpack .../x11proto-xf86vidmode-dev_2.3.1-2_all.deb ...<br />Unpacking x11proto-xf86vidmode-dev (2.3.1-2) ...<br />Selecting previously unselected package libxxf86vm-dev:amd64.<br />Preparing to unpack .../libxxf86vm-dev_1%3a1.1.4-1_amd64.deb ...<br />Unpacking libxxf86vm-dev:amd64 (1:1.1.4-1) ...<br />Selecting previously unselected package x11proto-fixes-dev.<br />Preparing to unpack .../x11proto-fixes-dev_1%3a5.0-2ubuntu2_all.deb ...<br />Unpacking x11proto-fixes-dev (1:5.0-2ubuntu2) ...<br />Selecting previously unselected package libxfixes-dev:amd64.<br />Preparing to unpack .../libxfixes-dev_1%3a5.0.1-2_amd64.deb ...<br />Unpacking libxfixes-dev:amd64 (1:5.0.1-2) ...<br />Selecting previously unselected package x11proto-damage-dev.<br />Preparing to unpack .../x11proto-damage-dev_1%3a1.2.1-2_all.deb ...<br />Unpacking x11proto-damage-dev (1:1.2.1-2) ...<br />Selecting previously unselected package libxdamage-dev:amd64.<br />Preparing to unpack .../libxdamage-dev_1%3a1.1.4-2_amd64.deb ...<br />Unpacking libxdamage-dev:amd64 (1:1.1.4-2) ...<br />Selecting previously unselected package libxcb-glx0-dev:amd64.<br />Preparing to unpack .../libxcb-glx0-dev_1.11.1-1ubuntu1_amd64.deb ...<br />Unpacking libxcb-glx0-dev:amd64 (1.11.1-1ubuntu1) ...<br />Selecting previously unselected package libxcb-dri2-0-dev:amd64.<br />Preparing to unpack .../libxcb-dri2-0-dev_1.11.1-1ubuntu1_amd64.deb ...<br />Unpacking libxcb-dri2-0-dev:amd64 (1.11.1-1ubuntu1) ...<br />Selecting previously unselected package libxcb-dri3-dev:amd64.<br />Preparing to unpack .../libxcb-dri3-dev_1.11.1-1ubuntu1_amd64.deb ...<br />Unpacking libxcb-dri3-dev:amd64 (1.11.1-1ubuntu1) ...<br />Selecting previously unselected package libxcb-render0-dev:amd64.<br />Preparing to unpack .../libxcb-render0-dev_1.11.1-1ubuntu1_amd64.deb ...<br />Unpacking libxcb-render0-dev:amd64 (1.11.1-1ubuntu1) ...<br />Selecting previously unselected package libxcb-randr0-dev:amd64.<br />Preparing to unpack .../libxcb-randr0-dev_1.11.1-1ubuntu1_amd64.deb ...<br />Unpacking libxcb-randr0-dev:amd64 (1.11.1-1ubuntu1) ...<br />Selecting previously unselected package libxcb-shape0-dev:amd64.<br />Preparing to unpack .../libxcb-shape0-dev_1.11.1-1ubuntu1_amd64.deb ...<br />Unpacking libxcb-shape0-dev:amd64 (1.11.1-1ubuntu1) ...<br />Selecting previously unselected package libxcb-xfixes0-dev:amd64.<br />Preparing to unpack .../libxcb-xfixes0-dev_1.11.1-1ubuntu1_amd64.deb ...<br />Unpacking libxcb-xfixes0-dev:amd64 (1.11.1-1ubuntu1) ...<br />Selecting previously unselected package libxcb-sync-dev:amd64.<br />Preparing to unpack .../libxcb-sync-dev_1.11.1-1ubuntu1_amd64.deb ...<br />Unpacking libxcb-sync-dev:amd64 (1.11.1-1ubuntu1) ...<br />Selecting previously unselected package libxcb-present-dev:amd64.<br />Preparing to unpack .../libxcb-present-dev_1.11.1-1ubuntu1_amd64.deb ...<br />Unpacking libxcb-present-dev:amd64 (1.11.1-1ubuntu1) ...<br />Selecting previously unselected package libxshmfence-dev:amd64.<br />Preparing to unpack .../libxshmfence-dev_1.2-1_amd64.deb ...<br />Unpacking libxshmfence-dev:amd64 (1.2-1) ...<br />Selecting previously unselected package libx11-xcb-dev:amd64.<br />Preparing to unpack .../libx11-xcb-dev_2%3a1.6.3-1ubuntu2_amd64.deb ...<br />Unpacking libx11-xcb-dev:amd64 (2:1.6.3-1ubuntu2) ...<br />Selecting previously unselected package libwayland-bin.<br />Preparing to unpack .../libwayland-bin_1.12.0-1~ubuntu16.04.3_amd64.deb ...<br />Unpacking libwayland-bin (1.12.0-1~ubuntu16.04.3) ...<br />Selecting previously unselected package libwayland-dev:amd64.<br />Preparing to unpack .../libwayland-dev_1.12.0-1~ubuntu16.04.3_amd64.deb ...<br />Unpacking libwayland-dev:amd64 (1.12.0-1~ubuntu16.04.3) ...<br />Selecting previously unselected package libmircore-dev:amd64.<br />Preparing to unpack .../libmircore-dev_0.26.3+16.04.20170605-0ubuntu1.1_amd64.deb ...<br />Unpacking libmircore-dev:amd64 (0.26.3+16.04.20170605-0ubuntu1.1) ...<br />Selecting previously unselected package libprotobuf9v5:amd64.<br />Preparing to unpack .../libprotobuf9v5_2.6.1-1.3_amd64.deb ...<br />Unpacking libprotobuf9v5:amd64 (2.6.1-1.3) ...<br />Selecting previously unselected package libprotobuf-dev:amd64.<br />Preparing to unpack .../libprotobuf-dev_2.6.1-1.3_amd64.deb ...<br />Unpacking libprotobuf-dev:amd64 (2.6.1-1.3) ...<br />Selecting previously unselected package libxkbcommon-dev.<br />Preparing to unpack .../libxkbcommon-dev_0.5.0-1ubuntu2_amd64.deb ...<br />Unpacking libxkbcommon-dev (0.5.0-1ubuntu2) ...<br />Selecting previously unselected package libmircommon-dev:amd64.<br />Preparing to unpack .../libmircommon-dev_0.26.3+16.04.20170605-0ubuntu1.1_amd64.deb ...<br />Unpacking libmircommon-dev:amd64 (0.26.3+16.04.20170605-0ubuntu1.1) ...<br />Selecting previously unselected package libmircookie2:amd64.<br />Preparing to unpack .../libmircookie2_0.26.3+16.04.20170605-0ubuntu1.1_amd64.deb ...<br />Unpacking libmircookie2:amd64 (0.26.3+16.04.20170605-0ubuntu1.1) ...<br />Selecting previously unselected package libmircookie-dev:amd64.<br />Preparing to unpack .../libmircookie-dev_0.26.3+16.04.20170605-0ubuntu1.1_amd64.deb ...<br />Unpacking libmircookie-dev:amd64 (0.26.3+16.04.20170605-0ubuntu1.1) ...<br />Selecting previously unselected package libmirclient-dev:amd64.<br />Preparing to unpack .../libmirclient-dev_0.26.3+16.04.20170605-0ubuntu1.1_amd64.deb ...<br />Unpacking libmirclient-dev:amd64 (0.26.3+16.04.20170605-0ubuntu1.1) ...<br />Selecting previously unselected package libegl1-mesa-dev:amd64.<br />Preparing to unpack .../libegl1-mesa-dev_17.2.8-0ubuntu0~16.04.1_amd64.deb ...<br />Unpacking libegl1-mesa-dev:amd64 (17.2.8-0ubuntu0~16.04.1) ...<br />Selecting previously unselected package libgles2-mesa:amd64.<br />Preparing to unpack .../libgles2-mesa_17.2.8-0ubuntu0~16.04.1_amd64.deb ...<br />Unpacking libgles2-mesa:amd64 (17.2.8-0ubuntu0~16.04.1) ...<br />Selecting previously unselected package libgles2-mesa-dev:amd64.<br />Preparing to unpack .../libgles2-mesa-dev_17.2.8-0ubuntu0~16.04.1_amd64.deb ...<br />Unpacking libgles2-mesa-dev:amd64 (17.2.8-0ubuntu0~16.04.1) ...<br />Selecting previously unselected package mesa-common-dev:amd64.<br />Preparing to unpack .../mesa-common-dev_17.2.8-0ubuntu0~16.04.1_amd64.deb ...<br />Unpacking mesa-common-dev:amd64 (17.2.8-0ubuntu0~16.04.1) ...<br />Selecting previously unselected package libgl1-mesa-dev:amd64.<br />Preparing to unpack .../libgl1-mesa-dev_17.2.8-0ubuntu0~16.04.1_amd64.deb ...<br />Unpacking libgl1-mesa-dev:amd64 (17.2.8-0ubuntu0~16.04.1) ...<br />Selecting previously unselected package libglu1-mesa-dev:amd64.<br />Preparing to unpack .../libglu1-mesa-dev_9.0.0-2.1_amd64.deb ...<br />Unpacking libglu1-mesa-dev:amd64 (9.0.0-2.1) ...<br />Selecting previously unselected package libqt5concurrent5:amd64.<br />Preparing to unpack .../libqt5concurrent5_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking libqt5concurrent5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package libqt5opengl5:amd64.<br />Preparing to unpack .../libqt5opengl5_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking libqt5opengl5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package libqt5printsupport5:amd64.<br />Preparing to unpack .../libqt5printsupport5_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking libqt5printsupport5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package libqt5sql5:amd64.<br />Preparing to unpack .../libqt5sql5_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking libqt5sql5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package libqt5test5:amd64.<br />Preparing to unpack .../libqt5test5_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking libqt5test5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package libqt5xml5:amd64.<br />Preparing to unpack .../libqt5xml5_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking libqt5xml5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package qt5-qmake:amd64.<br />Preparing to unpack .../qt5-qmake_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking qt5-qmake:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package qtbase5-dev-tools.<br />Preparing to unpack .../qtbase5-dev-tools_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking qtbase5-dev-tools (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package qtbase5-dev:amd64.<br />Preparing to unpack .../qtbase5-dev_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking qtbase5-dev:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package libqt5opengl5-dev:amd64.<br />Preparing to unpack .../libqt5opengl5-dev_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking libqt5opengl5-dev:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package libqt5sql5-sqlite:amd64.<br />Preparing to unpack .../libqt5sql5-sqlite_5.5.1+dfsg-16ubuntu7.5_amd64.deb ...<br />Unpacking libqt5sql5-sqlite:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Selecting previously unselected package qttranslations5-l10n.<br />Preparing to unpack .../qttranslations5-l10n_5.5.1-2build1_all.deb ...<br />Unpacking qttranslations5-l10n (5.5.1-2build1) ...<br />Processing triggers for libc-bin (2.23-0ubuntu10) ...<br />Processing triggers for man-db (2.7.5-1) ...<br />Setting up libqt5core5a:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up libqt5dbus5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up libqt5network5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up libxcb-icccm4:amd64 (0.4.1-1ubuntu1) ...<br />Setting up libxcb-image0:amd64 (0.4.0-1build1) ...<br />Setting up libxcb-keysyms1:amd64 (0.4.0-1) ...<br />Setting up libxcb-randr0:amd64 (1.11.1-1ubuntu1) ...<br />Setting up libxcb-render-util0:amd64 (0.3.9-1) ...<br />Setting up libxcb-xkb1:amd64 (1.11.1-1ubuntu1) ...<br />Setting up libxkbcommon-x11-0:amd64 (0.5.0-1ubuntu2) ...<br />Setting up libqt5gui5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up libqt5widgets5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up libqt5svg5:amd64 (5.5.1-2build1) ...<br />Setting up libqt5svg5-dev:amd64 (5.5.1-2build1) ...<br />Setting up libdrm-dev:amd64 (2.4.83-1~16.04.1) ...<br />Setting up x11proto-dri2-dev (2.8-2) ...<br />Setting up x11proto-gl-dev (1.4.17-1) ...<br />Setting up x11proto-xext-dev (7.3.0-1) ...<br />Setting up libxext-dev:amd64 (2:1.3.3-1) ...<br />Setting up x11proto-xf86vidmode-dev (2.3.1-2) ...<br />Setting up libxxf86vm-dev:amd64 (1:1.1.4-1) ...<br />Setting up x11proto-fixes-dev (1:5.0-2ubuntu2) ...<br />Setting up libxfixes-dev:amd64 (1:5.0.1-2) ...<br />Setting up x11proto-damage-dev (1:1.2.1-2) ...<br />Setting up libxdamage-dev:amd64 (1:1.1.4-2) ...<br />Setting up libxcb-glx0-dev:amd64 (1.11.1-1ubuntu1) ...<br />Setting up libxcb-dri2-0-dev:amd64 (1.11.1-1ubuntu1) ...<br />Setting up libxcb-dri3-dev:amd64 (1.11.1-1ubuntu1) ...<br />Setting up libxcb-render0-dev:amd64 (1.11.1-1ubuntu1) ...<br />Setting up libxcb-randr0-dev:amd64 (1.11.1-1ubuntu1) ...<br />Setting up libxcb-shape0-dev:amd64 (1.11.1-1ubuntu1) ...<br />Setting up libxcb-xfixes0-dev:amd64 (1.11.1-1ubuntu1) ...<br />Setting up libxcb-sync-dev:amd64 (1.11.1-1ubuntu1) ...<br />Setting up libxcb-present-dev:amd64 (1.11.1-1ubuntu1) ...<br />Setting up libxshmfence-dev:amd64 (1.2-1) ...<br />Setting up libx11-xcb-dev:amd64 (2:1.6.3-1ubuntu2) ...<br />Setting up libwayland-bin (1.12.0-1~ubuntu16.04.3) ...<br />Setting up libwayland-dev:amd64 (1.12.0-1~ubuntu16.04.3) ...<br />Setting up libmircore-dev:amd64 (0.26.3+16.04.20170605-0ubuntu1.1) ...<br />Setting up libprotobuf9v5:amd64 (2.6.1-1.3) ...<br />Setting up libprotobuf-dev:amd64 (2.6.1-1.3) ...<br />Setting up libxkbcommon-dev (0.5.0-1ubuntu2) ...<br />Setting up libmircommon-dev:amd64 (0.26.3+16.04.20170605-0ubuntu1.1) ...<br />Setting up libmircookie2:amd64 (0.26.3+16.04.20170605-0ubuntu1.1) ...<br />Setting up libmircookie-dev:amd64 (0.26.3+16.04.20170605-0ubuntu1.1) ...<br />Setting up libmirclient-dev:amd64 (0.26.3+16.04.20170605-0ubuntu1.1) ...<br />Setting up libegl1-mesa-dev:amd64 (17.2.8-0ubuntu0~16.04.1) ...<br />Setting up libgles2-mesa:amd64 (17.2.8-0ubuntu0~16.04.1) ...<br />Setting up libgles2-mesa-dev:amd64 (17.2.8-0ubuntu0~16.04.1) ...<br />Setting up mesa-common-dev:amd64 (17.2.8-0ubuntu0~16.04.1) ...<br />Setting up libgl1-mesa-dev:amd64 (17.2.8-0ubuntu0~16.04.1) ...<br />Setting up libglu1-mesa-dev:amd64 (9.0.0-2.1) ...<br />Setting up libqt5concurrent5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up libqt5opengl5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up libqt5printsupport5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up libqt5sql5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up libqt5test5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up libqt5xml5:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up qt5-qmake:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up qtbase5-dev-tools (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up qtbase5-dev:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up libqt5opengl5-dev:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up libqt5sql5-sqlite:amd64 (5.5.1+dfsg-16ubuntu7.5) ...<br />Setting up qttranslations5-l10n (5.5.1-2build1) ...<br />Processing triggers for libc-bin (2.23-0ubuntu10) ...<br />➜ Tools git:(master) ✗ git clone https://github.com/rrwick/Bandage.git<br />Cloning into 'Bandage'...<br />remote: Counting objects: 7813, done.<br />remote: Total 7813 (delta 0), reused 0 (delta 0), pack-reused 7813<br />Receiving objects: 100% (7813/7813), 27.43 MiB | 16.33 MiB/s, done.<br />Resolving deltas: 100% (5973/5973), done.<br />Checking connectivity... done.<br />➜ Tools git:(master) ✗ cd Bandage&nbsp;<br />➜ Bandage git:(master) ls<br />Bandage.pro BandageTests.pro blast build_scripts command_line COPYING graph images ogdf program README.md tests ui<br />➜ Bandage git:(master) export QT_SELECT=5<br />➜ Bandage git:(master) qmake<br />➜ Bandage git:(master) ✗ make<br />/home/urbe/anaconda3/bin/uic ui/mainwindow.ui -o ui_mainwindow.h<br />/home/urbe/anaconda3/bin/uic ui/settingsdialog.ui -o ui_settingsdialog.h<br />/home/urbe/anaconda3/bin/uic ui/aboutdialog.ui -o ui_aboutdialog.h<br />/home/urbe/anaconda3/bin/uic ui/enteroneblastquerydialog.ui -o ui_enteroneblastquerydialog.h<br />/home/urbe/anaconda3/bin/uic ui/blastsearchdialog.ui -o ui_blastsearchdialog.h<br />/home/urbe/anaconda3/bin/uic ui/myprogressdialog.ui -o ui_myprogressdialog.h<br />/home/urbe/anaconda3/bin/uic ui/pathspecifydialog.ui -o ui_pathspecifydialog.h<br />/home/urbe/anaconda3/bin/uic ui/querypathsdialog.ui -o ui_querypathsdialog.h<br />/home/urbe/anaconda3/bin/uic ui/blasthitfiltersdialog.ui -o ui_blasthitfiltersdialog.h<br />/home/urbe/anaconda3/bin/uic ui/changenodenamedialog.ui -o ui_changenodenamedialog.h<br />/home/urbe/anaconda3/bin/uic ui/graphinfodialog.ui -o ui_graphinfodialog.h<br />/home/urbe/anaconda3/bin/uic ui/changenodedepthdialog.ui -o ui_changenodedepthdialog.h<br />g++ -c -pipe -O2 -std=gnu++0x -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -Iui -I/usr/include -I../../anaconda3/include/qt -I../../anaconda3/include/qt/QtSvg -I../../anaconda3/include/qt/QtWidgets -I../../anaconda3/include/qt/QtGui -I../../anaconda3/include/qt/QtCore -I. -I. -I../../anaconda3/mkspecs/linux-g++ -o main.o program/main.cpp<br />g++ -c -pipe -O2 -std=gnu++0x -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -Iui -I/usr/include -I../../anaconda3/include/qt -I../../anaconda3/include/qt/QtSvg -I../../anaconda3/include/qt/QtWidgets -I../../anaconda3/include/qt/QtGui -I../../anaconda3/include/qt/QtCore -I. -I. -I../../anaconda3/mkspecs/linux-g++ -o settings.o program/settings.cpp<br />....</p><p>...<br />g++ -Wl,-O1 -Wl,-rpath,/home/urbe/anaconda3/lib -o Bandage main.o settings.o globals.o graphlayoutworker.o debruijnnode.o debruijnedge.o graphicsitemnode.o graphicsitemedge.o mainwindow.o graphicsviewzoom.o settingsdialog.o mygraphicsview.o mygraphicsscene.o aboutdialog.o enteroneblastquerydialog.o blasthit.o blastqueries.o blastsearchdialog.o infotextwidget.o assemblygraph.o verticalscrollarea.o myprogressdialog.o nodewidthvisualaid.o verticallabel.o load.o image.o commoncommandlinefunctions.o mytablewidget.o buildblastdatabaseworker.o colourbutton.o blastquery.o runblastsearchworker.o blastsearch.o path.o pathspecifydialog.o graphlocation.o tablewidgetitemint.o tablewidgetitemdouble.o tablewidgetitemshown.o memory.o querypathspushbutton.o querypathsdialog.o blastquerypath.o blasthitfiltersdialog.o scinot.o changenodenamedialog.o querypathsequencecopybutton.o querypaths.o info.o reduce.o Graph.o GraphAttributes.o FMMMLayout.o geometry.o ClusterGraphAttributes.o FruchtermanReingold.o NMM.o GmlParser.o simple_graph_alg.o basic.o XmlParser.o String.o Hashing.o PoolMemoryAllocator.o GraphCopy.o CombinatorialEmbedding.o OgmlParser.o ClusterGraph.o Math.o EdgeAttributes.o NodeAttributes.o MAARPacking.o Multilevel.o numexcept.o Set.o Ogml.o DinoXmlParser.o DinoXmlScanner.o DinoTools.o DinoLineBuffer.o System.o QuadTreeNM.o QuadTreeNodeNM.o Constraint.o MultilevelGraph.o graphinfodialog.o tablewidgetitemname.o changenodedepthdialog.o qrc_images.o moc_graphlayoutworker.o moc_mainwindow.o moc_graphicsviewzoom.o moc_settingsdialog.o moc_mygraphicsview.o moc_mygraphicsscene.o moc_aboutdialog.o moc_enteroneblastquerydialog.o moc_blastquery.o moc_blastsearchdialog.o moc_infotextwidget.o moc_assemblygraph.o moc_verticalscrollarea.o moc_myprogressdialog.o moc_nodewidthvisualaid.o moc_verticallabel.o moc_mytablewidget.o moc_buildblastdatabaseworker.o moc_colourbutton.o moc_runblastsearchworker.o moc_pathspecifydialog.o moc_querypathspushbutton.o moc_querypathsdialog.o moc_blasthitfiltersdialog.o moc_changenodenamedialog.o moc_querypathsequencecopybutton.o moc_graphinfodialog.o moc_changenodedepthdialog.o -L/usr/lib -L/home/urbe/anaconda3/lib -lQt5Svg -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread&nbsp;<br />➜ Bandage git:(master) ✗ ls&nbsp;<br />aboutdialog.o DinoTools.o Makefile moc_infotextwidget.cpp moc_verticalscrollarea.o scinot.o<br />assemblygraph.o DinoXmlParser.o Math.o moc_infotextwidget.o MultilevelGraph.o Set.o<br />Bandage DinoXmlScanner.o memory.o moc_mainwindow.cpp Multilevel.o settingsdialog.o<br />Bandage.pro EdgeAttributes.o moc_aboutdialog.cpp moc_mainwindow.o mygraphicsscene.o settings.o<br />BandageTests.pro enteroneblastquerydialog.o moc_aboutdialog.o moc_mygraphicsscene.cpp mygraphicsview.o simple_graph_alg.o<br />basic.o FMMMLayout.o moc_assemblygraph.cpp moc_mygraphicsscene.o myprogressdialog.o String.o<br />blast FruchtermanReingold.o moc_assemblygraph.o moc_mygraphicsview.cpp mytablewidget.o System.o<br />blasthitfiltersdialog.o geometry.o moc_blasthitfiltersdialog.cpp moc_mygraphicsview.o NMM.o tablewidgetitemdouble.o<br />blasthit.o globals.o moc_blasthitfiltersdialog.o moc_myprogressdialog.cpp NodeAttributes.o tablewidgetitemint.o<br />blastqueries.o GmlParser.o moc_blastquery.cpp moc_myprogressdialog.o nodewidthvisualaid.o tablewidgetitemname.o<br />blastquery.o graph moc_blastquery.o moc_mytablewidget.cpp numexcept.o tablewidgetitemshown.o<br />blastquerypath.o GraphAttributes.o moc_blastsearchdialog.cpp moc_mytablewidget.o ogdf tests<br />blastsearchdialog.o GraphCopy.o moc_blastsearchdialog.o moc_nodewidthvisualaid.cpp Ogml.o ui<br />blastsearch.o graphicsitemedge.o moc_buildblastdatabaseworker.cpp moc_nodewidthvisualaid.o OgmlParser.o ui_aboutdialog.h<br />buildblastdatabaseworker.o graphicsitemnode.o moc_buildblastdatabaseworker.o moc_pathspecifydialog.cpp path.o ui_blasthitfiltersdialog.h<br />build_scripts graphicsviewzoom.o moc_changenodedepthdialog.cpp moc_pathspecifydialog.o pathspecifydialog.o ui_blastsearchdialog.h<br />changenodedepthdialog.o graphinfodialog.o moc_changenodedepthdialog.o moc_querypathsdialog.cpp PoolMemoryAllocator.o ui_changenodedepthdialog.h<br />changenodenamedialog.o graphlayoutworker.o moc_changenodenamedialog.cpp moc_querypathsdialog.o program ui_changenodenamedialog.h<br />ClusterGraphAttributes.o graphlocation.o moc_changenodenamedialog.o moc_querypathsequencecopybutton.cpp qrc_images.cpp ui_enteroneblastquerydialog.h<br />ClusterGraph.o Graph.o moc_colourbutton.cpp moc_querypathsequencecopybutton.o qrc_images.o ui_graphinfodialog.h<br />colourbutton.o Hashing.o moc_colourbutton.o moc_querypathspushbutton.cpp QuadTreeNM.o ui_mainwindow.h<br />CombinatorialEmbedding.o image.o moc_enteroneblastquerydialog.cpp moc_querypathspushbutton.o QuadTreeNodeNM.o ui_myprogressdialog.h<br />command_line images moc_enteroneblastquerydialog.o moc_runblastsearchworker.cpp querypathsdialog.o ui_pathspecifydialog.h<br />commoncommandlinefunctions.o info.o moc_graphicsviewzoom.cpp moc_runblastsearchworker.o querypathsequencecopybutton.o ui_querypathsdialog.h<br />Constraint.o infotextwidget.o moc_graphicsviewzoom.o moc_settingsdialog.cpp querypaths.o ui_settingsdialog.h<br />COPYING load.o moc_graphinfodialog.cpp moc_settingsdialog.o querypathspushbutton.o verticallabel.o<br />debruijnedge.o MAARPacking.o moc_graphinfodialog.o moc_verticallabel.cpp README.md verticalscrollarea.o<br />debruijnnode.o main.o moc_graphlayoutworker.cpp moc_verticallabel.o reduce.o XmlParser.o<br />DinoLineBuffer.o mainwindow.o moc_graphlayoutworker.o moc_verticalscrollarea.cpp runblastsearchworker.o<br />➜ Bandage git:(master) ✗ ./Bandage</p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/36483/popular-bioinformatics-educational-resources</guid>
	<pubDate>Fri, 04 May 2018 19:43:21 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/36483/popular-bioinformatics-educational-resources</link>
	<title><![CDATA[Popular bioinformatics educational resources !]]></title>
	<description><![CDATA[<p>Followings are the list of popular bioinformatics educational resources</p><p><a href="http://Bii.a-star.edu.sg"><strong>Bii.a-star.edu.sg</strong></a></p><p>Bio research and development. Has course information and research information.</p><p><a href="http://Isb-sib.ch"><strong>Isb-sib.ch</strong></a></p><p>SIB operates the ExPASy proteomics server and the Swiss node of EMBnet. Teaching activities include a series of post-graduate courses given at the Universities of Geneva and Lausanne, as well as at the EPFL, and a Masters Degree in bioinformatics. Major research areas include the development of integrated databases and software resources in the field of proteomics.</p><p><a href="http://Bioinformatics.ca"><strong>Bioinformatics.ca</strong></a></p><p>Provides information about bioinformatics in Canada. Workshops, certification and resources.</p><p><a href="http://Chickscope.beckman.uiuc.edu"><strong>Chickscope.beckman.uiuc.edu</strong></a></p><p>Students raise chicken embryos in the classroom and obtain magnetic resonance images through the Internet.</p><p><a href="http://Bcb.iastate.edu"><strong>Bcb.iastate.edu</strong></a></p><p>Graduate program at Iowa State University offering Undergraduate Major (BCBio) and the PhD program (BCB).</p><p><a href="http://Bu.edu/bioinformatics/"><strong>Bu.edu/bioinformatics/</strong></a></p><p>Interdisciplinary PhD and Masters Programs that include an internship in the local industry companies. In conjunction with the NE masters program.</p><p><a href="http://Bioinformatics.ubc.ca"><strong>Bioinformatics.ubc.ca</strong></a></p><p>A computational biology research centre covering many areas of genomics, proteomics, computer science and statistics. Research, training, news and events, resources and support, director's message, faculty and personnel.</p><p><a href="http://Openhelix.com"><strong>Openhelix.com</strong></a></p><p>Provides onsite training on specific bioinformatics databases and tools. Also offers bioinformatic software testing and research consulting services.</p><p><a href="http://Igb.uci.edu"><strong>Igb.uci.edu</strong></a></p><p>Specializing in making publicly available software and database services for computational biology.</p><p><a href="http://Bioinformatics.pe.kr"><strong>Bioinformatics.pe.kr</strong></a></p><p>Maintained by Dr. Seyeon Weon, Korea providing information on courses, a database archive, software archive and online resources.</p><p><a href="http://Groups.yahoo.com/group/bimatics/"><strong>Groups.yahoo.com/group/bimatics/</strong></a></p><p>Bioinformatics group for students interested and/or working in the bioinformatics/computationalbiology fields. Offers opportunities to exchanging information and sharing ideas.</p><p><a href="http://Ncbi.nlm.nih.gov/books/NBK22183/"><strong>Ncbi.nlm.nih.gov/books/NBK22183/</strong></a></p><p>Information about several medically important genes and related diseases. Illustrates the use of bioinformatics in their study.</p><p><a href="http://Bioinfo.mbb.yale.edu/mbb452a/2003/"><strong>Bioinfo.mbb.yale.edu/mbb452a/2003/</strong></a></p><p>Bioinformatics course at Yale University. All course slides are available online.</p><p><a href="http://Cs.iastate.edu/~honavar/comp-bio-courses.html"><strong>Cs.iastate.edu/~honavar/comp-bio-courses.html</strong></a></p><p>Listing of computational molecular biology course pages that have extensive online course materials.</p><p><a href="http://Bioinf.manchester.ac.uk/dbbrowser/bioactivity/prefacefrm.html"><strong>Bioinf.manchester.ac.uk/dbbrowser/bioactivity/prefacefrm.html</strong></a></p><p>A web-based tutorial associated with "Introduction to bioinformatics" published by Addison Wesley Longman.</p><p><a href="http://Northeastern.edu/bioinformatics/"><strong>Northeastern.edu/bioinformatics/</strong></a></p><p>From the Biology department and in cooperation with Boston University. Emphasis on the ability to integrate knowledge from biological, computational, and mathematical disciplines.</p><p><a href="http://Biocomp.unibo.it/lsbioinfo/"><strong>Biocomp.unibo.it/lsbioinfo/</strong></a></p><p>A two year, international master's programme in bioinformatics at the Universita di Bologna, Italy.</p><p><a href="http://Cs.helsinki.fi/bioinformatiikka/mbi/programme.html"><strong>Cs.helsinki.fi/bioinformatiikka/mbi/programme.html</strong></a></p><p>A two year Masters Degree Programme in Bioinformatics (MBI) offered by the University of Helsinki and Helsinki University of Technology, Finland.</p><p><a href="http://Ornl.gov/sci/techresources/Human_Genome/education/education.shtml"><strong>Ornl.gov/sci/techresources/Human_Genome/education/education.shtml</strong></a></p><p>A resource for introductory information on the Human Genome Project.</p><p><a href="http://His.se/bioinformatics"><strong>His.se/bioinformatics</strong></a></p><p>A one-year, international master's programme in bioinformatics at the University of Skovde, Sweden.</p><p><a href="http://Members.tripod.com/C.elegans/"><strong>Members.tripod.com/C.elegans/</strong></a></p><p>Resources in biochemical, molecular, cellular, system, and organism biology, including over 25,000 indexed links, accumulated since 2000, from topic menus or from search interface.</p><p><a href="http://Bioinformatics.org/faq/#contents"><strong>Bioinformatics.org/faq/#contents</strong></a></p><p>Summary of basics of bioinformatics for the intelligent newcomer.</p><p><a href="http://Jiscmail.ac.uk/archives/bioinformatics.html"><strong>Jiscmail.ac.uk/archives/bioinformatics.html</strong></a></p><p>Forum featuring various aspects, events and developments in the bioinformatics field.</p><p><a href="http://Biinoida.blogspot.com"><strong>Biinoida.blogspot.com</strong></a></p><p>Blog focusing on bioinformatics, biotechnology, pharma regulatory affairs, IPR and clinical trials.</p><p><a href="http://Colorbasepair.com/bioinformatics_courses_tutorials.html"><strong>Colorbasepair.com/bioinformatics_courses_tutorials.html</strong></a></p><p>A list of on-line course materials and tutorials for bioinformatics and computational biology.</p><p><a href="http://Geospiza.com/education/"><strong>Geospiza.com/education/</strong></a></p><p>Instructional materials for teaching bioinformatics. These include animated tutorials on topicssuch as BLAST, finding mutations in a protein, and graphing with MS-Excel.</p><p><a href="http://Bioinformatics.fi"><strong>Bioinformatics.fi</strong></a></p><p>An international, two-year Master's programme jointly managed by the University of Tampere and the University of Turku, Finland.</p><p><a href="http://Perlsource.net"><strong>Perlsource.net</strong></a></p><p>Provides online courses in Perl programming for bioinformatic tools.</p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/36425/check-product-if-already-exist-in-to-cart-using-woocommerce</guid>
	<pubDate>Sun, 29 Apr 2018 00:27:22 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/36425/check-product-if-already-exist-in-to-cart-using-woocommerce</link>
	<title><![CDATA[Check product if already exist in to cart using woocommerce.]]></title>
	<description><![CDATA[<p>Check product if already exist in to cart using woocommerce.<br /><br />add_action( 'woocommerce_add_to_cart_validation', 'check_product_added_to_cart', 10, 3 );<br /><br />function check_product_added_to_cart( $passed, $product_id, $quantity) {<br /><br />foreach (WC()-&gt;cart-&gt;get_cart() as $cart_key =&gt; $cart_item ){<br />// if products are already in cart:<br />if( $cart_item['product_id'] == $product_id ) {<br />// Set the verification variable to "not passed" (false)<br />$passed = false;<br />// (Optionally) Displays a notice if product(s) are already in cart<br />wc_add_notice( '&lt;strong&gt;' . $btn['label'] . '&lt;/strong&gt; ' . __( 'This product is already in your cart.', 'woocommerce' ), 'error' );<br />// Stop the function returning "false", so the products will not be added again<br />return $passed;<br />}<br />}<br />return $passed;<br />}</p><p>More at https://phpajaxhtml.blogspot.in/2017/11/check-product-if-already-exist-in-to.html</p>]]></description>
	<dc:creator>Ram Yash Pal</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/36413/insert-data-through-ajax-into-mysql-database</guid>
	<pubDate>Wed, 25 Apr 2018 12:43:51 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/36413/insert-data-through-ajax-into-mysql-database</link>
	<title><![CDATA[Insert data through ajax into MySql database.]]></title>
	<description><![CDATA[<p>Insert data through ajax into MySql database.1. Create form.php and copy below code into file.</p><blockquote><p>&lt;script type="text/javascript"&gt;<br /> <br /> $(document).ready(function(){<br /> $('#submit').click(function(){<br /> var name= $('#name').val();<br /> var email= $('#email').val();<br /> var sdatatring='name1='+ name +'&amp;email1='+ email;<br /> $.ajax({<br /> type:"POST",<br /> url:"insert.php",<br /> data:sdatatring,<br /> cache: false,<br /> success:function(result){<br /> alert(result);</p><p>}});</p><p>});</p><p>});<br />&lt;/script&gt;<br /> &lt;form method="post" action="" name="frm"&gt;<br /> Name:&lt;input type="text" name="name" id="name" value=""&gt;&lt;br&gt;<br /> Email:&lt;input type="text" name="email" id="email" value=""&gt;&lt;br&gt;<br /> &lt;input type="button" name="submt" id="submit" value="submit" /&gt;<br /> <br /> &lt;/form&gt;</p><p>2. Create insert.php and copy below code into file.<br /> &lt;?php<br />print_r($_POST);<br />$con=mysql_connect("localhost","root","");<br />mysql_select_db('dbname');<br />mysql_query('insert into tablename('colname')values(value)');<br /> ?&gt;<br />Note:You need to include jQuery library in form.php.</p></blockquote><p>More at</p><p>https://phpajaxhtml.blogspot.in/2018/03/insert-data-through-ajax-into-mysql.html</p>]]></description>
	<dc:creator>Ram Yash Pal</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/36411/create-custom-widget-area-in-wordpress</guid>
	<pubDate>Wed, 25 Apr 2018 12:35:53 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/36411/create-custom-widget-area-in-wordpress</link>
	<title><![CDATA[Create custom widget area in wordpress.]]></title>
	<description><![CDATA[<p>https://phpajaxhtml.blogspot.in/2018/04/create-custom-widget-in-wordpress.html</p>]]></description>
	<dc:creator>Ram Yash Pal</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/36211/project-based-approach-to-improve-bioinformatics-education-with-skilled-and-meaningful-access-to-omics-data</guid>
	<pubDate>Wed, 11 Apr 2018 13:31:42 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/36211/project-based-approach-to-improve-bioinformatics-education-with-skilled-and-meaningful-access-to-omics-data</link>
	<title><![CDATA[Project-based approach to improve bioinformatics education with skilled and meaningful access to omics data]]></title>
	<description><![CDATA[<p>Pine Biotech has been collaborating with Loyola University of New Orleans on piloting a new approach to bioinformatics education using the intuitive and logic-drive bioinformatics platform T-BioInfo.</p><p>https://edu.t-bio.info/collaborative-model-bioinformatics-education-combining-biologically-inspired-bioinformatics-project-based-learning/</p>]]></description>
	<dc:creator>eliabrodsky</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/35923/basic-command-line-to-run-blast</guid>
	<pubDate>Wed, 14 Mar 2018 05:10:34 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/35923/basic-command-line-to-run-blast</link>
	<title><![CDATA[Basic command-line to run BLAST]]></title>
	<description><![CDATA[<p>&nbsp;</p><p>The goal of this tutorial is to run you through a demonstration of the command line, which you may not have seen or used much before.</p><p>All of the commands below can copy/pasted.</p><div id="install-software"><h2>Install software<a href="http://angus.readthedocs.io/en/2016/running-command-line-blast.html#install-software" title="Permalink to this headline"></a></h2><p>Copy and paste the following commands</p><div><div><pre>sudo apt-get update &amp;&amp; sudo apt-get -y install python ncbi-blast+
</pre></div></div><p>This updates the software list and installs the Python programming language and NCBI BLAST+.</p></div><div id="get-data"><h2>Get Data<a href="http://angus.readthedocs.io/en/2016/running-command-line-blast.html#get-data" title="Permalink to this headline"></a></h2><p>Grab some data to play with. Grab some cow and human RefSeq proteins:</p><div><div><pre>wget ftp://ftp.ncbi.nih.gov/refseq/B_taurus/mRNA_Prot/cow.1.protein.faa.gz
wget ftp://ftp.ncbi.nih.gov/refseq/H_sapiens/mRNA_Prot/human.1.protein.faa.gz
</pre></div></div><p>This is only the first part of the human and cow protein files - there are 24 files total for human.</p><p>The database files are both gzipped, so lets unzip them</p><div><div><pre>gunzip *gz
ls
</pre></div></div><p>Take a look at the head of each file:</p><div><div><pre>head cow.1.protein.faa
head human.1.protein.faa
</pre></div></div><p>These are protein sequences in FASTA format. FASTA format is something many of you have probably seen in one form or another &ndash; it&rsquo;s pretty ubiquitous. It&rsquo;s just a text file, containing records; each record starts with a line beginning with a &lsquo;&gt;&rsquo;, and then contains one or more lines of sequence text.</p><p>Note that the files are in fasta format, even though they end if &rdquo;.faa&rdquo; instead of the usual &rdquo;.fasta&rdquo;. This NCBI&rsquo;s way of denoting that this is a fasta file with amino acids instead of nucleotides.</p><p>How many sequences are in each one?</p><div><div><pre>grep -c '^&gt;' cow.1.protein.faa
grep -c '^&gt;' human.1.protein.faa
</pre></div></div><p>This grep command uses the c flag, which reports a count of lines with match to the pattern. In this case, the pattern is a regular expression, meaning match only lines that begin with a &gt;.</p><p>This is a bit too big, lets take a smaller set for practice. Lets take the first two sequences of the cow proteins, which we can see are on the first 6 lines</p><div><div><pre>head -6 cow.1.protein.faa &gt; cow.small.faa
</pre></div></div></div><div id="blast"><h2>BLAST<a href="http://angus.readthedocs.io/en/2016/running-command-line-blast.html#blast" title="Permalink to this headline"></a></h2><p>Now we can blast these two cow sequences against the set of human sequences. First, we need to tell blast about our database. BLAST needs to do some pre-work on the database file prior to searching. This helps to make the software work a lot faster. Because you installed your own version of the sotware, you need to tell the shell where the software is located. Use the full path and the makeblastdb command:</p><div><div><pre>makeblastdb -in human.1.protein.faa -dbtype prot
ls
</pre></div></div><p>Note that this makes a lot of extra files, with the same name as the database plus new extensions (.pin, .psq, etc). To make blast work, these files, called index files, must be in the same directory as the fasta file.</p><p><br /> blastp [-h] [-help] [-import_search_strategy filename]<br /> [-export_search_strategy filename] [-task task_name] [-db database_name]<br /> [-dbsize num_letters] [-gilist filename] [-seqidlist filename]<br /> [-negative_gilist filename] [-negative_seqidlist filename]<br /> [-entrez_query entrez_query] [-db_soft_mask filtering_algorithm]<br /> [-db_hard_mask filtering_algorithm] [-subject subject_input_file]<br /> [-subject_loc range] [-query input_file] [-out output_file]<br /> [-evalue evalue] [-word_size int_value] [-gapopen open_penalty]<br /> [-gapextend extend_penalty] [-qcov_hsp_perc float_value]<br /> [-max_hsps int_value] [-xdrop_ungap float_value] [-xdrop_gap float_value]<br /> [-xdrop_gap_final float_value] [-searchsp int_value]<br /> [-sum_stats bool_value] [-seg SEG_options] [-soft_masking soft_masking]<br /> [-matrix matrix_name] [-threshold float_value] [-culling_limit int_value]<br /> [-best_hit_overhang float_value] [-best_hit_score_edge float_value]<br /> [-window_size int_value] [-lcase_masking] [-query_loc range]<br /> [-parse_deflines] [-outfmt format] [-show_gis]<br /> [-num_descriptions int_value] [-num_alignments int_value]<br /> [-line_length line_length] [-html] [-max_target_seqs num_sequences]<br /> [-num_threads int_value] [-ungapped] [-remote] [-comp_based_stats compo]<br /> [-use_sw_tback] [-version]</p><p>Now we can run the blast job. We will use blastp, which is appropriate for protein to protein comparisons.</p><div><div><pre>blastp -query cow.small.faa -db human.1.protein.faa
</pre></div></div><p>This gives us a lot of information on the terminal screen. But this is difficult to save and use later - Blast also gives the option of saving the text to a file.</p><div><div><pre>    blastp -query cow.small.faa -db human.1.protein.faa -out cow_vs_human_blast_results.txt
ls
</pre></div></div><p>Take a look at the results using less. Note that there can be more than one match between the query and the same subject. These are referred to as high-scoring segment pairs (HSPs).</p><div><div><pre>less cow_vs_human_blast_results.txt
</pre></div></div><p>So how do you know about all the options, such as the flag to create an output file? Lets also take a look at the help pages. Unfortunately there are no man pages (those are usually reserved for shell commands, but some software authors will provide them as well), but there is a text help output</p><div><div><pre>blastp -help
</pre></div></div><p>To scroll through slowly</p><div><div><pre>blastp -help | less
</pre></div></div><p>To quit the less screen, press the q key.</p><p>Parameters of interest include the -evalue (Default is 10?!?) and the -outfmt</p><p>Lets filter for more statistically significant matches with a different output format:</p><div><div><pre>blastp \
-query cow.small.faa \
-db human.1.protein.faa \
-out cow_vs_human_blast_results.tab \
-evalue 1e-5 \
-outfmt 7
</pre></div></div><p>I broke the long single command into many lines with by &ldquo;escaping&rdquo; the newline. That forward slash tells the command line &ldquo;Wait, I&rsquo;m not done yet!&rdquo;. So it waits for the next line of the command before executing.</p><p>Check out the results with less.</p><p>Lets try a medium sized data set next</p><div><div><pre>head -199 cow.1.protein.faa &gt; cow.medium.faa
</pre></div></div><p>What size is this db?</p><div><div><pre>grep -c '^&gt;' cow.medium.faa
</pre></div></div><p>Lets run the blast again, but this time lets return only the best hit for each query.</p><div><div><pre>blastp \
-query cow.medium.faa \
-db human.1.protein.faa \
-out cow_vs_human_blast_results.tab \
-evalue 1e-5 \
-outfmt 6 \
-max_target_seqs 1
</pre></div></div></div><div id="summary"><h2>Summary<a href="http://angus.readthedocs.io/en/2016/running-command-line-blast.html#summary" title="Permalink to this headline"></a></h2><p>Review:</p><ul>
<li>command line programs such as blast use flags to get information about how and what to do</li>
<li>blast options can be found by typing&nbsp;<cite>blastp -help</cite></li>
<li>break a command up over many lines by using&nbsp;<a href="http://angus.readthedocs.io/en/2016/running-command-line-blast.html#id1">`</a>` to &ldquo;escape&rdquo; the new line</li>
</ul><p>&nbsp;</p><p>Blastn</p><p>blastn [-h] [-help] [-import_search_strategy filename]<br /> [-export_search_strategy filename] [-task task_name] [-db database_name]<br /> [-dbsize num_letters] [-gilist filename] [-seqidlist filename]<br /> [-negative_gilist filename] [-negative_seqidlist filename]<br /> [-entrez_query entrez_query] [-db_soft_mask filtering_algorithm]<br /> [-db_hard_mask filtering_algorithm] [-subject subject_input_file]<br /> [-subject_loc range] [-query input_file] [-out output_file]<br /> [-evalue evalue] [-word_size int_value] [-gapopen open_penalty]<br /> [-gapextend extend_penalty] [-perc_identity float_value]<br /> [-qcov_hsp_perc float_value] [-max_hsps int_value]<br /> [-xdrop_ungap float_value] [-xdrop_gap float_value]<br /> [-xdrop_gap_final float_value] [-searchsp int_value]<br /> [-sum_stats bool_value] [-penalty penalty] [-reward reward] [-no_greedy]<br /> [-min_raw_gapped_score int_value] [-template_type type]<br /> [-template_length int_value] [-dust DUST_options]<br /> [-filtering_db filtering_database]<br /> [-window_masker_taxid window_masker_taxid]<br /> [-window_masker_db window_masker_db] [-soft_masking soft_masking]<br /> [-ungapped] [-culling_limit int_value] [-best_hit_overhang float_value]<br /> [-best_hit_score_edge float_value] [-window_size int_value]<br /> [-off_diagonal_range int_value] [-use_index boolean] [-index_name string]<br /> [-lcase_masking] [-query_loc range] [-strand strand] [-parse_deflines]<br /> [-outfmt format] [-show_gis] [-num_descriptions int_value]<br /> [-num_alignments int_value] [-line_length line_length] [-html]<br /> [-max_target_seqs num_sequences] [-num_threads int_value] [-remote]<br /> [-version]</p><p>DESCRIPTION<br /> Nucleotide-Nucleotide BLAST 2.7.0+</p></div>]]></description>
	<dc:creator>Shruti Paniwala</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/35621/bbtools-for-bioinformatician</guid>
	<pubDate>Thu, 15 Feb 2018 16:45:52 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/35621/bbtools-for-bioinformatician</link>
	<title><![CDATA[BBTools for bioinformatician !]]></title>
	<description><![CDATA[<p><span></span><br /><strong>BBMap.sh</strong><br /><br /></p><ul>
<li><strong>Mapping Nanopore reads</strong></li>
</ul><p><br /><span>BBMap.sh has a length cap of 6kbp. Reads longer than this will be broken into 6kbp pieces and mapped independently.</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ mapPacBio.sh -Xmx20g k=7 in=reads.fastq ref=reference.fa maxlen=1000 minlen=200 idtag ow int=f qin=33 out=mapped1.sam minratio=0.15 ignorequality slow ordered maxindel1=40 maxindel2=400</pre></div><p><br /><span>The "maxlen" flag shreds them to a max length of 1000; you can set that up to 6000. But I found 1000 gave a higher mapping rate.&nbsp;&nbsp;</span><br /><br /></p><ul>
<li><strong>Using Paired-end and single-end reads at the same time</strong></li>
</ul><p><br /><span>BBMap itself can only run single-ended or paired-ended in a single run, but it has a wrapper that can accomplish it, like this:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ bbwrap.sh in1=read1.fq,singletons.fq in2=read2.fq,null out=mapped.sam append</pre></div><p><span>This will write all the reads to the same output file but only print the headers once. I have not tried that for bam output, only sam output</span><br /><br /><span>Note about alignment stats: For paired reads, you can find the total percent mapped by adding the read 1 percent (where it says "mapped: N%") and read 2 percent, then dividing by 2. The different columns tell you the count/percent of each event. Considering the cigar strings from alignment, "Match Rate" is the number of symbols indicating a reference match (=) and error rate is the number indicating substitution, insertion, or deletion (X, I, D).</span><br /><br /></p><ul>
<li><strong>Exact matches when mapping small reads (e.g. miRNA)</strong></li>
</ul><p><br /><span>When mapping small RNA's with BBMap use the following flags to report only perfect matches.</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">ambig=all vslow perfectmode maxsites=1000</pre></div><p><span>It should be very fast in that mode (despite the vslow flag). Vslow mainly removes masking of low-complexity repetitive kmers, which is not usually a problem but can be with extremely short sequences like microRNAs.</span></p><ul>
<li><strong>Important note about BBMap alignments</strong></li>
</ul><p><br /><span>BBMap is always nondeterministic when run in paired-end mode with multiple threads, because the insert-size average is calculated on a per-thread basis, which affects mapping; and which reads are assigned to which thread is nondeterministic. The only way to avoid that would be to restrict it to a single thread (threads=1), or map the reads as single-ended and then fix pairing afterward:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">bbmap.sh in=reads.fq outu=unmapped.fq int=f
repair.sh in=unmapped.fq out=paired.fq fint outs=singletons.fq</pre></div><p><span>In this case you'd want to only keep the paired output.&nbsp;</span><br /><br /><span>BBSplit is based on BBMap, so it is also nondeterministic in paired mode with multiple threads. BBDuk and Seal (which can be used similarly to BBSplit) are always deterministic.&nbsp;</span><br /><br /><span>--------------------------------------------------------</span><br /><br /><strong>Reformat.sh</strong></p><ul>
<li><strong>Count k-mers/find unknown primers</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ reformat.sh in=reads.fq out=trimmed.fq ftr=19</pre></div><p><span>This will trim all but the first 20 bases (all bases after position 19, zero-based).</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ kmercountexact.sh in=trimmed.fq out=counts.txt fastadump=f mincount=10 k=20 rcomp=f</pre></div><p><span>This will generate a file containing the counts of all 20-mers that occurred at least 10 times, in a 2-column format that is easy to sort in Excel.&nbsp;</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">ACCGTTACCGTTACCGTTAC	100
AAATTTTTTTCCCCCCCCCC	85</pre></div><p><span>...etc. If the primers are 20bp long, they should be pretty obvious.&nbsp;&nbsp;</span></p><ul>
<li><strong>Convert SAM format from 1.4 to 1.3 (required for many programs)</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ reformat.sh in=reads.sam out=out.sam sam=1.3</pre></div><ul>
<li><strong>Removing N basecalls</strong></li>
</ul><p><br /><span>You can use BBDuk or Reformat with "qtrim=rl trimq=1". That will only trim trailing and leading bases with Q-score below 1, which means Q0, which means N (in either fasta or fastq format). The BBMap package automatically changes q-scores of Ns that are above 0 to 0 and called bases with q-scores below 2 to 2, since occasionally some Illumina software versions produces odd things like a handful of Q0 called bases or Ns with Q&gt;0, neither of which make any sense in the Phred scale.</span></p><ul>
<li><strong>Sampling reads</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ reformat.sh in=reads.fq out=sampled.fq sample=3000</pre></div><div><div>Code:</div><pre dir="ltr">To sample 10% of the reads:
reformat.sh in1=reads1.fq in2=reads2.fq out1=sampled1.fq out2=sampled2.fq samplerate=0.1

or more concisely:
reformat.sh in=reads#.fq out=sampled#.fq samplerate=0.1

and for exact sampling:
reformat.sh in=reads#.fq out=sampled#.fq samplereadstarget=100k</pre></div><ul>
<li><strong>Changing fasta headers</strong></li>
</ul><p><br /><span>Remove anything after the first space in fasta header.&nbsp;</span><br /><br /></p><div><div>Code:</div><pre dir="ltr"> reformat.sh in=sequences.fasta out=renamed.fasta trd</pre></div><p><span>"trd" stands for "trim read description" and will truncate everything after the first whitespace.</span></p><ul>
<li><strong>Extract reads from a sam file</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ reformat.sh in=reads.sam out=reads.fastq</pre></div><ul>
<li><strong>Verify pairing and optionally de-interleave the reads</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ reformat.sh in=reads.fastq verifypairing</pre></div><ul>
<li><strong>Verify pairing if the reads are in separate files</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ reformat.sh in1=r1.fq in2=r2.fq vpair</pre></div><p><span>If that completes successfully and says the reads were correctly paired, then you can simply de-interleave reads into two files like this:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ reformat.sh in=reads.fastq out1=r1.fastq out2=r2.fastq</pre></div><ul>
<li><strong>Base quality histograms</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ reformat.sh in=reads.fq qchist=qchist.txt</pre></div><p><span>That stands for "quality count histogram".&nbsp;</span></p><ul>
<li><strong>Filter SAM/BAM file by read length</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ reformat.sh in=x.sam out=y.sam minlength=50 maxlength=200</pre></div><ul>
<li><strong>Filter SAM/BAM file to detect/filter spliced reads</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ reformat.sh in=mapped.bam out=filtered.bam maxdellen=50</pre></div><p><span>You can set "maxdellen" to whatever length deletion event you consider the minimum to signify splicing, which depends on the organism.</span><br /><span>-------------------------------------------------------------</span><br /><strong>Repair.sh</strong></p><ul>
<li><strong>"Re-pair" out-of-order reads from paired-end data files</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ repair.sh in1=r1.fq.gz in2=r2.fq.gz out1=fixed1.fq.gz out2=fixed2.fq.gz outsingle=singletons.fq.gz</pre></div><p><span>--------------------------------------------------------------</span><br /><strong>BBMerge.sh</strong><br /><br /><span>BBMerge now has a new flag - "outa" or "outadapter". This allows you to automatically detect the adapter sequence of reads with short insert sizes, in case you don't know what adapters were used. It works like this:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ bbmerge.sh in=reads.fq outa=adapters.fa reads=1m</pre></div><p><span>Of course, it will only work for paired reads! The output fasta file will look like this:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">&gt;Read1_adapter
GATCGGAAGAGCACACGTCTGAACTCCAGTCACATCACGATCTCGTATGCCGTCTTCTGCTTG
&gt;Read2_adapter
GATCGGAAGAGCACACGTCTGAACTCCAGTCACCGATGTATCTCGTATGCCGTCTTCTGCTTG</pre></div><p><span>If you have multiplexed things with different barcodes in the adapters, the part with the barcode will show up as Ns, like this:</span><br /><br /><span>GATCGGAAGAGCACACGTCTGAACTCCAGTCACNNNNNNATCTCGTATGCCGTCTTCTGCTTG&nbsp;&nbsp;</span><br /><br /><span>Note: For BBMerge with micro-RNA, you need to add the flag&nbsp;</span><strong>mininsert=17</strong><span>. The default is 35, which is too long for micro-RNA libraries.&nbsp;</span></p><ul>
<li><strong>Identifying adapters</strong></li>
</ul><p><span>If you have paired reads, and enough of the reads have inserts shorter than read length, you can identify adapter sequences with BBMerge, like this (they will be printed to adapters.fa):</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ bbmerge.sh in1=r1.fq in2=r2.fq outa=adapters.fa</pre></div><p><br /><span>-----------------------------------------------------------------</span><br /><br /><strong>BBDuk.sh</strong><br /><br /><span>Note: BBDuk is strictly deterministic on a per-read basis, however it does by default reorder the reads when run multithreaded. You can add the flag "ordered" to keep output reads in the same order as input reads</span></p><ul>
<li><strong>Finding reads with a specific sequence at the beginning of read</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ bbduk.sh -Xmx1g in=reads.fq outm=matched.fq outu=unmatched.fq restrictleft=25 k=25 literal=AAAAACCCCCTTTTTGGGGGAAAAA</pre></div><p><span>In this case, all reads starting with "AAAAACCCCCTTTTTGGGGGAAAAA" will end up in "matched.fq" and all other reads will end up in "unmatched.fq". Specifically, the command means "look for 25-mers in the leftmost 25 bp of the read", which will require an exact prefix match, though you can relax that if you want.</span><br /><br /><span>So you could bin all the reads with your known sequence, then look at the remaining reads to see what they have in common. You can do the same thing with the tail of the read using "restrictright" instead, though you can't use both restrictions at the same time.&nbsp;&nbsp;</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ bbduk.sh in=reads.fq outm=matched.fq literal=NNNNNNCCCCGGGGGTTTTTAAAAA k=25 copyundefined</pre></div><p><span>With the "copyundefined" flag, a copy of each reference sequence will be made representing every valid combination of defined letter. So instead of increasing memory or time use by 6^75, it only increases them by 4^6 or 4096 which is completely reasonable, but it only allows substitutions at predefined locations. You can use the "copyundefined", "hdist", and "qhdist" flags together for a lot of flexibility - for example, hdist=2 qhdist=1 and 3 Ns in the reference would allow a hamming distance of 6 with much lower resource requirements than hdist=6. Just be sure to give BBDuk as much memory as possible.</span></p><ul>
<li><strong>Removing illumina adapters (if exact adapters not known)</strong></li>
</ul><p><br /><span>If you're not sure which adapters are used, you can add "ref=truseq.fa.gz,truseq_rna.fa.gz,nextera.fa.gz" and get them all (this will increase the amount of overtrimming, though it should still be negligible).&nbsp;</span></p><ul>
<li><strong>Removing illumina control sequences/phiX reads</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">bbduk.sh in=trimmed.fq.gz out=filtered.fq.gz k=31 ref=artifacts,phix ordered cardinality</pre></div><ul>
<li><strong>Identify certain reads that contain a specific sequence</strong></li>
</ul><div><div>Code:</div><pre dir="ltr">$ bbduk.sh in=reads.fq out=unmatched.fq outm=matched.fq literal=ACGTACGTACGTACGTAC k=18 mm=f hdist=2</pre></div><p><span>Make sure "k" is set to the exact length of the sequence. "hdist" controls the number of substitutions allowed. "outm" gets the reads that match. By default this also looks for the reverse-complement; you can disable that with "rcomp=f".&nbsp;&nbsp;</span></p><ul>
<li><strong>Extract sequences that share kmers with your sequences with BBDuk</strong></li>
</ul><div><div>Code:</div><pre dir="ltr">$ bbduk.sh in=a.fa ref=b.fa out=c.fa mkf=1 mm=f k=31</pre></div><p><span>This will print to C all the sequences in A that share 100% of their 31-mers with sequences in B.&nbsp;</span><br /><br /></p><ul>
<li><strong>Extract sequences that contain N's with BBDuk</strong></li>
</ul><div><div>Code:</div><pre dir="ltr">bbduk.sh in=reads.fq out=readsWithoutNs.fq outm=readsWithNs.fq maxns=0</pre></div><p><span>If you have, say, 100bp reads and only want to separate reads containing all 100 Ns, change that to "maxns=99".</span><br /><br /><strong>General notes for BBDuk.sh</strong><span>&nbsp;</span><br /><br /><span>BBDuk can operate in one of 4 kmer-matching modes:</span><br /><span>Right-trimming (ktrim=r), left-trimming (ktrim=l), masking (ktrim=n), and filtering (default). But it can only do one at a time because all kmers are stored in a single table. It can still do non-kmer-based operations such as quality trimming at the same time.</span><br /><br /><span>BBDuk2 can do all 4 kmer operations at once and is designed for integration into automated pipelines where you do contaminant removal and adapter-trimming in a single pass to minimize filesystem I/O. Personally, I never use BBDuk2 from the command line. Both have identical capabilities and functionality otherwise, but the syntax is different.</span><br /><br /><span>------------------------------------------------------------------</span><br /><br /><strong>Randomreads.sh</strong></p><ul>
<li><strong>Generate random reads in various formats</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ randomreads.sh ref=genome.fasta out=reads.fq len=100 reads=10000</pre></div><p><span>You can specify paired reads, an insert size distribution, read lengths (or length ranges), and so forth. But because I developed it to benchmark mapping algorithms, it is specifically designed to give excellent control over mutations. You can specify the number of snps, insertions, deletions, and Ns per read, either exactly or probabilistically; the lengths of these events is individually customizable, the quality values can alternately be set to allow errors to be generated on the basis of quality; there's a PacBio error model; and all of the reads are annotated with their genomic origin, so you will know the correct answer when mapping.</span><br /><br /><span>Bear in mind that 50% of the reads are going to be generated from the plus strand and 50% from the minus strand. So, either a read will match the reference perfectly, OR its reverse-complement will match perfectly.</span><br /><br /><span>You can generate the same set of reads with and without SNPs by fixing the seed to a positive number, like this:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ randomreads.sh maxsnps=0 adderrors=false out=perfect.fastq reads=1000 minlength=18 maxlength=55 seed=5

$ randomreads.sh maxsnps=2 snprate=1 adderrors=false out=2snps.fastq reads=1000 minlength=18 maxlength=55 seed=5</pre></div><p><span>[As of BBmap v. 36.59] rendomreads.sh gains the ability to simulate metagenomes.&nbsp;</span><br /><br /><span>coverage=X will automatically set "reads" to a level that will give X average coverage (decimal point is allowed).</span><br /><br /><span>metagenome will assign each scaffold a random exponential variable, which decides the probability that a read be generated from that scaffold. So, if you concatenate together 20 bacterial genomes, you can run randomreads and get a metagenomic-like distribution. It could also be used for RNA-seq when using a transcriptome reference.</span><br /><br /><span>The coverage is decided on a per-reference-sequence level, so if a bacterial assembly has more than one contig, you may want to glue them together first with fuse.sh before concatenating them with the other references.&nbsp;</span><br /><br /></p><ul>
<li><strong>Simulate a jump library</strong></li>
</ul><p><br /><span>You can simulate a 4000bp jump library from your existing data like this.</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ cat assembly1.fa assembly2.fa &gt; combined.fa
$ bbmap.sh ref=combined.fa
$ randomreads.sh reads=1000000 length=100 paired interleaved mininsert=3500 maxinsert=4500 bell perfect=1 q=35 out=jump.fq.gz</pre></div><p><span>--------------------------------------------------------------</span><br /><strong>Shred.sh</strong><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ shred.sh in=ref.fasta out=reads.fastq length=200</pre></div><p><span>The difference is that RandomReads will make reads in a random order from random locations, ensuring flat coverage on average, but it won't ensure 100% coverage unless you generate many fold depth. Shred, on the other hand, gives you exactly 1x depth and exactly 100% coverage (and is not capable of modelling errors). So, the use-cases are different.&nbsp;</span><br /><span>---------------------------------------------------------------</span><br /><strong>Demuxbyname.sh</strong></p><ul>
<li><strong>Demultiplex fastq files when the tag is present in the fastq read header (illumina)</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ demuxbyname.sh in=r#.fq out=out_%_#.fq prefixmode=f names=GGACTCCT+GCGATCTA,TAAGGCGA+TCTACTCT,...
outu=filename</pre></div><p><span>"Names" can also be a text file with one barcode per line (in exactly the format found in the read header). You do have to include all of the expected barcodes, though.</span><br /><br /><span>In the output filename, the "%" symbol gets replaced by the barcode; in both the input and output names, the "#" symbol gets replaced by 1 or 2 for read 1 or read 2. It's optional, though; you can leave it out for interleaved input/output, or specify in1=/in2=/out1=/out2= if you want custom naming.</span><br /><br /><span>----------------------------------------------------------------</span><br /><br /><strong>Readlength.sh</strong></p><ul>
<li><strong>Plotting the length distribution of reads</strong></li>
</ul><div><div>Code:</div><pre dir="ltr">$ readlength.sh in=file out=histogram.txt bin=10 max=80000</pre></div><p><span>That will plot the result in bins of size 10, with everything above 80k placed in the same bin. The defaults are set for relatively short sequences so if they are many megabases long you may need to add the flag "-Xmx8g" and increase "max=" to something much higher.</span><br /><br /><span>Alternatively, if these are assemblies and you're interested in continuity information (L50, N50, etc), you can run stats on each or statswrapper on all of them:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">stats.sh in=file</pre></div><p><span>or</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">statswrapper.sh in=file,file,file,file&hellip;</pre></div><p><span>----------------------------------------------------------------</span><br /><strong>Filterbyname.sh</strong><br /><br /><span>By default, "filterbyname" discards reads with names in your name list, and keeps the rest. To include them and discard the others, do this:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ filterbyname.sh in=003.fastq out=filter003.fq names=names003.txt include=t</pre></div><p><span>----------------------------------------------------------------</span><br /><strong>getreads.sh</strong><br /><br /><span>If you only know the number(s) of the fasta/fastq record(s) in a file (records start at 0) then you can use the following command to extract those reads in a new file.</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ getreads.sh in= id=&lt;number,number,number...&gt; out=</pre></div><p><span>The first read (or pair) has ID 0, the second read (or pair) has ID 1, etc.</span><br /><br /><span>Parameters:</span><br /><span>in= Specify the input file, or stdin.</span><br /><span>out= Specify the output file, or stdout.</span><br /><span>id= Comma delimited list of numbers or ranges, in any order.</span><br /><span>For example: id=5,93,17-31,8,0,12-13&nbsp;</span><br /><span>----------------------------------------------------------------</span><br /><strong>Splitsam.sh</strong></p><ul>
<li><strong>Splits a sam file into forward and reverse reads</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">splitsam.sh mapped.sam plus.sam minus.sam unmapped.sam
reformat.sh in=plus.sam out=plus.fq
reformat.sh in=minus.sam out=minus.fq rcomp</pre></div><p><span>----------------------------------------------------------------</span><br /><strong>BBSplit.sh</strong><br /><br /><span>BBSplit now has the ability to output paired reads in dual files using the # symbol. For example:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ bbsplit.sh ref=x.fa,y.fa in1=read1.fq in2=read2.fq basename=o%_#.fq</pre></div><p><span>will produce ox_1.fq, ox_2.fq, oy_1.fq, and oy_2.fq</span><br /><br /><span>You can use the # symbol for input also, like "in=read#.fq", and it will get expanded into 1 and 2.&nbsp;&nbsp;</span><br /><br /><strong>Added feature:&nbsp;</strong><span>One can specify a directory for the "ref=" argument. If anything in the list is a directory, it will use all fasta files in that directory. They need a fasta extension, like .fa or .fasta, but can be compressed with an additional .gz after that. Reason this is useful is to use BBSplit is to have it split input into one output file per reference file.</span><br /><br /><br /><strong>NOTE: 1</strong><span>&nbsp;By default BBSplit uses fairly strict mapping parameters; you can get the same sensitivity as BBMap by adding the flags "minid=0.76 maxindel=16k minhits=1". With those parameters it is extremely sensitive.</span><br /><br /><strong>NOTE: 2</strong><span>&nbsp;BBSplit has different ambiguity settings for dealing with reads that map to multiple genomes. In any case, if the alignment score is higher to one genome than another, it will be associated with that genome only (this considers the combined scores of read pairs - pairs are always kept together). But when a read or pair has two identically-scoring mapping locations, on different genomes, the behavior is controlled by the "ambig2" flag - "ambig2=toss" will discard the read, "all" will send it to all output files, and "split" will send it to a separate file for ambiguously-mapped reads (one per genome to which it maps).</span><br /><br /><strong>NOTE: 3</strong><span>&nbsp;Zero-count lines are suppressed by default, but they should be printed if you include the flag "nzo=f" (nonzeroonly=false).&nbsp;</span><br /><br /><strong>NOTE: 4</strong><span>&nbsp;BBSplit needs multiple reference files as input; one per organism, or one for target and another for everything else. It only outputs one file per reference file.</span><br /><br /><span>Seal.sh, on the other hand, which is similar, can use a single concatenated file, as it (by default) will output one file per reference sequence within a concatenated set of references.&nbsp;</span><br /><span>--------------------------------------------------------------</span><br /><strong>Pileup.sh</strong></p><ul>
<li><strong>To generate transcript coverage stats</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ pileup.sh in=mapped.sam normcov=normcoverage.txt normb=20 stats=stats.txt</pre></div><p><span>That will generate coverage per transcript, with 20 lines per transcript, each line showing the coverage for that fraction of the transcript. "stats" will contain other information like the fraction of bases in each transcript that was covered.&nbsp;</span></p><ul>
<li><strong>To calculate physical coverage stats (region covered by paired-end reads)&nbsp;</strong></li>
</ul><p><span>BBMap has a "physcov" flag that allows it to report physical rather than sequenced coverage. It can be used directly in BBMap, or with pileup, if you already have a sam file. For example:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ pileup.sh in=mapped.sam covstats=coverage.txt</pre></div><ul>
<li><strong>Calculating coverage of the genome</strong></li>
</ul><p><br /><span>Program will take sam or bam, sorted or unsorted.</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ pileup.sh in=mapped.sam out=stats.txt hist=histogram.txt</pre></div><p><span>stats.txt will contain the average depth and percent covered of each reference sequence; the histogram will contain the exact number of bases with a each coverage level. You can also get per-base coverage or binned coverage if you want to plot the coverage. It also generates median and standard deviation, and so forth.</span><br /><br /><span>It's also possible to generate coverage directly from BBMap, without an intermediate sam file, like this:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ bbmap.sh in=reads.fq ref=reference.fasta nodisk covstats=stats.txt covhist=histogram.txt</pre></div><p><span>We use this a lot in situations where all you care about is coverage distributions, which is somewhat common in metagenome assemblies. It also supports most of the flags that pileup.sh supports, though the syntax is slightly different to prevent collisions. In each case you can see all the possible flags by running the shellscript with no arguments.</span></p><ul>
<li><strong>To bin aligned reads</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ pileup.sh in=mapped.sam out=stats.txt bincov=coverage.txt binsize=1000</pre></div><p><span>That will give coverage within each bin. For read density regardless of read length, add the "startcov=t" flag.&nbsp;&nbsp;</span><br /><br /><span>--------------------------------------------------------------</span><br /><strong>Dedupe.sh</strong><br /><br /><span>Dedupe ensures that there is at most one copy of any input sequence, optionally allowing contaminants (substrings) to be removed, and a variable hamming or edit distance to be specified. Usage:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ dedupe.sh in=assembly1.fa,assembly2.fa out=merged.fa</pre></div><p><span>That will absorb exact duplicates and containments. You can use "hdist" and "edist" flags to allow mismatches, or get a complete list of flags by running the shellscript with no arguments.&nbsp;&nbsp;</span><br /><br /><span>Dedupe&nbsp;</span><span style="text-decoration: underline;">will merge assemblies</span><span>, but it&nbsp;</span><span style="text-decoration: underline;">will not produce consensus sequences or join overlapping reads</span><span>; it only removes sequences that are fully contained within other sequences (allowing the specified number of mismatches or edits).</span><br /><br /><span>Dedupe can remove duplicate reads from multiple files simultaneously, if they are comma-delimited (e.g. in=file1.fastq,file2.fastq,file3.fastq). And if you set the flag "uniqueonly=t" then ALL copies of duplicate reads will be removed, as opposed to the default behavior of leaving one copy of duplicate reads.</span><br /><br /><span>However, it does not care which file a read came from; in other words, it can't remove only reads that are duplicates across multiple files but leave the ones that are duplicates within a file. That can still be accomplished, though, like this:</span><br /><br /><span>1) Run dedupe on each sample individually, so now there are at most 1 copy of a read per sample.</span><br /><span>2) Run dedupe again on all of the samples together, with "uniqueonly=t". The only remaining duplicate reads will be the ones duplicated between samples, so that's all that will be removed.&nbsp;&nbsp;</span><br /><br /><span>--------------------------------------------------------------</span></p><ul>
<li><strong>Generate ROC curves from any aligner</strong></li>
</ul><p><br /><strong>[*]index the reference<br /><br /></strong></p><div><div>Code:</div><pre dir="ltr">$ bbmap.sh ref=reference.fasta</pre></div><p><br /><strong>[*]Generate random reads</strong><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ randomreads.sh reads=100000 length=100 out=synth.fastq maxq=35 midq=25 minq=15</pre></div><p><strong>[*]Map to produce a sam file</strong><br /><br /><span>...substitute this command with the appropriate one from your aligner of choice</span></p><div><div>Code:</div><pre dir="ltr">$ bbmap.sh in=synth.fq out=mapped.sam</pre></div><p><strong>[*]Generate ROC curve</strong><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ samtoroc.sh in=mapped.sam reads=100000</pre></div><p><span>--------------------------------------------------------------</span></p><ul>
<li><strong>Calculate heterozygous rate for sequence data</strong></li>
</ul><p><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ kmercountexact.sh in=reads.fq khist=histogram.txt peaks=peaks.txt</pre></div><p><span>You can examine the histogram manually, or use the "peaks" file which tells you the number of unique kmers in each peak on the histogram. For a diploid, the first peak will be the het peak, the second will be the homozygous peak, and the rest will be repeat peaks. The peak caller is not perfect, though, so particularly with noisy data I would only rely on it for the first two peaks, and try to quantify the higher-order peaks manually if you need to (which you generally don't).</span><br /><br /><span>-----------------------------------------------------------------</span></p><ul>
<li><strong>Compare mapped reads between two files</strong></li>
</ul><p><br /><span>To see how many mapped reads (can be mapped concordant or discordant, doesn't matter) are shared between the two alignment files and how many mapped reads are unique to one file or the other.</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ reformat.sh in=file1.sam out=mapped1.sam mappedonly
$ reformat.sh in=file2.sam out=mapped2.sam mappedonly</pre></div><p><span>That gets you the mapped reads only. Then:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ filterbyname.sh in=mapped1.sam names=mapped2.sam out=shared.sam include=t</pre></div><p><span>...which gets you the set intersection;</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ filterbyname.sh in=mapped1.sam names=mapped2.sam out=only1.sam include=f
$ filterbyname.sh in=mapped2.sam names=mapped1.sam out=only2.sam include=f</pre></div><p><span>...which get you the set subtractions.&nbsp;&nbsp;</span><br /><br /><span>--------------------------------------------------------------</span><br /><br /><strong>BBrename.sh</strong></p><div><div>Code:</div><pre dir="ltr">$ bbrename.sh in=old.fasta out=new.fasta</pre></div><p><span>That will rename the reads as 1, 2, 3, 4, ... 222.</span><br /><br /><span>You can also give a custom prefix if you want. The input has to be text format, not .doc.&nbsp;&nbsp;</span><br /><br /><span>---------------------------------------------------------------------</span><br /><br /><strong>BBfakereads.sh</strong></p><ul>
<li><strong>Generating &ldquo;fake&rdquo; paired end reads from a single end read file</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ bfakereads.sh in=reads.fastq out1=r1.fastq out2=r2.fastq length=100</pre></div><p><span>That will generate fake pairs from the input file, with whatever length you want (maximum of input read length). We use it in some cases for generating a fake LMP library for scaffolding from a set of contigs. Read 1 will be from the left end, and read 2 will be reverse-complemented and from the right end; both will retain the correct original qualities. And " /1" " /2" will be suffixed after the read name.&nbsp;&nbsp;</span><br /><br /><span>------------------------------------------------------------------</span><br /><strong>Randomreads.sh</strong></p><ul>
<li><strong>Generate random reads</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ randomreads.sh ref=genome.fasta out=reads.fq len=100 reads=10000</pre></div><p><span>"seed=-1" will use a random seed; any other value will use that specific number as the seed</span><br /><br /><span>You can specify paired reads, an insert size distribution, read lengths (or length ranges), and so forth. But because I developed it to benchmark mapping algorithms, it is specifically designed to give excellent control over mutations. You can specify the number of snps, insertions, deletions, and Ns per read, either exactly or probabilistically; the lengths of these events is individually customizable, the quality values can alternately be set to allow errors to be generated on the basis of quality; there's a PacBio error model; and all of the reads are annotated with their genomic origin, so you will know the correct answer when mapping.</span><br /><br /><span>--------------------------------------------------------------------</span></p><ul>
<li><strong>Generate saturation curves to assess sequencing depth</strong></li>
</ul><p>&nbsp;</p><div><div>Code:</div><pre dir="ltr">$ bbcountunique.sh in=reads.fq out=histogram.txt</pre></div><p><span>It works by pulling kmers from each input read, and testing whether it has been seen before, then storing it in a table.</span><br /><br /><span>The bottom line, "first", tracks whether the first kmer of the read has been seen before (independent of whether it is read 1 or read 2).</span><br /><br /><span>The top line, "pair", indicates whether a combined kmer from both read 1 and read 2 has been seen before. The other lines are generally safe to ignore but they track other things, like read1- or read2-specific data, and random kmers versus the first kmer.</span><br /><br /><span>It plots a point every X reads (configurable, default 25000).</span><br /><br /><span>In noncumulative mode (default), a point indicates "for the last X reads, this percentage had never been seen before". In this mode, once the line hits zero, sequencing more is not useful.</span><br /><br /><span>In cumulative mode, a point indicates "for all reads, this percentage had never been seen before", but still only one point is plotted per X reads.</span><br /><br /><span>-----------------------------------------------------------------</span><br /><strong>CalcTrueQuality.sh</strong><br /><br /><a href="http://seqanswers.com/forums/showthread.php?p=170904" target="_blank">http://seqanswers.com/forums/showthread.php?p=170904</a><br /><br /><span>In light of the quality-score issues with the NextSeq platform, and the possibility of future Illumina platforms (HiSeq 3000 and 4000) also using quantized quality scores, I developed it for recalibrating the scores to ensure accuracy and restore the full range of values.</span><br /><br /><span>-----------------------------------------------------------------</span><br /><br /><strong>BBMapskimmer.sh</strong><br /><br /><span>BBMap is designed to find the best mapping, and heuristics will cause it to ignore mappings that are valid but substantially worse. Therefore, I made a different version of it, BBMapSkimmer, which is designed to find all of the mappings above a certain threshold. The shellscript is bbmapskimmer.sh and the usage is similar to bbmap.sh or mapPacBio.sh. For primers, which I assume will be short, you may wish to use a lower than default K of, say, 10 or 11, and add the "slow" flag.</span><br /><br /><span>--------------------------------------------------------------</span><br /><br /><strong>msa.sh and curprimers.sh</strong><br /><br /><span>Quoted from Brian's response directly.</span><br /><br /><span>I also wrote another pair of programs specifically for working with primer pairs, msa.sh and cutprimers.sh. msa.sh will forcibly align a primer sequence (or a set of primer sequences) against a set of reference sequences to find the single best matching location per reference sequence - in other words, if you have 3 primers and 100 ref sequences, it will output a sam file with exactly 100 alignments - one per ref sequence, using the primer sequence that matched best. Of course you can also just run it with 1 primer sequence.</span><br /><br /><span>So you run msa twice - once for the left primer, and once for the right primer - and generate 2 sam files. Then you feed those into cutprimers.sh, which will create a new fasta file containing the sequence between the primers, for each reference sequence. We used these programs to synthetically cut V4 out of full-length 16S sequences.</span><br /><br /><span>I should say, though, that the primer sites identified are based on the normal BBMap scoring, which is not necessarily the same as where the primers would bind naturally, though with highly conserved regions there should be no difference.</span><br /><br /><span>------------------------------------------------------</span><br /><strong>testformat.sh</strong><br /><br /><strong>Identify type of Q-score encoding in sequence files</strong><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ testformat.sh in=seq.fq.gz
sanger    fastq    gz    interleaved    150bp</pre></div><p><span>--------------------------------------------------</span><br /><strong>kcompress.sh</strong><br /><br /><span>Newest member of BBTools. Identify constituent k-mers.&nbsp;</span><br /><a href="http://seqanswers.com/forums/showthread.php?t=63258" target="_blank">http://seqanswers.com/forums/showthread.php?t=63258</a><br /><br /><span>----------------------------------------------------</span><br /><strong>commonkmers.sh</strong><br /><br /><span>Find all k-mers for a given sequence.</span></p><div><div>Code:</div><pre dir="ltr">$ commonkmers.sh in=reads.fq out=kmers.txt k=4 count=t display=999</pre></div><p><span>Will produce output that looks like</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">MISEQ05:239:000000000-A74HF:1:2110:14788:23085	ATGA=8	ATGC=6	GTCA=6	AAAT=5	AAGC=5	AATG=5	AGCA=5	ATAA=5	ATTA=5	CAAA=5	CATA=5	CATC=5	CTGC=5	AACC=4	AACG=4	AAGA=4	ACAT=4	ACCA=4	AGAA=4	ATCA=4	ATGG=4	CAAG=4	CCAA=4	CCTC=4	CTCA=4	CTGA=4	CTTC=4	GAGC=4	GGTA=4	GTAA=4	GTTA=4	AAAA=3	AAAC=3	AAGT=3	ACCG=3	ACGG=3	ACTG=3	AGAT=3	AGCT=3	AGGA=3	AGTA=3	AGTC=3	CAGC=3	CATG=3	CGAG=3	CGGA=3	CGTC=3	CTAA=3	CTCC=3	CTTA=3	GAAA=3	GACA=3	GACC=3	GAGA=3	GCAA=3	GGAC=3	TCAA=3	TGCA=3	AAAG=2	AACA=2	AATA=2	AATC=2	ACAA=2	ACCC=2	ACCT=2	ACGA=2	ACGC=2	AGAC=2	AGCG=2	AGGC=2	CAAC=2	CAGG=2	CCGC=2	GCCA=2	GCTA=2	GGAA=2	GGCA=2	TAAA=2	TAGA=2	TCCA=2	TGAA=2	AAGG=1	AATT=1	ACGT=1	AGAG=1	AGCC=1	AGGG=1	ATAC=1	ATAG=1	ATTG=1	CACA=1	CACG=1	CAGA=1	CCAC=1	CCCA=1	CCGA=1	CCTA=1	CGAC=1	CGCA=1	CGCC=1	CGCG=1	CGTA=1	CTAC=1	GAAC=1	GCGA=1	GCGC=1	GTAC=1	GTGA=1	TTAA=1</pre></div><p><span>-----------------------------------------------------</span><br /><strong>Mutate.sh</strong><br /><br /><span>Simulate multiple mutants from a known reference (e.g.&nbsp;</span><em>E. coli</em><span>).</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">$ mutate.sh in=e_coli.fasta out=mutant.fasta id=99 
$ randomreads.sh ref=mutant.fasta out=reads.fq.gz reads=5m length=150 paired adderrors</pre></div><p><span>That will create a mutant version of E.coli with 99% identity to the original, and then generate 5 million simulated read pairs from the new genome. You can repeat this multiple times; each mutant will be different.</span><br /><br /><span>------------------------------------</span><br /><br /><strong>Partition.sh</strong><br /><br /><span>One can partition a large dataset with partition.sh into smaller subsets (example below splits data into 8 chunks).</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">partition.sh in=r1.fq in2=r2.fq out=r1_part%.fq out2=r2_part%.fq ways=8</pre></div><p><span>-----------------------------------</span><br /><strong>clumpify.sh</strong><br /><br /><span>If you are concerned about file size and want the files to be as small as possible, give Clumpify a try. It can reduce filesize by around 30% losslessly by reordering the reads. I've found that this also typically accelerates subsequent analysis pipelines by a similar factor (up to 30%). Usage:</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">clumpify.sh in=reads.fastq.gz out=clumped.fastq.gz</pre></div><div><div>Code:</div><pre dir="ltr">clumpify.sh in1=reads_R1.fastq.gz in2=reads_R2.fastq.gz out1=clumped_R1.fastq.gz out2=clumped_R2.fastq.gz</pre></div><ul>
<li><strong>Clumpify.sh can now mark/remove sequence duplicates (optical/PCR/otherwise) from NGS data</strong></li>
</ul><p><br /><span>This does NOT require alignments so it should prove more useful compared to Picard MarkDuplicates. Relevant options for clumpify.sh command are listed below.</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">dedupe=f optical=f (default)
Nothing happens with regards to duplicates.

dedupe=t optical=f
All duplicates are detected, whether optical or not.  All copies except one are removed for each duplicate.

dedupe=f optical=t
Nothing happens.

dedupe=t optical=t

Only optical duplicates (those with an X or Y coordinate within dist) are detected.  All copies except one are removed for each duplicate.
The allduplicates flag makes all copies of duplicates removed, rather than leaving a single copy.  But like optical, it has no effect unless dedupe=t.

Note: If you set "dupedist" to anything greater than 0, "optical" gets enabled automatically.</pre></div><p><span>-------------------------------------</span><br /><strong>fuse.sh</strong><br /><br /><span>Fuse will automatically reverse-complement read 2. Pad (N) amount can be adjusted as necessary. This will for example create a full size amplicon that can be used for alignments.</span><br /><br /></p><div><div>Code:</div><pre dir="ltr">fuse.sh in1=r1.fq in2=r2.fq pad=130 out=fused.fq fusepairs</pre></div>]]></description>
	<dc:creator>Surabhi Chaudhary</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/35376/how-custom-essay-writing-service-work-to-provide-essay-papers-that-meets-customers-need</guid>
	<pubDate>Sat, 27 Jan 2018 04:13:32 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/35376/how-custom-essay-writing-service-work-to-provide-essay-papers-that-meets-customers-need</link>
	<title><![CDATA[How custom essay writing service work to provide essay papers that meets customers need?]]></title>
	<description><![CDATA[<p>Writing is more effective way to learn than reading. While writing you get more information and hence can improve your personal skills and knowledge. Every student likes to get a good essay, for getting good essay students must follow the some procedures to write essay. There are many more online writing services available to help students who can&rsquo;t complete their writing papers.</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Custom essay writing service provides better service than other service available. Because, here the working procedure is very simple. It is a very easy task for the customer to get an essay with this site because the process is straightforward. There are just four steps that the customer needs to follow. The first is to place the order. There are many writers who are specialized to their subject. This writer will carefully read through the requirements and give a rough draft of the final paper and will be one or two pages long. Which is the example ,that the final essay paper look like. This paper is then send to the customer by the writers. The communication between the writer and the customer is very important to pass information to the writer any time of the day. The final step is the submission of the paper ,also provide time for the paper to be read by the customer and any revisions will have to be made before submission. The customer can do any type of revision request and the writer will do any number of revisions till the customer is satisfied with the paper.</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hence we can conclude that <a href="https://essaycaptains.com/">custom essay writing service</a> work for customer at any time of the day and give a better result to the customers.</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>]]></description>
	<dc:creator>melissamfloyd</dc:creator>
</item>

</channel>
</rss>