gsrap 0.10.1__py3-none-any.whl → 0.10.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
gsrap/parsedb/parsedb.py CHANGED
@@ -17,7 +17,7 @@ from ..commons import write_excel_model
17
17
  from ..commons import show_contributions
18
18
  from ..commons import adjust_biomass_precursors
19
19
  from ..commons import count_undrawn_rids_focus
20
-
20
+ from ..commons import parse_zipped_escher
21
21
  from ..commons import format_expansion
22
22
  from ..commons import check_taxon
23
23
  from ..commons import download_keggorg
@@ -50,6 +50,9 @@ def main(args, logger):
50
50
 
51
51
 
52
52
 
53
+
54
+
55
+
53
56
  ###### PRE-PARSING
54
57
 
55
58
  # adjust out folder path
@@ -72,9 +75,9 @@ def main(args, logger):
72
75
  return 1
73
76
 
74
77
 
75
- # check 'goodbefore' and 'onlyauthor' params
76
- if args.goodbefore == '-' and args.onlyauthor != '-':
77
- logger.error(f"--onlyauthor must be used in conjunction with --goodbefore.")
78
+ # check 'goodbefore' and 'onlycurator' params
79
+ if args.goodbefore == '-' and args.onlycurator != '-':
80
+ logger.error(f"--onlycurator must be used in conjunction with --goodbefore.")
78
81
  return 1
79
82
  if args.goodbefore == '-': args.goodbefore = [None, None, None]
80
83
  elif len(args.goodbefore.split('-')) != 3:
@@ -85,7 +88,7 @@ def main(args, logger):
85
88
  if args.goodbefore[0] == 'None': args.goodbefore[0] = None
86
89
  if args.goodbefore[1] == 'None': args.goodbefore[1] = None
87
90
  if args.goodbefore[2] == 'None': args.goodbefore[2] = None
88
- if args.onlyauthor == '-': args.onlyauthor = None
91
+ if args.onlycurator == '-': args.onlycurator = None
89
92
 
90
93
 
91
94
  # check and extract the required 'gsrap.maps' file
@@ -147,17 +150,17 @@ def main(args, logger):
147
150
 
148
151
 
149
152
  # introduce M
150
- universe = introduce_metabolites(logger, dbuni, universe, idcollection_dict, kegg_compound_to_others, args.outdir, args.goodbefore[0], args.onlyauthor)
153
+ universe = introduce_metabolites(logger, dbuni, universe, idcollection_dict, kegg_compound_to_others, args.outdir, args.goodbefore[0], args.onlycurator)
151
154
  if type(universe)==int: return 1
152
155
 
153
156
 
154
157
  # introduce R
155
- universe = introduce_reactions(logger, dbuni, universe, idcollection_dict, kegg_reaction_to_others, args.outdir, args.goodbefore[1], args.onlyauthor)
158
+ universe = introduce_reactions(logger, dbuni, universe, idcollection_dict, kegg_reaction_to_others, args.outdir, args.goodbefore[1], args.onlycurator)
156
159
  if type(universe)==int: return 1
157
160
 
158
161
 
159
162
  # introduce T
160
- universe = introduce_transporters(logger, dbuni, universe, idcollection_dict, kegg_reaction_to_others, args.outdir, args.goodbefore[2], args.onlyauthor)
163
+ universe = introduce_transporters(logger, dbuni, universe, idcollection_dict, kegg_reaction_to_others, args.outdir, args.goodbefore[2], args.onlycurator)
161
164
  if type(universe)==int: return 1
162
165
 
163
166
 
@@ -177,10 +180,16 @@ def main(args, logger):
177
180
 
178
181
 
179
182
  # introduce collections (groups of Rs as maps/modules)
180
- universe = set_up_groups(logger, universe, idcollection_dict)
183
+ universe = set_up_groups(logger, universe, idcollection_dict, args.goodbefore)
181
184
  if type(universe)==int: return 1
182
185
 
183
186
 
187
+ # introduce hand-drwn escher map annotation
188
+ if args.escherzip != '-':
189
+ universe = parse_zipped_escher(logger, universe, args.escherzip, args.outdir)
190
+ if type(universe) == int: return 1
191
+
192
+
184
193
 
185
194
  ###### POST-PARSING
186
195
 
@@ -199,7 +208,7 @@ def main(args, logger):
199
208
 
200
209
  # remove disconnected metabolites
201
210
  if args.keepdisconn == False:
202
- universe = remove_disconnected(logger, universe) # can be commented when using booster.py
211
+ universe = remove_disconnected(logger, universe) # keep disconnected metabolites when using booster.py
203
212
 
204
213
 
205
214
  # avoid time-consuming activities
@@ -1,7 +1,6 @@
1
1
  import pandas as pnd
2
2
  import cobra
3
3
 
4
-
5
4
  from .manual import get_deprecated_kos
6
5
  from .manual import get_rids_with_mancheck_gpr
7
6
  from .manual import get_rids_with_mancheck_balancing
@@ -90,7 +89,7 @@ def check_rstring_arrow(logger, rid, row, addtype='R'):
90
89
 
91
90
 
92
91
 
93
- def check_author(logger, mrid, row, db, addtype='R'):
92
+ def check_curator(logger, mrid, row, db, addtype='R'):
94
93
 
95
94
 
96
95
  # define itemtype:
@@ -101,23 +100,23 @@ def check_author(logger, mrid, row, db, addtype='R'):
101
100
  else: itemtype = 'Transporter'
102
101
 
103
102
 
104
- # check if author was indicated:
103
+ # check if curator was indicated:
105
104
  if pnd.isna(row['curator']):
106
105
  logger.error(f"{itemtype} '{mrid}' has no curator.")
107
106
  return 1
108
107
 
109
108
 
110
- # check if the are valid authors
111
- authors = set()
112
- for author in row['curator'].split(';'):
113
- author = author.strip()
114
- authors.add(author)
115
- if author not in db['curators']['username'].to_list():
116
- logger.error(f"{itemtype} '{mrid}' has invalid curator: '{author}'.")
109
+ # check if the are valid curators
110
+ curators = set()
111
+ for curator in row['curator'].split(';'):
112
+ curator = curator.strip()
113
+ curators.add(curator)
114
+ if curator not in db['curators']['username'].to_list():
115
+ logger.error(f"{itemtype} '{mrid}' has invalid curator: '{curator}'.")
117
116
  return 1
118
117
 
119
118
 
120
- return list(authors)
119
+ return list(curators)
121
120
 
122
121
 
123
122
 
@@ -137,7 +136,7 @@ def get_curator_notes(logger, row):
137
136
 
138
137
 
139
138
 
140
- def add_reaction(logger, model, rid, authors, row, kr_ids, kegg_reaction_to_others, addtype, outdir):
139
+ def add_reaction(logger, model, rid, curators, row, kr_ids, kegg_reaction_to_others, addtype, outdir):
141
140
 
142
141
 
143
142
  # define the itemtype:
@@ -180,7 +179,7 @@ def add_reaction(logger, model, rid, authors, row, kr_ids, kegg_reaction_to_othe
180
179
 
181
180
 
182
181
  # write curators as annotations
183
- r.annotation['curator_codes'] = authors
182
+ r.annotation['curator_codes'] = curators
184
183
 
185
184
 
186
185
  # add annotations to model (same order of Memote)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gsrap
3
- Version: 0.10.1
3
+ Version: 0.10.2
4
4
  Summary:
5
5
  License: GNU General Public License v3.0
6
6
  License-File: LICENSE.txt
@@ -27,5 +27,5 @@ Requires-Dist: pandas (>=2.0.0)
27
27
  Requires-Dist: xlsxwriter (>=3.1.0)
28
28
  Description-Content-Type: text/markdown
29
29
 
30
- Source code for `gsrap`.
30
+ Source code for `gsrap`.
31
31
 
@@ -1,5 +1,5 @@
1
- gsrap/.ipynb_checkpoints/__init__-checkpoint.py,sha256=OIblfpgppQI7PgC7Or9D4AmLsihTRdiuMUsGs2iiJ_A,15624
2
- gsrap/__init__.py,sha256=OIblfpgppQI7PgC7Or9D4AmLsihTRdiuMUsGs2iiJ_A,15624
1
+ gsrap/.ipynb_checkpoints/__init__-checkpoint.py,sha256=IgLF196hShcOLmStzW-h_kFykSe1lrKjlO_LIvBKkDU,16210
2
+ gsrap/__init__.py,sha256=IgLF196hShcOLmStzW-h_kFykSe1lrKjlO_LIvBKkDU,16210
3
3
  gsrap/assets/.ipynb_checkpoints/PM1-checkpoint.csv,sha256=0qjaMVG_t9aFxbHbxON6ecmEUnWPwN9nhmxc61QFeCU,8761
4
4
  gsrap/assets/.ipynb_checkpoints/PM2A-checkpoint.csv,sha256=rjYTdwe8lpRS552BYiUP3J71juG2ywVdR5Sux6fjZTY,8816
5
5
  gsrap/assets/.ipynb_checkpoints/PM3B-checkpoint.csv,sha256=42IGX_2O5bRYSiHoMuVKT-T-bzVj0cSRZBvGOrbnQMA,8130
@@ -12,32 +12,32 @@ gsrap/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  gsrap/assets/kegg_compound_to_others.pickle,sha256=BPjrr8Gmlqqj1ufCT_lWLmDJaZ0Iu8f_XS7KJU_gLck,8498114
13
13
  gsrap/assets/kegg_reaction_to_others.pickle,sha256=Gh4ANppTm_ZW-Hn-YE8EG87fMPt3EIVXk2YMZBerKqA,1763940
14
14
  gsrap/commons/.ipynb_checkpoints/__init__-checkpoint.py,sha256=9lrb0sBFSWEgV_e5FYzSgjTbam8b959rW_8VuxQHt1M,268
15
- gsrap/commons/.ipynb_checkpoints/biomass-checkpoint.py,sha256=eJ2lej72mjDAibS7lQCFfN-L4inkaQ3lERe7K6-1E5o,18059
16
- gsrap/commons/.ipynb_checkpoints/coeffs-checkpoint.py,sha256=qI3_GuqHkeA2KbK9pYdkqJaFwYemAVZJGLRR4QtHt6w,19182
17
- gsrap/commons/.ipynb_checkpoints/downloads-checkpoint.py,sha256=UKgFSPkxuxVWXoqrtZXEF42RR_KUjyoo_9wpCL-19X8,15908
18
- gsrap/commons/.ipynb_checkpoints/escherutils-checkpoint.py,sha256=4xtFsR-DDFsrYoDC6FIGZuLxQPLfNHoaE92RlnilunI,3747
15
+ gsrap/commons/.ipynb_checkpoints/biomass-checkpoint.py,sha256=2NdDJ-jt9W-KOCXjfjIWByoK1MeLbXq3ovNNUjjS-es,18060
16
+ gsrap/commons/.ipynb_checkpoints/coeffs-checkpoint.py,sha256=uCN8yxsIQ7pgWSx0_A1lZ0c_MWGM1hfANyC7EAoIvls,19183
17
+ gsrap/commons/.ipynb_checkpoints/downloads-checkpoint.py,sha256=KH5HxcIJPD06ZQ3iiiglnmryP0XK8uzbgE7Xm6u7IcQ,15912
18
+ gsrap/commons/.ipynb_checkpoints/escherutils-checkpoint.py,sha256=VkflnQfoknz5m721yiRVnBBdVihmZAHGF4eJbCbszCg,9681
19
19
  gsrap/commons/.ipynb_checkpoints/excelhub-checkpoint.py,sha256=h0TNzbjUiUQfXQrl7GRZlSc16GRzSRg3GJuwz9cXK78,11735
20
20
  gsrap/commons/.ipynb_checkpoints/figures-checkpoint.py,sha256=IRHSQXrCi4SQoISEfNB0rDhvUzbjcgsPi9zUSefsRto,4316
21
21
  gsrap/commons/.ipynb_checkpoints/fluxbal-checkpoint.py,sha256=jgC3-vI9Tbjvqohh2mJwFra4rl_pbUzHWrSa_QAxVO4,1262
22
22
  gsrap/commons/.ipynb_checkpoints/keggutils-checkpoint.py,sha256=M2nhHRiNH_xObHSxOIdt7ix59MrPdl9q3HNICC8X36M,4514
23
23
  gsrap/commons/.ipynb_checkpoints/logutils-checkpoint.py,sha256=VsnrkIsUftS3MOOwAd0n0peQ7a2X5ZEx930eCtzmW7g,1317
24
- gsrap/commons/.ipynb_checkpoints/medium-checkpoint.py,sha256=AMj95IvyWpbqKAYW5QdG_pyFXHDllUZ-b8dAsPR7tvU,3859
24
+ gsrap/commons/.ipynb_checkpoints/medium-checkpoint.py,sha256=025g33eev3NTEYVCAIcE0LYMM5uZkvrPMJRI2pYfLKk,3860
25
25
  gsrap/commons/.ipynb_checkpoints/memoteutils-checkpoint.py,sha256=rulJFSVX4I-XGi4uHXloL0eGIkC5zhpuJYWJn9zCDbY,4981
26
- gsrap/commons/.ipynb_checkpoints/metrics-checkpoint.py,sha256=yosbgX_EWUujN3AT6joY4xNxxJI97Qk3C0aKwko_mXs,3297
26
+ gsrap/commons/.ipynb_checkpoints/metrics-checkpoint.py,sha256=H-ya8HELdsh2onNmSgYmIFuyg0jpcf-9cp0VkZ6paqk,3314
27
27
  gsrap/commons/.ipynb_checkpoints/sbmlutils-checkpoint.py,sha256=gkY02qbGXrbYStn2F8J0KM0fmqati2Nbvi128EF7coI,365
28
28
  gsrap/commons/__init__.py,sha256=9lrb0sBFSWEgV_e5FYzSgjTbam8b959rW_8VuxQHt1M,268
29
- gsrap/commons/biomass.py,sha256=eJ2lej72mjDAibS7lQCFfN-L4inkaQ3lERe7K6-1E5o,18059
30
- gsrap/commons/coeffs.py,sha256=qI3_GuqHkeA2KbK9pYdkqJaFwYemAVZJGLRR4QtHt6w,19182
31
- gsrap/commons/downloads.py,sha256=UKgFSPkxuxVWXoqrtZXEF42RR_KUjyoo_9wpCL-19X8,15908
32
- gsrap/commons/escherutils.py,sha256=4xtFsR-DDFsrYoDC6FIGZuLxQPLfNHoaE92RlnilunI,3747
29
+ gsrap/commons/biomass.py,sha256=2NdDJ-jt9W-KOCXjfjIWByoK1MeLbXq3ovNNUjjS-es,18060
30
+ gsrap/commons/coeffs.py,sha256=uCN8yxsIQ7pgWSx0_A1lZ0c_MWGM1hfANyC7EAoIvls,19183
31
+ gsrap/commons/downloads.py,sha256=KH5HxcIJPD06ZQ3iiiglnmryP0XK8uzbgE7Xm6u7IcQ,15912
32
+ gsrap/commons/escherutils.py,sha256=VkflnQfoknz5m721yiRVnBBdVihmZAHGF4eJbCbszCg,9681
33
33
  gsrap/commons/excelhub.py,sha256=h0TNzbjUiUQfXQrl7GRZlSc16GRzSRg3GJuwz9cXK78,11735
34
34
  gsrap/commons/figures.py,sha256=IRHSQXrCi4SQoISEfNB0rDhvUzbjcgsPi9zUSefsRto,4316
35
35
  gsrap/commons/fluxbal.py,sha256=jgC3-vI9Tbjvqohh2mJwFra4rl_pbUzHWrSa_QAxVO4,1262
36
36
  gsrap/commons/keggutils.py,sha256=M2nhHRiNH_xObHSxOIdt7ix59MrPdl9q3HNICC8X36M,4514
37
37
  gsrap/commons/logutils.py,sha256=VsnrkIsUftS3MOOwAd0n0peQ7a2X5ZEx930eCtzmW7g,1317
38
- gsrap/commons/medium.py,sha256=AMj95IvyWpbqKAYW5QdG_pyFXHDllUZ-b8dAsPR7tvU,3859
38
+ gsrap/commons/medium.py,sha256=025g33eev3NTEYVCAIcE0LYMM5uZkvrPMJRI2pYfLKk,3860
39
39
  gsrap/commons/memoteutils.py,sha256=rulJFSVX4I-XGi4uHXloL0eGIkC5zhpuJYWJn9zCDbY,4981
40
- gsrap/commons/metrics.py,sha256=yosbgX_EWUujN3AT6joY4xNxxJI97Qk3C0aKwko_mXs,3297
40
+ gsrap/commons/metrics.py,sha256=H-ya8HELdsh2onNmSgYmIFuyg0jpcf-9cp0VkZ6paqk,3314
41
41
  gsrap/commons/sbmlutils.py,sha256=gkY02qbGXrbYStn2F8J0KM0fmqati2Nbvi128EF7coI,365
42
42
  gsrap/getmaps/.ipynb_checkpoints/__init__-checkpoint.py,sha256=L4gLwk1vgnPlQuIP-FPnvy9uXnmGVQ4Rvjv3uyciDfk,92
43
43
  gsrap/getmaps/.ipynb_checkpoints/getmaps-checkpoint.py,sha256=5Odf2PS1PmPZqQyKoLPYHYgNvYsp6IxrTy5HEQ5LNEM,2943
@@ -60,21 +60,21 @@ gsrap/mkmodel/mkmodel.py,sha256=k_HZMmFTaJnXxjjk9nWCX5m1VyAXyNAM0S5h69wi-PM,1084
60
60
  gsrap/mkmodel/polishing.py,sha256=R1UdFPxN8N27Iu0jsYW2N_1BkWEbBHaMYW6NkCYZK_k,3256
61
61
  gsrap/mkmodel/pruner.py,sha256=FAZid-0H6j66wR2dVKRAaMaDREVt1edflmZXbX7blXg,9836
62
62
  gsrap/parsedb/.ipynb_checkpoints/__init__-checkpoint.py,sha256=1k2K1gz4lIdXAwHEdJ0OhdkPu83woGv0Z4TpT1kGrTk,97
63
- gsrap/parsedb/.ipynb_checkpoints/annotation-checkpoint.py,sha256=uJIU653LzAH3n1HGuT_MnnyTgspMeMZztGQMOw3FH2w,6005
63
+ gsrap/parsedb/.ipynb_checkpoints/annotation-checkpoint.py,sha256=EbafgDhLfued7z0AW_LUdR5fkwSoXZt7fJN13d-EVtE,6535
64
64
  gsrap/parsedb/.ipynb_checkpoints/completeness-checkpoint.py,sha256=LKldz8Y4cl6LvUECzgvnufhlS8GlpOwK3M8j3dPYjwc,13197
65
65
  gsrap/parsedb/.ipynb_checkpoints/cycles-checkpoint.py,sha256=HJ58LcHQseQ1eploysfXd5Y8Rip8n62qhje4pmL22VM,4761
66
- gsrap/parsedb/.ipynb_checkpoints/introduce-checkpoint.py,sha256=2mSl9zbRLjH4MslVb6_idWM8oqGbAQvGA9j2wjhmvAE,19641
66
+ gsrap/parsedb/.ipynb_checkpoints/introduce-checkpoint.py,sha256=VJeEZFNSrCzCVofcgO2l-R4RRdk-yRTZbYYVqG595JA,19694
67
67
  gsrap/parsedb/.ipynb_checkpoints/manual-checkpoint.py,sha256=lrVR3ftABzLHrWvY-tp0LZe2k1FniSYRjQztd5J840A,5452
68
- gsrap/parsedb/.ipynb_checkpoints/parsedb-checkpoint.py,sha256=zUfDJANj7USbsD1bMK6QIriXxF66IrEs0yWGHk3pKlE,8859
69
- gsrap/parsedb/.ipynb_checkpoints/repeating-checkpoint.py,sha256=_v9IFfjfZ4WJfGir2-iMJ_BADwwcOidXl0-I8stEtOE,7084
68
+ gsrap/parsedb/.ipynb_checkpoints/parsedb-checkpoint.py,sha256=iYzVmoHn0bWqLwTAjm8rsNd02__fHZjFAVg2WaJmJI0,9162
69
+ gsrap/parsedb/.ipynb_checkpoints/repeating-checkpoint.py,sha256=Yz3slRPleyU0ixG934ebhKhVHdnd1sDS0HFSluk144k,7097
70
70
  gsrap/parsedb/__init__.py,sha256=1k2K1gz4lIdXAwHEdJ0OhdkPu83woGv0Z4TpT1kGrTk,97
71
- gsrap/parsedb/annotation.py,sha256=uJIU653LzAH3n1HGuT_MnnyTgspMeMZztGQMOw3FH2w,6005
71
+ gsrap/parsedb/annotation.py,sha256=EbafgDhLfued7z0AW_LUdR5fkwSoXZt7fJN13d-EVtE,6535
72
72
  gsrap/parsedb/completeness.py,sha256=LKldz8Y4cl6LvUECzgvnufhlS8GlpOwK3M8j3dPYjwc,13197
73
73
  gsrap/parsedb/cycles.py,sha256=HJ58LcHQseQ1eploysfXd5Y8Rip8n62qhje4pmL22VM,4761
74
- gsrap/parsedb/introduce.py,sha256=2mSl9zbRLjH4MslVb6_idWM8oqGbAQvGA9j2wjhmvAE,19641
74
+ gsrap/parsedb/introduce.py,sha256=VJeEZFNSrCzCVofcgO2l-R4RRdk-yRTZbYYVqG595JA,19694
75
75
  gsrap/parsedb/manual.py,sha256=lrVR3ftABzLHrWvY-tp0LZe2k1FniSYRjQztd5J840A,5452
76
- gsrap/parsedb/parsedb.py,sha256=zUfDJANj7USbsD1bMK6QIriXxF66IrEs0yWGHk3pKlE,8859
77
- gsrap/parsedb/repeating.py,sha256=_v9IFfjfZ4WJfGir2-iMJ_BADwwcOidXl0-I8stEtOE,7084
76
+ gsrap/parsedb/parsedb.py,sha256=iYzVmoHn0bWqLwTAjm8rsNd02__fHZjFAVg2WaJmJI0,9162
77
+ gsrap/parsedb/repeating.py,sha256=Yz3slRPleyU0ixG934ebhKhVHdnd1sDS0HFSluk144k,7097
78
78
  gsrap/runsims/.ipynb_checkpoints/__init__-checkpoint.py,sha256=6E6E1gWgH0V7ls4Omx4mxxC85gMJ_27YqhjugJzlZtY,97
79
79
  gsrap/runsims/.ipynb_checkpoints/biosynth-checkpoint.py,sha256=fUlHUo4CfB4rGX9Dth87B1p5E5sz7i6spR7ZoqDDGaI,2836
80
80
  gsrap/runsims/.ipynb_checkpoints/cnps-checkpoint.py,sha256=A0U8QPqW_uyrtHs99F286aEDEC6eukHXeMWrmnd0efA,5636
@@ -93,8 +93,8 @@ gsrap/runsims/precursors.py,sha256=1RNt_Rxs0L1lolDmYh4_CiZgiwHfU5B_AcomJO6vJ28,2
93
93
  gsrap/runsims/runsims.py,sha256=aVELI1re1Dlm1_Lh7t1DwSoA8AcxQw0JKNnjV9w5F20,2910
94
94
  gsrap/runsims/simplegrowth.py,sha256=rVN69v4B-DdxOJDsJ_JOVzbnWsDYafMq43QD_GJIpjs,2296
95
95
  gsrap/runsims/singleomission.py,sha256=jMuKAi0pINP8Jlrm-yI-tX7D110VzttR3YfTSnDRe4I,2847
96
- gsrap-0.10.1.dist-info/METADATA,sha256=AGbAQL3AEB3s3o9-jmWHZoVsjZQXRyUKVfQQlbWUitA,1008
97
- gsrap-0.10.1.dist-info/WHEEL,sha256=3ny-bZhpXrU6vSQ1UPG34FoxZBp3lVcvK0LkgUz6VLk,88
98
- gsrap-0.10.1.dist-info/entry_points.txt,sha256=S9MY0DjfnbKGlZbp5bV7W6dNFy3APoEV84u9x6MV1eI,36
99
- gsrap-0.10.1.dist-info/licenses/LICENSE.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
100
- gsrap-0.10.1.dist-info/RECORD,,
96
+ gsrap-0.10.2.dist-info/METADATA,sha256=VWxCnsgKP3EHy3Fljh08nqJnyyzYP2lprdbhXX3xK38,1009
97
+ gsrap-0.10.2.dist-info/WHEEL,sha256=3ny-bZhpXrU6vSQ1UPG34FoxZBp3lVcvK0LkgUz6VLk,88
98
+ gsrap-0.10.2.dist-info/entry_points.txt,sha256=S9MY0DjfnbKGlZbp5bV7W6dNFy3APoEV84u9x6MV1eI,36
99
+ gsrap-0.10.2.dist-info/licenses/LICENSE.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
100
+ gsrap-0.10.2.dist-info/RECORD,,
File without changes