develooper Front page | perl.beginners | Postings from October 2019

question about perl script

Thread Next
From:
=?GBK?B?wfW2qw==?=
Date:
October 30, 2019 05:53
Subject:
question about perl script
Message ID:
ce7b0e1.4e00.16e1a908f4a.Coremail.liudongm02@163.com
Dear every one:
I try to write a perl script to delet the content of file carp01_1_both.txt as same as from another file carp-carp01_TKD181002053-1_1_sg.txt, so to get a new file from file carp-carp01_TKD181002053-1_1_sg.txt but excluding file carp01_1_both.txt. However, when I run this scrip, it does not work, and display the information as follows:
...

Semicolon seems to be missing at carp01_1_both.txt line 44993.
Number found where operator expected at carp01_1_both.txt line 44994, near "55659 1"
    (Missing operator before  1?)
Number found where operator expected at carp01_1_both.txt line 44994, near "ATCACG    55"
    (Do you need to predeclare ATCACG?)
Number found where operator expected at carp01_1_both.txt line 44994, near "55    116"
    (Missing operator before     116?)

syntax error at carp01_1_both.txt line 1, near "979:"


carp01_1_both.txt:
HISEQ:979:HM2HCBCX2:1:1110:15064:80819 1:N:0:ATCACG     62      123     250     62      +       SINE3-1 45      106     590
HISEQ:979:HM2HCBCX2:1:2104:4144:84852 1:N:0:ATCACG      100     161     250     62      -       SINE3-1 45      106     590
HISEQ:979:HM2HCBCX2:1:1102:2661:55870 1:N:0:ATCACG      141     202     250     62      +       SINE3-1 45      106     590
HISEQ:979:HM2HCBCX2:1:1110:21298:76907 1:N:0:ATCACG     29      221     250     193     +       SINE3-1 3       197     590
HISEQ:979:HM2HCBCX2:1:2116:10990:92099 1:N:0:ATCACG     95      151     250     57      +       SINE3-1 45      101     590
...

carp-carp01_TKD181002053-1_1_sg.txt:
HISEQ:979:HM2HCBCX2:1:1115:9907:8048 1:N:0:ATCACG       117     243     250     127     +       SINE3-1a        210     335     570
HISEQ:979:HM2HCBCX2:1:2208:4628:64650 1:N:0:ATCACG      5       49      250     45      -       SINE3-1 45      89      590
HISEQ:979:HM2HCBCX2:1:1212:6335:22852 1:N:0:ATCACG      2       250     250     249     +       SINE3-1 234     486     590
HISEQ:979:HM2HCBCX2:1:1103:16183:52106 1:N:0:ATCACG     1       250     250     250     -       SINE3-1a        229     474     570
HISEQ:979:HM2HCBCX2:1:2211:8958:6423 1:N:0:ATCACG       1       250     250     250     -       SINE3-1a        117     367     570
HISEQ:979:HM2HCBCX2:1:1113:7857:35762 1:N:0:ATCACG      1       152     250     152     -       SINE3-1 291     445     590
HISEQ:979:HM2HCBCX2:1:1206:12438:18002 1:N:0:ATCACG     1       249     250     249     -       SINE3-1a        283     519     570
...

perl script:
#!/usr/bin/perl -w
open(NAME,"<$ARGV[0]")|| die;
open(SECON,"<$ARGV[1]")|| die;
open(SELEC,">$ARGV[2]")|| die;
$name = "";
%pair = ();

while(<NAME>){
     chomp;
     my @line = split("\t",$_);
        $name = $line[0];
        $pair{$name} = 1;
}

while(my $li = <SECON>){
    chomp($li);
    my  @line = split("\t",$li);
        $name = $line[0];
    my  $cont = $li;
   if (exists $hash{$name}) { # if current read appeared before
        next;
        } else { # if it haven't been read before
        print SELEC "$cont\n";
 }
}

close NAME;
close SECON;
close SELEC;


Sincerely

Dong Liu











--

湖南师范大学生命科学院:刘 东
 
格言:积土而为山,积水而为海;
    知识在于积累,成功在于勤奋。
Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About