Error in .pl


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Error in .pl
# 1  
Old 10-18-2014
Error in .pl

I change the directory to where the .vcf is, but it throws an error, Thank

HTML Code:
 #!/bin/bash
echo -n "Enter ID  : "; read id
echo -n "What panel: "; read panel
OMR=Output_Mutation_Report
perl -aF/\\t/ -lne 'BEGIN{%m=map{chomp;s/\cM|\cJ//g;$p=join("\t",(split/\t/)[4,5]);($p,$_)} <>;$m{"#CHROM\tINFO"}=$m{"Chr\tSegment Position"}};/SEGPOS=(\d+)/ || /\t(INFO)\t/ or next;$p=$F[0]."\t".$1;exists $m{$p} and print join("\t",$_,$m{$p})' $id_$panel_$OMR.txt < $id_$panel_$OMR_Filtered.vcf > $id_matched.vcf
Code:
 perl ~/match.pl
Enter ID  : W40855
What panel: Marfan20
/home/cmccabe/match.pl: line 5: .vcf: No such file or directory

The original code:

Code:
 perl -aF/\\t/ -lne 'BEGIN{%m=map{chomp;s/\cM|\cJ//g;$p=join("\t",(split/\t/)[4,5]);($p,$_)} <>;$m{"#CHROM\tINFO"}=$m{"Chr\tSegment Position"}};/SEGPOS=(\d+)/ || /\t(INFO)\t/ or next;$p=$F[0]."\t".$1;exists $m{$p} and print join("\t",$_,$m{$p})' test_Marfan20_Output_Mutation_Report.txt < test_Marfan20_Output_Mutation_Report_Filtered.vcf > test_matched.vcf

# 2  
Old 10-18-2014
You need to tell the shell what a variable to be substituted is, since in this case it doesn't know were it stops being a variable.

This, for the shell means:
Code:
$id_$panel_$OMR_Filtered.vcf

substitute variable $id_
substitute variable $panel_
substitute variable $OMR_Filtered
Since those variables do not exist it will accept null, leaving only .vcf, which does not exist.

This is the way you have to treat it:
Code:
${id}_${panel}_${OMR}_Filtered.vcf

Do the same for the other parameters.

Last edited by Aia; 10-18-2014 at 02:58 PM..
This User Gave Thanks to Aia For This Post:
# 3  
Old 10-18-2014
Your script match.pl is in fact a bash script (although it contains one perl command) and thus the script extension .pl is irritating.
You should rename it to match.sh
When you call your script like perl ~/script.<some-extension-here> you are overriding the actual interpreter program (/bin/bash in this case) and this is the reason why the script is misbehaving, imho.

Can you try bash ~/match.sh ?
# 4  
Old 10-20-2014
The same error seems to happen. Thanks.

Code:
  bash ~/match.sh
Enter ID  : W40855
What panel: Marfan20
/home/cmccabe/match.sh: line 5: .vcf: No such file or directory

I'm not entirely clear on your post Aia as I am still learning shell scripting. Thanks Smilie.
# 5  
Old 10-20-2014
Show the changes you made please, or we are left guessing.
# 6  
Old 10-20-2014
The only change that was made is the file is called match.sh and is called by:
Code:
 bash ~/match.sh

The same code as in post 1 is being used with the same error resulting. Thank you Smilie.

Code:
 #!/bin/bash
echo -n "Enter ID  : "; read id
echo -n "What panel: "; read panel
OMR=Output_Mutation_Report
perl -aF/\\t/ -lne 'BEGIN{%m=map{chomp;s/\cM|\cJ//g;$p=join("\t",(split/\t/)[4,5]);($p,$_)} <>;$m{"#CHROM\tINFO"}=$m{"Chr\tSegment Position"}};/SEGPOS=(\d+)/ || /\t(INFO)\t/ or next;$p=$F[0]."\t".$1;exists $m{$p} and print join("\t",$_,$m{$p})' $id_$panel_$OMR.txt < $id_$panel_$OMR_Filtered.vcf > $id_matched.vcf

# 7  
Old 10-20-2014
Add the following `{' and `}' in red.

Code:
perl -aF/\\t/ -lne '

BEGIN{ %m = map{
                chomp;
                s/\cM|\cJ//g;
                $p = join ("\t",(split/\t/)[4,5]);
                ($p,$_)
               } <>;
       $m{ "#CHROM\tINFO" } = $m{ "Chr\tSegment Position" }
    };

/SEGPOS = (\d+)/ || /\t(INFO)\t/ or next;
$p = $F[0]."\t".$1;
exists $m{$p} and print join ( "\t",$_,$m{$p} )'
${id}_${panel}_${OMR}.txt < ${id}_${panel}_${OMR}_Filtered.vcf > ${id}_matched.vcf


Last edited by Aia; 10-20-2014 at 01:52 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Print Error in Console and both Error & Output in Log file - UNIX

I am writing a shell script with 2 run time arguments. During the execution if i got any error, then it needs to redirected to a error file and in console. Also both error and output to be redirected to a log file. But i am facing the below error. #! /bin/sh errExit () { errMsg=`cat... (1 Reply)
Discussion started by: sarathy_a35
1 Replies

2. Solaris

Rpcinfo: can't contact portmapper: RPC: Authentication error; why = Failed (unspecified error)

I have two servers with a fresh install of Solaris 11, and having problems when doing rpcinfo between them. There is no firewall involved, so everything should theoretically be getting through. Does anyone have any ideas? I did a lot of Google searches, and haven't found a working solution yet. ... (2 Replies)
Discussion started by: christr
2 Replies

3. Shell Programming and Scripting

What is this error log = hda: irq timeout: error=0x00 and how to solve?

what is this error log = hda: irq timeout: error=0x00 and how to solve? every day upon checking the logs i see this error. hda: irq timeout: error=0x00 hda: irq timeout: error=0x00 hda: irq timeout: error=0x00 hda: irq timeout: error=0x00 hw_client: segfault at 0000000000000046 rip... (3 Replies)
Discussion started by: avtalan
3 Replies

4. UNIX for Dummies Questions & Answers

> 5 ")syntax error: operand expected (error token is " error

im kinda new to shell scripting so i need some help i try to run this script and get the error code > 5 ")syntax error: operand expected (error token is " the code for the script is #!/bin/sh # # script to see if the given value is correct # # Define errors ER_AF=86 # Var is... (4 Replies)
Discussion started by: metal005
4 Replies

5. UNIX for Advanced & Expert Users

ssh error: Error reading response length from authentication socket

Hi - I am getting the error `Error reading response length from authentication socket' when I ssh from my cluster to another cluster, and then back to my cluster. It doesn't seem to affect anything, but it's just annoying that it always pops up and tends to confuse new users of the cluster. I... (1 Reply)
Discussion started by: cpp6f
1 Replies

6. Solaris

fssnap error :snapshot error: File system could not be write locked

Hi Guys. This is part of my filesystem structure : Filesystem size used avail capacity Mounted on /dev/md/dsk/d0 47G 5.2G 42G 12% / /devices 0K 0K 0K 0% /devices ctfs 0K 0K 0K 0% ... (2 Replies)
Discussion started by: aggadtech08
2 Replies

7. AIX

nim mksysb error :/usr/bin/savevg[33]: 1016,07: syntax error

-------------------------------------------------------------------------------- Hello, help me please. I am trying to create a mksysb bakup using nim. I am geting this error, how to correct it ? : Command : failed stdout: yes stderr: no... (9 Replies)
Discussion started by: astjen
9 Replies

8. UNIX for Advanced & Expert Users

VSI-FAX error - Cannot login to server and Connecto error to host

I encounters a VSIFAX related error: vfxstat: Cannot login to server on rsac3: Connect error to host 172.16.1.45: Invalid argument It started happening last night with a core dump. Then we can't start VSIFAX again. I am runing VSI-FAX 4.2 on AIX box (0 Replies)
Discussion started by: b_jin
0 Replies

9. UNIX for Dummies Questions & Answers

awk Shell Script error : "Syntax Error : `Split' unexpected

hi there i write one awk script file in shell programing the code is related to dd/mm/yy to month, day year format but i get an error please can anybody help me out in this problem ?????? i give my code here including error awk ` # date-month -- convert mm/dd/yy to month day,... (2 Replies)
Discussion started by: Herry
2 Replies

10. UNIX for Dummies Questions & Answers

Error: Internal system error: Unable to initialize standard output file

Hey guys, need some help. Running AIX Version 5.2 and one of our cron jobs is writing errors to a log file. Any ideas on the following error message. Error: Internal system error: Unable to initialize standard output file I'm guessing more info might be needed, so let me know. Thanks (2 Replies)
Discussion started by: firkus
2 Replies
Login or Register to Ask a Question