Hello,
I am just beginner in Perl,
I have Two fasta file of different length.
I would like to align them to find difference in nucleotide position.
Output should be like this
Total length of fasta files
First reference file: 1253630 base pair
Second file: 4523366 base pair
If match 2nd file is same as 1st reference file.
Match position at base pair
a-t 455222
c-g 455665
if not match out put should like this
Mismatch position at base pair
A-C 100025
C-T 600045
Result: should be in Output.txt
I tried this code given below:
use strict;
use warnings;
my $file1 = 'chr20.txt';
my $file2 = 'chr21.txt';
my $error = 'error.txt';
open(my $in1, '<', $file1) or die "Cannot open file '$file1' for readi
+ng: $!";
open(my $in2, '<', $file2) or die "Cannot open file '$file2' for readi
+ng: $!";
open(my $out, '>', $error) or die "Cannot open file '$error' for writi
+ng: $!";
my $lineno = 1;
while (my $line1 = <$in1>)
{
my $line2 = <$in2>;
print "$. : $line2,$line1,";
printf $out "Error:lineno:%d mismatch found \n", $lineno
unless $line1 eq $line2;
++$lineno;
}
close $out or die "Cannot close file '$error': $!";
close $in2 or die "Cannot close file '$file2': $!";
close $in1 or die "Cannot close file '$file1': $!";
I am just beginner in Perl,
I have Two fasta file of different length.
I would like to align them to find difference in nucleotide position.
Output should be like this
Total length of fasta files
First reference file: 1253630 base pair
Second file: 4523366 base pair
If match 2nd file is same as 1st reference file.
Match position at base pair
a-t 455222
c-g 455665
if not match out put should like this
Mismatch position at base pair
A-C 100025
C-T 600045
Result: should be in Output.txt
I tried this code given below:
use strict;
use warnings;
my $file1 = 'chr20.txt';
my $file2 = 'chr21.txt';
my $error = 'error.txt';
open(my $in1, '<', $file1) or die "Cannot open file '$file1' for readi
+ng: $!";
open(my $in2, '<', $file2) or die "Cannot open file '$file2' for readi
+ng: $!";
open(my $out, '>', $error) or die "Cannot open file '$error' for writi
+ng: $!";
my $lineno = 1;
while (my $line1 = <$in1>)
{
my $line2 = <$in2>;
print "$. : $line2,$line1,";
printf $out "Error:lineno:%d mismatch found \n", $lineno
unless $line1 eq $line2;
++$lineno;
}
close $out or die "Cannot close file '$error': $!";
close $in2 or die "Cannot close file '$file2': $!";
close $in1 or die "Cannot close file '$file1': $!";
Comment