Open
Conversation
added 3 commits
November 24, 2021 16:06
…os in `RUN_pipeline.sh`.
…nstallation and added it to the list of requirements.
… building (now in `build.sh`) and installation. Made it `pip` installable. Updated `INSTALL`.
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.
Context
I want to maintain a modified version of
anarciwhile keeping integration of futureanarcichanges as smooth as possible. This is rendered difficult by the extraneous files currently present in the repository, as well as the less than ideal installation process.What this PR does
Removes all non-essential files to reduce the repository to its bare minimum. Streamlines the installation process.
Details
muscleThe packaged
muscleexecutable does not work on all systems. I'm running debians, both stable and testing and in both cases, the packagedmuscleexecutable immediately exits with a segmentation fault. Worse than this, in some context, the brokenmuscleinstalled byanarcitakes precedence over the non-broken binary installed on the system, meaning any call tomusclewill now fail.What the PR does: removes the packaged binaries of
muscle, remove its licence, removes the lines pertaining to their installation and addsmuscleas a requirement (likehmmeris).The
build/directoryThe directory and its files are created by
distutilswhen thesetup.pyis called. It serves no purpose.What the PR does: removed the directory.
The
build_pipeline/IMGT_sequence/,build_pipeline/curated_alignments/,build_pipeline/muscle_alignments/andbuild_pipeline/HMMs/directoriesThese are created by the installation process. Since the installation actually overwrites them, they don't need to be in the repository.
What the PR does: removed all of them.
The
lib/python/anarci/germlines.pyfile andlib/python/anarci/dat/directorylib/python/anarci/germlines.pyis only used if the build part of thesetup.pyfails andlib/python/anarci/dat/is never used.Explanation: the installation part of
setup.pycopies the.pyfiles (but thedat/directory is ignored because thepackage_dataoption is commented) to the appropriate location.After that the build part of
setup.pyoverwrites bothgermlines.pyand thedatdirectory.What the PR does: removed both.
Note. With the modified installation (see further), there is an actual value in keeping them, as the python module could then be installed without going through the building process.
.gitignoreI can only assume that the reason for the extraneous file is the use of
git add .. The PR adds a.gitignorefile to avoid these files being re-added by such command (which should preferably be avoided entirely). It also keeps them out of commands such asgit status. The PR also adds an equivalent.hgignorefor mercurial users.Installation process
The PR isolates the building part of the installation into the (newly created)
build.shscript. If executed without argument,germlines.pyand thedat/directory will be built and copied tolib/python/anarci/. If executed with acleanargument, it will remove all build-related files.As a result,
setup.pyhas been reduced and simply installs theANARCIexecutable and theanarcipython module (including thedat/directory.In addition,
distutilshas been replaced bysetuptoolsto allow installation, and perhaps more importantly, uninstallation, viapip.The
INSTALLfile has been modified to reflect these changes.