1. A method for inferring new knowledge and insight from available data, with the method consisting of steps: a. representing the knowledge in terms of a model network of coupled dynamical equations of differential or difference type with the data entities as nodes and the interrelationships between the said data entities as edges or connections, b. choosing a model from the said representation by proposing a population of plural nodes and connections from the said representation and representing the population by strings of characters and associated trees, with the said string representation consisting of characters representing data entities as well as a choice of mathematical operators, c. evaluating the values of the associated trees by integrating or iterating the said differential or difference equations along branches of the trees for each candidate in the aforesaid population, d. assigning a fitness measure to the said candidate based on i) the comparison with the evaluated values to the data values, ii) presence of known motifs in the network, iii) stability of the network as evaluated by a linear stability analysis, iv) statistical measure of correlations in the data and v) consistency with the prior known connections in the network; e. Repeating steps b)-d) for a number of population and selecting the best candidate with respect to fitness measure as the aforesaid network model f. Analyzing the network corresponding to the said best individual for its i) topological ii) geometric iii) community structure and stability properties and identifying a list of key nodes representing data entities; g. Obtaining the list and structure of communities in the network and ranking them according to their prevalence in the said population of network models; h. Identifying and obtaining sub networks and modules by reconfiguring connections of key nodes obtained in f).