Default Values: Options.m File

Most of the BiMat functions can work without the need of parameters by the user. However, if the user does not specify the required arguments, BiMat will use the default ones. These values are specified on the file main/Options.m that the user can modify according to his needs. The next sections indicate the default parameters of BiMat


  • Statistical Significance: A two-tail test is the default way of testing for significance in BiMat. Notice that the user can perform a one-tail test by just duplicating the values below (these values are using during meta-analysis):
    • P_VALUE = 0.05: The $p$-value for testing statistical significance using a percentile test approach. Anything outside the percentile range $[100(p/2), 100(1-p/2)]$ will be considered statistically significant.

    • Z_SCORE = 1.96: The $z$-score for testing statistical significance using a $z$-test approach. Anything outside the $z$-score range $[-|z|,|z|]$ will be considered statistically significant. Notice that the default value corresponds to a 5% two tailed test.

  • Null Models:
    • DEFAULT_NULL_MODEL = @NullModels.EQUIPROBABLE: The default function for creating random networks (see Null Models for detailed description of the avalaible null models in BiMat).

    • ALLOW_ISOLATED_NODES = true: When the network is sparse, a random network may be created with nodes with no links at all (matrix with empty rows or columns). BiMat by default
      allows these kinds of random networks for performing the statistical test. However, the user may want to change this value to falseto avoid the creation of this kind of random networks. However, the user must be aware that the time required for creating a random network without empty nodes will grow with the sparsity of the matrix.

    • TRIALS_FOR_NON_EMPTY_NODES = 1000: This value is only used when the user changes the value of the previous parameter to false. In some extreme cases (a very sparse network), BiMat will not be able to find a random network without empty nodes. Hence, in order to avoid infinite loops, BiMat will stop looking for them after the number of trials specified in this parameter. If BiMat can not create a random network without empty nodes before this number of trials, BiMat will just create a random network without this constraint and will print the next message in the Matlab command line:
      Warning: Not possible to create a matrix with non isolated nodes.
      The random matrix was created without this constraint instead.
      Consider to modify Options.ALLOW_ISOLATED_NODES and/or Options.INCLUDE_EMPTY_NODES
    • SWAP_FIXED_FACTOR = 100: This swap factor $S_f$ is used for creating random networks using the FIXED null model. The amount of performed random swaps in the matrix is $S_f E$, were $E$ is the number of edges.

    • INCLUDE_EMPTY_NODES = true: Sometimes the user may have data with empty nodes (a matrix with empty rows and/or columns). Depending on the value of this parameter BiMat will choose between keeping these nodes (true) or deleting them from the adjacency matrix (false). Further, the user must be aware that this choice affects the statistical tests.

    • REPLICATES = 100: The amount of replicates that BiMat performs in order to test for statistical significance. The value of 100 was chosen with the idea of getting quick results. However, the user must be aware that this value is not appropriate for accurate testing. The right value will depend on the size and sparsity of the network to be tested.


All the next parameters refer to algorithms behavior. The user can change the values here, or he can change the parameters dynamically by modifying the corresponding properties in the BipartiteModularity or Nestedness instance.

  • Nestedness:

    • NESTEDNESS_ALGORITHM = @NestednessNODF: BiMat has two metrics for evaluating nestedness. Possible values are (see Nestedness for detailed description of the avalaible metrics in BiMat):
      • @NestednessNODF
      • @NestednessNTC

  • Modularity:

    • MODULARITY_ALGORITHM = @AdaptiveBrim: BiMat has three algorithms for optimizing the modularity equation and hence find the module configuration of the network. Possible values are (see Modularity for detailed description of the avalaible algorithms in BiMat):
      • @AdaptiveBrim
      • @LPBrim
      • @LeadingEigenvector

    • OPTIMIZE_COMPONENTS = false: Modularity is a function that depends in the global information of the network. However, sometimes, the user may have a network which is not connected (it has isolated components). By using the default value false, BiMat will optimize the modularity value at the entire adjacency matrix, while by using the value true, BiMat will optimize the modularity at the component level. Optimizing at the component level may decrease the global modularity value, though the number of communities may increase and be finer.

    • TRIALS_MODULARITY = 20: The results of the modularity algorithms depend strongly on some initial random assignment of the communities. Therefore, BiMat restarts the algorithm using this number of times.