Chrisjurich/feature new structure class#49
Merged
shaoqx merged 23 commits intoApr 13, 2022
Conversation
…jurich/feature_new_structure_class
…esting in general
…n. Unit tests now all pass
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:Other folders and files exist but these are the relevant ones for this PR.
enzy_htpcontains 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 ofChain(),Residue()andAtom()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_htpand has test files. They are identical to the source files except with the prefix test_. For example, the code inenzy_htp/core/file_system.pyis tested intest/core/test_file_system.py. The only exception is thetest/structure/test_residue_class.pyfile which has the _class suffix added to avoid a name collision withtest/chemical/test_residue.py. There are multiple test cases for each function/functionality snippet and more will be added as time goes on.