Sponsored Content
Top Forums UNIX for Dummies Questions & Answers [Solved] awk solution to add sequential numbers based on a word Post 302829375 by torchij on Thursday 4th of July 2013 04:41:20 PM
Old 07-04-2013
[Solved] awk solution to add sequential numbers based on a word

Hi experts, I've been struggling to format a large genetic dataset. It's complicated to explain so I'll simply post example input/output

Code:
$cat input.txt
ID        GENE    pos    start  end
blah1    coolgene   1      3     5
blah2    coolgene   1      4     6
blah3    coolgene   1      4     7
blah4    BADgene    1      4     3245
blah5    BADgene    1      4     234
blah6    neatgene   1      24    45
blah7    neatgene   1      24    45
blah8    neatgene   1      24    45
blah9    neatgene   1      24    45
blah10   neatgene   1      24    45

$cat output.txt
ID        gene    NEWcol  pos    start  end
blah1    coolgene    1      1      3     5
blah2    coolgene    2      1      4     6
blah3    coolgene    3      1      4     7
blah4    BADgene     1      1      4     3245
blah5    BADgene     2      1      4     234
blah6    neatgene    1      1      24    45
blah7    neatgene    2      1      24    45
blah8    neatgene    3      1      24    45
blah9    neatgene    4      1      24    45
blah10   neatgene    5      1      24    45

For every word in the "gene" column, I would like a new column (NEWcol) that sequentially numbers each line. ID column is a unique identifier column.

Any help is appreciated!!
Many thanks.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

AWK solution to subtract multiple columns of numbers

Hope somebody is happy. NR==1 { num_columns=split( $0, menuend ); next; } { split( $0, substrend ); for ( i=1; i<=NF; i++ ) { minuend -= substrend; } } END { print "Result:"; for ( i=1; i<=num_columns; i++ ) { printf(... (3 Replies)
Discussion started by: awkward
3 Replies

2. Shell Programming and Scripting

AWK help to add up sequential values

Hello All! As a beginner user i want to add up sequential values in a text file and want to print total sum as output.The Text file will have values like the following: class1{root}>less SUM.txt 1140.00 1155.00 1183.00 ... # it continues # i tried to write a... (1 Reply)
Discussion started by: EAGL€
1 Replies

3. Shell Programming and Scripting

How to fetch rows based on line numbers or based on the beginning of a word?

I have a file which will have rows like shown below, ST*820*316054716 RMR*IV*11333331009*PO*40.31 REF*IV*22234441009*xsss471-2762 DTM*003*091016 ENT*000006 RMR*IV*2222234444*PO*239.91 REF*IV*1234445451009*LJhjlkhkj471-2762 </SPAN> DTM*003* 091016 RMR*IV*2223344441009*PO*40.31... (18 Replies)
Discussion started by: Muthuraj K
18 Replies

4. Shell Programming and Scripting

awk fetch numbers after the word

Hi, I would want to fetch all the numbers after a word the number of characters could very. how can I do that? below is the example of the data and the expected output sample data 03 xxxx occurs 1090 times. 04 aslkja occurs 10 times. I would want to fetch 10 & 1090 separately. (13 Replies)
Discussion started by: ahmedwaseem2000
13 Replies

5. Shell Programming and Scripting

word frequency counter - awk solution?

Dear all, i need your help on this. There is a text file, i need to count word frequency for each word with frequency >40 in each line of file and output it into another file with columns like this: word1,word2,word3, ...wordn 0,0,1 1,2,0 3,2,0 etc -- each raw represents... (13 Replies)
Discussion started by: irrevocabile
13 Replies

6. Shell Programming and Scripting

Sequential numbers

Hi All, I am looking for a simple way to write numbers to a file sequentially starting from 1 and ending on a specified upper limit. Example of the output file is below Example 1 2 3 4 5 . . . . 1000 please let me know the best way to do it. (10 Replies)
Discussion started by: Lucky Ali
10 Replies

7. UNIX for Dummies Questions & Answers

[Solved] Add row of numbers

Hi, Trying to add a row of numbers. There are 24 number across. Would like to have column 25 sum each row. 10 3 45 49 0 24... Sum 3 200 3 9 1 3 ...... Sum 9 7 20 9 8 10 ...... Sum Thank you. (5 Replies)
Discussion started by: jimmyf
5 Replies

8. UNIX for Dummies Questions & Answers

awk solution to duplicate lines based on column

Hi experts, I have a tab-delimited file with one column containing values separated by a comma. I wish to duplicate the entire line for every value in that comma-delimited field. For example: $cat file 4444 4444 4444 4444 9990 2222,7777 6666 2222 ... (3 Replies)
Discussion started by: torchij
3 Replies

9. UNIX for Dummies Questions & Answers

Replace groups into sequential numbers

I have a file that looks like this: n1 1 n2 1 n3 1 n4 3 n4 3 n2 5 n2 5 n2 5 n2 5 n3 5 n3 5 n4 6 n7 6 that is a name followed be a descriptive number. I want to make these numbers sequential starting from 0 but without changing the "neighbours" each name belongs to. So the above... (3 Replies)
Discussion started by: FelipeAd
3 Replies

10. Shell Programming and Scripting

awk to adjust coordinates in field based on sequential numbers in another field

I am trying to output a tab-delimited result that uses the data from a tab-delimited file to combine and subtract specific lines. If $4 matches in each line then the first matching sequential $6 value is added to $2, unless the value is 1, then the original $2 is used (like in the case of line... (3 Replies)
Discussion started by: cmccabe
3 Replies
Chart::Clicker::Tutorial(3pm)				User Contributed Perl Documentation			     Chart::Clicker::Tutorial(3pm)

NAME
Chart::Clicker::Tutorial - A Tutorial for using Chart::Clicker VERSION
version 2.83 DESCRIPTION
This document aims to provide a tutorial for using Chart::Clicker. EXAMPLES
Simple chart from a single data source # grab the needed modules use Chart::Clicker; use Chart::Clicker::Data::Series; use Chart::Clicker::Data::DataSet; # build the chart my $chart = Chart::Clicker->new; # build the series (static here, will usually be supplied arrayrefs from elsewhere) my $series = Chart::Clicker::Data::Series->new( keys => [ 1,2,3,4,5 ], values => [ 52,74,52,82,14 ], ); # build the dataset my $dataset = Chart::Clicker::Data::DataSet->new( series => [ $series ], ); # add the dataset to the chart $chart->add_to_datasets($dataset); # write the chart to a file $chart->write_output('chart.png'); Simple chart from multiple data sources use Chart::Clicker; use Chart::Clicker::Data::Series; use Chart::Clicker::Data::DataSet; my $chart = Chart::Clicker->new; # start an array that will hold the series data my $series1 = Chart::Clicker::Data::Series->new( keys => [ 1,2,3,4,5 ], values => [ 52,74,52,82,14 ] ); my $series2 = Chart::Clicker::Data::Series->new( keys => [ 1,2,3,4,5 ], values => [ 34,67,89,45,67 ] ); # add the array of series data to the dataset my $dataset = Chart::Clicker::Data::DataSet->new( series => [ $series1, $series2 ] ); $chart->add_to_datasets($dataset); $chart->write_output('chart.png'); Simple chart with multiple data sources and custom colors use Chart::Clicker; use Chart::Clicker::Data::Series; use Chart::Clicker::Data::DataSet; # some new modules, these are only needed if you want to monkey with color changing use Graphics::Color::RGB; use Chart::Clicker::Drawing::ColorAllocator; # build the color allocator my $ca = Chart::Clicker::Drawing::ColorAllocator->new; # this hash is simply here to make things readable and cleaner, you can always call G::C::R inline my $red = Graphics::Color::RGB->new({ red => .75, green => 0, blue => 0, alpha => .8 }); my $green = Graphics::Color::RGB->new({ red => 0,green => .75, blue=> 0, alpha=> .8 }); my $blue = Graphics::Color::RGB->new({ red => 0, green => 0, blue => .75, alpha => .8 }), my $chart = Chart::Clicker->new; # Create an empty dataset that we can add to my $dataset = Chart::Clicker::Data::DataSet->new; $dataset->add_to_series(Chart::Clicker::Data::Series->new( keys => [ 1,2,3,4,5 ], values => [ 52,74,52,82,14 ] )); # add a color - note that the order of colors and the order of the # series must match, the first series will use the first color and so on # see contexts and axes for alternate ways of doing this $ca->add_to_colors($blue); $dataset->add_to_series(Chart::Clicker::Data::Series->new( keys => [ 1,2,3,4,5 ], values => [ 34,67,89,45,67 ] )); # add a second color $ca->add_to_colors($red); $dataset->add_to_series(Chart::Clicker::Data::Series->new( keys => [ 1,2,3,4,5 ], values => [ 11,22,33,44,55 ] )); # add a third color $ca->add_to_colors($green); $chart->add_to_datasets($dataset); # assign the color allocator to the chart $chart->color_allocator($ca); $chart->write_output('chart.png'); Example 4 : Simple chart with a different render type use Chart::Clicker; use Chart::Clicker::Data::Series; use Chart::Clicker::Data::DataSet; # add in the module of the renerer(s) you want to use use Chart::Clicker::Renderer::Area; my $chart = Chart::Clicker->new; my $series = Chart::Clicker::Data::Series->new( keys => [ 1,2,3,4,5 ], values => [ 52,74,52,82,14 ] ); my $dataset = Chart::Clicker::Data::DataSet->new( series => [ $series ] ); $chart->add_to_datasets($dataset); # build the renderer to use my $renderer = Chart::Clicker::Renderer::Area->new( opacity => .75, ); # assign the renderer to the default context $chart->set_renderer($renderer); $chart->write_output('chart.png'); Example 5 : Width and Height my $chart = Chart::Clicker->new(width => 1024, height => 768); Example 6 : PDF (or SVG or PS) my $chart = Chart::Clicker->new(format => 'pdf'); # Create the rest of your chart normally $chart->write_output('chart.pdf'); Example 7 : Hide the Legend and X-Axis my $chart = Chart::Clicker->new; # hide the legend $chart->legend->visible(0); # hide the X-Axis $chart->get_context('default')->domain_axis->hidden(1); Example 8 : Change the display format of the Y-Axis my $chart = Chart::Clicker->new; # a sprintf format to have 3 decimal places showing on the Y-Axis $chart->get_context('default')->range_axis->format('%.3f'); DISCLAIMER
This is a work in progress. If you find errors or would like to make contributions, drop me a line! AUTHOR
Cory G Watson <gphat@cpan.org> COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Cold Hard Code, LLC. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.14.2 2012-06-22 Chart::Clicker::Tutorial(3pm)
All times are GMT -4. The time now is 11:42 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy