We also provide a partition function value algebra for structures including pseudoknots, although results can in principle not be correct. The reason is, that our way of computing pseudoknots is heuristic. We only deal with canonical representative pseudoknotted structures, which stand for a whole class of pseudoknotted structures. Thus, we will always miss a part of the search space. The other reason is, that we don't have a grammar like Grammars/gra_macrostate.gap for pseudoknots, which deal with dangling for pseudoknots in the correct four-way manner.
"Algebras/Pfunc/alg_pknot_pfunc.gap" is an extension of Algebras/Pfunc/alg_pfunc.gap for the pseudoknot specific algebra-functions.
Since algebra functions are commonly used by other algebras (Algebras/Pfunc/alg_pfunc.gap and Algebras/Pfunc/alg_outside_pfunc.gap), they are outsourced in the file Algebras/Pfunc/algpart_pfunc_basic.gap.