Parse


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Parse
# 1  
Old 10-22-2014
Parse

Attached file is parsed so that only the three columns result.


Code:
 DACH1 occurs 34 times with an average of 0.881541
NEB occurs 159 times with an average of 0.837628
LTBP1 occurs 46 times with an average of 0.748722

parse result: output.txt (the text is removed and the xxx is seperated in a column)

Code:
 
A           B       C
DACH1   34      0.881541  (xxx occurs xxx times with an average of xxx)
NEB       159     0.837628
LTBP1     46      0.748722

Thanks Smilie.
# 2  
Old 10-22-2014
Using awk:

Code:
awk 'BEGIN { print "A\tB\tC"}
/^(DACH1|NEB|LTBP1) occurs/ { print $1,$3,$9,"("$0")"} ' OFS='\t' exonprobescore.txt > output.txt

Edit: Remove red text above is you don't want (xxx occurs xxx times with an average of xxx) in the 4th column
# 3  
Old 10-23-2014
Code:
 awk 'BEGIN { print "Gene\tCount\tScore"}
/^ occurs/ { print $1,$3,$9} ' OFS='\t' exonprobescore.txt > output.txt

I modified the code a bit as I am trying to get the scores of each row in the file (exonprobescore.txt), but I this doesn't seem correct. Thank you.
# 4  
Old 10-23-2014
perhaps match on number of fields on the line:

Code:
awk 'BEGIN { print "Gene\tCount\tScore"}
NF==9 { print $1,$3,$9} ' OFS='\t' exonprobescore.txt > output.txt

Or field 2 being occurs
Code:
awk 'BEGIN { print "Gene\tCount\tScore"}
$2=="occurs" { print $1,$3,$9} ' OFS='\t' exonprobescore.txt > output.txt

# 5  
Old 10-23-2014
Perfect.

Is it possible to pipe or string two awk commands together? Where exon.txt is the initial input and score.txt is the list to be parsed? Thank you Smilie.

Code:
 
awk '{ N[$5]++ ; T[$5]+=$6 } END { for(X in N) printf("%s occurs %d times with an average of %f\n", X, N[X], T[X]/N[X]); }' exon.txt > score.txt | awk 'BEGIN { print "Gene\tCount\tScore"}
> $2=="occurs" { print $1,$3,$9} ' OFS='\t' score.txt > output.txt

# 6  
Old 10-23-2014
You could achieve that with this single awk program:

Code:
awk '
  BEGIN{ print "Gene\tCount\tScore" > "output.txt" }
  {N[$5]++; T[$5]+=$6}
  END{
    for(X in N) {
      printf("%s occurs %d times with an average of %f\n", X, N[X], T[X]/N[X])
      printf("%s\t%d\t%f\n", X, N[X], T[X]/N[X]) > "output.txt"
    }
  }' exon.txt > score.txt

This User Gave Thanks to Chubler_XL For This Post:
# 7  
Old 10-24-2014
Thank you Smilie.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Parse with SQL

I am trying to parse a string using SQL but am too new and still learning. I have text in a control or field 685 that is variable, but always the same format. field 685 input arr 2q33.3q34(200,900,700-209,000,000)x2 xxx Desired output 2:200900700-209000000 Basically, the # after the... (2 Replies)
Discussion started by: cmccabe
2 Replies

2. Shell Programming and Scripting

Parse html

I downloaded source code using: wget -qO- http://fulgentdiagnostics.com/test/clinical-exome/ | cat > flugentsource.txt Now I am trying to use sed to parse it to confirm a gene count. Basically, output (flugent.txt) all the gene names with a total count after them I'm not all that... (5 Replies)
Discussion started by: cmccabe
5 Replies

3. Shell Programming and Scripting

Parse 2 or more files into one.

Hi, I have a really simple question...I think. I want to be able to parse two or more files into one by reading the first record from each file into new file then go back to the first file and start reading the second record in from each file into new file and so on. I am new to using awk and am... (5 Replies)
Discussion started by: qray2011
5 Replies

4. Shell Programming and Scripting

How to Parse a Prompt?

On the command, when I type in certain commands, they will display a prompt waiting for some input. When I type in the requested input, it will display the info I requested. For example, if I enter the telnet command, it will display a telnet prompt and wait for me to enter something. I... (1 Reply)
Discussion started by: april
1 Replies

5. Shell Programming and Scripting

Perl Parse

Hi I'm writing simple perl script to parse the ftp log as below: Local directory now /home/user/testing 227 Entering Passive Mode (192,254,19,34,8,228). 125 Data connection already open; Transfer starting. 09-25-09 02:33PM 25333629 abc.tar 09-14-09 12:50PM 18015752... (1 Reply)
Discussion started by: netxus
1 Replies

6. Shell Programming and Scripting

Parse

I need a script that will always return an engine of table, which not depends on the table structure. I need it to be done exactly from the "show create table ..." statement. If there is a easiest way, except "show table status", please write. mysql -u root db -sBe "show create table... (1 Reply)
Discussion started by: mirusnet
1 Replies

7. Shell Programming and Scripting

Need help to parse the file

# Start "ABC" SFFd 0 4 Time SFFT 4 8 {Sec} User SFFTimeVal 12 8 {Sec} # Start "CP" SFFT ... (3 Replies)
Discussion started by: navsharan
3 Replies

8. UNIX for Advanced & Expert Users

Parse error

hi,:) onsider the followinf two lines J="$(scriptbc -p 8 $I / \(12 \* 100 \) )" N="$(( $L * 12 ))" In the first line I put \ before * like \* and its working fine. But in the second line if put \ before * i am getting parse error. What might be the reason?Any idea pls. cheers RRK (1 Reply)
Discussion started by: ravi raj kumar
1 Replies

9. Shell Programming and Scripting

How to parse..

Help, I need to get the port number of a Oracle database using the tnsping command. I need to parse it's output. ===================== Attempting to contact (ADDRESS=(PROTOCOL=TCP)(Host=chamar)(Port=1541)) Sometimes may be like this: Attempting to contact... (8 Replies)
Discussion started by: natter
8 Replies

10. Shell Programming and Scripting

Parse

Does anybody know how do we parse a file (ex. SIF file) into a delimited text file in UNIX? (7 Replies)
Discussion started by: nguda
7 Replies
Login or Register to Ask a Question