MVRS has asked for the wisdom of the Perl Monks concerning the following question:
Dear Monks ,following code works changing headers for some
files but for some filesuse strict; use warnings; #my $count = 1; #my $file; my @files = <xxxx/*>; foreach my $file(@files){ open (FILE,"$file") or die "$!"; my $outfile = $file."out"; open (OFILE,'>',"$outfile") or die "$!"; my $count = 1; while (<FILE>) { chomp; if( s/^>\S+/>contig_$count/) { $count++; } if( /^(\S+)$/) {print OFILE"$1\n\n"} } }
input file
>ATCC33693_scaffold0
AAAAAAGAGAGAAACACTAGCTTCTCTCTTGTTATGAGCTTGGCAAATCCATACTCTCCC AGGCCGCTTCCAGCCAAGTACCATCAGCGTATATGGGCTTAACTTCTAGGTTCGGAATGT AACTAGGTGTACCCCCATAGCTATACTCACCAAGCATATATATTGTATCACATAAAGTTA
>ATCC33693_scaffold1
AAAAAAGAGAGAAACACTAGCTTCTCTCTTGTTATGAGCTTGGCAAATCCATACTCTCCC AGGCCGCTTCCAGCCAAGTACCATCAGCGTATATGGGCTTAACTTCTAGGTTCGGAATGT GTTATGAGCTTGGCAAATCCATACTCTCCCAGGCCGCTTCCAGCCAAGTA
output file
>contig_1
AAAAAAGAGAGAAACACTAGCTTCTCTCTTGTTATGAGCTTGGCAAATCCATACTCTCCC AGGCCGCTTCCAGCCAAGTACCATCAGCGTATATGGGCTTAACTTCTAGGTTCGGAATGT AACTAGGTGTACCCCCATAGCTATACTCACCAAGCATATATATTGTATCACATAAAGTTA
>contig_2
AAAAAAGAGAGAAACACTAGCTTCTCTCTTGTTATGAGCTTGGCAAATCCATACTCTCCC AGGCCGCTTCCAGCCAAGTACCATCAGCGTATATGGGCTTAACTTCTAGGTTCGGAATGT GTTATGAGCTTGGCAAATCCATACTCTCCCAGGCCGCTTCCAGCCAAGTA
i need to change for large number of files but some files fails and the output is empty file please help me where am going wrong
Thanks
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Renaming headers works for some files but fails for some files
by Random_Walk (Prior) on May 09, 2013 at 10:21 UTC | |
|
Re: Renaming headers works for some files but fails for some files
by choroba (Cardinal) on May 09, 2013 at 10:21 UTC | |
|
Re: Renaming headers works for some files but fails for some files
by bioinformatics (Friar) on May 09, 2013 at 20:16 UTC | |
by MVRS (Acolyte) on May 10, 2013 at 03:13 UTC |