Passing arguments to interactive program through bash script, here document


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Passing arguments to interactive program through bash script, here document
# 1  
Old 07-17-2014
Passing arguments to interactive program through bash script, here document

Dear Users,

I have installed a standalone program to do multiple sequence alignment which takes user parameters to run the program. I have multiple sequence files and want to automate this process through a bash script. I have tried to write a small bash code but its throwing errors.
Kindly help me to debug the program.
Thanks in advance.
Code:
#!/bin/bash                                                                                                                                                           

cat <<EOF > data.txt                                                                                                                                                  
(here goes the file name but dont know how to pass the filename argument through the file )                                                                           
auto                                                                                                                                                                  
n                                                                                                                                                                     
/home/multalign/dna.tab                                                                                                                                        
                                                                                                                                                                      
n                                                                                                                                                                     
msf                                                                                                                                                                   
y                                                                                                                                                                     
aligned                                                                                                                                                               
                                                                                                                                                                      
100.90                                                                                                                                                                
EOF                                                                                                                                                                   

for x in {A..H}
do
    echo $x
    for y in PreS1 PreS2 S X
    do
        /home/multalign/tab/ma < data.txt
        echo Done: ${x}_${y}.fas
    done
done

Moderator's Comments:
Mod Comment Please use [code], not [icode] tags for code.

Last edited by Corona688; 07-17-2014 at 02:23 PM..
# 2  
Old 07-17-2014
Throwing which errors? Be specific.

Why are you putting the filename into data.txt ? To put it on the commandline, put it on the commandline.

Code:
/home/multalign/tab/ma filename < data.txt

Or if you meant you want the contents to be dynamic, don't store it in a file at all:

Code:
/home/multalign/tab/ma <<EOF
Text which can include ${VARIABLES}
EOF


Last edited by Corona688; 07-17-2014 at 02:30 PM..
# 3  
Old 07-17-2014
Dear Corona688,
Thank you for your reply. I incorporated the changes but it seems its not able to find the data file ( although i put explicit path name).
Below is the code and error:
Code:
#!/bin/bash                                                                  

cat <<EOF > data.txt                                                         
auto                                                                         
n                                                                            
/home/multalign/tab/dna.tab                                           
                                                                             
n                                                                            
msf                                                                          
y                                                                            
aligned                                                                      
                                                                             
100.90                                                                       
EOF                                                                          

#for x in {A..H}                                                             
for x in H
do
    echo $x
    for y in PreS1 PreS2 S X
    do
        /home/multalign/tab/ma ${x}_${y}.fas < data.txt
        echo Done: ${x}_${y}.fas
    done
done

Error:
Code:
H
Multalin version 5.4.1
Copyright I.N.R.A. France 1989, 1991, 1994, 1996
Published research using this software should cite
Multiple sequence alignment with hierarchical clustering
F. CORPET, 1988, Nucl. Acids Res., 16 (22), 10881-10890
Reading H_PreS1.fas
Sequence #  30

Error: Error reading blosum62.tab. 
Done: H_PreS1.fas
Multalin version 5.4.1
Copyright I.N.R.A. France 1989, 1991, 1994, 1996
Published research using this software should cite
Multiple sequence alignment with hierarchical clustering
F. CORPET, 1988, Nucl. Acids Res., 16 (22), 10881-10890
Reading H_PreS2.fas
Sequence #  30

Error: Error reading blosum62.tab. 
Done: H_PreS2.fas
Multalin version 5.4.1
Copyright I.N.R.A. France 1989, 1991, 1994, 1996
Published research using this software should cite
Multiple sequence alignment with hierarchical clustering
F. CORPET, 1988, Nucl. Acids Res., 16 (22), 10881-10890
Reading H_S.fas
Sequence #  72

Error: Error reading blosum62.tab. 
Done: H_S.fas
Multalin version 5.4.1
Copyright I.N.R.A. France 1989, 1991, 1994, 1996
Published research using this software should cite
Multiple sequence alignment with hierarchical clustering
F. CORPET, 1988, Nucl. Acids Res., 16 (22), 10881-10890
Reading H_X.fas
Sequence #  26

Error: Error reading blosum62.tab. 
Done: H_X.fas

Thanks
# 4  
Old 07-17-2014
It's giving errors about a file you didn't even ask it to read. I think there's more wrong with it than your input.

How exactly would you be running this by hand? Show me one successful sequence, word for word, letter for letter, keystroke for keystroke.
# 5  
Old 07-17-2014
Dear Corona688,
Below the word by word execution of program from terminal: I have the executable set in the path:

Code:
[host@localhost temp]$ ma
Multalin version 5.4.1
Copyright I.N.R.A. France 1989, 1991, 1994, 1996
Published research using this software should cite
Multiple sequence alignment with hierarchical clustering
F. CORPET, 1988, Nucl. Acids Res., 16 (22), 10881-10890

Sequence file:  H_X.fas

Input format (gcg, mul, embl, genbank, auto): (def = auto)  auto

Other Input parameters (y/n) ?: (def=n) n

Symbol comparison table: (def = blosum62.tab) /home/multalign/dna.tab

Gap value ? (def = value in Symbol comparison file):   

Other Alignment parameters (y/n) ?: (def=n) n

Output format (msf, mul, doc): (def = msf) msf

Other Output parameters (y/n) ?: (def=n) y

Ouput order as (aligned, input)) ?: (def=aligned) aligned

Save cluster as a drawing or as a list (d/l) ?: (def = l) l

 Consensus levels (default = 90 and 50) ? :  100.90
Reading H_X.fas
Sequence #  26
Reading /home/multalign/dna.tab
Saving Configuration.
Clustering with fast
Action successful                                                              
Saving H_X.clu
Aligning
gnl|hbvcds|AB059659_ ..................with gnl|hbvcds|EF157291_ Position #    gnl|hbvcds|AB059659_ ...................with gnl|hbvcds|EU498228_ Position #   gnl|hbvcds|AB059659_ ....................with gnl|hbvcds|FJ356715_ Position #  gnl|hbvcds|AB059659_ .....................with gnl|hbvcds|FJ356716_ Position # gnl|hbvcds|AB059659_ ......................with gnl|hbvcds|HM066946_ Position #gnl|hbvcds|AB059659_ .......................with gnl|hbvcds|HM117850_ Position gnl|hbvcds|AB059659_ ........................with gnl|hbvcds|HM117851_ Positiongnl|hbvcds|AB179747_ ................with gnl|hbvcds|AB059660_ ..Position #    gnl|hbvcds|AB059660_ ...................with gnl|hbvcds|AB059659_ Position #   gnl|hbvcds|AB059659_ ....................with gnl|hbvcds|AB205010_ Position #  gnl|hbvcds|AB059659_ .....................with gnl|hbvcds|HM117851_ Position # gnl|hbvcds|AB059659_ ......................with gnl|hbvcds|AB064315_ Position #gnl|hbvcds|AB059659_ .......................with gnl|hbvcds|AY090454_ .PositionAction successful  2 iteration(s)                                              
Saving H_X.cl2
Saving H_X.msf
[host@localhost temp]$

Above options comes up when trying to execute the program from terminal. I am trying to run this program automatically so that I don't have to do this interactively for 1000 of sequences.

I really appreciate your time and response Corona688.
Regards
# 6  
Old 07-17-2014
For the third time, use [code] instead of [icode] tags please. Moderators have been fixing your posts to make them legible.
# 7  
Old 07-17-2014
Extremely sorry, this is coming from the code icon from the text editor.
Again apologize.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Beginner at bash scripting - need help with passing arguments

I at the moment, making a simple bash script, capable of setting up an workspace for me, so i don't have to do it manually.. Problem is though i can't seem to provide the bash script any argument, without running into my error checks, checking for input... Here is the code: #!/bin/bash... (7 Replies)
Discussion started by: kidi
7 Replies

2. Shell Programming and Scripting

Passing arguments while running the script

Hi, I have a requirement for creating a MQ (queue) where the inputs has to be passed as arguments. Running the script as below ./hi.sh "Servername" "QueueManagername" "QueuecreationCommand" cat hi.sh echo "Welcome to $1" runmqsc $2 < $3 But the queue creation command is... (9 Replies)
Discussion started by: Anusha M
9 Replies

3. Shell Programming and Scripting

Using here document when passing arguments

I have a script test.sh which reads various inputs from a user. #!/bin/ksh read x read y read z echo x: $x y: $y z: $z # read few more things again read a read b echo a: $a b: $b When i run this script as test.sh << EOF 1 2 EOF (3 Replies)
Discussion started by: ariesb2b
3 Replies

4. Shell Programming and Scripting

Passing arguments to a bash script

Hi, I wanted to pass an argument to a bash script. So that the argument is used inside the awk command inside the bash script. I know the noraml way of passing argument to a bash script as below : sh myScript.sh abc Inside the bash script i can use like this myArg1=$1 wc $myArg But... (8 Replies)
Discussion started by: shree11
8 Replies

5. Shell Programming and Scripting

How to pass arguments to an interactive script?

I've tried to find a solution to this, but I"m stumped. OS - RH Linux 5.9 I have a bash script <myProgram.sh> that gets executed manually and creates a small response file. I'm trying to automate the running of this script. When myProgram.sh runs, it prompts the user to enter 2 pieces of... (13 Replies)
Discussion started by: progkcp
13 Replies

6. Shell Programming and Scripting

Passing arguments from a bash shell script to a command

I'm pretty new to bash scripting and I've found myself writing things like this (and the same with even more nesting): if $CATEGORIES; then if $LABEL_SLOTS; then $pyth "$wd/texify_grammar.py" "$input" "$texfile" "--label-slots" "--categories" "$CATEGORY_LIST" ... (9 Replies)
Discussion started by: burbly
9 Replies

7. Shell Programming and Scripting

passing arguments to external script

Hi! I have a python script that requires arguments and these arguments are file paths. This script works fine when executed like this: /my_python_script "file_path1" "file_path2" (i added quotes as some file names may have weird characters) the issue happens when i launch my python script... (14 Replies)
Discussion started by: gigagigosu
14 Replies

8. Shell Programming and Scripting

How to make bash wrapper for java/groovy program with variable length arguments lists?

The following bash script does not work because the java/groovy code always thinks there are four arguments even if there are only 1 or 2. As you can see from my hideous backslashes, I am using cygwin bash on windows. export... (1 Reply)
Discussion started by: siegfried
1 Replies

9. UNIX for Advanced & Expert Users

How to pass arguments to an interactive script

Hey guys, I have an interactive script that is quite critical to our production environmentl thus updating it to run non-interactively is not an option. The script takes a varying number of arguments, which it ques untill user confirm end of data entry e.g of user input : 1 2 y ... (3 Replies)
Discussion started by: geek.ksa
3 Replies

10. Shell Programming and Scripting

Passing arguments to a script

I've written a script (bgrep) for a more advanced grep command (& attached a cut down version below). I'm trying allow all grep options to be used, or in any combination. The script works fine if I type say bgrep -i -files product it will return a non-case sensitive list of matches for... (3 Replies)
Discussion started by: Kevin Pryke
3 Replies
Login or Register to Ask a Question