Skip to content

Chrisjurich/feature new structure class#49

Merged
shaoqx merged 23 commits into
develop_refactorfrom
chrisjurich/feature_new_structure_class
Apr 13, 2022
Merged

Chrisjurich/feature new structure class#49
shaoqx merged 23 commits into
develop_refactorfrom
chrisjurich/feature_new_structure_class

Conversation

@chrisjurich
Copy link
Copy Markdown
Collaborator

@chrisjurich chrisjurich commented Apr 13, 2022

This pull is a refactor the Structure() class as well as a major re-structuring of the repo to enable the installation of enzy_htp as a python module. The general layout of the repo is now as follows:

EnzyHTP/
        enzy_htp/
                core/
                chemical/
                 structure/
        test/
                core/
                chemical/
                structure/

Other folders and files exist but these are the relevant ones for this PR. enzy_htp contains the python module and core, chemical and structure are sub-modules:

+core is the most primitive sub-module which has no dependencies within the package. It mostly handles interfacing with the system in terms of external applications, file systems and the like.

chemical depends on core and contains information on chemical encoding, including information on residues, atoms and other chemical data.
+structure depends on both core and chemical and contains a hierarchical representation of proteins and enzymes through the Structure() class, which is composed of Chain(), Residue() and Atom() objects, in descending order. The code is designed such that the end-user primarily interfaces with the Structure() class and does not touch lower-level aspects of enzy_htp.structure.

The test/ directory contains an identical layout as enzy_htp and has test files. They are identical to the source files except with the prefix test_. For example, the code in enzy_htp/core/file_system.py is tested in test/core/test_file_system.py. The only exception is the test/structure/test_residue_class.py file which has the _class suffix added to avoid a name collision with test/chemical/test_residue.py. There are multiple test cases for each function/functionality snippet and more will be added as time goes on.

@shaoqx shaoqx merged commit 16ac57a into develop_refactor Apr 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants