Sponsored Content
Top Forums Shell Programming and Scripting Awk: conversion of matrix formats Post 302780585 by dietmar13 on Thursday 14th of March 2013 06:04:11 PM
Old 03-14-2013
Awk: conversion of matrix formats

hello,

i would need a fast awk script for conversion of network formats (from 'sif' to 'adjacency' format):

sif (pp means only: protein-protein interaction):
A pp B
A pp C
B pp D
D pp E

in an adjacency n x n matrix:
Code:
 
  A B C D E
A 0 1 1 0 0
B 1 0 0 1 0
C 1 0 0 0 0
D 0 1 0 0 1
E 0 0 0 1 0

my idea:

go through all rows and build two indexed arrays (if array-names taken from the input file, i.e. $1, are allowed - i think this is called name substitution):
Code:
 
names[$1]=dummy
names[$3]=dummy
$1[$3] = 1
$3[$1] = 1

then loop over all array-names for (i in names) to write the column headers.

then loop nested two times over all array-names for (j in names); for (k in names) and write "1" if j[k] is 1 else "0". (I hope indices are always sorted the same way).


do you think this could work? and perhaps you can provide some code drafts (I am rather untrained in awk).

if substitution for array names doesn't work, perhaps 'two dimensional' arrays would work?
Code:
 
names($1)=dummy
names($3)=dummy
pp($1,$3)=1
pp($3,$1)=1

the rest as above, loop two times over name indices and check if pp(j,k) is 1.

thank you very much...

dietmar
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

need help-matrix inverse (awk)

I have few days to complete my awk homework. But I'm stucked. i hope some1 will help me out. I have to inverse n x n matrix, but I have problems with finding the determinant of the matrix. I found the algoritm, how to find a determinant of n x n matrix:... (0 Replies)
Discussion started by: vesyyr
0 Replies

2. Shell Programming and Scripting

matrix inverse (awk)

I need to inverse a matrix given in a file. The problem is I'm stuck with writing determinant finding algoritm into code. I found this algoritm about finding determinant of nxn matrix. This is what i need: Matrices and Determinants and here: a11 a12 a13 a21 a22 a23 a31 a32 a33... (0 Replies)
Discussion started by: vesyyr
0 Replies

3. Shell Programming and Scripting

awk matrix problem

hi there I'm very new in programing and i've started with awk. I'm processing 200 data files and I need to do some precessing on them. The files have 3 columns with N-lines for each line a have on the first and second value is the same for all the files and only the third is variable. like... (2 Replies)
Discussion started by: philstar
2 Replies

4. Shell Programming and Scripting

awk? adjacency matrix to adjacency list / correlation matrix to list

Hi everyone I am very new at awk but think that that might be the best strategy for this. I have a matrix very similar to a correlation matrix and in practical terms I need to convert it into a list containing the values from the matrix (one value per line) with the first field of the line (row... (5 Replies)
Discussion started by: stonemonkey
5 Replies

5. UNIX for Dummies Questions & Answers

tab-separated file to matrix conversion

hello all, i have an input file like that A A X0 A B X1 A C X2 ... A Z Xx B A X1 B B X3 .... Z A Xx Z B X4 and i want to have an output like that A B C D A X0 X1 X2 Xy B X1 X3 X4 (4 Replies)
Discussion started by: TheTransporter
4 Replies

6. Shell Programming and Scripting

Summing up a matrix using awk

Hi there, If anyone can help me sorting out this small task would be great. Given a matrix like the following: 100 3 3 3 3 3 ... 200 5 5 5 5 5 ... 400 1 1 1 1 1 ... 500 8 8 8 8 8 ... 900 0 0 0 0... (5 Replies)
Discussion started by: JRodrigoF
5 Replies

7. Shell Programming and Scripting

conversion: 3 columns into matrix

Hi guys, here https://www.unix.com/shell-programming-scripting/193043-3-column-csv-correlation-matrix-awk-perl.html I found awk script converting awk '{ OFS = ";" if (t) { if (l != $1) t = t OFS $1 } else t = OFS $1 x = x ? x OFS $NF : $NF l = $1 }... (2 Replies)
Discussion started by: grincz
2 Replies

8. Shell Programming and Scripting

how to rearrange a matrix with awk

Hi, every one. I have two files ,one is in matrix like this, one is a list with the same data as the matrix. AB AE AC AD AA AF SA 3 4 5 6 4 6 SC 5 7 2 8 4 3 SD 4 6 5 3 8 3 SE 45 ... (5 Replies)
Discussion started by: xshang
5 Replies

9. Shell Programming and Scripting

Using awk to parse a file with mixed formats in columns

Greetings I have a file formatted like this: rhino grey weight=1003;height=231;class=heaviest;histology=9,0,0,8 bird white weight=23;height=88;class=light;histology=7,5,1,0,0 turtle green weight=40;height=9;class=light;histology=6,0,2,0... (2 Replies)
Discussion started by: Twinklefingers
2 Replies

10. Shell Programming and Scripting

How to sum the matrix using awk?

input A1 B1 A2 B2 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 1 Output label A1 B1 A2 B2 A1 2 1 1 2 B1 1 2 2 1 A2 1 2 3 2 B2 2 1 2 3 Ex: The number of times that A1 and B1 row values are both 1 should be printed as output. The last row of A1 and B1 in the input match by having 1 in both... (4 Replies)
Discussion started by: quincyjones
4 Replies
XmTabListInsertTabs(library call)										 XmTabListInsertTabs(library call)

NAME
XmTabListInsertTabs -- A convenience function that inserts tabs into a tab list SYNOPSIS
#include <Xm/Xm.h> XmTabList XmTabListInsertTabs( XmTabList oldlist, XmTab *tabs, Cardinal tab_count, int position); DESCRIPTION
XmTabListInsertTabs creates a new tab list that includes the tabs in oldlist. This function copies specified tabs to the tab list at the given position. The first tab_count tabs of the tabs array are added to the tab list. If oldlist is NULL, XmTabListInsertTabs creates a new tab list containing only the tabs specified. oldlist Specifies the tab list to add the tabs to. The function deallocates oldlist after extracting the required information. tabs Specifies a pointer to the tabs to be added to the tab list. It is the caller's responsibility to free the tabs in tabs by using XmTabFree. tab_count Specifies the number of tabs in tabs. position Specifies the position of the first new tab in the tab list. A value of 0 (zero) makes the first new tab the first tab in the tab list, a value of 1 makes it the second tab, and so on. If position is greater than the number of tabs in oldlist, then the tabs will be inserted at the end. If position is negative, the count will be backwards from the end. A value of -1 makes the first new tab the last tab, and so on. RETURN
If tabs is NULL or tab_count is 0 (zero), this function returns oldlist. Otherwise, it returns a new tab list. The function allocates space to hold the returned tab list. The application is responsible for managing the allocated space. The application can recover the allocated space by calling XmTabListFree. RELATED
XmTabList(3) and XmTabListFree(3). XmTabListInsertTabs(library call)
All times are GMT -4. The time now is 02:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy