Permalink
Switch branches/tags
tag-ensembl-stable-061 start snapshot-at-head-of-07-branch release-ensembl-06 release-06 release-06-2 release-1_01 release-1-7-2 release-1-7-1 release-1-7-0 release-1-7-0-RC6 release-1-7-0-RC5 release-1-7-0-RC4 release-1-6-zenodo release-1-6-924 release-1-6-923 release-1-6-922 release-1-6-921 release-1-6-920 release-1-6-910 release-0-9-3 release-0-9-2 release-0-9-0 release-0-7-2 release-0-7-1 release-0-7-0 release-0-05 release-0-05-1 release-0-04-4 release-0-04-3 release-0-04-2 release-0-04-1 prerelease-06 ontology-overhaul-start ontology-overhaul-end ontology-fix1 lightweight_feature join-0-04-to-0-05 gbrowse_1_65 for_gmod_0_003 bioperl-run-release-1-2-0 bioperl-release-1-6 bioperl-release-1-6-901 bioperl-release-1-6-9 bioperl-release-1-6-1 bioperl-release-1-5-2 bioperl-release-1-5-2-patch2 bioperl-release-1-5-2-patch1 bioperl-release-1-5-1 bioperl-release-1-5-1-rc4 bioperl-release-1-5-0 bioperl-release-1-5-0-rc2 bioperl-release-1-5-0-rc1 bioperl-release-1-4-0 bioperl-release-1-2-3 bioperl-release-1-2-2 bioperl-release-1-2-1 bioperl-release-1-2-0 bioperl-release-1-1-0 bioperl-release-1-0-2 bioperl-release-1-0-1 bioperl-release-1-0-0 bioperl-devel-1-3-04 bioperl-devel-1-3-03 bioperl-devel-1-3-02 bioperl-devel-1-3-01 bioperl-devel-1-1-1 bioperl-061-pre1 bioperl-06-1 bioperl-1-6-RC4 bioperl-1-6-RC3_15392 bioperl-1-6-RC3 bioperl-1-6-RC2_15306 bioperl-1-6-RC2 bioperl-1-6-RC1 bioperl-1-6-0_006 bioperl-1-6-0_005 bioperl-1-6-0_004 bioperl-1-6-0_003 bioperl-1-6-0_002 bioperl-1-6-0_001 bioperl-1-2-1-rc1 bioperl-1-0-alpha2-rc bioperl-1-0-alpha bioperl-1-0-0 before-05-to-06-trunk before-05-to-06-merge after004 after-05-06-merge after-05-06-merge-2
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
executable file 80 lines (65 sloc) 2.24 KB
#!/usr/bin/perl
#
################################################################################
#11-17-2001
#Jianwen Fang (jwfang1999@yahoo.com)
#
#THis program returns reverse complement sequences of all sequences in the current directory
#and save them in the same directory, using the same name with extension ".rev"
###############################################################################
use strict;
use Bio::Seq;
use Bio::SeqIO;
my @files = ();
my $folder = '.';
my $inputFormat;
my $outputFormat;
my $numSeq;
#Fasta FASTA format
#EMBL EMBL format
#GenBank GenBank format
#GCG GCG format
#raw Raw format (one sequence per line, no ID)
my @format = ('Fasta', 'EMBL', 'GenBank', 'GCG', 'Raw');
print("\nWhat is the format of the original sequence files?\n");
print("type 0 for Fasta; 1 for EMBL; 2 for GenBank; 3 for GCG; 4 for Raw\n");
$inputFormat = <STDIN>;
chomp ($inputFormat);
print("\nWhat is the format of the reverse complement sequence files you want?\n");
print("type 0 for Fasta; 1 for EMBL; 2 for GenBank; 3 for GCG; 4 for Raw\n");
$outputFormat = <STDIN>;
chomp ($outputFormat);
unless(opendir(FOLDER, $folder))
{
print "cannot open folder $folder!\n";
exit;
}
@files = grep(!/^\.\.?$/, readdir(FOLDER));
foreach my $file (@files)
{
if($file =~ /seq/i)
{
getRevcom($file);
$numSeq++;
}
}
print "$numSeq reverse complement sequences have been saved in current directory\n";
exit;
############################################################################
#subroutine getRevcom take an backward sequence file name(should with .seq extension) as parameter
#return its revcom sequence using the same name with the extension replaced with rev
############################################################################
sub getRevcom
{
my $seqFile = $_[0];
my $in = Bio::SeqIO->new('-file'=>$seqFile, '-format'=>$format[$inputFormat]);
my $seq = $in->next_seq();
my $revcomSeq = $seq->revcom();
my @outSeqFile = split (/\./, $seqFile);
pop @outSeqFile;
push(@outSeqFile, 'rev');
my $outSeqFile = join('.', @outSeqFile);
print "$outSeqFile\n";
my $out = Bio::SeqIO->new('-file'=>">$outSeqFile", '-format'=>$format[$outputFormat]);
$out->write_seq($revcomSeq);
}