Difference between revisions of "8) Generating five 100 AA long protein sequences and storing them in a FASTA file"

From Biolecture.org
imported>Yeonsong Choi
(Created page with "<h2>8) Generating five 100 AA long protein sequences and storing them in a FASTA file</h2> <h2> </h2> <h3>- Idea</h3> <p>1. 20개의 amino acid를 랜덤하게 나타나...")
 
imported>S
 
(6 intermediate revisions by one other user not shown)
Line 1: Line 1:
<h2>8) Generating five 100 AA long protein sequences and storing them in a FASTA file</h2>
+
<p><span style="font-size:14px"><strong>This script use&nbsp;amino acids as&nbsp;random function characters, and display 100aa long sequence in a fasta file:&nbsp;</strong></span></p>
  
<h2>&nbsp;</h2>
+
<p>#!/usr/bon/perl<br />
 +
use strict;<br />
 +
use warnings;</p>
  
<h3>- Idea</h3>
+
<p><strong>&nbsp;open (FASTA, &quot;&gt;random_5AA_seq.fasta&quot;) or die;</strong><br />
 +
&nbsp;<strong>my @range = qw(A G T F P R K L I H C S M Y W D E N Q V)</strong>;<br />
 +
&nbsp;my $seq;<br />
 +
<strong>&nbsp;for my $i (1..5)</strong> {<br />
 +
&nbsp; print FASTA $i,&quot;. &quot;;<br />
 +
&nbsp;<strong>for (1..100)</strong> {<br />
 +
&nbsp; <strong>$seq = $range[rand @range]</strong>;<br />
 +
&nbsp;print FASTA $seq; }<br />
 +
&nbsp;print FASTA &quot;\n&quot;;}</p>
  
<p>1. 20개의 amino acid를 랜덤하게 나타나게 하는 작업을 100번 반복</p>
+
<p>------------------------------------</p>
  
<p>2. 1.의&nbsp;코드를 5번 반복</p>
+
<p>Output FASTA file content:</p>
  
<p>&nbsp; &nbsp;* 반복작업은 for loop사용</p>
+
<p>1. ETLKKEINKDDYRRREHVQLKHAFWVPCGPVTVDWGPLGEDDQGLDSRHFHTLQKYTIYFEMPLINPKFATEMTDSDTMYWAVPKGGYEPNYCRSNQLIE<br />
 +
2. ISNWQWIQRRKTCHSASIYYSYTDWFPHDYKWSQCMCDTRLCTPNDEPMAPTGQLCYDFLAGPEVTMEHGRGAKGHGLFHWRGTTTQFYEGAQMYSNGHL<br />
 +
3. ATIYTKEETFVMLWIQGEYIKMLPGSCCPYFPIAYSFYVRDRHDEVWYITQGKTMNTYPILGCYVAAPSQYTMQKAVAMKRPKNTNRVDDMHMRFNLWAW<br />
 +
4. HEFQEVLFARDFEFKRACTSHHMDEIADQIHQWNRALMCVHEESKDCVPGNCCAQCLPGRTYYREEVPCYLYNGHQSKHHYRGRGQEYLKEWKPPMYENY<br />
 +
5. DACITFMPMKQHTNAENIPNHTCKCQMAHSYNYMEMKHVVQIQRHHPKLIRCMEKHRKSQLVDARNHVKMVGTQLVIEMVDNYDWRSYWGQLPAHYHVST<br />
 +
&nbsp;</p>
  
<p>&nbsp; &nbsp;* rand를 이용해서 chars안의 요소들을 랜덤하게 배치</p>
 
 
<p>&nbsp;</p>
 
 
<h3>- code</h3>
 
 
<hr />
 
<p>#!/usr/bin/perl<br />
 
&nbsp; use strict;<br />
 
&nbsp; use warnings;<br />
 
&nbsp;&nbsp;<br />
 
&nbsp; my @chars=(&#39;A&#39;,&#39;C&#39;,&#39;D&#39;,&#39;E&#39;,&#39;F&#39;,&#39;G&#39;,&#39;H&#39;,&#39;I&#39;,&#39;K&#39;,&#39;L&#39;,&#39;M&#39;,&#39;N&#39;,&#39;P&#39;,&#39;Q&#39;,&#39;R&#39;,&#39;S&#39;,&#39;T&#39;,&#39;V&#39;,&#39;W&#39;,&#39;Y&#39;);<br />
 
&nbsp; my $random_string;<br />
 
&nbsp; my $i;<br />
 
&nbsp; for($i = 1; $i &lt;=5 ; $i++)<br />
 
&nbsp; {<br />
 
&nbsp; &nbsp; print $i,&quot;.&quot;;<br />
 
&nbsp; for(1..100)<br />
 
&nbsp; {<br />
 
&nbsp; &nbsp; $random_string = $chars[rand @chars];<br />
 
&nbsp; &nbsp; print $random_string;<br />
 
&nbsp; };<br />
 
&nbsp;print &quot;\n\n&quot;;<br />
 
&nbsp;};</p>
 
 
<hr />
 
<h3>- Result</h3>
 
 
<p><img alt="" src="/ckfinder/userfiles/images/random_result.png" style="height:229px; width:641px" /></p>
 
 
<h3>&nbsp;</h3>
 
 
<h3>- Application</h3>
 
 
<p>&nbsp;* 키보드로부터 입력을 이용해 amino acid 의 갯수와 반복횟수를 입력받아 원하는 sequence의 갯수와 sequence의 길이를 출력한다.&nbsp;</p>
 
 
<p>&nbsp;* 키보드로부터 입력을 받을때는 &lt;STDIN&gt;을 이용한다.</p>
 
 
<p>&nbsp;</p>
 
 
<h3>-Code_application</h3>
 
 
<hr />
 
<p>#!/usr/bin/perl<br />
 
&nbsp; use strict;<br />
 
&nbsp; use warnings;<br />
 
&nbsp;&nbsp;<br />
 
&nbsp; my @chars=(&#39;A&#39;,&#39;C&#39;,&#39;D&#39;,&#39;E&#39;,&#39;F&#39;,&#39;G&#39;,&#39;H&#39;,&#39;I&#39;,&#39;K&#39;,&#39;L&#39;,&#39;M&#39;,&#39;N&#39;,&#39;P&#39;,&#39;Q&#39;,&#39;R&#39;,&#39;S&#39;,&#39;T&#39;,&#39;V&#39;,&#39;W&#39;,&#39;Y&#39;);<br />
 
&nbsp; my $random_string;<br />
 
&nbsp; my $i;<br />
 
&nbsp; my $repeat;<br />
 
&nbsp; my $string_number;</p>
 
 
<p>print &quot;Put in the number of times to repeat : &quot;;<br />
 
<strong>$repeat = &lt;STDIN&gt;;</strong></p>
 
 
<p>print &quot;Put in the number of sequence : &quot;;<br />
 
<strong>$string_number = &lt;STDIN&gt;;</strong></p>
 
 
<p>&nbsp; for($i = 1; $i &lt;=<strong> $repeat</strong> ; $i++)<br />
 
&nbsp; {<br />
 
&nbsp; &nbsp; print $i,&quot;.&quot;;<br />
 
&nbsp; for(1..<strong>$string_number</strong>)<br />
 
&nbsp; {<br />
 
&nbsp; &nbsp; $random_string = $chars[rand @chars];<br />
 
&nbsp; &nbsp; print $random_string;<br />
 
&nbsp; };<br />
 
&nbsp;print &quot;\n\n&quot;;<br />
 
&nbsp;};</p>
 
 
<hr />
 
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>

Latest revision as of 18:54, 11 June 2017

This script use amino acids as random function characters, and display 100aa long sequence in a fasta file: 

#!/usr/bon/perl
use strict;
use warnings;

 open (FASTA, ">random_5AA_seq.fasta") or die;
 my @range = qw(A G T F P R K L I H C S M Y W D E N Q V);
 my $seq;
 for my $i (1..5) {
  print FASTA $i,". ";
 for (1..100) {
  $seq = $range[rand @range];
 print FASTA $seq; }
 print FASTA "\n";}

------------------------------------

Output FASTA file content:

1. ETLKKEINKDDYRRREHVQLKHAFWVPCGPVTVDWGPLGEDDQGLDSRHFHTLQKYTIYFEMPLINPKFATEMTDSDTMYWAVPKGGYEPNYCRSNQLIE
2. ISNWQWIQRRKTCHSASIYYSYTDWFPHDYKWSQCMCDTRLCTPNDEPMAPTGQLCYDFLAGPEVTMEHGRGAKGHGLFHWRGTTTQFYEGAQMYSNGHL
3. ATIYTKEETFVMLWIQGEYIKMLPGSCCPYFPIAYSFYVRDRHDEVWYITQGKTMNTYPILGCYVAAPSQYTMQKAVAMKRPKNTNRVDDMHMRFNLWAW
4. HEFQEVLFARDFEFKRACTSHHMDEIADQIHQWNRALMCVHEESKDCVPGNCCAQCLPGRTYYREEVPCYLYNGHQSKHHYRGRGQEYLKEWKPPMYENY
5. DACITFMPMKQHTNAENIPNHTCKCQMAHSYNYMEMKHVVQIQRHHPKLIRCMEKHRKSQLVDARNHVKMVGTQLVIEMVDNYDWRSYWGQLPAHYHVST