[Bio] / FigKernelScripts / mg_user_id_to_unique.pl Repository:
ViewVC logotype

View of /FigKernelScripts/mg_user_id_to_unique.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (download) (as text) (annotate)
Wed Jan 30 15:24:21 2008 UTC (11 years, 9 months ago) by mkubal
Branch: MAIN
CVS Tags: mgrast_dev_08112011, rast_rel_2009_05_18, mgrast_dev_08022011, rast_rel_2014_0912, rast_rel_2008_06_18, myrast_rel40, rast_rel_2008_06_16, mgrast_dev_05262011, rast_rel_2008_12_18, mgrast_dev_04082011, rast_rel_2008_07_21, rast_rel_2010_0928, rast_2008_0924, mgrast_version_3_2, mgrast_dev_12152011, rast_rel_2008_04_23, mgrast_dev_06072011, rast_rel_2008_09_30, rast_rel_2009_0925, rast_rel_2010_0526, rast_rel_2014_0729, mgrast_dev_02212011, rast_rel_2010_1206, mgrast_release_3_0, mgrast_dev_03252011, rast_rel_2010_0118, mgrast_rel_2008_0924, mgrast_rel_2008_1110_v2, rast_rel_2009_02_05, rast_rel_2011_0119, 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, rast_rel_2008_10_09, mgrast_dev_04012011, rast_release_2008_09_29, mgrast_rel_2008_0806, mgrast_rel_2008_0923, mgrast_rel_2008_0919, rast_rel_2009_07_09, rast_rel_2010_0827, mgrast_rel_2008_1110, myrast_33, rast_rel_2011_0928, rast_rel_2008_09_29, mgrast_rel_2008_0917, rast_rel_2008_10_29, mgrast_dev_04052011, mgrast_dev_02222011, rast_rel_2009_03_26, mgrast_dev_10262011, rast_rel_2008_11_24, rast_rel_2008_08_07, HEAD
Changes since 1.1: +1 -3 lines
full loop

if(scalar(@ARGV) != 1){
    print "usage: mg_user_id_to_unique location_of_jobs_dir\n";
    exit;
}

#$job_dirs such as /vol/mg-rast/Jobs.dev
my $jobs_dir = shift(@ARGV);

opendir(DIR,$jobs_dir);
@jobs = readdir(DIR);
close(DIR);

foreach my $job (@jobs){
    my %seq_to_user_id;
    my %seq_to_unique;
    my $mg_id;
    
    open(IN,"$jobs_dir/$job/GENOME_ID");
    while($_ = <IN>){
	chomp($_);
	$mg_id = $_;
    }
    close(IN);
    
    opendir(DIR,"$jobs_dir/$job/raw");
    my @files = readdir(DIR);
    close(DIR);
    foreach my $file (@files){
	if($file =~/\.fa$/){
	    open(IN,"$jobs_dir/$job/raw/$file");
	    my $seq;
	    my $id;
	    while ($_ = <IN>){
		chomp($_);
		if($_ =~ />(.*)/){
		    my @parts = split(" ",$1);
		    $id = $parts[0];
		    if($seq){
			$seq_to_user_id{$seq} = $id;
		    }
		    $seq = "";
		}
		else{
		    $_ = lc($_);
		    $seq .= $_;
		}
	    }
	    close(IN);
	    last;
	}
	
	elsif($file =~/\.fna$/){
	    open(IN,"$jobs_dir/$job/raw/$file");
	    my $seq;
	    my $id;
	    
	    while ($_ = <IN>){
		chomp($_);
		if($_ =~/^>(.*)/){
		    my @parts = split(" ",$1);
		    $id = $parts[0];
		    if($seq){
			$seq_to_user_id{$seq} = $id;
		    }
		    $seq = "";
		}
		else{
		    $_ = lc($_);
		    $seq .= $_;
		}
	    }
	    close(IN);
	    last;
	}
	elsif($file =~/\.fasta$/){
	    open(IN,"$jobs_dir/$job/raw/$file");
	    my $seq;
	    my $id;
	    
	    while ($_ = <IN>){
		chomp($_);
		if($_ =~/^>(.*)/){
		    my @parts = split(" ",$1);
		    $id = $parts[0];
		    if($seq){
			$seq_to_user_id{$seq} = $id;
		    }
		    $seq = "";
		}
		else{
		    $_ = lc($_);
		    $seq .= $_;
		}
	    }
	    close(IN);
	    last;
	}
    }

    opendir(DIR,"$jobs_dir/$job/proc");
    my @files = readdir(DIR);
    close(DIR);
    foreach my $file (@files){
	if($file =~/^\d+.fa$/){
	    open(IN,"$jobs_dir/$job/proc/$file");
	    my $seq;
	    my $id;
	    while ($_ = <IN>){
		chomp($_);
		if($_ =~/^>(\d+)/){
		    $id = $1;
		    if($seq){
			$seq_to_unique{$seq} = $id;
		    }
		    $seq = "";
		}
		else{
		    $_ = lc($_);
		    $seq .= $_;
		}
	    }
	    close(IN);
	    last;
	}
    }

    open(OUT,">$jobs_dir/$job/download/$mg_id.user_id_to_normalized_unique.txt");
    print OUT "USER_PROVIDED_ID\tMG-RAST_PROVIDED_ID\n";
    foreach my $seq (keys(%seq_to_user_id)){
	my $unique_id = "NOT FOUND";
	my $user_id = $seq_to_user_id{$seq};
	my $unique_id = $seq_to_unique{$seq};
	print OUT "$user_id\t$unique_id\n";
    }
    close(OUT);
}


MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3