in reply to Re^3: How can I print all lines?
in thread How can I print all lines?
I changed my code a bit, but now it prints in this way:
5 Q CAA OUT16 Q CAG OUT
21 Q CAA OUT
74 Q CAA OUT
80 Q CAG OUT
82 Q CAG OUT
84 Q CAG OUT
85 Q CAG OUT
89 Q CAG
IN
90 Q CAG
IN
91 Q CAG
IN
92 Q CAG
IN
93 Q CAA
IN
94 Q CAG
IN
95 Q CAG
IN
96 Q CAG
IN
98 Q CAG OUT
99 Q CAG OUT
100 Q CAG OUT
I would like to get:
My OUTPUT FILE:
5 Q CAA OUT
16 Q CAG OUT
21 Q CAA OUT
74 Q CAA OUT
80 Q CAG OUT
82 Q CAG OUT
84 Q CAG OUT
85 Q CAG OUT
89 Q CAG IN
90 Q CAG IN
91 Q CAG IN
92 Q CAG IN
93 Q CAA IN
94 Q CAG IN
95 Q CAG IN
96 Q CAG IN
98 Q CAG OUT
99 Q CAG OUT
100 Q CAG OUT
Here is my code:
use strict; use warnings; open(FILE, "<", "Q.txt"); my @column=(<FILE>); #get the lines from the standard input into an + array my $file; chomp $file; my $number=0; while($number <= $#column) { #go through the array from +0 to the last element my $j; my $count=0; foreach ($j=$number; $j < $#column; $j++) { #select t +he numbers from the beginning of the line in the current and next ele +ment my $d=($column[$j]=~/(\d+)/)[0] - ($column[$j+1]=~/(\d ++)/)[0]; #difference last if abs($d)!= 1; #if differ more than 1 - le +ave $count+=$d; #accumulate the difference } if(abs($count)>=7) { chomp($column[$_]); $column[$_]=$column[$_]. "\tIN\n" for $number..$j; + #IN if >8 $number=$j+1; } if (abs($count)<8) { chomp($column[$number]); $column[$number] = $column[$number]."\tOUT\n"; + #OUT if < 8 $number++; } } print for @column;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: How can I print all lines?
by SuicideJunkie (Vicar) on Aug 10, 2017 at 15:00 UTC |