Rename BACs: Difference between revisions
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 file in a…' |
No edit summary |
||
| Line 38: | Line 38: | ||
# | # Function | ||
opendir (DIR, "$bacdir") or die $!; | opendir (DIR, "$bacdir") or die $!; | ||
| Line 59: | Line 59: | ||
$file =~ s/-assembly.bases//; | $file =~ s/-assembly.bases//; | ||
$identifier = "BAC_".$file."_".$identifier; | $identifier = "BAC_".$file."_".$identifier; | ||
my ($fasta) = $_; | my ($fasta) = $_; | ||
$fasta = ">$identifier\n$sequence\n"; | $fasta = ">$identifier\n$sequence\n"; | ||
| Line 66: | Line 66: | ||
print F $fasta; | print F $fasta; | ||
close F; | close F; | ||
} | } | ||
| Line 92: | Line 91: | ||
# END | # END | ||
</source> | </source> | ||
[[Category: Bioinformatics]] | [[Category: Bioinformatics]] | ||
Latest revision as of 10:31, 30 April 2010
#! /usr/bin/perl -w
# *************************************************************
# This Programme does the following in sequence
# -> Reads the file in a folder
# -> 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 $bacdir = "$path/tobacco/data/BAC";
my $outfile = "$path/tobacco/data/bac.fa";
my $pm = new Parallel::ForkManager(1);
my ($i) = $_;
my (@files)= @_;
# Clear the Files
if (-e "$outfile") {`rm $outfile`;}
# Function
opendir (DIR, "$bacdir") or die $!;
@files = readdir(DIR);
close(DIR);
foreach my $file(@files) {
next if ($file eq "." or $file eq "..");
$pm->start and next;
my $in = Bio::SeqIO->new(-file => "$bacdir/$file", -format => 'Fasta');
my $identifier;
my $sequence;
while ( my $seq = $in->next_seq() ) {
$identifier = $seq->id;
$sequence = $seq->seq;
$file =~ s/-assembly.bases//;
$identifier = "BAC_".$file."_".$identifier;
my ($fasta) = $_;
$fasta = ">$identifier\n$sequence\n";
open (F, ">>".$outfile);
print F $fasta;
close F;
}
$pm->finish;
}
$pm->wait_all_children;
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