[Bio] / FigMetagenomeTools / randomize_fasta.pl Repository:
ViewVC logotype

View of /FigMetagenomeTools/randomize_fasta.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (download) (as text) (annotate)
Fri Mar 16 20:51:25 2007 UTC (12 years, 11 months ago) by olson
Branch: MAIN
CVS Tags: mgrast_dev_08112011, mgrast_dev_08022011, mgrast_dev_05262011, mgrast_dev_04082011, mgrast_version_3_2, mgrast_dev_12152011, mgrast_dev_06072011, mgrast_rel_2008_0806, mgrast_dev_10262011, mgrast_dev_02212011, mgrast_rel_2008_0923, mgrast_release_3_0, mgrast_dev_03252011, mgrast_rel_2008_0924, mgrast_rel_2008_1110_v2, mgrast_rel_2008_0625, mgrast_release_3_0_4, mgrast_release_3_0_2, mgrast_release_3_0_3, mgrast_release_3_0_1, mgrast_dev_03312011, mgrast_release_3_1_2, mgrast_release_3_1_1, mgrast_release_3_1_0, mgrast_dev_04132011, mgrast_dev_04012011, mgrast_rel_2008_0919, mgrast_rel_2008_1110, myrast_33, mgrast_rel_2008_0917, mgrast_dev_04052011, mgrast_dev_02222011, HEAD
Changes since 1.1: +0 -1 lines
initial tweaks

#!/usr/bin/perl -w

# randomize a fasta file (and optionally a quality file)

use strict;
use Rob;

my $usage=<<EOF;
$0 
-f fasta file
-q quality file (optional)
-o output file (default = fasta file.rand)
EOF

my ($faf, $qaf, $oaf);
while (@ARGV) {
 my $t=shift;
 if ($t eq "-f") {$faf=shift}
 if ($t eq "-q") {$qaf=shift}
 if ($t eq "-o") {$oaf=shift}
}

die $usage unless ($faf);
$oaf = $faf.".rand" unless ($oaf);

my $fa=Rob->read_fasta($faf);
my $qual;
if ($qaf) {$qual=Rob->read_fasta($qaf, 1)} else {print STDERR "No quality file defined, just randomizing $faf\n"}


open(FA, ">$oaf") || die "Can't open $oaf for writing\n";
if ($qaf) {open(QU, ">$oaf.qual") || die "Can't open $oaf.qual for writing\n"}
my $allkeys=Rob->rand([keys %$fa]);
print STDERR "Writing ", scalar(@$allkeys), " sequences\n";
foreach my $key (@$allkeys)
{
 $fa->{$key}=~ s/\s+//g;
 print FA ">$key\n",$fa->{$key},"\n";
 if ($qaf) {
  if ($qual->{$key}) {
   print QU ">$key\n", $qual->{$key}, "\n";
  }
 }
}

print STDERR "DOne in ", $^T-time, " seconds\n";
 
 

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3