<?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/28566?offset=1120</link>
	<atom:link href="https://bioinformaticsonline.com/related/28566?offset=1120" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/7387/bioinformatics-software-for-biologists-in-the-genomics-era</guid>
	<pubDate>Sun, 22 Dec 2013 17:31:05 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/7387/bioinformatics-software-for-biologists-in-the-genomics-era</link>
	<title><![CDATA[Bioinformatics software for biologists in the genomics era]]></title>
	<description><![CDATA[<p>The genome sequencing revolution is approaching a landmark figure of 1000 completely sequenced genomes. Coupled with fast-declining, per-base sequencing costs, this influx of DNA sequence data has encouraged laboratory scientists to engage large datasets in comparative sequence analyses for making evolutionary, functional and translational inferences. However, the majority of the scientists at the forefront of experimental research are not bioinformaticians, so a gap exists between the user-friendly software needed and the scripting/programming infrastructure often employed for the analysis of large numbers of genes, long genomic segments and groups of sequences. We see an urgent need for the expansion of the fundamental paradigms under which biologist-friendly software tools are designed and developed to fulfill the needs of biologists to analyze large datasets by using sophisticated computational methods. We argue that the design principles need to be sensitive to the reality that comparatively small teams of biologists have historically developed some of the most popular biological software packages in molecular evolutionary analysis. Furthermore, biological intuitiveness and investigator empowerment need to take precedence over the current supposition that biologists should re-tool and become programmers when analyzing genome scale datasets.</p><p>Address of the bookmark: <a href="http://bioinformatics.oxfordjournals.org/content/23/14/1713.full" rel="nofollow">http://bioinformatics.oxfordjournals.org/content/23/14/1713.full</a></p>]]></description>
	<dc:creator>Poonam Mahapatra</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/17885/international-conference-on-bioinformatics-models-methods-and-algorithms</guid>
	<pubDate>Sun, 05 Oct 2014 11:42:52 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/17885/international-conference-on-bioinformatics-models-methods-and-algorithms</link>
	<title><![CDATA[International Conference on Bioinformatics Models, Methods and Algorithms]]></title>
	<description><![CDATA[<p><span>The purpose of the International Conference on Bioinformatics Models, Methods and Algorithms is to bring together researchers and practitioners interested in the application of computational systems and information technologies to the field of molecular biology, including for example the use of statistics and algorithms to understanding biological processes and systems, with a focus on new developments in genome bioinformatics and computational biology. Areas of interest for this community include sequence analysis, biostatistics, image analysis, scientific data management and data mining, machine learning, pattern recognition, computational evolutionary biology, computational genomics and other related fields.</span></p>
<p><span><span>Position Paper Submission Extension:</span><span>&nbsp;</span><span>October 9, 2014</span><span>&nbsp;</span><br><span>Regular Paper Authors Notification:</span><span>&nbsp;</span><span>November 3, 2014</span><span>&nbsp;</span><br><span>Position Paper Authors Notification:</span><span>&nbsp;</span><span>November 6, 2014</span><span>&nbsp;</span><br><span>Regular and Position Paper Camera Ready and Registration:</span><span>&nbsp;</span><span>November 17, 2014</span><span>&nbsp;</span></span></p><p>Address of the bookmark: <a href="http://www.bioinformatics.biostec.org/" rel="nofollow">http://www.bioinformatics.biostec.org/</a></p>]]></description>
	<dc:creator>Rahul Agarwal</dc:creator>
</item>

<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/opportunity/view/7753/jrf-pondicherry-university</guid>
  <pubDate>Fri, 03 Jan 2014 16:48:56 -0600</pubDate>
  <link></link>
  <title><![CDATA[JRF @ PONDICHERRY UNIVERSITY]]></title>
  <description><![CDATA[
<p>PONDICHERRY UNIVERSITY</p>

<p>CENTRE FOR BIOINFORMATICS</p>

<p>PUDUCHERRY</p>

<p>Applications are invited for one Project Assistant to work in the UGC sponsored Research Award "Molecular Docking and Dynamics studies to understand the interacting mechanism of oncogenic 101 protein with its cellular proteins".</p>

<p>The duration for the fellowship is 12months only with consolidated pay ofRs. 5,000 per month.</p>

<p>Application on plain paper with following details: Name, Address, Data of Birth, Father's Name, Nationality, Educational Qualification (SSLC onwards-enclose attested copies of certificate) and Researcb Experience may be addressed to Dr. R. Krishna, Principle Investigator (PI), UGC Research Award, Centre for Bioinformatics, Pondicherry University, Pondicherry - 605 014.</p>

<p>Application should reach in January 261h , 2013.</p>

<p>Essential Qualification: M.Sc. in Bioinformatics/Biophysics with good academic record.</p>

<p>Qualification for Project Fellow:</p>

<p>M.Sc in Bioinformatics/Biophysics.</p>

<p>The person to be considered for appointment as Project Fellow must have second class master degree with a minimum of 55% marks in the subject concerned or a related subject.</p>

<p>The candidate to be appointed as Project Fellows should be below thc age of40 years at the time of appointment.</p>

<p>Desirable Qualification for this Project: Research Experience in Small/Macromolecule Crystallography and Structural Bioinformatics.</p>

<p>For more details, refer the web site: www.pondiuni.edu.in/sites/default/files/BIC-311213.pdf</p>
]]></description>
</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/opportunity/view/7998/faculty-positions-at-iiit-allahabad</guid>
  <pubDate>Thu, 23 Jan 2014 06:19:34 -0600</pubDate>
  <link></link>
  <title><![CDATA[FACULTY POSITIONS AT IIIT-ALLAHABAD]]></title>
  <description><![CDATA[
<p>OPENINGS OF FACULTY POSITIONS AT IIIT-ALLAHABAD</p>

<p>(Under Tenure-Track Model)</p>

<p>Open Advt. No IIITA/DIC/16012014</p>

<p>IIIT-Allahabad has several Openings for the Faculty positions at the Assistant Professor level.</p>

<p>It is a regular tenure-track faculty positions for 3-5 years in teaching and research. A regular faculty is expected to engage heavily in research and teaching. The eligibility criteria for regular faculty positions are similar as in IITs. For an Assistant Professor position, a candidate must have a PhD (in IT/Computer Science &amp;/or Engineering/Electrical, Electronics &amp;/or Communication Engineering/etc; for interdisciplinary areas the PhD may be in an appropriate field), plus three years experience. However, for PhDs from a well known University/Institute (e.g. IITs/IISc/TIFR/ISI in India or well known research universities across the world), and a good research/academic record, the 3 years experience requirement may be waived.</p>

<p>The pay scale for faculty is same as in IITs. Other benefits include initiation research grant, travel support, book grant, professional society membership, etc., and personal benefits such as medical/LTC, on campus subsidized family housing with excellent modern infrastructural facilities.</p>

<p>Areas of Interest</p>

<p>IIIT-Allahabad aims to build strong research groups in important and emerging areas in CS/IT/ECE as well as in emerging interdisciplinary areas, and applications are invited in all these areas. Some of the areas of special interest, besides strengthening the existing research areas, are : Software Engineering, Theoretical Computer Science, Cyber Physical Systems, Robotics, Network science, Digital Media, Computational neuroscience, Machine learning, Healthcare informatics, Computational Biology, Communications networks (both at hardware and protocol levels), Circuits (including VLSI, analog, low power, etc), Energy systems and technologies, Biomedical electronics and systems, Computer Architecture, signal/image processing, Embedded and control systems.</p>

<p>Application Process</p>

<p>Interested candidates can apply by sending their detailed CV with list of publications clearly mentioning Journal names and citation index with three references through email entitled “Faculty positions at IIIT Allahabad” to faculty.applications@iiita.ac.in. Do not send your applications in any other email addresses. Applications will be considered regularly, hence there is no deadline for applying.</p>

<p>Important Clarifications on Eligibility</p>

<p>A PhD in CS/IT (or other disciplines, as announced) is the minimum expected requirement for an Assistant Professor.</p>

<p>Advertisement: http://iiita.ac.in/pub/Faculty-Position-IIITA1.pdf</p>
]]></description>
</item>

<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/opportunity/view/23121/senior-sas-programmer-urgent-role-permanant-welwyn-garden-city-uk</guid>
  <pubDate>Fri, 03 Jul 2015 08:14:23 -0500</pubDate>
  <link></link>
  <title><![CDATA[Senior SAS Programmer - URGENT ROLE - Permanant - Welwyn Garden City - UK]]></title>
  <description><![CDATA[
<p>SAS Programmer URGENTLY required !! My client is looking for an experienced Senior SAS Programmer, to join their bubbly dynamic team in Welwyn Garden City. You must have experience within SAS and/or R programming language. I am looking for someone with a background within either Life Sciences, Statistics, Computer Science, Bioinformatics etc. I am looking for someone with leadership qualities, you must have excellent analyst skills. Please call Dareen Evans on 01772 278050 or email your cv to dareen.evans@itworkshealth.co.uk</p>
]]></description>
</item>

<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/opportunity/view/11528/post-doctoral-research-assistant-in-genetics</guid>
  <pubDate>Thu, 05 Jun 2014 16:01:39 -0500</pubDate>
  <link></link>
  <title><![CDATA[Post-doctoral Research Assistant in Genetics]]></title>
  <description><![CDATA[
<p>Post-doctoral Research Assistant in Genetics<br />Camden, North London<br />£31.1K per annum inclusive of London Weighting</p>

<p>This is a fixed term post for 36 months.</p>

<p>We wish to recruit a highly motivated, postdoctoral scientist to carry out a BBSRC funded project in the laboratory of Dr. Denis Larkin. The project is focused on developing and applying new algorithms to study genome and chromosome evolution in birds, mammals and other vertebrate species using whole-genome sequences and existing algorithms. The post holder will use cutting edge computational and laboratory approaches to generate chromosomal assemblies for sequenced genomes, study chromosomal structures and genome differences between bird and other vertebrate species in attempt to identify species- and clade-specific genome signatures.</p>

<p>Applicants must have a Ph.D. and a track record of success, as indicated by first-author publications in international journals. They must possess excellent organisation skills and be capable of individual initiative and of interacting as part of a team. Applicants with extensive practical experience in bioinformatics or computer science, programming, visualization, handling of large data sets, high-performance computing are encouraged to apply. The post will involve collaboration with a wide range of academic partners both within the UK, EU and worldwide. In addition to leading their own project the post holder will have opportunities to contribute to multiple international genome initiatives.</p>

<p>Experience in programming, bioinformatics and comparative genome analysis is essential. Applicants should have a minimum of a degree and preferably a higher degree in a relevant subject.</p>

<p>The Royal Veterinary College has the largest range of veterinary, para-veterinary and animal science undergraduate and postgraduate courses of any veterinary school in the world and is one of the largest veterinary schools in Europe.</p>

<p>Prospective applicants are encouraged to contact Dr. Denis Larkin, Comparative Biomedical Sciences Department on +442071211906 or email: dlarkin@rvc.ac.uk</p>

<p>We offer a generous reward package.</p>

<p>For further information and to apply on-line please visit our website: www.rvc.ac.uk<br />Job reference CBS-0025-14A</p>

<p>Closing date: 4 July 2014<br />Interviews are likely to be held in July 2014</p>

<p>We promote equality of opportunity and diversity within the workplace and welcome applications from all sections of the community.</p>
]]></description>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/34552/edit-distance-application-in-bioinformatics</guid>
	<pubDate>Thu, 07 Dec 2017 08:46:51 -0600</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/34552/edit-distance-application-in-bioinformatics</link>
	<title><![CDATA[Edit distance application in bioinformatics !]]></title>
	<description><![CDATA[<p>There are other popular measures of&nbsp;<a href="https://en.wikipedia.org/wiki/Edit_distance" title="Edit distance">edit distance</a>, which are calculated using a different set of allowable edit operations. For instance,</p><ul>
<li>the&nbsp;<a href="https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance" title="Damerau&ndash;Levenshtein distance">Damerau&ndash;Levenshtein distance</a>&nbsp;allows insertion, deletion, substitution, and the&nbsp;<a href="https://en.wikipedia.org/wiki/Transposition_(mathematics)" title="Transposition (mathematics)">transposition</a>&nbsp;of two adjacent characters;</li>
<li>the&nbsp;<a href="https://en.wikipedia.org/wiki/Longest_common_subsequence_problem" title="Longest common subsequence problem">longest common subsequence</a>&nbsp;(LCS) distance allows only insertion and deletion, not substitution;</li>
<li>the&nbsp;<a href="https://en.wikipedia.org/wiki/Hamming_distance" title="Hamming distance">Hamming distance</a>&nbsp;allows only substitution, hence, it only applies to strings of the same length.</li>
<li>the&nbsp;<a href="https://en.wikipedia.org/wiki/Jaro_distance" title="Jaro distance">Jaro distance</a>&nbsp;allows only&nbsp;<a href="https://en.wikipedia.org/wiki/Transposition_(mathematics)" title="Transposition (mathematics)">transposition</a>.</li>
</ul><p>&nbsp;</p><pre><span>use</span> Text<span>::</span>Levenshtein <span>qw</span><span>(</span>distance<span>);</span>

 <span>print</span> <span>distance</span><span>(</span><span>"foo"</span><span>,</span><span>"four"</span><span>);</span>
 <span># prints "2"</span>

 <span>my</span> <span>@words</span>     <span>=</span> <span>qw</span><span>/ four foo bar /</span><span>;</span>
 <span>my</span> <span>@distances</span> <span>=</span> <span>distance</span><span>(</span><span>"foo"</span><span>,</span><span>@words</span><span>);</span>

 <span>print</span> <span>"@distances"</span><span>;</span>
 <span># prints "2 0 3"</span><br /><br /><br /></pre><pre><span>use</span> Algorithm<span>::</span>LCSS <span>qw</span><span>(</span> LCSS CSS CSS_Sorted <span>);</span>
    <span>my</span> <span>$lcss_ary_ref</span> <span>=</span> <span>LCSS</span><span>(</span> <span>\</span><span>@SEQ1</span><span>,</span> <span>\</span><span>@SEQ2</span> <span>);</span>  <span># ref to array</span>
    <span>my</span> <span>$lcss_string</span>  <span>=</span> <span>LCSS</span><span>(</span> <span>$STR1</span><span>,</span> <span>$STR2</span> <span>);</span>    <span># string</span>
    <span>my</span> <span>$css_ary_ref</span> <span>=</span> <span>CSS</span><span>(</span> <span>\</span><span>@SEQ1</span><span>,</span> <span>\</span><span>@SEQ2</span> <span>);</span>    <span># ref to array of arrays</span>
    <span>my</span> <span>$css_str_ref</span> <span>=</span> <span>CSS</span><span>(</span> <span>$STR1</span><span>,</span> <span>$STR2</span> <span>);</span>      <span># ref to array of strings</span>
    <span>my</span> <span>$css_ary_ref</span> <span>=</span> <span>CSS_Sorted</span><span>(</span> <span>\</span><span>@SEQ1</span><span>,</span> <span>\</span><span>@SEQ2</span> <span>);</span>  <span># ref to array of arrays</span>
    <span>my</span> <span>$css_str_ref</span> <span>=</span> <span>CSS_Sorted</span><span>(</span> <span>$STR1</span><span>,</span> <span>$STR2</span> <span>);</span>    <span># ref to array of strings<br /><br /><br /><br /></span></pre><p>There are many different modules on CPAN for calculating the edit distance between two strings. Here's just a selection.</p><p><a href="http://search.cpan.org/perldoc?Text%3A%3ALevenshteinXS">Text::LevenshteinXS</a>&nbsp;and&nbsp;<a href="http://search.cpan.org/perldoc?Text%3A%3ALevenshtein%3A%3AXS">Text::Levenshtein::XS</a>&nbsp;are both versions of the Levenshtein algorithm that require a C compiler, but will be a lot faster than this module.</p><p>The Damerau-Levenshtein edit distance is like the Levenshtein distance, but in addition to insertion, deletion and substitution, it also considers the transposition of two adjacent characters to be a single edit. The module&nbsp;<a href="http://search.cpan.org/perldoc?Text%3A%3ALevenshtein%3A%3ADamerau">Text::Levenshtein::Damerau</a>&nbsp;defaults to using a pure perl implementation, but if you've installed&nbsp;<a href="http://search.cpan.org/perldoc?Text%3A%3ALevenshtein%3A%3ADamerau%3A%3AXS">Text::Levenshtein::Damerau::XS</a>&nbsp;then it will be a lot quicker.</p><p><a href="http://search.cpan.org/perldoc?Text%3A%3AWagnerFischer">Text::WagnerFischer</a>&nbsp;is an implementation of the Wagner-Fischer edit distance, which is similar to the Levenshtein, but applies different weights to each edit type.</p><p><a href="http://search.cpan.org/perldoc?Text%3A%3ABrew">Text::Brew</a>&nbsp;is an implementation of the Brew edit distance, which is another algorithm based on edit weights.</p><p><a href="http://search.cpan.org/perldoc?Text%3A%3AFuzzy">Text::Fuzzy</a>&nbsp;provides a number of operations for partial or fuzzy matching of text based on edit distance.&nbsp;<a href="http://search.cpan.org/perldoc?Text%3A%3AFuzzy%3A%3APP">Text::Fuzzy::PP</a>&nbsp;is a pure perl implementation of the same interface.</p><p><a href="http://search.cpan.org/perldoc?String%3A%3ASimilarity">String::Similarity</a>&nbsp;takes two strings and returns a value between 0 (meaning entirely different) and 1 (meaning identical). Apparently based on edit distance.</p><p><a href="http://search.cpan.org/perldoc?Text%3A%3ADice">Text::Dice</a>&nbsp;calculates&nbsp;<a href="https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient">Dice's coefficient</a>&nbsp;for two strings. This formula was originally developed to measure the similarity of two different populations in ecological research.</p><pre><span>&nbsp;</span></pre>]]></description>
	<dc:creator>Neel</dc:creator>
</item>

<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/opportunity/view/8198/scientist-positions-at-rajiv-gandhi-centre-for-biotechnology</guid>
  <pubDate>Thu, 06 Feb 2014 23:18:49 -0600</pubDate>
  <link></link>
  <title><![CDATA[Scientist Positions at Rajiv Gandhi Centre for Biotechnology]]></title>
  <description><![CDATA[
<p>Rajiv Gandhi Centre for Biotechnology</p>

<p>An Autonomous National Institute under Government of India,<br />Ministry of Science &amp; Technology<br />Department of Biotechnology</p>

<p>No: RGCB/ Advt./2014/1   <br />January 24, 2014</p>

<p>Scientist Positions</p>

<p>Group Leader in Computational Biology/Bioinformatics<br />A highly motivated and innovative individual who will pursue basic research, solve biological problems with emphasis on computational and quantitative experimental methods and build active bridges to translational research. The scientist will also provide computational biology support to analyze complex data sets generated by RGCB scientists and collaborators.</p>

<p>Location: Thiruvananthapuram (Trivandrum)</p>

<p>The above positions will be at the E-II, F or equivalent levels. For senior applicants with an outstanding track record, an option of a contract career path for research excellence at Scientist G or H equivalent level can also be discussed. All positions will initially be for 5 years. Essential and desired qualifications as well as other relevant details for all the above positions are posted on the RGCB website (http://www.rgcb.res.in). The last date for receiving applications is March 14, 2014.   </p>

<p>Sd/-<br />Director</p>

<p>Rajiv Gandhi Centre for Biotechnology<br />Thycaud, P.O., Poojappura,<br />Thiruvananthapuram, Kerala, India-695 014<br />Ph.: 91-471-2529400 (30 Lines), 2347975, 2348104, 2348753, 2345899<br />Fax: 91-471-2348096, 2346333</p>

<p>More at http://rgcb.res.in/jobs.html</p>
]]></description>
</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>

</channel>
</rss>