<?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/43859?offset=540</link>
	<atom:link href="https://bioinformaticsonline.com/related/43859?offset=540" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/45306/the-genes-that-travel-together-a-genomic-detective-story</guid>
	<pubDate>Fri, 11 Sep 2026 13:00:36 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/45306/the-genes-that-travel-together-a-genomic-detective-story</link>
	<title><![CDATA[The Genes That Travel Together: A Genomic Detective Story]]></title>
	<description><![CDATA[<p>Imagine looking through thousands of microbial genomes and discovering two genes that repeatedly appear together. The obvious conclusion is that they must somehow be connected&mdash;that perhaps they work together, participate in the same pathway, or depend on each other. But evolution has a way of leaving misleading clues. What if these two genes are found together simply because they were inherited from the same ancient ancestor? In that case, their apparent association may have little to do with their biological function; it may simply be a reflection of shared evolutionary history. This is the intriguing problem addressed by CORGIAS (https://github.com/ynishimuraLv/corgias), a computational framework developed to distinguish genuine gene associations from correlations created by common ancestry.</p><p>Instead of asking only whether two genes occur together across genomes, CORGIAS asks a deeper question: did these genes actually evolve together, repeatedly gaining or losing their presence in concert, or are they merely travelling together because of their inherited history? The framework introduces two complementary approaches, Ancestral State Adjustment (ASA) and the Simultaneous EVolution test (SEV), which incorporate evolutionary information into the search for gene associations. This distinction becomes increasingly important as genome sequencing continues to uncover enormous numbers of microbial genomes, many from organisms that have never been cultured and whose genes remain functionally mysterious. In this growing genomic landscape, simply finding a gene is no longer enough&mdash;we need clues about what that gene might be doing. CORGIAS approaches this problem almost like a genomic detective: rather than treating every association as evidence, it reconstructs the evolutionary story behind the association and asks whether the evidence survives that history. By doing so, it offers a way to separate coincidence from biological connection and potentially uncover functional relationships hidden within the vast microbial genomic landscape. The broader message is beautifully simple: genes do not evolve in isolation, and understanding what they do may require us to look beyond where they are today and reconstruct how they arrived there. Sometimes, the most important clue in a genome is not the gene itself, but the evolutionary journey it has taken.</p><p>More at&nbsp;https://academic.oup.com/nargab/article/7/4/lqaf182/8377910?</p>]]></description>
	<dc:creator>BioStar</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/39884/retrieving-taxonomic-information-with-r</guid>
	<pubDate>Thu, 29 Aug 2019 01:38:39 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/39884/retrieving-taxonomic-information-with-r</link>
	<title><![CDATA[Retrieving Taxonomic Information with R]]></title>
	<description><![CDATA[<p>This vignette will introduce users to the retrieval of taxonomic information with&nbsp;<code>myTAI</code>. The&nbsp;<code>taxonomy()</code>&nbsp;function implemented in&nbsp;<code>myTAI</code>&nbsp;relies on the powerful package&nbsp;<a href="https://github.com/ropensci/taxize">taxize</a>. Nevertheless, taxonomic information retrieval has been customized for the&nbsp;<code>myTAI</code>&nbsp;standard and for organism specific information retrieval.</p>
<p>Specifically, the&nbsp;<code>taxonomy()</code>&nbsp;function implemented in&nbsp;<code>myTAI</code>&nbsp;can be used to classify genomes according to phylogenetic classification into Phylostrata (Phylostratigraphy) or to retrieve species specific taxonomic information when performing Divergence Stratigraphy (see&nbsp;<a href="https://cran.r-project.org/web/packages/myTAI/vignettes/Introduction.html">Introduction</a>&nbsp;for details).</p><p>Address of the bookmark: <a href="https://cran.r-project.org/web/packages/myTAI/vignettes/Taxonomy.html" rel="nofollow">https://cran.r-project.org/web/packages/myTAI/vignettes/Taxonomy.html</a></p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/20471/bioinformatics-scripts</guid>
	<pubDate>Thu, 22 Jan 2015 22:29:39 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/20471/bioinformatics-scripts</link>
	<title><![CDATA[Bioinformatics Scripts]]></title>
	<description><![CDATA[<p>Some of the useful bioinformatics scripts.</p>
<p>For example ... contig-stats.pl is a Perl script that will automatically describe features of a sequence assembly.</p>
<p>http://milkweedgenome.org/?q=scripts</p><p>Address of the bookmark: <a href="http://milkweedgenome.org/?q=scripts" rel="nofollow">http://milkweedgenome.org/?q=scripts</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/22569/reverse-complement-problem-solved-with-perl</guid>
	<pubDate>Tue, 09 Jun 2015 23:37:23 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/22569/reverse-complement-problem-solved-with-perl</link>
	<title><![CDATA[Reverse Complement Problem Solved with Perl]]></title>
	<description><![CDATA[<p>Question at http://rosalind.info/problems/1b/</p><p>#Find the reverse complement of a DNA string.<br />#Given: A DNA string Pattern.<br />#Return: Pattern, the reverse complement of Pattern.<br /><br />use strict;<br />use warnings;<br /><br />my $string="AAAACCCGGT";<br />my $finalString="";<br />my %hash = (<br />&nbsp;&nbsp; &nbsp;"C" =&gt; "G", <br />&nbsp;&nbsp; &nbsp;"A" =&gt; "T", <br />&nbsp;&nbsp; &nbsp;"T" =&gt; "A", <br />&nbsp;&nbsp; &nbsp;"G" =&gt; "C",<br />);<br /><br />for (my $aa=0; $aa&lt;=(length($string)-1); $aa++) {<br />&nbsp;&nbsp; &nbsp;my $char=substr $string, $aa, 1;<br />&nbsp;&nbsp; &nbsp;#print $hash{$char};<br />&nbsp;&nbsp; &nbsp;$finalString="$hash{$char}"."$finalString";<br />}<br /><br />print $finalString;<br />print "\n";</p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/22572/clump-finding-problem-solved-with-perl</guid>
	<pubDate>Wed, 10 Jun 2015 00:17:17 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/22572/clump-finding-problem-solved-with-perl</link>
	<title><![CDATA[Clump Finding Problem Solved with Perl]]></title>
	<description><![CDATA[<p>The question at http://rosalind.info/problems/1d/</p><p>Script are moved to&nbsp;http://bioinformaticsonline.com/snippets/view/34633/clump-finding-problem-solved-with-perl</p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/30336/finding-patterns-in-biological-sequences</guid>
	<pubDate>Thu, 22 Dec 2016 10:30:49 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/30336/finding-patterns-in-biological-sequences</link>
	<title><![CDATA[Finding Patterns in Biological Sequences]]></title>
	<description><![CDATA[<p>In this report we provide an overview of known techniques for discovery of patterns of biological sequences (DNA and proteins). We also provide biological motivation, and methods of biological verification of such patterns. Finally we list publicly available tools and databases for pattern discovery. On-line supplement is available through http://genetics.uwaterloo.ca/&sim;tvinar/cs798g/motif.</p><p>Address of the bookmark: <a href="http://engr.case.edu/li_jing/papers/00798gpattern.pdf" rel="nofollow">http://engr.case.edu/li_jing/papers/00798gpattern.pdf</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/34504/minion-gc-an-r-script-to-do-some-qc-on-minion-data</guid>
	<pubDate>Sun, 03 Dec 2017 15:19:18 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/34504/minion-gc-an-r-script-to-do-some-qc-on-minion-data</link>
	<title><![CDATA[MinION_GC: An R script to do some QC on MinION data]]></title>
	<description><![CDATA[<p><span>Other tools focus on getting data out of the fastq or fast5 files, which is slow and computationally intensive. The benefit of this approach is that it works on a single, small, .txt summary file. So it's a lot quicker than most other things out there: it takes about a minute to analyse a 4GB flowcell on my laptop.</span></p>
<p>https://github.com/roblanf/minion_qc</p><p>Address of the bookmark: <a href="https://github.com/roblanf/minion_qc" rel="nofollow">https://github.com/roblanf/minion_qc</a></p>]]></description>
	<dc:creator>Radha Agarkar</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/42003/perl-one-liner-for-beginners</guid>
	<pubDate>Fri, 24 Jul 2020 05:58:28 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/42003/perl-one-liner-for-beginners</link>
	<title><![CDATA[Perl one-liner for beginners !]]></title>
	<description><![CDATA[<p>I often use the following arguments to perl:</p><ul>
<li>-e Makes the line of code be executed instead of a script</li>
<li>-n Forces your line to be called in a loop. Allows you to take lines from the diamond operator (or stdin)</li>
<li>-p Forces your line to be called in a loop. Prints $_ at the end</li>
</ul><p>&nbsp;</p><ul>
<li>This counts the number of quotation marks in each line and prints it
<div>
<blockquote>
<div>perl -ne&nbsp;'$cnt = tr/"//;print "$cnt\n"'&nbsp;inputFileName.txt</div>
</blockquote>
</div>
</li>
</ul><ul>
<li>Adds string to each line, followed by tab
<div>
<blockquote>
<div>perl -pe&nbsp;'s/(.*)/string\t$1/'&nbsp;inFile &gt; outFile</div>
</blockquote>
</div>
</li>
</ul><ul>
<li>Append a new line to each line
<div>
<blockquote>
<div>perl -pe&nbsp;'s//\n/'&nbsp;all.sent.classOnly &gt; all.sent.classOnly.sep</div>
</blockquote>
</div>
</li>
</ul><ul>
<li>Replace all occurrences of pattern1 (e.g. [0-9]) with pattern2
<div>
<blockquote>
<div>perl -p -i.bak -w -e&nbsp;'s/pattern1/pattern2/g'&nbsp;inputFile</div>
</blockquote>
</div>
</li>
</ul><ul>
<li>Go through file and only print words that do not have any uppercase letters.
<div>
<blockquote>
<div>perl -ne&nbsp;'print unless m/[A-Z]/'&nbsp;allWords.txt &gt; allWordsOnlyLowercase.txt</div>
</blockquote>
</div>
</li>
</ul><ul>
<li>Go through file, split line at each space and print words one per line.
<div>
<blockquote>
<div>perl -ne&nbsp;'print join("\n", split(/ /,$_));print("\n")'&nbsp;someText.txt &gt; wordsPerLine.txt</div>
</blockquote>
</div>
</li>
</ul><ul>
<li>or in other words, delete every character that is not a letter, white space or line end (replace with nothing)
<div>
<blockquote>
<div>perl -pne&nbsp;'s/[^a-zA-Z\s]*//g'&nbsp;text_withSpecial.txt &gt; text_lettersOnly.txt</div>
</blockquote>
</div>
</li>
</ul><ul>
<li>
<div>
<div>perl -pne&nbsp;'tr/[A-Z]/[a-z]/'&nbsp;textWithUpperCase.txt &gt; textwithoutuppercase.txt;</div>
</div>
</li>
</ul><ul>
<li>Print only the second column of the data when using tabular as a separator
<div>
<blockquote>
<div>perl -ne&nbsp;'@F = split("\t", $_); print "$F[1]";'&nbsp;columnFileWithTabs.txt &gt; justSecondColumn.txt</div>
</blockquote>
</div>
</li>
</ul><ul>
<li>
<div>One-Liner: Sort lines by their length
<blockquote>
<div>perl -e&nbsp;'print sort {length $a &lt;=&gt; length $b} &lt;&gt;'&nbsp;textFile</div>
</blockquote>
</div>
</li>
</ul><ul>
<li>One-Liner: Print second column, unless it contains a number
<blockquote>
<div>perl"&gt;perl -lane&nbsp;'print $F[1] unless $F[1] =~ m/[0-9]/'&nbsp;wordCounts.txt</div>
</blockquote>
</li>
</ul>]]></description>
	<dc:creator>BioStar</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/43022/a-simple-tutorial-for-a-complex-complexheatmap</guid>
	<pubDate>Fri, 02 Apr 2021 06:18:32 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/43022/a-simple-tutorial-for-a-complex-complexheatmap</link>
	<title><![CDATA[A simple tutorial for a complex ComplexHeatmap]]></title>
	<description><![CDATA[<p><em>ComplexHeatmap</em>&nbsp;(Gu, Eils, and Schlesner (2016)) is an R Programming Language (R Core Team (2020)) package that is currently listed in the&nbsp;<a href="https://bioconductor.org/">Bioconductor</a>&nbsp;package repository.</p>
<p><a href="https://github.com/kevinblighe/E-MTAB-6141#2-install-and-load-required-packages">install and load required packages</a></p>
<div>
<pre>  require(<span>RColorBrewer</span>)
  require(<span>ComplexHeatmap</span>)
  require(<span>circlize</span>)
  require(<span>digest</span>)
  require(<span>cluster</span>)</pre>
</div>
<p>If all load successfully, proceed to&nbsp;<span>Part 3</span>. Otherwise, go through the following code chunks in order to ensure that each package is installed and loaded properly.</p>
<p><em>BiocManager</em>&nbsp;(Morgan (2019))</p><p>Address of the bookmark: <a href="https://github.com/kevinblighe/E-MTAB-6141" rel="nofollow">https://github.com/kevinblighe/E-MTAB-6141</a></p>]]></description>
	<dc:creator>Neel</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/40460/sviper-swipe-your-structural-variants-called-on-long-ontpacbio-reads-with-short-exact-illumina-reads</guid>
	<pubDate>Sun, 22 Dec 2019 03:48:28 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/40460/sviper-swipe-your-structural-variants-called-on-long-ontpacbio-reads-with-short-exact-illumina-reads</link>
	<title><![CDATA[SViper: Swipe your Structural Variants called on long (ONT/PacBio) reads with short exact (Illumina) reads.]]></title>
	<description><![CDATA[<p>Call sviper</p>
<pre><code>~$ ./sviper -s short-reads.bam -l long-reads.bam -r ref.fa -c variants.vcf -o polished_variants
</code></pre>
<p>This will output a&nbsp;<code>polished_variants.vcf</code>&nbsp;file, that contains all the refined variants.</p>
<p>Sometimes it is helpful to look at the polished sequence, e.g. with the IGV browser. In that case you want SViper to output the polished and aligned sequences in a bam file via the option&nbsp;<code>--output-polished-bam</code>:</p>
<pre><code>~$ ./sviper -s short-reads.bam -l long-reads.bam -r ref.fa -c variants.vcf -o polished_variants --output-</code>polished-bam</pre><p>Address of the bookmark: <a href="https://github.com/smehringer/SViper" rel="nofollow">https://github.com/smehringer/SViper</a></p>]]></description>
	<dc:creator>Neel</dc:creator>
</item>

</channel>
</rss>