开云体育

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Finding Network Motifs


 

I want to to find network motifs (primarily triads and tetrads) and identify their frequencies, Z-scores, and memberships. I am trying to follow the work of Milo et al. (2002) Network Motifs: Simple Building Blocks of Complex Networks, by using their softrware (mfinder).

Mfinder requires the following format (copied from the manual)
===========
	<source node> <target node>  <edge weight>. 
	Example: 
	1 2 1 
	3 1 1 
	represents a network of 3 nodes with two edges: 
	(1->2) and (3->1) 
	In the current version <edge weight> is ignored and should be 1 for all edges. 

	Non-directed networks: 
	If the network is non-directed, then every edge should appear only once (means 
	represented by only one line and not two). The order of target and source has 
	no meaning in this case. (Pay attention: DO NOT represent a non-directed 
	edge by the two equivalent directed edges).
===========
1. My problem is that I use UCINET with my 2-node datasets and when creating a network convert to 1-mode via sums of cross products or Bonacich’72. These symmetric matrices show ties between all nodes but with varying scores. My original starting 2-mode dataset is binary and therefore undirected.

2. If I create an edgetlist with UCINET it results in all nodes linked to all other nodes by varying degrees. I cannot see how to satisfy mfinders source->target need AND satisfy the non-directed need to eliminate duplicates such as 1-> and 2->1. 

3. The software runs fine and fast with the sample datasets but not my edgelists. I have emailed the Uri Alon lab (source of mfinder) with no response. Any suggestions on how to create these edgelists would be appreciated. Thank you.


 

开云体育

Scott, your mfinder program wants non-valued data (it’s trying to count up things like triadic configurations). So, you would need to dichotomize your valued 1-mode data. For example, suppose I have the Davis dataset and create a 1-mode dataset via the Bonacich 72 normalization. I get this:

?

EVELYN

LAURA

THERESA

BRENDA

CHARLOTTE

FRANCES

ELEANOR

PEARL

RUTH

VERNE

MYRNA

KATHERINE

SYLVIA

NORA

HELEN

DOROTHY

OLIVIA

FLORA

EVELYN

1.00

0.79

0.86

0.79

0.63

1.00

0.63

1.00

0.63

0.45

0.45

0.29

0.21

0.00

0.21

1.00

0.46

0.46

LAURA

0.79

1.00

0.79

0.86

0.68

1.00

1.00

0.61

0.68

0.50

0.32

0.21

0.29

0.21

0.42

0.50

0.00

0.00

THERESA

0.86

0.79

1.00

0.79

1.00

1.00

1.00

1.00

1.00

0.63

0.45

0.29

0.35

0.26

0.37

1.00

0.46

0.46

BRENDA

0.79

0.86

0.79

1.00

1.00

1.00

1.00

0.61

0.68

0.50

0.32

0.21

0.29

0.21

0.42

0.50

0.00

0.00

CHARLOTTE

0.63

0.68

1.00

1.00

1.00

0.67

0.67

0.00

0.67

0.47

0.00

0.00

0.32

0.27

0.41

0.00

0.00

0.00

FRANCES

1.00

1.00

1.00

1.00

0.67

1.00

0.84

0.75

0.67

0.47

0.47

0.37

0.32

0.27

0.41

0.63

0.00

0.00

ELEANOR

0.63

1.00

1.00

1.00

0.67

0.84

1.00

0.75

0.84

0.67

0.47

0.37

0.50

0.45

0.60

0.63

0.00

0.00

PEARL

1.00

0.61

1.00

0.61

0.00

0.75

0.75

1.00

0.75

0.75

0.75

0.65

0.61

0.56

0.48

1.00

0.69

0.69

RUTH

0.63

0.68

1.00

0.68

0.67

0.67

0.84

0.75

1.00

0.84

0.67

0.55

0.68

0.45

0.60

1.00

0.63

0.63

VERNE

0.45

0.50

0.63

0.50

0.47

0.47

0.67

0.75

0.84

1.00

0.84

0.73

1.00

0.63

0.78

1.00

0.63

0.63

MYRNA

0.45

0.32

0.45

0.32

0.00

0.47

0.47

0.75

0.67

0.84

1.00

1.00

1.00

0.63

0.78

1.00

0.63

0.63

KATHERINE

0.29

0.21

0.29

0.21

0.00

0.37

0.37

0.65

0.55

0.73

1.00

1.00

1.00

0.74

0.63

1.00

0.54

0.54

SYLVIA

0.21

0.29

0.35

0.29

0.32

0.32

0.50

0.61

0.68

1.00

1.00

1.00

1.00

0.79

0.74

1.00

0.50

0.50

NORA

0.00

0.21

0.26

0.21

0.27

0.27

0.45

0.56

0.45

0.63

0.63

0.74

0.79

1.00

0.69

0.46

1.00

1.00

HELEN

0.21

0.42

0.37

0.42

0.41

0.41

0.60

0.48

0.60

0.78

0.78

0.63

0.74

0.69

1.00

0.59

0.59

0.59

DOROTHY

1.00

0.50

1.00

0.50

0.00

0.63

0.63

1.00

1.00

1.00

1.00

1.00

1.00

0.46

0.59

1.00

0.77

0.77

OLIVIA

0.46

0.00

0.46

0.00

0.00

0.00

0.00

0.69

0.63

0.63

0.63

0.54

0.50

1.00

0.59

0.77

1.00

1.00

FLORA

0.46

0.00

0.46

0.00

0.00

0.00

0.00

0.69

0.63

0.63

0.63

0.54

0.50

1.00

0.59

0.77

1.00

1.00

?

Now, using Transform|Dichotomize interactively, I decide that I want to dichotomize such that values greater than or equal to .816 will be ties. So I do that and get this:

?

EVELYN

LAURA

THERESA

BRENDA

CHARLOTTE

FRANCES

ELEANOR

PEARL

RUTH

VERNE

MYRNA

KATHERINE

SYLVIA

NORA

HELEN

DOROTHY

OLIVIA

FLORA

EVELYN

0

1

1

1

1

1

1

1

1

0

0

0

0

0

0

1

0

0

LAURA

1

0

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

0

THERESA

1

1

0

1

1

1

1

1

1

1

0

0

0

0

0

1

0

0

BRENDA

1

1

1

0

1

1

1

1

1

0

0

0

0

0

0

0

0

0

CHARLOTTE

1

1

1

1

0

1

1

0

1

0

0

0

0

0

0

0

0

0

FRANCES

1

1

1

1

1

0

1

1

1

0

0

0

0

0

0

1

0

0

ELEANOR

1

1

1

1

1

1

0

1

1

1

0

0

0

0

1

1

0

0

PEARL

1

1

1

1

0

1

1

0

1

1

1

1

1

1

0

1

1

1

RUTH

1

1

1

1

1

1

1

1

0

1

1

1

1

0

1

1

1

1

VERNE

0

0

1

0

0

0

1

1

1

0

1

1

1

1

1

1

1

1

MYRNA

0

0

0

0

0

0

0

1

1

1

0

1

1

1

1

1

1

1

KATHERINE

0

0

0

0

0

0

0

1

1

1

1

0

1

1

1

1

0

0

SYLVIA

0

0

0

0

0

0

0

1

1

1

1

1

0

1

1

1

0

0

NORA

0

0

0

0

0

0

0

1

0

1

1

1

1

0

1

0

1

1

HELEN

0

0

0

0

0

0

1

0

1

1

1

1

1

1

0

1

1

1

DOROTHY

1

0

1

0

0

1

1

1

1

1

1

1

1

0

1

0

1

1

OLIVIA

0

0

0

0

0

0

0

1

1

1

1

0

0

1

1

1

0

1

FLORA

0

0

0

0

0

0

0

1

1

1

1

0

0

1

1

1

1

0

?

Now I use Data|export|DL (legacy), and fill out the form as below. Note the choice of undirected, and minimum tie value? = 1. Also field width 3 will look nicer than the default.

?

?

?

The result is the below, and you can edit out the extra stuff.

?

DL

N=18

FORMAT = EDGELIST1 DIAGONAL ABSENT

SYM = YES

ROW LABELS:

"EVELYN"

"LAURA"

"THERESA"

"BRENDA"

"CHARLOTTE"

"FRANCES"

"ELEANOR"

"PEARL"

"RUTH"

"VERNE"

"MYRNA"

"KATHERINE"

"SYLVIA"

"NORA"

"HELEN"

"DOROTHY"

"OLIVIA"

"FLORA"

COLUMN LABELS:

"EVELYN"

"LAURA"

"THERESA"

"BRENDA"

"CHARLOTTE"

"FRANCES"

"ELEANOR"

"PEARL"

"RUTH"

"VERNE"

"MYRNA"

"KATHERINE"

"SYLVIA"

"NORA"

"HELEN"

"DOROTHY"

"OLIVIA"

"FLORA"

DATA:

?? 2?? 1?? 1

?? 3?? 1?? 1

?? 3?? 2?? 1

?? 4?? 1?? 1

?? 4?? 2?? 1

?? 4?? 3?? 1

?? 5?? 1?? 1

?? 5?? 2?? 1

?? 5?? 3?? 1

?? 5?? 4?? 1

?? 6?? 1?? 1

?? 6?? 2?? 1

?? 6?? 3?? 1

?? 6?? 4?? 1

?? 6?? 5?? 1

?? 7?? 1?? 1

?? 7?? 2?? 1

?? 7?? 3?? 1

?? 7?? 4?? 1

?? 7?? 5?? 1

?? 7?? 6?? 1

?? 8?? 1?? 1

?? 8?? 2?? 1

?? 8?? 3?? 1

?? 8?? 4?? 1

?? 8?? 6?? 1

?? 8?? 7?? 1

?? 9?? 1 ??1

?? 9?? 2?? 1

?? 9?? 3?? 1

?? 9?? 4?? 1

?? 9?? 5?? 1

?? 9?? 6?? 1

?? 9?? 7?? 1

?? 9?? 8?? 1

? 10?? 3?? 1

? 10?? 7?? 1

? 10?? 8?? 1

? 10?? 9?? 1

? 11?? 8?? 1

? 11?? 9?? 1

? 11? 10?? 1

? 12?? 8?? 1

? 12?? 9?? 1

? 12? 10?? 1

? 12? 11?? 1

? 13?? 8?? 1

? 13?? 9?? 1

? 13? 10?? 1

? 13? 11?? 1

? 13? 12?? 1

? 14?? 8?? 1

? 14? 10?? 1

? 14? 11?? 1

? 14? 12?? 1

? 14? 13?? 1

? 15?? 7?? 1

? 15?? 9?? 1

? 15? 10?? 1

? 15? 11?? 1

? 15? 12?? 1

? 15? 13?? 1

? 15? 14?? 1

? 16?? 1?? 1

? 16?? 3?? 1

? 16?? 6?? 1

? 16?? 7?? 1

? 16?? 8?? 1

? 16?? 9?? 1

? 16? 10?? 1

? 16? 11?? 1

? 16? 12?? 1

? 16? 13?? 1

? 16? 15?? 1

? 17?? 8?? 1

? 17?? 9?? 1

? 17? 10?? 1

? 17? 11?? 1

? 17? 14?? 1

? 17? 15?? 1

? 17? 16?? 1

? 18?? 8?? 1

? 18?? 9?? 1

? 18? 10 ??1

? 18? 11?? 1

? 18? 14?? 1

? 18? 15?? 1

? 18? 16?? 1

? 18? 17?? 1

?

?

?

From: [email protected] <[email protected]> On Behalf Of Scott Thomas via groups.io
Sent: Tuesday, April 5, 2022 17:03
To: [email protected]
Subject: [ucinet] Finding Network Motifs

?

CAUTION: External Sender

?

I want to to find network motifs (primarily triads and tetrads) and identify their frequencies, Z-scores, and memberships. I am trying to follow the work of Milo et al. (2002) Network Motifs: Simple Building Blocks of Complex Networks, by using their softrware
 (mfinder). Mfinder requires the following format (copied from the manual) =========== <source node> <target node> <edge weight>. Example: 1 2 1 3 1 1 represents a network of 3 nodes with two edges: (1->2) and (3->1) In the current version <edge weight> is
 ignored and should be 1 for all edges. Non-directed networks: If the network is non-directed, then every edge should appear only once (means represented by only one line and not two). The order of target and source has no meaning in this case. (Pay attention:
 DO NOT represent a non-directed edge by the two equivalent directed edges). =========== 1. My problem is that I use UCINET with my 2-node datasets and when creating a network convert to 1-mode via sums of cross products or Bonacich’72. These symmetric matrices
 show ties between all nodes but with varying scores. My original starting 2-mode dataset is binary and therefore undirected. 2. If I create an edgetlist with UCINET it results in all nodes linked to all other nodes by varying degrees. I cannot see how to satisfy
 mfinders source->target need AND satisfy the non-directed need to eliminate duplicates such as 1-> and 2->1. 3. The software runs fine and fast with the sample datasets but not my edgelists. I have emailed the Uri Alon lab (source of mfinder) with no response.
 Any suggestions on how to create these edgelists would be appreciated. Thank you.


 

This software could be very useful. Thanks for bringing it to our attention.
An advantage of the UCINET data export is that you can vary the minimum tie value to focus on the more strongly connected subgroups.


 

Ok. Looks good, but only one question. Why choose 0.816 as the dichotomize value? Wouldn't 0.50 be acceptable or perhaps the mean value of the matrix?


 

开云体育

I followed the procedure described at the bottom of page 5 in this paper:

?

?

The technique is implemented in ucinet’s ‘Transform|Dichotomize interactively’ routine.

?

Steve

?

From: [email protected] <[email protected]> On Behalf Of Scott Thomas via groups.io
Sent: Tuesday, April 12, 2022 17:40
To: [email protected]
Subject: Re: [ucinet] Finding Network Motifs

?

CAUTION: External Sender

?

Ok. Looks good, but only one question. Why choose 0.816 as the dichotomize value? Wouldn't 0.50 be acceptable or perhaps the mean value of the matrix?


 

Thank you. Actually this approach to dichotomizing is forcing me to reassess my method which was assigning 1 to mean +/- 1SD and all else a zero with the recognition that low degree individuals are peripheral and have far less impact on a network. It seemed to work well when comparing external references to node positions and behaviors (ground truth tests) although this may have been facilitated by large numbers of attributes per node (typically 180-250).


 

开云体育

Hi Scott,

I use UCINet for many network analysis, but for motif counting, characterizing and modelling I prefer working in R (i.e., igraph). ?

Best of luck.?

Nelson Jatel,
Doctoral Candidate


Nelson R. Jatel, Dr. (cand.), P. Ag.
CEO —?Limnology.ca | (250) 308-9449


From: [email protected] <[email protected]> on behalf of Scott Thomas <scott.thomas99@...>
Sent: Saturday, April 16, 2022 10:13:46 AM
To: [email protected] <[email protected]>
Subject: Re: [ucinet] Finding Network Motifs
?
Thank you. Actually this approach to dichotomizing is forcing me to reassess my method which was assigning 1 to mean +/- 1SD and all else a zero with the recognition that low degree individuals are peripheral and have far less impact on a network. It seemed to work well when comparing external references to node positions and behaviors (ground truth tests) although this may have been facilitated by large numbers of attributes per node (typically 180-250).


 

1. I cannot still am not sure about the 0.816 value and although that is a good correlation, there are higher values.


2. Thank you Nelson, but I do not do network analysis on a consistent basis every day or every week, and learning R, as any language, requires consistent usage, otherwise one forgets details of a language. But you are correct R is powerful and flexible but requires mastering and consistent usage.


 

开云体育

Actually, I think I might have mixed up the cutoff with the correlation. But, btw, the numbers you are showing look slightly different from mine. A problem with the sorting?

?

steve

?

?

From: [email protected] <[email protected]> On Behalf Of Scott Thomas via groups.io
Sent: Saturday, April 16, 2022 14:43
To: [email protected]
Subject: Re: [ucinet] Finding Network Motifs

?

CAUTION: External Sender

?

1. I cannot still am not sure about the 0.816 value and although that is a good correlation, there are higher values.


2. Thank you Nelson, but I do not do network analysis on a consistent basis every day or every week, and learning R, as any language, requires consistent usage, otherwise one forgets details of a language. But you are correct R is powerful and flexible but requires mastering and consistent usage.


 

Comparing my Bonich'72 starting data with the above I can see only one difference. My data has three digits past the decimal and your data is rounded to off to two digits past the decimal. Could that be the difference? I have repeated this twice. I also checked the original Davis data which were downloaded along with Matrix 2.3 (Borgatti, et al, 2018). Very strange. I am using UCINET ver. 6.742.? The important point is to find the best correlation score with the original which is the point I needed to know. It is interesting to me how the Z-scores and frequencies respond.Thank you again.


 

So far dichotomizing and exporting has worked fine, at least for 115 and 133 symmetric datasets I've tried and that includes success with finding triads and tetrads although that will take some time to compare with the original networks. HOWEVER, when I went to a 197 node dataset something strange happened. At the Export>DL (legacy) step, UCINET instead of taking less than a second to produce the log, no log was produced. I saw the output txt file sitting there but it was 0 bytes and read only which I assumed was UCINET being not finished. I let UCINET run for 10 minutes. Same problem. Redid everything from scratch and waited for 1 hour. Same problem, i.e., empty text file in read only status. So, I assumed it was my error somewhere. The binary files (symmetric, all 1's and 0's) were all clean but the original row and column labels were not short and had spaces, so I converted all node labels to N1, N2, N3, etc and reran everything. Same problem.

Any suggestions of what might be wrong would be appreciated.

P.S. Finding tetrads is SLOW for even only 115-133 nodes (took 3.5 hours on a PC with 64GB RAM, 8 cores, 16 threads, twin SSDs) but this was mentioned in the original paper and documentation. Triads took 3 minutes and that includes dumping memberships.


 

Is there a way to also dichotomize in UCINET via g-transitivity?


 

开云体育

Sure. Suppose I construct the woman-woman 1-mode projection from the davis data, accepting the default output name of davisrows.

?

Now, I run network|subgroup|fgroups on davisrows:

?

?

There are several outputs, including the highlighted line:

?

FREEMAN-GRANOVETTER GROUPS

--------------------------------------------------------------------------------

?

Input dataset:????????????????????????? davisrows (C:\Users\sborg2\Dropbox\data\ucinet data\davisrows

?

Strong ties have value? 4.00 (level 4).

?

So now I go to the dichotomize function and dichotomize davisrows at greater than or equal to 4.

?

steve

?

?

From: [email protected] <[email protected]> On Behalf Of Scott Thomas via groups.io
Sent: Saturday, April 30, 2022 21:26
To: [email protected]
Subject: Re: [ucinet] Finding Network Motifs

?

CAUTION: External Sender

?

Is there a way to also dichotomize in UCINET via g-transitivity?