Rename TGI: Difference between revisions

From RAJ INFO
Jump to navigation Jump to search
Created page with '<source lang=perl> #! /usr/bin/perl -w # ************************************************************* # This Programme does the following in sequence # -> Reads the 2 files (T…'
 
No edit summary
 
Line 117: Line 117:
# END
# END


</perl>
</source>


[[Category: Bioinformatics]]
[[Category: Bioinformatics]]

Latest revision as of 13:24, 28 April 2010

#! /usr/bin/perl -w
 
# *************************************************************
# This Programme does the following in sequence
# -> Reads the 2 files (TGI)
# -> Reads the fasta, name appropriately and writes a concatenated outfile
# Author : Rajkumar (itc@rajkumar.in)
# Release: APR 2010
# *************************************************************
 
# Libraries
	use strict;
	use Bio::Perl;
	use Bio::SearchIO;
	use Parallel::ForkManager;

 
# At the top: Time Start
	my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
 
# Variables
	my $path    = "/home/raj/bio";
	my $datadir = "$path/tobacco/data";
	my $singlet = "$datadir/tgi_singlet.fa";
	my $contig  = "$datadir/tgi_contig.fa";
	my $outfile = "$datadir/tgi.fa";
	
	my $pm = new Parallel::ForkManager(16);
	 
	my ($i)    = $_;
	my (@files)= @_;
 


# Clear the Files
	
	if (-e "$outfile") {`rm $outfile`;}

 
# Parsing the Contigs
	print "\n\tParsing Contigs..";
	
	my $in  = Bio::SeqIO->new(-file => "$contig", -format => 'Fasta');
	my $identifier;
	my $sequence;
 
	while ( my $seq = $in->next_seq() ) {

		$pm->start and next;
		
		$identifier = $seq->id;
		$sequence = $seq->seq;
	  		
	  	$identifier = "TGI_CON_".$identifier;
 
		my ($fasta) = $_;
		$fasta = ">$identifier\n$sequence\n";
			
		open (F, ">>".$outfile);
		print F $fasta;
		close F;

		$pm->finish;
	}
		
	$pm->wait_all_children;
	print " Done!\n";
	
	

# Parsing the Singlet

	print "\n\tParsing Singlets..";

	$in  = Bio::SeqIO->new(-file => "$singlet", -format => 'Fasta');
 
	while ( my $seq = $in->next_seq() ) {

		$pm->start and next;

		$identifier = $seq->id;
		$sequence = $seq->seq;
	  		
	  	$identifier = "TGI_SIG_".$identifier;
 
		my ($fasta) = $_;
		$fasta = ">$identifier\n$sequence\n";
			
		open (F, ">>".$outfile);
		print F $fasta;
		close F;

		$pm->finish;
	}
		
	$pm->wait_all_children;
	print " Done!\n";
	
	
	print "\n\tAll Done!\n\n";
	
 
# At the End: Time Calculation
	my ($sec_,$min_,$hour_,$mday_,$mon_,$year_,$wday_,$yday_,$isdst_) = localtime(time);
	my $days  = $mday_-$mday;
	my $hours = $hour_-$hour;
	my $mins  = $min_-$min;
	my $secs  = $sec_-$sec;
	print "\n------------------------\nDuration: ";
	if ($days>0) { print "$days days";}
	if ($hours>0) { print ": $hours hours";}
	if ($mins>0) { print ": $mins mins";}
	if ($secs>0) { print ": $secs secs";}
	print "\n------------------------\n";
 
# END