chromaquant 0.3.1__py3-none-any.whl → 0.5.0__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.
Files changed (47) hide show
  1. chromaquant/__init__.py +9 -2
  2. chromaquant/data/__init__.py +14 -0
  3. chromaquant/data/breakdown.py +430 -0
  4. chromaquant/data/dataset.py +195 -0
  5. chromaquant/data/table.py +412 -0
  6. chromaquant/data/value.py +215 -0
  7. chromaquant/formula/__init__.py +13 -0
  8. chromaquant/formula/base_formulas.py +168 -0
  9. chromaquant/formula/formula.py +507 -0
  10. chromaquant/import_local_packages.py +55 -0
  11. chromaquant/logging_and_handling.py +76 -0
  12. chromaquant/match/__init__.py +13 -0
  13. chromaquant/match/match.py +184 -0
  14. chromaquant/match/match_config.py +296 -0
  15. chromaquant/match/match_tools.py +154 -0
  16. chromaquant/{Handle → results}/__init__.py +2 -2
  17. chromaquant/results/reporting_tools.py +190 -0
  18. chromaquant/results/results.py +250 -0
  19. chromaquant/utils/__init__.py +14 -0
  20. chromaquant/utils/categories.py +127 -0
  21. chromaquant/utils/chemical_formulas.py +104 -0
  22. chromaquant/utils/dataframe_processing.py +222 -0
  23. chromaquant/utils/file_tools.py +100 -0
  24. chromaquant/utils/formula_tools.py +119 -0
  25. chromaquant-0.5.0.dist-info/METADATA +61 -0
  26. chromaquant-0.5.0.dist-info/RECORD +29 -0
  27. {chromaquant-0.3.1.dist-info → chromaquant-0.5.0.dist-info}/WHEEL +1 -1
  28. {chromaquant-0.3.1.dist-info → chromaquant-0.5.0.dist-info}/licenses/LICENSE.txt +1 -1
  29. chromaquant-0.5.0.dist-info/licenses/LICENSES_bundled.txt +251 -0
  30. chromaquant/Handle/handleDirectories.py +0 -89
  31. chromaquant/Manual/HydroUI.py +0 -418
  32. chromaquant/Manual/QuantUPP.py +0 -373
  33. chromaquant/Manual/Quantification.py +0 -1305
  34. chromaquant/Manual/__init__.py +0 -10
  35. chromaquant/Manual/duplicateMatch.py +0 -211
  36. chromaquant/Manual/fpm_match.py +0 -798
  37. chromaquant/Manual/label-type.py +0 -179
  38. chromaquant/Match/AutoFpmMatch.py +0 -1133
  39. chromaquant/Match/__init__.py +0 -12
  40. chromaquant/Quant/AutoQuantification.py +0 -1329
  41. chromaquant/Quant/__init__.py +0 -12
  42. chromaquant/__main__.py +0 -493
  43. chromaquant/properties.json +0 -4
  44. chromaquant-0.3.1.dist-info/METADATA +0 -189
  45. chromaquant-0.3.1.dist-info/RECORD +0 -22
  46. chromaquant-0.3.1.dist-info/entry_points.txt +0 -2
  47. chromaquant-0.3.1.dist-info/licenses/LICENSES_bundled.txt +0 -1035
@@ -0,0 +1,61 @@
1
+ Metadata-Version: 2.4
2
+ Name: chromaquant
3
+ Version: 0.5.0
4
+ Summary: Analytical platform for gas chromatography
5
+ Project-URL: Repository, https://github.com/JnliaH/ChromaQuant
6
+ Author: Julia Hancock
7
+ License:
8
+ ChromaQuant – A quantification software for complex gas chromatographic data
9
+
10
+ Copyright (c) 2026, by Julia Hancock
11
+ Affiliation: Dr. Julie Elaine Rorrer
12
+ URL: https://www.rorrerlab.com/
13
+
14
+ License: BSD 3-Clause License
15
+
16
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
17
+
18
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
19
+
20
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
21
+
22
+ 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
23
+
24
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+ License-File: LICENSE.txt
26
+ License-File: LICENSES_bundled.txt
27
+ Keywords: Analysis,Analytical Chemistry,Chromatography,Complex Hydrocarbon Analysis,Mass Spectrometry
28
+ Classifier: Development Status :: 2 - Pre-Alpha
29
+ Classifier: Environment :: MacOS X
30
+ Classifier: License :: OSI Approved :: BSD License
31
+ Classifier: Natural Language :: English
32
+ Classifier: Programming Language :: Python :: 3
33
+ Classifier: Topic :: Scientific/Engineering :: Chemistry
34
+ Requires-Python: >=3.14
35
+ Requires-Dist: chemformula~=1.5.1
36
+ Requires-Dist: molmass~=2025.12.12
37
+ Requires-Dist: openpyxl~=3.1.5
38
+ Requires-Dist: pandas~=2.3.3
39
+ Requires-Dist: pre-commit~=4.5.1
40
+ Requires-Dist: pytest~=9.0.2
41
+ Requires-Dist: xlsxwriter~=3.2.9
42
+ Description-Content-Type: text/markdown
43
+
44
+ <h1>ChromaQuant</h1>
45
+ <i>A solution for automated gas chromatographic peak assignment and quantification</i>
46
+
47
+ <h4>Introduction</h4>
48
+ <img style="float: right;" align="right" width="256" alt="ChromaQuant Logo" src="https://github.com/JnliaH/ChromaQuant/blob/rebrand/images/ChromaQuantIcon.png">
49
+ ChromaQuant is an open-source toolkit designed to enable users to rapidly and precisely analyze chromatographic data. It offers tools for matching chromatographic signals to each other or to other tabulated data, writing formulas for dynamic Excel reporting, and peforming simple operations on tabulated data to produce properties like molecular weight.
50
+
51
+ The development of ChromaQuant is associated with the <a href="https://www.rorrerlab.com/">Rorrer Lab</a> at the University of Washington Department of Chemical engineering.
52
+
53
+ <h4>Installation</h4>
54
+ Install ChromaQuant by running the following command in the terminal/command prompt:<br>
55
+
56
+
57
+ > pip install chromaquant
58
+
59
+ <h4>Usage</h4>
60
+
61
+ ChromaQuant is currently under major renovations. Please tune back in for in-detail documentation on usage with examples!
@@ -0,0 +1,29 @@
1
+ chromaquant/__init__.py,sha256=_zBAV4DqdbvjG7WfKHiqHqU9UzaW_Md0dB7ICSjn3FU,298
2
+ chromaquant/import_local_packages.py,sha256=e1WinNUMLYi3xPsbh6EtyX3gBDNur0ucQmEFgQcyM7c,1266
3
+ chromaquant/logging_and_handling.py,sha256=uMznLc0D7B2ZUwE7pnAnW3l310rVn8AZg7uZXVds7XM,1974
4
+ chromaquant/data/__init__.py,sha256=nvLDoW2jRV3fNiCS38Uw8bR3IdHRZfvsOktP0AF11S4,214
5
+ chromaquant/data/breakdown.py,sha256=rvcYSao-ASuCv6l4bkuXi62ctJ4DDMvQEUcSb2JnQ2Y,14651
6
+ chromaquant/data/dataset.py,sha256=J9vqz92zJLrchrGaxp9OQmQrq_RR3WtQkEc-rk-C34s,4856
7
+ chromaquant/data/table.py,sha256=GVAsIlHtD3KFvP2Sg4R-pEZQmf3DcswTliPnaKjxuio,12781
8
+ chromaquant/data/value.py,sha256=MuIK2D4oC28-sNmgEgBvfyE_iMPisJo94j1pyg7aRZQ,5529
9
+ chromaquant/formula/__init__.py,sha256=05J-15LT0KQtuV0sybiXtjatTPmZ8-r2XuyyrSRj0-k,192
10
+ chromaquant/formula/base_formulas.py,sha256=2z-C05zHzU9rro7jYTRJ5GsDNIWP38KvdPN12FXnaI4,4966
11
+ chromaquant/formula/formula.py,sha256=dhaB3bWuCwp_TMviiTrvKmP-8c8Jj_CBYMqFkvYK3tg,16892
12
+ chromaquant/match/__init__.py,sha256=W_qOk9tPnjrcdABZwT3H2lUfjdQlZCfWajb53tLG38s,236
13
+ chromaquant/match/match.py,sha256=J-t87xO8j8dqDX2WWydracF55_Rqjut1F-f9WOS_fB8,5345
14
+ chromaquant/match/match_config.py,sha256=rnGlf5qBXJWQYf5YdK6GZEBEEAGQtgue3sfrkyvQSBQ,9923
15
+ chromaquant/match/match_tools.py,sha256=spyrNLu-Jbnvqk7JS17vQ0R3wCBr65LRYHcva_VsavY,5264
16
+ chromaquant/results/__init__.py,sha256=MHhwYntKj9o_2enlv09gKfc1VAdXmK-njW8Ug_cjUE8,163
17
+ chromaquant/results/reporting_tools.py,sha256=fnOOtizZgzlBP5cqttH7Pq8BNNaPtF-qTnhnsyGur6s,5757
18
+ chromaquant/results/results.py,sha256=sVP25ibZVLbjWjFfxeEXluD5FUIBLu73WzKqhn7lLzs,7119
19
+ chromaquant/utils/__init__.py,sha256=3uVB3lXgFAwGgXKl2BK4EEgXedtbima9RL_T4U0R57U,261
20
+ chromaquant/utils/categories.py,sha256=wRpT4MYP62tS9VIfd6gUtqK0yQLUodJiuLfEIrjoENU,3602
21
+ chromaquant/utils/chemical_formulas.py,sha256=pIE4C1kPQlvLkLmNVffD9F40cZlAm1UzcK5cxfAxNa8,2824
22
+ chromaquant/utils/dataframe_processing.py,sha256=xf68DruOHlH9kAkswX04-_7lUQLmjFUpfejo952w3w8,5676
23
+ chromaquant/utils/file_tools.py,sha256=FUn4h7L0FudA14SqLW2gkb5mIY4LtMCwq2gA_C3fO6Q,2210
24
+ chromaquant/utils/formula_tools.py,sha256=lSwpkyM0HyGpvN-6LvZfYehyMVE_r8SqJ69K87r1PWE,2911
25
+ chromaquant-0.5.0.dist-info/METADATA,sha256=qa3hPXq2J_CDXKTfchqedpivYEyzYI_iz1tt7rFQByc,3841
26
+ chromaquant-0.5.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
27
+ chromaquant-0.5.0.dist-info/licenses/LICENSE.txt,sha256=lmyebDES5rcuRTmXEpFjUQ-qLdpKQexVd0V5ouXiRtc,1672
28
+ chromaquant-0.5.0.dist-info/licenses/LICENSES_bundled.txt,sha256=9stkI9ZjPb9zW_JrAu9K5UcGKO55tXS-huBTSP3jbW8,11731
29
+ chromaquant-0.5.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.25.0
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,7 +1,7 @@
1
1
 
2
2
  ChromaQuant – A quantification software for complex gas chromatographic data
3
3
 
4
- Copyright (c) 2024, by Julia Hancock
4
+ Copyright (c) 2026, by Julia Hancock
5
5
  Affiliation: Dr. Julie Elaine Rorrer
6
6
  URL: https://www.rorrerlab.com/
7
7
 
@@ -0,0 +1,251 @@
1
+
2
+ ==========
3
+
4
+ The ChromaQuant project uses Python as its primary language. The following is the Python license agreement as prepared by the Python Software Foundation:
5
+
6
+ "1. This LICENSE AGREEMENT is between the Python Software Foundation
7
+ ("PSF"), and the Individual or Organization ("Licensee") accessing and
8
+ otherwise using this software ("Python") in source or binary form and
9
+ its associated documentation.
10
+
11
+ 2. Subject to the terms and conditions of this License Agreement, PSF hereby
12
+ grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
13
+ analyze, test, perform and/or display publicly, prepare derivative works,
14
+ distribute, and otherwise use Python alone or in any derivative version,
15
+ provided, however, that PSF's License Agreement and PSF's notice of copyright,
16
+ i.e., "Copyright (c) 2001-2024 Python Software Foundation; All Rights Reserved"
17
+ are retained in Python alone or in any derivative version prepared by Licensee.
18
+
19
+ 3. In the event Licensee prepares a derivative work that is based on
20
+ or incorporates Python or any part thereof, and wants to make
21
+ the derivative work available to others as provided herein, then
22
+ Licensee hereby agrees to include in any such work a brief summary of
23
+ the changes made to Python.
24
+
25
+ 4. PSF is making Python available to Licensee on an "AS IS"
26
+ basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
27
+ IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
28
+ DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
29
+ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
30
+ INFRINGE ANY THIRD PARTY RIGHTS.
31
+
32
+ 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
33
+ FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
34
+ A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
35
+ OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
36
+
37
+ 6. This License Agreement will automatically terminate upon a material
38
+ breach of its terms and conditions.
39
+
40
+ 7. Nothing in this License Agreement shall be deemed to create any
41
+ relationship of agency, partnership, or joint venture between PSF and
42
+ Licensee. This License Agreement does not grant permission to use PSF
43
+ trademarks or trade name in a trademark sense to endorse or promote
44
+ products or services of Licensee, or any third party.
45
+
46
+ 8. By copying, installing or otherwise using Python, Licensee
47
+ agrees to be bound by the terms and conditions of this License
48
+ Agreement."
49
+
50
+ ==========
51
+
52
+ The ChromaQuant repository and source depend on a number of libraries that are compatibly licensed. These are listed below:
53
+
54
+
55
+ Name: Pandas
56
+ License: BSD 3-Clause License
57
+
58
+ "Copyright (c) 2008-2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
59
+ All rights reserved.
60
+
61
+ Copyright (c) 2011-2024, Open source contributors.
62
+
63
+ Redistribution and use in source and binary forms, with or without
64
+ modification, are permitted provided that the following conditions are met:
65
+
66
+ * Redistributions of source code must retain the above copyright notice, this
67
+ list of conditions and the following disclaimer.
68
+
69
+ * Redistributions in binary form must reproduce the above copyright notice,
70
+ this list of conditions and the following disclaimer in the documentation
71
+ and/or other materials provided with the distribution.
72
+
73
+ * Neither the name of the copyright holder nor the names of its
74
+ contributors may be used to endorse or promote products derived from
75
+ this software without specific prior written permission.
76
+
77
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
78
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
79
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
80
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
81
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
82
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
83
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
84
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
85
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
86
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
87
+
88
+
89
+ Name: molmass
90
+ License: BSD 3-Clause License
91
+
92
+ "Copyright (c) 1990-2024, Christoph Gohlke
93
+ All rights reserved.
94
+
95
+ Redistribution and use in source and binary forms, with or without
96
+ modification, are permitted provided that the following conditions are met:
97
+
98
+ 1. Redistributions of source code must retain the above copyright notice,
99
+ this list of conditions and the following disclaimer.
100
+
101
+ 2. Redistributions in binary form must reproduce the above copyright notice,
102
+ this list of conditions and the following disclaimer in the documentation
103
+ and/or other materials provided with the distribution.
104
+
105
+ 3. Neither the name of the copyright holder nor the names of its
106
+ contributors may be used to endorse or promote products derived from
107
+ this software without specific prior written permission.
108
+
109
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
110
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
111
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
112
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
113
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
114
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
115
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
116
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
117
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
118
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
119
+ POSSIBILITY OF SUCH DAMAGE."
120
+
121
+
122
+ Name: chemformula
123
+ License: MIT License
124
+
125
+ "Copyright (c) 2021 Axel Müller
126
+
127
+ Permission is hereby granted, free of charge, to any person obtaining a copy
128
+ of this software and associated documentation files (the "Software"), to deal
129
+ in the Software without restriction, including without limitation the rights
130
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
131
+ copies of the Software, and to permit persons to whom the Software is
132
+ furnished to do so, subject to the following conditions:
133
+
134
+ The above copyright notice and this permission notice shall be included in all
135
+ copies or substantial portions of the Software.
136
+
137
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
138
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
139
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
140
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
141
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
142
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
143
+ SOFTWARE."
144
+
145
+
146
+ Name: XlsxWriter
147
+ License: BSD 2-Clause
148
+
149
+ "BSD 2-Clause License
150
+
151
+ Copyright (c) 2013-2025, John McNamara <jmcnamara@cpan.org>
152
+ All rights reserved.
153
+
154
+ Redistribution and use in source and binary forms, with or without
155
+ modification, are permitted provided that the following conditions are met:
156
+
157
+ 1. Redistributions of source code must retain the above copyright notice, this
158
+ list of conditions and the following disclaimer.
159
+
160
+ 2. Redistributions in binary form must reproduce the above copyright notice,
161
+ this list of conditions and the following disclaimer in the documentation
162
+ and/or other materials provided with the distribution.
163
+
164
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
165
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
166
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
167
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
168
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
169
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
170
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
171
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
172
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
173
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
174
+
175
+
176
+ Name: openpyxl
177
+ License: MIT License
178
+
179
+ "This software is under the MIT Licence
180
+ ======================================
181
+
182
+ Copyright (c) 2010 openpyxl
183
+
184
+ Permission is hereby granted, free of charge, to any person obtaining a
185
+ copy of this software and associated documentation files (the
186
+ "Software"), to deal in the Software without restriction, including
187
+ without limitation the rights to use, copy, modify, merge, publish,
188
+ distribute, sublicense, and/or sell copies of the Software, and to
189
+ permit persons to whom the Software is furnished to do so, subject to
190
+ the following conditions:
191
+
192
+ The above copyright notice and this permission notice shall be included
193
+ in all copies or substantial portions of the Software.
194
+
195
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
196
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
197
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
198
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
199
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
200
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
201
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
202
+
203
+
204
+ Name: pytest
205
+ License: MIT License
206
+
207
+ "The MIT License (MIT)
208
+
209
+ Copyright (c) 2004 Holger Krekel and others
210
+
211
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
212
+ this software and associated documentation files (the "Software"), to deal in
213
+ the Software without restriction, including without limitation the rights to
214
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
215
+ of the Software, and to permit persons to whom the Software is furnished to do
216
+ so, subject to the following conditions:
217
+
218
+ The above copyright notice and this permission notice shall be included in all
219
+ copies or substantial portions of the Software.
220
+
221
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
222
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
223
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
224
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
225
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
226
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
227
+ SOFTWARE."
228
+
229
+
230
+ Name: pre-commit
231
+ License: MIT License
232
+
233
+ "Copyright (c) 2014 pre-commit dev team: Anthony Sottile, Ken Struys
234
+
235
+ Permission is hereby granted, free of charge, to any person obtaining a copy
236
+ of this software and associated documentation files (the "Software"), to deal
237
+ in the Software without restriction, including without limitation the rights
238
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
239
+ copies of the Software, and to permit persons to whom the Software is
240
+ furnished to do so, subject to the following conditions:
241
+
242
+ The above copyright notice and this permission notice shall be included in
243
+ all copies or substantial portions of the Software.
244
+
245
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
246
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
247
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
248
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
249
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
250
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
251
+ THE SOFTWARE."
@@ -1,89 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
- """
4
-
5
- COPYRIGHT STATEMENT:
6
-
7
- ChromaQuant – A quantification software for complex gas chromatographic data
8
-
9
- Copyright (c) 2024, by Julia Hancock
10
- Affiliation: Dr. Julie Elaine Rorrer
11
- URL: https://www.rorrerlab.com/
12
-
13
- License: BSD 3-Clause License
14
-
15
- ---
16
-
17
- SCRIPT FOR HANDLING FILE DIRECTORIES
18
-
19
- Julia Hancock
20
- 7-29-2024
21
- """
22
-
23
- """ PACKAGES """
24
- import json
25
- import os
26
- import getpass
27
-
28
- """ FUNCTIONS """
29
-
30
- def handle(fileDir):
31
- #fileDir is the passed absolute directory of the currently running file
32
-
33
- #Import sample information from json file
34
- with open(os.path.join(fileDir,'properties.json'),'r') as props_f:
35
- props = json.load(props_f)
36
-
37
- #Define file directory
38
- D_files = props['file-directory']
39
- #Define app directory
40
- D_app = props['app-directory']
41
- #Get current user
42
- login = getpass.getuser()
43
-
44
- #If file directory has default user somewhere, insert current user
45
- if "[user]" in D_files:
46
-
47
- D_files = D_files.replace("[user]",login)
48
-
49
- #Otherwise, pass
50
- else:
51
- print("else")
52
- pass
53
-
54
- #If app directory is empty or not equal to fileDir or [user] version, replace D_app
55
- if D_app != fileDir or D_app != fileDir.replace(login,"[user]") or D_app == "":
56
- D_app = fileDir
57
- #Prepare
58
- props['app-directory'] = fileDir.replace(login,"[user]")
59
-
60
- with open(os.path.join(fileDir,'properties.json'),'w') as props_f:
61
- json.dump(props,props_f,indent=4)
62
-
63
- #Otherwise, pass
64
- else:
65
- pass
66
-
67
- #Redefine app directory
68
- D_app = fileDir
69
-
70
- #Print data files directory
71
- print("[Handle] Data files directory set to {0}".format(D_files))
72
-
73
- #Define resources directory
74
- D_rsc = os.path.join(D_files,'resources')
75
-
76
- #Define theme directory
77
- D_theme = os.path.join(D_rsc,'forest','forest-light.tcl')
78
-
79
- #Define response factors directory
80
- D_rf = os.path.join(D_files,'response-factors')
81
-
82
- #Define data directory
83
- D_data = os.path.join(D_files,'data')
84
-
85
- #Define images directory
86
- D_img = os.path.join(D_files,'images')
87
-
88
- #Return directories as a dictionary
89
- return {'files':D_files,'resources':D_rsc,'theme':D_theme,'rf':D_rf,'data':D_data,'images':D_img}