Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
william-galvin authored Oct 16, 2024
1 parent 1e6a63b commit c76ffde
Showing 1 changed file with 1 addition and 6 deletions.
7 changes: 1 addition & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ This installs zernikegrams (our package) and it's dependencies in an existing co
### Requirements
Zernikegrams is distributed through the anaconda package manager, which provides most dependencies in most cases. Notable exceptions include:
- `foldcomp`, which is optional and only necessary if using `--foldcomp` with `structural-info`. If you are, you probably already have it installed, but you can install it with `pip install foldcomp` if not.
- `DSSP`, which is optional and only necessary if using `--DSSP` with `structural-info`. On Mac, this can be installed with `brew install brewsci/bio/dssp`; on Linux, use `conda install dssp -c salilab`.
- A modern GCC compiler. Most machines have one already, but if you see cryptic messages referencing "GLIBCXX_3.4.30 not found", try `conda install libstdcxx-ng -conda-forge` (if on Linux).
- `argparse`, which comes with almost all Python distributions, but (apparently) not all and is (apparently) not installable with conda. Try `pip install argparse`.

Expand Down Expand Up @@ -64,10 +63,8 @@ temporary files live.
pip install -e . -vv
```
`-e` is for editable mode (changes take effect without reinstalling) and `-vv` is very verbose. Either can be changed.

6. Optionally, install DSSP. This is only necessary for calculating secondary structure, but is needed for some tests. Use `conda install dssp -c salilab` or `brew install brewsci/bio/dssp` depending on your OS.

7. Run `pytest` from the root directory--if everything passes, you're good to go!
6. Run `pytest` from the root directory--if everything passes, you're good to go!

### Testing
Tests should be run with `pytest` from the root directory. It is polite to include new tests with new code (if it can be reasonably tested) and to ensure that new code doesn't break old tests. Bug fixes should include at least one test that fails without the fix and passes with it.
Expand Down Expand Up @@ -97,8 +94,6 @@ Most Anaconda packages distribute compiled binaries, not source code. Due to lim

Currently, the only example of this is Reduce. Our approach is to put the build-from-source code in `devtools/conda-build/post-link.sh`, which conda automatically runs on every local machine when zernikegrams is installed.

Another great candidate for build-from-source would be DSSP (currently, users are responsible for getting it themselves), probably from the [PDB-REDO implementation](https://github.com/PDB-REDO/dssp). Note: I (William) have never been able to build this package from source--you'll know you're successful when you have a DSSP executable and can run `<executable> path-to-pdb-file` and the output looks reasonable. If you can do that, then in `structural_info_core`, find the call to `dssp_dict_from_pdb_file` and pass `DSSP=<executable-path>` as a key-word argument.

In general: all of the binaries we compile should be installed in the same, **non-root**, location. Currently, `$HOME/local` seems reasonable. If the code we're compiling uses `cmake`, then `-DCMAKE_INSTALL_PREFIX=$HOME/local` should do that.

### Roadmap
Expand Down

0 comments on commit c76ffde

Please sign in to comment.