<?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/42815?offset=70</link>
	<atom:link href="https://bioinformaticsonline.com/related/42815?offset=70" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<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/blog/view/36211/project-based-approach-to-improve-bioinformatics-education-with-skilled-and-meaningful-access-to-omics-data</guid>
	<pubDate>Wed, 11 Apr 2018 13:31:42 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/36211/project-based-approach-to-improve-bioinformatics-education-with-skilled-and-meaningful-access-to-omics-data</link>
	<title><![CDATA[Project-based approach to improve bioinformatics education with skilled and meaningful access to omics data]]></title>
	<description><![CDATA[<p>Pine Biotech has been collaborating with Loyola University of New Orleans on piloting a new approach to bioinformatics education using the intuitive and logic-drive bioinformatics platform T-BioInfo.</p><p>https://edu.t-bio.info/collaborative-model-bioinformatics-education-combining-biologically-inspired-bioinformatics-project-based-learning/</p>]]></description>
	<dc:creator>eliabrodsky</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/43323/biostarhandbook</guid>
	<pubDate>Fri, 27 Aug 2021 01:31:01 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/43323/biostarhandbook</link>
	<title><![CDATA[biostarhandbook]]></title>
	<description><![CDATA[<p>Nice book collection for bioinformatician ... highly recommended.</p><p>Address of the bookmark: <a href="https://www.biostarhandbook.com/" rel="nofollow">https://www.biostarhandbook.com/</a></p>]]></description>
	<dc:creator>Neel</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/42811/bioinformatics-in-africa-part-4-morocco</guid>
	<pubDate>Sat, 06 Feb 2021 13:31:24 -0600</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/42811/bioinformatics-in-africa-part-4-morocco</link>
	<title><![CDATA[Bioinformatics in Africa: Part 4 - Morocco]]></title>
	<description><![CDATA[<p>Bioinformatics, in the UFR in Artificial Intelligence and Bioinformatics, deals with the management, the analysis, the modelling and the visualization of biological databases. Since the size of the databases is often exponential, the traditional algorithms are not very effective when seeking for a good computational solution.</p><p>To take care of this issue, many ways are opened to the researchers&nbsp;to&nbsp;improve&nbsp;the&nbsp;quality&nbsp;of&nbsp;the&nbsp;algorithms:</p><p>1. Usage of new information processing methods like artificial neuronal networks, genetic algorithms,&nbsp;etc. 2. Usage&nbsp;of&nbsp;Data&nbsp;mining&nbsp;&nbsp;to&nbsp;explore&nbsp;biochemical&nbsp;databases,<br />3. Usage of Machine learning on the biological examples to solve, for example, the problem of classification&nbsp;in&nbsp;Bioinformatics.</p><p>UFR&nbsp;offers&nbsp;in&nbsp;addition&nbsp;a&nbsp;doctoral&nbsp;training&nbsp;in&nbsp;Computer&nbsp;Science&nbsp;and&nbsp;Bioinformatics.</p><p>Doctoral&nbsp;module&nbsp;which&nbsp;includes:&nbsp;a&nbsp;Dipl&ocirc;me&nbsp;des&nbsp;Etudes&nbsp;Sup&eacute;rieures&nbsp;Approfondies&nbsp;(DESA)&nbsp; of&nbsp;two&nbsp;years;&nbsp;and&nbsp;a&nbsp;doctorate&nbsp;studies&nbsp;program&nbsp;with&nbsp;a&nbsp;national&nbsp;Ph.D.&nbsp;certification. Three&nbsp;specializations&nbsp;constitute&nbsp;the&nbsp;teaching&nbsp;trunk&nbsp;of&nbsp;the&nbsp;ENSAT:&nbsp;Computer&nbsp;engineering,&nbsp;Telecom&nbsp; engineering,&nbsp;and&nbsp;electronic&nbsp;systems&nbsp;engineering.</p><p>Research&nbsp;Interest&nbsp;and&nbsp;Activities:</p><p>The&nbsp;following&nbsp;are&nbsp;the&nbsp;present&nbsp;areas&nbsp;of&nbsp;research&nbsp;interest:</p><p>1. Machine&nbsp;Learning&nbsp;and&nbsp;Profile&nbsp;Gene&nbsp;Expression&nbsp;of&nbsp;Cancer<br />2. Predicting&nbsp;Protein&nbsp;structure <br />3. Hidden&nbsp;Markov&nbsp;Models&nbsp;(HMMs)&nbsp;and&nbsp;multiple&nbsp;alignments <br />4. Transformational&nbsp;Grammar&nbsp;for&nbsp;sequence&nbsp;modelling <br />5. Physical&nbsp;Mapping:&nbsp;STSs <br />6. Evolutionary&nbsp;Computation&nbsp;applied&nbsp;to&nbsp;Genomic&nbsp;and&nbsp;Proteomic <br />7. Predicate&nbsp;Logic&nbsp;and&nbsp;Protein&nbsp;Structure</p><p>Web&nbsp;site&nbsp;and&nbsp;links:</p><p>http://www.ensat.ac.ma/udiab http://www.pasteur.fr/pasteur/international/annonce_coursBioinfoannonce06_casa.pdf</p>]]></description>
	<dc:creator>BioStar</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/videolist/watch/14218/pimp-your-brain-bioinformatics</guid>
	<pubDate>Wed, 20 Aug 2014 22:09:21 -0500</pubDate>
	<link>https://bioinformaticsonline.com/videolist/watch/14218/pimp-your-brain-bioinformatics</link>
	<title><![CDATA[Pimp your brain: Bioinformatics]]></title>
	<description><![CDATA[<iframe width="" height="" src="https://www.youtube-nocookie.com/embed/KqelGy6Q8nE" frameborder="0" allowfullscreen></iframe>Jan Lisec from the Max Planck Institute of Molecular Plant Physiology explains, in this "pimp your brain" episode, what bioinformatics is and why bioinformatics is so important and indispensable for biological research.

In the video serial "Pimp your brain" scientists from the Max Planck Institute of Molecular Plant Physiology describe their research. More videos from the 'Pimp your brain' serial are available on www.youtube.com/playlist?list=PL-l9VItC9Gn2Ur2Xj6PTOAkjLUlVPbIOO

More videos are available on www.mpimp-golm.mpg.de]]></description>
	
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/news/view/19992/binc-examination-2015</guid>
	<pubDate>Mon, 29 Dec 2014 12:23:37 -0600</pubDate>
	<link>https://bioinformaticsonline.com/news/view/19992/binc-examination-2015</link>
	<title><![CDATA[BINC examination 2015 !!!]]></title>
	<description><![CDATA[<p>Pondicherry University,Puducherry,on behalf of Department of Biotechnology, Government of India, will conduct the BINC examination in 2015. The objective of this examination is to certify bioinformatics professionals, trained formally as well as self-trained.Registration for BINC examination 2015 will open soon.</p><p>Pondicherry University Puducherry has been identified as a nodal agency by the Department of Biotechnology, Govt. of India to coordinate this examination along with nine centres namely, Pune University, Pune; Anna University, Chennai; Calcatta University (WBUT) Kolkata; Institute of Bioinformatics &amp; Applied Biotechnology, Bangalore; North-Eastern Hill University, Shillong, University of Hyderabad, Hyderabad; University of Kerala, Thiruvananthapuram; Jawaharlal Nehru University, New Delhi and Assam Agricultural University, Guwahati.</p><p>In the BINC 2013 examination,17 candidates were certified. DBT has agreed to fund Research fellowships for all the BINC qualified Indian nationals to pursue Ph.D. in Indian Institutes/Universities. Note that the candidate must possess a postgraduate degree(or equivalent) &amp; meet the criteria of the institutes/universities in order to avail research fellowship. In addition, cash prize of Rs. 10,000/- will be awarded to the top 10 BINC qualifiers.<br /><br /></p><p>More at http://210.212.230.224:9999/BINC/</p>]]></description>
	<dc:creator>Jitendra Narayan</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/21443/a-guide-for-complete-r-beginners-getting-data-into-r</guid>
	<pubDate>Tue, 24 Feb 2015 20:15:08 -0600</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/21443/a-guide-for-complete-r-beginners-getting-data-into-r</link>
	<title><![CDATA[A guide for complete R beginners :- Getting data into R]]></title>
	<description><![CDATA[<p>For a beginner this can be is the hardest part, it is also the most important to get right.</p><p>It is possible to create a vector by typing data directly into R using the combine function &lsquo;c&rsquo;</p><blockquote><p><strong>x </strong></p></blockquote><p>same as</p><blockquote><p><strong>x </strong></p></blockquote><p>creates the vector x with the numbers between 1 and 5.</p><p>You can see what is in an object at any time by typing its name;</p><blockquote><p><strong>x</strong></p></blockquote><p>will produce the output<strong> &lsquo;[1] 1 2 3 4 5&prime;</strong></p><p>Note that names need to be quoted</p><blockquote><p><strong>daysofweek </strong><strong>&larr; c(&lsquo;Monday&rsquo;, &lsquo;Tuesday&rsquo;, &lsquo;Wednesday&rsquo;, &lsquo;Thursday&rsquo;, &lsquo;Friday&rsquo;);</strong></p></blockquote><p>Usually however you want to input from a file. We have touched on the &lsquo;read.table&rsquo; function already.</p><blockquote><p><strong>mydata </strong></p></blockquote><p>Now <strong>mydata</strong> is a data frame with multiple vectors</p><p>each vector can be identified by the default syntax</p><p>#if any of these are typed it will print to screen</p><blockquote><p><strong>mydata$V1 mydata$V2 mydata$V3 </strong></p></blockquote><p>By default the function assumes certain things from the file</p><ul>
<li>The file is a plain text file (there are function to read excel files: <em>not covered here</em>)</li>
<li>columns are separated by any number of tabs or spaces</li>
<li>there is the same number of data points in each column</li>
<li>there is no header row (labels for the columns)</li>
<li>there is no column with names for the rows** [I&rsquo;ll explain].</li>
</ul><p><span style="text-decoration: underline;">If any of these are false, we need to tell that to the function</span></p><p>If it has a header column</p><blockquote><p><strong>mydata <em>header=T also works</em></strong></p></blockquote><p>Note that there is a comma between different parts of the functions arguments</p><p>If there is one less column in the header row, then R assumes that the 1<sup>st</sup> column of data after the header are the row names</p><p>Now the vectors (columns) are identified by their name</p><p>#if any of these are typed it will print to screen</p><blockquote><p><strong>mydata$A mydata$B mydata$C </strong></p></blockquote><p># Summary about the whole data frame</p><blockquote><p><strong>summary(mydata)</strong></p></blockquote><p># Summary information of column A</p><blockquote><p><strong>summary(mydata$A) </strong></p></blockquote><p>We can shortcut having to type the data frame each time by attaching it</p><blockquote><p><strong>attach(mydata)</strong></p></blockquote><p># summary of column B as &lsquo;mydata&rsquo; is attached</p><blockquote><p><strong>summary(B)</strong></p></blockquote><p><span style="text-decoration: underline;">Two other important options for </span><em><span style="text-decoration: underline;">read.table</span></em></p><p>If is is separated only by tabs and has a header</p><blockquote><p><strong>mydata </strong></p></blockquote><p>Really useful if you have spaces in the contents of some columns, so R does not mess up reading the columns . However if the columns or of an uneven length it will tell you.</p><p>If you know that the file has uneven columns</p><blockquote><p><strong>mydata </strong></p></blockquote><p>This causes R to fill empty spaces in a columns with &lsquo;NA&rsquo; .</p><p>The last two examples will still work with our file and give the same result as with only headers=T</p><p><span style="text-decoration: underline;">Graphs</span></p><p>to get an idea of what R is capable of type</p><blockquote><p><strong>demo(graphics)</strong></p></blockquote><p>steps through the examples, and the code is printed to the screen</p><p>We will work with simpler examples that have immediate use to biologists.</p><p>Remember to get more information about the options to a function type &lsquo;?function&rsquo;</p><p><span style="text-decoration: underline;">Histogram of A</span><span style="text-decoration: underline;"></span></p><blockquote><p><strong>hist(mydata$A)</strong></p></blockquote><p>If there was more data we could increase the number of vertical columns with the option, breaks=50 (or another relevant number).</p><blockquote><p><strong>boxplot(mydata)</strong></p></blockquote><p>We can get rid of the need to type the data frame each time by using the <strong>attach</strong> function</p><p># if not already done so</p><blockquote><p><strong>attach(mydata) </strong></p><p><strong>boxplot(mydata$A, mydata$B, name=c(&ldquo;Value A&rdquo;, &ldquo;Value B&rdquo;) , ylab=&ldquo;Count of Something&rdquo;)</strong></p></blockquote><p>same as</p><blockquote><p><strong>boxplot(A, B, name=c(&ldquo;Value A&rdquo;, &ldquo;Value B&rdquo;) , ylab=&ldquo;Count of Something&rdquo;)</strong></p></blockquote><p><span style="text-decoration: underline;">Scatter plot</span></p><p># if not already done so</p><blockquote><p><strong>attach(mydata) </strong></p><p><strong>plot(A,B) # or plot(mydata$A, mydata$B)</strong></p></blockquote><p><strong><span style="text-decoration: underline;">SAVING an image</span></strong></p><p>Windows users (Rgui) RIGHT click on image and select which you want.</p><p><span style="text-decoration: underline;">These instructions work for everyone.</span></p><p>You need to create a new device of the type of file you need, then send the data to that device</p><p>to save as a png file (easy to load into the likes of powerpoint, also great for web applications.</p><blockquote><p><strong>png(&lsquo;filename&rsquo;) </strong></p><p><strong>boxplot(A, B, name=c(&ldquo;Value A&rdquo;, &ldquo;Value B&rdquo;) , ylab=&ldquo;Count of Something&rdquo;)</strong></p></blockquote><p>or to save as a pdf</p><blockquote><p><strong>pdf(&lsquo;filename&rsquo;) </strong></p><p><strong>boxplot(A, B, name=c(&ldquo;Value A&rdquo;, &ldquo;Value B&rdquo;) , ylab=&ldquo;Count of Something&rdquo;)</strong></p></blockquote><p><span style="text-decoration: underline;">Note</span></p><ul>
<li>Nothing will appear on screen, the output is going to the file</li>
<li>Also it may not be saved immediately but will once the device (or R) is turned quit.</li>
</ul><p>To quit R type</p><p><strong>q() # </strong>If you save your session, next time you start R, you will have your data preloaded.</p><p>Or if you want to remain in R</p><blockquote><pre><strong>dev.off() #</strong>turns of the png (or pdf etc) device, thus forces the data to save</pre></blockquote>]]></description>
	<dc:creator>Archana Malhotra</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/poll/view/21982/which-bioinformatics-journals-do-you-follow</guid>
	<pubDate>Fri, 10 Apr 2015 12:10:21 -0500</pubDate>
	<link>https://bioinformaticsonline.com/poll/view/21982/which-bioinformatics-journals-do-you-follow</link>
	<title><![CDATA[Which Bioinformatics Journals Do You Follow?]]></title>
	<description><![CDATA[<p><span><span>Which are your favorite bioinformatics journals? The ones that you check every month or so, or that you are subscribed to?</span></span></p>]]></description>
	<dc:creator>Tenzin Paul</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/file/view/22050/binc-sample-question-paper</guid>
	<pubDate>Thu, 16 Apr 2015 09:15:09 -0500</pubDate>
	<link>https://bioinformaticsonline.com/file/view/22050/binc-sample-question-paper</link>
	<title><![CDATA[BINC Sample Question Paper !!!]]></title>
	<description><![CDATA[<p>BINC sample question paper round THREE ...</p>]]></description>
	<dc:creator>Jitendra Narayan</dc:creator>
	<enclosure url="https://bioinformaticsonline.com/file/download/22050" length="316" type="text/plain" />
</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>

</channel>
</rss>