Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support CIF #51

Merged
merged 81 commits into from May 9, 2021
Merged
Show file tree
Hide file tree
Changes from 75 commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
738b998
Add CIF support to CLI.
mittinatten Oct 25, 2020
1e29035
Use the same logic for ignoring alternative conformations in CIF file…
mittinatten Oct 25, 2020
7206387
Support --join-models for CIF files and exclude hydrogens correctly.
mittinatten Jan 5, 2021
b215f29
Add support for --chain-groups option for CIF files.
mittinatten Jan 5, 2021
58f5de8
Add .deps to clean target.
mittinatten Feb 20, 2021
664c5ba
Patched AltLoc bug in cif atom filter.
danny305 Feb 19, 2021
f4bd648
Cleaned atom altloc filter code.
danny305 Feb 19, 2021
1421bbb
Merge: Adding fix for autotools-compilation with main.cc
danny305 Feb 21, 2021
7338451
Updated configure.ac to c++14; required for std::make_unique()
danny305 Feb 21, 2021
5333706
Merge pull request #52 from danny305/feature/cif
mittinatten Feb 21, 2021
73d49b2
Update git submodules to use https instead of git protocol..
mittinatten Feb 21, 2021
2245065
Update travis setup to use ubuntu 16.
mittinatten Feb 21, 2021
d1fd5a3
Fix/travis c++ (#54)
mittinatten Feb 21, 2021
b3fb1d5
Implemented flow control for --separate-chains and --separate-models;…
danny305 Feb 23, 2021
640eda8
populated freesasa_structure with data for --separate-chains and --se…
danny305 Feb 23, 2021
3d3c87c
Refactored --separate-models and --separate-chains; removed code dupl…
danny305 Feb 23, 2021
d7e27de
Solved freesasa_warn linking error.
danny305 Feb 24, 2021
879e93e
Fixed memory error for --chain-groups.
danny305 Feb 24, 2021
ad14153
Fixed --separate-chains and --separate-models incompatibility.
danny305 Feb 24, 2021
fd9ce11
Addressed incompatability and formatting for --separate-chains and --…
danny305 Feb 24, 2021
2f564d2
Added pdb/cif files to test --separate-[chains,models] co-compatibili…
danny305 Feb 24, 2021
1b0f844
Removed merge boilerplate causing travis failure.
danny305 Feb 25, 2021
33b4d2a
Added dataset of 2000 sequence diversed proteins
danny305 Feb 25, 2021
026687f
Removed deprecated code from structure_from_doc()
danny305 Feb 25, 2021
4fa99f3
Updated the for cli-tests for cif/pdb comparisons for --separate-chai…
danny305 Feb 25, 2021
665b4b5
Fixed --separate-chains --separate-models bug only seen when there ar…
danny305 Feb 26, 2021
a22c07c
Refactored cif.cc to remove structure_from_doc duplication.
danny305 Feb 26, 2021
ab826f1
Merge pull request #55 from danny305/feature/cif
mittinatten Feb 27, 2021
cd8b44f
Strip quotes from atom_auth_id in CIF files.
mittinatten Feb 27, 2021
95cddd7
Merged stripping quotes from atom_auth_id to feature/cif branch
danny305 Feb 27, 2021
1766703
Removed copying/allocating memory of auth_atom_id for atoms lacking (")
danny305 Feb 27, 2021
fd513cf
Refactored stripping quotes from atom_auth_id with unique_ptrs (#56)
danny305 Feb 28, 2021
ca55fef
Add test for nucleic acids in CIF files.
mittinatten Feb 28, 2021
3c9a92c
Add F# test runner to compare CIF and PDB outputs
mittinatten Feb 20, 2021
ea2525f
Add readme for test runner.
mittinatten Feb 28, 2021
eed143e
Fix alt conformation handling for CIF files.
mittinatten Mar 11, 2021
887c4ea
Fix freesasa_guess_radius() for CIF atoms.
mittinatten Mar 12, 2021
4ac01cc
Ignore whitespace when comparing error output.
mittinatten Mar 12, 2021
f519234
Merge branch 'dev' into feature/cif
mittinatten Mar 12, 2021
7612777
Update change log.
mittinatten Mar 12, 2021
3f73175
Update doxygen docs and man pages.
mittinatten Mar 12, 2021
5d5dd4c
Merge remote-tracking branch 'upstream/feature/cif' into feature/cif
danny305 Mar 16, 2021
1a02c1c
Successfully parsing tree structure and input cif file; matching tree…
danny305 Mar 15, 2021
5fa9674
Sped up CIF atom search by not searching all rows for every freesasa …
danny305 Mar 15, 2021
95896dc
Cleaned up code; prepping it for adding the sasa and radius columns t…
danny305 Mar 15, 2021
d569e30
PoC of cif outfile.
danny305 Mar 16, 2021
5ccfe6c
Fix bug in hydrogen detection for PDB files.
mittinatten Mar 17, 2021
714fb41
Add missing files from last commit.
mittinatten Mar 17, 2021
2c30636
Add test case that exemplifies bug in --separate-chains for CIF input.
mittinatten Mar 22, 2021
1d95ca5
Successfully writing to stdout and reading input file once. However, …
danny305 Mar 20, 2021
b682bfc
Fixed redundant file writing. Need to address bug in 2jo4 redundancy …
danny305 Mar 20, 2021
339f895
Editted code to make logic clearer.
danny305 Apr 14, 2021
24e88c9
Added CLI checks.
danny305 Apr 14, 2021
98535ba
Corrected main.cc from travisCL error
danny305 Apr 14, 2021
b4385a8
Added freesasa categories to output cif; has bug with --separate-chai…
danny305 Apr 15, 2021
2123308
Fixed cif summary category --separate-chains bug.
danny305 Apr 15, 2021
74fcc08
Refactored cif output to its own function.
danny305 Apr 15, 2021
6b6a592
Added freeSASA version to the parameters category.
danny305 Apr 15, 2021
19310e1
Modified C library to obtain chain, res_num, res_name from the atom n…
danny305 Apr 16, 2021
c49f28f
Added relativeSASA category to the output cif. Still incomplete need …
danny305 Apr 18, 2021
59ac512
Finalized rsa cif block.
danny305 Apr 18, 2021
18003d5
Upgrade Gemmi to version 0.4.5.
mittinatten Apr 22, 2021
138208b
Merge remote-tracking branch 'upstream/feature/cif' into feature/cif
danny305 Apr 27, 2021
46fae9f
Fixed bugs for reading/writing cif files from stdin and from a relati…
danny305 Apr 27, 2021
bc41a08
removed source tag from the freesasa result block
danny305 Apr 28, 2021
c8a2c8f
Added check for the removal of non-polymeric chains.
danny305 Apr 28, 2021
013cf77
Updated filtering of non-polymer chains from gemmi to freesasa datast…
danny305 Apr 28, 2021
7a216e0
Forgot to free the structure if its missing polymeric atoms.
danny305 Apr 28, 2021
9014a6c
Fix allocation issues in node_atom.
mittinatten Apr 29, 2021
133c426
Merge pull request #2 from mittinatten/fix/atom-node
danny305 Apr 29, 2021
61c9e20
Refactored/cleaned up code. Ready for final test and merge.
danny305 Apr 30, 2021
cc4251d
Merge pull request #59 from danny305/feature/cif
mittinatten Apr 30, 2021
d609021
Pass filename instead to CIF export to allow writing to user specifie…
mittinatten May 5, 2021
ef8104d
Omit threads information from CIF output.
mittinatten May 5, 2021
084b22b
Make all internal functions in cif.cc static and short names a few pl…
mittinatten May 5, 2021
b402878
Add docs for CIF output.
mittinatten May 5, 2021
c204ce7
Output RSA values in CIF output regardless of if there are relative v…
mittinatten May 5, 2021
48a36eb
Close file when done in CIF output.
mittinatten May 5, 2021
23b5e5e
Remove debug code.
mittinatten May 5, 2021
95f07fd
Add check for illegal CLI options and opposite.
mittinatten May 9, 2021
a9adc25
Change some asserts to return FREESASA_FAIL and add catch all try/cat…
mittinatten May 9, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Expand Up @@ -47,3 +47,5 @@ doc/html/
doc/Doxyfile
doc/doxyfile.stamp
doc/man/freesasa.1
.ionide
.fake
3 changes: 3 additions & 0 deletions .gitmodules
@@ -0,0 +1,3 @@
[submodule "third-party/gemmi"]
path = third-party/gemmi
url = https://github.com/project-gemmi/gemmi.git
24 changes: 8 additions & 16 deletions .travis.yml
@@ -1,20 +1,12 @@

language: c
language: c++
git:
depth: 3
dist:
trusty
cache:
pip

branches:
only:
- master
- dev
dist: xenial
cache: pip

before_install:
- sudo apt-get update -qq
- sudo apt-get install -qq check libjson-c-dev libxml2-dev libxml2-utils
- sudo apt-get update -qq
- sudo apt-get install -qq check libjson-c-dev libxml2-dev libxml2-utils libc++-dev libc++abi-dev

matrix:
include:
Expand All @@ -24,7 +16,7 @@ matrix:
before_install:
- pip install --user cpp-coveralls
- sudo apt-get update -qq
- sudo apt-get install -qq check libjson-c-dev libxml2-dev libxml2-utils
- sudo apt-get install -qq check libjson-c-dev libxml2-dev libxml2-utils libc++-dev libc++abi-dev
after_success:
- coveralls --exclude tests --exclude src/lexer.l --exclude src/lexer.c --exclude src/parser.c --exclude src/parser.y --exclude src/example.c --exclude src/util.c --gcov-options '\-lp'

Expand All @@ -45,5 +37,5 @@ before_script:
script: make && make check

after_failure:
- cat tests/test-api.log
- cat tests/test-cli.log
- cat tests/test-api.log
- cat tests/test-cli.log
8 changes: 8 additions & 0 deletions CHANGELOG.md
Expand Up @@ -7,6 +7,14 @@ FreeSASA uses semantic versioning. Changelog added for versions 2.x
- Fix bug in JSON output where relative SASA for amino acids without sidechan
were written as `NaN`, which is not valid JSON. These values are now
simply skipped.
- Support for mmCIF input with the CLI option `--cif`.
- The CLI was ported to C++ to allow using Gemmi for CIF import.
- Gemmi is imported as a git submodule, see README for details.
- A test runner was added to verify that CIF and PDB input files
give the same result.
- The C API does not support CIF for now (this would require conversion to C++).
- Fix bug where elements with H or D as second element, such as CD, were classified
as hydrogens.

## 2.0.3

Expand Down
2 changes: 1 addition & 1 deletion Makefile.am
@@ -1,6 +1,6 @@
SUBDIRS = src doc tests share

EXTRA_DIST = README.md scripts/chemcomp2config.pl scripts/config2c.pl scripts/rsa
EXTRA_DIST = README.md scripts/chemcomp2config.pl scripts/config2c.pl scripts/rsa third-party/gemmi/include/gemmi/*.hpp

# we want to test all features for dist-check
DISTCHECK_CONFIGURE_FLAGS = --enable-check
Expand Down
5 changes: 5 additions & 0 deletions README.md
Expand Up @@ -36,6 +36,11 @@ information.

## Building and installing

After cloning the repository, add git submodules

git submodules init
git supmodules update

FreeSASA can be compiled and installed using the following

./configure
Expand Down
7 changes: 7 additions & 0 deletions configure.ac
Expand Up @@ -7,12 +7,14 @@ AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_SRCDIR([config.h.in])
AC_CONFIG_HEADERS([config.h])
m4_include([m4/ax_compare_version.m4])
m4_include([m4/ax_cxx_compile_stdcxx.m4])
AC_DEFINE([REPORTBUG], ["Report bugs to <https://github.com/mittinatten/freesasa/issues>"], [Bug report string])
AC_DEFINE([HOMEPAGE], ["<http://freesasa.github.io>"], [Project homepage])
AC_DEFINE([FREESASA_XMLNS], ["http://freesasa.github.io/"], [XML namespace])

# Checks for programs.
AC_PROG_CC
AC_PROG_CXX
AC_PROG_RANLIB
AC_PROG_INSTALL

Expand Down Expand Up @@ -45,6 +47,9 @@ AC_FUNC_MALLOC
AC_FUNC_REALLOC
AC_CHECK_FUNCS([memset mkdir sqrt strchr strdup strerror strncasecmp getopt_long getline])

# C++ 14
AX_CXX_COMPILE_STDCXX([14])

AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile doc/Doxyfile doc/man/freesasa.1 tests/Makefile share/Makefile])
AC_CONFIG_FILES([tests/test-cli], [chmod +x tests/test-cli])

Expand Down Expand Up @@ -152,9 +157,11 @@ AC_ARG_ENABLE([check],

AM_CONDITIONAL([USE_CHECK],false)
AC_DEFINE([USE_CHECK],[0],[Build with Check unit testing framework])
AM_CONDITIONAL([USE_SUBUNIT], false)

if test "x$enable_check" = "xyes" ; then
AC_CHECK_LIB(rt, setitimer) # necessary on some platforms
AC_CHECK_LIB([subunit], [subunit_test_start]) # necessary on some platforms
AC_CHECK_LIB([check],[suite_create],
[],
[AC_MSG_ERROR[Library Check not available, install libary or configure without flag --enable-check]])
Expand Down