The bash script (**bash_fractalDimMinLoops.sh**) contains the instructions to perform the analysis related to identifying minimum loops of DNAns (not linking).
## I.- The mathematica notebook
The mathematica notebook**MinLoops.m** reads the data from the network connectivity files in folder **1_networkConnectivity/REP1/**. These files contain information about which DNAns (with moleculeID $m\in[0,N-1]$) is connected with any other DNAns. The mathematica notebook contains comands to look for the minimum loops containing molecule $r_{1}$ and formed by $l_{min} \in [0,l_{m}]$ nanostars, with $l_{m}=20$ a cutoff size for the loops found by our analysis. This is repeated for every single vertex ($r_{1}$) in the graph. For instance, if the minimum loop passing through $r_{1}=0$ is made by $l_{min}=6$ nanostars (0,1,5,27,38 and 100). This means that when the algoritm looks for the minimum loop passing through $r_{1}=1$, there is the possibility that the minimum loop would contain the same nanostars (1,5,27,38,100 and 0). In this case, the number of minimum loops would be over counted, so later we would ensure that this is not the case.
The mathematica script**MinLoops.m** reads the data from the network connectivity files in folder **1_networkConnectivity/REP1/**. These files contain information about which DNAns (with moleculeID $m\in[0,N-1]$) is connected with any other DNAns. Then, the mathematica script looks for the minimum loops containing molecule $r_{1}$ and formed by $l_{min} \in [0,l_{m}]$ nanostars, with $l_{m}=20$ a cutoff size for the loops found by our analysis. This is repeated for every single vertex ($r_{1}$) in the graph. For instance, if the minimum loop passing through $r_{1}=0$ is made by $l_{min}=6$ nanostars (0,1,5,27,38 and 100). This means that when the algoritm looks for the minimum loop passing through $r_{1}=1$, there is the possibility that the minimum loop would contain the same nanostars (1,5,27,38,100 and 0). In this case, the number of minimum loops would be over counted, so later we would ensure that this is not the case.
By default the analysis is performed for the first two frames from simulations ($t=0$ and $t=100000$), but the user can change this by setting the initial ($t_{i}$), final ($t_{f}$) and dump frequency ($d_{freq}$) times in the notebook. The analysis will create the file **minLoop.txt** with columns:
...
...
@@ -18,10 +18,12 @@ Also the file *attempts.txt* will be created, with columns:
>
> 2.- The number of successful attempts to find a minimum loop.
>
> 3.- The number of unsuccessful attempts to find a minimum loop (because the chosen vertex was not part of a loop made by at the most 20 DNAns.)
> 3.- The number of unsuccessful attempts to find a minimum loop (because the chosen vertex was not part of a loop made by at the most 20 DNAns).
**Note:** if you have problems running the mathematica script through the bash, you will need to open the script (MinLoops.m) and run it as usual (shift+enter) to create the previous files. Then continue running bash\_fractalDimMinLoops.sh.
## II.- Fractal dimension
Runs the AWK script **awk.remove_repeated_loops.sh** which creates the file *minLoop_cleaned.txt*. This is a copy of *minLoop.txt* after removing repeated minimum loops.**IMPORTANT:**.
Runs the AWK script **awk.remove_repeated_loops.sh** which creates the file *minLoop_cleaned.txt*. This is a copy of *minLoop.txt* after removing repeated minimum loops.
Runs the C++ code **fractalD_ring_v2.cpp** which reads the moleculeIDs from *minLoop_cleaned.txt* and identifies the 3D configuration of this path in our simulations (after reconstruction of the path using the minimum image criterion). It computes the radius of gyration ($R_{g,min}$). To avoid considering linear paths closed through the periodic boundary conditions as a minimum loop, we imposed the condition $R_{g,min}$<= 0.3L $=12\sigma$. This analysis creates the file **fractalDimension2.dat**, with $3+l_{min}$ columns: