Pymol Scripting , How does Iterate work? How to make a CSV from the Iterate output

146 Views Asked by At

I'm wondering how the built-in function of Pymol actually work. When I define a function like "take some atom names" , "calculate some propriety (e.g. dihaedral)". Then the function "Iterate" should Iterate this function trought an atom selection.

I haven't understood how I can manipulate the output...

Here there is some code (actually this piece of code was solved by another user: FlamFlam).

This is a function that (as I understood) shoud take some atoms name (s1,s2,s3,s4), calculate a propriety (dihaedral). Then it just return a tuple with the atom identifiers and the angle properties (that's exaclty what I want).

def dihedral_res(model, segi, chain, resn, resi):
    
    sele = []
    
    s1 = "/{}/{}/{}/{}`{}/P".format(model, segi, chain, resn, resi)
    s2 = "/{}/{}/{}/{}`{}/C4'".format(model, segi, chain, resn, resi)
    s3 = "/{}/{}/{}/{}`{}/P".format(model, segi, chain, resn, resi)
    s4 = "/{}/{}/{}/{}`{}/C4'".format(model, segi, chain, resn, resi)
    try:
        dihedral_val = cmd.get_dihedral(s1, s2, s3, s4, state=0)
    except:
        dihedral_val = None
    
    return model, segi, chain, resn, resi, dihedral_val
    
dihedral_res = {'dihedral_res': dihedral_res}
cmd.iterate("name P", "dihedral_res(model, segi, chain, resn, resi)", space=dihedral_res)

This is the output:

('mir23', 'RNAA', '', 'C', '2', 180.0)
('mir23', 'RNAA', '', 'A', '3', 180.0)
('mir23', 'RNAA', '', 'A', '4', 180.0)
('mir23', 'RNAA', '', 'U', '5', 180.0)

Now my question is: how I can start to manipulate this output? I'd like to make a list with all this tuples (so that indexing this list of tuples I can do whatever i want). I'd like also to generate a csv that look like this (the empty space is important, since only in this case i don't have the chain ID) (I don't really care if the csv will be printed with the string identifier "")

model, segi, chain, resn, resi, angle
'mir23', 'RNAA', '', 'C', '2', 180.0
'mir23', 'RNAA', '', 'A', '3', 180.0

I also haven't understood why pymol obligate me to make a dictionary and how it works.

(I know that s1/s3 and s2/s4 are the same atom, I didn't care, yet, about the scientific part)

1

There are 1 best solutions below

0
pippo1980 On

Using as input 1bna.pdb :

ATOM      1  O5'  DC A   1      18.935  34.195  25.617  1.00 64.35           O  
ATOM      2  C5'  DC A   1      19.130  33.921  24.219  1.00 44.69           C  
ATOM      3  C4'  DC A   1      19.961  32.668  24.100  1.00 31.28           C  
ATOM      4  O4'  DC A   1      19.360  31.583  24.852  1.00 37.45           O  
ATOM      5  C3'  DC A   1      20.172  32.122  22.694  1.00 46.72           C  
ATOM      6  O3'  DC A   1      21.350  31.325  22.681  1.00 48.89           O  
ATOM      7  C2'  DC A   1      18.948  31.223  22.647  1.00 30.88           C  
ATOM      8  C1'  DC A   1      19.231  30.482  23.944  1.00 36.58           C  
ATOM      9  N1   DC A   1      18.070  29.661  24.380  1.00 40.51           N  
ATOM     10  C2   DC A   1      18.224  28.454  25.015  1.00 16.62           C  
ATOM     11  O2   DC A   1      19.360  28.014  25.214  1.00 27.75           O  
ATOM     12  N3   DC A   1      17.143  27.761  25.377  1.00 20.55           N  
ATOM     13  C4   DC A   1      15.917  28.226  25.120  1.00 34.72           C  
ATOM     14  N4   DC A   1      14.828  27.477  25.444  1.00 40.31           N  
ATOM     15  C5   DC A   1      15.719  29.442  24.471  1.00 30.78           C  
ATOM     16  C6   DC A   1      16.843  30.171  24.101  1.00 25.90           C  
ATOM     17  P    DG A   2      22.409  31.286  21.483  1.00 58.85           P  
ATOM     18  OP1  DG A   2      23.536  32.157  21.851  1.00 57.82           O  
ATOM     19  OP2  DG A   2      21.822  31.459  20.139  1.00 78.33           O  
ATOM     20  O5'  DG A   2      22.840  29.751  21.498  1.00 40.36           O  
ATOM     21  C5'  DG A   2      23.543  29.175  22.594  1.00 47.19           C  
ATOM     22  C4'  DG A   2      23.494  27.709  22.279  1.00 47.81           C  
ATOM     23  O4'  DG A   2      22.193  27.252  22.674  1.00 38.76           O  
ATOM     24  C3'  DG A   2      23.693  27.325  20.807  1.00 28.58           C  
ATOM     25  O3'  DG A   2      24.723  26.320  20.653  1.00 40.44           O  
ATOM     26  C2'  DG A   2      22.273  26.885  20.416  1.00 21.14           C  
ATOM     27  C1'  DG A   2      21.721  26.304  21.716  1.00 33.95           C  
ATOM     28  N9   DG A   2      20.237  26.470  21.780  1.00 34.00           N  
ATOM     29  C8   DG A   2      19.526  27.584  21.429  1.00 36.47           C  
ATOM     30  N7   DG A   2      18.207  27.455  21.636  1.00 32.37           N  
ATOM     31  C5   DG A   2      18.083  26.212  22.142  1.00 15.06           C  
ATOM     32  C6   DG A   2      16.904  25.525  22.545  1.00 11.88           C  
ATOM     33  O6   DG A   2      15.739  25.916  22.518  1.00 21.30           O  
ATOM     34  N1   DG A   2      17.197  24.279  23.037  1.00 15.44           N  
ATOM     35  C2   DG A   2      18.434  23.717  23.155  1.00  9.63           C  
ATOM     36  N2   DG A   2      18.508  22.456  23.668  1.00 16.69           N  
ATOM     37  N3   DG A   2      19.537  24.360  22.770  1.00 30.98           N  
ATOM     38  C4   DG A   2      19.290  25.594  22.274  1.00 18.56           C  
ATOM     39  P    DC A   3      25.064  25.621  19.252  1.00 44.67           P  
ATOM     40  OP1  DC A   3      26.506  25.316  19.220  1.00 53.89           O  
ATOM     41  OP2  DC A   3      24.559  26.412  18.115  1.00 57.79           O  
ATOM     42  O5'  DC A   3      24.260  24.246  19.327  1.00 35.42           O  
ATOM     43  C5'  DC A   3      24.584  23.285  20.335  1.00 45.75           C  
ATOM     44  C4'  DC A   3      23.523  22.233  20.245  1.00 43.02           C  
ATOM     45  O4'  DC A   3      22.256  22.844  20.453  1.00 36.85           O  
ATOM     46  C3'  DC A   3      23.424  21.557  18.903  1.00 40.14           C  
ATOM     47  O3'  DC A   3      24.121  20.309  18.928  1.00 49.62           O  
ATOM     48  C2'  DC A   3      21.930  21.406  18.661  1.00 53.79           C  
ATOM     49  C1'  DC A   3      21.278  21.966  19.909  1.00 22.18           C  
ATOM     50  N1   DC A   3      20.196  22.889  19.521  1.00 25.44           N  
ATOM     51  C2   DC A   3      18.909  22.584  19.816  1.00 19.81           C  
ATOM     52  O2   DC A   3      18.685  21.512  20.382  1.00 29.92           O  
ATOM     53  N3   DC A   3      17.935  23.447  19.502  1.00 21.59           N  
ATOM     54  C4   DC A   3      18.217  24.603  18.897  1.00 14.01           C  
ATOM     55  N4   DC A   3      17.221  25.499  18.629  1.00 26.88           N  
ATOM     56  C5   DC A   3      19.526  24.945  18.571  1.00 27.59           C  
ATOM     57  C6   DC A   3      20.537  24.048  18.899  1.00 27.05           C  
ATOM     58  P    DG A   4      24.249  19.412  17.617  1.00 44.54           P  
ATOM     59  OP1  DG A   4      25.420  18.535  17.765  1.00 61.90           O  
ATOM     60  OP2  DG A   4      24.208  20.296  16.440  1.00 37.36           O  
ATOM     61  O5'  DG A   4      22.931  18.537  17.670  1.00 32.01           O  
ATOM     62  C5'  DG A   4      22.714  17.625  18.753  1.00 37.89           C  
ATOM     63  C4'  DG A   4      21.393  16.960  18.505  1.00 53.00           C  
ATOM     64  O4'  DG A   4      20.353  17.952  18.496  1.00 38.79           O  
ATOM     65  C3'  DG A   4      21.264  16.229  17.176  1.00 56.72           C  
ATOM     66  O3'  DG A   4      20.284  15.214  17.238  1.00 64.12           O  
ATOM     67  C2'  DG A   4      20.793  17.368  16.288  1.00 40.81           C  
ATOM     68  C1'  DG A   4      19.716  17.901  17.218  1.00 30.52           C  
ATOM     69  N9   DG A   4      19.305  19.281  16.869  1.00 28.53           N  
ATOM     70  C8   DG A   4      20.017  20.263  16.232  1.00 27.82           C  
ATOM     71  N7   DG A   4      19.313  21.394  16.077  1.00 28.01           N  
ATOM     72  C5   DG A   4      18.121  21.100  16.635  1.00 23.22           C  
ATOM     73  C6   DG A   4      16.952  21.904  16.749  1.00 29.21           C  
ATOM     74  O6   DG A   4      16.769  23.057  16.368  1.00 38.58           O  
ATOM     75  N1   DG A   4      15.933  21.214  17.352  1.00 27.94           N  
ATOM     76  C2   DG A   4      15.972  19.930  17.816  1.00 23.44           C  
ATOM     77  N2   DG A   4      14.831  19.416  18.353  1.00 42.64           N  
ATOM     78  N3   DG A   4      17.068  19.179  17.717  1.00 21.56           N  
ATOM     79  C4   DG A   4      18.084  19.825  17.121  1.00 23.44           C  
ATOM     80  P    DA A   5      20.356  13.969  16.245  1.00 57.01           P  
ATOM     81  OP1  DA A   5      21.116  12.891  16.892  1.00 58.59           O  
ATOM     82  OP2  DA A   5      20.837  14.423  14.910  1.00 51.96           O  
ATOM     83  O5'  DA A   5      18.810  13.581  16.161  1.00 47.12           O  
ATOM     84  C5'  DA A   5      18.015  13.569  17.362  1.00 47.67           C  
ATOM     85  C4'  DA A   5      16.672  14.088  16.957  1.00 64.79           C  
ATOM     86  O4'  DA A   5      16.842  15.447  16.561  1.00 47.60           O  
ATOM     87  C3'  DA A   5      16.019  13.393  15.764  1.00 51.50           C  
ATOM     88  O3'  DA A   5      14.762  12.796  16.120  1.00 52.18           O  
ATOM     89  C2'  DA A   5      15.952  14.498  14.696  1.00 45.00           C  
ATOM     90  C1'  DA A   5      15.851  15.732  15.569  1.00 26.88           C  
ATOM     91  N9   DA A   5      16.391  16.916  14.867  1.00 16.69           N  
ATOM     92  C8   DA A   5      17.658  17.103  14.382  1.00 28.14           C  
ATOM     93  N7   DA A   5      17.863  18.346  13.913  1.00 34.85           N  
ATOM     94  C5   DA A   5      16.673  18.953  14.098  1.00 22.49           C  
ATOM     95  C6   DA A   5      16.230  20.279  13.819  1.00 18.12           C  
ATOM     96  N6   DA A   5      17.045  21.222  13.268  1.00 29.30           N  
ATOM     97  N1   DA A   5      14.966  20.578  14.118  1.00 27.61           N  
ATOM     98  C2   DA A   5      14.178  19.652  14.669  1.00 18.53           C  
ATOM     99  N3   DA A   5      14.463  18.392  14.984  1.00 29.16           N  
ATOM    100  C4   DA A   5      15.750  18.110  14.661  1.00 15.08           C  
ATOM    101  P    DA A   6      13.866  12.006  15.063  1.00 43.68           P  
ATOM    102  OP1  DA A   6      13.028  11.039  15.800  1.00 42.55           O  
ATOM    103  OP2  DA A   6      14.715  11.499  13.968  1.00 54.20           O  
ATOM    104  O5'  DA A   6      12.879  13.111  14.480  1.00 28.20           O  
ATOM    105  C5'  DA A   6      11.802  13.597  15.290  1.00 42.29           C  
ATOM    106  C4'  DA A   6      11.111  14.603  14.435  1.00 33.23           C  
ATOM    107  O4'  DA A   6      12.152  15.460  13.962  1.00 41.48           O  
ATOM    108  C3'  DA A   6      10.417  14.070  13.187  1.00 18.16           C  
ATOM    109  O3'  DA A   6       9.007  14.369  13.181  1.00 30.42           O  
ATOM    110  C2'  DA A   6      11.240  14.692  12.061  1.00 52.97           C  
ATOM    111  C1'  DA A   6      11.699  15.974  12.719  1.00 38.93           C  
ATOM    112  N9   DA A   6      12.918  16.526  12.078  1.00 19.06           N  
ATOM    113  C8   DA A   6      14.115  15.899  11.868  1.00 17.83           C  
ATOM    114  N7   DA A   6      15.049  16.714  11.356  1.00 29.55           N  
ATOM    115  C5   DA A   6      14.416  17.901  11.246  1.00 19.88           C  
ATOM    116  C6   DA A   6      14.873  19.187  10.815  1.00 17.26           C  
ATOM    117  N6   DA A   6      16.161  19.418  10.427  1.00 19.85           N  
ATOM    118  N1   DA A   6      13.999  20.191  10.852  1.00 17.93           N  
ATOM    119  C2   DA A   6      12.753  19.962  11.272  1.00 23.00           C  
ATOM    120  N3   DA A   6      12.210  18.824  11.698  1.00 21.37           N  
ATOM    121  C4   DA A   6      13.116  17.823  11.657  1.00 15.93           C  
ATOM    122  P    DT A   7       8.081  14.050  11.915  1.00 40.72           P  
ATOM    123  OP1  DT A   7       6.668  13.960  12.342  1.00 46.75           O  
ATOM    124  OP2  DT A   7       8.600  12.894  11.137  1.00 42.53           O  
ATOM    125  O5'  DT A   7       8.239  15.387  11.076  1.00 35.21           O  
ATOM    126  C5'  DT A   7       7.907  16.635  11.686  1.00 34.88           C  
ATOM    127  C4'  DT A   7       8.162  17.628  10.598  1.00 31.45           C  
ATOM    128  O4'  DT A   7       9.543  17.580  10.279  1.00 46.82           O  
ATOM    129  C3'  DT A   7       7.461  17.284   9.296  1.00 23.76           C  
ATOM    130  O3'  DT A   7       6.251  18.034   9.162  1.00 44.27           O  
ATOM    131  C2'  DT A   7       8.532  17.527   8.223  1.00 26.30           C  
ATOM    132  C1'  DT A   7       9.644  18.209   9.019  1.00 28.96           C  
ATOM    133  N1   DT A   7      11.021  17.903   8.565  1.00 20.47           N  
ATOM    134  C2   DT A   7      11.822  18.923   8.176  1.00 28.01           C  
ATOM    135  O2   DT A   7      11.383  20.077   8.143  1.00 40.01           O  
ATOM    136  N3   DT A   7      13.119  18.641   7.852  1.00 27.94           N  
ATOM    137  C4   DT A   7      13.633  17.372   7.882  1.00 15.14           C  
ATOM    138  O4   DT A   7      14.830  17.222   7.619  1.00 32.54           O  
ATOM    139  C5   DT A   7      12.781  16.325   8.235  1.00 10.83           C  
ATOM    140  C7   DT A   7      13.269  14.902   8.236  1.00 36.33           C  
ATOM    141  C6   DT A   7      11.465  16.616   8.594  1.00 12.19           C  
ATOM    142  P    DT A   8       5.384  17.990   7.824  1.00 49.10           P  
ATOM    143  OP1  DT A   8       4.025  18.444   8.180  1.00 41.11           O  
ATOM    144  OP2  DT A   8       5.458  16.668   7.160  1.00 39.21           O  
ATOM    145  O5'  DT A   8       6.086  19.118   6.927  1.00 48.80           O  
ATOM    146  C5'  DT A   8       6.146  20.478   7.418  1.00 34.73           C  
ATOM    147  C4'  DT A   8       6.995  21.229   6.438  1.00 28.73           C  
ATOM    148  O4'  DT A   8       8.188  20.458   6.284  1.00 39.07           O  
ATOM    149  C3'  DT A   8       6.418  21.332   5.029  1.00 37.88           C  
ATOM    150  O3'  DT A   8       5.967  22.667   4.696  1.00 52.04           O  
ATOM    151  C2'  DT A   8       7.513  20.718   4.139  1.00 32.80           C  
ATOM    152  C1'  DT A   8       8.736  20.855   5.034  1.00 36.58           C  
ATOM    153  N1   DT A   8       9.823  19.876   4.759  1.00 24.57           N  
ATOM    154  C2   DT A   8      11.086  20.316   4.494  1.00 19.41           C  
ATOM    155  O2   DT A   8      11.324  21.516   4.389  1.00 32.74           O  
ATOM    156  N3   DT A   8      12.094  19.403   4.412  1.00 25.12           N  
ATOM    157  C4   DT A   8      11.876  18.060   4.551  1.00 31.35           C  
ATOM    158  O4   DT A   8      12.858  17.317   4.503  1.00 28.53           O  
ATOM    159  C5   DT A   8      10.569  17.611   4.765  1.00 22.80           C  
ATOM    160  C7   DT A   8      10.261  16.140   4.896  1.00 24.98           C  
ATOM    161  C6   DT A   8       9.545  18.548   4.904  1.00 20.28           C  
ATOM    162  P    DC A   9       5.531  23.071   3.209  1.00 48.97           P  
ATOM    163  OP1  DC A   9       4.648  24.244   3.269  1.00 62.33           O  
ATOM    164  OP2  DC A   9       5.010  21.905   2.470  1.00 51.53           O  
ATOM    165  O5'  DC A   9       6.926  23.547   2.611  1.00 43.99           O  
ATOM    166  C5'  DC A   9       7.636  24.627   3.249  1.00 50.86           C  
ATOM    167  C4'  DC A   9       8.897  24.853   2.457  1.00 46.66           C  
ATOM    168  O4'  DC A   9       9.638  23.627   2.448  1.00 42.69           O  
ATOM    169  C3'  DC A   9       8.717  25.240   0.998  1.00 56.96           C  
ATOM    170  O3'  DC A   9       9.470  26.414   0.667  1.00 63.54           O  
ATOM    171  C2'  DC A   9       9.126  23.965   0.253  1.00 50.41           C  
ATOM    172  C1'  DC A   9      10.241  23.483   1.157  1.00 41.08           C  
ATOM    173  N1   DC A   9      10.524  22.022   1.015  1.00 37.23           N  
ATOM    174  C2   DC A   9      11.814  21.603   0.840  1.00 40.54           C  
ATOM    175  O2   DC A   9      12.691  22.447   0.670  1.00 43.89           O  
ATOM    176  N3   DC A   9      12.106  20.297   0.873  1.00 32.57           N  
ATOM    177  C4   DC A   9      11.141  19.395   1.046  1.00 24.65           C  
ATOM    178  N4   DC A   9      11.461  18.075   1.089  1.00 27.84           N  
ATOM    179  C5   DC A   9       9.803  19.775   1.177  1.00 17.61           C  
ATOM    180  C6   DC A   9       9.499  21.133   1.167  1.00 30.63           C  
ATOM    181  P    DG A  10       9.055  27.333  -0.581  1.00 65.48           P  
ATOM    182  OP1  DG A  10       9.496  28.717  -0.258  1.00 59.09           O  
ATOM    183  OP2  DG A  10       7.632  27.106  -0.947  1.00 45.71           O  
ATOM    184  O5'  DG A  10       9.954  26.765  -1.771  1.00 70.30           O  
ATOM    185  C5'  DG A  10      11.382  26.940  -1.720  1.00 71.73           C  
ATOM    186  C4'  DG A  10      11.972  26.090  -2.802  1.00 58.69           C  
ATOM    187  O4'  DG A  10      11.802  24.724  -2.404  1.00 41.03           O  
ATOM    188  C3'  DG A  10      11.327  26.178  -4.188  1.00 45.61           C  
ATOM    189  O3'  DG A  10      12.311  26.096  -5.214  1.00 52.70           O  
ATOM    190  C2'  DG A  10      10.414  24.962  -4.186  1.00 36.02           C  
ATOM    191  C1'  DG A  10      11.429  24.028  -3.587  1.00 50.90           C  
ATOM    192  N9   DG A  10      10.890  22.713  -3.200  1.00 45.86           N  
ATOM    193  C8   DG A  10       9.616  22.315  -2.910  1.00 44.49           C  
ATOM    194  N7   DG A  10       9.541  21.009  -2.613  1.00 39.96           N  
ATOM    195  C5   DG A  10      10.818  20.588  -2.718  1.00 38.99           C  
ATOM    196  C6   DG A  10      11.376  19.292  -2.511  1.00 35.78           C  
ATOM    197  O6   DG A  10      10.813  18.252  -2.179  1.00 34.90           O  
ATOM    198  N1   DG A  10      12.729  19.299  -2.720  1.00 23.54           N  
ATOM    199  C2   DG A  10      13.498  20.365  -3.082  1.00  8.73           C  
ATOM    200  N2   DG A  10      14.834  20.169  -3.237  1.00 23.15           N  
ATOM    201  N3   DG A  10      12.982  21.573  -3.267  1.00 24.68           N  
ATOM    202  C4   DG A  10      11.656  21.601  -3.061  1.00 31.53           C  
ATOM    203  P    DC A  11      12.763  27.421  -5.980  1.00 60.62           P  
ATOM    204  OP1  DC A  11      12.796  28.572  -5.049  1.00 63.74           O  
ATOM    205  OP2  DC A  11      11.886  27.542  -7.164  1.00 52.44           O  
ATOM    206  O5'  DC A  11      14.272  27.086  -6.366  1.00 57.57           O  
ATOM    207  C5'  DC A  11      15.275  27.108  -5.318  1.00 54.70           C  
ATOM    208  C4'  DC A  11      16.222  25.946  -5.510  1.00 72.51           C  
ATOM    209  O4'  DC A  11      15.443  24.754  -5.397  1.00 47.18           O  
ATOM    210  C3'  DC A  11      16.942  25.827  -6.848  1.00 29.82           C  
ATOM    211  O3'  DC A  11      18.340  25.511  -6.701  1.00 43.53           O  
ATOM    212  C2'  DC A  11      16.118  24.767  -7.578  1.00 51.34           C  
ATOM    213  C1'  DC A  11      15.856  23.836  -6.414  1.00 30.07           C  
ATOM    214  N1   DC A  11      14.672  22.975  -6.637  1.00 23.25           N  
ATOM    215  C2   DC A  11      14.802  21.628  -6.529  1.00 20.38           C  
ATOM    216  O2   DC A  11      15.924  21.178  -6.314  1.00 38.77           O  
ATOM    217  N3   DC A  11      13.723  20.842  -6.627  1.00 15.92           N  
ATOM    218  C4   DC A  11      12.515  21.373  -6.836  1.00 15.82           C  
ATOM    219  N4   DC A  11      11.410  20.574  -6.872  1.00 28.04           N  
ATOM    220  C5   DC A  11      12.348  22.744  -6.978  1.00 26.17           C  
ATOM    221  C6   DC A  11      13.470  23.558  -6.869  1.00 35.50           C  
ATOM    222  P    DG A  12      19.331  25.774  -7.925  1.00 55.98           P  
ATOM    223  OP1  DG A  12      20.704  25.976  -7.408  1.00 45.83           O  
ATOM    224  OP2  DG A  12      18.763  26.851  -8.758  1.00 44.26           O  
ATOM    225  O5'  DG A  12      19.302  24.412  -8.763  1.00 62.63           O  
ATOM    226  C5'  DG A  12      20.109  23.284  -8.359  1.00 69.50           C  
ATOM    227  C4'  DG A  12      19.748  22.167  -9.299  1.00 39.92           C  
ATOM    228  O4'  DG A  12      18.350  21.969  -9.139  1.00 32.00           O  
ATOM    229  C3'  DG A  12      19.921  22.404 -10.815  1.00 50.39           C  
ATOM    230  O3'  DG A  12      20.985  21.635 -11.401  1.00 64.13           O  
ATOM    231  C2'  DG A  12      18.535  22.062 -11.381  1.00 36.18           C  
ATOM    232  C1'  DG A  12      17.965  21.200 -10.269  1.00 24.79           C  
ATOM    233  N9   DG A  12      16.493  21.220 -10.265  1.00 28.44           N  
ATOM    234  C8   DG A  12      15.663  22.289 -10.478  1.00 31.85           C  
ATOM    235  N7   DG A  12      14.368  21.958 -10.390  1.00 38.26           N  
ATOM    236  C5   DG A  12      14.388  20.640 -10.102  1.00 28.99           C  
ATOM    237  C6   DG A  12      13.301  19.742  -9.856  1.00 42.63           C  
ATOM    238  O6   DG A  12      12.091  19.967  -9.857  1.00 49.17           O  
ATOM    239  N1   DG A  12      13.750  18.466  -9.625  1.00 40.15           N  
ATOM    240  C2   DG A  12      15.042  18.043  -9.605  1.00 33.42           C  
ATOM    241  N2   DG A  12      15.259  16.717  -9.406  1.00 40.53           N  
ATOM    242  N3   DG A  12      16.061  18.885  -9.792  1.00 37.34           N  
ATOM    243  C4   DG A  12      15.660  20.156 -10.027  1.00 31.14           C  
TER     244       DG A  12                                                      
MASTER      355    0    0    0    0    0    0    6  566    2    0    2          
END                                                                             

and code :

import pymol

from pymol import cmd

import csv

#pymol.finish_launching()

pymol.cmd.feedback('disable' , 'all' , 'error')

# pymol.cmd.feedback('enable' , 'all' , 'eblather')

cmd.load('1bna.pdb' , 'mol')


def dihedral_res(model, segi, chain, resn, resi):
    
    sele = [] # assigned but never used
    
    s1 = "/{}/{}/{}/{}`{}/P".format(model, segi, chain, resn, resi)
    s2 = "/{}/{}/{}/{}`{}/C4'".format(model, segi, chain, resn, resi)
    s3 = "/{}/{}/{}/{}`{}/P".format(model, segi, chain, resn, resi)
    s4 = "/{}/{}/{}/{}`{}/C4'".format(model, segi, chain, resn, resi)
    try:
        dihedral_val = cmd.get_dihedral(s1, s2, s3, s4, state=0)
        
        return model, segi, chain, resn, resi, dihedral_val
    except:
        dihedral_val = None
    
        return None


lista = []
    
dihedral_res = {'dihedral_res': dihedral_res, 'lista' : lista}

cmd.select('name_P' , 'name P')

# cmd.iterate("mol", "lista.append(dihedral_res(model, segi, chain, resn, resi))", space=dihedral_res)

cmd.iterate("name_P", "lista.append(dihedral_res(model, segi, chain, resn, resi))", space=dihedral_res)


while None in lista:    

    lista.remove(None)    
    
print(lista , '\n' ,type(lista))

with open('test_name_P.csv', 'wt') as test_file:
    
  file_writer = csv.writer(test_file , quoting=csv.QUOTE_ALL)
  # file_writer = csv.writer(test_file)
  
  file_writer.writerow(['model', 'segi', 'chain', 'resn', 'resi', 'angle'])
  
  for item_index in range(len(lista)):
  
      file_writer.writerow([lista[item_index][i] for i in range(len(lista[item_index]))])

output test_name_P.csv :

"model","segi","chain","resn","resi","angle"
"mol","","A","DG","2","180.0"
"mol","","A","DC","3","180.0"
"mol","","A","DG","4","180.0"
"mol","","A","DA","5","180.0"
"mol","","A","DA","6","180.0"
"mol","","A","DT","7","180.0"
"mol","","A","DT","8","180.0"
"mol","","A","DC","9","180.0"
"mol","","A","DG","10","180.0"
"mol","","A","DC","11","180.0"
"mol","","A","DG","12","180.0"

I changed your dihedral_res() function and purged the list from Nones, it won't be a problem to get them back.

See here for explanations: Iterate PimolWiki

"space" argument The space argument can be used to pass local objects into the expression namespace, instead of evaluating the expression in the global pymol module namespace.

Examples are available too.

I am pretty sure that applying your dihedral_res to my input selecting name P isn't what you were trying to accomplish, but without a proper input I focused on the algorithm.