protpy 1.0.8__tar.gz → 1.3.0__tar.gz

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. protpy-1.3.0/PKG-INFO +556 -0
  2. protpy-1.3.0/README.md +508 -0
  3. protpy-1.3.0/docs/conf.py +41 -0
  4. protpy-1.3.0/protpy/__init__.py +42 -0
  5. protpy-1.3.0/protpy/_constants.py +45 -0
  6. {protpy-1.0.8 → protpy-1.3.0}/protpy/autocorrelation.py +123 -119
  7. protpy-1.3.0/protpy/composition.py +1483 -0
  8. {protpy-1.0.8 → protpy-1.3.0}/protpy/conjoint_triad.py +15 -23
  9. {protpy-1.0.8 → protpy-1.3.0}/protpy/ctd.py +110 -123
  10. {protpy-1.0.8 → protpy-1.3.0}/protpy/data/README.md +2 -2
  11. protpy-1.3.0/protpy/data/grantham-physicochemical-distance-matrix.json +402 -0
  12. {protpy-1.0.8 → protpy-1.3.0}/protpy/sequence_order.py +132 -164
  13. protpy-1.3.0/protpy/utils.py +740 -0
  14. protpy-1.3.0/protpy.egg-info/PKG-INFO +556 -0
  15. {protpy-1.0.8 → protpy-1.3.0}/protpy.egg-info/SOURCES.txt +8 -6
  16. protpy-1.3.0/protpy.egg-info/requires.txt +14 -0
  17. protpy-1.3.0/protpy.egg-info/top_level.txt +6 -0
  18. protpy-1.3.0/pyproject.toml +84 -0
  19. protpy-1.3.0/setup.cfg +4 -0
  20. {protpy-1.0.8 → protpy-1.3.0}/tests/test_autocorrelation.py +199 -102
  21. protpy-1.3.0/tests/test_composition.py +1287 -0
  22. protpy-1.3.0/tests/test_conjoint_triad.py +135 -0
  23. protpy-1.3.0/tests/test_ctd.py +189 -0
  24. protpy-1.3.0/tests/test_protpy.py +130 -0
  25. protpy-1.3.0/tests/test_sequence_order.py +584 -0
  26. protpy-1.3.0/tests/test_utils.py +320 -0
  27. protpy-1.0.8/PKG-INFO +0 -296
  28. protpy-1.0.8/README.md +0 -261
  29. protpy-1.0.8/protpy/__init__.py +0 -30
  30. protpy-1.0.8/protpy/composition.py +0 -579
  31. protpy-1.0.8/protpy/data/grantham-physiochemical-distance-matrix.json +0 -403
  32. protpy-1.0.8/protpy.egg-info/PKG-INFO +0 -296
  33. protpy-1.0.8/protpy.egg-info/not-zip-safe +0 -1
  34. protpy-1.0.8/protpy.egg-info/requires.txt +0 -16
  35. protpy-1.0.8/protpy.egg-info/top_level.txt +0 -2
  36. protpy-1.0.8/setup.cfg +0 -69
  37. protpy-1.0.8/setup.py +0 -60
  38. protpy-1.0.8/tests/test_composition.py +0 -385
  39. protpy-1.0.8/tests/test_conjoint_triad.py +0 -106
  40. protpy-1.0.8/tests/test_ctd.py +0 -150
  41. protpy-1.0.8/tests/test_protpy.py +0 -100
  42. protpy-1.0.8/tests/test_sequence_order.py +0 -390
  43. {protpy-1.0.8 → protpy-1.3.0}/LICENSE +0 -0
  44. {protpy-1.0.8 → protpy-1.3.0}/MANIFEST.in +0 -0
  45. /protpy-1.0.8/protpy/data/schneider-wrede-physiochemical-distance-matrix.json → /protpy-1.3.0/protpy/data/schneider-wrede-physicochemical-distance-matrix.json +0 -0
  46. {protpy-1.0.8 → protpy-1.3.0}/protpy.egg-info/dependency_links.txt +0 -0
  47. {protpy-1.0.8 → protpy-1.3.0}/tests/__init__.py +0 -0
protpy-1.3.0/PKG-INFO ADDED
@@ -0,0 +1,556 @@
1
+ Metadata-Version: 2.4
2
+ Name: protpy
3
+ Version: 1.3.0
4
+ Summary: Python package for generating various biochemical, physicochemical and structural descriptors/features of protein sequences.
5
+ Author-email: AJ McKenna <amckenna41@qub.ac.uk>
6
+ Maintainer-email: AJ McKenna <amckenna41@qub.ac.uk>
7
+ License: MIT
8
+ Project-URL: Homepage, https://github.com/amckenna41/protPy
9
+ Project-URL: Repository, https://github.com/amckenna41/protPy
10
+ Project-URL: Bug Tracker, https://github.com/amckenna41/protpy/issues
11
+ Project-URL: Download, https://github.com/amckenna41/protPy/archive/refs/heads/main.zip
12
+ Keywords: bioinformatics,protein engineering,python,pypi,machine learning,aaindex,protein descriptors,physicochemical descriptors,biochemical descriptors,structural descriptors,pySAR
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Environment :: Console
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: Science/Research
17
+ Classifier: Intended Audience :: Healthcare Industry
18
+ Classifier: Intended Audience :: Information Technology
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Natural Language :: English
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: 3.13
26
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
27
+ Classifier: Programming Language :: Python :: 3 :: Only
28
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
29
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
30
+ Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
31
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
32
+ Requires-Python: >=3.9
33
+ Description-Content-Type: text/markdown
34
+ License-File: LICENSE
35
+ Requires-Dist: aaindex>=1.2.0
36
+ Requires-Dist: numpy>=2.4.4
37
+ Requires-Dist: pandas>=3.0.2
38
+ Requires-Dist: varname>=0.15.1
39
+ Provides-Extra: test
40
+ Requires-Dist: pytest; extra == "test"
41
+ Requires-Dist: pytest-cov; extra == "test"
42
+ Requires-Dist: pytest-flake8; extra == "test"
43
+ Requires-Dist: pytest-timeout; extra == "test"
44
+ Requires-Dist: biopython>=1.87; extra == "test"
45
+ Provides-Extra: docs
46
+ Requires-Dist: sphinx; extra == "docs"
47
+ Dynamic: license-file
48
+
49
+
50
+ <a id="TOP"></a>
51
+
52
+ # protpy - Package for generating protein physicochemical, biochemical and structural descriptors using their constituent amino acids. #
53
+ [![PyPI](https://img.shields.io/pypi/v/protpy)](https://pypi.org/project/protpy/)
54
+ [![pytest](https://github.com/amckenna41/protpy/workflows/Building%20and%20Testing/badge.svg)](https://github.com/amckenna41/protpy/actions?query=workflowBuilding%20and%20Testing)
55
+ [![Platforms](https://img.shields.io/badge/platforms-linux%2C%20macOS%2C%20Windows-green)](https://pypi.org/project/protpy/)
56
+ [![PythonV](https://img.shields.io/pypi/pyversions/protpy?logo=2)](https://pypi.org/project/protpy/)
57
+ [![codecov](https://codecov.io/gh/amckenna41/protPy/graph/badge.svg?token=H508M9J13W)](https://codecov.io/gh/amckenna41/protPy)
58
+ [![License: MIT](https://img.shields.io/badge/License-MIT-red.svg)](https://opensource.org/licenses/MIT)
59
+ [![Issues](https://img.shields.io/github/issues/amckenna41/protpy)](https://github.com/amckenna41/protpy/issues)
60
+ <!-- [![Size](https://img.shields.io/github/repo-size/amckenna41/protpy)](https://github.com/amckenna41/protpy)
61
+ [![Commits](https://img.shields.io/github/commit-activity/w/amckenna41/protpy)](https://github.com/amckenna41/protpy) -->
62
+ <!-- <p align="center">
63
+ <img src="https://images.newscientist.com/wp-content/uploads/2021/07/22155326/22-july_deepmind-proteome.jpg?width=300" alt="protpyLogo" height="200"/>
64
+ </p> -->
65
+
66
+ * 🧬 A <b>demo</b> of the software is available [here][demo]
67
+ * 📝 A <b>Medium</b> article about `protPy` and its background is available [here][article]
68
+
69
+ <p align="center">
70
+ <img src="https://raw.githubusercontent.com/amckenna41/protpy/main/images/protpy.png" alt="protpy" width="500"/>
71
+ </p>
72
+
73
+ Table of Contents
74
+ -----------------
75
+
76
+ * [Introduction](#introduction)
77
+ * [Requirements](#requirements)
78
+ * [Installation](#installation)
79
+ * [Usage](#usage)
80
+ * [Documentation](#documentation)
81
+ * [Directories](#directories)
82
+ * [Tests](#tests)
83
+ * [Issues](#Issues)
84
+ * [Contact](#contact)
85
+ * [References](#references)
86
+
87
+ Introduction
88
+ ------------
89
+ `protpy` is a Python software package for generating a variety of physicochemical, biochemical and structural descriptors for proteins. All of these descriptors are calculated using sequence-derived or physicochemical features of the amino acids that make up the proteins. These descriptors have been highly studied and used in a series of Bioinformatic applications including protein engineering, SAR (sequence-activity-relationships), predicting protein structure & function, subcellular localization, protein-protein interactions, drug-target interactions etc.
90
+
91
+ This software is aimed at any researcher or developer using protein sequence/structural data, and was mainly created to use in my own project [`pySAR`](https://github.com/amckenna41/pySAR) which uses protein sequence data to identify Sequence Activity Relationships (SAR) using Machine Learning [[1]](#references). `protpy` is built and developed in Python 3.10.
92
+
93
+ The descriptors available in `protpy` include:
94
+
95
+ <details>
96
+ <summary><b>Composition Descriptors (22)</b></summary>
97
+
98
+ * **Amino Acid Composition (AAComp)**
99
+ * **Dipeptide Composition (DPComp)**
100
+ * **Tripeptide Composition (TPComp)**
101
+ * **Grand Average of Hydropathy (GRAVY)**
102
+ * **Aromaticity**
103
+ * **Instability Index**
104
+ * **Isoelectric Point**
105
+ * **Molecular Weight**
106
+ * **Charge Distribution**
107
+ * **Hydrophobic/Polar/Charged Composition (HPC)**
108
+ * **Secondary Structure Propensity (SSP)**
109
+ * **k-mer Composition**
110
+ * **Reduced Alphabet Composition**
111
+ * **Motif Composition**
112
+ * **Amino Acid Pair Composition**
113
+ * **Aliphatic Index**
114
+ * **Extinction Coefficient**
115
+ * **Boman Index**
116
+ * **Aggregation Propensity**
117
+ * **Hydrophobic Moment**
118
+ * **Shannon Entropy**
119
+ * **Pseudo Amino Acid Composition (PAAComp)**
120
+ * **Amphiphilic Amino Acid Composition (APAAComp)**
121
+
122
+ </details>
123
+
124
+ <details>
125
+ <summary><b>Autocorrelation Descriptors (3)</b></summary>
126
+
127
+ * **Moreaubroto Autocorrelation (MBAuto)**
128
+ * **Moran Autocorrelation (MAuto)**
129
+ * **Geary Autocorrelation (GAuto)**
130
+
131
+ </details>
132
+
133
+ <details>
134
+ <summary><b>Conjoint Triad (1)</b></summary>
135
+
136
+ * **Conjoint Triad (CTriad)**
137
+
138
+ </details>
139
+
140
+ <details>
141
+ <summary><b>CTD Descriptors (4)</b></summary>
142
+
143
+ * **CTD Composition**
144
+ * **CTD Transition**
145
+ * **CTD Distribution**
146
+ * **CTD Combined**
147
+
148
+ </details>
149
+
150
+ <details>
151
+ <summary><b>Sequence Order Descriptors (5)</b></summary>
152
+
153
+ * **Sequence Order Coupling Number — single (SOCN)**
154
+ * **Sequence Order Coupling Number — series**
155
+ * **Sequence Order Coupling Number — all matrices**
156
+ * **Quasi Sequence Order (QSO)**
157
+ * **Quasi Sequence Order — all matrices**
158
+
159
+ </details>
160
+
161
+ More detail of each descriptor is listed in the markdown file: [`DESCRIPTORS.md`](https://github.com/amckenna41/protPy/blob/main/DESCRIPTORS.md)
162
+
163
+
164
+ Requirements
165
+ ------------
166
+ * [Python][python] >= 3.9
167
+ * [aaindex][aaindex] >= 1.2.0
168
+ * [numpy][numpy] >= 2.4.4
169
+ * [pandas][pandas] >= 3.0.2
170
+ * [varname][varname] >= 0.15.1
171
+ * [biopython][biopython] >= 1.87 (only required for testing)
172
+
173
+ Installation
174
+ ------------
175
+ Install the latest version of `protpy` using pip:
176
+
177
+ ```bash
178
+ pip3 install protpy --upgrade
179
+ ```
180
+
181
+ Install by cloning repository:
182
+
183
+ ```bash
184
+ git clone https://github.com/amckenna41/protpy.git
185
+ python3 setup.py install
186
+ ```
187
+
188
+ Usage
189
+ -----
190
+ ### Import `protpy` after installation:
191
+ ```python
192
+ import protpy as protpy
193
+ ```
194
+
195
+ ### Import protein sequence from fasta:
196
+ ```python
197
+ from Bio import SeqIO
198
+
199
+ with open("test_fasta.fasta") as pro:
200
+ protein_seq = str(next(SeqIO.parse(pro,'fasta')).seq)
201
+ ```
202
+
203
+
204
+ <details>
205
+ <summary><b>Composition Descriptors Usage Examples</b></summary>
206
+
207
+ Calculate Amino Acid Composition:
208
+ ```python
209
+ amino_acid_composition = protpy.amino_acid_composition(protein_seq)
210
+ # A C D E F ...
211
+ # 6.693 3.108 5.817 3.347 6.614 ...
212
+ ```
213
+
214
+ Calculate Dipeptide Composition:
215
+ ```python
216
+ dipeptide_composition = protpy.dipeptide_composition(protein_seq)
217
+ # AA AC AD AE AF ...
218
+ # 0.72 0.16 0.48 0.4 0.24 ...
219
+ ```
220
+
221
+ Calculate Tripeptide Composition:
222
+ ```python
223
+ tripeptide_composition = protpy.tripeptide_composition(protein_seq)
224
+ # AAA AAC AAD AAE AAF ...
225
+ # 1 0 0 2 0 ...
226
+ ```
227
+
228
+ Calculate GRAVY (Grand Average of Hydropathy):
229
+ ```python
230
+ gravy = protpy.gravy(protein_seq)
231
+ # GRAVY
232
+ # -0.045
233
+ ```
234
+
235
+ Calculate Aromaticity:
236
+ ```python
237
+ aromaticity = protpy.aromaticity(protein_seq)
238
+ # Aromaticity
239
+ # 0.118
240
+ ```
241
+
242
+ Calculate Instability Index:
243
+ ```python
244
+ instability = protpy.instability_index(protein_seq)
245
+ # InstabilityIndex
246
+ # 31.836
247
+ ```
248
+
249
+ Calculate Isoelectric Point:
250
+ ```python
251
+ pi = protpy.isoelectric_point(protein_seq)
252
+ # IsoelectricPoint
253
+ # 5.412
254
+ ```
255
+
256
+ Calculate Molecular Weight:
257
+ ```python
258
+ mw = protpy.molecular_weight(protein_seq)
259
+ # MolecularWeight (Da)
260
+ # 139122.355
261
+ ```
262
+
263
+ Calculate Charge Distribution:
264
+ ```python
265
+ charge = protpy.charge_distribution(protein_seq)
266
+ #using default parameters: ph=7.4
267
+
268
+ # PositiveCharge NegativeCharge NetCharge
269
+ # 99.526 114.956 -15.43
270
+ ```
271
+
272
+ Calculate Hydrophobic/Polar/Charged Composition:
273
+ ```python
274
+ hpc = protpy.hydrophobic_polar_charged_composition(protein_seq)
275
+ # Hydrophobic Polar Charged
276
+ # 44.542 32.669 18.247
277
+ ```
278
+
279
+ Calculate Secondary Structure Propensity:
280
+ ```python
281
+ ssp = protpy.secondary_structure_propensity(protein_seq)
282
+ # Helix Sheet Coil
283
+ # 0.983 1.05 1.043
284
+ ```
285
+
286
+ Calculate k-mer Composition:
287
+ ```python
288
+ kmer = protpy.kmer_composition(protein_seq)
289
+ #using default parameters: k=2
290
+
291
+ # AA AC AD ...
292
+ # 0.797 0.159 ... ...
293
+ ```
294
+
295
+ Calculate Reduced Alphabet Composition:
296
+ ```python
297
+ reduced = protpy.reduced_alphabet_composition(protein_seq)
298
+ #using default parameters: alphabet_size=6
299
+
300
+ # Group_1 Group_2 Group_3 Group_4 Group_5 Group_6
301
+ # 25.339 34.741 9.163 9.084 10.837 10.837
302
+ ```
303
+
304
+ Calculate Motif Composition:
305
+ ```python
306
+ motif = protpy.motif_composition(protein_seq)
307
+ # NxST_glycosylation RGD_integrin KDEL_retention ...
308
+ # 23 0 0 ...
309
+ ```
310
+
311
+ Calculate Amino Acid Pair Composition:
312
+ ```python
313
+ aapair = protpy.amino_acid_pair_composition(protein_seq)
314
+ # AA_Hydrophobic-Hydrophobic AA_Hydrophobic-Polar ...
315
+ # 0.797 0.159 ...
316
+ ```
317
+
318
+ Calculate Aliphatic Index:
319
+ ```python
320
+ aliphatic = protpy.aliphatic_index(protein_seq)
321
+ # AliphaticIndex
322
+ # 82.725
323
+ ```
324
+
325
+ Calculate Extinction Coefficient:
326
+ ```python
327
+ extinction = protpy.extinction_coefficient(protein_seq)
328
+ # ExtCoeff_Reduced ExtCoeff_Oxidized
329
+ # 140960 143335
330
+ ```
331
+
332
+ Calculate Boman Index:
333
+ ```python
334
+ boman = protpy.boman_index(protein_seq)
335
+ # BomanIndex
336
+ # 0.119
337
+ ```
338
+
339
+ Calculate Aggregation Propensity:
340
+ ```python
341
+ aggregation = protpy.aggregation_propensity(protein_seq)
342
+ # AggregProneRegions AggregProneFraction
343
+ # 58 11.793
344
+ ```
345
+
346
+ Calculate Hydrophobic Moment:
347
+ ```python
348
+ hm = protpy.hydrophobic_moment(protein_seq)
349
+ #using default parameters: window=11, angle=100
350
+
351
+ # HydrophobicMoment_Mean HydrophobicMoment_Max
352
+ # 0.272 0.813
353
+ ```
354
+
355
+ Calculate Shannon Entropy:
356
+ ```python
357
+ se = protpy.shannon_entropy(protein_seq)
358
+ # ShannonEntropy
359
+ # 4.163
360
+ ```
361
+
362
+ Calculate Pseudo Composition:
363
+ ```python
364
+ pseudo_composition = protpy.pseudo_amino_acid_composition(protein_seq)
365
+ #using default parameters: lamda=30, weight=0.05, properties=[]
366
+
367
+ # PAAC_1 PAAC_2 PAAC_3 PAAC_4 PAAC_5 ...
368
+ # 0.127 0.059 0.111 0.064 0.126 ...
369
+ ```
370
+
371
+ Calculate Amphiphilic Composition:
372
+ ```python
373
+ amphiphilic_composition = protpy.amphiphilic_pseudo_amino_acid_composition(protein_seq)
374
+ #using default parameters: lamda=30, weight=0.5, properties=[hydrophobicity_, hydrophilicity_]
375
+
376
+ # APAAC_1 APAAC_2 APAAC_3 APAAC_4 APAAC_5 ...
377
+ # 6.624 3.076 5.757 3.032 5.988 ...
378
+ ```
379
+
380
+ </details>
381
+
382
+ <details>
383
+ <summary><b>Autocorrelation Descriptors Usage Examples</b></summary>
384
+
385
+ Calculate MoreauBroto Autocorrelation:
386
+ ```python
387
+ moreaubroto_autocorrelation = protpy.moreaubroto_autocorrelation(protein_seq)
388
+ #using default parameters: lag=30, properties=["CIDH920105", "BHAR880101", "CHAM820101", "CHAM820102", "CHOC760101", "BIGC670101", "CHAM810101", "DAYM780201"], normalize=True
389
+
390
+ # MBAuto_CIDH920105_1 MBAuto_CIDH920105_2 MBAuto_CIDH920105_3 MBAuto_CIDH920105_4 MBAuto_CIDH920105_5 ...
391
+ # -0.052 -0.104 -0.156 -0.208 0.246 ...
392
+ ```
393
+
394
+ Calculate Moran Autocorrelation:
395
+ ```python
396
+ moran_autocorrelation = protpy.moran_autocorrelation(protein_seq)
397
+ #using default parameters: lag=30, properties=["CIDH920105", "BHAR880101", "CHAM820101", "CHAM820102", "CHOC760101", "BIGC670101", "CHAM810101", "DAYM780201"], normalize=True
398
+
399
+ # MAuto_CIDH920105_1 MAuto_CIDH920105_2 MAuto_CIDH920105_3 MAuto_CIDH920105_4 MAuto_CIDH920105_5 ...
400
+ # -0.07786 -0.07879 -0.07906 -0.08001 0.14911 ...
401
+ ```
402
+
403
+ Calculate Geary Autocorrelation:
404
+ ```python
405
+ geary_autocorrelation = protpy.geary_autocorrelation(protein_seq)
406
+ #using default parameters: lag=30, properties=["CIDH920105", "BHAR880101", "CHAM820101", "CHAM820102", "CHOC760101", "BIGC670101", "CHAM810101", "DAYM780201"], normalize=True
407
+
408
+ # GAuto_CIDH920105_1 GAuto_CIDH920105_2 GAuto_CIDH920105_3 GAuto_CIDH920105_4 GAuto_CIDH920105_5 ...
409
+ # 1.057 1.077 1.04 1.02 1.013 ...
410
+ ```
411
+
412
+ </details>
413
+
414
+ <details>
415
+ <summary><b>Conjoint Triad Descriptors Usage Examples</b></summary>
416
+
417
+ Calculate Conjoint Triad:
418
+ ```python
419
+ conjoint_triad = protpy.conjoint_triad(protein_seq)
420
+ # 111 112 113 114 115 ...
421
+ # 7 17 11 3 6 ...
422
+ ```
423
+
424
+ </details>
425
+
426
+ <details>
427
+ <summary><b>CTD Descriptors Usage Examples</b></summary>
428
+
429
+ Calculate CTD:
430
+ ```python
431
+ ctd = protpy.ctd(protein_seq)
432
+ #using default parameters: property="hydrophobicity", all_ctd=True
433
+
434
+ # hydrophobicity_CTD_C_01 hydrophobicity_CTD_C_02 hydrophobicity_CTD_C_03 normalized_vdwv_CTD_C_01 ...
435
+ # 0.279 0.386 0.335 0.389 ...
436
+ ```
437
+
438
+ </details>
439
+
440
+ <details>
441
+ <summary><b>Sequence Order Descriptors Usage Examples</b></summary>
442
+
443
+ Calculate Sequence Order Coupling Number (SOCN):
444
+ ```python
445
+ socn = protpy.sequence_order_coupling_number_(protein_seq)
446
+ #using default parameters: d=1, distance_matrix="schneider-wrede"
447
+
448
+ #401.387
449
+ ```
450
+
451
+ Calculate all SOCN's per distance matrix:
452
+ ```python
453
+ #using default parameters: lag=30, distance_matrix="schneider-wrede"
454
+ socn_all = protpy.sequence_order_coupling_number(protein_seq)
455
+
456
+ # SOCN_SW1 SOCN_SW2 SOCN_SW3 SOCN_SW4 SOCN_SW5 ...
457
+ # 401.387 409.243 376.946 393.042 396.196 ...
458
+
459
+ #using custom parameters: lag=10, distance_matrix="grantham"
460
+ socn_all = protpy.sequence_order_coupling_number(protein_seq, lag=10, distance_matrix="grantham")
461
+
462
+ # SOCN_Grant1 SOCN_Grant_2 SOCN_Grant_3 SOCN_Grant_4 SOCN_Grant_5 ...
463
+ # 399.125 402.153 387.820 393.111 409.096 ...
464
+ ```
465
+
466
+ Calculate Quasi Sequence Order (QSO):
467
+ ```python
468
+ #using default parameters: lag=30, weight=0.1, distance_matrix="schneider-wrede"
469
+ qso = protpy.quasi_sequence_order(protein_seq)
470
+
471
+ # QSO_SW1 QSO_SW2 QSO_SW3 QSO_SW4 QSO_SW5 ...
472
+ # 0.005692 0.002643 0.004947 0.002846 0.005625 ...
473
+
474
+ #using custom parameters: lag=10, weight=0.2, distance_matrix="grantham"
475
+ qso = protpy.quasi_sequence_order(protein_seq, lag=10, weight=0.2, distance_matrix="grantham")
476
+
477
+ # QSO_Grant1 QSO_Grant2 QSO_Grant3 QSO_Grant4 QSO_Grant5 ...
478
+ # 0.123287 0.079967 0.04332 0.039983 0.013332 ...
479
+ ```
480
+
481
+ </details>
482
+
483
+ Documentation
484
+ -------------
485
+ The documentation for `protpy` is hosted on **ReadTheDocs** and is available [here][readthedocs].
486
+
487
+ Directories
488
+ -----------
489
+ * `/tests` - unit and integration tests for `protpy` package.
490
+ * `/protpy` - source code and all required external data files for package.
491
+ * `/docs` - `protpy` documentation.
492
+ * `/examples` - example notebook for protpy
493
+
494
+ Tests
495
+ -----
496
+ To run all tests, from the main `protpy` folder run:
497
+ ```
498
+ python3 -m unittest discover tests -v
499
+ -v: verbose output flag
500
+ ```
501
+
502
+ Contact
503
+ -------
504
+ If you have any questions or comments, please contact amckenna41@qub.ac.uk or raise an issue on the [Issues][Issues] tab.
505
+
506
+ References
507
+ ----------
508
+ \[1\]: Mckenna, A., & Dubey, S. (2022). Machine learning based predictive model for the analysis of sequence activity relationships using protein spectra and protein descriptors. Journal of Biomedical Informatics, 128(104016), 104016. https://doi.org/10.1016/j.jbi.2022.104016 <br>
509
+ \[2\]: Shuichi Kawashima, Minoru Kanehisa, AAindex: Amino Acid index database, Nucleic Acids Research, Volume 28, Issue 1, 1 January 2000, Page 374, https://doi.org/10.1093/nar/28.1.374 <br>
510
+ \[3\]: Dong, J., Yao, ZJ., Zhang, L. et al. PyBioMed: a python library for various molecular representations of chemicals, proteins and DNAs and their interactions. J Cheminform 10, 16 (2018). https://doi.org/10.1186/s13321-018-0270-2 <br>
511
+ \[4\]: Reczko, M. and Bohr, H. (1994) The DEF data base of sequence based protein
512
+ fold class predictions. Nucleic Acids Res, 22, 3616-3619. <br>
513
+ \[5\]: Hua, S. and Sun, Z. (2001) Support vector machine approach for protein
514
+ subcellular localization prediction. Bioinformatics, 17, 721-728. <br>
515
+ \[6\]: Broto P, Moreau G, Vandicke C: Molecular structures: perception,
516
+ autocorrelation descriptor and SAR studies. Eur J Med Chem 1984, 19: 71–78. <br>
517
+ \[7\]: Ong, S.A., Lin, H.H., Chen, Y.Z. et al. Efficacy of different protein
518
+ descriptors in predicting protein functional families. BMC Bioinformatics
519
+ 8, 300 (2007). https://doi.org/10.1186/1471-2105-8-300 <br>
520
+ \[8\]: Inna Dubchak, Ilya Muchink, Stephen R.Holbrook and Sung-Hou Kim. Prediction
521
+ of protein folding class using global description of amino acid sequence.
522
+ Proc.Natl. Acad.Sci.USA, 1995, 92, 8700-8704. <br>
523
+ \[9\]: Juwen Shen, Jian Zhang, Xiaomin Luo, Weiliang Zhu, Kunqian Yu, Kaixian Chen,
524
+ Yixue Li, Huanliang Jiang. Predicting proten-protein interactions based only
525
+ on sequences inforamtion. PNAS. 2007 (104) 4337-4341. <br>
526
+ \[10\]: Kuo-Chen Chou. Prediction of Protein Subcellar Locations by Incorporating
527
+ Quasi-Sequence-Order Effect. Biochemical and Biophysical Research
528
+ Communications 2000, 278, 477-483. <br>
529
+ \[11\]: Kuo-Chen Chou. Prediction of Protein Cellular Attributes Using
530
+ Pseudo-Amino Acid Composition. PROTEINS: Structure, Function, and
531
+ Genetics, 2001, 43: 246-255. <br>
532
+ \[12\]: Kuo-Chen Chou. Using amphiphilic pseudo amino acid composition to predict enzyme
533
+ subfamily classes. Bioinformatics, 2005,21,10-19.
534
+
535
+ Support
536
+ -------
537
+ [<img src="https://img.shields.io/github/stars/amckenna41/protpy?color=green&label=star%20it%20on%20GitHub" width="132" height="20" alt="Star it on GitHub">](https://github.com/amckenna41/protpy)
538
+
539
+
540
+ <a href="https://www.buymeacoffee.com/amckenna41" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="41" width="174"></a>
541
+
542
+ [Back to top](#TOP)
543
+
544
+ <!-- Links -->
545
+ [python]: https://www.python.org/downloads/release/python-360/
546
+ [protpy]: https://github.com/amckenna41/protpy
547
+ [aaindex]: https://github.com/amckenna41/aaindex
548
+ [varname]: https://pypi.org/project/varname/
549
+ [biopython]: https://biopython.org/
550
+ [numpy]: https://numpy.org/
551
+ [pandas]: https://pandas.pydata.org/
552
+ [PyPi]: https://pypi.org/project/protpy/
553
+ [demo]: https://colab.research.google.com/drive/12E3ayovpZOf6Gv-8ILwkN1zReKslEksB?usp=sharing
554
+ [article]: https://medium.com/@ajmckenna69/protpy-05f02f821baa
555
+ [Issues]: https://github.com/amckenna41/protpy/issues
556
+ [readthedocs]: https://protpy.readthedocs.io/en/latest