Sponsored Content
Full Discussion: Help with perl script
Top Forums Shell Programming and Scripting Help with perl script Post 302552815 by Xterra on Monday 5th of September 2011 05:48:29 PM
Old 09-05-2011
Help with perl script

I have a little problem with the following perl script that is supposed to remove gaps (dashes) from a sequence alignment:
Code:
perl -nla -F"" -e 'if (!/^>/){$n++;for ($i=0;$i<=$#F;$i++){$a{$i}{$F[$i]}++}}END{for ($i=0;$i<=$#F;$i++){if ($a{$i}{"-"}/$n>0.5){print $i}}print "-1"}' infile | awk -vFS="" -vOFS="" 'NR==FNR{a[$0+1]++}{for (i=1;i<=NF;i++) if (i in a) $i=""}FNR!=NR' - infile > outfile

The thing is that when the gap is at the beggining of the sequence, the script will remove it along with the character in the sequence ID, example:
Quote:
>G8C6TSA01AY127 Freq 96
-ACGA-GTGC-GTGG-ATATGATGATGAACTGGTCACCTACAGCA
>G8C6TSA01AY127 Freq 1
-ACGA-GTGC-GTGGAATATGATGATGAACTGGTCACCTACAGCA
>G8C6TSA01AY127 Freq 1
-ACGA-GTGCAGTGG-ATATGATGATGAACTGGTCACCTACAGCA
>G8C6TSA01AY127 Freq 1
-ACGACGTGC-GTGG-ATATGATGATGAACTGGTCACCTACAGCA
>G8C6TSA01AY127 Freq 1
GACGA-GTGC-GTGG-ATATGATGATGAACTGGTCACCTACAGCA
Quote:
G8C6SA01Y127Freq 96
ACGAGTGCGTGGATATGATGATGAACTGGTCACCTACAGCA
G8C6SA01Y127Freq 1
ACGAGTGCGTGGATATGATGATGAACTGGTCACCTACAGCA
G8C6SA01Y127Freq 1
ACGAGTGCGTGGATATGATGATGAACTGGTCACCTACAGCA
G8C6SA01Y127Freq 1
ACGAGTGCGTGGATATGATGATGAACTGGTCACCTACAGCA
G8C6SA01Y127Freq 1
ACGAGTGCGTGGATATGATGATGAACTGGTCACCTACAGCA
Unfortunately, that's enough to mess up the FASTA format which completely stops me from doing any further analysis.
Any help will be greatly appreciated!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl: Run perl script in the current process

I have a question regarding running perl in the current process. I shall demonstrate with an example. Look at this. sh-2.05b$ pwd /tmp sh-2.05b$ cat test.sh #! /bin/sh cd /etc sh-2.05b$ ./test.sh sh-2.05b$ pwd /tmp sh-2.05b$ . ./test.sh sh-2.05b$ pwd /etc sh-2.05b$ So... (10 Replies)
Discussion started by: vino
10 Replies

2. Shell Programming and Scripting

[Perl] Accessing array elements within a sed command in Perl script

I am trying to use a script to replace the header of each file, whose filename are stored within the array $test, using the sed command within a Perl script as follows: $count = 0; while ( $count < $#test ) { `sed -e 's/BIOGRF 321/BIOGRF 332/g' ${test} > 0`; `cat 0 >... (2 Replies)
Discussion started by: userix
2 Replies

3. Shell Programming and Scripting

perl/unix: script in command line works but not in perl

so in unix this command works works and shows me a list of directories find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt but when i try running a perl script to run this command my $query = 'find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt';... (2 Replies)
Discussion started by: kpddong
2 Replies

4. Shell Programming and Scripting

Perl :How to print the o/p of a Perl script on console and redirecting same in log file @ same time.

How can i print the output of a perl script on a unix console and redirect the same in a log file under same directory simultaneously ? Like in Shell script, we use tee, is there anything in Perl or any other option ? (2 Replies)
Discussion started by: butterfly20
2 Replies

5. Shell Programming and Scripting

HELP on Perl array / sorting - trying to convert Korn Shell Script to Perl

Hi all, Not sure if this should be in the programming forum, but I believe it will get more response under the Shell Programming and Scripting FORUM. Am trying to write a customized df script in Perl and need some help with regards to using arrays and file handlers. At the moment am... (3 Replies)
Discussion started by: newbie_01
3 Replies

6. Shell Programming and Scripting

calling a perl script with arguments from a parent perl script

I am trying to run a perl script which needs input arguments from a parent perl script, but doesn't seem to work. Appreciate your help in this regard. From parent.pl $input1=123; $input2=abc; I tried calling it with system("/usr/bin/perl child.pl $input1 $input2"); and `perl... (1 Reply)
Discussion started by: grajp002
1 Replies

7. Shell Programming and Scripting

executing perl script from another perl script : NOT WORKING

Hi Folks, I have 2 perl scripts and I need to execute 2nd perl script from the 1st perl script in WINDOWS. In the 1st perl script that I had, I am calling the 2nd script main.pl =========== print "This is my main script\n"; `perl C:\\Users\\sripathg\\Desktop\\scripts\\hi.pl`; ... (3 Replies)
Discussion started by: giridhar276
3 Replies

8. Shell Programming and Scripting

Perl : embedding java script with cgi perl script

Hi All, I am aware that html tags can be embedded in cgi script as below.. In the same way is it possible to embed the below javascript in perl cgi script ?? print("<form action="action.htm" method="post" onSubmit="return submitForm(this.Submitbutton)">"); print("<input type = "text"... (1 Reply)
Discussion started by: scriptscript
1 Replies

9. Shell Programming and Scripting

Excuting perl script from within a perl script with variables.

Not sure what I am doing wrong here, but I can print the list with no issue. Just a blank screen with the 'do'. #!/usr/bin/perl open FILE, "upslist.txt"; while ($line=<FILE>){ if ($line=~/^(.*?),(.*?)$/){ #print "ups:$1 string:$2\n"; do 'check_snmp_mgeups-0.1.pl -H $1 -C $2'; } ... (1 Reply)
Discussion started by: mrlayance
1 Replies

10. Programming

PERL: In a perl-scripttTrying to execute another perl-script that SETS SOME VARIABLES !

I have reviewed many examples on-line about running another process (either PERL or shell command or a program), but do not find any usefull for my needs way. (Reviewed and not useful the system(), 'back ticks', exec() and open()) I would like to run another PERL-script from first one, not... (1 Reply)
Discussion started by: alex_5161
1 Replies
build-lives-rfx-plugin(1)				      General Commands Manual					 build-lives-rfx-plugin(1)

NAME
build-lives-rfx-plugin - builds rendered effects for LiVES SYNOPSIS
build-lives-rfx-plugin script_name [plugin_dir] -get section file DESCRIPTION
This perl script is used by LiVES to compile an RFX (rendered effect) plugin for LiVES. It is generally called from build-lives-rfx-plugin- multi for a script which has a language code representing LiVES-perl. The script_name must be the full (absolute) path to the plugin script, and plugin_dir can be used to specify the output directory where the compiled plugin should be generated. If plugin_dir is not defined then /tmp is assumed. The second variant with -get is used to print out a script section from a plugin script to stdout. It is generally only used internally by LiVES. Return values The script returns the following values 0 - success 1 - the value of a trigger was greater than the number of parameters 2 - a value could not be read from the script file 3 - the language code of the plugin script was not equivalent to LiVES-perl 4 - the API version level of the plugin script was invalid 5 - the <define> section was missing from the plugin script SEE ALSO
build-lives-rfx-plugin-multi(1), lives(1) AUTHOR
Gabriel Finch a.k.a Salsaman (salsaman@xs4all.nl) May 9 2010 build-lives-rfx-plugin(1)
All times are GMT -4. The time now is 08:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy