Sponsored Content
Full Discussion: awk getline problem
Top Forums Shell Programming and Scripting awk getline problem Post 302743829 by yifangt on Thursday 13th of December 2012 11:41:47 AM
Old 12-13-2012
awk getline problem

Hello,
I want to print out the DNA sequence entries (tens of thousand!) that are longer than certain value (i=200) from a file (FASTA file) as:
Code:
>S94D_ctg_8004 Average coverage: 402.95
ATAATGCCTGTGAATATGACATGTGTTCCTGTTTCTACATCAGACTACTATTCTTGCATA
TCCCGCATCAGTCACTTATGATAAGGCACCTTTAAGTCGCCACTGTGATATTGGTTGTGT
CTTGCATATGATTTCTAGCATGTACTGCTTCTAATTTGTTGAAACGCCATACAGTTTGAA
CTTGGCAGAGTGATATTGGTTGCATCTTTCATATGGTGTCTAGCTTGCAGTGCTTCTAAT
TT
>S94D_ctg_8022 Average coverage: 212.74
CGTTGTCTGTGTGACATTTAAGAGTGTTTTGTGCAGTGCAACAAAAGGTCACAATGGCAA
CGAGGTGAAGTAGATAACCCTGTTTACACAGAGGTGCAAAGGAAACAACTAGTGGTCAAT
AACCCTGTTTACCAGCACCATGTGCATCTACCGATGTACTGGGGTGATGCACAGTCTGTT
G
>S94D_ctg_8062 Average coverage: 710.87
ATGAATTTCAGACGAGTTTTGGATTTACTAGAATTTAAAAACCAGGCATCTCAATGTTTT
GCCGGCAATCAACGGTGCCCTGGTGTTTGAAATTCATTCCCATTTCTTGCATGGGACCTA
AGCATGCACCCAAGGACA
>S94D_ctg_9034 Average coverage: 37.84
AGATTATTTTGTCTGCCATGTATAATTTTGGTTGATGTTTAGCCTGTTGTGCTTAACATG
CTTCTCGACGTACCTACACAGGACAATTTGGGAACGACTGCTGTTTTCCATCGAGGTTAG
TTTCATCCCATGGCTTATATCTGCTCAATGTTCAGGATATCGGTAGCCGGTACCATATAG
GCCGGCGGCTGATAGGAGACTAATCGGTGAATCGGACT

I tried:
Code:
awk '! /^>S/ { next } { getline seq } (length(seq) >= i) { print $0 "\n" seq }' i=200 infile.fasta

Nothing was print out.
I noticed the DNA sequence line are 60bp wide, if my i is less than 60, only the header (the lines with ">" as separator) and the first sequence line were printed, but I am expecting all sequence lines under each header. If the i is bigger than 60, nothing was printed. For sure most of the entries in the infile.fasta are longer than 60bp. Did I miss anything?
Thanks a lot!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk:Problem with getline

$ echo |awk ' BEGIN {"date" | getline current_time;close("date");print "Report printed on " current_time}' Report printed on Thu May 11 14:57:29 METDST 2006 This example works fine but how can i print all the output when is longer... (3 Replies)
Discussion started by: Klashxx
3 Replies

2. Shell Programming and Scripting

awk getline help maybe?

hello collegues, I am attempting to use awk to search file1 (serverlist.csv) from each row with file2 (supported.txt). If the is no entry exists in serverlist then output to a file called notsupp.out if there is an entry output to supp.out I can do this with basic shell scripting however... (0 Replies)
Discussion started by: chlawren
0 Replies

3. Shell Programming and Scripting

awk getline

How do you make the getline function return to the original line? The example below should make it clear where I am currently going wrong. Thanks AWK SCRIPT: ------------- awk -F '-' '{ tmpLine = "EMPTY" print "CURRENT LINE :"$0 getline tmpLine print "NEXT LINE :"tmpLine }'... (1 Reply)
Discussion started by: garethsays
1 Replies

4. Shell Programming and Scripting

syntax about getline of awk

i want to use getline to read command output to a var but the command i want to run is composed of a string and a variable,example: echo "" | awk 'BEGIN{myfile="anyfilename"}{"ls -l "myfile | getline a;print a}'and i got a error sh: anyfilename: command not foundit seems awk just ignored the... (4 Replies)
Discussion started by: b33713
4 Replies

5. Shell Programming and Scripting

Using getline in awk

I am using awk and want to use getline from a file like below getline x < file However file consists of two columns and I only want to store $2 Any way I can do this? ---------- Post updated at 06:54 AM ---------- Previous update was at 06:45 AM ---------- Done something like this.... (1 Reply)
Discussion started by: kristinu
1 Replies

6. Shell Programming and Scripting

Some Awk Getline help?

Greetings, I have about 3000 files that I want to search. The first column in all of these 3000 files has a unique serial number on each line. The subsequent columns have lots of data. I have another masterfile with three columns to help me find all the data I need in a moments notice: col 1... (15 Replies)
Discussion started by: jeeplou
15 Replies

7. Shell Programming and Scripting

awk getline question

hi experts i like to know how to print more line using getline command using awk. with below command i can only see one line (line no:1) however i do have more line as shown below line no:2,line no:3,line no:4 and so forth. how do i get those to show up using the below command. I tried... (7 Replies)
Discussion started by: Jared
7 Replies

8. Shell Programming and Scripting

Getline not working in awk

hi, i am trying to parse a file in awk to generate a output to be written in a file depeding upon some condition. below is the code Content of file1 919873741577,9131638459976206,20130715150109,S,919811000214,2A65,405899136999995... (10 Replies)
Discussion started by: siramitsharma
10 Replies

9. Shell Programming and Scripting

awk getline

Hi, I have an awk script with the following function in it . function cmd( c ) { while( ( c | getline foo) > 0 ){ return foo ; close( c ); } } c =... (4 Replies)
Discussion started by: MetaMan
4 Replies

10. Shell Programming and Scripting

awk with if, getline, and another if

Howdy Folks, It seems like it is always awk that confuses the heck out of me and I even have books and examples. I have this line: awk '{if (/clientIP/)(SRV = $NF); if ($2 ~ /BUNDLE-GIM/) getline; if ($2 ~ /r100595/) {print SRV,"BUNDLE-GIM",$2}}' post.txt to parse this text: <api... (4 Replies)
Discussion started by: port43
4 Replies
SEQ(1)							    BSD General Commands Manual 						    SEQ(1)

NAME
seq -- print sequences of numbers SYNOPSIS
seq [-w] [-f format] [-s string] [-t string] [first [incr]] last DESCRIPTION
The seq utility prints a sequence of numbers, one per line (default), from first (default 1), to near last as possible, in increments of incr (default 1). When first is larger than last the default incr is -1. All numbers are interpreted as floating point. Normally integer values are printed as decimal integers. The seq utility accepts the following options: -f format Use a printf(3) style format to print each number. Only the E, e, f, G, g, and % conversion characters are valid, along with any optional flags and an optional numeric minimum field width or precision. The format can contain character escape sequences in backslash notation as defined in ANSI X3.159-1989 (``ANSI C89''). The default is %g. -s string Use string to separate numbers. The string can contain character escape sequences in backslash notation as defined in ANSI X3.159-1989 (``ANSI C89''). The default is . -t string Use string to terminate sequence of numbers. The string can contain character escape sequences in backslash notation as defined in ANSI X3.159-1989 (``ANSI C89''). This option is useful when the default separator does not contain a . -w Equalize the widths of all numbers by padding with zeros as necessary. This option has no effect with the -f option. If any sequence numbers will be printed in exponential notation, the default conversion is changed to %e. The seq utility exits 0 on success and non-zero if an error occurs. EXAMPLES
# seq 1 3 1 2 3 # seq 3 1 3 2 1 # seq -w 0 .05 .1 0.00 0.05 0.10 SEE ALSO
jot(1), printf(1), printf(3) HISTORY
The seq command first appeared in Plan 9 from Bell Labs. A seq command appeared in NetBSD 3.0, and ported to FreeBSD 9.0. This command was based on the command of the same name in Plan 9 from Bell Labs and the GNU core utilities. The GNU seq command first appeared in the 1.13 shell utilities release. BUGS
The -w option does not handle the transition from pure floating point to exponent representation very well. The seq command is not bug for bug compatible with the Plan 9 from Bell Labs or GNU versions of seq. BSD
February 19, 2010 BSD
All times are GMT -4. The time now is 08:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy