<?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: Related items]]></title>
	<link>https://bioinformaticsonline.com/related/37800?offset=160</link>
	<atom:link href="https://bioinformaticsonline.com/related/37800?offset=160" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/44527/alvis-a-tool-for-contig-and-read-alignment-visualisation-and-chimera-detection</guid>
	<pubDate>Wed, 08 May 2024 07:02:55 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/44527/alvis-a-tool-for-contig-and-read-alignment-visualisation-and-chimera-detection</link>
	<title><![CDATA[Alvis: a tool for contig and read ALignment VISualisation and chimera detection]]></title>
	<description><![CDATA[<p><span>Alvis, a simple command line tool that can generate visualisations for a number of common alignment analysis tasks. Alvis is a fast and portable tool that accepts input in a variety of alignment formats and will output production ready vector images. Additionally, Alvis will highlight potentially chimeric reads or contigs, a common source of misassemblies.</span></p>
<p>More at&nbsp;https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-021-04056-0</p><p>Address of the bookmark: <a href="https://github.com/SR-Martin/alvis" rel="nofollow">https://github.com/SR-Martin/alvis</a></p>]]></description>
	<dc:creator>LEGE</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/44641/heliano-a-fast-and-accurate-tool-for-detection-of-helitron-like-elements</guid>
	<pubDate>Tue, 13 Aug 2024 07:16:34 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/44641/heliano-a-fast-and-accurate-tool-for-detection-of-helitron-like-elements</link>
	<title><![CDATA[HELIANO: A fast and accurate tool for detection of Helitron-like elements]]></title>
	<description><![CDATA[<p><span>Helitron-like elements (HLE1 and HLE2) are DNA transposons. They have been found in diverse species and seem to play significant roles in the evolution of host genomes. Although known for over twenty years, Helitron sequences are still challenging to identify. Here, we propose HELIANO (Helitron-like elements annotator) as an efficient solution for detecting Helitron-like elements.</span></p>
<p>https://academic.oup.com/nar/advance-article/doi/10.1093/nar/gkae679/7730539?login=true</p><p>Address of the bookmark: <a href="https://github.com/Zhenlisme/heliano/" rel="nofollow">https://github.com/Zhenlisme/heliano/</a></p>]]></description>
	<dc:creator>LEGE</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/45177/installing-crossroad-on-ubuntu</guid>
	<pubDate>Fri, 29 May 2026 05:19:45 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/45177/installing-crossroad-on-ubuntu</link>
	<title><![CDATA[Installing croSSRoad on Ubuntu !]]></title>
	<description><![CDATA[<p><strong>(base) hp@hp-HP-Z2-Tower-G9-Workstation-Desktop-PC:~/jitendraTEST$ conda</strong><br />usage: conda [-h] [-v] [--no-plugins] [-V] COMMAND ...</p><p>conda is a tool for managing and deploying applications, environments and packages.</p><p>options:<br /> -h, --help Show this help message and exit.<br /> -v, --verbose Can be used multiple times. Once for detailed output, twice for INFO logging, thrice for DEBUG logging, four times for TRACE logging.<br /> --no-plugins Disable all plugins that are not built into conda.<br /> -V, --version Show the conda version number and exit.</p><p>commands:<br /> The following built-in and plugins subcommands are available.</p><p>COMMAND<br /> activate Activate a conda environment.<br /> clean Remove unused packages and caches.<br /> commands List all available conda subcommands (including those from plugins). Generally only used by tab-completion.<br /> compare Compare packages between conda environments.<br /> config Modify configuration values in .condarc.<br /> create Create a new conda environment from a list of specified packages.<br /> deactivate Deactivate the current active conda environment.<br /> doctor Display a health report for your environment.<br /> env Create and manage conda environments.<br /> export Export a given environment<br /> info Display information about current conda install.<br /> init Initialize conda for shell interaction.<br /> install Install a list of packages into a specified conda environment.<br /> list List installed packages in a conda environment.<br /> notices Retrieve latest channel notifications.<br /> package Create low-level conda packages. (EXPERIMENTAL)<br /> remove (uninstall) Remove a list of packages from a specified conda environment.<br /> rename Rename an existing environment.<br /> repoquery Advanced search for repodata.<br /> run Run an executable in a conda environment.<br /> search Search for packages and display associated information using the MatchSpec format.<br /> update (upgrade) Update conda packages to the latest compatible version.<br />(base) hp@hp-HP-Z2-Tower-G9-Workstation-Desktop-PC:~/jitendraTEST$ conda create -n jitENV<br />Retrieving notices: done<br />Channels:<br /> - ursky<br /> - bioconda<br /> - conda-forge<br />Platform: linux-64<br />Collecting package metadata (repodata.json): done<br />Solving environment: done</p><p><br />==&gt; WARNING: A newer version of conda exists. &lt;==<br /> current version: 25.7.0<br /> latest version: 26.5.0</p><p>Please update conda by running</p><p>$ conda update -n base -c conda-forge conda</p><p>&nbsp;</p><p>## Package Plan ##</p><p>environment location: /home/hp/miniforge3/envs/jitENV</p><p>&nbsp;</p><p>Proceed ([y]/n)? y</p><p><br />Downloading and Extracting Packages:</p><p>Preparing transaction: done<br />Verifying transaction: done<br />Executing transaction: done<br />#<br /># To activate this environment, use<br />#<br /># $ conda activate jitENV<br />#<br /># To deactivate an active environment, use<br />#<br /># $ conda deactivate</p><p><strong>(base) hp@hp-HP-Z2-Tower-G9-Workstation-Desktop-PC:~/jitendraTEST$ conda activate jitENV</strong><br /><strong>(jitENV) hp@hp-HP-Z2-Tower-G9-Workstation-Desktop-PC:~/jitendraTEST$ conda install conda-forge::mamba</strong><br />Channels:<br /> - ursky<br /> - bioconda<br /> - conda-forge<br />Platform: linux-64<br />Collecting package metadata (repodata.json): done<br />Solving environment: done</p><p><br />==&gt; WARNING: A newer version of conda exists. &lt;==<br /> current version: 25.7.0<br /> latest version: 26.5.0</p><p>Please update conda by running</p><p>$ conda update -n base -c conda-forge conda</p><p>&nbsp;</p><p>## Package Plan ##</p><p>environment location: /home/hp/miniforge3/envs/jitENV</p><p>added / updated specs:<br /> - conda-forge::mamba</p><p><br />The following packages will be downloaded:</p><p>package | build<br /> ---------------------------|-----------------<br /> ca-certificates-2026.5.20 | hbd8a1cb_0 127 KB conda-forge<br /> cpp-expected-1.3.1 | h171cf75_0 24 KB conda-forge<br /> fmt-12.1.0 | hff5e90c_0 193 KB conda-forge<br /> libarchive-3.8.7 | gpl_hc2c16d8_101 869 KB conda-forge<br /> libcurl-8.20.0 | hcf29cc6_0 458 KB conda-forge<br /> libgcc-15.2.0 | he0feb66_19 1017 KB conda-forge<br /> libgcc-ng-15.2.0 | h69a702a_19 27 KB conda-forge<br /> libgomp-15.2.0 | he0feb66_19 590 KB conda-forge<br /> libmamba-2.6.2 | hd28c85e_0 2.7 MB conda-forge<br /> libmsgpack-c-6.1.0 | h54a6638_6 39 KB conda-forge<br /> libsolv-0.7.38 | h9463b59_0 509 KB conda-forge<br /> libstdcxx-15.2.0 | h934c35e_19 5.6 MB conda-forge<br /> libxml2-2.15.3 | h49c6c72_0 46 KB conda-forge<br /> libxml2-16-2.15.3 | hca6bf5a_0 547 KB conda-forge<br /> mamba-2.6.2 | hce6dcdd_0 553 KB conda-forge<br /> ncurses-6.6 | hdb14827_0 897 KB conda-forge<br /> nlohmann_json-abi-3.12.0 | h0f90c79_1 4 KB conda-forge<br /> reproc-14.2.7.post0 | hb03c661_1 35 KB conda-forge<br /> reproc-cpp-14.2.7.post0 | hecca717_1 26 KB conda-forge<br /> simdjson-4.6.4 | hb700be7_0 310 KB conda-forge<br /> spdlog-1.17.0 | hab81395_1 192 KB conda-forge<br /> ------------------------------------------------------------<br /> Total: 14.6 MB</p><p>The following NEW packages will be INSTALLED:</p><p>_openmp_mutex conda-forge/linux-64::_openmp_mutex-4.5-20_gnu <br /> bzip2 conda-forge/linux-64::bzip2-1.0.8-hda65f42_9 <br /> c-ares conda-forge/linux-64::c-ares-1.34.6-hb03c661_0 <br /> ca-certificates conda-forge/noarch::ca-certificates-2026.5.20-hbd8a1cb_0 <br /> cpp-expected conda-forge/linux-64::cpp-expected-1.3.1-h171cf75_0 <br /> fmt conda-forge/linux-64::fmt-12.1.0-hff5e90c_0 <br /> icu conda-forge/linux-64::icu-78.3-h33c6efd_0 <br /> keyutils conda-forge/linux-64::keyutils-1.6.3-hb9d3cd8_0 <br /> krb5 conda-forge/linux-64::krb5-1.22.2-ha1258a1_0 <br /> libarchive conda-forge/linux-64::libarchive-3.8.7-gpl_hc2c16d8_101 <br /> libcurl conda-forge/linux-64::libcurl-8.20.0-hcf29cc6_0 <br /> libedit conda-forge/linux-64::libedit-3.1.20250104-pl5321h7949ede_0 <br /> libev conda-forge/linux-64::libev-4.33-hd590300_2 <br /> libgcc conda-forge/linux-64::libgcc-15.2.0-he0feb66_19 <br /> libgcc-ng conda-forge/linux-64::libgcc-ng-15.2.0-h69a702a_19 <br /> libgomp conda-forge/linux-64::libgomp-15.2.0-he0feb66_19 <br /> libiconv conda-forge/linux-64::libiconv-1.18-h3b78370_2 <br /> liblzma conda-forge/linux-64::liblzma-5.8.3-hb03c661_0 <br /> libmamba conda-forge/linux-64::libmamba-2.6.2-hd28c85e_0 <br /> libmsgpack-c conda-forge/linux-64::libmsgpack-c-6.1.0-h54a6638_6 <br /> libnghttp2 conda-forge/linux-64::libnghttp2-1.68.1-h877daf1_0 <br /> libsolv conda-forge/linux-64::libsolv-0.7.38-h9463b59_0 <br /> libssh2 conda-forge/linux-64::libssh2-1.11.1-hcf80075_0 <br /> libstdcxx conda-forge/linux-64::libstdcxx-15.2.0-h934c35e_19 <br /> libxml2 conda-forge/linux-64::libxml2-2.15.3-h49c6c72_0 <br /> libxml2-16 conda-forge/linux-64::libxml2-16-2.15.3-hca6bf5a_0 <br /> libzlib conda-forge/linux-64::libzlib-1.3.2-h25fd6f3_2 <br /> lz4-c conda-forge/linux-64::lz4-c-1.10.0-h5888daf_1 <br /> lzo conda-forge/linux-64::lzo-2.10-h280c20c_1002 <br /> mamba conda-forge/linux-64::mamba-2.6.2-hce6dcdd_0 <br /> ncurses conda-forge/linux-64::ncurses-6.6-hdb14827_0 <br /> nlohmann_json-abi conda-forge/noarch::nlohmann_json-abi-3.12.0-h0f90c79_1 <br /> openssl conda-forge/linux-64::openssl-3.6.2-h35e630c_0 <br /> reproc conda-forge/linux-64::reproc-14.2.7.post0-hb03c661_1 <br /> reproc-cpp conda-forge/linux-64::reproc-cpp-14.2.7.post0-hecca717_1 <br /> simdjson conda-forge/linux-64::simdjson-4.6.4-hb700be7_0 <br /> spdlog conda-forge/linux-64::spdlog-1.17.0-hab81395_1 <br /> yaml-cpp conda-forge/linux-64::yaml-cpp-0.8.0-h3f2d84a_0 <br /> zstd conda-forge/linux-64::zstd-1.5.7-hb78ec9c_6</p><p><br />Proceed ([y]/n)? y</p><p><br />Downloading and Extracting Packages:<br /> <br />Preparing transaction: done <br />Verifying transaction: done <br />Executing transaction: done <br />(jitENV) hp@hp-HP-Z2-Tower-G9-Workstation-Desktop-PC:~/jitendraTEST$ mamba install -c jitendralab -c bioconda -c conda-forge crossroad -y <br />jitendralab/noarch ??.?MB @ ??.?MB/s 0.3s<br />jitendralab/linux-64 ??.?MB @ ??.?MB/s 0.4s<br />bioconda/linux-64 5.6MB @ 2.9MB/s 1.9s<br />bioconda/noarch 5.6MB @ 2.5MB/s 2.2s<br />conda-forge/noarch 26.4MB @ 6.0MB/s 4.5s<br />conda-forge/linux-64 53.8MB @ 6.7MB/s 8.2s</p><p><br />Transaction <br /> <br /> Prefix: /home/hp/miniforge3/envs/jitENV <br /> <br /> Updating specs: <br /> <br /> - crossroad</p><p>Package Version Build Channel Size<br />─────────────────────────────────────────────────────────────────────────────────────────────────<br /> Install:<br />─────────────────────────────────────────────────────────────────────────────────────────────────</p><p>+ annotated-doc 0.0.4 pyhcf101f3_0 conda-forge Cached<br /> + annotated-types 0.7.0 pyhd8ed1ab_1 conda-forge Cached<br /> + anyio 4.13.0 pyhcf101f3_0 conda-forge 147kB<br /> + argcomplete 3.6.3 pyhd8ed1ab_0 conda-forge Cached<br /> + aws-c-auth 0.10.3 h3aafcba_1 conda-forge 134kB<br /> + aws-c-cal 0.9.14 h8e43964_1 conda-forge 57kB<br /> + aws-c-common 0.13.1 hb03c661_0 conda-forge 242kB<br /> + aws-c-compression 0.3.2 h16e98cb_1 conda-forge 22kB<br /> + aws-c-event-stream 0.7.1 h9be7a74_1 conda-forge 59kB<br /> + aws-c-http 0.11.0 hcbcd92d_1 conda-forge 230kB<br /> + aws-c-io 0.26.3 h955231c_3 conda-forge 182kB<br /> + aws-c-mqtt 0.15.2 h8af55cf_3 conda-forge 222kB<br /> + aws-c-s3 0.12.3 h00bea6e_2 conda-forge 153kB<br /> + aws-c-sdkutils 0.2.4 h16e98cb_5 conda-forge 59kB<br /> + aws-checksums 0.2.10 h16e98cb_1 conda-forge 102kB<br /> + aws-crt-cpp 0.38.3 h7b0d4b4_2 conda-forge 413kB<br /> + aws-sdk-cpp 1.11.747 h5a171d8_5 conda-forge 4MB<br /> + azure-core-cpp 1.16.2 h206d751_0 conda-forge 349kB<br /> + azure-identity-cpp 1.13.3 hed0cdb0_1 conda-forge 251kB<br /> + azure-storage-blobs-cpp 12.17.0 hf824e48_1 conda-forge 587kB<br /> + azure-storage-common-cpp 12.13.0 ha7a2c86_0 conda-forge 159kB<br /> + azure-storage-files-datalake-cpp 12.15.0 h1e5b466_0 conda-forge 304kB<br /> + backports.zstd 1.5.0 py314h680f03e_0 conda-forge 8kB<br /> + bedtools 2.31.1 h13024bc_3 bioconda Cached<br /> + biopython 1.87 py314h5bd0f2a_0 conda-forge 3MB<br /> + brotli 1.2.0 hed03a55_1 conda-forge Cached<br /> + brotli-bin 1.2.0 hb03c661_1 conda-forge Cached<br /> + brotli-python 1.2.0 py314h3de4e8d_1 conda-forge 367kB<br /> + certifi 2026.5.20 pyhd8ed1ab_0 conda-forge 134kB<br /> + charset-normalizer 3.4.7 pyhd8ed1ab_0 conda-forge Cached<br /> + click 8.4.1 pyhc90fa1f_0 conda-forge 105kB<br /> + colorama 0.4.6 pyhd8ed1ab_1 conda-forge Cached<br /> + contourpy 1.3.3 py314h97ea11e_4 conda-forge 324kB<br /> + crossroad 0.3.6 pyh7e60211_0 jitendralab 2MB<br /> + cycler 0.12.1 pyhcf101f3_2 conda-forge Cached<br /> + dnspython 2.8.0 pyhcf101f3_0 conda-forge Cached<br /> + email-validator 2.3.0 pyhd8ed1ab_0 conda-forge 47kB<br /> + email_validator 2.3.0 hd8ed1ab_0 conda-forge 7kB<br /> + exceptiongroup 1.3.1 pyhd8ed1ab_0 conda-forge Cached<br /> + expat 2.8.1 hecca717_0 conda-forge 148kB<br /> + fastapi 0.136.3 h5ddb490_0 conda-forge 5kB<br /> + fastapi-cli 0.0.23 pyhcf101f3_0 conda-forge 19kB<br /> + fastapi-core 0.136.3 pyhcf101f3_0 conda-forge 96kB<br /> + fastar 0.11.0 py314h0b738fb_0 conda-forge 423kB<br /> + font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge Cached<br /> + font-ttf-inconsolata 3.000 h77eed37_0 conda-forge Cached<br /> + font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge Cached<br /> + font-ttf-ubuntu 0.83 h77eed37_3 conda-forge Cached<br /> + fontconfig 2.18.0 h27c8c51_0 conda-forge 281kB<br /> + fonts-conda-forge 1 hc364b38_1 conda-forge Cached<br /> + fonttools 4.63.0 pyh7db6752_0 conda-forge 846kB<br /> + freetype 2.14.3 ha770c72_0 conda-forge Cached<br /> + gflags 2.2.2 h5888daf_1005 conda-forge 120kB<br /> + glog 0.7.1 hbabe93e_0 conda-forge 143kB<br /> + h11 0.16.0 pyhcf101f3_1 conda-forge 39kB<br /> + h2 4.3.0 pyhcf101f3_0 conda-forge Cached<br /> + hpack 4.1.0 pyhd8ed1ab_0 conda-forge Cached<br /> + httpcore 1.0.9 pyh29332c3_0 conda-forge Cached<br /> + httptools 0.7.1 py314h5bd0f2a_1 conda-forge 99kB<br /> + httpx 0.28.1 pyhd8ed1ab_0 conda-forge Cached<br /> + hyperframe 6.1.0 pyhd8ed1ab_0 conda-forge Cached<br /> + idna 3.17 pyhcf101f3_0 conda-forge 57kB<br /> + jinja2 3.1.6 pyhcf101f3_1 conda-forge Cached<br /> + kaleido-core 0.2.1 h3644ca4_0 conda-forge Cached<br /> + kiwisolver 1.5.0 py314h97ea11e_0 conda-forge 77kB<br /> + lcms2 2.19.1 h0c24ade_0 conda-forge 251kB<br /> + ld_impl_linux-64 2.45.1 default_hbd61a6d_102 conda-forge Cached<br /> + lerc 4.1.0 hdb68285_0 conda-forge Cached<br /> + libabseil 20260107.1 cxx17_h7b12aa8_0 conda-forge 1MB<br /> + libarrow 24.0.0 h6f10b76_3_cpu conda-forge 7MB<br /> + libarrow-acero 24.0.0 h635bf11_3_cpu conda-forge 592kB<br /> + libarrow-compute 24.0.0 h53684a4_3_cpu conda-forge 3MB<br /> + libarrow-dataset 24.0.0 h635bf11_3_cpu conda-forge 592kB<br /> + libarrow-substrait 24.0.0 hb4dd7c2_3_cpu conda-forge 502kB<br /> + libblas 3.11.0 8_h4a7cf45_openblas conda-forge 19kB<br /> + libbrotlicommon 1.2.0 hb03c661_1 conda-forge Cached<br /> + libbrotlidec 1.2.0 hb03c661_1 conda-forge Cached<br /> + libbrotlienc 1.2.0 hb03c661_1 conda-forge Cached<br /> + libcblas 3.11.0 8_h0358290_openblas conda-forge 19kB<br /> + libcrc32c 1.1.2 h9c3ff4c_0 conda-forge Cached<br /> + libdeflate 1.25 h17f619e_0 conda-forge Cached<br /> + libevent 2.1.12 hf998b51_1 conda-forge Cached<br /> + libexpat 2.8.1 hecca717_0 conda-forge 77kB<br /> + libffi 3.5.2 h3435931_0 conda-forge Cached<br /> + libfreetype 2.14.3 ha770c72_0 conda-forge Cached<br /> + libfreetype6 2.14.3 h73754d4_0 conda-forge Cached<br /> + libgfortran 15.2.0 h69a702a_19 conda-forge 28kB<br /> + libgfortran5 15.2.0 h68bc16d_19 conda-forge 2MB<br /> + libgoogle-cloud 3.5.0 h25dbb67_0 conda-forge 3MB<br /> + libgoogle-cloud-storage 3.5.0 hdbdcf42_0 conda-forge 780kB<br /> + libgrpc 1.78.1 h1d1128b_0 conda-forge 7MB<br /> + libjpeg-turbo 3.1.4.1 hb03c661_0 conda-forge Cached<br /> + liblapack 3.11.0 8_h47877c9_openblas conda-forge 19kB<br /> + libmpdec 4.0.0 hb03c661_1 conda-forge 92kB<br /> + libopenblas 0.3.33 pthreads_h94d23a6_0 conda-forge 6MB<br /> + libopentelemetry-cpp 1.26.0 h9692893_0 conda-forge 934kB<br /> + libopentelemetry-cpp-headers 1.26.0 ha770c72_0 conda-forge 396kB<br /> + libparquet 24.0.0 h7376487_3_cpu conda-forge 1MB<br /> + libpng 1.6.58 h421ea60_0 conda-forge 318kB<br /> + libprotobuf 6.33.5 h6eeba95_1 conda-forge 4MB<br /> + libre2-11 2025.11.05 h0dc7533_1 conda-forge 213kB<br /> + libsqlite 3.53.1 h0c1763c_0 conda-forge 955kB<br /> + libstdcxx-ng 15.2.0 hdf11a46_19 conda-forge 28kB<br /> + libthrift 0.22.0 h7d032f7_2 conda-forge 424kB<br /> + libtiff 4.7.1 h9d88235_1 conda-forge Cached<br /> + libutf8proc 2.11.3 hfe17d71_0 conda-forge 86kB<br /> + libuuid 2.42.1 h5347b49_0 conda-forge 40kB<br /> + libuv 1.52.1 h280c20c_0 conda-forge 420kB<br /> + libwebp-base 1.6.0 hd42ef1d_0 conda-forge Cached<br /> + libxcb 1.17.0 h8a09558_0 conda-forge Cached<br /> + markdown-it-py 4.2.0 pyhd8ed1ab_0 conda-forge 69kB<br /> + markupsafe 3.0.3 py314h67df5f8_1 conda-forge 27kB<br /> + mathjax 2.7.7 ha770c72_3 conda-forge Cached<br /> + matplotlib-base 3.10.9 py314h1194b4b_0 conda-forge 9MB<br /> + mdurl 0.1.2 pyhd8ed1ab_1 conda-forge Cached<br /> + munkres 1.0.7 py_1 bioconda Cached<br /> + narwhals 2.21.2 pyhcf101f3_0 conda-forge 284kB<br /> + nlohmann_json 3.12.0 h54a6638_1 conda-forge 136kB<br /> + nspr 4.38 h29cc59b_0 conda-forge Cached<br /> + nss 3.118 h445c969_0 conda-forge Cached<br /> + numpy 2.4.6 py314h2b28147_0 conda-forge 9MB<br /> + openjpeg 2.5.4 h55fea9a_0 conda-forge Cached<br /> + orc 2.3.0 h21090e2_0 conda-forge 1MB<br /> + packaging 26.2 pyhc364b38_0 conda-forge 92kB<br /> + pandas 3.0.3 py314hb4ffadd_0 conda-forge 15MB<br /> + perf_ssr 0.4.8 py_0 jitendralab 720kB<br /> + pillow 12.2.0 py314h8ec4b1a_0 conda-forge 1MB<br /> + pip 26.1.1 pyh145f28c_0 conda-forge 1MB<br /> + plotly 6.6.0 pyhd8ed1ab_0 conda-forge Cached<br /> + plotly-upset-hd 0.0.2 py_0 jitendralab 356kB<br /> + prometheus-cpp 1.3.0 ha5d0236_0 conda-forge 200kB<br /> + pthread-stubs 0.4 hb9d3cd8_1002 conda-forge Cached<br /> + pyarrow 24.0.0 py314hdafbbf9_0 conda-forge 27kB<br /> + pyarrow-core 24.0.0 py314h969be7f_0_cpu conda-forge 5MB<br /> + pydantic 2.13.4 pyhcf101f3_0 conda-forge 347kB<br /> + pydantic-core 2.46.4 py314h2e6c369_0 conda-forge 2MB<br /> + pydantic-extra-types 2.11.2 pyhcf101f3_0 conda-forge 74kB<br /> + pydantic-settings 2.14.1 pyhcf101f3_0 conda-forge 52kB<br /> + pygments 2.20.0 pyhd8ed1ab_0 conda-forge Cached<br /> + pyparsing 3.3.2 pyhcf101f3_0 conda-forge Cached<br /> + pysocks 1.7.1 pyha55dd90_7 conda-forge Cached<br /> + python 3.14.5 habeac84_100_cp314 conda-forge 37MB<br /> + python-dateutil 2.9.0.post0 pyhe01879c_2 conda-forge Cached<br /> + python-dotenv 1.2.2 pyhcf101f3_0 conda-forge Cached<br /> + python-kaleido 0.2.1 pyhd8ed1ab_0 conda-forge Cached<br /> + python-multipart 0.0.29 pyhcf101f3_0 conda-forge 38kB<br /> + python_abi 3.14 8_cp314 conda-forge 7kB<br /> + pyyaml 6.0.3 py314h67df5f8_1 conda-forge 202kB<br /> + qhull 2020.2 h434a139_5 conda-forge Cached<br /> + re2 2025.11.05 h5301d42_1 conda-forge 27kB<br /> + readline 8.3 h853b02a_0 conda-forge Cached<br /> + requests 2.34.2 pyhcf101f3_0 conda-forge 69kB<br /> + rich 15.0.0 pyhcf101f3_0 conda-forge Cached<br /> + rich-argparse 1.8.0 pyhd8ed1ab_0 conda-forge 27kB<br /> + rich-click 1.9.8 pyh8f84b5b_0 conda-forge 64kB<br /> + rich-toolkit 0.19.10 pyhcf101f3_0 conda-forge 33kB<br /> + s2n 1.7.3 hc5a330e_0 conda-forge 388kB<br /> + seqkit 2.13.0 he881be0_0 bioconda Cached<br /> + seqtk 1.5 h577a1d6_1 bioconda 142kB<br /> + shellingham 1.5.4 pyhd8ed1ab_2 conda-forge Cached<br /> + six 1.17.0 pyhe01879c_1 conda-forge Cached<br /> + snappy 1.2.2 h03e3b7b_1 conda-forge Cached<br /> + sniffio 1.3.1 pyhd8ed1ab_2 conda-forge Cached<br /> + sqlite 3.53.1 hbc0de68_0 conda-forge 205kB<br /> + starlette 1.1.0 pyhcf101f3_0 conda-forge 64kB<br /> + tk 8.6.13 noxft_h366c992_103 conda-forge Cached<br /> + tomli 2.4.1 pyhcf101f3_0 conda-forge 22kB<br /> + tqdm 4.67.3 pyh8f84b5b_0 conda-forge Cached<br /> + typer 0.26.3 pyhcf101f3_0 conda-forge 184kB<br /> + typing-extensions 4.15.0 h396c80c_0 conda-forge Cached<br /> + typing-inspection 0.4.2 pyhcf101f3_2 conda-forge 21kB<br /> + typing_extensions 4.15.0 pyhcf101f3_0 conda-forge Cached<br /> + tzdata 2025c hc9c84f9_1 conda-forge Cached<br /> + unicodedata2 17.0.1 py314h5bd0f2a_0 conda-forge 410kB<br /> + upsetplot 0.9.0 pyhd8ed1ab_1 conda-forge 28kB<br /> + urllib3 2.7.0 pyhd8ed1ab_0 conda-forge 104kB<br /> + uvicorn 0.48.0 pyhc90fa1f_0 conda-forge 56kB<br /> + uvicorn-standard 0.48.0 he364bde_0 conda-forge 4kB<br /> + uvloop 0.22.1 py314h5bd0f2a_1 conda-forge 593kB<br /> + watchfiles 1.2.0 py314ha5689aa_0 conda-forge 416kB<br /> + websockets 16.0 py314h0f05182_1 conda-forge 383kB<br /> + xorg-libxau 1.0.12 hb03c661_1 conda-forge Cached<br /> + xorg-libxdmcp 1.1.5 hb03c661_1 conda-forge Cached<br /> + yaml 0.2.5 h280c20c_3 conda-forge Cached<br /> + zlib 1.3.2 h25fd6f3_2 conda-forge Cached<br /> + zlib-ng 2.3.3 hceb46e0_1 conda-forge Cached</p><p>Summary:</p><p>Install: 186 packages</p><p>Total download: 142MB</p><p>─────────────────────────────────────────────────────────────────────────────────────────────────</p><p>&nbsp;</p><p>Transaction starting<br />libgrpc 7.0MB @ 2.3MB/s 3.0s<br />numpy 8.9MB @ 2.3MB/s 3.8s<br />matplotlib-base 8.5MB @ 2.0MB/s 4.2s<br />libarrow 6.5MB @ 2.3MB/s 2.8s<br />pandas 15.3MB @ 2.5MB/s 6.2s<br />libopenblas 5.9MB @ 2.3MB/s 2.5s<br />pyarrow-core 4.8MB @ 1.6MB/s 3.0s<br />libprotobuf 3.7MB @ 2.4MB/s 1.6s<br />aws-sdk-cpp 3.6MB @ 3.1MB/s 1.2s<br />biopython 3.4MB @ 2.0MB/s 1.7s<br />libgfortran5 2.5MB @ 2.6MB/s 1.0s<br />libgoogle-cloud 2.6MB @ 2.4MB/s 1.1s<br />pydantic-core 1.9MB @ 2.7MB/s 0.7s<br />libarrow-compute 3.0MB @ 1.9MB/s 1.6s<br />orc 1.5MB @ 2.8MB/s 0.5s<br />libparquet 1.4MB @ 3.1MB/s 0.5s<br />pip 1.2MB @ 2.9MB/s 0.4s<br />libabseil 1.4MB @ 2.2MB/s 0.6s<br />pillow 1.1MB @ 2.7MB/s 0.4s<br />libsqlite 955.0kB @ 2.9MB/s 0.3s<br />libgoogle-cloud-storage 779.6kB @ 2.7MB/s 0.3s<br />fonttools 846.0kB @ 2.1MB/s 0.4s<br />libopentelemetry-cpp 934.3kB @ 1.8MB/s 0.5s<br />libarrow-acero 592.3kB @ 2.2MB/s 0.2s<br />uvloop 593.4kB @ 1.3MB/s 0.4s<br />libarrow-dataset 592.2kB @ 2.7MB/s 0.2s<br />libarrow-substrait 501.9kB @ 1.8MB/s 0.2s<br />azure-storage-blobs-cpp 587.1kB @ 1.6MB/s 0.3s<br />libthrift 423.9kB @ 2.8MB/s 0.2s<br />crossroad 1.8MB @ 663.3kB/s 2.6s<br />libuv 419.9kB @ 2.3MB/s 0.2s<br />fastar 423.4kB @ 966.7kB/s 0.3s<br />aws-crt-cpp 412.5kB @ 2.9MB/s 0.1s<br />watchfiles 415.6kB @ 1.6MB/s 0.3s<br />unicodedata2 409.6kB @ 1.8MB/s 0.2s<br />libopentelemetry-cpp-headers 396.4kB @ 2.2MB/s 0.2s<br />s2n 388.1kB @ 2.5MB/s 0.1s<br />brotli-python 367.4kB @ 1.7MB/s 0.1s<br />websockets 383.0kB @ 1.3MB/s 0.3s<br />azure-core-cpp 348.7kB @ 2.7MB/s 0.1s<br />pydantic 346.5kB @ 1.9MB/s 0.2s<br />contourpy 324.0kB @ 2.3MB/s 0.1s<br />libpng 317.7kB @ 1.8MB/s 0.2s<br />azure-storage-files-datalake-cpp 303.8kB @ 1.9MB/s 0.1s<br />narwhals 284.3kB @ 1.8MB/s 0.2s<br />fontconfig 280.9kB @ 866.6kB/s 0.2s<br />python 36.7MB @ 3.0MB/s 12.0s<br />azure-identity-cpp 250.5kB @ 1.5MB/s 0.1s<br />lcms2 251.1kB @ 2.0MB/s 0.1s<br />aws-c-common 242.3kB @ 2.8MB/s 0.1s<br />libre2-11 213.1kB @ 66.4kB/s 0.1s<br />aws-c-http 230.3kB @ 1.7MB/s 0.1s<br />aws-c-mqtt 221.7kB @ 307.2kB/s 0.1s<br />sqlite 205.4kB @ ??.?MB/s 0.1s<br />perf_ssr 720.0kB @ 247.3kB/s 2.3s<br />prometheus-cpp 199.5kB @ 962.8kB/s 0.1s<br />pyyaml 202.4kB @ 1.6MB/s 0.1s<br />typer 184.4kB @ 1.9MB/s 0.1s<br />aws-c-io 181.6kB @ 1.9MB/s 0.1s<br />aws-c-s3 153.0kB @ 2.2MB/s 0.1s<br />azure-storage-common-cpp 159.1kB @ 1.8MB/s 0.1s<br />expat 148.2kB @ ??.?MB/s 0.0s<br />anyio 146.8kB @ 2.2MB/s 0.1s<br />glog 143.5kB @ 2.6MB/s 0.1s<br />seqtk 141.8kB @ 1.8MB/s 0.1s<br />nlohmann_json 136.2kB @ 2.1MB/s 0.1s<br />aws-c-auth 134.4kB @ 1.5MB/s 0.1s<br />certifi 134.2kB @ 1.8MB/s 0.1s<br />click 105.0kB @ 1.5MB/s 0.1s<br />gflags 119.7kB @ 148.2kB/s 0.1s<br />urllib3 103.6kB @ ??.?MB/s 0.0s<br />aws-checksums 101.6kB @ ??.?MB/s 0.0s<br />fastapi-core 95.5kB @ ??.?MB/s 0.0s<br />libmpdec 92.4kB @ ??.?MB/s 0.0s<br />packaging 91.6kB @ ??.?MB/s 0.0s<br />libutf8proc 86.0kB @ ??.?MB/s 0.0s<br />kiwisolver 77.4kB @ ??.?MB/s 0.0s<br />libexpat 77.3kB @ 885.4kB/s 0.1s<br />pydantic-extra-types 73.9kB @ ??.?MB/s 0.0s<br />markdown-it-py 69.0kB @ ??.?MB/s 0.0s<br />requests 68.7kB @ ??.?MB/s 0.0s<br />rich-click 64.4kB @ ??.?MB/s 0.0s<br />aws-c-event-stream 59.3kB @ ??.?MB/s 0.0s<br />starlette 63.7kB @ ??.?MB/s 0.0s<br />aws-c-sdkutils 59.1kB @ ??.?MB/s 0.0s<br />aws-c-cal 56.9kB @ ??.?MB/s 0.0s<br />idna 56.9kB @ ??.?MB/s 0.0s<br />uvicorn 56.3kB @ ??.?MB/s 0.0s<br />pydantic-settings 52.3kB @ ??.?MB/s 0.0s<br />email-validator 46.8kB @ ??.?MB/s 0.0s<br />libuuid 40.2kB @ ??.?MB/s 0.0s<br />h11 39.1kB @ ??.?MB/s 0.0s<br />python-multipart 37.8kB @ ??.?MB/s 0.0s<br />rich-toolkit 32.9kB @ ??.?MB/s 0.0s<br />upsetplot 28.0kB @ ??.?MB/s 0.0s<br />libstdcxx-ng 27.8kB @ ??.?MB/s 0.0s<br />libgfortran 27.7kB @ ??.?MB/s 0.0s<br />re2 27.5kB @ ??.?MB/s 0.0s<br />markupsafe 27.4kB @ ??.?MB/s 0.0s<br />pyarrow 26.8kB @ ??.?MB/s 0.0s<br />aws-c-compression 22.0kB @ ??.?MB/s 0.0s<br />tomli 21.6kB @ ??.?MB/s 0.0s<br />typing-inspection 20.9kB @ ??.?MB/s 0.0s<br />fastapi-cli 18.9kB @ ??.?MB/s 0.0s<br />libblas 18.8kB @ ??.?MB/s 0.0s<br />httptools 99.0kB @ ??.?MB/s 0.4s<br />liblapack 18.8kB @ ??.?MB/s 0.0s<br />libcblas 18.8kB @ ??.?MB/s 0.0s<br />email_validator 7.1kB @ ??.?MB/s 0.0s<br />backports.zstd 7.5kB @ ??.?MB/s 0.0s<br />python_abi 7.0kB @ ??.?MB/s 0.0s<br />fastapi 4.8kB @ ??.?MB/s 0.0s<br />uvicorn-standard 4.1kB @ ??.?MB/s 0.0s<br />rich-argparse 26.8kB @ ??.?MB/s 0.2s<br />plotly-upset-hd 356.0kB @ 181.5kB/s 1.8s<br />Linking seqkit-2.13.0-he881be0_0<br />Linking bedtools-2.31.1-h13024bc_3<br />Linking seqtk-1.5-h577a1d6_1<br />Linking libuuid-2.42.1-h5347b49_0<br />Linking readline-8.3-h853b02a_0<br />Linking libexpat-2.8.1-hecca717_0<br />Linking nspr-4.38-h29cc59b_0<br />Linking mathjax-2.7.7-ha770c72_3<br />Linking libuv-1.52.1-h280c20c_0<br />Linking yaml-0.2.5-h280c20c_3<br />Linking ld_impl_linux-64-2.45.1-default_hbd61a6d_102<br />Linking libmpdec-4.0.0-hb03c661_1<br />Linking libwebp-base-1.6.0-hd42ef1d_0<br />Linking zlib-ng-2.3.3-hceb46e0_1<br />Linking libstdcxx-ng-15.2.0-hdf11a46_19<br />Linking pthread-stubs-0.4-hb9d3cd8_1002<br />Linking xorg-libxau-1.0.12-hb03c661_1<br />Linking xorg-libxdmcp-1.1.5-hb03c661_1<br />Linking libgfortran5-15.2.0-h68bc16d_19<br />Linking libpng-1.6.58-h421ea60_0<br />Linking libbrotlicommon-1.2.0-hb03c661_1<br />Linking libjpeg-turbo-3.1.4.1-hb03c661_0<br />Linking libdeflate-1.25-h17f619e_0<br />Linking lerc-4.1.0-hdb68285_0<br />Linking libsqlite-3.53.1-h0c1763c_0<br />Linking libffi-3.5.2-h3435931_0<br />Linking tk-8.6.13-noxft_h366c992_103<br />Linking azure-core-cpp-1.16.2-h206d751_0<br />Linking libabseil-20260107.1-cxx17_h7b12aa8_0<br />Linking libutf8proc-2.11.3-hfe17d71_0<br />Linking libopentelemetry-cpp-headers-1.26.0-ha770c72_0<br />Linking zlib-1.3.2-h25fd6f3_2<br />Linking snappy-1.2.2-h03e3b7b_1<br />Linking nlohmann_json-3.12.0-h54a6638_1<br />Linking aws-c-common-0.13.1-hb03c661_0<br />Linking s2n-1.7.3-hc5a330e_0<br />Linking gflags-2.2.2-h5888daf_1005<br />Linking libevent-2.1.12-hf998b51_1<br />Linking expat-2.8.1-hecca717_0<br />Linking libcrc32c-1.1.2-h9c3ff4c_0<br />Linking qhull-2020.2-h434a139_5<br />Linking libxcb-1.17.0-h8a09558_0<br />Linking libgfortran-15.2.0-h69a702a_19<br />Linking libfreetype6-2.14.3-h73754d4_0<br />Linking libbrotlienc-1.2.0-hb03c661_1<br />Linking libbrotlidec-1.2.0-hb03c661_1<br />Linking libtiff-4.7.1-h9d88235_1<br />Linking sqlite-3.53.1-hbc0de68_0<br />Linking nss-3.118-h445c969_0<br />Linking azure-identity-cpp-1.13.3-hed0cdb0_1<br />Linking azure-storage-common-cpp-12.13.0-ha7a2c86_0<br />Linking libprotobuf-6.33.5-h6eeba95_1<br />Linking libre2-11-2025.11.05-h0dc7533_1<br />Linking prometheus-cpp-1.3.0-ha5d0236_0<br />Linking aws-c-compression-0.3.2-h16e98cb_1<br />Linking aws-checksums-0.2.10-h16e98cb_1<br />Linking aws-c-sdkutils-0.2.4-h16e98cb_5<br />Linking aws-c-cal-0.9.14-h8e43964_1<br />Linking glog-0.7.1-hbabe93e_0<br />Linking libthrift-0.22.0-h7d032f7_2<br />Linking libopenblas-0.3.33-pthreads_h94d23a6_0<br />Linking libfreetype-2.14.3-ha770c72_0<br />Linking brotli-bin-1.2.0-hb03c661_1<br />Linking lcms2-2.19.1-h0c24ade_0<br />Linking openjpeg-2.5.4-h55fea9a_0<br />Linking azure-storage-blobs-cpp-12.17.0-hf824e48_1<br />Linking re2-2025.11.05-h5301d42_1<br />Linking aws-c-io-0.26.3-h955231c_3<br />Linking libblas-3.11.0-8_h4a7cf45_openblas<br />Linking fontconfig-2.18.0-h27c8c51_0<br />Linking freetype-2.14.3-ha770c72_0<br />Linking brotli-1.2.0-hed03a55_1<br />Linking azure-storage-files-datalake-cpp-12.15.0-h1e5b466_0<br />Linking libgrpc-1.78.1-h1d1128b_0<br />Linking aws-c-event-stream-0.7.1-h9be7a74_1<br />Linking aws-c-http-0.11.0-hcbcd92d_1<br />Linking libcblas-3.11.0-8_h0358290_openblas<br />Linking liblapack-3.11.0-8_h47877c9_openblas<br />Linking libopentelemetry-cpp-1.26.0-h9692893_0<br />Linking aws-c-auth-0.10.3-h3aafcba_1<br />Linking aws-c-mqtt-0.15.2-h8af55cf_3<br />Linking libgoogle-cloud-3.5.0-h25dbb67_0<br />Linking aws-c-s3-0.12.3-h00bea6e_2<br />Linking libgoogle-cloud-storage-3.5.0-hdbdcf42_0<br />Linking aws-crt-cpp-0.38.3-h7b0d4b4_2<br />Linking aws-sdk-cpp-1.11.747-h5a171d8_5<br />Linking python_abi-3.14-8_cp314<br />Linking font-ttf-dejavu-sans-mono-2.37-hab24e00_0<br />Linking tzdata-2025c-hc9c84f9_1<br />Linking font-ttf-ubuntu-0.83-h77eed37_3<br />Linking font-ttf-inconsolata-3.000-h77eed37_0<br />Linking font-ttf-source-code-pro-2.038-h77eed37_0<br />Linking fonts-conda-forge-1-hc364b38_1<br />Linking orc-2.3.0-h21090e2_0<br />Linking python-3.14.5-habeac84_100_cp314<br />Linking kaleido-core-0.2.1-h3644ca4_0<br />Linking libarrow-24.0.0-h6f10b76_3_cpu<br />Linking libparquet-24.0.0-h7376487_3_cpu<br />Linking libarrow-compute-24.0.0-h53684a4_3_cpu<br />Linking libarrow-acero-24.0.0-h635bf11_3_cpu<br />Linking libarrow-dataset-24.0.0-h635bf11_3_cpu<br />Linking libarrow-substrait-24.0.0-hb4dd7c2_3_cpu<br />Linking pip-26.1.1-pyh145f28c_0<br />Linking tomli-2.4.1-pyhcf101f3_0<br />Linking six-1.17.0-pyhe01879c_1<br />Linking pysocks-1.7.1-pyha55dd90_7<br />Linking hyperframe-6.1.0-pyhd8ed1ab_0<br />Linking hpack-4.1.0-pyhd8ed1ab_0<br />Linking backports.zstd-1.5.0-py314h680f03e_0<br />Linking pyparsing-3.3.2-pyhcf101f3_0<br />Linking cycler-0.12.1-pyhcf101f3_2<br />Linking sniffio-1.3.1-pyhd8ed1ab_2<br />Linking mdurl-0.1.2-pyhd8ed1ab_1<br />Linking narwhals-2.21.2-pyhcf101f3_0<br />Linking packaging-26.2-pyhc364b38_0<br />Linking charset-normalizer-3.4.7-pyhd8ed1ab_0<br />Linking certifi-2026.5.20-pyhd8ed1ab_0<br />Linking idna-3.17-pyhcf101f3_0<br />Linking pygments-2.20.0-pyhd8ed1ab_0<br />Linking shellingham-1.5.4-pyhd8ed1ab_2<br />Linking annotated-doc-0.0.4-pyhcf101f3_0<br />Linking colorama-0.4.6-pyhd8ed1ab_1<br />Linking typing_extensions-4.15.0-pyhcf101f3_0<br />Linking click-8.4.1-pyhc90fa1f_0<br />Linking tqdm-4.67.3-pyh8f84b5b_0<br />Linking python-kaleido-0.2.1-pyhd8ed1ab_0<br />Linking python-multipart-0.0.29-pyhcf101f3_0<br />Linking python-dotenv-1.2.2-pyhcf101f3_0<br />Linking argcomplete-3.6.3-pyhd8ed1ab_0<br />Linking python-dateutil-2.9.0.post0-pyhe01879c_2<br />Linking h2-4.3.0-pyhcf101f3_0<br />Linking dnspython-2.8.0-pyhcf101f3_0<br />Linking markdown-it-py-4.2.0-pyhd8ed1ab_0<br />Linking plotly-6.6.0-pyhd8ed1ab_0<br />Linking exceptiongroup-1.3.1-pyhd8ed1ab_0<br />Linking typing-inspection-0.4.2-pyhcf101f3_2<br />Linking typing-extensions-4.15.0-h396c80c_0<br />Linking h11-0.16.0-pyhcf101f3_1<br />Linking email-validator-2.3.0-pyhd8ed1ab_0<br />Linking rich-15.0.0-pyhcf101f3_0<br />Linking anyio-4.13.0-pyhcf101f3_0<br />Linking annotated-types-0.7.0-pyhd8ed1ab_1<br />Linking uvicorn-0.48.0-pyhc90fa1f_0<br />Linking email_validator-2.3.0-hd8ed1ab_0<br />Linking rich-toolkit-0.19.10-pyhcf101f3_0<br />Linking typer-0.26.3-pyhcf101f3_0<br />Linking rich-click-1.9.8-pyh8f84b5b_0<br />Linking rich-argparse-1.8.0-pyhd8ed1ab_0<br />Linking httpcore-1.0.9-pyh29332c3_0<br />Linking starlette-1.1.0-pyhcf101f3_0<br />Linking httpx-0.28.1-pyhd8ed1ab_0<br />Linking pyarrow-core-24.0.0-py314h969be7f_0_cpu<br />Linking unicodedata2-17.0.1-py314h5bd0f2a_0<br />Linking brotli-python-1.2.0-py314h3de4e8d_1<br />Linking pillow-12.2.0-py314h8ec4b1a_0<br />Linking kiwisolver-1.5.0-py314h97ea11e_0<br />Linking fastar-0.11.0-py314h0b738fb_0<br />Linking markupsafe-3.0.3-py314h67df5f8_1<br />Linking websockets-16.0-py314h0f05182_1<br />Linking uvloop-0.22.1-py314h5bd0f2a_1<br />Linking pyyaml-6.0.3-py314h67df5f8_1<br />Linking httptools-0.7.1-py314h5bd0f2a_1<br />Linking numpy-2.4.6-py314h2b28147_0<br />Linking pydantic-core-2.46.4-py314h2e6c369_0<br />Linking watchfiles-1.2.0-py314ha5689aa_0<br />Linking pyarrow-24.0.0-py314hdafbbf9_0<br />Linking contourpy-1.3.3-py314h97ea11e_4<br />Linking biopython-1.87-py314h5bd0f2a_0<br />Linking pandas-3.0.3-py314hb4ffadd_0<br />Linking munkres-1.0.7-py_1<br />Linking urllib3-2.7.0-pyhd8ed1ab_0<br />Linking jinja2-3.1.6-pyhcf101f3_1<br />Linking pydantic-2.13.4-pyhcf101f3_0<br />Linking uvicorn-standard-0.48.0-he364bde_0<br />Linking fonttools-4.63.0-pyh7db6752_0<br />Linking requests-2.34.2-pyhcf101f3_0<br />Linking pydantic-settings-2.14.1-pyhcf101f3_0<br />Linking pydantic-extra-types-2.11.2-pyhcf101f3_0<br />Linking fastapi-core-0.136.3-pyhcf101f3_0<br />Linking fastapi-cli-0.0.23-pyhcf101f3_0<br />Linking fastapi-0.136.3-h5ddb490_0<br />Linking plotly-upset-hd-0.0.2-py_0<br />Linking matplotlib-base-3.10.9-py314h1194b4b_0<br />Linking upsetplot-0.9.0-pyhd8ed1ab_1<br />Linking perf_ssr-0.4.8-py_0<br />Linking crossroad-0.3.6-pyh7e60211_0</p><p>Transaction finished</p><p><strong>(jitENV) hp@hp-HP-Z2-Tower-G9-Workstation-Desktop-PC:~/jitendraTEST$ crossroad -h</strong><br /> <br /> Usage: crossroad [OPTIONS] <br /> <br /> Run the main croSSRoad analysis pipeline, or manage jobs. <br /> <br />╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br />│ --version -v Show version, logo, citation, and links. │<br />│ --install-completion Install completion for the current shell. │<br />│ --show-completion Show completion for the current shell, to copy it or customize the installation. │<br />│ --help -h Show this message and exit. │<br />╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br />╭─ Mode Selection ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br />│ --api -a Run the Crossroad web API server. │<br />│ --slurm -s Submit the analysis job to a Slurm cluster. │<br />│ --job-status JOB_ID Query the status of a specific job ID. │<br />╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br />╭─ Input Files (provide --input-dir OR --fasta) ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br />│ --input-dir -i PATH Directory containing: `all_genome.fa`, ``, ``. Exclusive with `--fasta`. │<br />│ --fasta -fa PATH Input FASTA file (e.g., `all_genome.fa`). Alternative to `--input-dir`. │<br />│ --categories -c PATH Genome categories TSV file. Optional if using `--fasta`. Ignored if `--input-dir` is used (looks for `genome_categories.tsv` inside). │<br />│ --gene-bed -b PATH Gene BED file for SSR-gene analysis. Optional. If `--input-dir` is used, looks for `gene.bed` inside. │<br />╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br />╭─ Analysis Parameters ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br />│ --reference-id -ref TEXT Reference genome ID for comparative analysis. Optional parameter for reference-based comparisons. │<br />│ --output-dir -o DIRECTORY Base output directory for jobs. Overrides CROSSROAD_JOB_DIR env var. │<br />│ --flanks -f Process flanking regions. │<br />╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br />╭─ PERF SSR Detection Parameters ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br />│ --mono INTEGER Mononucleotide repeat threshold. [default: 12] │<br />│ --di INTEGER Dinucleotide repeat threshold. [default: 6] │<br />│ --tri INTEGER Trinucleotide repeat threshold. [default: 4] │<br />│ --tetra INTEGER Tetranucleotide repeat threshold. [default: 3] │<br />│ --penta INTEGER Pentanucleotide repeat threshold. [default: 3] │<br />│ --hexa INTEGER Hexanucleotide repeat threshold. [default: 2] │<br />╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br />╭─ Filtering Parameters ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br />│ --min-len -l INTEGER Minimum genome length for filtering. [default: 1000] │<br />│ --max-len -L INTEGER Maximum genome length for filtering. [default: 10000000] │<br />│ --unfair -u INTEGER Maximum number of N's allowed per genome for Crossroad analysis. [default: 0] │<br />│ --repeat-threshold -rc INTEGER Repeat count Threshold for hotspot filtering (keeps records &gt; this value). [default: 1] │<br />│ --genome-threshold -g INTEGER Genome count Threshold for hotspot filtering (keeps records &gt; this value). [default: 2] │<br />╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯<br />╭─ Performance &amp; Output ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮<br />│ --threads -t INTEGER Number of threads for Crossroad analysis. [default: 50] │<br />│ --plots -p Enable plot generation. │<br />│ --intrim-dir TEXT Name for the intermediate files directory (within the main job output dir). [default: intrim] │<br />╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</p><p>(jitENV) hp@hp-HP-Z2-Tower-G9-Workstation-Desktop-PC:~/jitendraTEST$</p><p>&nbsp;</p>]]></description>
	<dc:creator>ComBioX</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/35148/mojolicious-a-next-generation-web-framework-for-the-perl-programming-language</guid>
	<pubDate>Fri, 12 Jan 2018 16:48:10 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/35148/mojolicious-a-next-generation-web-framework-for-the-perl-programming-language</link>
	<title><![CDATA[mojolicious: a next generation web framework for the Perl programming language.]]></title>
	<description><![CDATA[<p><span>Back in the early days of the web, many people learned Perl because of a wonderful Perl library called&nbsp;</span><a href="https://metacpan.org/module/CGI" target="_blank">CGI</a><span>. It was simple enough to get started without knowing much about the language and powerful enough to keep you going, learning by doing was much fun. While most of the techniques used are outdated now, the idea behind it is not. Mojolicious is a new endeavor to implement this idea using bleeding edge technologies.</span></p>
<h2>Features</h2>
<ul>
<li>An amazing&nbsp;<strong>real-time web framework</strong>, allowing you to easily grow single file prototypes into well-structured MVC web applications.
<ul>
<li>Powerful out of the box with RESTful routes, plugins, commands, Perl-ish templates, content negotiation, session management, form validation, testing framework, static file server, CGI/<a href="http://plackperl.org/" target="_blank">PSGI</a>&nbsp;detection, first class Unicode support and much more for you to discover.</li>
</ul>
</li>
<li>A powerful&nbsp;<strong>web development toolkit</strong>, that you can use for all kinds of applications, independently of the web framework.
<ul>
<li>Full stack HTTP and WebSocket client/server implementation with IPv6, TLS, SNI, IDNA, HTTP/SOCKS5 proxy, UNIX domain socket, Comet (long polling), Promises/A+, keep-alive, connection pooling, timeout, cookie, multipart and gzip compression support.</li>
<li>Built-in non-blocking I/O web server, supporting multiple event loops as well as optional pre-forking and hot deployment, perfect for building highly scalable web services.</li>
<li>JSON and HTML/XML parser with CSS selector support.</li>
</ul>
</li>
<li>Very clean, portable and object-oriented pure-Perl API with no hidden magic and no requirements besides Perl 5.24.0 (versions as old as 5.10.1 can be used too, but may require additional CPAN modules to be installed)</li>
<li>Fresh code based upon years of experience developing&nbsp;<a href="http://catalystframework.org/" target="_blank">Catalyst</a>, free and open source.</li>
<li>Hundreds of 3rd party&nbsp;<a href="https://metacpan.org/requires/distribution/Mojolicious">extensions</a>&nbsp;and high quality spin-off projects like the&nbsp;<a href="https://metacpan.org/pod/Minion">Minion</a>&nbsp;job queue.</li>
</ul>
<p>http://mojolicious.org/</p><p>Address of the bookmark: <a href="http://mojolicious.org/" rel="nofollow">http://mojolicious.org/</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/38472/gpsrdocker-docker-based-container-that-contain-all-softwareweb-servers-developed-in-the-field-of-bioinformatics</guid>
	<pubDate>Sun, 16 Dec 2018 13:04:46 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/38472/gpsrdocker-docker-based-container-that-contain-all-softwareweb-servers-developed-in-the-field-of-bioinformatics</link>
	<title><![CDATA[gpsrdocker: docker-based container that contain all software/web servers developed in the field of bioinformatics.]]></title>
	<description><![CDATA[<p><span>GPSRdocker (</span><a href="http://webs.iiitd.edu.in/gpsrdocker/">http://webs.iiitd.edu.in/gpsrdocker/</a><span>) is&nbsp; Presently it contain software developed at G. P. S. Raghava's group (</span><a href="http://webs.iiitd.edu.in/raghava/">http://webs.iiitd.edu.in/raghava/</a><span>&nbsp;). </span></p>
<p><span>The programs and the package are free software for academic users. Permission to use, copy, and modify any part of this software for educational, research and non-profit purposes is hereby granted. In this package or Docker image, number of other supported software has been integrated which may be under other licenses, along with any direct or indirect dependencies of the primary software being contained. As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within. </span></p>
<p><span>All software packages are distributed in the hope that they will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. If you have any query, please contact at raghava@iiitd.ac.in.</span></p><p>Address of the bookmark: <a href="https://hub.docker.com/r/raghavagps/gpsrdocker/" rel="nofollow">https://hub.docker.com/r/raghavagps/gpsrdocker/</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/40235/bioinformatics-web-development-course</guid>
	<pubDate>Wed, 06 Nov 2019 20:42:48 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/40235/bioinformatics-web-development-course</link>
	<title><![CDATA[Bioinformatics web development course]]></title>
	<description><![CDATA[<p>This web development course, targeted at Biology and Bioinformatics students, aims at teaching from scratch all the skills needed to setup a fully working Linux web server and to develop and deploy web applications for Bioinformatics.</p>
<p>No previous programming knowledge is assumed. By following this tutorial you will learn the fundamental concepts of programming by using scripting languages: variables, types, arrays, cycles, conditional statements, functions, objects, regular expressions, files reading and manipulation et-cetera.</p><p>Address of the bookmark: <a href="http://www.cellbiol.com/bioinformatics_web_development/introduction/" rel="nofollow">http://www.cellbiol.com/bioinformatics_web_development/introduction/</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/news/view/42370/ncbi-blast-have-added-new-columns-to-the-descriptions</guid>
	<pubDate>Tue, 01 Dec 2020 09:56:07 -0600</pubDate>
	<link>https://bioinformaticsonline.com/news/view/42370/ncbi-blast-have-added-new-columns-to-the-descriptions</link>
	<title><![CDATA[NCBI BLAST have added new columns to the Descriptions]]></title>
	<description><![CDATA[<p><span>NCBI BLAST have added new columns to the Descriptions Table for web BLAST output. The new columns are&nbsp; Scientific Name, Common Name, Taxid, and Accession Length. Common Name and Accession Length are now part of the default display. You can click 'Select columns' or 'Manage columns' to add or remove columns from the display Your preferences will be saved for your next visit to BLAST, and when you download your results, whatever columns you have displayed will be saved. See the NCBI Insights post (</span><a href="https://go.usa.gov/x7fPE" target="_blank">https://go.usa.gov/x7fPE</a><span>) for more details.</span></p>]]></description>
	<dc:creator>Neel</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/34812/building-web-uis-with-mojolicious-perl</guid>
	<pubDate>Tue, 26 Dec 2017 18:06:57 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/34812/building-web-uis-with-mojolicious-perl</link>
	<title><![CDATA[Building Web UIs With Mojolicious Perl]]></title>
	<description><![CDATA[<p>Mojolicious is one of 3 leading web frameworks available in the perl ecosystem (along with Dancer and Catalyst) and by far my favorite.</p>
<p>Mojolicious aims to provide a complete web development experience. It thus has no hard dependencies, comes with a built-in development and production server and many other features one needs to build a web application. It's easy to install, has an applciation generator script and many plugins and extensions.</p>
<p><em>Libraries for developing Web applications</em></p>
<ul>
<li><a href="https://metacpan.org/pod/Amon2">Amon2</a></li>
<li><a href="https://metacpan.org/pod/Catalyst">Catalyst</a>&nbsp;- Overflowing with features. Very popular.</li>
<li><a href="https://metacpan.org/pod/Dancer">Dancer</a>&nbsp;(<a href="http://perldancer.org/">Official site</a>)</li>
<li><a href="https://metacpan.org/pod/Dancer2">Dancer2</a></li>
<li><a href="https://metacpan.org/pod/Gantry">Gantry</a>&nbsp;- Web application framework for mod_perl, cgi, etc.</li>
<li><a href="https://metacpan.org/pod/Kossy">Kossy</a>&nbsp;- A Web framework with simple interface.</li>
<li><a href="https://metacpan.org/pod/Mojolicious">Mojolicious</a>&nbsp;- An all in one framework.</li>
<li><a href="https://metacpan.org/pod/Poet">Poet</a>&nbsp;- a modern Perl web framework for Mason developers</li>
</ul><p>Address of the bookmark: <a href="https://www.ynonperek.com/2017/09/28/perl-mojolicious-web-development/" rel="nofollow">https://www.ynonperek.com/2017/09/28/perl-mojolicious-web-development/</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/39450/apollo-first-instantaneous-collaborative-genomic-annotation-editor-available-on-the-web</guid>
	<pubDate>Fri, 31 May 2019 19:55:39 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/39450/apollo-first-instantaneous-collaborative-genomic-annotation-editor-available-on-the-web</link>
	<title><![CDATA[Apollo: First instantaneous, collaborative genomic annotation editor available on the Web]]></title>
	<description><![CDATA[<ul>
<li>Apollo is a plug-in for the&nbsp;<a href="http://jbrowse.org/">JBrowse</a>&nbsp;Genome Viewer.</li>
<li>In addition to genes and pseudogenes, users can annotate ncRNAs (snRNA, snoRNA, tRNA, rRNA), miRNAs, repeat regions, and transposable elements; each annotation type has its own configuration of the &lsquo;Information Editor&rsquo;.</li>
<li>History tracking with undo/redo functions is available.</li>
<li>Users are able to directly set an annotation to a specific state, choosing from the &lsquo;History&rsquo; display.</li>
<li>Adding and updating PubMed IDs will prompt users with a publication title to confirm their submission.</li>
<li>Gene Ontology (GO) terms are supported and GO ID auto-completion has been incorporated.</li>
<li>Users may access a &lsquo;Recent Changes&rsquo; page.</li>
<li>Help page with Apollo specific content is available.</li>
</ul><p>Address of the bookmark: <a href="http://genomearchitect.github.io/" rel="nofollow">http://genomearchitect.github.io/</a></p>]]></description>
	<dc:creator>Jit</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>

</channel>
</rss>