<?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/21703?offset=40</link>
	<atom:link href="https://bioinformaticsonline.com/related/21703?offset=40" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/30696/many-core-engine-mce-for-perl-example</guid>
	<pubDate>Tue, 31 Jan 2017 05:37:50 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/30696/many-core-engine-mce-for-perl-example</link>
	<title><![CDATA[Many-Core Engine (MCE) for Perl example]]></title>
	<description><![CDATA[<p><span>MCE spawns a pool of workers and therefore does not fork a new process per each element of data. Instead, MCE follows a bank queuing model. Imagine the line being the data and bank-tellers the parallel workers. MCE enhances that model by adding the ability to chunk the next n elements from the input stream to the next available worker.</span></p>
<p>CORE MODULES</p>
<p>Three modules make up the core engine for MCE.</p>
<dl><dt id="MCE::Core"><a href="https://metacpan.org/pod/MCE#MCE::Core"><span></span></a><a></a><a href="https://metacpan.org/pod/distribution/MCE/lib/MCE/Core.pod">MCE::Core</a></dt><dd>
<p>Provides the Core API for Many-Core Engine. The various MCE options are described here.</p>
</dd><dt id="MCE::Signal"><a href="https://metacpan.org/pod/MCE#MCE::Signal"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Signal">MCE::Signal</a></dt><dd>
<p>Temporary directory creation, cleanup, and signal handling.</p>
</dd><dt id="MCE::Util"><a href="https://metacpan.org/pod/MCE#MCE::Util"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Util">MCE::Util</a></dt><dd>
<p>Utility functions for Many-Core Engine.</p>
</dd></dl>
<p><a href="https://metacpan.org/pod/MCE#MCE-EXTRAS"><span></span></a><a></a>MCE EXTRAS</p>
<p>There are 4 add-on modules for use with MCE.</p>
<dl><dt id="MCE::Candy"><a href="https://metacpan.org/pod/MCE#MCE::Candy"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Candy">MCE::Candy</a></dt><dd>
<p>Provides a collection of sugar methods and output iterators for preserving output order.</p>
</dd><dt id="MCE::Mutex"><a href="https://metacpan.org/pod/MCE#MCE::Mutex"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Mutex">MCE::Mutex</a></dt><dd>
<p>Provides a simple semaphore implementation supporting threads and processes.</p>
</dd><dt id="MCE::Queue"><a href="https://metacpan.org/pod/MCE#MCE::Queue"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Queue">MCE::Queue</a></dt><dd>
<p>Provides a hybrid queuing implementation for MCE supporting normal queues and priority queues from a single module. MCE::Queue exchanges data via the core engine to enable queuing to work for both children (spawned from fork) and threads.</p>
</dd><dt id="MCE::Relay"><a href="https://metacpan.org/pod/MCE#MCE::Relay"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Relay">MCE::Relay</a></dt><dd>
<p>Enables workers to receive and pass on information orderly with zero involvement by the manager process while running.</p>
</dd></dl>
<p><a href="https://metacpan.org/pod/MCE#MCE-MODELS"><span></span></a><a></a>MCE MODELS</p>
<p>The models take Many-Core Engine to a new level for ease of use. Two options (chunk_size and max_workers) are configured automatically as well as spawning and shutdown.</p>
<dl><dt id="MCE::Loop"><a href="https://metacpan.org/pod/MCE#MCE::Loop"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Loop">MCE::Loop</a></dt><dd>
<p>Provides a parallel loop utilizing MCE for building creative loops.</p>
</dd><dt id="MCE::Flow"><a href="https://metacpan.org/pod/MCE#MCE::Flow"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Flow">MCE::Flow</a></dt><dd>
<p>A parallel flow model for building creative applications. This makes use of user_tasks in MCE. The author has full control when utilizing this model. MCE::Flow is similar to MCE::Loop, but allows for multiple code blocks to run in parallel with a slight change to syntax.</p>
</dd><dt id="MCE::Grep"><a href="https://metacpan.org/pod/MCE#MCE::Grep"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Grep">MCE::Grep</a></dt><dd>
<p>Provides a parallel grep implementation similar to the native grep function.</p>
</dd><dt id="MCE::Map"><a href="https://metacpan.org/pod/MCE#MCE::Map"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Map">MCE::Map</a></dt><dd>
<p>Provides a parallel map model similar to the native map function.</p>
</dd><dt id="MCE::Step"><a href="https://metacpan.org/pod/MCE#MCE::Step"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Step">MCE::Step</a></dt><dd>
<p>Provides a parallel step implementation utilizing MCE::Queue between user tasks. MCE::Step is a spin off from MCE::Flow with a touch of MCE::Stream. This model, introduced in 1.506, allows one to pass data from one sub-task into the next transparently.</p>
</dd><dt id="MCE::Stream"><a href="https://metacpan.org/pod/MCE#MCE::Stream"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Stream">MCE::Stream</a></dt><dd>
<p>Provides an efficient parallel implementation for chaining multiple maps and greps together through user_tasks and MCE::Queue. Like with MCE::Flow, MCE::Stream can run multiple code blocks in parallel with a slight change to syntax from MCE::Map and MCE::Grep.</p>
</dd></dl>
<p><a href="https://metacpan.org/pod/MCE#MISCELLANEOUS"><span></span></a>MISCELLANEOUS</p>
<p>Miscellaneous additions included with the distribution.</p>
<dl><dt id="MCE::Examples"><a href="https://metacpan.org/pod/MCE#MCE::Examples"><span></span></a><a></a><a href="https://metacpan.org/pod/distribution/MCE/lib/MCE/Examples.pod">MCE::Examples</a></dt><dd>
<p>Describes various demonstrations for MCE including a Monte Carlo simulation.</p>
</dd><dt id="MCE::Subs"><a href="https://metacpan.org/pod/MCE#MCE::Subs"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Subs">MCE::Subs</a></dt><dd>
<p>Exports functions mapped directly to MCE methods; e.g. mce_wid. The module allows 3 options; :manager, :worker, and :getter.</p>
</dd></dl>
<p><a href="https://metacpan.org/pod/MCE#REQUIREMENTS"><span></span></a>REQUIREMENTS</p>
<p>Perl 5.8.0 or later. PDL::IO::Storable is required in scripts running PDL.</p>
<p><a href="https://metacpan.org/pod/MCE#SOURCE-AND-FURTHER-READING"><span></span></a><a></a>SOURCE AND FURTHER READING</p>
<p>The source, cookbook, and examples are hosted at GitHub.</p>
<ul>
<li>
<p><a href="https://github.com/marioroy/mce-perl">https://github.com/marioroy/mce-perl</a></p>
</li>
<li>
<p><a href="https://github.com/marioroy/mce-cookbook">https://github.com/marioroy/mce-cookbook</a></p>
</li>
<li>
<p><a href="https://github.com/marioroy/mce-examples">https://github.com/marioroy/mce-examples</a></p>
</li>
</ul>
<p><a href="https://metacpan.org/pod/MCE#SEE-ALSO"><span></span></a><a></a>SEE ALSO</p>
<p><code>MCE::Shared</code>&nbsp;provides data sharing capabilities for&nbsp;<code>MCE</code>. It includes&nbsp;<code>MCE::Hobo</code>&nbsp;for running code asynchronously.</p>
<ul>
<li>
<p><a href="https://metacpan.org/pod/MCE::Shared">MCE::Shared</a></p>
</li>
<li>
<p><a href="https://metacpan.org/pod/MCE::Hobo">MCE::Hobo</a></p>
</li>
</ul><p>Address of the bookmark: <a href="https://github.com/marioroy/mce-examples" rel="nofollow">https://github.com/marioroy/mce-examples</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/30897/finestructure-v2-globetrotter</guid>
	<pubDate>Mon, 13 Feb 2017 08:40:23 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/30897/finestructure-v2-globetrotter</link>
	<title><![CDATA[fineSTRUCTURE v2 &amp; GLOBETROTTER]]></title>
	<description><![CDATA[<p>Software available at this site</p>
<div>
<ul>
<li><a href="https://people.maths.bris.ac.uk/%7Emadjl/finestructure/finestructure_info.html">FineSTRUCTURE version 2</a>, a pipeline for running ChromoPainter and FineSTRUCTURE for population inference. A GUI is available for interpretation. Download from the <a href="https://people.maths.bris.ac.uk/%7Emadjl/finestructure/finestructure.html">Downloads</a> page.</li>
<li><a href="https://people.maths.bris.ac.uk/%7Emadjl/finestructure/finestructureR.html">FineSTRUCTURE R scripts</a>, a facility for exploring the results when the GUI is unavailable.</li>
<li><a href="https://people.maths.bris.ac.uk/%7Emadjl/finestructure/globetrotter.html">GLOBETROTTER</a>, the admixture dating method based on ChromoPainter. Download from the <a href="https://people.maths.bris.ac.uk/%7Emadjl/finestructure/finestructure.html">Downloads</a> page.</li>
<li><a href="https://people.maths.bris.ac.uk/%7Emadjl/finestructure/admixture.html">AdmixturePainting</a>, A set of R tools to inmterpret the results of ADMIXTURE and STRUCTURE-like mixture models.</li>
<li><a href="https://people.maths.bris.ac.uk/%7Emadjl/finestructure/radpainter.html">RADpainter</a>, finestructure and ChromoPainter for RAD tag data used for non-model organisms.</li>
<li>Scripts to perform many types of conversion. Included in the main software download from the <a href="https://people.maths.bris.ac.uk/%7Emadjl/finestructure/finestructure.html">Downloads</a> page.</li>
</ul>
What this page is This page provides information about and downloads for <strong>methodology for Chromosome Painting</strong>. It is not a facility to analyse your genome. Sorry if you were misled by the punchy name!<br> About Chromosome Painting Painting is an efficient way of identifying important haplotype information from dense genotype data. It describes ancestry in an efficient way suitable for a range of further analyses, including population identification and admixture dating.</div><p>Address of the bookmark: <a href="http://paintmychromosomes.com/" rel="nofollow">http://paintmychromosomes.com/</a></p>]]></description>
	<dc:creator>Shruti Paniwala</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/view/459</guid>
	<pubDate>Thu, 11 Jul 2013 14:39:19 -0500</pubDate>
	<link>https://bioinformaticsonline.com/view/459</link>
	<title><![CDATA[Python vs Perl]]></title>
	<description><![CDATA[<p>Why bioinformatician still using Perl when Python is easy to code, good in ReXp and faster than perl?</p>]]></description>
	<dc:creator>Rahul Agarwal</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/42672/introduction-to-bioinformatics-and-computational-biology</guid>
	<pubDate>Mon, 25 Jan 2021 01:32:30 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/42672/introduction-to-bioinformatics-and-computational-biology</link>
	<title><![CDATA[Introduction to Bioinformatics and Computational Biology]]></title>
	<description><![CDATA[<p><span>This is the course material for STAT115/215 BIO/BST282 at Harvard University.</span></p>
<p>Xiaole Shirley Liu (lead instructor)<br>Joshua Starmer<br>Martin Hemberg<br>Ting Wang<br>Feng Yue</p>
<p>Ming Tang<br>Yang Liu<br>Jack Kang<br>Scarlett Ge<br>Jiazhen Rong<br>Phillip Nicol<br>Maartin De Vries</p>
<p>We thank many colleagues in the community, who helped Dr.&nbsp;Liu in prepare the STAT115/215 BIO/BST282 course over the years.&nbsp;</p><p>Address of the bookmark: <a href="https://liulab-dfci.github.io/bioinfo-combio/" rel="nofollow">https://liulab-dfci.github.io/bioinfo-combio/</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/42815/bioinformatics-in-africa-part7-tunisia</guid>
	<pubDate>Sat, 06 Feb 2021 21:25:09 -0600</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/42815/bioinformatics-in-africa-part7-tunisia</link>
	<title><![CDATA[Bioinformatics in Africa: Part7 - Tunisia]]></title>
	<description><![CDATA[<p>Institut Pasteur de Tunis (IPT):<br />The IPT is a research institution founded in 1883. IPT is under the supervision of the Ministry of &nbsp;Health and is part of the Universit&eacute; El Manar of Tunis (Ministry of high Education). The missions &nbsp;of the institute are: Public Health Laboratory activities (PHL), Research on infectious diseases, and &nbsp;R/D on vaccines. Research programs are mainly oriented towards local health problems such as &nbsp;leishmaniais, viral hepatitis, and scorpion venoms. The &nbsp; group &nbsp; of &nbsp; Bioinformatics &nbsp; and &nbsp; Modelling &nbsp; of &nbsp; the &nbsp; IPT &nbsp; is &nbsp; hosted &nbsp; by &nbsp; the &nbsp;Laboratoire &nbsp;d&rsquo;Immunopathologie Vaccinologie et G&eacute;n&eacute;tique Mol&eacute;culaire &nbsp;(LIVGM), and exists since the &nbsp;beginning of 2005. Its present research activities include: genome annotation, EST clustering and &nbsp;modelling of the host/parasite response to Leishmania infection. It consists of two senior scientists, &nbsp;two PhD students and one MSc student</p><p>Centre&nbsp;de&nbsp;Biotechnology&nbsp;de&nbsp;Sfax&nbsp;(CBS):<br />Bioinformatics&nbsp;activity&nbsp;started&nbsp;at&nbsp;CBS&nbsp;in&nbsp;2001&nbsp;with&nbsp;the&nbsp;setting&shy;up&nbsp;of&nbsp;a&nbsp;research&nbsp;and&nbsp;service&nbsp;unit&nbsp;of&nbsp; bioinformatics.&nbsp;This&nbsp;unit&nbsp;currently&nbsp;includes&nbsp;one&nbsp;senior&nbsp;researcher,&nbsp;one&nbsp;engineer&nbsp;and&nbsp;four&nbsp;Phd&nbsp; students.&nbsp;Activities&nbsp;include&nbsp;sequence&nbsp;annotation&nbsp;(service)&nbsp;and&nbsp;three&nbsp;research&nbsp;programs:&nbsp;ab&nbsp;initio&nbsp; prediction&nbsp;of&nbsp;short&nbsp;eukaryote&nbsp;genes,&nbsp;statistical&nbsp;modelling&nbsp;by&nbsp;Bayesian&nbsp;networks&nbsp;approach&nbsp;of&nbsp;signal&nbsp; transduction&nbsp;pathways&nbsp;and&nbsp;statistical&nbsp;analysis&nbsp;of&nbsp;human&nbsp;sequence&nbsp;variation&nbsp;data&nbsp;(haplotype&nbsp; reconstruction&nbsp;and&nbsp;linkage&nbsp;disequilibrium).&nbsp;Activities&nbsp;of&nbsp;the&nbsp;Bioinformatics&nbsp;unit&nbsp;could&nbsp;be&nbsp;found&nbsp;at&nbsp; the&nbsp;website:&nbsp;http://www.cbs.rnrt.tn/&nbsp;and&nbsp;the&nbsp;research&nbsp;activity&nbsp;report&nbsp;is&nbsp;available&nbsp;under&nbsp;request&nbsp;to&nbsp; Bioinformatics@cbs.rnrt.tn.&nbsp;Although&nbsp;the&nbsp;computing&nbsp;facilities&nbsp;are&nbsp;good,&nbsp;there&nbsp;is&nbsp;still&nbsp;a&nbsp;need&nbsp;for&nbsp; trained&nbsp;human&nbsp;resources&nbsp;to&nbsp;strengthen&nbsp;bioinformatics&nbsp;capacities&nbsp;at&nbsp;CBS,&nbsp;particularly&nbsp;in&nbsp;structural&nbsp; bioinformatics.</p><p>Web site and links: http://www.cbs.rnrt.tn</p>]]></description>
	<dc:creator>BioStar</dc:creator>
</item>

<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/opportunity/view/43272/bioinformatics-head-bioinformatics-manager-iii-cancer-genomics-research-laboratory-at-frederick-national-laboratory</guid>
  <pubDate>Wed, 18 Aug 2021 00:19:48 -0500</pubDate>
  <link></link>
  <title><![CDATA[Bioinformatics Head (Bioinformatics Manager III), Cancer Genomics Research Laboratory at  Frederick National Laboratory]]></title>
  <description><![CDATA[
<p>Frederick National Laboratory seeking an enthusiastic, creative, and seasoned bioinformatics professional to join our leadership team and direct the exceptional Bioinformatics Group at the Cancer Genomics Research Laboratory (CGR).  CGR has a diverse team of bioinformatics and computational scientists that support all areas of bioinformatics and data analysis (infrastructure, data QC, pipeline development and maintenance, data curation and sharing, methodology development, statistical analyses, machine learning approaches, and scientific interpretation).</p>

<p>More at https://leidosbiomed.csod.com/ats/careersite/jobdetails.aspx?site=4&amp;c=leidosbiomed&amp;id=2040</p>
]]></description>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/44746/cracking-the-code-a-guide-to-bioinformatics-job-hunting</guid>
	<pubDate>Mon, 23 Dec 2024 19:36:41 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/44746/cracking-the-code-a-guide-to-bioinformatics-job-hunting</link>
	<title><![CDATA[Cracking the Code: A Guide to Bioinformatics Job Hunting]]></title>
	<description><![CDATA[<p>Entering the world of bioinformatics is an exciting journey, filled with opportunities to combine biology, data science, and technology to address some of the most pressing scientific challenges. However, securing a position in this competitive field can be daunting, especially for newcomers. Here&rsquo;s a guide to help you navigate the job-hunting process and land your dream role in bioinformatics.</p><h4>1. <strong>Understand the Landscape</strong></h4><p>Before diving into applications, take the time to understand the bioinformatics job market. Common roles include:</p><ul>
<li><strong>Bioinformatics Analyst/Scientist:</strong> Focused on data analysis and interpretation.</li>
<li><strong>Computational Biologist:</strong> Combines computational techniques with biological research.</li>
<li><strong>Data Scientist in Genomics:</strong> Applies machine learning and statistical models to genomic data.</li>
<li><strong>Software Developer in Bioinformatics:</strong> Designs and develops tools and pipelines for biological research.</li>
</ul><p>Familiarize yourself with the key industries hiring bioinformaticians, such as academia, biotech, pharmaceuticals, healthcare, and agriculture.</p><h4>2. <strong>Build a Strong Foundation</strong></h4><p>Bioinformatics demands a diverse skill set. Ensure you have a solid foundation in the following areas:</p><ul>
<li><strong>Programming Skills:</strong> Proficiency in Python, R, or Perl is often required. Familiarity with tools like Bash scripting and version control systems (e.g., Git) is a plus.</li>
<li><strong>Statistics and Data Analysis:</strong> Knowledge of statistical methods, machine learning, and data visualization is crucial.</li>
<li><strong>Biological Knowledge:</strong> Understanding genomics, transcriptomics, and proteomics will help you communicate effectively with biologists.</li>
<li><strong>Specialized Tools and Databases:</strong> Be comfortable using tools like BLAST, Bowtie, and databases like NCBI and Ensembl.</li>
</ul><h4>3. <strong>Create a Winning Resume and Portfolio</strong></h4><p>Highlight your technical skills, biological knowledge, and relevant experience. Tips for a standout application:</p><ul>
<li>Tailor your resume to each job, emphasizing skills mentioned in the job description.</li>
<li>Showcase your experience with real-world datasets by linking to your GitHub profile or online portfolio.</li>
<li>Include details of any publications, presentations, or significant projects.</li>
</ul><h4>4. <strong>Network Actively</strong></h4><p>Networking is often the key to discovering opportunities. Here&rsquo;s how to build connections:</p><ul>
<li><strong>Attend Conferences and Workshops:</strong> Events like ISMB or specialized bioinformatics workshops are great for meeting professionals.</li>
<li><strong>Engage Online:</strong> Join LinkedIn groups, participate in bioinformatics forums, and follow relevant hashtags on Twitter.</li>
<li><strong>Leverage Alumni Networks:</strong> Connect with alumni from your university who are working in the field.</li>
</ul><h4>5. <strong>Gain Relevant Experience</strong></h4><p>Experience is a major factor for hiring managers. Ways to enhance your profile include:</p><ul>
<li><strong>Internships:</strong> Seek out internships in research labs or biotech companies.</li>
<li><strong>Collaborations:</strong> Volunteer to work on projects with professors or peers.</li>
<li><strong>Open Source Contributions:</strong> Participate in bioinformatics software development on platforms like GitHub.</li>
</ul><h4>6. <strong>Prepare for Interviews</strong></h4><p>Bioinformatics interviews often combine technical and behavioral questions. Prepare by:</p><ul>
<li><strong>Reviewing Key Concepts:</strong> Refresh your knowledge of algorithms, sequence analysis, and statistical methods.</li>
<li><strong>Practicing Coding:</strong> Be ready to solve coding challenges or discuss code snippets.</li>
<li><strong>Understanding the Organization:</strong> Research their recent projects, publications, or products.</li>
<li><strong>Preparing Questions:</strong> Demonstrate interest by asking about their tools, workflows, or team structure.</li>
</ul><h4>7. <strong>Stay Resilient and Persistent</strong></h4><p>Job hunting can be a long process, but persistence pays off. Tips to keep moving forward:</p><ul>
<li>Keep improving your skills by taking online courses or certifications.</li>
<li>Stay updated with advancements in bioinformatics by following journals and blogs.</li>
<li>Apply to multiple positions and don&rsquo;t get discouraged by rejections. Each application is a learning experience.</li>
</ul><h3>Closing Thoughts</h3><p>Landing a bioinformatics job requires a mix of technical expertise, networking, and resilience. By understanding the market, showcasing your skills effectively, and continuously learning, you&rsquo;ll be well on your way to a rewarding career in this dynamic field. Remember, the key to cracking the code is perseverance&mdash;stay curious, stay determined, and success will follow.</p>]]></description>
	<dc:creator>Abhi</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/42974/list-of-bioinformatics-packages-for-ngs-analysis</guid>
	<pubDate>Sat, 20 Mar 2021 00:28:51 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/42974/list-of-bioinformatics-packages-for-ngs-analysis</link>
	<title><![CDATA[List of bioinformatics packages for NGS analysis !]]></title>
	<description><![CDATA[<p>Package suites gather software packages and installation tools for specific languages or platforms. We have some for bioinformatics software.</p><ul>
<li><a href="https://github.com/Bioconductor">Bioconductor</a>&nbsp;&ndash; A plethora of tools for analysis and comprehension of high-throughput genomic data, including 1500+ software packages. [&nbsp;<a href="https://link.springer.com/article/10.1186/gb-2004-5-10-r80">paper-2004</a>&nbsp;|&nbsp;<a href="https://www.bioconductor.org/">web</a>&nbsp;]</li>
<li><a href="https://github.com/biopython/biopython">Biopython</a>&nbsp;&ndash; Freely available tools for biological computing in Python, with included cookbook, packaging and thorough documentation. Part of the&nbsp;<a href="http://open-bio.org/">Open Bioinformatics Foundation</a>. Contains the very useful&nbsp;<a href="https://biopython.org/DIST/docs/api/Bio.Entrez-module.html">Entrez</a>&nbsp;package for API access to the NCBI databases. [&nbsp;<a href="https://pubmed.ncbi.nlm.nih.gov/19304878">paper-2009</a>&nbsp;|&nbsp;<a href="https://biopython.org/">web</a>&nbsp;]</li>
<li><a href="https://github.com/bioconda">Bioconda</a>&nbsp;&ndash; A channel for the&nbsp;<a href="http://conda.pydata.org/docs/intro.html">conda package manager</a>&nbsp;specializing in bioinformatics software. Includes a repository with 3000+ ready-to-install (with&nbsp;<code>conda install</code>) bioinformatics packages. [&nbsp;<a href="https://pubmed.ncbi.nlm.nih.gov/29967506">paper-2018</a>&nbsp;|&nbsp;<a href="https://bioconda.github.io/">web</a>&nbsp;]</li>
<li><a href="https://github.com/BioJulia">BioJulia</a>&nbsp;&ndash; Bioinformatics and computational biology infastructure for the Julia programming language. [&nbsp;<a href="https://biojulia.net/">web</a>&nbsp;]</li>
<li><a href="https://github.com/rust-bio/rust-bio">Rust-Bio</a>&nbsp;&ndash; Rust implementations of algorithms and data structures useful for bioinformatics. [&nbsp;<a href="http://bioinformatics.oxfordjournals.org/content/early/2015/10/06/bioinformatics.btv573.short?rss=1">paper-2016</a>&nbsp;]</li>
<li><a href="https://github.com/seqan/seqan3">SeqAn</a>&nbsp;&ndash; The modern C++ library for sequence analysis.</li>
</ul>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/35534/awk-for-bioinformatician-and-computational-biologist</guid>
	<pubDate>Tue, 06 Feb 2018 14:54:35 -0600</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/35534/awk-for-bioinformatician-and-computational-biologist</link>
	<title><![CDATA[Awk for Bioinformatician and computational biologist]]></title>
	<description><![CDATA[<p>Awk is a programming language which allows easy manipulation of structured data and is mostly used for pattern scanning and processing. It searches one or more files to see if they contain lines that match with the specified patterns and then perform associated actions. The basic syntax is:</p><blockquote><p><br />awk '/pattern1/ {Actions}<br /> /pattern2/ {Actions}' file</p></blockquote><p><br />The working of Awk is as follows<br />Awk reads the input files one line at a time.<br />For each line, it matches with given pattern in the given order, if matches performs the corresponding action.<br />If no pattern matches, no action will be performed.<br />In the above syntax, either search pattern or action are optional, But not both.<br />If the search pattern is not given, then Awk performs the given actions for each line of the input.<br />If the action is not given, print all that lines that matches with the given patterns which is the default action.<br />Empty braces with out any action does nothing. It wont perform default printing operation.<br />Each statement in Actions should be delimited by semicolon.<br />Say you have data.tsv with the following contents:</p><p><br />$ cat data/test.tsv<br />contig1 ACTGTCTGTCACTGTGTTGTGATGTTGTGTGTG<br />contig2 ACTTTATATATT<br />contig3 ACTTATATATATATA<br />contig4 ACTTATATATATATA<br />contig5 ACTTTATATATT <br />By default Awk prints every line from the file.</p><p><br />$ awk '{print;}' data/test.tsv<br />contig1 ACTGTCTGTCACTGTGTTGTGATGTTGTGTGTG<br />contig2 ACTTTATATATT<br />contig3 ACTTATATATATATA<br />contig4 ACTTATATATATATA<br />contig5 ACTTTATATATT <br />We print the line which matches the pattern contig3</p><p><br />$ awk '/contig3/' data/test.tsv<br />contig3 ACTTATATATATATA<br />Awk has number of builtin variables. For each record i.e line, it splits the record delimited by whitespace character by default and stores it in the $n variables. If the line has 5 words, it will be stored in $1, $2, $3, $4 and $5. $0 represents the whole line. NF is a builtin variable which represents the total number of fields in a record.</p><p><br />$ awk '{print $1","$2;}' data/test.tsv<br />contig1,ACTGTCTGTCACTGTGTTGTGATGTTGTGTGTG<br />contig2,ACTTTATATATT<br />contig3,ACTTATATATATATA<br />contig4,ACTTATATATATATA<br />contig5,ACTTTATATATT</p><p>$ awk '{print $1","$NF;}' data/test.tsv<br />contig1,ACTGTCTGTCACTGTGTTGTGATGTTGTGTGTG<br />contig2,ACTTTATATATT<br />contig3,ACTTATATATATATA<br />contig4,ACTTATATATATATA<br />contig5,ACTTTATATATT</p><p><br />Awk has two important patterns which are specified by the keyword called BEGIN and END. The syntax is as follows:</p><blockquote><p>BEGIN { Actions before reading the file}<br />{Actions for everyline in the file} <br />END { Actions after reading the file }</p></blockquote><p><br />For example,<br />$ awk 'BEGIN{print "Header,Sequence"}{print $1","$2;}END{print "-------"}' data/test.tsv<br />Header,Sequence<br />contig1,ACTGTCTGTCACTGTGTTGTGATGTTGTGTGTG<br />contig2,ACTTTATATATT<br />contig3,ACTTATATATATATA<br />contig4,ACTTATATATATATA<br />contig5,ACTTTATATATT<br />------- <br />We can also use the concept of a conditional operator in print statement of the form print CONDITION ? PRINT_IF_TRUE_TEXT : PRINT_IF_FALSE_TEXT. For example, in the code below, we identify sequences with lengths &gt; 14:</p><p>$ awk '{print (length($2)&gt;14) ? $0"&gt;14" : $0"&lt;=14";}' data/test.tsv<br />contig1 ACTGTCTGTCACTGTGTTGTGATGTTGTGTGTG&gt;14<br />contig2 ACTTTATATATT&lt;=14<br />contig3 ACTTATATATATATA&gt;14<br />contig4 ACTTATATATATATA&gt;14<br />contig5 ACTTTATATATT&lt;=14<br />We can also use 1 after the last block {} to print everything (1 is a shorthand notation for {print $0} which becomes {print} as without any argument print will print $0 by default), and within this block, we can change $0, for example to assign the first field to $0 for third line (NR==3), we can use:</p><p>$ awk 'NR==3{$0=$1}1' data/test.tsv<br />contig1 ACTGTCTGTCACTGTGTTGTGATGTTGTGTGTG<br />contig2 ACTTTATATATT<br />contig3<br />contig4 ACTTATATATATATA<br />contig5 ACTTTATATATT<br />You can have as many blocks as you want and they will be executed on each line in the order they appear, for example, if we want to print $1 three times (here we are using printf instead of print as the former doesn't put end-of-line character),</p><p>$ awk '{printf $1"\t"}{printf $1"\t"}{print $1}' data/test.tsv<br />contig1 contig1 contig1<br />contig2 contig2 contig2<br />contig3 contig3 contig3<br />contig4 contig4 contig4<br />contig5 contig5 contig5 <br />Although, we can also skip executing later blocks for a given line by using next keyword:</p><p>$ awk '{printf $1"\t"}NR==3{print "";next}{print $1}' data/test.tsv<br />contig1 contig1<br />contig2 contig2<br />contig3 <br />contig4 contig4<br />contig5 contig5</p><p>$ awk 'NR==3{print "";next}{printf $1"\t"}{print $1}' data/test.tsv<br />contig1 contig1<br />contig2 contig2</p><p>contig4 contig4<br />contig5 contig5<br />You can also use getline to load the contents of another file in addition to the one you are reading, for example, in the statement given below, the while loop will load each line from test.tsv into k until no more lines are to be read:</p><p>$ awk 'BEGIN{while((getline k &lt;"data/test.tsv")&gt;0) print "BEGIN:"k}{print}' data/test.tsv<br />BEGIN:contig1 ACTGTCTGTCACTGTGTTGTGATGTTGTGTGTG<br />BEGIN:contig2 ACTTTATATATT<br />BEGIN:contig3 ACTTATATATATATA<br />BEGIN:contig4 ACTTATATATATATA<br />BEGIN:contig5 ACTTTATATATT<br />contig1 ACTGTCTGTCACTGTGTTGTGATGTTGTGTGTG<br />contig2 ACTTTATATATT<br />contig3 ACTTATATATATATA<br />contig4 ACTTATATATATATA<br />contig5 ACTTTATATATT <br />You can also store data in the memory with the syntax VARIABLE_NAME[KEY]=VALUE which you can later use through for (INDEX in VARIABLE_NAME) command:</p><p>$ awk '{i[$1]=1}END{for (j in i) print j"&lt;="i[j]}' data/test.tsv<br />contig1&lt;=1<br />contig2&lt;=1<br />contig3&lt;=1<br />contig4&lt;=1<br />contig5&lt;=1</p>]]></description>
	<dc:creator>Poonam Mahapatra</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/file/view/38029/biologist-versus-computational-biologist</guid>
	<pubDate>Mon, 29 Oct 2018 04:23:24 -0500</pubDate>
	<link>https://bioinformaticsonline.com/file/view/38029/biologist-versus-computational-biologist</link>
	<title><![CDATA[Biologist versus computational biologist !]]></title>
	<description><![CDATA[<p>This is how it work :)</p>]]></description>
	<dc:creator>Abhimanyu Singh</dc:creator>
	<enclosure url="https://bioinformaticsonline.com/file/download/38029" length="69305" type="image/png" />
</item>

</channel>
</rss>