Sponsored Content
Top Forums Shell Programming and Scripting Help making simple perl or bash script to create a simple matrix Post 302630193 by neutronscott on Wednesday 25th of April 2012 01:24:46 PM
Old 04-25-2012
Code:
$ ./gene  input
gene      1         2         3         4         5
a         @
b                   #
c                             @         @
d                                                 %,*

it's an awk script.
Code:
#!/usr/bin/awk -f

# keep list of unique genes, in order
!($1 in genes_uniq) { genes_uniq[$1]; genes[gene_idx++]=$1; }

{
        split($2, cols, /,/)
        for (col in cols) {
                if (cols[col] > max_col) max_col=cols[col]
                matrix[$1,cols[col]] = matrix[$1,cols[col]] "," $3
        }
}

END {
        # print header
        printf("%-9s ", "gene")
        for (col = 1; col <= max_col; col++)
                printf("%-9d ", col);
        printf("\n")

        for (i = 0; i < gene_idx; i++) {
                printf("%-9s ", genes[i]);
                for (col = 1; col <= max_col; col++)
                        printf("%-9s ", substr(matrix[genes[i],col],2));
                printf("\n");
        }
}

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Modifying simple commands to create a script

Can anyone direct me to a resource that explains scripting in simple terms? I have visited many sites and browsed this forum and have yet to find simple explanations. (8 Replies)
Discussion started by: rocinante
8 Replies

2. Shell Programming and Scripting

Simple Script to create folders

Hi I want to write a small script that will create folders named from `AAAA' all the way to `ZZZZ'. That is: `AAAA' `AAAB' `AAAC' ... `AABA' `AABB' `AABC' ... `ABAA' `ABAB' `ABAC' ... `ABBA' ... `ZZZZ' (4 Replies)
Discussion started by: ksk
4 Replies

3. Solaris

How to create a simple background script on Solaris

I have a local account for a unix server. The idle timeout for the account is around 10 mins. I have to login to the server multiple times during the day. Is there a way to increase the idle timeout or may be a script that I can run on background so it is not idle. Something like echo date every 9... (3 Replies)
Discussion started by: vinaysa
3 Replies

4. Shell Programming and Scripting

Hopefully a simple script, bash or perl...

I'm attempting to parse a file whose contents follow this format; 4:/eula.1028.txt: 8:/eula.1031.txt: 19:/eula.1033.txt: 23:/eula.1036.txt: 27:/eula.1040.txt: 31:/eula.1041.txt: 35:/eula.1042.txt: 39:/eula.2052.txt: 43:/eula.3082.txt: The number of lines of the file... (4 Replies)
Discussion started by: CudaPrime
4 Replies

5. Shell Programming and Scripting

How to create a simple copy script?

Guys I want to do this: copy: /var/router/system1/config/backup/install.put /var/router/system2/config/backup/install.put /var/router/system3/config/backup/install.put /var/router/system4/config/backup/install.put into: /var/router/system1/config/install.dat... (22 Replies)
Discussion started by: DallasT
22 Replies

6. Shell Programming and Scripting

Create simple script

Dear all, I have a directory named A and some subdirectories named B, C, D with .xml files. I want to use the following command to strip the file. sed -re ':start s/<*>//g; /</ {N; b start}' file.xml > file.xml At the same time, I want to remove the blank lines using sed '/^$/d' How can... (6 Replies)
Discussion started by: corfuitl
6 Replies

7. Homework & Coursework Questions

Create a simple bash backup script of a file

This is the problem: Write a script that will make a backup of a file giving it a ‘.bak’ extension & verify that it works. I have tried a number of different scripts that haven't worked and I haven't seen anything really concise and to the point via google. For brevity's sake this is one of the... (4 Replies)
Discussion started by: demet8
4 Replies

8. Shell Programming and Scripting

Covert simple bash script in perl language

Hello, Anyone please covert this in perl language ######################## if ps faux | grep -v grep | grep ProcessXYZ then echo "$SERVICE is running, , everything is fine" exit 0 else echo "$SERVICE is not running" exit 2 fi Additional... (1 Reply)
Discussion started by: fed.linuxgossip
1 Replies

9. Shell Programming and Scripting

Convert bash to simple perl

please delete! (0 Replies)
Discussion started by: SkySmart
0 Replies

10. UNIX for Beginners Questions & Answers

Simple 4x4 matrix

I am trying to make a 4x4 matrix and I would greatly appreciate any help. I have 4 text files and I want to do the following. I want to concatenate them and gzip them. Then I want to find the file size of the concatenated file and subtract the value of file A. Finally, I want to output this final... (1 Reply)
Discussion started by: sdw8253
1 Replies
HTML::Auto(3pm) 					User Contributed Perl Documentation					   HTML::Auto(3pm)

NAME
HTML::Auto - automatic write HTML for common elements VERSION
Version 0.04 SYNOPSIS
Simple example: use HTML::Auto qw/matrix h v/; my @cols = qw/c1 c2 c3 c4 c5/; my @lines = qw/l1 l2 l3 l4 l5/; my $data = [ [1,2,3,4,5], [6,7,8,9,0], [1,1,1,1,1], [2,2,2,2,2], [3,3,3,3,3] ]; my $m = matrix(@cols,@lines,$data); print v( h($m,$m,$m), h($m,$m), ); Using attributes: use HTML::Auto qw/matrix h v/; my @cols = qw/c1 c2/; my @lines = qw/l1 l2/; my $data = [ [ {v => 1, a => { style => 'background: green'}}, 2 ], [ {v => 3, a => {class => 'foo'}}, {v => 4, a => {style => 'color: red'}} ] ]; my $m = matrix(@cols,@lines,$data); print v( h($m) ); With mouse-over span: use HTML::Auto qw/matrix h v/; my @cols = qw/c1 c2/; my @lines = qw/l1 l2/; my $data = [[1,2], [3, { v=> 4, more_info => "This is a pop-up!" }] ]; my $m = matrix(@cols,@lines,$data); print v( h($m) ); Passing additional CSS: use HTML::Auto qw/matrix h v/; my @cols = qw/c1 c2/; my @lines = qw/l1 l2/; my $data = [ [ {v => 1, a => { class => 'warn'}}, 2 ], [3,4] ]; my $options = { css => '.warn { background-color: yellow !important; }' }; my $m = matrix(@cols,@lines,$data,$options); print v( h($m) ); SUBROUTINES
/METHODS matrix h A function to allow horizontal composition. v A function to allow vertical composition. AUTHOR
Nuno Carvalho, "<smash at cpan.org>" Andre Santos, "<andrefs at cpan.org>" BUGS
Please report any bugs or feature requests to "bug-html-auto at rt.cpan.org", or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=HTML-Auto <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=HTML-Auto>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. SUPPORT
You can find documentation for this module with the perldoc command. perldoc HTML::Auto You can also look for information at: o RT: CPAN's request tracker http://rt.cpan.org/NoAuth/Bugs.html?Dist=HTML-Auto <http://rt.cpan.org/NoAuth/Bugs.html?Dist=HTML-Auto> o AnnoCPAN: Annotated CPAN documentation http://annocpan.org/dist/HTML-Auto <http://annocpan.org/dist/HTML-Auto> o CPAN Ratings http://cpanratings.perl.org/d/HTML-Auto <http://cpanratings.perl.org/d/HTML-Auto> o Search CPAN http://search.cpan.org/dist/HTML-Auto/ <http://search.cpan.org/dist/HTML-Auto/> ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
Copyright 2012 Project Natura. This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information. perl v5.14.2 2012-06-05 HTML::Auto(3pm)
All times are GMT -4. The time now is 08:34 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy