
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.rajkumar.in/index.php?action=history&amp;feed=atom&amp;title=Parse_tobea</id>
	<title>Parse tobea - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.rajkumar.in/index.php?action=history&amp;feed=atom&amp;title=Parse_tobea"/>
	<link rel="alternate" type="text/html" href="https://www.rajkumar.in/index.php?title=Parse_tobea&amp;action=history"/>
	<updated>2026-07-09T20:08:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://www.rajkumar.in/index.php?title=Parse_tobea&amp;diff=1508&amp;oldid=prev</id>
		<title>Raj: Created page with &#039;Category: Bioinformatics  &lt;source lang=perl&gt; #! /usr/bin/perl -w  # ************************************************************* # This Programme does the following in seque…&#039;</title>
		<link rel="alternate" type="text/html" href="https://www.rajkumar.in/index.php?title=Parse_tobea&amp;diff=1508&amp;oldid=prev"/>
		<updated>2010-03-02T04:53:49Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;&lt;a href=&quot;/index.php/Category:Bioinformatics&quot; title=&quot;Category:Bioinformatics&quot;&gt;Category: Bioinformatics&lt;/a&gt;  &amp;lt;source lang=perl&amp;gt; #! /usr/bin/perl -w  # ************************************************************* # This Programme does the following in seque…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category: Bioinformatics]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=perl&amp;gt;&lt;br /&gt;
#! /usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
# *************************************************************&lt;br /&gt;
# This Programme does the following in sequence&lt;br /&gt;
# -&amp;gt; Parse the Blast output of tobea - est contigs&lt;br /&gt;
# -&amp;gt; Write the results into a seperate folder with each EST&lt;br /&gt;
# -&amp;gt; Write the statistics files (est_scaf_hit.stat, unique_scaf_hit.stat)&lt;br /&gt;
# Author : Rajkumar (itc@rajkumar.in)&lt;br /&gt;
# Release: MAR 2010&lt;br /&gt;
# *************************************************************&lt;br /&gt;
&lt;br /&gt;
# Libraries&lt;br /&gt;
	use strict;&lt;br /&gt;
	use Bio::Perl;&lt;br /&gt;
	use Bio::SearchIO;&lt;br /&gt;
&lt;br /&gt;
# At the top: Time Start&lt;br /&gt;
	my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);&lt;br /&gt;
&lt;br /&gt;
# Variables&lt;br /&gt;
	my $path        = &amp;quot;/home/raj/bio&amp;quot;;&lt;br /&gt;
	my $blastdir    = &amp;quot;$path/tobacco/blast/tobea&amp;quot;;&lt;br /&gt;
	my $resdir      = &amp;quot;$blastdir/result&amp;quot;;&lt;br /&gt;
	my $statfile    = &amp;quot;$blastdir/tobea_est_hit.stat&amp;quot;;&lt;br /&gt;
	my $uniquescaf  = &amp;quot;$blastdir/tobea_unique_est_hit.stat&amp;quot;;&lt;br /&gt;
	my $blastoutdir = &amp;quot;$blastdir/blastout&amp;quot;;		&lt;br /&gt;
	&lt;br /&gt;
	my ($i, $line, $c_sequence) = $_;&lt;br /&gt;
	my (@files,@esthits, @uniquescaf, @uniquescaf_ )  = @_;&lt;br /&gt;
	&lt;br /&gt;
# Parsing Functions&lt;br /&gt;
&lt;br /&gt;
	print &amp;quot;\n\tCreating required folders..\n&amp;quot;;&lt;br /&gt;
	if (-e &amp;quot;$resdir&amp;quot;) {`rm -fr $resdir`;}&lt;br /&gt;
	if (! -e &amp;quot;$resdir&amp;quot;) {`mkdir $resdir`;}&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Work with the temp file to pick only the top hits with one scaffold&lt;br /&gt;
&lt;br /&gt;
	print &amp;quot;\tOpening the separate Blastout files..\n&amp;quot;;&lt;br /&gt;
	opendir (DIR, &amp;quot;$blastoutdir&amp;quot;) or die $!;&lt;br /&gt;
	@files = readdir(DIR);&lt;br /&gt;
	close(DIR);&lt;br /&gt;
&lt;br /&gt;
	# Writing the headers&lt;br /&gt;
	open (F, &amp;quot;&amp;gt;&amp;gt;&amp;quot;.$resdir.&amp;quot;/&amp;quot;.&amp;quot;blast.parse.out&amp;quot;);&lt;br /&gt;
	print F &amp;quot;TOBEA_ID\tEST_ID\tTOBEA_SEQ_LENGTH\tALN_LENGTH\tALN_PERCENT\tIDNETITY\tMISMATCH\tGAP\tTOBEA_START\tTOBEA_END\tEST_START\tEST_END\tE-VALUE\n&amp;quot;;&lt;br /&gt;
	close F;&lt;br /&gt;
	&lt;br /&gt;
	foreach my $file(@files) {&lt;br /&gt;
		next if ($file eq &amp;quot;.&amp;quot;  or $file eq &amp;quot;..&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
		$i = 0;&lt;br /&gt;
		foreach my $line (split (&amp;quot;\n&amp;quot;, `cat $blastoutdir/$file`)) {&lt;br /&gt;
		&lt;br /&gt;
			next if ($line =~ m/^#/);&lt;br /&gt;
			&lt;br /&gt;
			my ($tobea_id, $est_id, $identity, $aln_length, $mismatches, $gap, $q_start, $q_end, $s_start, $s_end, $e, $bit_score ) = split(/\t/, $line);&lt;br /&gt;
			&lt;br /&gt;
			$i++;&lt;br /&gt;
			next if ($i &amp;gt;1 );&lt;br /&gt;
			&lt;br /&gt;
			if ($file =~ m/[A-Z]+[0-9]+_([0-9]+)/){$c_sequence = $1;}&lt;br /&gt;
  			my $aln_percent= ($aln_length/$c_sequence)*100;&lt;br /&gt;
  			my $aln_percent = sprintf &amp;quot;%.1f&amp;quot;,$aln_percent;&lt;br /&gt;
&lt;br /&gt;
  			&lt;br /&gt;
  			my $csv = &amp;quot;$tobea_id\t$est_id\t$c_sequence\t$aln_length\t$aln_percent\t$identity\t$mismatches\t$gap\t$q_start\t$q_end\t$s_start\t$s_end\t$e&amp;quot;;&lt;br /&gt;
	  		&lt;br /&gt;
  			print &amp;quot;\r\tWriting $tobea_id in blast.parse.out&amp;quot;;&lt;br /&gt;
  			open (F, &amp;quot;&amp;gt;&amp;gt;&amp;quot;.$resdir.&amp;quot;/&amp;quot;.&amp;quot;blast.parse.out&amp;quot;);&lt;br /&gt;
			print F &amp;quot;$csv\n&amp;quot;;&lt;br /&gt;
			close F;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	print &amp;quot;\nAll Done!\n\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# At the End: Time Calculation&lt;br /&gt;
	my ($sec_,$min_,$hour_,$mday_,$mon_,$year_,$wday_,$yday_,$isdst_) = localtime(time);&lt;br /&gt;
	my $days  = $mday_-$mday;&lt;br /&gt;
	my $hours = $hour_-$hour;&lt;br /&gt;
	my $mins  = $min_-$min;&lt;br /&gt;
	my $secs  = $sec_-$sec;&lt;br /&gt;
	print &amp;quot;\n------------------------\nDuration: &amp;quot;;&lt;br /&gt;
	if ($days&amp;gt;0) { print &amp;quot;$days days&amp;quot;;}&lt;br /&gt;
	if ($hours&amp;gt;0) { print &amp;quot;: $hours hours&amp;quot;;}&lt;br /&gt;
	if ($mins&amp;gt;0) { print &amp;quot;: $mins mins&amp;quot;;}&lt;br /&gt;
	if ($secs&amp;gt;0) { print &amp;quot;: $secs secs&amp;quot;;}&lt;br /&gt;
	print &amp;quot;\n------------------------\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# END&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Raj</name></author>
	</entry>
</feed>