#!usr/bin/perl use strict; use warnings; my $input_file="file1.seq"; open my $FILE1, "<", $input_file or die "Cannot open $input_file .$!"; my $output_file="file2.csv"; open my $FILE2, ">", $output_file or die "Cannot open $output_file .$!"; my $line=<$FILE1>; chomp $line; my @columnheadings=split(/\t/, $line); unshift(@columnheadings, ("Header")); my $heading=join("\t", @columnheadings); print $FILE2 "$heading\n"; my %tag; while (my $line=<$FILE1>) { chomp $line; $line=~s/\t/,/g; my @columns=split(/,/, $line); my $tags=$columns[0]; $tag{$tags}=$line; } foreach my $tags (sort keys %tag){ my $header; my @columns=split(/,/,$tag{$tags}); $tags=$columns[0]; my $freq=$columns[1]; my $range=500000; my $random_number=int(rand($range)); $header=">HWTI_".$freq."_".$random_number; my $printline=$tag{$tags}; $printline=$header.",".$printline; print $FILE2 "$printline\n"; }