Skip to content

Commit

Permalink
This is the new version 0.7.5.4.
Browse files Browse the repository at this point in the history
The changes to previous version include:

1) Map re-sampling: Map re-sampling slightly moves (sub-index) position of the internal map, which causes issue for translation map. This has been improved, but not completely removed.
2) Symmetry detection: All polyhedral symmetries are always sought, no longer stopping if larger polyhedral symmetry is found.
3) getopt_port only: Now the external getopt library is used exclusively instead of only on Windows. This is because older GCC version were mixing system and external getopt files, causing segfaults.
4) M_PI: Older GCC version have cmath.h header without M_PI definition (which is not necessarily part of the header, but Unix libraries typically have it there). This has now been remedied and M_PI definition is no longer required.
  • Loading branch information
michaltykac committed Mar 26, 2021
2 parents f7eac90 + 9b0858c commit d5f31d6
Show file tree
Hide file tree
Showing 275 changed files with 9,375 additions and 9,196 deletions.
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ The ProSHADE tool was developed in a modular fashion and the usage slightly chan

In order to detect symmetry in either a co-ordinate input file or in a map input file, the ProSHADE executable needs to be supplied with the option **-S** or **--symmetry** and it will also require a single input file to be supplied using the **-f** option. These two options are the only mandatory options, although there are many optional values that the user can supply to supersede the default values and therefore modify the operation fo the ProSHADE executable to fit their purpose.

One particular option regarding the symmetry detection mode should be noted; the **--sym** (or **-u**) option, which allows the user to state which symmetry they believe to exist in the structure. The allowed values for this command line argument are "Cx", "Dx", "T", "O" and "I", where the *x* should be an integer number specifying the fold of the requested symmetry. When this option is used, it removes the default behaviour of returning the "best" detected symmetry and instead the symmetry requested by the user is returned, if it can be found in the structure.
One particular option regarding the symmetry detection mode should be noted; the **--reqSym** (or **-u**) option, which allows the user to state which symmetry they believe to exist in the structure. The allowed values for this command line argument are "Cx", "Dx", "T", "O" and "I", where the *x* should be an integer number specifying the fold of the requested symmetry. When this option is used, it removes the default behaviour of returning the "best" detected symmetry and instead the symmetry requested by the user is returned, if it can be found in the structure.

Another noteworthy option is the **--center** or **-c** option, which tells ProSHADE **NOT** to center the internal map representation over the centre of density before running any processing of the map (default is centering and adding this option will turn centering off). This may be important as ProSHADE detects symmetries over the centre of the co-ordinates and therefore a non-centered map (map which does not have the centre of mass at the centre of box) will be found to have no symmetries even if these are present, just not over the co-ordinate/box centre.

Expand All @@ -319,8 +319,8 @@ To demonstrate how the tool can be run and the standard output for the symmetry
![T4 Portal Protein](https://github.com/michaltykac/proshade/blob/experimental/proshade/documentation/ProSHADE_3JA7.jpg)

```
$: ./proshade -S -f ./emd_6324.map -r 8 --sym C12
ProSHADE 0.7.5.3 (FEB 2021):
$: ./proshade -S -f ./emd_6324.map -r 8 --reqSym C12
ProSHADE 0.7.5.4 (MAR 2021):
============================
... Starting to read the structure: ./emd_6324.map
Expand All @@ -338,17 +338,17 @@ To demonstrate how the tool can be run and the standard output for the symmetry
Detected C symmetry with fold 12 .
Fold X Y Z Angle Height
+12 +0.00000 -0.00000 +1.00000 +0.52360 +0.94620
+12 +0.00000 +0.00000 +1.00000 +0.52360 +0.93476
However, since the selection of the recommended symmetry needs improvement, here is a list of all detected C symmetries:
Fold X Y Z Angle Height
+12 +0.00000 -0.00000 +1.00000 +0.52360 +0.94620
+12 +0.00000 +0.00000 +1.00000 +0.52360 +0.93476
Also, for the same reason, here is a list of all detected D symmetries:
======================
ProSHADE run complete.
Time taken: 14 seconds.
Time taken: 15 seconds.
======================
```

Expand All @@ -364,7 +364,7 @@ To demonstrate how the tool can be run and the standard output for the symmetry

```
$: ./proshade -D -f ./1BFO_A_dom_1.pdb -f ./1H8N_A_dom_1.pdb -f ./3IGU_A_dom_1.pdb -r 6
ProSHADE 0.7.5.3 (FEB 2021):
ProSHADE 0.7.5.4 (MAR 2021):
============================
... Starting to read the structure: ./1BFO_A_dom_1.pdb
Expand All @@ -391,9 +391,9 @@ To demonstrate how the tool can be run and the standard output for the symmetry
... Starting trace sigma distance computation.
... Starting rotation function distance computation.
Distances between ./1BFO_A_dom_1.pdb and ./1H8N_A_dom_1.pdb
Energy levels distance : 0.895306
Trace sigma distance : 0.960468
Rotation function distance: 0.756167
Energy levels distance : 0.859485
Trace sigma distance : 0.950227
Rotation function distance: 0.741744
... Starting to read the structure: ./3IGU_A_dom_1.pdb
... Map inversion (mirror image) not requested.
... Map normalisation not requested.
Expand All @@ -408,13 +408,13 @@ To demonstrate how the tool can be run and the standard output for the symmetry
... Starting trace sigma distance computation.
... Starting rotation function distance computation.
Distances between ./1BFO_A_dom_1.pdb and ./3IGU_A_dom_1.pdb
Energy levels distance : 0.559041
Trace sigma distance : 0.736592
Rotation function distance: 0.452545
Energy levels distance : 0.572315
Trace sigma distance : 0.74436
Rotation function distance: 0.461415
======================
ProSHADE run complete.
Time taken: 4 seconds.
Time taken: 1 seconds.
======================
```

Expand All @@ -432,7 +432,7 @@ To demonstrate how the tool can be run and the standard output for the symmetry

```
$ ./proshade -RMf ./emd_5762.map.gz
ProSHADE 0.7.5.3 (FEB 2021):
ProSHADE 0.7.5.4 (MAR 2021):
============================
... Starting to read the structure: ./emd_5762.map.gz
Expand Down Expand Up @@ -474,7 +474,7 @@ Time taken: 9 seconds.

```
$ ./proshade -O -f ./1BFO_A_dom_1.pdb -f ./1H8N_A_dom_1.pdb -r 4 -kjc
ProSHADE 0.7.5.3 (FEB 2021):
ProSHADE 0.7.5.4 (MAR 2021):
============================
... Starting to read the structure: ./1BFO_A_dom_1.pdb
Expand Down Expand Up @@ -519,15 +519,15 @@ Time taken: 9 seconds.
... Starting spherical harmonics decomposition.
... Starting translation function computation.
The rotation centre to origin translation vector is: -17.5 -21 -24
The rotation centre to origin translation vector is: -16.6 -20 -23.8
The rotation matrix about origin is : -0.872 -0.0785 +0.483
: -0.191 -0.854 -0.483
: +0.451 -0.514 +0.73
The rotation centre to overlay translation vector is: +4 +4 -4
======================
ProSHADE run complete.
Time taken: 4 seconds.
Time taken: 5 seconds.
======================
```
# Using the ProSHADE library
Expand Down
10 changes: 7 additions & 3 deletions proshade/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ endif ( ${PRODUCE_PYTHON_BINDINGS} MATCHES 1 )

##########################################################################################
################################### Set project name
project ( proshade VERSION 0.7.5.3 LANGUAGES CXX C )
project ( proshade VERSION 0.7.5.4 LANGUAGES CXX C )

##########################################################################################
################################### Force C++11
Expand All @@ -63,8 +63,6 @@ set ( CMAKE_POSITION_INDEPENDENT_CODE ON
file ( GLOB SOURCES "${CMAKE_SOURCE_DIR}/src/proshade/*.cpp" )
file ( GLOB EXEC_SRC "${CMAKE_SOURCE_DIR}/src/bin/*.cpp" )

list ( APPEND SOURCES "${CMAKE_SOURCE_DIR}/extern/getopt_port/getopt.c" )

##########################################################################################
################################### Define the command line options variables and defaults
set ( INSTALL_LOCALLY ON CACHE BOOL "Should installation be done locally?" )
Expand Down Expand Up @@ -220,6 +218,12 @@ else ( CUSTOM_LAPACK_LIB_PATH )
endif ( LAPACK_FOUND )
endif ( CUSTOM_LAPACK_LIB_PATH )


##########################################################################################
################################### Add getopt_port dependency
set ( GETOPT_SOURCE ${CMAKE_SOURCE_DIR}/extern/getopt_port/getopt_port.c CACHE STRING "Getopt_port source" )
set ( GETOPT_HEADER ${CMAKE_SOURCE_DIR}/extern/getopt_port/getopt_port.h CACHE STRING "Getopt_port header" )

##########################################################################################
################################### Add SOFT dependency

Expand Down
2 changes: 1 addition & 1 deletion proshade/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = ProSHADE
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = "0.7.5.3 (FEB 2021)"
PROJECT_NUMBER = "0.7.5.4 (MAR 2021)"

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
2 changes: 1 addition & 1 deletion proshade/cmake/bin/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

##########################################################################################
################################### Add the executable target
add_executable ( ${PROJECT_NAME} ${EXEC_SRC} ${OBJS} )
add_executable ( ${PROJECT_NAME} ${EXEC_SRC} ${GETOPT_SOURCE} ${OBJS} )

##########################################################################################
### Add and link the dependencies
Expand Down
2 changes: 1 addition & 1 deletion proshade/cmake/bin/bin.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ file ( GLOB EXEC_SRC "${CMAKE_SOURCE_DIR}/src/bin/*.cpp"

##########################################################################################
################################### Add the executable target
add_executable ( ${PROJECT_NAME} ${EXEC_SRC} ${SOURCES} )
add_executable ( ${PROJECT_NAME} ${EXEC_SRC} ${GETOPT_SOURCE} ${SOURCES} )

##########################################################################################
################################### Link the executable
Expand Down
2 changes: 1 addition & 1 deletion proshade/cmake/lib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

##########################################################################################
################################### Add the library target
add_library ( ${PROJECT_NAME}_LIB SHARED ${OBJS} )
add_library ( ${PROJECT_NAME}_LIB SHARED ${OBJS} ${GETOPT_SOURCE} )

##########################################################################################
### Add and link the dependencies
Expand Down
2 changes: 1 addition & 1 deletion proshade/cmake/lib/lib.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ file ( GLOB EXEC_SRC "${CMAKE_SOURCE_DIR}/src/bin/*.cpp"

##########################################################################################
################################### Add the library target
add_library ( ${PROJECT_NAME}_LIB SHARED ${EXEC_SRC} ${SOURCES} )
add_library ( ${PROJECT_NAME}_LIB SHARED ${EXEC_SRC} ${SOURCES} ${GETOPT_SOURCE} )

##########################################################################################
### Add and link the dependencies
Expand Down
Loading

0 comments on commit d5f31d6

Please sign in to comment.