libcifpp-2.0.5/0000775000175000017500000000000014200173347013151 5ustar maartenmaartenlibcifpp-2.0.5/.gitignore0000664000175000017500000000030214200173347015134 0ustar maartenmaartenbuild/ .vscode/ .vs/ .pc/ tools/symop-map-generator test/unit-test test/pdb2cif-test test/rename-compound-test tools/update-libcifpp-data data/components.cif* CMakeSettings.json msvc/ Testing/ libcifpp-2.0.5/.travis.yml0000664000175000017500000000141214200173347015260 0ustar maartenmaartenlanguage: cpp os: - linux - osx dist: focal osx_image: - xcode12 compiler: - gcc - clang addons: apt: packages: - libboost-all-dev before_install: - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install make; fi script: - if [ "$TRAVIS_OS_NAME" = "osx" ]; then ./configure --disable-shared --disable-revision --disable-download-ccd ; else ./configure --disable-revision --disable-download-ccd ; fi - if [ "$TRAVIS_OS_NAME" = "osx" ]; then gmake ; else make ; fi - if [ "$TRAVIS_OS_NAME" = "osx" ]; then gmake test ; else make test ; fi - if [ "$TRAVIS_OS_NAME" = "osx" ]; then sudo gmake install ; else sudo make install; fi # jobs: # allow_failures: # - os: osx libcifpp-2.0.5/CMakeLists.txt0000664000175000017500000003532614200173347015722 0ustar maartenmaarten# SPDX-License-Identifier: BSD-2-Clause # Copyright (c) 2021 NKI/AVL, Netherlands Cancer Institute # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # 1. Redistributions of source code must retain the above copyright notice, this # list of conditions and the following disclaimer # 2. Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. cmake_minimum_required(VERSION 3.16) # set the project name project(cifpp VERSION 2.0.5 LANGUAGES CXX) list(PREPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") enable_testing() include(GNUInstallDirs) include(CheckFunctionExists) include(CheckIncludeFiles) include(CheckLibraryExists) include(CMakePackageConfigHelpers) include(Dart) include(GenerateExportHeader) set(CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers") elseif(MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") endif() # Building shared libraries? option(BUILD_SHARED_LIBS "Build a shared library instead of a static one" OFF) # We do not want to write an export file for all our symbols... set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) # Optionally build a version to be installed inside CCP4 option(BUILD_FOR_CCP4 "Build a version to be installed in CCP4" OFF) if(BUILD_FOR_CCP4) if("$ENV{CCP4}" STREQUAL "" OR NOT EXISTS $ENV{CCP4}) message(FATAL_ERROR "A CCP4 built was requested but CCP4 was not sourced") else() list(APPEND CMAKE_MODULE_PATH "$ENV{CCP4}") list(APPEND CMAKE_PREFIX_PATH "$ENV{CCP4}") set(CMAKE_INSTALL_PREFIX "$ENV{CCP4}") # This is the only option: if(WIN32) set(BUILD_SHARED_LIBS ON) endif() endif("$ENV{CCP4}" STREQUAL "" OR NOT EXISTS $ENV{CCP4}) endif() # Check if CCP4 is available if(EXISTS "$ENV{CCP4}") set(CCP4 $ENV{CCP4}) set(CLIBD ${CCP4}/lib/data) endif() if(CCP4 AND NOT CLIBD) set(CLIBD ${CCP4}/lib/data) endif() # When CCP4 is sourced in the environment, we can recreate the symmetry operations table if(EXISTS "${CCP4}") if(CIFPP_RECREATE_SYMOP_DATA AND NOT EXISTS "${CLIBD}/syminfo.lib") message(WARNING "Symop data table recreation requested, but file syminfo.lib was not found in ${CLIBD}") set(CIFPP_RECREATE_SYMOP_DATA OFF) else() option(CIFPP_RECREATE_SYMOP_DATA "Recreate SymOp data table in case it is out of date" ON) endif() else() set(CIFPP_RECREATE_SYMOP_DATA OFF) message("Not trying to recreate SymOpTable_data.hpp since CCP4 is not defined") endif() # set(CMAKE_DEBUG_POSTFIX d) if(MSVC) # make msvc standards compliant... add_compile_options(/permissive-) macro(get_WIN32_WINNT version) if (WIN32 AND CMAKE_SYSTEM_VERSION) set(ver ${CMAKE_SYSTEM_VERSION}) string(REPLACE "." "" ver ${ver}) string(REGEX REPLACE "([0-9])" "0\\1" ver ${ver}) set(${version} "0x${ver}") endif() endmacro() get_WIN32_WINNT(ver) add_definitions(-D_WIN32_WINNT=${ver}) # On Windows, do not install in the system location if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND NOT BUILD_FOR_CCP4) message(STATUS "The library and auxiliary files will be installed in $ENV{LOCALAPPDATA}/${PROJECT_NAME}") set(CMAKE_INSTALL_PREFIX "$ENV{LOCALAPPDATA}/${PROJECT_NAME}" CACHE PATH "..." FORCE) endif() endif() if(UNIX AND NOT APPLE AND NOT BUILD_FOR_CCP4 AND CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) # On Linux, install in the $HOME/.local folder by default message(STATUS "The library and auxiliary files will be installed in $ENV{HOME}/.local") set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local" CACHE PATH "..." FORCE) endif() # Optionally use mrc to create resources if(WIN32 AND BUILD_SHARED_LIBS) message("Not using resources when building shared libraries for Windows") else() find_package(Mrc) if(MRC_FOUND) option(USE_RSRC "Use mrc to create resources" ON) else() message(WARNING "Not using resources since mrc was not found") endif() if(CIFPP_USE_RSRC STREQUAL "ON") set(CIFPP_USE_RSRC 1) message("Using resources compiled with ${MRC}") add_compile_definitions(CIFPP_USE_RSRC) endif() endif() # Libraries set(CMAKE_THREAD_PREFER_PTHREAD) set(THREADS_PREFER_PTHREAD_FLAG) find_package(Threads) find_package(Boost 1.70.0 REQUIRED COMPONENTS system iostreams regex program_options) if(NOT MSVC AND Boost_USE_STATIC_LIBS) find_package(ZLIB REQUIRED) list(APPEND CIFPP_REQUIRED_LIBRARIES ZLIB::ZLIB) endif() include(FindFilesystem) list(APPEND CIFPP_REQUIRED_LIBRARIES ${STDCPPFS_LIBRARY}) include(FindAtomic) list(APPEND CIFPP_REQUIRED_LIBRARIES ${STDCPPATOMIC_LIBRARY}) # Create a revision file, containing the current git version info include(VersionString) write_version_header("LibCIFPP") # SymOp data table if(CIFPP_RECREATE_SYMOP_DATA) # The tool to create the table add_executable(symop-map-generator "${CMAKE_SOURCE_DIR}/tools/symop-map-generator.cpp") target_link_libraries(symop-map-generator Threads::Threads ${Boost_LIBRARIES} ${CIFPP_REQUIRED_LIBRARIES}) if(Boost_INCLUDE_DIR) target_include_directories(symop-map-generator PUBLIC ${Boost_INCLUDE_DIR}) endif() set($ENV{CLIBD} ${CLIBD}) add_custom_command( OUTPUT ${CMAKE_SOURCE_DIR}/src/SymOpTable_data.hpp COMMAND $ ${CLIBD}/syminfo.lib ${CMAKE_SOURCE_DIR}/src/SymOpTable_data.hpp ) add_custom_target( OUTPUT ${CMAKE_SOURCE_DIR}/src/SymOpTable_data.hpp DEPENDS symop-map-generator "$ENV{CLIBD}/syminfo.lib" ) endif() # Sources set(project_sources ${PROJECT_SOURCE_DIR}/src/AtomType.cpp ${PROJECT_SOURCE_DIR}/src/BondMap.cpp ${PROJECT_SOURCE_DIR}/src/Cif++.cpp ${PROJECT_SOURCE_DIR}/src/Cif2PDB.cpp ${PROJECT_SOURCE_DIR}/src/CifParser.cpp ${PROJECT_SOURCE_DIR}/src/CifUtils.cpp ${PROJECT_SOURCE_DIR}/src/CifValidator.cpp ${PROJECT_SOURCE_DIR}/src/Compound.cpp ${PROJECT_SOURCE_DIR}/src/PDB2Cif.cpp ${PROJECT_SOURCE_DIR}/src/PDB2CifRemark3.cpp ${PROJECT_SOURCE_DIR}/src/Point.cpp ${PROJECT_SOURCE_DIR}/src/Secondary.cpp ${PROJECT_SOURCE_DIR}/src/Structure.cpp ${PROJECT_SOURCE_DIR}/src/Symmetry.cpp ${PROJECT_SOURCE_DIR}/src/TlsParser.cpp ) set(project_headers ${PROJECT_SOURCE_DIR}/include/cif++/AtomType.hpp ${PROJECT_SOURCE_DIR}/include/cif++/BondMap.hpp ${PROJECT_SOURCE_DIR}/include/cif++/Cif++.hpp ${PROJECT_SOURCE_DIR}/include/cif++/Cif2PDB.hpp ${PROJECT_SOURCE_DIR}/include/cif++/CifParser.hpp ${PROJECT_SOURCE_DIR}/include/cif++/CifUtils.hpp ${PROJECT_SOURCE_DIR}/include/cif++/CifValidator.hpp ${PROJECT_SOURCE_DIR}/include/cif++/Compound.hpp ${PROJECT_SOURCE_DIR}/include/cif++/PDB2Cif.hpp ${PROJECT_SOURCE_DIR}/include/cif++/PDB2CifRemark3.hpp ${PROJECT_SOURCE_DIR}/include/cif++/Point.hpp ${PROJECT_SOURCE_DIR}/include/cif++/Secondary.hpp ${PROJECT_SOURCE_DIR}/include/cif++/Structure.hpp ${PROJECT_SOURCE_DIR}/include/cif++/Symmetry.hpp ${PROJECT_SOURCE_DIR}/include/cif++/TlsParser.hpp ) add_library(cifpp ${project_sources} ${project_headers} ${CMAKE_SOURCE_DIR}/src/SymOpTable_data.hpp) set_target_properties(cifpp PROPERTIES POSITION_INDEPENDENT_CODE ON) target_include_directories(cifpp PUBLIC "$" "$" ${Boost_INCLUDE_DIR} ) target_include_directories(cifpp PRIVATE ${CMAKE_BINARY_DIR} ) target_link_libraries(cifpp PUBLIC Threads::Threads Boost::regex Boost::iostreams ${CIFPP_REQUIRED_LIBRARIES}) # target_link_libraries(cifpp PRIVATE) if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") target_link_options(cifpp PRIVATE -undefined dynamic_lookup) endif (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") option(CIFPP_DOWNLOAD_CCD "Download the CCD file components.cif during installation" OFF) if(CIFPP_DOWNLOAD_CCD) # download the components.cif file from CCD set(COMPONENTS_CIF ${PROJECT_SOURCE_DIR}/data/components.cif) if (NOT EXISTS ${COMPONENTS_CIF}) if (NOT EXISTS ${PROJECT_SOURCE_DIR}/data) file(MAKE_DIRECTORY ${PROJECT_SOURCE_DIR}/data/) endif() find_program(GUNZIP gunzip) if(GUNZIP) file(DOWNLOAD ftp://ftp.wwpdb.org/pub/pdb/data/monomers/components.cif.gz ${COMPONENTS_CIF}.gz SHOW_PROGRESS) add_custom_command(OUTPUT ${COMPONENTS_CIF} COMMAND ${GUNZIP} ${COMPONENTS_CIF}.gz WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/data/) else() file(DOWNLOAD ftp://ftp.wwpdb.org/pub/pdb/data/monomers/components.cif ${COMPONENTS_CIF} SHOW_PROGRESS) endif() endif() add_custom_target(COMPONENTS ALL DEPENDS ${COMPONENTS_CIF}) endif() if(UNIX) option(CIFPP_INSTALL_UPDATE_SCRIPT "Install the script to update CCD and dictionary files" OFF) set(CIFPP_CACHE_DIR "/var/cache/libcifpp" CACHE STRING "The cache directory to use") target_compile_definitions(cifpp PUBLIC CACHE_DIR="${CIFPP_CACHE_DIR}") endif() generate_export_header(cifpp EXPORT_FILE_NAME cif++/Cif++Export.hpp) set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR} ) set(LIBRARY_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR} ) set(SHARE_INSTALL_DIR ${CMAKE_INSTALL_DATADIR}/libcifpp) set(CIFPP_DATA_DIR "${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL_DIR}" CACHE STRING "The directory containing the provided data files") target_compile_definitions(cifpp PUBLIC DATA_DIR="${CIFPP_DATA_DIR}") # Install rules install(TARGETS cifpp EXPORT cifppTargets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) if(MSVC AND BUILD_SHARED_LIBS) install( FILES $ DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL) endif() install(EXPORT cifppTargets FILE "cifppTargets.cmake" NAMESPACE cifpp:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cifpp ) install( DIRECTORY include/cif++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT Devel ) install( FILES "${CMAKE_CURRENT_BINARY_DIR}/cif++/Cif++Export.hpp" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cif++ COMPONENT Devel ) install(FILES ${PROJECT_SOURCE_DIR}/rsrc/mmcif_ddl.dic ${PROJECT_SOURCE_DIR}/rsrc/mmcif_pdbx_v50.dic ${COMPONENTS_CIF} DESTINATION ${SHARE_INSTALL_DIR} ) configure_package_config_file(Config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/cifpp/cifppConfig.cmake INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cifpp PATH_VARS INCLUDE_INSTALL_DIR LIBRARY_INSTALL_DIR SHARE_INSTALL_DIR ) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/cifpp/cifppConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cifpp/cifppConfigVersion.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cifpp COMPONENT Devel ) set(cifpp_MAJOR_VERSION ${CMAKE_PROJECT_VERSION_MAJOR}) set_target_properties(cifpp PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${cifpp_MAJOR_VERSION} INTERFACE_cifpp_MAJOR_VERSION ${cifpp_MAJOR_VERSION}) set_property(TARGET cifpp APPEND PROPERTY COMPATIBLE_INTERFACE_STRING cifpp_MAJOR_VERSION ) write_basic_package_version_file( "${CMAKE_CURRENT_BINARY_DIR}/cifpp/cifppConfigVersion.cmake" VERSION ${PROJECT_VERSION} COMPATIBILITY AnyNewerVersion ) # pkgconfig support set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix ${CMAKE_INSTALL_PREFIX}) set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libcifpp.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libcifpp.pc.in @ONLY) file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libcifpp.pc INPUT ${CMAKE_CURRENT_BINARY_DIR}/libcifpp.pc.in) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcifpp.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) # Unit tests option(CIFPP_BUILD_TESTS "Build test exectuables" OFF) if(CIFPP_BUILD_TESTS) list(APPEND CIFPP_tests # pdb2cif rename-compound structure unit) foreach(CIFPP_TEST IN LISTS CIFPP_tests) set(CIFPP_TEST "${CIFPP_TEST}-test") set(CIFPP_TEST_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/test/${CIFPP_TEST}.cpp") add_executable(${CIFPP_TEST} ${CIFPP_TEST_SOURCE}) target_include_directories(${CIFPP_TEST} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_BINARY_DIR} # for config.h ) target_link_libraries(${CIFPP_TEST} PRIVATE Threads::Threads cifpp ) if(CIFPP_USE_RSRC) mrc_target_resources(${CIFPP_TEST} ${CMAKE_SOURCE_DIR}/rsrc/mmcif_pdbx_v50.dic) endif() if(MSVC) # Specify unwind semantics so that MSVC knowns how to handle exceptions target_compile_options(${CIFPP_TEST} PRIVATE /EHsc) endif() add_custom_target("run-${CIFPP_TEST}" DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Run${CIFPP_TEST}.touch ${CIFPP_TEST}) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Run${CIFPP_TEST}.touch COMMAND $ -- ${CMAKE_SOURCE_DIR}/test) add_test(NAME ${CIFPP_TEST} COMMAND $ -- ${CMAKE_SOURCE_DIR}/test) endforeach() endif() message("Will install in ${CMAKE_INSTALL_PREFIX}") # Optionally install the update scripts for CCD and dictionary files if(CIFPP_INSTALL_UPDATE_SCRIPT) set(CIFPP_CRON_DIR "$ENV{DESTDIR}/etc/cron.weekly") configure_file(${CMAKE_SOURCE_DIR}/tools/update-libcifpp-data.in update-libcifpp-data @ONLY) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/update-libcifpp-data DESTINATION ${CIFPP_CRON_DIR} PERMISSIONS OWNER_EXECUTE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ ) install(DIRECTORY DESTINATION ${CIFPP_CACHE_DIR}) install(DIRECTORY DESTINATION "$ENV{DESTDIR}/etc/libcifpp/cache-update.d") # a config to, to make it complete if(NOT EXISTS "$ENV{DESTDIR}/etc/libcifpp.conf") file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/libcifpp.conf [[# Uncomment the next line to enable automatic updates # update=true ]]) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcifpp.conf DESTINATION "$ENV{DESTDIR}/etc") install(CODE "message(\"A configuration file has been written to $ENV{DESTDIR}/etc/libcifpp.conf, please edit this file to enable automatic updates\")") endif() target_compile_definitions(cifpp PUBLIC CACHE_DIR="${CIFPP_CACHE_DIR}") endif() libcifpp-2.0.5/Config.cmake.in0000664000175000017500000000073314200173347015770 0ustar maartenmaarten@PACKAGE_INIT@ include(CMakeFindDependencyMacro) find_dependency(Threads) find_dependency(Boost 1.70.0 REQUIRED COMPONENTS system iostreams regex) if(NOT WIN32) find_dependency(ZLIB) endif() INCLUDE("${CMAKE_CURRENT_LIST_DIR}/cifppTargets.cmake") set_and_check(CIFPP_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") set_and_check(CIFPP_LIBRARY_DIR "@PACKAGE_LIBRARY_INSTALL_DIR@") set_and_check(CIFPP_SHARE_DIR "@PACKAGE_SHARE_INSTALL_DIR@") check_required_components(cifpp) libcifpp-2.0.5/LICENSE0000664000175000017500000000247214200173347014163 0ustar maartenmaartenSPDX-License-Identifier: BSD-2-Clause Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.libcifpp-2.0.5/README.md0000664000175000017500000000270214200173347014431 0ustar maartenmaartenlibcifpp ======== This library contains code to work with mmCIF and PDB files. Requirements ------------ The code for this library was written in C++17. You therefore need a recent compiler to build it. For the development gcc 9.3 and clang 9.0 have been used as well as MSVC version 2019. Other requirements are: - Boost libraries, at least version 1.70 - [mrc](https://github.com/mhekkel/mrc), a resource compiler that allows including data files into the executable making them easier to install. Strictly this is optional, but at the expense of functionality. Building -------- This library uses [cmake](https://cmake.org). The usual way of building and installing is to create a `build` directory and run cmake there. On linux e.g. you would issue the following commands: ``` git clone https://github.com/PDB-REDO/libcifpp.git cd libcifpp mkdir build cd build cmake .. cmake --build . --config Release ctest -C Release cmake --install . ``` This checks out the source code from github, creates a new directory where cmake stores its files. Run a configure, build the code and run tests. And then it installs the library and auxiliary files. The default is to install everything in `$HOME/.local` on Linux and `%LOCALAPPDATA%` on Windows (the AppData/Local folder in your home directory). You can change this by specifying the prefix with the [CMAKE_INSTALL_PREFIX](https://cmake.org/cmake/help/v3.21/variable/CMAKE_INSTALL_PREFIX.html) variable. libcifpp-2.0.5/changelog0000664000175000017500000000203614200173347015024 0ustar maartenmaartenVersion 2.0.5 - Backporting updated CMakeLists.txt file Version 2.0.4 - Reverted a too strict test when reading cif files. Version 2.0.3 - Fixed reading mmCIF files where model numbers are used and model number 1 is missing. Version 2.0.2 - Added configuration flag to disable downloading CCD data during build Note that there are now two flags for CCD data: DOWNLOAD_CCD to enable downloading during build INSTALL_UPDATE_SCRIPT to install an update mechanism for this file - Updated unit tests to work even if no CCD data is available Version 2.0.1 - Fixed the generator for the symmetry operator table Version 2.0.0 - New API interface for accessing query results - Removed bzip2 support - improved makefiles Version 1.1.1 - Now with full support for MS Windows Version 1.1.0 - Changed from GNU configure to CMake. - Loading compound information from CCD file Version 1.0.1 - Changed the way resources are looked up, local dir first, then /var/cache and finally compiled in resources (with mrc). Version 1.0.0 - First public release libcifpp-2.0.5/cmake/0000775000175000017500000000000014200173347014231 5ustar maartenmaartenlibcifpp-2.0.5/cmake/FindAtomic.cmake0000664000175000017500000000277114200173347017257 0ustar maartenmaarten# Simple check to see if we need a library for std::atomic if(TARGET std::atomic) return() endif() cmake_minimum_required(VERSION 3.10) include(CMakePushCheckState) include(CheckIncludeFileCXX) include(CheckCXXSourceRuns) cmake_push_check_state() set(CMAKE_CXX_STANDARD 17) check_include_file_cxx("atomic" _CXX_ATOMIC_HAVE_HEADER) mark_as_advanced(_CXX_ATOMIC_HAVE_HEADER) set(code [[ #include int main(int argc, char** argv) { std::atomic s; ++s; return 0; } ]]) check_cxx_source_runs("${code}" _CXX_ATOMIC_BUILTIN) if(_CXX_ATOMIC_BUILTIN) set(_found 1) else() list(APPEND CMAKE_REQUIRED_LIBRARIES atomic) list(APPEND FOLLY_LINK_LIBRARIES atomic) check_cxx_source_runs("${code}" _CXX_ATOMIC_LIB_NEEDED) if (NOT _CXX_ATOMIC_LIB_NEEDED) message(FATAL_ERROR "unable to link C++ std::atomic code: you may need \ to install GNU libatomic") else() set(_found 1) endif() endif() if(_found) add_library(std::atomic INTERFACE IMPORTED) set_property(TARGET std::atomic APPEND PROPERTY INTERFACE_COMPILE_FEATURES cxx_std_14) if(_CXX_ATOMIC_BUILTIN) # Nothing to add... elseif(_CXX_ATOMIC_LIB_NEEDED) set_target_properties(std::atomic PROPERTIES IMPORTED_LIBNAME atomic) set(STDCPPATOMIC_LIBRARY atomic) endif() endif() cmake_pop_check_state() set(Atomic_FOUND ${_found} CACHE BOOL "TRUE if we can run a program using std::atomic" FORCE) if(Atomic_FIND_REQUIRED AND NOT Atomic_FOUND) message(FATAL_ERROR "Cannot run simple program using std::atomic") endif() libcifpp-2.0.5/cmake/FindFilesystem.cmake0000664000175000017500000000432714200173347020166 0ustar maartenmaarten# Simplistic reimplementation of https://github.com/vector-of-bool/CMakeCM/blob/master/modules/FindFilesystem.cmake if(TARGET std::filesystem) return() endif() cmake_minimum_required(VERSION 3.10) include(CMakePushCheckState) include(CheckIncludeFileCXX) include(CheckCXXSourceCompiles) cmake_push_check_state() set(CMAKE_CXX_STANDARD 17) check_include_file_cxx("filesystem" _CXX_FILESYSTEM_HAVE_HEADER) mark_as_advanced(_CXX_FILESYSTEM_HAVE_HEADER) set(code [[ #include #include int main() { auto cwd = std::filesystem::current_path(); return EXIT_SUCCESS; } ]]) if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL 8.4.0) # >> https://stackoverflow.com/questions/63902528/program-crashes-when-filesystempath-is-destroyed set(CXX_FILESYSTEM_NO_LINK_NEEDED 0) else() # Check a simple filesystem program without any linker flags check_cxx_source_compiles("${code}" CXX_FILESYSTEM_NO_LINK_NEEDED) endif() if(CXX_FILESYSTEM_NO_LINK_NEEDED) set(_found 1) else() set(prev_libraries ${CMAKE_REQUIRED_LIBRARIES}) # Add the libstdc++ flag set(CMAKE_REQUIRED_LIBRARIES ${prev_libraries} -lstdc++fs) check_cxx_source_compiles("${code}" CXX_FILESYSTEM_STDCPPFS_NEEDED) set(_found ${CXX_FILESYSTEM_STDCPPFS_NEEDED}) if(NOT CXX_FILESYSTEM_STDCPPFS_NEEDED) # Try the libc++ flag set(CMAKE_REQUIRED_LIBRARIES ${prev_libraries} -lc++fs) check_cxx_source_compiles("${code}" CXX_FILESYSTEM_CPPFS_NEEDED) set(_found ${CXX_FILESYSTEM_CPPFS_NEEDED}) endif() endif() if(_found) add_library(std::filesystem INTERFACE IMPORTED) set_property(TARGET std::filesystem APPEND PROPERTY INTERFACE_COMPILE_FEATURES cxx_std_17) if(CXX_FILESYSTEM_NO_LINK_NEEDED) # Nothing to add... elseif(CXX_FILESYSTEM_STDCPPFS_NEEDED) set_target_properties(std::filesystem PROPERTIES IMPORTED_LIBNAME stdc++fs) elseif(CXX_FILESYSTEM_CPPFS_NEEDED) set_target_properties(std::filesystem PROPERTIES IMPORTED_LIBNAME c++fs) endif() endif() cmake_pop_check_state() set(Filesystem_FOUND ${_found} CACHE BOOL "TRUE if we can run a program using std::filesystem" FORCE) if(Filesystem_FIND_REQUIRED AND NOT Filesystem_FOUND) message(FATAL_ERROR "Cannot run simple program using std::filesystem") endif() libcifpp-2.0.5/cmake/GetGitRevisionDescription.cmake0000664000175000017500000002245714200173347022353 0ustar maartenmaarten# - Returns a version string from Git # # These functions force a re-configure on each git commit so that you can # trust the values of the variables in your build system. # # get_git_head_revision( [ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR]) # # Returns the refspec and sha hash of the current head revision # # git_describe( [ ...]) # # Returns the results of git describe on the source tree, and adjusting # the output so that it tests false if an error occurs. # # git_describe_working_tree( [ ...]) # # Returns the results of git describe on the working tree (--dirty option), # and adjusting the output so that it tests false if an error occurs. # # git_get_exact_tag( [ ...]) # # Returns the results of git describe --exact-match on the source tree, # and adjusting the output so that it tests false if there was no exact # matching tag. # # git_local_changes() # # Returns either "CLEAN" or "DIRTY" with respect to uncommitted changes. # Uses the return code of "git diff-index --quiet HEAD --". # Does not regard untracked files. # # Requires CMake 2.6 or newer (uses the 'function' command) # # Original Author: # 2009-2020 Ryan Pavlik # http://academic.cleardefinition.com # # Copyright 2009-2013, Iowa State University. # Copyright 2013-2020, Ryan Pavlik # Copyright 2013-2020, Contributors # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) if(__get_git_revision_description) return() endif() set(__get_git_revision_description YES) # We must run the following at "include" time, not at function call time, # to find the path to this module rather than the path to a calling list file get_filename_component(_gitdescmoddir ${CMAKE_CURRENT_LIST_FILE} PATH) # Function _git_find_closest_git_dir finds the next closest .git directory # that is part of any directory in the path defined by _start_dir. # The result is returned in the parent scope variable whose name is passed # as variable _git_dir_var. If no .git directory can be found, the # function returns an empty string via _git_dir_var. # # Example: Given a path C:/bla/foo/bar and assuming C:/bla/.git exists and # neither foo nor bar contain a file/directory .git. This wil return # C:/bla/.git # function(_git_find_closest_git_dir _start_dir _git_dir_var) set(cur_dir "${_start_dir}") set(git_dir "${_start_dir}/.git") while(NOT EXISTS "${git_dir}") # .git dir not found, search parent directories set(git_previous_parent "${cur_dir}") get_filename_component(cur_dir "${cur_dir}" DIRECTORY) if(cur_dir STREQUAL git_previous_parent) # We have reached the root directory, we are not in git set(${_git_dir_var} "" PARENT_SCOPE) return() endif() set(git_dir "${cur_dir}/.git") endwhile() set(${_git_dir_var} "${git_dir}" PARENT_SCOPE) endfunction() function(get_git_head_revision _refspecvar _hashvar) _git_find_closest_git_dir("${CMAKE_CURRENT_SOURCE_DIR}" GIT_DIR) if("${ARGN}" STREQUAL "ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR") set(ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR TRUE) else() set(ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR FALSE) endif() if(NOT "${GIT_DIR}" STREQUAL "") file(RELATIVE_PATH _relative_to_source_dir "${CMAKE_SOURCE_DIR}" "${GIT_DIR}") if("${_relative_to_source_dir}" MATCHES "[.][.]" AND NOT ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR) # We've gone above the CMake root dir. set(GIT_DIR "") endif() endif() if("${GIT_DIR}" STREQUAL "") set(${_refspecvar} "GITDIR-NOTFOUND" PARENT_SCOPE) set(${_hashvar} "GITDIR-NOTFOUND" PARENT_SCOPE) return() endif() # Check if the current source dir is a git submodule or a worktree. # In both cases .git is a file instead of a directory. # if(NOT IS_DIRECTORY ${GIT_DIR}) # The following git command will return a non empty string that # points to the super project working tree if the current # source dir is inside a git submodule. # Otherwise the command will return an empty string. # execute_process( COMMAND "${GIT_EXECUTABLE}" rev-parse --show-superproject-working-tree WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" OUTPUT_VARIABLE out ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT "${out}" STREQUAL "") # If out is empty, GIT_DIR/CMAKE_CURRENT_SOURCE_DIR is in a submodule file(READ ${GIT_DIR} submodule) string(REGEX REPLACE "gitdir: (.*)$" "\\1" GIT_DIR_RELATIVE ${submodule}) string(STRIP ${GIT_DIR_RELATIVE} GIT_DIR_RELATIVE) get_filename_component(SUBMODULE_DIR ${GIT_DIR} PATH) get_filename_component(GIT_DIR ${SUBMODULE_DIR}/${GIT_DIR_RELATIVE} ABSOLUTE) set(HEAD_SOURCE_FILE "${GIT_DIR}/HEAD") else() # GIT_DIR/CMAKE_CURRENT_SOURCE_DIR is in a worktree file(READ ${GIT_DIR} worktree_ref) # The .git directory contains a path to the worktree information directory # inside the parent git repo of the worktree. # string(REGEX REPLACE "gitdir: (.*)$" "\\1" git_worktree_dir ${worktree_ref}) string(STRIP ${git_worktree_dir} git_worktree_dir) _git_find_closest_git_dir("${git_worktree_dir}" GIT_DIR) set(HEAD_SOURCE_FILE "${git_worktree_dir}/HEAD") endif() else() set(HEAD_SOURCE_FILE "${GIT_DIR}/HEAD") endif() set(GIT_DATA "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data") if(NOT EXISTS "${GIT_DATA}") file(MAKE_DIRECTORY "${GIT_DATA}") endif() if(NOT EXISTS "${HEAD_SOURCE_FILE}") return() endif() set(HEAD_FILE "${GIT_DATA}/HEAD") configure_file("${HEAD_SOURCE_FILE}" "${HEAD_FILE}" COPYONLY) configure_file("${_gitdescmoddir}/GetGitRevisionDescription.cmake.in" "${GIT_DATA}/grabRef.cmake" @ONLY) include("${GIT_DATA}/grabRef.cmake") set(${_refspecvar} "${HEAD_REF}" PARENT_SCOPE) set(${_hashvar} "${HEAD_HASH}" PARENT_SCOPE) endfunction() function(git_describe _var) if(NOT GIT_FOUND) find_package(Git QUIET) endif() get_git_head_revision(refspec hash) if(NOT GIT_FOUND) set(${_var} "GIT-NOTFOUND" PARENT_SCOPE) return() endif() if(NOT hash) set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE) return() endif() # TODO sanitize #if((${ARGN}" MATCHES "&&") OR # (ARGN MATCHES "||") OR # (ARGN MATCHES "\\;")) # message("Please report the following error to the project!") # message(FATAL_ERROR "Looks like someone's doing something nefarious with git_describe! Passed arguments ${ARGN}") #endif() #message(STATUS "Arguments to execute_process: ${ARGN}") execute_process( COMMAND "${GIT_EXECUTABLE}" describe --tags --always ${hash} ${ARGN} WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" RESULT_VARIABLE res OUTPUT_VARIABLE out ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT res EQUAL 0) set(out "${out}-${res}-NOTFOUND") endif() set(${_var} "${out}" PARENT_SCOPE) endfunction() function(git_describe_working_tree _var) if(NOT GIT_FOUND) find_package(Git QUIET) endif() if(NOT GIT_FOUND) set(${_var} "GIT-NOTFOUND" PARENT_SCOPE) return() endif() execute_process( COMMAND "${GIT_EXECUTABLE}" describe --dirty ${ARGN} WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" RESULT_VARIABLE res OUTPUT_VARIABLE out ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT res EQUAL 0) set(out "${out}-${res}-NOTFOUND") endif() set(${_var} "${out}" PARENT_SCOPE) endfunction() function(git_get_exact_tag _var) git_describe(out --exact-match ${ARGN}) set(${_var} "${out}" PARENT_SCOPE) endfunction() function(git_local_changes _var) if(NOT GIT_FOUND) find_package(Git QUIET) endif() get_git_head_revision(refspec hash) if(NOT GIT_FOUND) set(${_var} "GIT-NOTFOUND" PARENT_SCOPE) return() endif() if(NOT hash) set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE) return() endif() execute_process( COMMAND "${GIT_EXECUTABLE}" diff-index --quiet HEAD -- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" RESULT_VARIABLE res OUTPUT_VARIABLE out ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) if(res EQUAL 0) set(${_var} "CLEAN" PARENT_SCOPE) else() set(${_var} "DIRTY" PARENT_SCOPE) endif() endfunction() libcifpp-2.0.5/cmake/GetGitRevisionDescription.cmake.in0000664000175000017500000000251214200173347022746 0ustar maartenmaarten# # Internal file for GetGitRevisionDescription.cmake # # Requires CMake 2.6 or newer (uses the 'function' command) # # Original Author: # 2009-2010 Ryan Pavlik # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # # Copyright 2009-2012, Iowa State University # Copyright 2011-2015, Contributors # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) # SPDX-License-Identifier: BSL-1.0 set(HEAD_HASH) file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024) string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS) if(HEAD_CONTENTS MATCHES "ref") # named branch string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}") if(EXISTS "@GIT_DIR@/${HEAD_REF}") configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) else() configure_file("@GIT_DIR@/packed-refs" "@GIT_DATA@/packed-refs" COPYONLY) file(READ "@GIT_DATA@/packed-refs" PACKED_REFS) if(${PACKED_REFS} MATCHES "([0-9a-z]*) ${HEAD_REF}") set(HEAD_HASH "${CMAKE_MATCH_1}") endif() endif() else() # detached HEAD configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY) endif() if(NOT HEAD_HASH) file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024) string(STRIP "${HEAD_HASH}" HEAD_HASH) endif() libcifpp-2.0.5/cmake/VersionString.cmake0000664000175000017500000000603414200173347020052 0ustar maartenmaarten# SPDX-License-Identifier: BSD-2-Clause # Copyright (c) 2021 NKI/AVL, Netherlands Cancer Institute # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # 1. Redistributions of source code must retain the above copyright notice, this # list of conditions and the following disclaimer # 2. Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. cmake_minimum_required(VERSION 3.15) # Create a revision file, containing the current git version info, if any function(write_version_header) include(GetGitRevisionDescription) if(NOT(GIT-NOTFOUND OR HEAD-HASH-NOTFOUND)) git_describe_working_tree(BUILD_VERSION_STRING --match=build --dirty) if(BUILD_VERSION_STRING MATCHES "build-([0-9]+)-g([0-9a-f]+)(-dirty)?") set(BUILD_GIT_TAGREF "${CMAKE_MATCH_2}") if(CMAKE_MATCH_3) set(BUILD_VERSION_STRING "${CMAKE_MATCH_1}*") else() set(BUILD_VERSION_STRING "${CMAKE_MATCH_1}") endif() endif() else() set(BUILD_VERSION_STRING "no git info available") endif() include_directories(${CMAKE_BINARY_DIR} PRIVATE) string(TIMESTAMP BUILD_DATE_TIME "%Y-%m-%dT%H:%M:%SZ" UTC) if(ARGC GREATER 0) set(VAR_PREFIX "${ARGV0}") endif() file(WRITE "${CMAKE_BINARY_DIR}/revision.hpp.in" [[// Generated revision file #pragma once #include const char k@VAR_PREFIX@ProjectName[] = "@PROJECT_NAME@"; const char k@VAR_PREFIX@VersionNumber[] = "@PROJECT_VERSION@"; const char k@VAR_PREFIX@VersionGitTag[] = "@BUILD_GIT_TAGREF@"; const char k@VAR_PREFIX@BuildInfo[] = "@BUILD_VERSION_STRING@"; const char k@VAR_PREFIX@BuildDate[] = "@BUILD_DATE_TIME@"; inline void write_version_string(std::ostream &os, bool verbose) { os << k@VAR_PREFIX@ProjectName << " version " << k@VAR_PREFIX@VersionNumber << std::endl; if (verbose) { os << "build: " << k@VAR_PREFIX@BuildInfo << ' ' << k@VAR_PREFIX@BuildDate << std::endl; if (k@VAR_PREFIX@VersionGitTag[0] != 0) os << "git tag: " << k@VAR_PREFIX@VersionGitTag << std::endl; } } ]]) configure_file("${CMAKE_BINARY_DIR}/revision.hpp.in" "${CMAKE_BINARY_DIR}/revision.hpp" @ONLY) endfunction() libcifpp-2.0.5/data/0000775000175000017500000000000014200173347014062 5ustar maartenmaartenlibcifpp-2.0.5/data/ccd-subset.cif0000664000175000017500000033116314200173347016610 0ustar maartenmaartendata_ALA # _chem_comp.id ALA _chem_comp.name ALANINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C3 H7 N O2" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 89.093 _chem_comp.one_letter_code A _chem_comp.three_letter_code ALA _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site RCSB # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal ALA N N N 0 1 N N N 2.281 26.213 12.804 -0.966 0.493 1.500 N ALA 1 ALA CA CA C 0 1 N N S 1.169 26.942 13.411 0.257 0.418 0.692 CA ALA 2 ALA C C C 0 1 N N N 1.539 28.344 13.874 -0.094 0.017 -0.716 C ALA 3 ALA O O O 0 1 N N N 2.709 28.647 14.114 -1.056 -0.682 -0.923 O ALA 4 ALA CB CB C 0 1 N N N 0.601 26.143 14.574 1.204 -0.620 1.296 CB ALA 5 ALA OXT OXT O 0 1 N Y N 0.523 29.194 13.997 0.661 0.439 -1.742 OXT ALA 6 ALA H H H 0 1 N N N 2.033 25.273 12.493 -1.383 -0.425 1.482 H ALA 7 ALA H2 HN2 H 0 1 N Y N 3.080 26.184 13.436 -0.676 0.661 2.452 H2 ALA 8 ALA HA HA H 0 1 N N N 0.399 27.067 12.613 0.746 1.392 0.682 HA ALA 9 ALA HB1 1HB H 0 1 N N N -0.247 26.699 15.037 1.459 -0.330 2.316 HB1 ALA 10 ALA HB2 2HB H 0 1 N N N 0.308 25.110 14.270 0.715 -1.594 1.307 HB2 ALA 11 ALA HB3 3HB H 0 1 N N N 1.384 25.876 15.321 2.113 -0.676 0.697 HB3 ALA 12 ALA HXT HXT H 0 1 N Y N 0.753 30.069 14.286 0.435 0.182 -2.647 HXT ALA 13 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal ALA N CA SING N N 1 ALA N H SING N N 2 ALA N H2 SING N N 3 ALA CA C SING N N 4 ALA CA CB SING N N 5 ALA CA HA SING N N 6 ALA C O DOUB N N 7 ALA C OXT SING N N 8 ALA CB HB1 SING N N 9 ALA CB HB2 SING N N 10 ALA CB HB3 SING N N 11 ALA OXT HXT SING N N 12 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor ALA SMILES ACDLabs 10.04 "O=C(O)C(N)C" ALA SMILES_CANONICAL CACTVS 3.341 "C[C@H](N)C(O)=O" ALA SMILES CACTVS 3.341 "C[CH](N)C(O)=O" ALA SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "C[C@@H](C(=O)O)N" ALA SMILES "OpenEye OEToolkits" 1.5.0 "CC(C(=O)O)N" ALA InChI InChI 1.03 "InChI=1S/C3H7NO2/c1-2(4)3(5)6/h2H,4H2,1H3,(H,5,6)/t2-/m0/s1" ALA InChIKey InChI 1.03 QNAYBMKLOCPYGJ-REOHCLBHSA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier ALA "SYSTEMATIC NAME" ACDLabs 10.04 L-alanine ALA "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "(2S)-2-aminopropanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site ALA "Create component" 1999-07-08 RCSB ALA "Modify descriptor" 2011-06-04 RCSB # data_ARG # _chem_comp.id ARG _chem_comp.name ARGININE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C6 H15 N4 O2" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 1 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 175.209 _chem_comp.one_letter_code R _chem_comp.three_letter_code ARG _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details "OpenEye/OEToolkits V1.4.2" _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site RCSB # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal ARG N N N 0 1 N N N 69.812 14.685 89.810 -0.469 1.110 -0.993 N ARG 1 ARG CA CA C 0 1 N N S 70.052 14.573 91.280 0.004 2.294 -1.708 CA ARG 2 ARG C C C 0 1 N N N 71.542 14.389 91.604 -0.907 2.521 -2.901 C ARG 3 ARG O O O 0 1 N N N 72.354 14.342 90.659 -1.827 1.789 -3.242 O ARG 4 ARG CB CB C 0 1 N N N 69.227 13.419 91.854 1.475 2.150 -2.127 CB ARG 5 ARG CG CG C 0 1 N N N 67.722 13.607 91.686 1.745 1.017 -3.130 CG ARG 6 ARG CD CD C 0 1 N N N 66.952 12.344 92.045 3.210 0.954 -3.557 CD ARG 7 ARG NE NE N 0 1 N N N 67.307 11.224 91.178 4.071 0.726 -2.421 NE ARG 8 ARG CZ CZ C 0 1 N N N 66.932 9.966 91.380 5.469 0.624 -2.528 CZ ARG 9 ARG NH1 NH1 N 0 1 N N N 66.176 9.651 92.421 6.259 0.404 -1.405 NH1 ARG 10 ARG NH2 NH2 N 1 1 N N N 67.344 9.015 90.554 6.078 0.744 -3.773 NH2 ARG 11 ARG OXT OXT O 0 1 N Y N 71.901 14.320 92.798 -0.588 3.659 -3.574 OXT ARG 12 ARG H H H 0 1 N N N 68.822 14.807 89.594 -0.058 0.903 -0.109 H ARG 13 ARG H2 HN2 H 0 1 N Y N 70.205 13.888 89.308 -1.024 0.452 -1.494 H2 ARG 14 ARG HA HA H 0 1 N N N 69.728 15.528 91.756 -0.103 3.152 -1.034 HA ARG 15 ARG HB2 1HB H 0 1 N N N 69.554 12.445 91.420 2.086 1.988 -1.230 HB2 ARG 16 ARG HB3 2HB H 0 1 N N N 69.486 13.241 92.923 1.814 3.099 -2.563 HB3 ARG 17 ARG HG2 1HG H 0 1 N N N 67.355 14.485 92.266 1.136 1.170 -4.029 HG2 ARG 18 ARG HG3 2HG H 0 1 N N N 67.468 13.958 90.658 1.447 0.054 -2.698 HG3 ARG 19 ARG HD2 1HD H 0 1 N N N 67.083 12.081 93.120 3.348 0.133 -4.269 HD2 ARG 20 ARG HD3 2HD H 0 1 N N N 65.851 12.525 92.042 3.505 1.880 -4.062 HD3 ARG 21 ARG HE HE H 0 1 N N N 68.324 11.220 91.100 3.674 0.627 -1.479 HE ARG 22 ARG HH11 1HH1 H 0 0 N N N 65.888 8.684 92.576 7.271 0.331 -1.484 HH11 ARG 23 ARG HH12 2HH1 H 0 0 N N N 65.339 10.234 92.397 5.858 0.307 -0.476 HH12 ARG 24 ARG HH21 1HH2 H 0 0 N N N 67.926 9.257 89.752 5.530 0.906 -4.614 HH21 ARG 25 ARG HH22 2HH2 H 0 0 N N N 67.056 8.048 90.709 7.088 0.675 -3.874 HH22 ARG 26 ARG HXT HXT H 0 1 N Y N 72.822 14.206 92.998 -1.149 3.855 -4.355 HXT ARG 27 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal ARG N CA SING N N 1 ARG N H SING N N 2 ARG N H2 SING N N 3 ARG CA C SING N N 4 ARG CA CB SING N N 5 ARG CA HA SING N N 6 ARG C O DOUB N N 7 ARG C OXT SING N N 8 ARG CB CG SING N N 9 ARG CB HB2 SING N N 10 ARG CB HB3 SING N N 11 ARG CG CD SING N N 12 ARG CG HG2 SING N N 13 ARG CG HG3 SING N N 14 ARG CD NE SING N N 15 ARG CD HD2 SING N N 16 ARG CD HD3 SING N N 17 ARG NE CZ SING N N 18 ARG NE HE SING N N 19 ARG CZ NH1 SING N N 20 ARG CZ NH2 DOUB N N 21 ARG NH1 HH11 SING N N 22 ARG NH1 HH12 SING N N 23 ARG NH2 HH21 SING N N 24 ARG NH2 HH22 SING N N 25 ARG OXT HXT SING N N 26 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor ARG SMILES ACDLabs 10.04 "O=C(O)C(N)CCCN\C(=[NH2+])N" ARG SMILES_CANONICAL CACTVS 3.341 "N[C@@H](CCCNC(N)=[NH2+])C(O)=O" ARG SMILES CACTVS 3.341 "N[CH](CCCNC(N)=[NH2+])C(O)=O" ARG SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "C(C[C@@H](C(=O)O)N)CNC(=[NH2+])N" ARG SMILES "OpenEye OEToolkits" 1.5.0 "C(CC(C(=O)O)N)CNC(=[NH2+])N" ARG InChI InChI 1.03 "InChI=1S/C6H14N4O2/c7-4(5(11)12)2-1-3-10-6(8)9/h4H,1-3,7H2,(H,11,12)(H4,8,9,10)/p+1/t4-/m0/s1" ARG InChIKey InChI 1.03 ODKSFYDXXFIFQN-BYPYZUCNSA-O # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier ARG "SYSTEMATIC NAME" ACDLabs 10.04 "amino{[(4S)-4-amino-4-carboxybutyl]amino}methaniminium" ARG "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "[amino-[[(4S)-4-amino-5-hydroxy-5-oxo-pentyl]amino]methylidene]azanium" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site ARG "Create component" 1999-07-08 RCSB ARG "Modify descriptor" 2011-06-04 RCSB # data_ASN # _chem_comp.id ASN _chem_comp.name ASPARAGINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C4 H8 N2 O3" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2014-11-11 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 132.118 _chem_comp.one_letter_code N _chem_comp.three_letter_code ASN _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details Corina _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site EBI # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal ASN N N N 0 1 N N N 15.295 16.641 19.776 -0.293 1.686 0.094 N ASN 1 ASN CA CA C 0 1 N N S 15.702 17.913 20.397 -0.448 0.292 -0.340 CA ASN 2 ASN C C C 0 1 N N N 14.630 18.500 21.234 -1.846 -0.179 -0.031 C ASN 3 ASN O O O 0 1 N N N 14.949 19.152 22.234 -2.510 0.402 0.794 O ASN 4 ASN CB CB C 0 1 N N N 16.088 18.882 19.297 0.562 -0.588 0.401 CB ASN 5 ASN CG CG C 0 1 N N N 17.262 18.512 18.462 1.960 -0.197 -0.002 CG ASN 6 ASN OD1 OD1 O 0 1 N N N 18.123 17.705 18.780 2.132 0.697 -0.804 OD1 ASN 7 ASN ND2 ND2 N 0 1 N N N 17.281 19.172 17.284 3.019 -0.841 0.527 ND2 ASN 8 ASN OXT OXT O 0 1 N Y N 13.386 18.353 20.865 -2.353 -1.243 -0.673 OXT ASN 9 ASN H H H 0 1 N N N 16.048 16.284 19.223 -0.904 2.297 -0.427 H ASN 10 ASN H2 HN2 H 0 1 N Y N 15.064 15.980 20.490 -0.453 1.776 1.086 H2 ASN 11 ASN HA HA H 0 1 N N N 16.555 17.716 21.063 -0.270 0.223 -1.413 HA ASN 12 ASN HB2 1HB H 0 1 N N N 15.224 18.966 18.622 0.442 -0.451 1.476 HB2 ASN 13 ASN HB3 2HB H 0 1 N N N 16.323 19.842 19.779 0.389 -1.633 0.146 HB3 ASN 14 ASN HD21 1HD2 H 0 0 N N N 18.021 19.008 16.631 2.881 -1.556 1.168 HD21 ASN 15 ASN HD22 2HD2 H 0 0 N N N 16.555 19.824 17.065 3.919 -0.590 0.268 HD22 ASN 16 ASN HXT HXT H 0 1 N Y N 12.819 18.813 21.473 -3.254 -1.508 -0.441 HXT ASN 17 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal ASN N CA SING N N 1 ASN N H SING N N 2 ASN N H2 SING N N 3 ASN CA C SING N N 4 ASN CA CB SING N N 5 ASN CA HA SING N N 6 ASN C O DOUB N N 7 ASN C OXT SING N N 8 ASN CB CG SING N N 9 ASN CB HB2 SING N N 10 ASN CB HB3 SING N N 11 ASN CG OD1 DOUB N N 12 ASN CG ND2 SING N N 13 ASN ND2 HD21 SING N N 14 ASN ND2 HD22 SING N N 15 ASN OXT HXT SING N N 16 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor ASN SMILES ACDLabs 12.01 "O=C(N)CC(N)C(=O)O" ASN InChI InChI 1.03 "InChI=1S/C4H8N2O3/c5-2(4(8)9)1-3(6)7/h2H,1,5H2,(H2,6,7)(H,8,9)/t2-/m0/s1" ASN InChIKey InChI 1.03 DCXYFEDJOCDNAF-REOHCLBHSA-N ASN SMILES_CANONICAL CACTVS 3.370 "N[C@@H](CC(N)=O)C(O)=O" ASN SMILES CACTVS 3.370 "N[CH](CC(N)=O)C(O)=O" ASN SMILES_CANONICAL "OpenEye OEToolkits" 1.7.2 "C([C@@H](C(=O)O)N)C(=O)N" ASN SMILES "OpenEye OEToolkits" 1.7.2 "C(C(C(=O)O)N)C(=O)N" # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier ASN "SYSTEMATIC NAME" ACDLabs 12.01 L-asparagine ASN "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.7.2 "(2S)-2,4-bis(azanyl)-4-oxidanylidene-butanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site ASN "Create component" 1999-07-08 EBI ASN "Modify leaving atom flag" 2010-12-17 RCSB ASN "Modify descriptor" 2011-06-04 RCSB ASN "Modify leaving atom flag" 2011-08-05 RCSB ASN "Other modification" 2014-11-11 RCSB # data_ASP # _chem_comp.id ASP _chem_comp.name "ASPARTIC ACID" _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C4 H7 N O4" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 133.103 _chem_comp.one_letter_code D _chem_comp.three_letter_code ASP _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details Corina _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site EBI # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal ASP N N N 0 1 N N N 33.487 17.736 39.094 -0.317 1.688 0.066 N ASP 1 ASP CA CA C 0 1 N N S 34.909 17.506 38.709 -0.470 0.286 -0.344 CA ASP 2 ASP C C C 0 1 N N N 34.993 16.527 37.537 -1.868 -0.180 -0.029 C ASP 3 ASP O O O 0 1 N N N 36.106 16.031 37.261 -2.534 0.415 0.786 O ASP 4 ASP CB CB C 0 1 N N N 35.682 16.954 39.915 0.539 -0.580 0.413 CB ASP 5 ASP CG CG C 0 1 N N N 35.231 15.544 40.306 1.938 -0.195 0.004 CG ASP 6 ASP OD1 OD1 O 0 1 N N N 35.793 14.986 41.279 2.109 0.681 -0.810 OD1 ASP 7 ASP OD2 OD2 O 0 1 N N N 34.327 14.999 39.631 2.992 -0.826 0.543 OD2 ASP 8 ASP OXT OXT O 0 1 N Y N 33.935 16.265 36.913 -2.374 -1.256 -0.652 OXT ASP 9 ASP H H H 0 1 N N N 33.448 18.377 39.860 -0.928 2.289 -0.467 H ASP 10 ASP H2 HN2 H 0 1 N Y N 32.988 18.117 38.315 -0.478 1.795 1.056 H2 ASP 11 ASP HA HA H 0 1 N N N 35.356 18.461 38.395 -0.292 0.199 -1.416 HA ASP 12 ASP HB2 HB1 H 0 1 N N N 36.751 16.919 39.657 0.419 -0.425 1.485 HB2 ASP 13 ASP HB3 HB2 H 0 1 N N N 35.515 17.623 40.772 0.367 -1.630 0.176 HB3 ASP 14 ASP HD2 HD2 H 0 1 N N N 34.155 14.130 39.974 3.869 -0.545 0.250 HD2 ASP 15 ASP HXT HXT H 0 1 N Y N 34.122 15.645 36.218 -3.275 -1.517 -0.416 HXT ASP 16 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal ASP N CA SING N N 1 ASP N H SING N N 2 ASP N H2 SING N N 3 ASP CA C SING N N 4 ASP CA CB SING N N 5 ASP CA HA SING N N 6 ASP C O DOUB N N 7 ASP C OXT SING N N 8 ASP CB CG SING N N 9 ASP CB HB2 SING N N 10 ASP CB HB3 SING N N 11 ASP CG OD1 DOUB N N 12 ASP CG OD2 SING N N 13 ASP OD2 HD2 SING N N 14 ASP OXT HXT SING N N 15 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor ASP SMILES ACDLabs 12.01 "O=C(O)CC(N)C(=O)O" ASP SMILES_CANONICAL CACTVS 3.370 "N[C@@H](CC(O)=O)C(O)=O" ASP SMILES CACTVS 3.370 "N[CH](CC(O)=O)C(O)=O" ASP SMILES_CANONICAL "OpenEye OEToolkits" 1.7.0 "C([C@@H](C(=O)O)N)C(=O)O" ASP SMILES "OpenEye OEToolkits" 1.7.0 "C(C(C(=O)O)N)C(=O)O" ASP InChI InChI 1.03 "InChI=1S/C4H7NO4/c5-2(4(8)9)1-3(6)7/h2H,1,5H2,(H,6,7)(H,8,9)/t2-/m0/s1" ASP InChIKey InChI 1.03 CKLJMWTZIZZHCS-REOHCLBHSA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier ASP "SYSTEMATIC NAME" ACDLabs 12.01 "L-aspartic acid" ASP "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.7.0 "(2S)-2-azanylbutanedioic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site ASP "Create component" 1999-07-08 EBI ASP "Modify leaving atom flag" 2011-01-28 RCSB ASP "Modify descriptor" 2011-06-04 RCSB # data_CYS # _chem_comp.id CYS _chem_comp.name CYSTEINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C3 H7 N O2 S" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces BTC _chem_comp.formula_weight 121.158 _chem_comp.one_letter_code C _chem_comp.three_letter_code CYS _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site RCSB # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal CYS N N N 0 1 N N N 22.585 13.716 37.715 1.585 0.483 -0.081 N CYS 1 CYS CA CA C 0 1 N N R 22.372 13.468 39.168 0.141 0.450 0.186 CA CYS 2 CYS C C C 0 1 N N N 21.806 14.686 39.893 -0.095 0.006 1.606 C CYS 3 CYS O O O 0 1 N N N 22.614 15.553 40.277 0.685 -0.742 2.143 O CYS 4 CYS CB CB C 0 1 N N N 23.683 13.019 39.828 -0.533 -0.530 -0.774 CB CYS 5 CYS SG SG S 0 1 N N N 25.202 13.440 38.921 -0.247 0.004 -2.484 SG CYS 6 CYS OXT OXT O 0 1 N Y N 20.565 14.747 40.076 -1.174 0.443 2.275 OXT CYS 7 CYS H H H 0 1 N N N 22.963 12.902 37.230 1.928 -0.454 0.063 H CYS 8 CYS H2 HN2 H 0 1 N Y N 23.171 14.537 37.565 1.693 0.682 -1.065 H2 CYS 9 CYS HA HA H 0 1 N N N 21.614 12.654 39.253 -0.277 1.446 0.042 HA CYS 10 CYS HB2 1HB H 0 1 N N N 23.739 13.412 40.869 -0.114 -1.526 -0.630 HB2 CYS 11 CYS HB3 2HB H 0 1 N N N 23.651 11.923 40.031 -1.604 -0.554 -0.575 HB3 CYS 12 CYS HG HG H 0 1 N N N 26.013 13.162 39.329 -0.904 -0.965 -3.145 HG CYS 13 CYS HXT HXT H 0 1 N Y N 20.212 15.505 40.527 -1.326 0.158 3.186 HXT CYS 14 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal CYS N CA SING N N 1 CYS N H SING N N 2 CYS N H2 SING N N 3 CYS CA C SING N N 4 CYS CA CB SING N N 5 CYS CA HA SING N N 6 CYS C O DOUB N N 7 CYS C OXT SING N N 8 CYS CB SG SING N N 9 CYS CB HB2 SING N N 10 CYS CB HB3 SING N N 11 CYS SG HG SING N N 12 CYS OXT HXT SING N N 13 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor CYS SMILES ACDLabs 10.04 "O=C(O)C(N)CS" CYS SMILES_CANONICAL CACTVS 3.341 "N[C@@H](CS)C(O)=O" CYS SMILES CACTVS 3.341 "N[CH](CS)C(O)=O" CYS SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "C([C@@H](C(=O)O)N)S" CYS SMILES "OpenEye OEToolkits" 1.5.0 "C(C(C(=O)O)N)S" CYS InChI InChI 1.03 "InChI=1S/C3H7NO2S/c4-2(1-7)3(5)6/h2,7H,1,4H2,(H,5,6)/t2-/m0/s1" CYS InChIKey InChI 1.03 XUJNEKJLAYXESH-REOHCLBHSA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier CYS "SYSTEMATIC NAME" ACDLabs 10.04 L-cysteine CYS "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "(2R)-2-amino-3-sulfanyl-propanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site CYS "Create component" 1999-07-08 RCSB CYS "Modify descriptor" 2011-06-04 RCSB # data_GLN # _chem_comp.id GLN _chem_comp.name GLUTAMINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C5 H10 N2 O3" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 146.144 _chem_comp.one_letter_code Q _chem_comp.three_letter_code GLN _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site EBI # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal GLN N N N 0 1 N N N -12.869 34.883 120.983 1.858 -0.148 1.125 N GLN 1 GLN CA CA C 0 1 N N S -12.048 35.305 119.985 0.517 0.451 1.112 CA GLN 2 GLN C C C 0 1 N N N -10.724 35.797 120.549 -0.236 0.022 2.344 C GLN 3 GLN O O O 0 1 N N N -9.691 35.852 119.806 -0.005 -1.049 2.851 O GLN 4 GLN CB CB C 0 1 N N N -12.660 36.476 119.161 -0.236 -0.013 -0.135 CB GLN 5 GLN CG CG C 0 1 N N N -13.110 37.658 120.071 0.529 0.421 -1.385 CG GLN 6 GLN CD CD C 0 1 N N N -13.701 38.830 119.321 -0.213 -0.036 -2.614 CD GLN 7 GLN OE1 OE1 O 0 1 N N N -14.715 38.686 118.658 -1.252 -0.650 -2.500 OE1 GLN 8 GLN NE2 NE2 N 0 1 N N N -13.069 39.999 119.445 0.277 0.236 -3.839 NE2 GLN 9 GLN OXT OXT O 0 1 N Y N -10.665 36.169 121.753 -1.165 0.831 2.878 OXT GLN 10 GLN H H H 0 1 N N N -13.756 34.553 120.604 1.729 -1.148 1.137 H GLN 11 GLN H2 HN2 H 0 1 N Y N -13.004 35.604 121.691 2.286 0.078 0.240 H2 GLN 12 GLN HA HA H 0 1 N N N -11.902 34.421 119.320 0.605 1.537 1.099 HA GLN 13 GLN HB2 1HB H 0 1 N N N -11.958 36.821 118.366 -0.324 -1.100 -0.122 HB2 GLN 14 GLN HB3 2HB H 0 1 N N N -13.496 36.121 118.514 -1.231 0.431 -0.144 HB3 GLN 15 GLN HG2 1HG H 0 1 N N N -13.818 37.299 120.853 0.617 1.508 -1.398 HG2 GLN 16 GLN HG3 2HG H 0 1 N N N -12.266 37.994 120.717 1.524 -0.023 -1.375 HG3 GLN 17 GLN HE21 1HE2 H 0 0 N N N -12.221 40.119 119.999 -0.200 -0.058 -4.630 HE21 GLN 18 GLN HE22 2HE2 H 0 0 N N N -13.467 40.789 118.939 1.109 0.727 -3.930 HE22 GLN 19 GLN HXT HXT H 0 1 N Y N -9.838 36.476 122.105 -1.649 0.556 3.669 HXT GLN 20 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal GLN N CA SING N N 1 GLN N H SING N N 2 GLN N H2 SING N N 3 GLN CA C SING N N 4 GLN CA CB SING N N 5 GLN CA HA SING N N 6 GLN C O DOUB N N 7 GLN C OXT SING N N 8 GLN CB CG SING N N 9 GLN CB HB2 SING N N 10 GLN CB HB3 SING N N 11 GLN CG CD SING N N 12 GLN CG HG2 SING N N 13 GLN CG HG3 SING N N 14 GLN CD OE1 DOUB N N 15 GLN CD NE2 SING N N 16 GLN NE2 HE21 SING N N 17 GLN NE2 HE22 SING N N 18 GLN OXT HXT SING N N 19 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor GLN SMILES ACDLabs 10.04 "O=C(N)CCC(N)C(=O)O" GLN SMILES_CANONICAL CACTVS 3.341 "N[C@@H](CCC(N)=O)C(O)=O" GLN SMILES CACTVS 3.341 "N[CH](CCC(N)=O)C(O)=O" GLN SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "C(CC(=O)N)[C@@H](C(=O)O)N" GLN SMILES "OpenEye OEToolkits" 1.5.0 "C(CC(=O)N)C(C(=O)O)N" GLN InChI InChI 1.03 "InChI=1S/C5H10N2O3/c6-3(5(9)10)1-2-4(7)8/h3H,1-2,6H2,(H2,7,8)(H,9,10)/t3-/m0/s1" GLN InChIKey InChI 1.03 ZDXPYRJPNDTMRX-VKHMYHEASA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier GLN "SYSTEMATIC NAME" ACDLabs 10.04 L-glutamine GLN "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "(2S)-2,5-diamino-5-oxo-pentanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site GLN "Create component" 1999-07-08 EBI GLN "Modify descriptor" 2011-06-04 RCSB # data_GLU # _chem_comp.id GLU _chem_comp.name "GLUTAMIC ACID" _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C5 H9 N O4" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 147.129 _chem_comp.one_letter_code E _chem_comp.three_letter_code GLU _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details Corina _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site EBI # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal GLU N N N 0 1 N N N 88.261 -7.660 -9.990 1.199 1.867 -0.117 N GLU 1 GLU CA CA C 0 1 N N S 87.744 -7.276 -11.334 1.138 0.515 0.453 CA GLU 2 GLU C C C 0 1 N N N 88.474 -6.030 -11.811 2.364 -0.260 0.041 C GLU 3 GLU O O O 0 1 N N N 88.969 -5.292 -10.943 3.010 0.096 -0.916 O GLU 4 GLU CB CB C 0 1 N N N 86.234 -7.012 -11.267 -0.113 -0.200 -0.062 CB GLU 5 GLU CG CG C 0 1 N N N 85.437 -8.194 -10.746 -1.360 0.517 0.461 CG GLU 6 GLU CD CD C 0 1 N N N 83.937 -7.944 -10.707 -2.593 -0.187 -0.046 CD GLU 7 GLU OE1 OE1 O 0 1 N N N 83.425 -7.140 -11.520 -2.485 -1.161 -0.753 OE1 GLU 8 GLU OE2 OE2 O 0 1 N N N 83.260 -8.567 -9.862 -3.811 0.269 0.287 OE2 GLU 9 GLU OXT OXT O 0 1 N Y N 88.543 -5.801 -13.033 2.737 -1.345 0.737 OXT GLU 10 GLU H H H 0 1 N N N 87.785 -8.479 -9.671 1.237 1.834 -1.125 H GLU 11 GLU H2 HN2 H 0 1 N Y N 89.241 -7.847 -10.051 0.421 2.427 0.197 H2 GLU 12 GLU HA HA H 0 1 N N N 87.920 -8.099 -12.043 1.098 0.580 1.540 HA GLU 13 GLU HB2 HB1 H 0 1 N N N 86.064 -6.160 -10.592 -0.117 -0.187 -1.152 HB2 GLU 14 GLU HB3 HB2 H 0 1 N N N 85.881 -6.781 -12.283 -0.113 -1.231 0.289 HB3 GLU 15 GLU HG2 HG1 H 0 1 N N N 85.624 -9.052 -11.408 -1.357 0.504 1.551 HG2 GLU 16 GLU HG3 HG2 H 0 1 N N N 85.775 -8.411 -9.722 -1.360 1.548 0.109 HG3 GLU 17 GLU HE2 HE2 H 0 1 N N N 82.345 -8.328 -9.951 -4.571 -0.215 -0.062 HE2 GLU 18 GLU HXT HXT H 0 1 N Y N 89.022 -4.994 -13.178 3.530 -1.809 0.435 HXT GLU 19 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal GLU N CA SING N N 1 GLU N H SING N N 2 GLU N H2 SING N N 3 GLU CA C SING N N 4 GLU CA CB SING N N 5 GLU CA HA SING N N 6 GLU C O DOUB N N 7 GLU C OXT SING N N 8 GLU CB CG SING N N 9 GLU CB HB2 SING N N 10 GLU CB HB3 SING N N 11 GLU CG CD SING N N 12 GLU CG HG2 SING N N 13 GLU CG HG3 SING N N 14 GLU CD OE1 DOUB N N 15 GLU CD OE2 SING N N 16 GLU OE2 HE2 SING N N 17 GLU OXT HXT SING N N 18 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor GLU SMILES ACDLabs 12.01 "O=C(O)C(N)CCC(=O)O" GLU SMILES_CANONICAL CACTVS 3.370 "N[C@@H](CCC(O)=O)C(O)=O" GLU SMILES CACTVS 3.370 "N[CH](CCC(O)=O)C(O)=O" GLU SMILES_CANONICAL "OpenEye OEToolkits" 1.7.0 "C(CC(=O)O)[C@@H](C(=O)O)N" GLU SMILES "OpenEye OEToolkits" 1.7.0 "C(CC(=O)O)C(C(=O)O)N" GLU InChI InChI 1.03 "InChI=1S/C5H9NO4/c6-3(5(9)10)1-2-4(7)8/h3H,1-2,6H2,(H,7,8)(H,9,10)/t3-/m0/s1" GLU InChIKey InChI 1.03 WHUUTDBJXJRKMK-VKHMYHEASA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier GLU "SYSTEMATIC NAME" ACDLabs 12.01 "L-glutamic acid" GLU "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.7.0 "(2S)-2-azanylpentanedioic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site GLU "Create component" 1999-07-08 EBI GLU "Modify leaving atom flag" 2011-01-28 RCSB GLU "Other modification" 2011-02-09 RCSB GLU "Modify descriptor" 2011-06-04 RCSB # data_GLY # _chem_comp.id GLY _chem_comp.name GLYCINE _chem_comp.type "PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C2 H5 N O2" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 75.067 _chem_comp.one_letter_code G _chem_comp.three_letter_code GLY _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details Corina _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site RCSB # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal GLY N N N 0 1 N N N 25.463 35.609 47.047 1.931 0.090 -0.034 N GLY 1 GLY CA CA C 0 1 N N N 25.329 37.024 46.850 0.761 -0.799 -0.008 CA GLY 2 GLY C C C 0 1 N N N 26.081 37.335 45.572 -0.498 0.029 -0.005 C GLY 3 GLY O O O 0 1 N N N 27.024 36.627 45.222 -0.429 1.235 -0.023 O GLY 4 GLY OXT OXT O 0 1 N Y N 25.702 38.256 44.874 -1.697 -0.574 0.018 OXT GLY 5 GLY H H H 0 1 N N N 25.494 35.150 46.159 1.910 0.738 0.738 H GLY 6 GLY H2 HN2 H 0 1 N Y N 26.307 35.421 47.549 2.788 -0.442 -0.037 H2 GLY 7 GLY HA2 HA1 H 0 1 N N N 24.270 37.305 46.757 0.772 -1.440 -0.889 HA2 GLY 8 GLY HA3 HA2 H 0 1 N N N 25.731 37.590 47.703 0.793 -1.415 0.891 HA3 GLY 9 GLY HXT HXT H 0 1 N Y N 26.236 38.300 44.090 -2.477 -0.002 0.019 HXT GLY 10 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal GLY N CA SING N N 1 GLY N H SING N N 2 GLY N H2 SING N N 3 GLY CA C SING N N 4 GLY CA HA2 SING N N 5 GLY CA HA3 SING N N 6 GLY C O DOUB N N 7 GLY C OXT SING N N 8 GLY OXT HXT SING N N 9 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor GLY SMILES ACDLabs 10.04 "O=C(O)CN" GLY SMILES_CANONICAL CACTVS 3.341 "NCC(O)=O" GLY SMILES CACTVS 3.341 "NCC(O)=O" GLY SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "C(C(=O)O)N" GLY SMILES "OpenEye OEToolkits" 1.5.0 "C(C(=O)O)N" GLY InChI InChI 1.03 "InChI=1S/C2H5NO2/c3-1-2(4)5/h1,3H2,(H,4,5)" GLY InChIKey InChI 1.03 DHMQDGOQFOQNFH-UHFFFAOYSA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier GLY "SYSTEMATIC NAME" ACDLabs 10.04 glycine GLY "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "2-aminoethanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site GLY "Create component" 1999-07-08 RCSB GLY "Modify descriptor" 2011-06-04 RCSB # data_ILE # _chem_comp.id ILE _chem_comp.name ISOLEUCINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C6 H13 N O2" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 131.173 _chem_comp.one_letter_code I _chem_comp.three_letter_code ILE _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site RCSB # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal ILE N N N 0 1 N N N 52.625 76.235 68.049 -1.944 0.335 -0.343 N ILE 1 ILE CA CA C 0 1 N N S 52.964 77.620 67.705 -0.487 0.519 -0.369 CA ILE 2 ILE C C C 0 1 N N N 51.910 78.234 66.791 0.066 -0.032 -1.657 C ILE 3 ILE O O O 0 1 N N N 51.409 77.508 65.911 -0.484 -0.958 -2.203 O ILE 4 ILE CB CB C 0 1 N N S 54.346 77.727 66.970 0.140 -0.219 0.814 CB ILE 5 ILE CG1 CG1 C 0 1 N N N 54.852 79.179 66.992 -0.421 0.341 2.122 CG1 ILE 6 ILE CG2 CG2 C 0 1 N N N 54.218 77.237 65.524 1.658 -0.027 0.788 CG2 ILE 7 ILE CD1 CD1 C 0 1 N N N 56.126 79.382 66.170 0.206 -0.397 3.305 CD1 ILE 8 ILE OXT OXT O 0 1 N Y N 51.631 79.444 66.958 1.171 0.504 -2.197 OXT ILE 9 ILE H H H 0 1 N N N 53.330 75.824 68.660 -2.112 -0.656 -0.410 H ILE 10 ILE H2 HN2 H 0 1 N Y N 52.475 75.667 67.215 -2.256 0.622 0.572 H2 ILE 11 ILE HA HA H 0 1 N N N 53.012 78.169 68.673 -0.253 1.582 -0.299 HA ILE 12 ILE HB HB H 0 1 N N N 55.082 77.082 67.504 -0.092 -1.281 0.744 HB ILE 13 ILE HG12 1HG1 H 0 0 N N N 54.051 79.883 66.666 -1.502 0.204 2.141 HG12 ILE 14 ILE HG13 2HG1 H 0 0 N N N 54.993 79.535 68.039 -0.188 1.403 2.192 HG13 ILE 15 ILE HG21 1HG2 H 0 0 N N N 55.200 77.313 65.001 1.891 1.034 0.857 HG21 ILE 16 ILE HG22 2HG2 H 0 0 N N N 53.796 76.206 65.469 2.105 -0.554 1.631 HG22 ILE 17 ILE HG23 3HG2 H 0 0 N N N 53.411 77.773 64.972 2.059 -0.427 -0.143 HG23 ILE 18 ILE HD11 1HD1 H 0 0 N N N 56.492 80.434 66.185 -0.193 0.001 4.237 HD11 ILE 19 ILE HD12 2HD1 H 0 0 N N N 56.926 78.677 66.496 -0.026 -1.460 3.235 HD12 ILE 20 ILE HD13 3HD1 H 0 0 N N N 55.984 79.026 65.122 1.287 -0.261 3.286 HD13 ILE 21 ILE HXT HXT H 0 1 N Y N 50.974 79.826 66.388 1.527 0.150 -3.024 HXT ILE 22 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal ILE N CA SING N N 1 ILE N H SING N N 2 ILE N H2 SING N N 3 ILE CA C SING N N 4 ILE CA CB SING N N 5 ILE CA HA SING N N 6 ILE C O DOUB N N 7 ILE C OXT SING N N 8 ILE CB CG1 SING N N 9 ILE CB CG2 SING N N 10 ILE CB HB SING N N 11 ILE CG1 CD1 SING N N 12 ILE CG1 HG12 SING N N 13 ILE CG1 HG13 SING N N 14 ILE CG2 HG21 SING N N 15 ILE CG2 HG22 SING N N 16 ILE CG2 HG23 SING N N 17 ILE CD1 HD11 SING N N 18 ILE CD1 HD12 SING N N 19 ILE CD1 HD13 SING N N 20 ILE OXT HXT SING N N 21 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor ILE SMILES ACDLabs 10.04 "O=C(O)C(N)C(C)CC" ILE SMILES_CANONICAL CACTVS 3.341 "CC[C@H](C)[C@H](N)C(O)=O" ILE SMILES CACTVS 3.341 "CC[CH](C)[CH](N)C(O)=O" ILE SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "CC[C@H](C)[C@@H](C(=O)O)N" ILE SMILES "OpenEye OEToolkits" 1.5.0 "CCC(C)C(C(=O)O)N" ILE InChI InChI 1.03 "InChI=1S/C6H13NO2/c1-3-4(2)5(7)6(8)9/h4-5H,3,7H2,1-2H3,(H,8,9)/t4-,5-/m0/s1" ILE InChIKey InChI 1.03 AGPKZVBTJJNPAG-WHFBIAKZSA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier ILE "SYSTEMATIC NAME" ACDLabs 10.04 L-isoleucine ILE "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "(2S,3S)-2-amino-3-methyl-pentanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site ILE "Create component" 1999-07-08 RCSB ILE "Modify descriptor" 2011-06-04 RCSB # data_LEU # _chem_comp.id LEU _chem_comp.name LEUCINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C6 H13 N O2" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 131.173 _chem_comp.one_letter_code L _chem_comp.three_letter_code LEU _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site EBI # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal LEU N N N 0 1 N N N 16.293 15.907 52.123 -1.661 0.627 -0.406 N LEU 1 LEU CA CA C 0 1 N N S 15.121 16.772 51.804 -0.205 0.441 -0.467 CA LEU 2 LEU C C C 0 1 N N N 13.865 15.975 51.517 0.180 -0.055 -1.836 C LEU 3 LEU O O O 0 1 N N N 12.808 16.576 51.643 -0.591 -0.731 -2.474 O LEU 4 LEU CB CB C 0 1 N N N 15.395 17.657 50.575 0.221 -0.583 0.585 CB LEU 5 LEU CG CG C 0 1 N N N 16.407 18.798 50.632 -0.170 -0.079 1.976 CG LEU 6 LEU CD1 CD1 C 0 1 N N N 16.398 19.395 52.065 0.256 -1.104 3.029 CD1 LEU 7 LEU CD2 CD2 C 0 1 N N N 17.792 18.247 50.210 0.526 1.254 2.250 CD2 LEU 8 LEU OXT OXT O 0 1 N Y N 13.877 14.786 51.211 1.382 0.254 -2.348 OXT LEU 9 LEU H H H 0 1 N N N 17.138 16.443 52.316 -2.077 -0.272 -0.592 H LEU 10 LEU H2 HN2 H 0 1 N Y N 16.454 15.223 51.383 -1.884 0.858 0.550 H2 LEU 11 LEU HA HA H 0 1 N N N 14.962 17.396 52.714 0.291 1.391 -0.271 HA LEU 12 LEU HB2 1HB H 0 1 N N N 15.673 16.990 49.725 1.301 -0.722 0.540 HB2 LEU 13 LEU HB3 2HB H 0 1 N N N 14.421 18.076 50.228 -0.275 -1.534 0.390 HB3 LEU 14 LEU HG HG H 0 1 N N N 16.148 19.623 49.927 -1.250 0.058 2.021 HG LEU 15 LEU HD11 1HD1 H 0 0 N N N 17.137 20.228 52.106 -0.022 -0.745 4.019 HD11 LEU 16 LEU HD12 2HD1 H 0 0 N N N 15.379 19.710 52.390 -0.240 -2.055 2.833 HD12 LEU 17 LEU HD13 3HD1 H 0 0 N N N 16.577 18.624 52.850 1.336 -1.243 2.984 HD13 LEU 18 LEU HD21 1HD2 H 0 0 N N N 18.531 19.080 50.251 1.606 1.115 2.205 HD21 LEU 19 LEU HD22 2HD2 H 0 0 N N N 18.105 17.366 50.817 0.222 1.984 1.500 HD22 LEU 20 LEU HD23 3HD2 H 0 0 N N N 17.768 17.745 49.214 0.247 1.613 3.241 HD23 LEU 21 LEU HXT HXT H 0 1 N Y N 13.089 14.286 51.031 1.630 -0.064 -3.226 HXT LEU 22 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal LEU N CA SING N N 1 LEU N H SING N N 2 LEU N H2 SING N N 3 LEU CA C SING N N 4 LEU CA CB SING N N 5 LEU CA HA SING N N 6 LEU C O DOUB N N 7 LEU C OXT SING N N 8 LEU CB CG SING N N 9 LEU CB HB2 SING N N 10 LEU CB HB3 SING N N 11 LEU CG CD1 SING N N 12 LEU CG CD2 SING N N 13 LEU CG HG SING N N 14 LEU CD1 HD11 SING N N 15 LEU CD1 HD12 SING N N 16 LEU CD1 HD13 SING N N 17 LEU CD2 HD21 SING N N 18 LEU CD2 HD22 SING N N 19 LEU CD2 HD23 SING N N 20 LEU OXT HXT SING N N 21 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor LEU SMILES ACDLabs 10.04 "O=C(O)C(N)CC(C)C" LEU SMILES_CANONICAL CACTVS 3.341 "CC(C)C[C@H](N)C(O)=O" LEU SMILES CACTVS 3.341 "CC(C)C[CH](N)C(O)=O" LEU SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "CC(C)C[C@@H](C(=O)O)N" LEU SMILES "OpenEye OEToolkits" 1.5.0 "CC(C)CC(C(=O)O)N" LEU InChI InChI 1.03 "InChI=1S/C6H13NO2/c1-4(2)3-5(7)6(8)9/h4-5H,3,7H2,1-2H3,(H,8,9)/t5-/m0/s1" LEU InChIKey InChI 1.03 ROHFNLRQFUQHCH-YFKPBYRVSA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier LEU "SYSTEMATIC NAME" ACDLabs 10.04 L-leucine LEU "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "(2S)-2-amino-4-methyl-pentanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site LEU "Create component" 1999-07-08 EBI LEU "Modify descriptor" 2011-06-04 RCSB # data_LYS # _chem_comp.id LYS _chem_comp.name LYSINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C6 H15 N2 O2" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 1 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 147.195 _chem_comp.one_letter_code K _chem_comp.three_letter_code LYS _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site RCSB # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal LYS N N N 0 1 N N N 37.577 40.385 -3.968 1.422 1.796 0.198 N LYS 1 LYS CA CA C 0 1 N N S 38.631 39.459 -4.356 1.394 0.355 0.484 CA LYS 2 LYS C C C 0 1 N N N 38.094 38.304 -5.212 2.657 -0.284 -0.032 C LYS 3 LYS O O O 0 1 N N N 36.873 38.235 -5.490 3.316 0.275 -0.876 O LYS 4 LYS CB CB C 0 1 N N N 39.374 38.919 -3.139 0.184 -0.278 -0.206 CB LYS 5 LYS CG CG C 0 1 N N N 38.523 38.111 -2.181 -1.102 0.282 0.407 CG LYS 6 LYS CD CD C 0 1 N N N 39.164 36.749 -1.903 -2.313 -0.351 -0.283 CD LYS 7 LYS CE CE C 0 1 N N N 38.106 35.761 -1.382 -3.598 0.208 0.329 CE LYS 8 LYS NZ NZ N 1 1 N N N 37.176 36.546 -0.539 -4.761 -0.400 -0.332 NZ LYS 9 LYS OXT OXT O 0 1 N Y N 38.961 37.678 -5.886 3.050 -1.476 0.446 OXT LYS 10 LYS H H H 0 1 N N N 37.933 41.152 -3.399 1.489 1.891 -0.804 H LYS 11 LYS H2 HN2 H 0 1 N Y N 36.812 39.900 -3.498 0.521 2.162 0.464 H2 LYS 12 LYS HA HA H 0 1 N N N 39.352 40.037 -4.979 1.322 0.200 1.560 HA LYS 13 LYS HB2 1HB H 0 1 N N N 40.262 38.326 -3.460 0.210 -0.047 -1.270 HB2 LYS 14 LYS HB3 2HB H 0 1 N N N 39.882 39.750 -2.596 0.211 -1.359 -0.068 HB3 LYS 15 LYS HG2 1HG H 0 1 N N N 38.317 38.670 -1.238 -1.128 0.050 1.471 HG2 LYS 16 LYS HG3 2HG H 0 1 N N N 37.474 38.007 -2.546 -1.130 1.363 0.269 HG3 LYS 17 LYS HD2 1HD H 0 1 N N N 39.701 36.351 -2.795 -2.287 -0.120 -1.348 HD2 LYS 18 LYS HD3 2HD H 0 1 N N N 40.034 36.831 -1.210 -2.285 -1.432 -0.145 HD3 LYS 19 LYS HE2 1HE H 0 1 N N N 37.593 35.194 -2.194 -3.625 -0.023 1.394 HE2 LYS 20 LYS HE3 2HE H 0 1 N N N 38.544 34.882 -0.854 -3.626 1.289 0.192 HE3 LYS 21 LYS HZ1 1HZ H 0 1 N N N 36.474 35.891 -0.193 -4.736 -0.185 -1.318 HZ1 LYS 22 LYS HZ2 2HZ H 0 1 N N N 37.644 37.064 0.203 -4.735 -1.400 -0.205 HZ2 LYS 23 LYS HZ3 3HZ H 0 1 N N N 36.774 37.350 -1.021 -5.609 -0.031 0.071 HZ3 LYS 24 LYS HXT HXT H 0 1 N Y N 38.628 36.963 -6.415 3.861 -1.886 0.115 HXT LYS 25 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal LYS N CA SING N N 1 LYS N H SING N N 2 LYS N H2 SING N N 3 LYS CA C SING N N 4 LYS CA CB SING N N 5 LYS CA HA SING N N 6 LYS C O DOUB N N 7 LYS C OXT SING N N 8 LYS CB CG SING N N 9 LYS CB HB2 SING N N 10 LYS CB HB3 SING N N 11 LYS CG CD SING N N 12 LYS CG HG2 SING N N 13 LYS CG HG3 SING N N 14 LYS CD CE SING N N 15 LYS CD HD2 SING N N 16 LYS CD HD3 SING N N 17 LYS CE NZ SING N N 18 LYS CE HE2 SING N N 19 LYS CE HE3 SING N N 20 LYS NZ HZ1 SING N N 21 LYS NZ HZ2 SING N N 22 LYS NZ HZ3 SING N N 23 LYS OXT HXT SING N N 24 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor LYS SMILES ACDLabs 10.04 "O=C(O)C(N)CCCC[NH3+]" LYS SMILES_CANONICAL CACTVS 3.341 "N[C@@H](CCCC[NH3+])C(O)=O" LYS SMILES CACTVS 3.341 "N[CH](CCCC[NH3+])C(O)=O" LYS SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "C(CC[NH3+])C[C@@H](C(=O)O)N" LYS SMILES "OpenEye OEToolkits" 1.5.0 "C(CC[NH3+])CC(C(=O)O)N" LYS InChI InChI 1.03 "InChI=1S/C6H14N2O2/c7-4-2-1-3-5(8)6(9)10/h5H,1-4,7-8H2,(H,9,10)/p+1/t5-/m0/s1" LYS InChIKey InChI 1.03 KDXKERNSBIXSRK-YFKPBYRVSA-O # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier LYS "SYSTEMATIC NAME" ACDLabs 10.04 6-ammonio-L-norleucine LYS "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "[(5S)-5-amino-6-hydroxy-6-oxo-hexyl]azanium" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site LYS "Create component" 1999-07-08 RCSB LYS "Modify descriptor" 2011-06-04 RCSB # data_MET # _chem_comp.id MET _chem_comp.name METHIONINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C5 H11 N O2 S" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 149.211 _chem_comp.one_letter_code M _chem_comp.three_letter_code MET _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site EBI # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal MET N N N 0 1 N N N 16.161 15.756 51.903 -1.816 0.142 -1.166 N MET 1 MET CA CA C 0 1 N N S 15.084 16.739 51.596 -0.392 0.499 -1.214 CA MET 2 MET C C C 0 1 N N N 13.846 15.930 51.367 0.206 0.002 -2.504 C MET 3 MET O O O 0 1 N N N 12.795 16.510 51.424 -0.236 -0.989 -3.033 O MET 4 MET CB CB C 0 1 N N N 15.401 17.530 50.317 0.334 -0.145 -0.032 CB MET 5 MET CG CG C 0 1 N N N 16.183 18.846 50.502 -0.273 0.359 1.277 CG MET 6 MET SD SD S 0 1 N N N 17.852 18.653 51.063 0.589 -0.405 2.678 SD MET 7 MET CE CE C 0 1 N N N 18.614 17.814 49.556 -0.314 0.353 4.056 CE MET 8 MET OXT OXT O 0 1 N Y N 13.865 14.721 51.154 1.232 0.661 -3.066 OXT MET 9 MET H H H 0 1 N N N 17.004 16.307 52.059 -1.865 -0.864 -1.220 H MET 10 MET H2 HN2 H 0 1 N Y N 16.270 15.035 51.189 -2.149 0.399 -0.248 H2 MET 11 MET HA HA H 0 1 N N N 14.975 17.472 52.429 -0.287 1.582 -1.158 HA MET 12 MET HB2 1HB H 0 1 N N N 15.935 16.873 49.591 1.391 0.119 -0.068 HB2 MET 13 MET HB3 2HB H 0 1 N N N 14.459 17.728 49.754 0.229 -1.229 -0.088 HB3 MET 14 MET HG2 1HG H 0 1 N N N 16.160 19.442 49.560 -1.330 0.094 1.313 HG2 MET 15 MET HG3 2HG H 0 1 N N N 15.625 19.532 51.181 -0.168 1.442 1.333 HG3 MET 16 MET HE1 1HE H 0 1 N N N 19.664 17.692 49.909 0.090 -0.010 5.000 HE1 MET 17 MET HE2 2HE H 0 1 N N N 18.107 16.882 49.211 -0.207 1.436 4.008 HE2 MET 18 MET HE3 3HE H 0 1 N N N 18.487 18.349 48.586 -1.369 0.088 3.988 HE3 MET 19 MET HXT HXT H 0 1 N Y N 13.079 14.207 51.008 1.616 0.342 -3.894 HXT MET 20 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal MET N CA SING N N 1 MET N H SING N N 2 MET N H2 SING N N 3 MET CA C SING N N 4 MET CA CB SING N N 5 MET CA HA SING N N 6 MET C O DOUB N N 7 MET C OXT SING N N 8 MET CB CG SING N N 9 MET CB HB2 SING N N 10 MET CB HB3 SING N N 11 MET CG SD SING N N 12 MET CG HG2 SING N N 13 MET CG HG3 SING N N 14 MET SD CE SING N N 15 MET CE HE1 SING N N 16 MET CE HE2 SING N N 17 MET CE HE3 SING N N 18 MET OXT HXT SING N N 19 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor MET SMILES ACDLabs 10.04 "O=C(O)C(N)CCSC" MET SMILES_CANONICAL CACTVS 3.341 "CSCC[C@H](N)C(O)=O" MET SMILES CACTVS 3.341 "CSCC[CH](N)C(O)=O" MET SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "CSCC[C@@H](C(=O)O)N" MET SMILES "OpenEye OEToolkits" 1.5.0 "CSCCC(C(=O)O)N" MET InChI InChI 1.03 "InChI=1S/C5H11NO2S/c1-9-3-2-4(6)5(7)8/h4H,2-3,6H2,1H3,(H,7,8)/t4-/m0/s1" MET InChIKey InChI 1.03 FFEARJCKVFRZRR-BYPYZUCNSA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier MET "SYSTEMATIC NAME" ACDLabs 10.04 L-methionine MET "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "(2S)-2-amino-4-methylsulfanyl-butanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site MET "Create component" 1999-07-08 EBI MET "Modify descriptor" 2011-06-04 RCSB # data_PHE # _chem_comp.id PHE _chem_comp.name PHENYLALANINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C9 H11 N O2" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 165.189 _chem_comp.one_letter_code F _chem_comp.three_letter_code PHE _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site EBI # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal PHE N N N 0 1 N N N 3.260 22.302 6.000 1.317 0.962 1.014 N PHE 1 PHE CA CA C 0 1 N N S 4.252 21.272 5.710 -0.020 0.426 1.300 CA PHE 2 PHE C C C 0 1 N N N 5.559 21.899 5.229 -0.109 0.047 2.756 C PHE 3 PHE O O O 0 1 N N N 5.836 21.838 4.012 0.879 -0.317 3.346 O PHE 4 PHE CB CB C 0 1 N N N 3.708 20.298 4.656 -0.270 -0.809 0.434 CB PHE 5 PHE CG CG C 0 1 Y N N 4.596 19.106 4.406 -0.181 -0.430 -1.020 CG PHE 6 PHE CD1 CD1 C 0 1 Y N N 5.077 18.339 5.467 1.031 -0.498 -1.680 CD1 PHE 7 PHE CD2 CD2 C 0 1 Y N N 4.927 18.732 3.109 -1.314 -0.018 -1.698 CD2 PHE 8 PHE CE1 CE1 C 0 1 Y N N 5.874 17.219 5.237 1.112 -0.150 -3.015 CE1 PHE 9 PHE CE2 CE2 C 0 1 Y N N 5.718 17.618 2.867 -1.231 0.333 -3.032 CE2 PHE 10 PHE CZ CZ C 0 1 Y N N 6.193 16.860 3.932 -0.018 0.265 -3.691 CZ PHE 11 PHE OXT OXT O 0 1 N Y N 6.283 22.460 6.079 -1.286 0.113 3.396 OXT PHE 12 PHE H H H 0 1 N N N 2.387 21.883 6.321 1.975 0.230 1.235 H PHE 13 PHE H2 HN2 H 0 1 N Y N 3.111 22.918 5.201 1.365 1.104 0.017 H2 PHE 14 PHE HA HA H 0 1 N N N 4.460 20.708 6.649 -0.770 1.184 1.076 HA PHE 15 PHE HB2 1HB H 0 1 N N N 2.676 19.968 4.922 0.480 -1.568 0.659 HB2 PHE 16 PHE HB3 2HB H 0 1 N N N 3.493 20.833 3.701 -1.262 -1.207 0.646 HB3 PHE 17 PHE HD1 HD1 H 0 1 N N N 4.823 18.622 6.502 1.915 -0.824 -1.152 HD1 PHE 18 PHE HD2 HD2 H 0 1 N N N 4.556 19.328 2.258 -2.262 0.034 -1.183 HD2 PHE 19 PHE HE1 HE1 H 0 1 N N N 6.250 16.619 6.083 2.060 -0.203 -3.530 HE1 PHE 20 PHE HE2 HE2 H 0 1 N N N 5.968 17.335 1.830 -2.116 0.659 -3.560 HE2 PHE 21 PHE HZ HZ H 0 1 N N N 6.822 15.974 3.741 0.045 0.538 -4.734 HZ PHE 22 PHE HXT HXT H 0 1 N Y N 7.096 22.850 5.779 -1.343 -0.130 4.330 HXT PHE 23 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal PHE N CA SING N N 1 PHE N H SING N N 2 PHE N H2 SING N N 3 PHE CA C SING N N 4 PHE CA CB SING N N 5 PHE CA HA SING N N 6 PHE C O DOUB N N 7 PHE C OXT SING N N 8 PHE CB CG SING N N 9 PHE CB HB2 SING N N 10 PHE CB HB3 SING N N 11 PHE CG CD1 DOUB Y N 12 PHE CG CD2 SING Y N 13 PHE CD1 CE1 SING Y N 14 PHE CD1 HD1 SING N N 15 PHE CD2 CE2 DOUB Y N 16 PHE CD2 HD2 SING N N 17 PHE CE1 CZ DOUB Y N 18 PHE CE1 HE1 SING N N 19 PHE CE2 CZ SING Y N 20 PHE CE2 HE2 SING N N 21 PHE CZ HZ SING N N 22 PHE OXT HXT SING N N 23 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor PHE SMILES ACDLabs 10.04 "O=C(O)C(N)Cc1ccccc1" PHE SMILES_CANONICAL CACTVS 3.341 "N[C@@H](Cc1ccccc1)C(O)=O" PHE SMILES CACTVS 3.341 "N[CH](Cc1ccccc1)C(O)=O" PHE SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "c1ccc(cc1)C[C@@H](C(=O)O)N" PHE SMILES "OpenEye OEToolkits" 1.5.0 "c1ccc(cc1)CC(C(=O)O)N" PHE InChI InChI 1.03 "InChI=1S/C9H11NO2/c10-8(9(11)12)6-7-4-2-1-3-5-7/h1-5,8H,6,10H2,(H,11,12)/t8-/m0/s1" PHE InChIKey InChI 1.03 COLNVLDHVKWLRT-QMMMGPOBSA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier PHE "SYSTEMATIC NAME" ACDLabs 10.04 L-phenylalanine PHE "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "(2S)-2-amino-3-phenyl-propanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site PHE "Create component" 1999-07-08 EBI PHE "Modify descriptor" 2011-06-04 RCSB # data_PRO # _chem_comp.id PRO _chem_comp.name PROLINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C5 H9 N O2" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 115.130 _chem_comp.one_letter_code P _chem_comp.three_letter_code PRO _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site RCSB # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal PRO N N N 0 1 N N N 39.165 37.768 82.966 -0.816 1.108 0.254 N PRO 1 PRO CA CA C 0 1 N N S 38.579 38.700 82.008 0.001 -0.107 0.509 CA PRO 2 PRO C C C 0 1 N N N 37.217 39.126 82.515 1.408 0.091 0.005 C PRO 3 PRO O O O 0 1 N N N 36.256 38.332 82.370 1.650 0.980 -0.777 O PRO 4 PRO CB CB C 0 1 N N N 38.491 37.874 80.720 -0.703 -1.227 -0.286 CB PRO 5 PRO CG CG C 0 1 N N N 38.311 36.445 81.200 -2.163 -0.753 -0.439 CG PRO 6 PRO CD CD C 0 1 N N N 38.958 36.358 82.579 -2.218 0.614 0.276 CD PRO 7 PRO OXT OXT O 0 1 N Y N 37.131 40.263 83.047 2.391 -0.721 0.424 OXT PRO 8 PRO H HT1 H 0 1 N Y N 40.152 37.928 82.959 -0.707 1.708 1.057 H PRO 9 PRO HA HA H 0 1 N N N 39.160 39.638 81.850 0.009 -0.343 1.573 HA PRO 10 PRO HB2 1HB H 0 1 N N N 37.703 38.219 80.010 -0.240 -1.345 -1.266 HB2 PRO 11 PRO HB3 2HB H 0 1 N N N 39.352 38.017 80.027 -0.666 -2.165 0.267 HB3 PRO 12 PRO HG2 1HG H 0 1 N N N 37.247 36.109 81.191 -2.416 -0.638 -1.493 HG2 PRO 13 PRO HG3 2HG H 0 1 N N N 38.703 35.687 80.482 -2.843 -1.458 0.040 HG3 PRO 14 PRO HD2 1HD H 0 1 N N N 38.378 35.759 83.320 -2.872 1.300 -0.263 HD2 PRO 15 PRO HD3 2HD H 0 1 N N N 39.880 35.732 82.614 -2.559 0.492 1.304 HD3 PRO 16 PRO HXT HXT H 0 1 N Y N 36.276 40.530 83.365 3.293 -0.594 0.101 HXT PRO 17 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal PRO N CA SING N N 1 PRO N CD SING N N 2 PRO N H SING N N 3 PRO CA C SING N N 4 PRO CA CB SING N N 5 PRO CA HA SING N N 6 PRO C O DOUB N N 7 PRO C OXT SING N N 8 PRO CB CG SING N N 9 PRO CB HB2 SING N N 10 PRO CB HB3 SING N N 11 PRO CG CD SING N N 12 PRO CG HG2 SING N N 13 PRO CG HG3 SING N N 14 PRO CD HD2 SING N N 15 PRO CD HD3 SING N N 16 PRO OXT HXT SING N N 17 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor PRO SMILES ACDLabs 10.04 "O=C(O)C1NCCC1" PRO SMILES_CANONICAL CACTVS 3.341 "OC(=O)[C@@H]1CCCN1" PRO SMILES CACTVS 3.341 "OC(=O)[CH]1CCCN1" PRO SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "C1C[C@H](NC1)C(=O)O" PRO SMILES "OpenEye OEToolkits" 1.5.0 "C1CC(NC1)C(=O)O" PRO InChI InChI 1.03 "InChI=1S/C5H9NO2/c7-5(8)4-2-1-3-6-4/h4,6H,1-3H2,(H,7,8)/t4-/m0/s1" PRO InChIKey InChI 1.03 ONIBWKKTOPOVIA-BYPYZUCNSA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier PRO "SYSTEMATIC NAME" ACDLabs 10.04 L-proline PRO "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "(2S)-pyrrolidine-2-carboxylic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site PRO "Create component" 1999-07-08 RCSB PRO "Modify descriptor" 2011-06-04 RCSB # data_SER # _chem_comp.id SER _chem_comp.name SERINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C3 H7 N O3" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces SEG _chem_comp.formula_weight 105.093 _chem_comp.one_letter_code S _chem_comp.three_letter_code SER _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site RCSB # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal SER N N N 0 1 N N N 88.198 -7.658 -9.979 1.525 0.493 -0.608 N SER 1 SER CA CA C 0 1 N N S 87.782 -7.276 -11.358 0.100 0.469 -0.252 CA SER 2 SER C C C 0 1 N N N 88.571 -6.062 -11.818 -0.053 0.004 1.173 C SER 3 SER O O O 0 1 N N N 89.008 -5.296 -10.944 0.751 -0.760 1.649 O SER 4 SER CB CB C 0 1 N N N 86.286 -6.966 -11.391 -0.642 -0.489 -1.184 CB SER 5 SER OG OG O 0 1 N N N 85.543 -8.096 -10.989 -0.496 -0.049 -2.535 OG SER 6 SER OXT OXT O 0 1 N Y N 88.737 -5.884 -13.035 -1.084 0.440 1.913 OXT SER 7 SER H H H 0 1 N N N 87.668 -8.473 -9.670 1.867 -0.449 -0.499 H SER 8 SER H2 HN2 H 0 1 N Y N 88.118 -6.879 -9.325 1.574 0.707 -1.593 H2 SER 9 SER HA HA H 0 1 N N N 87.988 -8.129 -12.045 -0.316 1.471 -0.354 HA SER 10 SER HB2 1HB H 0 1 N N N 86.034 -6.065 -10.783 -0.225 -1.491 -1.081 HB2 SER 11 SER HB3 2HB H 0 1 N N N 85.961 -6.588 -12.388 -1.699 -0.507 -0.920 HB3 SER 12 SER HG HG H 0 1 N N N 84.613 -7.903 -11.009 -0.978 -0.679 -3.088 HG SER 13 SER HXT HXT H 0 1 N Y N 89.230 -5.124 -13.322 -1.183 0.142 2.828 HXT SER 14 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal SER N CA SING N N 1 SER N H SING N N 2 SER N H2 SING N N 3 SER CA C SING N N 4 SER CA CB SING N N 5 SER CA HA SING N N 6 SER C O DOUB N N 7 SER C OXT SING N N 8 SER CB OG SING N N 9 SER CB HB2 SING N N 10 SER CB HB3 SING N N 11 SER OG HG SING N N 12 SER OXT HXT SING N N 13 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor SER SMILES ACDLabs 10.04 "O=C(O)C(N)CO" SER SMILES_CANONICAL CACTVS 3.341 "N[C@@H](CO)C(O)=O" SER SMILES CACTVS 3.341 "N[CH](CO)C(O)=O" SER SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "C([C@@H](C(=O)O)N)O" SER SMILES "OpenEye OEToolkits" 1.5.0 "C(C(C(=O)O)N)O" SER InChI InChI 1.03 "InChI=1S/C3H7NO3/c4-2(1-5)3(6)7/h2,5H,1,4H2,(H,6,7)/t2-/m0/s1" SER InChIKey InChI 1.03 MTCFGRXMJLQNBG-REOHCLBHSA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier SER "SYSTEMATIC NAME" ACDLabs 10.04 L-serine SER "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "(2S)-2-amino-3-hydroxy-propanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site SER "Create component" 1999-07-08 RCSB SER "Modify descriptor" 2011-06-04 RCSB # data_THR # _chem_comp.id THR _chem_comp.name THREONINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C4 H9 N O3" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 119.119 _chem_comp.one_letter_code T _chem_comp.three_letter_code THR _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site EBI # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal THR N N N 0 1 N N N 36.241 32.034 31.861 1.543 -0.702 0.430 N THR 1 THR CA CA C 0 1 N N S 35.010 31.223 31.876 0.122 -0.706 0.056 CA THR 2 THR C C C 0 1 N N N 35.213 30.209 30.769 -0.038 -0.090 -1.309 C THR 3 THR O O O 0 1 N N N 35.564 30.621 29.635 0.732 0.761 -1.683 O THR 4 THR CB CB C 0 1 N N R 33.755 32.073 31.570 -0.675 0.104 1.079 CB THR 5 THR OG1 OG1 O 0 1 N N N 33.730 33.235 32.412 -0.193 1.448 1.103 OG1 THR 6 THR CG2 CG2 C 0 1 N N N 32.482 31.262 31.863 -0.511 -0.521 2.466 CG2 THR 7 THR OXT OXT O 0 1 N Y N 35.042 29.014 31.057 -1.039 -0.488 -2.110 OXT THR 8 THR H H H 0 1 N N N 36.104 32.716 32.606 1.839 0.261 0.434 H THR 9 THR H2 HN2 H 0 1 N Y N 36.457 32.445 30.953 1.593 -1.025 1.385 H2 THR 10 THR HA HA H 0 1 N N N 34.842 30.763 32.878 -0.245 -1.732 0.038 HA THR 11 THR HB HB H 0 1 N N N 33.792 32.367 30.495 -1.729 0.101 0.802 HB THR 12 THR HG1 HG1 H 0 1 N N N 32.959 33.757 32.224 0.740 1.406 1.352 HG1 THR 13 THR HG21 1HG2 H 0 0 N N N 31.577 31.874 31.642 -1.080 0.056 3.194 HG21 THR 14 THR HG22 2HG2 H 0 0 N N N 32.471 30.290 31.315 -0.879 -1.547 2.448 HG22 THR 15 THR HG23 3HG2 H 0 0 N N N 32.471 30.863 32.904 0.542 -0.518 2.743 HG23 THR 16 THR HXT HXT H 0 1 N Y N 35.169 28.378 30.362 -1.143 -0.092 -2.986 HXT THR 17 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal THR N CA SING N N 1 THR N H SING N N 2 THR N H2 SING N N 3 THR CA C SING N N 4 THR CA CB SING N N 5 THR CA HA SING N N 6 THR C O DOUB N N 7 THR C OXT SING N N 8 THR CB OG1 SING N N 9 THR CB CG2 SING N N 10 THR CB HB SING N N 11 THR OG1 HG1 SING N N 12 THR CG2 HG21 SING N N 13 THR CG2 HG22 SING N N 14 THR CG2 HG23 SING N N 15 THR OXT HXT SING N N 16 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor THR SMILES ACDLabs 10.04 "O=C(O)C(N)C(O)C" THR SMILES_CANONICAL CACTVS 3.341 "C[C@@H](O)[C@H](N)C(O)=O" THR SMILES CACTVS 3.341 "C[CH](O)[CH](N)C(O)=O" THR SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "C[C@H]([C@@H](C(=O)O)N)O" THR SMILES "OpenEye OEToolkits" 1.5.0 "CC(C(C(=O)O)N)O" THR InChI InChI 1.03 "InChI=1S/C4H9NO3/c1-2(6)3(5)4(7)8/h2-3,6H,5H2,1H3,(H,7,8)/t2-,3+/m1/s1" THR InChIKey InChI 1.03 AYFVYJQAPQTCCC-GBXIJSLDSA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier THR "SYSTEMATIC NAME" ACDLabs 10.04 L-threonine THR "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "(2S,3R)-2-amino-3-hydroxy-butanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site THR "Create component" 1999-07-08 EBI THR "Modify descriptor" 2011-06-04 RCSB # data_TRP # _chem_comp.id TRP _chem_comp.name TRYPTOPHAN _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C11 H12 N2 O2" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces LTR _chem_comp.formula_weight 204.225 _chem_comp.one_letter_code W _chem_comp.three_letter_code TRP _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site EBI # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal TRP N N N 0 1 N N N 74.708 60.512 32.843 1.278 1.121 2.059 N TRP 1 TRP CA CA C 0 1 N N S 74.400 61.735 32.114 -0.008 0.417 1.970 CA TRP 2 TRP C C C 0 1 N N N 73.588 61.411 30.840 -0.490 0.076 3.357 C TRP 3 TRP O O O 0 1 N N N 72.939 62.292 30.277 0.308 -0.130 4.240 O TRP 4 TRP CB CB C 0 1 N N N 75.684 62.473 31.706 0.168 -0.868 1.161 CB TRP 5 TRP CG CG C 0 1 Y N N 76.675 62.727 32.832 0.650 -0.526 -0.225 CG TRP 6 TRP CD1 CD1 C 0 1 Y N N 77.753 61.964 33.157 1.928 -0.418 -0.622 CD1 TRP 7 TRP CD2 CD2 C 0 1 Y N N 76.646 63.805 33.777 -0.186 -0.256 -1.396 CD2 TRP 8 TRP NE1 NE1 N 0 1 Y N N 78.403 62.494 34.247 1.978 -0.095 -1.951 NE1 TRP 9 TRP CE2 CE2 C 0 1 Y N N 77.741 63.625 34.650 0.701 0.014 -2.454 CE2 TRP 10 TRP CE3 CE3 C 0 1 Y N N 75.796 64.902 33.974 -1.564 -0.210 -1.615 CE3 TRP 11 TRP CZ2 CZ2 C 0 1 Y N N 78.014 64.499 35.709 0.190 0.314 -3.712 CZ2 TRP 12 TRP CZ3 CZ3 C 0 1 Y N N 76.065 65.776 35.031 -2.044 0.086 -2.859 CZ3 TRP 13 TRP CH2 CH2 C 0 1 Y N N 77.168 65.565 35.884 -1.173 0.348 -3.907 CH2 TRP 14 TRP OXT OXT O 0 1 N Y N 73.495 60.470 30.438 -1.806 0.001 3.610 OXT TRP 15 TRP H H H 0 1 N N N 75.244 60.725 33.684 1.921 0.493 2.518 H TRP 16 TRP H2 HN2 H 0 1 N Y N 75.182 59.827 32.253 1.611 1.237 1.113 H2 TRP 17 TRP HA HA H 0 1 N N N 73.801 62.387 32.790 -0.740 1.058 1.479 HA TRP 18 TRP HB2 1HB H 0 1 N N N 76.185 61.933 30.869 0.900 -1.509 1.652 HB2 TRP 19 TRP HB3 2HB H 0 1 N N N 75.429 63.431 31.197 -0.786 -1.390 1.095 HB3 TRP 20 TRP HD1 HD1 H 0 1 N N N 78.055 61.051 32.616 2.789 -0.564 0.012 HD1 TRP 21 TRP HE1 HE1 H 0 1 N N N 79.240 62.110 34.685 2.791 0.036 -2.462 HE1 TRP 22 TRP HE3 HE3 H 0 1 N N N 74.932 65.074 33.310 -2.248 -0.413 -0.804 HE3 TRP 23 TRP HZ2 HZ2 H 0 1 N N N 78.871 64.351 36.386 0.860 0.521 -4.534 HZ2 TRP 24 TRP HZ3 HZ3 H 0 1 N N N 75.400 66.641 35.193 -3.110 0.116 -3.029 HZ3 TRP 25 TRP HH2 HH2 H 0 1 N N N 77.376 66.257 36.716 -1.567 0.582 -4.885 HH2 TRP 26 TRP HXT HXT H 0 1 N Y N 72.995 60.270 29.654 -2.115 -0.217 4.500 HXT TRP 27 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal TRP N CA SING N N 1 TRP N H SING N N 2 TRP N H2 SING N N 3 TRP CA C SING N N 4 TRP CA CB SING N N 5 TRP CA HA SING N N 6 TRP C O DOUB N N 7 TRP C OXT SING N N 8 TRP CB CG SING N N 9 TRP CB HB2 SING N N 10 TRP CB HB3 SING N N 11 TRP CG CD1 DOUB Y N 12 TRP CG CD2 SING Y N 13 TRP CD1 NE1 SING Y N 14 TRP CD1 HD1 SING N N 15 TRP CD2 CE2 DOUB Y N 16 TRP CD2 CE3 SING Y N 17 TRP NE1 CE2 SING Y N 18 TRP NE1 HE1 SING N N 19 TRP CE2 CZ2 SING Y N 20 TRP CE3 CZ3 DOUB Y N 21 TRP CE3 HE3 SING N N 22 TRP CZ2 CH2 DOUB Y N 23 TRP CZ2 HZ2 SING N N 24 TRP CZ3 CH2 SING Y N 25 TRP CZ3 HZ3 SING N N 26 TRP CH2 HH2 SING N N 27 TRP OXT HXT SING N N 28 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor TRP SMILES ACDLabs 10.04 "O=C(O)C(N)Cc2c1ccccc1nc2" TRP SMILES_CANONICAL CACTVS 3.341 "N[C@@H](Cc1c[nH]c2ccccc12)C(O)=O" TRP SMILES CACTVS 3.341 "N[CH](Cc1c[nH]c2ccccc12)C(O)=O" TRP SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "c1ccc2c(c1)c(c[nH]2)C[C@@H](C(=O)O)N" TRP SMILES "OpenEye OEToolkits" 1.5.0 "c1ccc2c(c1)c(c[nH]2)CC(C(=O)O)N" TRP InChI InChI 1.03 "InChI=1S/C11H12N2O2/c12-9(11(14)15)5-7-6-13-10-4-2-1-3-8(7)10/h1-4,6,9,13H,5,12H2,(H,14,15)/t9-/m0/s1" TRP InChIKey InChI 1.03 QIVBCDIJIAJPQS-VIFPVBQESA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier TRP "SYSTEMATIC NAME" ACDLabs 10.04 L-tryptophan TRP "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "(2S)-2-amino-3-(1H-indol-3-yl)propanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site TRP "Create component" 1999-07-08 EBI TRP "Modify descriptor" 2011-06-04 RCSB # data_TYR # _chem_comp.id TYR _chem_comp.name TYROSINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C9 H11 N O3" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 181.189 _chem_comp.one_letter_code Y _chem_comp.three_letter_code TYR _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site EBI # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal TYR N N N 0 1 N N N 5.005 5.256 15.563 1.320 0.952 1.428 N TYR 1 TYR CA CA C 0 1 N N S 5.326 6.328 16.507 -0.018 0.429 1.734 CA TYR 2 TYR C C C 0 1 N N N 4.742 7.680 16.116 -0.103 0.094 3.201 C TYR 3 TYR O O O 0 1 N N N 4.185 8.411 16.947 0.886 -0.254 3.799 O TYR 4 TYR CB CB C 0 1 N N N 6.836 6.389 16.756 -0.274 -0.831 0.907 CB TYR 5 TYR CG CG C 0 1 Y N N 7.377 5.438 17.795 -0.189 -0.496 -0.559 CG TYR 6 TYR CD1 CD1 C 0 1 Y N N 6.826 5.370 19.075 1.022 -0.589 -1.219 CD1 TYR 7 TYR CD2 CD2 C 0 1 Y N N 8.493 4.624 17.565 -1.324 -0.102 -1.244 CD2 TYR 8 TYR CE1 CE1 C 0 1 Y N N 7.308 4.536 20.061 1.103 -0.282 -2.563 CE1 TYR 9 TYR CE2 CE2 C 0 1 Y N N 9.029 3.816 18.552 -1.247 0.210 -2.587 CE2 TYR 10 TYR CZ CZ C 0 1 Y N N 8.439 3.756 19.805 -0.032 0.118 -3.252 CZ TYR 11 TYR OH OH O 0 1 N N N 8.954 2.936 20.781 0.044 0.420 -4.574 OH TYR 12 TYR OXT OXT O 0 1 N Y N 4.840 8.051 14.829 -1.279 0.184 3.842 OXT TYR 13 TYR H H H 0 1 N N N 5.621 4.925 15.064 1.977 0.225 1.669 H TYR 14 TYR H2 HN2 H 0 1 N Y N 5.288 5.511 14.617 1.365 1.063 0.426 H2 TYR 15 TYR HA HA H 0 1 N N N 4.913 6.081 17.361 -0.767 1.183 1.489 HA TYR 16 TYR HB2 1HB H 0 1 N N N 7.289 6.213 15.916 0.473 -1.585 1.152 HB2 TYR 17 TYR HB3 2HB H 0 1 N N N 7.063 7.294 17.023 -1.268 -1.219 1.134 HB3 TYR 18 TYR HD1 HD1 H 0 1 N N N 6.097 5.913 19.272 1.905 -0.902 -0.683 HD1 TYR 19 TYR HD2 HD2 H 0 1 N N N 8.887 4.627 16.723 -2.269 -0.031 -0.727 HD2 TYR 20 TYR HE1 HE1 H 0 1 N N N 6.886 4.493 20.888 2.049 -0.354 -3.078 HE1 TYR 21 TYR HE2 HE2 H 0 1 N N N 9.788 3.310 18.373 -2.132 0.523 -3.121 HE2 TYR 22 TYR HH HH H 0 1 N N N 8.500 3.001 21.460 -0.123 -0.399 -5.059 HH TYR 23 TYR HXT HXT H 0 1 N Y N 4.475 8.893 14.585 -1.333 -0.030 4.784 HXT TYR 24 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal TYR N CA SING N N 1 TYR N H SING N N 2 TYR N H2 SING N N 3 TYR CA C SING N N 4 TYR CA CB SING N N 5 TYR CA HA SING N N 6 TYR C O DOUB N N 7 TYR C OXT SING N N 8 TYR CB CG SING N N 9 TYR CB HB2 SING N N 10 TYR CB HB3 SING N N 11 TYR CG CD1 DOUB Y N 12 TYR CG CD2 SING Y N 13 TYR CD1 CE1 SING Y N 14 TYR CD1 HD1 SING N N 15 TYR CD2 CE2 DOUB Y N 16 TYR CD2 HD2 SING N N 17 TYR CE1 CZ DOUB Y N 18 TYR CE1 HE1 SING N N 19 TYR CE2 CZ SING Y N 20 TYR CE2 HE2 SING N N 21 TYR CZ OH SING N N 22 TYR OH HH SING N N 23 TYR OXT HXT SING N N 24 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor TYR SMILES ACDLabs 10.04 "O=C(O)C(N)Cc1ccc(O)cc1" TYR SMILES_CANONICAL CACTVS 3.341 "N[C@@H](Cc1ccc(O)cc1)C(O)=O" TYR SMILES CACTVS 3.341 "N[CH](Cc1ccc(O)cc1)C(O)=O" TYR SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "c1cc(ccc1C[C@@H](C(=O)O)N)O" TYR SMILES "OpenEye OEToolkits" 1.5.0 "c1cc(ccc1CC(C(=O)O)N)O" TYR InChI InChI 1.03 "InChI=1S/C9H11NO3/c10-8(9(12)13)5-6-1-3-7(11)4-2-6/h1-4,8,11H,5,10H2,(H,12,13)/t8-/m0/s1" TYR InChIKey InChI 1.03 OUYCCCASQSFEME-QMMMGPOBSA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier TYR "SYSTEMATIC NAME" ACDLabs 10.04 L-tyrosine TYR "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "(2S)-2-amino-3-(4-hydroxyphenyl)propanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site TYR "Create component" 1999-07-08 EBI TYR "Modify descriptor" 2011-06-04 RCSB # data_VAL # _chem_comp.id VAL _chem_comp.name VALINE _chem_comp.type "L-PEPTIDE LINKING" _chem_comp.pdbx_type ATOMP _chem_comp.formula "C5 H11 N O2" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2011-06-04 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces ? _chem_comp.formula_weight 117.146 _chem_comp.one_letter_code V _chem_comp.three_letter_code VAL _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details ? _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code ? _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site RCSB # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal VAL N N N 0 1 N N N 11.009 2.661 48.464 1.564 -0.642 0.454 N VAL 1 VAL CA CA C 0 1 N N S 10.415 3.985 48.550 0.145 -0.698 0.079 CA VAL 2 VAL C C C 0 1 N N N 10.002 4.429 49.975 -0.037 -0.093 -1.288 C VAL 3 VAL O O O 0 1 N N N 9.312 3.707 50.680 0.703 0.784 -1.664 O VAL 4 VAL CB CB C 0 1 N N N 9.230 4.107 47.566 -0.682 0.086 1.098 CB VAL 5 VAL CG1 CG1 C 0 1 N N N 8.585 5.457 47.708 -0.497 -0.528 2.487 CG1 VAL 6 VAL CG2 CG2 C 0 1 N N N 9.689 3.877 46.132 -0.218 1.543 1.119 CG2 VAL 7 VAL OXT OXT O 0 1 N Y N 10.377 5.639 50.362 -1.022 -0.529 -2.089 OXT VAL 8 VAL H H H 0 1 N N N 11.281 2.368 47.525 1.825 0.332 0.455 H VAL 9 VAL H2 HN2 H 0 1 N Y N 10.386 1.968 48.881 1.624 -0.959 1.410 H2 VAL 10 VAL HA HA H 0 1 N N N 11.226 4.692 48.259 -0.186 -1.736 0.064 HA VAL 11 VAL HB HB H 0 1 N N N 8.478 3.321 47.813 -1.736 0.044 0.820 HB VAL 12 VAL HG11 1HG1 H 0 0 N N N 7.729 5.545 46.997 -1.087 0.031 3.214 HG11 VAL 13 VAL HG12 2HG1 H 0 0 N N N 8.279 5.666 48.759 -0.828 -1.566 2.472 HG12 VAL 14 VAL HG13 3HG1 H 0 0 N N N 9.319 6.287 47.584 0.555 -0.486 2.765 HG13 VAL 15 VAL HG21 1HG2 H 0 0 N N N 8.833 3.965 45.421 0.835 1.585 1.397 HG21 VAL 16 VAL HG22 2HG2 H 0 0 N N N 10.527 4.557 45.853 -0.350 1.981 0.130 HG22 VAL 17 VAL HG23 3HG2 H 0 0 N N N 10.218 2.902 46.020 -0.808 2.103 1.845 HG23 VAL 18 VAL HXT HXT H 0 1 N Y N 10.123 5.911 51.236 -1.139 -0.140 -2.967 HXT VAL 19 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal VAL N CA SING N N 1 VAL N H SING N N 2 VAL N H2 SING N N 3 VAL CA C SING N N 4 VAL CA CB SING N N 5 VAL CA HA SING N N 6 VAL C O DOUB N N 7 VAL C OXT SING N N 8 VAL CB CG1 SING N N 9 VAL CB CG2 SING N N 10 VAL CB HB SING N N 11 VAL CG1 HG11 SING N N 12 VAL CG1 HG12 SING N N 13 VAL CG1 HG13 SING N N 14 VAL CG2 HG21 SING N N 15 VAL CG2 HG22 SING N N 16 VAL CG2 HG23 SING N N 17 VAL OXT HXT SING N N 18 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor VAL SMILES ACDLabs 10.04 "O=C(O)C(N)C(C)C" VAL SMILES_CANONICAL CACTVS 3.341 "CC(C)[C@H](N)C(O)=O" VAL SMILES CACTVS 3.341 "CC(C)[CH](N)C(O)=O" VAL SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "CC(C)[C@@H](C(=O)O)N" VAL SMILES "OpenEye OEToolkits" 1.5.0 "CC(C)C(C(=O)O)N" VAL InChI InChI 1.03 "InChI=1S/C5H11NO2/c1-3(2)4(6)5(7)8/h3-4H,6H2,1-2H3,(H,7,8)/t4-/m0/s1" VAL InChIKey InChI 1.03 KZSNJWFQEVHDMF-BYPYZUCNSA-N # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier VAL "SYSTEMATIC NAME" ACDLabs 10.04 L-valine VAL "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.5.0 "(2S)-2-amino-3-methyl-butanoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site VAL "Create component" 1999-07-08 RCSB VAL "Modify descriptor" 2011-06-04 RCSB # libcifpp-2.0.5/examples/0000775000175000017500000000000014200173347014767 5ustar maartenmaartenlibcifpp-2.0.5/examples/1cbs.cif.gz0000664000175000017500000011047314200173347016727 0ustar maartenmaarten‹Äʳ_1cbs.cifÔ\Ýs⸲ç¯PÕy`OÕà±ù:û@9@&„°@2›skËeŒ|ÇØÛ$Ãþõ§[þ’mÙÀ<Ýë™ÅRÿZ­V«Ý-ÉÞš¡i(£›Uã¤aP7ôO’½%„`a…æqk‡†å¹ož¿—¶¶®¹§$ºö{Ë~3ÛÍO¬“P?°=É;’Úˆ©Ï2Èl†‡}ýÊxKÀ[òü÷¯HÕ¦oÓà«X¶ýµØ8ˆëxÞÁh[èׯ ¨¡JéOè—¸Âò¶”4㛤ßÉÕøþKdž"˲ÒSU¥é›ÌX¡)ú_ÄMt-'³*(S¼Á/¼¢Ñc}j}l ÛµCÛtŒ-=xŠBBD ´–é{ø…ÜIߤ&Q ì†úï ið…¬¡„ʾy.e:+"m¾QËÙœ“ØÜHïB;t(_ð¿Þчf s³ñ釨æÃsŽûæ`¾SãÍöƒ°Tê˜ùÂ5}S{kè«õ#_eyG6ˆbêéj5¯¨­Æ|ÍÆó~‡ãƱƒÍ5žJ@.Ž›Gº­%?MIãàÛ{Eû}äŸ`ì„þÑ > ˆ÷F,ê8GzêÓÐv=pX¦zߨ.Œé;ÉRÛ È”˜î–L§Äv œC’O;ÜÓqZ¡oºA+ÏÉMœÜpåVÂ+5~o¬Êæ§Â_EÕø§Ógn‚¬ÖËçI—ìxQC Â¦n…&IÚôÞ}éËŠZ¡4n’Ž S¸'DzG½-aÐÆ8hr¯¥iڀȽn÷šŽ¶“¿s­š‡ȸ Á ¡C¯¹‘ƒÑõ ÞŠò`IÐÅ7èò<./Tòxm¹ S ˜+ÉìsLCê£:Sçy´çõ†ÓeÄO¦ ­#`:|“=Gº±áŸÒthË0ÔNªÙ6ùöøt£?°é «*ÕF›¯œQòè…!ýBŒ@ã+ï0Ÿ/ä&vrlwÇ­÷…<$•]¾²øíÎÇݘ®ümþøBf¬¶ÏW~·]0é/dóð•¿sêÈ<[껎·ì˜5«(\åÈû4A +é{WT®²(­Òæ¼XQ·ŠÆU–F¥ÃU–Øv3ŸQ¨ÇUÎé'8BTã4A¶}®²ÄvÀM˜b¥*s•%3Q¸ÊÝþmØ$ÓFU¹Êg÷&(VED>žEx{³j‡ºïáÎ0¹j­#uÁ)ç 6Lõ]×W ýe2}øcr7^ß¾NÖ«õúe¹F“¸}x¹›L÷Çúe|·\4F«ÙËÃ÷ p{x|MþxŽw“» ¾¯!µ_ÏÇw“Ùt¶~\ëãñËËh½|y}YN >»HtÃ2Ýÿ¢c²¶Ù‘.¤ÐôßiäXófsÃ;,;#†CåpÖZ®g"(Ý'\±b‡!¸‡îgLyââ F:$ÖìŸÝ‹ûItƒÕÕdÝàĺ›½F7]ƒ‘êz¹ˆn D"³×Utƒ9Ûtsƒ‡ w"èË»øFåÚÚyŽo4®œÛ©l¢pd=þD˜M’›w!F&<’È‹>‹oTž¬ÍõTÕx²'$Ï\ Hð8YÇ7¼ê€ëi›— ­p iƒúLoÚë¶Æ×tø›.Óã”Øîóí ¸ÑÖd£ñ:ÐTN‰Z›“MÓ8n˜ŒßÍbhü(h=NoZU¤¬d}Ÿ’Ì c$X¿&5*×h§Í5ÚÑxÞ,»|M¿ésëð£ñZFÖUø^]^]Þ»¼%B*ž Úíqvûü”p¬1ÅÏnŽ[— ÇÏ…žÆ)¾×á¤îñ–ØëqŠïñôxôeÎ(ú Á(éB_åúÓosºîkœ]÷;\£}^ýïú\p'å6àu0P8õx QÏfÖ€Ÿƒ'õ€·ÄASÕ€Ÿ Þ`˜ÀÝ(™Oª7EnsÞEÖøšN¦DEîò zÙø(rŸóoò ÓŽN1#§˜ùDE姘 N‘Ãt8 N1zœb&(8EŽÛ€ãN1óÊ๕kœb: ŠÊKN1u(¸¢˜IN‘»ég#§€SÌnÀ)¦Ã¨€SÌXƒSÌN‘Ãh™ÛPÀ)r5]ÓKºÍEοS÷\ XTô쇛šýœ ”é„Fà}HwÞ³˜È&®nU5qRu$:¬@mè;Cb p9ŠBTs þRvcy{Œ>¸ ÄäÚ1 ©F£`®{oïUʣ˚iÞ??ês2Zê7‹æ4Õ­já"èu½ÅÐv/ÚAp¬ÜO«GaÒgÅ»¨— ’Œð¢¶ò*MÓË«P¨‘…·gM6„y€º@0 y®µ±!Xþ‰9P:9]p®g€¦o›ÏKÌV;o?73µj§@3´,R¼Î6çùïfÉd.C ô*víz “},~Ç^„ÚyAˆ‚ÕLúª¶R¨Ø\&µ£¾míl“Xžc³áømZƒ…6Sj+:&ÉrmquE¤®”è¶x é=5¹ÌaXI÷h†áŽ~Æ´ªÔ“+IÔ· ëFàaÙÑ$m  % q¶öÛ›ïV%JFaî7¸Zc@²uȳQp‰GKT &^Ã7·vt;.¨sK¨OóƒÆ±ª¨„ŠÎÚx®gí|oe¸ìf8æ‘{ÃÉuƒCq€R²[PO±­¸†{–ç\ˆ q‡¦Jy?àgË7ObU™RòC-ÒOœý$èùÎóË3Š$G²@¤è¸gÞ‚‰çjLêmêPHT|;‹Y¾ý¾7)¶¥ oc%Æt[ø3äÈv¼Ï’²Et;+è’c\ÑB8¦^¿Dk –yr<“™|ð çØ84Ç} KmŽ-a ϤwjL‹R ‹tÁio|˜Nq¥¯HçÒx}€¨L…SÝ &´Æw˜Ö „öÞÌ^ *òóéöènM×:Õ·[5É•]rÒ¸¤îÔÊl—ž?Á˜ÂR‹CXêêã&+†·'r+qâaN{Ö'àLºâªÄÜVcT©ÂY ëzooÌ¢ sñņx ̤ÃÚñ÷A8Ì)ŽM¶Òl,^}t#%Tqn/EêçPÉäªÝl–Ű¥ñf²ÅÏ*s`— Ù»ÄØ*“¨$Å,OÏÿñkíÁŸV­o¶Ý;‡5¨ï g•²f˜Òúè°n*$Ö̯ªÎ 1Ó7÷xêMðãÓµ,Ì Îb8r¶¡jXf@…˜¥q‹¾- ñŽžÈŠŒ¡Àç“Õ³±$â«ÃÚ¬Å$ä@ý8»pL9ÌM¤$[ô»>¦'Ó¹øà\.GÒ/Ŭg+ôÇöö¥¢cSœ´–çûÔ‰²Ë£ˆÜzhŠ·ÅÍÜ‹0…MÉšâéû±ýÄnCYJd×j2Á`c×b‚½Fp&êÃß`>û0ç,ciŒü£mýv¦ûÃ/¦µÃ€,(£k17][¹¤2pȧ†‰ïêþ}>Èe)jvüûo0 0ˆ(é“è&!ˆªE!ºY ‡Õ4.€j %Ñbk­$‚¨‹«š )$Ÿ¶àÍý-8Úm¯…F/µ–CØË¡‰¯‚æ%¾ZØçW$|›åRhNäëZ͉|tkïèÖÇO¼ðªV{’v54’û—Zä¾jïö€ƒX‘ð5©+¡W\‚^.ðÞbÀ.˜¾5—Ç^ ~½ÕàW[ÍN/ÕDW¹óDñ‡DWã÷ÑòuµÖgìã4£õórBžnIéuån´¶ ¯+¯È”èó1~Lg:'£§ÇÅlò'ù>]ß}6k­—ú|ÕÊ¿ðŒä:Y½Î×÷<׎³ó[ù3{¹À¹Q~Z(Wòu"Òd\/Ôo `!÷{ÒÅýëjú4{º›Ž@-³éÈÌŽÇòò '†¢‘¾*§LE¢ˆ>÷ò[vÜ!µôô A]y 'j,%c|“; kæ´E˜ OËuS€ éÏœAÖ`³§xÌÄ Nûè`_½ ã`F‚Ç߬<0íô\Q‰ô¯ç¹ðïáòåéK÷:™Ã ªî†ýTñçˆýlºÁ/ÔDât¿›'á?ѨðM²ªRAz´oGûg€GËsÃŒ' êê±KuõxÄKÜ<Ò°Ó…Éñ²< ž<«!«‹ÕW‹€45" „ìœZµXuµÒSnBñjx§ÕÕ«æ]]Ë1ƒ @’a0ÞÅmÜOf ýßÇSg:¾j=d/ÿéï³Ò´ m?r“c ‚G¤ìÛJxÚEÇw‘‡YiZ† ”vn&¤fžÛ•Ž[PÅû¼fÞ“q'CòéZ´äÅ‚¥aùœƒ^¤(m«‹q.ŒEǾï’#)-‘,]–¢ßüàóµÐÐ;ûr¦^×{ooËLD-S7 è¿Ø§†ÄO×ÂåhÇ¡–«øUAy›hÂr ¿ (ïàgå]ü‚€ ¼‡”÷Ñ åœBy…Ö™Æ*µÕV•×øS1YiÚ‹ÉŠÓŸ§:ãdyÒ_+&«¯Úóþ·³wëÕä6²Dßý+60~i’wòI]u$=Ò å9˜ÑÁ@P[Õí:ÐmJ²Ûž_?¹Vð$S—öÌןvUîU‘d ÆeÅ&Þó¼¾ïy¯<>õ³cwÜ9×7øùðy>>ÕþA,V,HZXþ!I>˜þ|ü)TýOE–ý1„ñ¾ÖÉËŸr©±ÆúCÒ7|ÀšæI¾ðÁôçãO¹Yýý!y;Úo'ÿÝþ|ü)—'«¨?d©ö,¢þåÔL>þ” ·H.l’žãÏÇŸrI×7D}üxÊõ7ÇŸ?åb¯cW¸9Éß•2FºØ—éO¹ °&ÿCR´ÑÍüñçãO1ƒù>$Ãdøt L>þtÚRZÄP“¿àB6ï+O¨-ýg²?ûi‹ùÇï¾ù%ÿ²Ùöˆ_ˆß—Ç/{¾¯ÌŸ{|Ù9~îqY«¿øe— à—¡ÿâWÕ{ÐO?måDÙ_9QöWN”ýueÝDÙ_7Qö×M”ýue÷½ûÞ=>­«$×Îê§OÕÞ=ÿÔÌ«OÔŽ>ÿôiÛIáš ö ©3>$‰Æê§OÕ~>ÿÔÌ´Ož­¿Ûú´¾;ÈN>P?5SîÓvz‘lüô ¹E>$×Ëê§fî}Úvû,#2~ú¤þw¶ò»ã§f¶YÉnž£ìÆÌ˾?ÿ¤.÷•ãœýáÌò˜ØAËן߶:«Ï¾û·ÿãË÷oOÏ*ý].ú¡¶&~ò¡ªÚ?ýйúm9mÈZYerµ?äÿf–ôð×O°þûÝÖÓ¿™•ê_׃¹?ô`tª¿~–àl×.ò÷mõáï¿þñü×+óðW$üž}m=¶ÿ~uÿ侈ö¸dëòщ£~ü76_yØõ‡eÿ~ؾøoõ°ï‹¸ŒÿV‡åáÇÃøoõpì×Κa”Þÿ­Nã« l'+Ùê‡óxÁi«ÿ­.ýaÔ–ýáå×%þûº«è‡ñï?>|ŸêaV4"{Ûß|ùãûw®•9=üÝûwÿþw•Eh^õôÓŸü…žÚwýÂ_p¿êì$Ò/ýû«ÞÁþZ‘ܯÉýÚQš³,É;T«þ ¿äyû+Ÿwêyv–ÁÞ„]å§K?ªæMO“Yä ¶Bø·úouõ»ÿk É€~þ7æw¸~Ño¸_÷ö©qýe¿aû{\ö¼‡ýÕR¹_-•ûÕcå†TÆæ~â7fT:õ3¿`í/¸õ¦ö+øMú‡ïƒï_¿û™ß|òò›O_~óÙöMᣙöü§ jHó}ÅÝcz.Scï¹S ‹žæyëÓ öÞOë˜&€uPï4¨–´Ì[ß šJÄjµ÷ÖçÊ+DB¨Ñ’j=µ×¼õ)P¬ý{Ï»%ÅRhnÊ/S¯%Uz ó±õ­ WrS„m\¾—f{ý[¥‚Uzj늢ž. ùÕ¹¡D!i¸—Q“´\Té©­+ŠzºI Bˆ4Üïí YuEa‹ 謧àf蛃¤ 5’Ø=bS_´`ž4è%i¨ Ió+ÿÞ á^?·¤—7}LÓ"é%iÐÏ•^9ìKØù@s³ï–1ý\MTš–iu·òÜ–]ê¶î¡7ĽLm)]Rž¦Û³Pò´LP÷Ê$9;2A}ô”’P½LÁß—ézo÷‹à¨Â~zÕ¡R®hP%)¸ôû2]@Á§òÿ{´uÍì¹A—××ËÔ™i™î¯Ï~=ÿî3 ×Ц§ÁiIÕ2…ÿ ’~t½#›ãÜcÊ#Úö]*ŠJM’ªeŠ}ö%@`jÀ¯¿%οd±õùx5åÏ̵hÍÖÙw~šýÇh¨Ï‘ûéåú˜æ¨@û4L³¿–{3â^-»T*Eoܪ%Óìo  +Ç^Ñ á^û¶½~1úõ—ÙŸWT;M£€Þ»ó}âAÒí»Ô=¾´õÄØÆt^Q(Ž“4Þs}¯}p µ×¿¢]Æt^Q (È~'êy_¹yCqTIêçµÏeïiw°ô¦‰Ê T©ŸW”Åm u//;¿ý4-AKªV”·/»Ö%÷ÔÜûJ¾í˜{¢xô>½´¤úàCäm3Ð:èuŸ‹÷ÂJ%±Izï1V¿¾:øÐ;c3ÐÆëcLoIÏ(S·ú¬ž(m ù0é)HššJ¹{¯,td®Ê_é oíZV=õqÒÓ 4ܦÖ=ûˆ:ÿÊ7K:¿’<‰ªõÔ§IOPÜëЀô¶vï×w÷Îß—it ¨–4Ozº^‘[ŸÃëß–žï[ŸtÑÓ2éézQ·¡©¾»_Ÿ†¥¼þu-’*= פ§ è½0-AMɘ(×>pÄ- JOC]QÔÓô6MÇôrèsKZ¨- ¨ÒÓЬ>{’Ô$1Ïï½ú–´´[ô½Ö×Wzêõæ é}±´Pœ¬(b›(»€~¢ ´Ð¬¾ƒ¤·ºßG¯¼Ö1½mVßAÒûõ/½YvþlBÓ´€~®$­+êó£¤ÎÒè ·I…¿¹Ò+‰šÍ JÒzF}|S´Õ¥%í¸IÇúú·"Øôc%i™v) ËK(Ùú‚ÌþæÀpÖ׾㘶>Rë.¯i—Ú@Ù°®p{r÷ù7]yBT z—ŠfÚ¥6Pçy´÷ùpÿͰOWP-©v©ýõ±Ú“˜=÷õ×#š‰ØTïRÑM»Ôj¹”8¦@“i¯sXKª=h~Ú¥6Ў΋ÿ„qý4åÁ7ª]*Öõúêï{£Çó¾¤Ü }EÝl—1U´XWÔ›h1½-³{UÞ¯ßÍ4‹¤ohµú>?ƒFº;\áì»X÷S-Y멺œ¡÷SW~Éì‘~hœ}k©RÇ¿ì€m“æÎßú¦mÊ_&å× 7LºW$½ï:Øã8ÉT+š}}›¤é>œŒU7( ˺¡ä¸€*IÓìë[@ͽmò~A»¯ï6]Iµò§Ù×·½¾§÷ÞùKâíÇ-'I•ò§æë3;è=P~\RÐïí•¿&wGРÍgTj+Êg?ROCUxï%ýhÞOS[QI±ÁóàCÇh^›͉)9ªs?;¾j®¶õ%îüXp–~F‰Jµ–~«ž¦Ù×·€Â0¥K­oÐØÎýT ´ºèéìëÛ$ÍF\ò—LÔP~ɱž@µ¤å §]Ò€‰º÷<Ó<ìÓTëi¾z:@1QNn>ùUn¶<YKªô4›ƒžŽ‰º¼H긡d;Î(£A•žf{ÐÓ Šh ƒ\ å}ÿ‹COYh1ƒÎzšÝAO»¤ŒAÀ e)·7>³¼¾ÒÓì'=­Y7Œ(pí‡È1õ÷íäžýË ³G&ªv›\õ4‡IO7P05ßb¥[RÜÑBW©tiP­§9Nzº€&z{à/jƒq;1 ¨–4Mzº€FÙOýã¡§WÛP ¢q tÑÓ<ééšy×cï¾E[ð*÷ß•Iµž–ɘØ^¿`™ÂˆŠ¸ö—’ûìóÜŸ@•1Q®É˜Ø@­ó°ᾸÇÔuÒ­ ¨2&à âíäøúæ6´3×g¿/ÓÛöZ¥”1QêŠúü +n‘ôr ´Ô`ìT¥Þ£>6'Ðxo·‰¡.ú¼Œï þÒ’~<¯¨RWmþ}EÝzé‘€¤¡¿þý­ óÚ/³g¢¹:Åá~OT’`,¼ç·¤¥ùPrÓS{öI—Ù3±€âV†>±÷†B?¢kFï=.FƒêeZfÏÄj%í}³Wì+ÊçTK:{&¶×çeÜݦ i6\Ë2µgŸt™=›¤Œê:oIKÛOá°Z$Õ!N8.VŸt½:¼p¤õORj;ÿý$-©qÂq1|Òÿ]@]½Œ|Žž¤Ò\H}“v­ i âE†OZz9M‘-À›OjwÓRoÑt p»Ù'­@/¥7hF²°©BÓ¸€.’úÙ'­@-cðHÁî\æû¾ót p_aÌþöúöémýÜ7txçÚ&}„]$]f?ŽMz›( I‘ÙʼnÊÍêCˆ*iÐeöÓØ¤ÐÈØfݤ™ìÐv©,Ièk ÊÊOéBÚ@áå*\󲱃2 3©r!¡+AíšèBBÊEÔV¦­î§vUQsH±Œï*åèÕ6¼£¥<üR¢üþ<@uÄ<¨ ·Ö_4zýÅ›Ïeû~jÐEù݃ÔÜšé°ŸæÅAẞ†t‘ÔíÁƒ zønÒðyÅn ‰ÿt€.Ê¿Xƒ´ llï£Êʽ·KjÝ"©V~öàAeê…áŠ2p|¿T^@µò#ib  I1˜æÞ“dÙ) “ôëëì“öà€b_ºê#òýà‹ÛD-Ù&ïÙ&T•B¢2œ½ÁõË™•­/Ó'5¨ÞùmÚ³;ÆDÅ$¡xÏÌÉkäLÄkÕ’æ=»c(?Âq÷Ð^ÌòÍxôs=Qå`KÅ J­¿—Ò:‚x¨«¤rDÇ[Ê][ª†ì$Ç…ÀÕv~l±Y.ËÔ™ƒ-ëDÙÄešJ’ Yî’J®d|°¥œ=ØR±î§á¢¤¾YØiã£]–©s[*ÖÙOƈ£›7ô«Q÷ø–EÒ%YÐl©juÉáªw«Q³P \@õ2uá`KÅjõ9dufQ‚ë¶ŸZØ8Ôel)¶TlC["ý3-û8!Ì£ÆT¯($Ml¶T“ôz;¹—Âü® šëŠŠ¶”ËåOm“6ܽ¨T4Ó2¥ò§'å/åOõ4e˜#Ș"ÓgäöÄ @å÷×Aù’"’(Åá”eð`Õ’zsP~M‚™ØFIÃx} º(¿·åo¯Ÿ oÑ.Rù‡[.IÊ$©V~ïÊŸê2Ío|G’.›J9¸zè’)ëÊŸšÑ+©÷ÑÒãYÚ& ßÚ¥AµòûpPþʤÖûõg?7 YòV©V~ÊŸêÚ¿ŠlOòe[|ß™UÒEù}šâ¦o*h®*=g?‹vùaJJ‘@nt‹òû<ÅM5hÿN íVãoΙ «ò—)nº‚º‹A®ìyF™Ð=6- ZÒpMqS å>"™#¨j°]ÒËkÐEùƒ™â¦«¤ÅñŒŠ’„lC÷ö¤UR­üÁNqÓUÒbyœÐ0ͯL>rªL ZùƒÚzoOF&J†6„áêdNﺤ‰ûa m¯o,±PºÙc%£{UzÂAOKÕS'Îduâ6§p%-zâAO¨Ef×%™—þþ)³Gƒ.zÒAOK{ýÛÁf•xCÏɳÇjÐEÒ|ÐÓÒfß1U”KÉŠí«lþò¤§å §¥nÒQÜ‘œ¯C¯’^FKªõ4^=-u“F¢0<‡Q’<̘(¿¼¾ÖÓhzZêâ% ˜u“Ñ»Jªõ4Úƒž¶×Gòµ•€ ²ÅÍXQ~™ý¥œÁíy(’c„µïi¡¤Â`é)#^²:íuÎC1Ñïy(Ô[*?f±1÷ Ä[j¯@=aÏC© ·*7¾ !”ìFÙ mþ t‘4îy(”Óë^‡ºÙÆ4H>ÿ]ô4¦=¥‚f9•ˆ(ÁÂnŸ^¯®EÒEOóž‡ÒAC±rþ9xÍ0R툎z¢V=-{J-‘6"HDHÔÕøþª‰tíy(Še¥F¢ÀqààÐ ÚúFƒš=¥‚ÙBpDÃ9‰ _åqªôT_#ánÊ_y¼^$Ë ³ðNžê…¬% âo8¦¦q‚­µQ²K¹s… jó&'Âjj9¶'„ã\_¦´ú誧Ó=jEÐÄ0Ò‰ô¾´)“Ϩ–´\{…Le)S¸Í‘€[žm§©)bK ÐEO‹9'¾½È>†{ÊHPrZ¦‰Ÿ8NŠ='¾ÙRžž-ŒA¯®Rt ÐeL‹;'¾]$îGv†_*^íÜï[Ÿ8NŠ?' 4Þ#üÝžá"¸Ûë³4t€®cÇI—T’Ïè•´¬ïùR‹¤zí—x8NZèÈß‹áÓÀ­Ï\½H ŠïŽ“’ÇIŸ(ɲ8ªî3*O/ƒ\3¨Z¦%ªâC·úDRlœ S¶[( qÓ2ùúPI¶pëz¤Û»®üIÊmèRÆxM¾> JgWf²ü-#Òù›ÕÇ)Ô /ÔìqSÛÂ.qöaûÞÆ*’úÚ t­6ž|}Ûë[GwLÃÈÛÔXûFKª«¯É×·½þUèÖuÁ¼Hím5Ï-‘ TWל ]ß^i¬ÈźW+‚y€F=Q:nj¯p¨Šo¯w$2œn3÷ô6¦8µµ¤:nj¯xØúZ˜Ãžû%!m*¹i¢è“Æs§­ÏÖœ‰ ÷M7°ÍßWÔe¢XÄ:@W=͇­¯E$2NSÊ0åF^“”Áƒ t‘´¶¾æçÇ`Þ_éž–Ìü摈q)ÐEOÍuØúzì§)bù%ðlé×ȤÇt­Š7‡­¯I ¿1Žè;°F`èéòújë³5gBo}m¢à‰‚Ãì ³žÖÚÈT©”™<Bzi^lsÓ…YЕX.Óg_Îýû9ùE¥Ìä™X@oõ̺FIO¢bd zº¨”™<(’˜Þ‡lœ«”IÒt‘tòL, %AL˜• ¹y?Í tU©É3±"E U·.¾À‡ÞUÊÕ ïtQ©É3±–$¢e_P×& 9ÓEƒê­gÄg/Ÿ½>OT"(*¹<[wÕû~’ÐÑýLy&¬< hdJ%pï½Q;MQ&ºLÔ j7¾Ü¢æY¢„ ^aØR±ž¦ kíáÆ×@'ØuPla†³K–éCDÂZw¸ñuIqšFI>3¯’ ,`· Óï7¾ ´ûõqñƒû8¬·è‡ˆ„µápãËõ8A-‹Îí^s*sËCDÂÚx¸ñ5Püq^˜E̘(«ABt¸ñåvî£|óº±yåI­âÁ´¬Aõ]s&ô/·œ‰{)¹'q¢F±uãíyˆHØ9g¢¥4K.h q¸{Líx}±¥Ê¹HÀÎ9¨—s?XQ©îíÉÂ13@=s&P\Kä%Áƒ«‡9j!ÛºHj÷" è;‚ºfFÍállF¯Ü÷˹HÀÎ9Ûë£Ô›§£J•~ãË(áV’j=s&Ðû¢/œ¸œa¢r§iÔ ZO眉 Ô¹Ò1 §í…ÓËhP½Ÿº¸ Ø; ɈHô?g­Rz?ui/è’^¦% ü5@åÆWÎE¶æL¨" jɃÆl}Ìn¼fºÂ %Õz^×Ënÿ©ÂÖ‘1Ã7ž;ú¥â!ÂÛAé™°-ц‘+ÉĶºLT/!Í-]Œu­t‘ôáí ±8‰Ge¡—d•rð¹¿T³G0v‘t™¨|ZQMÒ„µo˜Ø†ÈÎTËáºLT>­¨VÎP$!g'*5ªŽÈ|=Iª'*û½€Ý¥¦R™ž p!ñ†>$¥ÏIU§¥Aá‹EªeìÕw)ÙúÒ©jžVÔŠT\Í¥*~¤ŒDáD˜@I§µ€"N†ù1ã£Ü–•±t¨iEm ḨgBο<$-t¨²°WP„´9CÉÔ×ïûQ©.`Çî™ÈmLC³'JeϸGÉ.•<åä™Èõõ£€"Y‚G•ícÊ4ñºRêž<MR¤‰ã4…M&:˜šÕ9.’ž<MR#´š Là]ÜÇt™ýròLè}h\ŽsE°­>ÊIìd’TÏ~9y&rýr‘VyðQ6óS˜4è2û'Ï„€zò5X‰C’¼Ž©‹B2jÏD9y&:(²ån¯³n{}—… jÕž‰ròL´1Eê nè’-ÛÉ™˜ôT{&ÊtFµžÂƇ›ndr а»®ÜÇ®œ;^¸k:£ÐLRÐàkSê,#•õ~€.ì·×tFm’biÏô`—߇$½†§—$+“¤ZOýµ_x}# ’‚‡¼>oØ¥§% ð¾?êMºæL¼>ƒ&ÆMãmD±…ÎèÇÇÞ ToÒ5gâÍÔ±s ïhcZšgÂU†ö ôuû…w€æ ¥L•êÙrÎË-zÒÓÏ5¨Ÿ-I÷=MÜË嬰˟è`È1ƒçäwÖ:a¶Ph–|~T:€æ)9º(¿³…²€Ò{àH¦ŽÞq ( ÉʺHšf eEDΓû÷Aêƒ+(«è¢ü>ÏÊúúEÓÜû9½!Mñ$é¢üe¶Pè-OÌÍÅë°öÖ …åa¨Vþš3ñúJy¡£åFèˆ5¼¨Vþ`f e}}©‹N÷ì…Vºùúän:ÆT[(A"¼ÕBQ QX2 [=òúRW©¤Uêm¡w0ÏcÍ‘*û›ÆnJfÉíñüR.øƒyÞ@ÁÊMž¥{ö# ðT^ß]ûG…ƒy^™ã^ ÒŠÑGf¥´t±k]$ó\@½8øï×GÓ05M½¤ƒÐ]”?¤ƒyÞ^Ÿ¨ÀR^…´‘ Qâû“¤ZùC>˜ç±ê)â0ýÑ=, }OMmòËë/Ê_æy½Š¸;nëÇç5G³O¯Aµòל mž·×¯Ž˜þyâURôÕ¯¿(4ó¼Išc·y¨k±“ÔøT)ÿœ3Ñj#}j*%ŽS\Î0Qv$µ²”ɧ‡æisÎÄŠƒ(tzhçîÈÕìIçÒP7çLl ðìcë»Wˆ{C–Üž t‘4쥡Ô Û¿Ð6ÜãhÝHmºôë/Êg_ßgÒC¦Ñ%Së¹ÐyF¥0EÍùúù¥þÎ:¦³¯Oƒ"ÑŽÇ ˆgï­Ï÷ÈYÍç ë˜Î¾¾4Áì±, ÂÓ€\#è"éìë[AQ· “ʱúF"ë£èÚnöõiЋÍGaó|ƒ¥M’ê ¥æL|´ƒ¢Ë’˜‘hÎã$·3Ч¶ÕJÍ™¨u|‹¤å""†^ d›AÎýñúúv’$UëøfÐÌ^?<:¥oo£AüT­ý9gâO×nŒ¥êi4 ±Ý–rB[„çäw=s&6Ð,9½œx7yÐjrË$颧5ÂkvP#}Îy´oÐâ§r¯%ÕWóš3Á«ùê$lœHÌïåÔ%Õ³¿\Íóä=o áj铆GÆ£§éS¦á๥.öö9Ó t0Ì’çÕ<^“Å*ÐE¥òä=ß@³—#úx—§¼Kü§è"éä=ß^ܬðJJƒÏ©iátQ©”05Q¡Wr’T«Tžê£vPCÇ t žZè§AõÖ—§ú¨íõAÈ´ljr#xÀXôª·¾<ÕG- ‘w±#_â•Lƒh.¤Të©X}oÎ’ O/Ž\´wí§i¥›@µVjÅáYRW¤:<³_ôD IµVs&>?NTeû™Ým{ßHLTРú¾_&«ïOÿSÖ~0íéY.—§ý´rtã9ùe™–ÉêÛ@QÅÂ\,ö8,½#[å— k{×Éê[@3[|X!@CC×ÃÆÒGb]$¬¾å¿ÚEËÜ4VˆQ5è²LË”)»I nrvÑòÒÜw¨TÐcº,ÓÆ3q”ÿ$½‰Êe_Óp&P½LKËt“´¸"}”,^ßÙADŸôª—iå™¶™ v9\ò™Tú˜ý4¬¾k™}ÝÞµæL¼9HZؘ€i¨>é8•12j>ªeêkÎÄ›ƒ¤Øž+n¹‘H#ù:® ZR;–é ¢(&#eJÚÞ(é·¨Z¦þ«ïã¨%/3Ò¦œc+R7œ]Ëëã÷gP¿d‚­³O«/JæÉ{ÞÈÔñÜ) ã¯Éê[@ 3ùßÇíosu°ÞÓÜ KËÜk²ú4(6R‰‰p7Pp. ‹¤iÈtI‘øÄVlÒ‡wŠHÐæ KËÜk²ú¶1Í’„•;_mLyßÕ’êÖÎWÙ2¡B:|={3šž4`Ö×WVŸ7“Õ·½~’„!šâõÓØ¤]Y@•ò›‰sEEX~©Èwì¯/Ð&PÝ/ÚØ= Z”ÇIÏ<ðð8'uB*½ŽðÜ) ãÍtF- (Ž(ÒÛ1 ¬™§:Qƒ.zj¦3jÅ~ŠŽR1Qw~¿.›´Í{>¿œ•Hnñäî€C ¯ßj#Ù“  áœÏïí”…´€FR+Àê‹ÒÝvº›Ò×7@•rSÒšØy(Ù ƒIS¡_›@µ¤Îìùü4 żŒ¬èíÇIUþpÎç÷nÊBÚ^¿€ ¨Ð+‰Pq—3ò¡L’j•rnÏçï’"´‹Eï£ÔÈ7_Ÿ“*ÎIR½Ÿºƒ¯/´ºô‹†ˆRŸÇ†"½ñÜqCq__-‰iÇY¼sqj›4è:û__he7µû´•|ŒÞ-<7S2>l(îàëë’¢…Úñ: ¡´×g€W®³ðõuPš’™ac¦õ××µiê$é2û__¤ĘÚÒìv7]&jÙPüÁ××A£”0'IA¿ZòuÚ@— şΨV äDO«™jGFwÓô RþtF5МŒT߈Eéýrð¥•ò§3*U•Âátø`a–} [êZ@IOgT-rƒ€Û¨eåõýº¨”?Q­@Ëzz‘6™žÚ$í*'IµJùÓÕê£è޼d¯¾F?¾Ö‡w’tQ©ÓÕªŽPëì$Ø3¥Šf-é¢RyO¾“ÖJ¯@¤ÇéúEB:^à¹Sòµ÷Óµ€ Cá-0I/v#ÖwÓ|N¾öa:£ÐÀ nª”—¨œí·“´€jIƒÙ“¯+¨'Ÿ& ÓÂHgp¦m(e]T*LgÔöúQø¥lmð9Z“Ô»i>'_ûÊ3¡’¯ûDÁ4cFº»û)÷œI¨V©Æ3aO’‚ù [@¹¤7‡_ô4Ÿ“¯ýÜ›£ñö„F…0|(RÊdÇÝ4˹ÿÀ„åçÞ (ÒÔ³IÅa;÷»Õ÷À„åçÞhöNj…kª;a|]$òúPOFa¬ýK¨»¦¬NÆ£èªRS^ßj™&Î}ÅHÆè  å ËϽ9PCN!P4Å"ÆúHÌZÒåÙzs@/f ±Ÿ»pW¹Á'–1Õ×Èš3ñfe¢õ”d͵`½›²ÚxR)}¬9Ÿ@³T\tÉ3.Ó¬>+1¾IR}Œ~g ·ý‚Ó4ÊÁ×ò¤±a-©bÂeòÆ„Zd³‚SVŠ:beŒL›AÕ2s&Úq¯ªüFV¸/QÜÐ=FªŽðÜј˜s&vP˵ÂÖ”9htY¦sÎÄŠE/)œ5|z‘¤%]–éœ3±€^¼HÜ;?®Úló}õÅxÔ]–éœ3±½>xµŠùBaÓ¨;1‹¤z™&³ñêm)'שі¨æóO’ê?ÙÝ˜è’Æ{ ‘fJ.)רäbúí$©Þù“;¨TwÉ·"ž«˜õ‰‚žâ¹£J%P©‘HböÀË?âT D6œº¨T •êa'–´‘Ûää“ÎZÒE¥R<¨TÈÈÝ4$öêç~¤»c€®*•*ÕCG‘±OB¥&†vÖšO’.*•*ÕÃqÑ5›‚îŽ:=5O*U*Õ$Í™®NäçÓ´l8f‘T«T¾öTÑØýü‰–4<‡¤\Y1âC%—ÏSUüŠÔ{Ü÷ ÷êÁ‡bëì?Trù Z-³ÌZ€Î¤U ¨’¦ç”~«@…ùî)‰ïwg×úé:óõ­¯Ÿ` ]r$é¥Ò.gIKú{ :u ]@s¹àóÊE1Ú~Z9e'Ð4¨ÛÛhtP8¤p7LÃéÝÖ® :ý6Ôœ ÕF£ƒâ: Ò•8QÓåŒi“J©ä–p…=W2†:û¨IBDâbÒ Ö«…l1œs%Ã5y&РÞu;&wr™æ<‚,¹›@•Í*Ï„ È(îu†‘t{sSÅ!¨ Ìª6iw¨8ŒYÆ]rïeî¹3YîQù\qÜ¡âP@=YßÔr—ÁXÉí ‹J¹CÅ¡€ÞGîí0ñŠ$_o÷¨|®8D”a«8PËH”röK…Ú›Cû¥*(ïí$ÿe%Wi¾>ì†N©¶új΄öKÕ×GWwiNAJÛü§Èøó ¨ÚP|Ø•_’l³ã…ÿÛböÓ€—#Ï•ßÇ]ù(šp1¿ Ás”0Œ–ŒFÐEù}Ú•_@=½<S+iâSÑYE'ÐEÒ¼+E‹t£Ë/ÇaŸ²Úx€®Ê_våPËVäþtNŽ¿¶y›$ÕÊ®]ù(Ùy7•\¬ÜLI[)u'P­üÁìÊ/ †t}RÎ%&u³'- Zùko¥üzÑ$¡ÍŸ‹p­4§lî Ó˜jånWþ&é%®‰ˆŒ!¸P¥üÁïN„šYÎëUÊÓ»{Ù±K‰žš'B»A@#{â—bŽ ¢ýýÂè¢ü!îN„šñ—6·‰ralÒ4Ð&ÐEÒ´;(ëF:ª¹fP•Ò@ ‹ò‡¼;4ÕÙϬ²vBŒÑ 4«%]”¿ìNöW&žzÉwÃ@c¾Ôª•¿æL('Bå®…ÁÎæ-eÕN„–3a7P¼ä%¹ç¡’UöZé…5ƒ*=vw"h!—,3ð ýü©ôb–äP½¢jÎÄ›£¤Yº†"Ê¨æ ªTKêw'B%h á#g=³KH#&P}Ч3ÊŠJQsæèèË´Ö劉Àaˆ§3ª‚f\²@×—é¹’¨ï, tY¦ñtFÙ:Q¸¸Ô1¡Ý…Q(§éCà0ÄÓeë˜'í׌‘¦ŒSŒ/*Ðe™ÆÓU_Ÿ«Ý!$—F÷°k‘T/Ót:£l½FµÎÌ.f6Ä«î§ÃNgT»}¼¤T¢Q¾îüÃNg”$‚²”góÅŠ¦žˆ8ë1Õ+*Ψ*iFPÕ‰ùÃRÞjõášnPµ¢fž‰êD¥båw’-n' …¼=xî¨ü3Ï„ež¡L{íœëG7CœtQþ™gâÊ¥:WX?_ÉÕ&ÐEÒtP~×”?0Å0S{a°—ü]”æ™Ø$MBÎä3ä̧)Cƒ®Ê_Êß@Ùž J¯?T-¹=¨Vþ|”¿–’Ä×G=Š‹ìüîAù³9(¿«ž^ö ÌÅ‚MáG˜ÃêÙ_”¿öæÐÊß$­< M¡¤›xZ@•ògÅ.&¡£Ôb|(5d½œGŒ^¦FO¹;#ÉqìRŒFN’j÷q™:²- —W Ó³g~)Ù¤Ã9/̽9šO:5ºB¡9“†iò¡POã9"ÝÛ"©ÓJSª«¤ÇLQ Z¥âÜ›c%=cÑìVfî-éIí‘HÑ-\y.Vs”©¡˜’ñ‘ˆsoŽMÒ\~#݉®¾ŸÒ-7Iú{ :e!- Y:|A<@ót;I ¨R©xMYHûDéÉU¤Tgk~©xŽHDÕ›ã3!WK‘i`Š‘NÝ@ãD¥3__T½9VPä‘ >ñ•óP)¯AW•:ðõuP/9h|ï·ñ×ÉÔCõ ¥3__T½96ÐX³®-¯Ža¤61e€.*¥zs¬ NÚÜðª'êçPíÓtæë‹æÀ×—d*•e$ ‡tç¾Õ iÐ__E÷Sاé*‹A§Í0Çôúʇͯ¯ƒÖýxåž4$]lUzjü9R"#mè–c7ÆÑå.T[ê!rºG)Pé=Î>¼—p‹O¶Ô¥@=5ê¥@1¦Lf¿Ì"mN[ºXÑ ‹¤iœuЫ³`)•‰`©¶zJ‘³8÷æhÅ,©ñõ±Ra8–ÞD«)žÞ‡ò°8÷æX@/!ö"Rw îcVÇ ÐeLçÞ(m©Â®5¹I*—³‡ò°8÷æØ@qq$ÉEÇÎ… h€.c:÷æØ@ᥴHq`ÏD oµ–T¯ý¹7Ç#¯<¸MÒÁÕ@CU©‡ò°8÷æÐ …7ÜVy`Ð菉>†Y¿¾6ÏcÍ™xs~}賂‡ ¹™=h§cµJ½Ñ q/ –^Iz¸– Y¦åa±öæPåaýõ“©aIdíaŽTÝåa±òL¨ò°¡§B‰X4VQ÷ !ýŸAÕÖg'«¯õä’”aP¦ÎÕÂà©É@ñÜ©#[t‡ŽlŠôð" ‘WžÆiÊ#z€.ËÔ:² hbv õÇJi¨§)è t‘ôБ­"©“»”˜=ÅŽ3ŠT¥tY¦îБ­½¾¡«ÓJ“;è`hfhIõ2u‡Žlm¢p5¥«3pCÉ=õÍ?4¨^¦îБ­’)¾øÚ=³Ä~š^ ¨^¦sÎÄj¾T®QÐÀ¤ÇÓô.y'Ë”%;‡¼¾8çLhÐH#Ÿn¹ ž$7²å˜×7@W•𬾔á_‚ wÇÔäo‘tU©Éê[_ß2ŸIPÏÍjêëè¢RsÎÄ Êh ˆtÌt椻-©V)äL|öòÙG;haxCº»sLGCºê— Ÿi•òv±\½ç¤!  ¯Sf²ùÔž³:£?°‹ (²X”e u®Î[²]fßØÅº¤Pb\#SG÷ðõ‘Oz]$=°‹5P‹c=¸é=¿â”ÛSè:ûv1udªZ)ìWžÚÞu’t™ý»˜€"£ùªz´ûQ‚±è2ûv±&)ûA 6ò’nŒm?¥ûOƒê ÅØÅš¤(ÛlíÔI€9)TŸûáÀ.Ö@Ó”x“:Q­KršôTŸûabni CÙÕx6ixÐ\–J‘±ö™ÒŒçNTP1LÌ-+( -ìyA ê2ÊÃÈ40@åsË zeIj-R ›ÂÈ?¥£{]$˜[4h`Ï8ñö°ü$Lù§Lk ‹ò‡‰¹Eƒ¢|¿Ô‹kzÔœgUKª•¿öæøèJ•‚ÛÜp¢F5‡‘‰IR­üaªúç7æÂÜÈ“N|éÿ%j^¦Da¯@×ÙŸê£VII’†[C!‹ŸÈ*ÙŽpÕ’Æ©>jÅf‹¤VO“8U0¯o€.³§ú( êIÛC‡TŠâî^I¿¼¾žý8ÕGiPÉãÂOÏ|ýPèªg¿æLÐݱI¾Ž™õ¦>J.& O ÚÝQs&èîР–¥¤f~ÅÞéŠýPeóÏ9Í×—Å7N2qzmVi8`€çòžÞ9gBƒfQ~x\–¼ž1ÐEO眉URöÖjÕáaÐÀµä– t‘ô{. ‘wñFƒƒ[^î)Í6kÐUO¹çZ˜Í)Mâ “«å²Hªõ´åL˜ ”½–…ZÈó’[šžæZ;jOoëÍaO —øâa©ªt¤áäT©T:Y}µF‚E~FìTJÚS›„ )?Ôò ‡ånõÕjÔ,ÓÝo¥æÌ^z%è¢RédõÕ P`0ç&OÚÎݳ]$=Y}YrôÍzZ%>,•\tQ©t²úb=Mqd䕯ß[çµF´“¤‹J¬¾(û)sÈá<1lñxM C$™@õÖ—NV_¬VnÃDÞÆS0VìÓ‡Zž˜NV_¬[ìSlžŽ9½®çI»zߨå‰ùdõå¯åE¢¤˜+- ç¯~ýÅê›{süé_Ä'S½ðb·AMÊmÝ”ÝÁО“ßY”îÍ¡A3«myi2¬7Mn¤à‰ ÓAåŸ{s¬ –³o9C¬6îûiÝ¥è"éÌ×·¼¾á&m¥H@x@ûŠºè¢üsoŽíõqîã&Yeã U‹¤ZùçÞ´°T†-bßúò ª•îͱJZlÝPl`>»FæZv3êsîÍ¡AIOS'*—ên[^IOáTmÒ•gâÍ.ia3c’6ûñW?N.£A?Qé qîͱHj„èŽSöâÌnØüY+¿N•gâ;òPölŽÙÏn±P&P§@k'ƒ¤–»3§·%‰*Ã>õ‹¤ŸkI+»ØARìE’l*Ým½ ?Xy0ƒjIåŒúø 齡"M@šÝy{FÎ –&Píé-‡LÙ\;]á:‚Q¸pF¡qâÈ™ %Ÿ“c9dÊ6P–#bª¥@ÈOd•r9ËçdÁX™² ”é·1c]´Œ²Ÿæs² x~¶dÁza“Î4ù¥ãÅpÌȘæs²`,‡LÙ\ûœ±0’ø<­>3% „åõÕ.•®C¦lŸ(… ½IƒÚ¯‘Y¢æèGô)Û$M¸ C ruMÞvg˜@_kÐC¦le&aa®`ãVm.$¦4Ocª6”t2eskó†¨îA$mé·lw¼€Zꎙ±/Ü!iâfÕ×>_¿œ3iîÍ¡AÙÏʶ……‚Ë0ôT3åì˜IsoŽ£1_8æPk‡¤dš@IÓÁ1Ó@é4Bn˜“Âà~ã+rœ”³c&ͽ9vIo»<±¡7½f×p³m’tQþrpÌ´°1R›29ª±L‹5gNO”vÌ$s`“Þ``>¸o…¹òÜOíäAÊ*…lÉØÅ*¨%•~‘Í -ÈÃà™`¶Ü]fߨÅ*¨ò'ô%(4¥a  ÁÁC![2v±Êþ6 =f·p;•Ýp“ Ëì›»X}P—d:{t;Âz9›$Õ³oìb]Rã‚YϾ°gï× e]fÿÀ.6^ßXÒ›Öï÷|©"ö骷>s`+½Ï™µ/‰2õ}?5Ž›ÆTo}æÀ.ÖAA¦W˜ƒÌŽÁiäŸ2ývU[Ÿ)s–äŸSAÑ’¾bVƦfKÁƦJ™3kS²S„w ,â…YjoÓP~|tQ~;Ex7Pð QP[Bå¸Hº(¿µs–E S.-ÞNls§ÚBg€.Êo§ïš"P08P¿ß©J™Ô’jå·S„wM4É–¸KÅ2¥6 ª•߆µ©ƒ2§éb§ôŒm¤pÿ%ýúêvBãkemꯩÉtIÓ’¶#Y›ô¤Rêv’lÚ]Hr1Š/vc–kdè—3±ùËCà0ÙÙ{¾‚BFæ/ñõõæÕ†y&;{Ï5(bG†_Æ Xo¢"™å!pˆlÈÍ…TA ƒ'Fšû¢~\x%¥¹<“›½çÔ±ã“J[ÔfÓEOÝì=_AÙͨ(ÄiçTëiÍ™x}Å2-ÌfcY¬ã›@õ&]s&ÞAá˜bŠô¨(¥'²L‡ Ú\HD}ÐÏ d¸Fγå&=ý\ƒN9ÿõÍŸ´—Ýà¤w tßÕÝ­)ž“ßY”ΙX@­TEx^¦á”m¹ç0¯4è¢üsÎÄzÏñ}€ãÂë<ð¥ûùÍ"éªüSÎÄ&)³yÐFŠuѽ’+U?ÿ]”ΙØ@Ù9¢–ÚÃ?3œ«¤Zùgž‰m¢²$Ÿ+cêF<ŠqÓ T+?ü6Ÿ½|öúZÛ££ê˜íGÂP’ÛÉýL+¿Ÿ¸Ð{†Ê†l$ö¼ÒH[jHª•ßû=t$eØIpÉ ,Œr޹sÍ/%cêÏ¡£ä§{ÔÊÞhÇë…¬r„Ž‚]ôÔO÷( Z˜ÏÇà“X´Ž^Î&ÐEÒ´‡Ž43¶Ç“Ú ûíð¡H ó]õtºG­’²“: eøú¨ëÁƒ %]ôtêq¸JŠˆÍ‘à¥ùËD_5¨ ¥Æ3aO*}žŒðúžÓë%Ì1ƒªsΙhYHõX«Ø³®+ÿwS±úÂ9],Í9+¨ÅMϽš¯Î% º¨Ôœ3¡A3ù^ Šjô…ÃûÒ ‹¤~Ok’²ÚØÈdê“_е<tQ©9gBƒÖ”fd]KïÔN²Òmþ!©V)x‰Öt±&)“¨Ò±VZsM5gIêt±4çLô+OlÁ™(ØØ<šQšfŸÆ‡«ùœ3¡A#éÄ„SÝJjÓp"Ð×7@×ÙŸ¬¾ÔFÉ™ðÒ“ÒL-Éä¾®æsÎÄ nRŽ©1Rt|õÙg9Ã]fΙРèe—øúN²år Úš†3IªgÎ™Ð Ž¦³4c¶R}Ó2»¬ÔšO zöãdõiPËNl¼ßÄ ÙrSU¼žýÅê‹þp5¯ Ö0>Éíi;¿G!®S}5áp5¯ ÎUVYðõm pûÊ„5ƒª­oîÍÑJCKeÁ#;(òP, Ë5ê÷å•Î%Ìiîͱ‚’jÜ 3=ªo&šb–3 ÐEùçÞ4­‚e°Ž„­=td*'ºHªØÅ4èe* ``Rk(£ðÂjIåŸ{shÐDö¡*eRkòƒb‡YH“¤Zù“™•-$•¶Fߊãè:¦Zù“b›A™Ýa¤¹¯cOJ;v©UR­ügœ@ÙŠ `YÈE}»ÝLcª•¿òL¨æÒÂq¬äB¬+Ø´Ÿê××%ÌŒao÷ýÊ,ˆ®Óœv);õ}LSõJæ‡û~šâQÔ1ƒ]¤­4ÐmÊ_êΟîûiŠG­ ²0ØKY¸é·,˜@Ióá¾__eÑÒ•°VÅ›þúI¿þªüSUÊ5O/ªE5è¢üyŠGiPþ‰Òƒ›µ¬¹¥à!ÅÑkP­üyŠGiPD2¦—ð*—Öâ‘Á ª•¿æL¼ÙAwI“£ûTMVšQ¶œÞ"”e¨¾òTž‰Ï èq¤ó$D ~ìü^ÏþrßÏ~O-•ðJ•§×³á(¼1@Ë9U4å鵂Ê&éIb±u£3B§=@åÏÓ=Jƒ:qGÂ0Mµ@¨Ö" t‘4í©¢jy4K"d*Z+¹³•¥y€.ÊŸ§{ÔúúlƒÅ(¡v—¼BIÒEù'æ R™J¬XX\Zò5˜–1ÕÊ_&v±”l!L/rÇ¿ú닳k€j§l™ØÅ4¨p!Èëg©ÜÑ, j“žy&¨á}ÎÑ¿/‡Vب—†tx3Ï„½õ&IyXÔÉ3Ñf?I1Ë]ôtæ™XA܃?NJ™r»E·]j]$ »ž è%c „+‹Ç¼m}÷BР‹žÎ<ë˜2AÍI&;±¶Ù;™$ÕzZÒ®§ê~”wMRtuõ‰Ê 袧y×ÓZ¢²±¿©—…ÕBñËD-zZv=m¯rjNTð²ó‡GI•ž‚Ë|3& “-ýûuFxeZÁe¥(Çs'c"_f7&(XT9¦µggG›Õzš/»]RxŠ ü÷V†nR-³ !¢AIÝnL¨§I"¼=I\)£ÞÔZúéêwc¢IÊú¶Î+­¢|—”0O’þ^ƒ†Ý˜h †cê$`Z˜‡) A „&Ð4h܉Zà ç›çì÷f?>o’¾Ö i7&Ú˜² K‹™ƒm[€;ÔŽè šwc¢2·ÇUûô™²¡fwLzú¹-ó5òVPÎ-%VÆæZlÇ실öH_Í5_#gPi˜(eáŽ<­œÁE!¨ ‹ò3_#5(…yî{I— Lž@Ií|Ô¯ÏôD%ÖEwŠrW«9è¢üÆí~)C†C+I=6’»Š¹'¨;ú¥²Qìb hÎõ"‘%0Ÿ:hÝùè:¦Š]l•º(nžRknÚqâj"ƺHw¿”€òKÈM× ‰²ë Ñ(ÐuL»˜~ý+Im$,cdN¶¤Wy&&Iõ†b»Ø z±~÷GËZš6”°¼¾ÞPŒb›Aaóƒ®0»Š³.É=Ÿ@õ†b¯Ý/ÕAa¢€ )–´}ê„K~Su5Ï•gBù¥*¨a %7|ck VâQ3¨:Mí¡“€¡õé+•¾“”.hXËC©n9Q(ZÆUÄ‘b'6o±,zª¯‘qêºIê.9ñ¤9E‰Â×2ûºŠoö²VqöÙ7XCY*¸¯QتŽfP§@ã^Å9V”œÍ8ðéDï’¦ôs-iÚ«8‡¤Ñ ó'ÛFf×%™3¨–4ïUœcö˜&B²bü(»©±“r¬â̱ÌFE!©‹BËJ.¤àûÚwµ,ë:›=é:˜=4f!;•Ù¿êëGX’ tÙ¥’9˜=Š‘Ô³:¯áCI¸ñhÐER{0{4’¶ص3K+ˆ(9S Ë.•ÜÁìPéGh¤ß@í(I‹¤z—Jþ`ö´×¿ä@º$±­$×_™¨ÅìIá`ö(rE¢PÊ“²3·„!´¥^$ÕfOšYš+¯¤-¼ÑH.ÝÞ+>5к¢îçNL­9Í,Íœ7’Ó¢ÄBW©¤AW•šYš7Ðê;ʤ.ñ¹i«I4G¦VW¦Öþú,_‘â]Ôð–^å‚]T*Ï,ÍuFRkn­ô§+êZ$Õ*•g–æu³5[Ž\H=KÞåT|yòL, ÂV‰+Ï=Ù(¼V_Z%Õ×Èš3ñæÊ*³"­H8|«Õç•Ò×È<õÚ% …½¼DåF¹ðIõ52‡©µ«®ÃE@w‡øú†¤Š©5ç¸3µvIÙƒÔŒŒ?›~;1’04ƒªeš™²FœÃ‰i,”!iUpÝ”lkßž#ù);@SBÛc]õõ%ÈÕA—e𙲴pÑóÊÌú(32º[‰=G$Ê!SV@q)”Ô&¡×²ý8iTö‘(‡LÙþúÚ·ÙcXÌRZì–kÐ’êeZ™²4KÛ鋉˜lò×òPj·› T/ÓrÈ”’fÖªxÓBG¸S ª—i9dÊvP{/xå„ ÷6¶íj>ÆT›’å)ÛAÍ}‚§OÚ•VÅÉ6² ¨Rþy(.ôËáŽ-Ê´É.U/g÷s§<”\¦3JƒÂ{€5dåA…LÏ?µ’†3@å/Óµ"Œ-†UñýjШAIË!¥½~!)€­ô=l Ь@µò—kî¿JJ~FÓHBHTRÕIÒßkйWüöú8êÓoòù›¤I²å&Ð4¨=ä¡tP\qÓ ~¿ŒzS‰H Pu9+µ7‡ÎCP+‰áŽ´bìl=ê£VIÕå¬Ì<Ã@ƒÂXé!ƒˆŽ%}ApS-€ú£y^fž‰Ô’V4“®ˆÊ?quJ,ºƒj=-3ÏÄŠ¥t«â€`oè¤U¦†ãè"i:™çutËåš8“I.ÞA“]õ4ŸÌó&齇¥Ú@00>Ó”¿Ñþhž—Æ3avPO ¢F@ãˆHH8nHªÌób®“y^%½ë¢]Kò0}E‰£{HªÌs0¼mõû†Œ±d:÷´e¢úåÌ4?ÿýÜ©~¿˜©>jy¦g†#Š-º¤Q:\ÐE¥ÌTµ€"—ëo‰k@·1jx­× ‹¤S}ÔXpx)ãÚï;¾)8Öï3ÕGm¯."žÉÇÒq4öÎËëk•2»Øjhž#¤á… õj=&P½õUž U¿_AåüttKI³ô‘Ø–õìëúýR{s¨úý.)<¦ž]˜ÍeF-O¹´Jé­OóLTw}ãV¦(²• $½Ú¹O×"Aã±ÙOÑ< 41ÎYhIЉ³«ºè©æ™X@½õ¬1„Ê•l]$U< ôÞì XFLötªãs tÑSÍ3±HŠ\xEŸ¯z­¹kzÚ%Õzªy&P÷1ï2z·›(}$&P­§šgBF†yP¹á´é)óôëk=µqoöÓ%ÙväBlþ7½j8nUzjÓ!¹…uZhdIÕP×~œHªëë§crK±êµ€ra^lÅæ¦4ñqáMÇä–bÕ=j äíAv'vþÑ/ºæ¤crKq×!¹¥’FUˆ¤±¢ÌðJVåOÇä…Î~æë£K½“6çUÒæ–ËÇ»iqöt7m ÞŠ9â„Tµs"ÔŽ(tSçNwÓ,gT›ŸÛj«Z½E_ è"©?ÝM³'ðYòr¤Kp'Z¸‚]Ç4œî¦õõ“ðö ËáíWžIõÚwñt7ͲK1ª‡‰—Õõ´9òñnZjÎÄë#(jCj¨}“[³ŸVÆ8¾Ö ùt7­ © ./IÈ. KºžQùx7-•gb¹›TÚúayfIBî¹=-¡}UŠ¿NwÓ"*¶ÖÕsLmḺLËñnZ¼9ÝMK5Ðb’NNÚFw§l-Æï ‹ò{{º›VP“‹d^²wªw]¥lY@IÝénZ_e$¦LXà?GOJŸž^¹›Vž‰×I‘À@6°¸%ímˆK‹ P­üáäëc†¼=x}/. #Ó-Æ'Qóû¹ã~N¾>I[«¼w ®‘¨yêÊ_3:誧'__%£”—DŒ4HÓ&骧'__{}ܾxe&Ó@ËôZ@='__õrÊÅ6’º´Hªõ4ž|}íõѧ•=kí^Z2f¨ÞOãÉ×gkìÄIìPØ+ƒ ª¬cªU*ž|}íõ鉺§½rw4wÇAR½ŸÆ“¯Ï¶ØIfࣀæL¶Ç¢S•Ôž}}ñäëk ÁHˆó Ò±½ùÒ ‹žÆ“¯O@##Û5?SBäÊ.6.’ž|}äõo­tlÊhFj“]^ÕÓ“¯¯I ï l)Ïú‹ž%qY$]ôôäëk’òâhÉ¢ŽÌ®ª±è!©ÞOÓÉ×g§€ ©‹´yë’Vó|Hª÷Ó4Ý£g—AS24Jcºò7sw¤+iºG- àa"?r%I÷܃±íˆvG¸’¦{Ôj¤„ ç8yAb\@I§{ÔŠ„~›1Ã)Žƒï*tQ©4Ý£ö1 ? Šhfo(}ësG¸’¦{ÔšH*BnC¦ÓÙL-  zëCÎÄJWAsë<yJ§Þr;é š®Ôœ‰7PärU‰ &,ùšTâŽ4pàˆ>l}´>Ãô³§¹’5½Á>„9ò) ©Ù¥Ùf*Z×Óf¡<„9ò) I@­ôsªðµeJVH ºHzÊBªnìWE*.˜…„|þð$颧ù”…Ô$'úŽ)µ#AÝö!Ì‘OYH  ‰0zÑ9תx”øOíC˜#Ÿ²Úë³iŽ“´Æ‹$c T|}ö!Ì‘ç,¤þ°‚‘”eq‘ùüÌ\#g÷sò;«JÍYHÔH„7’¾€5QƒLMþèªRs’½„E6H’d¤ªŒzjÐEÒ9 i“T’°˜+§>¼®& vÐE¥Êœ…´Ži¬ C9Jù‰ ‹¤Z¥Š9øù-é>XÆNi8©qØOmÝeLüüEÅ£fPп "Ip#iÀ[ØX*¹ìƒŸ¿¨x”–žm:¡j!ÛTÉÐERðówÐò"y}QÚŽ7gW©Qsûàç/*¥_ŸÅSdjµÍëÑcÑ—–t™(šAeÖÅ@³œœNýl+y…}ðó—tðó[)# wþÜ-+‚¶h¤}ðó×ÞÚÏ_%-µÕ[Z;öûP/Ä53¨ÚPÊ)e[1K¤) *}3uà K¶¾tÔSƒÄÍ]O+h”[4‰…'8Û2»:¨ÖÓÔô4É25’ˆaS‘ö<#! ºJjzZAiJ‚hIjz4ò’."ôÓÔô´¾¾Úw{pŸhù§ˆªhP­§7¨?èi­‚wQ²ã…O®°»Zs6@?Z@ÃAO¥<ŒZð÷‚~©X3fÆë+=5X×»žŠ¤`VhùRŠh! kÓ j5hÚ(u‘~‰b‚˜•âÝÈÊû–‰ Wû¹¥î š»ž. žYòJ¢+ wÐMOK×Ó ”ÅKr9ÃÆ<Ñ9 ‹¤·¥¹RêvP$×>gÜîF>µ¥ò‘R÷5]O7P;Ð'íd—ššý-颧÷‘ÑÜr hdµ5Òú½ÈéNÙ²ŒéGZ¥Œë¶Ô>¦’€‰[±ª6öÂØ6ƒj•2þ REîQAfŸõ6S€»4?ÿýuV)*Uäõ/¹šÛÀê›Ô8»R%¨ «JÝûÙ®R¥º;‚¸}”Ö±ýíI7•J•*õ•üKMäÍ'¶kdrtS©|P©:¦¬…Žš>¦~ÝTªTªŽ© t[ðõÙÁÑ]ú…·<¨”½*U‹YÈ£Êp·÷¥ßNü:Q‹JÝÛíÊÒlD ›¨°F‚ Söq½òÜ~bi¾AmW©´6Îð LÀ7iÐU¥¬ë*µF‰GE¡×²Í'kw† t•Ôo,Í4K«nªÝÏœ]Uʆ®R›¤  Cê„Zšxlaã!é¢R·=´²4 (*Ø"M”Ãã§Ô3ÙjÐÏ–ÓÔ¦ý¾ïšK^6¤€À|LÝÕYˆ÷s§û¾AWàí¾/ FBÚ`Qä˜ö~'¡¥‰wÐmöǵ€ZÉ´Zžº.ÓÛ.ØLIE¾”“Â[÷~Ñ¡•ÚÐUÒ¼›’ŠÎ[²¡Vqvö†P»ÚÐu™ú²›’MRz@\ÇRû8ÊmkDbHº,Ópí¦dÇ2,3ŽKîò¾þ²ó³›’}ö3»‡u\ߤ}\AµJ;Œ‰ÿÙŽ_%5E:¥%& ¸>Q5ià~N~gU©à†1¡ASÙyeÎdgm~)ß’°:èªRÁcBƒf6çÀ y(vØüð|, «¤a«¤è÷R™êÐB§Óvåo «J…8Œ‰uL³xÏ™€iF5Gl4CÒU¥Rßù7Pdµ`“Là )·rÛºìü!÷øþêéêeTŽYÌ‘ûË]3¡ôøþ®R6‹÷€ì½]6’ZWP­§‘+êÍQR’“J?w[$:U7éËiÐ7ZÒÈõæ i`vþÀ†¥Ô£[׺H:ΨMRò3f¹Hä‰\ͶӴƒ.gÔmØÝzúñÔ±„\HÒD¥ƒ’gCééÇ èÁ3AÿFQ²åPÊ å7›ÑŽ“xðL4Pt“&ë‹XÝhöã­]×~麪Tž‰íõÑÚ¹I³4t€JØxHº¨TЇ‹D­A¿6$ÎÜ'®Ë#K¾³ Ðå8Iép‘he7I%ïÙ÷Â\Ön'Y¿þz‘Hùp‘h2-ÑmŽ.Ì®0ÕàÁP©å"‘Êá"Q+dBäÁgoÔMSGÇ฼þ²Iß{ø~‘¨’ZIi†»c–w­§ëE"›ÃE¢Vr!W’Ú$ý¢GY¸©O z™æaõõÔ{®l'lêìÉÅe;{C¨‰.KD èó¶uíåÝ%eá×8£.º.Ó<¬¾æY›Øá2IÚp-Qƒ®’«oåŠ* õ¡ê¨Wp§¶õ¥c‰ˆÁQ±•ˆô׿U 5‚žcj»¤¥­¨t,1輕ˆ4Ы0W|Ÿ?7³'KD í·‘ê#É‹³änôºä Ë2½_d+éåDÓï5€b–vᕾÑcºhåÚKDšžFÇë3¢rsa0Ž–¼€jå¿Í¥ôüi ²×g¶~@‡›4V”ÕcŠß¿A?~ó§ÿô_Ê3Ê`Lÿå͇/¿Ì/â–CÖèšœÔn8f¬^üùû ”+Ê@±/‰±o™Þ—[ÕQ#ÿ@íÊ厠Øó`§9ºû³‰mRð0@ÝÊ3Êï d‘ PJðô#Æ×˽dËM ~åŠ GIÑ2 7]c¥rЛKƒ†”+*' d%TÎ?k†¤Þjи€rE¥¨•üpð2Æg{k=M'д€òŒÊGIAhÖ¨ô‹ÕsŸfÏš¨‘œ‰r”4Áˆ.O]È#±lhY@yºþŠÞÆà=w•·®»:Å);+ÿ¥AeE™h’N’«YÉuût]QFƒrE{œ(W[²Dî€SÛÌàP«A¹¢Œ;J¸KÑ+éGÇ ÆP§A¹¢Œ?Ž©£;i«”l³ŸP¯A¹¢îcóÊ$Ió*¦‰\SºØªR8vgP®¨ûùã˜f)7bBéJ<”4jP®¨ûÀØ@{±XésÊ„¡)¯oY¦0ºfP®¨{Yv)ôl‚ò{¦á”‰ývÝO±-L †+êÖæMRÔÃqúÙ³Æì_ëD Êe+Ê3›‡-©R¾…ŽZÃäyç×+Ê0u:£™é†”—S®¤Õ»Ô§úŒ‚Ÿà=QF8» =hÈôÜ—ÜN&P»€Ž{ÔÇŸ~|…›@M’šva6qhÞñRtñwº6@Ãh¢ÇPx_­t¶›f_nZæ 4>Ijys²’ƒøD˜ÒÅÔ>¦P¸aµ!$‡gÍs(Çh~’´ÐÙrµÛ4Á嬌sŸ¸@Ë“¤b˜B¥ +¹’Ü@íõŠD-㸤ⰵÏ*Hç'h|5Ï ˜E&‚ؾ­6’õMO ö 4’\ ;`)òúÍè ’}Œä´P÷Êo¹I£xt%}ç‰ AËèÓŠÂ ¿DÒ˜¤í`o uâ O+ S#HêËšÞNP/m3ÑHùôiE%ö!bmÈ=Q.Œ2Æ–3Öä O+ê^óløaY"Iê·v*’Ï2¤ЧÅ4œ$ÒdÚ5’ }ZQöqEa_’„¡c&õ†E¢‘èHuO+ Þž{e$š¾lwæGÝIЧåW”—¼4‹ŸÜt5çÝÔ™§åžVT$© Ò ‘Ëڢ΅ä¤;Ò<@ŸVKC£ø5%ÒÙr{l’æ¾ð¬=€>žQAʬîSNn|! —<9»°m=€>­(x{üà-ÈcLKÍD@—âÐÇ3ÊI¸à:Ñ9iÀH›7Äç@ŸV”©u›–IÈðQ6–¸ôiE¹Ç3* aa{"oG¾Œk}ZQîqE]dêcsh–2u.y×}ZQþqEéRoºyêxqI”}j@ŸV”g¹©\Q«ƒ¢µÎ u™Ú§åŸVT&é! ê‹^䨮<®6RpöiEùÇåäÂ[¤©±ÜÑ´H"†³O+Ê?žQ—”Û¢ÜJzûhM"Æ„{ZQþiE‘‡™£ª7uµ[¸sO+Ê?­(©‰”ê p·ãÎ%îRîiEù§…ûS®h%vÒØÄA@•rO+Ê?®(v¸’ž±‘®¸–…ä+kª@ŸVT$eO•ÀtûÜ$%*AŸVTx´ú¬0^\Q )n‘3o¤èʹ§Ϩ[3©0L`Yx˜Žè:QO+*­(+éñ‰Ö9y%{ßÈ"õ¦è)÷ú¸¢n»eƯÈåËx”ë%¦¤ZQñÑêù/RŽ û(ʼn¬ÒI8Î…§Ï(Ï´ =ÓïU”ºžV Hôy}ZQ™©ÌLŠ6•YpœQlGˆªÖÐÇåYq‰ãä"ùo·O-Ë9ú´¢âO¬¨¤üž!ŸF'˜pôiEÅÇö[ÏHg k“iž Ÿ¤êfgÐôg”/\¦ðyc±Œjö¯î€Ч+Tº3$iÑa͸8‘ôiE¥Çu¯pÇœ‰(_Ý}ìk„×…§•WTbîݨVZeº~œÔ×ZQéÑêCfh‹ØÁnšÒA8tñiE¥Ç"!+û\á&ÝWT^ŸVTú _òHáëKLeĬJh1>­¨ô¸¢ ϨÈ&é$ýo4¶ÔeŸVTz\QŽ÷G¼¶áÖçÚåÌá>FöèÓŠB–¼™:Bð4ÊÒ´ó˘>­¨üxÂñ&ùv‰ÇIÏ“F¾ŒéÓŠÊVŸ!û  öÓЋ­Q„AЧ•Wè$˜¬xÍZ”õ¦2QO+*?­(0Ÿ…,ÜrI(!F·ð,õ´¢ò£ÕgØD¥°©ªñ±úúÒÓŠÊ?ᙈRÌBÏÂUA›O:=­¨ü¸¢¢d!¤“¥¦sìR¬6FmÓèÓŠ²•æž„6Zîù½I‘ôiEåÇ{ÔŤ;ôyIÌã½Úë·LT9>€>žQ÷ödÅm~¿lá Ýõ4Ëë?­¨òxFEš{ éÌRÍØ[;×NW.=­¨ò´¢b¥¼Æ žÈ覻©ŒéÓŠ*O+ Êñ} a«éE5nêÒÓŠ*O+*³I¬Ô\Iv¨k?ø¦RO+ªüÄÅt±‹Ç(#ÓÍ”¬D .?­¨ò´¢ËÁY¸ŸkœÛö×g"†ËO+ª<­¨È<)q!yJ×|(ž]©ú´¢Êc<ʋǴ0=>Ó<®æâêÌO+ª<žQ°y-ï WG;>ÙOóÓŠ*g*AxàÃ.¿¥ -tÏ„€>¬(„)Ÿƒ\žÝÐkÞžŒ…,³ÿ°¢àr{xýÌK<¦?ú¹ÏÓ4?¬({=z&ÀX“i§]שÜ6×VT~XQ0½Ÿ\H`Ùã?Ë&’ÆE‚[_~XQH~~ºF"G…™ÂqŒm™b|)iyXQöz´újÝ&šJ÷€nJF!qåaEÙë'Î(´ýùa&S«må¶Ð ¾~yXQöz<£.hƒUÛ| ÍèåÚ/+Ê^O+ [þ=àp¢;#ºl_¦â˜)+ MKoÑÌ8uLFÂ2ÍcöƒHú´¢Ìãe8¦ˆ»ßfn$Í@ƒ-Eå/O+Ê<®(VYÑn¼'ăZvôàS²<­(ó´¢àä3d@mˆŸ}ÒErzF}´ú,ý;VâpCÒ,’.+꿼üæëï¾ûþ‹ß|ñýWÿú÷/¾ÿîë|ñÃÛÿýÅþËÛoÞ¾úò‡|óÅ»¯^þúí·?¾ûñ?ñþóùo¿ùîÛŸøÛo¿úWþøí_¿yzäûŸäË¿þø—_óӲ姡,?¾ÿòÛ¯~æ¡wßþðÅŸ¿ûêíÓ3yûãÛ÷ß½ü†™¥÷,ý·ù”ß탟ñùðžõoå±{‹g'|·;{°»GÌá·?~ÃïöÁÏøL݇û*ã»}ð³ôZîÝG[à»}ð³´èÅ* ¾Ûç Ûmö²M*¾Û?KëÔþؽÙDß탟¥±|ì¾ò’‘ß탟…¥¸?†Î(ø#|·Ïé±{Ø‘ ïöaf<³ãÇcVƉ|dõs7´¹@0¾Û?KfðxÌË8Z/ýçeÜ`Úcþhâ×ÏaNÑцÿ(ÉÂ^úÏë?šêc¸…ÔÏé±{ØA¤‹ïöÁÏB®;+õ1Ä´êçðÈ$1ønŸÃœ‚oeCønü,¥Dã1+ÿˆ¥7ù¥ÿ¼þ£N´ßísÐ^Ä£øâÆ[?§4Ô^úç0Y ö&ìžú9¡Ý£²N|·~ÏñXu|·ÏéM‹h+¾Ûç ½®Ž:¾Ûç0 è‚åïö9,tüç ¾Û‡„ä!9|·Ïa@Еƒh°“ëç„êcHF©ŸÓc±>†›gýœK²|Ùæ«~Ë×"Ž{l½ôŸ×q+²sã»};9(ò ‡gϦ—þó"›¯ºïö9Œ #±tñÝ>‡åŒÛ2æßís˜Sx}ðVønŸÃ›‚~è£þ„ß탟ñ™«;¾Ûç$[’u‰ïö9¬StD'¾Û‡mŸ©ãtSà0Áwûàgá5GÛ%›(¾Ûç°©Â ŠÚX|·~–zÙñ˜•áÄwû†CJ|·ÏaxAÄqñÝ>§W¢­ønŸÓ!+ÚýÝ>'´T»¿ÛçôX5ÄwûÔ2ÔßísØ‘ÀeƒßísøGÁ÷ÄÇîïö9=VußísзXußís˜¬XOc|·ÏaÃõ4Æwû á9L3¾Ûç0õ wÁPâ»}ËX'–¾Ûçd˜•: ÷wûìèø#|·Ïé1#o†ïö9¼iª£Žïö9¡U›ßíszÌËÖ‚ïö9l5à ‡6à»}’êiŒïö9 /±­à»}[Mª£Žïö9ÌBªºïö9¬İpTà»}Ç9²aßß탟ÿ  ù®´¢ïïö9èx¬±_à»}{¸'`sà»}v|FJ|·ÏaxsÕ}|·ÏI¶$÷|·Ïé¾EqðÝ>EBŒŒoZ^úçð¦¥ê>¾Ûç€^elønŸÃæPꨓô~Nw'Ö¾Ûç` –j™2͵~ÃK~bü£á¥RêiŒïö9½i’‡ïö9,ÀRm"|·ÏéMëýßísºV\—\+˜yõŸ·Ç ÿ¦=_ãçåEÂ:Ö$×ëç°NQûÅ›BÓõsº]¾¢ùþ9¢¹×ƒ±~ËWò ±ޝ¸—±ð¤~ûª¢x?Qýœî§Wá*"5DýV*—ø"pS?§ô¾,ËÝÙôÏéî\Û…ã»}NÃ[»5“_¤~NS_;ðâ»}޲IT¶â©ŸÓ»öŸÄwû6üÖR‘nìú9M}m>GÖú9¾i©oZúçô¦µõ¾ÛçäÁ¨oðÝ>G4éfBºžú9[m&ïö9ìH­A¾Ûçˆ&ôô¬n¬ŸÃ•§±ƒã»}N³PÉ™ñÝ>ÇÇ„p—ÝÁëç°[6U|·Ïé±Ê¶‰ïö9lªA‘e¬nü¼HepÃwûœ–Leå"cQýe6Ú¨ŸÃ%¥‘²ó´~Žh±Êûç([ª>®Ô?‹’/žço¿ûV¡GÇóò·›ßyù{í©]þòàW^ž8¸•Wñ^åÈOÊqð)ŸäX]ʇg†Gõ“¨‰„ŸØ24/5’R'ùêå7 €ãw “ Àô€å¦×.nÐ|Ù^‡¸=àù€ë5…Ûø^¸=ù@èµ~Û‰Ä^··=ù@ê5xÛ…ä^O·=`è +½6n€N°«×¹íÀýj9ó0’ì{ŒÄoó0’†áa×kÉöàìBY—yI¸{QßÕj¼öàà2±×kíÀµ…doó0’pî:V-<Œ$ܺd2#ÉFÝöêõMût$š^«´?À.²¶×í`$ÑlÔ>Œ$ëØ˜ßù0’pÙ¢®§Õöì`$™(ó0’pÓ¢Þ¦ÕÜì`$AphF’îYtâ´#IÇ,ÈrÜÃHÒ%ëL¯QÙ 3Ööz“ýŒ$êIÜÃHÒ‹þÃîa$éz½Ÿj5ûI𳸇‘¤»ô’îa$éh‡€{IÏ^Æ¥×@ì`$ï§Z=ÃþFÒ›^›°?À®æ¶×ìСízÍÀþF’Õ{#É*z.ÿþF’å# w)òë[Žýþ“Hsϗ߀‹yï-÷}€ÙâWÏcßÀH’2îa$›ÎÛž_¾?ÀV÷®çŠï0(à{Þ÷þF’=ÃFŽOäb·|ìýŒäýTË­ÞÀH‚1<Œ$ÜœŽ%Ê#™{{õüåýŒ$LJ‘„S9Å-¯x#I ¯‡‘„#¹¾-ßw€•Ðsw÷0’¨‹# ·%òi[NíþË/rÏÝ`§òû©–ëº?€‘DûÝô0’pO"ÿ´å î`$Ñh:=Œ$\’È m¹¡ûÉû©–ç¹?€‘$Aá“ÄàTìù—ûI4O# §#r"[^äöÜÈol9ŽûIÐ^凑„‹y‡-÷p#y?Õò÷0’H•Ê# ‡"rûZ~ßþF2‡ž«·?€‘ig~²'àK=‡n#‰:Ãü0’p"¯­å¶í`$ËÕóÔö0’Åôœ³ýŒ$¨HÊÃHÂ5ˆ<°– ¶?€‘¼Ÿjy]ûÉû©–£µ?À*ûØó­ö0’÷S-wj€AÒÜó ¶ “¥JÏiêü—vUºïNýó_|ùÃo¿ùׯÿñê¾Díÿ3OOõöÇ/ß}ýƒ~—¶ïÞñÕÛ{÷íÛ¯úÃOß¼½ÿê õÁÓÓß}ýîß¿ûæíûwž~ã¾!ÊŸý‚ßúówýöÇöVOÃðÅ¿¿ýöUÿ¡ÉÓ8ðñï¾ûþ‹·ÿþýÛ~x÷Ý·?÷x½½ñõ»Dœ—ÿé÷ÿô‡]&ââ©_67ãñÿñýÛíñß¾ûJ</xðËoIûˆðí—ßìæ u?ýÊýV÷„¾ÿÇþþ•¿ÿÓ?þéÿ<þÊ7_þøþÝßÿ?ó¿îÿ?þ•WWÿß/øM;~óúu¿é~åoþííŸüîý,ê¯ü7­zÏ_ù›ö?7Bö?ýžö?ýžî?ýžî?=ŸN½ç/¡úžî'ÞsqÃ}ùׯÞýøÅû·{‡uþÅ_n”ïÞß{Ìû¯Þ}ûå×/?ýÔW_þøå½}ûã½ ¿à ýéç¿ùòÿ¿÷ÒöÇ?÷ð»oùÃýn‘n)ÌËo?ãØüõýÛ{Cýêí׿½÷œ”ð»ËüÿÆŸAvÚ•w¹ßYÿòw|ÙöÆüîJ¿3nÚâÑêŽÞ‡Rm;?ó;ý¦_þ¹ßÙ'ãå ýOc|ÿþ»¿Ý{êûYÖ÷o¿ÿî‡wåŸùåÓýÛ?~ûîÇw÷ ¼ûõÛ/xûs|õö‡?¿÷}ÝjåüœÒþûûïþúýϨ¬<³ëO=üKµ[žæÿ…æôê·ÿïÛ÷Ôâûîý½º_þüÝ7ßýîËoÿŒ¹ ·_û+c<~øîß~ü/ß¿•ãmúùÏ_ß'ô»{÷g9·¦¿ù[ž~÷#·sÿc¾mªÿñ»ÿöÏŸþËËo)àË¿þõÝ×÷_üûoo ì(gýë÷´”¾y[í’þµíýý_¾üáþ­¡!øk·Íðß¾üú–ò·ÞAØWþýÕ{ýû/(Óìœßž¢÷ƒøÅO@ñ¡%q~H'ºeZó¾·‡¾þò_o¡¿üúÇŸBúþ/ïžÿî‡wÐ8SÃ,Òñƒ—ßO6®ß”ªeh˜iMOYjðÁK@æ=ú¿3 ÄŒÛø×€K=ìñ—åï«òþªù½.þåÍŸþøÉ§üÃˇøãëß2Hqo±ÿq¿Ò¼ãÀ®‡<ÿð¡.libcifpp-2.0.5/examples/example.cpp0000664000175000017500000000140114200173347017122 0ustar maartenmaarten#include #include #include namespace fs = std::filesystem; int main() { fs::path in("1cbs.cif.gz"); cif::File file; file.loadDictionary("mmcif_pdbx_v50"); file.load("1cbs.cif.gz"); auto& db = file.firstDatablock()["atom_site"]; auto n = db.find(cif::Key("label_atom_id") == "OXT").size(); std::cout << "File contains " << db.size() << " atoms of which " << n << (n == 1 ? " is" : " are") << " OXT" << std::endl << "residues with an OXT are:" << std::endl; for (const auto& [asym, comp, seqnr]: db.find( cif::Key("label_atom_id") == "OXT", "label_asym_id", "label_comp_id", "label_seq_id")) { std::cout << asym << ' ' << comp << ' ' << seqnr << std::endl; } return 0; } libcifpp-2.0.5/examples/makefile0000664000175000017500000000027214200173347016470 0ustar maartenmaartenCXX = c++ -std=c++17 CXXFLAGS = $(shell pkg-config --cflags libcifpp) LIBS = $(shell pkg-config --libs libcifpp) all: example example: example.cpp $(CXX) -o $@ $? $(CXXFLAGS) $(LIBS) libcifpp-2.0.5/include/0000775000175000017500000000000014200173347014574 5ustar maartenmaartenlibcifpp-2.0.5/include/cif++/0000775000175000017500000000000014200173347015463 5ustar maartenmaartenlibcifpp-2.0.5/include/cif++/AtomType.hpp0000664000175000017500000001370314200173347017742 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ // Lib for working with structures as contained in mmCIF and PDB files #pragma once #include #include #include namespace mmcif { enum AtomType : uint8_t { Nn = 0, // Unknown H = 1, // Hydro­gen He = 2, // He­lium Li = 3, // Lith­ium Be = 4, // Beryl­lium B = 5, // Boron C = 6, // Carbon N = 7, // Nitro­gen O = 8, // Oxy­gen F = 9, // Fluor­ine Ne = 10, // Neon Na = 11, // So­dium Mg = 12, // Magne­sium Al = 13, // Alumin­ium Si = 14, // Sili­con P = 15, // Phos­phorus S = 16, // Sulfur Cl = 17, // Chlor­ine Ar = 18, // Argon K = 19, // Potas­sium Ca = 20, // Cal­cium Sc = 21, // Scan­dium Ti = 22, // Tita­nium V = 23, // Vana­dium Cr = 24, // Chrom­ium Mn = 25, // Manga­nese Fe = 26, // Iron Co = 27, // Cobalt Ni = 28, // Nickel Cu = 29, // Copper Zn = 30, // Zinc Ga = 31, // Gallium Ge = 32, // Germa­nium As = 33, // Arsenic Se = 34, // Sele­nium Br = 35, // Bromine Kr = 36, // Kryp­ton Rb = 37, // Rubid­ium Sr = 38, // Stront­ium Y = 39, // Yttrium Zr = 40, // Zirco­nium Nb = 41, // Nio­bium Mo = 42, // Molyb­denum Tc = 43, // Tech­netium Ru = 44, // Ruthe­nium Rh = 45, // Rho­dium Pd = 46, // Pallad­ium Ag = 47, // Silver Cd = 48, // Cad­mium In = 49, // Indium Sn = 50, // Tin Sb = 51, // Anti­mony Te = 52, // Tellurium I = 53, // Iodine Xe = 54, // Xenon Cs = 55, // Cae­sium Ba = 56, // Ba­rium La = 57, // Lan­thanum Hf = 72, // Haf­nium Ta = 73, // Tanta­lum W = 74, // Tung­sten Re = 75, // Rhe­nium Os = 76, // Os­mium Ir = 77, // Iridium Pt = 78, // Plat­inum Au = 79, // Gold Hg = 80, // Mer­cury Tl = 81, // Thallium Pb = 82, // Lead Bi = 83, // Bis­muth Po = 84, // Polo­nium At = 85, // Asta­tine Rn = 86, // Radon Fr = 87, // Fran­cium Ra = 88, // Ra­dium Ac = 89, // Actin­ium Rf = 104, // Ruther­fordium Db = 105, // Dub­nium Sg = 106, // Sea­borgium Bh = 107, // Bohr­ium Hs = 108, // Has­sium Mt = 109, // Meit­nerium Ds = 110, // Darm­stadtium Rg = 111, // Roent­genium Cn = 112, // Coper­nicium Nh = 113, // Nihon­ium Fl = 114, // Flerov­ium Mc = 115, // Moscov­ium Lv = 116, // Liver­morium Ts = 117, // Tenness­ine Og = 118, // Oga­nesson Ce = 58, // Cerium Pr = 59, // Praseo­dymium Nd = 60, // Neo­dymium Pm = 61, // Prome­thium Sm = 62, // Sama­rium Eu = 63, // Europ­ium Gd = 64, // Gadolin­ium Tb = 65, // Ter­bium Dy = 66, // Dyspro­sium Ho = 67, // Hol­mium Er = 68, // Erbium Tm = 69, // Thulium Yb = 70, // Ytter­bium Lu = 71, // Lute­tium Th = 90, // Thor­ium Pa = 91, // Protac­tinium U = 92, // Ura­nium Np = 93, // Neptu­nium Pu = 94, // Pluto­nium Am = 95, // Ameri­cium Cm = 96, // Curium Bk = 97, // Berkel­ium Cf = 98, // Califor­nium Es = 99, // Einstei­nium Fm = 100, // Fer­mium Md = 101, // Mende­levium No = 102, // Nobel­ium Lr = 103, // Lawren­cium D = 129, // Deuterium }; // -------------------------------------------------------------------- // AtomTypeInfo enum RadiusType { eRadiusCalculated, eRadiusEmpirical, eRadiusCovalentEmpirical, eRadiusSingleBond, eRadiusDoubleBond, eRadiusTripleBond, eRadiusVanderWaals, eRadiusTypeCount }; struct AtomTypeInfo { AtomType type; std::string name; std::string symbol; float weight; bool metal; float radii[eRadiusTypeCount]; }; extern const AtomTypeInfo kKnownAtoms[]; // -------------------------------------------------------------------- // AtomTypeTraits class AtomTypeTraits { public: AtomTypeTraits(AtomType a); AtomTypeTraits(const std::string& symbol); AtomType type() const { return mInfo->type; } std::string name() const { return mInfo->name; } std::string symbol() const { return mInfo->symbol; } float weight() const { return mInfo->weight; } bool isMetal() const { return mInfo->metal; } static bool isElement(const std::string& symbol); static bool isMetal(const std::string& symbol); float radius(RadiusType type = eRadiusSingleBond) const { if (type >= eRadiusTypeCount) throw std::invalid_argument("invalid radius requested"); return mInfo->radii[type] / 100.f; } // data type encapsulating the Waasmaier & Kirfel scattering factors // in a simplified form (only a and b). // Added the electrion scattering factors as well struct SFData { double a[6], b[6]; }; // to get the Cval and Siva values, use this constant as charge: enum { kWKSFVal = -99 }; const SFData& wksf(int charge = 0) const; const SFData& elsf() const; private: const struct AtomTypeInfo* mInfo; }; } libcifpp-2.0.5/include/cif++/BondMap.hpp0000664000175000017500000000561614200173347017524 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once #include #include #include #include "cif++/Structure.hpp" namespace mmcif { class BondMapException : public std::runtime_error { public: BondMapException(const std::string& msg) : runtime_error(msg) {} }; class BondMap { public: BondMap(const Structure& p); BondMap(const BondMap&) = delete; BondMap& operator=(const BondMap&) = delete; bool operator()(const Atom& a, const Atom& b) const { return isBonded(index.at(a.id()), index.at(b.id())); } bool is1_4(const Atom& a, const Atom& b) const { uint32_t ixa = index.at(a.id()); uint32_t ixb = index.at(b.id()); return bond_1_4.count(key(ixa, ixb)); } // links coming from the struct_conn records: std::vector linked(const Atom& a) const; // This list of atomID's is comming from either CCD or the CCP4 dictionaries loaded static std::vector atomIDsForCompound(const std::string& compoundID); private: bool isBonded(uint32_t ai, uint32_t bi) const { return bond.count(key(ai, bi)) != 0; } uint64_t key(uint32_t a, uint32_t b) const { if (a > b) std::swap(a, b); return static_cast(a) | (static_cast(b) << 32); } std::tuple dekey(uint64_t k) const { return std::make_tuple( static_cast(k >> 32), static_cast(k) ); } uint32_t dim; std::unordered_map index; std::set bond, bond_1_4; std::map> link; }; } libcifpp-2.0.5/include/cif++/Cif++.hpp0000664000175000017500000016163414200173347017036 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once #include #include #include #include #include #include #include #include #include #include "cif++/CifUtils.hpp" /* Simple C++ interface to CIF files. Assumptions: a file contains one or more datablocks modelled by the class datablock. Each datablock contains categories. These map to the original tables used to fill the mmCIF file. Each Category can contain multiple Items, the columns in the table. Values are stored as character strings internally. Synopsis: // create a cif file cif::datablock e("1MVE"); e.append(cif::Category{"_entry", { "id", "1MVE" } }); cif::Category atomSite("atom_site"); size_t nr{}; for (auto& myAtom: atoms) { atomSite.push_back({ { "group_PDB", "ATOM" }, { "id", ++nr }, { "type_symbol", myAtom.type.str() }, ... }); } e.append(move(atomSite)); cif::File f; f.append(e); ofstream os("1mve.cif"); f.write(os); // read f.read(ifstream{"1mve.cif"}); auto& e = f.firstDatablock(); cout << "ID of datablock: " << e.id() << endl; auto& atoms = e["atom_site"]; for (auto& atom: atoms) { cout << atom["group_PDB"] << ", " << atom["id"] << ", " ... float x, y, z; cif::tie(x, y, z) = atom.get("Cartn_x", "Cartn_y", "Cartn_z"); ... } Another way of querying a Category is by using this construct: auto cat& = e["atom_site"]; auto Rows = cat.find(Key("label_asym_id") == "A" and Key("label_seq_id") == 1); */ namespace cif { // flag for verbose output CIFPP_EXPORT extern int VERBOSE; // mmCIF mapping // A CIF data file in this case contains entries (data blocks) which can contain // one or more Category objects. Each Category object contains arrays of Items. // Better, you can consider the categories as tables containing columns which // are the Items. class File; class Datablock; class Category; class Row; // a flyweight class that references data in categories class RowSet; class Item; class Validator; struct ValidateItem; struct ValidateCategory; struct ValidateLink; struct ItemColumn; struct ItemRow; struct ItemValue; // -------------------------------------------------------------------- // class Item // // This class is only transient, it is used to construct new Rows. // Access to already stored data is through an ItemReference object. class Item { public: Item() {} template , int> = 0> Item(const std::string &name, const T &value) : mName(name) , mValue(std::to_string(value)) { } Item(const std::string &name, const std::string &value) : mName(name) , mValue(value) { } Item(const Item &rhs) : mName(rhs.mName) , mValue(rhs.mValue) { } Item(Item &&rhs) noexcept : mName(std::move(rhs.mName)) , mValue(std::move(rhs.mValue)) { } Item &operator=(const Item &rhs) { if (this != &rhs) { mName = rhs.mName; mValue = rhs.mValue; } return *this; } Item &operator=(Item &&rhs) noexcept { if (this != &rhs) { mName = std::move(rhs.mName); mValue = std::move(rhs.mValue); } return *this; } const std::string &name() const { return mName; } const std::string &value() const { return mValue; } void value(const std::string &v) { mValue = v; } // empty means either null or unknown bool empty() const; // is_null means the field contains '.' bool is_null() const; // is_unknown means the field contains '?' bool is_unknown() const; size_t length() const { return mValue.length(); } const char *c_str() const { return mValue.c_str(); } private: std::string mName; std::string mValue; }; // -------------------------------------------------------------------- // class datablock acts as an STL container for Category objects class Datablock { public: friend class File; using CategoryList = std::list; using iterator = CategoryList::iterator; using const_iterator = CategoryList::const_iterator; Datablock(const std::string &name); ~Datablock(); Datablock(const Datablock &) = delete; Datablock &operator=(const Datablock &) = delete; std::string getName() const { return mName; } void setName(const std::string &n) { mName = n; } std::string firstItem(const std::string &tag) const; iterator begin() { return mCategories.begin(); } iterator end() { return mCategories.end(); } const_iterator begin() const { return mCategories.begin(); } const_iterator end() const { return mCategories.end(); } Category &operator[](const std::string &name); std::tuple emplace(const std::string &name); bool isValid(); void validateLinks() const; void setValidator(Validator *v); // this one only looks up a Category, returns nullptr if it does not exist const Category *get(const std::string &name) const; Category *get(const std::string &name); void getTagOrder(std::vector &tags) const; void write(std::ostream &os, const std::vector &order); void write(std::ostream &os); // convenience function, add a line to the software category void add_software(const std::string &name, const std::string &classification, const std::string &versionNr, const std::string &versionDate); friend bool operator==(const Datablock &lhs, const Datablock &rhs); friend std::ostream& operator<<(std::ostream &os, const Datablock &data); private: std::list mCategories; std::string mName; Validator *mValidator; Datablock *mNext; }; // -------------------------------------------------------------------- // class Row acts as a container for Item objects, It has a more useful // interface for accessing the contained columns. The get() method // returns a RowResult object that can be used to access only a subset // of column values by index or by name. namespace detail { // ItemReference is a helper class class ItemReference { public: // conversion helper class template struct item_value_as; template , int> = 0> ItemReference &operator=(const T &value) { this->operator=(std::to_string(value)); return *this; } template ItemReference &operator=(const std::optional &value) { if (value) this->operator=(*value); else this->operator=("?"); return *this; } ItemReference &operator=(const std::string &value); template void os(const Ts &...v) { std::ostringstream ss; ((ss << v), ...); this->operator=(ss.str()); } void swap(ItemReference &b); template auto as() const { using value_type = std::remove_cv_t>; return item_value_as::convert(*this); } template int compare(const T &value, bool icase) const { return item_value_as::compare(*this, value, icase); } // empty means either null or unknown bool empty() const; explicit operator bool() const { return not empty(); } // is_null means the field contains '.' bool is_null() const; // is_unknown means the field contains '?' bool is_unknown() const; const char *c_str() const; // the following returns the defaultValue from either the parameter // or, if specified, the value from _item_default.value in the dictionary const char *c_str(const char *defaultValue) const; bool operator!=(const std::string &s) const { return s != c_str(); } bool operator==(const std::string &s) const { return s == c_str(); } private: friend class ::cif::Row; ItemReference(const char *name, size_t column, Row &row) : mName(name) , mColumn(column) , mRow(row) { } ItemReference(const char *name, size_t column, const Row &row) : mName(name) , mColumn(column) , mRow(const_cast(row)) , mConst(true) { } const char *mName; size_t mColumn; Row &mRow; bool mConst = false; }; template struct ItemReference::item_value_as>> { using value_type = std::remove_reference_t>; static value_type convert(const ItemReference &ref) { value_type result = {}; if (not ref.empty()) result = static_cast(std::stod(ref.c_str())); return result; } static int compare(const ItemReference &ref, double value, bool icase) { int result = 0; const char *s = ref.c_str(); if (s == nullptr or *s == 0) result = 1; else { try { auto v = std::strtod(s, nullptr); if (v < value) result = -1; else if (v > value) result = 1; } catch (...) { if (VERBOSE) std::cerr << "conversion error in compare for '" << ref.c_str() << '\'' << std::endl; result = 1; } } return result; } }; template struct ItemReference::item_value_as and std::is_unsigned_v and not std::is_same_v>> { static T convert(const ItemReference &ref) { T result = {}; if (not ref.empty()) result = static_cast(std::stoul(ref.c_str())); return result; } static int compare(const ItemReference &ref, unsigned long value, bool icase) { int result = 0; const char *s = ref.c_str(); if (s == nullptr or *s == 0) result = 1; else { try { auto v = std::strtoul(s, nullptr, 10); if (v < value) result = -1; else if (v > value) result = 1; } catch (...) { if (VERBOSE) std::cerr << "conversion error in compare for '" << ref.c_str() << '\'' << std::endl; result = 1; } } return result; } }; template struct ItemReference::item_value_as and std::is_signed_v and not std::is_same_v>> { static T convert(const ItemReference &ref) { T result = {}; if (not ref.empty()) result = static_cast(std::stol(ref.c_str())); return result; } static int compare(const ItemReference &ref, long value, bool icase) { int result = 0; const char *s = ref.c_str(); if (s == nullptr or *s == 0) result = 1; else { try { auto v = std::strtol(s, nullptr, 10); if (v < value) result = -1; else if (v > value) result = 1; } catch (...) { if (VERBOSE) std::cerr << "conversion error in compare for '" << ref.c_str() << '\'' << std::endl; result = 1; } } return result; } }; template struct ItemReference::item_value_as> { static std::optional convert(const ItemReference &ref) { std::optional result; if (ref) result = ref.as(); return result; } static int compare(const ItemReference &ref, std::optional value, bool icase) { if (ref.empty() and not value) return 0; if (ref.empty()) return -1; else if (not value) return 1; else return ref.compare(*value, icase); } }; template struct ItemReference::item_value_as>> { static bool convert(const ItemReference &ref) { bool result = false; if (not ref.empty()) result = iequals(ref.c_str(), "y"); return result; } static int compare(const ItemReference &ref, bool value, bool icase) { bool rv = convert(ref); return value && rv ? 0 : (rv < value ? -1 : 1); } }; template struct ItemReference::item_value_as { static int compare(const ItemReference &ref, const char (&value)[N], bool icase) { return icase ? cif::icompare(ref.c_str(), value) : std::strcmp(ref.c_str(), value); } }; template <> struct ItemReference::item_value_as { static const char *convert(const ItemReference &ref) { return ref.c_str(); } static int compare(const ItemReference &ref, const char *value, bool icase) { return icase ? cif::icompare(ref.c_str(), value) : std::strcmp(ref.c_str(), value); } }; template <> struct ItemReference::item_value_as { static std::string convert(const ItemReference &ref) { return ref.c_str(); } static int compare(const ItemReference &ref, const std::string &value, bool icase) { return icase ? cif::icompare(ref.c_str(), value) : std::strcmp(ref.c_str(), value.c_str()); } }; // some helper classes to help create tuple result types template struct getRowResult { static constexpr size_t N = sizeof...(C); getRowResult(const Row &r, std::array &&columns) : mRow(r) , mColumns(std::move(columns)) { } const ItemReference operator[](size_t ix) const { return mRow[mColumns[ix]]; } template = 0> operator std::tuple() const { return get(std::index_sequence_for{}); } template std::tuple get(std::index_sequence) const { return std::tuple{mRow[mColumns[Is]].template as()...}; } const Row &mRow; std::array mColumns; }; // we want to be able to tie some variables to a RowResult, for this we use tiewraps template struct tieWrap { tieWrap(Ts... args) : mVal(args...) { } template void operator=(const RR &&rr) { // getRowResult will do the conversion, but only if the types // are compatible. That means the number of parameters to the get() // of the row should be equal to the number of items in the tuple // you are trying to tie. using RType = std::tuple::type...>; mVal = static_cast(rr); } std::tuple mVal; }; } // namespace detail template auto tie(Ts &...v) { return detail::tieWrap(std::forward(v)...); } class Row { public: friend class Category; friend class CatIndex; friend class RowComparator; friend class detail::ItemReference; friend class RowSet; Row() : mData(nullptr) { } Row(ItemRow *data) : mData(data) { } Row(const ItemRow *data) : mData(const_cast(data)) , mCascade(false) { } Row(const Row &rhs); Row &operator=(const Row &rhs); Row(Row &&rhs); Row &operator=(Row &&rhs); ~Row(); void setCascading(bool cascade) { mCascade = cascade; } void next() const; struct const_iterator { using iterator_category = std::forward_iterator_tag; using value_type = const Item; using difference_type = std::ptrdiff_t; using pointer = value_type *; using reference = value_type &; const_iterator(ItemRow *data, ItemValue *ptr); reference operator*() { return mCurrent; } pointer operator->() { return &mCurrent; } const_iterator &operator++(); const_iterator operator++(int) { const_iterator result(*this); this->operator++(); return result; } bool operator==(const const_iterator &rhs) const { return mPtr == rhs.mPtr; } bool operator!=(const const_iterator &rhs) const { return mPtr != rhs.mPtr; } private: void fetch(); ItemRow *mData; ItemValue *mPtr; Item mCurrent; }; // checks for an initialized Row: explicit operator bool() const { return mData != nullptr; } // for debugging uint32_t lineNr() const; void lineNr(uint32_t l); bool empty() const; const_iterator begin() const; const_iterator end() const; // TODO: implement real const version? friend class detail::ItemReference; const detail::ItemReference operator[](size_t column) const { return detail::ItemReference("", column, *this); } const detail::ItemReference operator[](const char *itemTag) const { size_t column = ColumnForItemTag(itemTag); return detail::ItemReference(itemTag, column, *this); } detail::ItemReference operator[](const char *itemTag) { size_t column = ColumnForItemTag(itemTag); return detail::ItemReference(itemTag, column, *this); } const detail::ItemReference operator[](const std::string &itemTag) const { size_t column = ColumnForItemTag(itemTag.c_str()); return detail::ItemReference(itemTag.c_str(), column, *this); } detail::ItemReference operator[](const std::string &itemTag) { size_t column = ColumnForItemTag(itemTag.c_str()); return detail::ItemReference(itemTag.c_str(), column, *this); } template std::tuple get(char const *const (&columns)[N]) const { static_assert(sizeof...(Ts) == N, "Number of columns should be equal to number of types to return"); std::array cix; for (size_t i = 0; i < N; ++i) cix[i] = ColumnForItemTag(columns[i]); return detail::getRowResult(*this, std::move(cix)); } template auto get(C... columns) const { return detail::getRowResult(*this, {ColumnForItemTag(columns)...}); } void assign(const std::vector &values); void assign(const std::string &name, const std::string &value, bool updateLinked); bool operator==(const Row &rhs) const { return mData == rhs.mData; } bool operator!=(const Row &rhs) const { return mData != rhs.mData; } ItemRow *data() const { return mData; } void swap(Row &rhs) { std::swap(mData, rhs.mData); } friend std::ostream &operator<<(std::ostream &os, const Row &row); private: void assign(size_t column, const std::string &value, bool updateLinked); void assign(const Item &i, bool updateLinked); static void swap(size_t column, ItemRow *a, ItemRow *b); size_t ColumnForItemTag(const char *itemTag) const; mutable ItemRow *mData; uint32_t mLineNr = 0; bool mCascade = true; }; // -------------------------------------------------------------------- // some more templates to be able to do querying namespace detail { struct ConditionImpl { virtual ~ConditionImpl() {} virtual void prepare(const Category &c) {} virtual bool test(const Category &c, const Row &r) const = 0; virtual void str(std::ostream &os) const = 0; }; struct AllConditionImpl : public ConditionImpl { virtual bool test(const Category &c, const Row &r) const { return true; } virtual void str(std::ostream &os) const { os << "*"; } }; struct OrConditionImpl; struct AndConditionImpl; struct NotConditionImpl; } // namespace detail class Condition { public: Condition() : mImpl(nullptr) { } Condition(detail::ConditionImpl *impl) : mImpl(impl) { } Condition(const Condition &) = delete; Condition(Condition &&rhs) noexcept : mImpl(nullptr) { std::swap(mImpl, rhs.mImpl); } Condition &operator=(const Condition &) = delete; Condition &operator=(Condition &&rhs) noexcept { std::swap(mImpl, rhs.mImpl); return *this; } ~Condition() { delete mImpl; mImpl = nullptr; } void prepare(const Category &c) { if (mImpl) mImpl->prepare(c); mPrepared = true; } bool operator()(const Category &c, const Row &r) const { assert(mImpl); assert(mPrepared); return mImpl ? mImpl->test(c, r) : false; } bool empty() const { return mImpl == nullptr; } friend Condition operator||(Condition &&a, Condition &&b); friend Condition operator&&(Condition &&a, Condition &&b); friend struct detail::OrConditionImpl; friend struct detail::AndConditionImpl; friend struct detail::NotConditionImpl; void swap(Condition &rhs) { std::swap(mImpl, rhs.mImpl); std::swap(mPrepared, rhs.mPrepared); } friend std::ostream &operator<<(std::ostream &os, const Condition &cond); private: detail::ConditionImpl *mImpl; bool mPrepared = false; }; inline std::ostream &operator<<(std::ostream &os, const Condition &cond) { if (cond.mImpl) cond.mImpl->str(os); return os; } namespace detail { struct KeyIsEmptyConditionImpl : public ConditionImpl { KeyIsEmptyConditionImpl(const std::string &ItemTag) : mItemTag(ItemTag) { } virtual void prepare(const Category &c); virtual bool test(const Category &c, const Row &r) const { return r[mItemIx].empty(); } virtual void str(std::ostream &os) const { os << mItemTag << " IS NULL"; } std::string mItemTag; size_t mItemIx = 0; }; struct KeyCompareConditionImpl : public ConditionImpl { template KeyCompareConditionImpl(const std::string &ItemTag, COMP &&comp, const std::string &s) : mItemTag(ItemTag) , mComp(std::move(comp)) , mStr(s) { } virtual void prepare(const Category &c); virtual bool test(const Category &c, const Row &r) const { return mComp(c, r, mCaseInsensitive); } virtual void str(std::ostream &os) const { os << mItemTag << (mCaseInsensitive ? "^ " : " ") << mStr; } std::string mItemTag; size_t mItemIx = 0; bool mCaseInsensitive = false; std::function mComp; std::string mStr; }; struct KeyMatchesConditionImpl : public ConditionImpl { KeyMatchesConditionImpl(const std::string &ItemTag, const std::regex &rx) : mItemTag(ItemTag) , mItemIx(0) , mRx(rx) { } virtual void prepare(const Category &c); virtual bool test(const Category &c, const Row &r) const { return std::regex_match(r[mItemIx].as(), mRx); } virtual void str(std::ostream &os) const { os << mItemTag << " =~ expression"; } std::string mItemTag; size_t mItemIx; std::regex mRx; }; template struct AnyIsConditionImpl : public ConditionImpl { typedef T valueType; AnyIsConditionImpl(const valueType &value) : mValue(value) { } virtual bool test(const Category &c, const Row &r) const; virtual void str(std::ostream &os) const { os << " == " << mValue; } valueType mValue; }; struct AnyMatchesConditionImpl : public ConditionImpl { AnyMatchesConditionImpl(const std::regex &rx) : mRx(rx) { } virtual bool test(const Category &c, const Row &r) const; virtual void str(std::ostream &os) const { os << " =~ expression"; } std::regex mRx; }; struct AndConditionImpl : public ConditionImpl { AndConditionImpl(Condition &&a, Condition &&b) : mA(nullptr) , mB(nullptr) { std::swap(mA, a.mImpl); std::swap(mB, b.mImpl); } ~AndConditionImpl() { delete mA; delete mB; } virtual void prepare(const Category &c) { mA->prepare(c); mB->prepare(c); } virtual bool test(const Category &c, const Row &r) const { return mA->test(c, r) and mB->test(c, r); } virtual void str(std::ostream &os) const { os << '('; mA->str(os); os << ") AND ("; mB->str(os); os << ')'; } ConditionImpl *mA; ConditionImpl *mB; }; struct OrConditionImpl : public ConditionImpl { OrConditionImpl(Condition &&a, Condition &&b) : mA(nullptr) , mB(nullptr) { std::swap(mA, a.mImpl); std::swap(mB, b.mImpl); } ~OrConditionImpl() { delete mA; delete mB; } virtual void prepare(const Category &c) { mA->prepare(c); mB->prepare(c); } virtual bool test(const Category &c, const Row &r) const { return mA->test(c, r) or mB->test(c, r); } virtual void str(std::ostream &os) const { os << '('; mA->str(os); os << ") OR ("; mB->str(os); os << ')'; } ConditionImpl *mA; ConditionImpl *mB; }; struct NotConditionImpl : public ConditionImpl { NotConditionImpl(Condition &&a) : mA(nullptr) { std::swap(mA, a.mImpl); } ~NotConditionImpl() { delete mA; } virtual void prepare(const Category &c) { mA->prepare(c); } virtual bool test(const Category &c, const Row &r) const { return not mA->test(c, r); } virtual void str(std::ostream &os) const { os << "NOT ("; mA->str(os); os << ')'; } ConditionImpl *mA; }; } // namespace detail inline Condition operator&&(Condition &&a, Condition &&b) { if (a.mImpl and b.mImpl) return Condition(new detail::AndConditionImpl(std::move(a), std::move(b))); if (a.mImpl) return Condition(std::move(a)); return Condition(std::move(b)); } inline Condition operator||(Condition &&a, Condition &&b) { if (a.mImpl and b.mImpl) return Condition(new detail::OrConditionImpl(std::move(a), std::move(b))); if (a.mImpl) return Condition(std::move(a)); return Condition(std::move(b)); } struct Empty { }; struct Key { Key(const std::string &itemTag) : mItemTag(itemTag) { } Key(const char *itemTag) : mItemTag(itemTag) { } Key(const Key &) = delete; Key &operator=(const Key &) = delete; std::string mItemTag; }; template Condition operator==(const Key &key, const T &v) { std::ostringstream s; s << " == " << v; return Condition(new detail::KeyCompareConditionImpl( key.mItemTag, [tag = key.mItemTag, v](const Category &c, const Row &r, bool icase) { return r[tag].template compare(v, icase) == 0; }, s.str())); } inline Condition operator==(const Key &key, const char *value) { if (value != nullptr and *value != 0) { std::ostringstream s; s << " == " << value; return Condition(new detail::KeyCompareConditionImpl( key.mItemTag, [tag = key.mItemTag, value](const Category &c, const Row &r, bool icase) { return r[tag].compare(value, icase) == 0; }, s.str())); } else return Condition(new detail::KeyIsEmptyConditionImpl(key.mItemTag)); } // inline Condition operator==(const Key& key, const detail::ItemReference& v) // { // if (v.empty()) // return Condition(new detail::KeyIsEmptyConditionImpl(key.mItemTag)); // else // return Condition(new detail::KeyCompareConditionImpl(key.mItemTag, [tag = key.mItemTag, v](const Category& c, const Row& r, bool icase) // { return r[tag].template compare<(v, icase) == 0; })); // } inline Condition operator==(const Key &key, const Empty &) { return Condition(new detail::KeyIsEmptyConditionImpl(key.mItemTag)); } template Condition operator!=(const Key &key, const T &v) { return Condition(new detail::NotConditionImpl(operator==(key, v))); } inline Condition operator!=(const Key &key, const char *v) { std::string value(v ? v : ""); return Condition(new detail::NotConditionImpl(operator==(key, value))); } template Condition operator>(const Key &key, const T &v) { std::ostringstream s; s << " > " << v; return Condition(new detail::KeyCompareConditionImpl( key.mItemTag, [tag = key.mItemTag, v](const Category &c, const Row &r, bool icase) { return r[tag].template compare(v, icase) > 0; }, s.str())); } template Condition operator>=(const Key &key, const T &v) { std::ostringstream s; s << " >= " << v; return Condition(new detail::KeyCompareConditionImpl( key.mItemTag, [tag = key.mItemTag, v](const Category &c, const Row &r, bool icase) { return r[tag].template compare(v, icase) >= 0; }, s.str())); } template Condition operator<(const Key &key, const T &v) { std::ostringstream s; s << " < " << v; return Condition(new detail::KeyCompareConditionImpl( key.mItemTag, [tag = key.mItemTag, v](const Category &c, const Row &r, bool icase) { return r[tag].template compare(v, icase) < 0; }, s.str())); } template Condition operator<=(const Key &key, const T &v) { std::ostringstream s; s << " <= " << v; return Condition(new detail::KeyCompareConditionImpl( key.mItemTag, [tag = key.mItemTag, v](const Category &c, const Row &r, bool icase) { return r[tag].template compare(v, icase) <= 0; }, s.str())); } template <> inline Condition operator==(const Key &key, const std::regex &rx) { return Condition(new detail::KeyMatchesConditionImpl(key.mItemTag, rx)); } template <> inline Condition operator==(const Key &key, const Empty &) { return Condition(new detail::KeyIsEmptyConditionImpl(key.mItemTag)); } struct any { template Condition operator==(const T &v) const { return Condition(new detail::AnyIsConditionImpl(v)); } }; template <> inline Condition any::operator==(const std::regex &rx) const { return Condition(new detail::AnyMatchesConditionImpl(rx)); } inline Condition All() { return Condition(new detail::AllConditionImpl()); } inline Condition Not(Condition &&cond) { return Condition(new detail::NotConditionImpl(std::move(cond))); } namespace literals { inline Key operator""_key(const char *text, size_t length) { return Key(std::string(text, length)); } inline constexpr Empty Null = Empty(); } // namespace literals // ----------------------------------------------------------------------- // iterators template class iterator_impl { public: template friend class iterator_impl; static constexpr size_t N = sizeof...(Ts); using row_type = std::conditional_t, const Row, Row>; using iterator_category = std::forward_iterator_tag; using value_type = std::conditional_t>; using difference_type = std::ptrdiff_t; using pointer = value_type *; using reference = value_type &; friend class Category; // default constructor, equal to end() iterator_impl() {} iterator_impl(const iterator_impl &rhs) : mCurrent(rhs.mCurrent) , mValue(rhs.mValue) , mCix(rhs.mCix) { } iterator_impl(ItemRow *data) : mCurrent(data) { static_assert(N == 0, "Only valid if this is a row iterator, not a row iterator"); } iterator_impl(ItemRow *data, const std::array &cix) : mCurrent(data) , mCix(cix) { } template iterator_impl(iterator_impl &rhs) : mCurrent(rhs.mCurrent) , mCix(rhs.mCix) { if constexpr (N > 0) mValue = get(mCurrent, std::make_index_sequence()); } template iterator_impl(const iterator_impl &rhs, const std::array &cix) : mCurrent(rhs.mCurrent) , mCix(cix) { if constexpr (N > 0) mValue = get(mCurrent, std::make_index_sequence()); } iterator_impl &operator=(const iterator_impl &i) { mCurrent = i.mCurrent; if constexpr (N != 0) { mCix = i.mCix; mValue = i.mValue; } return *this; } virtual ~iterator_impl() = default; reference operator*() { if constexpr (N == 0) return mCurrent; else return mValue; } pointer operator->() { if constexpr (N == 0) return &mCurrent; else return &mValue; } row_type row() const { return mCurrent; } iterator_impl &operator++() { mCurrent.next(); if constexpr (N != 0) mValue = get(mCurrent, std::make_index_sequence()); return *this; } iterator_impl operator++(int) { iterator_impl result(*this); this->operator++(); return result; } bool operator==(const iterator_impl &rhs) const { return mCurrent == rhs.mCurrent; } bool operator!=(const iterator_impl &rhs) const { return mCurrent != rhs.mCurrent; } template bool operator==(const iterator_impl &rhs) const { return mCurrent == rhs.mCurrent; } template bool operator!=(const iterator_impl &rhs) const { return mCurrent != rhs.mCurrent; } private: template std::tuple get(row_type row, std::index_sequence) const { if (row) return std::tuple{row[mCix[Is]].template as()...}; return {}; } row_type mCurrent; value_type mValue; std::array mCix; }; // -------------------------------------------------------------------- // iterator proxy template class iterator_proxy { public: static constexpr const size_t N = sizeof...(Ts); using row_type = std::conditional_t, const Row, Row>; using iterator = iterator_impl; using row_iterator = iterator_impl; iterator_proxy(CategoryType &cat, row_iterator pos, char const *const columns[N]); iterator_proxy(CategoryType &cat, row_iterator pos, std::initializer_list columns); iterator_proxy(iterator_proxy &&p); iterator_proxy &operator=(iterator_proxy &&p); iterator_proxy(const iterator_proxy &) = delete; iterator_proxy &operator=(const iterator_proxy &) = delete; iterator begin() const { return iterator(mCBegin, mCix); } iterator end() const { return iterator(mCEnd, mCix); } bool empty() const { return mCBegin == mCEnd; } explicit operator bool() const { return not empty(); } size_t size() const { return std::distance(begin(), end()); } row_type front() { return *begin(); } row_type back() { return *(std::prev(end())); } CategoryType &category() const { return *mCat; } void swap(iterator_proxy &rhs) { std::swap(mCat, rhs.mCat); std::swap(mCBegin, rhs.mCBegin); std::swap(mCEnd, rhs.mCEnd); std::swap(mCix, rhs.mCix); } private: CategoryType *mCat; row_iterator mCBegin, mCEnd; std::array mCix; }; // -------------------------------------------------------------------- // conditional iterator proxy template class conditional_iterator_proxy { public: static constexpr const size_t N = sizeof...(Ts); using base_iterator = iterator_impl; using value_type = typename base_iterator::value_type; using row_type = typename base_iterator::row_type; using row_iterator = iterator_impl; class conditional_iterator_impl { public: using iterator_category = std::forward_iterator_tag; using value_type = conditional_iterator_proxy::value_type; using difference_type = std::ptrdiff_t; using pointer = value_type *; using reference = value_type &; conditional_iterator_impl(CategoryType &cat, row_iterator pos, const Condition &cond, const std::array &cix); conditional_iterator_impl(const conditional_iterator_impl &i) = default; conditional_iterator_impl &operator=(const conditional_iterator_impl &i) = default; virtual ~conditional_iterator_impl() = default; reference operator*() { return *mBegin; } pointer operator->() { return &*mBegin; } conditional_iterator_impl &operator++() { while (mBegin != mEnd) { if (++mBegin == mEnd) break; if ((*mCondition)(*mCat, mBegin.row())) break; } return *this; } conditional_iterator_impl operator++(int) { conditional_iterator_impl result(*this); this->operator++(); return result; } bool operator==(const conditional_iterator_impl &rhs) const { return mBegin == rhs.mBegin; } bool operator!=(const conditional_iterator_impl &rhs) const { return mBegin != rhs.mBegin; } template bool operator==(const iterator_impl &rhs) const { return mBegin == rhs; } template bool operator!=(const iterator_impl &rhs) const { return mBegin != rhs; } private: CategoryType *mCat; base_iterator mBegin, mEnd; const Condition *mCondition; }; using iterator = conditional_iterator_impl; using reference = typename iterator::reference; template conditional_iterator_proxy(CategoryType &cat, row_iterator pos, Condition &&cond, Ns... names); conditional_iterator_proxy(conditional_iterator_proxy &&p); conditional_iterator_proxy &operator=(conditional_iterator_proxy &&p); conditional_iterator_proxy(const conditional_iterator_proxy &) = delete; conditional_iterator_proxy &operator=(const conditional_iterator_proxy &) = delete; iterator begin() const; iterator end() const; bool empty() const; explicit operator bool() const { return not empty(); } size_t size() const { return std::distance(begin(), end()); } row_type front() { return *begin(); } CategoryType &category() const { return *mCat; } void swap(conditional_iterator_proxy &rhs); private: CategoryType *mCat; Condition mCondition; row_iterator mCBegin, mCEnd; std::array mCix; }; // -------------------------------------------------------------------- // class RowSet is used to return find results. Use it to re-order the results // or to group them class RowSet { typedef std::vector base_type; public: using size_type = std::size_t; using difference_type = std::ptrdiff_t; RowSet(Category &cat); RowSet(Category &cat, Condition &&cond); RowSet(const RowSet &rhs); RowSet(RowSet &&rhs); virtual ~RowSet(); RowSet &operator=(const RowSet &rhs); RowSet &operator=(RowSet &&rhs); RowSet &orderBy(const std::string &Item) { return orderBy({Item}); } RowSet &orderBy(std::initializer_list Items); class iterator { public: using iterator_category = std::forward_iterator_tag; using value_type = Row; using difference_type = std::ptrdiff_t; using pointer = value_type *; using reference = value_type &; iterator() {} iterator(const iterator &i) : mPos(i.mPos) , mEnd(i.mEnd) , mCurrentRow(i.mCurrentRow) { } iterator(const std::vector::iterator &p, const std::vector::iterator &e) : mPos(p) , mEnd(e) , mCurrentRow(p == e ? nullptr : *p) { } iterator &operator=(const iterator &i) { mPos = i.mPos; mEnd = i.mEnd; mCurrentRow = i.mCurrentRow; return *this; } reference operator*() { return mCurrentRow; } pointer operator->() { return &mCurrentRow; } iterator &operator++() { ++mPos; if (mPos != mEnd) mCurrentRow = Row(*mPos); else mCurrentRow = Row(); return *this; } iterator operator++(int) { iterator t(*this); operator++(); return t; } iterator &operator+=(difference_type i) { while (i-- > 0) operator++(); return *this; } iterator operator+(difference_type i) const { auto result = *this; result += i; return result; } friend iterator operator+(difference_type i, const iterator &iter) { auto result = iter; result += i; return result; } friend difference_type operator-(const iterator &a, const iterator &b) { return std::distance(a.mPos, b.mPos); } bool operator==(const iterator &i) const { return mPos == i.mPos; } bool operator!=(const iterator &i) const { return mPos != i.mPos; } private: friend class RowSet; std::vector::iterator current() const { return mPos; } std::vector::iterator mPos, mEnd; Row mCurrentRow; }; iterator begin() { return iterator(mItems.begin(), mItems.end()); } iterator end() { return iterator(mItems.end(), mItems.end()); } Row front() const { return Row(mItems.front()); } size_t size() const { return mItems.size(); } bool empty() const { return mItems.empty(); } template iterator insert(iterator pos, InputIterator b, InputIterator e) { difference_type offset = pos - begin(); for (auto i = b; i != e; ++i, ++offset) insert(begin() + offset, *i); return begin() + offset; } iterator insert(iterator pos, Row &row) { return insert(pos, row.mData); } iterator insert(iterator pos, ItemRow *item) { auto p = mItems.insert(pos.current(), item); return iterator(p, mItems.end()); } iterator push_back(ItemRow *item) { return insert(end(), item); } iterator push_back(Row &row) { return insert(end(), row.mData); } void make_unique() { std::sort(mItems.begin(), mItems.end()); mItems.erase(std::unique(mItems.begin(), mItems.end()), mItems.end()); } private: Category *mCat; std::vector mItems; // Condition* mCond; }; // -------------------------------------------------------------------- // class Category acts as an STL container for Row objects class Category { public: friend class Datablock; friend class Row; friend class detail::ItemReference; Category(Datablock &db, const std::string &name, Validator *Validator); Category(const Category &) = delete; Category &operator=(const Category &) = delete; ~Category(); const std::string name() const { return mName; } using iterator = iterator_impl; using const_iterator = iterator_impl; iterator begin(); iterator end(); const_iterator cbegin() const; const_iterator cend() const; const_iterator begin() const; const_iterator end() const; bool empty() const; size_t size() const; void clear(); Row front() { return Row(mHead); } Row back() { return Row(mTail); } Row operator[](Condition &&cond); const Row operator[](Condition &&cond) const; template iterator_proxy rows(Ns... names) const { static_assert(sizeof...(Ts) == sizeof...(Ns), "The number of column titles should be equal to the number of types to return"); return iterator_proxy(*this, begin(), {names...}); } template iterator_proxy rows(Ns... names) { static_assert(sizeof...(Ts) == sizeof...(Ns), "The number of column titles should be equal to the number of types to return"); return iterator_proxy(*this, begin(), {names...}); } conditional_iterator_proxy find(Condition &&cond) { return find(cbegin(), std::forward(cond)); } conditional_iterator_proxy find(const_iterator pos, Condition &&cond) { return {*this, pos, std::forward(cond)}; } conditional_iterator_proxy find(Condition &&cond) const { return find(cbegin(), std::forward(cond)); } conditional_iterator_proxy find(const_iterator pos, Condition &&cond) const { return conditional_iterator_proxy{const_cast(*this), pos, std::forward(cond)}; } template conditional_iterator_proxy find(Condition &&cond, Ns... names) { static_assert(sizeof...(Ts) == sizeof...(Ns), "The number of column titles should be equal to the number of types to return"); return find(cbegin(), std::forward(cond), std::forward(names)...); } template conditional_iterator_proxy find(Condition &&cond, Ns... names) const { static_assert(sizeof...(Ts) == sizeof...(Ns), "The number of column titles should be equal to the number of types to return"); return find(cbegin(), std::forward(cond), std::forward(names)...); } template conditional_iterator_proxy find(const_iterator pos, Condition &&cond, Ns... names) { static_assert(sizeof...(Ts) == sizeof...(Ns), "The number of column titles should be equal to the number of types to return"); return {*this, pos, std::forward(cond), std::forward(names)... }; } template conditional_iterator_proxy find(const_iterator pos, Condition &&cond, Ns... names) const { static_assert(sizeof...(Ts) == sizeof...(Ns), "The number of column titles should be equal to the number of types to return"); return {*this, pos, std::forward(cond), std::forward(names)... }; } // -------------------------------------------------------------------- // if you only expect a single row Row find1(Condition &&cond) { return find1(cbegin(), std::forward(cond)); } Row find1(const_iterator pos, Condition &&cond) { auto h = find(pos, std::forward(cond)); if (h.empty()) throw std::runtime_error("No hits found"); if (h.size() != 1) throw std::runtime_error("Hit not unique"); return *h.begin(); } const Row find1(Condition &&cond) const { return find1(cbegin(), std::forward(cond)); } const Row find1(const_iterator pos, Condition &&cond) const { auto h = find(pos, std::forward(cond)); if (h.empty()) throw std::runtime_error("No hits found"); if (h.size() != 1) throw std::runtime_error("Hit not unique"); return *h.begin(); } template T find1(Condition &&cond, const char* column) const { return find1(cbegin(), std::forward(cond), column); } template T find1(const_iterator pos, Condition &&cond, const char* column) const { auto h = find(pos, std::forward(cond), column); if (h.empty()) throw std::runtime_error("No hits found"); if (h.size() != 1) throw std::runtime_error("Hit not unique"); return std::get<0>(*h.begin()); } template > std::tuple find1(Condition &&cond, Cs... columns) const { static_assert(sizeof...(Ts) == sizeof...(Cs), "The number of column titles should be equal to the number of types to return"); // static_assert(std::is_same_v..., "The column names should be const char"); return find1(cbegin(), std::forward(cond), std::forward(columns)...); } template > std::tuple find1(const_iterator pos, Condition &&cond, Cs... columns) const { static_assert(sizeof...(Ts) == sizeof...(Cs), "The number of column titles should be equal to the number of types to return"); auto h = find(pos, std::forward(cond), std::forward(columns)...); if (h.empty()) throw std::runtime_error("No hits found"); if (h.size() != 1) throw std::runtime_error("Hit not unique"); return *h.begin(); } bool exists(Condition &&cond) const; RowSet orderBy(const std::string &Item) { return orderBy({Item}); } RowSet orderBy(std::initializer_list Items); std::tuple emplace(Item value) { return emplace({value}); } std::tuple emplace(std::initializer_list values) { return emplace(values.begin(), values.end()); } std::tuple emplace(Row r); template std::tuple emplace(Iter b, Iter e); size_t erase(Condition &&cond); size_t erase(Condition &&cond, std::function &&visit); void erase(Row r); iterator erase(iterator ri); /// \brief Create a copy of Row \a r and return the copy. If this row has /// a single key field, this will be updated with a new unique value. Row copyRow(const Row &r); // erase without cascade, should only be used when speed is needed size_t erase_nocascade(Condition &&cond) { return erase_nocascade(std::forward(cond), [](auto r) {}); } size_t erase_nocascade(Condition &&cond, std::function &&visit) { auto savedValidator = mValidator; mValidator = nullptr; auto result = erase(std::forward(cond), std::forward>(visit)); mValidator = savedValidator; return result; } void eraseOrphans(Condition &&cond); /// an orphan is a row that is the child side of one or more /// links and for which there is no single parent left. bool isOrphan(Row r); bool hasParent(Row r, const Category &parentCat, const ValidateLink &link) const; bool hasChildren(Row r) const; bool hasParents(Row r) const; RowSet getChildren(Row r, Category &childCat); RowSet getChildren(Row r, const char *childCat); RowSet getParents(Row r, Category &parentCat); RowSet getParents(Row r, const char *parentCat); RowSet getLinked(Row r, Category &cat); RowSet getLinked(Row r, const char *cat); bool isValid(); void validateLinks() const; const Validator &getValidator() const; const ValidateCategory *getCatValidator() const { return mCatValidator; } Datablock &db() { return mDb; } void setValidator(Validator *v); iset fields() const; iset mandatoryFields() const; iset keyFields() const; std::set keyFieldsByIndex() const; void drop(const std::string &field); void getTagOrder(std::vector &tags) const; // return index for known column, or the next available column index size_t getColumnIndex(const std::string &name) const; bool hasColumn(const std::string &name) const; const std::string &getColumnName(size_t columnIndex) const; std::vector getColumnNames() const; void reorderByIndex(); void sort(std::function comparator); // -------------------------------------------------------------------- /// Rename a single column in the rows that match \a cond to value \a value /// making sure the linked categories are updated according to the link. /// That means, child categories are updated if the links are absolute /// and unique. If they are not, the child category rows are split. void update_value(Condition &&cond, const std::string &tag, const std::string &value) { update_value(RowSet{*this, std::move(cond)}, tag, value); } void update_value(RowSet &&rows, const std::string &tag, const std::string &value); // -------------------------------------------------------------------- // generate a new, unique ID. Pass it an ID generating function based on // a sequence number. This function will be called until the result is // unique in the context of this category std::string getUniqueID(std::function generator = cif::cifIdForNumber); std::string getUniqueID(const std::string &prefix) { return getUniqueID([prefix](int nr) { return prefix + std::to_string(nr + 1); }); } // -------------------------------------------------------------------- // for debugging friend bool operator==(const Category &lhs, const Category &rhs); private: void write(std::ostream &os); void write(std::ostream &os, const std::vector &order); void write(std::ostream &os, const std::vector &order, bool includeEmptyColumns); size_t addColumn(const std::string &name); Datablock &mDb; std::string mName; Validator *mValidator; const ValidateCategory *mCatValidator = nullptr; std::vector mColumns; ItemRow *mHead; ItemRow *mTail; class CatIndex *mIndex; }; // -------------------------------------------------------------------- class File { public: friend class parser; friend class Validator; File(); File(std::istream &is, bool validate = false); File(const std::filesystem::path &path, bool validate = false); File(File &&rhs); File(const File &rhs) = delete; File &operator=(const File &rhs) = delete; ~File(); void load(const std::filesystem::path &p); void save(const std::filesystem::path &p); void load(std::istream &is); void save(std::ostream &os); /// \brief Load only the data block \a datablock from the mmCIF file void load(std::istream &is, const std::string &datablock); void save(std::ostream &os, const std::vector &order) { write(os, order); } void write(std::ostream &os, const std::vector &order); void loadDictionary(); // load the default dictionary, that is mmcifDdl in this case void loadDictionary(const char *dict); // load one of the compiled in dictionaries void loadDictionary(std::istream &is); // load dictionary from input stream bool isValid(); void validateLinks() const; const Datablock &firstDatablock() const { if (mHead == nullptr) throw std::runtime_error("No datablocks in file"); return *mHead; } Datablock &firstDatablock() { if (mHead == nullptr) throw std::runtime_error("No datablocks in file"); return *mHead; } void append(Datablock *e); Datablock *get(const std::string &name) const; Datablock &operator[](const std::string &name); struct iterator { using iterator_category = std::forward_iterator_tag; using value_type = Datablock; using difference_type = std::ptrdiff_t; using pointer = value_type *; using reference = value_type &; iterator(Datablock *db) : mCurrent(db) { } reference operator*() { return *mCurrent; } pointer operator->() { return mCurrent; } iterator &operator++(); iterator operator++(int) { iterator result(*this); this->operator++(); return result; } bool operator==(const iterator &rhs) const { return mCurrent == rhs.mCurrent; } bool operator!=(const iterator &rhs) const { return not(mCurrent == rhs.mCurrent); } private: Datablock *mCurrent; }; iterator begin() const; iterator end() const; bool empty() const { return mHead == nullptr; } const Validator &getValidator() const; void getTagOrder(std::vector &tags) const; private: void setValidator(Validator *v); Datablock *mHead; Validator *mValidator; }; // -------------------------------------------------------------------- // some postponed inlines namespace detail { template inline bool AnyIsConditionImpl::test(const Category &c, const Row &r) const { bool result = false; for (auto &f : c.fields()) { try { if (r[f].as() == mValue) { result = true; break; } } catch (...) { } } return result; } inline bool AnyMatchesConditionImpl::test(const Category &c, const Row &r) const { bool result = false; for (auto &f : c.fields()) { try { if (std::regex_match(r[f].as(), mRx)) { result = true; break; } } catch (...) { } } return result; } } // namespace detail // these should be here, as I learned today inline void swap(cif::Row &a, cif::Row &b) { a.swap(b); } inline void swap(cif::detail::ItemReference &a, cif::detail::ItemReference &b) { a.swap(b); } // -------------------------------------------------------------------- template iterator_proxy::iterator_proxy(CategoryType &cat, row_iterator pos, char const *const columns[N]) : mCat(&cat) , mCBegin(pos) , mCEnd(cat.end()) { for (size_t i = 0; i < N; ++i) mCix[i] = mCat->getColumnIndex(columns[i]); } template iterator_proxy::iterator_proxy(CategoryType &cat, row_iterator pos, std::initializer_list columns) : mCat(&cat) , mCBegin(pos) , mCEnd(cat.end()) { // static_assert(columns.size() == N, "The list of column names should be exactly the same as the list of requested columns"); std::size_t i = 0; for (auto column : columns) mCix[i++] = mCat->getColumnIndex(column); } // -------------------------------------------------------------------- template conditional_iterator_proxy::conditional_iterator_impl::conditional_iterator_impl( CategoryType &cat, row_iterator pos, const Condition &cond, const std::array &cix) : mCat(&cat) , mBegin(pos, cix) , mEnd(cat.end(), cix) , mCondition(&cond) { } template conditional_iterator_proxy::conditional_iterator_proxy(conditional_iterator_proxy &&p) : mCat(nullptr) , mCBegin(p.mCBegin) , mCEnd(p.mCEnd) , mCix(p.mCix) { std::swap(mCat, p.mCat); std::swap(mCix, p.mCix); mCondition.swap(p.mCondition); } template template conditional_iterator_proxy::conditional_iterator_proxy(CategoryType &cat, row_iterator pos, Condition &&cond, Ns... names) : mCat(&cat) , mCondition(std::move(cond)) , mCBegin(pos) , mCEnd(cat.end()) { static_assert(sizeof...(Ts) == sizeof...(Ns), "Number of column names should be equal to number of requested value types"); mCondition.prepare(cat); while (mCBegin != mCEnd and not mCondition(*mCat, mCBegin.row())) ++mCBegin; size_t i = 0; ((mCix[i++] = mCat->getColumnIndex(names)), ...); } template conditional_iterator_proxy &conditional_iterator_proxy::operator=(conditional_iterator_proxy &&p) { swap(p); return *this; } template typename conditional_iterator_proxy::iterator conditional_iterator_proxy::begin() const { return iterator(*mCat, mCBegin, mCondition, mCix); } template typename conditional_iterator_proxy::iterator conditional_iterator_proxy::end() const { return iterator(*mCat, mCEnd, mCondition, mCix); } template bool conditional_iterator_proxy::empty() const { return mCBegin == mCEnd; } template void conditional_iterator_proxy::swap(conditional_iterator_proxy &rhs) { std::swap(mCat, rhs.mCat); mCondition.swap(rhs.mCondition); std::swap(mCBegin, rhs.mCBegin); std::swap(mCEnd, rhs.mCEnd); std::swap(mCix, rhs.mCix); } } // namespace cif libcifpp-2.0.5/include/cif++/Cif2PDB.hpp0000664000175000017500000000373714200173347017317 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once #include "cif++/Cif++.hpp" void WritePDBFile(std::ostream& pdbFile, cif::File& cifFile); /// \brief Just the HEADER, COMPND, SOURCE and AUTHOR lines void WritePDBHeaderLines(std::ostream& os, cif::File& cifFile); std::string GetPDBHEADERLine(cif::File& cifFile, std::string::size_type truncate_at = 127); std::string GetPDBCOMPNDLine(cif::File& cifFile, std::string::size_type truncate_at = 127); std::string GetPDBSOURCELine(cif::File& cifFile, std::string::size_type truncate_at = 127); std::string GetPDBAUTHORLine(cif::File& cifFile, std::string::size_type truncate_at = 127); libcifpp-2.0.5/include/cif++/CifParser.hpp0000664000175000017500000001355514200173347020063 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once #include "cif++/Cif++.hpp" #include #include namespace cif { // -------------------------------------------------------------------- class CifParserError : public std::runtime_error { public: CifParserError(uint32_t lineNr, const std::string& message); }; // -------------------------------------------------------------------- extern const uint32_t kMaxLineLength; extern const uint8_t kCharTraitsTable[128]; enum CharTraitsMask: uint8_t { kOrdinaryMask = 1 << 0, kNonBlankMask = 1 << 1, kTextLeadMask = 1 << 2, kAnyPrintMask = 1 << 3 }; inline bool isWhite(int ch) { return std::isspace(ch) or ch == '#'; } inline bool isOrdinary(int ch) { return ch >= 0x20 and ch <= 0x7f and (kCharTraitsTable[ch - 0x20] & kOrdinaryMask) != 0; } inline bool isNonBlank(int ch) { return ch > 0x20 and ch <= 0x7f and (kCharTraitsTable[ch - 0x20] & kNonBlankMask) != 0; } inline bool isTextLead(int ch) { return ch >= 0x20 and ch <= 0x7f and (kCharTraitsTable[ch - 0x20] & kTextLeadMask) != 0; } inline bool isAnyPrint(int ch) { return ch == '\t' or (ch >= 0x20 and ch <= 0x7f and (kCharTraitsTable[ch - 0x20] & kAnyPrintMask) != 0); } inline bool isUnquotedString(const char* s) { bool result = isOrdinary(*s++); while (result and *s != 0) { result = isNonBlank(*s); ++s; } return result; } // -------------------------------------------------------------------- std::tuple splitTagName(const std::string& tag); // -------------------------------------------------------------------- using DatablockIndex = std::map; // -------------------------------------------------------------------- // sac Parser, analogous to SAX Parser (simple api for xml) class SacParser { public: SacParser(std::istream& is, bool init = true); virtual ~SacParser() {} enum CIFToken { eCIFTokenUnknown, eCIFTokenEOF, eCIFTokenDATA, eCIFTokenLOOP, eCIFTokenGLOBAL, eCIFTokenSAVE, eCIFTokenSTOP, eCIFTokenTag, eCIFTokenValue, }; static const char* kTokenName[]; enum CIFValueType { eCIFValueInt, eCIFValueFloat, eCIFValueNumeric, eCIFValueString, eCIFValueTextField, eCIFValueInapplicable, eCIFValueUnknown }; static const char* kValueName[]; int getNextChar(); void retract(); void restart(); CIFToken getNextToken(); void match(CIFToken token); bool parseSingleDatablock(const std::string& datablock); DatablockIndex indexDatablocks(); bool parseSingleDatablock(const std::string& datablock, const DatablockIndex &index); void parseFile(); void parseGlobal(); void parseDataBlock(); virtual void parseSaveFrame(); void parseDictionary(); void error(const std::string& msg); // production methods, these are pure virtual here virtual void produceDatablock(const std::string& name) = 0; virtual void produceCategory(const std::string& name) = 0; virtual void produceRow() = 0; virtual void produceItem(const std::string& category, const std::string& item, const std::string& value) = 0; protected: enum State { eStateStart, eStateWhite, eStateComment, eStateQuestionMark, eStateDot, eStateQuotedString, eStateQuotedStringQuote, eStateUnquotedString, eStateTag, eStateTextField, eStateFloat = 100, eStateInt = 110, // eStateNumericSuffix = 200, eStateValue = 300 }; std::istream& mData; // Parser state bool mValidate; uint32_t mLineNr; bool mBol; int mState, mStart; CIFToken mLookahead; std::string mTokenValue; CIFValueType mTokenType; std::stack mBuffer; }; // -------------------------------------------------------------------- class Parser : public SacParser { public: Parser(std::istream& is, File& f, bool init = true); virtual void produceDatablock(const std::string& name); virtual void produceCategory(const std::string& name); virtual void produceRow(); virtual void produceItem(const std::string& category, const std::string& item, const std::string& value); protected: File& mFile; Datablock* mDataBlock; Datablock::iterator mCat; Row mRow; }; // -------------------------------------------------------------------- class DictParser : public Parser { public: DictParser(Validator& validator, std::istream& is); ~DictParser(); void loadDictionary(); private: virtual void parseSaveFrame(); bool collectItemTypes(); void linkItems(); Validator& mValidator; File mFile; struct DictParserDataImpl* mImpl; bool mCollectedItemTypes = false; }; } libcifpp-2.0.5/include/cif++/CifUtils.hpp0000664000175000017500000001606314200173347017724 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once #include #include #include #include #include #include #include #ifndef STDOUT_FILENO #define STDOUT_FILENO 1 #endif #if _MSC_VER #include #define isatty _isatty #else #include #endif #include "cif++/Cif++Export.hpp" #if _MSC_VER #pragma warning(disable : 4996) // unsafe function or variable (strcpy e.g.) #pragma warning(disable : 4068) // unknown pragma #pragma warning(disable : 4100) // unreferenced formal parameter #pragma warning(disable : 4101) // unreferenced local variable #define _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING 1 #endif namespace cif { // the git 'build' number std::string get_version_nr(); // std::string get_version_date(); // -------------------------------------------------------------------- // some basic utilities: Since we're using ASCII input only, we define for optimisation // our own case conversion routines. bool iequals(const std::string &a, const std::string &b); int icompare(const std::string &a, const std::string &b); bool iequals(const char *a, const char *b); int icompare(const char *a, const char *b); void toLower(std::string &s); std::string toLowerCopy(const std::string &s); // To make life easier, we also define iless and iset using iequals struct iless { bool operator()(const std::string &a, const std::string &b) const { return icompare(a, b) < 0; } }; typedef std::set iset; // -------------------------------------------------------------------- // This really makes a difference, having our own tolower routines extern const uint8_t kCharToLowerMap[256]; inline char tolower(int ch) { return static_cast(kCharToLowerMap[static_cast(ch)]); } // -------------------------------------------------------------------- std::tuple splitTagName(const std::string &tag); // -------------------------------------------------------------------- // generate a cif name, mainly used to generate asym_id's std::string cifIdForNumber(int number); // -------------------------------------------------------------------- // custom wordwrapping routine std::vector wordWrap(const std::string &text, size_t width); // -------------------------------------------------------------------- // Code helping with terminal i/o uint32_t get_terminal_width(); // -------------------------------------------------------------------- // Path of the current executable std::string get_executable_path(); // -------------------------------------------------------------------- // some manipulators to write coloured text to terminals enum StringColour { scBLACK = 0, scRED, scGREEN, scYELLOW, scBLUE, scMAGENTA, scCYAN, scWHITE, scNONE = 9 }; template struct ColouredString { static_assert(std::is_reference::value or std::is_pointer::value, "String type must be pointer or reference"); ColouredString(String s, StringColour fore, StringColour back, bool bold = true) : m_s(s) , m_fore(fore) , m_back(back) , m_bold(bold) { } ColouredString &operator=(const ColouredString &) = delete; String m_s; StringColour m_fore, m_back; bool m_bold; }; template std::basic_ostream &operator<<(std::basic_ostream &os, const ColouredString &s) { if (isatty(STDOUT_FILENO)) { std::basic_ostringstream ostr; ostr << "\033[" << (30 + s.m_fore) << ';' << (s.m_bold ? "1" : "22") << ';' << (40 + s.m_back) << 'm' << s.m_s << "\033[0m"; return os << ostr.str(); } else return os << s.m_s; } template std::basic_ostream &operator<<(std::basic_ostream &os, const ColouredString &s) { if (isatty(STDOUT_FILENO)) { std::basic_ostringstream ostr; ostr << "\033[" << (30 + s.m_fore) << ';' << (s.m_bold ? "1" : "22") << ';' << (40 + s.m_back) << 'm' << s.m_s << "\033[0m"; return os << ostr.str(); } else return os << s.m_s; } template inline auto coloured(const CharT *s, StringColour fore = scWHITE, StringColour back = scRED, bool bold = true) { return ColouredString(s, fore, back, bold); } template inline auto coloured(const std::basic_string &s, StringColour fore = scWHITE, StringColour back = scRED, bool bold = true) { return ColouredString, CharT>(s, fore, back, bold); } template inline auto coloured(std::basic_string &s, StringColour fore = scWHITE, StringColour back = scRED, bool bold = true) { return ColouredString, CharT>(s, fore, back, bold); } // -------------------------------------------------------------------- // A progress bar class Progress { public: Progress(int64_t inMax, const std::string &inAction); virtual ~Progress(); void consumed(int64_t inConsumed); // consumed is relative void progress(int64_t inProgress); // progress is absolute void message(const std::string &inMessage); private: Progress(const Progress &) = delete; Progress &operator=(const Progress &) = delete; struct ProgressImpl *mImpl; }; // -------------------------------------------------------------------- // Resources std::unique_ptr loadResource(std::filesystem::path name); void addFileResource(const std::string &name, std::filesystem::path dataFile); void addDataDirectory(std::filesystem::path dataDir); } // namespace cif libcifpp-2.0.5/include/cif++/CifValidator.hpp0000664000175000017500000001241114200173347020542 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once #include "cif++/Cif++.hpp" // duh.. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86164 // #include #include #include namespace cif { struct ValidateCategory; // -------------------------------------------------------------------- class ValidationError : public std::exception { public: ValidationError(const std::string& msg); ValidationError(const std::string& cat, const std::string& item, const std::string& msg); const char* what() const noexcept { return mMsg.c_str(); } std::string mMsg; }; // -------------------------------------------------------------------- enum class DDL_PrimitiveType { Char, UChar, Numb }; DDL_PrimitiveType mapToPrimitiveType(const std::string& s); struct ValidateType { std::string mName; DDL_PrimitiveType mPrimitiveType; // std::regex mRx; boost::regex mRx; bool operator<(const ValidateType& rhs) const { return icompare(mName, rhs.mName) < 0; } // compare values based on type // int compare(const std::string& a, const std::string& b) const // { // return compare(a.c_str(), b.c_str()); // } int compare(const char* a, const char* b) const; }; struct ValidateItem { std::string mTag; bool mMandatory; const ValidateType* mType; cif::iset mEnums; std::string mDefault; bool mDefaultIsNull; ValidateCategory* mCategory = nullptr; // ItemLinked is used for non-key links struct ItemLinked { ValidateItem* mParent; std::string mParentItem; std::string mChildItem; }; std::vector mLinked; bool operator<(const ValidateItem& rhs) const { return icompare(mTag, rhs.mTag) < 0; } bool operator==(const ValidateItem& rhs) const { return iequals(mTag, rhs.mTag); } void operator()(std::string value) const; }; struct ValidateCategory { std::string mName; std::vector mKeys; cif::iset mGroups; cif::iset mMandatoryFields; std::set mItemValidators; bool operator<(const ValidateCategory& rhs) const { return icompare(mName, rhs.mName) < 0; } void addItemValidator(ValidateItem&& v); const ValidateItem* getValidatorForItem(std::string tag) const; const std::set& itemValidators() const { return mItemValidators; } }; struct ValidateLink { int mLinkGroupID; std::string mParentCategory; std::vector mParentKeys; std::string mChildCategory; std::vector mChildKeys; std::string mLinkGroupLabel; }; // -------------------------------------------------------------------- class Validator { public: friend class DictParser; Validator(); ~Validator(); Validator(const Validator& rhs) = delete; Validator& operator=(const Validator& rhs) = delete; Validator(Validator&& rhs); Validator& operator=(Validator&& rhs); void addTypeValidator(ValidateType&& v); const ValidateType* getValidatorForType(std::string typeCode) const; void addCategoryValidator(ValidateCategory&& v); const ValidateCategory* getValidatorForCategory(std::string category) const; void addLinkValidator(ValidateLink&& v); std::vector getLinksForParent(const std::string& category) const; std::vector getLinksForChild(const std::string& category) const; void reportError(const std::string& msg, bool fatal); std::string dictName() const { return mName; } void dictName(const std::string& name) { mName = name; } std::string dictVersion() const { return mVersion; } void dictVersion(const std::string& version) { mVersion = version; } private: // name is fully qualified here: ValidateItem* getValidatorForItem(std::string name) const; std::string mName; std::string mVersion; bool mStrict = false; // std::set mSubCategories; std::set mTypeValidators; std::set mCategoryValidators; std::vector mLinkValidators; }; } libcifpp-2.0.5/include/cif++/Compound.hpp0000664000175000017500000001450114200173347017761 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once /// \file This file contains the definition for the class Compound, encapsulating /// the information found for compounds in the CCD. #include #include #include #include #include "cif++/AtomType.hpp" #include "cif++/Cif++.hpp" namespace mmcif { // -------------------------------------------------------------------- class Compound; struct CompoundAtom; class CompoundFactoryImpl; /// \brief The bond type as defined in the CCD, possible values taken from the mmcif_pdbx_v50 file enum class BondType { sing, // 'single bond' doub, // 'double bond' trip, // 'triple bond' quad, // 'quadruple bond' arom, // 'aromatic bond' poly, // 'polymeric bond' delo, // 'delocalized double bond' pi, // 'pi bond' }; std::string to_string(BondType bondType); BondType from_string(const std::string& bondType); /// -------------------------------------------------------------------- /// \brief struct containing information about an atom in a chemical compound. /// This is a subset of the available information. Contact the author if you need more fields. struct CompoundAtom { std::string id; AtomType typeSymbol; int charge = 0; bool aromatic = false; bool leavingAtom = false; bool stereoConfig = false; float x, y, z; }; /// -------------------------------------------------------------------- /// \brief struct containing information about the bonds struct CompoundBond { std::string atomID[2]; BondType type; bool aromatic = false, stereoConfig = false; }; /// -------------------------------------------------------------------- /// \brief a class that contains information about a chemical compound. /// This information is derived from the CDD by default. /// /// To create compounds, you use the factory method. You can add your own /// compound definitions by calling the addExtraComponents function and /// pass it a valid CCD formatted file. class Compound { public: // accessors std::string id() const { return mID; } std::string name() const { return mName; } std::string type() const { return mType; } std::string formula() const { return mFormula; } float formulaWeight() const { return mFormulaWeight; } int formalCharge() const { return mFormalCharge; } const std::vector &atoms() const { return mAtoms; } const std::vector &bonds() const { return mBonds; } CompoundAtom getAtomByID(const std::string &atomID) const; bool atomsBonded(const std::string &atomId_1, const std::string &atomId_2) const; // float atomBondValue(const std::string &atomId_1, const std::string &atomId_2) const; // float bondAngle(const std::string &atomId_1, const std::string &atomId_2, const std::string &atomId_3) const; // float chiralVolume(const std::string ¢reID) const; bool isWater() const { return mID == "HOH" or mID == "H2O" or mID == "WAT"; } private: friend class CompoundFactoryImpl; friend class CCDCompoundFactoryImpl; friend class CCP4CompoundFactoryImpl; Compound(cif::Datablock &db); Compound(cif::Datablock &db, const std::string &id, const std::string &name, const std::string &type); std::string mID; std::string mName; std::string mType; std::string mFormula; float mFormulaWeight = 0; int mFormalCharge = 0; std::vector mAtoms; std::vector mBonds; }; // -------------------------------------------------------------------- // Factory class for Compound and Link objects CIFPP_EXPORT extern const std::map kAAMap, kBaseMap; class CompoundFactory { public: /// \brief Initialise a singleton instance. /// /// If you have a multithreaded application and want to have different /// compounds in each thread (e.g. a web service processing user requests /// with different sets of compounds) you can set the \a useThreadLocalInstanceOnly /// flag to true. static void init(bool useThreadLocalInstanceOnly); static CompoundFactory &instance(); static void clear(); void setDefaultDictionary(const std::filesystem::path &inDictFile); void pushDictionary(const std::filesystem::path &inDictFile); void popDictionary(); bool isKnownPeptide(const std::string &res_name) const; bool isKnownBase(const std::string &res_name) const; /// \brief Create the Compound object for \a id /// /// This will create the Compound instance for \a id if it doesn't exist already. /// The result is owned by this factory and should not be deleted by the user. /// \param id The Compound ID, a three letter code usually /// \result The compound, or nullptr if it could not be created (missing info) const Compound *create(std::string id); ~CompoundFactory(); private: CompoundFactory(); CompoundFactory(const CompoundFactory &) = delete; CompoundFactory &operator=(const CompoundFactory &) = delete; static std::unique_ptr sInstance; static thread_local std::unique_ptr tlInstance; static bool sUseThreadLocalInstance; std::shared_ptr mImpl; }; } // namespace mmcif libcifpp-2.0.5/include/cif++/Matrix.hpp0000664000175000017500000002042614200173347017444 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright Maarten L. Hekkelman, Radboud University 2008-2011. * Copyright (c) 2021 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ // -------------------------------------------------------------------- // uBlas compatible matrix types #pragma once #include #include // matrix is m x n, addressing i,j is 0 <= i < m and 0 <= j < n // element m i,j is mapped to [i * n + j] and thus storage is row major template class MatrixBase { public: using value_type = T; virtual ~MatrixBase() {} virtual uint32_t dim_m() const = 0; virtual uint32_t dim_n() const = 0; virtual value_type &operator()(uint32_t i, uint32_t j) { throw std::runtime_error("unimplemented method"); } virtual value_type operator()(uint32_t i, uint32_t j) const = 0; MatrixBase &operator*=(const value_type &rhs); MatrixBase &operator-=(const value_type &rhs); }; template MatrixBase &MatrixBase::operator*=(const T &rhs) { for (uint32_t i = 0; i < dim_m(); ++i) { for (uint32_t j = 0; j < dim_n(); ++j) { operator()(i, j) *= rhs; } } return *this; } template MatrixBase &MatrixBase::operator-=(const T &rhs) { for (uint32_t i = 0; i < dim_m(); ++i) { for (uint32_t j = 0; j < dim_n(); ++j) { operator()(i, j) -= rhs; } } return *this; } template std::ostream &operator<<(std::ostream &lhs, const MatrixBase &rhs) { lhs << '[' << rhs.dim_m() << ',' << rhs.dim_n() << ']' << '('; for (uint32_t i = 0; i < rhs.dim_m(); ++i) { lhs << '('; for (uint32_t j = 0; j < rhs.dim_n(); ++j) { if (j > 0) lhs << ','; lhs << rhs(i, j); } lhs << ')'; } lhs << ')'; return lhs; } template class Matrix : public MatrixBase { public: using value_type = T; template Matrix(const MatrixBase &m) : m_m(m.dim_m()) , m_n(m.dim_n()) { m_data = new value_type[m_m * m_n]; for (uint32_t i = 0; i < m_m; ++i) { for (uint32_t j = 0; j < m_n; ++j) operator()(i, j) = m(i, j); } } Matrix() : m_data(nullptr) , m_m(0) , m_n(0) { } Matrix(const Matrix &m) : m_m(m.m_m) , m_n(m.m_n) { m_data = new value_type[m_m * m_n]; std::copy(m.m_data, m.m_data + (m_m * m_n), m_data); } Matrix &operator=(const Matrix &m) { value_type *t = new value_type[m.m_m * m.m_n]; std::copy(m.m_data, m.m_data + (m.m_m * m.m_n), t); delete[] m_data; m_data = t; m_m = m.m_m; m_n = m.m_n; return *this; } Matrix(uint32_t m, uint32_t n, T v = T()) : m_m(m) , m_n(n) { m_data = new value_type[m_m * m_n]; std::fill(m_data, m_data + (m_m * m_n), v); } virtual ~Matrix() { delete[] m_data; } virtual uint32_t dim_m() const { return m_m; } virtual uint32_t dim_n() const { return m_n; } virtual value_type operator()(uint32_t i, uint32_t j) const { assert(i < m_m); assert(j < m_n); return m_data[i * m_n + j]; } virtual value_type &operator()(uint32_t i, uint32_t j) { assert(i < m_m); assert(j < m_n); return m_data[i * m_n + j]; } template void each(Func f) { for (uint32_t i = 0; i < m_m * m_n; ++i) f(m_data[i]); } template Matrix &operator/=(U v) { for (uint32_t i = 0; i < m_m * m_n; ++i) m_data[i] /= v; return *this; } private: value_type *m_data; uint32_t m_m, m_n; }; // -------------------------------------------------------------------- template class SymmetricMatrix : public MatrixBase { public: typedef typename MatrixBase::value_type value_type; SymmetricMatrix(uint32_t n, T v = T()) : m_owner(true) , m_n(n) { uint32_t N = (m_n * (m_n + 1)) / 2; m_data = new value_type[N]; std::fill(m_data, m_data + N, v); } SymmetricMatrix(const T *data, uint32_t n) : m_owner(false) , m_data(const_cast(data)) , m_n(n) { } virtual ~SymmetricMatrix() { if (m_owner) delete[] m_data; } virtual uint32_t dim_m() const { return m_n; } virtual uint32_t dim_n() const { return m_n; } T operator()(uint32_t i, uint32_t j) const; virtual T &operator()(uint32_t i, uint32_t j); // erase two rows, add one at the end (for neighbour joining) void erase_2(uint32_t i, uint32_t j); template void each(Func f) { uint32_t N = (m_n * (m_n + 1)) / 2; for (uint32_t i = 0; i < N; ++i) f(m_data[i]); } template SymmetricMatrix &operator/=(U v) { uint32_t N = (m_n * (m_n + 1)) / 2; for (uint32_t i = 0; i < N; ++i) m_data[i] /= v; return *this; } private: bool m_owner; value_type *m_data; uint32_t m_n; }; template inline T SymmetricMatrix::operator()(uint32_t i, uint32_t j) const { return i < j ? m_data[(j * (j + 1)) / 2 + i] : m_data[(i * (i + 1)) / 2 + j]; } template inline T &SymmetricMatrix::operator()(uint32_t i, uint32_t j) { if (i > j) std::swap(i, j); assert(j < m_n); return m_data[(j * (j + 1)) / 2 + i]; } template void SymmetricMatrix::erase_2(uint32_t di, uint32_t dj) { uint32_t s = 0, d = 0; for (uint32_t i = 0; i < m_n; ++i) { for (uint32_t j = 0; j < i; ++j) { if (i != di and j != dj and i != dj and j != di) { if (s != d) m_data[d] = m_data[s]; ++d; } ++s; } } --m_n; } template class IdentityMatrix : public MatrixBase { public: typedef typename MatrixBase::value_type value_type; IdentityMatrix(uint32_t n) : m_n(n) { } virtual uint32_t dim_m() const { return m_n; } virtual uint32_t dim_n() const { return m_n; } virtual value_type operator()(uint32_t i, uint32_t j) const { value_type result = 0; if (i == j) result = 1; return result; } private: uint32_t m_n; }; // -------------------------------------------------------------------- // matrix functions template Matrix operator*(const MatrixBase &lhs, const MatrixBase &rhs) { Matrix result(std::min(lhs.dim_m(), rhs.dim_m()), std::min(lhs.dim_n(), rhs.dim_n())); for (uint32_t i = 0; i < result.dim_m(); ++i) { for (uint32_t j = 0; j < result.dim_n(); ++j) { for (uint32_t li = 0, rj = 0; li < lhs.dim_m() and rj < rhs.dim_n(); ++li, ++rj) result(i, j) += lhs(li, j) * rhs(i, rj); } } return result; } template Matrix operator*(const MatrixBase &lhs, T rhs) { Matrix result(lhs); result *= rhs; return result; } template Matrix operator-(const MatrixBase &lhs, const MatrixBase &rhs) { Matrix result(std::min(lhs.dim_m(), rhs.dim_m()), std::min(lhs.dim_n(), rhs.dim_n())); for (uint32_t i = 0; i < result.dim_m(); ++i) { for (uint32_t j = 0; j < result.dim_n(); ++j) { result(i, j) = lhs(i, j) - rhs(i, j); } } return result; } template Matrix operator-(const MatrixBase &lhs, T rhs) { Matrix result(lhs.dim_m(), lhs.dim_n()); result -= rhs; return result; } // template // symmetric_matrix hammingDistance(const MatrixBase &lhs, T rhs); // template // std::vector sum(const MatrixBase &m); libcifpp-2.0.5/include/cif++/PDB2Cif.hpp0000664000175000017500000000434714200173347017315 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once #include "cif++/Cif++.hpp" // -------------------------------------------------------------------- struct PDBRecord { PDBRecord *mNext; uint32_t mLineNr; char mName[11]; size_t mVlen; char mValue[1]; PDBRecord(uint32_t lineNr, const std::string &name, const std::string &value); ~PDBRecord(); void *operator new(size_t); void *operator new(size_t size, size_t vLen); void operator delete(void *p); void operator delete(void *p, size_t vLen); bool is(const char *name) const; char vC(size_t column); std::string vS(size_t columnFirst, size_t columnLast = std::numeric_limits::max()); int vI(int columnFirst, int columnLast); std::string vF(size_t columnFirst, size_t columnLast); }; // -------------------------------------------------------------------- void ReadPDBFile(std::istream &pdbFile, cif::File &cifFile); libcifpp-2.0.5/include/cif++/PDB2CifRemark3.hpp0000664000175000017500000000511014200173347020527 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once #include "cif++/PDB2Cif.hpp" // -------------------------------------------------------------------- struct TemplateLine; class Remark3Parser { public: virtual ~Remark3Parser() {} static bool parse(const std::string& expMethod, PDBRecord* r, cif::Datablock& db); virtual std::string program(); virtual std::string version(); protected: Remark3Parser(const std::string& name, const std::string& expMethod, PDBRecord* r, cif::Datablock& db, const TemplateLine templatelines[], uint32_t templateLineCount, std::regex programVersion); virtual float parse(); std::string nextLine(); bool match(const char* expr, int nextState); void storeCapture(const char* category, std::initializer_list items, bool createNew = false); void storeRefineLsRestr(const char* type, std::initializer_list values); void updateRefineLsRestr(const char* type, std::initializer_list values); virtual void fixup() {} std::string mName; std::string mExpMethod; PDBRecord* mRec; cif::Datablock mDb; std::string mLine; std::smatch mM; uint32_t mState; const TemplateLine* mTemplate; uint32_t mTemplateCount; std::regex mProgramVersion; }; libcifpp-2.0.5/include/cif++/Point.hpp0000664000175000017500000002375514200173347017301 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once #include #if HAVE_LIBCLIPPER #include #endif #include namespace mmcif { typedef boost::math::quaternion Quaternion; const double kPI = 3.141592653589793238462643383279502884; // -------------------------------------------------------------------- // Point, a location with x, y and z coordinates as floating point. // This one is derived from a tuple so // you can do things like: // // float x, y, z; // tie(x, y, z) = atom.loc(); template struct PointF { typedef F FType; FType mX, mY, mZ; PointF() : mX(0), mY(0), mZ(0) {} PointF(FType x, FType y, FType z) : mX(x), mY(y), mZ(z) {} template PointF(const PointF& pt) : mX(static_cast(pt.mX)) , mY(static_cast(pt.mY)) , mZ(static_cast(pt.mZ)) {} #if HAVE_LIBCLIPPER PointF(const clipper::Coord_orth& pt): mX(pt[0]), mY(pt[1]), mZ(pt[2]) {} PointF& operator=(const clipper::Coord_orth& rhs) { mX = rhs[0]; mY = rhs[1]; mZ = rhs[2]; return *this; } #endif template PointF& operator=(const PointF& rhs) { mX = static_cast(rhs.mX); mY = static_cast(rhs.mY); mZ = static_cast(rhs.mZ); return *this; } FType& getX() { return mX; } FType getX() const { return mX; } void setX(FType x) { mX = x; } FType& getY() { return mY; } FType getY() const { return mY; } void setY(FType y) { mY = y; } FType& getZ() { return mZ; } FType getZ() const { return mZ; } void setZ(FType z) { mZ = z; } PointF& operator+=(const PointF& rhs) { mX += rhs.mX; mY += rhs.mY; mZ += rhs.mZ; return *this; } PointF& operator+=(FType d) { mX += d; mY += d; mZ += d; return *this; } PointF& operator-=(const PointF& rhs) { mX -= rhs.mX; mY -= rhs.mY; mZ -= rhs.mZ; return *this; } PointF& operator-=(FType d) { mX -= d; mY -= d; mZ -= d; return *this; } PointF& operator*=(FType rhs) { mX *= rhs; mY *= rhs; mZ *= rhs; return *this; } PointF& operator/=(FType rhs) { mX /= rhs; mY /= rhs; mZ /= rhs; return *this; } FType normalize() { auto length = mX * mX + mY * mY + mZ * mZ; if (length > 0) { length = std::sqrt(length); operator/=(length); } return length; } void rotate(const boost::math::quaternion& q) { boost::math::quaternion p(0, mX, mY, mZ); p = q * p * boost::math::conj(q); mX = p.R_component_2(); mY = p.R_component_3(); mZ = p.R_component_4(); } #if HAVE_LIBCLIPPER operator clipper::Coord_orth() const { return clipper::Coord_orth(mX, mY, mZ); } #endif operator std::tuple() const { return std::make_tuple(std::ref(mX), std::ref(mY), std::ref(mZ)); } operator std::tuple() { return std::make_tuple(std::ref(mX), std::ref(mY), std::ref(mZ)); } bool operator==(const PointF& rhs) const { return mX == rhs.mX and mY == rhs.mY and mZ == rhs.mZ; } // consider point as a vector... perhaps I should rename Point? FType lengthsq() const { return mX * mX + mY * mY + mZ * mZ; } FType length() const { return sqrt(mX * mX + mY * mY + mZ * mZ); } }; typedef PointF Point; typedef PointF DPoint; template inline std::ostream& operator<<(std::ostream& os, const PointF& pt) { os << '(' << pt.mX << ',' << pt.mY << ',' << pt.mZ << ')'; return os; } template inline PointF operator+(const PointF& lhs, const PointF& rhs) { return PointF(lhs.mX + rhs.mX, lhs.mY + rhs.mY, lhs.mZ + rhs.mZ); } template inline PointF operator-(const PointF& lhs, const PointF& rhs) { return PointF(lhs.mX - rhs.mX, lhs.mY - rhs.mY, lhs.mZ - rhs.mZ); } template inline PointF operator-(const PointF& pt) { return PointF(-pt.mX, -pt.mY, -pt.mZ); } template inline PointF operator*(const PointF& pt, F f) { return PointF(pt.mX * f, pt.mY * f, pt.mZ * f); } template inline PointF operator*(F f, const PointF& pt) { return PointF(pt.mX * f, pt.mY * f, pt.mZ * f); } template inline PointF operator/(const PointF& pt, F f) { return PointF(pt.mX / f, pt.mY / f, pt.mZ / f); } // -------------------------------------------------------------------- // several standard 3d operations template inline double DistanceSquared(const PointF& a, const PointF& b) { return (a.mX - b.mX) * (a.mX - b.mX) + (a.mY - b.mY) * (a.mY - b.mY) + (a.mZ - b.mZ) * (a.mZ - b.mZ); } template inline double Distance(const PointF& a, const PointF& b) { return sqrt( (a.mX - b.mX) * (a.mX - b.mX) + (a.mY - b.mY) * (a.mY - b.mY) + (a.mZ - b.mZ) * (a.mZ - b.mZ)); } template inline F DotProduct(const PointF& a, const PointF& b) { return a.mX * b.mX + a.mY * b.mY + a.mZ * b.mZ; } template inline PointF CrossProduct(const PointF& a, const PointF& b) { return PointF(a.mY * b.mZ - b.mY * a.mZ, a.mZ * b.mX - b.mZ * a.mX, a.mX * b.mY - b.mX * a.mY); } template double Angle(const PointF& p1, const PointF& p2, const PointF& p3) { PointF v1 = p1 - p2; PointF v2 = p3 - p2; return std::acos(DotProduct(v1, v2) / (v1.length() * v2.length())) * 180 / kPI; } template double DihedralAngle(const PointF& p1, const PointF& p2, const PointF& p3, const PointF& p4) { PointF v12 = p1 - p2; // vector from p2 to p1 PointF v43 = p4 - p3; // vector from p3 to p4 PointF z = p2 - p3; // vector from p3 to p2 PointF p = CrossProduct(z, v12); PointF x = CrossProduct(z, v43); PointF y = CrossProduct(z, x); double u = DotProduct(x, x); double v = DotProduct(y, y); double result = 360; if (u > 0 and v > 0) { u = DotProduct(p, x) / sqrt(u); v = DotProduct(p, y) / sqrt(v); if (u != 0 or v != 0) result = atan2(v, u) * 180 / kPI; } return result; } template double CosinusAngle(const PointF& p1, const PointF& p2, const PointF& p3, const PointF& p4) { PointF v12 = p1 - p2; PointF v34 = p3 - p4; double result = 0; double x = DotProduct(v12, v12) * DotProduct(v34, v34); if (x > 0) result = DotProduct(v12, v34) / sqrt(x); return result; } template auto DistancePointToLine(const PointF &l1, const PointF &l2, const PointF &p) { auto line = l2 - l1; auto p_to_l1 = p - l1; auto p_to_l2 = p - l2; auto cross = CrossProduct(p_to_l1, p_to_l2); return cross.length() / line.length(); } // -------------------------------------------------------------------- // For e.g. simulated annealing, returns a new point that is moved in // a random direction with a distance randomly chosen from a normal // distribution with a stddev of offset. template PointF Nudge(PointF p, F offset); // -------------------------------------------------------------------- // We use quaternions to do rotations in 3d space Quaternion Normalize(Quaternion q); std::tuple QuaternionToAngleAxis(Quaternion q); Point Centroid(std::vector& Points); Point CenterPoints(std::vector& Points); Quaternion AlignPoints(const std::vector& a, const std::vector& b); double RMSd(const std::vector& a, const std::vector& b); // -------------------------------------------------------------------- // Helper class to generate evenly divided Points on a sphere // we use a fibonacci sphere to calculate even distribution of the dots template class SphericalDots { public: enum { P = 2 * N + 1 }; typedef typename std::array array_type; typedef typename array_type::const_iterator iterator; static SphericalDots& instance() { static SphericalDots sInstance; return sInstance; } size_t size() const { return mPoints.size(); } const Point operator[](uint32_t inIx) const { return mPoints[inIx]; } iterator begin() const { return mPoints.begin(); } iterator end() const { return mPoints.end(); } double weight() const { return mWeight; } SphericalDots() { const double kGoldenRatio = (1 + std::sqrt(5.0)) / 2; mWeight = (4 * kPI) / P; auto p = mPoints.begin(); for (int32_t i = -N; i <= N; ++i) { double lat = std::asin((2.0 * i) / P); double lon = std::fmod(i, kGoldenRatio) * 2 * kPI / kGoldenRatio; p->mX = sin(lon) * cos(lat); p->mY = cos(lon) * cos(lat); p->mZ = sin(lat); ++p; } } private: array_type mPoints; double mWeight; }; typedef SphericalDots<50> SphericalDots_50; } libcifpp-2.0.5/include/cif++/Secondary.hpp0000664000175000017500000001277514200173347020137 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ // Calculate DSSP-like secondary structure information #pragma once namespace mmcif { class Structure; class Monomer; struct Res; extern const float kCouplingConstant, kMinHBondEnergy, kMaxHBondEnergy; enum SecondaryStructureType : char { ssLoop = ' ', ssAlphahelix = 'H', ssBetabridge = 'B', ssStrand = 'E', ssHelix_3 = 'G', ssHelix_5 = 'I', ssHelix_PPII = 'P', ssTurn = 'T', ssBend = 'S' }; enum class HelixType { rh_3_10, rh_alpha, rh_pi, rh_pp }; enum class Helix { None, Start, End, StartAndEnd, Middle }; //struct HBond //{ // std::string labelAsymID; // int labelSeqID; // double energy; //}; // //struct BridgePartner //{ // std::string labelAsymID; // int labelSeqID; // int ladder; // bool parallel; //}; struct SecondaryStructure { SecondaryStructureType type; // HBond donor[2], acceptor[2]; // BridgePartner beta[2]; // int sheet; // bool bend; }; //void CalculateSecondaryStructure(Structure& s); const size_t kHistogramSize = 30; struct DSSP_Statistics { uint32_t nrOfResidues, nrOfChains, nrOfSSBridges, nrOfIntraChainSSBridges, nrOfHBonds; uint32_t nrOfHBondsInAntiparallelBridges, nrOfHBondsInParallelBridges; uint32_t nrOfHBondsPerDistance[11] = {}; double accessibleSurface = 0; uint32_t residuesPerAlphaHelixHistogram[kHistogramSize] = {}; uint32_t parallelBridgesPerLadderHistogram[kHistogramSize] = {}; uint32_t antiparallelBridgesPerLadderHistogram[kHistogramSize] = {}; uint32_t laddersPerSheetHistogram[kHistogramSize] = {}; }; enum class ChainBreak { None, NewChain, Gap }; class DSSP { public: DSSP(const Structure& s, int min_poly_proline_stretch_length, bool calculateSurfaceAccessibility); ~DSSP(); DSSP(const DSSP&) = delete; DSSP& operator=(const DSSP&) = delete; SecondaryStructureType operator()(const std::string& inAsymID, int inSeqID) const; SecondaryStructureType operator()(const Monomer& m) const; double accessibility(const std::string& inAsymID, int inSeqID) const; double accessibility(const Monomer& m) const; bool isAlphaHelixEndBeforeStart(const Monomer& m) const; bool isAlphaHelixEndBeforeStart(const std::string& inAsymID, int inSeqID) const; DSSP_Statistics GetStatistics() const; class iterator; using res_iterator = typename std::vector::iterator; class ResidueInfo { public: friend class iterator; explicit operator bool() const { return not empty(); } bool empty() const { return mImpl == nullptr; } const Monomer& residue() const; std::string alt_id() const; /// \brief return 0 if not a break, ' ' in case of a new chain and '*' in case of a broken chain ChainBreak chainBreak() const; /// \brief the internal number in DSSP int nr() const; SecondaryStructureType ss() const; int ssBridgeNr() const; Helix helix(HelixType helixType) const; bool bend() const; double accessibility() const; /// \brief returns resinfo, ladder and parallel std::tuple bridgePartner(int i) const; int sheet() const; /// \brief return resinfo and the energy of the bond std::tuple acceptor(int i) const; std::tuple donor(int i) const; private: ResidueInfo(Res* res) : mImpl(res) {} Res* mImpl; }; class iterator { public: using iterator_category = std::input_iterator_tag; using value_type = ResidueInfo; using difference_type = std::ptrdiff_t; using pointer = value_type*; using reference = value_type&; iterator(const iterator& i); iterator(Res* res); iterator& operator=(const iterator& i); reference operator*() { return mCurrent; } pointer operator->() { return &mCurrent; } iterator& operator++(); iterator operator++(int) { auto tmp(*this); this->operator++(); return tmp; } bool operator==(const iterator& rhs) const { return mCurrent.mImpl == rhs.mCurrent.mImpl; } bool operator!=(const iterator& rhs) const { return mCurrent.mImpl != rhs.mCurrent.mImpl; } private: ResidueInfo mCurrent; }; iterator begin() const; iterator end() const; bool empty() const { return begin() == end(); } private: struct DSSPImpl* mImpl; }; } libcifpp-2.0.5/include/cif++/Structure.hpp0000664000175000017500000003677314200173347020214 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once #include #include "cif++/AtomType.hpp" #include "cif++/Cif++.hpp" #include "cif++/Compound.hpp" #include "cif++/Point.hpp" /* To modify a structure, you will have to use actions. The currently supported actions are: // - Move atom to new location - Remove atom // - Add new atom that was formerly missing // - Add alternate Residue - */ namespace mmcif { class Atom; class Residue; class Monomer; class Polymer; class Structure; class File; // -------------------------------------------------------------------- class Atom { public: Atom(); Atom(struct AtomImpl *impl); Atom(const Atom &rhs); Atom(cif::Datablock &db, cif::Row &row); // a special constructor to create symmetry copies Atom(const Atom &rhs, const Point &symmmetry_location, const std::string &symmetry_operation); ~Atom(); explicit operator bool() const { return mImpl_ != nullptr; } // return a copy of this atom, with data copied instead of referenced Atom clone() const; Atom &operator=(const Atom &rhs); const std::string &id() const; AtomType type() const; Point location() const; void location(Point p); /// \brief Translate the position of this atom by \a t void translate(Point t); /// \brief Rotate the position of this atom by \a q void rotate(Quaternion q); // for direct access to underlying data, be careful! const cif::Row getRow() const; const cif::Row getRowAniso() const; // Atom symmetryCopy(const Point& d, const clipper::RTop_orth& rt); bool isSymmetryCopy() const; std::string symmetry() const; // const clipper::RTop_orth& symop() const; const Compound &comp() const; bool isWater() const; int charge() const; float uIso() const; bool getAnisoU(float anisou[6]) const; float occupancy() const; template T property(const std::string &name) const; void property(const std::string &name, const std::string &value); template , int> = 0> void property(const std::string &name, const T &value) { property(name, std::to_string(value)); } // specifications std::string labelAtomID() const; std::string labelCompID() const; std::string labelAsymID() const; std::string labelEntityID() const; int labelSeqID() const; std::string labelAltID() const; bool isAlternate() const; std::string authAtomID() const; std::string authCompID() const; std::string authAsymID() const; std::string authSeqID() const; std::string pdbxAuthInsCode() const; std::string pdbxAuthAltID() const; std::string labelID() const; // label_comp_id + '_' + label_asym_id + '_' + label_seq_id std::string pdbID() const; // auth_comp_id + '_' + auth_asym_id + '_' + auth_seq_id + pdbx_PDB_ins_code bool operator==(const Atom &rhs) const; // // get clipper format Atom // clipper::Atom toClipper() const; // Radius calculation based on integrating the density until perc of electrons is found void calculateRadius(float resHigh, float resLow, float perc); float radius() const; // access data in compound for this atom // convenience routine bool isBackBone() const { auto atomID = labelAtomID(); return atomID == "N" or atomID == "O" or atomID == "C" or atomID == "CA"; } void swap(Atom &b) { std::swap(mImpl_, b.mImpl_); } int compare(const Atom &b) const; bool operator<(const Atom &rhs) const { return compare(rhs) < 0; } friend std::ostream &operator<<(std::ostream &os, const Atom &atom); private: friend class Structure; void setID(int id); AtomImpl *impl(); const AtomImpl *impl() const; struct AtomImpl *mImpl_; }; inline void swap(mmcif::Atom &a, mmcif::Atom &b) { a.swap(b); } inline double Distance(const Atom &a, const Atom &b) { return Distance(a.location(), b.location()); } inline double DistanceSquared(const Atom &a, const Atom &b) { return DistanceSquared(a.location(), b.location()); } typedef std::vector AtomView; // -------------------------------------------------------------------- class Residue { public: // constructors should be private, but that's not possible for now (needed in emplace) // constructor for waters Residue(const Structure &structure, const std::string &compoundID, const std::string &asymID, const std::string &authSeqID); // constructor for a residue without a sequence number Residue(const Structure &structure, const std::string &compoundID, const std::string &asymID); // constructor for a residue with a sequence number Residue(const Structure &structure, const std::string &compoundID, const std::string &asymID, int seqID, const std::string &authSeqID); Residue(const Residue &rhs) = delete; Residue &operator=(const Residue &rhs) = delete; Residue(Residue &&rhs); Residue &operator=(Residue &&rhs); virtual ~Residue(); const Compound &compound() const; const AtomView &atoms() const; /// \brief Unique atoms returns only the atoms without alternates and the first of each alternate atom id. AtomView unique_atoms() const; /// \brief The alt ID used for the unique atoms std::string unique_alt_id() const; Atom atomByID(const std::string &atomID) const; const std::string &compoundID() const { return mCompoundID; } const std::string &asymID() const { return mAsymID; } int seqID() const { return mSeqID; } std::string entityID() const; std::string authAsymID() const; std::string authSeqID() const; std::string authInsCode() const; // return a human readable PDB-like auth id (chain+seqnr+iCode) std::string authID() const; // similar for mmCIF space std::string labelID() const; // Is this residue a single entity? bool isEntity() const; bool isWater() const { return mCompoundID == "HOH"; } const Structure &structure() const { return *mStructure; } bool empty() const { return mStructure == nullptr; } bool hasAlternateAtoms() const; /// \brief Return the list of unique alt ID's present in this residue std::set getAlternateIDs() const; /// \brief Return the list of unique atom ID's std::set getAtomIDs() const; /// \brief Return the list of atoms having ID \a atomID AtomView getAtomsByID(const std::string &atomID) const; // some routines for 3d work std::tuple centerAndRadius() const; friend std::ostream &operator<<(std::ostream &os, const Residue &res); protected: Residue() {} friend class Polymer; const Structure *mStructure = nullptr; std::string mCompoundID, mAsymID; int mSeqID = 0; // Watch out, this is used only to label waters... The rest of the code relies on // MapLabelToAuth to get this info. Perhaps we should rename this member field. std::string mAuthSeqID; AtomView mAtoms; }; // -------------------------------------------------------------------- // a monomer models a single Residue in a protein chain class Monomer : public Residue { public: // Monomer(); Monomer(const Monomer &rhs) = delete; Monomer &operator=(const Monomer &rhs) = delete; Monomer(Monomer &&rhs); Monomer &operator=(Monomer &&rhs); Monomer(const Polymer &polymer, size_t index, int seqID, const std::string &authSeqID, const std::string &compoundID); bool is_first_in_chain() const; bool is_last_in_chain() const; // convenience bool has_alpha() const; bool has_kappa() const; // Assuming this is really an amino acid... float phi() const; float psi() const; float alpha() const; float kappa() const; float tco() const; float omega() const; // torsion angles size_t nrOfChis() const; float chi(size_t i) const; bool isCis() const; /// \brief Returns true if the four atoms C, CA, N and O are present bool isComplete() const; /// \brief Returns true if any of the backbone atoms has an alternate bool hasAlternateBackboneAtoms() const; Atom CAlpha() const { return atomByID("CA"); } Atom C() const { return atomByID("C"); } Atom N() const { return atomByID("N"); } Atom O() const { return atomByID("O"); } Atom H() const { return atomByID("H"); } bool isBondedTo(const Monomer &rhs) const { return this != &rhs and areBonded(*this, rhs); } static bool areBonded(const Monomer &a, const Monomer &b, float errorMargin = 0.5f); static bool isCis(const Monomer &a, const Monomer &b); static float omega(const Monomer &a, const Monomer &b); // for LEU and VAL float chiralVolume() const; private: const Polymer *mPolymer; size_t mIndex; }; // -------------------------------------------------------------------- class Polymer : public std::vector { public: Polymer(const Structure &s, const std::string &entityID, const std::string &asymID); Polymer(const Polymer &) = delete; Polymer &operator=(const Polymer &) = delete; // Polymer(Polymer&& rhs) = delete; // Polymer& operator=(Polymer&& rhs) = de; Monomer &getBySeqID(int seqID); const Monomer &getBySeqID(int seqID) const; Structure *structure() const { return mStructure; } std::string asymID() const { return mAsymID; } std::string entityID() const { return mEntityID; } std::string chainID() const; int Distance(const Monomer &a, const Monomer &b) const; private: Structure *mStructure; std::string mEntityID; std::string mAsymID; cif::RowSet mPolySeq; }; // -------------------------------------------------------------------- // file is a reference to the data stored in e.g. the cif file. // This object is not copyable. class File : public std::enable_shared_from_this { public: File(); File(const std::filesystem::path &path); File(const char *data, size_t length); // good luck trying to find out what it is... ~File(); File(const File &) = delete; File &operator=(const File &) = delete; cif::Datablock& createDatablock(const std::string &name); void load(const std::filesystem::path &path); void save(const std::filesystem::path &path); Structure *model(size_t nr = 1); struct FileImpl &impl() const { return *mImpl; } cif::Datablock &data(); cif::File &file(); private: struct FileImpl *mImpl; }; // -------------------------------------------------------------------- enum class StructureOpenOptions { SkipHydrogen = 1 << 0 }; inline bool operator&(StructureOpenOptions a, StructureOpenOptions b) { return static_cast(a) bitand static_cast(b); } // -------------------------------------------------------------------- class Structure { public: Structure(File &p, size_t modelNr = 1, StructureOpenOptions options = {}); Structure &operator=(const Structure &) = delete; ~Structure(); // Create a read-only clone of the current structure (for multithreaded calculations that move atoms) Structure(const Structure &); File &getFile() const; const AtomView &atoms() const { return mAtoms; } AtomView waters() const; const std::list &polymers() const { return mPolymers; } std::list &polymers() { return mPolymers; } const std::vector &nonPolymers() const { return mNonPolymers; } const std::vector &branchResidues() const { return mBranchResidues; } Atom getAtomByID(std::string id) const; // Atom getAtomByLocation(Point pt, float maxDistance) const; Atom getAtomByLabel(const std::string &atomID, const std::string &asymID, const std::string &compID, int seqID, const std::string &altID = ""); /// \brief Get a residue, if \a seqID is zero, the non-polymers are searched const Residue &getResidue(const std::string &asymID, const std::string &compID, int seqID = 0) const; // map between auth and label locations std::tuple MapAuthToLabel(const std::string &asymID, const std::string &seqID, const std::string &compID, const std::string &insCode = ""); std::tuple MapLabelToAuth( const std::string &asymID, int seqID, const std::string &compID); // returns chain, seqnr, icode std::tuple MapLabelToAuth( const std::string &asymID, int seqID) const; // returns chain,seqnr,comp,iCode std::tuple MapLabelToPDB( const std::string &asymID, int seqID, const std::string &compID, const std::string &authSeqID) const; std::tuple MapPDBToLabel( const std::string &asymID, int seqID, const std::string &compID, const std::string &iCode) const; // Actions void removeAtom(Atom &a); void swapAtoms(Atom &a1, Atom &a2); // swap the labels for these atoms void moveAtom(Atom &a, Point p); // move atom to a new location void changeResidue(const Residue &res, const std::string &newCompound, const std::vector> &remappedAtoms); /// \brief Create a new non-polymer entity, returns new ID /// \param mon_id The mon_id for the new nonpoly, must be an existing and known compound from CCD /// \return The ID of the created entity std::string createNonPolyEntity(const std::string &mon_id); /// \brief Create a new NonPolymer struct_asym with atoms constructed from \a atoms, returns asym_id. /// This method assumes you are copying data from one cif file to another. /// /// \param entity_id The entity ID of the new nonpoly /// \param atoms The array of atom_site rows containing the data. /// \return The newly create asym ID std::string createNonpoly(const std::string &entity_id, const std::vector &atoms); /// \brief To sort the atoms in order of model > asym-id > res-id > atom-id /// Will asssign new atom_id's to all atoms. Be carefull void sortAtoms(); /// \brief Translate the coordinates of all atoms in the structure by \a t void translate(Point t); /// \brief Rotate the coordinates of all atoms in the structure by \a q void rotate(Quaternion t); const std::vector &getNonPolymers() const { return mNonPolymers; } const std::vector &getBranchResidues() const { return mBranchResidues; } void cleanupEmptyCategories(); private: friend Polymer; friend Residue; // friend residue_view; // friend residue_iterator; cif::Category &category(const char *name) const; cif::Datablock &datablock() const; std::string insertCompound(const std::string &compoundID, bool isEntity); void loadData(); void updateAtomIndex(); void loadAtomsForModel(StructureOpenOptions options); File &mFile; size_t mModelNr; AtomView mAtoms; std::vector mAtomIndex; std::list mPolymers; std::vector mNonPolymers, mBranchResidues; }; } // namespace mmcif libcifpp-2.0.5/include/cif++/Symmetry.hpp0000664000175000017500000001054214200173347020027 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once #include #include #include #include "CifUtils.hpp" namespace mmcif { // -------------------------------------------------------------------- struct Spacegroup { const char* name; const char* xHM; const char* Hall; int nr; }; CIFPP_EXPORT extern const Spacegroup kSpaceGroups[]; CIFPP_EXPORT extern const std::size_t kNrOfSpaceGroups; // -------------------------------------------------------------------- struct SymopData { constexpr SymopData(const std::array& data) : m_packed((data[ 0] & 0x03ULL) << 34 bitor (data[ 1] & 0x03ULL) << 32 bitor (data[ 2] & 0x03ULL) << 30 bitor (data[ 3] & 0x03ULL) << 28 bitor (data[ 4] & 0x03ULL) << 26 bitor (data[ 5] & 0x03ULL) << 24 bitor (data[ 6] & 0x03ULL) << 22 bitor (data[ 7] & 0x03ULL) << 20 bitor (data[ 8] & 0x03ULL) << 18 bitor (data[ 9] & 0x07ULL) << 15 bitor (data[10] & 0x07ULL) << 12 bitor (data[11] & 0x07ULL) << 9 bitor (data[12] & 0x07ULL) << 6 bitor (data[13] & 0x07ULL) << 3 bitor (data[14] & 0x07ULL) << 0) { } bool operator==(const SymopData& rhs) const { return m_packed == rhs.m_packed; } std::array data() const { return { static_cast(m_packed >> 34) bitand 0x03, static_cast(m_packed >> 32) bitand 0x03, static_cast(m_packed >> 30) bitand 0x03, static_cast(m_packed >> 28) bitand 0x03, static_cast(m_packed >> 26) bitand 0x03, static_cast(m_packed >> 24) bitand 0x03, static_cast(m_packed >> 22) bitand 0x03, static_cast(m_packed >> 20) bitand 0x03, static_cast(m_packed >> 18) bitand 0x03, static_cast(m_packed >> 15) bitand 0x07, static_cast(m_packed >> 12) bitand 0x07, static_cast(m_packed >> 9) bitand 0x07, static_cast(m_packed >> 6) bitand 0x07, static_cast(m_packed >> 3) bitand 0x07, static_cast(m_packed >> 0) bitand 0x07, }; } private: friend struct SymopDataBlock; const uint64_t kPackMask = (~0ULL >> (64-36)); SymopData(uint64_t v) : m_packed(v bitand kPackMask) {} uint64_t m_packed; }; struct SymopDataBlock { constexpr SymopDataBlock(int spacegroup, int rotational_number, const std::array& rt_data) : m_v((spacegroup & 0xffffULL) << 48 bitor (rotational_number & 0xffULL) << 40 bitor SymopData(rt_data).m_packed) { } uint16_t spacegroup() const { return m_v >> 48; } SymopData symop() const { return SymopData(m_v); } uint8_t rotational_number() const { return (m_v >> 40) bitand 0xff; } private: uint64_t m_v; }; static_assert(sizeof(SymopDataBlock) == sizeof(uint64_t), "Size of SymopData is wrong"); CIFPP_EXPORT extern const SymopDataBlock kSymopNrTable[]; CIFPP_EXPORT extern const std::size_t kSymopNrTableSize; // -------------------------------------------------------------------- int GetSpacegroupNumber(std::string spacegroup); // alternative for clipper's parsing code } libcifpp-2.0.5/include/cif++/TlsParser.hpp0000664000175000017500000000405514200173347020117 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once #include #include #include #include "cif++/Cif++.hpp" namespace cif { extern const int kResidueNrWildcard, kNoSeqNum; struct TLSSelection; typedef std::unique_ptr TLSSelectionPtr; struct TLSResidue; struct TLSSelection { virtual ~TLSSelection() {} virtual void CollectResidues(cif::Datablock& db, std::vector& residues, std::size_t indentLevel = 0) const = 0; std::vector> GetRanges(cif::Datablock& db, bool pdbNamespace) const; }; // Low level: get the selections TLSSelectionPtr ParseSelectionDetails(const std::string& program, const std::string& selection); } libcifpp-2.0.5/libcifpp.pc.in0000664000175000017500000000047114200173347015674 0ustar maartenmaartenprefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ datalibdir=@datarootdir@/libcifpp Name: libcifpp Description: C++ library for the manipulation of mmCIF files. Version: @PACKAGE_VERSION@ Libs: -L${libdir} -lcifpp -lboost_regex -lboost_iostreams Cflags: -I${includedir} -pthread libcifpp-2.0.5/rsrc/0000775000175000017500000000000014200173347014122 5ustar maartenmaartenlibcifpp-2.0.5/rsrc/isomers.txt0000664000175000017500000000045214200173347016345 0ustar maartenmaarten13R:13S 1AB:IMR 558:559 6PG:LG6 A:AMP ABA:DBB ALO:DTH BDR:BXX C:C5P CBI:MAL:MAB COA:COZ COM:COM CTL:TTL CTR:MLR DIL:IIL DNE:NLE DTL:MRY DX5:LXP:R5P G:G25 GDC:GDD GDM:GMY GDU:GUD:UFM:UPG HY0:HYG I:IMP LLT:THM LPK:LTG M13:MDM PDE:PNE QDN:QI9 R5A:R5B RUB:XBP RWF:SWF TBE:TBI U:U5P U2F:UP1:UPF UD1:UD2 libcifpp-2.0.5/rsrc/mmcif_ddl.dic0000664000175000017500000031435214200173347016531 0ustar maartenmaarten########################################################################### # # File: mmcif_ddl.dic # Date: Mon Aug 9 02:48:08 EDT 2004 # # Created from files in CVS module dict-mmcif_ddl.dic unless noted: # mmcif_ddl-header.dic # mmcif_ddl-data.dic # mmcif_ddl-def-1.dic # mmcif_ddl-def-2.dic # ########################################################################### ########################################################################### # # File: mmcif_ddl-header.dic # # mmCIF DDL Core Dictionary with NDB extensions # # This DDL dictionary is a mirror of ddl_core.dic-org with all implicit # data items fully expanded and with NDB extensions added. # # Header Section # # ########################################################################### data_mmcif_ddl.dic _datablock.id mmcif_ddl.dic _datablock.description ; This data block holds the core DDL. ; _dictionary.datablock_id mmcif_ddl.dic _dictionary.title mmcif_ddl.dic _dictionary.version 2.1.6 loop_ _dictionary_history.version _dictionary_history.update _dictionary_history.revision 1.1 1994-07-25 ; DDL 1.1 from Syd Hall et. al. ; 1.2.1 1994-09-18 ; Changes:.........etc. etc. John Westbrook ; 1.2.9 1994-10-05 ; Reflect the results of the Treaty of Brussels. JW. ; 2.0.1 1994-10-15 ; Adapted for closer mapping to DDL1.3 and clearer presentation. SRH/NS. ; 2.0.2 1994-10-16 ; Even closer................... SRH/NS. ; 2.0.3 1994-10-17 ; Coming to grips with the links and dependencies..... SRH/NS. ; 2.0.4 1994-10-20 ; Backed in changes from mm-ddl 1.2.12 Many other changes ... (JW) ; 2.0.5 1994-10-20 ; Some small adjustments..........SRH. ; 2.0.6 1994-10-20 ; More small adjustments..........JW. ; 2.0.7 1994-11-03 ; Changes: (JW) + Place all item and item_linked category definitions with the parent item. + Fixed a number of not so trivial typos. + Corrected errors in the data type conversion table. + Corrected key item inconsistencies. + Added the item_aliases category. ; 2.0.8 1994-11-10 ; Miscellaneous corrections: (JW) + defined sub_category_group + corrected typo in category_examples.id definition + added _item_type_conditions.name in item category + added _item_structure.name in item category + corrected typo in item_aliases category definition + corrected typo in sub_category.method_id definition ; 2.0.9 1994-11-14 ; Changes: (JW) + added ITEM_UNITS, ITEM_UNITS_LIST, and UNITS_CONVERSION categories. + added an additional primitive type for character type items for which comparisons must be case insensitive. Since it is customary to permit item names and category identifiers to be specified in mixed case, it is necessary to declare that case should NOT be considered in any comparisons of these items. ; 2.0.10 1994-11-23 ; Changes: (JW) + Several name category changes for the sake of consistency: enumeration -> item_enumeration enumeration_default -> item_enumeration_default enumeration_limit -> item_enumeration_limit units_conversion -> item_units_conversion + Added _item_related.function_code alternate_exclusive to identify mutually exclusive alternative declarations of the same item. + Added structure options for real symmetric matrices. + Changed from zero based indices to one based indices for compatibility with existing matrix component definitions. + Add _item_linked.parent_name to the key of the item_linked category. + Reorder items in the DDL so be alphabetical within category groups. ; 2.0.11 1994-11-28 ; Changes: (JW) + Corrected spelling error for the data type code in the DICTIONARY_HISTORY category. + Add category BLOCK to hold the data block name and data block description. The block identifier was also added to the key of the item category. The block identifier can be implicitly derived from the STAR "data_" delimiter. This identifier is required to form the key for categories which are conceptually related to the data block as a whole. ; 2.0.12 1994-11-30 ; Changes: (JW) + Added a data item _block.scope to indicate the scope of data item names defined within included data blocks. ; 2.0.13 1994-12-12 ; Changes: (JW) + Deleted data item _block.scope. + Changed DICTIONARY category key to _dictionary.block_id to guarantee only one dictionary definition per block. + Deleted data item _item.block_id as this will be replaced by an item address syntax that will include block, save frame, and url. ; 2.0.14 1994-12-15 ; Changes: (JW) + Made some terminology changes suggested by PMDF _item_enumeration.code -> _item_enumeration.value ITEM_ENUMERATION_DEFAULT -> ITEM_DEFAULT ITEM_ENUMERATION_LIMIT -> ITEM_RANGE + Added item _item_type_list.detail + Version 2.0.14 is being frozen and exported. ; 2.0.15 1995-02-13 ; Changes: (JW) + Added '_' prefix to all data item save frame names. References to data item names now always include a leading underscore independent of the usage context. + A few miscellaneous corrections. ; 2.0.16 1995-06-18 ; Changes: (JW) + Revised the block level categories in the following ways: Changed category BLOCK to DATA_BLOCK. Added connection from _data_block.id to _category.implicit_key in order to provide a formal means of merging the contents of categories between data blocks. + Moved ennumerations for _method_list.code and method_list.language to examples. + Removed symmetric matrix options from the ennumerations for _item_structure.organization. + Added _item_related.function codes for 'associated_value', 'associated_esd', 'replaces' and 'replacedby' + Added data items _item_aliases.dictionary and _item_aliases.dictionary_version. + Reorganized method categories such that multiple methods can be applied at each level of data structure. Introduced a consistent set of categories to hold method associations: ITEM_METHODS, CATEGORY_METHODS, SUB_CATEGORY_METHODS, and DATA_BLOCK_METHODS. Removed data items _category.method_id _sub_category.method_id. ; 2.0.17 1995-06-22 ; Changes: (JW) + Quoted data vaules containing the leading string 'data_'. ; 2.1.0 1995-07-20 ; Changes: (JW) Final adjustments before the first release of the mmCIF dictionary: + changed data_block to datablock to avoid any problems with the STAR data_ reserved token. + created new category to hold item subcategory associations and deleted the subcategory attribute from ITEM category. + modified regular expressions to reflect limitations observed on several platforms. + expanded the ennumeration of _item_related.function_code. + removed default value from _item.manadatory_code. + removed type construct for date and changed date data type to yyyy-mm-dd + added less restrictive data type for alias names. ; 2.1.1 1995-09-26 ; Changes: (JW) + Changed regular expressions for type code to permit single quote. + Corrected regular expression syntax for type name and type date. + Corrected lower bound description for item_range.minimum. The incorrect <= condition is changed to <. + _item_mandatory.code has been now a mandatory item. + _item_aliases.dictionary and _item_aliases.dictionary_version are added to the composite key for category ITEM_ALIASES. + _datablock.id data type changes to type code. + Shortened the name _item_aliases.dictionary_version to _item_aliases.version ; 2.1.2 1997-01-24 ; Changes: (JW) + Added associated_error to the enumeration list of _item_related.function_code. ; 2.1.3 2000-10-16 ; Changes: (JW) + Changed data type for regular expression in _item_type_list.construct to type text. ; 2.1.5 2003-06-23 ; Changes: (JW) + NDB extensions adopted into ddl_core + New partitioning scheme implemented ; 2.1.6 2004-04-15 ; Changes: (JW) + Name changed to mmcif_ddl.dic ; ### EOF mmcif_ddl-header.dic #### ########################################################################### # # File: mmcif_ddl-data.dic # # mmCIF DDL Core Dictionary with NDB extensions # # This DDL dictionary is a mirror of ddl_core.dic-org with all implicit # data items fully expanded and with NDB extensions added. # # Data Section # # ########################################################################### # DATA TYPE CONVERSION TABLE # -------------------------- loop_ _item_type_list.code _item_type_list.primitive_code _item_type_list.detail _item_type_list.construct code char 'A single word' '[^\t\n "]*' char char 'A single line of text' '[^\n]*' text char 'Text which may span lines' '.*' int numb 'Unsigned integer data' '[0-9]+' name uchar 'A data item name (restrictive type)' '_[_A-Za-z0-9]+[.][][_A-Za-z0-9\<\>%/-]+' aliasname uchar 'A DDL 1.4 data item name (less restrictive type)' '_[^\t\n "]+' idname uchar 'A data item name component or identifier' '[_A-Za-z0-9]+' any char 'Any data type' '.*' yyyy-mm-dd char 'A date format' '[0-9][0-9][0-9][0-9]-[0-9]?[0-9]-[0-9][0-9]' # loop_ _category_group_list.id _category_group_list.parent_id _category_group_list.description 'ddl_group' . ; Component categories of the macromolecular DDL ; 'datablock_group' 'ddl_group' ; Categories that describe the characteristics of data blocks. ; 'category_group' 'ddl_group' ; Categories that describe the characteristics of categories. ; 'sub_category_group' 'ddl_group' ; Categories that describe the characteristics of subcategories. ; 'item_group' 'ddl_group' ; Categories that describe the characteristics of data items. ; 'dictionary_group' 'ddl_group' ; Categories that describe the dictionary. ; 'compliance_group' 'ddl_group' ; Categories that are retained specifically for compliance with older versions of the DDL. ; ### EOF mmcif_ddl-data.dic ########################################################################### # # File: mmcif_ddl-def-1.dic # # mmCIF DDL Core Dictionary with NDB extensions # # This DDL dictionary is a mirror of ddl_core.dic-org with all implicit # data items fully expanded and with NDB extensions added. # # Definition Section 1. # (Core Definitions) # # ########################################################################### # ---------------------------------------------------------------------------- save_DATABLOCK _category.description ; Attributes defining the characteristics of a data block. ; _category.id datablock _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id datablock _category_key.name '_datablock.id' loop_ _category_group.id _category_group.category_id 'ddl_group' datablock 'datablock_group' datablock save_ save__datablock.id _item_description.name '_datablock.id' _item_description.description ; The identity of the data block. ; _item.name '_datablock.id' _item.category_id datablock _item.mandatory_code implicit _item_type.name '_datablock.id' _item_type.code code loop_ _item_linked.parent_name _item_linked.child_name '_datablock.id' '_datablock_methods.datablock_id' '_datablock.id' '_dictionary.datablock_id' '_datablock.id' '_category.implicit_key' save_ save__datablock.description _item_description.name '_datablock.description' _item_description.description ; Text description of the data block. ; _item.name '_datablock.description' _item.category_id datablock _item.mandatory_code yes _item_type.name '_datablock.description' _item_type.code text save_ # ---------------------------------------------------------------------------- save_DATABLOCK_METHODS _category.description ; Attributes specifying the association between data blocks and methods. ; _category.id datablock_methods _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name datablock_methods '_datablock_methods.method_id' datablock_methods '_datablock_methods.datablock_id' loop_ _category_group.id _category_group.category_id 'ddl_group' datablock_methods 'datablock_group' datablock_methods save_ save__datablock_methods.datablock_id _item_description.name '_datablock_methods.datablock_id' _item_description.description ; Identifier of data block. ; _item.name '_datablock_methods.datablock_id' _item.category_id datablock_methods _item.mandatory_code implicit _item_type.name '_datablock_methods.datablock_id' _item_type.code code save_ save__datablock_methods.method_id _item_description.name '_datablock_methods.method_id' _item_description.description ; Unique method identifier associated with a data block. ; _item.name '_datablock_methods.method_id' _item.category_id datablock_methods _item.mandatory_code yes _item_type.name '_datablock_methods.method_id' _item_type.code idname save_ # ---------------------------------------------------------------------------- save_CATEGORY _category.description ; Attributes defining the functionality for the entire category. ; _category.id category _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id category _category_key.name '_category.id' loop_ _category_group.id _category_group.category_id 'ddl_group' category 'category_group' category save_ save__category.id _item_description.name '_category.id' _item_description.description ; The identity of the data category. Data items may only be looped with items of the same category. ; _item.name '_category.id' _item.category_id category _item.mandatory_code yes _item_type.name '_category.id' _item_type.code idname loop_ _item_linked.child_name _item_linked.parent_name '_category_examples.id' '_category.id' '_category_group.category_id' '_category.id' '_category_key.id' '_category.id' '_category_methods.category_id' '_category.id' '_item.category_id' '_category.id' save_ save__category.description _item_description.name '_category.description' _item_description.description ; Text description of a category. ; _item.name '_category.description' _item.category_id category _item.mandatory_code yes _item_type.name '_category.description' _item_type.code text save_ save__category.implicit_key _item_description.name '_category.implicit_key' _item_description.description ; An identifier that may be used to distinguish the contents of like categories between data blocks. ; _item.name '_category.implicit_key' _item.category_id category _item.mandatory_code implicit _item_type.name '_category.implicit_key' _item_type.code code save_ save__category.mandatory_code _item_description.name '_category.mandatory_code' _item_description.description ; Whether the category must be specified in a dictionary. ; _item.name '_category.mandatory_code' _item.category_id category _item.mandatory_code yes _item_type.name '_category.mandatory_code' _item_type.code code save_ # ---------------------------------------------------------------------------- save_CATEGORY_EXAMPLES _category.description ; Example applications and descriptions of data items in this category. ; _category.id category_examples _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name category_examples '_category_examples.id' category_examples '_category_examples.case' save_ save__category_examples.id _item_description.name '_category_examples.id' _item_description.description ; The name of category. ; _item.name '_category_examples.id' _item.category_id category_examples _item.mandatory_code implicit _item_type.name '_category_examples.id' _item_type.code idname save_ save__category_examples.case _item_description.name '_category_examples.case' _item_description.description ; A case of examples involving items in this category. ; _item.name '_category_examples.case' _item.category_id category_examples _item.mandatory_code yes _item_type.name '_category_examples.case' _item_type.code text save_ save__category_examples.detail _item_description.name '_category_examples.detail' _item_description.description ; A description of an example _category_examples.case ; _item.name '_category_examples.detail' _item.category_id category_examples _item.mandatory_code no _item_type.name '_category_examples.detail' _item_type.code text save_ # ---------------------------------------------------------------------------- save_CATEGORY_KEY _category.description ; This category holds a list of the item names that uniquely identify the elements of the category. ; _category.id category_key _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name category_key '_category_key.name' category_key '_category_key.id' loop_ _category_group.id _category_group.category_id 'ddl_group' category_key 'category_group' category_key save_ save__category_key.name _item_description.name '_category_key.name' _item_description.description ; The name of a data item that serves as a key identifier for the category (eg. a component of the primary key). ; _item.name '_category_key.name' _item.category_id category_key _item.mandatory_code yes _item_type.name '_category_key.name' _item_type.code name save_ save__category_key.id _item_description.name '_category_key.id' _item_description.description ; The identifier of the category (eg. a component of the primary key). ; _item.name '_category_key.id' _item.category_id category_key _item.mandatory_code implicit _item_type.name '_category_key.id' _item_type.code idname save_ # ---------------------------------------------------------------------------- save_CATEGORY_GROUP _category.description ; Provides a list of category groups to which the base category belongs. ; _category.id category_group _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name category_group '_category_group.id' category_group '_category_group.category_id' loop_ _category_group.id _category_group.category_id 'ddl_group' category_group 'category_group' category_group save_ save__category_group.id _item_description.name '_category_group.id' _item_description.description ; The name of a category group ... ; _item.name '_category_group.id' _item.category_id category_group _item.mandatory_code yes _item_type.name '_category_group.id' _item_type.code idname save_ save__category_group.category_id _item_description.name '_category_group.category_id' _item_description.description ; The name of a category ... ; _item.name '_category_group.category_id' _item.category_id category_group _item.mandatory_code implicit _item_type.name '_category_group.category_id' _item_type.code idname save_ # ---------------------------------------------------------------------------- save_CATEGORY_GROUP_LIST _category.description ; This category provides the definition of each category group. A category group is a collection of related categories. ; _category.id category_group_list _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id category_group_list _category_key.name '_category_group_list.id' loop_ _category_group.id _category_group.category_id 'ddl_group' category_group_list 'category_group' category_group_list save_ save__category_group_list.id _item_description.name '_category_group_list.id' _item_description.description ; The name of a category group ... ; _item.name '_category_group_list.id' _item.category_id category_group_list _item.mandatory_code yes _item_type.name '_category_group_list.id' _item_type.code idname loop_ _item_linked.child_name _item_linked.parent_name '_category_group.id' '_category_group_list.id' '_category_group_list.parent_id' '_category_group_list.id' save_ save__category_group_list.description _item_description.name '_category_group_list.description' _item_description.description ; Text description of a category group... ; _item.name '_category_group_list.description' _item.category_id category_group_list _item.mandatory_code yes _item_type.name '_category_group_list.description' _item_type.code text save_ save__category_group_list.parent_id _item_description.name '_category_group_list.parent_id' _item_description.description ; The name of the optional parent category group. ; _item.name '_category_group_list.parent_id' _item.category_id category_group_list _item.mandatory_code no _item_type.name '_category_group_list.parent_id' _item_type.code idname save_ # ---------------------------------------------------------------------------- save_CATEGORY_METHODS _category.description ; Attributes specifying the association between categories and methods. ; _category.id category_methods _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name category_methods '_category_methods.method_id' category_methods '_category_methods.category_id' loop_ _category_group.id _category_group.category_id 'ddl_group' category_methods 'category_group' category_methods save_ save__category_methods.category_id _item_description.name '_category_methods.category_id' _item_description.description ; The name of the category ; _item.name '_category_methods.category_id' _item.category_id category_methods _item.mandatory_code implicit _item_type.name '_category_methods.category_id' _item_type.code idname save_ save__category_methods.method_id _item_description.name '_category_methods.method_id' _item_description.description ; The name of the method ; _item.name '_category_methods.method_id' _item.category_id category_methods _item.mandatory_code yes _item_type.name '_category_methods.method_id' _item_type.code idname save_ # ---------------------------------------------------------------------------- save_SUB_CATEGORY _category.description ; The purpose of a sub-category is to define an association between data items within a category and optionally provide a method to validate the collection of items. The sub-category named 'cartesian' might be applied to the data items for the coordinates x, y, and z. ; _category.id sub_category _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id sub_category _category_key.name '_sub_category.id' loop_ _category_group.id _category_group.category_id 'ddl_group' sub_category 'sub_category_group' sub_category save_ save__sub_category.id _item_description.name '_sub_category.id' _item_description.description ; The identity of the sub-category. ; _item.name '_sub_category.id' _item.category_id sub_category _item.mandatory_code yes _item_type.name '_sub_category.id' _item_type.code idname loop_ _item_linked.child_name _item_linked.parent_name '_sub_category_examples.id' '_sub_category.id' '_sub_category_methods.sub_category_id' '_sub_category.id' '_item_sub_category.id' '_sub_category.id' save_ save__sub_category.description _item_description.name '_sub_category.description' _item_description.description ; Description of the sub-category. ; _item.name '_sub_category.description' _item.category_id sub_category _item.mandatory_code yes _item_type.name '_sub_category.description' _item_type.code text save_ # ---------------------------------------------------------------------------- save_SUB_CATEGORY_EXAMPLES _category.description ; Example applications and descriptions of data items in this subcategory. ; _category.id sub_category_examples _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name sub_category_examples '_sub_category_examples.id' sub_category_examples '_sub_category_examples.case' loop_ _category_group.id _category_group.category_id 'ddl_group' sub_category_examples 'sub_category_group' sub_category_examples save_ save__sub_category_examples.id _item_description.name '_sub_category_examples.id' _item_description.description ; The name for the subcategory. ; _item.name '_sub_category_examples.id' _item.category_id sub_category_examples _item.mandatory_code yes _item_type.name '_sub_category_examples.id' _item_type.code idname save_ save__sub_category_examples.case _item_description.name '_sub_category_examples.case' _item_description.description ; An example involving items in this subcategory. ; _item.name '_sub_category_examples.case' _item.category_id sub_category_examples _item.mandatory_code yes _item_type.name '_sub_category_examples.case' _item_type.code text save_ save__sub_category_examples.detail _item_description.name '_sub_category_examples.detail' _item_description.description ; A description of an example _sub_category_examples.case ; _item.name '_sub_category_examples.detail' _item.category_id sub_category_examples _item.mandatory_code no _item_type.name '_sub_category_examples.detail' _item_type.code text save_ # ---------------------------------------------------------------------------- save_SUB_CATEGORY_METHODS _category.description ; Attributes specifying the association between subcategories and methods. ; _category.id sub_category_methods _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name sub_category_methods '_sub_category_methods.method_id' sub_category_methods '_sub_category_methods.sub_category_id' loop_ _category_group.id _category_group.category_id 'ddl_group' sub_category_methods 'sub_category_group' sub_category_methods save_ save__sub_category_methods.sub_category_id _item_description.name '_sub_category_methods.sub_category_id' _item_description.description ; The name of the subcategory ; _item.name '_sub_category_methods.sub_category_id' _item.category_id sub_category_methods _item.mandatory_code yes _item_type.name '_sub_category_methods.sub_category_id' _item_type.code idname save_ save__sub_category_methods.method_id _item_description.name '_sub_category_methods.method_id' _item_description.description ; The name of the method ; _item.name '_sub_category_methods.method_id' _item.category_id sub_category_methods _item.mandatory_code yes _item_type.name '_sub_category_methods.method_id' _item_type.code idname save_ # ---------------------------------------------------------------------------- save_ITEM _category.description ; Attributes which describe the characteristics of a data item. ; _category.id item _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id item _category_key.name '_item.name' loop_ _category_group.id _category_group.category_id 'ddl_group' item 'item_group' item save_ save__item.name _item_description.name '_item.name' _item_description.description ; Data name of the defined item. ; _item_type.name '_item.name' _item_type.code name _item.name '_item.name' _item.category_id item _item.mandatory_code implicit loop_ _item_linked.child_name _item_linked.parent_name '_category_key.name' '_item.name' '_item_aliases.name' '_item.name' '_item_default.name' '_item.name' '_item_dependent.name' '_item.name' '_item_dependent.dependent_name' '_item.name' '_item_description.name' '_item.name' '_item_enumeration.name' '_item.name' '_item_examples.name' '_item.name' '_item_linked.child_name' '_item.name' '_item_linked.parent_name' '_item.name' '_item_methods.name' '_item.name' '_item_range.name' '_item.name' '_item_related.name' '_item.name' '_item_related.related_name' '_item.name' '_item_type.name' '_item.name' '_item_type_conditions.name' '_item.name' '_item_structure.name' '_item.name' '_item_sub_category.name' '_item.name' '_item_units.name' '_item.name' save_ save__item.mandatory_code _item_description.name '_item.mandatory_code' _item_description.description ; Signals if the defined item is mandatory for the proper description of its category. ; _item.name '_item.mandatory_code' _item.category_id item _item.mandatory_code yes _item_type.name '_item.mandatory_code' _item_type.code code loop_ _item_enumeration.name _item_enumeration.value _item_enumeration.detail '_item.mandatory_code' yes 'required item in this category' '_item.mandatory_code' no 'optional item in this category' '_item.mandatory_code' implicit 'required item but may be determined from context' save_ save__item.category_id _item_description.name '_item.category_id' _item_description.description ; This is category id of the item. ; _item.name '_item.category_id' _item.category_id item _item.mandatory_code implicit _item_type.name '_item.category_id' _item_type.code idname save_ # ---------------------------------------------------------------------------- save_ITEM_ALIASES _category.description ; This category holds a list of possible alias names or synonyms for each data item. Each alias name is identified by the name and version of the dictionary to which it belongs. ; _category.id item_aliases _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name item_aliases '_item_aliases.alias_name' item_aliases '_item_aliases.dictionary' item_aliases '_item_aliases.version' save_ save__item_aliases.name _item_description.name '_item_aliases.name' _item_description.description ; Name for the data item. ; _item.name '_item_aliases.name' _item.category_id item_aliases _item.mandatory_code implicit _item_type.name '_item_aliases.name' _item_type.code name save_ save__item_aliases.alias_name _item_description.name '_item_aliases.alias_name' _item_description.description ; Alias name for the data item. ; _item.name '_item_aliases.alias_name' _item.category_id item_aliases _item.mandatory_code yes _item_type.name '_item_aliases.alias_name' _item_type.code aliasname save_ save__item_aliases.dictionary _item_description.name '_item_aliases.dictionary' _item_description.description ; The dictionary in which the alias name is defined. ; _item.name '_item_aliases.dictionary' _item.category_id item_aliases _item.mandatory_code yes _item_type.name '_item_aliases.dictionary' _item_type.code char save_ save__item_aliases.version _item_description.name '_item_aliases.version' _item_description.description ; The version of the dictionary in which the alias name is defined. ; _item.name '_item_aliases.version' _item.category_id item_aliases _item.mandatory_code yes _item_type.name '_item_aliases.version' _item_type.code char save_ # ---------------------------------------------------------------------------- save_ITEM_DEFAULT _category.description ; Attributes specifying the default value for a data item. ; _category.id item_default _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id item_default _category_key.name '_item_default.name' loop_ _category_group.id _category_group.category_id 'ddl_group' item_default 'item_group' item_default save_ save__item_default.name _item_description.name '_item_default.name' _item_description.description ; The name of item for which the default value is defined ; _item.name '_item_default.name' _item.category_id item_default _item.mandatory_code implicit _item_type.name '_item_default.name' _item_type.code name save_ save__item_default.value _item_description.name '_item_default.value' _item_description.description ; The default value for the defined item if it is not specified explicitly. If a data value is not declared, the default is assumed to be the most likely or natural value. ; _item.name '_item_default.value' _item.category_id item_default _item.mandatory_code no _item_type.name '_item_default.value' _item_type.code any save_ # ---------------------------------------------------------------------------- save_ITEM_DEPENDENT _category.description ; Attributes which identify other data items that must be specified for the defined data item to be valid. ; _category.id item_dependent _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name item_dependent '_item_dependent.name' item_dependent '_item_dependent.dependent_name' save_ save__item_dependent.name _item_description.name '_item_dependent.name' _item_description.description ; Item name of a dependent item. ; _item.name '_item_dependent.name' _item.category_id item_dependent _item.mandatory_code implicit _item_type.name '_item_dependent.name' _item_type.code name save_ save__item_dependent.dependent_name _item_description.name '_item_dependent.dependent_name' _item_description.description ; Data name of a dependent item. ; _item.name '_item_dependent.dependent_name' _item.category_id item_dependent _item.mandatory_code yes _item_type.name '_item_dependent.dependent_name' _item_type.code name save_ # ---------------------------------------------------------------------------- save_ITEM_DESCRIPTION _category.description ; This category holds the descriptions of each data item. ; _category.id item_description _category.mandatory_code yes _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name item_description '_item_description.name' item_description '_item_description.description' loop_ _category_group.id _category_group.category_id 'ddl_group' item_description 'item_group' item_description save_ save__item_description.name _item_description.name '_item_description.name' _item_description.description ; Tne name of data item. ; _item.name '_item_description.name' _item.category_id item_description _item.mandatory_code implicit _item_type.name '_item_description.name' _item_type.code name save_ save__item_description.description _item_description.name '_item_description.description' _item_description.description ; Text decription of the defined data item. ; _item.name '_item_description.description' _item.category_id item_description _item.mandatory_code yes _item_type.name '_item_description.description' _item_type.code text save_ # ---------------------------------------------------------------------------- save_ITEM_ENUMERATION _category.description ; Attributes which specify the permitted enumeration of the items. ; _category.id item_enumeration _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name item_enumeration '_item_enumeration.name' item_enumeration '_item_enumeration.value' loop_ _category_group.id _category_group.category_id 'ddl_group' item_enumeration 'item_group' item_enumeration save_ save__item_enumeration.name _item_description.name '_item_enumeration.name' _item_description.description ; Name of data item. ; _item.name '_item_enumeration.name' _item.category_id item_enumeration _item.mandatory_code implicit _item_type.name '_item_enumeration.name' _item_type.code name save_ save__item_enumeration.value _item_description.name '_item_enumeration.value' _item_description.description ; A permissible value, character or number, for the defined item. ; _item.name '_item_enumeration.value' _item.category_id item_enumeration _item.mandatory_code yes _item_type.name '_item_enumeration.value' _item_type.code any save_ save__item_enumeration.detail _item_description.name '_item_enumeration.detail' _item_description.description ; A description of a permissible value for the defined item. ; _item.name '_item_enumeration.detail' _item.category_id item_enumeration _item.mandatory_code no _item_type.name '_item_enumeration.detail' _item_type.code text save_ # ---------------------------------------------------------------------------- save_ITEM_EXAMPLES _category.description ; Attributes for describing application examples of the data item. ; _category.id item_examples _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name item_examples '_item_examples.name' item_examples '_item_examples.case' loop_ _category_group.id _category_group.category_id 'ddl_group' item_examples 'item_group' item_examples save_ save__item_examples.name _item_description.name '_item_examples.name' _item_description.description ; The name of data item for the example. ; _item.name '_item_examples.name' _item.category_id item_examples _item.mandatory_code implicit _item_type.name '_item_examples.name' _item_type.code name save_ save__item_examples.case _item_description.name '_item_examples.case' _item_description.description ; An example application of the defined data item. ; _item.name '_item_examples.case' _item.category_id item_examples _item.mandatory_code no _item_type.name '_item_examples.case' _item_type.code text save_ save__item_examples.detail _item_description.name '_item_examples.detail' _item_description.description ; A description of an example specified in _item_example.case ; _item.name '_item_examples.detail' _item.category_id item_examples _item.mandatory_code no _item_type.name '_item_examples.detail' _item_type.code text save_ # ---------------------------------------------------------------------------- save_ITEM_LINKED _category.description ; Attributes which describe how equivalent data items are linked within categories and across different categories. ; _category.id item_linked _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name item_linked '_item_linked.child_name' item_linked '_item_linked.parent_name' loop_ _category_group.id _category_group.category_id 'ddl_group' item_linked 'item_group' item_linked save_ save__item_linked.child_name _item_description.name '_item_linked.child_name' _item_description.description ; Name of the child data item. ; _item.name '_item_linked.child_name' _item.category_id item_linked _item.mandatory_code yes _item_type.name '_item_linked.child_name' _item_type.code name save_ save__item_linked.parent_name _item_description.name '_item_linked.parent_name' _item_description.description ; Name of the parent data item. ; _item.name '_item_linked.parent_name' _item.category_id item_linked _item.mandatory_code implicit _item_type.name '_item_linked.parent_name' _item_type.code name save_ # ---------------------------------------------------------------------------- save_ITEM_METHODS _category.description ; Attributes specifying the association between data items and methods. ; _category.id item_methods _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name item_methods '_item_methods.method_id' item_methods '_item_methods.name' loop_ _category_group.id _category_group.category_id 'ddl_group' item_methods 'item_group' item_methods save_ save__item_methods.name _item_description.name '_item_methods.name' _item_description.description ; The name of the item ; _item.name '_item_methods.name' _item.category_id item_methods _item.mandatory_code implicit _item_type.name '_item_methods.name' _item_type.code name save_ save__item_methods.method_id _item_description.name '_item_methods.method_id' _item_description.description ; The name of itemthe method ; _item.name '_item_methods.method_id' _item.category_id item_methods _item.mandatory_code yes _item_type.name '_item_methods.method_id' _item_type.code idname save_ # ---------------------------------------------------------------------------- save_ITEM_RANGE _category.description ; The range of permissible values of a data item. When multiple ranges are specified they are interpreted sequentially using a logical OR. To specify that an item value may be equal to a boundary value, specify an item range where the maximum and mimimum values equal the boundary value. ; _category.id item_range _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name item_range '_item_range.name' item_range '_item_range.minimum' item_range '_item_range.maximum' loop_ _category_group.id _category_group.category_id 'ddl_group' item_range 'item_group' item_range save_ save__item_range.name _item_description.name '_item_range.name' _item_description.description ; Name of data item ... ; _item.name '_item_range.name' _item.category_id item_range _item.mandatory_code implicit _item_type.name '_item_range.name' _item_type.code name save_ save__item_range.minimum _item_description.name '_item_range.minimum' _item_description.description ; Minimum permissible value of a data item or the lower bound of a permissible range. ( minimum value < data value) ; _item.name '_item_range.minimum' _item.category_id item_range _item.mandatory_code no _item_type.name '_item_range.minimum' _item_type.code any save_ save__item_range.maximum _item_description.name '_item_range.maximum' _item_description.description ; Maximum permissible value of a data item or the upper bound of a permissible range. ( maximum value > data value) ; _item.name '_item_range.maximum' _item.category_id item_range _item.mandatory_code no _item_type.name '_item_range.maximum' _item_type.code any save_ # ---------------------------------------------------------------------------- save_ITEM_RELATED _category.description ; Attributes which specify recognized relationships between data items. ; _category.id item_related _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name item_related '_item_related.name' item_related '_item_related.related_name' item_related '_item_related.function_code' loop_ _category_group.id _category_group.category_id 'ddl_group' item_related 'item_group' item_related save_ save__item_related.name _item_description.name '_item_related.name' _item_description.description ; Identifies a defined data item ... ; _item.name '_item_related.name' _item.category_id item_related _item.mandatory_code implicit _item_type.name '_item_related.name' _item_type.code name save_ save__item_related.related_name _item_description.name '_item_related.related_name' _item_description.description ; Identifies a data item by name which is closely related to the defined data item by the manner described by _item_related.function_code ; _item.name '_item_related.related_name' _item.category_id item_related _item.mandatory_code yes _item_type.name '_item_related.related_name' _item_type.code name save_ save__item_related.function_code _item_description.name '_item_related.function_code' _item_description.description ; The code for the type of relationship of the item identified by _item_related.name and the defined item. ALTERNATE indicates that the item identified in _item_related.related_name is an alternative expression in terms of its application and attributes to the item in this definition. ALTERNATE_EXCLUSIVE indicates that the item identified in _item_related.related_name is an alternative expression in terms of its application and attributes to the item in this definition. Only one of the alternative forms may be specified. CONVENTION indicates that the item identified in _item_related.related_name differs from the defined item only in terms of a convention in its expression. CONVERSION_CONSTANT indicates that the item identified in _item_related.related_name differs from the defined item only by a known constant. CONVERSION_ARBITRARY indicates that the item identified in _item_related.related_name differs from the defined item only by a arbitrary constant. REPLACES indicates that the defined item replaces the item identified in _item_related.related_name. REPLACEDBY indicates that the defined item is replaced by the item identified in _item_related.related_name. ASSOCIATED_VALUE indicates that the item identified in _item_related.related_name is meaningful when associated with the defined item. ASSOCIATED_ESD indicates that the item identified in _item_related.related_name is the estimated standard deviation of of the defined item. ; _item.name '_item_related.function_code' _item.category_id item_related _item.mandatory_code yes _item_type.name '_item_related.function_code' _item_type.code code loop_ _item_enumeration.name _item_enumeration.value _item_enumeration.detail '_item_related.function_code' alternate 'alternate form of the item' '_item_related.function_code' alternate_exclusive 'mutually exclusive alternate form of the item' '_item_related.function_code' convention 'depends on defined convention' '_item_related.function_code' conversion_constant 'related by a known conversion factor' '_item_related.function_code' conversion_arbitrary 'related by a arbitrary conversion factor' '_item_related.function_code' replaces 'a replacement definition' '_item_related.function_code' replacedby 'an obsolete definition' '_item_related.function_code' associated_value 'a meaningful value when related to the item' '_item_related.function_code' associated_esd 'an estimated standard deviation of the item' '_item_related.function_code' associated_error 'an estimated error of the item' save_ # ---------------------------------------------------------------------------- save_ITEM_STRUCTURE _category.description ; This category holds the association between data items and named vector/matrix declarations. ; _category.id item_structure _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id item_structure _category_key.name '_item_structure.name' loop_ _category_group.id _category_group.category_id 'ddl_group' item_structure 'item_group' item_structure save_ save__item_structure.name _item_description.name '_item_structure.name' _item_description.description ; The name of data item ; _item.name '_item_structure.name' _item.category_id item_structure _item.mandatory_code implicit _item_type.name '_item_structure.name' _item_type.code name save_ save__item_structure.code _item_description.name '_item_structure.code' _item_description.description ; Provides an indirect reference into the list of structure type definition in category item_structure_list. ; _item.name '_item_structure.code' _item.category_id item_structure _item.mandatory_code yes _item_type.name '_item_structure.code' _item_type.code code save_ save__item_structure.organization _item_description.name '_item_structure.organization' _item_description.description ; Identifies if the struct is defined in column or row major order. Only the unique elements of symmetric matrices are specified. ; _item.name '_item_structure.organization' _item.category_id item_structure _item.mandatory_code yes _item_type.name '_item_structure.organization' _item_type.code code loop_ _item_enumeration.name _item_enumeration.value _item_enumeration.detail '_item_structure.organization' 'columnwise' 'column major order' '_item_structure.organization' 'rowwise' 'row major order' save_ # ---------------------------------------------------------------------------- save_ITEM_STRUCTURE_LIST _category.description ; This category holds a description for each structure type. ; _category.id item_structure_list _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name item_structure_list '_item_structure_list.code' item_structure_list '_item_structure_list.index' loop_ _category_group.id _category_group.category_id 'ddl_group' item_structure_list 'item_group' item_structure_list save_ save__item_structure_list.code _item_description.name '_item_structure_list.code' _item_description.description ; The name of the matrix/vector structure declaration. ; _item.name '_item_structure_list.code' _item.category_id item_structure_list _item.mandatory_code yes _item_linked.parent_name '_item_structure_list.code' _item_linked.child_name '_item_structure.code' _item_type.name '_item_structure_list.code' _item_type.code code save_ save__item_structure_list.index _item_description.name '_item_structure_list.index' _item_description.description ; Identifies the one based index of a row/column of the structure. ; _item.name '_item_structure_list.index' _item.category_id item_structure_list _item.mandatory_code yes loop_ _item_range.name _item_range.minimum _item_range.maximum '_item_structure_list.index' 1 1 '_item_structure_list.index' 1 . _item_type.name '_item_structure_list.index' _item_type.code int save_ save__item_structure_list.dimension _item_description.name '_item_structure_list.dimension' _item_description.description ; Identifies the length of this row/column of the structure. ; _item.name '_item_structure_list.dimension' _item.category_id item_structure_list _item.mandatory_code yes loop_ _item_range.name _item_range.minimum _item_range.maximum '_item_structure_list.dimension' 1 1 '_item_structure_list.dimension' 1 . _item_type.name '_item_structure_list.dimension' _item_type.code int save_ # ---------------------------------------------------------------------------- save_ITEM_SUB_CATEGORY _category.description ; This category assigns data items to subcategories. ; _category.id item_sub_category _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name item_sub_category '_item_sub_category.id' item_sub_category '_item_sub_category.name' loop_ _category_group.id _category_group.category_id 'sub_category_group' item_sub_category 'item_group' item_sub_category save_ save__item_sub_category.name _item_description.name '_item_sub_category.name' _item_description.description ; The name of data item ; _item.name '_item_sub_category.name' _item.category_id item_sub_category _item.mandatory_code implicit _item_type.name '_item_sub_category.name' _item_type.code name save_ save__item_sub_category.id _item_description.name '_item_sub_category.id' _item_description.description ; The identifier of subcategory ; _item.name '_item_sub_category.id' _item.category_id item_sub_category _item.mandatory_code yes _item_type.name '_item_sub_category.id' _item_type.code idname save_ # ---------------------------------------------------------------------------- save_ITEM_TYPE _category.description ; Attributes for specifying the data type code for each data item. ; _category.id item_type _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id item_type _category_key.name '_item_type.name' loop_ _category_group.id _category_group.category_id 'ddl_group' item_type 'item_group' item_type save_ save__item_type.name _item_description.name '_item_type.name' _item_description.description ; The name of data item ; _item.name '_item_type.name' _item.category_id item_type _item.mandatory_code implicit _item_type.name '_item_type.name' _item_type.code name save_ save__item_type.code _item_description.name '_item_type.code' _item_description.description ; Data type of defined data item ; _item.name '_item_type.code' _item.category_id item_type _item.mandatory_code yes _item_type.name '_item_type.code' _item_type.code code save_ # ---------------------------------------------------------------------------- save_ITEM_TYPE_CONDITIONS _category.description ; Attributes for specifying additional conditions associated with the data type of the item. ; _category.id item_type_conditions _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id item_type_conditions _category_key.name '_item_type_conditions.name' loop_ _category_group.id _category_group.category_id 'ddl_group' item_type_conditions 'item_group' item_type_conditions 'compliance_group' item_type_conditions save_ save__item_type_conditions.name _item_description.name '_item_type_conditions.name' _item_description.description ; The name of data item ; _item.name '_item_type_conditions.name' _item.category_id item_type_conditions _item.mandatory_code implicit _item_type.name '_item_type_conditions.name' _item_type.code name save_ save__item_type_conditions.code _item_description.name '_item_type_conditions.code' _item_description.description ; Codes defining conditions on the _item_type.code specification. 'esd' permits a number string to contain an appended standard deviation number enclosed within parentheses. E.g. 4.37(5) 'seq' permits data to be declared as a sequence of values separated by a comma <,> or a colon <:>. * The sequence v1,v2,v3,. signals that v1, v2, v3, etc. are alternative values or the data item. * The sequence v1:v2 signals that v1 and v2 are the boundary values of a continuous range of values. This mechanism was used to specify permitted ranges of an item in previous DDL versions. Combinations of alternate and range sequences are permitted. ; _item.name '_item_type_conditions.code' _item.category_id item_type_conditions _item.mandatory_code yes _item_type.name '_item_type_conditions.code' _item_type.code code loop_ _item_enumeration.name _item_enumeration.value _item_enumeration.detail '_item_type_conditions.code' none 'no extra conditions apply to this data item' '_item_type_conditions.code' esd 'numbers may have esd values appended within ()' '_item_type_conditions.code' seq 'data may be declared as a comma or colon separated sequence' save_ # ---------------------------------------------------------------------------- save_ITEM_TYPE_LIST _category.description ; Attributes which define each type code. ; _category.id item_type_list _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id item_type_list _category_key.name '_item_type_list.code' loop_ _category_group.id _category_group.category_id 'ddl_group' item_type_list 'item_group' item_type_list save_ save__item_type_list.code _item_description.name '_item_type_list.code' _item_description.description ; The codes specifying the nature of the data value. ; _item.name '_item_type_list.code' _item.category_id item_type_list _item.mandatory_code yes _item_type.name '_item_type_list.code' _item_type.code code _item_linked.child_name '_item_type.code' _item_linked.parent_name '_item_type_list.code' save_ save__item_type_list.primitive_code _item_description.name '_item_type_list.primitive_code' _item_description.description ; The codes specifying the primitive type of the data value. ; _item.name '_item_type_list.primitive_code' _item.category_id item_type_list _item.mandatory_code yes _item_type.name '_item_type_list.primitive_code' _item_type.code code loop_ _item_enumeration.name _item_enumeration.value _item_enumeration.detail '_item_type_list.primitive_code' numb 'numerically-interpretable string' '_item_type_list.primitive_code' char 'character or text string (case-sensitive)' '_item_type_list.primitive_code' uchar 'character or text string (case-insensitive)' '_item_type_list.primitive_code' null 'for dictionary purposes only' save_ save__item_type_list.construct _item_description.name '_item_type_list.construct' _item_description.description ; When a data value can be defined as a pre-determined sequence of characters, or optional characters, or data names (for which the definition is also available), it is specified as a construction. The rules of construction conform to the the regular expression (REGEX) specificatiopns detailed in the IEEE document P1003.2 Draft 11.2 Sept 1991 (ftp file '/doc/POSIX/1003.2/p121-140'). Resolved data names for which _item_type_list.construct specifications exist are replaced by these constructions, otherwise the data name string is not replaced. ; _item.name '_item_type_list.construct' _item.category_id item_type_list _item.mandatory_code no _item_type.name '_item_type_list.construct' _item_type.code text _item_examples.name '_item_type_list.construct' _item_examples.case '{_year}-{_month}-{_day}' _item_examples.detail 'typical construction for _date' save_ save__item_type_list.detail _item_description.name '_item_type_list.detail' _item_description.description ; An optional description of the data type ; _item.name '_item_type_list.detail' _item.category_id item_type_list _item.mandatory_code no _item_type.name '_item_type_list.detail' _item_type.code text save_ # ---------------------------------------------------------------------------- save_ITEM_UNITS _category.description ; Specifies the physical units in which data items are expressed. ; _category.id item_units _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id item_units _category_key.name '_item_units.name' loop_ _category_group.id _category_group.category_id 'ddl_group' item_units 'item_group' item_units save_ save__item_units.name _item_description.name '_item_units.name' _item_description.description ; The name of data item ; _item.name '_item_units.name' _item.category_id item_units _item.mandatory_code implicit _item_type.name '_item_units.name' _item_type.code name save_ save__item_units.code _item_description.name '_item_units.code' _item_description.description ; The identifier of unit in which the data item is expressed. ; _item.name '_item_units.code' _item.category_id item_units _item.mandatory_code yes _item_type.name '_item_units.code' _item_type.code code save_ # ---------------------------------------------------------------------------- save_ITEM_UNITS_CONVERSION _category.description ; Conversion factors between the various units of measure defined in the ITEM_UNITS_LIST category. ; _category.id item_units_conversion _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name item_units_conversion '_item_units_conversion.from_code' item_units_conversion '_item_units_conversion.to_code' loop_ _category_group.id _category_group.category_id 'ddl_group' item_units_conversion 'item_group' item_units_conversion save_ save__item_units_conversion.from_code _item_description.name '_item_units_conversion.from_code' _item_description.description ; The unit system on which the conversion operation is applied to produce the unit system specified in _item_units_conversion.to_code. = ; _item.name '_item_units_conversion.from_code' _item.category_id item_units_conversion _item.mandatory_code yes _item_type.name '_item_units_conversion.from_code' _item_type.code code save_ save__item_units_conversion.to_code _item_description.name '_item_units_conversion.to_code' _item_description.description ; The unit system produced after an operation is applied to the unit system specified by _item_units_conversion.from_code. = ; _item.name '_item_units_conversion.to_code' _item.category_id item_units_conversion _item.mandatory_code yes _item_type.name '_item_units_conversion.to_code' _item_type.code code save_ save__item_units_conversion.operator _item_description.name '_item_units_conversion.operator' _item_description.description ; The arithmetic operator required to convert between the unit systems: = ; _item.name '_item_units_conversion.operator' _item.category_id item_units_conversion _item.mandatory_code yes _item_type.name '_item_units_conversion.operator' _item_type.code code loop_ _item_enumeration.name _item_enumeration.value _item_enumeration.detail '_item_units_conversion.operator' '+' 'addition' '_item_units_conversion.operator' '-' 'subtraction' '_item_units_conversion.operator' '*' 'multiplication' '_item_units_conversion.operator' '/' 'division' save_ save__item_units_conversion.factor _item_description.name '_item_units_conversion.factor' _item_description.description ; The arithmetic operation required to convert between the unit systems: = ; _item.name '_item_units_conversion.factor' _item.category_id item_units_conversion _item.mandatory_code yes _item_type.name '_item_units_conversion.factor' _item_type.code any save_ # ---------------------------------------------------------------------------- save_ITEM_UNITS_LIST _category.description ; Attributes which describe the physical units of measure in which data items may be expressed. ; _category.id item_units_list _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id item_units_list _category_key.name '_item_units_list.code' loop_ _category_group.id _category_group.category_id 'ddl_group' item_units_list 'item_group' item_units_list save_ save__item_units_list.code _item_description.name '_item_units_list.code' _item_description.description ; The code specifying the name of the unit of measure. ; _item.name '_item_units_list.code' _item.category_id item_units_list _item.mandatory_code yes _item_type.name '_item_units_list.code' _item_type.code code loop_ _item_linked.child_name _item_linked.parent_name '_item_units.code' '_item_units_list.code' '_item_units_conversion.from_code' '_item_units_list.code' '_item_units_conversion.to_code' '_item_units_list.code' save_ save__item_units_list.detail _item_description.name '_item_units_list.detail' _item_description.description ; A description of the unit of measure. ; _item.name '_item_units_list.detail' _item.category_id item_units_list _item.mandatory_code no _item_type.name '_item_units_list.detail' _item_type.code text save_ # ---------------------------------------------------------------------------- save_METHOD_LIST _category.description ; Attributes specifying the list of methods applicable to data items, sub-categories, and categories. ; _category.id method_list _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id method_list _category_key.name '_method_list.id' loop_ _category_group.id _category_group.category_id 'ddl_group' method_list 'item_group' method_list 'category_group' method_list save_ save__method_list.id _item_description.name '_method_list.id' _item_description.description ; Identity of method in the list referenced by _method.id ; _item.name '_method_list.id' _item.category_id method_list _item.mandatory_code yes _item_type.name '_method_list.id' _item_type.code idname loop_ _item_linked.child_name _item_linked.parent_name '_item_methods.method_id' '_method_list.id' '_category_methods.method_id' '_method_list.id' '_sub_category_methods.method_id' '_method_list.id' '_datablock_methods.method_id' '_method_list.id' save_ save__method_list.detail _item_description.name '_method_list.detail' _item_description.description ; Description of application method in _method_list.id ; _item.name '_method_list.detail' _item.category_id method_list _item.mandatory_code no _item_type.name '_method_list.detail' _item_type.code text save_ save__method_list.inline _item_description.name '_method_list.inline' _item_description.description ; Inline text of a method associated with the data item. ; _item.name '_method_list.inline' _item.category_id method_list _item.mandatory_code yes _item_type.name '_method_list.inline' _item_type.code text save_ save__method_list.code _item_description.name '_method_list.code' _item_description.description ; A code that describes the function of the method. ; _item.name '_method_list.code' _item.category_id method_list _item.mandatory_code yes _item_type.name '_method_list.code' _item_type.code code loop_ _item_examples.name _item_examples.case _item_examples.detail '_method_list.code' calculation 'method to calculate the item ' '_method_list.code' verification 'method to verify the data item ' '_method_list.code' cast 'method to provide cast conversion ' '_method_list.code' addition 'method to define item + item ' '_method_list.code' division 'method to define item / item ' '_method_list.code' multiplication 'method to define item * item ' '_method_list.code' equivalence 'method to define item = item ' '_method_list.code' other 'miscellaneous method ' save_ save__method_list.language _item_description.name '_method_list.language' _item_description.description ; Language in which the method is expressed. ; _item.name '_method_list.language' _item.category_id method_list _item.mandatory_code yes _item_type.name '_method_list.language' _item_type.code code loop_ _item_examples.name _item_examples.case _item_examples.detail '_method_list.language' BNF ? '_method_list.language' C ? '_method_list.language' C++ ? '_method_list.language' FORTRAN ? '_method_list.language' LISP ? '_method_list.language' PASCAL ? '_method_list.language' PEARL ? '_method_list.language' TCL ? '_method_list.language' OTHER ? save_ # ---------------------------------------------------------------------------- save_DICTIONARY _category.description ; Attributes for specifying the dictionary title, version and data block identifier. ; _category.id dictionary _category.mandatory_code yes _category.implicit_key mmcif_ddl.dic _category_key.id dictionary _category_key.name '_dictionary.datablock_id' loop_ _category_group.id _category_group.category_id 'ddl_group' dictionary 'datablock_group' dictionary 'dictionary_group' dictionary save_ save__dictionary.datablock_id _item_description.name '_dictionary.datablock_id' _item_description.description ; The identifier for the data block containing the dictionary. ; _item.name '_dictionary.datablock_id' _item.category_id dictionary _item.mandatory_code implicit _item_type.name '_dictionary.datablock_id' _item_type.code code save_ save__dictionary.title _item_description.name '_dictionary.title' _item_description.description ; Title identification of the dictionary. ; _item.name '_dictionary.title' _item.category_id dictionary _item.mandatory_code yes _item_type.name '_dictionary.title' _item_type.code char save_ save__dictionary.version _item_description.name '_dictionary.version' _item_description.description ; A unique version identifier for the dictionary. ; _item.name '_dictionary.version' _item.category_id dictionary _item.mandatory_code yes _item_type.name '_dictionary.version' _item_type.code char save_ # ---------------------------------------------------------------------------- save_DICTIONARY_HISTORY _category.description ; Attributes for specifying the revision history of the dictionary. ; _category.id dictionary_history _category.mandatory_code no _category.implicit_key mmcif_ddl.dic _category_key.id dictionary_history _category_key.name '_dictionary_history.version' loop_ _category_group.id _category_group.category_id 'ddl_group' dictionary_history 'dictionary_group' dictionary_history save_ save__dictionary_history.version _item_description.name '_dictionary_history.version' _item_description.description ; A unique version identifier for the dictionary revision. ; _item.name '_dictionary_history.version' _item.category_id dictionary_history _item.mandatory_code yes _item_type.name '_dictionary_history.version' _item_type.code char _item_linked.child_name '_dictionary.version' _item_linked.parent_name '_dictionary_history.version' save_ save__dictionary_history.update _item_description.name '_dictionary_history.update' _item_description.description ; The date that the last dictionary revision took place. ; _item.name '_dictionary_history.update' _item.category_id dictionary_history _item.mandatory_code yes _item_type.name '_dictionary_history.update' _item_type.code yyyy-mm-dd save_ save__dictionary_history.revision _item_description.name '_dictionary_history.revision' _item_description.description ; Text description of the dictionary revision. ; _item.name '_dictionary_history.revision' _item.category_id dictionary_history _item.mandatory_code yes _item_type.name '_dictionary_history.revision' _item_type.code text save_ ### EOF mmcif_ddl-def-1.dic ########################################################################### # # File: mmcif_ddl-def-1.dic # # mmCIF DDL Core Dictionary with NDB extensions # # This DDL dictionary is a mirror of ddl_core.dic-org with all implicit # data items fully expanded and with NDB extensions added. # # Definition Section 2. # (NDB Extension Definitions) # # ########################################################################### save_NDB_CATEGORY_DESCRIPTION _category.description ; NDB description of data items in this category. ; _category.id ndb_category_description _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name ndb_category_description '_ndb_category_description.id' ndb_category_description '_ndb_category_description.description' save_ save__ndb_category_description.id _item.name '_ndb_category_description.id' _item.category_id ndb_category_description _item.mandatory_code implicit _item_type.name '_ndb_category_description.id' _item_type.code idname _item_linked.child_name '_ndb_category_description.id' _item_linked.parent_name '_category.id' save_ save__ndb_category_description.description _item_description.name '_ndb_category_description.description' _item_description.description ; NDB text description of a category. ; _item.name '_ndb_category_description.description' _item.category_id ndb_category_description _item.mandatory_code yes _item_type.name '_ndb_category_description.description' _item_type.code text save_ # -------------------------------------------------------------------------- save_NDB_CATEGORY_EXAMPLES _category.description ; NDB example applications and descriptions of data items in this category. ; _category.id ndb_category_examples _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name ndb_category_examples '_ndb_category_examples.id' ndb_category_examples '_ndb_category_examples.case' save_ save__ndb_category_examples.id _item.name '_ndb_category_examples.id' _item.category_id ndb_category_examples _item.mandatory_code implicit _item_type.name '_ndb_category_examples.id' _item_type.code idname _item_linked.child_name '_ndb_category_examples.id' _item_linked.parent_name '_category.id' save_ save__ndb_category_examples.case _item_description.name '_ndb_category_examples.case' _item_description.description ; NDB case of examples involving items in this category. ; _item.name '_ndb_category_examples.case' _item.category_id ndb_category_examples _item.mandatory_code yes _item_type.name '_ndb_category_examples.case' _item_type.code text save_ save__ndb_category_examples.detail _item_description.name '_ndb_category_examples.detail' _item_description.description ; NDB description of an example _category_examples.case ; _item.name '_ndb_category_examples.detail' _item.category_id ndb_category_examples _item.mandatory_code no _item_type.name '_ndb_category_examples.detail' _item_type.code text save_ #-------------------------------------------------------------------------- save_NDB_ITEM_DESCRIPTION _category.description ; This category holds the NDB descriptions of each data item. ; _category.id ndb_item_description _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name ndb_item_description '_ndb_item_description.name' ndb_item_description '_ndb_item_description.description' loop_ _category_group.id _category_group.category_id 'ddl_group' ndb_item_description 'item_group' ndb_item_description save_ save__ndb_item_description.name _item_description.name '_ndb_item_description.name' _item_description.description ; Data name of the defined item. ; _item.name '_ndb_item_description.name' _item.category_id ndb_item_description _item.mandatory_code implicit _item_type.name '_ndb_item_description.name' _item_type.code name _item_linked.child_name '_ndb_item_description.name' _item_linked.parent_name '_item.name' save_ save__ndb_item_description.description _item_description.name '_ndb_item_description.description' _item_description.description ; NDB text description of the defined data item. ; _item.name '_ndb_item_description.description' _item.category_id ndb_item_description _item.mandatory_code yes _item_type.name '_ndb_item_description.description' _item_type.code text save_ # -------------------------------------------------------------------------- save_NDB_ITEM_ENUMERATION _category.description ; Attributes which specify the permitted enumeration of the items. ; _category.id ndb_item_enumeration _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name ndb_item_enumeration '_ndb_item_enumeration.name' ndb_item_enumeration '_ndb_item_enumeration.value' loop_ _category_group.category_id _category_group.id ndb_item_enumeration 'ddl_group' ndb_item_enumeration 'item_group' save_ save__ndb_item_enumeration.name _item.name '_ndb_item_enumeration.name' _item.category_id ndb_item_enumeration _item.mandatory_code implicit _item_type.name '_ndb_item_enumeration.name' _item_type.code name _item_linked.child_name '_ndb_item_enumeration.name' _item_linked.parent_name '_item.name' save_ save__ndb_item_enumeration.value _item_description.name '_ndb_item_enumeration.value' _item_description.description ; A permissible value, character or number, for the defined item. ; _item.name '_ndb_item_enumeration.value' _item.category_id ndb_item_enumeration _item.mandatory_code yes _item_type.name '_ndb_item_enumeration.value' _item_type.code any save_ save__ndb_item_enumeration.detail _item_description.name '_ndb_item_enumeration.detail' _item_description.description ; A description of a permissible value for the defined item. ; _item.name '_ndb_item_enumeration.detail' _item.category_id ndb_item_enumeration _item.mandatory_code no _item_type.name '_ndb_item_enumeration.detail' _item_type.code text save_ # -------------------------------------------------------------------------- save_NDB_ITEM_EXAMPLES _category.description ; Attributes for describing application examples of the data item. ; _category.id ndb_item_examples _category.mandatory_code no _category.implicit_key mmcif_ddl.dic loop_ _category_key.id _category_key.name ndb_item_examples '_ndb_item_examples.name' ndb_item_examples '_ndb_item_examples.case' loop_ _category_group.id _category_group.category_id 'ddl_group' ndb_item_examples 'item_group' ndb_item_examples save_ save__ndb_item_examples.case _item_description.name '_ndb_item_examples.case' _item_description.description ; NDB example application of the defined data item. ; _item.name '_ndb_item_examples.case' _item.category_id ndb_item_examples _item.mandatory_code yes _item_type.name '_ndb_item_examples.case' _item_type.code text save_ save__ndb_item_examples.detail _item_description.name '_ndb_item_examples.detail' _item_description.description ; NDB description of an example specified in _ndb_item_example.case ; _item.name '_ndb_item_examples.detail' _item.category_id ndb_item_examples _item.mandatory_code yes _item_type.name '_ndb_item_examples.detail' _item_type.code text save_ save__ndb_item_examples.name _item.name '_ndb_item_examples.name' _item.category_id ndb_item_examples _item.mandatory_code implicit _item_type.name '_ndb_item_examples.name' _item_type.code name _item_linked.child_name '_ndb_item_examples.name' _item_linked.parent_name '_item.name' save_ #### EOF mmcif_ddl-def-2.dic libcifpp-2.0.5/rsrc/mmcif_pdbx_v50.dic0000664000175000017500002563464314200173347017434 0ustar maartenmaarten########################################################################### # # PDB Exchange Data Dictionary (V5) # # # ########################################################################### data_mmcif_pdbx.dic _datablock.id mmcif_pdbx.dic _datablock.description ; This data block holds the Protein Data Bank Exchange Data dictionary. ; _dictionary.title mmcif_pdbx.dic _dictionary.datablock_id mmcif_pdbx.dic _dictionary.version 5.349 # loop_ _dictionary_history.version _dictionary_history.update _dictionary_history.revision 5.100 2012-08-21 ; Changes (jdw): + Release as provisional version 5.100 ; 5.101 2012-08-22 ; Changes (jdw): + added provisional extension for multi-source entities + added provisional extension for branched entities + added provisional extension for residues on special positions + added provisional extension for NMR data items for D&A deposition system + added provisional extension for identifying the ligand in a site ; 5.102 2012-08-28 ; Changes (jdw/cl): + added category group em_group_da + added EM extension dictionaries for D&A project. _em_experiment.entry_id _em_experiment.reconstruction_method _em_experiment.specimen_type _em_software.ordinal _em_software.classification _em_software.name _em_software.version _em_assembly.entry_id _em_assembly.name _em_assembly.composition _em_assembly.num_components _em_assembly.mol_wt_exp _em_assembly.mol_wt_theo _em_assembly.mol_wt_method _em_assembly.details _em_entity_assembly.id _em_entity_assembly.type _em_entity_assembly.name _em_entity_assembly.details _em_entity_assembly.organism_scientific _em_entity_assembly.organism_common _em_entity_assembly.strain _em_entity_assembly.tissue _em_entity_assembly.cell _em_entity_assembly.organelle _em_entity_assembly.cellular_location _em_entity_assembly.engineered_flag _em_entity_assembly.expression_system _em_entity_assembly.expression_system_plasmid _em_entity_assembly.go_id _em_entity_assembly.ipr_id _em_entity_assembly.ncbi_taxonomy_id _em_entity_assembly.synonym _em_entity_assembly.mutant_flag _em_entity_assembly.number_of_copies _em_entity_assembly.oligomeric_details _em_entity_assembly.entity_list _em_entity_assembly.mol_wt _em_entity_assembly.mol_wt_method _em_entity_assembly.entity_parent_id _em_virus_entity.id _em_virus_entity.virus_host_category _em_virus_entity.virus_host_species _em_virus_entity.virus_host_ncbi_taxonomy_id _em_virus_entity.virus_host_growth_cell _em_virus_entity.virus_type _em_virus_entity.virus_isolate _em_virus_entity.entity_assembly_id _em_virus_entity.enveloped _em_virus_entity.empty _em_virus_entity.details _em_icos_virus_shells.virus_entity_id _em_icos_virus_shells.id _em_icos_virus_shells.shell_diameter _em_icos_virus_shells.triangulation_num _em_specimen.id _em_specimen.sample_state _em_specimen.num_grids _em_specimen.cryoprotectant _em_specimen.embedding_material _em_specimen.details _em_sample_preparation.id _em_sample_preparation.specimen_id _em_sample_preparation.entity_assembly_id _em_sample_preparation.ph _em_sample_preparation.buffer_id _em_sample_preparation.sample_concentration _em_sample_preparation.details _em_specimen_support.id _em_specimen_support.specimen_id _em_specimen_support.method _em_specimen_support.grid_model _em_specimen_support.grid_material _em_specimen_support.grid_mesh_size _em_specimen_support.grid_type _em_specimen_support.pretreatment _em_specimen_support.details _em_specimen_support.film_material _em_specimen_support.film_topology _em_specimen_support.film_thickness _em_array_formation.id _em_array_formation.specimen_id _em_array_formation.method _em_array_formation.apparatus _em_array_formation.atmosphere _em_array_formation.pH _em_array_formation.temp _em_array_formation.time _em_array_formation.buffer_id _em_array_formation.details _em_array_formation.number_arrays _em_array_formation.mean_2d_crystal_size _em_stain.id _em_stain.specimen_id _em_stain.type _em_stain.material _em_stain.details _em_buffer.id _em_buffer.name _em_buffer.details _em_buffer_components.id _em_buffer_components.buffer_id _em_buffer_components.name _em_buffer_components.conc _em_buffer_components.conc_units _em_buffer_components.details _em_vitrification.id _em_vitrification.specimen_id _em_vitrification.cryogen_name _em_vitrification.freezing_technique _em_vitrification.humidity _em_vitrification.temp _em_vitrification.ambient_temp _em_vitrification.instrument _em_vitrification.method _em_vitrification.time_resolved_state _em_vitrification.details _em_imaging.id _em_imaging.astigmatism _em_imaging.electron_beam_tilt_params _em_imaging.specimen_id _em_imaging.detector_id _em_imaging.scans_id _em_imaging.microscope_model _em_imaging.specimen_holder_model _em_imaging.details _em_imaging.date _em_imaging.accelerating_voltage _em_imaging.illumination_mode _em_imaging.mode _em_imaging.nominal_cs _em_imaging.nominal_defocus_min _em_imaging.nominal_defocus_max _em_imaging.tilt_angle_min _em_imaging.tilt_angle_max _em_imaging.tilt_angle_increment _em_imaging.second_tilt_axis_flag _em_imaging.nominal_magnification _em_imaging.calibrated_magnification _em_imaging.electron_source _em_imaging.electron_dose _em_imaging.energy_filter _em_imaging.energy_window_min _em_imaging.energy_window_max _em_imaging.temperature _em_imaging.cryogen _em_imaging.detector_distance _em_imaging.recording_temperature_minimum _em_imaging.recording_temperature_maximum _em_imaging.c2_aperture_diameter _em_imaging.alignment_procedure _em_imaging.Cs_corrector _em_imaging.Cc_corrector _em_imaging.phase_plate _em_detector.id _em_detector.details _em_detector.class _em_detector.type _em_detector.detective_quantum_efficiency _em_image_scans.id _em_image_scans.number_digital_images _em_image_scans.details _em_image_scans.scanner_model _em_image_scans.scanner_sampling_size _em_image_scans.apix_sampling _em_image_scans.od_range _em_image_scans.quant_bit_size _em_image_scans.width _em_image_scans.height _em_image_scans.sampling_size _em_image_scans.frames_per_image _em_2d_crystal_symmetry.id _em_2d_crystal_symmetry.length_a _em_2d_crystal_symmetry.length_b _em_2d_crystal_symmetry.angle_gamma _em_2d_crystal_symmetry.details _em_2d_crystal_symmetry.angle_alpha _em_2d_crystal_symmetry.angle_beta _em_2d_crystal_symmetry.length_c _em_2d_crystal_symmetry.thickness_c _em_2d_crystal_symmetry.space_group_name_H-M _em_point_symmetry.entry_id _em_point_symmetry.symmetry_type _em_point_symmetry.cyclic_symmetry _em_helical_symmetry.id _em_helical_symmetry.entity_assembly_id _em_helical_symmetry.details _em_helical_symmetry.dyad _em_helical_symmetry.axial_symmetry _em_helical_symmetry.angular_rotation_per_subunit _em_helical_symmetry.axial_rise_per_subunit _em_helical_symmetry.hand _em_2d_projection_selection.entry_id _em_2d_projection_selection.num_particles _em_2d_projection_selection.method _em_2d_projection_selection.details _em_3d_reconstruction.entry_id _em_3d_reconstruction.entity_assembly_id _em_3d_reconstruction.method _em_3d_reconstruction.spatial_filtering _em_3d_reconstruction.masking _em_3d_reconstruction.details _em_3d_reconstruction.resolution _em_3d_reconstruction.resolution_method _em_3d_reconstruction.magnification_calibration _em_3d_reconstruction.ctf_correction_method _em_3d_reconstruction.ctf_correction_type _em_3d_reconstruction.nominal_pixel_size _em_3d_reconstruction.actual_pixel_size _em_3d_reconstruction.num_particles _em_3d_reconstruction.num_class_averages _em_3d_reconstruction.software _em_3d_reconstruction.initial_model_type _em_3d_reconstruction.initial_model_details _em_euler_assignment.id _em_euler_assignment.name _em_euler_assignment.method _em_euler_assignment.num_reference_projections _em_euler_assignment.merit_function _em_euler_assignment.angular_sampling _em_euler_assignment.details _em_electron_crystallography.entry_id _em_electron_crystallography.num_meas_intensities _em_electron_crystallography.num_structure_factors _em_electron_crystallography.details _em_electron_crystallography.d_res_high _em_electron_crystallography.overall_phase_residual _em_electron_crystallography.overall_phase_error _em_electron_crystallography.rejection_criteria_phase_error _em_electron_crystallography.Fourier_space_coverage _em_electron_crystallography.r_merge _em_electron_crystallography.r_sym _em_electron_crystallography_shell.id _em_electron_crystallography_shell.res_low _em_electron_crystallography_shell.res_high _em_electron_crystallography_shell.phase_residual _em_electron_crystallography_shell.num_structure_factors _em_electron_crystallography_shell.num_meas_intensities _em_electron_crystallography_tilt.id _em_electron_crystallography_tilt.tilt_angle _em_electron_crystallography_tilt.num_diffraction_patterns _em_electron_crystallography_tilt.num_micrograph_images _em_tomography.id _em_tomography.entry_id _em_tomography.tilt_angle_incr _em_tomography.num_raw_images _em_tomography.details _em_3d_subvolume_selection.entry_id _em_3d_subvolume_selection.num_subvolumes _em_3d_subvolume_selection.num_tomograms _em_3d_subvolume_selection.method _em_3d_subvolume_selection.details _em_3d_subvolume_classification.id _em_3d_subvolume_classification.name _em_3d_subvolume_classification.method _em_3d_subvolume_classification.num_classes _em_3d_subvolume_classification.merit_function _em_3d_subvolume_classification.details _em_3d_fitting.id _em_3d_fitting.method _em_3d_fitting.target_criteria _em_3d_fitting.software_name _em_3d_fitting.details _em_3d_fitting.overall_b_value _em_3d_fitting.ref_space _em_3d_fitting.ref_protocol _em_3d_fitting_list.id _em_3d_fitting_list.3d_fitting_id _em_3d_fitting_list.pdb_entry_id _em_3d_fitting_list.pdb_chain_id _em_3d_fitting_list.details _emd.emd_entry_id _emd.title _emd_map.emd_entry_id _emd_map.annotation_details _emd_map.format _emd_map.sizeKb _emd_map.axisOrderFast _emd_map.axisOrderMedium _emd_map.axisOrderSlow _emd_map.cell_angle_alpha _emd_map.cell_angle_beta _emd_map.cell_angle_gamma _emd_map.cell_length_a _emd_map.cell_length_b _emd_map.cell_length_c _emd_map.data_type _emd_map.details _emd_map.num_columns _emd_map.num_rows _emd_map.num_sections _emd_map.origin_column _emd_map.origin_row _emd_map.origin_section _emd_map.pixel_x _emd_map.pixel_y _emd_map.pixel_z _emd_map.spaceGroupNumber _emd_map.spacing_x _emd_map.spacing_y _emd_map.spacing_z _emd_map.density_min _emd_map.density_max _emd_map.density_mean _emd_map.density_stddev _emd_map.contour_level _emd_map.contour_level_source _emd_files.id _emd_files.type _emd_files.file_name _emd_status.emd_entry_id _emd_status.current_status _emd_status.last_update _emd_status.deposition_date _emd_status.map_release_date _emd_status_history.id _emd_status_history.date _emd_status_history.code _emd_status_history.processing_site _emd_status_history.annotator_initials _emd_status_history.details _emd_obsolete_supersede.id _emd_obsolete_supersede.obsoleted_emd_entry_id _emd_obsolete_supersede.supersede_emd_entry_id _emd_obsolete_supersede.date _emd_obsolete_supersede.details _emd_auxiliary.id _emd_auxiliary.link _emd_auxiliary.link_data_type _emd_auxiliary.details _emd_database_related.db_name _emd_database_related.db_id _emd_database_related.details _emd_database_related.frame_relationship_flag _emd_database_related.fitted_coordinates_flag _emd_mask.id _emd_mask.annotation_details _emd_mask.format _emd_mask.sizeKb _emd_mask.axisOrderFast _emd_mask.axisOrderMedium _emd_mask.axisOrderSlow _emd_mask.cell_angle_alpha _emd_mask.cell_angle_beta _emd_mask.cell_angle_gamma _emd_mask.cell_length_a _emd_mask.cell_length_b _emd_mask.cell_length_c _emd_mask.data_type _emd_mask.details _emd_mask.num_columns _emd_mask.num_rows _emd_mask.num_sections _emd_mask.origin_column _emd_mask.origin_row _emd_mask.origin_section _emd_mask.pixel_x _emd_mask.pixel_y _emd_mask.pixel_z _emd_mask.spaceGroupNumber _emd_mask.spacing_x _emd_mask.spacing_y _emd_mask.spacing_z _emd_mask.density_min _emd_mask.density_max _emd_mask.density_mean _emd_mask.density_stddev _emd_mask.contour_level _emd_mask.contour_level_source + added various items to capture depositor information for the wwPDB deposition and annotation system. _pdbx_chem_comp_depositor_info.ordinal _pdbx_chem_comp_depositor_info.comp_id _pdbx_chem_comp_depositor_info.name _pdbx_chem_comp_depositor_info.upload_file_type _pdbx_chem_comp_depositor_info.upload_file_name _pdbx_chem_comp_depositor_info.formula _pdbx_chem_comp_depositor_info.type _pdbx_chem_comp_depositor_info.descriptor _pdbx_chem_comp_depositor_info.descriptor_type _pdbx_chem_comp_depositor_info.detailes _pdbx_struct_ref_depositor_info.biol_id _pdbx_struct_ref_depositor_info.db_code _pdbx_struct_ref_depositor_info.db_name _pdbx_struct_ref_depositor_info.entity_id _pdbx_struct_ref_depositor_info.id _pdbx_struct_ref_depositor_info.db_accession _pdbx_struct_ref_depositor_info.seq_one_letter_code _pdbx_struct_ref_depositor_info.align_begin _pdbx_struct_ref_seq_depositor_info.align_id _pdbx_struct_ref_seq_depositor_info.db_align_beg _pdbx_struct_ref_seq_depositor_info.db_align_end _pdbx_struct_ref_seq_depositor_info.details _pdbx_struct_ref_seq_depositor_info.ref_id _pdbx_struct_ref_seq_depositor_info.db_accession _pdbx_struct_ref_seq_depositor_info.db_code _pdbx_struct_ref_depositor_info.db_name _pdbx_struct_ref_seq_depositor_info.db_seq_one_letter_code _pdbx_struct_ref_seq_dif_depositor_info.align_id _pdbx_struct_ref_seq_dif_depositor_info.db_mon_id _pdbx_struct_ref_seq_dif_depositor_info.db_seq_id _pdbx_struct_ref_seq_dif_depositor_info.details _pdbx_struct_ref_seq_dif_depositor_info.auth_mon_id _pdbx_struct_ref_seq_dif_depositor_info.auth_seq_id _pdbx_struct_ref_seq_dif_depositor_info.db_accession _pdbx_struct_ref_seq_dif_depositor_info.db_code _pdbx_struct_ref_dif_depositor_info.db_name _pdbx_struct_ref_dif_depositor_info.annotation _pdbx_struct_assembly_prop_depositor_info.biol_id _pdbx_struct_assembly_prop_depositor_info.type _pdbx_struct_assembly_prop_depositor_info.value _pdbx_struct_assembly_prop_depositor_info.details _pdbx_struct_assembly_depositor_info.details _pdbx_struct_assembly_depositor_info.id _pdbx_struct_assembly_depositor_info.method_details _pdbx_struct_assembly_depositor_info.oligomeric_details _pdbx_struct_assembly_depositor_info.oligomeric_count _pdbx_struct_assembly_depositor_info.matrix_flag _pdbx_struct_assembly_depositor_info.upload_file_name _pdbx_struct_assembly_gen_depositor_info.asym_id_list _pdbx_struct_assembly_gen_depositor_info.assembly_id _pdbx_struct_assembly_gen_depositor_info.oper_expression _pdbx_struct_oper_list_depositor_info.id _pdbx_struct_oper_list_depositor_info.type _pdbx_struct_oper_list_depositor_info.name _pdbx_struct_oper_list_depositor_info.symmetry_operation _pdbx_struct_oper_list_depositor_info.matrix[1][1] _pdbx_struct_oper_list_depositor_info.matrix[1][2] _pdbx_struct_oper_list_depositor_info.matrix[1][3] _pdbx_struct_oper_list_depositor_info.matrix[2][1] _pdbx_struct_oper_list_depositor_info.matrix[2][2] _pdbx_struct_oper_list_depositor_info.matrix[2][3] _pdbx_struct_oper_list_depositor_info.matrix[3][1] _pdbx_struct_oper_list_depositor_info.matrix[3][2] _pdbx_struct_oper_list_depositor_info.matrix[3][3] _pdbx_struct_oper_list_depositor_info.vector[1] _pdbx_struct_oper_list_depositor_info.vector[2] _pdbx_struct_oper_list_depositor_info.vector[3] _pdbx_point_symmetry_depositor_info.entry_id _pdbx_point_symmetry_depositor_info.Schoenflies_symbol _pdbx_point_symmetry_depositor_info.circular_symmetry _pdbx_point_symmetry_depositor_info.H-M_notation _pdbx_helical_symmetry_depositor_info.entry_id _pdbx_helical_symmetry_depositor_info.number_of_operations _pdbx_helical_symmetry_depositor_info.rotation_per_n_subunits _pdbx_helical_symmetry_depositor_info.rise_per_n_subunits _pdbx_helical_symmetry_depositor_info.n_subunits_divisor _pdbx_helical_symmetry_depositor_info.dyad_axis _pdbx_helical_symmetry_depositor_info.circular_symmetry _pdbx_solvent_atom_site_mapping.id _pdbx_solvent_atom_site_mapping.label_alt_id _pdbx_solvent_atom_site_mapping.label_asym_id _pdbx_solvent_atom_site_mapping.label_atom_id _pdbx_solvent_atom_site_mapping.label_comp_id _pdbx_solvent_atom_site_mapping.label_seq_id _pdbx_solvent_atom_site_mapping.pdbx_align _pdbx_solvent_atom_site_mapping.PDB_ins_code _pdbx_solvent_atom_site_mapping.pre_auth_asym_id _pdbx_solvent_atom_site_mapping.pre_auth_atom_id _pdbx_solvent_atom_site_mapping.pre_auth_comp_id _pdbx_solvent_atom_site_mapping.pre_auth_seq_id _pdbx_solvent_atom_site_mapping.pre_PDB_ins_code _pdbx_solvent_atom_site_mapping.pre_auth_alt_id _pdbx_solvent_atom_site_mapping.auth_asym_id _pdbx_solvent_atom_site_mapping.auth_atom_id _pdbx_solvent_atom_site_mapping.auth_comp_id _pdbx_solvent_atom_site_mapping.auth_seq_id _pdbx_solvent_atom_site_mapping.auth_alt_id _pdbx_solvent_atom_site_mapping.occupancy _pdbx_solvent_atom_site_mapping.Cartn_x _pdbx_solvent_atom_site_mapping.Cartn_y _pdbx_solvent_atom_site_mapping.Cartn_z _pdbx_solvent_atom_site_mapping.pre_Cartn_x _pdbx_solvent_atom_site_mapping.pre_Cartn_y _pdbx_solvent_atom_site_mapping.pre_Cartn_z _pdbx_entity_src_gen_depositor_info.alt_source_flag _pdbx_entity_src_gen_depositor_info.seq_type _pdbx_entity_src_gen_depositor_info.beg_seq_num _pdbx_entity_src_gen_depositor_info.end_seq_num _pdbx_molecule_features_depositor_info.entity_id _pdbx_molecule_features_depositor_info.class _pdbx_molecule_features_depositor_info.type _pdbx_molecule_features_depositor_info.name _pdbx_molecule_features_depositor_info.details + added flag for filtering STRUCT_CONN linkages relative to chemical component leaving atom assignments. _struct_conn.pdbx_leaving_atom_flag ; 5.103 2012-08-29 ; Changes (jdw/jy): + Update enumerations for _pdbx_family_prd_audit.action_type and _pdbx_prd_audit.action_type + Update enumerations for _pdbx_reference_molecule.class/type, _pdbx_molecule_features.class/type + Added category for publication reference data - PDBX_REFERENCE_PUBLICATION_LIST ; 5.104 2012-09-01 ; Changes (jdw): + Added category pdbx_audit_support extension. + Incorporated D&A alternate descriptions and boundary values. ; 5.105 2012-09-06 ; Changes (jdw): + Revised definition of _struct_conn.pdbx_leaving_atom_flag. + Add definition _pdbx_solvent_atom_site_mapping.symmetry/symmetry_as_xyz ; 5.106 2012-09-18 ; Changes (jdw): + remove existing EM dictionary which duplicates new EM item definitions + add categories pdbx_reference_linked_entity, pdbx_reference_linked_entity_list, pdbx_reference_linked_entity_link. ; 5.107 2012-09-19 ; Changes (jdw): + Rename categories to: pdbx_reference_linked_entity, pdbx_reference_linked_entity_comp_list, pdbx_reference_linked_entity_link, and pdbx_reference_linked_entity_comp_link and distinguish inter and intra entity linkages. + Revised enumeration for _pdbx_reference_linked_entity.link_to_entity_type ; 5.108 2012-10-03 ; Changes (jdw): + Adjust mandatory codes for items in the pdbx_contact_author category. + Update all current extension dictionaries in + Correct version number typo. ; 5.109 2012-10-15 ; Changes (jdw): + pdbx_chem_comp_instance_depositor_info + Update joint enumerations for _pdbx_reference_molecule.class. + Update enumeration list for _em_imaging.specimen_holder_model ; 5.110 2012-11-07 ; Changes (ss,sv,jdw): +Added item _pdbx_entity_src_gen_depositor_info.entity_id +Removed item _pdbx_entity_src_gen_depositor_info.alt_source_flag and _pdbx_entity_src_gen_depositor_info.gene_src_strain +Items _pdbx_entity_src_gen_depositor_info.beg_seq_num and _pdbx_entity_src_gen_depositor_info.end_seq_num set to mandatory +Data types for _pdbx_entity_src_gen_depositor_info.host_org_ncbi_taxonomy_id set to int ; 5.111 2012-11-08 ; Changes (cl,jdw): + Update to the 3DEM data categories - ; 5.112 2012-11-12 ; Changes (cl,jdw): + Update to the 3DEM data categories - ; 5.113 2012-12-04 ; Changes (eu,ag): + Add _pdbx_nmr_exptl.sample_state ; 5.114 2012-12-14 ; Changes (eu,ag): + Added items _pdbx_nmr_assigned_chem_shift_list.label, _pdbx_nmr_assigned_chem_shift_list.conditions_label, _pdbx_nmr_spectral_peak_list.label, and _pdbx_nmr_spectral_peak_list.conditions_label ; 5.115 2013-02-06 ; Changes (jdw,kh): + Add categories pdbx_chem_comp_subcomponent_struct_conn and pdbx_chem_comp_subcomponent_entity_list. + For item _pdbx_chem_comp_subcomponent_entity_list.type change data type to uline and extend enumeration. + Set mandatory codes to optional for categories emd, emd_map and pdbx_nmr_software_task ; 5.116 2013-02-13 ; Changes (jdw): + added _pdbx_helical_symmetry_depositor_info.status_flag and _pdbx_point_symmetry_depositor_info.status_flag + updated the collection of advisory boundary values -- ; 5.117 2013-02-13 ; Changes (jdw): + Added internal categories -depui_validation_status_flags, pdbx_depui_upload, pdbx_depui_status_flags ; 5.118 2013-02-20 ; Changes (jdw): + Added internal category pdbx_chem_comp_upload_depositor_info to hold potentially multiple data files per chemical component. ; 5.119 2013-02-20 ; Changes (jdw): + restore main public version of mmcif_pdbx-def-2.dic + added _pdbx_depui_status_flags.prediction_target and category pdbx_depui_entity_status_flags ; 5.120 2013-03-01 ; Changes (jdw): + consolidated pdbx_struct_ref_depositor_info into pdbx_struct_ref_seq_depositor_info ; 5.121 2013-03-07 ; Changes (jdw): + bulk import of RCSB local enumerations into internal pdbx_item_enumeration containers, ; 5.122 2013-03-11 ; Changes (jdw): + add items _pdbx_depui_status_flags.primary_citation_status, _pdbx_depui_status_flags.reference_citation_status, _pdbx_depui_status_flags.corresponding_author_status ; 5.123 2013-03-12 ; Changes (jdw): + add category pdbx_depui_entity_features ; 5.124 2013-03-15 ; Changes (jdw): + add optional items _pdbx_validate_main_chain_plane.label_alt_id, _pdbx_validate_planes.lable_alt_id, _pdbx_validate_torsion.label_alt_id ; 5.125 2013-04-08 ; Changes (jdw): + add items _pdbx_struct_ref_seq_dif_depositor_info.entity_id and _pdbx_chem_comp_instance_depositor_info.formula ; 5.126 2013-04-16 ; Changes (jdw): + Set _pdbx_contact_author.role and _pdbx_contact_author.role internally mandatory. + Set _pdbx_contact_author.name_mi optional + Relax regular expression for _pdbx_struct_ref_seq_depositor_info.db_seq_one_letter_code + Set _entity_poly.pdbx_seq_one_letter_code, _entity_src_gen.pdbx_gene_src_scientific_name, _entity_src_nat.pdbx_organism_scientific internally mandatory. + Add _pdbx_depui_status_flags.has_helical_symmetry, _pdbx_depui_status_flags.has_point_symmetry, _pdbx_depui_status_flags.has_cyclic_symmetry + ; 5.127 2013-04-27 ; Changes (jdw): + Update alternate descriptions and enumerations for deposition system. ; 5.128 2013-05-23 ; Changes (jdw): + add item _entity_poly.pdbx_sequence_evidence_code ; 5.129 2013-05-29 ; Changes (jdw): + _pdbx_database_status.pdbx_annotator replaces _pdbx_database_status.rcsb_annotator ; 5.130 2013-06-14 ; Changes (jdw): + added _pdbx_depui_status_flags.has_accepted_terms_and_conditions + updated advisory and hard limits to include equivalence on the boundary endpoints. ; 5.131 2013-06-14 ; Changes (jdw): + update enumerations for _pdbx_struct_ref_seq_depositor_info.db_name ; 5.132 2013-06-16 ; Changes (jdw): + add _pdbx_seq_map_depositor_info.entity_id _pdbx_seq_map_depositor_info.auth_asym_id _pdbx_seq_map_depositor_info.one_letter_code _pdbx_seq_map_depositor_info.one_letter_code_mod ; 5.133 2013-06-18 ; Changes (jdw): + updated advisory limits for _reflns_shell.d_res_low and _refine_ls_shell.d_res_low ; 5.134 2013-08-27 ; Changes (jdw): + Added status flags -- _pdbx_depui_status_flags.is_ligand_processing_complete _pdbx_depui_status_flags.sample_xyz_sequence_alignments_valid _pdbx_depui_entity_status_flags.sample_xyz_sequence_alignments_valid + Added local category context to all internal categories. ; 5.135 2013-10-17 ; Changes (jdw): + added _pdbx_depui_upload.file_content_type and remove enumeration from _pdbx_depui_upload.file_type. + includes any local meta-data changes coded into the deposition system. + update internal metadata for deposition system + add data categories for messaging pdbx_deposition_message_file_reference and pdbx_deposition_message_info + update mandatory codes and category group assignments + Reassign context RCSB_LOCAL to WWPDB_LOCAL + update software application enumerations. + Update category and item item context values in categories audit_contact_author, pdbx_database_proc, pdbx_entity_name, struct_biol_gen, atom_site and pdbx_database_status. + add internal items _pdbx_database_status.date_begin_processing, _pdbx_database_status.date_end_processing, _pdbx_database_status.date_begin_deposition, _pdbx_database_status.date_begin_release_preparation, _pdbx_database_status.date_author_release_request ; 5.136 2013-11-22 ; Changes (cl/jdw): + new EMD mapping extension dictionary added. + local context of _pdbx_database_status.status_code_sf removed. + Update context to WWPDB_LOCAL for item _entity_poly.pdbx_sequence_evidence_code + Update context values to WWPDB_LOCAL for categories database_PDB_remark and pdbx_contact_author + multiple updates of EMD/EM extensions. + category group updates ; 5.137 2013-12-10 ; Changes (jdw): + Update mandatory codes for category pdbx_contact_author. + Update enumerations for category software. ; 5.138 2013-12-20 ; Changes (jdw): + Update mandatory codes for category pdbx_contact_author. + Update enumerations for category software. ; 5.139 2014-01-17 ; Changes (jdw): + Update enumerations for item _pdbx_database_status.status_code + add category pdbx_related_exp_data_set + In pdbx_related_exp_data_set limit references to DOI types + Update item descriptions and examples for _pdbx_depui_entity_features.type,_entity_poly.pdbx_target_identifier,_reflns.pdbx_Rsym_value, _refine.pdbx_solvent_vdw_probe_radii,_refine.pdbx_solvent_ion_probe_radii,_citation.pdbx_database_id_DOI,_entity.pdbx_description, and _exptl_crystal_grow.pdbx_details. + Update of internal descriptions and enumerations for deposition system. ; 5.140 2014-01-20 ; Changes (ep/jdw): + Update of internal descriptions and enumerations for deposition system. ; 5.141 2014-01-21 ; Changes (ep/jdw): + Update of internal descriptions and enumerations for deposition system. ; 5.142 2014-01-23 ; Changes (ep/jdw): + Update of internal descriptions and enumerations for deposition system. ; 5.143 2014-01-24 ; Changes (ep/jdw): + Update of internal descriptions and enumerations for deposition system. ; 5.144 2014-02-06 ; Changes (cl/jdw): + Update of enumerations for save__em_experiment.reconstruction_method ; 5.145 2014-02-10 ; Changes (cl/jdw): + Update of enumerations for 3DEM extension dictionary. + Add categories pdbx_depui_entry_details and pdbx_data_processing_status. + Added definitions _atom_type.pdbx_scat_Cromer_Mann_a5,_atom_type.pdbx_scat_Cromer_Mann_b5,_refine.pdbx_average_fsc_overall, _refine.pdbx_average_fsc_work,_refine.pdbx_average_fsc_free,_refine_ls_shell.pdbx_fsc_work,_refine_ls_shell.pdbx_fsc_free, _refine_hist.pdbx_number_residues_total,_refine_hist.pdbx_B_iso_mean_ligand,_refine_hist.pdbx_B_iso_mean_solvent, _atom_site_anisotrop.pdbx_PDB_model_num ; 5.146 2014-02-11 ; Changes (eu/jdw): + new items _pdbx_nmr_software.details,_pdbx_nmr_exptl_sample.concentration_err,_pdbx_nmr_spectrometer.name, _pdbx_nmr_assigned_chem_shift_list.conditions_label,_pdbx_nmr_spectral_dim.sweep_width_units, _pdbx_nmr_spectral_dim.center_frequency_offset,_pdbx_nmr_spectral_dim.under_sampling_type, _pdbx_nmr_chem_shift_software.software_label + updates for deposition enumerations and mandator codes for NMR extensions. ; 5.147 2014-02-18 ; Changes (jdw): + update diffraction detector enumerations/ ; 5.148 2014-02-19 ; Changes (jdw): + update regular expressions one-letter code sequences + add mandatory codes to pdbx_nmr_chem_shift_ref and pdbx_nmr_constraint_file ; 5.149 2014-02-20 ; Changes (jdw): + update deposition mandatory codes and enumerations. ; 5.150 2014-02-25 ; Changes (cl/ep/jdw): + update EM deposition specific metadata items. ; 5.151 2014-03-01 ; Changes (ep/jdw): + update deposition specific enumerations in category pdbx_database_related ; 5.152 2014-03-04 ; Changes (ep/jdw): + change type of _pdbx_struct_assembly_depositor_info.oligomeric_count to line + update deposition specific enumerations in category software ; 5.153 2014-03-07 ; Changes (eu/jdw): + add item _pdbx_nmr_refine.software_ordinal + update enumeration for _pdbx_database_status.dep_release_code_struct_fact ; 5.154 2014-03-10 ; Changes (ag/eu/jdw): + Update deposition closed enumeration flags for NMR extension definitions. ; 5.155 2014-03-12 ; Changes (hy/jdw): + Add preliminary items for _reflns.pdbx_CC_half,_reflns.pdbx_R_split,_reflns_shell.pdbx_CC_half and _reflns_shell.pdbx_R_split. ; 5.156 2014-03-24 ; Changes (ep/jdw): + Update detector enumerations ; 5.157 2014-03-28 ; Changes (ep/jdw): + Update internal enumerations and boundary values for deposition system - ; 5.158 2014-04-03 ; Changes (jdw): + Make context for _entity_poly.pdbx_explicit_linking_flag local. + extend enumeration for _pdbx_contact_author.id. ; 5.159 2014-04-10 ; Changes (cl/jdw): + Update in EM extension dictionary in support of new deposition system. ; 5.160 2014-05-02 ; Changes (jdw): + Items _entity_src_gen.pdbx_src_id, _entity_src_nat.pdbx_src_id _pdbx_entity_src_syn.pdbx_src_id added to category key and set to mandatory code = yes. + Update internal enumerations for deposition system. ; 5.161 2014-05-07 ; Changes (jdw): + update enumerations in category pdbx_SG_project ; 5.162 2014-05-08 ; Changes (ep/jdw): + update enumerations in category software ; 5.163 2014-05-30 ; Changes (jdw): + remove redundant mandatory code for _pdbx_database_status.data_hold_nmr_contraints ; 5.164 2014-06-03 ; Changes (jdw): + Update mandatory codes in category pdbx_database_status ; 5.165 2014-06-05 ; Changes (cl/jdw): + Update em extensions and add deposition specific em categories - + Add save__pdbx_depui_status_flags.has_viewed_validation_report ; 5.166 2014-06-06 ; Changes (jdw): + Add item _pdbx_struct_conn_angle.ptnr3_symmetry + Add category pdbx_database_status_history ; 5.167 2014-06-15 ; Changes (jdw): + added _pdbx_depui_status_flags.validated_model_file_name, _pdbx_depui_status_flags.merge_prior_model_file_name, _pdbx_depui_status_flags.merge_replace_model_file_name, _pdbx_depui_status_flags.merge_output_model_file_name + Corrected/removed item-linked relation to _struct_ref_seq_dif.db_mon_id. + Updated _refine.pdbx_method_to_determine_structure + Update examples in category pdbx_data_processing_status ; 5.168 2014-07-10 ; Changes (cl,ep,jdw): + update of EM extensions definitions, examples and enumerations + update of enumerations for deposition forms. ; 5.169 2014-07-16 ; Changes (ep,jdw): + update of enumerations for deposition forms. ; 5.170 2014-07-17 ; Changes (cl,ep,jdw): + update of enumerations for 3DEM and other deposition forms. ; 5.171 2014-07-21 ; Changes (jdw): + _pdbx_depui_status_flags.has_viewed_validation_report made optional ; 5.172 2014-07-30 ; Changes (cl,jdw): + update of EM extensions definitions, examples and enumerations ; 5.173 2014-08-28 ; Changes (cl,jdw): + update of EM extensions definitions, examples and enumerations ; 5.174 2014-09-02 ; Changes (cl,ep,jdw): + update of EM extensions definitions, examples and enumerations ; 5.175 2014-09-10 ; Changes (ep,jdw): + update of NMR alternative mandatory codes and examples ; 5.176 2014-09-11 ; Changes (to,jdw): + add _pdbx_depui_validation_status_flags.residual_B_factors_flag ; 5.177 2014-09-25 ; Changes (ep,jdw): + update detector enumerations for deposition system. ; 5.178 2014-10-14 ; Changes (ep,jdw): + update enumerations for deposition system. ; 5.179 2014-10-20 ; Changes (es,cl,jdw): + EMD dictionary update ; 5.180 2014-10-21 ; Changes (es,cl,jdw): + EMD dictionary update - make all categories optional -- ; 5.181 2014-10-28 ; Changes (ag,ez,jdw): + NMR updates for deposition system - ; 5.182 2014-11-07 ; Changes (ag,ez,jdw): + NMR updates for deposition system - ; 5.183 2014-11-21 ; Changes (es,cl,jdw): + EMD extension dictionary update ; 5.184 2014-12-02 ; Changes (es,jdw): + EMD extension dictionary update ; 5.185 2014-12-17 ; Changes (ag,ep,jdw): + NMR updates for deposition system ; 5.186 2015-02-01 ; Changes (zf,jdw): + NMR updates for deposition system ; 5.187 2015-02-03 ; Changes (es,cl,jdw): + EMD extension dictionary update ; 5.188 2015-02-10 ; Changes (es,jdw): + EMD extension dictionary update ; 5.189 2015-02-20 ; Changes (es,ep,jdw): + EMD extension dictionary update + Enumeration updates ; 5.190 2015-02-28 ; Changes (ep,jdw): + Enumeration updates - + removed _pdbx_poly_seq_scheme.hetero relationship with _entity_poly_seq.hetero ; 5.191 2015-03-10 ; Changes (es,jdw): + EMD extension dictionary update ; 5.192 2015-03-18 ; Changes (ep,jdw): + Add item _pdbx_depui_entry_details.replace_pdb_id + Enumeration updates ; 5.193 2015-03-31 ; Changes (cs,jdw): + remove relationship between _pdbx_reference_entity_subcomponents.prd_id and _pdbx_reference_molecule_list.prd_id ; 5.194 2015-04-22 ; Changes (ep,jdw): + enumeration updates + add item _pdbx_contact_author.identifier_ORCID. + add chem_comp_model_group extensions. ; 5.195 2015-04-28 ; Changes (es,jdw): + EMD extension dictionary update ; 5.196 2015-04-30 ; Changes (ep,jdw): + enumeration updates ; 5.197 2015-05-06 ; Changes (ep,ms,jdw): + enumeration updates ; 5.198 2015-06-03 ; Changes (es,cl,jdw): + EMD extension update ; 5.199 2015-06-09 ; Changes (cl): + EMD extension update ; 5.200 2015-06-19 ; Changes (cl): + EMD extension update ; 5.201 2015-06-24 ; Changes (es): + EMD extension update ; 5.202 2015-06-26 ; Changes (es): + EMD regular expression update ; 5.203 2015-06-30 ; Changes (es): + EMD data type refinement ; 5.204 2015-07-06 ; Changes (es,cl): + EMD data type refinement ; 5.205 2015-07-17 ; Changes (ep,jw): + enumeration updates ; 5.206 2015-07-20 ; Changes (jw): + add new category pdbx_audit_conform_extension ; 5.207 2015-08-06 ; Changes (ep,jw): + enumeration updates ; 5.208 2015-08-14 ; Changes (cl,jw): + EM extension update ; 5.209 2015-08-30 ; Changes (ep,jw): + Enumeration updates ; 5.210 2015-08-31 ; Changes (cl,jw): + EM extension update ; 5.211 2015-09-08 ; Changes (es): + EMD extension update ; 5.212 2015-09-08 ; Changes (cl): + EM extension update ; 5.213 2015-10-01 ; Changes (jdw): + _pdbx_nmr_systematic_chem_shift_offset.ordinal replaces the natural category key for this category. + Enumeration updates ; 5.214 2015-10-08 ; Changes (ep): + Enumeration updates + regex update for type author ; 5.215 2015-10-13 ; Changes (es): + EMD extension update ; 5.216 2015-10-14 ; Changes (cl): + Add _emd_admin.header_release_date, _emd_admin.obsoleted_date and _em_admin.header_release_date ; 5.217 2015-10-15 ; Changes (jw): + add item _pdbx_depui_entry_details.wwpdb_site_id ; 5.218 2015-10-22 ; Changes (es): + EMD extension update ; 5.219 2015-10-22 ; Changes (cl): + EM extension update ; 5.220 2015-10-30 ; Changes (ep): + Enumeration updates ; 5.221 2015-11-02 ; Changes (ep): + Enumeration updates ; 5.222 2015-11-11 ; Changes (es): + EMD extension update ; 5.223 2015-11-11 ; Changes (jw): + Adjust local context for selected NMR and EM data categories. ; 5.224 2015-11-19 ; Changes (es): + EMD extension update ; 5.225 2015-11-24 ; Changes (es): + EMD extension update ; 5.226 2015-11-24 ; Changes (cl): + EM extension update ; 5.227 2015-11-24 ; Changes (ep): + DCC extension update ; 5.228 2015-11-28 ; Changes (es): + EMD extension update ; 5.229 2015-12-03 ; Changes (jdw): + Category context changed for pdbx_nmr_spectral_peak_list ; 5.230 2015-12-03 ; Changes (es): + EMD extension update ; 5.231 2015-12-04 ; Changes (cl): + EM extension update ; 5.232 2015-12-07 ; Changes (ep): + enumeration updates ; 5.233 2015-12-08 ; Changes (cl,ep): + EM extension update ; 5.234 2016-01-06 ; Changes (ep): + description text updates ; 5.235 2016-01-21 ; Changes (jw): + update context for EM data items - + add _em_admin.map_hold_date ; 5.236 2016-01-26 ; Changes (cl,ep): + update enumerations and descriptions for EM data items - ; 5.237 2016-02-01 ; Changes (es): + update enumerations and descriptions for EMD data items - ; 5.238 2016-02-03 ; Changes (jy): + enumeration update for item _pdbx_database_status.methods_development_category ; 5.239 2016-02-09 ; Changes (cl,ap): + enumeration update for item _em_imaging.specimen_holder_model and _emd_microscopy.specimen_holder_model + set local context for categories em_virus_natural_host and em_virus_shell ; 5.240 2016-02-24 ; Changes (cl,ep): + Update local context for selected em_* categories. + Add internal data item _pdbx_database_status.auth_req_rel_date ; 5.241 2016-03-08 ; Changes (ep): + Update local context for selected em_* categories. + Update internal enumerations for detectors and secondary structure types. ; 5.242 2016-03-21 ; Changes (jw): + add regular expression for ORCID ; 5.243 2016-03-25 ; Changes (jy,zf): + add extensions for group depositions ; 5.244 2016-03-31 ; Changes (jw): + add extensions to capture results from ligand binding assays ; 5.245 2016-04-02 ; Changes (PDBj): + _diffrn_source.type/_diffrn_source.pdbx_synchrotron_beamline deposition enumeration update BL-21 -> PX-BL21 ; 5.246 2016-04-11 ; Changes (ep): + deposition beamline enumeration updates ; 5.247 2016-04-27 ; Changes (ep): + deposition beamline enumeration updates + add extensions to support pdbx_struct_assembly evidence ; 5.248 2016-05-03 ; Changes (ep): + CAPRI added to _pdbx_database_status.methods_development_category + Correct pdbx_nmr_chem_shift_ref.mol_common_name enumeration + Add RDC to pdbx_nmr_constraint_file.constraint_subtype enumeration + Correct limits of em_3d_crystal_entity.space_group_num + EMD updates to status (HOLD8W), remove 'JEM3400FSC CRYOHOLDER', add new microscopes ; 5.249 2016-05-24 ; Changes (ep): + deposition _software.name enumerations updated (CRANK, CRANK2, EVAL15, KYLIN) + Add AichiSR synchrotron and beamline BL2S1 to deposiiton diffrn_source + Add 'dipolar recoupling' and 'spin diffusion' to _pdbx_nmr_constraint_file.constraint_subtype + Add DECTRIS PILATUS3 R 300K detector + Update examples to include correct items: _pdbx_audit_conform_extension _pdbx_chem_comp_depositor_info _pdbx_chem_comp_instance_depositor_info _pdbx_depui_upload _pdbx_deposition_message_info _pdbx_deposition_message_file_reference _pdbx_struct_ref_seq_depositor_info _em_db_reference _em_entity_assembly_molwt _em_entity_assembly_naturalsource _em_image_recording _em_interpret_figure _em_structure_factors_depositor_info _em_volume_selection _em_particle_selection _em_mask_depositor_info _pdbx_struct_special_symmetry _pdbx_reference_publication_list _pdbx_nmr_chem_shift_ref _pdbx_nmr_chem_shift_reference _pdbx_reference_entity_poly_link ; 5.250 2016-06-04 ; Changes (ep): + Reduce _pdbx_nmr_exptl_sample_conditions.temperature_units enumeration for deposition system + Add deposition system enumeration _diffrn_detector.type with numerous DECTRIS detectors + Update examples for: _em_author_list _em_depui _em_grid_pretreatment _em_diffraction _em_diffraction_shell _em_diffraction_stats _em_final_classification _em_euler_angle_assignment _em_ctf_correction _em_image_processing _em_fsc_curve _emd_microscopy _emd_image_recording _pdbx_deposit_group_index _pdbx_entity_src_gen_depositor_info + Create parent/child definitions for: _em_imaging.specimen_id _em_image_scans.image_recording_id _em_3d_reconstruction.image_processing_id _em_diffraction_stats.image_processing_id _em_image_recording.imaging_id _em_final_classification.image_processing_id _em_startup_model.image_processing_id _em_euler_angle_assignment.image_processing_id _em_ctf_correction.image_processing_id _em_volume_selection.image_processing_id _em_image_processing.image_recording.id _emd_microscopy.emd_specimen_id _emd_image_recording.emd_microscopy_id _emd_image_digitization.emd_image_recording_id' _emd_image_processing.emd_image_recording_id' _emd_startup_model.emd_image_processing_id _emd_angle_assignment.emd_image_processing_id _emd_final_reconstruction.emd_image_processing_id _emd_final_classification.emd_image_processing_id _emd_particle_selection.emd_image_processing_id _emd_volume_selection.emd_image_processing_id _emd_ctf_correction.emd_image_processing_id _emd_crystallography_stats.emd_image_processing_id ; 5.251 2016-07-05 ; Changes (ep): + Change description of reflns.pdbx_CC_half and reflns_shell.pdbx_CC_half to refer to a decimal value. + Remove local context for _pdbx_deposit_group.group_id + Update enumerations for _pdbx_nmr_chem_shift_ref.atom_group and _pdbx_nmr_exptl_sample_conditions.pH_units + Description updates to several emd related categories + Deposition updates to BRUKER IMUS MICROFOCUS source and RAYONIX MX225-HS/MX170-HS detectors + Range limits for reflns.pdbx_CC_half + _pdbx_item_linked_group and _pdbx_item_linked_group_list updates for pdbx_chem_comp_model_*, em_*, emd_* and_pdbx_struct_special_symmetry categories ; 5.252 2016-07-27 ; Changes (ep): + emd_virus_shell.triangulation and _em_virus_shell.triangulation, changle value to positive integer + Add DECTRIS PILATUS3 R CdTe detectors to diffrn_detector.type ; 5.253 2016-08-26 ; Changes (ep): + Add enumeration for emd_map.contour_level_source and em_map.contour_level_source ; 5.254 2016-09-19 ; Changes (ep): + Extend enumeration for pdbx_nmr_chem_shift_ref.mol_common_name to include 'methionine' and 'deuterium oxide' + Add SLAC sector MFX + Correct example for pdbx_reference_linked_entity_link + Enhanced EM extension dictionary ; 5.255 2016-09-28 ; Changes (ep): + Add range limits for reflns.pdbx_CC_half and reflns_shell.pdbx_CC_half + Add pdbx_deposit_group.group_title and pdbx_deposit_group.group_description + emd_microscopy.microscope add FEI/PHILIPS CM10 + em_imaging.microscope_model add FEI/PHILIPS CM10, JEOL 100B, SIEMENS SULEIKA + Enhanced EM extension dictionary + Add_ndb_struct_na_base_pair.propel as alias for _ndb_struct_na_base_pair.propeller ; 5.256 2016-10-18 ; Changes (ep): + em_vitrification.instrument add ZEISS PLUNGE FREEZER CRYOBOX + Add em_3d_reconstruction/emd_final_reconstruction refinement_type attribute to replace fsc_type. + _emd_admin.hold_expiry_date renamed _emd_admin.map_hold_date ; 5.257 2016-11-22 ; Changes (ep): + struct_keywords.pdbx_keywords add documented enumerations + pdbx_released_exp_data_set.data_set_type add EMPIAR + diffrn_detector.type: Add Bruker PHOTON II, TVIPS TEMCAM-F416 + diffrn_source.type add Excillum MetalJet sealed tube generators + pdbx_data_processing_status.task_name: update examples and provide annotation enumeration + make pdbx_nmr_refine.software_ordinal a key for category + em_entity_assembly_molwt: Make units and value non-mandatory ; 5.258 2016-11-29 ; Changes (ep): + Add missing detectors to em_image_recording.file_or_detector_model + Add HITACHI EF3000 to em_imaging.microscope_model + For deprecated em_* categories, change context to WWPDB_DEPRECATED and provide mapping to replacement ; 5.259 2016-11-30 ; Changes (ep): + Allow 0.0 in range for em_diffraction_stats.overall_phase_error + _em_entity_assembly_recombinant.plasmid: make non-mandatory + Flag _em_helical_entity, em_helical_entity.hand, _em_single_particle_entity, _em_virus_entity.ictvdb_id, as deprecated in V5RC and provide forward reference possible. ; 5.260 2016-11-30 ; Changes (jdw): + Add item _audit_author.identifier_ORCID + Add category pdbx_entity_instance_feature ; 5.261 2016-12-06 ; Changes (ep/esg/cl): + Allow 0.0 in range for emd_crystallography_stats.overall_phase_error + emd_recombinant_expression.plasmid: make non-mandatory + Reclassify the category_group for em_ categories + Add pdbx_biocurator_comment and pdbx_depositor_comment ; 5.262 2016-12-19 ; Changes (ep/jb): + Update pdbx_struct_assembly_gen_depositor_info category for better support of assemblies. + Add pdbx_entity_instance_feature.auth_seq_num and auth_comp_id + Add DECTRIS EIGER X 500K to diffrn_detector.type + Add "FRM II BEAMLINE BIODIFF" to diffrn_source.type + Remove context for audit_author.identifier_ORCID + Item context added for audit_author.address ; 5.263 2017-01-03 ; Changes (jw/ep): + add units micrometres, micrometres_squared, teraphotons_per_pulse, kiloelectron_volts, microjoules, hertz, femtoseconds, microliters_per_min + add category group xfel_group + incorporate draft xfel dictionary extension + incorporate draft diffraction data extension and supporting category group + Add _pdbx_struct_assembly_gen_depositor_info.all_chains ; 5.264 2017-01-05 ; Changes (ep/M. Hekkelman): + Change _pdbx_struct_assembly_gen_depositor_info.chain_id_list non-mandatory + Correct inconsistent mandatory setting for _atom_site.label_alt_id, _atom_site.label_comp_id, _atom_site.label_atom_id, _diffrn_refln.wavelength_id, _atom_site.label_entity_id, _atom_site.label_seq_id, _refln.wavelength_id, _atom_site.label_asym_id, _struct_conn.ptnr1_label_atom_id, _struct_conn.ptnr2_label_atom_id, _struct_mon_prot_cis.label_alt_id, _struct_site_gen.label_alt_id + Split up pdbx_struct_assembly_auth_evidence into pdbx_struct_assembly_auth_classification. Export categories to v5rc + Make _pdbx_struct_assembly_gen_depositor_info.chain_id_list, _pdbx_struct_assembly_gen_depositor_info.full_matrices, _pdbx_struct_assembly_gen_depositor_info.at_unit_matrix, non-mandatory for archive, but mandatory depui + Make pdbx_nmr_refine.software_ordinal a key for category internally + Add adamantane to _pdbx_nmr_chem_shift_ref.mol_common_name enumeration ; 5.265 2017-02-05 ; Changes (ep): + Add BRUKER TURBO X-RAY SOURCE and OXFORD DIFFRACTION NOVA to list of X-ray sources for deposition system. + Define 4x3_matrix, id_list, symmetry_operation as regular expressions for use in deposition system to validate pdbx_struct_assembly_gen_depositor_info + Add pdbx_struct_assembly_gen_depositor_info.symmetry_operation ; 5.266 2017-02-11 ; Changes (ep): + For 4x3_matrix - allow spaces at start of row + add pdbx_struct_assembly_auth_evidence_depositor_info. Change parent of pdbx_struct_assembly_gen_depositor_info to pdbx_struct_assembly_depositor_info + export pdbx_binding_assay to public in v5rc ; 5.267 2017-02-15 ; Changes (ep): + Export pdbx_entity_instance_feature to public in v5rc + For pdbx_entity_instance_feature.comp_id change parent to atom_site.label_comp_id + Add parent atom_site.auth_comp_id to pdbx_entity_instance_feature.auth_comp_id ; 5.268 2017-02-17 ; Changes (ep): + Add internal pdbx_binding_assay.auth_comp_id + Provide limits for pdbx_binding_assay.assay_pH and pdbx_binding_assay.assay_temperature + Make pdbx_binding_assay.assay_type, pdbx_binding_assay.assay_value and pdbx_binding_assay.assay_value_type non-mandatory ; 5.269 2017-02-27 ; Changes (ep): + Add STARANISO to deposition software.name enumeration list + Add NSRRC BEAMLINE TPS 05A synchrotron beamline to diffrn.source.type + Update deposition example for refins.pdbx_starting_model + Add "MAATEL BIODIFF" to diffrn_detector.type + Update pdbx_struct_assembly_auth_evidence.experimental_support enumeration to include 'immunoprecipitation' ; 5.270 2017-03-01 ; Changes (ep): + Update pdbx_struct_assembly_auth_evidence_depositor_info.experimental_support enumeration to include 'immunoprecipitation' ; 5.271 2017-03-09 ; Changes (ep): + Add category group assignments for pdbx_unobs_or_zero_occ_residues, pdbx_unobs_or_zero_occ_atoms, pdbx_struct_mod_residue, pdbx_distant_solvent_atoms, _pdbx_struct_special_symmetry, pdbx_pdb_compnd, pdbx_pdb_source + Update context values to WWPDB_LOCAL for pdbx_remediation_atom_site_mapping + Parent for _pdbx_remediation_atom_site_mapping.auth_alt_id removed. + Add MIRAS, SIR to deposition enumeration for _refine.pdbx_method_to_determine_struct + Change type for pdbx_hybrid.residue_names to line based on usage + Add category keys for pdbx_source and pdbx_refine_ls_restr_ncs + To support data from pdb_extract, added pdbx_crystal_alignment category and updates to exisitin pdbx_phasing_MR, reflns_shell, reflns categories + For 4x3 matrix - require space between columns + Add new categories to support versioning: pdbx_audit_revision_history, pdbx_audit_revision_category, pdbx_audit_revision_group, pdbx_audit_revision_item, pdbx_audit_revision_details + For v5rc: Set item context on the following to WWPDB_LOCAL: _atom_site.Cartn_x_esd, _atom_site.Cartn_y_esd, _atom_site.Cartn_z_esd, _atom_site.occupancy_esd, _atom_site.B_iso_or_equiv_esd, _atom_site_anisotrop.U[1][1]_esd, _atom_site_anisotrop.U[2][2]_esd, _atom_site_anisotrop.U[3][3]_esd, _atom_site_anisotrop.U[1][2]_esd, _atom_site_anisotrop.U[1][3]_esd, _atom_site_anisotrop.U[2][3]_esd ; 5.272 2017-03-14 ; Changes (ep): + For v5rc: Set category context to WWPDB_LOCAL for pdbx_version, database_PDB_rev and database_PDB_rev_record + Add ssbond to enumeration for pdbx_data_processing_status.status + Set WWPDB_LOCAL context for em_2d_crystal_entity.c_sampling_length in v5_next but not v5rc. ; 5.273 2017-03-20 ; Changes (ep): + For v5rc: Set category context to WWPDB_LOCAL for computing + For v5rc: Remove context on the following due to existing data in archive _atom_site.Cartn_x_esd, _atom_site.Cartn_y_esd, _atom_site.Cartn_z_esd, _atom_site.occupancy_esd, _atom_site.B_iso_or_equiv_esd, _atom_site_anisotrop.U[1][1]_esd, _atom_site_anisotrop.U[2][2]_esd, _atom_site_anisotrop.U[3][3]_esd, _atom_site_anisotrop.U[1][2]_esd, _atom_site_anisotrop.U[1][3]_esd, _atom_site_anisotrop.U[2][3]_esd + Add 'Bruker METALJET' to _diffrn_detector.type enumeration + Flag _pdbx_audit_revision_details.type as mandatory for deposition. + Add _pdbx_crystal_alignment.ybeam_esd + Make _refine_B_iso.pdbx_residue_num, _refine_B_iso.pdbx_strand, _refine_B_iso.pdbx_residue_name non-mandatory + Correct examples for pdbx_audit_revision_history and pdbx_audit_revision_group + Update enumeration for _pdbx_audit_revision_group.group + Create/update examples for emd_molecular_mass, emd_vitrification, emd_angle_assignment, emd_particle, emd_volume, emd_modelling_initial_model ; 5.274 2017-03-20 ; Changes (ep): + For v5rc: Remove category context for database_PDB_rev and database_PDB_rev_record + Add 'Force Field X' to deposition enumeration for software.name ; 5.275 2017-03-28 ; Changes (ep/mg): + Move 'Bruker METLJET' from diffrn_detector.type enumeration to diffrn_source.type + Change 'SSRF BEAMLINE BL17U' ine diffrn_source.type enumerate to 'SSRF BEAMLINE BL17U1' + Add 'Agrovata', 'DIMPLE', 'SHELXL-97' to software.name deposition enumeration ; 5.276 2017-04-06 ; Changes (ep/mrs): + Correct capitalization of enumerations in pdbx_contact_author.contry and pdbx_audit_support.country. + Correct capitalization of enumerations of _ pdbx_SG_project.full_name_of_center + Update archive enumerations for pdbx_nmr_exptl_sample.concentration_units to match deposition enumeration + For deprecated em_* categories, in which a forward reference is provided to new item in dictonary, provide the reverse mapping as well. + For v5rc: For deprecated computing category provide forward references to software category + For v5rc: export _pdbx_database_status.recvd_initial_deposition_date and indicate replaces database_PDB_rev.date_original + For v5rc: remove pdbx_binding_assay category + Extend enumeration for _pdbx_nmr_constraint_file.constraint_subtype ('PRE', 'PRE solvent', 'CSP') + For v5rc: For deprecated pdbx_version category provide replacement items names ; 5.277 2017-04-08 ; Changes (ep): + For v50: correct WWPDB_LOCAL context for _pdbx_database_status.date_begin_release_preparation, and remove context for _pdbx_database_status.status_code_cs ; 5.278 2017-04-18 ; Changes (ep): + Add WWPDB_LOCAL context for entry.pdbx_DOI + Add 'Direct Drive' to _pdbx_nmr_spectrometer.model deposition enumeration + For v50: Mark as WWPDB_LOCAL context for database_PDB_rev and database_PDB_rev_record ; 5.279 2017-04-20 ; Changes (ep): + Add 'Data processing' to _pdbx_audit_revision_group.group enumeration + Add 'Obsolete' to _pdbx_audit_revision_details.type + Change enumeration in _emd_map.endian_type and _em_map.endian_type from 'small' to 'little' ; 5.280 2017-05-10 ; Changes (ep): + Add pdbx_supporting_exp_data_set category + Remove deposition only related enumerations + Add _pdbx_depui_status_flags.has_sas_data and _pdbx_depui_status_flags.is_sas_deposited ; 5.281 2017-06-27 ; Changes (ep): + Add pdbx_contact_author.legacy_address to replace audit_contact_author.address. + Change type for pdbx_database_status.recvd_initial_deposition_date to yyyy-mm-dd from yyyy-mm-dd:hh:mm for xsd type checking + Add 'FEI FALCON III (4k x 4k)' to enumeration for emd_image_recording.film_or_detector_model ; 5.282 2017-07-01 ; Changes (ep): + Add pdbx_depui_status_flags.use_sas_refine ; 5.283 2017-07-08 ; Changes (ep): + Add 'carbohydrate dihedral angle' to _pdbx_nmr_constraint_file.constraint_type + Extend soft limit range for em_image_recording.avg_electron_dose_per_image + Set pdbx_depui_status_flags.is_grant_funded mandatory for deposition ; 5.284 2017-08-03 ; Changes (ep): + Merge in all deposition interface enumerations, descriptions and mandatory codes + Add 'PDB_ACC' to database_2.database_id enumeration + Correct type for pdbx_nmr_exptl_sample.concentration_units to match enumeration + Add MCMR (Midwest Center for Macromolecular Research) to pdbx_SG_project.initial_of_center and pdbx_SG_project.full_name_of_center ; 5.285 2017-08-30 ; Changes (ep): + Add 'FISCHIONE INSTRUMENTS DUAL AXIS TOMOGRAPHY HOLDER' to em_imaging.specimen_holder_model enumeration + Add soft and hard limits for reflns.pdbx_Rrim_I_all, reflns_shell.pdbx_Rrim_I_all, reflns.pdbx_Rpim_I_all, reflns_shell.pdbx_Rpim_I_all, reflns_shell.pdbx_Rrim_I_all_anomalous, reflns_shell.pdbx_Rpim_I_all_anomalous, reflns.pdbx_Rrim_I_all_anomalous, reflns.pdbx_Rpim_I_all_anomalous + Add DepUI enumeration for em_software.name + Make pdbx_struct_assembly_auth_evidence.details and pdbx_struct_assembly_depositor_info.details mandatory at deposition + Update enumeration for _pdbx_audit_support.funding_organization + Add _pdbx_deposit_group.group_type + Remove ESRF BEAMLINE ID30A from diffrn_source.type + Update software.name enumeration with role software used (for deposition) ; 5.286 2017-09-10 ; Changes (ep): + Add 'RMVD' to enumeration for pdbx_database_status.status_code, pdbx_database_status.status_code_sf, pdbx_database_status.status_code_mr, pdbx_database_status.status_code_cs + Add enumeration for em_sample_support.grid_type + Add enumeration for em_imaging_optics.energyfilter_name + Correct capitalization of BRUKER METALJET in diffrn_source.type + To support entity_branch_extension, extend deposition entity.type ; 5.287 2017-10-18 ; Changes (ep/jmb): + Add _pdbx_depui_validation_status_flags.tls_no_aniso to flag TLS records without anisotropic ones during deposition + Add _pdbx_depui_validation_status_flags.adp_outliers_zero to flag zero B factors during deposition + Update _pdbx_audit_support.funding_organization enumeration + Add European XFEL site and beamlines to diffrn_source.type, diffrn_source.pdbx_synchrotron_beamline and diffrn_source.pdbx_synchrotron_site + pdbx_database_related.db_name deposition enumeration extended to include matching content_type context. + Add upper range limit for reflns.percent_possible_obs and reflns_shell.percent_possible_obs + Require reflns.pdbx_R_split and reflns_shell.pdbx_R_split to be positive and create advisory limits for deposition. + Make reflns_shell.d_res_low and reflns_shell.d_res_high mandatory for deposition system. + Add 'LIQUID ANODE' to Deposition enumeration for diffrn_source.source. Change METALJET generators in diffrn_source.type to match. + Extend enumeration for pdbx_struct_assembly_auth_evidence.experimental_support ; 5.288 2017-11-27 ; Changes (ep/ar/cl): + Correct spelling errors in category_group_list.description + Add item_sub_category.id for TLS definitions in pdbx_refine_tls + Add _citation_author.identifier_ORCID with WWPDB_LOCAL context + Add SPOTITON to em_virtification.instrument enumeration + Add GATAN K3 detectors to _emd_image_recording.film_or_detector_model enumeration + Add 'GIF Bioquantum' to _em_imaging_optics.energyfilter_name enumeration + Update deposition description for citation_author.name + Add SwissFEL and PAL-XFEL enumerations to diffrn_source category enumerations + Set maximum of 30 seconds for _em_image_recording.average_exposure_time + Add 'HOLD FOR 4 WEEKS' to enumeration pdbx_database_status.dep_release_code_struct_fact ; 5.289 2018-01-11 ; Changes (ep): + Add "SLAC LCLS BEAMLINE AMO" to _diffrn_source.type, add "AMO" to _diffrn_source.pdbx_synchrotron_breamline to deposition enumerations. + Correct _diffrn_source.type for "BRUKER D8 QUEST" - is a SEALED TUBE. + Update/add range limits for _em_imaging.nominal_defocus_max, _em_imaging.nominal_defocus_min, _em_image_recording.average_exposure_time, _em_imaging.nominal_magnification, _em_focused_ion_beam.initial_thickness, _em_focused_ion_beam.current, _em_imaging.nominal_cs, _em_imaging.c2_aperature_diameter, _em_imaging.calibrated_defocus_max + Add 'ISOLDE" to enumeration for _software.name + Add "JEOL CRYO ARM 200" and "JEOL CRYO ARM 300" to _em_imaging.microscope_model + Improve date_dep regular expression to prevent zero dates + Extend _pdbx_audit_support.funding_organization enumeration + Add 'HOLD FOR 8 WEEKS' to enumeration pdbx_database_status.dep_release_code_struct_fact + Add 'Bruker PHOTON III' and correct type of 'Bruker PHOTON II' in _diffrn_detector.type enumeration. + Add 'GRAPHENE OXIDE' to _em_sample_support.grid_material enumeration ; 5.290 2018-02-07 ; Changes (ep): + Add SIMBAD to _software.name enumeration + Add 'Sculptor', 'SUPER' and 'FOCUS' to em_software.name enumeration + Extend _pdbx_audit_support.funding_organization enumeration + Extend _pdbx_struct_assembly_auth_evidence_depositor_info.experimental_support enumeration + Remove 4x3_matrix and implement 3x4_matrices + Add enumeration for _pdbx_deposit_group.group_type + Add _em_imaging_optics.energyfilter_slit_width + Switch to closed enumeration for _pdbx_audit_support.funding_organization. + Change type of _pdbx_depui_validation_status_flags.adp_outliers_zero to text ; 5.291 2018-03-06 ; Changes (ep): + Ensure _diffrn_detector.type, _diffrn_source.pdbx_synchrotron_beamline, _diffrn_source.pdbx_synchrotron_site enumerations complete + Extend _pdbx_audit_support.funding_organization enumeration + Add RNA-Puzzles to _pdbx_database_status.methods_development_category enumeration + Add _pdbx_audit_support.details ; 5.292 2018-03-22 ; Changes (ep): + Add "MAXIMUM LIKELIHOOD" to _emd_angle_assignment.type enumeration + Extend range for _em_image_recording.average_exposure_time + Update diffrn_source category deposition related enumerations ; 5.293 2018-04-17 ; Changes (ep): + Allow any number of digits for emd_id + Add "PSI JUNGFRAU 1M" to diffn_detector.type enumeration + Add pdbx_depui_status_flags.merged_fail ; 5.294 2018-05-12 ; Changes (ep): + Update pdbx_item_enumeration.detail for _pdbx_nmr_spectrometer.model + Extend enumeration for _pdbx_audit_support.funding_organization ; 5.295 2018-06-07 ; Changes (ep): + Update pdbx_deposit_group.group_type enumeration + Extend ranges to match EMDB schema for em_imaging.calibrated_defocus_max _em_start_model.random_conical_tilt_angle, _em_imaging.nominal_cs + Change units for emd_fiducial_markers.diameter, _em_fiducial_markers.diameter + Change units, range, and mandatory flag for _em_focused_ion_beam.dose_rate and _emd_sectioning_focused_ion_beam.dose_rate + Add 'JEOL 3100FEF' to em_imaging.microscope_model ; 5.296 2018-06-25 ; Changes (ep): + Update point_group regular expression type + Add beamline 'SACLA BEAMLINE BL2' and 'APS BEAMLINE 34-ID' to _diffrn_source.type enumeration + Change context of _citation_author.identifier_ORCID to make public + Extend enumerations with _pdbx_audit_support.funding_organization + Provide deposition specific help text for _pdbx_nmr_representative.conformer_id + Make _pdbx_contact_author.identifier_ORCID mandatory during deposition ; 5.297 2018-07-23 ; Changes (ep): + Extend _software.language enumeration + Extend _pdbx_audit_support.funding_organization enumeration + Add COUNTER-DIFFUSION to deposition enumeration for _exptl_crystal_grow.method + Add 'JEOL CRYOSPECPORTER' to _em_imaging.specimen_holder_model enumeration + Extend deposition enumerations for _software.name + Require _atom_site.pdbx_PDB_model_num non-zero positive integer + For deposition, require _pdbx_nmr_representative.conformer_id to be positive integer ; 5.298 2018-08-01 ; Changes (ep): + Extend _pdbx_audit_support.funding_organization enumeration ; 5.299 2018-09-04 ; Changes (ep): + Correct _diffrn_source.type enumeration for 'MICROMAX-003' + Extend _pdbx_audit_support.funding_organization enumeration + Incorporate XFEL extension + Add Diamond beamlines VMXi and VMXm to _diffrn_source.type + Add "Gorgon" and "Pathwalking" to _em_software.name ; 5.300 2018-10-15 ; Changes (ep/jmb): + Correct examples for _pdbx_related_exp_data_set + _diffrn_detector.type correct type for 'BRUKER PHOTON 100' + Extend audit content types to support 'Chemical component' + Add cisTEM and Topaz to em_software.name + Update _pdbx_audit_support.funding_organization enumeration ; 5.301 2018-11-08 ; Changes (ep): + Add Buccaneer to _em_software.name enumeration + Add enumeration to _pdbx_prd_audit.processing_site + Add CHESS BEAMLINE G3, PAL-XFEL BEAMLINE NCI beamlines + Add Rigaku HyPic-6000HE detector + Add newer AVANCE spectrometers to _pdbx_nmr_spectrometer.model + Adjust limits for _refine.ls_d_res_high to not include 0 + Remove use of non_negative_int as regular expression incorrect + Add citation_doi and exp_data_doi for use in citation and pdbx_related_exp_data_set ; 5.302 2018-11-19 ; Changes (ep): + Add various em_* categories to em_group + Add 'Science and Technology Funding Council' and 'Global Challenges Research Fund' to _pdbx_audit_support.funding_organization + _pdbx_audit_support.funding_organization mandatory for deposition + _em_imaging.c2_aperture_diameter units changed to microns and lower limit changed to 1 + _pdbx_nmr_chem_shift_ref.mol_common_name add glucose to enumeration ; 5.303 2018-12-03 ; Changes (ep): + Change ec-type to support new enzyme classifications + Add TRANSLOCASE to _struct_keywords.pdbx_keywords enumeration ; 5.304 2019-01-29 ; Changes (ep): + Adjust contexts for _pdbx_chem_comp_audit.annotator and _pdbx_chem_comp_audit.details + Extend _pdbx_audit_support.funding_organization enumeration + Set maximum for _em_imaging.accelerating_voltage to 400 + For deposition, make _refine.pdbx_method_to_determine_struct, _refine.pdbx_starting_model, _reflns_shell.number_unique_obs mandatory + Add 'Excillum MetalJet D2 70 kV' and 'ELETTRA BEAMLINE 11.2C to _diffrn_source.type enumeration + Change _em_3d_fitting_list.pdb_chain_id type to asym_id ; 5.305 2019-02-03 ; Changes (ep): + Revert change for _refine.pdbx_starting_model being mandatory in deposition + Add enumeration for struct_conn.conn_type_id + Extend _pdbx_audit_support.funding_organization with KU Leuven and Lundbeckfonden ; 5.306 2019-03-20 ; Changes (ep): + Extend _pdbx_audit_support.funding_organization + Restrict _entity.pdbx_number_of_molecules to integers + Remove polysaccharide(D) and polysaccharide(L) type from entity_poly.type + Update example for _audit_author.identifier_ORCID and _citation_author.identifier_ORCID with an invalid checksum + Add "LaB6 thermoionic" to _diffrn_source.type enumeration + Add emClairity to em_software.name enumeration + Change lower limit for _refine.ls_d_res_low, _refine_ls_shell.d_res_low, _refine_ls_shell.d_res_high to not include 0.0 ; 5.307 2019-04-01 ; Changes (ep): + Add 'carbonyl carbon' to _pdbx_nmr_chem_shift_ref.atom_group enumeration + Extend _pdbx_audit_support.funding_organization + Create deposition enumeration for _pdbx_nmr_software.name ; 5.308 2019-04-11 ; Changes (ep): + Add Amber to _em_software.name enumeration + Extend _pdbx_audit_support.funding_organization + Change type of _pdbx_struct_assembly_gen.asym_id_list to text ; 5.309 2019-04-24 ; Changes (ep): + Make _em_depui.obsolete_instructions and em_admin.replace_existing_entry_flag non-mandatory. + Extend _pdbx_audit_support.funding_organization enumeration + Incorporate enumeration/examples for branch change carbohydrates including _entity.type, _pdbx_chem_comp_identifier.type, _pdbx_entity_descriptor.type. + Increase soft upper limit for _reflns_shell.Rmerge_I_obs + Add _pdbx_depui_status_flags.post_rel_replacement_reason + Add _pdbx_database_status.post_rel_recvd_coord_date, _pdbx_database_status.post_rel_recvd_coord, _pdbx_database_status.post_rel_status. + Create type 'id_list_spc' for an id list with spaces. Use for pdbx_struct_assembly_gen_depositor_info.chain_id_list ; 5.310 2019-05-16 ; Changes (ep/jb): + Add PDB-REDO to software.name enumeration + Set upper limit for _exptl_crystal_grow.pH to 14.0 + Update examples for exptl_crystal_grow.method to match enumeration + Add newer AVANCE spectrometers to _pdbx_nmr_spectrometer.model ; 5.311 2019-05-21 ; Changes (ep): + Add _pdbx_entry_details.has_ligand_of_interest + Add Fragon to software.name enumeration + Make pdbx_nmr_chem_shift_software.software_label non-mandatory ; 5.312 2019-06-11 ; Changes (ep/jmb): + Adjust descriptions involving country to include region. + Rename pdbx_entity_descriptor to pdbx_entity_branch_descriptor + Adjust limits of _em_image_recording.avg_electron_dose_per_image" + Add DECTRIS EIGER2 detectors to _diffrn_detector.type + Increase high soft limit for _reflns_shell.pdbx_Rsym_value ; 5.313 2019-07-10 ; Changes (ep): + Expand _diffrn_detector.type, _software.name, _pdbx_audit_support.funding_organiation enumerations + Make _pdbx_refine_tls_group.pdbx_refine_id and _pdbx_refine_tls.pdbx_refine_id mandatory ; 5.314 2019-08-19 ; Changes (ep/jmb): + Correct capitalization in _pdbx_nmr_spectrometer.model + Expand _diffrn_detector.type, _pdbx_audit_support.funding_organiation enumerations + Adjust advisory limits for _reflns.pdbx_Rrim_I_all, _reflns.pdbx_Rpim_I_all, _reflns.pdbx_R_split + Add _atom_type.pdbx_scat_Z, _atom_type.pdbx_N_electrons + Add _reflns.pdbx_CC_star and _reflns_shell.pdbx_CC_star definitions ; 5.315 2019-09-11 ; Changes (ep): + Expand _pdbx_audit_support.funding_organiation enumerations + Added _pdbx_depui_status_flags.post_rel_replacement_reason_details and _pdbx_audit_revision_details.details + Update description of _atom_site.label_alt_id + Add _refine.pdbx_R_complete and _refine_ls_shell.pdbx_R_complete ; 5.316 2019-10-10 ; Changes (ep): + Adjust range limits for _reflns.pdbx_CC_star, _reflns_shell.pdbx_CC_star + Adjust range limits for _reflns.pdbx_R_split, _reflns_shell.pdbx_R_split + Create internal enumeration for struct_ref_seq_dif.details + Expand _pdbx_audit_support.funding_organiation enumerations + Use a new type deposition_email for pdbx_contact_author.email ; 5.317 2019-10-21 ; Changes (ep): + Add newer DECTRIS EIGER detectors to _diffrn_detector.type + Extend _pdbx_audit_support.funding_organiation enumerations + _em_imaging.specimen_holder_model add 'GATAN ELSA 698 SINGLE TILT LIQUID NITROGEN CRYO TRANSFER HOLDER' and 'FISCHIONE 2550' to enumeration + _em_imaging.microscope_model add 'TFS GLACIOS' and ' TFS KRIOS' to enumeration. ; 5.318 2019-10-28 ; Changes (ep): + Remove duplicate enumerations from _diffrn_detector.type + Correct deposition_email type name ; 5.319 2019-11-12 ; Changes (ep): + Extend pdbx_database_status to include nmr_data contents. + Reorganize _pdbx_audit_support.funding_organization such that details will include the country. + Extend em_software.name to include ERRASER + Set upper limit for _diffrn.ambient_temp to 450 + Add TFA to _pdbx_nmr_chem_shift_ref.mol_common_name. Add fluorine to _pdbx_nmr_chem_shift_ref.atom_group + Add 'TFS TAOLS' to _em_imaging.microscope_model + Correct soft limits for _reflns.percent_possible_obs + Make _struct_keywords.pdbx_keywords mandatory for deposition + Add soft limits for _reflns.pdbx_CC_half ; 5.320 2019-11-26 ; Changes (ep): + Extend _pdbx_audit_support.funding_organization + Add alpha and beta linking D/L saccharide to _chem_comp.type + Add 'CONDENSED IUPAC CARBOHYDRATE SYMBOL','IUPAC CARBOHYDRATE SYMBOL' 'SNFG CARBOHYDRATE SYMBOL' to _pdbx_chem_comp_identifier.type + Add 'CARBOHYDRATE ANOMER', 'CARBOHYDRATE ISOMER', 'CARBOHYDRATE RING' to examples for pdbx_chem_comp_feature.type ; 5.321 2019-12-18 ; Changes (ep): + Extend _diffrn_detector.type enumeration to include BIX-3, BIX-4 and iBIX ; 5.322 2020-01-26 ; Changes (ep): + Extend deposition enumeration for pdbx_database_related to include 'split' and 'complete structure' + Extend pdbx_nmr_software.name (I-PINE) + Limit _reflns.pdc_Rrim_I_all to be less than 5 + Extend pdbx_audit_support enumeration + Add 'ICON' and 'ISOLDE' to _em_software.name enumeration. Remove duplicate 'CryoSPARC' + Improve description of _em_buffer.pH + Add 'NICKEL/TITANIUM' to _em_sample_support.grid_material + Create deposition enumeration for _em_imaging_optics.phase_plate + Add "TFS TALOS F200C" and "TFS TALOS L120C" to em_imaging.microscope_model + Add pdbx_chem_comp_synonyms + Add "Model orientation/position" add to _pdbx_depui_status_flags.post_rel_replacement_reason enumeration. ; 5.323 2020-02-04 ; Changes (ep): + Add "branched" to pdbx_reference_molecule.represent_as + Add 'HITACHI H3000 UHVEM' to _em_imaging.microscope_model + Extend pdbx_audit_support enumeration ; 5.324 2020-03-03 ; Changes (pkeller/ep): + Changes to pdbx_refine_tls_group to enforce consistency between TLS group definitions and structure: Make the following items children of the corresponding items in atom_site: _pdbx_refine_tls_group.beg_auth_asym_id, _pdbx_refine_tls_group.beg_auth_seq_id, _pdbx_refine_tls_group.end_label_asym_id, _pdbx_refine_tls_group.end_auth_seq_id Add new items _pdbx_refine_tls_group.beg_PDB_ins_code, _pdbx_refine_tls_group.end_PDB_ins_code + Add _atom_type.pdbx_scat_Cromer_Mann_a6 and _atom_type.pdbx_scat_Cromer_Mann_b6 + Add PDBC to examples/enumerations for _pdbx_database_status.deposit_site, _pdbx_database_status.process_site, pdbx_chem_comp_audit.processing_site, _chem_comp.pdbx_processing_site, _pdbx_prd_audit.processing_site, pdbx_family_prd_audit.processing_site, em_admin.deposition_site, _pdbx_chem_comp_model_audit.processing_site + Set upper limit for _refine.ls_R_factor_obs, refine.ls_R_factor_R_free, refine.ls_R_factor_R_work to 1.0 + Change hard limits to soft for _em_imaging.accelerating_voltage + Extend pdbx_audit_support enumeration + Add CoMAND to _pdbx_nmr_software.name enumeration + Add 'mg' to _pdbx_nmr_exptl_sample.concentration_units + Make _pdbx_reference_entity_sequence.type and _pdbx_reference_entity_list.type into enumerations. ; 5.325 2020-04-13 ; Changes (jt/ep): + Add 'ELETTRA BEAMLINE XRD2' to _diffrn_source.type and _diffrn_source.pdbx_synchrotron_beamline + Add _pdbx_audit_support.funding_organization enumeration + Add "GOLD" enumeration to em_support_film.material + Add "FEI Falcon IV (4k X 4k)" to _em_image_recording.film_or_detector_model + Add "JADAS" and "crYOLO" to em_software.name + Remove local contet from _pdbx_database_status.status_code_nmr_data ; 5.326 2020-05-26 ; Changes (ep): + Incorpoate branch chain dictionary extension + Extend enumeration of pdbx_audit_support.funding_organization + Correct diffrn_source.type for "ORNL Spallation Neutron Source BEAMLINE MANDI" to indicate spallation source. + Add "oligosaccharide" to _pdbx_reference_entity_poly.type + Add 'cxi.merge' to _software.name enumeration + Extend enumeration of _pdbx_reference_molecule.class ; 5.327 2020-06-05 ; Changes (ep): + Remove local contexts from the following categories: _pdbx_chem_comp_synonyms, _pdbx_chem_comp_related, _pdbx_chem_comp_atom_related, _pdbx_entity_branch_list, _pdbx_entity_branch_link, _pdbx_entity_branch, _pdbx_branch_scheme + Remove local contexts from the following attributs: _struct_conn.pdbx_ptnr1_atom_stereo_config, _struct_conn.pdbx_ptnr1_leaving_atom_id, _struct_conn.pdbx_ptnr2_atom_stereo_config, _struct_conn.pdbx_ptnr2_leaving_atom_id, _entity_name_com.pdbx_provenance ; 5.328 2020-06-08 ; Changes (ep): + Add new funding agency: 'Consortia for HIV/AIDS Vaccine Development' and 'Tower Cancer Research Foundation' + Synchronize pdbx_molecule_features.class enumeration from _pdbx_reference_molecule.class + _em_software.name enumeration add DIALS + Add 'SSRL BEAMLINE BL12-1' to _diffrn_source.type enumeration ; 5.329 2020-06-23 ; Changes (ep): + Add 'Transport activator' to _pdbx_reference_molecule.class and _pdbx_molecule_features.class + Remove 'ELETTRA BEAMLINE XRD2' to _diffrn_source.type and _diffrn_source.pdbx_synchrotron_beamline. 'ELETTRA BEAMLINE 11.2C' is the same one. + Add 'S-Glycosylation' to enumeration for _struct_conn.pdbx_role + Add 'eTasED' to em_software.name enumeration + Restrict type of em_single_particle_entity.id to integer + Add 'Remediation' to pdbx_audit_revision_details.type enumeration ; 5.330 2020-07-11 ; Changes (ep): + Add "MANACA" to _diffrn_source.pdbx_synchrtron_beamline, "LNLS SIRUS BEAMLINE MANACA" to _diffrn_source.type and "LNLS SIRUS" to _diffrn_source.pdbx_synchrotron enumerations. + Update descripion of _atom_site.id to reflect current PDB usage + Document that attributes in _reflns_shell category apply to multiple shells and not just highest resolution shell + Add "The Mark Foundation" to _pdbx_audit_support.funding_organization" + Correct "deposition_email" type to be POSIX compliant ; 5.331 2020-07-20 ; Changes (ep): + Add "Synthetic opioid" and "Transition state mimetic' to _pdbx_reference_molecule.class and _pdbx_molecule_features.class enumerations. + Add "The Mark Foundation", "Canada Research Chairs" and "The Swedish Foundation for Strategic Research" to _pdbx_audit_support.funding_organization" + Add 'PELCO Ultrathin Carbon with Lacey Carbon' to _em_sample_support.grid_type enumeration ; 5.332 2020-08-19 ; Changes (ep): + Create enumeration for pdbx_chem_comp_feture.type + Remove ranges for _diffrn_source.pdbx_wavelength_list as not compatible with code type 'line' + Update funding enumerations + Add SHELXT to _software.name enumeration + Remove obsolete enumberations from chem_comp.type 'D-saccharide 1,4 and 1,6 linking', 'L-saccharide 1,4 and 1,4 linking', 'L-saccharide 1,4 and 1,6 linking', 'D-saccharide 1,4 and 1,4 linking' + Close the enumerations for _pdbx_nmr_constraint_file.constraint_subtype and _pdbx_nmr_systematic_chem_shift_offset.type + Add 'NMR relaxation study' to _pdbx_struct_assembly_auth_evidence.experimental_support eumeration ; 5.333 2020-09-08 ; Changes (ep): + Update funding enumerations + Add advisory limits for _em_focused_io_beam.final_thickness and _emd_sectioning_focused_ion_beam.final_thickness + Add 'methylene carbons' to _pdbx_nmr_chem_shift_ref.atom_group enumeraton + Change type of struct_ncs_oper.id, struct_ncs_end_gen.oper_id, pdbx_struct_ncs_virus_gen.oper_id to int to match current PDB practice + Change _pdbx_struct_assembly.details mandatory based on current use. + Change type of pdbx_database_released.db_id type from line to pdbx_related_db_id ; 5.334 2020-10-05 ; Changes (ep): + Remove trailing newlines from dictionary + Update funding enumerations + Add 'TMSP' to _pdbx_nmr_chem_shift_ref.mol_common_name enumeration + Add 'CRISpy' to _software.name enumeration + Add pdbx_PDB_obsoleted_db_id for list of PDB ids that are obsoleted + Add AUCO to enumeraion for _pdbx_database_status.status_code_cs and _pdbx_database_status.status_code_mr ; 5.335 2020-10-27 ; Changes (ep): + add STOPGAP and novaSTA to _emd_software.name and _em_software.name enumerations + add PRIME and ULTIMA to _software.name enumeration + Update funding enumerations + Set upper limits for _reflns_shell.Rmerge_I_obs and _reflns.pdbx_Rmerge_I_obs + Change code for _pdbx_depui_entry_details.replace_pdb_id to pdbx_PDB_obsoleted_db_id + Add SYNTHETIC to _em_entity_assembly.source enumeration + Add category _em_entity_assembly_synthetic + Add attribute _atom_site.pdbx_atom_ambiguity + Add category pdbx_database_doi ; 5.336 2020-11-10 ; Changes (ep): + Create category _em_virus_synthetic + Add 'TFE' to _pdbx_nmr_chem_shift_ref.mol_common_name enumeration + Update funding enumerations + Make _diffrn_refln.standard_code and _diffrn_refln.scale_group_code non-mandatory ; 5.337 2021-01-05 ; Changes (ep/mw/cv): + Addition of _diffrn_refln.pdbx_image_id and _diffrn_refln.pdbx_scan_angle + Duplicate words cleanup in descriptions + Add enumerations for _pdbx_exptl_crystal_grow_sol.volume_units and _pdbx_exptl_crystal_grow_comp.conc_units + Add usage information to description of _atom_site + Update funding enumerations _pdbx_audit_support.funding_organization + Add 'ARP/wARP' to _em_software.name + Add _database_2.pdbx_database_acceession and _database_2.pdbx_DOI + Add _em_imaging_optics.details + Change attributes to non-mandatory: _em_diffraction_stats.overall_phase_error, _em_diffraction_stats.overall_phase_residual, and _em_diffraction_stats.r_sym, + Change type to float for _em_focused_ion_beam.duration and _emd_sectioning_focused_ion_beam.duration ; 5.338 2021-01-20 ; Changes (ep): + Add LAUENORM to _software.name enumeration + Add 'JEOL 1000EES' to _em_imaging.microscope_model and _emd_microscopy.microscope + Add _citation.pdbx_database_id_patent to record patents + Update funding enumerations _pdbx_audit_support.funding_organization ; 5.339 2021-02-16 ; Changes (Global Phasing Ltd.): + Add items for anomalous diffraction statistics _reflns.pdbx_redundancy_anomalous, _reflns.pdbx_CC_half_anomalous, _reflns.pdbx_absDiff_over_sigma_anomalous, _reflns.pdbx_percent_possible_anomalous, _reflns_shell.pdbx_redundancy_anomalous, _reflns_shell.pdbx_CC_half_anomalous, _reflns_shell.pdbx_absDiff_over_sigma_anomalous, _reflns_shell.pdbx_percent_possible_anomalous + Add items to cater for anistropic diffraction Ellipsoid fit to the cut-off surface: _reflns.pdbx_aniso_diffraction_limit_axis_?_ortho[?], _reflns.pdbx_aniso_diffraction_limit_? Anisotropic B tensor: _reflns.pdbx_aniso_B_tensor_eigenvector_?_ortho[?], _reflns.pdbx_aniso_B_tensor_eigenvalue_? Statistics specific to anisotropic diffraction: _reflns.pdbx_percent_possible_*, _reflns_shell.pdbx_percent_possible_* for ellipsoidal/spherical and anomalous/non-anomalous diffraction. Also add _reflns.pdbx_orthogonalization_convention and new subcategories unit_vector and eigendecomposition + Add items for a per-reflection signal and parameter-free definition of the cut-off surface _reflns.pdbx_observed_signal_threshold, _reflns.pdbx_signal_type, _reflns.pdbx_signal_details, reflns.pdbx_signal_software_id, _pdbx_refln_signal_binning.ordinal, _pdbx_refln_signal_binning.upper_threshold, _refln.pdbx_signal, _refln.pdbx_signal_status + Add and modify items to cater better for umerged reflection data Add _diffrn_refln.pdbx_detector_x, _diffrn_refln.pdbx_detector_y, _diffrn_refln.pdbx_scale_value Modify _diffrn_refln.pdbx_image_id, _diffrn_refln.pdbx_scan_angle ; 5.340 2021-03-10 ; Changes (jt): + Update funding enumerations _pdbx_audit_support.funding_organization ; 5.341 2021-03-15 ; Changes (ep/jw): + Add category pdbx_audit_conform + Update funding enumerations _pdbx_audit_support.funding_organization + Update descriptions for _entity_poly.pdbx_seq_one_letter_code_can and _entity_poly.pdbx_seq_one_letter_code + Add "PSI JUNGFRAU 4M" to _diffrn_detector.type enumerations ; 5.342 2021-04-19 ; Changes (ep): + Add hard limits to _em_focused_ion_beam.initial_thickness + Update description of _struct_ref_seq_dif.pdbx_auth_seq_num + Add "ALS BREAMLINE 2.0.1" to _diffrn_source.type enumeration. "2.0.1" added to enumeration for _diffrn_source.pdbx_synchrotron_beamline. + Update _pdbx_audit_support.funding_organization enumeration + Add 'subTOM' to _em_software.name enumeration and _emd_software.name + Change _em_map.symmetry_space_group type from line to int + Add acetonitrile to enumeration for _pdbx_nmr_chem_shift_ref.mol_common_name ; 5.343 2021-06-02 ; Changes (ep): + Add 'NMR Distance Restraints' and 'electron microscopy' to enumerations for _pdbx_struct_assembly_auth_evidence.experimental_support and pdbx_struct_assembly_auth_evidence_depositor_info.experimental_support + Create new attribute _pdbx_depui_status_flags.has_accepted_assemblies + Create new attribute _pdbx_database_status.date_accepted_terms_and_conditions + Update description of _reflns.pdbx_redundancy + Extend _pdbx_audit_support.funding_organization enumeration. + Add 'TFS TUNDRA' to _em_imaging.microscope_model. ; 5.344 2021-06-08 ; Changes (ep): + Add _item_enumeration.pdbx_value_display for _exptl.method ; 5.345 2021-06-30 ; Changes (ep): + Add "GN" to _pdbx_nmr_spectrometer.model enumeration + Update examples for _database_2.pdbx_database_accession and _database_2.pdbx_DOI + Update enumeration and details for _pdbx_nmr_spectrometer.field_strength + Extend _pdbx_audit_support.funding_organization enumeration. + Update description of _pdbx_molecule_features.prd_id + Add 'UCSF ChimeraX' to _em_software.name + Mark _struct.pdbx_descriptor as local context + Add limits for _refine.ls_percent_reflns_obs + Add _em_author_list.identifier_ORCID ; 5.346 2021-07-08 ; Changes (ep): + Extend _pdbx_audit_support.funding_organization enumeration. + Make _pdbx_contact_author.name_salutation non-mandatory ; 5.347 2021-07-18 ; Changes (ep): + Extend _pdbx_audit_support.funding_organization enumeration. + Correct captilatization in description of _pdbx_nmr_spectrometer.field_strength + Add "SSRF BEAMLINE BL10U2" and "SSRF BEAMLINE BL02U1" to _diffrn_source.type enumeration ; 5.348 2021-08-03 ; Changes (ep): + Extend _pdbx_audit_support.funding_organization enumeration. + Add internal _struct.pdbx_center_of_mass_x, _struct.pdbx_center_of_mass_y, _struct.pdbx_center_of_mass_z. + Add _em_entity_assembly.chimera ; 5.349 2021-09-01 ; Changes (ep): + Using new conditional context for pdbx_contact_author, selectively all principal investogator information out + Extend _pdbx_audit_support.funding_organization enumeration + Extend _em_software.nameenumeration + Add _em_image_recording.avg_electron_dose_per_subtomogram + Extend _em_map.type enumerations + Add SIFTS extension - creating categories _pdbx_sifts_xref_db, _pdbx_sifts_xref_db_segments, _pdbx_sifts_unp_segments and attributes _atom_site.pdbx_label_index, _atom_site.pdbx_sifts_xref_db_name, _atom_site.pdbx_sifts_xref_db_acc, _atom_site.pdbx_sifts_xref_db_num, _atom_site.pdbx_sifts_xref_db_res ; # ########################################################################### # # File: mmcif_pdbx-data.dic # # Protein Data Bank Exchange Data Dictionary # # # Data Section # # ########################################################################### ################## ## SUB_CATEGORY ## ################## loop_ _sub_category.id _sub_category.description 'cartesian_coordinate' ; The collection of x, y, and z components of a position specified with reference to a Cartesian (orthogonal Angstrom) coordinate system. ; 'cartesian_coordinate_esd' ; The collection of estimated standard deviations of the x, y, and z components of a position specified with reference to a Cartesian (orthogonal Angstrom) coordinate system. ; 'fractional_coordinate' ; The collection of x, y, and z components of a position specified with reference to unit cell directions. ; 'fractional_coordinate_esd' ; The collection of estimated standard deviations of the x, y, and z components of a position specified with reference to unit cell directions. ; 'matrix' ; The collection of elements of a matrix. ; miller_index ; The collection of h, k, and l components of the Miller index of a reflection. ; 'cell_length' ; The collection of a, b, and c axis lengths of a unit cell. ; 'cell_length_esd' ; The collection of estimated standard deviations of the a, b, and c axis lengths of a unit cell. ; 'cell_angle' ; The collection of alpha, beta, and gamma angles of a unit cell. ; 'cell_angle_esd' ; The collection of estimated standard deviations of the alpha, beta, and gamma angles of a unit cell. ; 'mm_atom_site_auth_label' ; The collection of asym id, atom id, comp id and seq id components of an author's alternative specification for a macromolecular atom site. ; 'mm_atom_site_label' ; The collection of alt id, asym id, atom id, comp id and seq id components of the label for a macromolecular atom site. ; 'vector' ; The collection of elements of a vector. ; 'unit_vector' ; The collection of elements of a vector whose norm equals 1. ; 'eigendecomposition' ; The collection of items making up the Eigendecomposition of a matrix. For an n x n matrix, instances of this subcategory will consist of n Eigenvectors of dimension n, and n Eigenvalues. ; ######################### ## CATEGORY_GROUP_LIST ## ######################### loop_ _category_group_list.id _category_group_list.parent_id _category_group_list.description ## 'inclusive_group' . ; The parent category group containing all of the data categories in the macromolecular dictionary. ; 'atom_group' 'inclusive_group' ; Categories that describe the properties of atoms. ; 'array_data_group' 'inclusive_group' ; Categories that describe array data. ; 'axis_group' 'inclusive_group' ; Categories that describe axes. ; 'audit_group' 'inclusive_group' ; Categories that describe dictionary maintenance and identification. ; 'cell_group' 'inclusive_group' ; Categories that describe the unit cell. ; 'chemical_group' 'inclusive_group' ; Categories that describe chemical features derived from the experimental coordinate data. ; 'chem_comp_group' 'inclusive_group' ; Categories that define the chemical structure and nomenclature of the momoners and ligands in the experiment. ; 'chem_comp_dictionary_group' 'inclusive_group' ; Categories defining chemical structure and nomenclature of the momoners and ligands used in the Chemical Component Dictionary. ; 'chem_comp_model_group' 'inclusive_group' ; Categories defining structural models for chemical components defined in the Chemical Component Dictionary. ; 'bird_dictionary_group' 'inclusive_group' ; Categories defining chemical structure and nomenclature of the small polymer molecules used in the Biologically Interesting Molecule Reference Dictionary (BIRD). ; 'bird_family_dictionary_group' 'inclusive_group' ; Categories defining families of related molecules used in the Biologically Interesting Molecule Reference Dictionary (BIRD). ; 'chem_link_group' 'inclusive_group' ; Categories that describe links between components of chemical structure. ; 'citation_group' 'inclusive_group' ; Categories that provide bibliographic references. ; 'computing_group' 'inclusive_group' ; Categories that describe the computational details of the experiment. ; 'compliance_group' 'inclusive_group' ; Categories that are included in this dictionary specifically to comply with previous dictionaries. ; 'database_group' 'inclusive_group' ; Categories that hold references to entries in databases that contain related information. ; 'diffrn_group' 'inclusive_group' ; Categories that describe details of the diffraction experiment. ; 'em_group' 'inclusive_group' ; Categories that describe 3-dimensional electron microscopy. ; 'em_legacy_group' 'inclusive_group' ; Categories that describe 3-dimensional electron microscopy (legacy). ; 'emdb_admin_group' 'inclusive_group' ; Administrative Categories for Electron Microscopy Data Bank. ; 'emdb_extension_group' 'inclusive_group' ; Categories that describe 3-dimensional electron microscopy (EMDB extension). ; 'entity_group' 'inclusive_group' ; Categories that describe the unique chemical and molecular entities. ; 'entry_group' 'inclusive_group' ; Categories that pertain to the entire data block. ; 'exptl_group' 'inclusive_group' ; Categories that hold details of the experimental conditions. ; 'geom_group' 'inclusive_group' ; Categories that hold details of molecular and crystal geometry. ; 'iucr_group' 'inclusive_group' ; Categories that are used for manuscript submission and internal processing by the staff of the International Union of Crystallography. ; 'nmr_group' 'inclusive_group' ; Categories that describe Nuclear Magnetic Spectroscopy experiments. ; 'pdb_group' 'inclusive_group' ; Categories that pertain to the file-format or data-processing codes used by the Protein Data Bank. ; 'phasing_group' 'inclusive_group' ; Categories that describe phasing. ; 'refine_group' 'inclusive_group' ; Categories that describe refinement. ; 'refln_group' 'inclusive_group' ; Categories that describe the details of reflection measurements. ; 'struct_group' 'inclusive_group' ; Categories that contain details about the experimental structure. ; 'symmetry_group' 'inclusive_group' ; Categories that describe symmetry information. ; 'pdbx_group' 'inclusive_group' ; Categories which have been added to support the data archiving and exchange for the Protein Data Bank. ; 'pdbx_erf_group' 'inclusive_group' ; Categories which are used by RCSB PDB to store derived and computed data. ; 'ccp4_group' 'inclusive_group' ; Categories from the CCP4 harvest dictionary. ; 'ndb_group' 'inclusive_group' ; Categories which are used by the Nucleic Acid Database. ; 'rcsb_group' 'inclusive_group' ; Categories which are used internally by the RCSB PDB. ; 'protein_production_group' 'inclusive_group' ; Categories which describe the details of protein production. ; 'solution_scattering_group' 'inclusive_group' ; Categories which describe the details of solution scattering experiments. ; 'validate_group' 'inclusive_group' ; Categories that describe geometric properties of residues that deviate from expected standards by 6 * the expected RMSD ; 'view_group' 'inclusive_group' ; Categories which are used to storing view transformations. ; 'em_specimen' 'inclusive_group' ; Categories that describe electron microscopy specimens. ; 'em_sample' 'inclusive_group' ; Categories that describe electron microscopy samples. ; 'em_crystallography' 'inclusive_group' ; Categories that describe electron crystallography. ; 'em_fitting' 'inclusive_group' ; Categories that describe electron microscopy fitting. ; 'em_tomography' 'inclusive_group' ; Categories that describe electron tomography. ; 'em_imaging' 'inclusive_group' ; Categories that describe electron microscopy imaging. ; 'em_reconstruction' 'inclusive_group' ; Categories that describe electron microscopy reconstruction. ; 'em_symmetry_group' 'inclusive_group' ; Categories that describe electron microscopy symmetry. ; 'em_experiment' 'inclusive_group' ; Categories that describe electron microscopy experimental details. ; 'em_symmetry' 'inclusive_group' ; Categories that describe electron microscopy symmetry details. ; 'emd_group' 'inclusive_group' ; Categories describing electron microscopy that are used by the wwPDB deposition and annotation system. ; 'chem_comp_model_group' 'inclusive_group' ; Categories describing experimental and computational models for individual chemical components. ; 'dcc_group' 'inclusive_group' ; Categories output by the crystallographic data utility application DCC. ; 'xfel_group' 'inclusive_group' ; Categories that describe X-ray Free Electron Laser (XFEL) data collection and experimental details. ; 'diffrn_data_set_group' 'inclusive_group' ; Categories extending the description of measured diffraction data. ; 'branch_group' 'inclusive_group' ; Categories that describe branched chain carbohydrates. ; 'reference_sequence_group' 'inclusive_group' ; Categories that describe SIFTS mapping of sequence data. ; #################### ## ITEM_TYPE_LIST ## #################### # # # The regular expressions defined here are not compliant # with the POSIX 1003.2 standard as they include the # '\n' and '\t' special characters. These regular expressions # have been tested using version 0.12 of Richard Stallman's # GNU regular expression library in POSIX mode. # # # For some data items, a standard syntax is assumed. The syntax is # described for each data item in the dictionary, but is summarized here: # # Names: The family name(s) followed by a comma, precedes the first # name(s) or initial(s). # # Telephone numbers: # The international code is given in brackets and any extension # number is preceded by 'ext'. # # Dates: In the form yyyy-mm-dd. # ############################################################################## loop_ _item_type_list.code _item_type_list.primitive_code _item_type_list.construct _item_type_list.detail code char '[][_,.;:"&<>()/\{}'`~!@#$%A-Za-z0-9*|+-]*' ; code item types/single words ... ; ucode uchar '[][_,.;:"&<>()/\{}'`~!@#$%A-Za-z0-9*|+-]*' ; code item types/single words (case insensitive) ... ; line char '[][ \t_(),.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*' ; char item types / multi-word items ... ; uline uchar '[][ \t_(),.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*' ; char item types / multi-word items (case insensitive)... ; text char '[][ \n\t()_,.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*' ; text item types / multi-line text ... ; int numb '[+-]?[0-9]+' ; int item types are the subset of numbers that are the negative or positive integers. ; float numb '-?(([0-9]+)[.]?|([0-9]*[.][0-9]+))([(][0-9]+[)])?([eE][+-]?[0-9]+)?' ; float item types are the subset of numbers that are the floating numbers. ; name uchar '_[_A-Za-z0-9]+\.[][_A-Za-z0-9%-]+' ; name item types take the form... ; idname uchar '[_A-Za-z0-9]+' ; idname item types take the form... ; any char '.*' ; A catch all for items that may take any form... ; yyyy-mm-dd char '[0-9]?[0-9]?[0-9][0-9]-[0-9]?[0-9]-[0-9][0-9]' ; Standard format for CIF dates. ; yyyy-mm-dd:hh:mm-flex char '[0-9][0-9][0-9][0-9](-[0-9]?[0-9])?(-[0-9][0-9])?(:[0-9]?[0-9]:[0-9][0-9])?' ; Flexible date-time format. ; uchar3 uchar '[+]?[A-Za-z0-9][A-Za-z0-9]?[A-Za-z0-9]?' ; data item for 3 character codes ; uchar1 uchar '[+]?[A-Za-z0-9]' ; data item for 1 character codes ; symop char '([1-9]|[1-9][0-9]|1[0-8][0-9]|19[0-2])(_[1-9][1-9][1-9])?' ; symop item types take the form n_klm, where n refers to the symmetry operation that is applied to the coordinates in the ATOM_SITE category identified by _atom_site_label. It must match a number given in _symmetry_equiv_pos_site_id. k, l, and m refer to the translations that are subsequently applied to the symmetry transformed coordinates to generate the atom used. These translations (x,y,z) are related to (k,l,m) by k = 5 + x l = 5 + y m = 5 + z By adding 5 to the translations, the use of negative numbers is avoided. ; atcode char '[][ _(),.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*' ; Character data type for atom names ... ; yyyy-mm-dd:hh:mm char '[0-9]?[0-9]?[0-9][0-9]-[0-9]?[0-9](-[0-9]?[0-9])?(:[0-9]?[0-9]:[0-9][0-9])?' ; Standard format for CIF dates with optional time stamp. ; fax uchar '[_,.;:"&<>/\{}'`~!@#$%A-Za-z0-9*|+-]*' ; code item types/single words (case insensitive) ... ; phone uchar '[_,.;:"&<>/\{}'`~!@#$%A-Za-z0-9*|+-]*' ; code item types/single words (case insensitive) ... ; email uchar '[_,.;:"&<>/\{}'`~!@#$%A-Za-z0-9*|+-]*' ; code item types/single words (case insensitive) ... ; int-range numb '[+-]?[0-9]+-[+-]?[0-9]+' # '-?[0-9]+(--?[0-9]+)?' ; range of integer item types are the subset of numbers that are the negative or positive integers. ; float-range numb '-?(([0-9]+)[.]?|([0-9]*[.][0-9]+))([(][0-9]+[)])?([eE][+-]?[0-9]+)?(--?(([0-9]+)[.]?|([0-9]*[.][0-9]+))([(][0-9]+[)])?([eE][+-]?[0-9]+)?)?' ; int item types are the subset of numbers that are the floating numbers. ; code30 char '.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?' 'A string value, not allowed to exceed 30 characters.' # binary char ;\n--CIF-BINARY-FORMAT-SECTION--\n\ [][ \n\t()_,.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*\ \n--CIF-BINARY-FORMAT-SECTION---- ; ; binary items are presented as MIME-like ascii-encoded sections in an imgCIF. In a CBF, raw octet streams are used to convey the same information. ; # Place-holder regex for this to avoid breaking any software. operation_expression char '[][ \t_(),.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*' ; sequence of parenthetical integer ranges and character codes ; ec-type char # '[1-6](.[1-9][0-9]?)?(.[1-9][0-9]?)?(.[1-9][0-9]?[0-9]?)?' '([1-7]((.[1-9][0-9]?)|(.-))((.[1-9][0-9]?)|(.-))((.[1-9][0-9]?[0-9]?)|(.-)))(([ ]*,[ ]*)([1-7]((.[1-9][0-9]?)|(.-))((.[1-9][0-9]?)|(.-))((.[1-9][0-9]?[0-9]?)|(.-))))*' ; Approximate format of Enzyme Commission EC number. 1.2.3.4 with optional parts. ; seq-one-letter-code char '(([\nUGPAVLIMCFYWHKRQNEDSTX]+)?|(\([0-9A-Z][0-9A-Z]?[0-9A-Z]?\))?)+' ; One letter code sequence supporting parenthetical modified residues with 3-letter codes ; ucode-alphanum-csv uchar '[A-Za-z0-9]+(,[A-Za-z0-9]+)?' ; comma separated alpha numeric codes (single words) (case insensitive) ... ; point_symmetry char '[CD][1-9]|[CD][1-9][0-9]*|T|O|I' ; Encodes point symmetry as Cn, Dn, T, O, or I (case sensitive), where n is a positive integer. ; asym_id char '[A-Za-z0-9]+' ; A single chain or asym ids. ; id_list char '[A-Za-z0-9]+(,[A-Za-z0-9]+)*' ; A list of comma separated chain or asym ids. ; id_list_spc char '[ \t]*[A-Za-z0-9]+([ \t]*,[ \t]*[A-Za-z0-9]+)*[ \t]*' ; A list of comma separated chain or asym ids with optional spaces. ; 3x4_matrices char '(((([ \t]*-?(([0-9]+)[.]?|([0-9]*[.][0-9]+))([(][0-9]+[)])?([eE][+-]?[0-9]+)? +){3})?(-?(([0-9]+)[.]?|([0-9]*[.][0-9]+))([(][0-9]+[)])?([eE][+-]?[0-9]+)? *\n([\t ]*\n)*)){3})*((([ \t]*-?(([0-9]+)[.]?|([0-9]*[.][0-9]+))([(][0-9]+[)])?([eE][+-]?[0-9]+)? +){3})?(-?(([0-9]+)[.]?|([0-9]*[.][0-9]+))([(][0-9]+[)])?([eE][+-]?[0-9]+)? *\n([\t ]*\n)*)){2}((([ \t]*-?(([0-9]+)[.]?|([0-9]*[.][0-9]+))([(][0-9]+[)])?([eE][+-]?[0-9]+)? +){3})(-?(([0-9]+)[.]?|([0-9]*[.][0-9]+))([(][0-9]+[)])?([eE][+-]?[0-9]+)? *\n?([\t ]*\n)*))[ \t]*' ; A set of 3x4 matrices separated by spaces and newlines on each line. Final newline optional. Optional spaces at start of lines. Blank lines accepted. ; pdbx_related_db_id char '[][_.:"&<>()/\{}'`~!@#$%A-Za-z0-9*|+-]*' ; code item types/single words without semi-colon or comma ... ; pdbx_PDB_obsoleted_db_id char '[0-9][0-9a-zA-Z]{3}( [0-9][0-9a-zA-Z]{3})*' ; List of PDB ids for obsoletion - space separated ; positive_int numb '[1-9][0-9]*' 'Positive integers (1,2,3,..)' emd_id char 'EMD-[0-9]{4,}' 'EMDB code' pdb_id char '[1-9][A-Z0-9][A-Z0-9][A-Z0-9]' 'PDB code (upper cases)' point_group char '(C[1-9][0-9]*|D[2-9]|D[1-9][0-9]+|O|T|I)' 'Point group symmetry in Schoenflies notation' point_group_helical char '[CD][1-9][0-9]*' 'Point group symmetry for helices in Schoenflies notation' boolean char 'YES|NO' 'Boolean type' #author char "[A-Za-z '\-]+,\s+([A-Z\-]+\.)+$" 'Author name in PDB format: Taylor, C.A.' author char "[A-Za-z0-9_]+(( |-|'|\. )[A-Za-z0-9_]+)*( Jr.| III)?, [A-Za-z0-9_]\.(-?[A-Za-z0-9_]+\.)*$" 'Author name in PDB format: Taylor, C.A.' orcid_id char "[0-9]{4}-[0-9]{4}-[0-9]{4}-([0-9]{3}X|[0-9]{4})" 'ORCID pattern - dddd-dddd-dddd-dddd|dddX' symmetry_operation char '[-+0-9XxYyZ/ ]+,[-+0-9XxYyZ/ ]+,[-+0-9XxYyZ/ ]+' 'Allowed characters for use in symmetry operation such as 1/2-x,y,1/2-z' sequence_dep char '[a-zA-Z0-9\t \r\n\v\f\(\)]+$' 'Deposition specific one letter code' date_dep char '([1-9][0-9](([02468][048])|([13579][26]))-02-29)|[1-9][0-9][0-9][0-9]-((((0[1-9])|(1[0-2]))-((0[1-9])|(1[0-9])|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30))))' 'Deposition specific date with better checking' # For citation, simpler case due to legacy data citation_doi char '10\..*' 'Citation DOI specification.' exp_data_doi char '10\.[0-9]{4,9}/[-._;()/:A-Za-z0-9]+' 'Experimental dataset DOI' deposition_email uchar '[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9.-]+' 'code item types/single words (case insensitive) ...' ##################### ## ITEM_UNITS_LIST ## ##################### loop_ _item_units_list.code _item_units_list.detail # 'metres' 'metres (metres)' 'centimetres' 'centimetres (metres * 10^( -2)^)' 'millimetres' 'millimetres (metres * 10^( -3)^)' 'micrometres' 'micrometres (metres * 10^( -6)^)' 'nanometres' 'nanometres (metres * 10^( -9)^)' 'nanometers' 'nanometers (metres * 10^( -9)^)' 'angstroms' 'Angstroms (metres * 10^(-10)^)' 'picometres' 'picometres (metres * 10^(-12)^)' 'femtometres' 'femtometres (metres * 10^(-15)^)' # 'reciprocal_metres' 'reciprocal metres (metres^(-1)^)' 'reciprocal_centimetres' 'reciprocal centimetres ((metres * 10^( -2))^(-1))' 'reciprocal_millimetres' 'reciprocal millimetres ((metres * 10^( -3)^)^(-1)^)' 'reciprocal_nanometres' 'reciprocal nanometres ((metres * 10^( -9)^)^(-1)^)' 'reciprocal_angstroms' 'reciprocal angstroms ((metres * 10^(-10)^)^(-1)^)' 'reciprocal_picometres' 'reciprocal picometres ((metres * 10^(-12)^)^(-1)^)' # 'micrometres_squared' 'micrometres squared (metres * 10^( -6)^)^2^' 'nanometres_squared' 'nanometres squared (metres * 10^( -9)^)^2^' 'angstroms_squared' 'Angstroms squared (metres * 10^(-10)^)^2^' '8pi2_angstroms_squared' '8pi^2^ * Angstroms squared (metres * 10^(-10)^)^2^' 'picometres_squared' 'picometres squared (metres * 10^(-12)^)^2^' # 'nanometres_cubed' 'nanometres cubed (metres * 10^( -9)^)^3^' 'angstroms_cubed' 'Angstroms cubed (metres * 10^(-10)^)^3^' 'picometres_cubed' 'picometres cubed (metres * 10^(-12)^)^3^' # 'kilopascals' 'kilopascals' 'gigapascals' 'gigapascals' # 'hours' 'hours' 'minutes' 'minutes' 'seconds' 'seconds' 'microseconds' 'microseconds (seconds * 10^( -6)^)' 'femtoseconds' 'femtoseconds (seconds * 10^( -15)^)' # 'degrees' 'degrees (of arc)' 'milliradians' 'milliradians (of arc)' # 'degrees_per_minute' 'degrees (of arc) per minute' # 'celsius' 'degrees (of temperature) Celsius' 'kelvins' 'degrees (of temperature) Kelvin' # 'electrons' 'electrons' # 'electrons_squared' 'electrons squared' # 'electrons_per_nanometres_cubed' ; electrons per nanometres cubed (electrons/(metres * 10^( -9)^)^(-3)^) ; 'electrons_per_angstroms_cubed' ; electrons per Angstroms cubed (electrons/(metres * 10^(-10)^)^(-3)^) ; 'electrons_per_picometres_cubed' ; electrons per picometres cubed (electrons/(metres * 10^(-12)^)^(-3)^) ; 'ions_per_cm_squared_per_sec' ; ions per centimetre squared per second (ions/(meters * 10^(-2)^)^(-2)/second^) ; 'kilowatts' 'kilowatts' 'milliamperes' 'milliamperes' 'kilovolts' 'kilovolts' 'volts' 'volts' # 'arbitrary' ; arbitrary system of units. ; # 'angstroms_degrees' 'Angstroms * degrees' # 'degrees_squared' 'degrees squared' # 'mg_per_ml' 'milliliter per milligram' # 'ml_per_min' 'milliliters per minute' 'microliters_per_min' 'microliters per minute' # 'milliliters' 'liter / 1000' # 'milligrams' 'grams / 1000' # 'megadaltons' 'megadaltons' 'kilodaltons' 'kilodaltons' "kilodaltons/nanometer" "kilodaltons/nanometer" # 'microns_squared' 'micrometres squared (metres * 10^( -6)^)^2^' 'microns' 'micrometres (metres * 10^( -6)^)' # 'electrons_angstrom_squared' 'electrons square Angstrom' 'electron_volts' 'electron volts' 'kiloelectron_volts' 'KeV (electron volts * 10^( 3)^)' # 'mg/ml' 'mg per milliliter' 'millimolar' 'millimolar' 'megagrams_per_cubic_metre' 'megagrams per cubic metre' 'pixels_per_millimetre' 'pixels per millimetre' 'counts' 'counts' 'counts_per_photon' 'counts per photon' 'pascals' 'pascals' 'teraphotons_per_pulse' '(photons * 10^( 12)^) per pulse' 'joules' 'Joules' 'microjoules' 'joules * 10^( -6)^' 'hertz' 'reciprocal seconds' # loop_ _item_units_conversion.from_code _item_units_conversion.to_code _item_units_conversion.operator _item_units_conversion.factor ### 'metres' 'centimetres' '*' 1.0E+02 'metres' 'millimetres' '*' 1.0E+03 'metres' 'nanometres' '*' 1.0E+09 'metres' 'angstroms' '*' 1.0E+10 'metres' 'picometres' '*' 1.0E+12 'metres' 'femtometres' '*' 1.0E+15 'centimetres' 'millimetres' '*' 1.0E+01 'centimetres' 'nanometres' '*' 1.0E+07 'centimetres' 'angstroms' '*' 1.0E+08 'centimetres' 'picometres' '*' 1.0E+10 'centimetres' 'femtometres' '*' 1.0E+13 # 'millimetres' 'centimetres' '*' 1.0E-01 'millimetres' 'nanometres' '*' 1.0E+06 'millimetres' 'angstroms' '*' 1.0E+07 'millimetres' 'picometres' '*' 1.0E+09 'millimetres' 'femtometres' '*' 1.0E+12 # 'nanometres' 'centimetres' '*' 1.0E-07 'nanometres' 'millimetres' '*' 1.0E-06 'nanometres' 'angstroms' '*' 1.0E+01 'nanometres' 'picometres' '*' 1.0E+03 'nanometres' 'femtometres' '*' 1.0E+06 # 'angstroms' 'centimetres' '*' 1.0E-08 'angstroms' 'millimetres' '*' 1.0E-07 'angstroms' 'nanometres' '*' 1.0E-01 'angstroms' 'picometres' '*' 1.0E+02 'angstroms' 'femtometres' '*' 1.0E+05 # 'picometres' 'centimetres' '*' 1.0E-10 'picometres' 'millimetres' '*' 1.0E-09 'picometres' 'nanometres' '*' 1.0E-03 'picometres' 'angstroms' '*' 1.0E-02 'picometres' 'femtometres' '*' 1.0E+03 # 'femtometres' 'centimetres' '*' 1.0E-13 'femtometres' 'millimetres' '*' 1.0E-12 'femtometres' 'nanometres' '*' 1.0E-06 'femtometres' 'angstroms' '*' 1.0E-05 'femtometres' 'picometres' '*' 1.0E-03 ### 'reciprocal_centimetres' 'reciprocal_millimetres' '*' 1.0E-01 'reciprocal_centimetres' 'reciprocal_nanometres' '*' 1.0E-07 'reciprocal_centimetres' 'reciprocal_angstroms' '*' 1.0E-08 'reciprocal_centimetres' 'reciprocal_picometres' '*' 1.0E-10 # 'reciprocal_millimetres' 'reciprocal_centimetres' '*' 1.0E+01 'reciprocal_millimetres' 'reciprocal_nanometres' '*' 1.0E-06 'reciprocal_millimetres' 'reciprocal_angstroms' '*' 1.0E-07 'reciprocal_millimetres' 'reciprocal_picometres' '*' 1.0E-09 # 'reciprocal_nanometres' 'reciprocal_centimetres' '*' 1.0E+07 'reciprocal_nanometres' 'reciprocal_millimetres' '*' 1.0E+06 'reciprocal_nanometres' 'reciprocal_angstroms' '*' 1.0E-01 'reciprocal_nanometres' 'reciprocal_picometres' '*' 1.0E-03 # 'reciprocal_angstroms' 'reciprocal_centimetres' '*' 1.0E+08 'reciprocal_angstroms' 'reciprocal_millimetres' '*' 1.0E+07 'reciprocal_angstroms' 'reciprocal_nanometres' '*' 1.0E+01 'reciprocal_angstroms' 'reciprocal_picometres' '*' 1.0E-02 # 'reciprocal_picometres' 'reciprocal_centimetres' '*' 1.0E+10 'reciprocal_picometres' 'reciprocal_millimetres' '*' 1.0E+09 'reciprocal_picometres' 'reciprocal_nanometres' '*' 1.0E+03 'reciprocal_picometres' 'reciprocal_angstroms' '*' 1.0E+01 ### 'nanometres_squared' 'angstroms_squared' '*' 1.0E+02 'nanometres_squared' 'picometres_squared' '*' 1.0E+06 # 'angstroms_squared' 'nanometres_squared' '*' 1.0E-02 'angstroms_squared' 'picometres_squared' '*' 1.0E+04 'angstroms_squared' '8pi2_angstroms_squared' '*' 78.9568 # 'picometres_squared' 'nanometres_squared' '*' 1.0E-06 'picometres_squared' 'angstroms_squared' '*' 1.0E-04 ### 'nanometres_cubed' 'angstroms_cubed' '*' 1.0E+03 'nanometres_cubed' 'picometres_cubed' '*' 1.0E+09 # 'angstroms_cubed' 'nanometres_cubed' '*' 1.0E-03 'angstroms_cubed' 'picometres_cubed' '*' 1.0E+06 # 'picometres_cubed' 'nanometres_cubed' '*' 1.0E-09 'picometres_cubed' 'angstroms_cubed' '*' 1.0E-06 ### 'kilopascals' 'gigapascals' '*' 1.0E-06 'gigapascals' 'kilopascals' '*' 1.0E+06 ### 'hours' 'minutes' '*' 6.0E+01 'hours' 'seconds' '*' 3.6E+03 'hours' 'microseconds' '*' 3.6E+09 # 'minutes' 'hours' '/' 6.0E+01 'minutes' 'seconds' '*' 6.0E+01 'minutes' 'microseconds' '*' 6.0E+07 # 'seconds' 'hours' '/' 3.6E+03 'seconds' 'minutes' '/' 6.0E+01 'seconds' 'microseconds' '*' 1.0E+06 # 'microseconds' 'hours' '/' 3.6E+09 'microseconds' 'minutes' '/' 6.0E+07 'microseconds' 'seconds' '/' 1.0E+06 ### 'celsius' 'kelvins' '-' 273.0 'kelvins' 'celsius' '+' 273.0 ### 'electrons_per_nanometres_cubed' 'electrons_per_angstroms_cubed' '*' 1.0E+03 'electrons_per_nanometres_cubed' 'electrons_per_picometres_cubed' '*' 1.0E+09 # 'electrons_per_angstroms_cubed' 'electrons_per_nanometres_cubed' '*' 1.0E-03 'electrons_per_angstroms_cubed' 'electrons_per_picometres_cubed' '*' 1.0E+06 # 'electrons_per_picometres_cubed' 'electrons_per_nanometres_cubed' '*' 1.0E-09 'electrons_per_picometres_cubed' 'electrons_per_angstroms_cubed' '*' 1.0E-06 ### ################## ## Conditionals ## ################## loop_ _pdbx_comparison_operator_list.code _pdbx_comparison_operator_list.description = Equal >= "greater or equal" != "Not equal" < "Less than" not_set "If not set" true "Always true" loop_ _pdbx_conditional_context_list.ordinal_id _pdbx_conditional_context_list.context_id _pdbx_conditional_context_list.target_item_name _pdbx_conditional_context_list.target_item_value _pdbx_conditional_context_list.cmp_op _pdbx_conditional_context_list.log_op 1 WWPDB_NOT_ACCEPT_GDPR_20210924 '_pdbx_database_status.date_accepted_terms_and_conditions' ? not_set ? 2 WWPDB_NOT_ACCEPT_GDPR_20210924 '_pdbx_database_status.date_accepted_terms_and_conditions' 2021-09-24 < or 3 WWPDB_NOT_PI '_pdbx_contact_author.role' ? not_set ? 4 WWPDB_NOT_PI '_pdbx_contact_author.role' 'principal investigator/group leader' != or 5 WWPDB_ALWAYS_SUPPRESS '_pdbx_contact_author.role' ? true ? ### EOF mmcif_pdbx-data.dic ########################################################################### # # File: mmcif_std-def-1.dic # # mmCIF Data Dictionary (standard defintions) # # This data dictionary contains the standard mmCIF data definitions. # # Defintion Section 1 # # ########################################################################### ############### ## ATOM_SITE ## ############### save_atom_site _category.description ; Data items in the ATOM_SITE category record details about the atom sites in a macromolecular crystal structure, such as the positional coordinates, atomic displacement parameters, magnetic moments and directions. The data items for describing anisotropic atomic displacement factors are only used if the corresponding items are not given in the ATOM_SITE_ANISOTROP category. wwPDB recommends wwPDB-assigned residue number, residue ID, and chain ID, _atom_site.auth_seq_id _atom_site.auth_comp_id, and _atom_site.auth_asym_id, respectively, to be used for publication materials. ; _category.id atom_site _category.mandatory_code no _category_key.name '_atom_site.id' loop_ _category_group.id 'inclusive_group' 'atom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _atom_site.group_PDB _atom_site.type_symbol _atom_site.label_atom_id _atom_site.label_comp_id _atom_site.label_asym_id _atom_site.label_seq_id _atom_site.label_alt_id _atom_site.Cartn_x _atom_site.Cartn_y _atom_site.Cartn_z _atom_site.occupancy _atom_site.B_iso_or_equiv _atom_site.footnote_id _atom_site.auth_seq_id _atom_site.id ATOM N N VAL A 11 . 25.369 30.691 11.795 1.00 17.93 . 11 1 ATOM C CA VAL A 11 . 25.970 31.965 12.332 1.00 17.75 . 11 2 ATOM C C VAL A 11 . 25.569 32.010 13.808 1.00 17.83 . 11 3 ATOM O O VAL A 11 . 24.735 31.190 14.167 1.00 17.53 . 11 4 ATOM C CB VAL A 11 . 25.379 33.146 11.540 1.00 17.66 . 11 5 ATOM C CG1 VAL A 11 . 25.584 33.034 10.030 1.00 18.86 . 11 6 ATOM C CG2 VAL A 11 . 23.933 33.309 11.872 1.00 17.12 . 11 7 ATOM N N THR A 12 . 26.095 32.930 14.590 1.00 18.97 4 12 8 ATOM C CA THR A 12 . 25.734 32.995 16.032 1.00 19.80 4 12 9 ATOM C C THR A 12 . 24.695 34.106 16.113 1.00 20.92 4 12 10 ATOM O O THR A 12 . 24.869 35.118 15.421 1.00 21.84 4 12 11 ATOM C CB THR A 12 . 26.911 33.346 17.018 1.00 20.51 4 12 12 ATOM O OG1 THR A 12 3 27.946 33.921 16.183 0.50 20.29 4 12 13 ATOM O OG1 THR A 12 4 27.769 32.142 17.103 0.50 20.59 4 12 14 ATOM C CG2 THR A 12 3 27.418 32.181 17.878 0.50 20.47 4 12 15 ATOM C CG2 THR A 12 4 26.489 33.778 18.426 0.50 20.00 4 12 16 ATOM N N ILE A 13 . 23.664 33.855 16.884 1.00 22.08 . 13 17 ATOM C CA ILE A 13 . 22.623 34.850 17.093 1.00 23.44 . 13 18 ATOM C C ILE A 13 . 22.657 35.113 18.610 1.00 25.77 . 13 19 ATOM O O ILE A 13 . 23.123 34.250 19.406 1.00 26.28 . 13 20 ATOM C CB ILE A 13 . 21.236 34.463 16.492 1.00 22.67 . 13 21 ATOM C CG1 ILE A 13 . 20.478 33.469 17.371 1.00 22.14 . 13 22 ATOM C CG2 ILE A 13 . 21.357 33.986 15.016 1.00 21.75 . 13 23 # - - - - data truncated for brevity - - - - HETATM C C1 APS C . 1 4.171 29.012 7.116 0.58 17.27 1 300 101 HETATM C C2 APS C . 1 4.949 27.758 6.793 0.58 16.95 1 300 102 HETATM O O3 APS C . 1 4.800 26.678 7.393 0.58 16.85 1 300 103 HETATM N N4 APS C . 1 5.930 27.841 5.869 0.58 16.43 1 300 104 # - - - - data truncated for brevity - - - - ; save_ save__atom_site.aniso_B[1][1] _item_description.description ; The [1][1] element of the anisotropic atomic displacement matrix B, which appears in the structure-factor term as: T = exp{-1/4 sum~i~[sum~j~(B^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. ; _item.name '_atom_site.aniso_B[1][1]' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_B[1][1]_esd' associated_esd '_atom_site.aniso_U[1][1]' conversion_constant '_atom_site_anisotrop.U[1][1]' conversion_constant '_atom_site.aniso_U[1][1]' alternate_exclusive '_atom_site_anisotrop.B[1][1]' alternate_exclusive '_atom_site_anisotrop.U[1][1]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site.aniso_B[1][1]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.aniso_B[1][1]. ; _item.name '_atom_site.aniso_B[1][1]_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_B[1][1]' associated_value '_atom_site.aniso_U[1][1]_esd' conversion_constant '_atom_site_anisotrop.U[1][1]_esd' conversion_constant '_atom_site.aniso_U[1][1]_esd' alternate_exclusive '_atom_site_anisotrop.B[1][1]_esd' alternate_exclusive '_atom_site_anisotrop.U[1][1]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site.aniso_B[1][2] _item_description.description ; The [1][2] element of the anisotropic atomic displacement matrix B, which appears in the structure-factor term as: T = exp{-1/4 sum~i~[sum~j~(B^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. ; _item.name '_atom_site.aniso_B[1][2]' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 _pdbx_item_description.name "_refine.aniso_B[1][2]" _pdbx_item_description.description "The [1][2] element of the matrix that defines the overall anisotropic displacement model if one was refined for this structure" loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_B[1][2]_esd' associated_esd '_atom_site.aniso_U[1][2]' conversion_constant '_atom_site_anisotrop.U[1][2]' conversion_constant '_atom_site.aniso_U[1][2]' alternate_exclusive '_atom_site_anisotrop.B[1][2]' alternate_exclusive '_atom_site_anisotrop.U[1][2]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site.aniso_B[1][2]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.aniso_B[1][2]. ; _item.name '_atom_site.aniso_B[1][2]_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_B[1][2]' associated_value '_atom_site.aniso_U[1][2]_esd' conversion_constant '_atom_site_anisotrop.U[1][2]_esd' conversion_constant '_atom_site.aniso_U[1][2]_esd' alternate_exclusive '_atom_site_anisotrop.B[1][2]_esd' alternate_exclusive '_atom_site_anisotrop.U[1][2]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site.aniso_B[1][3] _item_description.description ; The [1][3] element of the anisotropic atomic displacement matrix B, which appears in the structure-factor term as: T = exp{-1/4 sum~i~[sum~j~(B^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. ; _item.name '_atom_site.aniso_B[1][3]' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_B[1][3]_esd' associated_esd '_atom_site.aniso_U[1][3]' conversion_constant '_atom_site_anisotrop.U[1][3]' conversion_constant '_atom_site.aniso_U[1][3]' alternate_exclusive '_atom_site_anisotrop.B[1][3]' alternate_exclusive '_atom_site_anisotrop.U[1][3]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site.aniso_B[1][3]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.aniso_B[1][3]. ; _item.name '_atom_site.aniso_B[1][3]_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_B[1][3]' associated_value '_atom_site.aniso_U[1][3]_esd' conversion_constant '_atom_site_anisotrop.U[1][3]_esd' conversion_constant '_atom_site.aniso_U[1][3]_esd' alternate_exclusive '_atom_site_anisotrop.B[1][3]_esd' alternate_exclusive '_atom_site_anisotrop.U[1][3]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site.aniso_B[2][2] _item_description.description ; The [2][2] element of the anisotropic atomic displacement matrix B, which appears in the structure-factor term as: T = exp{-1/4 sum~i~[sum~j~(B^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. ; _item.name '_atom_site.aniso_B[2][2]' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_B[2][2]_esd' associated_esd '_atom_site.aniso_U[2][2]' conversion_constant '_atom_site_anisotrop.U[2][2]' conversion_constant '_atom_site.aniso_U[2][2]' alternate_exclusive '_atom_site_anisotrop.B[2][2]' alternate_exclusive '_atom_site_anisotrop.U[2][2]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site.aniso_B[2][2]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.aniso_B[2][2]. ; _item.name '_atom_site.aniso_B[2][2]_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_B[2][2]' associated_value '_atom_site.aniso_U[2][2]_esd' conversion_constant '_atom_site_anisotrop.U[2][2]_esd' conversion_constant '_atom_site.aniso_U[2][2]_esd' alternate_exclusive '_atom_site_anisotrop.B[2][2]_esd' alternate_exclusive '_atom_site_anisotrop.U[2][2]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site.aniso_B[2][3] _item_description.description ; The [2][3] element of the anisotropic atomic displacement matrix B, which appears in the structure-factor term as: T = exp{-1/4 sum~i~[sum~j~(B^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. ; _item.name '_atom_site.aniso_B[2][3]' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_B[2][3]_esd' associated_esd '_atom_site.aniso_U[2][3]' conversion_constant '_atom_site_anisotrop.U[2][3]' conversion_constant '_atom_site.aniso_U[2][3]' alternate_exclusive '_atom_site_anisotrop.B[2][3]' alternate_exclusive '_atom_site_anisotrop.U[2][3]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site.aniso_B[2][3]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.aniso_B[2][3]. ; _item.name '_atom_site.aniso_B[2][3]_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_B[2][3]' associated_value '_atom_site.aniso_U[2][3]_esd' conversion_constant '_atom_site_anisotrop.U[2][3]_esd' conversion_constant '_atom_site.aniso_U[2][3]_esd' alternate_exclusive '_atom_site_anisotrop.B[2][3]_esd' alternate_exclusive '_atom_site_anisotrop.U[2][3]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site.aniso_B[3][3] _item_description.description ; The [3][3] element of the anisotropic atomic displacement matrix B, which appears in the structure-factor term as: T = exp{-1/4 sum~i~[sum~j~(B^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. ; _item.name '_atom_site.aniso_B[3][3]' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_B[3][3]_esd' associated_esd '_atom_site.aniso_U[3][3]' conversion_constant '_atom_site_anisotrop.U[3][3]' conversion_constant '_atom_site.aniso_U[3][3]' alternate_exclusive '_atom_site_anisotrop.B[3][3]' alternate_exclusive '_atom_site_anisotrop.U[3][3]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site.aniso_B[3][3]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.aniso_B[3][3]. ; _item.name '_atom_site.aniso_B[3][3]_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_B[3][3]' associated_value '_atom_site.aniso_U[3][3]_esd' conversion_constant '_atom_site_anisotrop.U[3][3]_esd' conversion_constant '_atom_site.aniso_U[3][3]_esd' alternate_exclusive '_atom_site_anisotrop.B[3][3]_esd' alternate_exclusive '_atom_site_anisotrop.U[3][3]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site.aniso_ratio _item_description.description ; Ratio of the maximum to minimum principal axes of displacement (thermal) ellipsoids. ; _item.name '_atom_site.aniso_ratio' _item.category_id atom_site _item.mandatory_code no _item_related.related_name '_atom_site_anisotrop.ratio' _item_related.function_code alternate_exclusive loop_ _item_range.maximum _item_range.minimum . 1.0 1.0 1.0 _item_type.code float save_ save__atom_site.aniso_U[1][1] _item_description.description ; The [1][1] element of the standard anisotropic atomic displacement matrix U, which appears in the structure-factor term as: T = exp{-2 pi^2^ sum~i~[sum~j~(U^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_atom_site.aniso_U[1][1]' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_U[1][1]_esd' associated_esd '_atom_site.aniso_B[1][1]' conversion_constant '_atom_site_anisotrop.B[1][1]' conversion_constant '_atom_site.aniso_B[1][1]' alternate_exclusive '_atom_site_anisotrop.B[1][1]' alternate_exclusive '_atom_site_anisotrop.U[1][1]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site.aniso_U[1][1]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.aniso_U[1][1]. ; _item.name '_atom_site.aniso_U[1][1]_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_U[1][1]' associated_value '_atom_site.aniso_B[1][1]_esd' conversion_constant '_atom_site_anisotrop.B[1][1]_esd' conversion_constant '_atom_site.aniso_B[1][1]_esd' alternate_exclusive '_atom_site_anisotrop.B[1][1]_esd' alternate_exclusive '_atom_site_anisotrop.U[1][1]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__atom_site.aniso_U[1][2] _item_description.description ; The [1][2] element of the standard anisotropic atomic displacement matrix U, which appears in the structure-factor term as: T = exp{-2 pi^2^ sum~i~[sum~j~(U^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_atom_site.aniso_U[1][2]' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_U[1][2]_esd' associated_esd '_atom_site.aniso_B[1][2]' conversion_constant '_atom_site_anisotrop.B[1][2]' conversion_constant '_atom_site.aniso_B[1][2]' alternate_exclusive '_atom_site_anisotrop.B[1][2]' alternate_exclusive '_atom_site_anisotrop.U[1][2]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site.aniso_U[1][2]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.aniso_U[1][2]. ; _item.name '_atom_site.aniso_U[1][2]_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_U[1][2]' associated_value '_atom_site.aniso_B[1][2]_esd' conversion_constant '_atom_site_anisotrop.B[1][2]_esd' conversion_constant '_atom_site.aniso_B[1][2]_esd' alternate_exclusive '_atom_site_anisotrop.B[1][2]_esd' alternate_exclusive '_atom_site_anisotrop.U[1][2]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__atom_site.aniso_U[1][3] _item_description.description ; The [1][3] element of the standard anisotropic atomic displacement matrix U, which appears in the structure-factor term as: T = exp{-2 pi^2^ sum~i~[sum~j~(U^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_atom_site.aniso_U[1][3]' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_U[1][3]_esd' associated_esd '_atom_site.aniso_B[1][3]' conversion_constant '_atom_site_anisotrop.B[1][3]' conversion_constant '_atom_site.aniso_B[1][3]' alternate_exclusive '_atom_site_anisotrop.B[1][3]' alternate_exclusive '_atom_site_anisotrop.U[1][3]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site.aniso_U[1][3]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.aniso_U[1][3]. ; _item.name '_atom_site.aniso_U[1][3]_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_U[1][3]' associated_value '_atom_site.aniso_B[1][3]_esd' conversion_constant '_atom_site_anisotrop.B[1][3]_esd' conversion_constant '_atom_site.aniso_B[1][3]_esd' alternate_exclusive '_atom_site_anisotrop.B[1][3]_esd' alternate_exclusive '_atom_site_anisotrop.U[1][3]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__atom_site.aniso_U[2][2] _item_description.description ; The [2][2] element of the standard anisotropic atomic displacement matrix U, which appears in the structure-factor term as: T = exp{-2 pi^2^ sum~i~[sum~j~(U^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_atom_site.aniso_U[2][2]' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_U[2][2]_esd' associated_esd '_atom_site.aniso_B[2][2]' conversion_constant '_atom_site_anisotrop.B[2][2]' conversion_constant '_atom_site.aniso_B[2][2]' alternate_exclusive '_atom_site_anisotrop.B[2][2]' alternate_exclusive '_atom_site_anisotrop.U[2][2]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site.aniso_U[2][2]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.aniso_U[2][2]. ; _item.name '_atom_site.aniso_U[2][2]_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_U[2][2]' associated_value '_atom_site.aniso_B[2][2]_esd' conversion_constant '_atom_site_anisotrop.B[2][2]_esd' conversion_constant '_atom_site.aniso_B[2][2]_esd' alternate_exclusive '_atom_site_anisotrop.B[2][2]_esd' alternate_exclusive '_atom_site_anisotrop.U[2][2]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__atom_site.aniso_U[2][3] _item_description.description ; The [2][3] element of the standard anisotropic atomic displacement matrix U, which appears in the structure-factor term as: T = exp{-2 pi^2^ sum~i~[sum~j~(U^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_atom_site.aniso_U[2][3]' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_U[2][3]_esd' associated_esd '_atom_site.aniso_B[2][3]' conversion_constant '_atom_site_anisotrop.B[2][3]' conversion_constant '_atom_site.aniso_B[2][3]' alternate_exclusive '_atom_site_anisotrop.B[2][3]' alternate_exclusive '_atom_site_anisotrop.U[2][3]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site.aniso_U[2][3]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.aniso_U[2][3]. ; _item.name '_atom_site.aniso_U[2][3]_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_U[2][3]' associated_value '_atom_site.aniso_B[2][3]_esd' conversion_constant '_atom_site_anisotrop.B[2][3]_esd' conversion_constant '_atom_site.aniso_B[2][3]_esd' alternate_exclusive '_atom_site_anisotrop.B[2][3]_esd' alternate_exclusive '_atom_site_anisotrop.U[2][3]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__atom_site.aniso_U[3][3] _item_description.description ; The [3][3] element of the standard anisotropic atomic displacement matrix U, which appears in the structure-factor term as: T = exp{-2 pi^2^ sum~i~[sum~j~(U^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_atom_site.aniso_U[3][3]' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_U[3][3]_esd' associated_esd '_atom_site.aniso_B[3][3]' conversion_constant '_atom_site_anisotrop.B[3][3]' conversion_constant '_atom_site.aniso_B[3][3]' alternate_exclusive '_atom_site_anisotrop.B[3][3]' alternate_exclusive '_atom_site_anisotrop.U[3][3]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site.aniso_U[3][3]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.aniso_U[3][3]. ; _item.name '_atom_site.aniso_U[3][3]_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.aniso_U[3][3]' associated_value '_atom_site.aniso_B[3][3]_esd' conversion_constant '_atom_site_anisotrop.B[3][3]_esd' conversion_constant '_atom_site.aniso_B[3][3]_esd' alternate_exclusive '_atom_site_anisotrop.B[3][3]_esd' alternate_exclusive '_atom_site_anisotrop.U[3][3]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__atom_site.attached_hydrogens _item_description.description ; The number of hydrogen atoms attached to the atom at this site excluding any hydrogen atoms for which coordinates (measured or calculated) are given. ; _item.name '_atom_site.attached_hydrogens' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_attached_hydrogens' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value 0 loop_ _item_range.maximum _item_range.minimum 8 8 8 0 0 0 _item_type.code int loop_ _item_examples.case _item_examples.detail 2 'water oxygen' 1 'hydroxyl oxygen' 4 'ammonium nitrogen' save_ save__atom_site.auth_asym_id _item_description.description ; An alternative identifier for _atom_site.label_asym_id that may be provided by an author in order to match the identification used in the publication that describes the structure. ; loop_ _item.name _item.category_id _item.mandatory_code '_atom_site.auth_asym_id' atom_site yes '_geom_angle.atom_site_auth_asym_id_1' geom_angle no '_geom_angle.atom_site_auth_asym_id_2' geom_angle no '_geom_angle.atom_site_auth_asym_id_3' geom_angle no '_geom_bond.atom_site_auth_asym_id_1' geom_bond no '_geom_bond.atom_site_auth_asym_id_2' geom_bond no '_geom_contact.atom_site_auth_asym_id_1' geom_contact no '_geom_contact.atom_site_auth_asym_id_2' geom_contact no '_geom_hbond.atom_site_auth_asym_id_A' geom_hbond no '_geom_hbond.atom_site_auth_asym_id_D' geom_hbond no '_geom_hbond.atom_site_auth_asym_id_H' geom_hbond no '_geom_torsion.atom_site_auth_asym_id_1' geom_torsion no '_geom_torsion.atom_site_auth_asym_id_2' geom_torsion no '_geom_torsion.atom_site_auth_asym_id_3' geom_torsion no '_geom_torsion.atom_site_auth_asym_id_4' geom_torsion no '_struct_conf.beg_auth_asym_id' struct_conf no '_struct_conf.end_auth_asym_id' struct_conf no '_struct_conn.ptnr1_auth_asym_id' struct_conn no '_struct_conn.ptnr2_auth_asym_id' struct_conn no '_struct_mon_nucl.auth_asym_id' struct_mon_nucl no '_struct_mon_prot.auth_asym_id' struct_mon_prot no '_struct_mon_prot_cis.auth_asym_id' struct_mon_prot_cis no '_struct_sheet_range.beg_auth_asym_id' struct_sheet_range no '_struct_sheet_range.end_auth_asym_id' struct_sheet_range no '_struct_site_gen.auth_asym_id' struct_site_gen no loop_ _item_linked.child_name _item_linked.parent_name '_geom_angle.atom_site_auth_asym_id_1' '_atom_site.auth_asym_id' '_geom_angle.atom_site_auth_asym_id_2' '_atom_site.auth_asym_id' '_geom_angle.atom_site_auth_asym_id_3' '_atom_site.auth_asym_id' '_geom_bond.atom_site_auth_asym_id_1' '_atom_site.auth_asym_id' '_geom_bond.atom_site_auth_asym_id_2' '_atom_site.auth_asym_id' '_geom_contact.atom_site_auth_asym_id_1' '_atom_site.auth_asym_id' '_geom_contact.atom_site_auth_asym_id_2' '_atom_site.auth_asym_id' '_geom_hbond.atom_site_auth_asym_id_A' '_atom_site.auth_asym_id' '_geom_hbond.atom_site_auth_asym_id_D' '_atom_site.auth_asym_id' '_geom_hbond.atom_site_auth_asym_id_H' '_atom_site.auth_asym_id' '_geom_torsion.atom_site_auth_asym_id_1' '_atom_site.auth_asym_id' '_geom_torsion.atom_site_auth_asym_id_2' '_atom_site.auth_asym_id' '_geom_torsion.atom_site_auth_asym_id_3' '_atom_site.auth_asym_id' '_geom_torsion.atom_site_auth_asym_id_4' '_atom_site.auth_asym_id' '_struct_conf.beg_auth_asym_id' '_atom_site.auth_asym_id' '_struct_conf.end_auth_asym_id' '_atom_site.auth_asym_id' '_struct_conn.ptnr1_auth_asym_id' '_atom_site.auth_asym_id' '_struct_conn.ptnr2_auth_asym_id' '_atom_site.auth_asym_id' '_struct_mon_nucl.auth_asym_id' '_atom_site.auth_asym_id' '_struct_mon_prot.auth_asym_id' '_atom_site.auth_asym_id' '_struct_mon_prot_cis.auth_asym_id' '_atom_site.auth_asym_id' '_struct_sheet_range.beg_auth_asym_id' '_atom_site.auth_asym_id' '_struct_sheet_range.end_auth_asym_id' '_atom_site.auth_asym_id' '_struct_site_gen.auth_asym_id' '_atom_site.auth_asym_id' _item_sub_category.id mm_atom_site_auth_label _item_type.code code save_ save__atom_site.auth_atom_id _item_description.description ; An alternative identifier for _atom_site.label_atom_id that may be provided by an author in order to match the identification used in the publication that describes the structure. ; loop_ _item.name _item.category_id _item.mandatory_code '_atom_site.auth_atom_id' atom_site no '_geom_angle.atom_site_auth_atom_id_1' geom_angle no '_geom_angle.atom_site_auth_atom_id_2' geom_angle no '_geom_angle.atom_site_auth_atom_id_3' geom_angle no '_geom_bond.atom_site_auth_atom_id_1' geom_bond no '_geom_bond.atom_site_auth_atom_id_2' geom_bond no '_geom_contact.atom_site_auth_atom_id_1' geom_contact no '_geom_contact.atom_site_auth_atom_id_2' geom_contact no '_geom_hbond.atom_site_auth_atom_id_A' geom_hbond no '_geom_hbond.atom_site_auth_atom_id_D' geom_hbond no '_geom_hbond.atom_site_auth_atom_id_H' geom_hbond no '_geom_torsion.atom_site_auth_atom_id_1' geom_torsion no '_geom_torsion.atom_site_auth_atom_id_2' geom_torsion no '_geom_torsion.atom_site_auth_atom_id_3' geom_torsion no '_geom_torsion.atom_site_auth_atom_id_4' geom_torsion no '_struct_conn.ptnr1_auth_atom_id' struct_conn no '_struct_conn.ptnr2_auth_atom_id' struct_conn no '_struct_sheet_hbond.range_1_beg_auth_atom_id' struct_sheet_hbond no '_struct_sheet_hbond.range_1_end_auth_atom_id' struct_sheet_hbond no '_struct_sheet_hbond.range_2_beg_auth_atom_id' struct_sheet_hbond no '_struct_sheet_hbond.range_2_end_auth_atom_id' struct_sheet_hbond no '_struct_site_gen.auth_atom_id' struct_site_gen no loop_ _item_linked.child_name _item_linked.parent_name '_geom_angle.atom_site_auth_atom_id_1' '_atom_site.auth_atom_id' '_geom_angle.atom_site_auth_atom_id_2' '_atom_site.auth_atom_id' '_geom_angle.atom_site_auth_atom_id_3' '_atom_site.auth_atom_id' '_geom_bond.atom_site_auth_atom_id_1' '_atom_site.auth_atom_id' '_geom_bond.atom_site_auth_atom_id_2' '_atom_site.auth_atom_id' '_geom_contact.atom_site_auth_atom_id_1' '_atom_site.auth_atom_id' '_geom_contact.atom_site_auth_atom_id_2' '_atom_site.auth_atom_id' '_geom_hbond.atom_site_auth_atom_id_A' '_atom_site.auth_atom_id' '_geom_hbond.atom_site_auth_atom_id_D' '_atom_site.auth_atom_id' '_geom_hbond.atom_site_auth_atom_id_H' '_atom_site.auth_atom_id' '_geom_torsion.atom_site_auth_atom_id_1' '_atom_site.auth_atom_id' '_geom_torsion.atom_site_auth_atom_id_2' '_atom_site.auth_atom_id' '_geom_torsion.atom_site_auth_atom_id_3' '_atom_site.auth_atom_id' '_geom_torsion.atom_site_auth_atom_id_4' '_atom_site.auth_atom_id' '_struct_conn.ptnr1_auth_atom_id' '_atom_site.auth_atom_id' '_struct_conn.ptnr2_auth_atom_id' '_atom_site.auth_atom_id' '_struct_sheet_hbond.range_1_beg_auth_atom_id' '_atom_site.auth_atom_id' '_struct_sheet_hbond.range_1_end_auth_atom_id' '_atom_site.auth_atom_id' '_struct_sheet_hbond.range_2_beg_auth_atom_id' '_atom_site.auth_atom_id' '_struct_sheet_hbond.range_2_end_auth_atom_id' '_atom_site.auth_atom_id' '_struct_site_gen.auth_atom_id' '_atom_site.auth_atom_id' _item_sub_category.id mm_atom_site_auth_label _item_type.code atcode save_ save__atom_site.auth_comp_id _item_description.description ; An alternative identifier for _atom_site.label_comp_id that may be provided by an author in order to match the identification used in the publication that describes the structure. ; loop_ _item.name _item.category_id _item.mandatory_code '_atom_site.auth_comp_id' atom_site no '_geom_angle.atom_site_auth_comp_id_1' geom_angle no '_geom_angle.atom_site_auth_comp_id_2' geom_angle no '_geom_angle.atom_site_auth_comp_id_3' geom_angle no '_geom_bond.atom_site_auth_comp_id_1' geom_bond no '_geom_bond.atom_site_auth_comp_id_2' geom_bond no '_geom_contact.atom_site_auth_comp_id_1' geom_contact no '_geom_contact.atom_site_auth_comp_id_2' geom_contact no '_geom_hbond.atom_site_auth_comp_id_A' geom_hbond no '_geom_hbond.atom_site_auth_comp_id_D' geom_hbond no '_geom_hbond.atom_site_auth_comp_id_H' geom_hbond no '_geom_torsion.atom_site_auth_comp_id_1' geom_torsion no '_geom_torsion.atom_site_auth_comp_id_2' geom_torsion no '_geom_torsion.atom_site_auth_comp_id_3' geom_torsion no '_geom_torsion.atom_site_auth_comp_id_4' geom_torsion no '_struct_conf.beg_auth_comp_id' struct_conf no '_struct_conf.end_auth_comp_id' struct_conf no '_struct_conn.ptnr1_auth_comp_id' struct_conn no '_struct_conn.ptnr2_auth_comp_id' struct_conn no '_struct_mon_nucl.auth_comp_id' struct_mon_nucl no '_struct_mon_prot.auth_comp_id' struct_mon_prot no '_struct_mon_prot_cis.auth_comp_id' struct_mon_prot_cis no '_struct_sheet_range.beg_auth_comp_id' struct_sheet_range no '_struct_sheet_range.end_auth_comp_id' struct_sheet_range no '_struct_site_gen.auth_comp_id' struct_site_gen no loop_ _item_linked.child_name _item_linked.parent_name '_geom_angle.atom_site_auth_comp_id_1' '_atom_site.auth_comp_id' '_geom_angle.atom_site_auth_comp_id_2' '_atom_site.auth_comp_id' '_geom_angle.atom_site_auth_comp_id_3' '_atom_site.auth_comp_id' '_geom_bond.atom_site_auth_comp_id_1' '_atom_site.auth_comp_id' '_geom_bond.atom_site_auth_comp_id_2' '_atom_site.auth_comp_id' '_geom_contact.atom_site_auth_comp_id_1' '_atom_site.auth_comp_id' '_geom_contact.atom_site_auth_comp_id_2' '_atom_site.auth_comp_id' '_geom_hbond.atom_site_auth_comp_id_A' '_atom_site.auth_comp_id' '_geom_hbond.atom_site_auth_comp_id_D' '_atom_site.auth_comp_id' '_geom_hbond.atom_site_auth_comp_id_H' '_atom_site.auth_comp_id' '_geom_torsion.atom_site_auth_comp_id_1' '_atom_site.auth_comp_id' '_geom_torsion.atom_site_auth_comp_id_2' '_atom_site.auth_comp_id' '_geom_torsion.atom_site_auth_comp_id_3' '_atom_site.auth_comp_id' '_geom_torsion.atom_site_auth_comp_id_4' '_atom_site.auth_comp_id' '_struct_conf.beg_auth_comp_id' '_atom_site.auth_comp_id' '_struct_conf.end_auth_comp_id' '_atom_site.auth_comp_id' '_struct_conn.ptnr1_auth_comp_id' '_atom_site.auth_comp_id' '_struct_conn.ptnr2_auth_comp_id' '_atom_site.auth_comp_id' '_struct_mon_nucl.auth_comp_id' '_atom_site.auth_comp_id' '_struct_mon_prot.auth_comp_id' '_atom_site.auth_comp_id' '_struct_mon_prot_cis.auth_comp_id' '_atom_site.auth_comp_id' '_struct_sheet_range.beg_auth_comp_id' '_atom_site.auth_comp_id' '_struct_sheet_range.end_auth_comp_id' '_atom_site.auth_comp_id' '_struct_site_gen.auth_comp_id' '_atom_site.auth_comp_id' _item_sub_category.id mm_atom_site_auth_label _item_type.code code save_ save__atom_site.auth_seq_id _item_description.description ; An alternative identifier for _atom_site.label_seq_id that may be provided by an author in order to match the identification used in the publication that describes the structure. Note that this is not necessarily a number, that the values do not have to be positive, and that the value does not have to correspond to the value of _atom_site.label_seq_id. The value of _atom_site.label_seq_id is required to be a sequential list of positive integers. The author may assign values to _atom_site.auth_seq_id in any desired way. For instance, the values may be used to relate this structure to a numbering scheme in a homologous structure, including sequence gaps or insertion codes. Alternatively, a scheme may be used for a truncated polymer that maintains the numbering scheme of the full length polymer. In all cases, the scheme used here must match the scheme used in the publication that describes the structure. ; loop_ _item.name _item.category_id _item.mandatory_code '_atom_site.auth_seq_id' atom_site no '_geom_angle.atom_site_auth_seq_id_1' geom_angle no '_geom_angle.atom_site_auth_seq_id_2' geom_angle no '_geom_angle.atom_site_auth_seq_id_3' geom_angle no '_geom_bond.atom_site_auth_seq_id_1' geom_bond no '_geom_bond.atom_site_auth_seq_id_2' geom_bond no '_geom_contact.atom_site_auth_seq_id_1' geom_contact no '_geom_contact.atom_site_auth_seq_id_2' geom_contact no '_geom_hbond.atom_site_auth_seq_id_A' geom_hbond no '_geom_hbond.atom_site_auth_seq_id_D' geom_hbond no '_geom_hbond.atom_site_auth_seq_id_H' geom_hbond no '_geom_torsion.atom_site_auth_seq_id_1' geom_torsion no '_geom_torsion.atom_site_auth_seq_id_2' geom_torsion no '_geom_torsion.atom_site_auth_seq_id_3' geom_torsion no '_geom_torsion.atom_site_auth_seq_id_4' geom_torsion no '_struct_conf.beg_auth_seq_id' struct_conf no '_struct_conf.end_auth_seq_id' struct_conf no '_struct_conn.ptnr1_auth_seq_id' struct_conn no '_struct_conn.ptnr2_auth_seq_id' struct_conn no '_struct_mon_nucl.auth_seq_id' struct_mon_nucl no '_struct_mon_prot.auth_seq_id' struct_mon_prot no '_struct_mon_prot_cis.auth_seq_id' struct_mon_prot_cis no '_struct_sheet_hbond.range_1_beg_auth_seq_id' struct_sheet_hbond no '_struct_sheet_hbond.range_1_end_auth_seq_id' struct_sheet_hbond no '_struct_sheet_hbond.range_2_beg_auth_seq_id' struct_sheet_hbond no '_struct_sheet_hbond.range_2_end_auth_seq_id' struct_sheet_hbond no '_struct_sheet_range.beg_auth_seq_id' struct_sheet_range no '_struct_sheet_range.end_auth_seq_id' struct_sheet_range no '_struct_site_gen.auth_seq_id' struct_site_gen no loop_ _item_linked.child_name _item_linked.parent_name '_geom_angle.atom_site_auth_seq_id_1' '_atom_site.auth_seq_id' '_geom_angle.atom_site_auth_seq_id_2' '_atom_site.auth_seq_id' '_geom_angle.atom_site_auth_seq_id_3' '_atom_site.auth_seq_id' '_geom_bond.atom_site_auth_seq_id_1' '_atom_site.auth_seq_id' '_geom_bond.atom_site_auth_seq_id_2' '_atom_site.auth_seq_id' '_geom_contact.atom_site_auth_seq_id_1' '_atom_site.auth_seq_id' '_geom_contact.atom_site_auth_seq_id_2' '_atom_site.auth_seq_id' '_geom_hbond.atom_site_auth_seq_id_A' '_atom_site.auth_seq_id' '_geom_hbond.atom_site_auth_seq_id_D' '_atom_site.auth_seq_id' '_geom_hbond.atom_site_auth_seq_id_H' '_atom_site.auth_seq_id' '_geom_torsion.atom_site_auth_seq_id_1' '_atom_site.auth_seq_id' '_geom_torsion.atom_site_auth_seq_id_2' '_atom_site.auth_seq_id' '_geom_torsion.atom_site_auth_seq_id_3' '_atom_site.auth_seq_id' '_geom_torsion.atom_site_auth_seq_id_4' '_atom_site.auth_seq_id' '_struct_conf.beg_auth_seq_id' '_atom_site.auth_seq_id' '_struct_conf.end_auth_seq_id' '_atom_site.auth_seq_id' '_struct_conn.ptnr1_auth_seq_id' '_atom_site.auth_seq_id' '_struct_conn.ptnr2_auth_seq_id' '_atom_site.auth_seq_id' '_struct_mon_nucl.auth_seq_id' '_atom_site.auth_seq_id' '_struct_mon_prot.auth_seq_id' '_atom_site.auth_seq_id' '_struct_mon_prot_cis.auth_seq_id' '_atom_site.auth_seq_id' '_struct_sheet_hbond.range_1_beg_auth_seq_id' '_atom_site.auth_seq_id' '_struct_sheet_hbond.range_1_end_auth_seq_id' '_atom_site.auth_seq_id' '_struct_sheet_hbond.range_2_beg_auth_seq_id' '_atom_site.auth_seq_id' '_struct_sheet_hbond.range_2_end_auth_seq_id' '_atom_site.auth_seq_id' '_struct_sheet_range.beg_auth_seq_id' '_atom_site.auth_seq_id' '_struct_sheet_range.end_auth_seq_id' '_atom_site.auth_seq_id' '_struct_site_gen.auth_seq_id' '_atom_site.auth_seq_id' _item_sub_category.id mm_atom_site_auth_label _item_type.code code save_ save__atom_site.B_equiv_geom_mean _item_description.description ; Equivalent isotropic atomic displacement parameter, B~eq~, in angstroms squared, calculated as the geometric mean of the anisotropic atomic displacement parameters. B~eq~ = (B~i~ B~j~ B~k~)^1/3^ B~n~ = the principal components of the orthogonalized B^ij^ The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. ; _item.name '_atom_site.B_equiv_geom_mean' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_B_equiv_geom_mean' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.B_equiv_geom_mean_esd' associated_esd '_atom_site.U_equiv_geom_mean' conversion_constant _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site.B_equiv_geom_mean_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.B_equiv_geom_mean. ; _item.name '_atom_site.B_equiv_geom_mean_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.B_equiv_geom_mean' associated_value '_atom_site.U_equiv_geom_mean' conversion_constant _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site.B_iso_or_equiv _item_description.description ; Isotropic atomic displacement parameter, or equivalent isotropic atomic displacement parameter, B~eq~, calculated from the anisotropic displacement parameters. B~eq~ = (1/3) sum~i~[sum~j~(B^ij^ A~i~ A~j~ a*~i~ a*~j~)] A = the real space cell lengths a* = the reciprocal space cell lengths B^ij^ = 8 pi^2^ U^ij^ Ref: Fischer, R. X. & Tillmanns, E. (1988). Acta Cryst. C44, 775-776. The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. Note - The particular type of ADP stored in this item is qualified by item _refine.pdbx_adp_type. ; _item.name '_atom_site.B_iso_or_equiv' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_B_iso_or_equiv' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # loop_ # _item_range.maximum # _item_range.minimum . 0.0 # 0.0 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.B_iso_or_equiv_esd' associated_esd '_atom_site.U_iso_or_equiv' conversion_constant _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site.B_iso_or_equiv_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.B_iso_or_equiv. ; _item.name '_atom_site.B_iso_or_equiv_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.B_iso_or_equiv' associated_value '_atom_site.U_iso_or_equiv_esd' conversion_constant _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site.calc_attached_atom _item_description.description ; The _atom_site.id of the atom site to which the 'geometry-calculated' atom site is attached. ; _item.name '_atom_site.calc_attached_atom' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_calc_attached_atom' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code code save_ save__atom_site.calc_flag _item_description.description ; A standard code to signal whether the site coordinates have been determined from the intensities or calculated from the geometry of surrounding sites, or have been assigned dummy values. The abbreviation 'c' may be used in place of 'calc'. ; _item.name '_atom_site.calc_flag' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_calc_flag' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value d _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail d 'determined from experimental measurements' calc 'calculated from molecular geometry' c 'abbreviation for "calc"' dum 'dummy site with meaningless coordinates' save_ save__atom_site.Cartn_x _item_description.description ; The x atom-site coordinate in angstroms specified according to a set of orthogonal Cartesian axes related to the cell axes as specified by the description given in _atom_sites.Cartn_transform_axes. ; _item.name '_atom_site.Cartn_x' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_Cartn_x' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_site.Cartn_y' '_atom_site.Cartn_z' _item_related.related_name '_atom_site.Cartn_x_esd' _item_related.function_code associated_esd _item_sub_category.id cartesian_coordinate _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__atom_site.Cartn_x_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.Cartn_x. ; _item.name '_atom_site.Cartn_x_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_atom_site.Cartn_y_esd' '_atom_site.Cartn_z_esd' _item_related.related_name '_atom_site.Cartn_x' _item_related.function_code associated_value _item_sub_category.id cartesian_coordinate_esd _item_type.code float _item_units.code angstroms save_ save__atom_site.Cartn_y _item_description.description ; The y atom-site coordinate in angstroms specified according to a set of orthogonal Cartesian axes related to the cell axes as specified by the description given in _atom_sites.Cartn_transform_axes. ; _item.name '_atom_site.Cartn_y' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_Cartn_y' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_site.Cartn_x' '_atom_site.Cartn_z' _item_related.related_name '_atom_site.Cartn_y_esd' _item_related.function_code associated_esd _item_sub_category.id cartesian_coordinate _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__atom_site.Cartn_y_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.Cartn_y. ; _item.name '_atom_site.Cartn_y_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_atom_site.Cartn_x_esd' '_atom_site.Cartn_z_esd' _item_related.related_name '_atom_site.Cartn_y' _item_related.function_code associated_value _item_sub_category.id cartesian_coordinate_esd _item_type.code float _item_units.code angstroms save_ save__atom_site.Cartn_z _item_description.description ; The z atom-site coordinate in angstroms specified according to a set of orthogonal Cartesian axes related to the cell axes as specified by the description given in _atom_sites.Cartn_transform_axes. ; _item.name '_atom_site.Cartn_z' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_Cartn_z' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_site.Cartn_x' '_atom_site.Cartn_y' _item_related.related_name '_atom_site.Cartn_z_esd' _item_related.function_code associated_esd _item_sub_category.id cartesian_coordinate _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__atom_site.Cartn_z_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.Cartn_z. ; _item.name '_atom_site.Cartn_z_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_atom_site.Cartn_x_esd' '_atom_site.Cartn_y_esd' _item_related.related_name '_atom_site.Cartn_z' _item_related.function_code associated_value _item_sub_category.id cartesian_coordinate_esd _item_type.code float _item_units.code angstroms save_ save__atom_site.chemical_conn_number _item_description.description ; This data item is a pointer to _chemical_conn_atom.number in the CHEMICAL_CONN_ATOM category. ; _item.name '_atom_site.chemical_conn_number' _item.mandatory_code no _item_aliases.alias_name '_atom_site_chemical_conn_number' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__atom_site.constraints _item_description.description ; A description of the constraints applied to parameters at this site during refinement. See also _atom_site.refinement_flags and _refine.ls_number_constraints. ; _item.name '_atom_site.constraints' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_constraints' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line _item_examples.case 'pop=1.0-pop(Zn3)' save_ save__atom_site.details _item_description.description ; A description of special aspects of this site. See also _atom_site.refinement_flags. ; _item.name '_atom_site.details' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_description' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'Ag/Si disordered' save_ save__atom_site.disorder_assembly _item_description.description ; A code which identifies a cluster of atoms that show long-range positional disorder but are locally ordered. Within each such cluster of atoms, _atom_site.disorder_group is used to identify the sites that are simultaneously occupied. This field is only needed if there is more than one cluster of disordered atoms showing independent local order. *** This data item would not in general be used in a macromolecular data block. *** ; _item.name '_atom_site.disorder_assembly' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_disorder_assembly' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code code save_ save__atom_site.disorder_group _item_description.description ; A code which identifies a group of positionally disordered atom sites that are locally simultaneously occupied. Atoms that are positionally disordered over two or more sites (e.g. the hydrogen atoms of a methyl group that exists in two orientations) can be assigned to two or more groups. Sites belonging to the same group are simultaneously occupied, but those belonging to different groups are not. A minus prefix (e.g. '-1') is used to indicate sites disordered about a special position. *** This data item would not in general be used in a macromolecular data block. *** ; _item.name '_atom_site.disorder_group' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_disorder_group' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value . _item_type.code code save_ save__atom_site.footnote_id _item_description.description ; The value of _atom_site.footnote_id must match an ID specified by _atom_sites_footnote.id in the ATOM_SITES_FOOTNOTE list. ; _item.name '_atom_site.footnote_id' _item.mandatory_code no _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site.footnote_id' save_ save__atom_site.fract_x _item_description.description ; The x coordinate of the atom-site position specified as a fraction of _cell.length_a. ; _item.name '_atom_site.fract_x' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_fract_x' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_site.fract_y' '_atom_site.fract_z' _item_related.related_name '_atom_site.fract_x_esd' _item_related.function_code associated_esd _item_sub_category.id fractional_coordinate _item_type.code float _item_type_conditions.code esd save_ save__atom_site.fract_x_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.fract_x. ; _item.name '_atom_site.fract_x_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_atom_site.fract_y_esd' '_atom_site.fract_z_esd' _item_related.related_name '_atom_site.fract_x' _item_related.function_code associated_value _item_sub_category.id fractional_coordinate_esd _item_type.code float save_ save__atom_site.fract_y _item_description.description ; The y coordinate of the atom-site position specified as a fraction of _cell.length_b. ; _item.name '_atom_site.fract_y' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_fract_y' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_site.fract_x' '_atom_site.fract_z' _item_related.related_name '_atom_site.fract_y_esd' _item_related.function_code associated_esd _item_sub_category.id fractional_coordinate _item_type.code float _item_type_conditions.code esd save_ save__atom_site.fract_y_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.fract_y. ; _item.name '_atom_site.fract_y_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_atom_site.fract_x_esd' '_atom_site.fract_z_esd' _item_related.related_name '_atom_site.fract_y' _item_related.function_code associated_value _item_sub_category.id fractional_coordinate_esd _item_type.code float save_ save__atom_site.fract_z _item_description.description ; The z coordinate of the atom-site position specified as a fraction of _cell.length_c. ; _item.name '_atom_site.fract_z' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_fract_z' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_site.fract_x' '_atom_site.fract_y' _item_related.related_name '_atom_site.fract_z_esd' _item_related.function_code associated_esd _item_sub_category.id fractional_coordinate _item_type.code float _item_type_conditions.code esd save_ save__atom_site.fract_z_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.fract_z. ; _item.name '_atom_site.fract_z_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_atom_site.fract_x_esd' '_atom_site.fract_y_esd' _item_related.related_name '_atom_site.fract_z' _item_related.function_code associated_value _item_sub_category.id fractional_coordinate_esd _item_type.code float save_ save__atom_site.group_PDB _item_description.description ; The group of atoms to which the atom site belongs. This data item is provided for compatibility with the original Protein Data Bank format, and only for that purpose. ; _item.name '_atom_site.group_PDB' _item.category_id atom_site _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value ATOM HETATM save_ save__atom_site.id _item_description.description ; The value of _atom_site.id must uniquely identify a record in the ATOM_SITE list. Note that this item need not be a number; it can be any unique identifier. This data item was introduced to provide compatibility between small-molecule and macromolecular CIFs. In a small-molecule CIF, _atom_site_label is the identifier for the atom. In a macromolecular CIF, the atom identifier is the aggregate of _atom_site.label_alt_id, _atom_site.label_asym_id, _atom_site.label_atom_id, _atom_site.label_comp_id and _atom_site.label_seq_id. For the two types of files to be compatible, a formal identifier for the category had to be introduced that was independent of the different modes of identifying the atoms. For compatibility with older CIFs, _atom_site_label is aliased to _atom_site.id. In general, this aggregate identifier does not uniquely identify an atom site as for non-polymers _atom_site.label_seq_id is '.'. ; loop_ _item.name _item.category_id _item.mandatory_code '_atom_site.id' atom_site yes '_atom_site_anisotrop.id' atom_site_anisotrop yes '_geom_angle.atom_site_id_1' geom_angle yes '_geom_angle.atom_site_id_2' geom_angle yes '_geom_angle.atom_site_id_3' geom_angle yes '_geom_bond.atom_site_id_1' geom_bond yes '_geom_bond.atom_site_id_2' geom_bond yes '_geom_contact.atom_site_id_1' geom_contact yes '_geom_contact.atom_site_id_2' geom_contact yes '_geom_hbond.atom_site_id_A' geom_hbond yes '_geom_hbond.atom_site_id_D' geom_hbond yes '_geom_hbond.atom_site_id_H' geom_hbond yes '_geom_torsion.atom_site_id_1' geom_torsion yes '_geom_torsion.atom_site_id_2' geom_torsion yes '_geom_torsion.atom_site_id_3' geom_torsion yes '_geom_torsion.atom_site_id_4' geom_torsion yes _item_aliases.alias_name '_atom_site_label' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_linked.child_name _item_linked.parent_name '_atom_site_anisotrop.id' '_atom_site.id' '_geom_angle.atom_site_id_1' '_atom_site.id' '_geom_angle.atom_site_id_2' '_atom_site.id' '_geom_angle.atom_site_id_3' '_atom_site.id' '_geom_bond.atom_site_id_1' '_atom_site.id' '_geom_bond.atom_site_id_2' '_atom_site.id' '_geom_contact.atom_site_id_1' '_atom_site.id' '_geom_contact.atom_site_id_2' '_atom_site.id' '_geom_hbond.atom_site_id_A' '_atom_site.id' '_geom_hbond.atom_site_id_D' '_atom_site.id' '_geom_hbond.atom_site_id_H' '_atom_site.id' '_geom_torsion.atom_site_id_1' '_atom_site.id' '_geom_torsion.atom_site_id_2' '_atom_site.id' '_geom_torsion.atom_site_id_3' '_atom_site.id' '_geom_torsion.atom_site_id_4' '_atom_site.id' _item_type.code code loop_ _item_examples.case '5' 'C12' 'Ca3g28' 'Fe3+17' 'H*251' 'boron2a' 'C_a_phe_83_a_0' 'Zn_Zn_301_A_0' save_ save__atom_site.label_alt_id _item_description.description ; A place holder to indicate alternate conformation. The alternate conformation can be an entire polymer chain, or several residues or partial residue (several atoms within one residue). If an atom is provided in more than one position, then a non-blank alternate location indicator must be used for each of the atomic positions. ; _item.name '_atom_site.label_alt_id' _item.mandatory_code yes _item_sub_category.id mm_atom_site_label _item_type.code code save_ save__atom_site.label_asym_id _item_description.description ; A component of the identifier for this atom site. For further details, see the definition of the STRUCT_ASYM category. This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_atom_site.label_asym_id' _item.mandatory_code yes _item_sub_category.id mm_atom_site_label _item_type.code code _pdbx_item_description.name "_atom_site.label_asym_id" _pdbx_item_description.description "Enter chain ID of the ligand. Example: G" save_ save__atom_site.label_atom_id _item_description.description ; A component of the identifier for this atom site. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_atom_site.label_atom_id' _item.mandatory_code yes _item_sub_category.id mm_atom_site_label _item_type.code atcode save_ save__atom_site.label_comp_id _item_description.description ; A component of the identifier for this atom site. This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_atom_site.label_comp_id' _item.mandatory_code yes _item_sub_category.id mm_atom_site_label _item_type.code ucode save_ save__atom_site.label_entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_atom_site.label_entity_id' _item.category_id atom_site _item.mandatory_code yes _item_type.code code save_ save__atom_site.label_seq_id _item_description.description ; This data item is a pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_atom_site.label_seq_id' _item.mandatory_code yes _item_type.code int _pdbx_item_description.name '_atom_site.label_seq_id' _pdbx_item_description.description 'Enter residue number of the ligand. Example: 1125' save_ save__atom_site.occupancy _item_description.description ; The fraction of the atom type present at this site. The sum of the occupancies of all the atom types at this site may not exceed 1.0 unless it is a dummy site. ; _item.name '_atom_site.occupancy' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_occupancy' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1.0 # JDW 17-Apr-2003 - Unsupportable restriction. # loop_ # _item_range.maximum # _item_range.minimum 1.0 1.0 # 1.0 0.0 # 0.0 0.0 _item_related.related_name '_atom_site.occupancy_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd save_ save__atom_site.occupancy_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.occupancy. ; _item.name '_atom_site.occupancy_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_atom_site.occupancy' _item_related.function_code associated_value _item_type.code float save_ #save__atom_site.refinement_flags # _item_description.description #; A concatenated series of single-letter codes which indicate the # refinement restraints or constraints applied to this site. #; # _item.name '_atom_site.refinement_flags' # _item.category_id atom_site # _item.mandatory_code no # _item_aliases.alias_name '_atom_site_refinement_flags' # _item_aliases.dictionary cif_core.dic # _item_aliases.version 2.0.1 # _item_type.code ucode # loop_ # _item_enumeration.value # _item_enumeration.detail . # 'no refinement constraints' # S # 'special-position constraint on site' # G # 'rigid-group refinement of site' # R # 'riding atom site attached to non-riding atom' # D # 'distance or angle restraint on site' # T # 'thermal displacement constraints' # U # 'Uiso or Uij restraint (rigid bond)' # P # 'partial occupancy constraint' # save_ save__atom_site.restraints _item_description.description ; A description of restraints applied to specific parameters at this site during refinement. See also _atom_site.refinement_flags and _refine.ls_number_restraints. ; _item.name '_atom_site.restraints' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_restraints' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'restrained to planar ring' save_ save__atom_site.symmetry_multiplicity _item_description.description ; The multiplicity of a site due to the space-group symmetry as is given in International Tables for Crystallography Vol. A (2002). ; _item.name '_atom_site.symmetry_multiplicity' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_symmetry_multiplicity' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 192 192 192 1 1 1 _item_type.code int save_ save__atom_site.thermal_displace_type _item_description.description ; A standard code used to describe the type of atomic displacement parameters used for the site. ; _item.name '_atom_site.thermal_displace_type' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_thermal_displace_type' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail Uani 'anisotropic Uij' Uiso 'isotropic U' Uovl 'overall U' Umpe 'multipole expansion U' Bani 'anisotropic Bij' Biso 'isotropic B' Bovl 'overall B' save_ save__atom_site.type_symbol _item_description.description ; This data item is a pointer to _atom_type.symbol in the ATOM_TYPE category. ; _item.name '_atom_site.type_symbol' _item.category_id atom_site _item.mandatory_code yes _item_type.code code _item_aliases.alias_name '_atom_site_type_symbol' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__atom_site.U_equiv_geom_mean _item_description.description ; Equivalent isotropic atomic displacement parameter, U~eq~, in angstroms squared, calculated as the geometric mean of the anisotropic atomic displacement parameters. U~eq~ = (U~i~ U~j~ U~k~)^1/3^ U~n~ = the principal components of the orthogonalized U^ij^ ; _item.name '_atom_site.U_equiv_geom_mean' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_U_equiv_geom_mean' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 10.0 10.0 10.0 0.0 0.0 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.U_equiv_geom_mean_esd' associated_esd '_atom_site.B_equiv_geom_mean' conversion_constant _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site.U_equiv_geom_mean_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.U_equiv_geom_mean. ; _item.name '_atom_site.U_equiv_geom_mean_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.U_equiv_geom_mean' associated_value '_atom_site.B_equiv_geom_mean' conversion_constant _item_type.code float _item_units.code angstroms_squared save_ save__atom_site.U_iso_or_equiv _item_description.description ; Isotropic atomic displacement parameter, or equivalent isotropic atomic displacement parameter, U~eq~, calculated from anisotropic atomic displacement parameters. U~eq~ = (1/3) sum~i~[sum~j~(U^ij^ A~i~ A~j~ a*~i~ a*~j~)] A = the real space cell lengths a* = the reciprocal space cell lengths Ref: Fischer, R. X. & Tillmanns, E. (1988). Acta Cryst. C44, 775-776. ; _item.name '_atom_site.U_iso_or_equiv' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_U_iso_or_equiv' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 10.0 10.0 10.0 0.0 0.0 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.U_iso_or_equiv_esd' associated_esd '_atom_site.B_iso_or_equiv' conversion_constant _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site.U_iso_or_equiv_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site.U_iso_or_equiv. ; _item.name '_atom_site.U_iso_or_equiv_esd' _item.category_id atom_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site.U_iso_or_equiv' associated_value '_atom_site.B_iso_or_equiv_esd' conversion_constant _item_type.code float _item_units.code angstroms_squared save_ save__atom_site.Wyckoff_symbol _item_description.description ; The Wyckoff symbol (letter) as listed in the space-group tables of International Tables for Crystallography, Vol. A (2002). ; _item.name '_atom_site.Wyckoff_symbol' _item.category_id atom_site _item.mandatory_code no _item_aliases.alias_name '_atom_site_Wyckoff_symbol' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__atom_site.pdbx_atom_ambiguity _item_description.description ; The optional value of _atom_site.pdbx_atom_ambiguity atoms that differ only by stereochemistry but are not stereospecifically assigned by the experiment. ; _item.name '_atom_site.pdbx_atom_ambiguity' _item.category_id atom_site _item.mandatory_code no _item_type.code code loop_ _item_examples.case HDx% HDy% H5x H5y save_ ######################### ## ATOM_SITE_ANISOTROP ## ######################### save_atom_site_anisotrop _category.description ; Data items in the ATOM_SITE_ANISOTROP category record details about anisotropic displacement parameters. If the ATOM_SITE_ANISOTROP category is used for storing these data, the corresponding ATOM_SITE data items are not used. ; _category.id atom_site_anisotrop _category.mandatory_code no _category_key.name '_atom_site_anisotrop.id' loop_ _category_group.id 'inclusive_group' 'atom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on NDB structure BDL005 of Holbrook, Dickerson & Kim [Acta Cryst. (1985), B41, 255-262]. ; ; loop_ _atom_site_anisotrop.id _atom_site_anisotrop.type_symbol _atom_site_anisotrop.U[1][1] _atom_site_anisotrop.U[1][2] _atom_site_anisotrop.U[1][3] _atom_site_anisotrop.U[2][2] _atom_site_anisotrop.U[2][3] _atom_site_anisotrop.U[3][3] 1 O 8642 4866 7299 -342 -258 -1427 2 C 5174 4871 6243 -1885 -2051 -1377 3 C 6202 5020 4395 -1130 -556 -632 4 O 4224 4700 5046 1105 -161 345 5 C 8684 4688 4171 -1850 -433 -292 6 O 11226 5255 3532 -341 2685 1328 7 C 10214 2428 5614 -2610 -1940 902 8 C 4590 3488 5827 751 -770 986 9 N 5014 4434 3447 -17 -1593 539 # ---- abbreviated ---- ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__atom_site_anisotrop.B[1][1] _item_description.description ; The [1][1] element of the anisotropic atomic displacement matrix B, which appears in the structure-factor term as: T = exp{-1/4 sum~i~[sum~j~(B^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. ; _item.name '_atom_site_anisotrop.B[1][1]' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_aliases.alias_name '_atom_site_aniso_B_11' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.B[1][1]_esd' associated_esd '_atom_site.aniso_U[1][1]' conversion_constant '_atom_site_anisotrop.U[1][1]' conversion_constant '_atom_site.aniso_B[1][1]' alternate_exclusive '_atom_site.aniso_U[1][1]' alternate_exclusive '_atom_site_anisotrop.U[1][1]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site_anisotrop.B[1][1]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site_anisotrop.B[1][1]. ; _item.name '_atom_site_anisotrop.B[1][1]_esd' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.B[1][1]' associated_value '_atom_site.aniso_U[1][1]_esd' conversion_constant '_atom_site_anisotrop.U[1][1]_esd' conversion_constant '_atom_site.aniso_B[1][1]_esd' alternate_exclusive '_atom_site.aniso_U[1][1]_esd' alternate_exclusive '_atom_site_anisotrop.U[1][1]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site_anisotrop.B[1][2] _item_description.description ; The [1][2] element of the anisotropic atomic displacement matrix B, which appears in the structure-factor term as: T = exp{-1/4 sum~i~[sum~j~(B^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. ; _item.name '_atom_site_anisotrop.B[1][2]' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_aliases.alias_name '_atom_site_aniso_B_12' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.B[1][2]_esd' associated_esd '_atom_site.aniso_U[1][2]' conversion_constant '_atom_site_anisotrop.U[1][2]' conversion_constant '_atom_site.aniso_B[1][2]' alternate_exclusive '_atom_site.aniso_U[1][2]' alternate_exclusive '_atom_site_anisotrop.U[1][2]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site_anisotrop.B[1][2]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site_anisotrop.B[1][2]. ; _item.name '_atom_site_anisotrop.B[1][2]_esd' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.B[1][2]' associated_value '_atom_site.aniso_U[1][2]_esd' conversion_constant '_atom_site_anisotrop.U[1][2]_esd' conversion_constant '_atom_site.aniso_B[1][2]_esd' alternate_exclusive '_atom_site.aniso_U[1][2]_esd' alternate_exclusive '_atom_site_anisotrop.U[1][2]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site_anisotrop.B[1][3] _item_description.description ; The [1][3] element of the anisotropic atomic displacement matrix B, which appears in the structure-factor term as: T = exp{-1/4 sum~i~[sum~j~(B^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. ; _item.name '_atom_site_anisotrop.B[1][3]' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_aliases.alias_name '_atom_site_aniso_B_13' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.B[1][3]_esd' associated_esd '_atom_site.aniso_U[1][3]' conversion_constant '_atom_site_anisotrop.U[1][3]' conversion_constant '_atom_site.aniso_B[1][3]' alternate_exclusive '_atom_site.aniso_U[1][3]' alternate_exclusive '_atom_site_anisotrop.U[1][3]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site_anisotrop.B[1][3]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site_anisotrop.B[1][3]. ; _item.name '_atom_site_anisotrop.B[1][3]_esd' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.B[1][3]' associated_value '_atom_site.aniso_U[1][3]_esd' conversion_constant '_atom_site_anisotrop.U[1][3]_esd' conversion_constant '_atom_site.aniso_B[1][3]_esd' alternate_exclusive '_atom_site.aniso_U[1][3]_esd' alternate_exclusive '_atom_site_anisotrop.U[1][3]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site_anisotrop.B[2][2] _item_description.description ; The [2][2] element of the anisotropic atomic displacement matrix B, which appears in the structure-factor term as: T = exp{-1/4 sum~i~[sum~j~(B^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. ; _item.name '_atom_site_anisotrop.B[2][2]' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_aliases.alias_name '_atom_site_aniso_B_22' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.B[2][2]_esd' associated_esd '_atom_site.aniso_U[2][2]' conversion_constant '_atom_site_anisotrop.U[2][2]' conversion_constant '_atom_site.aniso_B[2][2]' alternate_exclusive '_atom_site.aniso_U[2][2]' alternate_exclusive '_atom_site_anisotrop.U[2][2]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site_anisotrop.B[2][2]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site_anisotrop.B[2][2]. ; _item.name '_atom_site_anisotrop.B[2][2]_esd' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.B[2][2]' associated_value '_atom_site.aniso_U[2][2]_esd' conversion_constant '_atom_site_anisotrop.U[2][2]_esd' conversion_constant '_atom_site.aniso_B[2][2]_esd' alternate_exclusive '_atom_site.aniso_U[2][2]_esd' alternate_exclusive '_atom_site_anisotrop.U[2][2]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site_anisotrop.B[2][3] _item_description.description ; The [2][3] element of the anisotropic atomic displacement matrix B, which appears in the structure-factor term as: T = exp{-1/4 sum~i~[sum~j~(B^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. ; _item.name '_atom_site_anisotrop.B[2][3]' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_aliases.alias_name '_atom_site_aniso_B_23' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.B[2][3]_esd' associated_esd '_atom_site.aniso_U[2][3]' conversion_constant '_atom_site_anisotrop.U[2][3]' conversion_constant '_atom_site.aniso_B[2][3]' alternate_exclusive '_atom_site.aniso_U[2][3]' alternate_exclusive '_atom_site_anisotrop.U[2][3]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site_anisotrop.B[2][3]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site_anisotrop.B[2][3]. ; _item.name '_atom_site_anisotrop.B[2][3]_esd' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.B[2][3]' associated_value '_atom_site.aniso_U[2][3]_esd' conversion_constant '_atom_site_anisotrop.U[2][3]_esd' conversion_constant '_atom_site.aniso_B[2][3]_esd' alternate_exclusive '_atom_site.aniso_U[2][3]_esd' alternate_exclusive '_atom_site_anisotrop.U[2][3]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site_anisotrop.B[3][3] _item_description.description ; The [3][3] element of the anisotropic atomic displacement matrix B, which appears in the structure-factor term as: T = exp{-1/4 sum~i~[sum~j~(B^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. The IUCr Commission on Nomenclature recommends against the use of B for reporting atomic displacement parameters. U, being directly proportional to B, is preferred. ; _item.name '_atom_site_anisotrop.B[3][3]' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_aliases.alias_name '_atom_site_aniso_B_33' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.B[3][3]_esd' associated_esd '_atom_site.aniso_U[3][3]' conversion_constant '_atom_site_anisotrop.U[3][3]' conversion_constant '_atom_site.aniso_B[3][3]' alternate_exclusive '_atom_site.aniso_U[3][3]' alternate_exclusive '_atom_site_anisotrop.U[3][3]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code 8pi2_angstroms_squared save_ save__atom_site_anisotrop.B[3][3]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site_anisotrop.B[3][3]. ; _item.name '_atom_site_anisotrop.B[3][3]_esd' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.B[3][3]' associated_value '_atom_site.aniso_U[3][3]_esd' conversion_constant '_atom_site_anisotrop.U[3][3]_esd' conversion_constant '_atom_site.aniso_B[3][3]_esd' alternate_exclusive '_atom_site.aniso_U[3][3]_esd' alternate_exclusive '_atom_site_anisotrop.U[3][3]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code 8pi2_angstroms_squared save_ save__atom_site_anisotrop.ratio _item_description.description ; Ratio of the maximum to minimum principal axes of displacement (thermal) ellipsoids. ; _item.name '_atom_site_anisotrop.ratio' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_aliases.alias_name '_atom_site_aniso_ratio' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 1.0 1.0 1.0 _item_related.related_name '_atom_site.aniso_ratio' _item_related.function_code alternate_exclusive _item_type.code float save_ save__atom_site_anisotrop.id _item_description.description ; This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_atom_site_anisotrop.id' _item.mandatory_code yes _item_aliases.alias_name '_atom_site_aniso_label' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__atom_site_anisotrop.type_symbol _item_description.description ; This data item is a pointer to _atom_type.symbol in the ATOM_TYPE category. ; _item.name '_atom_site_anisotrop.type_symbol' _item.mandatory_code yes _item_aliases.alias_name '_atom_site_aniso_type_symbol' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__atom_site_anisotrop.U[1][1] _item_description.description ; The [1][1] element of the standard anisotropic atomic displacement matrix U, which appears in the structure-factor term as: T = exp{-2 pi^2^ sum~i~[sum~j~(U^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_atom_site_anisotrop.U[1][1]' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_aliases.alias_name '_atom_site_aniso_U_11' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.U[1][1]_esd' associated_esd '_atom_site.aniso_B[1][1]' conversion_constant '_atom_site_anisotrop.B[1][1]' conversion_constant '_atom_site.aniso_B[1][1]' alternate_exclusive '_atom_site.aniso_U[1][1]' alternate_exclusive '_atom_site_anisotrop.B[1][1]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site_anisotrop.U[1][1]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site_anisotrop.U[1][1]. ; _item.name '_atom_site_anisotrop.U[1][1]_esd' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.U[1][1]' associated_value '_atom_site.aniso_B[1][1]_esd' conversion_constant '_atom_site_anisotrop.B[1][1]_esd' conversion_constant '_atom_site.aniso_B[1][1]_esd' alternate_exclusive '_atom_site.aniso_U[1][1]_esd' alternate_exclusive '_atom_site_anisotrop.B[1][1]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__atom_site_anisotrop.U[1][2] _item_description.description ; The [1][2] element of the standard anisotropic atomic displacement matrix U, which appears in the structure-factor term as: T = exp{-2 pi^2^ sum~i~[sum~j~(U^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_atom_site_anisotrop.U[1][2]' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_aliases.alias_name '_atom_site_aniso_U_12' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.U[1][2]_esd' associated_esd '_atom_site.aniso_B[1][2]' conversion_constant '_atom_site_anisotrop.B[1][2]' conversion_constant '_atom_site.aniso_B[1][2]' alternate_exclusive '_atom_site.aniso_U[1][2]' alternate_exclusive '_atom_site_anisotrop.B[1][2]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site_anisotrop.U[1][2]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site_anisotrop.U[1][2]. ; _item.name '_atom_site_anisotrop.U[1][2]_esd' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.U[1][2]' associated_value '_atom_site.aniso_B[1][2]_esd' conversion_constant '_atom_site_anisotrop.B[1][2]_esd' conversion_constant '_atom_site.aniso_B[1][2]_esd' alternate_exclusive '_atom_site.aniso_U[1][2]_esd' alternate_exclusive '_atom_site_anisotrop.B[1][2]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__atom_site_anisotrop.U[1][3] _item_description.description ; The [1][3] element of the standard anisotropic atomic displacement matrix U, which appears in the structure-factor term as: T = exp{-2 pi^2^ sum~i~[sum~j~(U^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_atom_site_anisotrop.U[1][3]' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_aliases.alias_name '_atom_site_aniso_U_13' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.U[1][3]_esd' associated_esd '_atom_site.aniso_B[1][3]' conversion_constant '_atom_site_anisotrop.B[1][3]' conversion_constant '_atom_site.aniso_B[1][3]' alternate_exclusive '_atom_site.aniso_U[1][3]' alternate_exclusive '_atom_site_anisotrop.B[1][3]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site_anisotrop.U[1][3]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site_anisotrop.U[1][3]. ; _item.name '_atom_site_anisotrop.U[1][3]_esd' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.U[1][3]' associated_value '_atom_site.aniso_B[1][3]_esd' conversion_constant '_atom_site_anisotrop.B[1][3]_esd' conversion_constant '_atom_site.aniso_B[1][3]_esd' alternate_exclusive '_atom_site.aniso_U[1][3]_esd' alternate_exclusive '_atom_site_anisotrop.B[1][3]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__atom_site_anisotrop.U[2][2] _item_description.description ; The [2][2] element of the standard anisotropic atomic displacement matrix U, which appears in the structure-factor term as: T = exp{-2 pi^2^ sum~i~[sum~j~(U^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_atom_site_anisotrop.U[2][2]' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_aliases.alias_name '_atom_site_aniso_U_22' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.U[2][2]_esd' associated_esd '_atom_site.aniso_B[2][2]' conversion_constant '_atom_site_anisotrop.B[2][2]' conversion_constant '_atom_site.aniso_B[2][2]' alternate_exclusive '_atom_site.aniso_U[2][2]' alternate_exclusive '_atom_site_anisotrop.B[2][2]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site_anisotrop.U[2][2]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site_anisotrop.U[2][2]. ; _item.name '_atom_site_anisotrop.U[2][2]_esd' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.U[2][2]' associated_value '_atom_site.aniso_B[2][2]_esd' conversion_constant '_atom_site_anisotrop.B[2][2]_esd' conversion_constant '_atom_site.aniso_B[2][2]_esd' alternate_exclusive '_atom_site.aniso_U[2][2]_esd' alternate_exclusive '_atom_site_anisotrop.B[2][2]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__atom_site_anisotrop.U[2][3] _item_description.description ; The [2][3] element of the standard anisotropic atomic displacement matrix U, which appears in the structure-factor term as: T = exp{-2 pi^2^ sum~i~[sum~j~(U^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_atom_site_anisotrop.U[2][3]' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_aliases.alias_name '_atom_site_aniso_U_23' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.U[2][3]_esd' associated_esd '_atom_site.aniso_B[2][3]' conversion_constant '_atom_site_anisotrop.B[2][3]' conversion_constant '_atom_site.aniso_B[2][3]' alternate_exclusive '_atom_site.aniso_U[2][3]' alternate_exclusive '_atom_site_anisotrop.B[2][3]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site_anisotrop.U[2][3]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site_anisotrop.U[2][3]. ; _item.name '_atom_site_anisotrop.U[2][3]_esd' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.U[2][3]' associated_value '_atom_site.aniso_B[2][3]_esd' conversion_constant '_atom_site_anisotrop.B[2][3]_esd' conversion_constant '_atom_site.aniso_B[2][3]_esd' alternate_exclusive '_atom_site.aniso_U[2][3]_esd' alternate_exclusive '_atom_site_anisotrop.B[2][3]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__atom_site_anisotrop.U[3][3] _item_description.description ; The [3][3] element of the standard anisotropic atomic displacement matrix U, which appears in the structure-factor term as: T = exp{-2 pi^2^ sum~i~[sum~j~(U^ij^ h~i~ h~j~ a*~i~ a*~j~)]} h = the Miller indices a* = the reciprocal space cell lengths These matrix elements may appear with atomic coordinates in the ATOM_SITE category, or they may appear in the separate ATOM_SITE_ANISOTROP category, but they may not appear in both places. Similarly, anisotropic displacements may appear as either B's or U's, but not as both. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_atom_site_anisotrop.U[3][3]' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_aliases.alias_name '_atom_site_aniso_U_33' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.U[3][3]_esd' associated_esd '_atom_site.aniso_B[3][3]' conversion_constant '_atom_site_anisotrop.B[3][3]' conversion_constant '_atom_site.aniso_B[3][3]' alternate_exclusive '_atom_site.aniso_U[3][3]' alternate_exclusive '_atom_site_anisotrop.B[3][3]' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_squared save_ save__atom_site_anisotrop.U[3][3]_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _atom_site_anisotrop.U[3][3]. ; _item.name '_atom_site_anisotrop.U[3][3]_esd' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_atom_site_anisotrop.U[3][3]' associated_value '_atom_site.aniso_B[3][3]_esd' conversion_constant '_atom_site_anisotrop.B[3][3]_esd' conversion_constant '_atom_site.aniso_B[3][3]_esd' alternate_exclusive '_atom_site.aniso_U[3][3]_esd' alternate_exclusive '_atom_site_anisotrop.B[3][3]_esd' alternate_exclusive _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ ################ ## ATOM_SITES ## ################ save_atom_sites _category.description ; Data items in the ATOM_SITES category record details about the crystallographic cell and cell transformations, which are common to all atom sites. ; _category.id atom_sites _category.mandatory_code no _category_key.name '_atom_sites.entry_id' loop_ _category_group.id 'inclusive_group' 'atom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _atom_sites.entry_id '5HVP' _atom_sites.Cartn_transform_axes 'c along z, astar along x, b along y' _atom_sites.Cartn_transf_matrix[1][1] 58.39 _atom_sites.Cartn_transf_matrix[1][2] 0.00 _atom_sites.Cartn_transf_matrix[1][3] 0.00 _atom_sites.Cartn_transf_matrix[2][1] 0.00 _atom_sites.Cartn_transf_matrix[2][2] 86.70 _atom_sites.Cartn_transf_matrix[2][3] 0.00 _atom_sites.Cartn_transf_matrix[3][1] 0.00 _atom_sites.Cartn_transf_matrix[3][2] 0.00 _atom_sites.Cartn_transf_matrix[3][3] 46.27 _atom_sites.Cartn_transf_vector[1] 0.00 _atom_sites.Cartn_transf_vector[2] 0.00 _atom_sites.Cartn_transf_vector[3] 0.00 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__atom_sites.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_atom_sites.entry_id' _item.mandatory_code yes save_ save__atom_sites.Cartn_transf_matrix[1][1] _item_description.description ; The [1][1] element of the 3x3 matrix used to transform fractional coordinates in the ATOM_SITE category to Cartesian coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.Cartn_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.Cartn_transf_matrix[1][1]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_Cartn_tran_matrix_11' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.Cartn_transf_matrix[1][2] _item_description.description ; The [1][2] element of the 3x3 matrix used to transform fractional coordinates in the ATOM_SITE category to Cartesian coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.Cartn_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.Cartn_transf_matrix[1][2]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_Cartn_tran_matrix_12' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.Cartn_transf_matrix[1][3] _item_description.description ; The [1][3] element of the 3x3 matrix used to transform fractional coordinates in the ATOM_SITE category to Cartesian coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.Cartn_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.Cartn_transf_matrix[1][3]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_Cartn_tran_matrix_13' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.Cartn_transf_matrix[2][1] _item_description.description ; The [2][1] element of the 3x3 matrix used to transform fractional coordinates in the ATOM_SITE category to Cartesian coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.Cartn_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.Cartn_transf_matrix[2][1]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_Cartn_tran_matrix_21' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.Cartn_transf_matrix[2][2] _item_description.description ; The [2][2] element of the 3x3 matrix used to transform fractional coordinates in the ATOM_SITE category to Cartesian coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.Cartn_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.Cartn_transf_matrix[2][2]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_Cartn_tran_matrix_22' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.Cartn_transf_matrix[2][3] _item_description.description ; The [2][3] element of the 3x3 matrix used to transform fractional coordinates in the ATOM_SITE category to Cartesian coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.Cartn_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.Cartn_transf_matrix[2][3]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_Cartn_tran_matrix_23' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.Cartn_transf_matrix[3][1] _item_description.description ; The [3][1] element of the 3x3 matrix used to transform fractional coordinates in the ATOM_SITE category to Cartesian coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.Cartn_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.Cartn_transf_matrix[3][1]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_Cartn_tran_matrix_31' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.Cartn_transf_matrix[3][2] _item_description.description ; The [3][2] element of the 3x3 matrix used to transform fractional coordinates in the ATOM_SITE category to Cartesian coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.Cartn_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.Cartn_transf_matrix[3][2]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_Cartn_tran_matrix_32' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.Cartn_transf_matrix[3][3] _item_description.description ; The [3][3] element of the 3x3 matrix used to transform fractional coordinates in the ATOM_SITE category to Cartesian coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.Cartn_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.Cartn_transf_matrix[3][3]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_Cartn_tran_matrix_33' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.Cartn_transf_vector[1] _item_description.description ; The [1] element of the three-element vector used to transform fractional coordinates in the ATOM_SITE category to Cartesian coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The rotation matrix is defined in _atom_sites.Cartn_transf_matrix[][]. |x'| |11 12 13| |x| |1| |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.Cartn_transf_vector[1]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_Cartn_tran_vector_1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__atom_sites.Cartn_transf_vector[2] _item_description.description ; The [2] element of the three-element vector used to transform fractional coordinates in the ATOM_SITE category to Cartesian coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The rotation matrix is defined in _atom_sites.Cartn_transf_matrix[][]. |x'| |11 12 13| |x| |1| |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.Cartn_transf_vector[2]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_Cartn_tran_vector_2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__atom_sites.Cartn_transf_vector[3] _item_description.description ; The [3] element of the three-element vector used to transform fractional coordinates in the ATOM_SITE category to Cartesian coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The rotation matrix is defined in _atom_sites.Cartn_transf_matrix[][]. |x'| |11 12 13| |x| |1| |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.Cartn_transf_vector[3]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_Cartn_tran_vector_3' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__atom_sites.Cartn_transform_axes _item_description.description ; A description of the relative alignment of the crystal cell axes to the Cartesian orthogonal axes as applied in the transformation matrix _atom_sites.Cartn_transf_matrix[][]. ; _item.name '_atom_sites.Cartn_transform_axes' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_Cartn_transform_axes' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'a parallel to x; b in the plane of y and z' save_ save__atom_sites.fract_transf_matrix[1][1] _item_description.description ; The [1][1] element of the 3x3 matrix used to transform Cartesian coordinates in the ATOM_SITE category to fractional coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.fract_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.fract_transf_matrix[1][1]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_fract_tran_matrix_11' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.fract_transf_matrix[1][2] _item_description.description ; The [1][2] element of the 3x3 matrix used to transform Cartesian coordinates in the ATOM_SITE category to fractional coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.fract_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.fract_transf_matrix[1][2]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_fract_tran_matrix_12' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.fract_transf_matrix[1][3] _item_description.description ; The [1][3] element of the 3x3 matrix used to transform Cartesian coordinates in the ATOM_SITE category to fractional coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.fract_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.fract_transf_matrix[1][3]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_fract_tran_matrix_13' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.fract_transf_matrix[2][1] _item_description.description ; The [2][1] element of the 3x3 matrix used to transform Cartesian coordinates in the ATOM_SITE category to fractional coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.fract_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.fract_transf_matrix[2][1]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_fract_tran_matrix_21' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.fract_transf_matrix[2][2] _item_description.description ; The [2][2] element of the 3x3 matrix used to transform Cartesian coordinates in the ATOM_SITE category to fractional coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.fract_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.fract_transf_matrix[2][2]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_fract_tran_matrix_22' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.fract_transf_matrix[2][3] _item_description.description ; The [2][3] element of the 3x3 matrix used to transform Cartesian coordinates in the ATOM_SITE category to fractional coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.fract_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.fract_transf_matrix[2][3]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_fract_tran_matrix_23' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.fract_transf_matrix[3][1] _item_description.description ; The [3][1] element of the 3x3 matrix used to transform Cartesian coordinates in the ATOM_SITE category to fractional coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.fract_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.fract_transf_matrix[3][1]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_fract_tran_matrix_31' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.fract_transf_matrix[3][2] _item_description.description ; The [3][2] element of the 3x3 matrix used to transform Cartesian coordinates in the ATOM_SITE category to fractional coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.fract_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.fract_transf_matrix[3][2]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_fract_tran_matrix_32' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.fract_transf_matrix[3][3] _item_description.description ; The [3][3] element of the 3x3 matrix used to transform Cartesian coordinates in the ATOM_SITE category to fractional coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x1 translation is defined in _atom_sites.fract_transf_vector[]. |x'| |11 12 13| |x| |1| |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.fract_transf_matrix[3][3]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_fract_tran_matrix_33' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.fract_transf_vector[1] _item_description.description ; The [1] element of the three-element vector used to transform Cartesian coordinates in the ATOM_SITE category to fractional coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x3 rotation is defined in _atom_sites.fract_transf_matrix[][]. |x'| |11 12 13| |x| |1| |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.fract_transf_vector[1]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_fract_tran_vector_1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__atom_sites.fract_transf_vector[2] _item_description.description ; The [2] element of the three-element vector used to transform Cartesian coordinates in the ATOM_SITE category to fractional coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x3 rotation is defined in _atom_sites.fract_transf_matrix[][]. |x'| |11 12 13| |x| |1| |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.fract_transf_vector[2]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_fract_tran_vector_2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__atom_sites.fract_transf_vector[3] _item_description.description ; The [3] element of the three-element vector used to transform Cartesian coordinates in the ATOM_SITE category to fractional coordinates in the same category. The axial alignments of this transformation are described in _atom_sites.Cartn_transform_axes. The 3x3 rotation is defined in _atom_sites.fract_transf_matrix[][]. |x'| |11 12 13| |x| |1| |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2| |z'| |31 32 33| |z| |3| ; _item.name '_atom_sites.fract_transf_vector[3]' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_fract_tran_vector_3' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__atom_sites.solution_primary _item_description.description ; This code identifies the method used to locate the initial atom sites. *** This data item would not in general be used in a macromolecular data block. *** ; _item.name '_atom_sites.solution_primary' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_solution_primary' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail difmap 'difference Fourier map' vecmap 'real-space vector search' heavy 'heavy-atom method' direct 'structure-invariant direct methods' geom 'inferred from neighbouring sites' disper 'anomalous-dispersion techniques' isomor 'isomorphous structure methods' save_ save__atom_sites.solution_secondary _item_description.description ; This code identifies the method used to locate the non-hydrogen-atom sites not found by _atom_sites.solution_primary. *** This data item would not in general be used in a macromolecular data block. *** ; _item.name '_atom_sites.solution_secondary' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_solution_secondary' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail difmap 'difference Fourier map' vecmap 'real-space vector search' heavy 'heavy-atom method' direct 'structure-invariant direct methods' geom 'inferred from neighbouring sites' disper 'anomalous-dispersion techniques' isomor 'isomorphous structure methods' save_ save__atom_sites.solution_hydrogens _item_description.description ; This code identifies the method used to locate the hydrogen atoms. *** This data item would not in general be used in a macromolecular data block. *** ; _item.name '_atom_sites.solution_hydrogens' _item.category_id atom_sites _item.mandatory_code no _item_aliases.alias_name '_atom_sites_solution_hydrogens' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail difmap 'difference Fourier map' vecmap 'real-space vector search' heavy 'heavy-atom method' direct 'structure-invariant direct methods' geom 'inferred from neighbouring sites' disper 'anomalous-dispersion techniques' isomor 'isomorphous structure methods' save_ #################### ## ATOM_SITES_ALT ## #################### save_atom_sites_alt _category.description ; Data items in the ATOM_SITES_ALT category record details about the structural ensembles that should be generated from atom sites or groups of atom sites that are modelled in alternative conformations in this data block. ; _category.id atom_sites_alt _category.mandatory_code no _category_key.name '_atom_sites_alt.id' loop_ _category_group.id 'inclusive_group' 'atom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _atom_sites_alt.id _atom_sites_alt.details . ; Atom sites with the alternative ID set to null are not modeled in alternative conformations ; 1 ; Atom sites with the alternative ID set to 1 have been modeled in alternative conformations with respect to atom sites marked with alternative ID 2. The conformations of amino-acid side chains and solvent atoms with alternative ID set to 1 correlate with the conformation of the inhibitor marked with alternative ID 1. They have been given an occupancy of 0.58 to match the occupancy assigned to the inhibitor. ; 2 ; Atom sites with the alternative ID set to 2 have been modeled in alternative conformations with respect to atom sites marked with alternative ID 1. The conformations of amino-acid side chains and solvent atoms with alternative ID set to 2 correlate with the conformation of the inhibitor marked with alternative ID 2. They have been given an occupancy of 0.42 to match the occupancy assigned to the inhibitor. ; 3 ; Atom sites with the alternative ID set to 3 have been modeled in alternative conformations with respect to atoms marked with alternative ID 4. The conformations of amino-acid side chains and solvent atoms with alternative ID set to 3 do not correlate with the conformation of the inhibitor. These atom sites have arbitrarily been given an occupancy of 0.50. ; 4 ; Atom sites with the alternative ID set to 4 have been modeled in alternative conformations with respect to atoms marked with alternative ID 3. The conformations of amino-acid side chains and solvent atoms with alternative ID set to 4 do not correlate with the conformation of the inhibitor. These atom sites have arbitrarily been given an occupancy of 0.50. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__atom_sites_alt.details _item_description.description ; A description of special aspects of the modelling of atoms in alternative conformations. ; _item.name '_atom_sites_alt.details' _item.category_id atom_sites_alt _item.mandatory_code no _item_type.code text save_ save__atom_sites_alt.id _item_description.description ; The value of _atom_sites_alt.id must uniquely identify a record in the ATOM_SITES_ALT list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_atom_sites_alt.id' atom_sites_alt yes '_atom_site.label_alt_id' atom_site yes '_atom_sites_alt_gen.alt_id' atom_sites_alt_gen yes '_geom_angle.atom_site_label_alt_id_1' geom_angle no '_geom_angle.atom_site_label_alt_id_2' geom_angle no '_geom_angle.atom_site_label_alt_id_3' geom_angle no '_geom_bond.atom_site_label_alt_id_1' geom_bond no '_geom_bond.atom_site_label_alt_id_2' geom_bond no '_geom_contact.atom_site_label_alt_id_1' geom_contact no '_geom_contact.atom_site_label_alt_id_2' geom_contact no '_geom_hbond.atom_site_label_alt_id_A' geom_hbond no '_geom_hbond.atom_site_label_alt_id_D' geom_hbond no '_geom_hbond.atom_site_label_alt_id_H' geom_hbond no '_geom_torsion.atom_site_label_alt_id_1' geom_torsion no '_geom_torsion.atom_site_label_alt_id_2' geom_torsion no '_geom_torsion.atom_site_label_alt_id_3' geom_torsion no '_geom_torsion.atom_site_label_alt_id_4' geom_torsion no '_struct_conn.ptnr1_label_alt_id' struct_conn no '_struct_conn.ptnr2_label_alt_id' struct_conn no '_struct_mon_nucl.label_alt_id' struct_mon_nucl yes '_struct_mon_prot.label_alt_id' struct_mon_prot yes '_struct_mon_prot_cis.label_alt_id' struct_mon_prot_cis yes '_struct_site_gen.label_alt_id' struct_site_gen no loop_ _item_linked.child_name _item_linked.parent_name '_atom_sites_alt.id' '_atom_site.label_alt_id' '_atom_sites_alt_gen.alt_id' '_atom_sites_alt.id' '_geom_angle.atom_site_label_alt_id_1' '_atom_site.label_alt_id' '_geom_angle.atom_site_label_alt_id_2' '_atom_site.label_alt_id' '_geom_angle.atom_site_label_alt_id_3' '_atom_site.label_alt_id' '_geom_bond.atom_site_label_alt_id_1' '_atom_site.label_alt_id' '_geom_bond.atom_site_label_alt_id_2' '_atom_site.label_alt_id' '_geom_contact.atom_site_label_alt_id_1' '_atom_site.label_alt_id' '_geom_contact.atom_site_label_alt_id_2' '_atom_site.label_alt_id' '_geom_hbond.atom_site_label_alt_id_A' '_atom_site.label_alt_id' '_geom_hbond.atom_site_label_alt_id_D' '_atom_site.label_alt_id' '_geom_hbond.atom_site_label_alt_id_H' '_atom_site.label_alt_id' '_geom_torsion.atom_site_label_alt_id_1' '_atom_site.label_alt_id' '_geom_torsion.atom_site_label_alt_id_2' '_atom_site.label_alt_id' '_geom_torsion.atom_site_label_alt_id_3' '_atom_site.label_alt_id' '_geom_torsion.atom_site_label_alt_id_4' '_atom_site.label_alt_id' '_struct_conn.ptnr1_label_alt_id' '_atom_site.label_alt_id' '_struct_conn.ptnr2_label_alt_id' '_atom_site.label_alt_id' '_struct_mon_nucl.label_alt_id' '_atom_site.label_alt_id' '_struct_mon_prot.label_alt_id' '_atom_site.label_alt_id' '_struct_mon_prot_cis.label_alt_id' '_atom_site.label_alt_id' '_struct_site_gen.label_alt_id' '_atom_site.label_alt_id' _item_type.code code loop_ _item_examples.case 'orientation 1' 'molecule abc' save_ ######################## ## ATOM_SITES_ALT_ENS ## ######################## save_atom_sites_alt_ens _category.description ; Data items in the ATOM_SITES_ALT_ENS category record details about the ensemble structure generated from atoms with various alternative conformation IDs. ; _category.id atom_sites_alt_ens _category.mandatory_code no _category_key.name '_atom_sites_alt_ens.id' loop_ _category_group.id 'inclusive_group' 'atom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _atom_sites_alt_ens.id _atom_sites_alt_ens.details 'Ensemble 1-A' ; The inhibitor binds to the enzyme in two, roughly twofold symmetric alternative conformations. This conformational ensemble includes the more populated conformation of the inhibitor (ID=1) and the amino-acid side chains and solvent structure that correlate with this inhibitor conformation. Also included are one set (ID=3) of side chains with alternative conformations when the conformations are not correlated with the inhibitor conformation. ; 'Ensemble 1-B' ; The inhibitor binds to the enzyme in two, roughly twofold symmetric alternative conformations. This conformational ensemble includes the more populated conformation of the inhibitor (ID=1) and the amino-acid side chains and solvent structure that correlate with this inhibitor conformation. Also included are one set (ID=4) of side chains with alternative conformations when the conformations are not correlated with the inhibitor conformation. ; 'Ensemble 2-A' ; The inhibitor binds to the enzyme in two, roughly twofold symmetric alternative conformations. This conformational ensemble includes the less populated conformation of the inhibitor (ID=2) and the amino-acid side chains and solvent structure that correlate with this inhibitor conformation. Also included are one set (ID=3) of side chains with alternative conformations when the conformations are not correlated with the inhibitor conformation. ; 'Ensemble 2-B' ; The inhibitor binds to the enzyme in two, roughly twofold symmetric alternative conformations. This conformational ensemble includes the less populated conformation of the inhibitor (ID=2) and the amino-acid side chains and solvent structure that correlate with this inhibitor conformation. Also included are one set (ID=4) of side chains with alternative conformations when the conformations are not correlated with the inhibitor conformation. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__atom_sites_alt_ens.details _item_description.description ; A description of special aspects of the ensemble structure generated from atoms with various alternative IDs. ; _item.name '_atom_sites_alt_ens.details' _item.category_id atom_sites_alt_ens _item.mandatory_code no _item_type.code text save_ save__atom_sites_alt_ens.id _item_description.description ; The value of _atom_sites_alt_ens.id must uniquely identify a record in the ATOM_SITES_ALT_ENS list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_atom_sites_alt_ens.id' atom_sites_alt_ens yes '_atom_sites_alt_gen.ens_id' atom_sites_alt_gen yes loop_ _item_linked.child_name _item_linked.parent_name '_atom_sites_alt_gen.ens_id' '_atom_sites_alt_ens.id' _item_type.code code save_ ######################## ## ATOM_SITES_ALT_GEN ## ######################## save_atom_sites_alt_gen _category.description ; Data items in the ATOM_SITES_ALT_GEN category record details about the interpretation of multiple conformations in the structure. ; _category.id atom_sites_alt_gen _category.mandatory_code no loop_ _category_key.name '_atom_sites_alt_gen.ens_id' '_atom_sites_alt_gen.alt_id' loop_ _category_group.id 'inclusive_group' 'atom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _atom_sites_alt_gen.ens_id _atom_sites_alt_gen.alt_id 'Ensemble 1-A' 1 'Ensemble 1-A' 2 'Ensemble 1-B' 1 'Ensemble 1-B' 4 'Ensemble 2-A' 2 'Ensemble 2-A' 3 'Ensemble 2-B' 2 'Ensemble 2-B' 4 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__atom_sites_alt_gen.alt_id _item_description.description ; This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; _item.name '_atom_sites_alt_gen.alt_id' _item.mandatory_code yes save_ save__atom_sites_alt_gen.ens_id _item_description.description ; This data item is a pointer to _atom_sites_alt_ens.id in the ATOM_SITES_ALT_ENS category. ; _item.name '_atom_sites_alt_gen.ens_id' _item.mandatory_code yes save_ ######################### ## ATOM_SITES_FOOTNOTE ## ######################### save_atom_sites_footnote _category.description ; Data items in the ATOM_SITES_FOOTNOTE category record detailed comments about an atom site or a group of atom sites. ; _category.id atom_sites_footnote _category.mandatory_code no _category_key.name '_atom_sites_footnote.id' loop_ _category_group.id 'inclusive_group' 'atom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _atom_sites_footnote.id _atom_sites_footnote.text 1 ; The inhibitor binds to the enzyme in two alternative orientations. The two orientations have been assigned alternative IDs *1* and *2*. ; 2 ; Side chains of these residues adopt alternative orientations that correlate with the alternative orientations of the inhibitor. Side chains with alternative ID *1* and occupancy 0.58 correlate with inhibitor orientation *1*. Side chains with alternative ID *2* and occupancy 0.42 correlate with inhibitor orientation *2*. ; 3 ; The positions of these water molecules correlate with the alternative orientations of the inhibitor. Water molecules with alternative ID *1* and occupancy 0.58 correlate with inhibitor orientation *1*. Water molecules with alternative ID *2* and occupancy 0.42 correlate with inhibitor orientation *2*. ; 4 ; Side chains of these residues adopt alternative orientations that do not correlate with the alternative orientation of the inhibitor. ; 5 ; The positions of these water molecules correlate with alternative orientations of amino-acid side chains that do not correlate with alternative orientations of the inhibitor. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__atom_sites_footnote.id _item_description.description ; A code that identifies the footnote. ; loop_ _item.name _item.category_id _item.mandatory_code '_atom_sites_footnote.id' atom_sites_footnote yes '_atom_site.footnote_id' atom_site no loop_ _item_linked.child_name _item_linked.parent_name '_atom_site.footnote_id' '_atom_sites_footnote.id' _item_type.code code loop_ _item_examples.case 'a' 'b' '1' '2' save_ save__atom_sites_footnote.text _item_description.description ; The text of the footnote. Footnotes are used to describe an atom site or a group of atom sites in the ATOM_SITE list. For example, footnotes may be used to indicate atoms for which the electron density is very weak, or atoms for which static disorder has been modelled. ; _item.name '_atom_sites_footnote.text' _item.category_id atom_sites_footnote _item.mandatory_code no _item_type.code text save_ ############### ## ATOM_TYPE ## ############### save_atom_type _category.description ; Data items in the ATOM_TYPE category record details about the properties of the atoms that occupy the atom sites, such as the atomic scattering factors. ; _category.id atom_type _category.mandatory_code no _category_key.name '_atom_type.symbol' loop_ _category_group.id 'inclusive_group' 'atom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _atom_type.symbol _atom_type.oxidation_number _atom_type.scat_Cromer_Mann_a1 _atom_type.scat_Cromer_Mann_a2 _atom_type.scat_Cromer_Mann_a3 _atom_type.scat_Cromer_Mann_a4 _atom_type.scat_Cromer_Mann_b1 _atom_type.scat_Cromer_Mann_b2 _atom_type.scat_Cromer_Mann_b3 _atom_type.scat_Cromer_Mann_b4 _atom_type.scat_Cromer_Mann_c C 0 2.31000 20.8439 1.02000 10.2075 1.58860 0.568700 0.865000 51.6512 0.21560 N 0 12.2126 0.005700 3.13220 9.89330 2.01250 28.9975 1.16630 0.582600 -11.529 O 0 3.04850 13.2771 2.28680 5.70110 1.54630 0.323900 0.867000 32.9089 0.250800 S 0 6.90530 1.46790 5.20340 22.2151 1.43790 0.253600 1.58630 56.1720 0.866900 CL -1 18.2915 0.006600 7.20840 1.17170 6.53370 19.5424 2.33860 60.4486 -16.378 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; loop_ _atom_type.symbol _atom_type.oxidation_number _atom_type.number_in_cell _atom_type.scat_dispersion_real _atom_type.scat_dispersion_imag _atom_type.scat_source C 0 72 .017 .009 International_Tables_Vol_IV_Table_2.2B H 0 100 0 0 International_Tables_Vol_IV_Table_2.2B O 0 12 .047 .032 International_Tables_Vol_IV_Table_2.2B N 0 4 .029 .018 International_Tables_Vol_IV_Table_2.2B ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__atom_type.analytical_mass_percent _item_description.description ; Mass percentage of this atom type derived from chemical analysis. ; _item.name '_atom_type.analytical_mass_percent' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_analytical_mass_%' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__atom_type.description _item_description.description ; A description of the atom(s) designated by this atom type. In most cases, this is the element name and oxidation state of a single atom species. For disordered or nonstoichiometric structures it will describe a combination of atom species. ; _item.name '_atom_type.description' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_description' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'deuterium' '0.34Fe+0.66Ni' save_ save__atom_type.number_in_cell _item_description.description ; Total number of atoms of this atom type in the unit cell. ; _item.name '_atom_type.number_in_cell' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_number_in_cell' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__atom_type.oxidation_number _item_description.description ; Formal oxidation state of this atom type in the structure. ; _item.name '_atom_type.oxidation_number' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_oxidation_number' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 0 loop_ _item_range.maximum _item_range.minimum 8 8 8 -8 -8 -8 _item_type.code int save_ save__atom_type.radius_bond _item_description.description ; The effective intramolecular bonding radius in angstroms of this atom type. ; _item.name '_atom_type.radius_bond' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_radius_bond' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 5.0 5.0 5.0 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__atom_type.radius_contact _item_description.description ; The effective intermolecular bonding radius in angstroms of this atom type. ; _item.name '_atom_type.radius_contact' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_radius_contact' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 5.0 5.0 5.0 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__atom_type.scat_Cromer_Mann_a1 _item_description.description ; The Cromer-Mann scattering-factor coefficient a1 used to calculate the scattering factors for this atom type. Ref: International Tables for X-ray Crystallography (1974). Vol. IV, Table 2.2B or: International Tables for Crystallography (2004). Vol. C, Tables 6.1.1.4 and 6.1.1.5. ; _item.name '_atom_type.scat_Cromer_Mann_a1' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_Cromer_Mann_a1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_b4' '_atom_type.scat_Cromer_Mann_c' _item_type.code float save_ save__atom_type.scat_Cromer_Mann_a2 _item_description.description ; The Cromer-Mann scattering-factor coefficient a2 used to calculate the scattering factors for this atom type. Ref: International Tables for X-ray Crystallography (1974). Vol. IV, Table 2.2B or: International Tables for Crystallography (2004). Vol. C, Tables 6.1.1.4 and 6.1.1.5. ; _item.name '_atom_type.scat_Cromer_Mann_a2' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_Cromer_Mann_a2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_b4' '_atom_type.scat_Cromer_Mann_c' _item_type.code float save_ save__atom_type.scat_Cromer_Mann_a3 _item_description.description ; The Cromer-Mann scattering-factor coefficient a3 used to calculate the scattering factors for this atom type. Ref: International Tables for X-ray Crystallography (1974). Vol. IV, Table 2.2B or: International Tables for Crystallography (2004). Vol. C, Tables 6.1.1.4 and 6.1.1.5. ; _item.name '_atom_type.scat_Cromer_Mann_a3' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_Cromer_Mann_a3' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_b4' '_atom_type.scat_Cromer_Mann_c' _item_type.code float save_ save__atom_type.scat_Cromer_Mann_a4 _item_description.description ; The Cromer-Mann scattering-factor coefficient a4 used to calculate the scattering factors for this atom type. Ref: International Tables for X-ray Crystallography (1974). Vol. IV, Table 2.2B or: International Tables for Crystallography (2004). Vol. C, Tables 6.1.1.4 and 6.1.1.5. ; _item.name '_atom_type.scat_Cromer_Mann_a4' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_Cromer_Mann_a4' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_b4' '_atom_type.scat_Cromer_Mann_c' _item_type.code float save_ save__atom_type.scat_Cromer_Mann_b1 _item_description.description ; The Cromer-Mann scattering-factor coefficient b1 used to calculate the scattering factors for this atom type. Ref: International Tables for X-ray Crystallography (1974). Vol. IV, Table 2.2B or: International Tables for Crystallography (2004). Vol. C, Tables 6.1.1.4 and 6.1.1.5. ; _item.name '_atom_type.scat_Cromer_Mann_b1' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_Cromer_Mann_b1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_b4' '_atom_type.scat_Cromer_Mann_c' _item_type.code float save_ save__atom_type.scat_Cromer_Mann_b2 _item_description.description ; The Cromer-Mann scattering-factor coefficient b2 used to calculate the scattering factors for this atom type. Ref: International Tables for X-ray Crystallography (1974). Vol. IV, Table 2.2B or: International Tables for Crystallography (2004). Vol. C, Tables 6.1.1.4 and 6.1.1.5. ; _item.name '_atom_type.scat_Cromer_Mann_b2' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_Cromer_Mann_b2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_b4' '_atom_type.scat_Cromer_Mann_c' _item_type.code float save_ save__atom_type.scat_Cromer_Mann_b3 _item_description.description ; The Cromer-Mann scattering-factor coefficient b3 used to calculate the scattering factors for this atom type. Ref: International Tables for X-ray Crystallography (1974). Vol. IV, Table 2.2B or: International Tables for Crystallography (2004). Vol. C, Tables 6.1.1.4 and 6.1.1.5. ; _item.name '_atom_type.scat_Cromer_Mann_b3' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_Cromer_Mann_b3' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b4' '_atom_type.scat_Cromer_Mann_c' _item_type.code float save_ save__atom_type.scat_Cromer_Mann_b4 _item_description.description ; The Cromer-Mann scattering-factor coefficient b4 used to calculate the scattering factors for this atom type. Ref: International Tables for X-ray Crystallography (1974). Vol. IV, Table 2.2B or: International Tables for Crystallography (2004). Vol. C, Tables 6.1.1.4 and 6.1.1.5. ; _item.name '_atom_type.scat_Cromer_Mann_b4' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_Cromer_Mann_b4' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_c' _item_type.code float save_ save__atom_type.scat_Cromer_Mann_c _item_description.description ; The Cromer-Mann scattering-factor coefficient c used to calculate the scattering factors for this atom type. Ref: International Tables for X-ray Crystallography (1974). Vol. IV, Table 2.2B or: International Tables for Crystallography (2004). Vol. C, Tables 6.1.1.4 and 6.1.1.5. ; _item.name '_atom_type.scat_Cromer_Mann_c' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_Cromer_Mann_c' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_b4' _item_type.code float save_ save__atom_type.scat_dispersion_imag _item_description.description ; The imaginary component of the anomalous-dispersion scattering factor, f'', in electrons for this atom type and the radiation identified by _diffrn_radiation_wavelength.id. ; _item.name '_atom_type.scat_dispersion_imag' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_dispersion_imag' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value 0.0 _item_dependent.dependent_name '_atom_type.scat_dispersion_real' _item_type.code float save_ save__atom_type.scat_dispersion_real _item_description.description ; The real component of the anomalous-dispersion scattering factor, f', in electrons for this atom type and the radiation identified by _diffrn_radiation_wavelength.id. ; _item.name '_atom_type.scat_dispersion_real' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_dispersion_real' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value 0.0 _item_dependent.dependent_name '_atom_type.scat_dispersion_imag' _item_type.code float save_ save__atom_type.scat_length_neutron _item_description.description ; The bound coherent scattering length in femtometres for the atom type at the isotopic composition used for the diffraction experiment. ; _item.name '_atom_type.scat_length_neutron' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_length_neutron' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_units.code femtometres save_ save__atom_type.scat_source _item_description.description ; Reference to the source of the scattering factors or scattering lengths used for this atom type. ; _item.name '_atom_type.scat_source' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_source' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'International Tables Vol. IV Table 2.4.6B' save_ save__atom_type.scat_versus_stol_list _item_description.description ; A table of scattering factors as a function of sin theta over lambda. This table should be well commented to indicate the items present. Regularly formatted lists are strongly recommended. ; _item.name '_atom_type.scat_versus_stol_list' _item.category_id atom_type _item.mandatory_code no _item_aliases.alias_name '_atom_type_scat_versus_stol_list' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__atom_type.symbol _item_description.description ; The code used to identify the atom species (singular or plural) representing this atom type. Normally this code is the element symbol. The code may be composed of any character except an underscore with the additional proviso that digits designate an oxidation state and must be followed by a + or - character. ; loop_ _item.name _item.category_id _item.mandatory_code '_atom_type.symbol' atom_type yes '_atom_site.type_symbol' atom_site yes '_atom_site_anisotrop.type_symbol' atom_site_anisotrop yes '_chemical_conn_atom.type_symbol' chemical_conn_atom yes # '_chem_comp_atom.type_symbol' chem_comp_atom yes # '_phasing_MIR_der_site.atom_type_symbol' # phasing_MIR_der_site yes _item_aliases.alias_name '_atom_type_symbol' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_linked.child_name _item_linked.parent_name '_atom_site.type_symbol' '_atom_type.symbol' '_atom_site_anisotrop.type_symbol' '_atom_type.symbol' '_chemical_conn_atom.type_symbol' '_atom_type.symbol' # '_chem_comp_atom.type_symbol' '_atom_type.symbol' # '_phasing_MIR_der_site.atom_type_symbol' '_atom_type.symbol' _item_type.code code loop_ _item_examples.case 'C' 'Cu2+' 'H(SDS)' 'dummy' 'FeNi' save_ ########### ## AUDIT ## ########### save_audit _category.description ; Data items in the AUDIT category record details about the creation and subsequent updating of the data block. Note that these items apply only to the creation and updating of the data block, and should not be confused with the data items in the JOURNAL category that record different stages in the publication of the material in the data block. ; _category.id audit _category.mandatory_code no _category_key.name '_audit.revision_id' loop_ _category_group.id 'inclusive_group' 'audit_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _audit.revision_id 1 _audit.creation_date '1992-12-08' _audit.creation_method ; Created by hand from PDB entry 5HVP, from the J. Biol. Chem. paper describing this structure and from laboratory records ; _audit.update_record ; 1992-12-09 adjusted to reflect comments from B. McKeever 1992-12-10 adjusted to reflect comments from H. Berman 1992-12-12 adjusted to reflect comments from K. Watenpaugh ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; _audit.revision_id 2 _audit.creation_date 1991-03-20 _audit.creation_method from_xtal_archive_file_using_CIFIO _audit.update_record ; 1991-04-09 text and data added by Tony Willis. 1991-04-15 rec'd by co-editor as manuscript HL0007. 1991-04-17 adjustments based on first referee report. 1991-04-18 adjustments based on second referee report. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__audit.creation_date _item_description.description ; A date that the data block was created. The date format is yyyy-mm-dd. ; _item.name '_audit.creation_date' _item.category_id audit _item.mandatory_code no _item_aliases.alias_name '_audit_creation_date' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code yyyy-mm-dd _item_examples.case '1990-07-12' save_ save__audit.creation_method _item_description.description ; A description of how data were entered into the data block. ; _item.name '_audit.creation_method' _item.category_id audit _item.mandatory_code no _item_aliases.alias_name '_audit_creation_method' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'spawned by the program QBEE' save_ save__audit.revision_id _item_description.description ; The value of _audit.revision_id must uniquely identify a record in the AUDIT list. ; _item.name '_audit.revision_id' _item.category_id audit _item.mandatory_code yes _item_type.code code _item_examples.case 'rev1' save_ save__audit.update_record _item_description.description ; A record of any changes to the data block. The update format is a date (yyyy-mm-dd) followed by a description of the changes. The latest update entry is added to the bottom of this record. ; _item.name '_audit.update_record' _item.category_id audit _item.mandatory_code no _item_aliases.alias_name '_audit_update_record' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case '1990-07-15 Updated by the Co-editor' save_ ################## ## AUDIT_AUTHOR ## ################## save_audit_author _category.description ; Data items in the AUDIT_AUTHOR category record details about the author(s) of the data block. ; _category.id audit_author _category.mandatory_code no _category_key.name '_audit_author.pdbx_ordinal' loop_ _category_group.id 'inclusive_group' 'audit_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _audit_author.pdbx_ordinal _audit_author.name _audit_author.address 1 'Fitzgerald, Paula M.D.' ; Department of Biophysical Chemistry Merck Research Laboratories P. O. Box 2000, Ry80M203 Rahway, New Jersey 07065 USA ; 2 'McKeever, Brian M.' ; Department of Biophysical Chemistry Merck Research Laboratories P. O. Box 2000, Ry80M203 Rahway, New Jersey 07065 USA ; 3 'Van Middlesworth, J.F.' ; Department of Biophysical Chemistry Merck Research Laboratories P. O. Box 2000, Ry80M203 Rahway, New Jersey 07065 USA ; 4 'Springer, James P.' ; Department of Biophysical Chemistry Merck Research Laboratories P. O. Box 2000, Ry80M203 Rahway, New Jersey 07065 USA ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__audit_author.address _item_description.description ; The address of an author of this data block. If there are multiple authors, _audit_author.address is looped with _audit_author.name. ; _item.name '_audit_author.address' _item.category_id audit_author _item.mandatory_code no _item_aliases.alias_name '_audit_author_address' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case ; Department Institute Street City and postcode COUNTRY ; _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_audit_author.address' save_ save__audit_author.name _item_description.description ; The name of an author of this data block. If there are multiple authors, _audit_author.name is looped with _audit_author.address. The family name(s), followed by a comma and including any dynastic components, precedes the first name(s) or initial(s). ; _item.name '_audit_author.name' _item.category_id audit_author _item.mandatory_code yes _pdbx_item.name '_audit_author.name' _pdbx_item.mandatory_code yes _pdbx_item_type.name '_audit_author.name' _pdbx_item_type.code author _pdbx_item_description.name '_audit_author.name' _pdbx_item_description.description 'List people responsible for the contents of this entry. Hyphens, apostrophes and blank spaces are allowed in the last names. Special characters and character modifiers should not be used.' _item_aliases.alias_name '_audit_author_name' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case 'Bleary, Percival R.' "O'Neil, F.K." 'Van den Bossche, G.' 'Yang, D.-L.' 'Simonov, Yu.A' _pdbx_item_examples.name '_audit_author.name' _pdbx_item_examples.case 'Jones, T.J.' _pdbx_item_examples.detail . save_ ################### ## AUDIT_CONFORM ## ################### save_audit_conform _category.description ; Data items in the AUDIT_CONFORM category describe the dictionary versions against which the data names appearing in the current data block are conformant. ; _category.id audit_conform _category.mandatory_code no loop_ _category_key.name '_audit_conform.dict_name' '_audit_conform.dict_version' loop_ _category_group.id 'inclusive_group' 'audit_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - any file conforming to the current CIF core dictionary. ; ; _audit_conform.dict_name cif_core.dic _audit_conform.dict_version 2.3.1 _audit_conform.dict_location ftp://ftp.iucr.org/pub/cif_core.2.3.1.dic ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__audit_conform.dict_location _item_description.description ; A file name or uniform resource locator (URL) for the dictionary to which the current data block conforms. ; _item.name '_audit_conform.dict_location' _item.category_id audit_conform _item.mandatory_code no _item_aliases.alias_name '_audit_conform_dict_location' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__audit_conform.dict_name _item_description.description ; The string identifying the highest-level dictionary defining data names used in this file. ; _item.name '_audit_conform.dict_name' _item.category_id audit_conform _item.mandatory_code yes _item_aliases.alias_name '_audit_conform_dict_name' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__audit_conform.dict_version _item_description.description ; The version number of the dictionary to which the current data block conforms. ; _item.name '_audit_conform.dict_version' _item.category_id audit_conform _item.mandatory_code yes _item_aliases.alias_name '_audit_conform_dict_version' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ ########################## ## AUDIT_CONTACT_AUTHOR ## ########################## save_audit_contact_author _category.description ; Data items in the AUDIT_CONTACT_AUTHOR category record details about the name and address of the author to be contacted concerning the content of this data block. ; _category.id audit_contact_author _category.mandatory_code no _category_key.name '_audit_contact_author.name' loop_ _category_group.id 'inclusive_group' 'audit_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _audit_contact_author.name 'Fitzgerald, Paula M.D.' _audit_contact_author.address ; Department of Biophysical Chemistry Merck Research Laboratories PO Box 2000, Ry80M203 Rahway, New Jersey 07065 USA ; _audit_contact_author.phone '1(908)5945510' _audit_contact_author.fax '1(908)5946645' _audit_contact_author.email 'paula_fitzgerald@merck.com' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id audit_contact_author save_ save__audit_contact_author.address _item_description.description ; The mailing address of the author of the data block to whom correspondence should be addressed. ; _item.name '_audit_contact_author.address' _item.category_id audit_contact_author _item.mandatory_code no _item_aliases.alias_name '_audit_contact_author_address' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case ; Department Institute Street City and postcode COUNTRY ; save_ save__audit_contact_author.email _item_description.description ; The electronic mail address of the author of the data block to whom correspondence should be addressed, in a form recognizable to international networks. The format of e-mail addresses is given in Section 3.4, Address Specification, of Internet Message Format, RFC 2822, P. Resnick (Editor), Network Standards Group, April 2001. ; _item.name '_audit_contact_author.email' _item.category_id audit_contact_author _item.mandatory_code no _item_aliases.alias_name '_audit_contact_author_email' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case 'name@host.domain.country' 'bm@iucr.org' save_ save__audit_contact_author.fax _item_description.description ; The facsimile telephone number of the author of the data block to whom correspondence should be addressed. The recommended style starts with the international dialing prefix, followed by the area code in parentheses, followed by the local number with no spaces. ; _item.name '_audit_contact_author.fax' _item.category_id audit_contact_author _item.mandatory_code no _item_aliases.alias_name '_audit_contact_author_fax' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case '12(34)9477334' '12()349477334' save_ save__audit_contact_author.name _item_description.description ; The name of the author of the data block to whom correspondence should be addressed. The family name(s), followed by a comma and including any dynastic components, precedes the first name(s) or initial(s). ; _item.name '_audit_contact_author.name' _item.category_id audit_contact_author _item.mandatory_code yes _item_aliases.alias_name '_audit_contact_author_name' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case 'Bleary, Percival R.' "O'Neil, F.K." 'Van den Bossche, G.' 'Yang, D.-L.' 'Simonov, Yu.A' save_ save__audit_contact_author.phone _item_description.description ; The telephone number of the author of the data block to whom correspondence should be addressed. The recommended style starts with the international dialing prefix, followed by the area code in parentheses, followed by the local number and any extension number prefixed by 'x', with no spaces. ; _item.name '_audit_contact_author.phone' _item.category_id audit_contact_author _item.mandatory_code no _item_aliases.alias_name '_audit_contact_author_phone' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case '12(34)9477330' '12()349477330' '12(34)9477330x5543' save_ ########## ## CELL ## ########## save_cell _category.description ; Data items in the CELL category record details about the crystallographic cell parameters. ; _category.id cell _category.mandatory_code no _category_key.name '_cell.entry_id' loop_ _category_group.id 'inclusive_group' 'cell_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _cell.entry_id '5HVP' _cell.length_a 58.39 _cell.length_a_esd 0.05 _cell.length_b 86.70 _cell.length_b_esd 0.12 _cell.length_c 46.27 _cell.length_c_esd 0.06 _cell.angle_alpha 90.00 _cell.angle_beta 90.00 _cell.angle_gamma 90.00 _cell.volume 234237 _cell.details ; The cell parameters were refined every twenty frames during data integration. The cell lengths given are the mean of 55 such refinements; the esds given are the root mean square deviations of these 55 observations from that mean. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; _cell.entry_id '1TOZ' _cell.length_a 5.959 _cell.length_a_esd 0.001 _cell.length_b 14.956 _cell.length_b_esd 0.001 _cell.length_c 19.737 _cell.length_c_esd 0.003 _cell.angle_alpha 90.0 _cell.angle_beta 90.0 _cell.angle_gamma 90.0 _cell.volume 1759.0 _cell.volume_esd 0.3 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__cell.angle_alpha _item_description.description ; Unit-cell angle alpha of the reported structure in degrees. ; _item.name '_cell.angle_alpha' _item.category_id cell _item.mandatory_code no _item_aliases.alias_name '_cell_angle_alpha' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 90.0 loop_ _item_dependent.dependent_name '_cell.angle_beta' '_cell.angle_gamma' loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 0.0 0.0 0.0 _item_related.related_name '_cell.angle_alpha_esd' _item_related.function_code associated_esd _item_sub_category.id cell_angle _item_type.code float _item_type_conditions.code esd _item_units.code degrees save_ save__cell.angle_alpha_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _cell.angle_alpha. ; _item.name '_cell.angle_alpha_esd' _item.category_id cell _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_cell.angle_beta_esd' '_cell.angle_gamma_esd' _item_related.related_name '_cell.angle_alpha' _item_related.function_code associated_value _item_sub_category.id cell_angle_esd _item_type.code float _item_units.code degrees save_ save__cell.angle_beta _item_description.description ; Unit-cell angle beta of the reported structure in degrees. ; _item.name '_cell.angle_beta' _item.category_id cell _item.mandatory_code no _item_aliases.alias_name '_cell_angle_beta' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 90.0 loop_ _item_dependent.dependent_name '_cell.angle_alpha' '_cell.angle_gamma' loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 0.0 0.0 0.0 _item_related.related_name '_cell.angle_beta_esd' _item_related.function_code associated_esd _item_sub_category.id cell_angle _item_type.code float _item_type_conditions.code esd _item_units.code degrees save_ save__cell.angle_beta_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _cell.angle_beta. ; _item.name '_cell.angle_beta_esd' _item.category_id cell _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_cell.angle_alpha_esd' '_cell.angle_gamma_esd' _item_related.related_name '_cell.angle_beta' _item_related.function_code associated_value _item_sub_category.id cell_angle_esd _item_type.code float _item_units.code degrees save_ save__cell.angle_gamma _item_description.description ; Unit-cell angle gamma of the reported structure in degrees. ; _item.name '_cell.angle_gamma' _item.category_id cell _item.mandatory_code no _item_aliases.alias_name '_cell_angle_gamma' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 90.0 loop_ _item_dependent.dependent_name '_cell.angle_alpha' '_cell.angle_beta' loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 0.0 0.0 0.0 _item_related.related_name '_cell.angle_gamma_esd' _item_related.function_code associated_esd _item_sub_category.id cell_angle _item_type.code float _item_type_conditions.code esd _item_units.code degrees save_ save__cell.angle_gamma_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _cell.angle_gamma. ; _item.name '_cell.angle_gamma_esd' _item.category_id cell _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_cell.angle_alpha_esd' '_cell.angle_beta_esd' _item_related.related_name '_cell.angle_gamma' _item_related.function_code associated_value _item_sub_category.id cell_angle_esd _item_type.code float _item_units.code degrees save_ save__cell.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_cell.entry_id' _item.mandatory_code yes save_ save__cell.details _item_description.description ; A description of special aspects of the cell choice, noting possible alternative settings. ; _item.name '_cell.details' _item.category_id cell _item.mandatory_code no _item_aliases.alias_name '_cell_special_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'pseudo-orthorhombic' 'standard setting from 45 deg rotation around c' save_ save__cell.formula_units_Z _item_description.description ; The number of the formula units in the unit cell as specified by _chemical_formula.structural, _chemical_formula.moiety or _chemical_formula.sum. ; _item.name '_cell.formula_units_Z' _item.category_id cell _item.mandatory_code no _item_aliases.alias_name '_cell_formula_units_Z' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ save__cell.length_a _item_description.description ; Unit-cell length a corresponding to the structure reported in angstroms. ; _item.name '_cell.length_a' _item.category_id cell _item.mandatory_code no _item_aliases.alias_name '_cell_length_a' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_cell.length_b' '_cell.length_c' loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_cell.length_a_esd' _item_related.function_code associated_esd _item_sub_category.id cell_length _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__cell.length_a_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _cell.length_a. ; _item.name '_cell.length_a_esd' _item.category_id cell _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_cell.length_b_esd' '_cell.length_c_esd' _item_related.related_name '_cell.length_a' _item_related.function_code associated_value _item_sub_category.id cell_length_esd _item_type.code float _item_units.code angstroms save_ save__cell.length_b _item_description.description ; Unit-cell length b corresponding to the structure reported in angstroms. ; _item.name '_cell.length_b' _item.category_id cell _item.mandatory_code no _item_aliases.alias_name '_cell_length_b' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_cell.length_a' '_cell.length_c' loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_cell.length_b_esd' _item_related.function_code associated_esd _item_sub_category.id cell_length _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__cell.length_b_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _cell.length_b. ; _item.name '_cell.length_b_esd' _item.category_id cell _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_cell.length_a_esd' '_cell.length_c_esd' _item_related.related_name '_cell.length_b' _item_related.function_code associated_value _item_sub_category.id cell_length_esd _item_type.code float _item_units.code angstroms save_ save__cell.length_c _item_description.description ; Unit-cell length c corresponding to the structure reported in angstroms. ; _item.name '_cell.length_c' _item.category_id cell _item.mandatory_code no _item_aliases.alias_name '_cell_length_c' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_cell.length_a' '_cell.length_b' loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_cell.length_c_esd' _item_related.function_code associated_esd _item_sub_category.id cell_length _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__cell.length_c_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _cell.length_c. ; _item.name '_cell.length_c_esd' _item.category_id cell _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_cell.length_a_esd' '_cell.length_b_esd' _item_related.related_name '_cell.length_c' _item_related.function_code associated_value _item_sub_category.id cell_length_esd _item_type.code float _item_units.code angstroms save_ save__cell.volume _item_description.description ; Cell volume V in angstroms cubed. V = a b c (1 - cos^2^~alpha~ - cos^2^~beta~ - cos^2^~gamma~ + 2 cos~alpha~ cos~beta~ cos~gamma~)^1/2^ a = _cell.length_a b = _cell.length_b c = _cell.length_c alpha = _cell.angle_alpha beta = _cell.angle_beta gamma = _cell.angle_gamma ; _item.name '_cell.volume' _item.category_id cell _item.mandatory_code no _item_aliases.alias_name '_cell_volume' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_cell.volume_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_cubed save_ save__cell.volume_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _cell.volume. ; _item.name '_cell.volume_esd' _item.category_id cell _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_cell.volume' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms_cubed save_ save__cell.Z_PDB _item_description.description ; The number of the polymeric chains in a unit cell. In the case of heteropolymers, Z is the number of occurrences of the most populous chain. This data item is provided for compatibility with the original Protein Data Bank format, and only for that purpose. ; _item.name '_cell.Z_PDB' _item.category_id cell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ ###################### ## CELL_MEASUREMENT ## ###################### save_cell_measurement _category.description ; Data items in the CELL_MEASUREMENT category record details about the measurement of the crystallographic cell parameters. ; _category.id cell_measurement _category.mandatory_code no _category_key.name '_cell_measurement.entry_id' loop_ _category_group.id 'inclusive_group' 'cell_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _cell_measurement.entry_id '5HVP' _cell_measurement.temp 293 _cell_measurement.temp_esd 3 _cell_measurement.theta_min 11 _cell_measurement.theta_max 31 _cell_measurement.wavelength 1.54 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; _cell_measurement.entry_id '1TOZ' _cell_measurement.temp 293 _cell_measurement.reflns_used 25 _cell_measurement.theta_min 25 _cell_measurement.theta_max 31 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__cell_measurement.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_cell_measurement.entry_id' _item.mandatory_code yes save_ save__cell_measurement.pressure _item_description.description ; The pressure in kilopascals at which the unit-cell parameters were measured (not the pressure at which the sample was synthesized). ; _item.name '_cell_measurement.pressure' _item.category_id cell_measurement _item.mandatory_code no _item_aliases.alias_name '_cell_measurement_pressure' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_related.related_name '_cell_measurement.pressure_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code kilopascals save_ save__cell_measurement.pressure_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _cell_measurement.pressure. ; _item.name '_cell_measurement.pressure_esd' _item.category_id cell_measurement _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_cell_measurement.pressure' _item_related.function_code associated_value _item_type.code float _item_units.code kilopascals save_ save__cell_measurement.radiation _item_description.description ; Description of the radiation used to measure the unit-cell data. See also _cell_measurement.wavelength. ; _item.name '_cell_measurement.radiation' _item.category_id cell_measurement _item.mandatory_code no _item_aliases.alias_name '_cell_measurement_radiation' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case 'neutron' 'Cu K\a' 'synchrotron' save_ save__cell_measurement.reflns_used _item_description.description ; The total number of reflections used to determine the unit cell. These reflections may be specified as CELL_MEASUREMENT_REFLN data items. ; _item.name '_cell_measurement.reflns_used' _item.category_id cell_measurement _item.mandatory_code no _item_aliases.alias_name '_cell_measurement_reflns_used' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__cell_measurement.temp _item_description.description ; The temperature in kelvins at which the unit-cell parameters were measured (not the temperature of synthesis). ; _item.name '_cell_measurement.temp' _item.category_id cell_measurement _item.mandatory_code no _item_aliases.alias_name '_cell_measurement_temperature' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_cell_measurement.temp_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code kelvins save_ save__cell_measurement.temp_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _cell_measurement.temp. ; _item.name '_cell_measurement.temp_esd' _item.category_id cell_measurement _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_cell_measurement.temp' _item_related.function_code associated_value _item_type.code float _item_units.code kelvins save_ save__cell_measurement.theta_max _item_description.description ; The maximum theta angle of reflections used to measure the unit cell in degrees. ; _item.name '_cell_measurement.theta_max' _item.category_id cell_measurement _item.mandatory_code no _item_aliases.alias_name '_cell_measurement_theta_max' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 90.0 90.0 90.0 0.0 0.0 0.0 _item_type.code float _item_units.code degrees save_ save__cell_measurement.theta_min _item_description.description ; The minimum theta angle of reflections used to measure the unit cell in degrees. ; _item.name '_cell_measurement.theta_min' _item.category_id cell_measurement _item.mandatory_code no _item_aliases.alias_name '_cell_measurement_theta_min' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 90.0 90.0 90.0 0.0 0.0 0.0 _item_type.code float _item_units.code degrees save_ save__cell_measurement.wavelength _item_description.description ; The wavelength in angstroms of the radiation used to measure the unit cell. If this is not specified, the wavelength is assumed to be that specified in the category DIFFRN_RADIATION_WAVELENGTH. ; _item.name '_cell_measurement.wavelength' _item.category_id cell_measurement _item.mandatory_code no _item_aliases.alias_name '_cell_measurement_wavelength' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ ############################ ## CELL_MEASUREMENT_REFLN ## ############################ save_cell_measurement_refln _category.description ; Data items in the CELL_MEASUREMENT_REFLN category record details about the reflections used to determine the crystallographic cell parameters. The CELL_MEASUREMENT_REFLN data items would in general be used only for diffractometer data. ; _category.id cell_measurement_refln _category.mandatory_code no loop_ _category_key.name '_cell_measurement_refln.index_h' '_cell_measurement_refln.index_k' '_cell_measurement_refln.index_l' loop_ _category_group.id 'inclusive_group' 'cell_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - extracted from the CAD-4 listing of Rb~2~S~2~O~6~ at room temperature (unpublished). ; ; loop_ _cell_measurement_refln.index_h _cell_measurement_refln.index_k _cell_measurement_refln.index_l _cell_measurement_refln.theta -2 4 1 8.67 0 3 2 9.45 3 0 2 9.46 -3 4 1 8.93 -2 1 -2 7.53 10 0 0 23.77 0 10 0 23.78 -5 4 1 11.14 # - - - - data truncated for brevity - - - - ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__cell_measurement_refln.index_h _item_description.description ; Miller index h of a reflection used for measurement of the unit cell. ; _item.name '_cell_measurement_refln.index_h' _item.category_id cell_measurement_refln _item.mandatory_code yes _item_aliases.alias_name '_cell_measurement_refln_index_h' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_cell_measurement_refln.index_k' '_cell_measurement_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__cell_measurement_refln.index_k _item_description.description ; Miller index k of a reflection used for measurement of the unit cell. ; _item.name '_cell_measurement_refln.index_k' _item.category_id cell_measurement_refln _item.mandatory_code yes _item_aliases.alias_name '_cell_measurement_refln_index_k' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_cell_measurement_refln.index_h' '_cell_measurement_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__cell_measurement_refln.index_l _item_description.description ; Miller index l of a reflection used for measurement of the unit cell. ; _item.name '_cell_measurement_refln.index_l' _item.category_id cell_measurement_refln _item.mandatory_code yes _item_aliases.alias_name '_cell_measurement_refln_index_l' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_cell_measurement_refln.index_h' '_cell_measurement_refln.index_k' _item_sub_category.id miller_index _item_type.code int save_ save__cell_measurement_refln.theta _item_description.description ; Theta angle for a reflection used for measurement of the unit cell in degrees. ; _item.name '_cell_measurement_refln.theta' _item.category_id cell_measurement_refln _item.mandatory_code no _item_aliases.alias_name '_cell_measurement_refln_theta' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 90.0 90.0 90.0 0.0 0.0 0.0 _item_type.code float _item_units.code degrees save_ ############### ## CHEM_COMP ## ############### save_chem_comp _category.description ; Data items in the CHEM_COMP category give details about each of the chemical components from which the relevant chemical structures can be constructed, such as name, mass or charge. The related categories CHEM_COMP_ATOM, CHEM_COMP_BOND, CHEM_COMP_ANGLE etc. describe the detailed geometry of these chemical components. ; _category.id chem_comp _category.mandatory_code no _category_key.name '_chem_comp.id' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'chem_comp_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _chem_comp.id _chem_comp.model_source _chem_comp.name phe '1987 Protin/Prolsq Ideals file' phenylalanine val '1987 Protin/Prolsq Ideals file' alanine # - - - - data truncated for brevity - - - - ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chem_comp.formula _item_description.description ; The formula for the chemical component. Formulae are written according to the following rules: (1) Only recognized element symbols may be used. (2) Each element symbol is followed by a 'count' number. A count of '1' may be omitted. (3) A space or parenthesis must separate each cluster of (element symbol + count), but in general parentheses are not used. (4) The order of elements depends on whether carbon is present or not. If carbon is present, the order should be: C, then H, then the other elements in alphabetical order of their symbol. If carbon is not present, the elements are listed purely in alphabetic order of their symbol. This is the 'Hill' system used by Chemical Abstracts. ; _item.name '_chem_comp.formula' _item.category_id chem_comp _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'C18 H19 N7 O8 S' save_ save__chem_comp.formula_weight _item_description.description ; Formula mass in daltons of the chemical component. ; _item.name '_chem_comp.formula_weight' _item.category_id chem_comp _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1.0 1.0 1.0 _item_type.code float save_ save__chem_comp.id _item_description.description ; The value of _chem_comp.id must uniquely identify each item in the CHEM_COMP list. For protein polymer entities, this is the three-letter code for the amino acid. For nucleic acid polymer entities, this is the one-letter code for the base. ; loop_ _item.name _item.category_id _item.mandatory_code '_chem_comp.id' chem_comp yes '_atom_site.label_comp_id' atom_site yes # '_chem_comp.mon_nstd_parent_comp_id' chem_comp no '_chem_comp_atom.comp_id' chem_comp_atom yes '_chem_comp_angle.comp_id' chem_comp_angle yes '_chem_comp_bond.comp_id' chem_comp_bond yes '_chem_comp_chir.comp_id' chem_comp_chir yes '_chem_comp_chir_atom.comp_id' chem_comp_chir_atom yes '_chem_comp_plane.comp_id' chem_comp_plane yes '_chem_comp_plane_atom.comp_id' chem_comp_plane_atom yes '_chem_comp_tor.comp_id' chem_comp_tor yes '_chem_comp_tor_value.comp_id' chem_comp_tor_value yes '_entity_poly_seq.mon_id' entity_poly_seq yes '_geom_angle.atom_site_label_comp_id_1' geom_angle no '_geom_angle.atom_site_label_comp_id_2' geom_angle no '_geom_angle.atom_site_label_comp_id_3' geom_angle no '_geom_bond.atom_site_label_comp_id_1' geom_bond no '_geom_bond.atom_site_label_comp_id_2' geom_bond no '_geom_contact.atom_site_label_comp_id_1' geom_contact no '_geom_contact.atom_site_label_comp_id_2' geom_contact no '_geom_hbond.atom_site_label_comp_id_A' geom_hbond no '_geom_hbond.atom_site_label_comp_id_D' geom_hbond no '_geom_hbond.atom_site_label_comp_id_H' geom_hbond no '_geom_torsion.atom_site_label_comp_id_1' geom_torsion no '_geom_torsion.atom_site_label_comp_id_2' geom_torsion no '_geom_torsion.atom_site_label_comp_id_3' geom_torsion no '_geom_torsion.atom_site_label_comp_id_4' geom_torsion no '_struct_conf.beg_label_comp_id' struct_conf yes '_struct_conf.end_label_comp_id' struct_conf yes '_struct_conn.ptnr1_label_comp_id' struct_conn yes '_struct_conn.ptnr2_label_comp_id' struct_conn yes '_struct_mon_nucl.label_comp_id' struct_mon_nucl yes '_struct_mon_prot.label_comp_id' struct_mon_prot yes '_struct_mon_prot_cis.label_comp_id' struct_mon_prot_cis yes # '_struct_ref_seq_dif.db_mon_id' struct_ref_seq_dif no '_struct_ref_seq_dif.mon_id' struct_ref_seq_dif no '_struct_sheet_range.beg_label_comp_id' struct_sheet_range yes '_struct_sheet_range.end_label_comp_id' struct_sheet_range yes '_struct_site_gen.label_comp_id' struct_site_gen yes loop_ _item_linked.child_name _item_linked.parent_name '_atom_site.label_comp_id' '_chem_comp.id' # '_chem_comp.mon_nstd_parent_comp_id' '_chem_comp.id' '_chem_comp_atom.comp_id' '_chem_comp.id' '_chem_comp_chir.comp_id' '_chem_comp.id' '_chem_comp_chir_atom.comp_id' '_chem_comp.id' '_chem_comp_plane.comp_id' '_chem_comp.id' '_chem_comp_plane_atom.comp_id' '_chem_comp.id' '_entity_poly_seq.mon_id' '_chem_comp.id' '_chem_comp_angle.comp_id' '_chem_comp.id' '_chem_comp_bond.comp_id' '_chem_comp.id' '_chem_comp_tor.comp_id' '_chem_comp.id' '_chem_comp_tor_value.comp_id' '_chem_comp.id' '_geom_angle.atom_site_label_comp_id_1' '_atom_site.label_comp_id' '_geom_angle.atom_site_label_comp_id_2' '_atom_site.label_comp_id' '_geom_angle.atom_site_label_comp_id_3' '_atom_site.label_comp_id' '_geom_bond.atom_site_label_comp_id_1' '_atom_site.label_comp_id' '_geom_bond.atom_site_label_comp_id_2' '_atom_site.label_comp_id' '_geom_contact.atom_site_label_comp_id_1' '_atom_site.label_comp_id' '_geom_contact.atom_site_label_comp_id_2' '_atom_site.label_comp_id' '_geom_hbond.atom_site_label_comp_id_A' '_atom_site.label_comp_id' '_geom_hbond.atom_site_label_comp_id_D' '_atom_site.label_comp_id' '_geom_hbond.atom_site_label_comp_id_H' '_atom_site.label_comp_id' '_geom_torsion.atom_site_label_comp_id_1' '_atom_site.label_comp_id' '_geom_torsion.atom_site_label_comp_id_2' '_atom_site.label_comp_id' '_geom_torsion.atom_site_label_comp_id_3' '_atom_site.label_comp_id' '_geom_torsion.atom_site_label_comp_id_4' '_atom_site.label_comp_id' '_struct_conf.beg_label_comp_id' '_atom_site.label_comp_id' '_struct_conf.end_label_comp_id' '_atom_site.label_comp_id' '_struct_conn.ptnr1_label_comp_id' '_atom_site.label_comp_id' '_struct_conn.ptnr2_label_comp_id' '_atom_site.label_comp_id' '_struct_mon_nucl.label_comp_id' '_atom_site.label_comp_id' '_struct_mon_prot.label_comp_id' '_atom_site.label_comp_id' '_struct_mon_prot_cis.label_comp_id' '_atom_site.label_comp_id' # '_struct_ref_seq_dif.db_mon_id' '_chem_comp.id' # '_struct_ref_seq_dif.mon_id' '_chem_comp.id' '_struct_ref_seq_dif.mon_id' '_entity_poly_seq.mon_id' '_struct_sheet_range.beg_label_comp_id' '_atom_site.label_comp_id' '_struct_sheet_range.end_label_comp_id' '_atom_site.label_comp_id' '_struct_site_gen.label_comp_id' '_atom_site.label_comp_id' _item_type.code ucode loop_ _item_examples.case 'ALA' 'VAL' 'DG' 'C' save_ save__chem_comp.model_details _item_description.description ; A description of special aspects of the generation of the coordinates for the model of the component. ; _item.name '_chem_comp.model_details' _item.category_id chem_comp _item.mandatory_code no _item_type.code text _item_examples.case 'geometry idealized but not minimized' save_ save__chem_comp.model_erf _item_description.description ; A pointer to an external reference file from which the atomic description of the component is taken. ; _item.name '_chem_comp.model_erf' _item.category_id chem_comp _item.mandatory_code no _item_type.code line save_ save__chem_comp.model_source _item_description.description ; The source of the coordinates for the model of the component. ; _item.name '_chem_comp.model_source' _item.category_id chem_comp _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'CSD entry ABCDEF' 'built using Quanta/Charmm' save_ save__chem_comp.mon_nstd_class _item_description.description ; A description of the class of a nonstandard monomer if the nonstandard monomer represents a modification of a standard monomer. ; _item.name '_chem_comp.mon_nstd_class' _item.category_id chem_comp _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'iodinated base' 'phosphorylated amino acid' 'brominated base' 'modified amino acid' 'glycosylated amino acid' save_ save__chem_comp.mon_nstd_details _item_description.description ; A description of special details of a nonstandard monomer. ; _item.name '_chem_comp.mon_nstd_details' _item.category_id chem_comp _item.mandatory_code no _item_type.code text save_ save__chem_comp.mon_nstd_flag _item_description.description ; 'yes' indicates that this is a 'standard' monomer, 'no' indicates that it is 'nonstandard'. Nonstandard monomers should be described in more detail using the _chem_comp.mon_nstd_parent, _chem_comp.mon_nstd_class and _chem_comp.mon_nstd_details data items. ; _item.name '_chem_comp.mon_nstd_flag' _item.category_id chem_comp _item.mandatory_code no _item_type.code ucode _item_default.value no loop_ _item_enumeration.value _item_enumeration.detail no 'the monomer is nonstandard' n 'abbreviation for "no"' yes 'the monomer is standard' y 'abbreviation for "yes"' save_ save__chem_comp.mon_nstd_parent _item_description.description ; The name of the parent monomer of the nonstandard monomer, if the nonstandard monomer represents a modification of a standard monomer. ; _item.name '_chem_comp.mon_nstd_parent' _item.category_id chem_comp _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'tyrosine' 'cytosine' save_ save__chem_comp.mon_nstd_parent_comp_id _item_description.description ; The identifier for the parent component of the nonstandard component. May be be a comma separated list if this component is derived from multiple components. Items in this indirectly point to _chem_comp.id in the CHEM_COMP category. ; _item.name '_chem_comp.mon_nstd_parent_comp_id' _item.category_id chem_comp _item.mandatory_code no _item_type.code uline save_ save__chem_comp.name _item_description.description ; The full name of the component. ; _item.name '_chem_comp.name' _item.category_id chem_comp _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'alanine' 'valine' 'adenine' 'cytosine' save_ save__chem_comp.number_atoms_all _item_description.description ; The total number of atoms in the component. ; _item.name '_chem_comp.number_atoms_all' _item.category_id chem_comp _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ save__chem_comp.number_atoms_nh _item_description.description ; The number of non-hydrogen atoms in the component. ; _item.name '_chem_comp.number_atoms_nh' _item.category_id chem_comp _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ save__chem_comp.one_letter_code _item_description.description ; For standard polymer components, the one-letter code for the component. For non-standard polymer components, the one-letter code for parent component if this exists; otherwise, the one-letter code should be given as 'X'. Components that derived from multiple parents components are described by a sequence of one-letter-codes. ; _item.name '_chem_comp.one_letter_code' _item.category_id chem_comp _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case _item_examples.detail A 'alanine or adenine' B 'ambiguous asparagine/aspartic acid' R 'arginine' N 'asparagine' D 'aspartic acid' C 'cysteine or cystine or cytosine' Q 'glutamine' E 'glutamic acid' Z 'ambiguous glutamine/glutamic acid' G 'glycine or guanine' H 'histidine' I 'isoleucine' L 'leucine' K 'lysine' M 'methionine' F 'phenylalanine' P 'proline' S 'serine' T 'threonine or thymine' W 'tryptophan' Y 'tyrosine' V 'valine' U 'uracil' O 'water' X 'other' save_ save__chem_comp.three_letter_code _item_description.description ; For standard polymer components, the common three-letter code for the component. Non-standard polymer components and non-polymer components are also assigned three-letter-codes. For ambiguous polymer components three-letter code should be given as 'UNK'. Ambiguous ions are assigned the code 'UNX'. Ambiguous non-polymer components are assigned the code 'UNL'. ; _item.name '_chem_comp.three_letter_code' _item.category_id chem_comp _item.mandatory_code no _item_type.code uchar3 loop_ _item_examples.case _item_examples.detail ALA 'alanine' ARG 'arginine' ASN 'asparagine' ASP 'aspartic acid' ASX 'ambiguous asparagine/aspartic acid' CYS 'cysteine' GLN 'glutamine' GLU 'glutamic acid' GLY 'glycine' GLX 'ambiguous glutamine/glutamic acid' HIS 'histidine' ILE 'isoleucine' LEU 'leucine' LYS 'lysine' MET 'methionine' PHE 'phenylalanine' PRO 'proline' SER 'serine' THR 'threonine' TRP 'tryptophan' TYR 'tyrosine' VAL 'valine' 1MA '1-methyladenosine' 5MC '5-methylcytosine' OMC '2(prime)-O-methylcytodine' 1MG '1-methylguanosine' 2MG 'N(2)-methylguanosine' M2G 'N(2)-dimethylguanosine' 7MG '7-methylguanosine' 0MG '2(prime)-O-methylguanosine' H2U 'dihydrouridine' 5MU 'ribosylthymidine' PSU 'pseudouridine' ACE 'acetic acid' FOR 'formic acid' HOH 'water' UNK 'other' save_ save__chem_comp.type _item_description.description ; For standard polymer components, the type of the monomer. Note that monomers that will form polymers are of three types: linking monomers, monomers with some type of N-terminal (or 5') cap and monomers with some type of C-terminal (or 3') cap. ; loop_ _item.name _item.category_id _item.mandatory_code '_chem_comp.type' chem_comp yes '_chem_comp_link.type_comp_1' chem_comp_link yes '_chem_comp_link.type_comp_2' chem_comp_link yes loop_ _item_linked.child_name _item_linked.parent_name '_chem_comp_link.type_comp_1' '_chem_comp.type' '_chem_comp_link.type_comp_2' '_chem_comp.type' _item_type.code uline loop_ _item_enumeration.value _item_enumeration.detail 'D-peptide linking' . 'L-peptide linking' . 'D-peptide NH3 amino terminus' . 'L-peptide NH3 amino terminus' . 'D-peptide COOH carboxy terminus' . 'L-peptide COOH carboxy terminus' . 'DNA linking' . 'RNA linking' . 'L-RNA linking' . 'L-DNA linking' . 'DNA OH 5 prime terminus' . 'RNA OH 5 prime terminus' . 'DNA OH 3 prime terminus' . 'RNA OH 3 prime terminus' . 'D-saccharide, beta linking' . 'D-saccharide, alpha linking' . 'L-saccharide, beta linking' . 'L-saccharide, alpha linking' . 'L-saccharide' . 'D-saccharide' . 'saccharide' . 'non-polymer' . 'peptide linking' . 'peptide-like' . 'L-gamma-peptide, C-delta linking' 'Iso-peptide linking L-gamma peptide' 'D-gamma-peptide, C-delta linking' 'Iso-peptide linking D-gamma peptide' 'L-beta-peptide, C-gamma linking' 'Iso-peptide linking L-beta peptide' 'D-beta-peptide, C-gamma linking' 'Iso-peptide linking D-beta peptide' 'other' . save_ ##################### ## CHEM_COMP_ANGLE ## ##################### save_chem_comp_angle _category.description ; Data items in the CHEM_COMP_ANGLE category record details about angles in a chemical component. Angles are designated by three atoms, with the second atom forming the vertex of the angle. Target values may be specified as angles in degrees, as a distance between the first and third atoms, or both. ; _category.id chem_comp_angle _category.mandatory_code no loop_ _category_key.name '_chem_comp_angle.comp_id' '_chem_comp_angle.atom_id_1' '_chem_comp_angle.atom_id_2' '_chem_comp_angle.atom_id_3' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _chem_comp_angle.comp_id _chem_comp_angle.atom_id_1 _chem_comp_angle.atom_id_2 _chem_comp_angle.atom_id_3 _chem_comp_angle.value_angle PHE N CA C 110.8 PHE N CA CB 110.1 PHE C CA CB 110.3 PHE C CA HA 108.3 PHE CA C O 118.4 PHE CA C OXT 117.8 PHE CA CB CG 114.0 PHE O C OXT 123.8 PHE CB CG CD1 120.8 PHE CB CG CD2 120.5 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chem_comp_angle.atom_id_1 _item_description.description ; The ID of the first of the three atoms that define the angle. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_chem_comp_angle.atom_id_1' _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_comp_angle.atom_id_2' '_chem_comp_angle.atom_id_3' save_ save__chem_comp_angle.atom_id_2 _item_description.description ; The ID of the second of the three atoms that define the angle. The second atom is taken to be the apex of the angle. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_chem_comp_angle.atom_id_2' _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_comp_angle.atom_id_1' '_chem_comp_angle.atom_id_3' save_ save__chem_comp_angle.atom_id_3 _item_description.description ; The ID of the third of the three atoms that define the angle. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_chem_comp_angle.atom_id_3' _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_comp_angle.atom_id_1' '_chem_comp_angle.atom_id_2' save_ save__chem_comp_angle.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_chem_comp_angle.comp_id' _item.mandatory_code yes save_ save__chem_comp_angle.value_angle _item_description.description ; The value that should be taken as the target value for the angle associated with the specified atoms, expressed in degrees. ; _item.name '_chem_comp_angle.value_angle' _item.category_id chem_comp_angle _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 0.0 0.0 0.0 _item_related.related_name '_chem_comp_angle.value_angle_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code degrees save_ save__chem_comp_angle.value_angle_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_comp_angle.value_angle. ; _item.name '_chem_comp_angle.value_angle_esd' _item.category_id chem_comp_angle _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 0.0 0.0 0.0 _item_related.related_name '_chem_comp_angle.value_angle' _item_related.function_code associated_value _item_type.code float _item_units.code degrees save_ save__chem_comp_angle.value_dist _item_description.description ; The value that should be taken as the target value for the angle associated with the specified atoms, expressed as the distance between the atoms specified by _chem_comp_angle.atom_id_1 and _chem_comp_angle.atom_id_3. ; _item.name '_chem_comp_angle.value_dist' _item.category_id chem_comp_angle _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_chem_comp_angle.value_dist_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__chem_comp_angle.value_dist_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_comp_angle.value_dist. ; _item.name '_chem_comp_angle.value_dist_esd' _item.category_id chem_comp_angle _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_chem_comp_angle.value_dist' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms save_ #################### ## CHEM_COMP_ATOM ## #################### save_chem_comp_atom _category.description ; Data items in the CHEM_COMP_ATOM category record details about the atoms in a chemical component. Specifying the atomic coordinates for the components in this category is an alternative to specifying the structure of the component via bonds, angles, planes etc. in the appropriate CHEM_COMP subcategories. ; _category.id chem_comp_atom _category.mandatory_code no loop_ _category_key.name '_chem_comp_atom.comp_id' '_chem_comp_atom.atom_id' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'chem_comp_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.type_symbol _chem_comp_atom.substruct_code _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z phe N N main 1.20134 0.84658 0.00000 phe CA C main 0.00000 0.00000 0.00000 phe C C main -1.25029 0.88107 0.00000 phe O O main -2.18525 0.66029 -0.78409 phe CB C side 0.00662 -1.03603 1.11081 phe CG C side 0.03254 -0.49711 2.50951 phe CD1 C side -1.15813 -0.12084 3.13467 phe CE1 C side -1.15720 0.38038 4.42732 phe CZ C side 0.05385 0.51332 5.11032 phe CE2 C side 1.26137 0.11613 4.50975 phe CD2 C side 1.23668 -0.38351 3.20288 val N N main 1.20134 0.84658 0.00000 val CA C main 0.00000 0.00000 0.00000 val C C main -1.25029 0.88107 0.00000 val O O main -2.18525 0.66029 -0.78409 val CB C side 0.05260 -0.99339 1.17429 val CG1 C side -0.13288 -0.31545 2.52668 val CG2 C side -0.94265 -2.12930 0.99811 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chem_comp_atom.alt_atom_id _item_description.description ; An alternative identifier for the atom. This data item would be used in cases where alternative nomenclatures exist for labelling atoms in a group. ; _item.name '_chem_comp_atom.alt_atom_id' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code line save_ save__chem_comp_atom.atom_id _item_description.description ; The value of _chem_comp_atom.atom_id must uniquely identify each atom in each monomer in the CHEM_COMP_ATOM list. The atom identifiers need not be unique over all atoms in the data block; they need only be unique for each atom in a component. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_chem_comp_atom.atom_id' chem_comp_atom yes '_atom_site.label_atom_id' atom_site yes '_chem_comp_angle.atom_id_1' chem_comp_angle yes '_chem_comp_angle.atom_id_2' chem_comp_angle yes '_chem_comp_angle.atom_id_3' chem_comp_angle yes '_chem_comp_bond.atom_id_1' chem_comp_bond yes '_chem_comp_bond.atom_id_2' chem_comp_bond yes '_chem_comp_chir.atom_id' chem_comp_chir yes '_chem_comp_chir_atom.atom_id' chem_comp_chir_atom yes '_chem_comp_plane_atom.atom_id' chem_comp_plane_atom yes '_chem_comp_tor.atom_id_1' chem_comp_tor yes '_chem_comp_tor.atom_id_2' chem_comp_tor yes '_chem_comp_tor.atom_id_3' chem_comp_tor yes '_chem_comp_tor.atom_id_4' chem_comp_tor yes '_geom_angle.atom_site_label_atom_id_1' geom_angle no '_geom_angle.atom_site_label_atom_id_2' geom_angle no '_geom_angle.atom_site_label_atom_id_3' geom_angle no '_geom_bond.atom_site_label_atom_id_1' geom_bond no '_geom_bond.atom_site_label_atom_id_2' geom_bond no '_geom_contact.atom_site_label_atom_id_1' geom_contact no '_geom_contact.atom_site_label_atom_id_2' geom_contact no '_geom_hbond.atom_site_label_atom_id_A' geom_hbond no '_geom_hbond.atom_site_label_atom_id_D' geom_hbond no '_geom_hbond.atom_site_label_atom_id_H' geom_hbond no '_geom_torsion.atom_site_label_atom_id_1' geom_torsion no '_geom_torsion.atom_site_label_atom_id_2' geom_torsion no '_geom_torsion.atom_site_label_atom_id_3' geom_torsion no '_geom_torsion.atom_site_label_atom_id_4' geom_torsion no '_struct_conn.ptnr1_label_atom_id' struct_conn no '_struct_conn.ptnr2_label_atom_id' struct_conn no '_struct_sheet_hbond.range_1_beg_label_atom_id' struct_sheet_hbond yes '_struct_sheet_hbond.range_1_end_label_atom_id' struct_sheet_hbond yes '_struct_sheet_hbond.range_2_beg_label_atom_id' struct_sheet_hbond yes '_struct_sheet_hbond.range_2_end_label_atom_id' struct_sheet_hbond yes '_struct_site_gen.label_atom_id' struct_site_gen yes loop_ _item_linked.child_name _item_linked.parent_name '_atom_site.label_atom_id' '_chem_comp_atom.atom_id' '_chem_comp_angle.atom_id_1' '_chem_comp_atom.atom_id' '_chem_comp_angle.atom_id_2' '_chem_comp_atom.atom_id' '_chem_comp_angle.atom_id_3' '_chem_comp_atom.atom_id' '_chem_comp_bond.atom_id_1' '_chem_comp_atom.atom_id' '_chem_comp_bond.atom_id_2' '_chem_comp_atom.atom_id' '_chem_comp_chir.atom_id' '_chem_comp_atom.atom_id' '_chem_comp_chir_atom.atom_id' '_chem_comp_atom.atom_id' '_chem_comp_plane_atom.atom_id' '_chem_comp_atom.atom_id' '_chem_comp_tor.atom_id_1' '_chem_comp_atom.atom_id' '_chem_comp_tor.atom_id_2' '_chem_comp_atom.atom_id' '_chem_comp_tor.atom_id_3' '_chem_comp_atom.atom_id' '_chem_comp_tor.atom_id_4' '_chem_comp_atom.atom_id' '_geom_angle.atom_site_label_atom_id_1' '_atom_site.label_atom_id' '_geom_angle.atom_site_label_atom_id_2' '_atom_site.label_atom_id' '_geom_angle.atom_site_label_atom_id_3' '_atom_site.label_atom_id' '_geom_bond.atom_site_label_atom_id_1' '_atom_site.label_atom_id' '_geom_bond.atom_site_label_atom_id_2' '_atom_site.label_atom_id' '_geom_contact.atom_site_label_atom_id_1' '_atom_site.label_atom_id' '_geom_contact.atom_site_label_atom_id_2' '_atom_site.label_atom_id' '_geom_hbond.atom_site_label_atom_id_A' '_atom_site.label_atom_id' '_geom_hbond.atom_site_label_atom_id_D' '_atom_site.label_atom_id' '_geom_hbond.atom_site_label_atom_id_H' '_atom_site.label_atom_id' '_geom_torsion.atom_site_label_atom_id_1' '_atom_site.label_atom_id' '_geom_torsion.atom_site_label_atom_id_2' '_atom_site.label_atom_id' '_geom_torsion.atom_site_label_atom_id_3' '_atom_site.label_atom_id' '_geom_torsion.atom_site_label_atom_id_4' '_atom_site.label_atom_id' '_struct_conn.ptnr1_label_atom_id' '_atom_site.label_atom_id' '_struct_conn.ptnr2_label_atom_id' '_atom_site.label_atom_id' '_struct_sheet_hbond.range_1_beg_label_atom_id' '_atom_site.label_atom_id' '_struct_sheet_hbond.range_1_end_label_atom_id' '_atom_site.label_atom_id' '_struct_sheet_hbond.range_2_beg_label_atom_id' '_atom_site.label_atom_id' '_struct_sheet_hbond.range_2_end_label_atom_id' '_atom_site.label_atom_id' '_struct_site_gen.label_atom_id' '_atom_site.label_atom_id' _item_type.code atcode save_ save__chem_comp_atom.charge _item_description.description ; The net integer charge assigned to this atom. This is the formal charge assignment normally found in chemical diagrams. ; _item.name '_chem_comp_atom.charge' _item.category_id chem_comp_atom _item.mandatory_code no _item_default.value 0 loop_ _item_range.maximum _item_range.minimum 8 8 8 -8 -8 -8 _item_type.code int loop_ _item_examples.case _item_examples.detail 1 'for an ammonium nitrogen' -1 'for a chloride ion' save_ save__chem_comp_atom.model_Cartn_x _item_description.description ; The x component of the coordinates for this atom in this component specified as orthogonal angstroms. The choice of reference axis frame for the coordinates is arbitrary. The set of coordinates input for the entity here is intended to correspond to the atomic model used to generate restraints for structure refinement, not to atom sites in the ATOM_SITE list. ; _item.name '_chem_comp_atom.model_Cartn_x' _item.category_id chem_comp_atom _item.mandatory_code no loop_ _item_dependent.dependent_name '_chem_comp_atom.model_Cartn_y' '_chem_comp_atom.model_Cartn_z' _item_related.related_name '_chem_comp_atom.model_Cartn_x_esd' _item_related.function_code associated_esd _item_sub_category.id cartesian_coordinate _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__chem_comp_atom.model_Cartn_x_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_comp_atom.model_Cartn_x. ; _item.name '_chem_comp_atom.model_Cartn_x_esd' _item.category_id chem_comp_atom _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_chem_comp_atom.model_Cartn_y_esd' '_chem_comp_atom.model_Cartn_z_esd' _item_related.related_name '_chem_comp_atom.model_Cartn_x' _item_related.function_code associated_value _item_sub_category.id cartesian_coordinate_esd _item_type.code float _item_units.code angstroms save_ save__chem_comp_atom.model_Cartn_y _item_description.description ; The y component of the coordinates for this atom in this component specified as orthogonal angstroms. The choice of reference axis frame for the coordinates is arbitrary. The set of coordinates input for the entity here is intended to correspond to the atomic model used to generate restraints for structure refinement, not to atom sites in the ATOM_SITE list. ; _item.name '_chem_comp_atom.model_Cartn_y' _item.category_id chem_comp_atom _item.mandatory_code no loop_ _item_dependent.dependent_name '_chem_comp_atom.model_Cartn_x' '_chem_comp_atom.model_Cartn_z' _item_related.related_name '_chem_comp_atom.model_Cartn_y_esd' _item_related.function_code associated_esd _item_sub_category.id cartesian_coordinate _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__chem_comp_atom.model_Cartn_y_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_comp_atom.model_Cartn_y. ; _item.name '_chem_comp_atom.model_Cartn_y_esd' _item.category_id chem_comp_atom _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_chem_comp_atom.model_Cartn_x_esd' '_chem_comp_atom.model_Cartn_z_esd' _item_related.related_name '_chem_comp_atom.model_Cartn_y' _item_related.function_code associated_value _item_sub_category.id cartesian_coordinate_esd _item_type.code float _item_units.code angstroms save_ save__chem_comp_atom.model_Cartn_z _item_description.description ; The z component of the coordinates for this atom in this component specified as orthogonal angstroms. The choice of reference axis frame for the coordinates is arbitrary. The set of coordinates input for the entity here is intended to correspond to the atomic model used to generate restraints for structure refinement, not to atom sites in the ATOM_SITE list. ; _item.name '_chem_comp_atom.model_Cartn_z' _item.category_id chem_comp_atom _item.mandatory_code no loop_ _item_dependent.dependent_name '_chem_comp_atom.model_Cartn_x' '_chem_comp_atom.model_Cartn_y' _item_related.related_name '_chem_comp_atom.model_Cartn_z_esd' _item_related.function_code associated_esd _item_sub_category.id cartesian_coordinate _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__chem_comp_atom.model_Cartn_z_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_comp_atom.model_Cartn_z. ; _item.name '_chem_comp_atom.model_Cartn_z_esd' _item.category_id chem_comp_atom _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_chem_comp_atom.model_Cartn_x_esd' '_chem_comp_atom.model_Cartn_y_esd' _item_related.related_name '_chem_comp_atom.model_Cartn_z' _item_related.function_code associated_value _item_sub_category.id cartesian_coordinate_esd _item_type.code float _item_units.code angstroms save_ save__chem_comp_atom.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_chem_comp_atom.comp_id' _item.category_id chem_comp_atom _item.mandatory_code yes _item_type.code ucode save_ save__chem_comp_atom.partial_charge _item_description.description ; The partial charge assigned to this atom. ; _item.name '_chem_comp_atom.partial_charge' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code float save_ save__chem_comp_atom.substruct_code _item_description.description ; This data item assigns the atom to a substructure of the component, if appropriate. ; _item.name '_chem_comp_atom.substruct_code' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail main 'main chain of an amino acid' side 'side chain of an amino acid' base 'base of a nucleic acid' phos 'phosphate of a nucleic acid' sugar 'sugar of a nucleic acid' none 'not appropriate for this monomer' save_ #save_chem_comp_atom.type_energy # _item_description.description #; This data item is a pointer to _atom_type_energy.type in the # ATOM_TYPE_ENERGY category. #; # save_ save__chem_comp_atom.type_symbol _item_description.description ; The code used to identify the atom species representing this atom type. Normally this code is the element symbol. ; _item.name '_chem_comp_atom.type_symbol' _item.mandatory_code yes _item_type.code code loop_ _item_examples.case 'C' 'N' 'O' save_ #################### ## CHEM_COMP_BOND ## #################### save_chem_comp_bond _category.description ; Data items in the CHEM_COMP_BOND category record details about the bonds between atoms in a chemical component. Target values may be specified as bond orders, as a distance between the two atoms, or both. ; _category.id chem_comp_bond _category.mandatory_code no loop_ _category_key.name '_chem_comp_bond.comp_id' '_chem_comp_bond.atom_id_1' '_chem_comp_bond.atom_id_2' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'chem_comp_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order phe N CA sing phe CA C sing phe C O doub phe CB CA sing phe CB CG sing phe CG CD1 arom phe CD1 CE1 arom phe CE1 CZ arom phe CZ CE2 arom phe CE2 CD2 arom phe CD2 CG arom val N CA sing val CA C sing val C O doub val CB CA sing val CB CG1 sing val CB CG2 sing ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chem_comp_bond.atom_id_1 _item_description.description ; The ID of the first of the two atoms that define the bond. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_chem_comp_bond.atom_id_1' _item.mandatory_code yes _item_dependent.dependent_name '_chem_comp_bond.atom_id_2' save_ save__chem_comp_bond.atom_id_2 _item_description.description ; The ID of the second of the two atoms that define the bond. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_chem_comp_bond.atom_id_2' _item.mandatory_code yes _item_dependent.dependent_name '_chem_comp_bond.atom_id_1' save_ save__chem_comp_bond.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_chem_comp_bond.comp_id' _item.category_id chem_comp_bond _item.mandatory_code yes save_ save__chem_comp_bond.value_order _item_description.description ; The value that should be taken as the target for the chemical bond associated with the specified atoms, expressed as a bond order. ; _item.name '_chem_comp_bond.value_order' _item.category_id chem_comp_bond _item.mandatory_code no _item_default.value sing _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sing 'single bond' doub 'double bond' trip 'triple bond' quad 'quadruple bond' arom 'aromatic bond' poly 'polymeric bond' delo 'delocalized double bond' pi 'pi bond' save_ save__chem_comp_bond.value_dist _item_description.description ; The value that should be taken as the target for the chemical bond associated with the specified atoms, expressed as a distance. ; _item.name '_chem_comp_bond.value_dist' _item.category_id chem_comp_bond _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_chem_comp_bond.value_dist_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__chem_comp_bond.value_dist_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_comp_bond.value_dist. ; _item.name '_chem_comp_bond.value_dist_esd' _item.category_id chem_comp_bond _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_chem_comp_bond.value_dist' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms save_ #################### ## CHEM_COMP_CHIR ## #################### save_chem_comp_chir _category.description ; Data items in the CHEM_COMP_CHIR category provide details about the chiral centres in a chemical component. The atoms bonded to the chiral atom are specified in the CHEM_COMP_CHIR_ATOM category. ; _category.id chem_comp_chir _category.mandatory_code no loop_ _category_key.name '_chem_comp_chir.comp_id' '_chem_comp_chir.id' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _chem_comp_chir.comp_id _chem_comp_chir.id _chem_comp_chir.atom_id phe phe1 CA val val1 CA # - - - - data truncated for brevity - - - - ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chem_comp_chir.atom_id _item_description.description ; The ID of the atom that is a chiral centre. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_chem_comp_chir.atom_id' _item.mandatory_code yes save_ save__chem_comp_chir.atom_config _item_description.description ; The chiral configuration of the atom that is a chiral centre. ; _item.name '_chem_comp_chir.atom_config' _item.category_id chem_comp_chir _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail R 'absolute configuration R' S 'absolute configuration S' save_ save__chem_comp_chir.id _item_description.description ; The value of _chem_comp_chir.id must uniquely identify a record in the CHEM_COMP_CHIR list. ; loop_ _item.name _item.category_id _item.mandatory_code '_chem_comp_chir.id' chem_comp_chir yes '_chem_comp_chir_atom.chir_id' chem_comp_chir_atom yes loop_ _item_linked.child_name _item_linked.parent_name '_chem_comp_chir_atom.chir_id' '_chem_comp_chir.id' _item_type.code code save_ save__chem_comp_chir.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_chem_comp_chir.comp_id' _item.mandatory_code yes save_ save__chem_comp_chir.number_atoms_all _item_description.description ; The total number of atoms bonded to the atom specified by _chem_comp_chir.atom_id. ; _item.name '_chem_comp_chir.number_atoms_all' _item.category_id chem_comp_chir _item.mandatory_code no _item_type.code int save_ save__chem_comp_chir.number_atoms_nh _item_description.description ; The number of non-hydrogen atoms bonded to the atom specified by _chem_comp_chir.atom_id. ; _item.name '_chem_comp_chir.number_atoms_nh' _item.category_id chem_comp_chir _item.mandatory_code no _item_type.code int save_ save__chem_comp_chir.volume_flag _item_description.description ; A flag to indicate whether a chiral volume should match the standard value in both magnitude and sign, or in magnitude only. ; _item.name '_chem_comp_chir.volume_flag' _item.category_id chem_comp_chir _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sign 'match magnitude and sign' nosign 'match magnitude only' save_ save__chem_comp_chir.volume_three _item_description.description ; The chiral volume, V~c~, for chiral centres that involve a chiral atom bonded to three non-hydrogen atoms and one hydrogen atom. V~c~ = V1 * (V2 X V3) V1 = the vector distance from the atom specified by _chem_comp_chir.atom_id to the first atom in the CHEM_COMP_CHIR_ATOM list V2 = the vector distance from the atom specified by _chem_comp_chir.atom_id to the second atom in the CHEM_COMP_CHIR_ATOM list V3 = the vector distance from the atom specified by _chem_comp_chir.atom_id to the third atom in the CHEM_COMP_CHIR_ATOM list * = the vector dot product X = the vector cross product ; _item.name '_chem_comp_chir.volume_three' _item.category_id chem_comp_chir _item.mandatory_code no _item_related.related_name '_chem_comp_chir.volume_three_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_cubed save_ save__chem_comp_chir.volume_three_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_comp_chir.volume_three. ; _item.name '_chem_comp_chir.volume_three_esd' _item.category_id chem_comp_chir _item.mandatory_code no _item_related.related_name '_chem_comp_chir.volume_three' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms_cubed save_ ######################### ## CHEM_COMP_CHIR_ATOM ## ######################### save_chem_comp_chir_atom _category.description ; Data items in the CHEM_COMP_CHIR_ATOM category enumerate the atoms bonded to a chiral atom within a chemical component. ; _category.id chem_comp_chir_atom _category.mandatory_code no loop_ _category_key.name '_chem_comp_chir_atom.chir_id' '_chem_comp_chir_atom.atom_id' '_chem_comp_chir_atom.comp_id' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _chem_comp_chir_atom.comp_id _chem_comp_chir_atom.chir_id _chem_comp_chir_atom.atom_id phe 1 N phe 1 C phe 1 CB val 1 N val 1 C val 1 CB # - - - - data truncated for brevity - - - - ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chem_comp_chir_atom.atom_id _item_description.description ; The ID of an atom bonded to the chiral atom. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_chem_comp_chir_atom.atom_id' _item.mandatory_code yes save_ save__chem_comp_chir_atom.chir_id _item_description.description ; This data item is a pointer to _chem_comp_chir.id in the CHEM_COMP_CHIR category. ; _item.name '_chem_comp_chir_atom.chir_id' _item.mandatory_code yes save_ save__chem_comp_chir_atom.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_chem_comp_chir_atom.comp_id' _item.mandatory_code yes save_ save__chem_comp_chir_atom.dev _item_description.description ; The standard uncertainty (estimated standard deviation) of the position of this atom from the plane defined by all of the atoms in the plane. ; _item.name '_chem_comp_chir_atom.dev' _item.category_id chem_comp_chir_atom _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ #################### ## CHEM_COMP_LINK ## #################### save_chem_comp_link _category.description ; Data items in the CHEM_COMP_LINK category give details about the links between chemical components. ; _category.id chem_comp_link _category.mandatory_code no _category_key.name '_chem_comp_link.link_id' loop_ _category_group.id 'inclusive_group' 'chem_link_group' # loop_ # _category_examples.detail # _category_examples.case # # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # ; # Example 1 - from nucleotide external reference dictionary Nucleic # Database Project 1997. # ; # ; # _chem_comp_link.link_id ribose_adenine # _chem_comp_link.type_comp_1 ribose # _chem_comp_link.type_comp_2 adenine # _chem_comp_link.details # ; # Defines the linkage between adenine base and ribose sugar # ; # ; # # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chem_comp_link.link_id _item_description.description ; This data item is a pointer to _chem_link.id in the CHEM_LINK category. ; _item.name '_chem_comp_link.link_id' _item.mandatory_code yes save_ save__chem_comp_link.details _item_description.description ; A description of special aspects of a link between chemical components in the structure. ; _item.name '_chem_comp_link.details' _item.category_id chem_comp_link _item.mandatory_code no _item_type.code text save_ save__chem_comp_link.type_comp_1 _item_description.description ; The type of the first of the two components joined by the link. This data item is a pointer to _chem_comp.type in the CHEM_COMP category. ; _item.name '_chem_comp_link.type_comp_1' _item.mandatory_code yes save_ save__chem_comp_link.type_comp_2 _item_description.description ; The type of the second of the two components joined by the link. This data item is a pointer to _chem_comp.type in the CHEM_COMP category. ; _item.name '_chem_comp_link.type_comp_2' _item.mandatory_code yes save_ ##################### ## CHEM_COMP_PLANE ## ##################### save_chem_comp_plane _category.description ; Data items in the CHEM_COMP_PLANE category provide identifiers for the planes in a chemical component. The atoms in the plane are specified in the CHEM_COMP_PLANE_ATOM category. ; _category.id chem_comp_plane _category.mandatory_code no loop_ _category_key.name '_chem_comp_plane.comp_id' '_chem_comp_plane.id' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _chem_comp_plane.comp_id _chem_comp_plane.id phe phe1 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chem_comp_plane.id _item_description.description ; The value of _chem_comp_plane.id must uniquely identify a record in the CHEM_COMP_PLANE list. ; loop_ _item.name _item.category_id _item.mandatory_code '_chem_comp_plane.id' chem_comp_plane yes '_chem_comp_plane_atom.plane_id' chem_comp_plane_atom yes loop_ _item_linked.child_name _item_linked.parent_name '_chem_comp_plane_atom.plane_id' '_chem_comp_plane.id' _item_type.code code save_ save__chem_comp_plane.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_chem_comp_plane.comp_id' _item.mandatory_code yes save_ save__chem_comp_plane.number_atoms_all _item_description.description ; The total number of atoms in the plane. ; _item.name '_chem_comp_plane.number_atoms_all' _item.category_id chem_comp_plane _item.mandatory_code no _item_type.code int save_ save__chem_comp_plane.number_atoms_nh _item_description.description ; The number of non-hydrogen atoms in the plane. ; _item.name '_chem_comp_plane.number_atoms_nh' _item.category_id chem_comp_plane _item.mandatory_code no _item_type.code int save_ ########################## ## CHEM_COMP_PLANE_ATOM ## ########################## save_chem_comp_plane_atom _category.description ; Data items in the CHEM_COMP_PLANE_ATOM category enumerate the atoms in a plane within a chemical component. ; _category.id chem_comp_plane_atom _category.mandatory_code no loop_ _category_key.name '_chem_comp_plane_atom.plane_id' '_chem_comp_plane_atom.atom_id' '_chem_comp_plane_atom.comp_id' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _chem_comp_plane_atom.plane_id _chem_comp_plane_atom.comp_id _chem_comp_plane_atom.atom_id phe1 phe CB phe1 phe CG phe1 phe CD1 phe1 phe CE1 phe1 phe CZ phe1 phe CE2 phe1 phe CD2 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chem_comp_plane_atom.atom_id _item_description.description ; The ID of an atom involved in the plane. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_chem_comp_plane_atom.atom_id' _item.mandatory_code yes save_ save__chem_comp_plane_atom.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_chem_comp_plane_atom.comp_id' _item.mandatory_code yes save_ save__chem_comp_plane_atom.plane_id _item_description.description ; This data item is a pointer to _chem_comp_plane.id in the CHEM_COMP_PLANE category. ; _item.name '_chem_comp_plane_atom.plane_id' _item.mandatory_code yes save_ save__chem_comp_plane_atom.dist_esd _item_description.description ; This data item is the standard deviation of the out-of-plane distance for this atom. ; _item.name '_chem_comp_plane_atom.dist_esd' _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ #################### ## CHEM_COMP_TOR ## #################### save_chem_comp_tor _category.description ; Data items in the CHEM_COMP_TOR category record details about the torsion angles in a chemical component. As torsion angles can have more than one target value, the target values are specified in the CHEM_COMP_TOR_VALUE category. ; _category.id chem_comp_tor _category.mandatory_code no loop_ _category_key.name '_chem_comp_tor.comp_id' '_chem_comp_tor.id' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _chem_comp_tor.comp_id _chem_comp_tor.id _chem_comp_tor.atom_id_1 _chem_comp_tor.atom_id_2 _chem_comp_tor.atom_id_3 _chem_comp_tor.atom_id_4 phe phe_chi1 N CA CB CG phe phe_chi2 CA CB CG CD1 phe phe_ring1 CB CG CD1 CE1 phe phe_ring2 CB CG CD2 CE2 phe phe_ring3 CG CD1 CE1 CZ phe phe_ring4 CD1 CE1 CZ CE2 phe phe_ring5 CE1 CZ CE2 CD2 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chem_comp_tor.atom_id_1 _item_description.description ; The ID of the first of the four atoms that define the torsion angle. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_chem_comp_tor.atom_id_1' _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_comp_tor.atom_id_2' '_chem_comp_tor.atom_id_3' '_chem_comp_tor.atom_id_4' save_ save__chem_comp_tor.atom_id_2 _item_description.description ; The ID of the second of the four atoms that define the torsion angle. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_chem_comp_tor.atom_id_2' _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_comp_tor.atom_id_1' '_chem_comp_tor.atom_id_3' '_chem_comp_tor.atom_id_4' save_ save__chem_comp_tor.atom_id_3 _item_description.description ; The ID of the third of the four atoms that define the torsion angle. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_chem_comp_tor.atom_id_3' _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_comp_tor.atom_id_1' '_chem_comp_tor.atom_id_2' '_chem_comp_tor.atom_id_4' save_ save__chem_comp_tor.atom_id_4 _item_description.description ; The ID of the fourth of the four atoms that define the torsion angle. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_chem_comp_tor.atom_id_4' _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_comp_tor.atom_id_1' '_chem_comp_tor.atom_id_2' '_chem_comp_tor.atom_id_3' save_ save__chem_comp_tor.id _item_description.description ; The value of _chem_comp_tor.id must uniquely identify a record in the CHEM_COMP_TOR list. ; loop_ _item.name _item.category_id _item.mandatory_code '_chem_comp_tor.id' chem_comp_tor yes '_chem_comp_tor_value.tor_id' chem_comp_tor_value yes loop_ _item_linked.child_name _item_linked.parent_name '_chem_comp_tor_value.tor_id' '_chem_comp_tor.id' _item_type.code code save_ save__chem_comp_tor.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_chem_comp_tor.comp_id' _item.mandatory_code yes save_ ########################## ## CHEM_COMP_TOR_VALUE ## ########################## save_chem_comp_tor_value _category.description ; Data items in the CHEM_COMP_TOR_VALUE category record details about the target values for the torsion angles enumerated in the CHEM_COMP_TOR list. Target values may be specified as angles in degrees, as a distance between the first and fourth atoms, or both. ; _category.id chem_comp_tor_value _category.mandatory_code no loop_ _category_key.name '_chem_comp_tor_value.tor_id' '_chem_comp_tor_value.comp_id' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _chem_comp_tor_value.tor_id _chem_comp_tor_value.comp_id _chem_comp_tor_value.angle _chem_comp_tor_value.dist phe_chi1 phe -60.0 2.88 phe_chi1 phe 180.0 3.72 phe_chi1 phe 60.0 2.88 phe_chi2 phe 90.0 3.34 phe_chi2 phe -90.0 3.34 phe_ring1 phe 180.0 3.75 phe_ring2 phe 180.0 3.75 phe_ring3 phe 0.0 2.80 phe_ring4 phe 0.0 2.80 phe_ring5 phe 0.0 2.80 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chem_comp_tor_value.comp_id _item_description.description ; This data item is a pointer to _chem_comp_atom.comp_id in the CHEM_COMP_ATOM category. ; _item.name '_chem_comp_tor_value.comp_id' _item.mandatory_code yes save_ save__chem_comp_tor_value.tor_id _item_description.description ; This data item is a pointer to _chem_comp_tor.id in the CHEM_COMP_TOR category. ; _item.name '_chem_comp_tor_value.tor_id' _item.mandatory_code yes save_ save__chem_comp_tor_value.angle _item_description.description ; A value that should be taken as a potential target value for the torsion angle associated with the specified atoms, expressed in degrees. ; _item.name '_chem_comp_tor_value.angle' _item.category_id chem_comp_tor_value _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 -180.0 -180.0 -180.0 _item_related.related_name '_chem_comp_tor_value.angle_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code degrees save_ save__chem_comp_tor_value.angle_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_comp_tor_value.angle. ; _item.name '_chem_comp_tor_value.angle_esd' _item.category_id chem_comp_tor_value _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 -180.0 -180.0 -180.0 _item_related.related_name '_chem_comp_tor_value.angle' _item_related.function_code associated_value _item_type.code float _item_units.code degrees save_ save__chem_comp_tor_value.dist _item_description.description ; A value that should be taken as a potential target value for the torsion angle associated with the specified atoms, expressed as the distance between the atoms specified by _chem_comp_tor.atom_id_1 and _chem_comp_tor.atom_id_4 in the referenced record in the CHEM_COMP_TOR list. Note that the torsion angle cannot be fully specified by a distance (for instance, a torsion angle of -60 degree will yield the same distance as a 60 degree angle). However, the distance specification can be useful for refinement in situations in which the angle is already close to the desired value. ; _item.name '_chem_comp_tor_value.dist' _item.category_id chem_comp_tor_value _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_chem_comp_tor_value.dist_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__chem_comp_tor_value.dist_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_comp_tor_value.dist. ; _item.name '_chem_comp_tor_value.dist_esd' _item.category_id chem_comp_tor_value _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_chem_comp_tor_value.dist' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms save_ ############### ## CHEM_LINK ## ############### save_chem_link _category.description ; Data items in the CHEM_LINK category give details about the links between chemical components. ; _category.id chem_link _category.mandatory_code no _category_key.name '_chem_link.id' loop_ _category_group.id 'inclusive_group' 'chem_link_group' save_ save__chem_link.id _item_description.description ; The value of _chem_link.id must uniquely identify each item in the CHEM_LINK list. ; loop_ _item.name _item.category_id _item.mandatory_code '_chem_link.id' chem_link yes '_chem_link_angle.link_id' chem_link_angle yes '_chem_link_bond.link_id' chem_link_bond yes '_chem_link_chir.link_id' chem_link_chir yes '_chem_link_plane.link_id' chem_link_plane yes '_chem_link_tor.link_id' chem_link_tor yes '_chem_comp_link.link_id' chem_comp_link yes '_entity_link.link_id' entity_link yes loop_ _item_linked.child_name _item_linked.parent_name '_chem_link_angle.link_id' '_chem_link.id' '_chem_link_bond.link_id' '_chem_link.id' '_chem_link_chir.link_id' '_chem_link.id' '_chem_link_plane.link_id' '_chem_link.id' '_chem_link_tor.link_id' '_chem_link.id' '_chem_comp_link.link_id' '_chem_link.id' '_entity_link.link_id' '_chem_link.id' _item_type.code code loop_ _item_examples.case 'peptide' 'oligosaccharide 1,4' 'DNA' save_ save__chem_link.details _item_description.description ; A description of special aspects of a link between chemical components in the structure. ; _item.name '_chem_link.details' _item.category_id chem_link _item.mandatory_code no _item_type.code text save_ ##################### ## CHEM_LINK_ANGLE ## ##################### save_chem_link_angle _category.description ; Data items in the CHEM_LINK_ANGLE category record details about angles in a link between chemical components. ; _category.id chem_link_angle _category.mandatory_code no loop_ _category_key.name '_chem_link_angle.link_id' '_chem_link_angle.atom_id_1' '_chem_link_angle.atom_id_2' '_chem_link_angle.atom_id_3' loop_ _category_group.id 'inclusive_group' 'chem_link_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Engh & Huber parameters [Acta Cryst. (1991), A47, 392-400] as interpreted by J. P. Priestle (1995). Consistent Stereochemical Dictionaries for Refinement and Model Building. CCP4 Daresbury Study Weekend, DL-CONF-95-001, ISSN 1358-6254. Warrington: Daresbury Laboratory. ; ; loop_ _chem_link_angle.link_id _chem_link_angle.value_angle _chem_link_angle.value_angle_esd _chem_link_angle.atom_id_1 _chem_link_angle.atom_1_comp_id _chem_link_angle.atom_id_2 _chem_link_angle.atom_2_comp_id _chem_link_angle.atom_id_3 _chem_link_angle.atom_3_comp_id PEPTIDE 111.2 2.8 N 1 CA 1 C 1 PEPTIDE 120.8 1.7 CA 1 C 1 O 1 PEPTIDE 116.2 2.0 CA 1 C 1 N 2 PEPTIDE 123.0 1.6 O 1 C 1 N 2 PEPTIDE 121.7 1.8 C 1 N 2 CA 2 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chem_link_angle.atom_1_comp_id _item_description.description ; This data item indicates whether atom 1 is found in the first or the second of the two components connected by the link. ; _item.name '_chem_link_angle.atom_1_comp_id' _item.category_id chem_link_angle _item.mandatory_code no loop_ _item_dependent.dependent_name '_chem_link_angle.atom_2_comp_id' '_chem_link_angle.atom_3_comp_id' loop_ _item_enumeration.value _item_enumeration.detail 1 'the atom is in component 1' 2 'the atom is in component 2' _item_type.code ucode save_ save__chem_link_angle.atom_2_comp_id _item_description.description ; This data item indicates whether atom 2 is found in the first or the second of the two components connected by the link. ; _item.name '_chem_link_angle.atom_2_comp_id' _item.category_id chem_link_angle _item.mandatory_code no loop_ _item_dependent.dependent_name '_chem_link_angle.atom_1_comp_id' '_chem_link_angle.atom_3_comp_id' loop_ _item_enumeration.value _item_enumeration.detail 1 'the atom is in component 1' 2 'the atom is in component 2' _item_type.code ucode save_ save__chem_link_angle.atom_3_comp_id _item_description.description ; This data item indicates whether atom 3 is found in the first or the second of the two components connected by the link. ; _item.name '_chem_link_angle.atom_3_comp_id' _item.category_id chem_link_angle _item.mandatory_code no loop_ _item_dependent.dependent_name '_chem_link_angle.atom_1_comp_id' '_chem_link_angle.atom_2_comp_id' loop_ _item_enumeration.value _item_enumeration.detail 1 'the atom is in component 1' 2 'the atom is in component 2' _item_type.code ucode save_ save__chem_link_angle.atom_id_1 _item_description.description ; The ID of the first of the three atoms that define the angle. An atom with this ID must exist in the component of the type specified by _chem_comp_link.type_comp_1 (or _chem_comp_link.type_comp_2, where the appropriate data item is indicated by the value of _chem_comp_angle.atom_1_comp_id). ; _item.name '_chem_link_angle.atom_id_1' _item.category_id chem_link_angle _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_link_angle.atom_id_2' '_chem_link_angle.atom_id_3' _item_type.code code save_ save__chem_link_angle.atom_id_2 _item_description.description ; The ID of the second of the three atoms that define the angle. The second atom is taken to be the apex of the angle. An atom with this ID must exist in the component of the type specified by _chem_comp_link.type_comp_1 (or _chem_comp_link.type_comp_2, where the appropriate data item is indicated by the value of _chem_comp_angle.atom_2_comp_id). ; _item.name '_chem_link_angle.atom_id_2' _item.category_id chem_link_angle _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_link_angle.atom_id_1' '_chem_link_angle.atom_id_3' _item_type.code code save_ save__chem_link_angle.atom_id_3 _item_description.description ; The ID of the third of the three atoms that define the angle. An atom with this ID must exist in the component of the type specified by _chem_comp_link.type_comp_1 (or _chem_comp_link.type_comp_2, where the appropriate data item is indicated by the value of _chem_comp_angle.atom_3_comp_id). ; _item.name '_chem_link_angle.atom_id_3' _item.category_id chem_link_angle _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_link_angle.atom_id_1' '_chem_link_angle.atom_id_2' _item_type.code code save_ save__chem_link_angle.link_id _item_description.description ; This data item is a pointer to _chem_link.id in the CHEM_LINK category. ; _item.name '_chem_link_angle.link_id' _item.mandatory_code yes save_ save__chem_link_angle.value_angle _item_description.description ; The value that should be taken as the target value for the angle associated with the specified atoms, expressed in degrees. ; _item.name '_chem_link_angle.value_angle' _item.category_id chem_link_angle _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 0.0 0.0 0.0 _item_related.related_name '_chem_link_angle.value_angle_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code degrees save_ save__chem_link_angle.value_angle_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_link_angle.value_angle. ; _item.name '_chem_link_angle.value_angle_esd' _item.category_id chem_link_angle _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 0.0 0.0 0.0 _item_related.related_name '_chem_link_angle.value_angle' _item_related.function_code associated_value _item_type.code float _item_units.code degrees save_ save__chem_link_angle.value_dist _item_description.description ; The value that should be taken as the target value for the angle associated with the specified atoms, expressed as the distance between the atoms specified by _chem_comp_angle.atom_id_1 and _chem_comp_angle.atom_id_3. ; _item.name '_chem_link_angle.value_dist' _item.category_id chem_link_angle _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_chem_link_angle.value_dist_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__chem_link_angle.value_dist_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_comp_angle.value_dist. ; _item.name '_chem_link_angle.value_dist_esd' _item.category_id chem_link_angle _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_chem_link_angle.value_dist' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms save_ #################### ## CHEM_LINK_BOND ## #################### save_chem_link_bond _category.description ; Data items in the CHEM_LINK_BOND category record details about bonds in a link between components in the chemical structure. ; _category.id chem_link_bond _category.mandatory_code no loop_ _category_key.name '_chem_link_bond.link_id' '_chem_link_bond.atom_id_1' '_chem_link_bond.atom_id_2' loop_ _category_group.id 'inclusive_group' 'chem_link_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Engh & Huber parameters [Acta Cryst. (1991), A47, 392-400] as interpreted by J. P. Priestle (1995). Consistent Stereochemical Dictionaries for Refinement and Model Building. CCP4 Daresbury Study Weekend, DL-CONF-95-001, ISSN 1358-6254. Warrington: Daresbury Laboratory. ; ; loop_ _chem_link_bond.link_id _chem_link_bond.value_dist _chem_link_bond.value_dist_esd _chem_link_bond.atom_id_1 _chem_link_bond.atom_1_comp_id _chem_link_bond.atom_id_2 _chem_link_bond.atom_2_comp_id PEPTIDE 1.458 0.019 N 1 CA 1 PEPTIDE 1.525 0.021 CA 1 C 1 PEPTIDE 1.329 0.014 C 1 N 2 PEPTIDE 1.231 0.020 C 1 O 1 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chem_link_bond.atom_1_comp_id _item_description.description ; This data item indicates whether atom 1 is found in the first or the second of the two components connected by the link. ; _item.name '_chem_link_bond.atom_1_comp_id' _item.category_id chem_link_bond _item.mandatory_code no loop_ _item_dependent.dependent_name '_chem_link_bond.atom_2_comp_id' loop_ _item_enumeration.value _item_enumeration.detail 1 'the atom is in component 1' 2 'the atom is in component 2' _item_type.code ucode save_ save__chem_link_bond.atom_2_comp_id _item_description.description ; This data item indicates whether atom 2 is found in the first or the second of the two chemical components connected by the link. ; _item.name '_chem_link_bond.atom_2_comp_id' _item.category_id chem_link_bond _item.mandatory_code no _item_dependent.dependent_name '_chem_link_bond.atom_1_comp_id' loop_ _item_enumeration.value _item_enumeration.detail 1 'the atom is in component 1' 2 'the atom is in component 2' _item_type.code ucode save_ save__chem_link_bond.atom_id_1 _item_description.description ; The ID of the first of the two atoms that define the bond. As this data item does not point to a specific atom in a specific chemical component, it is not a child in the linkage sense. ; _item.name '_chem_link_bond.atom_id_1' _item.category_id chem_link_bond _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_link_bond.atom_id_2' _item_type.code code save_ save__chem_link_bond.atom_id_2 _item_description.description ; The ID of the second of the two atoms that define the bond. As this data item does not point to a specific atom in a specific component, it is not a child in the linkage sense. ; _item.name '_chem_link_bond.atom_id_2' _item.category_id chem_link_bond _item.mandatory_code yes _item_dependent.dependent_name '_chem_link_bond.atom_id_1' _item_type.code code save_ save__chem_link_bond.link_id _item_description.description ; This data item is a pointer to _chem_link.id in the CHEM_LINK category. ; _item.name '_chem_link_bond.link_id' _item.mandatory_code yes save_ save__chem_link_bond.value_dist _item_description.description ; The value that should be taken as the target for the chemical bond associated with the specified atoms, expressed as a distance. ; _item.name '_chem_link_bond.value_dist' _item.category_id chem_link_bond _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_chem_link_bond.value_dist_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__chem_link_bond.value_dist_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_link_bond.value_dist. ; _item.name '_chem_link_bond.value_dist_esd' _item.category_id chem_link_bond _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_chem_link_bond.value_dist' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms save_ save__chem_link_bond.value_order _item_description.description ; The value that should be taken as the target for the chemical bond associated with the specified atoms, expressed as a bond order. ; _item.name '_chem_link_bond.value_order' _item.category_id chem_link_bond _item.mandatory_code no _item_default.value sing _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sing 'single bond' doub 'double bond' trip 'triple bond' quad 'quadruple bond' arom 'aromatic bond' poly 'polymeric bond' delo 'delocalized double bond' pi 'pi bond' save_ #################### ## CHEM_LINK_CHIR ## #################### save_chem_link_chir _category.description ; Data items in the CHEM_LINK_CHIR category provide details about the chiral centres in a link between two chemical components. The atoms bonded to the chiral atom are specified in the CHEM_LINK_CHIR_ATOM category. ; _category.id chem_link_chir _category.mandatory_code no loop_ _category_key.name '_chem_link_chir.link_id' '_chem_link_chir.id' loop_ _category_group.id 'inclusive_group' 'chem_link_group' save_ save__chem_link_chir.atom_comp_id _item_description.description ; This data item indicates whether the chiral atom is found in the first or the second of the two components connected by the link. ; _item.name '_chem_link_chir.atom_comp_id' _item.category_id chem_link_chir _item.mandatory_code no loop_ _item_enumeration.value _item_enumeration.detail 1 'the atom is in component 1' 2 'the atom is in component 2' _item_type.code ucode save_ save__chem_link_chir.atom_id _item_description.description ; The ID of the atom that is a chiral centre. As this data item does not point to a specific atom in a specific chemical component, it is not a child in the linkage sense. ; _item.name '_chem_link_chir.atom_id' _item.mandatory_code yes _item_type.code code save_ save__chem_link_chir.atom_config _item_description.description ; The chiral configuration of the atom that is a chiral centre. ; _item.name '_chem_link_chir.atom_config' _item.category_id chem_link_chir _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail R 'absolute configuration R' S 'absolute configuration S' save_ save__chem_link_chir.id _item_description.description ; The value of _chem_link_chir.id must uniquely identify a record in the CHEM_LINK_CHIR list. ; loop_ _item.name _item.category_id _item.mandatory_code '_chem_link_chir.id' chem_link_chir yes '_chem_link_chir_atom.chir_id' chem_link_chir_atom yes loop_ _item_linked.child_name _item_linked.parent_name '_chem_link_chir_atom.chir_id' '_chem_link_chir.id' _item_type.code code save_ save__chem_link_chir.link_id _item_description.description ; This data item is a pointer to _chem_link.id in the CHEM_LINK category. ; _item.name '_chem_link_chir.link_id' _item.mandatory_code yes save_ save__chem_link_chir.number_atoms_all _item_description.description ; The total number of atoms bonded to the atom specified by _chem_link_chir.atom_id. ; _item.name '_chem_link_chir.number_atoms_all' _item.category_id chem_link_chir _item.mandatory_code no _item_type.code int save_ save__chem_link_chir.number_atoms_nh _item_description.description ; The number of non-hydrogen atoms bonded to the atom specified by _chem_link_chir.atom_id. ; _item.name '_chem_link_chir.number_atoms_nh' _item.category_id chem_link_chir _item.mandatory_code no _item_type.code int save_ save__chem_link_chir.volume_flag _item_description.description ; A flag to indicate whether a chiral volume should match the standard value in both magnitude and sign, or in magnitude only. ; _item.name '_chem_link_chir.volume_flag' _item.category_id chem_link_chir _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sign 'match magnitude and sign' nosign 'match magnitude only' save_ save__chem_link_chir.volume_three _item_description.description ; The chiral volume, V(c), for chiral centres that involve a chiral atom bonded to three non-hydrogen atoms and one hydrogen atom. V~c~ = V1 * (V2 X V3) V1 = the vector distance from the atom specified by _chem_link_chir.atom_id to the first atom in the CHEM_LINK_CHIR_ATOM list V2 = the vector distance from the atom specified by _chem_link_chir.atom_id to the second atom in the CHEM_LINK_CHIR_ATOM list V3 = the vector distance from the atom specified by _chem_link_chir.atom_id to the third atom in the CHEM_LINK_CHIR_ATOM list * = the vector dot product X = the vector cross product ; _item.name '_chem_link_chir.volume_three' _item.category_id chem_link_chir _item.mandatory_code no _item_related.related_name '_chem_link_chir.volume_three_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms_cubed save_ save__chem_link_chir.volume_three_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_link_chir.volume_three. ; _item.name '_chem_link_chir.volume_three_esd' _item.category_id chem_link_chir _item.mandatory_code no _item_related.related_name '_chem_link_chir.volume_three' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms_cubed save_ ######################### ## CHEM_LINK_CHIR_ATOM ## ######################### save_chem_link_chir_atom _category.description ; Data items in the CHEM_LINK_CHIR_ATOM category enumerate the atoms bonded to a chiral atom in a link between two chemical components. ; _category.id chem_link_chir_atom _category.mandatory_code no loop_ _category_key.name '_chem_link_chir_atom.chir_id' '_chem_link_chir_atom.atom_id' loop_ _category_group.id 'inclusive_group' 'chem_link_group' save_ save__chem_link_chir_atom.atom_comp_id _item_description.description ; This data item indicates whether the atom bonded to a chiral atom is found in the first or the second of the two components connected by the link. ; _item.name '_chem_link_chir_atom.atom_comp_id' _item.category_id chem_link_chir_atom _item.mandatory_code no loop_ _item_enumeration.value _item_enumeration.detail 1 'the atom is in component 1' 2 'the atom is in component 2' _item_type.code ucode save_ save__chem_link_chir_atom.atom_id _item_description.description ; The ID of an atom bonded to the chiral atom. As this data item does not point to a specific atom in a specific chemical component, it is not a child in the linkage sense. ; _item.name '_chem_link_chir_atom.atom_id' _item.mandatory_code yes _item_type.code code save_ save__chem_link_chir_atom.chir_id _item_description.description ; This data item is a pointer to _chem_link_chir.id in the CHEM_LINK_CHIR category. ; _item.name '_chem_link_chir_atom.chir_id' _item.mandatory_code yes save_ save__chem_link_chir_atom.dev _item_description.description ; The standard uncertainty (estimated standard deviation) of the position of this atom from the plane defined by all of the atoms in the plane. ; _item.name '_chem_link_chir_atom.dev' _item.category_id chem_link_chir_atom _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ ##################### ## CHEM_LINK_PLANE ## ##################### save_chem_link_plane _category.description ; Data items in the CHEM_LINK_PLANE category provide identifiers for the planes in a link between two chemical components. The atoms in the plane are specified in the CHEM_LINK_PLANE_ATOM category. ; _category.id chem_link_plane _category.mandatory_code no loop_ _category_key.name '_chem_link_plane.link_id' '_chem_link_plane.id' loop_ _category_group.id 'inclusive_group' 'chem_link_group' save_ save__chem_link_plane.id _item_description.description ; The value of _chem_link_plane.id must uniquely identify a record in the CHEM_LINK_PLANE list. ; loop_ _item.name _item.category_id _item.mandatory_code '_chem_link_plane.id' chem_link_plane yes '_chem_link_plane_atom.plane_id' chem_link_plane_atom yes loop_ _item_linked.child_name _item_linked.parent_name '_chem_link_plane_atom.plane_id' '_chem_link_plane.id' _item_type.code code save_ save__chem_link_plane.link_id _item_description.description ; This data item is a pointer to _chem_link.id in the CHEM_LINK category. ; _item.name '_chem_link_plane.link_id' _item.mandatory_code yes save_ save__chem_link_plane.number_atoms_all _item_description.description ; The total number of atoms in the plane. ; _item.name '_chem_link_plane.number_atoms_all' _item.category_id chem_link_plane _item.mandatory_code no _item_type.code int save_ save__chem_link_plane.number_atoms_nh _item_description.description ; The number of non-hydrogen atoms in the plane. ; _item.name '_chem_link_plane.number_atoms_nh' _item.category_id chem_link_plane _item.mandatory_code no _item_type.code int save_ ########################## ## CHEM_LINK_PLANE_ATOM ## ########################## save_chem_link_plane_atom _category.description ; Data items in the CHEM_LINK_PLANE_ATOM category enumerate the atoms in a plane in a link between two chemical components. ; _category.id chem_link_plane_atom _category.mandatory_code no loop_ _category_key.name '_chem_link_plane_atom.plane_id' '_chem_link_plane_atom.atom_id' loop_ _category_group.id 'inclusive_group' 'chem_link_group' save_ save__chem_link_plane_atom.atom_comp_id _item_description.description ; This data item indicates whether the atom in a plane is found in the first or the second of the two components connected by the link. ; _item.name '_chem_link_plane_atom.atom_comp_id' _item.category_id chem_link_plane_atom _item.mandatory_code no loop_ _item_enumeration.value _item_enumeration.detail 1 'the atom is in component 1' 2 'the atom is in component 2' _item_type.code ucode save_ save__chem_link_plane_atom.atom_id _item_description.description ; The ID of an atom involved in the plane. As this data item does not point to a specific atom in a specific chemical component, it is not a child in the linkage sense. ; _item.name '_chem_link_plane_atom.atom_id' _item.mandatory_code yes _item_type.code code save_ save__chem_link_plane_atom.plane_id _item_description.description ; This data item is a pointer to _chem_link_plane.id in the CHEM_LINK_PLANE category. ; _item.name '_chem_link_plane_atom.plane_id' _item.mandatory_code yes save_ ################### ## CHEM_LINK_TOR ## ################### save_chem_link_tor _category.description ; Data items in the CHEM_LINK_TOR category record details about the torsion angles in a link between two chemical components. As torsion angles can have more than one target value, the target values are specified in the CHEM_LINK_TOR_VALUE category. ; _category.id chem_link_tor _category.mandatory_code no loop_ _category_key.name '_chem_link_tor.link_id' '_chem_link_tor.id' loop_ _category_group.id 'inclusive_group' 'chem_link_group' save_ save__chem_link_tor.atom_1_comp_id _item_description.description ; This data item indicates whether atom 1 is found in the first or the second of the two components connected by the link. ; _item.name '_chem_link_tor.atom_1_comp_id' _item.category_id chem_link_tor _item.mandatory_code no loop_ _item_dependent.dependent_name '_chem_link_tor.atom_2_comp_id' '_chem_link_tor.atom_3_comp_id' '_chem_link_tor.atom_4_comp_id' loop_ _item_enumeration.value _item_enumeration.detail 1 'the atom is in component 1' 2 'the atom is in component 2' _item_type.code ucode save_ save__chem_link_tor.atom_2_comp_id _item_description.description ; This data item indicates whether atom 2 is found in the first or the second of the two components connected by the link. ; _item.name '_chem_link_tor.atom_2_comp_id' _item.category_id chem_link_tor _item.mandatory_code no loop_ _item_dependent.dependent_name '_chem_link_tor.atom_1_comp_id' '_chem_link_tor.atom_3_comp_id' '_chem_link_tor.atom_4_comp_id' loop_ _item_enumeration.value _item_enumeration.detail 1 'the atom is in component 1' 2 'the atom is in component 2' _item_type.code ucode save_ save__chem_link_tor.atom_3_comp_id _item_description.description ; This data item indicates whether atom 3 is found in the first or the second of the two components connected by the link. ; _item.name '_chem_link_tor.atom_3_comp_id' _item.category_id chem_link_tor _item.mandatory_code no loop_ _item_dependent.dependent_name '_chem_link_tor.atom_1_comp_id' '_chem_link_tor.atom_2_comp_id' '_chem_link_tor.atom_4_comp_id' loop_ _item_enumeration.value _item_enumeration.detail 1 'the atom is in component 1' 2 'the atom is in component 2' _item_type.code ucode save_ save__chem_link_tor.atom_4_comp_id _item_description.description ; This data item indicates whether atom 4 is found in the first or the second of the two components connected by the link. ; _item.name '_chem_link_tor.atom_4_comp_id' _item.category_id chem_link_tor _item.mandatory_code no loop_ _item_dependent.dependent_name '_chem_link_tor.atom_1_comp_id' '_chem_link_tor.atom_2_comp_id' '_chem_link_tor.atom_3_comp_id' loop_ _item_enumeration.value _item_enumeration.detail 1 'the atom is in component 1' 2 'the atom is in component 2' _item_type.code ucode save_ save__chem_link_tor.atom_id_1 _item_description.description ; The ID of the first of the four atoms that define the torsion angle. As this data item does not point to a specific atom in a specific chemical component, it is not a child in the linkage sense. ; _item.name '_chem_link_tor.atom_id_1' _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_link_tor.atom_id_2' '_chem_link_tor.atom_id_3' '_chem_link_tor.atom_id_4' _item_type.code code save_ save__chem_link_tor.atom_id_2 _item_description.description ; The ID of the second of the four atoms that define the torsion angle. As this data item does not point to a specific atom in a specific chemical component, it is not a child in the linkage sense. ; _item.name '_chem_link_tor.atom_id_2' _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_link_tor.atom_id_1' '_chem_link_tor.atom_id_3' '_chem_link_tor.atom_id_4' _item_type.code code save_ save__chem_link_tor.atom_id_3 _item_description.description ; The ID of the third of the four atoms that define the torsion angle. As this data item does not point to a specific atom in a specific chemical component, it is not a child in the linkage sense. ; _item.name '_chem_link_tor.atom_id_3' _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_link_tor.atom_id_1' '_chem_link_tor.atom_id_2' '_chem_link_tor.atom_id_4' _item_type.code code save_ save__chem_link_tor.atom_id_4 _item_description.description ; The ID of the fourth of the four atoms that define the torsion angle. As this data item does not point to a specific atom in a specific chemical component, it is not a child in the linkage sense. ; _item.name '_chem_link_tor.atom_id_4' _item.mandatory_code yes loop_ _item_dependent.dependent_name '_chem_link_tor.atom_id_1' '_chem_link_tor.atom_id_2' '_chem_link_tor.atom_id_3' _item_type.code code save_ save__chem_link_tor.id _item_description.description ; The value of _chem_link_tor.id must uniquely identify a record in the CHEM_LINK_TOR list. ; loop_ _item.name _item.category_id _item.mandatory_code '_chem_link_tor.id' chem_link_tor yes '_chem_link_tor_value.tor_id' chem_link_tor_value yes loop_ _item_linked.child_name _item_linked.parent_name '_chem_link_tor_value.tor_id' '_chem_link_tor.id' _item_type.code code save_ save__chem_link_tor.link_id _item_description.description ; This data item is a pointer to _chem_link.id in the CHEM_LINK category. ; _item.name '_chem_link_tor.link_id' _item.mandatory_code yes save_ ######################### ## CHEM_LINK_TOR_VALUE ## ######################### save_chem_link_tor_value _category.description ; Data items in the CHEM_LINK_TOR_VALUE category record details about the target values for the torsion angles enumerated in the CHEM_LINK_TOR list. Target values may be specified as angles in degrees, as a distance between the first and fourth atoms, or both. ; _category.id chem_link_tor_value _category.mandatory_code no _category_key.name '_chem_link_tor_value.tor_id' loop_ _category_group.id 'inclusive_group' 'chem_link_group' save_ save__chem_link_tor_value.tor_id _item_description.description ; This data item is a pointer to _chem_link_tor.id in the CHEM_LINK_TOR category. ; _item.name '_chem_link_tor_value.tor_id' _item.mandatory_code yes save_ save__chem_link_tor_value.angle _item_description.description ; A value that should be taken as a potential target value for the torsion angle associated with the specified atoms, expressed in degrees. ; _item.name '_chem_link_tor_value.angle' _item.category_id chem_link_tor_value _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 -180.0 -180.0 -180.0 _item_related.related_name '_chem_link_tor_value.angle_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code degrees save_ save__chem_link_tor_value.angle_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_link_tor_value.angle. ; _item.name '_chem_link_tor_value.angle_esd' _item.category_id chem_link_tor_value _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 -180.0 -180.0 -180.0 _item_related.related_name '_chem_link_tor_value.angle' _item_related.function_code associated_value _item_type.code float _item_units.code degrees save_ save__chem_link_tor_value.dist _item_description.description ; A value that should be taken as a potential target value for the torsion angle associated with the specified atoms, expressed as the distance between the atoms specified by _chem_link_tor.atom_id_1 and _chem_link_tor.atom_id_4 in the referenced record in the CHEM_LINK_TOR list. Note that the torsion angle cannot be fully specified by a distance (for instance, a torsion angle of -60 degree will yield the same distance as a 60 degree angle). However, the distance specification can be useful for refinement in situations in which the angle is already close to the desired value. ; _item.name '_chem_link_tor_value.dist' _item.category_id chem_link_tor_value _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_chem_link_tor_value.dist_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__chem_link_tor_value.dist_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _chem_link_tor_value.dist. ; _item.name '_chem_link_tor_value.dist_esd' _item.category_id chem_link_tor_value _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_chem_link_tor_value.dist' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms save_ ############## ## CHEMICAL ## ############## save_chemical _category.description ; Data items in the CHEMICAL category would not in general be used in a macromolecular CIF. See instead the ENTITY data items. Data items in the CHEMICAL category record details about the composition and chemical properties of the compounds. The formula data items must agree with those that specify the density, unit-cell and Z values. ; _category.id chemical _category.mandatory_code no _category_key.name '_chemical.entry_id' loop_ _category_group.id 'inclusive_group' 'chemical_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on data set 9597gaus of Alyea, Ferguson & Kannan [Acta Cryst. (1996), C52, 765-767]. ; ; _chemical.entry_id '9597gaus' _chemical.name_systematic trans-bis(tricyclohexylphosphine)tetracarbonylmolybdenum(0) ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chemical.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_chemical.entry_id' _item.mandatory_code yes save_ save__chemical.compound_source _item_description.description ; Description of the source of the compound under study, or of the parent molecule if a simple derivative is studied. This includes the place of discovery for minerals or the actual source of a natural product. ; _item.name '_chemical.compound_source' _item.category_id chemical _item.mandatory_code no _item_aliases.alias_name '_chemical_compound_source' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'From Norilsk (USSR)' 'Extracted from the bark of Cinchona Naturalis' save_ save__chemical.melting_point _item_description.description ; The temperature in kelvins at which the crystalline solid changes to a liquid. ; _item.name '_chemical.melting_point' _item.category_id chemical _item.mandatory_code no _item_aliases.alias_name '_chemical_melting_point' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code kelvins save_ save__chemical.name_common _item_description.description ; Trivial name by which the compound is commonly known. ; _item.name '_chemical.name_common' _item.category_id chemical _item.mandatory_code no _item_aliases.alias_name '_chemical_name_common' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case '1-bromoestradiol' save_ save__chemical.name_mineral _item_description.description ; Mineral name accepted by the International Mineralogical Association. Use only for natural minerals. See also _chemical.compound_source. ; _item.name '_chemical.name_mineral' _item.category_id chemical _item.mandatory_code no _item_aliases.alias_name '_chemical_name_mineral' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'chalcopyrite' save_ save__chemical.name_structure_type _item_description.description ; Commonly used structure-type name. Usually only applied to minerals or inorganic compounds. ; _item.name '_chemical.name_structure_type' _item.category_id chemical _item.mandatory_code no _item_aliases.alias_name '_chemical_name_structure_type' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'perovskite' 'sphalerite' 'A15' save_ save__chemical.name_systematic _item_description.description ; IUPAC or Chemical Abstracts full name of the compound. ; _item.name '_chemical.name_systematic' _item.category_id chemical _item.mandatory_code no _item_aliases.alias_name '_chemical_name_systematic' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case '1-bromoestra-1,3,5(10)-triene-3,17\b-diol' save_ ######################## ## CHEMICAL_CONN_ATOM ## ######################## save_chemical_conn_atom _category.description ; Data items in the CHEMICAL_CONN_ATOM category would not, in general, be used in a macromolecular CIF. See instead the ENTITY data items. Data items in the CHEMICAL_CONN_ATOM and CHEMICAL_CONN_BOND categories record details about the two-dimensional (2D) chemical structure of the molecular species. They allow a 2D chemical diagram to be reconstructed for use in a publication or in a database search for structural and substructural relationships. The CHEMICAL_CONN_ATOM data items provide information about the chemical properties of the atoms in the structure. In cases where crystallographic and molecular symmetry elements coincide, they must also contain symmetry-generated atoms, so that the CHEMICAL_CONN_ATOM and CHEMICAL_CONN_BOND data items will always describe a complete chemical entity. ; _category.id chemical_conn_atom _category.mandatory_code no _category_key.name '_chemical_conn_atom.number' loop_ _category_group.id 'inclusive_group' 'chemical_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on data set DPTD of Yamin, Suwandi, Fun, Sivakumar & bin Shawkataly [Acta Cryst. (1996), C52, 951-953]. ; ; loop_ _chemical_conn_atom.number _chemical_conn_atom.type_symbol _chemical_conn_atom.display_x _chemical_conn_atom.display_y _chemical_conn_atom.NCA _chemical_conn_atom.NH 1 S .39 .81 1 0 2 S .39 .96 2 0 3 N .14 .88 3 0 4 C .33 .88 3 0 5 C .11 .96 2 2 6 C .03 .96 2 2 7 C .03 .80 2 2 8 C .11 .80 2 2 9 S .54 .81 1 0 10 S .54 .96 2 0 11 N .80 .88 3 0 12 C .60 .88 3 0 13 C .84 .96 2 2 14 C .91 .96 2 2 15 C .91 .80 2 2 16 C .84 .80 2 2 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chemical_conn_atom.charge _item_description.description ; The net integer charge assigned to this atom. This is the formal charge assignment normally found in chemical diagrams. ; _item.name '_chemical_conn_atom.charge' _item.category_id chemical_conn_atom _item.mandatory_code no _item_aliases.alias_name '_chemical_conn_atom_charge' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 0 loop_ _item_range.maximum _item_range.minimum 8 8 8 -8 -8 -8 _item_type.code int loop_ _item_examples.case _item_examples.detail 1 'for an ammonium nitrogen' -1 'for a chloride ion' save_ save__chemical_conn_atom.display_x _item_description.description ; The 2D Cartesian x coordinate of the position of this atom in a recognizable chemical diagram. The coordinate origin is at the lower left corner, the x axis is horizontal and the y axis is vertical. The coordinates must lie in the range 0.0 to 1.0. These coordinates can be obtained from projections of a suitable uncluttered view of the molecular structure. ; _item.name '_chemical_conn_atom.display_x' _item.category_id chemical_conn_atom _item.mandatory_code no _item_aliases.alias_name '_chemical_conn_atom_display_x' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_dependent.dependent_name '_chemical_conn_atom.display_y' loop_ _item_range.maximum _item_range.minimum 1.0 1.0 1.0 0.0 0.0 0.0 _item_type.code float save_ save__chemical_conn_atom.display_y _item_description.description ; The 2D Cartesian y coordinate of the position of this atom in a recognizable chemical diagram. The coordinate origin is at the lower left corner, the x axis is horizontal and the y axis is vertical. The coordinates must lie in the range 0.0 to 1.0. These coordinates can be obtained from projections of a suitable uncluttered view of the molecular structure. ; _item.name '_chemical_conn_atom.display_y' _item.category_id chemical_conn_atom _item.mandatory_code no _item_aliases.alias_name '_chemical_conn_atom_display_y' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_dependent.dependent_name '_chemical_conn_atom.display_x' loop_ _item_range.maximum _item_range.minimum 1.0 1.0 1.0 0.0 0.0 0.0 _item_type.code float save_ save__chemical_conn_atom.NCA _item_description.description ; The number of connected atoms excluding terminal hydrogen atoms. ; _item.name '_chemical_conn_atom.NCA' _item.category_id chemical_conn_atom _item.mandatory_code no _item_aliases.alias_name '_chemical_conn_atom_NCA' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__chemical_conn_atom.NH _item_description.description ; The total number of hydrogen atoms attached to this atom, regardless of whether they are included in the refinement or the ATOM_SITE list. This number is the same as _atom_site.attached_hydrogens only if none of the hydrogen atoms appear in the ATOM_SITE list. ; _item.name '_chemical_conn_atom.NH' _item.category_id chemical_conn_atom _item.mandatory_code no _item_aliases.alias_name '_chemical_conn_atom_NH' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__chemical_conn_atom.number _item_description.description ; The chemical sequence number to be associated with this atom. Within an ATOM_SITE list, this number must match one of the _atom_site.chemical_conn_number values. ; loop_ _item.name _item.category_id _item.mandatory_code '_chemical_conn_atom.number' chemical_conn_atom yes '_atom_site.chemical_conn_number' atom_site no '_chemical_conn_bond.atom_1' chemical_conn_bond yes '_chemical_conn_bond.atom_2' chemical_conn_bond yes _item_aliases.alias_name '_chemical_conn_atom_number' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_linked.child_name _item_linked.parent_name '_atom_site.chemical_conn_number' '_chemical_conn_atom.number' '_chemical_conn_bond.atom_1' '_chemical_conn_atom.number' '_chemical_conn_bond.atom_2' '_chemical_conn_atom.number' loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ save__chemical_conn_atom.type_symbol _item_description.description ; This data item is a pointer to _atom_type.symbol in the ATOM_TYPE category. ; _item.name '_chemical_conn_atom.type_symbol' _item.mandatory_code yes _item_aliases.alias_name '_chemical_conn_atom_type_symbol' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ ######################## ## CHEMICAL_CONN_BOND ## ######################## save_chemical_conn_bond _category.description ; Data items in the CHEMICAL_CONN_BOND category would not, in general, be used in a macromolecular CIF. See instead the ENTITY data items. Data items in the CHEMICAL_CONN_ATOM and CHEMICAL_CONN_BOND categories record details about the two-dimensional (2D) chemical structure of the molecular species. They allow a 2D chemical diagram to be reconstructed for use in a publication or in a database search for structural and substructural relationships. The CHEMICAL_CONN_BOND data items specify the connections between the atoms in the CHEMICAL_CONN_ATOM list and the nature of the chemical bond between these atoms. ; _category.id chemical_conn_bond _category.mandatory_code no loop_ _category_key.name '_chemical_conn_bond.atom_1' '_chemical_conn_bond.atom_2' loop_ _category_group.id 'inclusive_group' 'chemical_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on data set DPTD of Yamin, Suwandi, Fun, Sivakumar & bin Shawkataly [Acta Cryst. (1996), C52, 951-953]. ; ; loop_ _chemical_conn_bond.atom_1 _chemical_conn_bond.atom_2 _chemical_conn_bond.type 4 1 doub 4 3 sing 4 2 sing 5 3 sing 6 5 sing 7 6 sing 8 7 sing 8 3 sing 10 2 sing 12 9 doub 12 11 sing 12 10 sing 13 11 sing 14 13 sing 15 14 sing 16 15 sing 16 11 sing 17 5 sing 18 5 sing 19 6 sing 20 6 sing 21 7 sing 22 7 sing 23 8 sing 24 8 sing 25 13 sing 26 13 sing 27 14 sing 28 14 sing 29 15 sing 30 15 sing 31 16 sing 32 16 sing ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chemical_conn_bond.atom_1 _item_description.description ; This data item is a pointer to _chemical_conn_atom.number in the CHEMICAL_CONN_ATOM category. ; _item.name '_chemical_conn_bond.atom_1' _item.mandatory_code yes _item_aliases.alias_name '_chemical_conn_bond_atom_1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_dependent.dependent_name '_chemical_conn_bond.atom_2' save_ save__chemical_conn_bond.atom_2 _item_description.description ; This data item is a pointer to _chemical_conn_atom.number in the CHEMICAL_CONN_ATOM category. ; _item.name '_chemical_conn_bond.atom_2' _item.mandatory_code yes _item_aliases.alias_name '_chemical_conn_bond_atom_2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_dependent.dependent_name '_chemical_conn_bond.atom_1' save_ save__chemical_conn_bond.type _item_description.description ; The chemical bond type associated with the connection between the two sites _chemical_conn_bond.atom_1 and _chemical_conn_bond.atom_2. ; _item.name '_chemical_conn_bond.type' _item.category_id chemical_conn_bond _item.mandatory_code no _item_aliases.alias_name '_chemical_conn_bond_type' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value sing _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sing 'single bond' doub 'double bond' trip 'triple bond' quad 'quadruple bond' arom 'aromatic bond' poly 'polymeric bond' delo 'delocalized double bond' pi 'pi bond' save_ ###################### ## CHEMICAL_FORMULA ## ###################### save_chemical_formula _category.description ; Data items in the CHEMICAL_FORMULA category would not, in general, be used in a macromolecular CIF. See instead the ENTITY data items. Data items in the CHEMICAL_FORMULA category specify the composition and chemical properties of the compound. The formula data items must agree with those that specify the density, unit-cell and Z values. The following rules apply to the construction of the data items _chemical_formula.analytical, _chemical_formula.structural and _chemical_formula.sum. For the data item _chemical_formula.moiety, the formula construction is broken up into residues or moieties, i.e. groups of atoms that form a molecular unit or molecular ion. The rules given below apply within each moiety but different requirements apply to the way that moieties are connected (see _chemical_formula.moiety). (1) Only recognized element symbols may be used. (2) Each element symbol is followed by a 'count' number. A count of '1' may be omitted. (3) A space or parenthesis must separate each cluster of (element symbol + count). (4) Where a group of elements is enclosed in parentheses, the multiplier for the group must follow the closing parenthesis. That is, all element and group multipliers are assumed to be printed as subscripted numbers. (An exception to this rule exists for _chemical_formula.moiety formulae where pre- and post-multipliers are permitted for molecular units.) (5) Unless the elements are ordered in a manner that corresponds to their chemical structure, as in _chemical_formula.structural, the order of the elements within any group or moiety should be: C, then H, then the other elements in alphabetical order of their symbol. This is the 'Hill' system used by Chemical Abstracts. This ordering is used in _chemical_formula.moiety and _chemical_formula.sum. ; _category.id chemical_formula _category.mandatory_code no _category_key.name '_chemical_formula.entry_id' loop_ _category_group.id 'inclusive_group' 'chemical_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991). Acta Cryst. C47, 2276-2277]. ; ; _chemical_formula.entry_id 'TOZ' _chemical_formula.moiety 'C18 H25 N O3' _chemical_formula.sum 'C18 H25 N O3' _chemical_formula.weight 303.40 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__chemical_formula.analytical _item_description.description ; Formula determined by standard chemical analysis including trace elements. See the CHEMICAL_FORMULA category description for rules for writing chemical formulae. Parentheses are used only for standard uncertainties (estimated standard deviations). ; _item.name '_chemical_formula.analytical' _item.category_id chemical_formula _item.mandatory_code no _item_aliases.alias_name '_chemical_formula_analytical' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'Fe2.45(2) Ni1.60(3) S4' save_ save__chemical_formula.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_chemical_formula.entry_id' _item.mandatory_code yes save_ save__chemical_formula.iupac _item_description.description ; Formula expressed in conformance with IUPAC rules for inorganic and metal-organic compounds where these conflict with the rules for any other CHEMICAL_FORMULA entries. Typically used for formatting a formula in accordance with journal rules. This should appear in the data block in addition to the most appropriate of the other CHEMICAL_FORMULA data names. Ref: IUPAC (1990). Nomenclature of Inorganic Chemistry. Oxford: Blackwell Scientific Publications. ; _item.name '_chemical_formula.iupac' _item.category_id chemical_formula _item.mandatory_code no _item_aliases.alias_name '_chemical_formula_iupac' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case '[Co Re (C12 H22 P)2 (C O)6].0.5C H3 O H' save_ save__chemical_formula.moiety _item_description.description ; Formula with each discrete bonded residue or ion shown as a separate moiety. See the CHEMICAL_FORMULA category description for rules for writing chemical formulae. In addition to the general formulae requirements, the following rules apply: (1) Moieties are separated by commas ','. (2) The order of elements within a moiety follows general rule (5) in the CHEMICAL_FORMULA category description. (3) Parentheses are not used within moieties but may surround a moiety. Parentheses may not be nested. (4) Charges should be placed at the end of the moiety. The charge '+' or '-' may be preceded by a numerical multiplier and should be separated from the last (element symbol + count) by a space. Pre- or post-multipliers may be used for individual moieties. ; _item.name '_chemical_formula.moiety' _item.category_id chemical_formula _item.mandatory_code no _item_aliases.alias_name '_chemical_formula_moiety' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'C7 H4 Cl Hg N O3 S' 'C12 H17 N4 O S 1+, C6 H2 N3 O7 1-' 'C12 H16 N2 O6, 5(H2 O1)' "(Cd 2+)3, (C6 N6 Cr 3-)2, 2(H2 O)" save_ save__chemical_formula.structural _item_description.description ; See the CHEMICAL_FORMULA category description for the rules for writing chemical formulae for inorganics, organometallics, metal complexes etc., in which bonded groups are preserved as discrete entities within parentheses, with post-multipliers as required. The order of the elements should give as much information as possible about the chemical structure. Parentheses may be used and nested as required. This formula should correspond to the structure as actually reported, i.e. trace elements not included in atom-type and atom-site data should not be included in this formula (see also _chemical_formula.analytical). ; _item.name '_chemical_formula.structural' _item.category_id chemical_formula _item.mandatory_code no _item_aliases.alias_name '_chemical_formula_structural' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'Ca ((Cl O3)2 O)2 (H2 O)6' '(Pt (N H3)2 (C5 H7 N3 O)2) (Cl O4)2' save_ save__chemical_formula.sum _item_description.description ; See the CHEMICAL_FORMULA category description for the rules for writing chemical formulae in which all discrete bonded residues and ions are summed over the constituent elements, following the ordering given in general rule (5) in the CHEMICAL_FORMULA category description. Parentheses are not normally used. ; _item.name '_chemical_formula.sum' _item.category_id chemical_formula _item.mandatory_code no _item_aliases.alias_name '_chemical_formula_sum' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'C18 H19 N7 O8 S' save_ save__chemical_formula.weight _item_description.description ; Formula mass in daltons. This mass should correspond to the formulae given under _chemical_formula.structural, _chemical_formula.moiety or _chemical_formula.sum and, together with the Z value and cell parameters, should yield the density given as _exptl_crystal.density_diffrn. ; _item.name '_chemical_formula.weight' _item.category_id chemical_formula _item.mandatory_code no _item_aliases.alias_name '_chemical_formula_weight' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 1.0 1.0 1.0 _item_type.code float save_ save__chemical_formula.weight_meas _item_description.description ; Formula mass in daltons measured by a non-diffraction experiment. ; _item.name '_chemical_formula.weight_meas' _item.category_id chemical_formula _item.mandatory_code no _item_aliases.alias_name '_chemical_formula_weight_meas' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 1.0 1.0 1.0 _item_type.code float save_ ############## ## CITATION ## ############## save_citation _category.description ; Data items in the CITATION category record details about the literature cited as being relevant to the contents of the data block. ; _category.id citation _category.mandatory_code no _category_key.name '_citation.id' loop_ _category_group.id 'inclusive_group' 'citation_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _citation.id _citation.coordinate_linkage _citation.title _citation.country _citation.journal_abbrev _citation.journal_volume _citation.journal_issue _citation.page_first _citation.page_last _citation.year _citation.journal_id_ASTM _citation.journal_id_ISSN _citation.journal_id_CSD _citation.book_title _citation.book_publisher _citation.book_id_ISBN _citation.details primary yes ; Crystallographic analysis of a complex between human immunodeficiency virus type 1 protease and acetyl-pepstatin at 2.0-Angstroms resolution. ; US 'J. Biol. Chem.' 265 . 14209 14219 1990 HBCHA3 0021-9258 071 . . . ; The publication that directly relates to this coordinate set. ; 2 no ; Three-dimensional structure of aspartyl-protease from human immunodeficiency virus HIV-1. ; UK 'Nature' 337 . 615 619 1989 NATUAS 0028-0836 006 . . . ; Determination of the structure of the unliganded enzyme. ; 3 no ; Crystallization of the aspartylprotease from human immunodeficiency virus, HIV-1. ; US 'J. Biol. Chem.' 264 . 1919 1921 1989 HBCHA3 0021-9258 071 . . . ; Crystallization of the unliganded enzyme. ; 4 no ; Human immunodeficiency virus protease. Bacterial expression and characterization of the purified aspartic protease. ; US 'J. Biol. Chem.' 264 . 2307 2312 1989 HBCHA3 0021-9258 071 . . . ; Expression and purification of the enzyme. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__citation.abstract _item_description.description ; Abstract for the citation. This is used most when the citation is extracted from a bibliographic database that contains full text or abstract information. ; _item.name '_citation.abstract' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_abstract' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__citation.abstract_id_CAS _item_description.description ; The Chemical Abstracts Service (CAS) abstract identifier; relevant for journal articles. ; _item.name '_citation.abstract_id_CAS' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_abstract_id_CAS' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__citation.book_id_ISBN _item_description.description ; The International Standard Book Number (ISBN) code assigned to the book cited; relevant for books or book chapters. ; _item.name '_citation.book_id_ISBN' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_book_id_ISBN' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__citation.book_publisher _item_description.description ; The name of the publisher of the citation; relevant for books or book chapters. ; _item.name '_citation.book_publisher' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_book_publisher' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'John Wiley and Sons' save_ save__citation.book_publisher_city _item_description.description ; The location of the publisher of the citation; relevant for books or book chapters. ; _item.name '_citation.book_publisher_city' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_book_publisher_city' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'London' save_ save__citation.book_title _item_description.description ; The title of the book in which the citation appeared; relevant for books or book chapters. ; _item.name '_citation.book_title' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_book_title' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__citation.coordinate_linkage _item_description.description ; _citation.coordinate_linkage states whether this citation is concerned with precisely the set of coordinates given in the data block. If, for instance, the publication described the same structure, but the coordinates had undergone further refinement prior to the creation of the data block, the value of this data item would be 'no'. ; _item.name '_citation.coordinate_linkage' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_coordinate_linkage' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no 'citation unrelated to current coordinates' n 'abbreviation for "no"' yes 'citation related to current coordinates' y 'abbreviation for "yes"' save_ save__citation.country _item_description.description ; The country/region of publication; relevant for books and book chapters. ; _item.name '_citation.country' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_country' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__citation.database_id_Medline _item_description.description ; Accession number used by Medline to categorize a specific bibliographic entry. ; _item.name '_citation.database_id_Medline' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_database_id_Medline' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int _item_examples.case 89064067 save_ save__citation.details _item_description.description ; A description of special aspects of the relationship of the contents of the data block to the literature item cited. ; _item.name '_citation.details' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_special_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case ; citation relates to this precise coordinate set ; ; citation relates to earlier low-resolution structure ; ; citation relates to further refinement of structure reported in citation 2 ; save_ save__citation.id _item_description.description ; The value of _citation.id must uniquely identify a record in the CITATION list. The _citation.id 'primary' should be used to indicate the citation that the author(s) consider to be the most pertinent to the contents of the data block. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_citation.id' citation yes '_citation_author.citation_id' citation_author yes '_citation_editor.citation_id' citation_editor yes '_software.citation_id' software no _item_aliases.alias_name '_citation_id' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_linked.child_name _item_linked.parent_name '_citation_author.citation_id' '_citation.id' '_citation_editor.citation_id' '_citation.id' '_software.citation_id' '_citation.id' _item_type.code code loop_ _item_examples.case 'primary' '1' '2' save_ save__citation.journal_abbrev _item_description.description ; Abbreviated name of the cited journal as given in the Chemical Abstracts Service Source Index. ; _item.name '_citation.journal_abbrev' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_journal_abbrev' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line _item_examples.case 'J. Mol. Biol.' _pdbx_item.name "_citation.journal_abbrev" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_citation.journal_abbrev" _pdbx_item_description.description "The PDB (i.e., the Chemical Abstracts) abbreviation for a journal. If you do not know the abbreviation, then give the complete name of the journal and we will try and find it for you. If it is a book or other monographic work, state the full title." # _pdbx_item_examples.name "_citation.journal_abbrev" _pdbx_item_examples.case J.Mol.Biol. _pdbx_item_examples.detail . # save_ save__citation.journal_id_ASTM _item_description.description ; The American Society for Testing and Materials (ASTM) code assigned to the journal cited (also referred to as the CODEN designator of the Chemical Abstracts Service); relevant for journal articles. ; _item.name '_citation.journal_id_ASTM' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_journal_id_ASTM' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__citation.journal_id_CSD _item_description.description ; The Cambridge Structural Database (CSD) code assigned to the journal cited; relevant for journal articles. This is also the system used at the Protein Data Bank (PDB). ; _item.name '_citation.journal_id_CSD' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_journal_id_CSD' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line _item_examples.case '0070' save_ save__citation.journal_id_ISSN _item_description.description ; The International Standard Serial Number (ISSN) code assigned to the journal cited; relevant for journal articles. ; _item.name '_citation.journal_id_ISSN' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_journal_id_ISSN' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__citation.journal_full _item_description.description ; Full name of the cited journal; relevant for journal articles. ; _item.name '_citation.journal_full' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_journal_full' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'Journal of Molecular Biology' save_ save__citation.journal_issue _item_description.description ; Issue number of the journal cited; relevant for journal articles. ; _item.name '_citation.journal_issue' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_journal_issue' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line _item_examples.case '2' save_ save__citation.journal_volume _item_description.description ; Volume number of the journal cited; relevant for journal articles. ; _item.name '_citation.journal_volume' _item.category_id citation _item.mandatory_code no _pdbx_item_description.name "_citation.journal_volume" _pdbx_item_description.description "The volume number of the journal in which the article appeared. Example: 317" _item_aliases.alias_name '_citation_journal_volume' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line _item_examples.case '174' save_ save__citation.language _item_description.description ; Language in which the cited article is written. ; _item.name '_citation.language' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_language' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line _item_examples.case 'German' save_ save__citation.page_first _item_description.description ; The first page of the citation; relevant for journal articles, books and book chapters. ; _item.name '_citation.page_first' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_page_first' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line _pdbx_item_description.name "_citation.page_first" _pdbx_item_description.description "The starting page number of this article." save_ save__citation.page_last _item_description.description ; The last page of the citation; relevant for journal articles, books and book chapters. ; _item.name '_citation.page_last' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_page_last' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line _pdbx_item_description.name "_citation.page_last" _pdbx_item_description.description "The last page number of this article." save_ save__citation.title _item_description.description ; The title of the citation; relevant for journal articles, books and book chapters. ; _item.name '_citation.title' _item.category_id citation _item.mandatory_code no _pdbx_item.name "_citation.title" _pdbx_item.mandatory_code yes _item_aliases.alias_name '_citation_title' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _pdbx_item_description.name "_citation.title" _pdbx_item_description.description "Title of the article or chapter or part of a book. This should be marked NULL if the author(s) listed wrote the entire book (or other work) and no sub-section of the book is being cited. Example: The Structure of Crystalline Profilin-Beta-Actin" # _item_examples.case ; Structure of diferric duck ovotransferrin at 2.35 Angstroms resolution. ; save_ save__citation.year _item_description.description ; The year of the citation; relevant for journal articles, books and book chapters. ; _item.name '_citation.year' _item.category_id citation _item.mandatory_code no _item_aliases.alias_name '_citation_year' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int _item_examples.case 1984 _pdbx_item_description.name "_citation.year" _pdbx_item_description.description "The year of publication of the article. Example: 2002" save_ ##################### ## CITATION_AUTHOR ## ##################### save_citation_author _category.description ; Data items in the CITATION_AUTHOR category record details about the authors associated with the citations in the CITATION list. ; _category.id citation_author _category.mandatory_code no loop_ _category_key.name '_citation_author.citation_id' '_citation_author.name' '_citation_author.ordinal' loop_ _category_group.id 'inclusive_group' 'citation_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _citation_author.citation_id _citation_author.ordinal _citation_author.name primary 1 'Fitzgerald, P.M.D.' primary 2 'McKeever, B.M.' primary 3 'Van Middlesworth, J.F.' primary 4 'Springer, J.P.' primary 5 'Heimbach, J.C.' primary 6 'Leu, C.-T.' primary 7 'Herber, W.K.' primary 8 'Dixon, R.A.F.' primary 9 'Darke, P.L.' 2 1 'Navia, M.A.' 2 2 'Fitzgerald, P.M.D.' 2 3 'McKeever, B.M.' 2 4 'Leu, C.-T.' 2 5 'Heimbach, J.C.' 2 6 'Herber, W.K.' 2 7 'Sigal, I.S.' 2 8 'Darke, P.L.' 2 9 'Springer, J.P.' 3 1 'McKeever, B.M.' 3 2 'Navia, M.A.' 3 3 'Fitzgerald, P.M.D.' 3 4 'Springer, J.P.' 3 5 'Leu, C.-T.' 3 6 'Heimbach, J.C.' 3 7 'Herber, W.K.' 3 8 'Sigal, I.S.' 3 9 'Darke, P.L.' 4 1 'Darke, P.L.' 4 2 'Leu, C.-T.' 4 3 'Davis, L.J.' 4 4 'Heimbach, J.C.' 4 5 'Diehl, R.E.' 4 6 'Hill, W.S.' 4 7 'Dixon, R.A.F.' 4 8 'Sigal, I.S.' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__citation_author.citation_id _item_description.description ; This data item is a pointer to _citation.id in the CITATION category. ; _item.name '_citation_author.citation_id' _item.mandatory_code yes _item_aliases.alias_name '_citation_author_citation_id' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__citation_author.name _item_description.description ; Name of an author of the citation; relevant for journal articles, books and book chapters. The family name(s), followed by a comma and including any dynastic components, precedes the first name(s) or initial(s). ; _item.name '_citation_author.name' _item.category_id citation_author _item.mandatory_code yes _item_aliases.alias_name '_citation_author_name' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case 'Bleary, Percival R.' "O'Neil, F.K." 'Van den Bossche, G.' 'Yang, D.-L.' 'Simonov, Yu.A' _pdbx_item.name "_citation_author.name" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_citation_author.name" _pdbx_item_description.description "Author of a journal article, book chapter, whole book, or thesis. It is not to be used for editor(s) names. Provide the authors' name by using surname (family, or last name), a comma, followed by period separated initials for first and middle names. The word Junior is abbreviated as Jr. Umlauts and other character modifiers should not be included." # _pdbx_item_examples.name "_citation_author.name" _pdbx_item_examples.case "Jones, T.J." _pdbx_item_examples.detail . # _pdbx_item_type.name "_citation_author.name" _pdbx_item_type.code author # save_ save__citation_author.ordinal _item_description.description ; This data item defines the order of the author's name in the list of authors of a citation. ; _item.name '_citation_author.ordinal' _item.category_id citation_author _item.mandatory_code yes _item_aliases.alias_name '_citation_author_ordinal' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__citation_author.identifier_ORCID _item_description.description ; The Open Researcher and Contributor ID (ORCID). ; _item.name '_citation_author.identifier_ORCID' _item.category_id citation_author _item.mandatory_code no _item_type.code orcid_id _item_examples.case '0000-0002-6681-547X' # save_ ##################### ## CITATION_EDITOR ## ##################### save_citation_editor _category.description ; Data items in the CITATION_EDITOR category record details about the editors associated with the books or book chapters cited in the CITATION list. ; _category.id citation_editor _category.mandatory_code no loop_ _category_key.name '_citation_editor.citation_id' '_citation_editor.name' loop_ _category_group.id 'inclusive_group' 'citation_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - hypothetical example. ; ; loop_ _citation_editor.citation_id _citation_editor.name 5 'McKeever, B.M.' 5 'Navia, M.A.' 5 'Fitzgerald, P.M.D.' 5 'Springer, J.P.' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__citation_editor.citation_id _item_description.description ; This data item is a pointer to _citation.id in the CITATION category. ; _item.name '_citation_editor.citation_id' _item.mandatory_code yes _item_aliases.alias_name '_citation_editor_citation_id' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__citation_editor.name _item_description.description ; Names of an editor of the citation; relevant for books and book chapters. The family name(s), followed by a comma and including any dynastic components, precedes the first name(s) or initial(s). ; _item.name '_citation_editor.name' _item.category_id citation_editor _item.mandatory_code yes _item_aliases.alias_name '_citation_editor_name' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case 'Bleary, Percival R.' "O'Neil, F.K." 'Van den Bossche, G.' 'Yang, D.-L.' 'Simonov, Yu.A' save_ save__citation_editor.ordinal _item_description.description ; This data item defines the order of the editor's name in the list of editors of a citation. ; _item.name '_citation_editor.ordinal' _item.category_id citation_editor _item.mandatory_code no _item_aliases.alias_name '_citation_editor_ordinal' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ ############### ## COMPUTING ## ############### save_computing _category.description ; Data items in the COMPUTING category record details about the computer programs used in the crystal structure analysis. Data items in this category would not, in general, be used in a macromolecular CIF. The category SOFTWARE, which allows a more detailed description of computer programs and their attributes to be given, would be used instead. ; _category.id computing _category.mandatory_code no _category_key.name '_computing.entry_id' loop_ _category_group.id 'inclusive_group' 'computing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Rodr\'iguez-Romera, Ruiz-P\'erez & Solans [Acta Cryst. (1996), C52, 1415-1417]. ; ; _computing.entry_id '1ABC' _computing.data_collection 'CAD-4 (Enraf-Nonius, 1989)' _computing.cell_refinement 'CAD-4 (Enraf-Nonius, 1989)' _computing.data_reduction 'CFEO (Solans, 1978)' _computing.structure_solution 'SHELXS86 (Sheldrick, 1990)' _computing.structure_refinement 'SHELXL93 (Sheldrick, 1993)' _computing.molecular_graphics 'ORTEPII (Johnson, 1976)' _computing.publication_material 'PARST (Nardelli, 1983)' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_DEPRECATED _pdbx_category_context.category_id computing save_ save__computing.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_computing.entry_id' _item.mandatory_code yes save_ save__computing.cell_refinement _item_description.description ; Software used for cell refinement. Give the program or package name and a brief reference. ; _item.name '_computing.cell_refinement' _item.category_id computing _item.mandatory_code no _item_aliases.alias_name '_computing_cell_refinement' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'CAD4 (Enraf-Nonius, 1989)' loop_ _item_related.related_name _item_related.function_code '_software.name' replacedby '_software.classification' replacedby save_ save__computing.data_collection _item_description.description ; Software used for data collection. Give the program or package name and a brief reference. ; _item.name '_computing.data_collection' _item.category_id computing _item.mandatory_code no _item_aliases.alias_name '_computing_data_collection' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'CAD4 (Enraf-Nonius, 1989)' loop_ _item_related.related_name _item_related.function_code '_software.name' replacedby '_software.classification' replacedby save_ save__computing.data_reduction _item_description.description ; Software used for data reduction. Give the program or package name and a brief reference. ; _item.name '_computing.data_reduction' _item.category_id computing _item.mandatory_code no _item_aliases.alias_name '_computing_data_reduction' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'DIFDAT, SORTRF, ADDREF (Hall & Stewart, 1990)' loop_ _item_related.related_name _item_related.function_code '_software.name' replacedby '_software.classification' replacedby save_ save__computing.molecular_graphics _item_description.description ; Software used for molecular graphics. Give the program or package name and a brief reference. ; _item.name '_computing.molecular_graphics' _item.category_id computing _item.mandatory_code no _item_aliases.alias_name '_computing_molecular_graphics' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'FRODO (Jones, 1986), ORTEP (Johnson, 1965)' loop_ _item_related.related_name _item_related.function_code '_software.name' replacedby '_software.classification' replacedby save_ save__computing.publication_material _item_description.description ; Software used for generating material for publication. Give the program or package name and a brief reference. ; _item.name '_computing.publication_material' _item.category_id computing _item.mandatory_code no _item_aliases.alias_name '_computing_publication_material' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_related.related_name _item_related.function_code '_software.name' replacedby '_software.classification' replacedby save_ save__computing.structure_refinement _item_description.description ; Software used for refinement of the structure. Give the program or package name and a brief reference. ; _item.name '_computing.structure_refinement' _item.category_id computing _item.mandatory_code no _item_aliases.alias_name '_computing_structure_refinement' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'SHELX85 (Sheldrick, 1985)' 'X-PLOR (Brunger, 1992)' loop_ _item_related.related_name _item_related.function_code '_software.name' replacedby '_software.classification' replacedby loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_computing.structure_refinement" CNS . "_computing.structure_refinement" CORELS . "_computing.structure_refinement" GPRLSA . "_computing.structure_refinement" JACK-LEVITT . "_computing.structure_refinement" NUCLSQ . "_computing.structure_refinement" PHENIX . "_computing.structure_refinement" PROFFT . "_computing.structure_refinement" PROLSQ . "_computing.structure_refinement" REFMAC . "_computing.structure_refinement" RESTRAIN . "_computing.structure_refinement" SHELXL . "_computing.structure_refinement" TNT . "_computing.structure_refinement" X-PLOR . "_computing.structure_refinement" XTALVIEW . # save_ save__computing.structure_solution _item_description.description ; Software used for solution of the structure. Give the program or package name and a brief reference. ; _item.name '_computing.structure_solution' _item.category_id computing _item.mandatory_code no _item_aliases.alias_name '_computing_structure_solution' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'SHELX85 (Sheldrick, 1985)' loop_ _item_related.related_name _item_related.function_code '_software.name' replacedby '_software.classification' replacedby loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_computing.structure_solution" AMoRE . "_computing.structure_solution" CNS . "_computing.structure_solution" DM . "_computing.structure_solution" GLRF . "_computing.structure_solution" ISIR . "_computing.structure_solution" MADSYS . "_computing.structure_solution" MERLOT . "_computing.structure_solution" MLPHARE . "_computing.structure_solution" PHASES . "_computing.structure_solution" PHASER . "_computing.structure_solution" SHARP . "_computing.structure_solution" SHELXS . "_computing.structure_solution" SOLVE . "_computing.structure_solution" SQUASH . "_computing.structure_solution" SnB . "_computing.structure_solution" TNT . "_computing.structure_solution" X-PLOR . "_computing.structure_solution" XFIT . # save_ ############## ## DATABASE ## ############## save_database _category.description ; Data items in the DATABASE category have been superseded by data items in the DATABASE_2 category. They are included here only for compliance with older CIFs. ; _category.id database _category.mandatory_code no _category_key.name '_database.entry_id' loop_ _category_group.id 'inclusive_group' 'compliance_group' save_ save__database.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_database.entry_id' _item.mandatory_code yes save_ #save__database.code_CAS # _item_description.description #; The code assigned by Chemical Abstracts. #; # _item.name '_database.code_CAS' # _item.category_id database # _item.mandatory_code no # _item_aliases.alias_name '_database_code_CAS' # _item_aliases.dictionary cif_core.dic # _item_aliases.version 2.0.1 # loop_ # _item_related.related_name # _item_related.function_code '_database_2.database_id' # replacedby # '_database_2.database_code' # replacedby # _item_type.code line # save_ # #save__database.code_CSD # _item_description.description #; The code assigned by the Cambridge Structural Database # (organic and metal-organic compounds). #; # _item.name '_database.code_CSD' # _item.category_id database # _item.mandatory_code no # _item_aliases.alias_name '_database_code_CSD' # _item_aliases.dictionary cif_core.dic # _item_aliases.version 2.0.1 # loop_ # _item_related.related_name # _item_related.function_code '_database_2.database_id' # replacedby # '_database_2.database_code' # replacedby # _item_type.code line # save_ # #save__database.code_ICSD # _item_description.description #; The code assigned by the Inorganic Crystal Structure Database. #; # _item.name '_database.code_ICSD' # _item.category_id database # _item.mandatory_code no # _item_aliases.alias_name '_database_code_ICSD' # _item_aliases.dictionary cif_core.dic # _item_aliases.version 2.0.1 # loop_ # _item_related.related_name # _item_related.function_code '_database_2.database_id' # replacedby # '_database_2.database_code' # replacedby # _item_type.code line # save_ # #save__database.code_MDF # _item_description.description #; The code assigned by the Metals Data File (metal structures). #; # _item.name '_database.code_MDF' # _item.category_id database # _item.mandatory_code no # _item_aliases.alias_name '_database_code_MDF' # _item_aliases.dictionary cif_core.dic # _item_aliases.version 2.0.1 # loop_ # _item_related.related_name # _item_related.function_code '_database_2.database_id' # replacedby # '_database_2.database_code' # replacedby # _item_type.code line # save_ # #save__database.code_NBS # _item_description.description #; The code assigned by the NBS (NIST) Crystal Data Database # (lattice parameters). #; # _item.name '_database.code_NBS' # _item.category_id database # _item.mandatory_code no # _item_aliases.alias_name '_database_code_NBS' # _item_aliases.dictionary cif_core.dic # _item_aliases.version 2.0.1 # loop_ # _item_related.related_name # _item_related.function_code '_database_2.database_id' # replacedby # '_database_2.database_code' # replacedby # _item_type.code line # save_ # #save__database.code_PDF # _item_description.description #; The code assigned by the Powder Diffraction File (JCPDS/ICDD). #; # _item.name '_database.code_PDF' # _item.category_id database # _item.mandatory_code no # _item_aliases.alias_name '_database_code_PDF' # _item_aliases.dictionary cif_core.dic # _item_aliases.version 2.0.1 # loop_ # _item_related.related_name # _item_related.function_code '_database_2.database_id' # replacedby # '_database_2.database_code' # replacedby # _item_type.code line # save_ # save__database.journal_ASTM _item_description.description ; The ASTM CODEN designator for a journal as given in the Chemical Source List maintained by the Chemical Abstracts Service. ; _item.name '_database.journal_ASTM' _item.category_id database _item.mandatory_code no _item_aliases.alias_name '_database_journal_ASTM' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__database.journal_CSD _item_description.description ; The journal code used in the Cambridge Structural Database. ; _item.name '_database.journal_CSD' _item.category_id database _item.mandatory_code no _item_aliases.alias_name '_database_journal_CSD' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ ################ ## DATABASE_2 ## ################ save_database_2 _category.description ; Data items in the DATABASE_2 category record details about the database identifiers of the data block. These data items are assigned by database managers and should only appear in a data block if they originate from that source. The name of this category, DATABASE_2, arose because the category name DATABASE was already in use in the core CIF dictionary, but was used differently from the way it needed to be used in the mmCIF dictionary. Since CIF data names cannot be changed once they have been adopted, a new category had to be created. ; _category.id database_2 _category.mandatory_code no loop_ _category_key.name '_database_2.database_id' '_database_2.database_code' loop_ _category_group.id 'inclusive_group' 'database_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _database_2.database_id 'PDB' _database_2.database_code '5HVP' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__database_2.database_id _item_description.description ; An abbreviation that identifies the database. ; _item.name '_database_2.database_id' _item.category_id database_2 _item.mandatory_code yes loop_ _item_related.related_name _item_related.function_code '_database.code_CAS' replaces '_database.code_CSD' replaces '_database.code_ICSD' replaces '_database.code_MDF' replaces '_database.code_NBS' replaces '_database.code_PDF' replaces _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail CAS ; Chemical Abstracts ; CSD ; Cambridge Structural Database (organic and metal-organic compounds) ; EMDB ; Electron Microscopy Data Bank ; ICSD ; Inorganic Crystal Structure Database ; MDF ; Metals Data File (metal structures) ; NDB ; Nucleic Acid Database ; NBS ; NBS (NIST) Crystal Data Database (lattice parameters) ; PDB ; Protein Data Bank ; PDF ; Powder Diffraction File (JCPDS/ICDD) ; RCSB ; Research Collaboratory for Structural Bioinformatics ; EBI ; European Bioinformatics Institute ; PDBE ; Protein Data Bank Europe ; BMRB ; Biological Magnetic Reference Data Bank ; WWPDB ; Worldwide Protein Data Bank ; PDB_ACC ; Protein Data Bank Versioned Accession ; save_ save__database_2.database_code _item_description.description ; The code assigned by the database identified in _database_2.database_id. ; _item.name '_database_2.database_code' _item.category_id database_2 _item.mandatory_code yes loop_ _item_related.related_name _item_related.function_code '_database.code_CAS' replaces '_database.code_CSD' replaces '_database.code_ICSD' replaces '_database.code_MDF' replaces '_database.code_NBS' replaces '_database.code_PDF' replaces _item_type.code line loop_ _item_examples.case 1ABC ABCDEF save_ save__database_2.pdbx_database_accession _item_description.description ; Extended accession code issued for for _database_2.database_code assigned by the database identified in _database_2.database_id. ; _item.name '_database_2.pdbx_database_accession' _item.category_id database_2 _item.mandatory_code no _item_type.code code _item_examples.case pdb_00006lu7 save_ save__database_2.pdbx_DOI _item_description.description ; Document Object Identifier (DOI) for this entry registered with http://crossref.org. ; _item.name '_database_2.pdbx_DOI' _item.category_id database_2 _item.mandatory_code no _item_type.code line _item_examples.case 10.2210/pdb6lu7/pdb save_ ######################### ## DATABASE_PDB_CAVEAT ## ######################### save_database_PDB_caveat _category.description ; Data items in the DATABASE_PDB_CAVEAT category record details about features of the data block flagged as 'caveats' by the Protein Data Bank (PDB). These data items are included only for consistency with PDB format files. They should appear in a data block only if that data block was created by reformatting a PDB format file. ; _category.id database_PDB_caveat _category.mandatory_code no _category_key.name '_database_PDB_caveat.id' loop_ _category_group.id 'inclusive_group' 'database_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - hypothetical example. ; ; loop_ _database_PDB_caveat.id _database_PDB_caveat.text 1 ; THE CRYSTAL TRANSFORMATION IS IN ERROR BUT IS ; 2 ; UNCORRECTABLE AT THIS TIME ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__database_PDB_caveat.id _item_description.description ; A unique identifier for the PDB caveat record. ; _item.name '_database_PDB_caveat.id' _item.category_id database_PDB_caveat _item.mandatory_code yes _item_type.code int save_ save__database_PDB_caveat.text _item_description.description ; The full text of the PDB caveat record. ; _item.name '_database_PDB_caveat.text' _item.category_id database_PDB_caveat _item.mandatory_code no _item_type.code text save_ ######################### ## DATABASE_PDB_MATRIX ## ######################### save_database_PDB_matrix _category.description ; The DATABASE_PDB_MATRIX category provides placeholders for transformation matrices and vectors used by the Protein Data Bank (PDB). These data items are included only for consistency with older PDB format files. They should appear in a data block only if that data block was created by reformatting a PDB format file. ; _category.id database_PDB_matrix _category.mandatory_code no _category_key.name '_database_PDB_matrix.entry_id' loop_ _category_group.id 'inclusive_group' 'database_group' 'pdbx_group' save_ save__database_PDB_matrix.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_database_PDB_matrix.entry_id' _item.mandatory_code yes save_ save__database_PDB_matrix.origx[1][1] _item_description.description ; The [1][1] element of the PDB ORIGX matrix. ; _item.name '_database_PDB_matrix.origx[1][1]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 1.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.origx[1][2] _item_description.description ; The [1][2] element of the PDB ORIGX matrix. ; _item.name '_database_PDB_matrix.origx[1][2]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.origx[1][3] _item_description.description ; The [1][3] element of the PDB ORIGX matrix. ; _item.name '_database_PDB_matrix.origx[1][3]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.origx[2][1] _item_description.description ; The [2][1] element of the PDB ORIGX matrix. ; _item.name '_database_PDB_matrix.origx[2][1]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.origx[2][2] _item_description.description ; The [2][2] element of the PDB ORIGX matrix. ; _item.name '_database_PDB_matrix.origx[2][2]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 1.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.origx[2][3] _item_description.description ; The [2][3] element of the PDB ORIGX matrix. ; _item.name '_database_PDB_matrix.origx[2][3]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.origx[3][1] _item_description.description ; The [3][1] element of the PDB ORIGX matrix. ; _item.name '_database_PDB_matrix.origx[3][1]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.origx[3][2] _item_description.description ; The [3][2] element of the PDB ORIGX matrix. ; _item.name '_database_PDB_matrix.origx[3][2]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.origx[3][3] _item_description.description ; The [3][3] element of the PDB ORIGX matrix. ; _item.name '_database_PDB_matrix.origx[3][3]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 1.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.origx_vector[1] _item_description.description ; The [1] element of the PDB ORIGX vector. ; _item.name '_database_PDB_matrix.origx_vector[1]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__database_PDB_matrix.origx_vector[2] _item_description.description ; The [2] element of the PDB ORIGX vector. ; _item.name '_database_PDB_matrix.origx_vector[2]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__database_PDB_matrix.origx_vector[3] _item_description.description ; The [3] element of the PDB ORIGX vector. ; _item.name '_database_PDB_matrix.origx_vector[3]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__database_PDB_matrix.scale[1][1] _item_description.description ; The [1][1] element of the PDB SCALE matrix. ; _item.name '_database_PDB_matrix.scale[1][1]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 1.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.scale[1][2] _item_description.description ; The [1][2] element of the PDB SCALE matrix. ; _item.name '_database_PDB_matrix.scale[1][2]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.scale[1][3] _item_description.description ; The [1][3] element of the PDB SCALE matrix. ; _item.name '_database_PDB_matrix.scale[1][3]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.scale[2][1] _item_description.description ; The [2][1] element of the PDB SCALE matrix. ; _item.name '_database_PDB_matrix.scale[2][1]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.scale[2][2] _item_description.description ; The [2][2] element of the PDB SCALE matrix. ; _item.name '_database_PDB_matrix.scale[2][2]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 1.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.scale[2][3] _item_description.description ; The [2][3] element of the PDB SCALE matrix. ; _item.name '_database_PDB_matrix.scale[2][3]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.scale[3][1] _item_description.description ; The [3][1] element of the PDB SCALE matrix. ; _item.name '_database_PDB_matrix.scale[3][1]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.scale[3][2] _item_description.description ; The [3][2] element of the PDB SCALE matrix. ; _item.name '_database_PDB_matrix.scale[3][2]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.scale[3][3] _item_description.description ; The [3][3] element of the PDB SCALE matrix. ; _item.name '_database_PDB_matrix.scale[3][3]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 1.0 _item_sub_category.id matrix _item_type.code float save_ save__database_PDB_matrix.scale_vector[1] _item_description.description ; The [1] element of the PDB SCALE vector. ; _item.name '_database_PDB_matrix.scale_vector[1]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__database_PDB_matrix.scale_vector[2] _item_description.description ; The [2] element of the PDB SCALE vector. ; _item.name '_database_PDB_matrix.scale_vector[2]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__database_PDB_matrix.scale_vector[3] _item_description.description ; The [3] element of the PDB SCALE vector. ; _item.name '_database_PDB_matrix.scale_vector[3]' _item.category_id database_PDB_matrix _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ ######################### ## DATABASE_PDB_REMARK ## ######################### save_database_PDB_remark _category.description ; Data items in the DATABASE_PDB_REMARK category record details about the data block as archived by the Protein Data Bank (PDB). Some data appearing in PDB REMARK records can be algorithmically extracted into the appropriate data items in the data block. These data items are included only for consistency with older PDB format files. They should appear in a data block only if that data block was created by reformatting a PDB format file. NOTE: These remark records in this category are not uniformly annotated by the PDB and may not be consistent with nomenclature or labeling used in the entry. ; _category.id database_PDB_remark _category.mandatory_code no _category_key.name '_database_PDB_remark.id' loop_ _category_group.id 'inclusive_group' 'database_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _database_PDB_remark.id _database_PDB_remark.text 3 ; REFINEMENT. BY THE RESTRAINED LEAST-SQUARES PROCEDURE OF J. KONNERT AND W. HENDRICKSON (PROGRAM *PROLSQ*). THE R VALUE IS 0.176 FOR 12901 REFLECTIONS IN THE RESOLUTION RANGE 8.0 TO 2.0 ANGSTROMS WITH I .GT. SIGMA(I). RMS DEVIATIONS FROM IDEAL VALUES (THE VALUES OF SIGMA, IN PARENTHESES, ARE THE INPUT ESTIMATED STANDARD DEVIATIONS THAT DETERMINE THE RELATIVE WEIGHTS OF THE CORRESPONDING RESTRAINTS) DISTANCE RESTRAINTS (ANGSTROMS) BOND DISTANCE 0.018(0.020) ANGLE DISTANCE 0.038(0.030) PLANAR 1-4 DISTANCE 0.043(0.040) PLANE RESTRAINT (ANGSTROMS) 0.015(0.020) CHIRAL-CENTER RESTRAINT (ANGSTROMS**3) 0.177(0.150) NON-BONDED CONTACT RESTRAINTS (ANGSTROMS) SINGLE TORSION CONTACT 0.216(0.500) MULTIPLE TORSION CONTACT 0.207(0.500) POSSIBLE HYDROGEN BOND 0.245(0.500) CONFORMATIONAL TORSION ANGLE RESTRAINT (DEGREES) PLANAR (OMEGA) 2.6(3.0) STAGGERED 17.4(15.0) ORTHONORMAL 18.1(20.0) ; 4 ; THE TWO CHAINS OF THE DIMERIC ENZYME HAS BEEN ASSIGNED THE CHAIN INDICATORS *A* AND *B*. ; # - - - - data truncated for brevity - - - - ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id database_PDB_remark save_ save__database_PDB_remark.id _item_description.description ; A unique identifier for the PDB remark record. ; _item.name '_database_PDB_remark.id' _item.category_id database_PDB_remark _item.mandatory_code yes _item_type.code int save_ save__database_PDB_remark.text _item_description.description ; The full text of the PDB remark record. ; _item.name '_database_PDB_remark.text' _item.category_id database_PDB_remark _item.mandatory_code no _item_type.code text save_ ###################### ## DATABASE_PDB_REV ## ###################### save_database_PDB_rev _category.description ; Data items in the DATABASE_PDB_REV category record details about the history of the data block as archived by the Protein Data Bank (PDB). These data items are assigned by the PDB database managers and should only appear in a data block if they originate from that source. ; _category.id database_PDB_rev _category.mandatory_code no _category_key.name '_database_PDB_rev.num' loop_ _category_group.id 'inclusive_group' 'database_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _database_PDB_rev.num _database_PDB_rev.author_name _database_PDB_rev.date _database_PDB_rev.date_original _database_PDB_rev.status _database_PDB_rev.mod_type 1 'Fitzgerald, Paula M.D' 1991-10-15 1990-04-30 'full release' 0 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id database_PDB_rev save_ save__database_PDB_rev.author_name _item_description.description ; The name of the person responsible for submitting this revision to the PDB. The family name(s) followed by a comma precedes the first name(s) or initial(s). ; _item.name '_database_PDB_rev.author_name' _item.category_id database_PDB_rev _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'Bleary, Percival R.' "O'Neil, F.K." 'Van den Bossche, G.' 'Yang, D.-L.' 'Simonov, Yu.A' save_ save__database_PDB_rev.date _item_description.description ; Date the PDB revision took place. Taken from the REVDAT record. ; _item.name '_database_PDB_rev.date' _item.category_id database_PDB_rev _item.mandatory_code no _item_type.code yyyy-mm-dd save_ save__database_PDB_rev.date_original _item_description.description ; Date the entry first entered the PDB database in the form yyyy-mm-dd. Taken from the PDB HEADER record. ; _item.name '_database_PDB_rev.date_original' _item.category_id database_PDB_rev _item.mandatory_code no _item_type.code yyyy-mm-dd _item_examples.case '1980-08-21' _item_related.related_name '_pdbx_database_status.recvd_initial_deposition_date' _item_related.function_code replacedby save_ save__database_PDB_rev.mod_type _item_description.description ; A code taken from the REVDAT record classifying common types of entry revisions. ; _item.name '_database_PDB_rev.mod_type' _item.category_id database_PDB_rev _item.mandatory_code no _item_type.code int loop_ _item_enumeration.value _item_enumeration.detail 0 'initial entry' 1 'all other types of modification' 2 'modifications to CONECT records' 3 ; modifications affecting the coordinates or their transforms (CRYST1, ORIGX, SCALE, MTRIX, TVECT, ATOM, HETATM, SIGATM records) ; 4 ; layer 1 to layer 2 revision which may affect all record types ; 5 'data uniformity processing' save_ save__database_PDB_rev.num _item_description.description ; The value of _database_PDB_rev.num must uniquely and sequentially identify a record in the DATABASE_PDB_REV list. Note that this item must be a number and that modification numbers are assigned in increasing numerical order. ; loop_ _item.name _item.category_id _item.mandatory_code '_database_PDB_rev.num' database_PDB_rev yes '_database_PDB_rev_record.rev_num' database_PDB_rev_record yes loop_ _item_linked.child_name _item_linked.parent_name '_database_PDB_rev_record.rev_num' '_database_PDB_rev.num' _item_type.code int save_ save__database_PDB_rev.replaced_by _item_description.description ; The PDB code for a subsequent PDB entry that replaced the PDB file corresponding to this data block. ; _item.name '_database_PDB_rev.replaced_by' _item.category_id database_PDB_rev _item.mandatory_code no _item_type.code line save_ save__database_PDB_rev.replaces _item_description.description ; The PDB code for a previous PDB entry that was replaced by the PDB file corresponding to this data block. ; _item.name '_database_PDB_rev.replaces' _item.category_id database_PDB_rev _item.mandatory_code no _item_type.code line save_ save__database_PDB_rev.status _item_description.description ; The status of this revision. ; _item.name '_database_PDB_rev.status' _item.category_id database_PDB_rev _item.mandatory_code no _item_type.code uline loop_ _item_enumeration.value 'in preparation' 'prerelease' 'full release' 'obsolete' save_ ############################# ## DATABASE_PDB_REV_RECORD ## ############################# save_database_PDB_rev_record _category.description ; Data items in the DATABASE_PDB_REV_RECORD category record details about specific record types that were changed in a given revision of a PDB entry. These data items are assigned by the PDB database managers and should only appear in a data block if they originate from that source. ; _category.id database_PDB_rev_record _category.mandatory_code no loop_ _category_key.name '_database_PDB_rev_record.rev_num' '_database_PDB_rev_record.type' loop_ _category_group.id 'inclusive_group' 'database_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - hypothetical example. ; ; loop_ _database_PDB_rev_record.rev_num _database_PDB_rev_record.type _database_PDB_rev_record.details 1 CONECT ; Error fix - incorrect connection between atoms 2312 and 2317 ; 2 MATRIX 'For consistency with 1995-08-04 style-guide' 3 ORIGX 'Based on new data from author' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id database_PDB_rev_record save_ save__database_PDB_rev_record.details _item_description.description ; A description of special aspects of the revision of records in this PDB entry. ; _item.name '_database_PDB_rev_record.details' _item.category_id database_PDB_rev_record _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Based on new data from author' 'For consistency with 1995-08-04 style-guide' 'For consistency with structural class' save_ save__database_PDB_rev_record.rev_num _item_description.description ; This data item is a pointer to _database_PDB_rev.num in the DATABASE_PDB_REV category. ; _item.name '_database_PDB_rev_record.rev_num' _item.mandatory_code yes save_ save__database_PDB_rev_record.type _item_description.description ; The types of records that were changed in this revision to a PDB entry. ; _item.name '_database_PDB_rev_record.type' _item.category_id database_PDB_rev_record _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'CRYST1' 'SCALE' 'MTRIX' 'ATOM' 'HETATM' save_ ######################## ## DATABASE_PDB_TVECT ## ######################## save_database_PDB_tvect _category.description ; The DATABASE_PDB_TVECT category provides placeholders for the TVECT matrices and vectors used by the Protein Data Bank (PDB). These data items are included only for consistency with older PDB format files. They should appear in a data block only if the data block was created by reformatting a PDB format file. ; _category.id database_PDB_tvect _category.mandatory_code no _category_key.name '_database_PDB_tvect.id' loop_ _category_group.id 'inclusive_group' 'database_group' 'pdbx_group' save_ save__database_PDB_tvect.details _item_description.description ; A description of special aspects of this TVECT. ; _item.name '_database_PDB_tvect.details' _item.category_id database_PDB_tvect _item.mandatory_code no _item_type.code text save_ save__database_PDB_tvect.id _item_description.description ; The value of _database_PDB_tvect.id must uniquely identify a record in the DATABASE_PDB_TVECT list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_database_PDB_tvect.id' _item.category_id database_PDB_tvect _item.mandatory_code yes _item_type.code code save_ save__database_PDB_tvect.vector[1] _item_description.description ; The [1] element of the PDB TVECT vector. ; _item.name '_database_PDB_tvect.vector[1]' _item.category_id database_PDB_tvect _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__database_PDB_tvect.vector[2] _item_description.description ; The [2] element of the PDB TVECT vector. ; _item.name '_database_PDB_tvect.vector[2]' _item.category_id database_PDB_tvect _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__database_PDB_tvect.vector[3] _item_description.description ; The [3] element of the PDB TVECT vector. ; _item.name '_database_PDB_tvect.vector[3]' _item.category_id database_PDB_tvect _item.mandatory_code no _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ ############ ## DIFFRN ## ############ save_diffrn _category.description ; Data items in the DIFFRN category record details about the diffraction data and their measurement. ; _category.id diffrn _category.mandatory_code no _category_key.name '_diffrn.id' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _diffrn.id 'Set1' _diffrn.ambient_temp 293.0 _diffrn.ambient_environment ; Mother liquor from the reservoir of the vapor diffusion experiment, mounted in room air ; _diffrn.crystal_support ; 0.7 mm glass capillary, sealed with dental wax ; _diffrn.crystal_treatment ; Equilibrated in rotating anode radiation enclosure for 18 hours prior to beginning of data collection ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991). Acta Cryst. C47, 2276-2277]. ; ; _diffrn.id 'd1' _diffrn.details ; \q scan width (1.0 + 0.14tan\q)\%, \q scan rate 1.2\% per min. Background counts for 5 sec on each side every scan. ; _diffrn.ambient_temp 293 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn.ambient_environment _item_description.description ; The gas or liquid surrounding the sample, if not air. ; _item.name '_diffrn.ambient_environment' _item.category_id diffrn _item.mandatory_code no _item_aliases.alias_name '_diffrn_ambient_environment' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ #save__diffrn.ambient_pressure # _item_description.description #; The mean pressure in kilopascals at which the intensities were # measured. #; # _item.name '_diffrn.ambient_pressure' # _item.category_id diffrn # _item.mandatory_code no # _item_aliases.alias_name '_diffrn_ambient_pressure' # _item_aliases.dictionary cif_core.dic # _item_aliases.version 2.0.1 # loop_ # _item_range.maximum # _item_range.minimum . 0.0 # 0.0 0.0 # _item_related.related_name '_diffrn.ambient_pressure_esd' # _item_related.function_code associated_esd # _item_type.code float # _item_type_conditions.code esd # _item_units.code kilopascals # save_ # #save__diffrn.ambient_pressure_esd # _item_description.description #; The standard uncertainty (estimated standard deviation) # of _diffrn.ambient_pressure. #; # _item.name '_diffrn.ambient_pressure_esd' # _item.category_id diffrn # _item.mandatory_code no # _item_default.value 0.0 # _item_related.related_name '_diffrn.ambient_pressure' # _item_related.function_code associated_value # _item_type.code float # _item_units.code kilopascals # save_ save__diffrn.ambient_temp _item_description.description ; The mean temperature in kelvins at which the intensities were measured. ; _item.name '_diffrn.ambient_temp' _item.category_id diffrn _item.mandatory_code no # _pdbx_item.name '_diffrn.ambient_temp' _pdbx_item.mandatory_code yes # _pdbx_item_description.name '_diffrn.ambient_temp' _pdbx_item_description.description 'Give the temperature in Kelvin that the data were collected at' # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_diffrn.ambient_temp' 80 80 '_diffrn.ambient_temp' 80 300 '_diffrn.ambient_temp' 300 300 # loop_ _item_range.maximum _item_range.minimum 450.0 0.0 0.0 0.0 _item_related.related_name '_diffrn.ambient_temp_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code kelvins _item_aliases.alias_name '_diffrn_ambient_temperature' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__diffrn.ambient_temp_details _item_description.description ; A description of special aspects of temperature control during data collection. ; _item.name '_diffrn.ambient_temp_details' _item.category_id diffrn _item.mandatory_code no _item_type.code text save_ save__diffrn.ambient_temp_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _diffrn.ambient_temp. ; _item.name '_diffrn.ambient_temp_esd' _item.category_id diffrn _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_diffrn.ambient_temp' _item_related.function_code associated_value _item_type.code float _item_units.code kelvins save_ save__diffrn.crystal_id _item_description.description ; This data item is a pointer to _exptl_crystal.id in the EXPTL_CRYSTAL category. ; _item.name '_diffrn.crystal_id' _item.mandatory_code yes _item_aliases.alias_name '_diffrn_refln_crystal_id' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__diffrn.crystal_support _item_description.description ; The physical device used to support the crystal during data collection. ; _item.name '_diffrn.crystal_support' _item.category_id diffrn _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'glass capillary' 'quartz capillary' 'fiber' 'metal loop' save_ save__diffrn.crystal_treatment _item_description.description ; Remarks about how the crystal was treated prior to intensity measurement. Particularly relevant when intensities were measured at low temperature. ; _item.name '_diffrn.crystal_treatment' _item.category_id diffrn _item.mandatory_code no _item_aliases.alias_name '_diffrn_crystal_treatment' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'equilibrated in hutch for 24 hours' 'flash frozen in liquid nitrogen' 'slow cooled with direct air stream' save_ save__diffrn.details _item_description.description ; Special details of the diffraction measurement process. Should include information about source instability, crystal motion, degradation and so on. ; _item.name '_diffrn.details' _item.category_id diffrn _item.mandatory_code no _pdbx_item_description.name "_diffrn.details" _pdbx_item_description.description "Indicate anything special or unique about the data collection" _item_aliases.alias_name '_diffrn_special_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__diffrn.id _item_description.description ; This data item uniquely identifies a set of diffraction data. ; loop_ _item.name _item.category_id _item.mandatory_code '_diffrn.id' diffrn yes '_diffrn_detector.diffrn_id' diffrn_detector yes '_diffrn_measurement.diffrn_id' diffrn_measurement yes '_diffrn_orient_matrix.diffrn_id' diffrn_orient_matrix yes '_diffrn_orient_refln.diffrn_id' diffrn_orient_refln yes '_diffrn_radiation.diffrn_id' diffrn_radiation yes '_diffrn_refln.diffrn_id' diffrn_refln yes '_diffrn_reflns.diffrn_id' diffrn_reflns yes '_diffrn_source.diffrn_id' diffrn_source yes '_diffrn_standard_refln.diffrn_id' diffrn_standard_refln yes '_diffrn_standards.diffrn_id' diffrn_standards yes loop_ _item_linked.child_name _item_linked.parent_name '_diffrn_detector.diffrn_id' '_diffrn.id' '_diffrn_measurement.diffrn_id' '_diffrn.id' '_diffrn_orient_matrix.diffrn_id' '_diffrn.id' '_diffrn_orient_refln.diffrn_id' '_diffrn.id' '_diffrn_radiation.diffrn_id' '_diffrn.id' '_diffrn_refln.diffrn_id' '_diffrn.id' '_diffrn_reflns.diffrn_id' '_diffrn.id' '_diffrn_source.diffrn_id' '_diffrn.id' '_diffrn_standard_refln.diffrn_id' '_diffrn.id' '_diffrn_standards.diffrn_id' '_diffrn.id' _item_type.code code save_ ####################### ## DIFFRN_ATTENUATOR ## ####################### save_diffrn_attenuator _category.description ; Data items in the DIFFRN_ATTENUATOR category record details about the diffraction attenuator scales employed. ; _category.id diffrn_attenuator _category.mandatory_code no _category_key.name '_diffrn_attenuator.code' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; _diffrn_attenuator.code 1 _diffrn_attenuator.scale 16.976 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_attenuator.code _item_description.description ; A code associated with a particular attenuator setting. This code is referenced by the _diffrn_refln.attenuator_code which is stored with the diffraction data. See _diffrn_attenuator.scale. ; loop_ _item.name _item.category_id _item.mandatory_code '_diffrn_attenuator.code' diffrn_attenuator yes _item_aliases.alias_name '_diffrn_attenuator_code' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_linked.child_name _item_linked.parent_name '_diffrn_refln.attenuator_code' '_diffrn_attenuator.code' _item_type.code code save_ save__diffrn_attenuator.scale _item_description.description ; The scale factor applied when an intensity measurement is reduced by an attenuator identified by _diffrn_attenuator.code. The measured intensity must be multiplied by this scale to convert it to the same scale as unattenuated intensities. ; _item.name '_diffrn_attenuator.scale' _item.category_id diffrn_attenuator _item.mandatory_code no _item_aliases.alias_name '_diffrn_attenuator_scale' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 1.0 1.0 1.0 _item_type.code float save_ ##################### ## DIFFRN_DETECTOR ## ##################### save_diffrn_detector _category.description ; Data items in the DIFFRN_DETECTOR category describe the detector used to measure the scattered radiation, including any analyser and post-sample collimation. ; _category.id diffrn_detector _category.mandatory_code no _category_key.name '_diffrn_detector.diffrn_id' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _diffrn_detector.diffrn_id 'd1' _diffrn_detector.detector 'multiwire' _diffrn_detector.type 'Siemens' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_detector.details _item_description.description ; A description of special aspects of the radiation detector. ; _item.name '_diffrn_detector.details' _item.category_id diffrn_detector _item.mandatory_code no _item_aliases.alias_name '_diffrn_detector_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _pdbx_item_description.name "_diffrn_detector.details" _pdbx_item_description.description "Decribe the optics used in the experiment" save_ save__diffrn_detector.detector _item_description.description ; The general class of the radiation detector. ; _item.name '_diffrn_detector.detector' _item.category_id diffrn_detector _item.mandatory_code no loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_radiation_detector' cifdic.c91 1.0 '_diffrn_detector' cif_core.dic 2.0 _item_type.code text loop_ _item_examples.case 'photographic film' 'scintillation counter' 'CCD plate' 'BF~3~ counter' _pdbx_item.name "_diffrn_detector.detector" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_diffrn_detector.detector" _pdbx_item_description.description "Describe the detector used from the pulldown list" # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_diffrn_detector.detector" "AREA DETECTOR" . "_diffrn_detector.detector" CCD . "_diffrn_detector.detector" CMOS . "_diffrn_detector.detector" DIFFRACTOMETER . "_diffrn_detector.detector" FILM . "_diffrn_detector.detector" "FLAT PANEL" . "_diffrn_detector.detector" "IMAGE PLATE" . "_diffrn_detector.detector" MICROGAP . "_diffrn_detector.detector" "OSCILLATION CAMERA" . "_diffrn_detector.detector" PIXEL . "_diffrn_detector.detector" "STORAGE PHOSPHORS" . # save_ save__diffrn_detector.diffrn_id _item_description.description ; This data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_diffrn_detector.diffrn_id' _item.mandatory_code yes save_ #save__diffrn_detector.dtime # _item_description.description #; The deadtime in microseconds of the detectors used to measure # the diffraction intensities. #; # _item.name '_diffrn_detector.dtime' # _item.category_id diffrn_detector # _item.mandatory_code no # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version '_diffrn_radiation_detector_dtime' # cifdic.c91 # 1.0 # '_diffrn_detector_dtime' # cif_core.dic # 2.0 # loop_ # _item_range.maximum # _item_range.minimum . 0.0 # 0.0 0.0 # _item_type.code float # _item_units.code microseconds # save_ save__diffrn_detector.type _item_description.description ; The make, model or name of the detector device used. ; _item.name '_diffrn_detector.type' _item.category_id diffrn_detector _item.mandatory_code no _item_aliases.alias_name '_diffrn_detector_type' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _pdbx_item.name "_diffrn_detector.type" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_diffrn_detector.type" _pdbx_item_description.description "The type of detector used. Such values include CCD, image plate, ...." # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_diffrn_detector.type" "ADSC HF-4M" PIXEL "_diffrn_detector.type" "ADSC QUANTUM 1" CCD "_diffrn_detector.type" "ADSC QUANTUM 210" CCD "_diffrn_detector.type" "ADSC QUANTUM 210r" CCD "_diffrn_detector.type" "ADSC QUANTUM 270" CCD "_diffrn_detector.type" "ADSC QUANTUM 315" CCD "_diffrn_detector.type" "ADSC QUANTUM 315r" CCD "_diffrn_detector.type" "ADSC QUANTUM 4" CCD "_diffrn_detector.type" "ADSC QUANTUM 4r" CCD "_diffrn_detector.type" "AGILENT ATLAS CCD" CCD "_diffrn_detector.type" "AGILENT EOS CCD" CCD "_diffrn_detector.type" "AGILENT TITAN CCD" CCD "_diffrn_detector.type" AGIPD PIXEL "_diffrn_detector.type" "APEX II CCD" CCD "_diffrn_detector.type" BIODIFF "IMAGE PLATE" "_diffrn_detector.type" BIX-3 "IMAGE PLATE" "_diffrn_detector.type" BIX-4 "IMAGE PLATE" "_diffrn_detector.type" "Brandeis B4" CCD "_diffrn_detector.type" "Bruker AXIOM 200" CCD "_diffrn_detector.type" "Bruker PHOTON II" PIXEL "_diffrn_detector.type" "Bruker PHOTON III" PIXEL "_diffrn_detector.type" "Bruker DIP-6040" . "_diffrn_detector.type" "BRUKER PHOTON 100" CMOS "_diffrn_detector.type" "BRUKER SMART 2000" CCD "_diffrn_detector.type" "BRUKER SMART 6000" CCD "_diffrn_detector.type" "BRUKER SMART 6500" CCD "_diffrn_detector.type" "Bruker Platinum 135" CCD "_diffrn_detector.type" CUSTOM-MADE . "_diffrn_detector.type" "CS-PAD CXI-1" PIXEL "_diffrn_detector.type" "CS-PAD CXI-2" PIXEL "_diffrn_detector.type" "CS-PAD XPP" PIXEL "_diffrn_detector.type" "DECTRIS EIGER R 1M" PIXEL "_diffrn_detector.type" "DECTRIS EIGER R 4M" PIXEL "_diffrn_detector.type" "DECTRIS EIGER X 500K" PIXEL "_diffrn_detector.type" "DECTRIS EIGER X 1M" PIXEL "_diffrn_detector.type" "DECTRIS EIGER X 4M" PIXEL "_diffrn_detector.type" "DECTRIS EIGER X 9M" PIXEL "_diffrn_detector.type" "DECTRIS EIGER X 16M" PIXEL "_diffrn_detector.type" "DECTRIS EIGER2 X 500K" PIXEL "_diffrn_detector.type" "DECTRIS EIGER2 X 1M" PIXEL "_diffrn_detector.type" "DECTRIS EIGER2 X 4M" PIXEL "_diffrn_detector.type" "DECTRIS EIGER2 X 9M" PIXEL "_diffrn_detector.type" "DECTRIS EIGER2 X 16M" PIXEL "_diffrn_detector.type" "DECTRIS EIGER2 XE 9M" PIXEL "_diffrn_detector.type" "DECTRIS EIGER2 XE 16M" PIXEL "_diffrn_detector.type" "DECTRIS MYTHEN2 R 1K" PIXEL "_diffrn_detector.type" "DECTRIS MYTHEN2 R 1D" PIXEL "_diffrn_detector.type" "DECTRIS MYTHEN2 X 1K" PIXEL "_diffrn_detector.type" "DECTRIS MYTHEN2 X 1D" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS 200K" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS 300K" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS 2M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS 2M-F" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS 6M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS 6M-F" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS 12M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 100K-M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 2M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 6M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 R 100K-A" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 R 200K-A" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 R 300K" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 R 300K-W" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 R 1M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 R CdTe 300K" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 R CdTe 300K-W" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 S 1M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 S 2M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 S 6M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 X 100K-A" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 X 200K-A" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 X 300K" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 X 300K-W" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 X 1M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 X 2M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 X 6M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 X CdTe 300K" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 X CdTe 300K-W" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 X CdTe 1M" PIXEL "_diffrn_detector.type" "DECTRIS PILATUS3 X CdTe 2M" PIXEL "_diffrn_detector.type" ENRAF-NONIUS . "_diffrn_detector.type" "ENRAF-NONIUS CAD4" DIFFRACTOMETER "_diffrn_detector.type" "ENRAF-NONIUS FAST" DIFFRACTOMETER "_diffrn_detector.type" "ESRF FreLoN" CCD "_diffrn_detector.type" FUJI "IMAGE PLATE" "_diffrn_detector.type" HENDRIX-LENTFER . "_diffrn_detector.type" "Hamamatsu C10158DK" . "_diffrn_detector.type" iBIX DIFFRACTOMETER "_diffrn_detector.type" KODAK . "_diffrn_detector.type" "LADI III" . "_diffrn_detector.type" "MAATEL BIODIFF" . "_diffrn_detector.type" "MAATEL IMAGINE" . "_diffrn_detector.type" "MAC Science DIP-2000" "IMAGE PLATE" "_diffrn_detector.type" "MAC Science DIP-2030" "IMAGE PLATE" "_diffrn_detector.type" "MAC Science DIP-3000" "IMAGE PLATE" "_diffrn_detector.type" "MAC Science DIP-320" "IMAGE PLATE" "_diffrn_detector.type" "MAC Science DIP-420 scanner" "IMAGE PLATE" "_diffrn_detector.type" MACSCIENCE . "_diffrn_detector.type" "MACSCIENCE DIP100" "IMAGE PLATE" "_diffrn_detector.type" "MACSCIENCE DIP100S" "IMAGE PLATE" "_diffrn_detector.type" "MAR CCD 130 mm" CCD "_diffrn_detector.type" "MAR CCD 165 mm" CCD "_diffrn_detector.type" "MAR scanner 180 mm plate" "IMAGE PLATE" "_diffrn_detector.type" "MAR scanner 300 mm plate" "IMAGE PLATE" "_diffrn_detector.type" "MAR scanner 345 mm plate" "IMAGE PLATE" "_diffrn_detector.type" "MAR555 FLAT PANEL" "IMAGE PLATE" "_diffrn_detector.type" "MARMOSAIC 225 mm CCD" CCD "_diffrn_detector.type" "MARMOSAIC 300 mm CCD" CCD "_diffrn_detector.type" "MARMOSAIC 325 mm CCD" CCD "_diffrn_detector.type" MARRESEARCH . "_diffrn_detector.type" MPCCD CCD "_diffrn_detector.type" NICOLET . "_diffrn_detector.type" "NICOLET P3" . "_diffrn_detector.type" "NICOLET P3X" . "_diffrn_detector.type" NOIR-1 . "_diffrn_detector.type" "NONIUS CAD4" CCD "_diffrn_detector.type" "Nonius Kappa CCD" CCD "_diffrn_detector.type" "ORNL ANGER CAMERA" . "_diffrn_detector.type" "OXFORD ONYX CCD" CCD "_diffrn_detector.type" "OXFORD RUBY CCD" CCD "_diffrn_detector.type" "OXFORD SAPPHIRE CCD" CCD "_diffrn_detector.type" "OXFORD TITAN CCD" CCD "_diffrn_detector.type" PHILLIPS . "_diffrn_detector.type" "PRINCETON 2K" . "_diffrn_detector.type" "PSI JUNGFRAU 1M" PIXEL "_diffrn_detector.type" "PSI JUNGFRAU 4M" PIXEL "_diffrn_detector.type" "PSI JUNGFRAU 16M" PIXEL "_diffrn_detector.type" "PSI PILATUS 6M" PIXEL "_diffrn_detector.type" "RAYONIX MX-225" CCD "_diffrn_detector.type" "RAYONIX MX-300" CCD "_diffrn_detector.type" "RAYONIX MX-325" CCD "_diffrn_detector.type" "RAYONIX MX170-HS" CCD "_diffrn_detector.type" "RAYONIX MX225-HS" CCD "_diffrn_detector.type" "RAYONIX MX300-HS" CCD "_diffrn_detector.type" "RAYONIX MX340-HS" CCD "_diffrn_detector.type" "RAYONIX MX425-HS" CCD "_diffrn_detector.type" "RAYONIX MX225HE" CCD "_diffrn_detector.type" "RAYONIX MX300HE" CCD "_diffrn_detector.type" "RAYONIX MX325HE" CCD "_diffrn_detector.type" "RAYONIX SX-165mm" CCD "_diffrn_detector.type" "RDI CMOS_8M" CMOS "_diffrn_detector.type" RIGAKU . "_diffrn_detector.type" "RIGAKU AFC-5R" . "_diffrn_detector.type" "RIGAKU AFC-6R" . "_diffrn_detector.type" "RIGAKU AFC-6S" . "_diffrn_detector.type" "RIGAKU AFC11" . "_diffrn_detector.type" "RIGAKU AFC11-KAPPA" . "_diffrn_detector.type" "RIGAKU AFC9" . "_diffrn_detector.type" "RIGAKU HyPix-3000" PIXEL "_diffrn_detector.type" "RIGAKU HyPix-6000HE" PIXEL "_diffrn_detector.type" "RIGAKU JUPITER 140" CCD "_diffrn_detector.type" "RIGAKU JUPITER 210" CCD "_diffrn_detector.type" "RIGAKU MERCURY" CCD "_diffrn_detector.type" "RIGAKU RAXIS" "IMAGE PLATE" "_diffrn_detector.type" "RIGAKU RAXIS HR" "IMAGE PLATE" "_diffrn_detector.type" "RIGAKU RAXIS HTC" "IMAGE PLATE" "_diffrn_detector.type" "RIGAKU RAXIS II" "IMAGE PLATE" "_diffrn_detector.type" "RIGAKU RAXIS IIC" "IMAGE PLATE" "_diffrn_detector.type" "RIGAKU RAXIS IV" "IMAGE PLATE" "_diffrn_detector.type" "RIGAKU RAXIS IV++" "IMAGE PLATE" "_diffrn_detector.type" "RIGAKU RAXIS V" "IMAGE PLATE" "_diffrn_detector.type" "RIGAKU RAXIS VII" "IMAGE PLATE" "_diffrn_detector.type" "RIGAKU SATURN 70" CCD "_diffrn_detector.type" "RIGAKU SATURN 724" CCD "_diffrn_detector.type" "RIGAKU SATURN 92" CCD "_diffrn_detector.type" "RIGAKU SATURN 944" CCD "_diffrn_detector.type" "RIGAKU SATURN 944+" CCD "_diffrn_detector.type" "RIGAKU SATURN A200" CCD "_diffrn_detector.type" "SLAC ePix100" PIXEL "_diffrn_detector.type" "SLAC ePix10k" PIXEL "_diffrn_detector.type" "SLAC ePix10k 2M" PIXEL "_diffrn_detector.type" SBC-2 . "_diffrn_detector.type" SBC-3 . "_diffrn_detector.type" SDMS . "_diffrn_detector.type" SIEMENS . "_diffrn_detector.type" "SIEMENS 2-D" . "_diffrn_detector.type" "SIEMENS AED2" . "_diffrn_detector.type" "SIEMENS FOUR-CIRCLE" . "_diffrn_detector.type" "SIEMENS HI-STAR" . "_diffrn_detector.type" "SIEMENS P4" . "_diffrn_detector.type" SIEMENS-NICOLET . "_diffrn_detector.type" "SIEMENS-NICOLET X100" . "_diffrn_detector.type" SIEMENS-XENTRONICS . "_diffrn_detector.type" STOE . "_diffrn_detector.type" "STOE-SIEMENS AED2" . "_diffrn_detector.type" SYNTEX . "_diffrn_detector.type" "TVIPS TEMCAM-F416" . "_diffrn_detector.type" "UCSD MARK II" . "_diffrn_detector.type" "UCSD MARK III" . "_diffrn_detector.type" WEISSENBERG . "_diffrn_detector.type" XENTRONICS . save_ ######################## ## DIFFRN_MEASUREMENT ## ######################## save_diffrn_measurement _category.description ; Data items in the DIFFRN_MEASUREMENT category record details about the device used to orient and/or position the crystal during data measurement and the manner in which the diffraction data were measured. ; _category.id diffrn_measurement _category.mandatory_code no _category_key.name '_diffrn_measurement.diffrn_id' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _diffrn_measurement.diffrn_id 'd1' _diffrn_measurement.device '3-circle camera' _diffrn_measurement.device_type 'Supper model x' _diffrn_measurement.device_details 'none' _diffrn_measurement.method 'omega scan' _diffrn_measurement.details ; 440 frames, 0.20 degrees, 150 sec, detector distance 12 cm, detector angle 22.5 degrees ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; _diffrn_measurement.diffrn_id 's1' _diffrn_measurement.device_type 'Philips PW1100/20 diffractometer' _diffrn_measurement.method \q/2\q ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_measurement.diffrn_id _item_description.description ; This data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_diffrn_measurement.diffrn_id' _item.mandatory_code yes save_ save__diffrn_measurement.details _item_description.description ; A description of special aspects of the intensity measurement. ; _item.name '_diffrn_measurement.details' _item.category_id diffrn_measurement _item.mandatory_code no _item_aliases.alias_name '_diffrn_measurement_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case ; 440 frames, 0.20 degrees, 150 sec, detector distance 12 cm, detector angle 22.5 degrees ; save_ save__diffrn_measurement.device _item_description.description ; The general class of goniometer or device used to support and orient the specimen. ; _item.name '_diffrn_measurement.device' _item.category_id diffrn_measurement _item.mandatory_code no _item_aliases.alias_name '_diffrn_measurement_device' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case '3-circle camera' '4-circle camera' 'kappa-geometry camera' 'oscillation camera' 'precession camera' save_ save__diffrn_measurement.device_details _item_description.description ; A description of special aspects of the device used to measure the diffraction intensities. ; _item.name '_diffrn_measurement.device_details' _item.category_id diffrn_measurement _item.mandatory_code no _item_aliases.alias_name '_diffrn_measurement_device_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case ; commercial goniometer modified locally to allow for 90\% \t arc ; save_ save__diffrn_measurement.device_type _item_description.description ; The make, model or name of the measurement device (goniometer) used. ; _item.name '_diffrn_measurement.device_type' _item.category_id diffrn_measurement _item.mandatory_code no _item_aliases.alias_name '_diffrn_measurement_device_type' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'Supper model q' 'Huber model r' 'Enraf-Nonius model s' 'homemade' save_ save__diffrn_measurement.method _item_description.description ; Method used to measure intensities. ; _item.name '_diffrn_measurement.method' _item.category_id diffrn_measurement _item.mandatory_code no _item_aliases.alias_name '_diffrn_measurement_method' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'profile data from theta/2theta scans' save_ save__diffrn_measurement.specimen_support _item_description.description ; The physical device used to support the crystal during data collection. ; _item.name '_diffrn_measurement.specimen_support' _item.category_id diffrn_measurement _item.mandatory_code no _item_aliases.alias_name '_diffrn_measurement_specimen_support' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'glass capillary' 'quartz capillary' 'fiber' 'metal loop' save_ ########################## ## DIFFRN_ORIENT_MATRIX ## ########################## save_diffrn_orient_matrix _category.description ; Data items in the DIFFRN_ORIENT_MATRIX category record details about the orientation matrix used in the measurement of the diffraction data. ; _category.id diffrn_orient_matrix _category.mandatory_code no _category_key.name '_diffrn_orient_matrix.diffrn_id' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on CAD-4 diffractometer data obtained for Yb(S-C5H4N)2(THF)4. ; ; _diffrn_orient_matrix.diffrn_id set1 _diffrn_orient_matrix.type ; reciprocal axis matrix, multiplies hkl vector to generate diffractometer xyz vector and diffractometer angles ; _diffrn_orient_matrix.UB[1][1] -0.071479 _diffrn_orient_matrix.UB[1][2] 0.020208 _diffrn_orient_matrix.UB[1][3] 0.039076 _diffrn_orient_matrix.UB[2][1] 0.035372 _diffrn_orient_matrix.UB[2][2] 0.056209 _diffrn_orient_matrix.UB[2][3] 0.078324 _diffrn_orient_matrix.UB[3][1] -0.007470 _diffrn_orient_matrix.UB[3][2] 0.067854 _diffrn_orient_matrix.UB[3][3] -0.017832 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_orient_matrix.diffrn_id _item_description.description ; This data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_diffrn_orient_matrix.diffrn_id' _item.mandatory_code yes save_ save__diffrn_orient_matrix.type _item_description.description ; A description of the orientation matrix type and how it should be applied to define the orientation of the crystal precisely with respect to the diffractometer axes. ; _item.name '_diffrn_orient_matrix.type' _item.category_id diffrn_orient_matrix _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_matrix_type' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__diffrn_orient_matrix.UB[1][1] _item_description.description ; The [1][1] element of the 3x3 matrix that defines the dimensions of the reciprocal cell and its orientation with respect to the local diffractometer axes. See also _diffrn_orient_matrix.type. ; _item.name '_diffrn_orient_matrix.UB[1][1]' _item.category_id diffrn_orient_matrix _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_matrix_UB_11' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_orient_matrix.UB[1][2] _item_description.description ; The [1][2] element of the 3x3 matrix that defines the dimensions of the reciprocal cell and its orientation with respect to the local diffractometer axes. See also _diffrn_orient_matrix.type. ; _item.name '_diffrn_orient_matrix.UB[1][2]' _item.category_id diffrn_orient_matrix _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_matrix_UB_12' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_orient_matrix.UB[1][3] _item_description.description ; The [1][3] element of the 3x3 matrix that defines the dimensions of the reciprocal cell and its orientation with respect to the local diffractometer axes. See also _diffrn_orient_matrix.type. ; _item.name '_diffrn_orient_matrix.UB[1][3]' _item.category_id diffrn_orient_matrix _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_matrix_UB_13' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_orient_matrix.UB[2][1] _item_description.description ; The [2][1] element of the 3x3 matrix that defines the dimensions of the reciprocal cell and its orientation with respect to the local diffractometer axes. See also _diffrn_orient_matrix.type. ; _item.name '_diffrn_orient_matrix.UB[2][1]' _item.category_id diffrn_orient_matrix _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_matrix_UB_21' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_orient_matrix.UB[2][2] _item_description.description ; The [2][2] element of the 3x3 matrix that defines the dimensions of the reciprocal cell and its orientation with respect to the local diffractometer axes. See also _diffrn_orient_matrix.type. ; _item.name '_diffrn_orient_matrix.UB[2][2]' _item.category_id diffrn_orient_matrix _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_matrix_UB_22' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_orient_matrix.UB[2][3] _item_description.description ; The [2][3] element of the 3x3 matrix that defines the dimensions of the reciprocal cell and its orientation with respect to the local diffractometer axes. See also _diffrn_orient_matrix.type. ; _item.name '_diffrn_orient_matrix.UB[2][3]' _item.category_id diffrn_orient_matrix _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_matrix_UB_23' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_orient_matrix.UB[3][1] _item_description.description ; The [3][1] element of the 3x3 matrix that defines the dimensions of the reciprocal cell and its orientation with respect to the local diffractometer axes. See also _diffrn_orient_matrix.type. ; _item.name '_diffrn_orient_matrix.UB[3][1]' _item.category_id diffrn_orient_matrix _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_matrix_UB_31' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_orient_matrix.UB[3][2] _item_description.description ; The [3][2] element of the 3x3 matrix that defines the dimensions of the reciprocal cell and its orientation with respect to the local diffractometer axes. See also _diffrn_orient_matrix.type. ; _item.name '_diffrn_orient_matrix.UB[3][2]' _item.category_id diffrn_orient_matrix _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_matrix_UB_32' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_orient_matrix.UB[3][3] _item_description.description ; The [3][3] element of the 3x3 matrix that defines the dimensions of the reciprocal cell and its orientation with respect to the local diffractometer axes. See also _diffrn_orient_matrix.type. ; _item.name '_diffrn_orient_matrix.UB[3][3]' _item.category_id diffrn_orient_matrix _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_matrix_UB_33' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ ######################### ## DIFFRN_ORIENT_REFLN ## ######################### save_diffrn_orient_refln _category.description ; Data items in the DIFFRN_ORIENT_REFLN category record details about the reflections that define the orientation matrix used in the measurement of the diffraction intensities. ; _category.id diffrn_orient_refln _category.mandatory_code no loop_ _category_key.name '_diffrn_orient_refln.diffrn_id' '_diffrn_orient_refln.index_h' '_diffrn_orient_refln.index_k' '_diffrn_orient_refln.index_l' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on CAD-4 diffractometer data obtained for Yb(S-C5H4N)2(THF)4. ; ; _diffrn_orient_refln.diffrn_id myset1 _diffrn_orient_refln.index_h 2 _diffrn_orient_refln.index_k 0 _diffrn_orient_refln.index_l 2 _diffrn_orient_refln.angle_chi -28.45 _diffrn_orient_refln.angle_kappa -11.32 _diffrn_orient_refln.angle_omega 5.33 _diffrn_orient_refln.angle_phi 101.78 _diffrn_orient_refln.angle_psi 0.00 _diffrn_orient_refln.angle_theta 10.66 # ... data abbreviated ... ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_orient_refln.angle_chi _item_description.description ; Diffractometer angle chi of a reflection used to define the orientation matrix in degrees. See _diffrn_orient_matrix.UB[][] and the Miller indices in the DIFFRN_ORIENT_REFLN category. ; _item.name '_diffrn_orient_refln.angle_chi' _item.category_id diffrn_orient_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_refln_angle_chi' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_orient_refln.angle_kappa' '_diffrn_orient_refln.angle_omega' '_diffrn_orient_refln.angle_phi' '_diffrn_orient_refln.angle_psi' '_diffrn_orient_refln.angle_theta' _item_type.code float _item_units.code degrees save_ save__diffrn_orient_refln.angle_kappa _item_description.description ; Diffractometer angle kappa of a reflection used to define the orientation matrix in degrees. See _diffrn_orient_matrix.UB[][] and the Miller indices in the DIFFRN_ORIENT_REFLN category. ; _item.name '_diffrn_orient_refln.angle_kappa' _item.category_id diffrn_orient_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_refln_angle_kappa' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_orient_refln.angle_chi' '_diffrn_orient_refln.angle_omega' '_diffrn_orient_refln.angle_phi' '_diffrn_orient_refln.angle_psi' '_diffrn_orient_refln.angle_theta' _item_type.code float _item_units.code degrees save_ save__diffrn_orient_refln.angle_omega _item_description.description ; Diffractometer angle omega of a reflection used to define the orientation matrix in degrees. See _diffrn_orient_matrix.UB[][] and the Miller indices in the DIFFRN_ORIENT_REFLN category. ; _item.name '_diffrn_orient_refln.angle_omega' _item.category_id diffrn_orient_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_refln_angle_omega' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_orient_refln.angle_chi' '_diffrn_orient_refln.angle_kappa' '_diffrn_orient_refln.angle_phi' '_diffrn_orient_refln.angle_psi' '_diffrn_orient_refln.angle_theta' _item_type.code float _item_units.code degrees save_ save__diffrn_orient_refln.angle_phi _item_description.description ; Diffractometer angle phi of a reflection used to define the orientation matrix in degrees. See _diffrn_orient_matrix.UB[][] and the Miller indices in the DIFFRN_ORIENT_REFLN category. ; _item.name '_diffrn_orient_refln.angle_phi' _item.category_id diffrn_orient_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_refln_angle_phi' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_orient_refln.angle_chi' '_diffrn_orient_refln.angle_kappa' '_diffrn_orient_refln.angle_omega' '_diffrn_orient_refln.angle_psi' '_diffrn_orient_refln.angle_theta' _item_type.code float _item_units.code degrees save_ save__diffrn_orient_refln.angle_psi _item_description.description ; Diffractometer angle psi of a reflection used to define the orientation matrix in degrees. See _diffrn_orient_matrix.UB[][] and the Miller indices in the DIFFRN_ORIENT_REFLN category. ; _item.name '_diffrn_orient_refln.angle_psi' _item.category_id diffrn_orient_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_refln_angle_psi' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_orient_refln.angle_chi' '_diffrn_orient_refln.angle_kappa' '_diffrn_orient_refln.angle_omega' '_diffrn_orient_refln.angle_phi' '_diffrn_orient_refln.angle_theta' _item_type.code float _item_units.code degrees save_ save__diffrn_orient_refln.angle_theta _item_description.description ; Diffractometer angle theta of a reflection used to define the orientation matrix in degrees. See _diffrn_orient_matrix.UB[][] and the Miller indices in the DIFFRN_ORIENT_REFLN category. ; _item.name '_diffrn_orient_refln.angle_theta' _item.category_id diffrn_orient_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_orient_refln_angle_theta' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_orient_refln.angle_chi' '_diffrn_orient_refln.angle_kappa' '_diffrn_orient_refln.angle_omega' '_diffrn_orient_refln.angle_phi' '_diffrn_orient_refln.angle_psi' _item_type.code float _item_units.code degrees save_ save__diffrn_orient_refln.diffrn_id _item_description.description ; This data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_diffrn_orient_refln.diffrn_id' _item.mandatory_code yes save_ save__diffrn_orient_refln.index_h _item_description.description ; Miller index h of a reflection used to define the orientation matrix. ; _item.name '_diffrn_orient_refln.index_h' _item.category_id diffrn_orient_refln _item.mandatory_code yes _item_aliases.alias_name '_diffrn_orient_refln_index_h' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_orient_refln.index_k' '_diffrn_orient_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__diffrn_orient_refln.index_k _item_description.description ; Miller index k of a reflection used to define the orientation matrix. ; _item.name '_diffrn_orient_refln.index_k' _item.category_id diffrn_orient_refln _item.mandatory_code yes _item_aliases.alias_name '_diffrn_orient_refln_index_k' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_orient_refln.index_h' '_diffrn_orient_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__diffrn_orient_refln.index_l _item_description.description ; Miller index l of a reflection used to define the orientation matrix. ; _item.name '_diffrn_orient_refln.index_l' _item.category_id diffrn_orient_refln _item.mandatory_code yes _item_aliases.alias_name '_diffrn_orient_refln_index_l' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_orient_refln.index_h' '_diffrn_orient_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ ###################### ## DIFFRN_RADIATION ## ###################### save_diffrn_radiation _category.description ; Data items in the DIFFRN_RADIATION category describe the radiation used in measuring the diffraction intensities, its collimation and monochromatization before the sample. Post-sample treatment of the beam is described by data items in the DIFFRN_DETECTOR category. ; _category.id diffrn_radiation _category.mandatory_code no _category_key.name '_diffrn_radiation.diffrn_id' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _diffrn_radiation.diffrn_id 'set1' _diffrn_radiation.collimation '0.3 mm double pinhole' _diffrn_radiation.monochromator 'graphite' _diffrn_radiation.type 'Cu K\a' _diffrn_radiation.wavelength_id 1 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; _diffrn_radiation.diffrn_id 'set1' _diffrn_radiation.wavelength_id 1 _diffrn_radiation.type 'Cu K\a' _diffrn_radiation.monochromator 'graphite' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_radiation.collimation _item_description.description ; The collimation or focusing applied to the radiation. ; _item.name '_diffrn_radiation.collimation' _item.category_id diffrn_radiation _item.mandatory_code no _item_aliases.alias_name '_diffrn_radiation_collimation' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case '0.3 mm double-pinhole' '0.5 mm' 'focusing mirrors' save_ save__diffrn_radiation.diffrn_id _item_description.description ; This data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_diffrn_radiation.diffrn_id' _item.mandatory_code yes save_ save__diffrn_radiation.filter_edge _item_description.description ; Absorption edge in angstroms of the radiation filter used. ; _item.name '_diffrn_radiation.filter_edge' _item.category_id diffrn_radiation _item.mandatory_code no _item_aliases.alias_name '_diffrn_radiation_filter_edge' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__diffrn_radiation.inhomogeneity _item_description.description ; Half-width in millimetres of the incident beam in the direction perpendicular to the diffraction plane. ; _item.name '_diffrn_radiation.inhomogeneity' _item.category_id diffrn_radiation _item.mandatory_code no _item_aliases.alias_name '_diffrn_radiation_inhomogeneity' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code millimetres save_ save__diffrn_radiation.monochromator _item_description.description ; The method used to obtain monochromatic radiation. If a mono- chromator crystal is used, the material and the indices of the Bragg reflection are specified. ; _item.name '_diffrn_radiation.monochromator' _item.category_id diffrn_radiation _item.mandatory_code no _item_aliases.alias_name '_diffrn_radiation_monochromator' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'Zr filter' 'Ge 220' 'none' 'equatorial mounted graphite' _pdbx_item_description.name "_diffrn_radiation.monochromator" _pdbx_item_description.description "Specify the type of monochromator used. Types may include: GOBEL MIRRORS GRAPHITE GRAPHIC CRYSTAL SI(111) SILICON CRYSTAL NI FILTER SUPER DOUBLE MIRRORS SUPER LONG MIRRORS YALE MIRRORS" save_ save__diffrn_radiation.polarisn_norm _item_description.description ; The angle in degrees, as viewed from the specimen, between the perpendicular component of the polarization and the diffraction plane. See _diffrn_radiation.polarisn_ratio. ; _item.name '_diffrn_radiation.polarisn_norm' _item.category_id diffrn_radiation _item.mandatory_code no _item_aliases.alias_name '_diffrn_radiation_polarisn_norm' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code degrees save_ save__diffrn_radiation.polarisn_ratio _item_description.description ; Polarization ratio of the diffraction beam incident on the crystal. This is the ratio of the perpendicularly polarized to the parallel-polarized component of the radiation. The perpendicular component forms an angle of _diffrn_radiation.polarisn_norm to the normal to the diffraction plane of the sample (i.e. the plane containing the incident and reflected beams). ; _item.name '_diffrn_radiation.polarisn_ratio' _item.category_id diffrn_radiation _item.mandatory_code no _item_aliases.alias_name '_diffrn_radiation_polarisn_ratio' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__diffrn_radiation.probe _item_description.description ; The nature of the radiation used (i.e. the name of the subatomic particle or the region of the electromagnetic spectrum). It is strongly recommended that this information is given, so that the probe radiation can be simply determined. ; _item.name '_diffrn_radiation.probe' _item.category_id diffrn_radiation _item.mandatory_code no _item_aliases.alias_name '_diffrn_radiation_probe' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_enumeration.value 'x-ray' 'neutron' 'electron' 'gamma' save_ save__diffrn_radiation.type _item_description.description ; The nature of the radiation. This is typically a description of the X-ray wavelength in Siegbahn notation. ; _item.name '_diffrn_radiation.type' _item.category_id diffrn_radiation _item.mandatory_code no _item_aliases.alias_name '_diffrn_radiation_type' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case 'CuK\a' 'Cu K\a~1~' 'Cu K-L~2,3~' 'white-beam' save_ save__diffrn_radiation.xray_symbol _item_description.description ; The IUPAC symbol for the X-ray wavelength for the probe radiation. ; _item.name '_diffrn_radiation.xray_symbol' _item.category_id diffrn_radiation _item.mandatory_code no _item_aliases.alias_name '_diffrn_radiation_xray_symbol' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'K-L~3~' 'K\a~1~ in older Siegbahn notation' 'K-L~2~' 'K\a~2~ in older Siegbahn notation' 'K-M~3~' 'K\b~1~ in older Siegbahn notation' 'K-L~2,3~' 'use where K-L~3~ and K-L~2~ are not resolved' save_ save__diffrn_radiation.wavelength_id _item_description.description ; This data item is a pointer to _diffrn_radiation_wavelength.id in the DIFFRN_RADIATION_WAVELENGTH category. ; _item.name '_diffrn_radiation.wavelength_id' _item.mandatory_code no _item_type.code code save_ ################################# ## DIFFRN_RADIATION_WAVELENGTH ## ################################# save_diffrn_radiation_wavelength _category.description ; Data items in the DIFFRN_RADIATION_WAVELENGTH category describe the wavelength of the radiation used to measure the diffraction intensities. Items may be looped to identify and assign weights to distinct components of a polychromatic beam. ; _category.id diffrn_radiation_wavelength _category.mandatory_code no _category_key.name '_diffrn_radiation_wavelength.id' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _diffrn_radiation_wavelength.id 1 _diffrn_radiation_wavelength.wavelength 1.54 _diffrn_radiation_wavelength.wt 1.0 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_radiation_wavelength.id _item_description.description ; The code identifying each value of _diffrn_radiation_wavelength.wavelength. Items in the DIFFRN_RADIATION_WAVELENGTH category are looped when multiple wavelengths are used. This code is used to link with the DIFFRN_REFLN category. The _diffrn_refln.wavelength_id codes must match one of the codes defined in this category. ; loop_ _item.name _item.category_id _item.mandatory_code '_diffrn_radiation_wavelength.id' diffrn_radiation_wavelength yes '_diffrn_radiation.wavelength_id' diffrn_radiation no '_diffrn_refln.wavelength_id' diffrn_refln no '_refln.wavelength_id' refln no _item_aliases.alias_name '_diffrn_radiation_wavelength_id' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_linked.child_name _item_linked.parent_name '_diffrn_radiation.wavelength_id' '_diffrn_radiation_wavelength.id' '_diffrn_refln.wavelength_id' '_diffrn_radiation_wavelength.id' '_refln.wavelength_id' '_diffrn_radiation_wavelength.id' _item_type.code code loop_ _item_examples.case 'x1' 'x2' 'neut' save_ save__diffrn_radiation_wavelength.wavelength _item_description.description ; The radiation wavelength in angstroms. ; _item.name '_diffrn_radiation_wavelength.wavelength' _item.category_id diffrn_radiation_wavelength _item.mandatory_code yes _item_aliases.alias_name '_diffrn_radiation_wavelength' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__diffrn_radiation_wavelength.wt _item_description.description ; The relative weight of a wavelength identified by the code _diffrn_radiation_wavelength.id in the list of wavelengths. ; _item.name '_diffrn_radiation_wavelength.wt' _item.category_id diffrn_radiation_wavelength _item.mandatory_code no _item_aliases.alias_name '_diffrn_radiation_wavelength_wt' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1.0 loop_ _item_range.maximum _item_range.minimum 1.0 1.0 1.0 0.0 0.0 0.0 _item_type.code float save_ ################## ## DIFFRN_REFLN ## ################## save_diffrn_refln _category.description ; Data items in the DIFFRN_REFLN category record details about the intensities in the diffraction data set identified by _diffrn_refln.diffrn_id. The DIFFRN_REFLN data items refer to individual intensity measurements and must be included in looped lists. The DIFFRN_REFLNS data items specify the parameters that apply to all intensity measurements in the particular diffraction data set identified by _diffrn_reflns.diffrn_id. ; _category.id diffrn_refln _category.mandatory_code no loop_ _category_key.name '_diffrn_refln.diffrn_id' '_diffrn_refln.id' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on CAD-4 diffractometer data obtained for Yb(S-C5H4N)2(THF)4 for data set 'set1' reflection 1102. ; ; _diffrn_refln.diffrn_id set1 _diffrn_refln.id 1102 _diffrn_refln.wavelength_id Cu1fixed _diffrn_refln.angle_chi 32.21 _diffrn_refln.angle_kappa 20.12 _diffrn_refln.angle_omega 11.54 _diffrn_refln.angle_phi 176.02 _diffrn_refln.angle_psi 0.00 _diffrn_refln.angle_theta 23.08 _diffrn_refln.attenuator_code 'Ni.005' _diffrn_refln.counts_bg_1 22 _diffrn_refln.counts_bg_2 25 _diffrn_refln.counts_net 3450 _diffrn_refln.counts_peak 321 _diffrn_refln.counts_total 3499 _diffrn_refln.detect_slit_horiz 0.04 _diffrn_refln.detect_slit_vert 0.02 _diffrn_refln.elapsed_time 1.00 _diffrn_refln.index_h 4 _diffrn_refln.index_k 0 _diffrn_refln.index_l 2 _diffrn_refln.intensity_net 202.56 _diffrn_refln.intensity_sigma 2.18 _diffrn_refln.scale_group_code A24 _diffrn_refln.scan_mode om _diffrn_refln.scan_mode_backgd mo _diffrn_refln.scan_rate 1.2 _diffrn_refln.scan_time_backgd 900.00 _diffrn_refln.scan_width 1.0 _diffrn_refln.sint_over_lambda 0.25426 _diffrn_refln.standard_code 1 _diffrn_refln.wavelength 1.54184 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_refln.angle_chi _item_description.description ; The diffractometer angle chi of a reflection in degrees. This angle corresponds to the specified orientation matrix and the original measured cell before any subsequent cell transformations. ; _item.name '_diffrn_refln.angle_chi' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_angle_chi' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code degrees save_ save__diffrn_refln.angle_kappa _item_description.description ; The diffractometer angle kappa of a reflection in degrees. This angle corresponds to the specified orientation matrix and the original measured cell before any subsequent cell transformations. ; _item.name '_diffrn_refln.angle_kappa' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_angle_kappa' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code degrees save_ save__diffrn_refln.angle_omega _item_description.description ; The diffractometer angle omega of a reflection in degrees. This angle corresponds to the specified orientation matrix and the original measured cell before any subsequent cell transformations. ; _item.name '_diffrn_refln.angle_omega' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_angle_omega' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code degrees save_ save__diffrn_refln.angle_phi _item_description.description ; The diffractometer angle phi of a reflection in degrees. This angle corresponds to the specified orientation matrix and the original measured cell before any subsequent cell transformations. ; _item.name '_diffrn_refln.angle_phi' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_angle_phi' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code degrees save_ save__diffrn_refln.angle_psi _item_description.description ; The diffractometer angle psi of a reflection in degrees. This angle corresponds to the specified orientation matrix and the original measured cell before any subsequent cell transformations. ; _item.name '_diffrn_refln.angle_psi' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_angle_psi' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code degrees save_ save__diffrn_refln.angle_theta _item_description.description ; The diffractometer angle theta of a reflection in degrees. This angle corresponds to the specified orientation matrix and the original measured cell before any subsequent cell transformations. ; _item.name '_diffrn_refln.angle_theta' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_angle_theta' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code degrees save_ save__diffrn_refln.attenuator_code _item_description.description ; The code identifying the attenuator setting for this reflection. This code must match one of the _diffrn_attenuator.code values. ; _item.name '_diffrn_refln.attenuator_code' _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_attenuator_code' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__diffrn_refln.counts_bg_1 _item_description.description ; The diffractometer counts for the measurement of the background before the peak. ; _item.name '_diffrn_refln.counts_bg_1' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_counts_bg_1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__diffrn_refln.counts_bg_2 _item_description.description ; The diffractometer counts for the measurement of the background after the peak. ; _item.name '_diffrn_refln.counts_bg_2' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_counts_bg_2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__diffrn_refln.counts_net _item_description.description ; The diffractometer counts for the measurement of net counts after background removal. ; _item.name '_diffrn_refln.counts_net' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_counts_net' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__diffrn_refln.counts_peak _item_description.description ; The diffractometer counts for the measurement of counts for the peak scan or position. ; _item.name '_diffrn_refln.counts_peak' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_counts_peak' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__diffrn_refln.counts_total _item_description.description ; The diffractometer counts for the measurement of total counts (background plus peak). ; _item.name '_diffrn_refln.counts_total' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_counts_total' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__diffrn_refln.detect_slit_horiz _item_description.description ; Total slit aperture in degrees in the diffraction plane. ; _item.name '_diffrn_refln.detect_slit_horiz' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_detect_slit_horiz' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 90.0 90.0 90.0 0.0 0.0 0.0 _item_type.code float _item_units.code degrees save_ save__diffrn_refln.detect_slit_vert _item_description.description ; Total slit aperture in degrees perpendicular to the diffraction plane. ; _item.name '_diffrn_refln.detect_slit_vert' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_detect_slit_vert' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 90.0 90.0 90.0 0.0 0.0 0.0 _item_type.code float _item_units.code degrees save_ save__diffrn_refln.diffrn_id _item_description.description ; This data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_diffrn_refln.diffrn_id' _item.mandatory_code yes save_ save__diffrn_refln.elapsed_time _item_description.description ; Elapsed time in minutes from the start of the diffraction experiment to the measurement of this intensity. ; _item.name '_diffrn_refln.elapsed_time' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_elapsed_time' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code minutes save_ save__diffrn_refln.id _item_description.description ; The value of _diffrn_refln.id must uniquely identify the reflection in the data set identified by the item _diffrn_refln.diffrn_id. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_diffrn_refln.id' _item.category_id diffrn_refln _item.mandatory_code yes _item_type.code code save_ save__diffrn_refln.index_h _item_description.description ; Miller index h of a reflection. The values of the Miller indices in the DIFFRN_REFLN category need not match the values of the Miller indices in the REFLN category if a transformation of the original measured cell has taken place. Details of the cell transformation are given in _diffrn_reflns.reduction_process. See also _diffrn_reflns.transf_matrix[][]. ; _item.name '_diffrn_refln.index_h' _item.category_id diffrn_refln _item.mandatory_code yes _item_aliases.alias_name '_diffrn_refln_index_h' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_refln.index_h' '_diffrn_refln.index_k' _item_sub_category.id miller_index _item_type.code int save_ save__diffrn_refln.index_k _item_description.description ; Miller index k of a reflection. The values of the Miller indices in the DIFFRN_REFLN category need not match the values of the Miller indices in the REFLN category if a transformation of the original measured cell has taken place. Details of the cell transformation are given in _diffrn_reflns.reduction_process. See also _diffrn_reflns.transf_matrix[][]. ; _item.name '_diffrn_refln.index_k' _item.category_id diffrn_refln _item.mandatory_code yes _item_aliases.alias_name '_diffrn_refln_index_k' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_refln.index_h' '_diffrn_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__diffrn_refln.index_l _item_description.description ; Miller index l of a reflection. The values of the Miller indices in the DIFFRN_REFLN category need not match the values of the Miller indices in the REFLN category if a transformation of the original measured cell has taken place. Details of the cell transformation are given in _diffrn_reflns.reduction_process. See also _diffrn_reflns.transf_matrix[][]. ; _item.name '_diffrn_refln.index_l' _item.category_id diffrn_refln _item.mandatory_code yes _item_aliases.alias_name '_diffrn_refln_index_l' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_refln.index_h' '_diffrn_refln.index_k' _item_sub_category.id miller_index _item_type.code int save_ save__diffrn_refln.intensity_net _item_description.description ; Net intensity calculated from the diffraction counts after the attenuator and standard scales have been applied. ; _item.name '_diffrn_refln.intensity_net' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_intensity_net' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float save_ save__diffrn_refln.intensity_sigma _item_description.description ; Standard uncertainty (estimated standard deviation) of the intensity calculated from the diffraction counts after the attenuator and standard scales have been applied. ; _item.name '_diffrn_refln.intensity_sigma' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_intensity_sigma' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code float save_ save__diffrn_refln.scale_group_code _item_description.description ; The code identifying the scale applying to this reflection. This data item is a pointer to _diffrn_scale_group.code in the DIFFRN_SCALE_GROUP category. ; _item.name '_diffrn_refln.scale_group_code' _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_scale_group_code' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__diffrn_refln.scan_mode _item_description.description ; The code identifying the mode of scanning for measurements using a diffractometer. See _diffrn_refln.scan_width and _diffrn_refln.scan_mode_backgd. ; _item.name '_diffrn_refln.scan_mode' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_scan_mode' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail om 'omega scan' ot 'omega/2theta scan' q 'Q scans (arbitrary reciprocal directions)' save_ save__diffrn_refln.scan_mode_backgd _item_description.description ; The code identifying the mode of scanning a reflection to measure the background intensity. ; _item.name '_diffrn_refln.scan_mode_backgd' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_scan_mode_backgd' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail st 'stationary counter background' mo 'moving counter background' save_ save__diffrn_refln.scan_rate _item_description.description ; The rate of scanning a reflection in degrees per minute to measure the intensity. ; _item.name '_diffrn_refln.scan_rate' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_scan_rate' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code degrees_per_minute save_ save__diffrn_refln.scan_time_backgd _item_description.description ; The time spent measuring each background in seconds. ; _item.name '_diffrn_refln.scan_time_backgd' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_scan_time_backgd' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code seconds save_ save__diffrn_refln.scan_width _item_description.description ; The scan width in degrees of the scan mode defined by the code _diffrn_refln.scan_mode. ; _item.name '_diffrn_refln.scan_width' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_scan_width' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 90.0 90.0 90.0 0.0 0.0 0.0 _item_type.code float _item_units.code degrees save_ save__diffrn_refln.sint_over_lambda _item_description.description ; The (sin theta)/lambda value in reciprocal angstroms for this reflection. ; _item.name '_diffrn_refln.sint_over_lambda' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_sint/lambda' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code reciprocal_angstroms save_ save__diffrn_refln.standard_code _item_description.description ; The code identifying that this reflection was measured as a standard intensity. This data item is a pointer to _diffrn_standard_refln.code in the DIFFRN_STANDARD_REFLN category. ; _item.name '_diffrn_refln.standard_code' _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_standard_code' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__diffrn_refln.wavelength _item_description.description ; The mean wavelength in angstroms of the radiation used to measure the intensity of this reflection. This is an important parameter for data collected using energy-dispersive detectors or the Laue method. ; _item.name '_diffrn_refln.wavelength' _item.category_id diffrn_refln _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_wavelength' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__diffrn_refln.wavelength_id _item_description.description ; This data item is a pointer to _diffrn_radiation.wavelength_id in the DIFFRN_RADIATION category. ; _item.name '_diffrn_refln.wavelength_id' _item.mandatory_code no _item_aliases.alias_name '_diffrn_refln_wavelength_id' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__diffrn_refln.pdbx_image_id _item_description.description ; The identifier of the diffraction image this reflection is associated with. This is often the image where the calculated reflection centroid is predicted to occur. ; _item.name '_diffrn_refln.pdbx_image_id' _item.category_id diffrn_refln _item.mandatory_code no _item_type.code int _item_range.maximum . _item_range.minimum 0 _item_aliases.alias_name '_diffrn_refln.gphl_image_id' _item_aliases.dictionary gphl-proc-unmerged-extension.dic _item_aliases.version 0.0 save_ save__diffrn_refln.pdbx_scan_angle _item_description.description ; The value of the angle around the scan axis for this reflection. This is often the scan angle at which the calculated reflection centroid is predicted to occur. ; _item.name '_diffrn_refln.pdbx_scan_angle' _item.category_id diffrn_refln _item.mandatory_code no _item_type.code float _item_units.code degrees _item_aliases.alias_name '_diffrn_refln.gphl_rotation_angle' _item_aliases.dictionary gphl-proc-unmerged-extension.dic _item_aliases.version 0.0 save_ ################### ## DIFFRN_REFLNS ## ################### save_diffrn_reflns _category.description ; Data items in the DIFFRN_REFLNS category record details about the set of intensities measured in the diffraction experiment. The DIFFRN_REFLN data items refer to individual intensity measurements and must be included in looped lists. The DIFFRN_REFLNS data items specify the parameters that apply to all intensity measurements in a diffraction data set. ; _category.id diffrn_reflns _category.mandatory_code no _category_key.name '_diffrn_reflns.diffrn_id' loop_ _category_group.id 'inclusive_group' 'diffrn_group' # loop_ # _category_examples.detail # _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_reflns.av_R_equivalents _item_description.description ; The residual [sum|avdel(I)| / sum|av(I)|] for symmetry-equivalent reflections used to calculate the average intensity av(I). The avdel(I) term is the average absolute difference between av(I) and the individual symmetry-equivalent intensities. ; _item.name '_diffrn_reflns.av_R_equivalents' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_av_R_equivalents' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__diffrn_reflns.av_sigmaI_over_netI _item_description.description ; Measure [sum|sigma(I)|/sum|net(I)|] for all measured reflections. ; _item.name '_diffrn_reflns.av_sigmaI_over_netI' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_av_sigmaI/netI' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__diffrn_reflns.diffrn_id _item_description.description ; This data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_diffrn_reflns.diffrn_id' _item.mandatory_code yes save_ save__diffrn_reflns.limit_h_max _item_description.description ; The maximum value of the Miller index h for the reflection data specified by _diffrn_refln.index_h. ; _item.name '_diffrn_reflns.limit_h_max' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_limit_h_max' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__diffrn_reflns.limit_h_min _item_description.description ; The minimum value of the Miller index h for the reflection data specified by _diffrn_refln.index_h. ; _item.name '_diffrn_reflns.limit_h_min' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_limit_h_min' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__diffrn_reflns.limit_k_max _item_description.description ; The maximum value of the Miller index k for the reflection data specified by _diffrn_refln.index_k. ; _item.name '_diffrn_reflns.limit_k_max' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_limit_k_max' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__diffrn_reflns.limit_k_min _item_description.description ; The minimum value of the Miller index k for the reflection data specified by _diffrn_refln.index_k. ; _item.name '_diffrn_reflns.limit_k_min' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_limit_k_min' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__diffrn_reflns.limit_l_max _item_description.description ; The maximum value of the Miller index l for the reflection data specified by _diffrn_refln.index_l. ; _item.name '_diffrn_reflns.limit_l_max' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_limit_l_max' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__diffrn_reflns.limit_l_min _item_description.description ; The minimum value of the Miller index l for the reflection data specified by _diffrn_refln.index_l. ; _item.name '_diffrn_reflns.limit_l_min' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_limit_l_min' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__diffrn_reflns.number _item_description.description ; The total number of measured intensities, excluding reflections that are classified as systematically absent. ; _item.name '_diffrn_reflns.number' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_number' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__diffrn_reflns.reduction_process _item_description.description ; A description of the process used to reduce the intensity data into structure-factor magnitudes. ; _item.name '_diffrn_reflns.reduction_process' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_reduction_process' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'data averaged using Fisher test' save_ save__diffrn_reflns.theta_max _item_description.description ; Maximum theta angle in degrees for the measured diffraction intensities. ; _item.name '_diffrn_reflns.theta_max' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_theta_max' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 90.0 90.0 90.0 0.0 0.0 0.0 _item_type.code float _item_units.code degrees save_ save__diffrn_reflns.theta_min _item_description.description ; Minimum theta angle in degrees for the measured diffraction intensities. ; _item.name '_diffrn_reflns.theta_min' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_theta_min' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 90.0 90.0 90.0 0.0 0.0 0.0 _item_type.code float _item_units.code degrees save_ save__diffrn_reflns.transf_matrix[1][1] _item_description.description ; The [1][1] element of the 3x3 matrix used to transform Miller indices in the DIFFRN_REFLN category into the Miller indices in the REFLN category. ; _item.name '_diffrn_reflns.transf_matrix[1][1]' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_transf_matrix_11' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_reflns.transf_matrix[1][2] _item_description.description ; The [1][2] element of the 3x3 matrix used to transform Miller indices in the DIFFRN_REFLN category into the Miller indices in the REFLN category. ; _item.name '_diffrn_reflns.transf_matrix[1][2]' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_transf_matrix_12' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_reflns.transf_matrix[1][3] _item_description.description ; The [1][3] element of the 3x3 matrix used to transform Miller indices in the DIFFRN_REFLN category into the Miller indices in the REFLN category. ; _item.name '_diffrn_reflns.transf_matrix[1][3]' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_transf_matrix_13' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_reflns.transf_matrix[2][1] _item_description.description ; The [2][1] element of the 3x3 matrix used to transform Miller indices in the DIFFRN_REFLN category into the Miller indices in the REFLN category. ; _item.name '_diffrn_reflns.transf_matrix[2][1]' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_transf_matrix_21' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_reflns.transf_matrix[2][2] _item_description.description ; The [2][2] element of the 3x3 matrix used to transform Miller indices in the DIFFRN_REFLN category into the Miller indices in the REFLN category. ; _item.name '_diffrn_reflns.transf_matrix[2][2]' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_transf_matrix_22' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_reflns.transf_matrix[2][3] _item_description.description ; The [2][3] element of the 3x3 matrix used to transform Miller indices in the DIFFRN_REFLN category into the Miller indices in the REFLN category. ; _item.name '_diffrn_reflns.transf_matrix[2][3]' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_transf_matrix_23' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_reflns.transf_matrix[3][1] _item_description.description ; The [3][1] element of the 3x3 matrix used to transform Miller indices in the DIFFRN_REFLN category into the Miller indices in the REFLN category. ; _item.name '_diffrn_reflns.transf_matrix[3][1]' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_transf_matrix_31' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_reflns.transf_matrix[3][2] _item_description.description ; The [3][2] element of the 3x3 matrix used to transform Miller indices in the DIFFRN_REFLN category into the Miller indices in the REFLN category. ; _item.name '_diffrn_reflns.transf_matrix[3][2]' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_transf_matrix_32' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ save__diffrn_reflns.transf_matrix[3][3] _item_description.description ; The [3][3] element of the 3x3 matrix used to transform Miller indices in the DIFFRN_REFLN category into the Miller indices in the REFLN category. ; _item.name '_diffrn_reflns.transf_matrix[3][3]' _item.category_id diffrn_reflns _item.mandatory_code no _item_aliases.alias_name '_diffrn_reflns_transf_matrix_33' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_sub_category.id matrix _item_type.code float save_ ######################## ## DIFFRN_SCALE_GROUP ## ######################## save_diffrn_scale_group _category.description ; Data items in the DIFFRN_SCALE_GROUP category record details of the scaling factors applied to place all intensities in the reflection lists on a common scale. Scaling groups might, for example, correspond to each film in a multi-film data set or each crystal in a multi-crystal data set. ; _category.id diffrn_scale_group _category.mandatory_code no _category_key.name '_diffrn_scale_group.code' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on CAD-4 diffractometer data obtained for Yb(S-C5H4N)2(THF)4. ; ; _diffrn_scale_group.code A24 _diffrn_scale_group.I_net 1.021 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_scale_group.code _item_description.description ; The value of _diffrn_scale_group.code must uniquely identify a record in the DIFFRN_SCALE_GROUP list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_diffrn_scale_group.code' diffrn_scale_group yes # '_diffrn_refln.scale_group_code' diffrn_refln yes _item_aliases.alias_name '_diffrn_scale_group_code' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_linked.child_name _item_linked.parent_name '_diffrn_refln.scale_group_code' '_diffrn_scale_group.code' _item_type.code code loop_ _item_examples.case '1' '2' 'c1' 'c2' save_ save__diffrn_scale_group.I_net _item_description.description ; The scale for a specific measurement group which is to be multiplied with the net intensity to place all intensities in the DIFFRN_REFLN or REFLN list on a common scale. ; _item.name '_diffrn_scale_group.I_net' _item.category_id diffrn_scale_group _item.mandatory_code no _item_aliases.alias_name '_diffrn_scale_group_I_net' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ ################### ## DIFFRN_SOURCE ## ################### save_diffrn_source _category.description ; Data items in the DIFFRN_SOURCE category record details of the source of radiation used in the diffraction experiment. ; _category.id diffrn_source _category.mandatory_code no _category_key.name '_diffrn_source.diffrn_id' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _diffrn_source.diffrn_id 's1' _diffrn_source.source 'rotating anode' _diffrn_source.type 'Rigaku RU-200' _diffrn_source.power 50 _diffrn_source.current 180 _diffrn_source.size '8mm x 0.4 mm broad-focus' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_source.current _item_description.description ; The current in milliamperes at which the radiation source was operated. ; _item.name '_diffrn_source.current' _item.category_id diffrn_source _item.mandatory_code no _item_aliases.alias_name '_diffrn_source_current' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code milliamperes save_ save__diffrn_source.details _item_description.description ; A description of special aspects of the radiation source used. ; _item.name '_diffrn_source.details' _item.category_id diffrn_source _item.mandatory_code no _item_aliases.alias_name '_diffrn_source_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__diffrn_source.diffrn_id _item_description.description ; This data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_diffrn_source.diffrn_id' _item.mandatory_code yes save_ save__diffrn_source.power _item_description.description ; The power in kilowatts at which the radiation source was operated. ; _item.name '_diffrn_source.power' _item.category_id diffrn_source _item.mandatory_code no _item_aliases.alias_name '_diffrn_source_power' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code kilowatts save_ save__diffrn_source.size _item_description.description ; The dimensions of the source as viewed from the sample. ; _item.name '_diffrn_source.size' _item.category_id diffrn_source _item.mandatory_code no _item_aliases.alias_name '_diffrn_source_size' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case '8mm x 0.4 mm fine-focus' 'broad focus' save_ save__diffrn_source.source _item_description.description ; The general class of the radiation source. ; _item.name '_diffrn_source.source' _item.category_id diffrn_source _item.mandatory_code no _pdbx_item.name "_diffrn_source.source" _pdbx_item.mandatory_code yes loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_radiation_source' cifdic.c91 1.0 '_diffrn_source' cif_core.dic 2.0 _item_type.code text loop_ _item_examples.case 'sealed X-ray tube' 'nuclear reactor' 'spallation source' 'electron microscope' 'rotating-anode X-ray tube' 'synchrotron' _pdbx_item_description.name "_diffrn_source.source" _pdbx_item_description.description "If an X-ray generator was used, please specify the name and model of the generator. If your particular model is not found, use other." loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_diffrn_source.source" "ELECTRON MICROSCOPE" electron "_diffrn_source.source" "FREE ELECTRON LASER" x-ray "_diffrn_source.source" "LIQUID ANODE" x-ray "_diffrn_source.source" "NUCLEAR REACTOR" neutron "_diffrn_source.source" "ROTATING ANODE" x-ray "_diffrn_source.source" "SEALED TUBE" x-ray "_diffrn_source.source" "SPALLATION SOURCE" neutron "_diffrn_source.source" SYNCHROTRON x-ray # save_ save__diffrn_source.target _item_description.description ; The chemical element symbol for the X-ray target (usually the anode) used to generate X-rays. This can also be used for spallation sources. ; _item.name '_diffrn_source.target' _item.category_id diffrn_source _item.mandatory_code no _item_aliases.alias_name '_diffrn_source_target' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code code loop_ _item_enumeration.value H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe Cs Ba La Ce Pr Nd Pm Sm Eu Gd Tb Dy Ho Er Tm Yb Lu Hf Ta W Re Os Ir Pt Au Hg Tl Pb Bi Po At Rn Fr Ra Ac Th Pa U Np Pu Am Cm Bk Cf Es Fm Md No Lr save_ save__diffrn_source.type _item_description.description ; The make, model or name of the source of radiation. ; _item.name '_diffrn_source.type' _item.category_id diffrn_source _item.mandatory_code no _item_aliases.alias_name '_diffrn_source_type' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'NSLS beamline X8C' 'Rigaku RU200' _pdbx_item.name "_diffrn_source.type" _pdbx_item.mandatory_code yes # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_diffrn_source.type" "AichiSR BEAMLINE BL2S1" SYNCHROTRON "_diffrn_source.type" "Agilent SuperNova" "SEALED TUBE" "_diffrn_source.type" "ALBA BEAMLINE XALOC" SYNCHROTRON "_diffrn_source.type" "ALS BEAMLINE 2.0.1" SYNCHROTRON "_diffrn_source.type" "ALS BEAMLINE 4.2.2" SYNCHROTRON "_diffrn_source.type" "ALS BEAMLINE 5.0.1" SYNCHROTRON "_diffrn_source.type" "ALS BEAMLINE 5.0.2" SYNCHROTRON "_diffrn_source.type" "ALS BEAMLINE 5.0.3" SYNCHROTRON "_diffrn_source.type" "ALS BEAMLINE 8.2.1" SYNCHROTRON "_diffrn_source.type" "ALS BEAMLINE 8.2.2" SYNCHROTRON "_diffrn_source.type" "ALS BEAMLINE 8.3.1" SYNCHROTRON "_diffrn_source.type" "ALS BEAMLINE 12.3.1" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 5ID-B" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 1-BM-C" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 8-BM" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 14-BM-C" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 14-BM-D" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 14-ID-B" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 17-BM" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 17-ID" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 18-ID" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 19-BM" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 19-ID" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 21-ID-D" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 21-ID-E" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 21-ID-F" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 21-ID-G" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 22-BM" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 22-ID" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 23-BM-B" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 23-ID-B" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 23-ID-D" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 24-ID-C" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 24-ID-E" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 31-ID" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 32-ID" SYNCHROTRON "_diffrn_source.type" "APS BEAMLINE 34-ID" SYNCHROTRON "_diffrn_source.type" "AUSTRALIAN SYNCHROTRON BEAMLINE MX1" SYNCHROTRON "_diffrn_source.type" "AUSTRALIAN SYNCHROTRON BEAMLINE MX2" SYNCHROTRON "_diffrn_source.type" "BESSY BEAMLINE 14.1" SYNCHROTRON "_diffrn_source.type" "BESSY BEAMLINE 14.2" SYNCHROTRON "_diffrn_source.type" "BESSY BEAMLINE 14.3" SYNCHROTRON "_diffrn_source.type" "BRUKER AXS MICROSTAR" "ROTATING ANODE" "_diffrn_source.type" "BRUKER AXS MICROSTAR-H" "ROTATING ANODE" "_diffrn_source.type" "BRUKER D8 QUEST" "SEALED TUBE" "_diffrn_source.type" "BRUKER IMUS MICROFOCUS" "SEALED TUBE" "_diffrn_source.type" "BRUKER METALJET" "LIQUID ANODE" "_diffrn_source.type" "BRUKER TURBO X-RAY SOURCE" "ROTATING ANODE" "_diffrn_source.type" "BRUKER X8 PROTEUM" "ROTATING ANODE" "_diffrn_source.type" "BSRF BEAMLINE 1W2B" SYNCHROTRON "_diffrn_source.type" "BSRF BEAMLINE 3W1A" SYNCHROTRON "_diffrn_source.type" "CAMD BEAMLINE GCPCC" SYNCHROTRON "_diffrn_source.type" "CHESS BEAMLINE A1" SYNCHROTRON "_diffrn_source.type" "CHESS BEAMLINE F1" SYNCHROTRON "_diffrn_source.type" "CHESS BEAMLINE F2" SYNCHROTRON "_diffrn_source.type" "CHESS BEAMLINE F3" SYNCHROTRON "_diffrn_source.type" "CHESS BEAMLINE G3" SYNCHROTRON "_diffrn_source.type" "CLSI BEAMLINE 08B1-1" SYNCHROTRON "_diffrn_source.type" "CLSI BEAMLINE 08ID-1" SYNCHROTRON "_diffrn_source.type" "Cu FINE FOCUS" "ROTATING ANODE" "_diffrn_source.type" "DIAMOND BEAMLINE I02" SYNCHROTRON "_diffrn_source.type" "DIAMOND BEAMLINE I03" SYNCHROTRON "_diffrn_source.type" "DIAMOND BEAMLINE I04" SYNCHROTRON "_diffrn_source.type" "DIAMOND BEAMLINE I04-1" SYNCHROTRON "_diffrn_source.type" "DIAMOND BEAMLINE I23" SYNCHROTRON "_diffrn_source.type" "DIAMOND BEAMLINE I24" SYNCHROTRON "_diffrn_source.type" "DIAMOND BEAMLINE VMXi" SYNCHROTRON "_diffrn_source.type" "DIAMOND BEAMLINE VMXm" SYNCHROTRON "_diffrn_source.type" "ELETTRA BEAMLINE 5.2R" SYNCHROTRON "_diffrn_source.type" "ELETTRA BEAMLINE 11.2C" SYNCHROTRON "_diffrn_source.type" "ELLIOTT GX-3" "ROTATING ANODE" "_diffrn_source.type" "ELLIOTT GX-13" "ROTATING ANODE" "_diffrn_source.type" "ELLIOTT GX-18" "ROTATING ANODE" "_diffrn_source.type" "ELLIOTT GX-20" "ROTATING ANODE" "_diffrn_source.type" "ELLIOTT GX-21" "ROTATING ANODE" "_diffrn_source.type" "ELLIOTT GX-6" "ROTATING ANODE" "_diffrn_source.type" "EMBL/DESY, HAMBURG BEAMLINE BW7A" SYNCHROTRON "_diffrn_source.type" "EMBL/DESY, HAMBURG BEAMLINE BW7B" SYNCHROTRON "_diffrn_source.type" "EMBL/DESY, HAMBURG BEAMLINE X11" SYNCHROTRON "_diffrn_source.type" "EMBL/DESY, HAMBURG BEAMLINE X12" SYNCHROTRON "_diffrn_source.type" "EMBL/DESY, HAMBURG BEAMLINE X13" SYNCHROTRON "_diffrn_source.type" "EMBL/DESY, HAMBURG BEAMLINE X31" SYNCHROTRON "_diffrn_source.type" "ENRAF-NONIUS FR571" "ROTATING ANODE" "_diffrn_source.type" "ENRAF-NONIUS FR590" "ROTATING ANODE" "_diffrn_source.type" "ENRAF-NONIUS FR591" "ROTATING ANODE" "_diffrn_source.type" "ESRF BEAMLINE BM02" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE BM1A" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE BM14" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE BM16" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE BM26" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE BM30A" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE ID09" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE ID13" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE ID14-1" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE ID14-2" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE ID14-3" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE ID14-4" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE ID2" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE ID23-1" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE ID23-2" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE ID27" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE ID29" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE ID30B" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE MASSIF-1" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE MASSIF-2" SYNCHROTRON "_diffrn_source.type" "ESRF BEAMLINE MASSIF-3" SYNCHROTRON "_diffrn_source.type" "EUROPEAN XFEL BEAMLINE FXE" "FREE ELECTRON LASER" "_diffrn_source.type" "EUROPEAN XFEL BEAMLINE SPB/SFX" "FREE ELECTRON LASER" "_diffrn_source.type" "Excillum MetalJet D2 70 kV" "LIQUID ANODE" "_diffrn_source.type" "Excillum MetalJet D2+ 70 kV" "LIQUID ANODE" "_diffrn_source.type" "Excillum MetalJet D2+ 160 kV" "LIQUID ANODE" "_diffrn_source.type" "FRM II BEAMLINE ANTARES" "NUCLEAR REACTOR" "_diffrn_source.type" "FRM II BEAMLINE BIODIFF" "NUCLEAR REACTOR" "_diffrn_source.type" "KURCHATOV SNC BEAMLINE K4.4" SYNCHROTRON "_diffrn_source.type" "ILL BEAMLINE D11" "NUCLEAR REACTOR" "_diffrn_source.type" "ILL BEAMLINE D16" "NUCLEAR REACTOR" "_diffrn_source.type" "ILL BEAMLINE D19" "NUCLEAR REACTOR" "_diffrn_source.type" "ILL BEAMLINE D22" "NUCLEAR REACTOR" "_diffrn_source.type" "ILL BEAMLINE D33" "NUCLEAR REACTOR" "_diffrn_source.type" "ILL BEAMLINE H142" "NUCLEAR REACTOR" "_diffrn_source.type" "ILL BEAMLINE LADI" "NUCLEAR REACTOR" "_diffrn_source.type" "ILL BEAMLINE LADI III" "NUCLEAR REACTOR" "_diffrn_source.type" "ISIS BEAMLINE LOQ" "SPALLATION SOURCE" "_diffrn_source.type" "J-PARC MLF BEAMLINE BL-03" "SPALLATION SOURCE" "_diffrn_source.type" "JRR-3M BEAMLINE 1G-A" "NUCLEAR REACTOR" "_diffrn_source.type" "JRR-3M BEAMLINE 1G-B" "NUCLEAR REACTOR" "_diffrn_source.type" "JRR-3M BEAMLINE 1G-C" "NUCLEAR REACTOR" "_diffrn_source.type" "LaB6 thermoionic" . "_diffrn_source.type" "LANSCE BEAMLINE BL03" "NUCLEAR REACTOR" "_diffrn_source.type" "LANSCE BEAMLINE PCS" "NUCLEAR REACTOR" "_diffrn_source.type" "LNLS BEAMLINE D02A-SAXS2" SYNCHROTRON "_diffrn_source.type" "LNLS BEAMLINE D03B-MX1" SYNCHROTRON "_diffrn_source.type" "LNLS BEAMLINE D11A-SAXS1" SYNCHROTRON "_diffrn_source.type" "LNLS BEAMLINE W01B-MX2" SYNCHROTRON "_diffrn_source.type" "LNLS SIRUS BEAMLINE MANACA" SYNCHROTRON "_diffrn_source.type" "LURE BEAMLINE DW21B" SYNCHROTRON "_diffrn_source.type" "LURE BEAMLINE DW32" SYNCHROTRON "_diffrn_source.type" "LURE BEAMLINE D41A" SYNCHROTRON "_diffrn_source.type" MACSCIENCE . "_diffrn_source.type" "MACSCIENCE M06X" "ROTATING ANODE" "_diffrn_source.type" "MACSCIENCE M12X" "ROTATING ANODE" "_diffrn_source.type" "MACSCIENCE M18X" "ROTATING ANODE" "_diffrn_source.type" "MAX II BEAMLINE I711" SYNCHROTRON "_diffrn_source.type" "MAX II BEAMLINE I911-2" SYNCHROTRON "_diffrn_source.type" "MAX II BEAMLINE I911-3" SYNCHROTRON "_diffrn_source.type" "MAX II BEAMLINE I911-5" SYNCHROTRON "_diffrn_source.type" "MAX IV BEAMLINE BioMAX" SYNCHROTRON "_diffrn_source.type" "MPG/DESY, HAMBURG BEAMLINE BW6" SYNCHROTRON "_diffrn_source.type" "NFPSS BEAMLINE BL17B" SYNCHROTRON "_diffrn_source.type" "NFPSS BEAMLINE BL18U" SYNCHROTRON "_diffrn_source.type" "NFPSS BEAMLINE BL19U1" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X1A" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X3A" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X4A" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X4C" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X6A" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X7B" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X8C" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X9A" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X9B" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X12B" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X12C" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X17B1" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X25" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X26C" SYNCHROTRON "_diffrn_source.type" "NSLS BEAMLINE X29A" SYNCHROTRON "_diffrn_source.type" "NSLS-II BEAMLINE 17-ID-1" SYNCHROTRON "_diffrn_source.type" "NSLS-II BEAMLINE 17-ID-2" SYNCHROTRON "_diffrn_source.type" "NSLS-II BEAMLINE 19-ID" SYNCHROTRON "_diffrn_source.type" "NSRL BEAMLINE U7B" SYNCHROTRON "_diffrn_source.type" "NSRRC BEAMLINE BL13B1" SYNCHROTRON "_diffrn_source.type" "NSRRC BEAMLINE BL13C1" SYNCHROTRON "_diffrn_source.type" "NSRRC BEAMLINE BL15A1" SYNCHROTRON "_diffrn_source.type" "NSRRC BEAMLINE BL17A" SYNCHROTRON "_diffrn_source.type" "NSRRC BEAMLINE BL17B2" SYNCHROTRON "_diffrn_source.type" "NSRRC BEAMLINE TPS 05A" SYNCHROTRON "_diffrn_source.type" "ORNL High Flux Isotope Reactor BEAMLINE CG4D" "NUCLEAR REACTOR" "_diffrn_source.type" "ORNL Spallation Neutron Source BEAMLINE MANDI" "SPALLATION SOURCE" "_diffrn_source.type" "OXFORD DIFFRACTION ENHANCE ULTRA" "SEALED TUBE" "_diffrn_source.type" "OXFORD DIFFRACTION GEMINI" "SEALED TUBE" "_diffrn_source.type" "OXFORD DIFFRACTION NOVA" "SEALED TUBE" "_diffrn_source.type" "OXFORD DIFFRACTION SUPERNOVA" "SEALED TUBE" "_diffrn_source.type" "PAL/PLS BEAMLINE 4A" SYNCHROTRON "_diffrn_source.type" "PAL/PLS BEAMLINE 5C (4A)" SYNCHROTRON "_diffrn_source.type" "PAL/PLS BEAMLINE 6B" SYNCHROTRON "_diffrn_source.type" "PAL/PLS BEAMLINE 6C1" SYNCHROTRON "_diffrn_source.type" "PAL/PLS BEAMLINE 6D" SYNCHROTRON "_diffrn_source.type" "PAL/PLS BEAMLINE 7A (6B, 6C1)" SYNCHROTRON "_diffrn_source.type" "PAL/PLS BEAMLINE 11C" SYNCHROTRON "_diffrn_source.type" "PAL-XFEL BEAMLINE CSI" "FREE ELECTRON LASER" "_diffrn_source.type" "PAL-XFEL BEAMLINE FXS" "FREE ELECTRON LASER" "_diffrn_source.type" "PAL-XFEL BEAMLINE NCI" "FREE ELECTRON LASER" "_diffrn_source.type" "PETRA II, DESY BEAMLINE PETRA1" SYNCHROTRON "_diffrn_source.type" "PETRA III, EMBL c/o DESY BEAMLINE P13 (MX1)" SYNCHROTRON "_diffrn_source.type" "PETRA III, EMBL c/o DESY BEAMLINE P14 (MX2)" SYNCHROTRON "_diffrn_source.type" "PETRA III, DESY BEAMLINE P11" SYNCHROTRON "_diffrn_source.type" "PHOTON FACTORY BEAMLINE AR-NE3A" SYNCHROTRON "_diffrn_source.type" "PHOTON FACTORY BEAMLINE AR-NW12A" SYNCHROTRON "_diffrn_source.type" "PHOTON FACTORY BEAMLINE AR-NW14A" SYNCHROTRON "_diffrn_source.type" "PHOTON FACTORY BEAMLINE BL-1A" SYNCHROTRON "_diffrn_source.type" "PHOTON FACTORY BEAMLINE BL-5A" SYNCHROTRON "_diffrn_source.type" "PHOTON FACTORY BEAMLINE BL-6A" SYNCHROTRON "_diffrn_source.type" "PHOTON FACTORY BEAMLINE BL-6B" SYNCHROTRON "_diffrn_source.type" "PHOTON FACTORY BEAMLINE BL-17A" SYNCHROTRON "_diffrn_source.type" "PHOTON FACTORY BEAMLINE BL-18B" SYNCHROTRON "_diffrn_source.type" RIGAKU "ROTATING ANODE" "_diffrn_source.type" "RIGAKU FR-D" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU FR-E" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU FR-E+" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU FR-E DW" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU FR-E SUPERBRIGHT" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU FR-E+ DW" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU FR-E+ SUPERBRIGHT" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU FR-X" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU MICROMAX-002" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU MICROMAX-002+" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU MICROMAX-003" "SEALED TUBE" "_diffrn_source.type" "RIGAKU MICROMAX-007" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU MICROMAX-007 HF" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU R-AXIS" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU R-AXIS II" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU R-AXIS IV" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU RU200" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU RU300" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU RUH2R" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU RUH3R" "ROTATING ANODE" "_diffrn_source.type" "RIGAKU ULTRAX 18" "ROTATING ANODE" "_diffrn_source.type" "RRCAT INDUS-2 BEAMLINE PX-BL21" SYNCHROTRON "_diffrn_source.type" "SACLA BEAMLINE BL2" "FREE ELECTRON LASER" "_diffrn_source.type" "SACLA BEAMLINE BL3" "FREE ELECTRON LASER" "_diffrn_source.type" "SAGA-LS BEAMLINE BL07" SYNCHROTRON "_diffrn_source.type" SIEMENS "ROTATING ANODE" "_diffrn_source.type" "SLAC LCLS BEAMLINE AMO" "FREE ELECTRON LASER" "_diffrn_source.type" "SLAC LCLS BEAMLINE CXI" "FREE ELECTRON LASER" "_diffrn_source.type" "SLAC LCLS BEAMLINE MFX" "FREE ELECTRON LASER" "_diffrn_source.type" "SLAC LCLS BEAMLINE XPP" "FREE ELECTRON LASER" "_diffrn_source.type" "SLS BEAMLINE X06DA" SYNCHROTRON "_diffrn_source.type" "SLS BEAMLINE X06SA" SYNCHROTRON "_diffrn_source.type" "SLS BEAMLINE X10SA" SYNCHROTRON "_diffrn_source.type" "SOLEIL BEAMLINE PROXIMA 1" SYNCHROTRON "_diffrn_source.type" "SOLEIL BEAMLINE PROXIMA 2" SYNCHROTRON "_diffrn_source.type" "SOLEIL BEAMLINE CRISTAL" SYNCHROTRON "_diffrn_source.type" "SPRING-8 BEAMLINE BL12B2" SYNCHROTRON "_diffrn_source.type" "SPRING-8 BEAMLINE BL24XU" SYNCHROTRON "_diffrn_source.type" "SPRING-8 BEAMLINE BL26B1" SYNCHROTRON "_diffrn_source.type" "SPRING-8 BEAMLINE BL26B2" SYNCHROTRON "_diffrn_source.type" "SPRING-8 BEAMLINE BL32B2" SYNCHROTRON "_diffrn_source.type" "SPRING-8 BEAMLINE BL32XU" SYNCHROTRON "_diffrn_source.type" "SPRING-8 BEAMLINE BL38B1" SYNCHROTRON "_diffrn_source.type" "SPRING-8 BEAMLINE BL40B2" SYNCHROTRON "_diffrn_source.type" "SPRING-8 BEAMLINE BL41XU" SYNCHROTRON "_diffrn_source.type" "SPRING-8 BEAMLINE BL44B2" SYNCHROTRON "_diffrn_source.type" "SPRING-8 BEAMLINE BL44XU" SYNCHROTRON "_diffrn_source.type" "SPRING-8 BEAMLINE BL45PX" SYNCHROTRON "_diffrn_source.type" "SPRING-8 BEAMLINE BL45XU" SYNCHROTRON "_diffrn_source.type" "SLRI BEAMLINE BL7.2W" SYNCHROTRON "_diffrn_source.type" "SRS BEAMLINE PX7.2" SYNCHROTRON "_diffrn_source.type" "SRS BEAMLINE PX9.5" SYNCHROTRON "_diffrn_source.type" "SRS BEAMLINE PX9.6" SYNCHROTRON "_diffrn_source.type" "SRS BEAMLINE PX10.1" SYNCHROTRON "_diffrn_source.type" "SRS BEAMLINE PX14.1" SYNCHROTRON "_diffrn_source.type" "SRS BEAMLINE PX14.2" SYNCHROTRON "_diffrn_source.type" "SSRF BEAMLINE BL02U1" SYNCHROTRON "_diffrn_source.type" "SSRF BEAMLINE BL10U2" SYNCHROTRON "_diffrn_source.type" "SSRF BEAMLINE BL17U" SYNCHROTRON "_diffrn_source.type" "SSRF BEAMLINE BL17U1" SYNCHROTRON "_diffrn_source.type" "SSRF BEAMLINE BL17B1" SYNCHROTRON "_diffrn_source.type" "SSRF BEAMLINE BL18U1" SYNCHROTRON "_diffrn_source.type" "SSRF BEAMLINE BL19U1" SYNCHROTRON "_diffrn_source.type" "SSRL BEAMLINE BL1-5" SYNCHROTRON "_diffrn_source.type" "SSRL BEAMLINE BL4-2" SYNCHROTRON "_diffrn_source.type" "SSRL BEAMLINE BL7-1" SYNCHROTRON "_diffrn_source.type" "SSRL BEAMLINE BL9-1" SYNCHROTRON "_diffrn_source.type" "SSRL BEAMLINE BL9-2" SYNCHROTRON "_diffrn_source.type" "SSRL BEAMLINE BL9-3" SYNCHROTRON "_diffrn_source.type" "SSRL BEAMLINE BL11-1" SYNCHROTRON "_diffrn_source.type" "SSRL BEAMLINE BL11-3" SYNCHROTRON "_diffrn_source.type" "SSRL BEAMLINE BL12-1" SYNCHROTRON "_diffrn_source.type" "SSRL BEAMLINE BL12-2" SYNCHROTRON "_diffrn_source.type" "SSRL BEAMLINE BL14-1" SYNCHROTRON "_diffrn_source.type" "SwissFEL ARAMIS BEAMLINE ESA" "FREE ELECTRON LASER" "_diffrn_source.type" "SwissFEL ARAMIS BEAMLINE ESB" "FREE ELECTRON LASER" "_diffrn_source.type" "SwissFEL ARAMIS BEAMLINE ESC" "FREE ELECTRON LASER" "_diffrn_source.type" "Xenocs GeniX 3D Cu HF" "SEALED TUBE" "_diffrn_source.type" OTHER . # save_ save__diffrn_source.voltage _item_description.description ; The voltage in kilovolts at which the radiation source was operated. ; _item.name '_diffrn_source.voltage' _item.category_id diffrn_source _item.mandatory_code no _item_aliases.alias_name '_diffrn_source_voltage' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code kilovolts save_ ########################### ## DIFFRN_STANDARD_REFLN ## ########################### save_diffrn_standard_refln _category.description ; Data items in the DIFFRN_STANDARD_REFLN category record details about the reflections treated as standards during the measurement of a set of diffraction intensities. Note that these are the individual standard reflections, not the results of the analysis of the standard reflections. ; _category.id diffrn_standard_refln _category.mandatory_code no loop_ _category_key.name '_diffrn_standard_refln.diffrn_id' '_diffrn_standard_refln.code' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; loop_ _diffrn_standard_refln.diffrn_id _diffrn_standard_refln.code _diffrn_standard_refln.index_h _diffrn_standard_refln.index_k _diffrn_standard_refln.index_l s1 1 3 2 4 s1 1 1 9 1 s1 1 3 0 10 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_standard_refln.code _item_description.description ; The code identifying a reflection measured as a standard reflection with the indices _diffrn_standard_refln.index_h, _diffrn_standard_refln.index_k and _diffrn_standard_refln.index_l. This is the same code as the _diffrn_refln.standard_code in the DIFFRN_REFLN list. ; loop_ _item.name _item.category_id _item.mandatory_code '_diffrn_standard_refln.code' diffrn_standard_refln yes '_diffrn_refln.standard_code' diffrn_refln yes _item_aliases.alias_name '_diffrn_standard_refln_code' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_linked.child_name _item_linked.parent_name '_diffrn_refln.standard_code' '_diffrn_standard_refln.code' _item_type.code code loop_ _item_examples.case '1' '2' 'c1' 'c2' save_ save__diffrn_standard_refln.diffrn_id _item_description.description ; This data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_diffrn_standard_refln.diffrn_id' _item.mandatory_code yes save_ save__diffrn_standard_refln.index_h _item_description.description ; Miller index h of a standard reflection used in the diffraction measurement process. ; _item.name '_diffrn_standard_refln.index_h' _item.category_id diffrn_standard_refln _item.mandatory_code yes _item_aliases.alias_name '_diffrn_standard_refln_index_h' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_standard_refln.index_k' '_diffrn_standard_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__diffrn_standard_refln.index_k _item_description.description ; Miller index k of a standard reflection used in the diffraction measurement process. ; _item.name '_diffrn_standard_refln.index_k' _item.category_id diffrn_standard_refln _item.mandatory_code yes _item_aliases.alias_name '_diffrn_standard_refln_index_k' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_standard_refln.index_h' '_diffrn_standard_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__diffrn_standard_refln.index_l _item_description.description ; Miller index l of a standard reflection used in the diffraction measurement process. ; _item.name '_diffrn_standard_refln.index_l' _item.category_id diffrn_standard_refln _item.mandatory_code yes _item_aliases.alias_name '_diffrn_standard_refln_index_l' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_diffrn_standard_refln.index_h' '_diffrn_standard_refln.index_k' _item_sub_category.id miller_index _item_type.code int save_ ###################### ## DIFFRN_STANDARDS ## ###################### save_diffrn_standards _category.description ; Data items in the DIFFRN_STANDARDS category record details about the set of standard reflections used to monitor intensity stability during the measurement of diffraction intensities. Note that these records describe properties common to the set of standard reflections, not the standard reflections themselves. ; _category.id diffrn_standards _category.mandatory_code no _category_key.name '_diffrn_standards.diffrn_id' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; _diffrn_standards.diffrn_id 's1' _diffrn_standards.number 3 _diffrn_standards.interval_time 120 _diffrn_standards.decay_% 0 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_standards.diffrn_id _item_description.description ; This data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_diffrn_standards.diffrn_id' _item.mandatory_code yes save_ save__diffrn_standards.decay_% _item_description.description ; The percentage decrease in the mean of the intensities for the set of standard reflections from the start of the measurement process to the end. This value usually affords a measure of the overall decay in crystal quality during the diffraction measurement process. Negative values are used in exceptional instances where the final intensities are greater than the initial ones. ; _item.name '_diffrn_standards.decay_%' _item.category_id diffrn_standards _item.mandatory_code no _item_aliases.alias_name '_diffrn_standards_decay_%' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 100.0 100.0 100.0 . _item_type.code float save_ save__diffrn_standards.interval_count _item_description.description ; The number of reflection intensities between the measurement of standard reflection intensities. ; _item.name '_diffrn_standards.interval_count' _item.category_id diffrn_standards _item.mandatory_code no _item_aliases.alias_name '_diffrn_standards_interval_count' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__diffrn_standards.interval_time _item_description.description ; The time in minutes between the measurement of standard reflection intensities. ; _item.name '_diffrn_standards.interval_time' _item.category_id diffrn_standards _item.mandatory_code no _item_aliases.alias_name '_diffrn_standards_interval_time' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code float _item_units.code minutes save_ save__diffrn_standards.number _item_description.description ; The number of unique standard reflections used during the measurement of the diffraction intensities. ; _item.name '_diffrn_standards.number' _item.category_id diffrn_standards _item.mandatory_code no _item_aliases.alias_name '_diffrn_standards_number' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__diffrn_standards.scale_sigma _item_description.description ; The standard uncertainty (estimated standard deviation) of the individual mean standard scales applied to the intensity data. ; _item.name '_diffrn_standards.scale_sigma' _item.category_id diffrn_standards _item.mandatory_code no _item_aliases.alias_name '_diffrn_standards_scale_sigma' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ ############ ## ENTITY ## ############ save_entity _category.description ; Data items in the ENTITY category record details (such as chemical composition, name and source) about the molecular entities that are present in the crystallographic structure. Items in the various ENTITY subcategories provide a full chemical description of these molecular entities. Entities are of three types: polymer, non-polymer and water. Note that the water category includes only water; ordered solvent such as sulfate ion or acetone would be described as individual non-polymer entities. The ENTITY category is specific to macromolecular CIF applications and replaces the function of the CHEMICAL category in the CIF core. It is important to remember that the ENTITY data are not the result of the crystallographic experiment; those results are represented by the ATOM_SITE data items. ENTITY data items describe the chemistry of the molecules under investigation and can most usefully be thought of as the ideal groups to which the structure is restrained or constrained during refinement. It is also important to remember that entities do not correspond directly to the enumeration of the contents of the asymmetric unit. Entities are described only once, even in those structures that contain multiple observations of an entity. The STRUCT_ASYM data items, which reference the entity list, describe and label the contents of the asymmetric unit. ; _category.id entity _category.mandatory_code no _category_key.name '_entity.id' loop_ _category_group.id 'inclusive_group' 'entity_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _entity.id _entity.type _entity.formula_weight _entity.details 1 polymer 10916 ; The enzymatically competent form of HIV protease is a dimer. This entity corresponds to one monomer of an active dimer. ; 2 non-polymer '762' . 3 water 18 . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__entity.details _item_description.description ; A description of special aspects of the entity. ; _item.name '_entity.details' _item.category_id entity _item.mandatory_code no _item_type.code text save_ save__entity.formula_weight _item_description.description ; Formula mass in daltons of the entity. ; _item.name '_entity.formula_weight' _item.category_id entity _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1.0 1.0 1.0 _item_type.code float save_ save__entity.id _item_description.description ; The value of _entity.id must uniquely identify a record in the ENTITY list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_entity.id' entity yes '_atom_site.label_entity_id' atom_site yes '_entity_keywords.entity_id' entity_keywords yes '_entity_link.entity_id_1' entity_link yes '_entity_link.entity_id_2' entity_link yes '_entity_name_com.entity_id' entity_name_com yes '_entity_name_sys.entity_id' entity_name_sys yes '_entity_poly.entity_id' entity_poly yes '_entity_poly_seq.entity_id' entity_poly_seq yes '_entity_src_gen.entity_id' entity_src_gen yes '_entity_src_nat.entity_id' entity_src_nat yes '_struct_asym.entity_id' struct_asym yes '_struct_ref.entity_id' struct_ref yes _item_type.code code loop_ _item_linked.child_name _item_linked.parent_name '_atom_site.label_entity_id' '_entity.id' '_entity_keywords.entity_id' '_entity.id' '_entity_link.entity_id_1' '_entity.id' '_entity_link.entity_id_2' '_entity.id' '_entity_name_com.entity_id' '_entity.id' '_entity_name_sys.entity_id' '_entity.id' '_entity_poly.entity_id' '_entity.id' '_entity_poly_seq.entity_id' '_entity_poly.entity_id' '_entity_src_gen.entity_id' '_entity.id' '_entity_src_nat.entity_id' '_entity.id' '_struct_asym.entity_id' '_entity.id' '_struct_ref.entity_id' '_entity.id' save_ save__entity.src_method _item_description.description ; The method by which the sample for the entity was produced. Entities isolated directly from natural sources (tissues, soil samples etc.) are expected to have further information in the ENTITY_SRC_NAT category. Entities isolated from genetically manipulated sources are expected to have further information in the ENTITY_SRC_GEN category. ; _item.name '_entity.src_method' _item.category_id entity _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail nat ; entity isolated from a natural source ; man ; entity isolated from a genetically manipulated source ; syn ; entity obtained synthetically ; _pdbx_item_description.name "_entity.src_method" _pdbx_item_description.description "The method by which the sample for the entity was produced" # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_entity.src_method" man . "_entity.src_method" nat . "_entity.src_method" syn . save_ save__entity.type _item_description.description ; Defines the type of the entity. Polymer entities are expected to have corresponding ENTITY_POLY and associated entries. Non-polymer entities are expected to have corresponding CHEM_COMP and associated entries. Water entities are not expected to have corresponding entries in the ENTITY category. ; _item.name '_entity.type' _item.category_id entity _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail polymer 'entity is a polymer' non-polymer 'entity is not a polymer' macrolide 'entity is a macrolide' water 'water in the solvent model' branched 'entity is branched' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_entity.type" macrolide . "_entity.type" non-polymer . "_entity.type" polymer . "_entity.type" branched . "_entity.type" water . # save_ ##################### ## ENTITY_KEYWORDS ## ##################### save_entity_keywords _category.description ; Data items in the ENTITY_KEYWORDS category specify keywords relevant to the molecular entities. Note that this list of keywords is separate from the list that is used for the STRUCT_BIOL data items and is intended to provide only the information that one would know about the molecular entity *if one did not know its structure*. Hence polypeptides are simply polypeptides, not cytokines or beta-alpha-barrels, and polyribonucleic acids are simply poly-RNA, not transfer- RNA. ; _category.id entity_keywords _category.mandatory_code no _category_key.name '_entity_keywords.entity_id' loop_ _category_group.id 'inclusive_group' 'entity_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _entity_keywords.entity_id _entity_keywords.text 2 'natural product, inhibitor, reduced peptide' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__entity_keywords.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_entity_keywords.entity_id' _item.mandatory_code yes save_ save__entity_keywords.text _item_description.description ; Keywords describing this entity. ; _item.name '_entity_keywords.text' _item.category_id entity_keywords _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'polypeptide' 'natural product' 'polysaccharide' save_ ################# ## ENTITY_LINK ## ################# save_entity_link _category.description ; Data items in the ENTITY_LINK category give details about the links between entities. ; _category.id entity_link _category.mandatory_code no _category_key.name '_entity_link.link_id' loop_ _category_group.id 'inclusive_group' 'chem_link_group' save_ save__entity_link.link_id _item_description.description ; This data item is a pointer to _chem_link.id in the CHEM_LINK category. ; _item.name '_entity_link.link_id' _item.mandatory_code yes save_ save__entity_link.details _item_description.description ; A description of special aspects of a link between chemical components in the structure. ; _item.name '_entity_link.details' _item.category_id entity_link _item.mandatory_code no _item_type.code text save_ save__entity_link.entity_id_1 _item_description.description ; The entity ID of the first of the two entities joined by the link. This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_entity_link.entity_id_1' _item.mandatory_code yes save_ save__entity_link.entity_id_2 _item_description.description ; The entity ID of the second of the two entities joined by the link. This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_entity_link.entity_id_2' _item.mandatory_code yes save_ save__entity_link.entity_seq_num_1 _item_description.description ; For a polymer entity, the sequence number in the first of the two entities containing the link. This data item is a pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_entity_link.entity_seq_num_1' _item.mandatory_code no save_ save__entity_link.entity_seq_num_2 _item_description.description ; For a polymer entity, the sequence number in the second of the two entities containing the link. This data item is a pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_entity_link.entity_seq_num_2' _item.mandatory_code no save_ ##################### ## ENTITY_NAME_COM ## ##################### save_entity_name_com _category.description ; Data items in the ENTITY_NAME_COM category record the common name or names associated with the entity. In some cases, the entity name may not be the same as the name of the biological structure. For example, haemoglobin alpha chain would be the entity common name, not haemoglobin. ; _category.id entity_name_com _category.mandatory_code no loop_ _category_key.name '_entity_name_com.entity_id' # '_entity_name_com.name' loop_ _category_group.id 'inclusive_group' 'entity_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _entity_name_com.entity_id _entity_name_com.name 1 'HIV-1 protease monomer' 1 'HIV-1 PR monomer' 2 'acetyl-pepstatin' 2 'acetyl-Ile-Val-Asp-Statine-Ala-Ile-Statine' 3 'water' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__entity_name_com.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_entity_name_com.entity_id' _item.mandatory_code yes save_ save__entity_name_com.name _item_description.description ; A common name for the entity. ; _item.name '_entity_name_com.name' _item.category_id entity_name_com _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'HIV protease monomer' 'hemoglobin alpha chain' '2-fluoro-1,4-dichloro benzene' 'arbutin' save_ ##################### ## ENTITY_NAME_SYS ## ##################### save_entity_name_sys _category.description ; Data items in the ENTITY_NAME_SYS category record the systematic name or names associated with the entity and the system that was used to construct the systematic name. In some cases, the entity name may not be the same as the name of the biological structure. ; _category.id entity_name_sys _category.mandatory_code no loop_ _category_key.name '_entity_name_sys.entity_id' # '_entity_name_sys.name' loop_ _category_group.id 'inclusive_group' 'entity_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _entity_name_sys.entity_id _entity_name_sys.name 1 'EC 3.4.23.16' 2 'acetyl-Ile-Val-Asp-Sta-Ala-Ile-Sta' 3 water ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__entity_name_sys.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_entity_name_sys.entity_id' _item.mandatory_code yes save_ save__entity_name_sys.name _item_description.description ; The systematic name for the entity. ; _item.name '_entity_name_sys.name' _item.category_id entity_name_sys _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'hydroquinone-beta-D-pyranoside' 'EC 2.1.1.1' '2-fluoro-1,4-dichlorobenzene' save_ save__entity_name_sys.system _item_description.description ; The system used to generate the systematic name of the entity. ; _item.name '_entity_name_sys.system' _item.category_id entity_name_sys _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Chemical Abstracts conventions' 'enzyme convention' 'Sigma catalog' save_ ################# ## ENTITY_POLY ## ################# save_entity_poly _category.description ; Data items in the ENTITY_POLY category record details about the polymer, such as the type of the polymer, the number of monomers and whether it has nonstandard features. ; _category.id entity_poly _category.mandatory_code no _category_key.name '_entity_poly.entity_id' loop_ _category_group.id 'inclusive_group' 'entity_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _entity_poly.entity_id _entity_poly.type _entity_poly.nstd_chirality _entity_poly.nstd_linkage _entity_poly.nstd_monomer _entity_poly.type_details 1 polypeptide(L) no no no . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__entity_poly.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_entity_poly.entity_id' _item.category_id entity_poly _item.mandatory_code yes _item_type.code code save_ save__entity_poly.nstd_chirality _item_description.description ; A flag to indicate whether the polymer contains at least one monomer unit with chirality different from that specified in _entity_poly.type. ; _item.name '_entity_poly.nstd_chirality' _item.category_id entity_poly _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no ; polymer contains no monomers with different chirality ; n ; abbreviation for "no" ; yes ; polymer contains at least one monomer with different chirality ; y ; abbreviation for "yes" ; save_ save__entity_poly.nstd_linkage _item_description.description ; A flag to indicate whether the polymer contains at least one monomer-to-monomer link different from that implied by _entity_poly.type. ; _item.name '_entity_poly.nstd_linkage' _item.category_id entity_poly _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no 'polymer contains no different links' n 'abbreviation for "no"' yes ; polymer contains at least one different link ; y 'abbreviation for "yes"' save_ save__entity_poly.nstd_monomer _item_description.description ; A flag to indicate whether the polymer contains at least one monomer that is not considered standard. ; _item.name '_entity_poly.nstd_monomer' _item.category_id entity_poly _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no 'polymer contains no nonstandard monomers' n 'abbreviation for "no"' yes ; polymer contains at least one nonstandard monomer ; y 'abbreviation for "yes"' save_ save__entity_poly.number_of_monomers _item_description.description ; The number of monomers in the polymer. ; _item.name '_entity_poly.number_of_monomers' _item.category_id entity_poly _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ save__entity_poly.type _item_description.description ; The type of the polymer. ; _item.name '_entity_poly.type' _item.category_id entity_poly _item.mandatory_code no _item_type.code line # _pdbx_item.name '_entity_poly.type' _pdbx_item.mandatory_code yes loop_ _item_enumeration.value 'polypeptide(D)' 'polypeptide(L)' 'polydeoxyribonucleotide' 'polyribonucleotide' 'polydeoxyribonucleotide/polyribonucleotide hybrid' 'cyclic-pseudo-peptide' 'peptide nucleic acid' 'other' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_entity_poly.type' cyclic-pseudo-peptide . '_entity_poly.type' other . '_entity_poly.type' polydeoxyribonucleotide . '_entity_poly.type' 'polydeoxyribonucleotide/polyribonucleotide hybrid' . '_entity_poly.type' polypeptide(D) . '_entity_poly.type' polypeptide(L) . '_entity_poly.type' polyribonucleotide . # save_ save__entity_poly.type_details _item_description.description ; A description of special aspects of the polymer type. ; _item.name '_entity_poly.type_details' _item.category_id entity_poly _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'monomer Ala 16 is a D-amino acid' 'the oligomer contains alternating RNA and DNA units' save_ ##################### ## ENTITY_POLY_SEQ ## ##################### save_entity_poly_seq _category.description ; Data items in the ENTITY_POLY_SEQ category specify the sequence of monomers in a polymer. Allowance is made for the possibility of microheterogeneity in a sample by allowing a given sequence number to be correlated with more than one monomer ID. The corresponding ATOM_SITE entries should reflect this heterogeneity. ; _category.id entity_poly_seq _category.mandatory_code no loop_ _category_key.name '_entity_poly_seq.entity_id' '_entity_poly_seq.num' '_entity_poly_seq.mon_id' loop_ _category_group.id 'inclusive_group' 'entity_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _entity_poly_seq.entity_id _entity_poly_seq.num _entity_poly_seq.mon_id 1 1 PRO 1 2 GLN 1 3 ILE 1 4 THR 1 5 LEU 1 6 TRP 1 7 GLN 1 8 ARG 1 9 PRO 1 10 LEU 1 11 VAL 1 12 THR 1 13 ILE 1 14 LYS 1 15 ILE 1 16 GLY 1 17 GLY 1 18 GLN 1 19 LEU 1 20 LYS 1 21 GLU 1 22 ALA 1 23 LEU 1 24 LEU 1 25 ASP # - - - - data truncated for brevity - - - - ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__entity_poly_seq.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_entity_poly_seq.entity_id' _item.category_id entity_poly_seq _item.mandatory_code yes _item_type.code code save_ save__entity_poly_seq.hetero _item_description.description ; A flag to indicate whether this monomer in the polymer is heterogeneous in sequence. ; _item.name '_entity_poly_seq.hetero' _item.category_id entity_poly_seq _item.mandatory_code no _item_default.value no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no 'sequence is not heterogeneous at this monomer' n 'abbreviation for "no"' yes 'sequence is heterogeneous at this monomer' y 'abbreviation for "yes"' save_ save__entity_poly_seq.mon_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_entity_poly_seq.mon_id' _item.category_id entity_poly_seq _item.mandatory_code yes _item_type.code ucode save_ save__entity_poly_seq.num _item_description.description ; The value of _entity_poly_seq.num must uniquely and sequentially identify a record in the ENTITY_POLY_SEQ list. Note that this item must be a number and that the sequence numbers must progress in increasing numerical order. ; loop_ _item.name _item.category_id _item.mandatory_code '_entity_poly_seq.num' entity_poly_seq yes '_atom_site.label_seq_id' atom_site yes '_entity_link.entity_seq_num_1' entity_link no '_entity_link.entity_seq_num_2' entity_link no '_geom_angle.atom_site_label_seq_id_1' geom_angle no '_geom_angle.atom_site_label_seq_id_2' geom_angle no '_geom_angle.atom_site_label_seq_id_3' geom_angle no '_geom_bond.atom_site_label_seq_id_1' geom_bond no '_geom_bond.atom_site_label_seq_id_2' geom_bond no '_geom_contact.atom_site_label_seq_id_1' geom_contact no '_geom_contact.atom_site_label_seq_id_2' geom_contact no '_geom_hbond.atom_site_label_seq_id_A' geom_hbond no '_geom_hbond.atom_site_label_seq_id_D' geom_hbond no '_geom_hbond.atom_site_label_seq_id_H' geom_hbond no '_geom_torsion.atom_site_label_seq_id_1' geom_torsion no '_geom_torsion.atom_site_label_seq_id_2' geom_torsion no '_geom_torsion.atom_site_label_seq_id_3' geom_torsion no '_geom_torsion.atom_site_label_seq_id_4' geom_torsion no '_struct_conf.beg_label_seq_id' struct_conf yes '_struct_conf.end_label_seq_id' struct_conf yes '_struct_conn.ptnr1_label_seq_id' struct_conn yes '_struct_conn.ptnr2_label_seq_id' struct_conn yes '_struct_mon_nucl.label_seq_id' struct_mon_nucl yes '_struct_mon_prot.label_seq_id' struct_mon_prot yes '_struct_mon_prot_cis.label_seq_id' struct_mon_prot_cis yes '_struct_ref_seq.seq_align_beg' struct_ref_seq yes '_struct_ref_seq.seq_align_end' struct_ref_seq yes '_struct_ref_seq_dif.seq_num' struct_ref_seq_dif no '_struct_sheet_hbond.range_1_beg_label_seq_id' struct_sheet_hbond yes '_struct_sheet_hbond.range_1_end_label_seq_id' struct_sheet_hbond yes '_struct_sheet_hbond.range_2_beg_label_seq_id' struct_sheet_hbond yes '_struct_sheet_hbond.range_2_end_label_seq_id' struct_sheet_hbond yes '_struct_sheet_range.beg_label_seq_id' struct_sheet_range yes '_struct_sheet_range.end_label_seq_id' struct_sheet_range yes '_struct_site_gen.label_seq_id' struct_site_gen yes loop_ _item_linked.child_name _item_linked.parent_name '_atom_site.label_seq_id' '_entity_poly_seq.num' '_entity_link.entity_seq_num_1' '_entity_poly_seq.num' '_entity_link.entity_seq_num_2' '_entity_poly_seq.num' '_geom_angle.atom_site_label_seq_id_1' '_atom_site.label_seq_id' '_geom_angle.atom_site_label_seq_id_2' '_atom_site.label_seq_id' '_geom_angle.atom_site_label_seq_id_3' '_atom_site.label_seq_id' '_geom_bond.atom_site_label_seq_id_1' '_atom_site.label_seq_id' '_geom_bond.atom_site_label_seq_id_2' '_atom_site.label_seq_id' '_geom_contact.atom_site_label_seq_id_1' '_atom_site.label_seq_id' '_geom_contact.atom_site_label_seq_id_2' '_atom_site.label_seq_id' '_geom_hbond.atom_site_label_seq_id_A' '_atom_site.label_seq_id' '_geom_hbond.atom_site_label_seq_id_D' '_atom_site.label_seq_id' '_geom_hbond.atom_site_label_seq_id_H' '_atom_site.label_seq_id' '_geom_torsion.atom_site_label_seq_id_1' '_atom_site.label_seq_id' '_geom_torsion.atom_site_label_seq_id_2' '_atom_site.label_seq_id' '_geom_torsion.atom_site_label_seq_id_3' '_atom_site.label_seq_id' '_geom_torsion.atom_site_label_seq_id_4' '_atom_site.label_seq_id' '_struct_conf.beg_label_seq_id' '_atom_site.label_seq_id' '_struct_conf.end_label_seq_id' '_atom_site.label_seq_id' '_struct_conn.ptnr1_label_seq_id' '_atom_site.label_seq_id' '_struct_conn.ptnr2_label_seq_id' '_atom_site.label_seq_id' '_struct_mon_nucl.label_seq_id' '_atom_site.label_seq_id' '_struct_mon_prot.label_seq_id' '_atom_site.label_seq_id' '_struct_mon_prot_cis.label_seq_id' '_atom_site.label_seq_id' '_struct_ref_seq.seq_align_beg' '_entity_poly_seq.num' '_struct_ref_seq.seq_align_end' '_entity_poly_seq.num' '_struct_ref_seq_dif.seq_num' '_entity_poly_seq.num' '_struct_sheet_hbond.range_1_beg_label_seq_id' '_atom_site.label_seq_id' '_struct_sheet_hbond.range_1_end_label_seq_id' '_atom_site.label_seq_id' '_struct_sheet_hbond.range_2_beg_label_seq_id' '_atom_site.label_seq_id' '_struct_sheet_hbond.range_2_end_label_seq_id' '_atom_site.label_seq_id' '_struct_sheet_range.beg_label_seq_id' '_atom_site.label_seq_id' '_struct_sheet_range.end_label_seq_id' '_atom_site.label_seq_id' '_struct_site_gen.label_seq_id' '_atom_site.label_seq_id' loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ #################### ## ENTITY_SRC_GEN ## #################### save__entity_src_gen.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_entity_src_gen.entity_id' _item.mandatory_code yes save_ save__entity_src_gen.gene_src_common_name _item_description.description ; The common name of the natural organism from which the gene was obtained. ; _item.name '_entity_src_gen.gene_src_common_name' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'man' 'yeast' 'bacteria' save_ save__entity_src_gen.gene_src_details _item_description.description ; A description of special aspects of the natural organism from which the gene was obtained. ; _item.name '_entity_src_gen.gene_src_details' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text save_ save__entity_src_gen.gene_src_genus _item_description.description ; The genus of the natural organism from which the gene was obtained. ; _item.name '_entity_src_gen.gene_src_genus' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Homo' 'Saccharomyces' 'Escherichia' save_ save__entity_src_gen.gene_src_species _item_description.description ; The species of the natural organism from which the gene was obtained. ; _item.name '_entity_src_gen.gene_src_species' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'sapiens' 'cerevisiae' 'coli' save_ save__entity_src_gen.gene_src_strain _item_description.description ; The strain of the natural organism from which the gene was obtained, if relevant. ; _item.name '_entity_src_gen.gene_src_strain' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'DH5a' 'BMH 71-18' save_ save__entity_src_gen.gene_src_tissue _item_description.description ; The tissue of the natural organism from which the gene was obtained. ; _item.name '_entity_src_gen.gene_src_tissue' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'heart' 'liver' 'eye lens' save_ save__entity_src_gen.gene_src_tissue_fraction _item_description.description ; The subcellular fraction of the tissue of the natural organism from which the gene was obtained. ; _item.name '_entity_src_gen.gene_src_tissue_fraction' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'mitochondria' 'nucleus' 'membrane' save_ #save__entity_src_gen.host_org_common_name # _item_description.description #; The common name of the organism that served as host for the # production of the entity. #; # _item.name '_entity_src_gen.host_org_common_name' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # loop_ # _item_examples.case 'yeast' # 'bacteria' # save_ #save__entity_src_gen.host_org_details # _item_description.description #; A description of special aspects of the organism that served as # host for the production of the entity. #; # _item.name '_entity_src_gen.host_org_details' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # save_ save__entity_src_gen.host_org_genus _item_description.description ; The genus of the organism that served as host for the production of the entity. ; _item.name '_entity_src_gen.host_org_genus' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Saccharomyces' 'Escherichia' save_ save__entity_src_gen.host_org_species _item_description.description ; The species of the organism that served as host for the production of the entity. ; _item.name '_entity_src_gen.host_org_species' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'cerevisiae' 'coli' save_ #save__entity_src_gen.host_org_strain # _item_description.description #; The strain of the organism that served as host for the # production of the entity. #; # _item.name '_entity_src_gen.host_org_strain' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # loop_ # _item_examples.case 'DH5a' # 'BMH 71-18' # save_ #save__entity_src_gen.plasmid_details # _item_description.description #; A description of special aspects of the plasmid that produced the # entity in the host organism. #; # _item.name '_entity_src_gen.plasmid_details' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # save_ #save__entity_src_gen.plasmid_name # _item_description.description #; The name of the plasmid that produced the entity in the host # organism. #; # _item.name '_entity_src_gen.plasmid_name' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # loop_ # _item_examples.case 'pET3C' # 'pT123sab' # save_ #################### ## ENTITY_SRC_NAT ## #################### save__entity_src_nat.common_name _item_description.description ; The common name of the organism from which the entity was isolated. ; _item.name '_entity_src_nat.common_name' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'man' 'yeast' 'bacteria' save_ save__entity_src_nat.details _item_description.description ; A description of special aspects of the organism from which the entity was isolated. ; _item.name '_entity_src_nat.details' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text save_ save__entity_src_nat.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_entity_src_nat.entity_id' _item.mandatory_code yes save_ save__entity_src_nat.genus _item_description.description ; The genus of the organism from which the entity was isolated. ; _item.name '_entity_src_nat.genus' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Homo' 'Saccharomyces' 'Escherichia' save_ save__entity_src_nat.species _item_description.description ; The species of the organism from which the entity was isolated. ; _item.name '_entity_src_nat.species' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'sapiens' 'cerevisiae' 'coli' save_ save__entity_src_nat.strain _item_description.description ; The strain of the organism from which the entity was isolated. ; _item.name '_entity_src_nat.strain' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'DH5a' 'BMH 71-18' save_ save__entity_src_nat.tissue _item_description.description ; The tissue of the organism from which the entity was isolated. ; _item.name '_entity_src_nat.tissue' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'heart' 'liver' 'eye lens' save_ save__entity_src_nat.tissue_fraction _item_description.description ; The subcellular fraction of the tissue of the organism from which the entity was isolated. ; _item.name '_entity_src_nat.tissue_fraction' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'mitochondria' 'nucleus' 'membrane' save_ ########### ## ENTRY ## ########### save_entry _category.description ; There is only one item in the ENTRY category, _entry.id. This data item gives a name to this entry and is indirectly a key to the categories (such as CELL, GEOM, EXPTL) that describe information pertinent to the entire data block. ; _category.id entry _category.mandatory_code no _category_key.name '_entry.id' loop_ _category_group.id 'inclusive_group' 'entry_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _entry.id '5HVP' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; _entry.id 'TOZ' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__entry.id _item_description.description ; The value of _entry.id identifies the data block. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_entry.id' entry yes '_atom_sites.entry_id' atom_sites yes '_cell.entry_id' cell yes '_cell_measurement.entry_id' cell_measurement yes '_chemical.entry_id' chemical yes '_chemical_formula.entry_id' chemical_formula yes '_computing.entry_id' computing yes '_database.entry_id' database yes '_database_PDB_matrix.entry_id' database_PDB_matrix yes '_entry_link.entry_id' entry_link yes '_exptl.entry_id' exptl yes '_geom.entry_id' geom yes '_journal.entry_id' journal yes '_phasing_averaging.entry_id' phasing_averaging yes '_phasing_isomorphous.entry_id' phasing_isomorphous yes '_phasing_MAD.entry_id' phasing_MAD yes '_phasing_MIR.entry_id' phasing_MIR yes '_publ.entry_id' publ yes '_publ_manuscript_incl.entry_id' publ_manuscript_incl yes '_refine.entry_id' refine yes '_refine_analyze.entry_id' refine_analyze yes '_reflns.entry_id' reflns yes '_struct.entry_id' struct yes '_struct_keywords.entry_id' struct_keywords yes '_struct_mon_details.entry_id' struct_mon_details yes '_symmetry.entry_id' symmetry yes _item_aliases.alias_name '_audit_block_code' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_linked.child_name _item_linked.parent_name '_atom_sites.entry_id' '_entry.id' '_cell.entry_id' '_entry.id' '_cell_measurement.entry_id' '_entry.id' '_chemical.entry_id' '_entry.id' '_chemical_formula.entry_id' '_entry.id' '_computing.entry_id' '_entry.id' '_database.entry_id' '_entry.id' '_database_PDB_matrix.entry_id' '_entry.id' '_entry_link.entry_id' '_entry.id' '_exptl.entry_id' '_entry.id' '_geom.entry_id' '_entry.id' '_journal.entry_id' '_entry.id' '_phasing_averaging.entry_id' '_entry.id' '_phasing_isomorphous.entry_id' '_entry.id' '_phasing_MAD.entry_id' '_entry.id' '_phasing_MIR.entry_id' '_entry.id' '_publ.entry_id' '_entry.id' '_publ_manuscript_incl.entry_id' '_entry.id' '_refine.entry_id' '_entry.id' '_refine_analyze.entry_id' '_entry.id' '_reflns.entry_id' '_entry.id' '_struct.entry_id' '_entry.id' '_struct_keywords.entry_id' '_entry.id' '_struct_mon_details.entry_id' '_entry.id' '_symmetry.entry_id' '_entry.id' _item_type.code code save_ save_entry_link _category.description ; Data items in the ENTRY_LINK category record the relationships between the current data block identified by _entry.id and other data blocks within the current file which may be referenced in the current data block. ; _category.id entry_link _category.mandatory_code no loop_ _category_key.name '_entry_link.id' '_entry_link.entry_id' loop_ _category_group.id 'inclusive_group' 'entry_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - example file for the one-dimensional incommensurately modulated structure of K~2~SeO~4~. ; ; loop_ _entry_link.id _entry_link.entry_id _entry_link.details KSE_COM KSE_TEXT 'experimental data common to ref./mod. structures' KSE_REF KSE_TEXT 'reference structure' KSE_MOD KSE_TEXT 'modulated structure' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__entry_link.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_entry_link.entry_id' _item.mandatory_code yes save_ save__entry_link.id _item_description.description ; The value of _entry_link.id identifies a data block related to the current data block. ; _item.name '_entry_link.id' _item.category_id entry_link _item.mandatory_code yes _item_aliases.alias_name '_audit_link_block_code' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code code save_ save__entry_link.details _item_description.description ; A description of the relationship between the data blocks identified by _entry_link.id and _entry_link.entry_id. ; _item.name '_entry_link.details' _item.category_id entry_link _item.mandatory_code no _item_aliases.alias_name '_audit_link_block_description' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ ########### ## EXPTL ## ########### save_exptl _category.description ; Data items in the EXPTL category record details about the experimental work prior to the intensity measurements and details about the absorption-correction technique employed. ; _category.id exptl _category.mandatory_code no loop_ _category_key.name '_exptl.entry_id' '_exptl.method' loop_ _category_group.id 'inclusive_group' 'exptl_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for Yb(S-C5H4N)2(THF)4. ; ; _exptl.entry_id datablock1 _exptl.absorpt_coefficient_mu 1.22 _exptl.absorpt_correction_T_max 0.896 _exptl.absorpt_correction_T_min 0.802 _exptl.absorpt_correction_type integration _exptl.absorpt_process_details ; Gaussian grid method from SHELX76 Sheldrick, G. M., "SHELX-76: structure determination and refinement program", Cambridge University, UK, 1976 ; _exptl.crystals_number 1 _exptl.details ; Enraf-Nonius LT2 liquid nitrogen variable-temperature device used ; _exptl.method 'single-crystal x-ray diffraction' _exptl.method_details ; graphite monochromatized Cu K(alpha) fixed tube and Enraf-Nonius CAD4 diffractometer used ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__exptl.absorpt_coefficient_mu _item_description.description ; The absorption coefficient mu in reciprocal millimetres calculated from the atomic content of the cell, the density and the radiation wavelength. ; _item.name '_exptl.absorpt_coefficient_mu' _item.category_id exptl _item.mandatory_code no _item_aliases.alias_name '_exptl_absorpt_coefficient_mu' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code reciprocal_millimetres save_ save__exptl.absorpt_correction_T_max _item_description.description ; The maximum transmission factor for the crystal and radiation. The maximum and minimum transmission factors are also referred to as the absorption correction A or 1/A*. ; _item.name '_exptl.absorpt_correction_T_max' _item.category_id exptl _item.mandatory_code no _item_aliases.alias_name '_exptl_absorpt_correction_T_max' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 1.0 1.0 1.0 0.0 0.0 0.0 _item_type.code float save_ save__exptl.absorpt_correction_T_min _item_description.description ; The minimum transmission factor for the crystal and radiation. The maximum and minimum transmission factors are also referred to as the absorption correction A or 1/A*. ; _item.name '_exptl.absorpt_correction_T_min' _item.category_id exptl _item.mandatory_code no _item_aliases.alias_name '_exptl_absorpt_correction_T_min' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 1.0 1.0 1.0 0.0 0.0 0.0 _item_type.code float save_ save__exptl.absorpt_correction_type _item_description.description ; The absorption correction type and method. The value 'empirical' should NOT be used unless more detailed information is not available. ; _item.name '_exptl.absorpt_correction_type' _item.category_id exptl _item.mandatory_code no _item_aliases.alias_name '_exptl_absorpt_correction_type' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail analytical 'analytical from crystal shape' cylinder 'cylindrical' empirical 'empirical from intensities' gaussian 'Gaussian from crystal shape' integration 'integration from crystal shape' multi-scan 'symmetry-related measurements' none 'no correction applied' numerical 'numerical from crystal shape' psi-scan 'psi-scan corrections' refdelf 'refined from delta-F' sphere 'spherical' save_ save__exptl.absorpt_process_details _item_description.description ; Description of the absorption process applied to the intensities. A literature reference should be supplied for psi-scan techniques. ; _item.name '_exptl.absorpt_process_details' _item.category_id exptl _item.mandatory_code no _item_aliases.alias_name '_exptl_absorpt_process_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'Tompa analytical' save_ save__exptl.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_exptl.entry_id' _item.mandatory_code yes save_ save__exptl.crystals_number _item_description.description ; The total number of crystals used in the measurement of intensities. ; _item.name '_exptl.crystals_number' _item.category_id exptl _item.mandatory_code no _pdbx_item_description.name "_exptl.crystals_number" _pdbx_item_description.description "Indicate the number of crystals used in your experiments" _item_aliases.alias_name '_exptl_crystals_number' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ save__exptl.details _item_description.description ; Any special information about the experimental work prior to the intensity measurement. See also _exptl_crystal.preparation. ; _item.name '_exptl.details' _item.category_id exptl _item.mandatory_code no _item_aliases.alias_name '_exptl_special_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__exptl.method _item_description.description ; The method used in the experiment. ; _item.name '_exptl.method' _item.category_id exptl _item.mandatory_code yes _item_type.code line _pdbx_item_description.name "_exptl.method" _pdbx_item_description.description "The method(s) used in the experiment" loop_ _item_examples.case 'X-RAY DIFFRACTION' 'NEUTRON DIFFRACTION' 'FIBER DIFFRACTION' 'ELECTRON CRYSTALLOGRAPHY' 'ELECTRON MICROSCOPY' 'SOLUTION NMR' 'SOLID-STATE NMR' 'SOLUTION SCATTERING' 'POWDER DIFFRACTION' loop_ _item_enumeration.value _item_enumeration.detail _item_enumeration.pdbx_value_display 'X-RAY DIFFRACTION' . 'X-ray Diffraction' 'NEUTRON DIFFRACTION' . 'Neutron Diffraction' 'FIBER DIFFRACTION' . 'Fiber Diffraction' 'ELECTRON CRYSTALLOGRAPHY' . 'Electron Crystallography' 'ELECTRON MICROSCOPY' . 'Electron Microscopy' 'SOLUTION NMR' . 'Solution NMR' 'SOLID-STATE NMR' . 'Solid-state NMR' 'SOLUTION SCATTERING' . 'Solution Scattering' 'POWDER DIFFRACTION' . 'Powder Diffraction' 'INFRARED SPECTROSCOPY' 'IR and FTIR only as supporting methods' 'Infrared Spectrocsopy' 'EPR' 'EPR only as a supporting method' 'EPR' 'FLUORESCENCE TRANSFER' 'FLUORESCENCE TRANSFER only as a supporting method' 'Fluorescence Transfer' 'THEORETICAL MODEL' 'THEORETICAL MODEL only as a supporting method' 'Theoretical Model' save_ save__exptl.method_details _item_description.description ; A description of special aspects of the experimental method. ; _item.name '_exptl.method_details' _item.category_id exptl _item.mandatory_code no _item_type.code text loop_ _item_examples.case '29 structures' 'minimized average structure' save_ ################### ## EXPTL_CRYSTAL ## ################### save_exptl_crystal _category.description ; Data items in the EXPTL_CRYSTAL category record the results of experimental measurements on the crystal or crystals used, such as shape, size or density. ; _category.id exptl_crystal _category.mandatory_code no _category_key.name '_exptl_crystal.id' loop_ _category_group.id 'inclusive_group' 'exptl_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for Yb(S-C5H4N)2(THF)4. ; ; _exptl_crystal.id xst2l _exptl_crystal.colour 'pale yellow' _exptl_crystal.density_diffrn 1.113 _exptl_crystal.density_Matthews 1.01 _exptl_crystal.density_meas 1.11 _exptl_crystal.density_meas_temp 294.5 _exptl_crystal.density_method 'neutral buoyancy' _exptl_crystal.density_percent_sol 0.15 # P = 1 - (1.23*N*MMass) / V _exptl_crystal.description 'hexagonal rod, uncut' _exptl_crystal.F_000 202 _exptl_crystal.preparation ; hanging drop, crystal soaked in 10% ethylene glycol for 10 h, then placed in nylon loop at data collection time ; _exptl_crystal.size_max 0.30 _exptl_crystal.size_mid 0.20 _exptl_crystal.size_min 0.05 _exptl_crystal.size_rad 0.025 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - using separate items to define upper and lower limits for a value. ; ; _exptl_crystal.id xst2l _exptl_crystal.density_meas_gt 2.5 _exptl_crystal.density_meas_lt 5.0 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 3 - here the density was measured at some unspecified temperature below room temperature. ; ; _exptl_crystal.id xst2l _exptl_crystal.density_meas_temp_lt 300 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__exptl_crystal.colour _item_description.description ; The colour of the crystal. ; _item.name '_exptl_crystal.colour' _item.category_id exptl_crystal _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_colour' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line _item_examples.case 'dark green' save_ save__exptl_crystal.density_diffrn _item_description.description ; Density values calculated from the crystal cell and contents. The units are megagrams per cubic metre (grams per cubic centimetre). ; _item.name '_exptl_crystal.density_diffrn' _item.category_id exptl_crystal _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_density_diffrn' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__exptl_crystal.density_Matthews _item_description.description ; The density of the crystal, expressed as the ratio of the volume of the asymmetric unit to the molecular mass of a monomer of the structure, in units of angstroms^3^ per dalton. Ref: Matthews, B. W. (1968). J. Mol. Biol. 33, 491-497. ; _item.name '_exptl_crystal.density_Matthews' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code float _pdbx_item_description.name "_exptl_crystal.density_Matthews" _pdbx_item_description.description "Vm/M : Vm= unit cell volume and M= total molecular weight of molecules/cell" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_exptl_crystal.density_Matthews" 1.5 1.5 "_exptl_crystal.density_Matthews" 1.5 5.6 "_exptl_crystal.density_Matthews" 5.6 5.6 # save_ #save__exptl_crystal.density_meas # _item_description.description #; Density values measured using standard chemical and physical # methods. The units are megagrams per cubic metre (grams per # cubic centimetre). #; # _item.name '_exptl_crystal.density_meas' # _item.category_id exptl_crystal # _item.mandatory_code no # _item_aliases.alias_name '_exptl_crystal_density_meas' # _item_aliases.dictionary cif_core.dic # _item_aliases.version 2.0.1 # loop_ # _item_range.maximum # _item_range.minimum . 0.0 # 0.0 0.0 # _item_type.code float # save_ # #save__exptl_crystal.density_meas_temp # _item_description.description #; The temperature in kelvins at which _exptl_crystal.density_meas # was determined. #; # _item.name '_exptl_crystal.density_meas_temp' # _item.category_id exptl_crystal # _item.mandatory_code no # _item_aliases.alias_name '_exptl_crystal_density_meas_temp' # _item_aliases.dictionary cif_core.dic # _item_aliases.version 2.0.1 # loop_ # _item_range.maximum # _item_range.minimum . 0.0 # 0.0 0.0 # _item_type.code float # _item_units.code kelvins # save_ save__exptl_crystal.density_method _item_description.description ; The method used to measure _exptl_crystal.density_meas. ; _item.name '_exptl_crystal.density_method' _item.category_id exptl_crystal _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_density_method' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__exptl_crystal.density_percent_sol _item_description.description ; Density value P calculated from the crystal cell and contents, expressed as per cent solvent. P = 1 - (1.23 N MMass) / V N = the number of molecules in the unit cell MMass = the molecular mass of each molecule (gm/mole) V = the volume of the unit cell (A^3^) 1.23 = a conversion factor evaluated as: (0.74 cm^3^/g) (10^24^ A^3^/cm^3^) -------------------------------------- (6.02*10^23^) molecules/mole where 0.74 is an assumed value for the partial specific volume of the molecule ; _item.name '_exptl_crystal.density_percent_sol' _item.category_id exptl_crystal _item.mandatory_code no _pdbx_item_description.name "_exptl_crystal.density_percent_sol" _pdbx_item_description.description "Percent solvent content of cell" loop_ _item_range.maximum _item_range.minimum 100.0 0.0 0.0 0.0 100.0 100.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_exptl_crystal.density_percent_sol" 15 15 "_exptl_crystal.density_percent_sol" 15 80 "_exptl_crystal.density_percent_sol" 80 80 # _item_type.code float save_ save__exptl_crystal.description _item_description.description ; A description of the quality and habit of the crystal. The crystal dimensions should not normally be reported here; use instead the specific items in the EXPTL_CRYSTAL category relating to size for the gross dimensions of the crystal and data items in the EXPTL_CRYSTAL_FACE category to describe the relationship between individual faces. ; _item.name '_exptl_crystal.description' _item.category_id exptl_crystal _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_description' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__exptl_crystal.F_000 _item_description.description ; The effective number of electrons in the crystal unit cell contributing to F(000). This may contain dispersion contributions and is calculated as F(000) = [ sum (f~r~^2^ + f~i~^2^) ]^1/2^ f~r~ = real part of the scattering factors at theta = 0 degree f~i~ = imaginary part of the scattering factors at theta = 0 degree the sum is taken over each atom in the unit cell ; _item.name '_exptl_crystal.F_000' _item.category_id exptl_crystal _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_F_000' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ save__exptl_crystal.id _item_description.description ; The value of _exptl_crystal.id must uniquely identify a record in the EXPTL_CRYSTAL list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_exptl_crystal.id' exptl_crystal yes '_exptl_crystal_face.crystal_id' exptl_crystal_face yes '_exptl_crystal_grow.crystal_id' exptl_crystal_grow yes '_exptl_crystal_grow_comp.crystal_id' exptl_crystal_grow_comp yes '_diffrn.crystal_id' diffrn yes '_refln.crystal_id' refln no _item_aliases.alias_name '_exptl_crystal_id' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_linked.child_name _item_linked.parent_name '_diffrn.crystal_id' '_exptl_crystal.id' '_exptl_crystal_grow.crystal_id' '_exptl_crystal.id' '_exptl_crystal_face.crystal_id' '_exptl_crystal.id' '_exptl_crystal_grow_comp.crystal_id' '_exptl_crystal.id' '_refln.crystal_id' '_exptl_crystal.id' _item_type.code code save_ save__exptl_crystal.preparation _item_description.description ; Details of crystal growth and preparation of the crystal (e.g. mounting) prior to the intensity measurements. ; _item.name '_exptl_crystal.preparation' _item.category_id exptl_crystal _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_preparation' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'mounted in an argon-filled quartz capillary' save_ save__exptl_crystal.size_max _item_description.description ; The maximum dimension of the crystal. This item may appear in a list with _exptl_crystal.id if multiple crystals are used in the experiment. ; _item.name '_exptl_crystal.size_max' _item.category_id exptl_crystal _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_size_max' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code millimetres save_ save__exptl_crystal.size_mid _item_description.description ; The medial dimension of the crystal. This item may appear in a list with _exptl_crystal.id if multiple crystals are used in the experiment. ; _item.name '_exptl_crystal.size_mid' _item.category_id exptl_crystal _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_size_mid' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code millimetres save_ save__exptl_crystal.size_min _item_description.description ; The minimum dimension of the crystal. This item may appear in a list with _exptl_crystal.id if multiple crystals are used in the experiment. ; _item.name '_exptl_crystal.size_min' _item.category_id exptl_crystal _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_size_min' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code millimetres save_ save__exptl_crystal.size_rad _item_description.description ; The radius of the crystal, if the crystal is a sphere or a cylinder. This item may appear in a list with _exptl_crystal.id if multiple crystals are used in the experiment. ; _item.name '_exptl_crystal.size_rad' _item.category_id exptl_crystal _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_size_rad' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code millimetres save_ ######################## ## EXPTL_CRYSTAL_FACE ## ######################## save_exptl_crystal_face _category.description ; Data items in the EXPTL_CRYSTAL_FACE category record details of the crystal faces. ; _category.id exptl_crystal_face _category.mandatory_code no loop_ _category_key.name '_exptl_crystal_face.crystal_id' '_exptl_crystal_face.index_h' '_exptl_crystal_face.index_k' '_exptl_crystal_face.index_l' loop_ _category_group.id 'inclusive_group' 'exptl_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for Yb(S-C5H4N)2(THF)4 for the 100 face of crystal xstl1. ; ; _exptl_crystal_face.crystal_id xstl1 _exptl_crystal_face.index_h 1 _exptl_crystal_face.index_k 0 _exptl_crystal_face.index_l 0 _exptl_crystal_face.diffr_chi 42.56 _exptl_crystal_face.diffr_kappa 30.23 _exptl_crystal_face.diffr_phi -125.56 _exptl_crystal_face.diffr_psi -0.34 _exptl_crystal_face.perp_dist 0.025 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__exptl_crystal_face.crystal_id _item_description.description ; This data item is a pointer to _exptl_crystal.id in the EXPTL_CRYSTAL category. ; _item.name '_exptl_crystal_face.crystal_id' _item.mandatory_code yes save_ save__exptl_crystal_face.diffr_chi _item_description.description ; The chi diffractometer setting angle in degrees for a specific crystal face associated with _exptl_crystal_face.perp_dist. ; _item.name '_exptl_crystal_face.diffr_chi' _item.category_id exptl_crystal_face _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_face_diffr_chi' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code degrees save_ save__exptl_crystal_face.diffr_kappa _item_description.description ; The kappa diffractometer setting angle in degrees for a specific crystal face associated with _exptl_crystal_face.perp_dist. ; _item.name '_exptl_crystal_face.diffr_kappa' _item.category_id exptl_crystal_face _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_face_diffr_kappa' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code degrees save_ save__exptl_crystal_face.diffr_phi _item_description.description ; The phi diffractometer setting angle in degrees for a specific crystal face associated with _exptl_crystal_face.perp_dist. ; _item.name '_exptl_crystal_face.diffr_phi' _item.category_id exptl_crystal_face _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_face_diffr_phi' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code degrees save_ save__exptl_crystal_face.diffr_psi _item_description.description ; The psi diffractometer setting angle in degrees for a specific crystal face associated with _exptl_crystal_face.perp_dist. ; _item.name '_exptl_crystal_face.diffr_psi' _item.category_id exptl_crystal_face _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_face_diffr_psi' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code degrees save_ save__exptl_crystal_face.index_h _item_description.description ; Miller index h of the crystal face associated with the value _exptl_crystal_face.perp_dist. ; _item.name '_exptl_crystal_face.index_h' _item.category_id exptl_crystal_face _item.mandatory_code yes _item_aliases.alias_name '_exptl_crystal_face_index_h' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_exptl_crystal_face.index_k' '_exptl_crystal_face.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__exptl_crystal_face.index_k _item_description.description ; Miller index k of the crystal face associated with the value _exptl_crystal_face.perp_dist. ; _item.name '_exptl_crystal_face.index_k' _item.category_id exptl_crystal_face _item.mandatory_code yes _item_aliases.alias_name '_exptl_crystal_face_index_k' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_exptl_crystal_face.index_h' '_exptl_crystal_face.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__exptl_crystal_face.index_l _item_description.description ; Miller index l of the crystal face associated with the value _exptl_crystal_face.perp_dist. ; _item.name '_exptl_crystal_face.index_l' _item.category_id exptl_crystal_face _item.mandatory_code yes _item_aliases.alias_name '_exptl_crystal_face_index_l' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_exptl_crystal_face.index_h' '_exptl_crystal_face.index_k' _item_sub_category.id miller_index _item_type.code int save_ save__exptl_crystal_face.perp_dist _item_description.description ; The perpendicular distance in millimetres from the face to the centre of rotation of the crystal. ; _item.name '_exptl_crystal_face.perp_dist' _item.category_id exptl_crystal_face _item.mandatory_code no _item_aliases.alias_name '_exptl_crystal_face_perp_dist' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code millimetres save_ ######################## ## EXPTL_CRYSTAL_GROW ## ######################## save_exptl_crystal_grow _category.description ; Data items in the EXPTL_CRYSTAL_GROW category record details about the conditions and methods used to grow the crystal. ; _category.id exptl_crystal_grow _category.mandatory_code no _category_key.name '_exptl_crystal_grow.crystal_id' loop_ _category_group.id 'inclusive_group' 'exptl_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _exptl_crystal_grow.crystal_id 1 _exptl_crystal_grow.method 'VAPOR DIFFUSION, HANGING DROP' _exptl_crystal_grow.apparatus 'Linbro plates' _exptl_crystal_grow.atmosphere 'room air' _exptl_crystal_grow.pH 4.7 _exptl_crystal_grow.temp 291 _exptl_crystal_grow.time 'approximately 2 days' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__exptl_crystal_grow.apparatus _item_description.description ; The physical apparatus in which the crystal was grown. ; _item.name '_exptl_crystal_grow.apparatus' _item.category_id exptl_crystal_grow _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Linbro plate' 'sandwich box' 'ACA plates' save_ save__exptl_crystal_grow.atmosphere _item_description.description ; The nature of the gas or gas mixture in which the crystal was grown. ; _item.name '_exptl_crystal_grow.atmosphere' _item.category_id exptl_crystal_grow _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'room air' 'nitrogen' 'argon' save_ save__exptl_crystal_grow.crystal_id _item_description.description ; This data item is a pointer to _exptl_crystal.id in the EXPTL_CRYSTAL category. ; _item.name '_exptl_crystal_grow.crystal_id' _item.mandatory_code yes save_ save__exptl_crystal_grow.details _item_description.description ; A description of special aspects of the crystal growth. ; _item.name '_exptl_crystal_grow.details' _item.category_id exptl_crystal_grow _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; Solution 2 was prepared as a well solution and mixed. A droplet containing 2 \ml of solution 1 was delivered onto a cover slip; 2 \ml of solution 2 was added to the droplet without mixing. ; ; Crystal plates were originally stored at room temperature for 1 week but no nucleation occurred. They were then transferred to 4 degrees C, at which temperature well formed single crystals grew in 2 days. ; ; The dependence on pH for successful crystal growth is very sharp. At pH 7.4 only showers of tiny crystals grew, at pH 7.5 well formed single crystals grew, at pH 7.6 no crystallization occurred at all. ; save_ save__exptl_crystal_grow.method _item_description.description ; The method used to grow the crystals. ; _item.name '_exptl_crystal_grow.method' _item.category_id exptl_crystal_grow _item.mandatory_code no _item_type.code text _pdbx_item.name "_exptl_crystal_grow.method" _pdbx_item.mandatory_code yes loop_ _item_examples.case 'MICROBATCH' 'VAPOR DIFFUSION, HANGING DROP' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_exptl_crystal_grow.method" "BATCH MODE" . "_exptl_crystal_grow.method" "COUNTER-DIFFUSION" . "_exptl_crystal_grow.method" EVAPORATION . "_exptl_crystal_grow.method" "EVAPORATION, RECRYSTALLIZATION" . "_exptl_crystal_grow.method" "IN CELL" . "_exptl_crystal_grow.method" "LIPIDIC CUBIC PHASE" . "_exptl_crystal_grow.method" "LIQUID DIFFUSION" . "_exptl_crystal_grow.method" MICROBATCH . "_exptl_crystal_grow.method" MICRODIALYSIS . "_exptl_crystal_grow.method" MICROFLUIDIC . "_exptl_crystal_grow.method" "SLOW COOLING" . "_exptl_crystal_grow.method" "SMALL TUBES" . "_exptl_crystal_grow.method" "VAPOR DIFFUSION" . "_exptl_crystal_grow.method" "VAPOR DIFFUSION, HANGING DROP" . "_exptl_crystal_grow.method" "VAPOR DIFFUSION, SITTING DROP" . # save_ save__exptl_crystal_grow.method_ref _item_description.description ; A literature reference that describes the method used to grow the crystals. ; _item.name '_exptl_crystal_grow.method_ref' _item.category_id exptl_crystal_grow _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'McPherson et al., 1988' save_ save__exptl_crystal_grow.pH _item_description.description ; The pH at which the crystal was grown. If more than one pH was employed during the crystallization process, the final pH should be noted here and the protocol involving multiple pH values should be described in _exptl_crystal_grow.details. ; _item.name '_exptl_crystal_grow.pH' _item.category_id exptl_crystal_grow _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 14.0 0.0 0.0 0.0 14.0 14.0 _item_type.code float loop_ _item_examples.case 7.4 7.6 4.3 _pdbx_item_description.name "_exptl_crystal_grow.pH" _pdbx_item_description.description "Provide the pH of the buffer used in crystallization" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_exptl_crystal_grow.pH" 3.5 3.5 "_exptl_crystal_grow.pH" 3.5 10 "_exptl_crystal_grow.pH" 10 10 # save_ save__exptl_crystal_grow.pressure _item_description.description ; The ambient pressure in kilopascals at which the crystal was grown. ; _item.name '_exptl_crystal_grow.pressure' _item.category_id exptl_crystal_grow _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_exptl_crystal_grow.pressure_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code kilopascals save_ save__exptl_crystal_grow.pressure_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _exptl_crystal_grow.pressure. ; _item.name '_exptl_crystal_grow.pressure_esd' _item.category_id exptl_crystal_grow _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_exptl_crystal_grow.pressure' _item_related.function_code associated_value _item_type.code float _item_units.code kilopascals save_ save__exptl_crystal_grow.seeding _item_description.description ; A description of the protocol used for seeding the crystal growth. ; _item.name '_exptl_crystal_grow.seeding' _item.category_id exptl_crystal_grow _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'macroseeding' ; Microcrystals were introduced from a previous crystal growth experiment by transfer with a human hair. ; save_ save__exptl_crystal_grow.seeding_ref _item_description.description ; A literature reference that describes the protocol used to seed the crystal. ; _item.name '_exptl_crystal_grow.seeding_ref' _item.category_id exptl_crystal_grow _item.mandatory_code no _item_type.code text _item_examples.case 'Stura et al., 1989' save_ save__exptl_crystal_grow.temp _item_description.description ; The temperature in kelvins at which the crystal was grown. If more than one temperature was employed during the crystallization process, the final temperature should be noted here and the protocol involving multiple temperatures should be described in _exptl_crystal_grow.details. ; _item.name '_exptl_crystal_grow.temp' _item.category_id exptl_crystal_grow _item.mandatory_code no _pdbx_item.name "_exptl_crystal_grow.temp" _pdbx_item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_exptl_crystal_grow.temp" 277 277 "_exptl_crystal_grow.temp" 277 316 "_exptl_crystal_grow.temp" 316 316 _item_related.related_name '_exptl_crystal_grow.temp_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code kelvins save_ save__exptl_crystal_grow.temp_details _item_description.description ; A description of special aspects of temperature control during crystal growth. ; _item.name '_exptl_crystal_grow.temp_details' _item.category_id exptl_crystal_grow _item.mandatory_code no _item_type.code text save_ save__exptl_crystal_grow.temp_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _exptl_crystal_grow.temp. ; _item.name '_exptl_crystal_grow.temp_esd' _item.category_id exptl_crystal_grow _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_exptl_crystal_grow.temp' _item_related.function_code associated_value _item_type.code float _item_units.code kelvins save_ save__exptl_crystal_grow.time _item_description.description ; The approximate time that the crystal took to grow to the size used for data collection. ; _item.name '_exptl_crystal_grow.time' _item.category_id exptl_crystal_grow _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'overnight' '2-4 days' '6 months' save_ ############################# ## EXPTL_CRYSTAL_GROW_COMP ## ############################# save_exptl_crystal_grow_comp _category.description ; Data items in the EXPTL_CRYSTAL_GROW_COMP category record details about the components of the solutions that were 'mixed' (by whatever means) to produce the crystal. In general, solution 1 is the solution that contains the molecule to be crystallized and solution 2 is the solution that contains the precipitant. However, the number of solutions required to describe the crystallization protocol is not limited to 2. Details of the crystallization protocol should be given in _exptl_crystal_grow_comp.details using the solutions described in EXPTL_CRYSTAL_GROW_COMP. ; _category.id exptl_crystal_grow_comp _category.mandatory_code no loop_ _category_key.name '_exptl_crystal_grow_comp.id' '_exptl_crystal_grow_comp.crystal_id' loop_ _category_group.id 'inclusive_group' 'exptl_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _exptl_crystal_grow_comp.crystal_id _exptl_crystal_grow_comp.id _exptl_crystal_grow_comp.sol_id _exptl_crystal_grow_comp.name _exptl_crystal_grow_comp.volume _exptl_crystal_grow_comp.conc _exptl_crystal_grow_comp.details 1 1 1 'HIV-1 protease' '0.002 ml' '6 mg/ml' ; The protein solution was in a buffer containing 25 mM NaCl, 100 mM NaMES/ MES buffer, pH 7.5, 3 mM NaAzide ; 1 2 2 'NaCl' '0.200 ml' '4 M' 'in 3 mM NaAzide' 1 3 2 'Acetic Acid' '0.047 ml' '100 mM' 'in 3 mM NaAzide' 1 4 2 'Na Acetate' '0.053 ml' '100 mM' ; in 3 mM NaAzide. Buffer components were mixed to produce a pH of 4.7 according to a ratio calculated from the pKa. The actual pH of solution 2 was not measured. ; 1 5 2 'water' '0.700 ml' 'neat' 'in 3 mM NaAzide' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__exptl_crystal_grow_comp.conc _item_description.description ; The concentration of the solution component. ; _item.name '_exptl_crystal_grow_comp.conc' _item.category_id exptl_crystal_grow_comp _item.mandatory_code no _item_type.code line loop_ _item_examples.case '200 \ml' '0.1 ml' save_ save__exptl_crystal_grow_comp.details _item_description.description ; A description of any special aspects of the solution component. When the solution component is the one that contains the macromolecule, this could be the specification of the buffer in which the macromolecule was stored. When the solution component is a buffer component, this could be the methods (or formula) used to achieve a desired pH. ; _item.name '_exptl_crystal_grow_comp.details' _item.category_id exptl_crystal_grow_comp _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'in 3 mM NaAzide' ; The protein solution was in a buffer containing 25 mM NaCl, 100 mM NaMES/MES buffer, pH 7.5, 3 mM NaAzide ; ; in 3 mM NaAzide. Buffer components were mixed to produce a pH of 4.7 according to a ratio calculated from the pKa. The actual pH of solution 2 was not measured. ; save_ save__exptl_crystal_grow_comp.crystal_id _item_description.description ; This data item is a pointer to _exptl_crystal.id in the EXPTL_CRYSTAL category. ; _item.name '_exptl_crystal_grow_comp.crystal_id' _item.mandatory_code yes save_ save__exptl_crystal_grow_comp.id _item_description.description ; The value of _exptl_crystal_grow_comp.id must uniquely identify each item in the EXPTL_CRYSTAL_GROW_COMP list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_exptl_crystal_grow_comp.id' _item.category_id exptl_crystal_grow_comp _item.mandatory_code yes _item_type.code line loop_ _item_examples.case '1' 'A' 'protein in buffer' save_ save__exptl_crystal_grow_comp.name _item_description.description ; A common name for the component of the solution. ; _item.name '_exptl_crystal_grow_comp.name' _item.category_id exptl_crystal_grow_comp _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'protein in buffer' 'acetic acid' save_ save__exptl_crystal_grow_comp.sol_id _item_description.description ; An identifier for the solution to which the given solution component belongs. ; _item.name '_exptl_crystal_grow_comp.sol_id' _item.category_id exptl_crystal_grow_comp _item.mandatory_code no _item_type.code line loop_ _item_examples.case '1' 'well solution' 'solution A' save_ save__exptl_crystal_grow_comp.volume _item_description.description ; The volume of the solution component. ; _item.name '_exptl_crystal_grow_comp.volume' _item.category_id exptl_crystal_grow_comp _item.mandatory_code no _item_type.code line loop_ _item_examples.case '200 \ml' '0.1 ml' save_ ########## ## GEOM ## ########## save_geom _category.description ; Data items in the GEOM and related (GEOM_ANGLE, GEOM_BOND, GEOM_CONTACT, GEOM_HBOND and GEOM_TORSION) categories record details about the molecular geometry as calculated from the contents of the ATOM, CELL and SYMMETRY data. Geometry data are therefore redundant, in that they can be calculated from other more fundamental quantities in the data block. However, they provide a check on the correctness of both sets of data and enable the most important geometric data to be identified for publication by setting the appropriate publication flag. ; _category.id geom _category.mandatory_code no _category_key.name '_geom.entry_id' loop_ _category_group.id 'inclusive_group' 'geom_group' save_ save__geom.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_geom.entry_id' _item.mandatory_code yes save_ save__geom.details _item_description.description ; A description of geometry not covered by the existing data names in the GEOM categories, such as least-squares planes. ; _item.name '_geom.details' _item.category_id geom _item.mandatory_code no _item_aliases.alias_name '_geom_special_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ ################ ## GEOM_ANGLE ## ################ save_geom_angle _category.description ; Data items in the GEOM_ANGLE category record details about the bond angles as calculated from the contents of the ATOM, CELL and SYMMETRY data. ; _category.id geom_angle _category.mandatory_code no loop_ _category_key.name '_geom_angle.atom_site_id_1' '_geom_angle.atom_site_id_2' '_geom_angle.atom_site_id_3' '_geom_angle.site_symmetry_1' '_geom_angle.site_symmetry_2' '_geom_angle.site_symmetry_3' loop_ _category_group.id 'inclusive_group' 'geom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; loop_ _geom_angle.atom_site_id_1 _geom_angle.atom_site_id_2 _geom_angle.atom_site_id_3 _geom_angle.value _geom_angle.value_esd _geom_angle.site_symmetry_1 _geom_angle.site_symmetry_2 _geom_angle.site_symmetry_3 _geom_angle.publ_flag C2 O1 C5 111.6 0.2 1_555 1_555 1_555 yes O1 C2 C3 110.9 0.2 1_555 1_555 1_555 yes O1 C2 O21 122.2 0.3 1_555 1_555 1_555 yes C3 C2 O21 127.0 0.3 1_555 1_555 1_555 yes C2 C3 N4 101.3 0.2 1_555 1_555 1_555 yes C2 C3 C31 111.3 0.2 1_555 1_555 1_555 yes C2 C3 H3 107 1 1_555 1_555 1_555 no N4 C3 C31 116.7 0.2 1_555 1_555 1_555 yes # - - - - data truncated for brevity - - - - ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__geom_angle.atom_site_id_1 _item_description.description ; The identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_id_1' _item.mandatory_code yes _item_aliases.alias_name '_geom_angle_atom_site_label_1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_geom_angle.atom_site_id_2' '_geom_angle.atom_site_id_3' save_ save__geom_angle.atom_site_label_alt_id_1 _item_description.description ; An optional identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_alt_id_1' _item.mandatory_code no save_ save__geom_angle.atom_site_label_atom_id_1 _item_description.description ; An optional identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_atom_id_1' _item.mandatory_code no save_ save__geom_angle.atom_site_label_comp_id_1 _item_description.description ; An optional identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_comp_id_1' _item.mandatory_code no save_ save__geom_angle.atom_site_label_seq_id_1 _item_description.description ; An optional identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_seq_id_1' _item.mandatory_code no save_ save__geom_angle.atom_site_label_asym_id_1 _item_description.description ; An optional identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_asym_id_1' _item.mandatory_code no save_ save__geom_angle.atom_site_id_2 _item_description.description ; The identifier of the second of the three atom sites that define the angle. The second atom is taken to be the apex of the angle. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_id_2' _item.mandatory_code yes _item_aliases.alias_name '_geom_angle_atom_site_label_2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_geom_angle.atom_site_id_1' '_geom_angle.atom_site_id_3' save_ save__geom_angle.atom_site_label_alt_id_2 _item_description.description ; An optional identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_alt_id_2' _item.mandatory_code no save_ save__geom_angle.atom_site_label_atom_id_2 _item_description.description ; An optional identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_atom_id_2' _item.mandatory_code no save_ save__geom_angle.atom_site_label_comp_id_2 _item_description.description ; An optional identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_comp_id_2' _item.mandatory_code no save_ save__geom_angle.atom_site_label_seq_id_2 _item_description.description ; An optional identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_seq_id_2' _item.mandatory_code no save_ save__geom_angle.atom_site_label_asym_id_2 _item_description.description ; An optional identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_asym_id_2' _item.mandatory_code no save_ save__geom_angle.atom_site_id_3 _item_description.description ; The identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_id_3' _item.mandatory_code yes _item_aliases.alias_name '_geom_angle_atom_site_label_3' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_geom_angle.atom_site_id_1' '_geom_angle.atom_site_id_2' save_ save__geom_angle.atom_site_label_alt_id_3 _item_description.description ; An optional identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_alt_id_3' _item.mandatory_code no save_ save__geom_angle.atom_site_label_atom_id_3 _item_description.description ; An optional identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_atom_id_3' _item.mandatory_code no save_ save__geom_angle.atom_site_label_comp_id_3 _item_description.description ; An optional identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_comp_id_3' _item.mandatory_code no save_ save__geom_angle.atom_site_label_seq_id_3 _item_description.description ; An optional identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_seq_id_3' _item.mandatory_code no save_ save__geom_angle.atom_site_label_asym_id_3 _item_description.description ; An optional identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_label_asym_id_3' _item.mandatory_code no save_ save__geom_angle.atom_site_auth_asym_id_1 _item_description.description ; An optional identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_auth_asym_id_1' _item.mandatory_code no save_ save__geom_angle.atom_site_auth_atom_id_1 _item_description.description ; An optional identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_auth_atom_id_1' _item.mandatory_code no save_ save__geom_angle.atom_site_auth_comp_id_1 _item_description.description ; An optional identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_auth_comp_id_1' _item.mandatory_code no save_ save__geom_angle.atom_site_auth_seq_id_1 _item_description.description ; An optional identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_auth_seq_id_1' _item.mandatory_code no save_ save__geom_angle.atom_site_auth_atom_id_2 _item_description.description ; An optional identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_auth_atom_id_2' _item.mandatory_code no save_ save__geom_angle.atom_site_auth_asym_id_2 _item_description.description ; An optional identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_auth_asym_id_2' _item.mandatory_code no save_ save__geom_angle.atom_site_auth_comp_id_2 _item_description.description ; An optional identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_auth_comp_id_2' _item.mandatory_code no save_ save__geom_angle.atom_site_auth_seq_id_2 _item_description.description ; An optional identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_auth_seq_id_2' _item.mandatory_code no save_ save__geom_angle.atom_site_auth_atom_id_3 _item_description.description ; An optional identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_auth_atom_id_3' _item.mandatory_code no save_ save__geom_angle.atom_site_auth_asym_id_3 _item_description.description ; An optional identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_auth_asym_id_3' _item.mandatory_code no save_ save__geom_angle.atom_site_auth_comp_id_3 _item_description.description ; An optional identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_auth_comp_id_3' _item.mandatory_code no save_ save__geom_angle.atom_site_auth_seq_id_3 _item_description.description ; An optional identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_angle.atom_site_auth_seq_id_3' _item.mandatory_code no save_ save__geom_angle.publ_flag _item_description.description ; This code signals whether the angle is referred to in a publication or should be placed in a table of significant angles. ; _item.name '_geom_angle.publ_flag' _item.category_id geom_angle _item.mandatory_code no _item_aliases.alias_name '_geom_angle_publ_flag' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no 'do not include angle in special list' n 'abbreviation for "no"' yes 'do include angle in special list' y 'abbreviation for "yes"' save_ save__geom_angle.site_symmetry_1 _item_description.description ; The symmetry code of the first of the three atom sites that define the angle. ; _item.name '_geom_angle.site_symmetry_1' _item.category_id geom_angle _item.mandatory_code yes _item_aliases.alias_name '_geom_angle_site_symmetry_1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__geom_angle.site_symmetry_2 _item_description.description ; The symmetry code of the second of the three atom sites that define the angle. ; _item.name '_geom_angle.site_symmetry_2' _item.category_id geom_angle _item.mandatory_code yes _item_aliases.alias_name '_geom_angle_site_symmetry_2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__geom_angle.site_symmetry_3 _item_description.description ; The symmetry code of the third of the three atom sites that define the angle. ; _item.name '_geom_angle.site_symmetry_3' _item.category_id geom_angle _item.mandatory_code yes _item_aliases.alias_name '_geom_angle_site_symmetry_3' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__geom_angle.value _item_description.description ; Angle in degrees defined by the three sites _geom_angle.atom_site_id_1, _geom_angle.atom_site_id_2 and _geom_angle.atom_site_id_3. ; _item.name '_geom_angle.value' _item.category_id geom_angle _item.mandatory_code no _item_aliases.alias_name '_geom_angle' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_related.related_name '_geom_angle.value_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code degrees save_ save__geom_angle.value_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _geom_angle.value. ; _item.name '_geom_angle.value_esd' _item.category_id geom_angle _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_geom_angle.value' _item_related.function_code associated_value _item_type.code float _item_units.code degrees save_ ############### ## GEOM_BOND ## ############### save_geom_bond _category.description ; Data items in the GEOM_BOND category record details about the bond lengths as calculated from the contents of the ATOM, CELL and SYMMETRY data. ; _category.id geom_bond _category.mandatory_code no loop_ _category_key.name '_geom_bond.atom_site_id_1' '_geom_bond.atom_site_id_2' '_geom_bond.site_symmetry_1' '_geom_bond.site_symmetry_2' loop_ _category_group.id 'inclusive_group' 'geom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; loop_ _geom_bond.atom_site_id_1 _geom_bond.atom_site_id_2 _geom_bond.dist _geom_bond.dist_esd _geom_bond.site_symmetry_1 _geom_bond.site_symmetry_2 _geom_bond.publ_flag O1 C2 1.342 0.004 1_555 1_555 yes O1 C5 1.439 0.003 1_555 1_555 yes C2 C3 1.512 0.004 1_555 1_555 yes C2 O21 1.199 0.004 1_555 1_555 yes C3 N4 1.465 0.003 1_555 1_555 yes C3 C31 1.537 0.004 1_555 1_555 yes C3 H3 1.00 0.03 1_555 1_555 no N4 C5 1.472 0.003 1_555 1_555 yes # - - - - data truncated for brevity - - - - ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__geom_bond.atom_site_id_1 _item_description.description ; The identifier of the first of the two atom sites that define the bond. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_id_1' _item.mandatory_code yes _item_aliases.alias_name '_geom_bond_atom_site_label_1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_dependent.dependent_name '_geom_bond.atom_site_id_2' save_ save__geom_bond.atom_site_label_alt_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the bond. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_label_alt_id_1' _item.mandatory_code no save_ save__geom_bond.atom_site_label_atom_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the bond. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_label_atom_id_1' _item.mandatory_code no save_ save__geom_bond.atom_site_label_comp_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the bond. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_label_comp_id_1' _item.mandatory_code no save_ save__geom_bond.atom_site_label_seq_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the bond. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_label_seq_id_1' _item.mandatory_code no save_ save__geom_bond.atom_site_label_asym_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the bond. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_label_asym_id_1' _item.mandatory_code no save_ save__geom_bond.atom_site_id_2 _item_description.description ; The identifier of the second of the two atom sites that define the bond. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_id_2' _item.mandatory_code yes _item_aliases.alias_name '_geom_bond_atom_site_label_2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_dependent.dependent_name '_geom_bond.atom_site_id_1' save_ save__geom_bond.atom_site_label_alt_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the bond. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_label_alt_id_2' _item.mandatory_code no save_ save__geom_bond.atom_site_label_atom_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the bond. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_label_atom_id_2' _item.mandatory_code no save_ save__geom_bond.atom_site_label_comp_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the bond. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_label_comp_id_2' _item.mandatory_code no save_ save__geom_bond.atom_site_label_seq_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the bond. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_label_seq_id_2' _item.mandatory_code no save_ save__geom_bond.atom_site_label_asym_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the bond. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_label_asym_id_2' _item.mandatory_code no save_ save__geom_bond.atom_site_auth_atom_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the bond. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_auth_atom_id_1' _item.mandatory_code no save_ save__geom_bond.atom_site_auth_asym_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the bond. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_auth_asym_id_1' _item.mandatory_code no save_ save__geom_bond.atom_site_auth_comp_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the bond. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_auth_comp_id_1' _item.mandatory_code no save_ save__geom_bond.atom_site_auth_seq_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the bond. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_auth_seq_id_1' _item.mandatory_code no save_ save__geom_bond.atom_site_auth_atom_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the bond. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_auth_atom_id_2' _item.mandatory_code no save_ save__geom_bond.atom_site_auth_asym_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the bond. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_auth_asym_id_2' _item.mandatory_code no save_ save__geom_bond.atom_site_auth_comp_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the bond. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_auth_comp_id_2' _item.mandatory_code no save_ save__geom_bond.atom_site_auth_seq_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the bond. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_bond.atom_site_auth_seq_id_2' _item.mandatory_code no save_ save__geom_bond.dist _item_description.description ; The intramolecular bond distance in angstroms. ; _item.name '_geom_bond.dist' _item.category_id geom_bond _item.mandatory_code no _item_aliases.alias_name '_geom_bond_distance' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_geom_bond.dist_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__geom_bond.dist_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _geom_bond.dist. ; _item.name '_geom_bond.dist_esd' _item.category_id geom_bond _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_geom_bond.dist' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms save_ save__geom_bond.publ_flag _item_description.description ; This code signals whether the bond distance is referred to in a publication or should be placed in a list of significant bond distances. ; _item.name '_geom_bond.publ_flag' _item.category_id geom_bond _item.mandatory_code no _item_aliases.alias_name '_geom_bond_publ_flag' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no 'do not include bond in special list' n 'abbreviation for "no"' yes 'do include bond in special list' y 'abbreviation for "yes"' save_ save__geom_bond.site_symmetry_1 _item_description.description ; The symmetry code of the first of the two atom sites that define the bond. ; _item.name '_geom_bond.site_symmetry_1' _item.category_id geom_bond _item.mandatory_code yes _item_aliases.alias_name '_geom_bond_site_symmetry_1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__geom_bond.site_symmetry_2 _item_description.description ; The symmetry code of the second of the two atom sites that define the bond. ; _item.name '_geom_bond.site_symmetry_2' _item.category_id geom_bond _item.mandatory_code yes _item_aliases.alias_name '_geom_bond_site_symmetry_2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ ################## ## GEOM_CONTACT ## ################## save_geom_contact _category.description ; Data items in the GEOM_CONTACT category record details about interatomic contacts as calculated from the contents of the ATOM, CELL and SYMMETRY data. ; _category.id geom_contact _category.mandatory_code no loop_ _category_key.name '_geom_contact.atom_site_id_1' '_geom_contact.atom_site_id_2' '_geom_contact.site_symmetry_1' '_geom_contact.site_symmetry_2' loop_ _category_group.id 'inclusive_group' 'geom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on data set CLPHO6 of Ferguson, Ruhl, McKervey & Browne [Acta Cryst. (1992), C48, 2262-2264]. ; ; loop_ _geom_contact.atom_site_id_1 _geom_contact.atom_site_id_2 _geom_contact.dist _geom_contact.dist_esd _geom_contact.site_symmetry_1 _geom_contact.site_symmetry_2 _geom_contact.publ_flag O(1) O(2) 2.735 0.003 1_555 1_555 yes H(O1) O(2) 1.82 . 1_555 1_555 no ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__geom_contact.atom_site_id_1 _item_description.description ; The identifier of the first of the two atom sites that define the contact. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_id_1' _item.mandatory_code yes _item_aliases.alias_name '_geom_contact_atom_site_label_1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_dependent.dependent_name '_geom_contact.atom_site_id_2' save_ save__geom_contact.atom_site_label_alt_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the contact. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_label_alt_id_1' _item.mandatory_code no save_ save__geom_contact.atom_site_label_atom_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the contact. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_label_atom_id_1' _item.mandatory_code no save_ save__geom_contact.atom_site_label_comp_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the contact. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_label_comp_id_1' _item.mandatory_code no save_ save__geom_contact.atom_site_label_seq_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the contact. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_label_seq_id_1' _item.mandatory_code no save_ save__geom_contact.atom_site_label_asym_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the contact. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_label_asym_id_1' _item.mandatory_code no save_ save__geom_contact.atom_site_id_2 _item_description.description ; The identifier of the second of the two atom sites that define the contact. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_id_2' _item.mandatory_code yes _item_aliases.alias_name '_geom_contact_atom_site_label_2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_dependent.dependent_name '_geom_contact.atom_site_id_1' save_ save__geom_contact.atom_site_label_alt_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the contact. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_label_alt_id_2' _item.mandatory_code no save_ save__geom_contact.atom_site_label_atom_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the contact. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_label_atom_id_2' _item.mandatory_code no save_ save__geom_contact.atom_site_label_comp_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the contact. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_label_comp_id_2' _item.mandatory_code no save_ save__geom_contact.atom_site_label_seq_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the contact. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_label_seq_id_2' _item.mandatory_code no save_ save__geom_contact.atom_site_label_asym_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the contact. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_label_asym_id_2' _item.mandatory_code no save_ save__geom_contact.atom_site_auth_atom_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the contact. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_auth_atom_id_1' _item.mandatory_code no save_ save__geom_contact.atom_site_auth_asym_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the contact. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_auth_asym_id_1' _item.mandatory_code no save_ save__geom_contact.atom_site_auth_comp_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the contact. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_auth_comp_id_1' _item.mandatory_code no save_ save__geom_contact.atom_site_auth_seq_id_1 _item_description.description ; An optional identifier of the first of the two atom sites that define the contact. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_auth_seq_id_1' _item.mandatory_code no save_ save__geom_contact.atom_site_auth_atom_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the contact. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_auth_atom_id_2' _item.mandatory_code no save_ save__geom_contact.atom_site_auth_asym_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the contact. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_auth_asym_id_2' _item.mandatory_code no save_ save__geom_contact.atom_site_auth_comp_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the contact. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_auth_comp_id_2' _item.mandatory_code no save_ save__geom_contact.atom_site_auth_seq_id_2 _item_description.description ; An optional identifier of the second of the two atom sites that define the contact. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_contact.atom_site_auth_seq_id_2' _item.mandatory_code no save_ save__geom_contact.dist _item_description.description ; The interatomic contact distance in angstroms. ; _item.name '_geom_contact.dist' _item.category_id geom_contact _item.mandatory_code no _item_aliases.alias_name '_geom_contact_distance' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_geom_contact.dist_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__geom_contact.dist_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _geom_contact.dist. ; _item.name '_geom_contact.dist_esd' _item.category_id geom_contact _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_geom_contact.dist' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms save_ save__geom_contact.publ_flag _item_description.description ; This code signals whether the contact distance is referred to in a publication or should be placed in a list of significant contact distances. ; _item.name '_geom_contact.publ_flag' _item.category_id geom_contact _item.mandatory_code no _item_aliases.alias_name '_geom_contact_publ_flag' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no 'do not include distance in special list' n 'abbreviation for "no"' yes 'do include distance in special list' y 'abbreviation for "yes"' save_ save__geom_contact.site_symmetry_1 _item_description.description ; The symmetry code of the first of the two atom sites that define the contact. ; _item.name '_geom_contact.site_symmetry_1' _item.category_id geom_contact _item.mandatory_code yes _item_aliases.alias_name '_geom_contact_site_symmetry_1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__geom_contact.site_symmetry_2 _item_description.description ; The symmetry code of the second of the two atom sites that define the contact. ; _item.name '_geom_contact.site_symmetry_2' _item.category_id geom_contact _item.mandatory_code yes _item_aliases.alias_name '_geom_contact_site_symmetry_2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ ################ ## GEOM_HBOND ## ################ save_geom_hbond _category.description ; Data items in the GEOM_HBOND category record details about hydrogen bonds as calculated from the contents of the ATOM, CELL and SYMMETRY data. ; _category.id geom_hbond _category.mandatory_code no loop_ _category_key.name '_geom_hbond.atom_site_id_A' '_geom_hbond.atom_site_id_D' '_geom_hbond.atom_site_id_H' '_geom_hbond.site_symmetry_A' '_geom_hbond.site_symmetry_D' '_geom_hbond.site_symmetry_H' loop_ _category_group.id 'inclusive_group' 'geom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on C~14~H~13~ClN~2~O.H~2~O, reported by Palmer, Puddle & Lisgarten [Acta Cryst. (1993), C49, 1777-1779]. ; ; loop_ _geom_hbond.atom_site_id_D _geom_hbond.atom_site_id_H _geom_hbond.atom_site_id_A _geom_hbond.dist_DH _geom_hbond.dist_HA _geom_hbond.dist_DA _geom_hbond.angle_DHA _geom_hbond.publ_flag N6 HN6 OW 0.888 1.921 2.801 169.6 yes OW HO2 O7 0.917 1.923 2.793 153.5 yes OW HO1 N10 0.894 1.886 2.842 179.7 yes ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__geom_hbond.angle_DHA _item_description.description ; The angle in degrees defined by the donor-, hydrogen- and acceptor-atom sites in a hydrogen bond. ; _item.name '_geom_hbond.angle_DHA' _item.category_id geom_hbond _item.mandatory_code no _item_aliases.alias_name '_geom_hbond_angle_DHA' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_geom_hbond.angle_DHA_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__geom_hbond.angle_DHA_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _geom_hbond.angle_DHA. ; _item.name '_geom_hbond.angle_DHA_esd' _item.category_id geom_hbond _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_geom_hbond.angle_DHA' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms save_ save__geom_hbond.atom_site_id_A _item_description.description ; The identifier of the acceptor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_id_A' _item.mandatory_code yes _item_aliases.alias_name '_geom_hbond_atom_site_label_A' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_geom_hbond.atom_site_id_D' '_geom_hbond.atom_site_id_H' save_ save__geom_hbond.atom_site_label_alt_id_A _item_description.description ; An optional identifier of the acceptor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_alt_id_A' _item.mandatory_code no save_ save__geom_hbond.atom_site_label_asym_id_A _item_description.description ; An optional identifier of the acceptor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_asym_id_A' _item.mandatory_code no save_ save__geom_hbond.atom_site_label_atom_id_A _item_description.description ; An optional identifier of the acceptor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_atom_id_A' _item.mandatory_code no save_ save__geom_hbond.atom_site_label_comp_id_A _item_description.description ; An optional identifier of the acceptor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_comp_id_A' _item.mandatory_code no save_ save__geom_hbond.atom_site_label_seq_id_A _item_description.description ; An optional identifier of the acceptor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_seq_id_A' _item.mandatory_code no save_ save__geom_hbond.atom_site_id_D _item_description.description ; The identifier of the donor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_id_D' _item.mandatory_code yes _item_aliases.alias_name '_geom_hbond_atom_site_label_D' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_geom_hbond.atom_site_id_A' '_geom_hbond.atom_site_id_H' save_ save__geom_hbond.atom_site_label_alt_id_D _item_description.description ; An optional identifier of the donor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_alt_id_D' _item.mandatory_code no save_ save__geom_hbond.atom_site_label_asym_id_D _item_description.description ; An optional identifier of the donor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_asym_id_D' _item.mandatory_code no save_ save__geom_hbond.atom_site_label_atom_id_D _item_description.description ; An optional identifier of the donor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_atom_id_D' _item.mandatory_code no save_ save__geom_hbond.atom_site_label_comp_id_D _item_description.description ; An optional identifier of the donor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_comp_id_D' _item.mandatory_code no save_ save__geom_hbond.atom_site_label_seq_id_D _item_description.description ; An optional identifier of the donor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_seq_id_D' _item.mandatory_code no save_ save__geom_hbond.atom_site_id_H _item_description.description ; The identifier of the hydrogen-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_id_H' _item.mandatory_code yes _item_aliases.alias_name '_geom_hbond_atom_site_label_H' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_geom_hbond.atom_site_id_A' '_geom_hbond.atom_site_id_D' save_ save__geom_hbond.atom_site_label_alt_id_H _item_description.description ; An optional identifier of the hydrogen-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_alt_id_H' _item.mandatory_code no save_ save__geom_hbond.atom_site_label_asym_id_H _item_description.description ; An optional identifier of the hydrogen-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_asym_id_H' _item.mandatory_code no save_ save__geom_hbond.atom_site_label_atom_id_H _item_description.description ; An optional identifier of the hydrogen-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_atom_id_H' _item.mandatory_code no save_ save__geom_hbond.atom_site_label_comp_id_H _item_description.description ; An optional identifier of the hydrogen-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_comp_id_H' _item.mandatory_code no save_ save__geom_hbond.atom_site_label_seq_id_H _item_description.description ; An optional identifier of the hydrogen-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_label_seq_id_H' _item.mandatory_code no save_ save__geom_hbond.atom_site_auth_asym_id_A _item_description.description ; An optional identifier of the acceptor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_auth_asym_id_A' _item.mandatory_code no save_ save__geom_hbond.atom_site_auth_atom_id_A _item_description.description ; An optional identifier of the acceptor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_auth_atom_id_A' _item.mandatory_code no save_ save__geom_hbond.atom_site_auth_comp_id_A _item_description.description ; An optional identifier of the acceptor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_auth_comp_id_A' _item.mandatory_code no save_ save__geom_hbond.atom_site_auth_seq_id_A _item_description.description ; An optional identifier of the acceptor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_auth_seq_id_A' _item.mandatory_code no save_ save__geom_hbond.atom_site_auth_asym_id_D _item_description.description ; An optional identifier of the donor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_auth_asym_id_D' _item.mandatory_code no save_ save__geom_hbond.atom_site_auth_atom_id_D _item_description.description ; An optional identifier of the donor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_auth_atom_id_D' _item.mandatory_code no save_ save__geom_hbond.atom_site_auth_comp_id_D _item_description.description ; An optional identifier of the donor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_auth_comp_id_D' _item.mandatory_code no save_ save__geom_hbond.atom_site_auth_seq_id_D _item_description.description ; An optional identifier of the donor-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_auth_seq_id_D' _item.mandatory_code no save_ save__geom_hbond.atom_site_auth_asym_id_H _item_description.description ; An optional identifier of the hydrogen-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_auth_asym_id_H' _item.mandatory_code no save_ save__geom_hbond.atom_site_auth_atom_id_H _item_description.description ; An optional identifier of the hydrogen-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_auth_atom_id_H' _item.mandatory_code no save_ save__geom_hbond.atom_site_auth_comp_id_H _item_description.description ; An optional identifier of the hydrogen-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_auth_comp_id_H' _item.mandatory_code no save_ save__geom_hbond.atom_site_auth_seq_id_H _item_description.description ; An optional identifier of the hydrogen-atom site that defines the hydrogen bond. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_hbond.atom_site_auth_seq_id_H' _item.mandatory_code no save_ save__geom_hbond.dist_DA _item_description.description ; The distance in angstroms between the donor- and acceptor-atom sites in a hydrogen bond. ; _item.name '_geom_hbond.dist_DA' _item.category_id geom_hbond _item.mandatory_code no _item_aliases.alias_name '_geom_hbond_distance_DA' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_geom_hbond.dist_DA_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__geom_hbond.dist_DA_esd _item_description.description ; The standard uncertainty (estimated standard deviation) in angstroms of _geom_hbond.dist_DA. ; _item.name '_geom_hbond.dist_DA_esd' _item.category_id geom_hbond _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_geom_hbond.dist_DH' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms save_ save__geom_hbond.dist_DH _item_description.description ; The distance in angstroms between the donor- and hydrogen-atom sites in a hydrogen bond. ; _item.name '_geom_hbond.dist_DH' _item.category_id geom_hbond _item.mandatory_code no _item_aliases.alias_name '_geom_hbond_distance_DH' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_geom_hbond.dist_DH_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__geom_hbond.dist_DH_esd _item_description.description ; The standard uncertainty (estimated standard deviation) in angstroms of _geom_hbond.dist_DH. ; _item.name '_geom_hbond.dist_DH_esd' _item.category_id geom_hbond _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_geom_hbond.dist_DH' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms save_ save__geom_hbond.dist_HA _item_description.description ; The distance in angstroms between the hydrogen- and acceptor- atom sites in a hydrogen bond. ; _item.name '_geom_hbond.dist_HA' _item.category_id geom_hbond _item.mandatory_code no _item_aliases.alias_name '_geom_hbond_distance_HA' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_geom_hbond.dist_HA_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__geom_hbond.dist_HA_esd _item_description.description ; The standard uncertainty (estimated standard deviation) in angstroms of _geom_hbond.dist_HA. ; _item.name '_geom_hbond.dist_HA_esd' _item.category_id geom_hbond _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_geom_hbond.dist_HA' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms save_ save__geom_hbond.publ_flag _item_description.description ; This code signals whether the hydrogen-bond information is referred to in a publication or should be placed in a table of significant hydrogen-bond geometry. ; _item.name '_geom_hbond.publ_flag' _item.category_id geom_hbond _item.mandatory_code no _item_aliases.alias_name '_geom_hbond_publ_flag' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no 'do not include bond in special list' n 'abbreviation for "no"' yes 'do include bond in special list' y 'abbreviation for "yes"' save_ save__geom_hbond.site_symmetry_A _item_description.description ; The symmetry code of the acceptor-atom site that defines the hydrogen bond. ; _item.name '_geom_hbond.site_symmetry_A' _item.category_id geom_hbond _item.mandatory_code yes _item_aliases.alias_name '_geom_hbond_site_symmetry_A' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__geom_hbond.site_symmetry_D _item_description.description ; The symmetry code of the donor-atom site that defines the hydrogen bond. ; _item.name '_geom_hbond.site_symmetry_D' _item.category_id geom_hbond _item.mandatory_code yes _item_aliases.alias_name '_geom_hbond_site_symmetry_D' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__geom_hbond.site_symmetry_H _item_description.description ; The symmetry code of the hydrogen-atom site that defines the hydrogen bond. ; _item.name '_geom_hbond.site_symmetry_H' _item.category_id geom_hbond _item.mandatory_code yes _item_aliases.alias_name '_geom_hbond_site_symmetry_H' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ ################## ## GEOM_TORSION ## ################## save_geom_torsion _category.description ; Data items in the GEOM_TORSION category record details about torsion angles as calculated from the contents of the ATOM, CELL and SYMMETRY data. The vector direction _geom_torsion.atom_site_id_2 to _geom_torsion.atom_site_id_3 is the viewing direction, and the torsion angle is the angle of twist required to superimpose the projection of the vector between site 2 and site 1 onto the projection of the vector between site 3 and site 4. Clockwise torsions are positive, anticlockwise torsions are negative. Ref: Klyne, W. & Prelog, V. (1960). Experientia, 16, 521-523. ; _category.id geom_torsion _category.mandatory_code no loop_ _category_key.name '_geom_torsion.atom_site_id_1' '_geom_torsion.atom_site_id_2' '_geom_torsion.atom_site_id_3' '_geom_torsion.atom_site_id_4' '_geom_torsion.site_symmetry_1' '_geom_torsion.site_symmetry_2' '_geom_torsion.site_symmetry_3' '_geom_torsion.site_symmetry_4' loop_ _category_group.id 'inclusive_group' 'geom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on data set CLPHO6 of Ferguson, Ruhl, McKervey & Browne [Acta Cryst. (1992), C48, 2262-2264]. ; ; loop_ _geom_torsion.atom_site_id_1 _geom_torsion.atom_site_id_2 _geom_torsion.atom_site_id_3 _geom_torsion.atom_site_id_4 _geom_torsion.value _geom_torsion.site_symmetry_1 _geom_torsion.site_symmetry_2 _geom_torsion.site_symmetry_3 _geom_torsion.site_symmetry_4 _geom_torsion.publ_flag C(9) O(2) C(7) C(2) 71.8 1_555 1_555 1_555 1_555 yes C(7) O(2) C(9) C(10) -168.0 1_555 1_555 1_555 2_666 yes C(10) O(3) C(8) C(6) -167.7 1_555 1_555 1_555 1_555 yes C(8) O(3) C(10) C(9) -69.7 1_555 1_555 1_555 2_666 yes O(1) C(1) C(2) C(3) -179.5 1_555 1_555 1_555 1_555 no O(1) C(1) C(2) C(7) -0.6 1_555 1_555 1_555 1_555 no ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__geom_torsion.atom_site_id_1 _item_description.description ; The identifier of the first of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_id_1' _item.mandatory_code yes _item_aliases.alias_name '_geom_torsion_atom_site_label_1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_geom_torsion.atom_site_id_2' '_geom_torsion.atom_site_id_3' '_geom_torsion.atom_site_id_4' save_ save__geom_torsion.atom_site_label_alt_id_1 _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_alt_id_1' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_atom_id_1 _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_atom_id_1' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_comp_id_1 _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_comp_id_1' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_seq_id_1 _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_seq_id_1' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_asym_id_1 _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_asym_id_1' _item.mandatory_code no save_ save__geom_torsion.atom_site_id_2 _item_description.description ; The identifier of the second of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_id_2' _item.mandatory_code yes _item_aliases.alias_name '_geom_torsion_atom_site_label_2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_geom_torsion.atom_site_id_1' '_geom_torsion.atom_site_id_3' '_geom_torsion.atom_site_id_4' save_ save__geom_torsion.atom_site_label_alt_id_2 _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_alt_id_2' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_atom_id_2 _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_atom_id_2' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_comp_id_2 _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_comp_id_2' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_seq_id_2 _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_seq_id_2' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_asym_id_2 _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_asym_id_2' _item.mandatory_code no save_ save__geom_torsion.atom_site_id_3 _item_description.description ; The identifier of the third of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_id_3' _item.mandatory_code yes _item_aliases.alias_name '_geom_torsion_atom_site_label_3' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_geom_torsion.atom_site_id_1' '_geom_torsion.atom_site_id_2' '_geom_torsion.atom_site_id_4' save_ save__geom_torsion.atom_site_label_alt_id_3 _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_alt_id_3' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_atom_id_3 _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_atom_id_3' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_comp_id_3 _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_comp_id_3' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_seq_id_3 _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_seq_id_3' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_asym_id_3 _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_asym_id_3' _item.mandatory_code no save_ save__geom_torsion.atom_site_id_4 _item_description.description ; The identifier of the fourth of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_id_4' _item.mandatory_code yes _item_aliases.alias_name '_geom_torsion_atom_site_label_4' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_geom_torsion.atom_site_id_1' '_geom_torsion.atom_site_id_2' '_geom_torsion.atom_site_id_3' save_ save__geom_torsion.atom_site_label_alt_id_4 _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_alt_id_4' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_atom_id_4 _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_atom_id_4' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_comp_id_4 _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_comp_id_4' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_seq_id_4 _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_seq_id_4' _item.mandatory_code no save_ save__geom_torsion.atom_site_label_asym_id_4 _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_label_asym_id_4' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_atom_id_1 _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_atom_id_1' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_asym_id_1 _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_asym_id_1' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_comp_id_1 _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_comp_id_1' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_seq_id_1 _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_seq_id_1' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_atom_id_2 _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_atom_id_2' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_asym_id_2 _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_asym_id_2' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_comp_id_2 _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_comp_id_2' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_seq_id_2 _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_seq_id_2' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_atom_id_3 _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_atom_id_3' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_asym_id_3 _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_asym_id_3' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_comp_id_3 _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_comp_id_3' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_seq_id_3 _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_seq_id_3' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_atom_id_4 _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_atom_id_4' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_asym_id_4 _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_asym_id_4' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_comp_id_4 _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_comp_id_4' _item.mandatory_code no save_ save__geom_torsion.atom_site_auth_seq_id_4 _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_geom_torsion.atom_site_auth_seq_id_4' _item.mandatory_code no save_ save__geom_torsion.publ_flag _item_description.description ; This code signals whether the torsion angle is referred to in a publication or should be placed in a table of significant torsion angles. ; _item.name '_geom_torsion.publ_flag' _item.category_id geom_torsion _item.mandatory_code no _item_aliases.alias_name '_geom_torsion_publ_flag' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no 'do not include angle in special list' n 'abbreviation for "no"' yes 'do include angle in special list' y 'abbreviation for "yes"' save_ save__geom_torsion.site_symmetry_1 _item_description.description ; The symmetry code of the first of the four atom sites that define the torsion angle. ; _item.name '_geom_torsion.site_symmetry_1' _item.category_id geom_torsion _item.mandatory_code yes _item_aliases.alias_name '_geom_torsion_site_symmetry_1' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__geom_torsion.site_symmetry_2 _item_description.description ; The symmetry code of the second of the four atom sites that define the torsion angle. ; _item.name '_geom_torsion.site_symmetry_2' _item.category_id geom_torsion _item.mandatory_code yes _item_aliases.alias_name '_geom_torsion_site_symmetry_2' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__geom_torsion.site_symmetry_3 _item_description.description ; The symmetry code of the third of the four atom sites that define the torsion angle. ; _item.name '_geom_torsion.site_symmetry_3' _item.category_id geom_torsion _item.mandatory_code yes _item_aliases.alias_name '_geom_torsion_site_symmetry_3' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__geom_torsion.site_symmetry_4 _item_description.description ; The symmetry code of the fourth of the four atom sites that define the torsion angle. ; _item.name '_geom_torsion.site_symmetry_4' _item.category_id geom_torsion _item.mandatory_code yes _item_aliases.alias_name '_geom_torsion_site_symmetry_4' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__geom_torsion.value _item_description.description ; The value of the torsion angle in degrees. ; _item.name '_geom_torsion.value' _item.category_id geom_torsion _item.mandatory_code no _item_aliases.alias_name '_geom_torsion' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_related.related_name '_geom_torsion.value_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code degrees save_ save__geom_torsion.value_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _geom_torsion.value. ; _item.name '_geom_torsion.value_esd' _item.category_id geom_torsion _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_geom_torsion.value' _item_related.function_code associated_value _item_type.code float _item_units.code degrees save_ ############# ## JOURNAL ## ############# save_journal _category.description ; Data items in the JOURNAL category record details about the book-keeping by the journal staff when processing a data block submitted for publication. The creator of a data block will not normally specify these data. The data names are not defined in the dictionary because they are for journal use only. ; _category.id journal _category.mandatory_code no _category_key.name '_journal.entry_id' loop_ _category_group.id 'inclusive_group' 'iucr_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on Acta Cryst. file for entry HL0007 [Willis, Beckwith & Tozer (1991). Acta Cryst. C47, 2276-2277]. ; ; _journal.entry_id 'TOZ' _journal.date_recd_electronic 1991-04-15 _journal.date_from_coeditor 1991-04-18 _journal.date_accepted 1991-04-18 _journal.date_printers_first 1991-08-07 _journal.date_proofs_out 1991-08-07 _journal.coeditor_code HL0007 _journal.techeditor_code C910963 _journal.coden_ASTM ACSCEE _journal.name_full 'Acta Crystallographica Section C' _journal.year 1991 _journal.volume 47 _journal.issue NOV91 _journal.page_first 2276 _journal.page_last 2277 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__journal.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_journal.entry_id' _item.mandatory_code yes save_ save__journal.coden_ASTM _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.coden_ASTM' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_coden_ASTM' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.coden_Cambridge _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.coden_Cambridge' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_coden_Cambridge' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.coeditor_address _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.coeditor_address' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_coeditor_address' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__journal.coeditor_code _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.coeditor_code' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_coeditor_code' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.coeditor_email _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.coeditor_email' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_coeditor_email' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.coeditor_fax _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.coeditor_fax' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_coeditor_fax' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.coeditor_name _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.coeditor_name' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_coeditor_name' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.coeditor_notes _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.coeditor_notes' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_coeditor_notes' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__journal.coeditor_phone _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.coeditor_phone' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_coeditor_phone' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.data_validation_number _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.data_validation_number' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_data_validation_number' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code code save_ save__journal.date_accepted _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.date_accepted' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_date_accepted' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code yyyy-mm-dd save_ save__journal.date_from_coeditor _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.date_from_coeditor' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_date_from_coeditor' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code yyyy-mm-dd save_ save__journal.date_to_coeditor _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.date_to_coeditor' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_date_to_coeditor' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code yyyy-mm-dd save_ save__journal.date_printers_final _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.date_printers_final' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_date_printers_final' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code yyyy-mm-dd save_ save__journal.date_printers_first _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.date_printers_first' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_date_printers_first' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code yyyy-mm-dd save_ save__journal.date_proofs_in _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.date_proofs_in' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_date_proofs_in' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code yyyy-mm-dd save_ save__journal.date_proofs_out _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.date_proofs_out' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_date_proofs_out' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code yyyy-mm-dd save_ save__journal.date_recd_copyright _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.date_recd_copyright' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_date_recd_copyright' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code yyyy-mm-dd save_ save__journal.date_recd_electronic _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.date_recd_electronic' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_date_recd_electronic' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code yyyy-mm-dd save_ save__journal.date_recd_hard_copy _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.date_recd_hard_copy' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_date_recd_hard_copy' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code yyyy-mm-dd save_ save__journal.issue _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.issue' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_issue' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.language _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.language' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_language' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.name_full _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.name_full' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_name_full' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.page_first _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.page_first' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_page_first' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.page_last _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.page_last' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_page_last' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.paper_category _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.paper_category' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_paper_category' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.suppl_publ_number _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.suppl_publ_number' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_suppl_publ_number' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.suppl_publ_pages _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.suppl_publ_pages' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_suppl_publ_pages' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.techeditor_address _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.techeditor_address' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_techeditor_address' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__journal.techeditor_code _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.techeditor_code' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_techeditor_code' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.techeditor_email _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.techeditor_email' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_techeditor_email' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.techeditor_fax _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.techeditor_fax' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_techeditor_fax' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.techeditor_name _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.techeditor_name' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_techeditor_name' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.techeditor_notes _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.techeditor_notes' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_techeditor_notes' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__journal.techeditor_phone _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.techeditor_phone' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_techeditor_phone' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.volume _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.volume' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_volume' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal.year _item_description.description ; Journal data items are defined by the journal staff. ; _item.name '_journal.year' _item.category_id journal _item.mandatory_code no _item_aliases.alias_name '_journal_year' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ ################### ## JOURNAL_INDEX ## ################### save_journal_index _category.description ; Data items in the JOURNAL_INDEX category are used to list terms used to generate the journal indexes. The creator of a data block will not normally specify these data items. ; _category.id journal_index _category.mandatory_code no loop_ _category_key.name '_journal_index.type' '_journal_index.term' loop_ _category_group.id 'inclusive_group' 'iucr_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on a paper by Zhu, Reynolds, Klein & Trudell [Acta Cryst. (1994), C50, 2067-2069]. ; ; loop_ _journal_index.type _journal_index.term _journal_index.subterm O C16H19NO4 . S alkaloids (-)-norcocaine S (-)-norcocaine . S ; [2R,3S-(2\b,3\b)]-methyl 3-(benzoyloxy)-8-azabicyclo[3.2.1]octane-2-carboxylate ; . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__journal_index.subterm _item_description.description ; Journal index data items are defined by the journal staff. ; _item.name '_journal_index.subterm' _item.category_id journal_index _item.mandatory_code no _item_aliases.alias_name '_journal_index_subterm' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal_index.term _item_description.description ; Journal index data items are defined by the journal staff. ; _item.name '_journal_index.term' _item.category_id journal_index _item.mandatory_code yes _item_aliases.alias_name '_journal_index_term' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__journal_index.type _item_description.description ; Journal index data items are defined by the journal staff. ; _item.name '_journal_index.type' _item.category_id journal_index _item.mandatory_code yes _item_aliases.alias_name '_journal_index_type' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ ############# ## PHASING ## ############# save_phasing _category.description ; Data items in the PHASING category record details about the phasing of the structure, listing the various methods used in the phasing process. Details about the application of each method are listed in the appropriate subcategories. ; _category.id phasing _category.mandatory_code no _category_key.name '_phasing.method' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - hypothetical example. ; ; loop_ _phasing.method 'mir' 'averaging' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing.method _item_description.description ; A listing of the method or methods used to phase this structure. ; _item.name '_phasing.method' _item.category_id phasing _item.mandatory_code yes _item_type.code ucode loop_ _item_examples.case _item_examples.detail abinitio ; phasing by ab initio methods ; averaging ; phase improvement by averaging over multiple images of the structure ; dm ; phasing by direct methods ; isas ; phasing by iterative single-wavelength anomalous scattering ; isir ; phasing by iterative single-wavelength isomorphous replacement ; isomorphous ; phasing beginning with phases calculated from an isomorphous structure ; mad ; phasing by multiple-wavelength anomalous dispersion ; mir ; phasing by multiple isomorphous replacement ; miras ; phasing by multiple isomorphous replacement with anomalous scattering ; mr ; phasing by molecular replacement ; sir ; phasing by single isomorphous replacement ; siras ; phasing by single isomorphous replacement with anomalous scattering ; save_ ####################### ## PHASING_AVERAGING ## ####################### save_phasing_averaging _category.description ; Data items in the PHASING_AVERAGING category record details about the phasing of the structure where methods involving averaging of multiple observations of the molecule in the asymmetric unit are involved. ; _category.id phasing_averaging _category.mandatory_code no _category_key.name '_phasing_averaging.entry_id' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - hypothetical example. ; ; _phasing_averaging.entry_id 'EXAMHYPO' _phasing_averaging.method ; Iterative threefold averaging alternating with phase extensions by 0.5 reciprocal lattice units per cycle. ; _phasing_averaging.details ; The position of the threefold axis was redetermined every five cycles. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_averaging.details _item_description.description ; A description of special aspects of the averaging process. ; _item.name '_phasing_averaging.details' _item.category_id phasing_averaging _item.mandatory_code no _item_type.code text save_ save__phasing_averaging.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_phasing_averaging.entry_id' _item.mandatory_code yes save_ save__phasing_averaging.method _item_description.description ; A description of the phase-averaging phasing method used to phase this structure. Note that this is not the computer program used, which is described in the SOFTWARE category, but rather the method itself. This data item should be used to describe significant methodological options used within the phase-averaging program. ; _item.name '_phasing_averaging.method' _item.category_id phasing_averaging _item.mandatory_code no _item_type.code text save_ ######################### ## PHASING_ISOMORPHOUS ## ######################### save_phasing_isomorphous _category.description ; Data items in the PHASING_ISOMORPHOUS category record details about the phasing of the structure where a model isomorphous to the structure being phased was used to generate the initial phases. ; _category.id phasing_isomorphous _category.mandatory_code no _category_key.name '_phasing_isomorphous.entry_id' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 4PHV and laboratory records for the structure corresponding to PDB entry 4PHV. ; ; _phasing_isomorphous.entry_id '1ABC' _phasing_isomorphous.parent 'PDB entry 5HVP' _phasing_isomorphous.details ; The inhibitor and all solvent atoms were removed from the parent structure before beginning refinement. All static disorder present in the parent structure was also removed. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_isomorphous.details _item_description.description ; A description of special aspects of the isomorphous phasing. ; _item.name '_phasing_isomorphous.details' _item.category_id phasing_isomorphous _item.mandatory_code no _item_type.code text _item_examples.case ; Residues 13-18 were eliminated from the starting model as it was anticipated that binding of the inhibitor would cause a structural rearrangement in this part of the structure. ; save_ save__phasing_isomorphous.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_phasing_isomorphous.entry_id' _item.mandatory_code yes save_ save__phasing_isomorphous.method _item_description.description ; A description of the isomorphous-phasing method used to phase this structure. Note that this is not the computer program used, which is described in the SOFTWARE category, but rather the method itself. This data item should be used to describe significant methodological options used within the isomorphous phasing program. ; _item.name '_phasing_isomorphous.method' _item.category_id phasing_isomorphous _item.mandatory_code no _item_type.code text _item_examples.case ; Iterative threefold averaging alternating with phase extension by 0.5 reciprocal lattice units per cycle. ; save_ save__phasing_isomorphous.parent _item_description.description ; Reference to the structure used to generate starting phases if the structure referenced in this data block was phased by virtue of being isomorphous to a known structure (e.g. a mutant that crystallizes in the same space group as the wild-type protein.) ; _item.name '_phasing_isomorphous.parent' _item.category_id phasing_isomorphous _item.mandatory_code no _item_type.code text save_ ################# ## PHASING_MAD ## ################# save_phasing_MAD _category.description ; Data items in the PHASING_MAD category record details about the phasing of the structure where methods involving multiple-wavelength anomalous-dispersion techniques are involved. ; _category.id phasing_MAD _category.mandatory_code no _category_key.name '_phasing_MAD.entry_id' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on a paper by Shapiro et al. [Nature (London) (1995), 374, 327-337]. ; ; _phasing_MAD.entry_id 'NCAD' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_MAD.details _item_description.description ; A description of special aspects of the MAD phasing. ; _item.name '_phasing_MAD.details' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code text save_ save__phasing_MAD.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_phasing_MAD.entry_id' _item.mandatory_code yes save_ save__phasing_MAD.method _item_description.description ; A description of the MAD phasing method used to phase this structure. Note that this is not the computer program used, which is described in the SOFTWARE category, but rather the method itself. This data item should be used to describe significant methodological options used within the MAD phasing program. ; _item.name '_phasing_MAD.method' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code text save_ ####################### ## PHASING_MAD_CLUST ## ####################### save_phasing_MAD_clust _category.description ; Data items in the PHASING_MAD_CLUST category record details about a cluster of experiments that contributed to the generation of a set of phases. ; _category.id phasing_MAD_clust _category.mandatory_code no loop_ _category_key.name '_phasing_MAD_clust.expt_id' '_phasing_MAD_clust.id' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on a paper by Shapiro et al. [Nature (London) (1995), 374, 327-337]. ; ; loop_ _phasing_MAD_clust.id _phasing_MAD_clust.expt_id _phasing_MAD_clust.number_set '4 wavelength' 1 4 '5 wavelength' 1 5 '5 wavelength' 2 5 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_MAD_clust.expt_id _item_description.description ; This data item is a pointer to _phasing_MAD_expt.id in the PHASING_MAD_EXPT category. ; _item.name '_phasing_MAD_clust.expt_id' _item.mandatory_code yes save_ save__phasing_MAD_clust.id _item_description.description ; The value of _phasing_MAD_clust.id must, together with _phasing_MAD_clust.expt_id, uniquely identify a record in the PHASING_MAD_CLUST list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_phasing_MAD_clust.id' phasing_MAD_clust yes '_phasing_MAD_set.clust_id' phasing_MAD_set yes '_phasing_MAD_ratio.clust_id' phasing_MAD_ratio yes loop_ _item_linked.child_name _item_linked.parent_name '_phasing_MAD_set.clust_id' '_phasing_MAD_clust.id' '_phasing_MAD_ratio.clust_id' '_phasing_MAD_clust.id' _item_type.code line save_ save__phasing_MAD_clust.number_set _item_description.description ; The number of data sets in this cluster of data sets. ; _item.name '_phasing_MAD_clust.number_set' _item.category_id phasing_MAD_clust _item.mandatory_code no _item_type.code int save_ ###################### ## PHASING_MAD_EXPT ## ###################### save_phasing_MAD_expt _category.description ; Data items in the PHASING_MAD_EXPT category record details about a MAD phasing experiment, such as the number of experiments that were clustered together to produce a set of phases or the statistics for those phases. ; _category.id phasing_MAD_expt _category.mandatory_code no _category_key.name '_phasing_MAD_expt.id' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on a paper by Shapiro et al. [Nature (London) (1995), 374, 327-337]. ; ; loop_ _phasing_MAD_expt.id _phasing_MAD_expt.number_clust _phasing_MAD_expt.R_normal_all _phasing_MAD_expt.R_normal_anom_scat _phasing_MAD_expt.delta_delta_phi _phasing_MAD_expt.delta_phi_sigma _phasing_MAD_expt.mean_fom 1 2 0.063 0.451 58.5 20.3 0.88 2 1 0.051 0.419 36.8 18.2 0.93 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_MAD_expt.delta_delta_phi _item_description.description ; The difference between two independent determinations of _phasing_MAD_expt.delta_phi. ; _item.name '_phasing_MAD_expt.delta_delta_phi' _item.category_id phasing_MAD_expt _item.mandatory_code no _item_type.code float save_ save__phasing_MAD_expt.delta_phi _item_description.description ; The phase difference between F~t~(h), the structure factor due to normal scattering from all atoms, and F~a~(h), the structure factor due to normal scattering from only the anomalous scatterers. ; _item.name '_phasing_MAD_expt.delta_phi' _item.category_id phasing_MAD_expt _item.mandatory_code no _item_type.code float _item_related.related_name '_phasing_MAD_expt.delta_phi_sigma' _item_related.function_code associated_esd save_ save__phasing_MAD_expt.delta_phi_sigma _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_MAD_expt.delta_phi. ; _item.name '_phasing_MAD_expt.delta_phi_sigma' _item.category_id phasing_MAD_expt _item.mandatory_code no _item_related.related_name '_phasing_MAD_expt.delta_phi' _item_related.function_code associated_value _item_type.code float save_ save__phasing_MAD_expt.id _item_description.description ; The value of _phasing_MAD_expt.id must uniquely identify each record in the PHASING_MAD_EXPT list. ; loop_ _item.name _item.category_id _item.mandatory_code '_phasing_MAD_expt.id' phasing_MAD_expt yes '_phasing_MAD_clust.expt_id' phasing_MAD_clust yes '_phasing_MAD_set.expt_id' phasing_MAD_set yes '_phasing_MAD_ratio.expt_id' phasing_MAD_ratio yes loop_ _item_linked.child_name _item_linked.parent_name '_phasing_MAD_clust.expt_id' '_phasing_MAD_expt.id' '_phasing_MAD_set.expt_id' '_phasing_MAD_expt.id' '_phasing_MAD_ratio.expt_id' '_phasing_MAD_expt.id' _item_type.code line save_ save__phasing_MAD_expt.mean_fom _item_description.description ; The mean figure of merit. ; _item.name '_phasing_MAD_expt.mean_fom' _item.category_id phasing_MAD_expt _item.mandatory_code no _item_type.code float save_ save__phasing_MAD_expt.number_clust _item_description.description ; The number of clusters of data sets in this phasing experiment. ; _item.name '_phasing_MAD_expt.number_clust' _item.category_id phasing_MAD_expt _item.mandatory_code no _item_type.code int save_ save__phasing_MAD_expt.R_normal_all _item_description.description ; Definition... ; _item.name '_phasing_MAD_expt.R_normal_all' _item.category_id phasing_MAD_expt _item.mandatory_code no _item_type.code float save_ save__phasing_MAD_expt.R_normal_anom_scat _item_description.description ; Definition... ; _item.name '_phasing_MAD_expt.R_normal_anom_scat' _item.category_id phasing_MAD_expt _item.mandatory_code no _item_type.code float save_ ####################### ## PHASING_MAD_RATIO ## ####################### save_phasing_MAD_ratio _category.description ; Data items in the PHASING_MAD_RATIO category record the ratios of phasing statistics between pairs of data sets in a MAD phasing experiment, in given shells of resolution. ; _category.id phasing_MAD_ratio _category.mandatory_code no loop_ _category_key.name '_phasing_MAD_ratio.clust_id' '_phasing_MAD_ratio.expt_id' '_phasing_MAD_ratio.wavelength_1' '_phasing_MAD_ratio.wavelength_2' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on a paper by Shapiro et al. [Nature (London) (1995), 374, 327-337]. ; ; loop_ _phasing_MAD_ratio.expt_id _phasing_MAD_ratio.clust_id _phasing_MAD_ratio.wavelength_1 _phasing_MAD_ratio.wavelength_2 _phasing_MAD_ratio.d_res_low _phasing_MAD_ratio.d_res_high _phasing_MAD_ratio.ratio_two_wl _phasing_MAD_ratio.ratio_one_wl _phasing_MAD_ratio.ratio_one_wl_centric 1 '4 wavelength' 1.4013 1.4013 20.00 4.00 . 0.084 0.076 1 '4 wavelength' 1.4013 1.3857 20.00 4.00 0.067 . . 1 '4 wavelength' 1.4013 1.3852 20.00 4.00 0.051 . . 1 '4 wavelength' 1.4013 1.3847 20.00 4.00 0.044 . . 1 '4 wavelength' 1.3857 1.3857 20.00 4.00 . 0.110 0.049 1 '4 wavelength' 1.3857 1.3852 20.00 4.00 0.049 . . 1 '4 wavelength' 1.3857 1.3847 20.00 4.00 0.067 . . 1 '4 wavelength' 1.3852 1.3852 20.00 4.00 . 0.149 0.072 1 '4 wavelength' 1.3852 1.3847 20.00 4.00 0.039 . . 1 '4 wavelength' 1.3847 1.3847 20.00 4.00 . 0.102 0.071 1 '4 wavelength' 1.4013 1.4013 4.00 3.00 . 0.114 0.111 1 '4 wavelength' 1.4013 1.3857 4.00 3.00 0.089 . . 1 '4 wavelength' 1.4013 1.3852 4.00 3.00 0.086 . . 1 '4 wavelength' 1.4013 1.3847 4.00 3.00 0.077 . . 1 '4 wavelength' 1.3857 1.3857 4.00 3.00 . 0.140 0.127 1 '4 wavelength' 1.3857 1.3852 4.00 3.00 0.085 . . 1 '4 wavelength' 1.3857 1.3847 4.00 3.00 0.089 . . 1 '4 wavelength' 1.3852 1.3852 4.00 3.00 . 0.155 0.119 1 '4 wavelength' 1.3852 1.3847 4.00 3.00 0.082 . . 1 '4 wavelength' 1.3847 1.3847 4.00 3.00 . 0.124 0.120 1 '5 wavelength' 1.3857 1.3857 20.00 4.00 . 0.075 0.027 1 '5 wavelength' 1.3857 1.3852 20.00 4.00 0.041 . . 1 '5 wavelength' 1.3857 1.3847 20.00 4.00 0.060 . . 1 '5 wavelength' 1.3857 1.3784 20.00 4.00 0.057 . . 1 '5 wavelength' 1.3857 1.2862 20.00 4.00 0.072 . . 1 '5 wavelength' 1.3852 1.3852 20.00 4.00 . 0.105 0.032 1 '5 wavelength' 1.3852 1.3847 20.00 4.00 0.036 . . 1 '5 wavelength' 1.3852 1.3784 20.00 4.00 0.044 . . 1 '5 wavelength' 1.3852 1.2862 20.00 4.00 0.065 . . 1 '5 wavelength' 1.3847 1.3847 20.00 4.00 . 0.072 0.031 1 '5 wavelength' 1.3847 1.3784 20.00 4.00 0.040 . . 1 '5 wavelength' 1.3847 1.2862 20.00 4.00 0.059 . . 1 '5 wavelength' 1.3784 1.3784 20.00 4.00 . 0.059 0.032 1 '5 wavelength' 1.3784 1.2862 20.00 4.00 0.059 . . 1 '5 wavelength' 1.2862 1.3847 20.00 4.00 . 0.058 0.028 1 '5 wavelength' 1.3857 1.3857 4.00 3.00 . 0.078 0.075 1 '5 wavelength' 1.3857 1.3852 4.00 3.00 0.059 . . 1 '5 wavelength' 1.3857 1.3847 4.00 3.00 0.067 . . 1 '5 wavelength' 1.3857 1.3784 4.00 3.00 0.084 . . 1 '5 wavelength' 1.3857 1.2862 4.00 3.00 0.073 . . 1 '5 wavelength' 1.3852 1.3852 4.00 3.00 . 0.101 0.088 1 '5 wavelength' 1.3852 1.3847 4.00 3.00 0.066 . . 1 '5 wavelength' 1.3852 1.3784 4.00 3.00 0.082 . . 1 '5 wavelength' 1.3852 1.2862 4.00 3.00 0.085 . . 1 '5 wavelength' 1.3847 1.3847 4.00 3.00 . 0.097 0.074 1 '5 wavelength' 1.3847 1.3784 4.00 3.00 0.081 . . 1 '5 wavelength' 1.3847 1.2862 4.00 3.00 0.085 . . 1 '5 wavelength' 1.3784 1.3784 4.00 3.00 . 0.114 0.089 1 '5 wavelength' 1.3784 1.2862 4.00 3.00 0.103 . . 1 '5 wavelength' 1.2862 1.2862 4.00 3.00 . 0.062 0.060 2 '5 wavelength' 0.7263 0.7263 15.00 3.00 . 0.035 0.026 2 '5 wavelength' 0.7263 0.7251 15.00 3.00 0.028 . . 2 '5 wavelength' 0.7263 0.7284 15.00 3.00 0.023 . . 2 '5 wavelength' 0.7263 0.7246 15.00 3.00 0.025 . . 2 '5 wavelength' 0.7263 0.7217 15.00 3.00 0.026 . . 2 '5 wavelength' 0.7251 0.7251 15.00 3.00 . 0.060 0.026 2 '5 wavelength' 0.7251 0.7284 15.00 3.00 0.029 . . 2 '5 wavelength' 0.7251 0.7246 15.00 3.00 0.031 . . 2 '5 wavelength' 0.7251 0.7217 15.00 3.00 0.035 . . 2 '5 wavelength' 0.7284 0.7284 15.00 3.00 . 0.075 0.030 2 '5 wavelength' 0.7284 0.7246 15.00 3.00 0.023 . . 2 '5 wavelength' 0.7284 0.7217 15.00 3.00 0.027 . . 2 '5 wavelength' 0.7246 0.7246 15.00 3.00 . 0.069 0.026 2 '5 wavelength' 0.7246 0.7217 15.00 3.00 0.024 . . 2 '5 wavelength' 0.7217 0.7284 15.00 3.00 . 0.060 0.028 2 '5 wavelength' 0.7263 0.7263 3.00 1.90 . 0.060 0.050 2 '5 wavelength' 0.7263 0.7251 3.00 1.90 0.056 . . 2 '5 wavelength' 0.7263 0.7284 3.00 1.90 0.055 . . 2 '5 wavelength' 0.7263 0.7246 3.00 1.90 0.053 . . 2 '5 wavelength' 0.7263 0.7217 3.00 1.90 0.056 . . 2 '5 wavelength' 0.7251 0.7251 3.00 1.90 . 0.089 0.050 2 '5 wavelength' 0.7251 0.7284 3.00 1.90 0.054 . . 2 '5 wavelength' 0.7251 0.7246 3.00 1.90 0.058 . . 2 '5 wavelength' 0.7251 0.7217 3.00 1.90 0.063 . . 2 '5 wavelength' 0.7284 0.7284 3.00 1.90 . 0.104 0.057 2 '5 wavelength' 0.7284 0.7246 3.00 1.90 0.052 . . 2 '5 wavelength' 0.7284 0.7217 3.00 1.90 0.057 . . 2 '5 wavelength' 0.7246 0.7246 3.00 1.90 . 0.098 0.052 2 '5 wavelength' 0.7246 0.7217 3.00 1.90 0.054 . . 2 '5 wavelength' 0.7217 0.7284 3.00 1.90 . 0.089 0.060 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_MAD_ratio.d_res_high _item_description.description ; The lowest value for the interplanar spacings for the reflection data used for the comparison of Bijvoet differences. This is called the highest resolution. ; _item.name '_phasing_MAD_ratio.d_res_high' _item.category_id phasing_MAD_ratio _item.mandatory_code no _item_type.code float save_ save__phasing_MAD_ratio.d_res_low _item_description.description ; The highest value for the interplanar spacings for the reflection data used for the comparison of Bijvoet differences. This is called the lowest resolution. ; _item.name '_phasing_MAD_ratio.d_res_low' _item.category_id phasing_MAD_ratio _item.mandatory_code no _item_type.code float save_ save__phasing_MAD_ratio.expt_id _item_description.description ; This data item is a pointer to _phasing_MAD_expt.id in the PHASING_MAD_EXPT category. ; _item.name '_phasing_MAD_ratio.expt_id' _item.mandatory_code yes save_ save__phasing_MAD_ratio.clust_id _item_description.description ; This data item is a pointer to _phasing_MAD_clust.id in the PHASING_MAD_CLUST category. ; _item.name '_phasing_MAD_ratio.clust_id' _item.mandatory_code yes save_ save__phasing_MAD_ratio.ratio_one_wl _item_description.description ; The root-mean-square Bijvoet difference at one wavelength for all reflections. ; _item.name '_phasing_MAD_ratio.ratio_one_wl' _item.category_id phasing_MAD_ratio _item.mandatory_code no _item_type.code float save_ save__phasing_MAD_ratio.ratio_one_wl_centric _item_description.description ; The root-mean-square Bijvoet difference at one wavelength for centric reflections. This would be equal to zero for perfect data and thus serves as an estimate of the noise in the anomalous signals. ; _item.name '_phasing_MAD_ratio.ratio_one_wl_centric' _item.category_id phasing_MAD_ratio _item.mandatory_code no _item_type.code float save_ save__phasing_MAD_ratio.ratio_two_wl _item_description.description ; The root-mean-square dispersive Bijvoet difference between two wavelengths for all reflections. ; _item.name '_phasing_MAD_ratio.ratio_two_wl' _item.category_id phasing_MAD_ratio _item.mandatory_code no _item_type.code float save_ save__phasing_MAD_ratio.wavelength_1 _item_description.description ; This data item is a pointer to _phasing_MAD_set.wavelength in the PHASING_MAD_SET category. ; _item.name '_phasing_MAD_ratio.wavelength_1' _item.mandatory_code yes save_ save__phasing_MAD_ratio.wavelength_2 _item_description.description ; This data item is a pointer to _phasing_MAD_set.wavelength in the PHASING_MAD_SET category. ; _item.name '_phasing_MAD_ratio.wavelength_2' _item.mandatory_code yes save_ ##################### ## PHASING_MAD_SET ## ##################### save_phasing_MAD_set _category.description ; Data items in the PHASING_MAD_SET category record details about the individual data sets used in a MAD phasing experiment. ; _category.id phasing_MAD_set _category.mandatory_code no loop_ _category_key.name '_phasing_MAD_set.expt_id' '_phasing_MAD_set.clust_id' '_phasing_MAD_set.set_id' '_phasing_MAD_set.wavelength' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on a paper by Shapiro et al. [Nature (London) (1995), 374, 327-337]. ; ; loop_ _phasing_MAD_set.expt_id _phasing_MAD_set.clust_id _phasing_MAD_set.set_id _phasing_MAD_set.wavelength _phasing_MAD_set.wavelength_details _phasing_MAD_set.d_res_low _phasing_MAD_set.d_res_high _phasing_MAD_set.f_prime _phasing_MAD_set.f_double_prime 1 '4 wavelength' aa 1.4013 'pre-edge' 20.00 3.00 -12.48 3.80 1 '4 wavelength' bb 1.3857 'peak' 20.00 3.00 -31.22 17.20 1 '4 wavelength' cc 1.3852 'edge' 20.00 3.00 -13.97 29.17 1 '4 wavelength' dd 1.3847 'remote' 20.00 3.00 -6.67 17.34 1 '5 wavelength' ee 1.3857 'ascending edge' 20.00 3.00 -28.33 14.84 1 '5 wavelength' ff 1.3852 'peak' 20.00 3.00 -21.50 30.23 1 '5 wavelength' gg 1.3847 'descending edge' 20.00 3.00 -10.71 20.35 1 '5 wavelength' hh 1.3784 'remote 1' 20.00 3.00 -14.45 11.84 1 '5 wavelength' ii 1.2862 'remote 2' 20.00 3.00 -9.03 9.01 2 '5 wavelength' jj 0.7263 'pre-edge' 15.00 1.90 -21.10 4.08 2 '5 wavelength' kk 0.7251 'edge' 15.00 1.90 -34.72 7.92 2 '5 wavelength' ll 0.7248 'peak' 15.00 1.90 -24.87 10.30 2 '5 wavelength' mm 0.7246 'descending edge' 15.00 1.90 -17.43 9.62 2 '5 wavelength' nn 0.7217 'remote' 15.00 1.90 -13.26 8.40 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_MAD_set.clust_id _item_description.description ; This data item is a pointer to _phasing_MAD_clust.id in the PHASING_MAD_CLUST category. ; _item.name '_phasing_MAD_set.clust_id' _item.mandatory_code yes save_ save__phasing_MAD_set.d_res_high _item_description.description ; The lowest value for the interplanar spacings for the reflection data used for this set of data. This is called the highest resolution. ; _item.name '_phasing_MAD_set.d_res_high' _item.category_id phasing_MAD_set _item.mandatory_code no _item_type.code float save_ save__phasing_MAD_set.d_res_low _item_description.description ; The highest value for the interplanar spacings for the reflection data used for this set of data. This is called the lowest resolution. ; _item.name '_phasing_MAD_set.d_res_low' _item.category_id phasing_MAD_set _item.mandatory_code no _item_type.code float save_ save__phasing_MAD_set.expt_id _item_description.description ; This data item is a pointer to _phasing_MAD_expt.id in the PHASING_MAD_EXPT category. ; _item.name '_phasing_MAD_set.expt_id' _item.mandatory_code yes save_ save__phasing_MAD_set.f_double_prime _item_description.description ; The f'' component of the anomalous scattering factor for this wavelength. ; _item.name '_phasing_MAD_set.f_double_prime' _item.category_id phasing_MAD_set _item.mandatory_code no _item_type.code float save_ save__phasing_MAD_set.f_prime _item_description.description ; The f' component of the anomalous scattering factor for this wavelength. ; _item.name '_phasing_MAD_set.f_prime' _item.category_id phasing_MAD_set _item.mandatory_code no _item_type.code float save_ save__phasing_MAD_set.set_id _item_description.description ; This data item is a pointer to _phasing_set.id in the PHASING_SET category. ; _item.name '_phasing_MAD_set.set_id' _item.mandatory_code yes save_ save__phasing_MAD_set.wavelength _item_description.description ; The wavelength at which this data set was measured. ; loop_ _item.name _item.category_id _item.mandatory_code '_phasing_MAD_set.wavelength' phasing_MAD_set yes '_phasing_MAD_ratio.wavelength_1' phasing_MAD_ratio yes '_phasing_MAD_ratio.wavelength_2' phasing_MAD_ratio yes loop_ _item_linked.child_name _item_linked.parent_name '_phasing_MAD_ratio.wavelength_1' '_phasing_MAD_set.wavelength' '_phasing_MAD_ratio.wavelength_2' '_phasing_MAD_set.wavelength' _item_type.code float save_ save__phasing_MAD_set.wavelength_details _item_description.description ; A descriptor for this wavelength in this cluster of data sets. ; _item.name '_phasing_MAD_set.wavelength_details' _item.category_id phasing_MAD_set _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'peak' 'remote' 'ascending edge' save_ ################# ## PHASING_MIR ## ################# save_phasing_MIR _category.description ; Data items in the PHASING_MIR category record details about the phasing of the structure where methods involving isomorphous replacement are involved. All isomorphous-replacement-based techniques are covered by this category, including single isomorphous replacement (SIR), multiple isomorphous replacement (MIR) and single or multiple isomorphous replacement plus anomalous scattering (SIRAS, MIRAS). ; _category.id phasing_MIR _category.mandatory_code no _category_key.name '_phasing_MIR.entry_id' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on a paper by Zanotti et al. [J. Biol. Chem. (1993), 268, 10728-10738]. ; ; _phasing_MIR.entry_id 1ABC _phasing_MIR.method ; Standard phase refinement (Blow & Crick, 1959) ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_MIR.details _item_description.description ; A description of special aspects of the isomorphous-replacement phasing. ; _item.name '_phasing_MIR.details' _item.category_id phasing_MIR _item.mandatory_code no _item_type.code text save_ save__phasing_MIR.d_res_high _item_description.description ; The lowest value in angstroms for the interplanar spacings for the reflection data used for the native data set. This is called the highest resolution. ; _item.name '_phasing_MIR.d_res_high' _item.category_id phasing_MIR _item.mandatory_code yes # _item_aliases.alias_name '_phasing_MIR.ebi_d_res_high' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__phasing_MIR.d_res_low _item_description.description ; The highest value in angstroms for the interplanar spacings for the reflection data used for the native data set. This is called the lowest resolution. ; _item.name '_phasing_MIR.d_res_low' _item.category_id phasing_MIR _item.mandatory_code yes # _item_aliases.alias_name '_phasing_MIR.ebi_d_res_low' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__phasing_MIR.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_phasing_MIR.entry_id' _item.mandatory_code yes save_ save__phasing_MIR.FOM _item_description.description ; The mean value of the figure of merit m for all reflections phased in the native data set. int P~alpha~ exp(i*alpha) dalpha m = -------------------------------- int P~alpha~ dalpha P~a~ = the probability that the phase angle a is correct the integral is taken over the range alpha = 0 to 2 pi. ; _item.name '_phasing_MIR.FOM' _item.category_id phasing_MIR _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR.ebi_fom' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR.FOM_acentric _item_description.description ; The mean value of the figure of merit m for the acentric reflections phased in the native data set. int P~alpha~ exp(i*alpha) dalpha m = -------------------------------- int P~alpha~ dalpha P~a~ = the probability that the phase angle a is correct the integral is taken over the range alpha = 0 to 2 pi. ; _item.name '_phasing_MIR.FOM_acentric' _item.category_id phasing_MIR _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR.ebi_fom_acentric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR.FOM_centric _item_description.description ; The mean value of the figure of merit m for the centric reflections phased in the native data set. int P~alpha~ exp(i*alpha) dalpha m = -------------------------------- int P~alpha~ dalpha P~a~ = the probability that the phase angle a is correct the integral is taken over the range alpha = 0 to 2 pi. ; _item.name '_phasing_MIR.FOM_centric' _item.category_id phasing_MIR _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR.ebi_fom_centric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR.method _item_description.description ; A description of the MIR phasing method applied to phase this structure. Note that this is not the computer program used, which is described in the SOFTWARE category, but rather the method itself. This data item should be used to describe significant methodological options used within the MIR phasing program. ; _item.name '_phasing_MIR.method' _item.category_id phasing_MIR _item.mandatory_code no _item_type.code text save_ save__phasing_MIR.reflns _item_description.description ; The total number of reflections phased in the native data set. ; _item.name '_phasing_MIR.reflns' _item.category_id phasing_MIR _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR.ebi_reflns' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__phasing_MIR.reflns_acentric _item_description.description ; The number of acentric reflections phased in the native data set. ; _item.name '_phasing_MIR.reflns_acentric' _item.category_id phasing_MIR _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR.ebi_reflns_acentric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__phasing_MIR.reflns_centric _item_description.description ; The number of centric reflections phased in the native data set. ; _item.name '_phasing_MIR.reflns_centric' _item.category_id phasing_MIR _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR.ebi_reflns_centric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__phasing_MIR.reflns_criterion _item_description.description ; Criterion used to limit the reflections used in the phasing calculations. ; _item.name '_phasing_MIR.reflns_criterion' _item.category_id phasing_MIR _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR.ebi_reflns_criteria' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _item_type.code text _item_examples.case '> 4 \s(I)' save_ ##################### ## PHASING_MIR_DER ## ##################### save_phasing_MIR_der _category.description ; Data items in the PHASING_MIR_DER category record details about individual derivatives used in the phasing of the structure when methods involving isomorphous replacement are involved. A derivative in this context does not necessarily equate with a data set; for instance, the same data set could be used to one resolution limit as an isomorphous scatterer and to a different resolution (and with a different sigma cutoff) as an anomalous scatterer. These would be treated as two distinct derivatives, although both derivatives would point to the same data sets via _phasing_MIR_der.der_set_id and _phasing_MIR_der.native_set_id. ; _category.id phasing_MIR_der _category.mandatory_code no _category_key.name '_phasing_MIR_der.id' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on a paper by Zanotti et al. [J. Biol. Chem. (1993), 268, 10728-10738]. ; ; loop_ _phasing_MIR_der.id _phasing_MIR_der.number_of_sites _phasing_MIR_der.details KAu(CN)2 3 'major site interpreted in difference Patterson' K2HgI4 6 'sites found in cross-difference Fourier' K3IrCl6 2 'sites found in cross-difference Fourier' All 11 'data for all three derivatives combined' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_MIR_der.d_res_high _item_description.description ; The lowest value for the interplanar spacings for the reflection data used for this derivative. This is called the highest resolution. ; _item.name '_phasing_MIR_der.d_res_high' _item.category_id phasing_MIR_der _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__phasing_MIR_der.d_res_low _item_description.description ; The highest value for the interplanar spacings for the reflection data used for this derivative. This is called the lowest resolution. ; _item.name '_phasing_MIR_der.d_res_low' _item.category_id phasing_MIR_der _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__phasing_MIR_der.der_set_id _item_description.description ; The data set that was treated as the derivative in this experiment. This data item is a pointer to _phasing_set.id in the PHASING_SET category. ; _item.name '_phasing_MIR_der.der_set_id' _item.mandatory_code yes save_ save__phasing_MIR_der.details _item_description.description ; A description of special aspects of this derivative, its data, its solution or its use in phasing. ; _item.name '_phasing_MIR_der.details' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code text save_ save__phasing_MIR_der.id _item_description.description ; The value of _phasing_MIR_der.id must uniquely identify a record in the PHASING_MIR_DER list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_phasing_MIR_der.id' phasing_MIR_der yes '_phasing_MIR_der_refln.der_id' phasing_MIR_der_refln yes '_phasing_MIR_der_shell.der_id' phasing_MIR_der_shell yes '_phasing_MIR_der_site.der_id' phasing_MIR_der_site yes loop_ _item_linked.child_name _item_linked.parent_name '_phasing_MIR_der_refln.der_id' '_phasing_MIR_der.id' '_phasing_MIR_der_shell.der_id' '_phasing_MIR_der.id' '_phasing_MIR_der_site.der_id' '_phasing_MIR_der.id' _item_type.code line loop_ _item_examples.case 'KAu(CN)2' 'K2HgI4_anom' 'K2HgI4_iso' save_ save__phasing_MIR_der.native_set_id _item_description.description ; The data set that was treated as the native in this experiment. This data item is a pointer to _phasing_set.id in the PHASING_SET category. ; _item.name '_phasing_MIR_der.native_set_id' _item.mandatory_code yes save_ save__phasing_MIR_der.number_of_sites _item_description.description ; The number of heavy-atom sites in this derivative. ; _item.name '_phasing_MIR_der.number_of_sites' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code int save_ save__phasing_MIR_der.power_acentric _item_description.description ; The mean phasing power P for acentric reflections for this derivative. sum|Fh~calc~^2^| P = (----------------------------)^1/2^ sum|Fph~obs~ - Fph~calc~|^2^ Fph~obs~ = the observed structure-factor amplitude of this derivative Fph~calc~ = the calculated structure-factor amplitude of this derivative Fh~calc~ = the calculated structure-factor amplitude from the heavy-atom model sum is taken over the specified reflections ; _item.name '_phasing_MIR_der.power_acentric' _item.category_id phasing_MIR_der _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_der.ebi_power_acentric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_der.power_centric _item_description.description ; The mean phasing power P for centric reflections for this derivative. sum|Fh~calc~^2^| P = (----------------------------)^1/2^ sum|Fph~obs~ - Fph~calc~|^2^ Fph~obs~ = the observed structure-factor amplitude of the derivative Fph~calc~ = the calculated structure-factor amplitude of the derivative Fh~calc~ = the calculated structure-factor amplitude from the heavy-atom model sum is taken over the specified reflections ; _item.name '_phasing_MIR_der.power_centric' _item.category_id phasing_MIR_der _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_der.ebi_power_centric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_der.R_cullis_acentric _item_description.description ; Residual factor R~cullis,acen~ for acentric reflections for this derivative. The Cullis R factor was originally defined only for centric reflections. It is, however, also a useful statistical measure for acentric reflections, which is how it is used in this data item. sum| |Fph~obs~ +/- Fp~obs~| - Fh~calc~ | R~cullis,acen~ = ---------------------------------------- sum|Fph~obs~ - Fp~obs~| Fp~obs~ = the observed structure-factor amplitude of the native Fph~obs~ = the observed structure-factor amplitude of the derivative Fh~calc~ = the calculated structure-factor amplitude from the heavy-atom model sum is taken over the specified reflections Ref: Cullis, A. F., Muirhead, H., Perutz, M. F., Rossmann, M. G. & North, A. C. T. (1961). Proc. R. Soc. London Ser. A, 265, 15-38. ; _item.name '_phasing_MIR_der.R_cullis_acentric' _item.category_id phasing_MIR_der _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_der.ebi_Rcullis_acentric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_der.R_cullis_anomalous _item_description.description ; Residual factor R~cullis,ano~ for anomalous reflections for this derivative. The Cullis R factor was originally defined only for centric reflections. It is, however, also a useful statistical measure for anomalous reflections, which is how it is used in this data item. This is tabulated for acentric terms. A value less than 1.0 means there is some contribution to the phasing from the anomalous data. sum |Fph+~obs~Fph-~obs~ - Fh+~calc~ - Fh-~calc~| R~cullis,ano~ = ------------------------------------------------ sum|Fph+~obs~ - Fph-~obs~| Fph+~obs~ = the observed positive Friedel structure-factor amplitude for the derivative Fph-~obs~ = the observed negative Friedel structure-factor amplitude for the derivative Fh+~calc~ = the calculated positive Friedel structure-factor amplitude from the heavy-atom model Fh-~calc~ = the calculated negative Friedel structure-factor amplitude from the heavy-atom model sum is taken over the specified reflections Ref: Cullis, A. F., Muirhead, H., Perutz, M. F., Rossmann, M. G. & North, A. C. T. (1961). Proc. R. Soc. London Ser. A, 265, 15-38. ; _item.name '_phasing_MIR_der.R_cullis_anomalous' _item.category_id phasing_MIR_der _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_der.ebi_Rcullis_anomalous' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_der.R_cullis_centric _item_description.description ; Residual factor R~cullis~ for centric reflections for this derivative. sum| |Fph~obs~ +/- Fp~obs~| - Fh~calc~ | R~cullis~ = ---------------------------------------- sum|Fph~obs~ - Fp~obs~| Fp~obs~ = the observed structure-factor amplitude of the native Fph~obs~ = the observed structure-factor amplitude of the derivative Fh~calc~ = the calculated structure-factor amplitude from the heavy-atom model sum is taken over the specified reflections Ref: Cullis, A. F., Muirhead, H., Perutz, M. F., Rossmann, M. G. & North, A. C. T. (1961). Proc. R. Soc. London Ser. A, 265, 15-38. ; _item.name '_phasing_MIR_der.R_cullis_centric' _item.category_id phasing_MIR_der _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_der.ebi_Rcullis_centric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_der.reflns_acentric _item_description.description ; The number of acentric reflections used in phasing for this derivative. ; _item.name '_phasing_MIR_der.reflns_acentric' _item.category_id phasing_MIR_der _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_der.ebi_reflns_acentric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__phasing_MIR_der.reflns_anomalous _item_description.description ; The number of anomalous reflections used in phasing for this derivative. ; _item.name '_phasing_MIR_der.reflns_anomalous' _item.category_id phasing_MIR_der _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_der.ebi_reflns_anomalous' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__phasing_MIR_der.reflns_centric _item_description.description ; The number of centric reflections used in phasing for this derivative. ; _item.name '_phasing_MIR_der.reflns_centric' _item.category_id phasing_MIR_der _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_der.ebi_reflns_centric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__phasing_MIR_der.reflns_criteria _item_description.description ; Criteria used to limit the reflections used in the phasing calculations. ; _item.name '_phasing_MIR_der.reflns_criteria' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code text _item_examples.case '> 4 \s(I)' save_ ########################### ## PHASING_MIR_DER_REFLN ## ########################### save_phasing_MIR_der_refln _category.description ; Data items in the PHASING_MIR_DER_REFLN category record details about the calculated structure factors obtained in an MIR phasing experiment. This list may contain information from a number of different derivatives; _phasing_MIR_der_refln.der_id indicates to which derivative a given record corresponds. (A derivative in this context does not necessarily equate with a data set; see the definition of the PHASING_MIR_DER category for a discussion of the meaning of derivative.) It is not necessary for the data items describing the measured value of F to appear in this list, as they will be given in the PHASING_SET_REFLN category. However, these items can also be listed here for completeness. ; _category.id phasing_MIR_der_refln _category.mandatory_code no loop_ _category_key.name '_phasing_MIR_der_refln.index_h' '_phasing_MIR_der_refln.index_k' '_phasing_MIR_der_refln.index_l' '_phasing_MIR_der_refln.der_id' '_phasing_MIR_der_refln.set_id' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for the 6,1,25 reflection of an Hg/Pt derivative of protein NS1. ; ; _phasing_MIR_der_refln.index_h 6 _phasing_MIR_der_refln.index_k 1 _phasing_MIR_der_refln.index_l 25 _phasing_MIR_der_refln.der_id HGPT1 _phasing_MIR_der_refln.set_id 'NS1-96' _phasing_MIR_der_refln.F_calc_au 106.66 _phasing_MIR_der_refln.F_meas_au 204.67 _phasing_MIR_der_refln.F_meas_sigma 6.21 _phasing_MIR_der_refln.HL_A_iso -3.15 _phasing_MIR_der_refln.HL_B_iso -0.76 _phasing_MIR_der_refln.HL_C_iso 0.65 _phasing_MIR_der_refln.HL_D_iso 0.23 _phasing_MIR_der_refln.phase_calc 194.48 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_MIR_der_refln.der_id _item_description.description ; This data item is a pointer to _phasing_MIR_der.id in the PHASING_MIR_DER category. ; _item.name '_phasing_MIR_der_refln.der_id' _item.mandatory_code yes save_ save__phasing_MIR_der_refln.F_calc _item_description.description ; The calculated value of the structure factor for this derivative, in electrons. ; _item.name '_phasing_MIR_der_refln.F_calc' _item.category_id phasing_MIR_der_refln _item.mandatory_code no _item_related.related_name '_phasing_MIR_der_refln.F_calc_au' _item_related.function_code conversion_arbitrary _item_type.code float _item_units.code electrons save_ save__phasing_MIR_der_refln.F_calc_au _item_description.description ; The calculated value of the structure factor for this derivative, in arbitrary units. ; _item.name '_phasing_MIR_der_refln.F_calc_au' _item.category_id phasing_MIR_der_refln _item.mandatory_code no _item_related.related_name '_phasing_MIR_der_refln.F_calc' _item_related.function_code conversion_arbitrary _item_type.code float _item_units.code arbitrary save_ save__phasing_MIR_der_refln.F_meas _item_description.description ; The measured value of the structure factor for this derivative, in electrons. ; _item.name '_phasing_MIR_der_refln.F_meas' _item.category_id phasing_MIR_der_refln _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_phasing_MIR_der_refln.F_meas_sigma' associated_esd '_phasing_MIR_der_refln.F_meas_au' conversion_arbitrary _item_type.code float _item_type_conditions.code esd _item_units.code electrons save_ save__phasing_MIR_der_refln.F_meas_au _item_description.description ; The measured value of the structure factor for this derivative, in arbitrary units. ; _item.name '_phasing_MIR_der_refln.F_meas_au' _item.category_id phasing_MIR_der_refln _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_phasing_MIR_der_refln.F_meas_sigma_au' associated_esd '_phasing_MIR_der_refln.F_meas' conversion_arbitrary _item_type.code float _item_type_conditions.code esd _item_units.code arbitrary save_ save__phasing_MIR_der_refln.F_meas_sigma _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_MIR_der_refln.F_meas, in electrons. ; _item.name '_phasing_MIR_der_refln.F_meas_sigma' _item.category_id phasing_MIR_der_refln _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_phasing_MIR_der_refln.F_meas' associated_value '_phasing_MIR_der_refln.F_meas_sigma_au' conversion_arbitrary _item_type.code float _item_units.code electrons save_ save__phasing_MIR_der_refln.F_meas_sigma_au _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_MIR_der_refln.F_meas_au, in arbitrary units. ; _item.name '_phasing_MIR_der_refln.F_meas_sigma_au' _item.category_id phasing_MIR_der_refln _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_phasing_MIR_der_refln.F_meas_au' associated_value '_phasing_MIR_der_refln.F_meas_sigma' conversion_arbitrary _item_type.code float _item_units.code arbitrary save_ save__phasing_MIR_der_refln.HL_A_iso _item_description.description ; The isomorphous Hendrickson-Lattman coefficient A~iso~ for this reflection for this derivative. -2.0 * (Fp~obs~^2^ + Fh~calc~^2^ - Fph~obs~^2^) * Fp~obs~ * cos(alphah~calc~) A~iso~ = ----------------------------------------------- E^2^ E = (Fph~obs~ - Fp~obs~ - Fh~calc~)^2^ for centric reflections = [(Fph~obs~ - Fp~obs~) * 2^1/2^ - Fh~calc~]^2^ for acentric reflections Fp~obs~ = the observed structure-factor amplitude of the native Fph~obs~ = the observed structure-factor amplitude of the derivative Fh~calc~ = the calculated structure-factor amplitude from the heavy-atom model alphah~calc~ = the calculated phase from the heavy-atom model This coefficient appears in the expression for the phase probability of each isomorphous derivative: P~i~(alpha) = exp[k + A * cos(alpha) + B * sin(alpha) + C * cos(2 * alpha) + D * sin(2 * alpha)] Ref: Hendrickson, W. A. & Lattman, E. E. (1970). Acta Cryst. B26, 136-143. ; _item.name '_phasing_MIR_der_refln.HL_A_iso' _item.category_id phasing_MIR_der_refln _item.mandatory_code no _item_type.code float save_ save__phasing_MIR_der_refln.HL_B_iso _item_description.description ; The isomorphous Hendrickson-Lattman coefficient B~iso~ for this reflection for this derivative. -2.0 * (Fp~obs~^2^ + Fh~calc~^2^ - Fph~obs~^2^) * Fp~obs~ * sin(alphah~calc~) B~iso~ = ----------------------------------------------- E^2^ E = (Fph~obs~ - Fp~obs~ - Fh~calc~)^2^ for centric reflections = [(Fph~obs~ - Fp~obs~) * 2^1/2^ - Fh~calc~]^2^ for acentric reflections Fp~obs~ = the observed structure-factor amplitude of the native Fph~obs~ = the observed structure-factor amplitude of the derivative Fh~calc~ = the calculated structure-factor amplitude from the heavy-atom model alphah~calc~ = the phase calculated from the heavy-atom model This coefficient appears in the expression for the phase probability of each isomorphous derivative: P~i~(alpha) = exp[k + A * cos(alpha) + B * sin(alpha) + C * cos(2 * alpha) + D * sin(2 * alpha)] Ref: Hendrickson, W. A. & Lattman, E. E. (1970). Acta Cryst. B26, 136-143. ; _item.name '_phasing_MIR_der_refln.HL_B_iso' _item.category_id phasing_MIR_der_refln _item.mandatory_code no _item_type.code float save_ save__phasing_MIR_der_refln.HL_C_iso _item_description.description ; The isomorphous Hendrickson-Lattman coefficient C~iso~ for this reflection for this derivative. -Fp~obs~^2^ * [sin(alphah~calc~)^2^ - cos(alphah~calc~)^2^] C~iso~ = ------------------------------------ E^2^ E = (Fph~obs~ - Fp~obs~ - Fh~calc~)^2^ for centric reflections = [(Fph~obs~ - Fp~obs~) * 2^1/2^ - Fh~calc~]^2^ for acentric reflections Fp~obs~ = the observed structure-factor amplitude of the native Fph~obs~ = the observed structure-factor amplitude of the derivative Fh~calc~ = the calculated structure-factor amplitude from the heavy-atom model alphah~calc~ = the phase calculated from the heavy-atom model This coefficient appears in the expression for the phase probability of each isomorphous derivative: P~i~(alpha) = exp[k + A * cos(alpha) + B * sin(alpha) + C * cos(2 * alpha) + D * sin(2 * alpha)] Ref: Hendrickson, W. A. & Lattman, E. E. (1970). Acta Cryst. B26, 136-143. ; _item.name '_phasing_MIR_der_refln.HL_C_iso' _item.category_id phasing_MIR_der_refln _item.mandatory_code no _item_type.code float save_ save__phasing_MIR_der_refln.HL_D_iso _item_description.description ; The isomorphous Hendrickson-Lattman coefficient D~iso~ for this reflection for this derivative. -2.0 * Fp~obs~^2^ * sin(alphah~calc~)^2^ * cos(alphah~calc~)^2^ D~iso~ = ---------------------------------------- E^2^ E = (Fph~obs~ - Fp~obs~ - Fh~calc~)^2^ for centric reflections = [(Fph~obs~ - Fp~obs~) * 2^1/2^ - Fh~calc~]^2^ for acentric reflections Fp~obs~ = the observed structure-factor amplitude of the native Fph~obs~ = the observed structure-factor amplitude of the derivative Fh~calc~ = the calculated structure-factor amplitude from the heavy-atom model alphah~calc~ = the phase calculated from the heavy-atom model This coefficient appears in the expression for the phase probability of each isomorphous derivative: P~i~(alpha) = exp[k + A * cos(alpha) + B * sin(alpha) + C * cos(2 * alpha) + D * sin(2 * alpha)] Ref: Hendrickson, W. A. & Lattman, E. E. (1970). Acta Cryst. B26, 136-143. ; _item.name '_phasing_MIR_der_refln.HL_D_iso' _item.category_id phasing_MIR_der_refln _item.mandatory_code no _item_type.code float save_ save__phasing_MIR_der_refln.index_h _item_description.description ; Miller index h for this reflection for this derivative. ; _item.name '_phasing_MIR_der_refln.index_h' _item.category_id phasing_MIR_der_refln _item.mandatory_code yes loop_ _item_dependent.dependent_name '_phasing_MIR_der_refln.index_k' '_phasing_MIR_der_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__phasing_MIR_der_refln.index_k _item_description.description ; Miller index k for this reflection for this derivative. ; _item.name '_phasing_MIR_der_refln.index_k' _item.category_id phasing_MIR_der_refln _item.mandatory_code yes loop_ _item_dependent.dependent_name '_phasing_MIR_der_refln.index_h' '_phasing_MIR_der_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__phasing_MIR_der_refln.index_l _item_description.description ; Miller index l for this reflection for this derivative. ; _item.name '_phasing_MIR_der_refln.index_l' _item.category_id phasing_MIR_der_refln _item.mandatory_code yes loop_ _item_dependent.dependent_name '_phasing_MIR_der_refln.index_h' '_phasing_MIR_der_refln.index_k' _item_sub_category.id miller_index _item_type.code int save_ save__phasing_MIR_der_refln.phase_calc _item_description.description ; The calculated value of the structure-factor phase based on the heavy-atom model for this derivative in degrees. ; _item.name '_phasing_MIR_der_refln.phase_calc' _item.category_id phasing_MIR_der_refln _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__phasing_MIR_der_refln.set_id _item_description.description ; This data item is a pointer to _phasing_set.id in the PHASING_SET category. ; _item.name '_phasing_MIR_der_refln.set_id' _item.mandatory_code yes save_ ########################### ## PHASING_MIR_DER_SHELL ## ########################### save_phasing_MIR_der_shell _category.description ; Data items in the PHASING_MIR_DER_SHELL category record statistics, broken down into shells of resolution, for an MIR phasing experiment. This list may contain information from a number of different derivatives; _phasing_MIR_der_shell.der_id indicates to which derivative a given record corresponds. (A derivative in this context does not necessarily equate with a data set; see the definition of the PHASING_MIR_DER category for a discussion of the meaning of derivative.) ; _category.id phasing_MIR_der_shell _category.mandatory_code no loop_ _category_key.name '_phasing_MIR_der_shell.der_id' '_phasing_MIR_der_shell.d_res_low' '_phasing_MIR_der_shell.d_res_high' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on a paper by Zanotti et al. [J. Biol. Chem. (1993), 268, 10728-10738] with addition of an arbitrary low-resolution limit. ; ; loop_ _phasing_MIR_der_shell.der_id _phasing_MIR_der_shell.d_res_low _phasing_MIR_der_shell.d_res_high _phasing_MIR_der_shell.ha_ampl _phasing_MIR_der_shell.loc KAu(CN)2 15.0 8.3 54 26 KAu(CN)2 8.3 6.4 54 20 KAu(CN)2 6.4 5.2 50 20 KAu(CN)2 5.2 4.4 44 23 KAu(CN)2 4.4 3.8 39 23 KAu(CN)2 3.8 3.4 33 21 KAu(CN)2 3.4 3.0 28 17 KAu(CN)2 15.0 3.0 38 21 K2HgI4 15.0 8.3 149 87 K2HgI4 8.3 6.4 121 73 K2HgI4 6.4 5.2 95 61 K2HgI4 5.2 4.4 80 60 K2HgI4 4.4 3.8 73 63 K2HgI4 3.8 3.4 68 57 K2HgI4 3.4 3.0 63 46 K2HgI4 15.0 3.0 79 58 K3IrCl6 15.0 8.3 33 27 K3IrCl6 8.3 6.4 40 23 K3IrCl6 6.4 5.2 31 22 K3IrCl6 5.2 4.4 27 23 K3IrCl6 4.4 3.8 22 23 K3IrCl6 3.8 3.4 19 20 K3IrCl6 3.4 3.0 16 20 K3IrCl6 15.0 3.0 23 21 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_MIR_der_shell.d_res_high _item_description.description ; The lowest value for the interplanar spacings for the reflection data for this derivative in this shell. This is called the highest resolution. ; _item.name '_phasing_MIR_der_shell.d_res_high' _item.category_id phasing_MIR_der_shell _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__phasing_MIR_der_shell.d_res_low _item_description.description ; The highest value for the interplanar spacings for the reflection data for this derivative in this shell. This is called the lowest resolution. ; _item.name '_phasing_MIR_der_shell.d_res_low' _item.category_id phasing_MIR_der_shell _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__phasing_MIR_der_shell.der_id _item_description.description ; This data item is a pointer to _phasing_MIR_der.id in the PHASING_MIR_DER category. ; _item.name '_phasing_MIR_der_shell.der_id' _item.mandatory_code yes save_ save__phasing_MIR_der_shell.fom _item_description.description ; The mean value of the figure of merit m for reflections for this derivative in this shell. int P~alpha~ exp(i*alpha) dalpha m = -------------------------------- int P~alpha~ dalpha P~alpha~ = the probability that the phase angle alpha is correct int is taken over the range alpha = 0 to 2 pi. ; _item.name '_phasing_MIR_der_shell.fom' _item.category_id phasing_MIR_der_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_der_shell.ha_ampl _item_description.description ; The mean heavy-atom amplitude for reflections for this derivative in this shell. ; _item.name '_phasing_MIR_der_shell.ha_ampl' _item.category_id phasing_MIR_der_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_der_shell.loc _item_description.description ; The mean lack-of-closure error loc for reflections for this derivative in this shell. loc = sum|Fph~obs~ - Fph~calc~| Fph~obs~ = the observed structure-factor amplitude of the derivative Fph~calc~ = the calculated structure-factor amplitude of the derivative sum is taken over the specified reflections ; _item.name '_phasing_MIR_der_shell.loc' _item.category_id phasing_MIR_der_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_der_shell.phase _item_description.description ; The mean of the phase values for reflections for this derivative in this shell. ; _item.name '_phasing_MIR_der_shell.phase' _item.category_id phasing_MIR_der_shell _item.mandatory_code no _item_type.code float save_ save__phasing_MIR_der_shell.power _item_description.description ; The mean phasing power P for reflections for this derivative in this shell. sum|Fh~calc~^2^| P = (----------------------------)^1/2^ sum|Fph~obs~ - Fph~calc~|^2^ Fph~obs~ = the observed structure-factor amplitude of the derivative Fph~calc~ = the calculated structure-factor amplitude of the derivative Fh~calc~ = the calculated structure-factor amplitude from the heavy-atom model sum is taken over the specified reflections ; _item.name '_phasing_MIR_der_shell.power' _item.category_id phasing_MIR_der_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_der_shell.R_cullis _item_description.description ; Residual factor R~cullis~ for centric reflections for this derivative in this shell. sum| |Fph~obs~ +/- Fp~obs~| - Fh~calc~ | R~cullis~ = ---------------------------------------- sum|Fph~obs~ - Fp~obs~| Fp~obs~ = the observed structure-factor amplitude of the native Fph~obs~ = the observed structure-factor amplitude of the derivative Fh~calc~ = the calculated structure-factor amplitude from the heavy-atom model sum is taken over the specified reflections Ref: Cullis, A. F., Muirhead, H., Perutz, M. F., Rossmann, M. G. & North, A. C. T. (1961). Proc. R. Soc. London Ser. A, 265, 15-38. ; _item.name '_phasing_MIR_der_shell.R_cullis' _item.category_id phasing_MIR_der_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_der_shell.R_kraut _item_description.description ; Residual factor R~kraut~ for general reflections for this derivative in this shell. sum|Fph~obs~ - Fph~calc~| R~kraut~ = ------------------------- sum|Fph~obs~| Fph~obs~ = the observed structure-factor amplitude of the derivative Fph~calc~ = the calculated structure-factor amplitude of the derivative sum is taken over the specified reflections Ref: Kraut, J., Sieker, L. C., High, D. F. & Freer, S. T. (1962). Proc. Natl Acad. Sci. USA, 48, 1417-1424. ; _item.name '_phasing_MIR_der_shell.R_kraut' _item.category_id phasing_MIR_der_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_der_shell.reflns _item_description.description ; The number of reflections in this shell. ; _item.name '_phasing_MIR_der_shell.reflns' _item.category_id phasing_MIR_der_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ ########################## ## PHASING_MIR_DER_SITE ## ########################## save_phasing_MIR_der_site _category.description ; Data items in the PHASING_MIR_DER_SITE category record details about the heavy-atom sites in an MIR phasing experiment. This list may contain information from a number of different derivatives; _phasing_MIR_der_site.der_id indicates to which derivative a given record corresponds. (A derivative in this context does not necessarily equate with a data set; see the definition of the PHASING_MIR_DER category for a discussion of the meaning of derivative.) ; _category.id phasing_MIR_der_site _category.mandatory_code no loop_ _category_key.name '_phasing_MIR_der_site.der_id' '_phasing_MIR_der_site.id' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on a paper by Zanotti et al. [J. Biol. Chem. (1993), 268, 10728-10738] with occupancies converted from electrons to fractional. ; ; loop_ _phasing_MIR_der_site.der_id _phasing_MIR_der_site.id _phasing_MIR_der_site.atom_type_symbol _phasing_MIR_der_site.occupancy _phasing_MIR_der_site.fract_x _phasing_MIR_der_site.fract_y _phasing_MIR_der_site.fract_z _phasing_MIR_der_site.B_iso KAu(CN)2 1 Au 0.40 0.082 0.266 0.615 33.0 KAu(CN)2 2 Au 0.03 0.607 0.217 0.816 25.9 KAu(CN)2 3 Au 0.02 0.263 0.782 0.906 15.7 K2HgI4 1 Hg 0.63 0.048 0.286 0.636 33.7 K2HgI4 2 Hg 0.34 0.913 0.768 0.889 36.7 K2HgI4 3 Hg 0.23 0.974 0.455 0.974 24.2 K2HgI4 4 Hg 0.28 0.903 0.836 0.859 14.7 K2HgI4 5 Hg 0.07 0.489 0.200 0.885 6.4 K2HgI4 6 Hg 0.07 0.162 0.799 0.889 32.9 K3IrCl6 1 Ir 0.26 0.209 0.739 0.758 40.8 K3IrCl6 2 Ir 0.05 0.279 0.613 0.752 24.9 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_MIR_der_site.atom_type_symbol _item_description.description ; This data item is a pointer to _atom_type.symbol in the ATOM_TYPE category. The scattering factors referenced via this data item should be those used in the refinement of the heavy-atom data; in some cases this is the scattering factor for the single heavy atom, in other cases these are the scattering factors for an atomic cluster. ; _item.name '_phasing_MIR_der_site.atom_type_symbol' _item.category_id phasing_MIR_der_site _item.mandatory_code yes _item_type.code code save_ save__phasing_MIR_der_site.B_iso _item_description.description ; Isotropic displacement parameter for this heavy-atom site in this derivative. ; _item.name '_phasing_MIR_der_site.B_iso' _item.category_id phasing_MIR_der_site _item.mandatory_code no _item_related.related_name '_phasing_MIR_der_site.B_iso_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__phasing_MIR_der_site.B_iso_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_MIR_der_site.B_iso. ; _item.name '_phasing_MIR_der_site.B_iso_esd' _item.category_id phasing_MIR_der_site _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_phasing_MIR_der_site.B_iso' _item_related.function_code associated_value _item_type.code float _item_units.code angstroms save_ save__phasing_MIR_der_site.Cartn_x _item_description.description ; The x coordinate of this heavy-atom position in this derivative specified as orthogonal angstroms. The orthogonal Cartesian axes are related to the cell axes as specified by the description given in _atom_sites.Cartn_transform_axes. ; _item.name '_phasing_MIR_der_site.Cartn_x' _item.category_id phasing_MIR_der_site _item.mandatory_code no loop_ _item_dependent.dependent_name '_phasing_MIR_der_site.Cartn_y' '_phasing_MIR_der_site.Cartn_z' _item_related.related_name '_phasing_MIR_der_site.Cartn_x_esd' _item_related.function_code associated_esd _item_sub_category.id cartesian_coordinate _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__phasing_MIR_der_site.Cartn_x_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_MIR_der_site.Cartn_x. ; _item.name '_phasing_MIR_der_site.Cartn_x_esd' _item.category_id phasing_MIR_der_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_phasing_MIR_der_site.Cartn_y_esd' '_phasing_MIR_der_site.Cartn_z_esd' _item_related.related_name '_phasing_MIR_der_site.Cartn_x' _item_related.function_code associated_value _item_sub_category.id cartesian_coordinate_esd _item_type.code float _item_units.code angstroms save_ save__phasing_MIR_der_site.Cartn_y _item_description.description ; The y coordinate of this heavy-atom position in this derivative specified as orthogonal angstroms. The orthogonal Cartesian axes are related to the cell axes as specified by the description given in _atom_sites.Cartn_transform_axes. ; _item.name '_phasing_MIR_der_site.Cartn_y' _item.category_id phasing_MIR_der_site _item.mandatory_code no loop_ _item_dependent.dependent_name '_phasing_MIR_der_site.Cartn_x' '_phasing_MIR_der_site.Cartn_z' _item_related.related_name '_phasing_MIR_der_site.Cartn_y_esd' _item_related.function_code associated_esd _item_sub_category.id cartesian_coordinate _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__phasing_MIR_der_site.Cartn_y_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_MIR_der_site.Cartn_y. ; _item.name '_phasing_MIR_der_site.Cartn_y_esd' _item.category_id phasing_MIR_der_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_phasing_MIR_der_site.Cartn_x_esd' '_phasing_MIR_der_site.Cartn_z_esd' _item_related.related_name '_phasing_MIR_der_site.Cartn_y' _item_related.function_code associated_value _item_sub_category.id cartesian_coordinate_esd _item_type.code float _item_units.code angstroms save_ save__phasing_MIR_der_site.Cartn_z _item_description.description ; The z coordinate of this heavy-atom position in this derivative specified as orthogonal angstroms. The orthogonal Cartesian axes are related to the cell axes as specified by the description given in _atom_sites.Cartn_transform_axes. ; _item.name '_phasing_MIR_der_site.Cartn_z' _item.category_id phasing_MIR_der_site _item.mandatory_code no loop_ _item_dependent.dependent_name '_phasing_MIR_der_site.Cartn_x' '_phasing_MIR_der_site.Cartn_y' _item_related.related_name '_phasing_MIR_der_site.Cartn_z_esd' _item_related.function_code associated_esd _item_sub_category.id cartesian_coordinate _item_type.code float _item_type_conditions.code esd _item_units.code angstroms save_ save__phasing_MIR_der_site.Cartn_z_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_MIR_der_site.Cartn_z. ; _item.name '_phasing_MIR_der_site.Cartn_z_esd' _item.category_id phasing_MIR_der_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_phasing_MIR_der_site.Cartn_x_esd' '_phasing_MIR_der_site.Cartn_y_esd' _item_related.related_name '_phasing_MIR_der_site.Cartn_z' _item_related.function_code associated_value _item_sub_category.id cartesian_coordinate_esd _item_type.code float _item_units.code angstroms save_ save__phasing_MIR_der_site.der_id _item_description.description ; This data item is a pointer to _phasing_MIR_der.id in the PHASING_MIR_DER category. ; _item.name '_phasing_MIR_der_site.der_id' _item.mandatory_code yes save_ save__phasing_MIR_der_site.details _item_description.description ; A description of special aspects of the derivative site. ; _item.name '_phasing_MIR_der_site.details' _item.category_id phasing_MIR_der_site _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'binds to His 117' 'minor site obtained from difference Fourier' 'same as site 2 in the K2HgI4 derivative' save_ save__phasing_MIR_der_site.fract_x _item_description.description ; The x coordinate of this heavy-atom position in this derivative specified as a fraction of _cell.length_a. ; _item.name '_phasing_MIR_der_site.fract_x' _item.category_id phasing_MIR_der_site _item.mandatory_code no loop_ _item_dependent.dependent_name '_phasing_MIR_der_site.fract_y' '_phasing_MIR_der_site.fract_z' _item_related.related_name '_phasing_MIR_der_site.fract_x_esd' _item_related.function_code associated_esd _item_sub_category.id fractional_coordinate _item_type.code float _item_type_conditions.code esd save_ save__phasing_MIR_der_site.fract_x_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_MIR_der_site.fract_x. ; _item.name '_phasing_MIR_der_site.fract_x_esd' _item.category_id phasing_MIR_der_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_phasing_MIR_der_site.fract_y_esd' '_phasing_MIR_der_site.fract_z_esd' _item_related.related_name '_phasing_MIR_der_site.fract_x' _item_related.function_code associated_value _item_sub_category.id fractional_coordinate_esd _item_type.code float save_ save__phasing_MIR_der_site.fract_y _item_description.description ; The y coordinate of this heavy-atom position in this derivative specified as a fraction of _cell.length_b. ; _item.name '_phasing_MIR_der_site.fract_y' _item.category_id phasing_MIR_der_site _item.mandatory_code no loop_ _item_dependent.dependent_name '_phasing_MIR_der_site.fract_x' '_phasing_MIR_der_site.fract_z' _item_related.related_name '_phasing_MIR_der_site.fract_y_esd' _item_related.function_code associated_esd _item_sub_category.id fractional_coordinate _item_type.code float _item_type_conditions.code esd save_ save__phasing_MIR_der_site.fract_y_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_MIR_der_site.fract_y. ; _item.name '_phasing_MIR_der_site.fract_y_esd' _item.category_id phasing_MIR_der_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_phasing_MIR_der_site.fract_x_esd' '_phasing_MIR_der_site.fract_z_esd' _item_related.related_name '_phasing_MIR_der_site.fract_y' _item_related.function_code associated_value _item_sub_category.id fractional_coordinate_esd _item_type.code float save_ save__phasing_MIR_der_site.fract_z _item_description.description ; The z coordinate of this heavy-atom position in this derivative specified as a fraction of _cell.length_c. ; _item.name '_phasing_MIR_der_site.fract_z' _item.category_id phasing_MIR_der_site _item.mandatory_code no loop_ _item_dependent.dependent_name '_phasing_MIR_der_site.fract_x' '_phasing_MIR_der_site.fract_y' _item_related.related_name '_phasing_MIR_der_site.fract_z_esd' _item_related.function_code associated_esd _item_sub_category.id fractional_coordinate _item_type.code float _item_type_conditions.code esd save_ save__phasing_MIR_der_site.fract_z_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_MIR_der_site.fract_z. ; _item.name '_phasing_MIR_der_site.fract_z_esd' _item.category_id phasing_MIR_der_site _item.mandatory_code no # _item_default.value 0.0 loop_ _item_dependent.dependent_name '_phasing_MIR_der_site.fract_x_esd' '_phasing_MIR_der_site.fract_y_esd' _item_related.related_name '_phasing_MIR_der_site.fract_z' _item_related.function_code associated_value _item_sub_category.id fractional_coordinate_esd _item_type.code float save_ save__phasing_MIR_der_site.id _item_description.description ; The value of _phasing_MIR_der_site.id must uniquely identify each site in each derivative in the PHASING_MIR_DER_SITE list. The atom identifiers need not be unique over all sites in all derivatives; they need only be unique for each site in each derivative. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_phasing_MIR_der_site.id' _item.category_id phasing_MIR_der_site _item.mandatory_code yes _item_type.code code save_ save__phasing_MIR_der_site.occupancy _item_description.description ; The fraction of the atom type present at this heavy-atom site in a given derivative. The sum of the occupancies of all the atom types at this site may not significantly exceed 1.0 unless it is a dummy site. ; _item.name '_phasing_MIR_der_site.occupancy' _item.category_id phasing_MIR_der_site _item.mandatory_code no _item_default.value 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_der_site.occupancy_anom _item_description.description ; The relative anomalous occupancy of the atom type present at this heavy-atom site in a given derivative. This atom occupancy will probably be on an arbitrary scale. ; _item.name '_phasing_MIR_der_site.occupancy_anom' _item.category_id phasing_MIR_der_site _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_der_site.ebi_occupancy_anom' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _item_related.related_name '_phasing_MIR_der_site.occupancy_anom_su' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd save_ save__phasing_MIR_der_site.occupancy_anom_su _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_MIR_der_site.occupancy_anom. ; _item.name '_phasing_MIR_der_site.occupancy_anom_su' _item.category_id phasing_MIR_der_site _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_der_site.ebi_occupancy_anom_esd' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 # _item_default.value 0.0 _item_related.related_name '_phasing_MIR_der_site.occupancy_anom' _item_related.function_code associated_value _item_type.code float save_ save__phasing_MIR_der_site.occupancy_iso _item_description.description ; The relative real isotropic occupancy of the atom type present at this heavy-atom site in a given derivative. This atom occupancy will probably be on an arbitrary scale. ; _item.name '_phasing_MIR_der_site.occupancy_iso' _item.category_id phasing_MIR_der_site _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_der_site.ebi_occupancy_iso' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _item_related.related_name '_phasing_MIR_der_site.occupancy_iso_su' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd save_ save__phasing_MIR_der_site.occupancy_iso_su _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_MIR_der_site.occupancy_iso. ; _item.name '_phasing_MIR_der_site.occupancy_iso_su' _item.category_id phasing_MIR_der_site _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_der_site.ebi_occupancy_iso_esd' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 # _item_default.value 0.0 _item_related.related_name '_phasing_MIR_der_site.occupancy_iso' _item_related.function_code associated_value _item_type.code float save_ ####################### ## PHASING_MIR_SHELL ## ####################### save_phasing_MIR_shell _category.description ; Data items in the PHASING_MIR_SHELL category record statistics for an isomorphous replacement phasing experiment.broken down into shells of resolution. ; _category.id phasing_MIR_shell _category.mandatory_code no loop_ _category_key.name '_phasing_MIR_shell.d_res_low' '_phasing_MIR_shell.d_res_high' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on a paper by Zanotti et al. [J. Biol. Chem. (1993), 268, 10728-10738] with addition of an arbitrary low-resolution limit. ; ; loop_ _phasing_MIR_shell.d_res_low _phasing_MIR_shell.d_res_high _phasing_MIR_shell.reflns _phasing_MIR_shell.FOM 15.0 8.3 80 0.69 8.3 6.4 184 0.73 6.4 5.2 288 0.72 5.2 4.4 406 0.65 4.4 3.8 554 0.54 3.8 3.4 730 0.53 3.4 3.0 939 0.50 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_MIR_shell.d_res_high _item_description.description ; The lowest value for the interplanar spacings for the reflection data in this shell. This is called the highest resolution. Note that the resolution limits of shells in the items _phasing_MIR_shell.d_res_high and _phasing_MIR_shell.d_res_low are independent of the resolution limits of shells in the items _reflns_shell.d_res_high and _reflns_shell.d_res_low. ; _item.name '_phasing_MIR_shell.d_res_high' _item.category_id phasing_MIR_shell _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__phasing_MIR_shell.d_res_low _item_description.description ; The highest value for the interplanar spacings for the reflection data in this shell. This is called the lowest resolution. Note that the resolution limits of shells in the items _phasing_MIR_shell.d_res_high and _phasing_MIR_shell.d_res_low are independent of the resolution limits of shells in the items _reflns_shell.d_res_high and _reflns_shell.d_res_low. ; _item.name '_phasing_MIR_shell.d_res_low' _item.category_id phasing_MIR_shell _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__phasing_MIR_shell.FOM _item_description.description ; The mean value of the figure of merit m for reflections in this shell. int P~alpha~ exp(i*alpha) dalpha m = -------------------------------- int P~alpha~ dalpha P~alpha~ = the probability that the phase angle alpha is correct the integral is taken over the range alpha = 0 to 2 pi. ; _item.name '_phasing_MIR_shell.FOM' _item.category_id phasing_MIR_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_shell.FOM_acentric _item_description.description ; The mean value of the figure of merit m for acentric reflections in this shell. int P~alpha~ exp(i*alpha) dalpha m = -------------------------------- int P~alpha~ dalpha P~a~ = the probability that the phase angle a is correct the integral is taken over the range alpha = 0 to 2 pi. ; _item.name '_phasing_MIR_shell.FOM_acentric' _item.category_id phasing_MIR_shell _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_shell.ebi_fom_acentric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_shell.FOM_centric _item_description.description ; The mean value of the figure of merit m for centric reflections in this shell. int P~alpha~ exp(i*alpha) dalpha m = -------------------------------- int P~alpha~ dalpha P~a~ = the probability that the phase angle a is correct the integral is taken over the range alpha = 0 to 2 pi. ; _item.name '_phasing_MIR_shell.FOM_centric' _item.category_id phasing_MIR_shell _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_shell.ebi_fom_centric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_shell.loc _item_description.description ; The mean lack-of-closure error loc for reflections in this shell. loc = sum|Fph~obs~ - Fph~calc~| Fph~obs~ = the observed structure-factor amplitude of the derivative Fph~calc~ = the calculated structure-factor amplitude of the derivative sum is taken over the specified reflections ; _item.name '_phasing_MIR_shell.loc' _item.category_id phasing_MIR_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_shell.mean_phase _item_description.description ; The mean of the phase values for all reflections in this shell. ; _item.name '_phasing_MIR_shell.mean_phase' _item.category_id phasing_MIR_shell _item.mandatory_code no _item_type.code float save_ save__phasing_MIR_shell.power _item_description.description ; The mean phasing power P for reflections in this shell. sum|Fh~calc~^2^| P = (----------------------------)^1/2^ sum|Fph~obs~ - Fph~calc~|^2^ Fph~obs~ = the observed structure-factor amplitude of the derivative Fph~calc~ = the calculated structure-factor amplitude of the derivative Fh~calc~ = the calculated structure-factor amplitude from the heavy-atom model sum is taken over the specified reflections ; _item.name '_phasing_MIR_shell.power' _item.category_id phasing_MIR_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_shell.R_cullis _item_description.description ; Residual factor R~cullis~ for centric reflections in this shell. sum| |Fph~obs~ +/- Fp~obs~| - Fh~calc~ | R~cullis~ = ---------------------------------------- sum|Fph~obs~ - Fp~obs~| Fp~obs~ = the observed structure-factor amplitude of the native Fph~obs~ = the observed structure-factor amplitude of the derivative Fh~calc~ = the calculated structure-factor amplitude from the heavy-atom model sum is taken over the specified reflections Ref: Cullis, A. F., Muirhead, H., Perutz, M. F., Rossmann, M. G. & North, A. C. T. (1961). Proc. R. Soc. London Ser. A, 265, 15-38. ; _item.name '_phasing_MIR_shell.R_cullis' _item.category_id phasing_MIR_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_shell.R_kraut _item_description.description ; Residual factor R~kraut~ for general reflections in this shell. sum|Fph~obs~ - Fph~calc~| R~kraut~ = ------------------------- sum|Fph~obs~| Fph~obs~ = the observed structure-factor amplitude of the derivative Fph~calc~ = the calculated structure-factor amplitude of the derivative sum is taken over the specified reflections Ref: Kraut, J., Sieker, L. C., High, D. F. & Freer, S. T. (1962). Proc. Natl Acad. Sci. USA, 48, 1417-1424. ; _item.name '_phasing_MIR_shell.R_kraut' _item.category_id phasing_MIR_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__phasing_MIR_shell.reflns _item_description.description ; The number of reflections in this shell. ; _item.name '_phasing_MIR_shell.reflns' _item.category_id phasing_MIR_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__phasing_MIR_shell.reflns_acentric _item_description.description ; The number of acentric reflections in this shell. ; _item.name '_phasing_MIR_shell.reflns_acentric' _item.category_id phasing_MIR_shell _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_shell.ebi_reflns_acentric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__phasing_MIR_shell.reflns_anomalous _item_description.description ; The number of anomalous reflections in this shell. ; _item.name '_phasing_MIR_shell.reflns_anomalous' _item.category_id phasing_MIR_shell _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_shell.ebi_reflns_anomalous' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__phasing_MIR_shell.reflns_centric _item_description.description ; The number of centric reflections in this shell. ; _item.name '_phasing_MIR_shell.reflns_centric' _item.category_id phasing_MIR_shell _item.mandatory_code no # _item_aliases.alias_name '_phasing_MIR_shell.ebi_reflns_centric' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ ################# ## PHASING_SET ## ################# save_phasing_set _category.description ; Data items in the PHASING_SET category record details about the data sets used in a phasing experiment. A given data set may be used in a number of different ways; for instance, a single data set could be used both as an isomorphous derivative and as a component of a multiple-wavelength calculation. This category establishes identifiers for each data set and permits the archiving of a subset of experimental information for each data set (cell constants, wavelength, temperature etc.). This and related categories of data items are provided so that derivative intensity and phase information can be stored in the same data block as the information for the refined structure. If all the possible experimental information for each data set (raw data sets, crystal growth conditions etc.) is to be archived, these data items should be recorded in a separate data block. ; _category.id phasing_set _category.mandatory_code no _category_key.name '_phasing_set.id' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for an Hg/Pt derivative of protein NS1. ; ; _phasing_set.id 'NS1-96' _phasing_set.cell_angle_alpha 90.0 _phasing_set.cell_angle_beta 90.0 _phasing_set.cell_angle_gamma 90.0 _phasing_set.cell_length_a 38.63 _phasing_set.cell_length_b 38.63 _phasing_set.cell_length_c 82.88 _phasing_set.radiation_wavelength 1.5145 _phasing_set.detector_type 'image plate' _phasing_set.detector_specific 'RXII' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_set.cell_angle_alpha _item_description.description ; Unit-cell angle alpha for this data set in degrees. ; _item.name '_phasing_set.cell_angle_alpha' _item.category_id phasing_set _item.mandatory_code no _item_default.value 90.0 loop_ _item_dependent.dependent_name '_phasing_set.cell_angle_beta' '_phasing_set.cell_angle_gamma' loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 0.0 0.0 0.0 _item_sub_category.id cell_angle _item_type.code float _item_units.code degrees save_ save__phasing_set.cell_angle_beta _item_description.description ; Unit-cell angle beta for this data set in degrees. ; _item.name '_phasing_set.cell_angle_beta' _item.category_id phasing_set _item.mandatory_code no _item_default.value 90.0 loop_ _item_dependent.dependent_name '_phasing_set.cell_angle_alpha' '_phasing_set.cell_angle_gamma' loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 0.0 0.0 0.0 _item_sub_category.id cell_angle _item_type.code float _item_units.code degrees save_ save__phasing_set.cell_angle_gamma _item_description.description ; Unit-cell angle gamma for this data set in degrees. ; _item.name '_phasing_set.cell_angle_gamma' _item.category_id phasing_set _item.mandatory_code no _item_default.value 90.0 loop_ _item_dependent.dependent_name '_phasing_set.cell_angle_alpha' '_phasing_set.cell_angle_beta' loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 0.0 0.0 0.0 _item_sub_category.id cell_angle _item_type.code float _item_units.code degrees save_ save__phasing_set.cell_length_a _item_description.description ; Unit-cell length a for this data set in angstroms. ; _item.name '_phasing_set.cell_length_a' _item.category_id phasing_set _item.mandatory_code no loop_ _item_dependent.dependent_name '_phasing_set.cell_length_b' '_phasing_set.cell_length_c' loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_sub_category.id cell_length _item_type.code float _item_units.code angstroms save_ save__phasing_set.cell_length_b _item_description.description ; Unit-cell length b for this data set in angstroms. ; _item.name '_phasing_set.cell_length_b' _item.category_id phasing_set _item.mandatory_code no loop_ _item_dependent.dependent_name '_phasing_set.cell_length_a' '_phasing_set.cell_length_c' loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_sub_category.id cell_length _item_type.code float _item_units.code angstroms save_ save__phasing_set.cell_length_c _item_description.description ; Unit-cell length c for this data set in angstroms. ; _item.name '_phasing_set.cell_length_c' _item.category_id phasing_set _item.mandatory_code no loop_ _item_dependent.dependent_name '_phasing_set.cell_length_a' '_phasing_set.cell_length_b' loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_sub_category.id cell_length _item_type.code float _item_units.code angstroms save_ save__phasing_set.detector_specific _item_description.description ; The particular radiation detector. In general, this will be a manufacturer, description, model number or some combination of these. ; _item.name '_phasing_set.detector_specific' _item.category_id phasing_set _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Siemens model x' 'Kodak XG' 'MAR Research model y' save_ save__phasing_set.detector_type _item_description.description ; The general class of the radiation detector. ; _item.name '_phasing_set.detector_type' _item.category_id phasing_set _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'multiwire' 'imaging plate' 'CCD' 'film' save_ save__phasing_set.id _item_description.description ; The value of _phasing_set.id must uniquely identify a record in the PHASING_SET list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_phasing_set.id' phasing_set yes '_phasing_set_refln.set_id' phasing_set_refln yes '_phasing_MAD_set.set_id' phasing_MAD_set yes '_phasing_MIR_der.der_set_id' phasing_MIR_der yes '_phasing_MIR_der.native_set_id' phasing_MIR_der yes '_phasing_MIR_der_refln.set_id' phasing_MIR_der_refln yes loop_ _item_linked.child_name _item_linked.parent_name '_phasing_set_refln.set_id' '_phasing_set.id' '_phasing_MAD_set.set_id' '_phasing_set.id' '_phasing_MIR_der.der_set_id' '_phasing_set.id' '_phasing_MIR_der.native_set_id' '_phasing_set.id' '_phasing_MIR_der_refln.set_id' '_phasing_set.id' _item_type.code line loop_ _item_examples.case 'KAu(CN)2' 'K2HgI4' save_ save__phasing_set.radiation_source_specific _item_description.description ; The particular source of radiation. In general, this will be a manufacturer, description, or model number (or some combination of these) for laboratory sources and an institution name and beamline name for synchrotron sources. ; _item.name '_phasing_set.radiation_source_specific' _item.category_id phasing_set _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Rigaku RU200' 'Philips fine focus Mo' 'NSLS beamline X8C' save_ save__phasing_set.radiation_wavelength _item_description.description ; The mean wavelength of the radiation used to measure this data set. ; _item.name '_phasing_set.radiation_wavelength' _item.category_id phasing_set _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__phasing_set.temp _item_description.description ; The temperature in kelvins at which the data set was measured. ; _item.name '_phasing_set.temp' _item.category_id phasing_set _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code kelvins save_ ####################### ## PHASING_SET_REFLN ## ####################### save_phasing_set_refln _category.description ; Data items in the PHASING_SET_REFLN category record the values of the measured structure factors used in a phasing experiment. This list may contain information from a number of different data sets; _phasing_set_refln.set_id indicates the data set to which a given record corresponds. ; _category.id phasing_set_refln _category.mandatory_code no loop_ _category_key.name '_phasing_set_refln.index_h' '_phasing_set_refln.index_k' '_phasing_set_refln.index_l' '_phasing_set_refln.set_id' loop_ _category_group.id 'inclusive_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for the 15,15,32 reflection of an Hg/Pt derivative of protein NS1. ; ; _phasing_set_refln.set_id 'NS1-96' _phasing_set_refln.index_h 15 _phasing_set_refln.index_k 15 _phasing_set_refln.index_l 32 _phasing_set_refln.F_meas_au 181.79 _phasing_set_refln.F_meas_sigma_au 3.72 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__phasing_set_refln.set_id _item_description.description ; This data item is a pointer to _phasing_set.id in the PHASING_SET category. ; _item.name '_phasing_set_refln.set_id' _item.mandatory_code yes save_ save__phasing_set_refln.F_meas _item_description.description ; The measured value of the structure factor for this reflection in this data set in electrons. ; _item.name '_phasing_set_refln.F_meas' _item.category_id phasing_set_refln _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_phasing_set_refln.F_meas_sigma' associated_esd '_phasing_set_refln.F_meas_au' conversion_arbitrary _item_type.code float _item_type_conditions.code esd _item_units.code electrons save_ save__phasing_set_refln.F_meas_au _item_description.description ; The measured value of the structure factor for this reflection in this data set in arbitrary units. ; _item.name '_phasing_set_refln.F_meas_au' _item.category_id phasing_set_refln _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_phasing_set_refln.F_meas_sigma_au' associated_esd '_phasing_set_refln.F_meas' conversion_arbitrary _item_type.code float _item_type_conditions.code esd _item_units.code arbitrary save_ save__phasing_set_refln.F_meas_sigma _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_set_refln.F_meas in electrons. ; _item.name '_phasing_set_refln.F_meas_sigma' _item.category_id phasing_set_refln _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_phasing_set_refln.F_meas' associated_value '_phasing_set_refln.F_meas_sigma_au' conversion_arbitrary _item_type.code float _item_units.code electrons save_ save__phasing_set_refln.F_meas_sigma_au _item_description.description ; The standard uncertainty (estimated standard deviation) of _phasing_set_refln.F_meas_au in arbitrary units. ; _item.name '_phasing_set_refln.F_meas_sigma_au' _item.category_id phasing_set_refln _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_phasing_set_refln.F_meas_au' associated_value '_phasing_set_refln.F_meas_sigma' conversion_arbitrary _item_type.code float _item_units.code arbitrary save_ save__phasing_set_refln.index_h _item_description.description ; Miller index h of this reflection in this data set. ; _item.name '_phasing_set_refln.index_h' _item.category_id phasing_set_refln _item.mandatory_code yes loop_ _item_dependent.dependent_name '_phasing_set_refln.index_k' '_phasing_set_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__phasing_set_refln.index_k _item_description.description ; Miller index k of this reflection in this data set. ; _item.name '_phasing_set_refln.index_k' _item.category_id phasing_set_refln _item.mandatory_code yes loop_ _item_dependent.dependent_name '_phasing_set_refln.index_h' '_phasing_set_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__phasing_set_refln.index_l _item_description.description ; Miller index l of this reflection in this data set. ; _item.name '_phasing_set_refln.index_l' _item.category_id phasing_set_refln _item.mandatory_code yes loop_ _item_dependent.dependent_name '_phasing_set_refln.index_h' '_phasing_set_refln.index_k' _item_sub_category.id miller_index _item_type.code int save_ ########## ## PUBL ## ########## save_publ _category.description ; Data items in the PUBL category are used when submitting a manuscript for publication. ; _category.id publ _category.mandatory_code no _category_key.name '_publ.entry_id' loop_ _category_group.id 'inclusive_group' 'iucr_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; _publ.entry_id 1ABC _publ.section_title ; trans-3-Benzoyl-2-(tert-butyl)-4-(iso-butyl)- 1,3-oxazolidin-5-one ; _publ.section_abstract ; The oxazolidinone ring is a shallow envelope conformation with the tert-butyl and iso-butyl groups occupying trans-positions with respect to the ring. The angles at the N atom sum to 356.2\%, indicating a very small degree of pyramidalization at this atom. This is consistent with electron delocalization between the N atom and the carbonyl centre [N-C=O = 1.374(3)\%A]. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on C~31~H~48~N~4~O~4~, reported by Coleman, Patrick, Andersen & Rettig [Acta Cryst. (1996), C52, 1525-1527]. ; ; _publ.entry_id 1ABC _publ.section_title ; Hemiasterlin methyl ester ; _publ.section_title_footnote ; IUPAC name: methyl 2,5-dimethyl-4-{2-[3-methyl- 2-methylamino-3-(N-methylbenzo[b]pyrrol- 3-yl)butanamido]-3,3-dimethyl-N-methyl- butanamido}-2-hexenoate. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__publ.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_publ.entry_id' _item.mandatory_code yes save_ save__publ.contact_author _item_description.description ; The name and address of the author submitting the manuscript and data block. This is the person contacted by the journal editorial staff. It is preferable to use the separate data items _publ.contact_author_name and _publ.contact_author_address. ; _item.name '_publ.contact_author' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_contact_author' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case ; Professor George Ferguson Department of Chemistry and Biochemistry University of Guelph Ontario Canada N1G 2W1 ; save_ save__publ.contact_author_address _item_description.description ; The address of the author submitting the manuscript and data block. This is the person contacted by the journal editorial staff. ; _item.name '_publ.contact_author_address' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_contact_author_address' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case ; Department of Chemistry and Biochemistry University of Guelph Ontario Canada N1G 2W1 ; save_ save__publ.contact_author_email _item_description.description ; E-mail address in a form recognizable to international networks. The format of e-mail addresses is given in Section 3.4, Address Specification, of Internet Message Format, RFC 2822, P. Resnick (Editor), Network Standards Group, April 2001. ; _item.name '_publ.contact_author_email' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_contact_author_email' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case 'name@host.domain.country' 'uur5@banjo.bitnet' save_ save__publ.contact_author_fax _item_description.description ; Facsimile telephone number of the author submitting the manuscript and data block. The recommended style starts with the international dialing prefix, followed by the area code in parentheses, followed by the local number with no spaces. The earlier convention of including the international dialing prefix in parentheses is no longer recommended. ; _item.name '_publ.contact_author_fax' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_contact_author_fax' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case '12(34)9477330' '12()349477330' save_ save__publ.contact_author_name _item_description.description ; The name of the author submitting the manuscript and data block. This is the person contacted by the journal editorial staff. ; _item.name '_publ.contact_author_name' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_contact_author_name' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case ; Professor George Ferguson ; save_ save__publ.contact_author_phone _item_description.description ; Telephone number of the author submitting the manuscript and data block. The recommended style starts with the international dialing prefix, followed by the area code in parentheses, followed by the local number and any extension number prefixed by 'x', with no spaces. The earlier convention of including the international dialing prefix in parentheses is no longer recommended. ; _item.name '_publ.contact_author_phone' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_contact_author_phone' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case '12(34)9477330' '12()349477330' '12(34)9477330x5543' save_ save__publ.contact_letter _item_description.description ; A letter submitted to the journal editor by the contact author. ; _item.name '_publ.contact_letter' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_contact_letter' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.manuscript_creation _item_description.description ; A description of the word-processor package and computer used to create the word-processed manuscript stored as _publ.manuscript_processed. ; _item.name '_publ.manuscript_creation' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_manuscript_creation' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case 'Tex file created by FrameMaker on a Sun 3/280' save_ save__publ.manuscript_processed _item_description.description ; The full manuscript of a paper (excluding possibly the figures and the tables) output in ASCII characters from a word processor. Information about the generation of this data item must be specified in the data item _publ.manuscript_creation. ; _item.name '_publ.manuscript_processed' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_manuscript_processed' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.manuscript_text _item_description.description ; The full manuscript of a paper (excluding figures and possibly the tables) output as standard ASCII text. ; _item.name '_publ.manuscript_text' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_manuscript_text' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.requested_category _item_description.description ; The category of paper submitted. For submission to Acta Crystallographica Section C or Acta Crystallographica Section E, ONLY the codes indicated for use with these journals should be used. ; _item.name '_publ.requested_category' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_requested_category' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value FA _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail FA 'Full article' FI 'Full submission - inorganic (Acta C)' FO 'Full submission - organic (Acta C)' FM 'Full submission - metal-organic (Acta C)' CI 'CIF-access paper - inorganic (Acta C) (no longer in use)' CO 'CIF-access paper - organic (Acta C) (no longer in use)' CM 'CIF-access paper - metal-organic (Acta C) (no longer in use)' EI 'Electronic submission - inorganic (Acta E)' EO 'Electronic submission - organic (Acta E)' EM 'Electronic submission - metal-organic (Acta E)' AD 'Addenda and Errata (Acta C, Acta E)' SC 'Short communication' save_ save__publ.requested_coeditor_name _item_description.description ; The name of the co-editor whom the authors would like to handle the submitted manuscript. ; _item.name '_publ.requested_coeditor_name' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_requested_coeditor_name' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__publ.requested_journal _item_description.description ; The name of the journal to which the manuscript is being submitted. ; _item.name '_publ.requested_journal' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_requested_journal' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line save_ save__publ.section_abstract _item_description.description ; The abstract section of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_abstract' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_abstract' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_acknowledgements _item_description.description ; The acknowledgements section of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_acknowledgements' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_acknowledgements' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_comment _item_description.description ; The comment section of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_comment' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_comment' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_discussion _item_description.description ; The discussion section of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_discussion' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_discussion' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_experimental _item_description.description ; The experimental section of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. The _publ.section_exptl_prep, _publ.section_exptl_solution and _publ.section_exptl_refinement items are preferred for separating the chemical preparation, structure solution and refinement aspects of the description of the experiment. ; _item.name '_publ.section_experimental' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_experimental' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_exptl_prep _item_description.description ; The experimental preparation section of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_exptl_prep' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_exptl_prep' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_exptl_refinement _item_description.description ; The experimental refinement section of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_exptl_refinement' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_exptl_refinement' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_exptl_solution _item_description.description ; The experimental solution section of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_exptl_solution' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_exptl_solution' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_figure_captions _item_description.description ; The figure captions section of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_figure_captions' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_figure_captions' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_introduction _item_description.description ; The introduction section of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_introduction' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_introduction' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_references _item_description.description ; The references section of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_references' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_references' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_synopsis _item_description.description ; The synopsis section of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_synopsis' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_synopsis' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_table_legends _item_description.description ; The table legends section of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_table_legends' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_table_legends' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_title _item_description.description ; The title of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_title' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_title' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ.section_title_footnote _item_description.description ; The footnote to the title of a manuscript if the manuscript is submitted in parts. As an alternative see _publ.manuscript_text and _publ.manuscript_processed. ; _item.name '_publ.section_title_footnote' _item.category_id publ _item.mandatory_code no _item_aliases.alias_name '_publ_section_title_footnote' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ ################# ## PUBL_AUTHOR ## ################# save_publ_author _category.description ; Data items in the PUBL_AUTHOR category record details of the authors of a manuscript submitted for publication. ; _category.id publ_author _category.mandatory_code no _category_key.name '_publ_author.name' loop_ _category_group.id 'inclusive_group' 'iucr_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; loop_ _publ_author.name _publ_author.address 'Willis, Anthony C.' ; Research School of Chemistry Australian National University GPO Box 4 Canberra, A.C.T. Australia 2601 ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__publ_author.address _item_description.description ; The address of a publication author. If there is more than one author this is looped with _publ_author.name. ; _item.name '_publ_author.address' _item.category_id publ_author _item.mandatory_code no _item_aliases.alias_name '_publ_author_address' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case ; Department Institute Street City and postcode COUNTRY ; save_ save__publ_author.email _item_description.description ; The e-mail address of a publication author. If there is more than one author, this will be looped with _publ_author.name. The format of e-mail addresses is given in Section 3.4, Address Specification, of Internet Message Format, RFC 2822, P. Resnick (Editor), Network Standards Group, April 2001. ; _item.name '_publ_author.email' _item.category_id publ_author _item.mandatory_code no _item_aliases.alias_name '_publ_author_email' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.3.1 _item_type.code text loop_ _item_examples.case name@host.domain.country bm@iucr.org save_ save__publ_author.footnote _item_description.description ; A footnote accompanying an author's name in the list of authors of a paper. Typically indicates sabbatical address, additional affiliations or date of decease. ; _item.name '_publ_author.footnote' _item.category_id publ_author _item.mandatory_code no _item_aliases.alias_name '_publ_author_footnote' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case 'On leave from U. Western Australia' 'Also at Department of Biophysics' save_ save__publ_author.name _item_description.description ; The name of a publication author. If there are multiple authors this will be looped with _publ_author.address. The family name(s), followed by a comma and including any dynastic components, precedes the first names or initials. ; _item.name '_publ_author.name' _item.category_id publ_author _item.mandatory_code yes _item_aliases.alias_name '_publ_author_name' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case 'Bleary, Percival R.' 'O'Neil, F.K.' 'Van den Bossche, G.' 'Yang, D.-L.' 'Simonov, Yu.A' save_ ############### ## PUBL_BODY ## ############### save_publ_body _category.description ; Data items in the PUBL_BODY category permit the labelling of different text sections within the body of a paper. Note that these should not be used in a paper which has a standard format with sections tagged by specific data names (such as in Acta Crystallographica Section C). Typically, each journal will supply a list of the specific items it requires in its Notes for Authors. ; _category.id publ_body _category.mandatory_code no loop_ _category_key.name '_publ_body.element' '_publ_body.label' loop_ _category_group.id 'inclusive_group' 'iucr_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on a paper by R. Restori & D. Schwarzenbach [Acta Cryst. (1996), A52, 369-378]. ; ; loop_ _publ_body.element _publ_body.label _publ_body.title _publ_body.format _publ_body.contents section 1 Introduction cif ; X-ray diffraction from a crystalline material provides information on the thermally and spatially averaged electron density in the crystal... ; section 2 Theory tex ; In the rigid-atom approximation, the dynamic electron density of an atom is described by the convolution product of the static atomic density and a probability density function, $\rho_{dyn}(\bf r) = \rho_{stat}(\bf r) * P(\bf r). \eqno(1)$ ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on a paper by R. J. Papoular, Y. Vekhter & P. Coppens [Acta Cryst. (1996), A52, 397-407]. ; ; loop_ _publ_body.element _publ_body.label _publ_body.title _publ_body.contents section 3 ; The two-channel method for retrieval of the deformation electron density ; . subsection 3.1 'The two-channel entropy S[\D\r(r)]' ; As the wide dynamic range involved in the total electron density... ; subsection 3.2 'Uniform vs informative prior model densities' . subsubsection 3.2.1 'Use of uniform models' ; Straightforward algebra leads to expressions analogous to... ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__publ_body.contents _item_description.description ; A text section of a paper. ; _item.name '_publ_body.contents' _item.category_id publ_body _item.mandatory_code no _item_aliases.alias_name '_publ_body_contents' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__publ_body.element _item_description.description ; The functional role of the associated text section. ; _item.name '_publ_body.element' _item.category_id publ_body _item.mandatory_code yes _item_aliases.alias_name '_publ_body_element' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code code loop_ _item_enumeration.value 'section' 'subsection' 'subsubsection' 'appendix' 'footnote' save_ save__publ_body.format _item_description.description ; Code indicating the appropriate typesetting conventions for accented characters and special symbols in the text section. ; _item.name '_publ_body.format' _item.category_id publ_body _item.mandatory_code no _item_aliases.alias_name '_publ_body_format' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail ascii 'no coding for special symbols' cif 'CIF convention' latex 'LaTeX' sgml 'SGML (ISO 8879)' tex 'TeX' troff 'troff or nroff' save_ save__publ_body.label _item_description.description ; Code identifying the section of text. ; _item.name '_publ_body.label' _item.category_id publ_body _item.mandatory_code yes _item_aliases.alias_name '_publ_body_label' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code code loop_ _item_examples.case '1' '1.1' '2.1.3' save_ save__publ_body.title _item_description.description ; Title of the associated section of text. ; _item.name '_publ_body.title' _item.category_id publ_body _item.mandatory_code no _item_aliases.alias_name '_publ_body_title' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ ########################## ## PUBL_MANUSCRIPT_INCL ## ########################## save_publ_manuscript_incl _category.description ; Data items in the PUBL_MANUSCRIPT_INCL category allow the authors of a manuscript submitted for publication to list data names that should be added to the standard request list used by the journal printing software. ; _category.id publ_manuscript_incl _category.mandatory_code no _category_key.name '_publ_manuscript_incl.entry_id' loop_ _category_group.id 'inclusive_group' 'iucr_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - hypothetical example. ; ; loop_ _publ_manuscript_incl.entry_id _publ_manuscript_incl.extra_item _publ_manuscript_incl.extra_info _publ_manuscript_incl.extra_defn 'EXAMHYPO' '_atom_site.symmetry_multiplicity' 'to emphasise special sites' yes 'EXAMHYPO' '_chemical.compound_source' 'rare material, unusual source' yes 'EXAMHYPO' '_reflns.d_resolution_high' 'limited data is a problem here' yes 'EXAMHYPO' '_crystal.magnetic_permeability' 'unusual value for this material' no ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__publ_manuscript_incl.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_publ_manuscript_incl.entry_id' _item.mandatory_code yes save_ save__publ_manuscript_incl.extra_defn _item_description.description ; Flags whether the corresponding data item marked for inclusion in a journal request list is a standard CIF definition or not. ; _item.name '_publ_manuscript_incl.extra_defn' _item.category_id publ_manuscript_incl _item.mandatory_code no _item_aliases.alias_name '_publ_manuscript_incl_extra_defn' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail no 'not a standard CIF data name' n 'abbreviation for "no"' yes 'a standard CIF data name' y 'abbreviation for "yes"' save_ save__publ_manuscript_incl.extra_info _item_description.description ; A short note indicating the reason why the author wishes the corresponding data item marked for inclusion in the journal request list to be published. ; _item.name '_publ_manuscript_incl.extra_info' _item.category_id publ_manuscript_incl _item.mandatory_code no _item_aliases.alias_name '_publ_manuscript_incl_extra_info' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text loop_ _item_examples.case 'to emphasise very special sites' 'rare material from unusual source' 'the limited data is a problem here' 'a new data quantity needed here' save_ save__publ_manuscript_incl.extra_item _item_description.description ; Specifies the inclusion of specific data into a manuscript which are not normally requested by the journal. The values of this item are the extra data names (which MUST be enclosed in single quotes) that will be added to the journal request list. ; _item.name '_publ_manuscript_incl.extra_item' _item.category_id publ_manuscript_incl _item.mandatory_code no _item_aliases.alias_name '_publ_manuscript_incl_extra_item' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case '_atom_site.symmetry_multiplicity' '_chemical.compound_source' '_reflns.d_resolution_high' '_crystal.magnetic_permeability' save_ ############ ## REFINE ## ############ save_refine _category.description ; Data items in the REFINE category record details about the structure-refinement parameters. ; _category.id refine _category.mandatory_code no loop_ _category_key.name '_refine.entry_id' '_refine.pdbx_refine_id' loop_ _category_group.id 'inclusive_group' 'refine_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _refine.entry_id '5HVP' _refine.pdbx_refine_id 'X-RAY DIFFRACTION' _refine.ls_number_reflns_obs 12901 _refine.ls_number_restraints 6609 _refine.ls_number_parameters 7032 _refine.ls_R_factor_obs 0.176 _refine.ls_weighting_scheme calc _refine.ls_weighting_details ; Sigdel model of Konnert-Hendrickson: Sigdel: Afsig + Bfsig*(sin(theta)/lambda-1/6) Afsig = 22.0, Bfsig = -150.0 at beginning of refinement Afsig = 15.5, Bfsig = -50.0 at end of refinement ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; _refine.entry_id TOZ _refine.pdbx_refine_id 'X-RAY DIFFRACTION' _refine.details 'sfls:_F_calc_weight_full_matrix' _refine.ls_structure_factor_coef F _refine.ls_matrix_type full _refine.ls_weighting_scheme calc _refine.ls_weighting_details 'w=1/(\s^2^(F)+0.0004F^2^)' _refine.ls_hydrogen_treatment 'refxyz except H332B noref' _refine.ls_extinction_method Zachariasen _refine.ls_extinction_coef 3514 _refine.ls_extinction_expression ; Larson, A. C. (1970). "Crystallographic Computing", edited by F. R. Ahmed. Eq. (22) p. 292. Copenhagen: Munksgaard. ; _refine.ls_abs_structure_details ; The absolute configuration was assigned to agree with the known chirality at C3 arising from its precursor l-leucine. ; _refine.ls_abs_structure_Flack 0 _refine.ls_number_reflns_obs 1408 _refine.ls_number_parameters 272 _refine.ls_number_restraints 0 _refine.ls_number_constraints 0 _refine.ls_R_factor_all .038 _refine.ls_R_factor_obs .034 _refine.ls_wR_factor_all .044 _refine.ls_wR_factor_obs .042 _refine.ls_goodness_of_fit_all 1.462 _refine.ls_goodness_of_fit_obs 1.515 _refine.ls_shift_over_esd_max .535 _refine.ls_shift_over_esd_mean .044 _refine.diff_density_min -.108 _refine.diff_density_max .131 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__refine.aniso_B[1][1] _item_description.description ; The [1][1] element of the matrix that defines the overall anisotropic displacement model if one was refined for this structure. ; _item.name '_refine.aniso_B[1][1]' _item.category_id refine _item.mandatory_code no _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared _pdbx_item_description.name '_refine.aniso_B[1][1]' _pdbx_item_description.description 'The [1][1] element of the matrix that defines the overall anisotropic displacement model if one was refined for this structure' save_ save__refine.aniso_B[1][2] _item_description.description ; The [1][2] element of the matrix that defines the overall anisotropic displacement model if one was refined for this structure. ; _item.name '_refine.aniso_B[1][2]' _item.category_id refine _item.mandatory_code no _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__refine.aniso_B[1][3] _item_description.description ; The [1][3] element of the matrix that defines the overall anisotropic displacement model if one was refined for this structure. ; _item.name '_refine.aniso_B[1][3]' _item.category_id refine _item.mandatory_code no _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared _pdbx_item_description.name "_refine.aniso_B[1][3]" _pdbx_item_description.description "The [1][3] element of the matrix that defines the overall anisotropic displacement model if one was refined for this structure" save_ save__refine.aniso_B[2][2] _item_description.description ; The [2][2] element of the matrix that defines the overall anisotropic displacement model if one was refined for this structure. ; _item.name '_refine.aniso_B[2][2]' _item.category_id refine _item.mandatory_code no _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared _pdbx_item_description.name "_refine.aniso_B[2][2]" _pdbx_item_description.description "The [2][2] element of the matrix that defines the overall anisotropic displacement model if one was refined for this structure" save_ save__refine.aniso_B[2][3] _item_description.description ; The [2][3] element of the matrix that defines the overall anisotropic displacement model if one was refined for this structure. ; _item.name '_refine.aniso_B[2][3]' _item.category_id refine _item.mandatory_code no _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared _pdbx_item_description.name "_refine.aniso_B[2][3]" _pdbx_item_description.description "The [2][3] element of the matrix that defines the overall anisotropic displacement model if one was refined for this structure" save_ save__refine.aniso_B[3][3] _item_description.description ; The [3][3] element of the matrix that defines the overall anisotropic displacement model if one was refined for this structure. ; _item.name '_refine.aniso_B[3][3]' _item.category_id refine _item.mandatory_code no _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared _pdbx_item_description.name "_refine.aniso_B[3][3]" _pdbx_item_description.description "The [3][3] element of the matrix that defines the overall anisotropic displacement model if one was refined for this structure" save_ save__refine.B_iso_max _item_description.description ; The maximum isotropic displacement parameter (B value) found in the coordinate set. ; _item.name '_refine.B_iso_max' _item.category_id refine _item.mandatory_code no _item_type.code float _item_units.code angstroms_squared save_ save__refine.B_iso_mean _item_description.description ; The mean isotropic displacement parameter (B value) for the coordinate set. ; _item.name '_refine.B_iso_mean' _item.category_id refine _item.mandatory_code no _item_type.code float _item_units.code angstroms_squared _pdbx_item_description.name "_refine.B_iso_mean" _pdbx_item_description.description "The mean isotropic displacement parameter (B value) for the coordinate set" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.B_iso_mean" 5 5 "_refine.B_iso_mean" 5 70 "_refine.B_iso_mean" 70 70 save_ save__refine.B_iso_min _item_description.description ; The minimum isotropic displacement parameter (B value) found in the coordinate set. ; _item.name '_refine.B_iso_min' _item.category_id refine _item.mandatory_code no _item_type.code float _item_units.code angstroms_squared save_ save__refine.correlation_coeff_Fo_to_Fc _item_description.description ; The correlation coefficient between the observed and calculated structure factors for reflections included in the refinement. The correlation coefficient is scale-independent and gives an idea of the quality of the refined model. sum~i~(Fo~i~ Fc~i~ - ) R~corr~ = ------------------------------------------------------------ SQRT{sum~i~(Fo~i~)^2^-^2^} SQRT{sum~i~(Fc~i~)^2^-^2^} Fo = observed structure factors Fc = calculated structure factors <> denotes average value summation is over reflections included in the refinement ; _item.name '_refine.correlation_coeff_Fo_to_Fc' _item.category_id refine _item.mandatory_code no # _item_aliases.alias_name '_refine.ebi_Correlation_coeff_Fo_to_Fc' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _item_type.code float loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_refine.correlation_coeff_Fo_to_Fc' 0.8 0.8 '_refine.correlation_coeff_Fo_to_Fc' 0.8 1 '_refine.correlation_coeff_Fo_to_Fc' 1 1 '_refine.correlation_coeff_Fo_to_Fc' 0 0 '_refine.correlation_coeff_Fo_to_Fc' 0 1 '_refine.correlation_coeff_Fo_to_Fc' 1 1 save_ save__refine.correlation_coeff_Fo_to_Fc_free _item_description.description ; The correlation coefficient between the observed and calculated structure factors for reflections not included in the refinement (free reflections). The correlation coefficient is scale-independent and gives an idea of the quality of the refined model. sum~i~(Fo~i~ Fc~i~ - ) R~corr~ = ------------------------------------------------------------ SQRT{sum~i~(Fo~i~)^2^-^2^} SQRT{sum~i~(Fc~i~)^2^-^2^} Fo = observed structure factors Fc = calculated structure factors <> denotes average value summation is over reflections not included in the refinement (free reflections) ; _item.name '_refine.correlation_coeff_Fo_to_Fc_free' _item.category_id refine _item.mandatory_code no # _item_aliases.alias_name '_refine.ebi_Correlation_coeff_Fo_to_Fc_free' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _item_type.code float loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.correlation_coeff_Fo_to_Fc_free" 0.8 0.8 "_refine.correlation_coeff_Fo_to_Fc_free" 0.8 1 "_refine.correlation_coeff_Fo_to_Fc_free" 1 1 "_refine.correlation_coeff_Fo_to_Fc_free" 0 0 "_refine.correlation_coeff_Fo_to_Fc_free" 0 1 "_refine.correlation_coeff_Fo_to_Fc_free" 1 1 # save_ save__refine.details _item_description.description ; Description of special aspects of the refinement process. ; _item.name '_refine.details' _item.category_id refine _item.mandatory_code no _pdbx_item_description.name "_refine.details" _pdbx_item_description.description "Description of special aspects of the refinement process" _item_aliases.alias_name '_refine_special_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__refine.diff_density_max _item_description.description ; The maximum value of the electron density in the final difference Fourier map. ; _item.name '_refine.diff_density_max' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_diff_density_max' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_related.related_name '_refine.diff_density_max_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code electrons_per_angstroms_cubed save_ save__refine.diff_density_max_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _refine.diff_density_max. ; _item.name '_refine.diff_density_max_esd' _item.category_id refine _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_refine.diff_density_max' _item_related.function_code associated_value _item_type.code float _item_units.code electrons_per_angstroms_cubed save_ save__refine.diff_density_min _item_description.description ; The minimum value of the electron density in the final difference Fourier map. ; _item.name '_refine.diff_density_min' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_diff_density_min' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_related.related_name '_refine.diff_density_min_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code electrons_per_angstroms_cubed save_ save__refine.diff_density_min_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _refine.diff_density_min. ; _item.name '_refine.diff_density_min_esd' _item.category_id refine _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_refine.diff_density_min' _item_related.function_code associated_value _item_type.code float _item_units.code electrons_per_angstroms_cubed save_ save__refine.diff_density_rms _item_description.description ; The root-mean-square-deviation of the electron density in the final difference Fourier map. This value is measured with respect to the arithmetic mean density and is derived from summations over each grid point in the asymmetric unit of the cell. This quantity is useful for assessing the significance of the values of _refine.diff_density_min and _refine.diff_density_max, and also for defining suitable contour levels. ; _item.name '_refine.diff_density_rms' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_diff_density_rms' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_related.related_name '_refine.diff_density_rms_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code electrons_per_angstroms_cubed save_ save__refine.diff_density_rms_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _refine.diff_density_rms. ; _item.name '_refine.diff_density_rms_esd' _item.category_id refine _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_refine.diff_density_rms' _item_related.function_code associated_value _item_type.code float _item_units.code electrons_per_angstroms_cubed save_ save__refine.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_refine.entry_id' _item.category_id refine _item.mandatory_code yes _item_type.code code save_ save__refine.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _refine.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_refine.pdbx_refine_id' _item.category_id refine _item.mandatory_code yes _item_type.code line save_ save__refine.ls_abs_structure_details _item_description.description ; The nature of the absolute structure and how it was determined. For example, this may describe the Friedel pairs used. ; _item.name '_refine.ls_abs_structure_details' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_abs_structure_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__refine.ls_abs_structure_Flack _item_description.description ; The measure of absolute structure (enantiomorph or polarity) as defined by Flack (1983). For centrosymmetric structures, the only permitted value, if the data name is present, is 'inapplicable', represented by '.' . For noncentrosymmetric structures the value must lie in the 99.97% Gaussian confidence interval -3u =< x =< 1 + 3u and a standard uncertainty (estimated standard deviation) u must be supplied. The item range of [0.0:1.0] is correctly interpreted as meaning (0.0 - 3u) =< x =< (1.0 + 3u). Ref: Flack, H. D. (1983). Acta Cryst. A39, 876-881. ; _item.name '_refine.ls_abs_structure_Flack' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_abs_structure_Flack' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 1.0 1.0 1.0 0.0 0.0 0.0 _item_related.related_name '_refine.ls_abs_structure_Flack_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd save_ save__refine.ls_abs_structure_Flack_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _refine.ls_abs_structure_Flack. ; _item.name '_refine.ls_abs_structure_Flack_esd' _item.category_id refine _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_refine.ls_abs_structure_Flack' _item_related.function_code associated_value _item_type.code float save_ save__refine.ls_abs_structure_Rogers _item_description.description ; The measure of absolute structure (enantiomorph or polarity) as defined by Rogers. The value must lie in the 99.97% Gaussian confidence interval -1 -3u =< \h =< 1 + 3u and a standard uncertainty (estimated standard deviation) u must be supplied. The item range of [-1.0, 1.0] is correctly interpreted as meaning (-1.0 - 3u) =< \h =< (1.0 + 3u). Ref: Rogers, D. (1981). Acta Cryst. A37, 734-741. ; _item.name '_refine.ls_abs_structure_Rogers' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_abs_structure_Rogers' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 1.0 1.0 1.0 -1.0 -1.0 -1.0 _item_related.related_name '_refine.ls_abs_structure_Rogers_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd save_ save__refine.ls_abs_structure_Rogers_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _refine.ls_abs_structure_Rogers. ; _item.name '_refine.ls_abs_structure_Rogers_esd' _item.category_id refine _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_refine.ls_abs_structure_Rogers' _item_related.function_code associated_value _item_type.code float save_ save__refine.ls_d_res_high _item_description.description ; The smallest value for the interplanar spacings for the reflection data used in the refinement in angstroms. This is called the highest resolution. ; _item.name '_refine.ls_d_res_high' _item.category_id refine _item.mandatory_code yes _item_aliases.alias_name '_refine_ls_d_res_high' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 _pdbx_item.name "_refine.ls_d_res_high" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_refine.ls_d_res_high" _pdbx_item_description.description "The smallest value(in angstroms) for the interplanar spacings for the reflection data used in the refinement." # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.ls_d_res_high" 0.5 0.5 "_refine.ls_d_res_high" 0.5 8 "_refine.ls_d_res_high" 8 8 # _item_type.code float _item_units.code angstroms save_ save__refine.ls_d_res_low _item_description.description ; The largest value for the interplanar spacings for the reflection data used in the refinement in angstroms. This is called the lowest resolution. ; _item.name '_refine.ls_d_res_low' _item.category_id refine # _item.mandatory_code yes _item.mandatory_code no _pdbx_item.name "_refine.ls_d_res_low" _pdbx_item.mandatory_code yes _pdbx_item_description.name "_refine.ls_d_res_low" _pdbx_item_description.description "The largest value(in angstroms) for the interplanar spacings for the reflection data used in the refinement." _item_aliases.alias_name '_refine_ls_d_res_low' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # loop_ _item_range.maximum _item_range.minimum . 0.0 # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.ls_d_res_low" 5 5 "_refine.ls_d_res_low" 5 200 "_refine.ls_d_res_low" 200 200 # _item_type.code float _item_units.code angstroms save_ save__refine.ls_extinction_coef _item_description.description ; The extinction coefficient used to calculate the correction factor applied to the structure-factor data. The nature of the extinction coefficient is given in the definitions of _refine.ls_extinction_expression and _refine.ls_extinction_method. For the 'Zachariasen' method it is the r* value; for the 'Becker-Coppens type 1 isotropic' method it is the 'g' value, and for 'Becker-Coppens type 2 isotropic' corrections it is the 'rho' value. Note that the magnitude of these values is usually of the order of 10000. Ref: Becker, P. J. & Coppens, P. (1974). Acta Cryst. A30, 129-47, 148-153. Zachariasen, W. H. (1967). Acta Cryst. 23, 558-564. Larson, A. C. (1967). Acta Cryst. 23, 664-665. ; _item.name '_refine.ls_extinction_coef' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_extinction_coef' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_related.related_name '_refine.ls_extinction_coef_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_examples.case 3472 _item_examples.detail 'Zachariasen coefficient r* = 0.347 E04' save_ save__refine.ls_extinction_coef_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _refine.ls_extinction_coef. ; _item.name '_refine.ls_extinction_coef_esd' _item.category_id refine _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_refine.ls_extinction_coef' _item_related.function_code associated_value _item_type.code float save_ save__refine.ls_extinction_expression _item_description.description ; A description of or reference to the extinction-correction equation used to apply the data item _refine.ls_extinction_coef. This information must be sufficient to reproduce the extinction-correction factors applied to the structure factors. ; _item.name '_refine.ls_extinction_expression' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_extinction_expression' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case ; Larson, A. C. (1970). "Crystallographic Computing", edited by F. R. Ahmed. Eq. (22), p.292. Copenhagen: Munksgaard. ; save_ save__refine.ls_extinction_method _item_description.description ; A description of the extinction-correction method applied. This description should include information about the correction method, either 'Becker-Coppens' or 'Zachariasen'. The latter is sometimes referred to as the 'Larson' method even though it employs Zachariasen's formula. The Becker-Coppens procedure is referred to as 'type 1' when correcting secondary extinction dominated by the mosaic spread; as 'type 2' when secondary extinction is dominated by particle size and includes a primary extinction component; and as 'mixed' when there is a mixture of types 1 and 2. For the Becker-Coppens method, it is also necessary to set the mosaic distribution as either 'Gaussian' or 'Lorentzian' and the nature of the extinction as 'isotropic' or 'anisotropic'. Note that if either the 'mixed' or 'anisotropic' corrections are applied, the multiple coefficients cannot be contained in *_extinction_coef and must be listed in _refine.details. Ref: Becker, P. J. & Coppens, P. (1974). Acta Cryst. A30, 129-147, 148-153. Zachariasen, W. H. (1967). Acta Cryst. 23, 558- 564. Larson, A. C. (1967). Acta Cryst. 23, 664-665. ; _item.name '_refine.ls_extinction_method' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_extinction_method' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value Zachariasen _item_type.code text _item_examples.case 'B-C type 2 Gaussian isotropic' save_ save__refine.ls_goodness_of_fit_all _item_description.description ; The least-squares goodness-of-fit parameter S for all data after the final cycle of refinement. Ideally, account should be taken of parameters restrained in the least-squares refinement. See also the definition of _refine.ls_restrained_S_all. ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^ S = ( ---------------------------- ) ( N~ref~ - N~param~ ) Y~obs~ = the observed coefficients (see _refine.ls_structure_factor_coef) Y~calc~ = the calculated coefficients (see _refine.ls_structure_factor_coef) w = the least-squares reflection weight [1/(e.s.d. squared)] N~ref~ = the number of reflections used in the refinement N~param~ = the number of refined parameters sum is taken over the specified reflections ; _item.name '_refine.ls_goodness_of_fit_all' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_goodness_of_fit_all' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine.ls_goodness_of_fit_all_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd save_ save__refine.ls_goodness_of_fit_all_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _refine.ls_goodness_of_fit_all. ; _item.name '_refine.ls_goodness_of_fit_all_esd' _item.category_id refine _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_refine.ls_goodness_of_fit_all' _item_related.function_code associated_value _item_type.code float save_ save__refine.ls_goodness_of_fit_obs _item_description.description ; The least-squares goodness-of-fit parameter S for reflection data classified as 'observed' (see _reflns.observed_criterion) after the final cycle of refinement. Ideally, account should be taken of parameters restrained in the least-squares refinement. See also the definition of _refine.ls_restrained_S_obs. ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^ S = ( ---------------------------- ) ( N~ref~ - N~param~ ) Y~obs~ = the observed coefficients (see _refine.ls_structure_factor_coef) Y~calc~ = the calculated coefficients (see _refine.ls_structure_factor_coef) w = the least-squares reflection weight [1/(e.s.d. squared)] N~ref~ = the number of reflections used in the refinement N~param~ = the number of refined parameters sum is taken over the specified reflections ; _item.name '_refine.ls_goodness_of_fit_obs' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_goodness_of_fit_obs' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine.ls_goodness_of_fit_obs_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd save_ save__refine.ls_goodness_of_fit_obs_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _refine.ls_goodness_of_fit_obs. ; _item.name '_refine.ls_goodness_of_fit_obs_esd' _item.category_id refine _item.mandatory_code no # _item_default.value 0.0 _item_related.related_name '_refine.ls_goodness_of_fit_obs' _item_related.function_code associated_value _item_type.code float save_ save__refine.ls_hydrogen_treatment _item_description.description ; Treatment of hydrogen atoms in the least-squares refinement. ; _item.name '_refine.ls_hydrogen_treatment' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_hydrogen_treatment' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value undef _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail refall 'refined all H-atom parameters' refxyz 'refined H-atom coordinates only' refU 'refined H-atom U's only' noref 'no refinement of H-atom parameters' constr 'H-atom parameters constrained' mixed 'some constrained, some independent' undef 'H-atom parameters not defined' save_ save__refine.ls_matrix_type _item_description.description ; Type of matrix used to accumulate the least-squares derivatives. ; _item.name '_refine.ls_matrix_type' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_matrix_type' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value full _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail full 'full' fullcycle 'full with fixed elements per cycle' atomblock 'block diagonal per atom' userblock 'user-defined blocks' diagonal 'diagonal elements only' sparse 'selected elements only' save_ save__refine.ls_number_constraints _item_description.description ; The number of constrained (non-refined or dependent) parameters in the least-squares process. These may be due to symmetry or any other constraint process (e.g. rigid-body refinement). See also _atom_site.constraints and _atom_site.refinement_flags. A general description of constraints may appear in _refine.details. ; _item.name '_refine.ls_number_constraints' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_number_constraints' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value 0 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__refine.ls_number_parameters _item_description.description ; The number of parameters refined in the least-squares process. If possible, this number should include some contribution from the restrained parameters. The restrained parameters are distinct from the constrained parameters (where one or more parameters are linearly dependent on the refined value of another). Least-squares restraints often depend on geometry or energy considerations and this makes their direct contribution to this number, and to the goodness-of-fit calculation, difficult to assess. ; _item.name '_refine.ls_number_parameters' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_number_parameters' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__refine.ls_number_reflns_all _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low. ; _item.name '_refine.ls_number_reflns_all' _item.category_id refine _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.ls_number_reflns_all" 1000 1000 "_refine.ls_number_reflns_all" 1000 300000 "_refine.ls_number_reflns_all" 300000 300000 # _item_type.code int save_ save__refine.ls_number_reflns_obs _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion. ; _item.name '_refine.ls_number_reflns_obs' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_number_reflns' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _pdbx_item.name "_refine.ls_number_reflns_obs" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_refine.ls_number_reflns_obs" _pdbx_item_description.description "The number of reflections that satisfy both resolution limits and observation criterion (such as sigma cutoffs)" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.ls_number_reflns_obs" 1000 1000 "_refine.ls_number_reflns_obs" 1000 300000 "_refine.ls_number_reflns_obs" 300000 300000 # _item_type.code int save_ save__refine.ls_number_reflns_R_free _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the test reflections (i.e. were excluded from the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. ; _item.name '_refine.ls_number_reflns_R_free' _item.category_id refine _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int _pdbx_item.name "_refine.ls_number_reflns_R_free" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine.ls_number_reflns_R_free" _pdbx_item_description.description "The number of reflections that satisfy both resolution limits and observation criterion, and that were pre-allocated as the cross-validation test reflections. These data were not used in the structure solution and refinement process and were used to calculate the 'free' R factor" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.ls_number_reflns_R_free" 40 40 "_refine.ls_number_reflns_R_free" 40 16000 "_refine.ls_number_reflns_R_free" 16000 16000 # save_ save__refine.ls_number_reflns_R_work _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the working reflections (i.e. were included in the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. ; _item.name '_refine.ls_number_reflns_R_work' _item.category_id refine _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__refine.ls_number_restraints _item_description.description ; The number of restrained parameters. These are parameters which are not directly dependent on another refined parameter. Restrained parameters often involve geometry or energy dependencies. See also _atom_site.constraints and _atom_site.refinement_flags. A general description of refinement constraints may appear in _refine.details. ; _item.name '_refine.ls_number_restraints' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_number_restraints' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__refine.ls_percent_reflns_obs _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion, expressed as a percentage of the number of geometrically observable reflections that satisfy the resolution limits. ; _item.name '_refine.ls_percent_reflns_obs' _item.category_id refine _item.mandatory_code no _pdbx_item.name '_refine.ls_percent_reflns_obs' _pdbx_item.mandatory_code yes _item_type.code float _pdbx_item_description.name '_refine.ls_percent_reflns_obs' _pdbx_item_description.description 'The number of reflections that satisfy both resolution limits and observation criterion, expressed as a percentage of the number of geometrically observable reflections that satisfy the resolution limits.' loop_ _item_range.minimum _item_range.maximum 0 0 0 100 100 100 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_refine.ls_percent_reflns_obs' 50 50 '_refine.ls_percent_reflns_obs' 50 100 '_refine.ls_percent_reflns_obs' 100 100 save_ save__refine.ls_percent_reflns_R_free _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the test reflections (i.e. were excluded from the refinement) when the refinement included the calculation of a 'free' R factor, expressed as a percentage of the number of geometrically observable reflections that satisfy the resolution limits. ; _item.name '_refine.ls_percent_reflns_R_free' _item.category_id refine _item.mandatory_code no _item_type.code float _pdbx_item.name "_refine.ls_percent_reflns_R_free" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine.ls_percent_reflns_R_free" _pdbx_item_description.description "The percent of reflections that satisfy both resolution limits and observation criterion, and that were pre-allocated as the cross-validation test reflections. These data were not used in the structure solution and refinement process and were used to calculate the 'free' R factor. In percentage to the overall reflections used for refinement." # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.ls_percent_reflns_R_free" 1 1 "_refine.ls_percent_reflns_R_free" 1 12 "_refine.ls_percent_reflns_R_free" 12 12 # save_ save__refine.ls_R_factor_all _item_description.description ; Residual factor R for all reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low. sum|F~obs~ - F~calc~| R = --------------------- sum|F~obs~| F~obs~ = the observed structure-factor amplitudes F~calc~ = the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine.ls_R_factor_all' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_R_factor_all' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine.ls_wR_factor_all' _item_related.function_code alternate _item_type.code float loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.ls_R_factor_all" 0.1 0.1 "_refine.ls_R_factor_all" 0.1 0.3 "_refine.ls_R_factor_all" 0.3 0.3 "_refine.ls_R_factor_all" 0 0 "_refine.ls_R_factor_all" 0 1 "_refine.ls_R_factor_all" 1 1 # save_ save__refine.ls_R_factor_obs _item_description.description ; Residual factor R for reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion. _refine.ls_R_factor_obs should not be confused with _refine.ls_R_factor_R_work; the former reports the results of a refinement in which all observed reflections were used, the latter a refinement in which a subset of the observed reflections were excluded from refinement for the calculation of a 'free' R factor. However, it would be meaningful to quote both values if a 'free' R factor were calculated for most of the refinement, but all of the observed reflections were used in the final rounds of refinement; such a protocol should be explained in _refine.details. sum|F~obs~ - F~calc~| R = --------------------- sum|F~obs~| F~obs~ = the observed structure-factor amplitudes F~calc~ = the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine.ls_R_factor_obs' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_R_factor_obs' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _pdbx_item.name "_refine.ls_R_factor_obs" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine.ls_R_factor_obs" _pdbx_item_description.description "Residual factor R for reflections that satisfy the high and low resolution limits and the observed criterion" # # loop_ _item_range.maximum _item_range.minimum 1.0 1.0 1.0 0.0 0.0 0.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.ls_R_factor_obs" 0.1 0.1 "_refine.ls_R_factor_obs" 0.1 0.3 "_refine.ls_R_factor_obs" 0.3 0.3 "_refine.ls_R_factor_obs" 0 0 "_refine.ls_R_factor_obs" 0 1 "_refine.ls_R_factor_obs" 1 1 # _item_related.related_name '_refine.ls_wR_factor_obs' _item_related.function_code alternate _item_type.code float save_ save__refine.ls_R_factor_R_free _item_description.description ; Residual factor R for reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the test reflections (i.e. were excluded from the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. sum|F~obs~ - F~calc~| R = --------------------- sum|F~obs~| F~obs~ = the observed structure-factor amplitudes F~calc~ = the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine.ls_R_factor_R_free' _item.category_id refine _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 1.0 1.0 1.0 0.0 0.0 0.0 loop_ _item_related.related_name _item_related.function_code '_refine.ls_wR_factor_R_free' alternate '_refine.ls_R_factor_R_free_error' associated_error _item_type.code float _pdbx_item.name "_refine.ls_R_factor_R_free" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine.ls_R_factor_R_free" _pdbx_item_description.description "Sum(abs((abs(F-obs)-abs(F-calc)))/Sum(abs(F-obs)) on pre-allocated cross-validation testing data that were not used in structure solution process" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.ls_R_factor_R_free" 0.1 0.1 "_refine.ls_R_factor_R_free" 0.1 0.4 "_refine.ls_R_factor_R_free" 0.4 0.4 "_refine.ls_R_factor_R_free" 0 0 "_refine.ls_R_factor_R_free" 0 1 "_refine.ls_R_factor_R_free" 1 1 # save_ save__refine.ls_R_factor_R_free_error _item_description.description ; The estimated error in _refine.ls_R_factor_R_free. The method used to estimate the error is described in the item _refine.ls_R_factor_R_free_error_details. ; _item.name '_refine.ls_R_factor_R_free_error' _item.category_id refine _item.mandatory_code no _item_related.related_name '_refine.ls_R_factor_R_free' _item_related.function_code associated_value _item_type.code float _pdbx_item.name "_refine.ls_R_factor_R_free_error" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine.ls_R_factor_R_free_error" _pdbx_item_description.description "The estimated error of R-free" # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.ls_R_factor_R_free_error" 0.01 0.01 "_refine.ls_R_factor_R_free_error" 0.01 0.03 "_refine.ls_R_factor_R_free_error" 0.03 0.03 save_ save__refine.ls_R_factor_R_free_error_details _item_description.description ; Special aspects of the method used to estimated the error in _refine.ls_R_factor_R_free. ; _item.name '_refine.ls_R_factor_R_free_error_details' _item.category_id refine _item.mandatory_code no _item_type.code text save_ save__refine.ls_R_factor_R_work _item_description.description ; Residual factor R for reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the working reflections (i.e. were included in the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. _refine.ls_R_factor_obs should not be confused with _refine.ls_R_factor_R_work; the former reports the results of a refinement in which all observed reflections were used, the latter a refinement in which a subset of the observed reflections were excluded from refinement for the calculation of a 'free' R factor. However, it would be meaningful to quote both values if a 'free' R factor were calculated for most of the refinement, but all of the observed reflections were used in the final rounds of refinement; such a protocol should be explained in _refine.details. sum|F~obs~ - F~calc~| R = --------------------- sum|F~obs~| F~obs~ = the observed structure-factor amplitudes F~calc~ = the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine.ls_R_factor_R_work' _item.category_id refine _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 1.0 1.0 1.0 0.0 0.0 0.0 _item_related.related_name '_refine.ls_wR_factor_R_work' _item_related.function_code alternate _item_type.code float _pdbx_item.name '_refine.ls_R_factor_R_work' _pdbx_item.mandatory_code no _pdbx_item_description.name '_refine.ls_R_factor_R_work' _pdbx_item_description.description 'Sum(abs((abs(F-obs)-abs(F-calc)))/Sum(abs(F-obs)) on working data, i.e. the data used in calculating the structural model throughout the structure solution and refinement process' # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_refine.ls_R_factor_R_work' 0.1 0.1 '_refine.ls_R_factor_R_work' 0.1 0.3 '_refine.ls_R_factor_R_work' 0.3 0.3 save_ save__refine.ls_R_Fsqd_factor_obs _item_description.description ; Residual factor R(Fsqd) for reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion, calculated on the squares of the observed and calculated structure-factor amplitudes. sum|F~obs~^2^ - F~calc~^2^| R(Fsqd) = --------------------------- sum|F~obs~^2^| F~obs~^2^ = squares of the observed structure-factor amplitudes F~calc~^2^ = squares of the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine.ls_R_Fsqd_factor_obs' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_R_Fsqd_factor' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine.ls_R_I_factor_obs _item_description.description ; Residual factor R(I) for reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion, calculated on the estimated reflection intensities. This is most often calculated in Rietveld refinements against powder data, where it is referred to as R~B~ or R~Bragg~. sum|I~obs~ - I~calc~| R(I) = --------------------- sum|I~obs~| I~obs~ = the net observed intensities I~calc~ = the net calculated intensities sum is taken over the specified reflections ; _item.name '_refine.ls_R_I_factor_obs' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_R_I_factor' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine.ls_redundancy_reflns_all _item_description.description ; The ratio of the total number of observations of the reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low to the number of crystallographically unique reflections that satisfy the same limits. ; _item.name '_refine.ls_redundancy_reflns_all' _item.category_id refine _item.mandatory_code no _item_type.code float save_ save__refine.ls_redundancy_reflns_obs _item_description.description ; The ratio of the total number of observations of the reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion to the number of crystallographically unique reflections that satisfy the same limits. ; _item.name '_refine.ls_redundancy_reflns_obs' _item.category_id refine _item.mandatory_code no _item_type.code float save_ save__refine.ls_restrained_S_all _item_description.description ; The least-squares goodness-of-fit parameter S' for all reflections after the final cycle of least-squares refinement. This parameter explicitly includes the restraints applied in the least-squares process. See also the definition of _refine.ls_goodness_of_fit_all. ( sum |w |Y~obs~ - Y~calc~|^2^| )^1/2^ ( + sum~r~|w~r~ |P~calc~ - P~targ~|^2^| ) S' = ( ------------------------------------- ) ( N~ref~ + N~restr~ - N~param~ ) Y~obs~ = the observed coefficients (see _refine.ls_structure_factor_coef) Y~calc~ = the calculated coefficients (see _refine.ls_structure_factor_coef) w = the least-squares reflection weight [1/(e.s.d. squared)] P~calc~ = the calculated restraint values P~targ~ = the target restraint values w~r~ = the restraint weight N~ref~ = the number of reflections used in the refinement (see _refine.ls_number_reflns_obs) N~restr~ = the number of restraints (see _refine.ls_number_restraints) N~param~ = the number of refined parameters (see _refine.ls_number_parameters) sum is taken over the specified reflections sumr is taken over the restraints ; _item.name '_refine.ls_restrained_S_all' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_restrained_S_all' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine.ls_restrained_S_obs _item_description.description ; The least-squares goodness-of-fit parameter S' for reflection data classified as observed (see _reflns.observed_criterion) after the final cycle of least-squares refinement. This parameter explicitly includes the restraints applied in the least-squares process. See also the definition of _refine.ls_goodness_of_fit_obs. ( sum |w |Y~obs~ - Y~calc~|^2^| )^1/2^ ( + sum~r~|w~r~ |P~calc~ - P~targ~|^2^| ) S' = ( ------------------------------------- ) ( N~ref~ + N~restr~ - N~param~ ) Y~obs~ = the observed coefficients (see _refine.ls_structure_factor_coef) Y~calc~ = the calculated coefficients (see _refine.ls_structure_factor_coef) w = the least-squares reflection weight [1/(e.s.d. squared)] P~calc~ = the calculated restraint values P~targ~ = the target restraint values w~r~ = the restraint weight N~ref~ = the number of reflections used in the refinement (see _refine.ls_number_reflns_obs) N~restr~ = the number of restraints (see _refine.ls_number_restraints) N~param~ = the number of refined parameters (see _refine.ls_number_parameters) sum is taken over the specified reflections sumr is taken over the restraints ; _item.name '_refine.ls_restrained_S_obs' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_restrained_S_obs' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine.ls_shift_over_esd_max _item_description.description ; The largest ratio of the final least-squares parameter shift to the final standard uncertainty (estimated standard deviation). ; _item.name '_refine.ls_shift_over_esd_max' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_shift/esd_max' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine.ls_shift_over_esd_mean _item_description.description ; The average ratio of the final least-squares parameter shift to the final standard uncertainty (estimated standard deviation). ; _item.name '_refine.ls_shift_over_esd_mean' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_shift/esd_mean' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine.ls_structure_factor_coef _item_description.description ; Structure-factor coefficient |F|, F^2^ or I used in the least- squares refinement process. ; _item.name '_refine.ls_structure_factor_coef' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_structure_factor_coef' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value F _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail F 'structure-factor magnitude' Fsqd 'structure factor squared' Inet 'net intensity' save_ save__refine.ls_weighting_details _item_description.description ; A description of special aspects of the weighting scheme used in least-squares refinement. Used to describe the weighting when the value of _refine.ls_weighting_scheme is specified as 'calc'. ; _item.name '_refine.ls_weighting_details' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_weighting_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text _item_examples.case ; Sigdel model of Konnert-Hendrickson: Sigdel = Afsig + Bfsig*(sin(theta)/lambda-1/6) Afsig = 22.0, Bfsig = 150.0 at the beginning of refinement. Afsig = 16.0, Bfsig = 60.0 at the end of refinement. ; save_ save__refine.ls_weighting_scheme _item_description.description ; The weighting scheme applied in the least-squares process. The standard code may be followed by a description of the weight (but see _refine.ls_weighting_details for a preferred approach). ; _item.name '_refine.ls_weighting_scheme' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_weighting_scheme' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value sigma _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sigma 'based on measured e.s.d.'s' unit 'unit or no weights applied' calc 'calculated weights applied' save_ save__refine.ls_wR_factor_all _item_description.description ; Weighted residual factor wR for all reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low. ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^ wR = ( ---------------------------- ) ( sum|w Y~obs~^2^| ) Y~obs~ = the observed amplitude specified by _refine.ls_structure_factor_coef Y~calc~ = the calculated amplitude specified by _refine.ls_structure_factor_coef w = the least-squares weight sum is taken over the specified reflections ; _item.name '_refine.ls_wR_factor_all' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_wR_factor_all' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine.ls_R_factor_all' _item_related.function_code alternate _item_type.code float save_ save__refine.ls_wR_factor_obs _item_description.description ; Weighted residual factor wR for reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion. ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^ wR = ( ---------------------------- ) ( sum|w Y~obs~^2^| ) Y~obs~ = the observed amplitude specified by _refine.ls_structure_factor_coef Y~calc~ = the calculated amplitude specified by _refine.ls_structure_factor_coef w = the least-squares weight sum is taken over the specified reflections ; _item.name '_refine.ls_wR_factor_obs' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine_ls_wR_factor_obs' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine.ls_R_factor_obs' _item_related.function_code alternate _item_type.code float save_ save__refine.ls_wR_factor_R_free _item_description.description ; Weighted residual factor wR for reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the test reflections (i.e. were excluded from the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^ wR = ( ---------------------------- ) ( sum|w Y~obs~^2^| ) Y~obs~ = the observed amplitude specified by _refine.ls_structure_factor_coef Y~calc~ = the calculated amplitude specified by _refine.ls_structure_factor_coef w = the least-squares weight sum is taken over the specified reflections ; _item.name '_refine.ls_wR_factor_R_free' _item.category_id refine _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine.ls_R_factor_R_free' _item_related.function_code alternate _item_type.code float save_ save__refine.ls_wR_factor_R_work _item_description.description ; Weighted residual factor wR for reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the working reflections (i.e. were included in the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^ wR = ( ---------------------------- ) ( sum|w Y~obs~^2^| ) Y~obs~ = the observed amplitude specified by _refine.ls_structure_factor_coef Y~calc~ = the calculated amplitude specified by _refine.ls_structure_factor_coef w = the least-squares weight sum is taken over the specified reflections ; _item.name '_refine.ls_wR_factor_R_work' _item.category_id refine _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine.ls_R_factor_R_work' _item_related.function_code alternate _item_type.code float save_ save__refine.occupancy_max _item_description.description ; The maximum value for occupancy found in the coordinate set. ; _item.name '_refine.occupancy_max' _item.category_id refine _item.mandatory_code no # _item_default.value 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine.occupancy_min _item_description.description ; The minimum value for occupancy found in the coordinate set. ; _item.name '_refine.occupancy_min' _item.category_id refine _item.mandatory_code no # _item_default.value 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine.solvent_model_details _item_description.description ; Special aspects of the solvent model used during refinement. ; _item.name '_refine.solvent_model_details' _item.category_id refine _item.mandatory_code no _item_type.code text save_ save__refine.solvent_model_param_bsol _item_description.description ; The value of the BSOL solvent-model parameter describing the average isotropic displacement parameter of disordered solvent atoms. This is one of the two parameters (the other is _refine.solvent_model_param_ksol) in Tronrud's method of modelling the contribution of bulk solvent to the scattering. The standard scale factor is modified according to the expression k0 exp(-B0 * s^2^)[1-KSOL * exp(-BSOL * s^2^)] where k0 and B0 are the scale factors for the protein. Ref: Tronrud, D. E. (1997). Methods Enzymol. 277, 243-268. ; _item.name '_refine.solvent_model_param_bsol' _item.category_id refine _item.mandatory_code no _item_type.code float _pdbx_item_description.name "_refine.solvent_model_param_bsol" _pdbx_item_description.description "The value of the BSOL solvent-model parameter describing the average isotropic displacement parameter of disordered solvent atoms" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.solvent_model_param_bsol" 5 5 "_refine.solvent_model_param_bsol" 5 300 "_refine.solvent_model_param_bsol" 300 300 # save_ save__refine.solvent_model_param_ksol _item_description.description ; The value of the KSOL solvent-model parameter describing the ratio of the electron density in the bulk solvent to the electron density in the molecular solute. This is one of the two parameters (the other is _refine.solvent_model_param_bsol) in Tronrud's method of modelling the contribution of bulk solvent to the scattering. The standard scale factor is modified according to the expression k0 exp(-B0 * s^2^)[1-KSOL * exp(-BSOL * s^2^)] where k0 and B0 are the scale factors for the protein. Ref: Tronrud, D. E. (1997). Methods Enzymol. 277, 243-268. ; _item.name '_refine.solvent_model_param_ksol' _item.category_id refine _item.mandatory_code no _item_type.code float _pdbx_item_description.name '_refine.solvent_model_param_ksol' _pdbx_item_description.description 'The value of the KSOL solvent-model parameter describing the ratio of the electron density in the bulk solvent to the electron density in the molecular solute' loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_refine.solvent_model_param_ksol' 0.1 0.1 '_refine.solvent_model_param_ksol' 0.1 1 '_refine.solvent_model_param_ksol' 1 1 # save_ #################### ## REFINE_ANALYZE ## #################### save_refine_analyze _category.description ; Data items in the REFINE_ANALYZE category record details about the refined structure that are often used to analyze the refinement and assess its quality. A given computer program may or may not produce values corresponding to these data names. ; _category.id refine_analyze _category.mandatory_code no loop_ _category_key.name '_refine_analyze.entry_id' '_refine_analyze.pdbx_refine_id' loop_ _category_group.id 'inclusive_group' 'refine_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _refine_analyze.entry_id _refine_analyze.pdbx_refine_id _refine_analyze.Luzzati_coordinate_error_obs _refine_analyze.Luzzati_d_res_low_obs 5HVP 'X-RAY DIFFRACTION' 0.056 2.51 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__refine_analyze.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_refine_analyze.entry_id' _item.category_id refine_analyze _item.mandatory_code yes save_ save__refine_analyze.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _refine_analyze.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_refine_analyze.pdbx_refine_id' _item.category_id refine_analyze _item.mandatory_code yes _item_type.code line _item_linked.child_name '_refine_analyze.pdbx_refine_id' _item_linked.parent_name '_refine.pdbx_refine_id' save_ save__refine_analyze.Luzzati_coordinate_error_free _item_description.description ; The estimated coordinate error obtained from the plot of the R value versus sin(theta)/lambda for the reflections treated as a test set during refinement. Ref: Luzzati, V. (1952). Traitement statistique des erreurs dans la determination des structures cristallines. Acta Cryst. 5, 802-810. ; _item.name '_refine_analyze.Luzzati_coordinate_error_free' _item.category_id refine_analyze _item.mandatory_code no _pdbx_item_description.name '_refine_analyze.Luzzati_coordinate_error_free' _pdbx_item_description.description 'The estimated coordinate error obtained from the plot of the R value versus sin(theta)/lambda for the reflections treated as a test set during refinement.' _item_type.code float _item_units.code angstroms save_ save__refine_analyze.Luzzati_coordinate_error_obs _item_description.description ; The estimated coordinate error obtained from the plot of the R value versus sin(theta)/lambda for reflections classified as observed. Ref: Luzzati, V. (1952). Traitement statistique des erreurs dans la determination des structures cristallines. Acta Cryst. 5, 802-810. ; _item.name '_refine_analyze.Luzzati_coordinate_error_obs' _item.category_id refine_analyze _item.mandatory_code no _item_type.code float _item_units.code angstroms _pdbx_item_description.name "_refine_analyze.Luzzati_coordinate_error_obs" _pdbx_item_description.description "The estimated coordinate error obtained from the plot of the R value versus sin(theta)/lambda for reflections classified as observed" save_ save__refine_analyze.Luzzati_d_res_low_free _item_description.description ; The value of the low-resolution cutoff used in constructing the Luzzati plot for reflections treated as a test set during refinement. Ref: Luzzati, V. (1952). Traitement statistique des erreurs dans la determination des structures cristallines. Acta Cryst. 5, 802-810. ; _item.name '_refine_analyze.Luzzati_d_res_low_free' _item.category_id refine_analyze _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ save__refine_analyze.Luzzati_d_res_low_obs _item_description.description ; The value of the low-resolution cutoff used in constructing the Luzzati plot for reflections classified as observed. Ref: Luzzati, V. (1952). Traitement statistique des erreurs dans la determination des structures cristallines. Acta Cryst. 5, 802-810. ; _item.name '_refine_analyze.Luzzati_d_res_low_obs' _item.category_id refine_analyze _item.mandatory_code no _item_type.code float _item_units.code angstroms _pdbx_item_description.name "_refine_analyze.Luzzati_d_res_low_obs" _pdbx_item_description.description "The value of the low-resolution cutoff used in constructing the Luzzati plot for reflections classified as observed." save_ save__refine_analyze.Luzzati_sigma_a_free _item_description.description ; The value of sigma~a~ used in constructing the Luzzati plot for the reflections treated as a test set during refinement. Details of the estimation of sigma~a~ can be specified in _refine_analyze.Luzzati_sigma_a_free_details. Ref: Luzzati, V. (1952). Traitement statistique des erreurs dans la determination des structures cristallines. Acta Cryst. 5, 802-810. ; _item.name '_refine_analyze.Luzzati_sigma_a_free' _item.category_id refine_analyze _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ save__refine_analyze.Luzzati_sigma_a_free_details _item_description.description ; Details of the estimation of sigma~a~ for the reflections treated as a test set during refinement. Ref: Luzzati, V. (1952). Traitement statistique des erreurs dans la determination des structures cristallines. Acta Cryst. 5, 802-810. ; _item.name '_refine_analyze.Luzzati_sigma_a_free_details' _item.category_id refine_analyze _item.mandatory_code no _item_type.code text save_ save__refine_analyze.Luzzati_sigma_a_obs _item_description.description ; The value of sigma~a~ used in constructing the Luzzati plot for reflections classified as observed. Details of the estimation of sigma~a~ can be specified in _refine_analyze.Luzzati_sigma_a_obs_details. Ref: Luzzati, V. (1952). Traitement statistique des erreurs dans la determination des structures cristallines. Acta Cryst. 5, 802-810. ; _item.name '_refine_analyze.Luzzati_sigma_a_obs' _item.category_id refine_analyze _item.mandatory_code no _item_type.code float _item_units.code angstroms _pdbx_item_description.name "_refine_analyze.Luzzati_sigma_a_obs" _pdbx_item_description.description "The value of sigma~a~ used in constructing the Luzzati plot for reflections classified as observed." save_ save__refine_analyze.Luzzati_sigma_a_obs_details _item_description.description ; Special aspects of the estimation of sigma~a~ for the reflections classified as observed. Ref: Luzzati, V. (1952). Traitement statistique des erreurs dans la determination des structures cristallines. Acta Cryst. 5, 802-810. ; _item.name '_refine_analyze.Luzzati_sigma_a_obs_details' _item.category_id refine_analyze _item.mandatory_code no _item_type.code text save_ save__refine_analyze.number_disordered_residues _item_description.description ; The number of discretely disordered residues in the refined model. ; _item.name '_refine_analyze.number_disordered_residues' _item.category_id refine_analyze _item.mandatory_code no _item_type.code float save_ save__refine_analyze.occupancy_sum_hydrogen _item_description.description ; The sum of the occupancies of the hydrogen atoms in the refined model. ; _item.name '_refine_analyze.occupancy_sum_hydrogen' _item.category_id refine_analyze _item.mandatory_code no _item_type.code float save_ save__refine_analyze.occupancy_sum_non_hydrogen _item_description.description ; The sum of the occupancies of the non-hydrogen atoms in the refined model. ; _item.name '_refine_analyze.occupancy_sum_non_hydrogen' _item.category_id refine_analyze _item.mandatory_code no _item_type.code float save_ save__refine_analyze.RG_d_res_high _item_description.description ; The value of the high-resolution cutoff in angstroms used in the calculation of the Hamilton generalized R factor (RG) stored in _refine_analyze.RG_work and _refine_analyze.RG_free. Ref: Hamilton, W. C. (1965). Acta Cryst. 18, 502-510. ; _item.name '_refine_analyze.RG_d_res_high' _item.category_id refine_analyze _item.mandatory_code no # _item_aliases.alias_name '_refine_analyze.ebi_RG_d_res_high' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__refine_analyze.RG_d_res_low _item_description.description ; The value of the low-resolution cutoff in angstroms used in the calculation of the Hamilton generalized R factor (RG) stored in _refine_analyze.RG_work and _refine_analyze.RG_free. Ref: Hamilton, W. C. (1965). Acta Cryst. 18, 502-510. ; _item.name '_refine_analyze.RG_d_res_low' _item.category_id refine_analyze _item.mandatory_code no # _item_aliases.alias_name '_refine_analyze.ebi_RG_d_res_low' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__refine_analyze.RG_free _item_description.description ; The Hamilton generalized R factor for all reflections that satisfy the resolution limits established by _refine_analyze.RG_d_res_high and _refine_analyze.RG_d_res_low for the free R set of reflections that were excluded from the refinement. sum_i sum_j w_{i,j}(|Fobs|_i - G|Fcalc|_i)(|Fobs|_j - G|Fcalc|_j) RG = Sqrt( ----------------------------------------------------------------- ) sum_i sum_j w_{i,j} |Fobs|_i |Fobs|_j where |Fobs| = the observed structure-factor amplitudes |Fcalc| = the calculated structure-factor amplitudes G = the scale factor which puts |Fcalc| on the same scale as |Fobs| w_{i,j} = the weight for the combination of the reflections i and j. sum_i and sum_j are taken over the specified reflections When the covariance of the amplitudes of reflection i and reflection j is zero (i.e. the reflections are independent) w{i,i} can be redefined as w_i and the nested sums collapsed into one sum. sum_i w_i(|Fobs|_i - G|Fcalc|_i)^2 RG = Sqrt( ----------------------------------- ) sum_i w_i |Fobs|_i^2 Ref: Hamilton, W. C. (1965). Acta Cryst. 18, 502-510. ; _item.name '_refine_analyze.RG_free' _item.category_id refine_analyze _item.mandatory_code no # _item_aliases.alias_name '_refine_analyze.ebi_RG_free' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine_analyze.RG_work _item_description.description ; The Hamilton generalized R factor for all reflections that satisfy the resolution limits established by _refine_analyze.RG_d_res_high and _refine_analyze.RG_d_res_low and for those reflections included in the working set when a free R set of reflections is omitted from the refinement. sum_i sum_j w_{i,j}(|Fobs|_i - G|Fcalc|_i)(|Fobs|_j - G|Fcalc|_j) RG = Sqrt( ----------------------------------------------------------------- ) sum_i sum_j w_{i,j} |Fobs|_i |Fobs|_j where |Fobs| = the observed structure-factor amplitudes |Fcalc| = the calculated structure-factor amplitudes G = the scale factor which puts |Fcalc| on the same scale as |Fobs| w_{i,j} = the weight for the combination of the reflections i and j. sum_i and sum_j are taken over the specified reflections When the covariance of the amplitudes of reflection i and reflection j is zero (i.e. the reflections are independent) w{i,i} can be redefined as w_i and the nested sums collapsed into one sum. sum_i w_i(|Fobs|_i - G|Fcalc|_i)^2 RG = Sqrt( ----------------------------------- ) sum_i w_i |Fobs|_i^2 Ref: Hamilton, W. C. (1965). Acta Cryst. 18, 502-510. ; _item.name '_refine_analyze.RG_work' _item.category_id refine_analyze _item.mandatory_code no # _item_aliases.alias_name '_refine_analyze.ebi_RG_work' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine_analyze.RG_free_work_ratio _item_description.description ; The observed ratio of RGfree to RGwork. The expected RG ratio is the value that should be achievable at the end of a structure refinement when only random uncorrelated errors exist in the data and the model provided that the observations are properly weighted. When compared with the observed RG ratio it may indicate that a structure has not reached convergence or a model has been over-refined with no corresponding improvement in the model. In an unrestrained refinement, the ratio of RGfree to RGwork with only random uncorrelated errors at convergence depends only on the number of reflections and the number of parameters according to sqrt[(f + m) / (f - m) ] where f = the number of included structure amplitudes and target distances, and m = the number of parameters being refined. In the restrained case, RGfree is calculated from a random selection of residuals including both structure amplitudes and restraints. When restraints are included in the refinement, the RG ratio requires a term for the contribution to the minimized residual at convergence, D~restr~, due to those restraints: D~restr~ = r - sum [w_i . (a_i)^t . (H)^-1 a_i] where r is the number of geometrical, displacement-parameter and other restraints H is the (m,m) normal matrix given by A^t.W.A W is the (n,n) symmetric weight matrix of the included observations A is the least-squares design matrix of derivatives of order (n,m) a_i is the ith row of A Then the expected RGratio becomes sqrt [ (f + (m - r + D~restr~))/ (f - (m - r + D~restr~)) ] There is no data name for the expected value of RGfree/RGwork yet. Ref: Tickle, I. J., Laskowski, R. A. & Moss, D. S. (1998). Acta Cryst. D54, 547-557. ; _item.name '_refine_analyze.RG_free_work_ratio' _item.category_id refine_analyze _item.mandatory_code no # _item_aliases.alias_name '_refine_analyze.ebi_RG_work_free_ratio' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ ################## ## REFINE_B_ISO ## ################## save_refine_B_iso _category.description ; Data items in the REFINE_B_ISO category record details about the treatment of isotropic B factors (displacement parameters) during refinement. ; _category.id refine_B_iso _category.mandatory_code no loop_ _category_key.name '_refine_B_iso.class' '_refine_B_iso.pdbx_refine_id' loop_ _category_group.id 'inclusive_group' 'refine_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _refine_B_iso.pdbx_refine_id _refine_B_iso.class _refine_B_iso.treatment 'X-RAY DIFFRACTION' 'protein' isotropic 'X-RAY DIFFRACTION' 'solvent' isotropic 'X-RAY DIFFRACTION' 'inhibitor' isotropic ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__refine_B_iso.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _refine_B_iso.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_refine_B_iso.pdbx_refine_id' _item.category_id refine_B_iso _item.mandatory_code yes _item_type.code line _item_linked.child_name '_refine_B_iso.pdbx_refine_id' _item_linked.parent_name '_refine.pdbx_refine_id' save_ save__refine_B_iso.class _item_description.description ; A class of atoms treated similarly for isotropic B-factor (displacement-parameter) refinement. ; _item.name '_refine_B_iso.class' _item.category_id refine_B_iso _item.mandatory_code yes _item_type.code text loop_ _item_examples.case 'all' 'protein' 'solvent' 'sugar-phosphate backbone' save_ save__refine_B_iso.details _item_description.description ; A description of special aspects of the isotropic B-factor (displacement-parameter) refinement for the class of atoms described in _refine_B_iso.class. ; _item.name '_refine_B_iso.details' _item.category_id refine_B_iso _item.mandatory_code no _item_type.code text _item_examples.case ; The temperature factors of atoms in the side chain of Arg 92 were held fixed due to unstable behavior in refinement. ; save_ save__refine_B_iso.treatment _item_description.description ; The treatment of isotropic B-factor (displacement-parameter) refinement for a class of atoms defined in _refine_B_iso.class. ; _item.name '_refine_B_iso.treatment' _item.category_id refine_B_iso _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value fixed isotropic anisotropic save_ save__refine_B_iso.value _item_description.description ; The value of the isotropic B factor (displacement parameter) assigned to a class of atoms defined in _refine_B_iso.class. Meaningful only for atoms with fixed isotropic B factors. ; _item.name '_refine_B_iso.value' _item.category_id refine_B_iso _item.mandatory_code no _item_type.code float _item_units.code angstroms_squared save_ ############################### ## REFINE_FUNCTION_MINIMIZED ## ############################### save_refine_funct_minimized _category.description ; Data items in the REFINE_FUNCT_MINIMIZED category record details about the individual terms of the function minimized during refinement. ; _category.id refine_funct_minimized _category.mandatory_code no loop_ _category_key.name '_refine_funct_minimized.type' '_refine_funct_minimized.pdbx_refine_id' loop_ _category_group.id 'inclusive_group' 'refine_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on RESTRAIN refinement for the CCP4 test data set toxd. ; ; loop_ _refine_funct_minimized.pdbx_refine_id _refine_funct_minimized.type _refine_funct_minimized.number_terms _refine_funct_minimized.residual 'X-RAY DIFFRACTION' 'sum(W*Delta(Amplitude)^2' 3009 1621.3 'X-RAY DIFFRACTION' 'sum(W*Delta(Plane+Rigid)^2' 85 56.68 'X-RAY DIFFRACTION' 'sum(W*Delta(Distance)^2' 1219 163.59 'X-RAY DIFFRACTION' 'sum(W*Delta(U-tempfactors)^2' 1192 69.338 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__refine_funct_minimized.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _refine_funct_minimized.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_refine_funct_minimized.pdbx_refine_id' _item.category_id refine_funct_minimized _item.mandatory_code yes _item_type.code line _item_linked.child_name '_refine_funct_minimized.pdbx_refine_id' _item_linked.parent_name '_refine.pdbx_refine_id' save_ save__refine_funct_minimized.number_terms _item_description.description ; The number of observations in this term. For example, if the term is a residual of the X-ray intensities, this item would contain the number of reflections used in the refinement. ; _item.name '_refine_funct_minimized.number_terms' _item.category_id refine_funct_minimized _item.mandatory_code no # _item_aliases.alias_name '_ebi_refine_funct_minimized.NumTerms' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__refine_funct_minimized.residual _item_description.description ; The residual for this term of the function that was minimized during the refinement. ; _item.name '_refine_funct_minimized.residual' _item.category_id refine_funct_minimized _item.mandatory_code no # _item_aliases.alias_name '_ebi_refine_funct_minimized.Residual' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine_funct_minimized.type _item_description.description ; The type of the function being minimized. ; _item.name '_refine_funct_minimized.type' _item.category_id refine_funct_minimized _item.mandatory_code yes # _item_aliases.alias_name '_ebi_refine_funct_minimized.type' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _item_type.code line save_ save__refine_funct_minimized.weight _item_description.description ; The weight applied to this term of the function that was minimized during the refinement. ; _item.name '_refine_funct_minimized.weight' _item.category_id refine_funct_minimized _item.mandatory_code no # _item_aliases.alias_name '_ebi_refine_funct_minimized.weight' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _item_type.code float save_ save__refine.pdbx_R_complete _item_description.description ; The crystallographic reliability index Rcomplete for reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion Ref: Luebben, J., Gruene, T., (2015). Proc.Nat.Acad.Sci. 112(29) 8999-9003 ; _item.name '_refine.pdbx_R_complete' _item.category_id refine _item.mandatory_code no loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 1.0 1.0 1.0 _item_type.code float # _pdbx_item_description.name "_refine.pdbx_R_complete" _pdbx_item_description.description "Crystallographic reliability index Rcomplete" # save_ ################# ## REFINE_HIST ## ################# save_refine_hist _category.description ; Data items in the REFINE_HIST category record details about the steps during the refinement of the structure. These data items are not meant to be as thorough a description of the refinement as is provided for the final model in other categories; rather, these data items provide a mechanism for sketching out the progress of the refinement, supported by a small set of representative statistics. ; _category.id refine_hist _category.mandatory_code no loop_ _category_key.name '_refine_hist.cycle_id' '_refine_hist.pdbx_refine_id' loop_ _category_group.id 'inclusive_group' 'refine_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for the collagen-like peptide [(POG)4 EKG (POG)5]3. ; ; _refine_hist.cycle_id C134 _refine_hist.pdbx_refine_id 'X-RAY DIFFRACTION' _refine_hist.d_res_high 1.85 _refine_hist.d_res_low 20.0 _refine_hist.number_atoms_solvent 217 _refine_hist.number_atoms_total 808 _refine_hist.number_reflns_all 6174 _refine_hist.number_reflns_obs 4886 _refine_hist.number_reflns_R_free 476 _refine_hist.number_reflns_R_work 4410 _refine_hist.R_factor_all .265 _refine_hist.R_factor_obs .195 _refine_hist.R_factor_R_free .274 _refine_hist.R_factor_R_work .160 _refine_hist.details ; Add majority of solvent molecules. B factors refined by group. Continued to remove misplaced water molecules. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__refine_hist.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _refine_hist.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_refine_hist.pdbx_refine_id' _item.category_id refine_hist _item.mandatory_code yes _item_type.code line # _item_linked.child_name '_refine_hist.pdbx_refine_id' # _item_linked.parent_name '_refine.pdbx_refine_id' save_ save__refine_hist.cycle_id _item_description.description ; The value of _refine_hist.cycle_id must uniquely identify a record in the REFINE_HIST list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_refine_hist.cycle_id' _item.category_id refine_hist _item.mandatory_code yes _item_type.code code save_ save__refine_hist.details _item_description.description ; A description of special aspects of this cycle of the refinement process. ; _item.name '_refine_hist.details' _item.category_id refine_hist _item.mandatory_code no _item_type.code text _item_examples.case ; Residues 13-17 fit and added to model; substantial rebuilding of loop containing residues 43-48; addition of first atoms to solvent model; ten cycles of Prolsq refinement. ; save_ save__refine_hist.d_res_high _item_description.description ; The lowest value for the interplanar spacings for the reflection data for this cycle of refinement. This is called the highest resolution. ; _item.name '_refine_hist.d_res_high' _item.category_id refine_hist _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__refine_hist.d_res_low _item_description.description ; The highest value for the interplanar spacings for the reflection data for this cycle of refinement. This is called the lowest resolution. ; _item.name '_refine_hist.d_res_low' _item.category_id refine_hist _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__refine_hist.number_atoms_solvent _item_description.description ; The number of solvent atoms that were included in the model at this cycle of the refinement. ; _item.name '_refine_hist.number_atoms_solvent' _item.category_id refine_hist _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int _item_aliases.alias_name '_refine_hist.rcsb_number_atoms_solvent' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine_hist.number_atoms_total _item_description.description ; The total number of atoms that were included in the model at this cycle of the refinement. ; _item.name '_refine_hist.number_atoms_total' _item.category_id refine_hist _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int # _item_aliases.alias_name '_refine_hist.rcsb_number_atoms_total' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine_hist.number_reflns_all _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine_hist.d_res_high and _refine_hist.d_res_low. ; _item.name '_refine_hist.number_reflns_all' _item.category_id refine_hist _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__refine_hist.number_reflns_obs _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine_hist.d_res_high and _refine_hist.d_res_low and the observation criterion established by _reflns.observed_criterion. ; _item.name '_refine_hist.number_reflns_obs' _item.category_id refine_hist _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__refine_hist.number_reflns_R_free _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine_hist.d_res_high and _refine_hist.d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the test reflections (i.e. were excluded from the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. ; _item.name '_refine_hist.number_reflns_R_free' _item.category_id refine_hist _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__refine_hist.number_reflns_R_work _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine_hist.d_res_high and _refine_hist.d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the working reflections (i.e. were included in the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. ; _item.name '_refine_hist.number_reflns_R_work' _item.category_id refine_hist _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__refine_hist.R_factor_all _item_description.description ; Residual factor R for reflections that satisfy the resolution limits established by _refine_hist.d_res_high and _refine_hist.d_res_low. sum|F~obs~ - F~calc~| R = --------------------- sum|F~obs~| F~obs~ = the observed structure-factor amplitudes F~calc~ = the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine_hist.R_factor_all' _item.category_id refine_hist _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine_hist.R_factor_obs _item_description.description ; Residual factor R for reflections that satisfy the resolution limits established by _refine_hist.d_res_high and _refine_hist.d_res_low and the observation criterion established by _reflns.observed_criterion. sum|F~obs~ - F~calc~| R = --------------------- sum|F~obs~| F~obs~ = the observed structure-factor amplitudes F~calc~ = the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine_hist.R_factor_obs' _item.category_id refine_hist _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine_hist.R_factor_R_free _item_description.description ; Residual factor R for reflections that satisfy the resolution limits established by _refine_hist.d_res_high and _refine_hist.d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the test reflections (i.e. were excluded from the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. sum|F~obs~ - F~calc~| R = --------------------- sum|F~obs~| F~obs~ = the observed structure-factor amplitudes F~calc~ = the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine_hist.R_factor_R_free' _item.category_id refine_hist _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine_hist.R_factor_R_work _item_description.description ; Residual factor R for reflections that satisfy the resolution limits established by _refine_hist.d_res_high and _refine_hist.d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the working reflections (i.e. were included in the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. sum|F~obs~ - F~calc~| R = --------------------- sum|F~obs~| F~obs~ = the observed structure-factor amplitudes F~calc~ = the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine_hist.R_factor_R_work' _item.category_id refine_hist _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ ##################### ## REFINE_LS_RESTR ## ##################### save_refine_ls_restr _category.description ; Data items in the REFINE_LS_RESTR category record details about the restraints applied to various classes of parameters during the least-squares refinement. ; _category.id refine_ls_restr _category.mandatory_code no loop_ _category_key.name '_refine_ls_restr.type' '_refine_ls_restr.pdbx_refine_id' loop_ _category_group.id 'inclusive_group' 'refine_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _refine_ls_restr.pdbx_refine_id _refine_ls_restr.type _refine_ls_restr.dev_ideal_target _refine_ls_restr.dev_ideal _refine_ls_restr.number _refine_ls_restr.criterion _refine_ls_restr.rejects 'X-RAY DIFFRACTION' 'bond_d' 0.020 0.018 1654 '> 2\s' 22 'X-RAY DIFFRACTION' 'angle_d' 0.030 0.038 2246 '> 2\s' 139 'X-RAY DIFFRACTION' 'planar_d' 0.040 0.043 498 '> 2\s' 21 'X-RAY DIFFRACTION' 'planar' 0.020 0.015 270 '> 2\s' 1 'X-RAY DIFFRACTION' 'chiral' 0.150 0.177 278 '> 2\s' 2 'X-RAY DIFFRACTION' 'singtor_nbd' 0.500 0.216 582 '> 2\s' 0 'X-RAY DIFFRACTION' 'multtor_nbd' 0.500 0.207 419 '> 2\s' 0 'X-RAY DIFFRACTION' 'xyhbond_nbd' 0.500 0.245 149 '> 2\s' 0 'X-RAY DIFFRACTION' 'planar_tor' 3.0 2.6 203 '> 2\s' 9 'X-RAY DIFFRACTION' 'staggered_tor' 15.0 17.4 298 '> 2\s' 31 'X-RAY DIFFRACTION' 'orthonormal_tor' 20.0 18.1 12 '> 2\s' 1 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__refine_ls_restr.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _refine_ls_restr.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_refine_ls_restr.pdbx_refine_id' _item.category_id refine_ls_restr _item.mandatory_code yes _item_type.code line _item_linked.child_name '_refine_ls_restr.pdbx_refine_id' _item_linked.parent_name '_refine.pdbx_refine_id' save_ save__refine_ls_restr.criterion _item_description.description ; A criterion used to define a parameter value that deviates significantly from its ideal value in the model obtained by restrained least-squares refinement. ; _item.name '_refine_ls_restr.criterion' _item.category_id refine_ls_restr _item.mandatory_code no _item_type.code text _item_examples.case '> 3\s' save_ save__refine_ls_restr.dev_ideal _item_description.description ; For the given parameter type, the root-mean-square deviation between the ideal values used as restraints in the least-squares refinement and the values obtained by refinement. For instance, bond distances may deviate by 0.018 \%A (r.m.s.) from ideal values in the current model. ; _item.name '_refine_ls_restr.dev_ideal' _item.category_id refine_ls_restr _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine_ls_restr.dev_ideal_target _item_description.description ; For the given parameter type, the target root-mean-square deviation between the ideal values used as restraints in the least-squares refinement and the values obtained by refinement. ; _item.name '_refine_ls_restr.dev_ideal_target' _item.category_id refine_ls_restr _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refine_ls_restr.number _item_description.description ; The number of parameters of this type subjected to restraint in least-squares refinement. ; _item.name '_refine_ls_restr.number' _item.category_id refine_ls_restr _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__refine_ls_restr.rejects _item_description.description ; The number of parameters of this type that deviate from ideal values by more than the amount defined in _refine_ls_restr.criterion in the model obtained by restrained least-squares refinement. ; _item.name '_refine_ls_restr.rejects' _item.category_id refine_ls_restr _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__refine_ls_restr.type _item_description.description ; The type of the parameter being restrained. Explicit sets of data values are provided for the programs PROTIN/PROLSQ (beginning with p_) and RESTRAIN (beginning with RESTRAIN_). As computer programs change, these data values are given as examples, not as an enumeration list. Computer programs that convert a data block to a refinement table will expect the exact form of the data values given here to be used. ; loop_ _item.name _item.category_id _item.mandatory_code '_refine_ls_restr.type' refine_ls_restr yes '_refine_ls_restr_type.type' refine_ls_restr_type yes loop_ _item_linked.child_name _item_linked.parent_name '_refine_ls_restr_type.type' '_refine_ls_restr.type' _item_type.code line _pdbx_item.name "_refine_ls_restr.type" _pdbx_item.mandatory_code no loop_ _item_examples.case _item_examples.detail 'p_bond_d' 'bond distance' 'p_angle_d' 'bond angle expressed as a distance' 'p_planar_d' 'planar 1,4 distance' 'p_xhbond_d' 'X-H bond distance' 'p_xhangle_d' 'X-H bond angle expressed as a distance' 'p_hydrog_d' 'hydrogen distance' 'p_special_d' 'special distance' 'p_planar' 'planes' 'p_chiral' 'chiral centres' 'p_singtor_nbd' 'single-torsion non-bonded contact' 'p_multtor_nbd' 'multiple-torsion non-bonded contact' 'p_xyhbond_nbd' 'possible (X...Y) hydrogen bond' 'p_xhyhbond_nbd' 'possible (X-H...Y) hydrogen bond' 'p_special_tor' 'special torsion angle' 'p_planar_tor' 'planar torsion angle' 'p_staggered_tor' 'staggered torsion angle' 'p_orthonormal_tor' 'orthonormal torsion angle' 'p_mcbond_it' 'main-chain bond isotropic displacement parameter' 'p_mcangle_it' 'main-chain angle isotropic displacement parameter' 'p_scbond_it' 'side-chain bond isotropic displacement parameter' 'p_scangle_it' 'side-chain angle isotropic displacement parameter' 'p_xhbond_it' 'X-H bond isotropic displacement parameter' 'p_xhangle_it' 'X-H angle isotropic displacement parameter' 'p_special_it' 'special isotropic displacement parameter' 'RESTRAIN_Distances < 2.12' ; The root-mean-square deviation of the difference between the values calculated from the structures used to compile the restraints dictionary parameters and the dictionary values themselves in the distance range less than 2.12 Angstroms. ; 'RESTRAIN_Distances 2.12 < D < 2.625' ; The root-mean-square deviation of the difference between the values calculated from the structures used to compile the restraints dictionary parameters and the dictionary values themselves in the distance range 2.12 - 2.625 Angstroms. ; 'RESTRAIN_Distances > 2.625' ; The root-mean-square deviation of the difference between the values calculated from the structures used to compile the restraints dictionary parameters and the dictionary values themselves in the distance range greater than 2.625 Angstroms. ; 'RESTRAIN_Peptide Planes' ; The root-mean-square deviation of the difference between the values calculated from the structures used to compile the restraints dictionary parameters and the dictionary values themselves for peptide planes. ; 'RESTRAIN_Ring and other planes' ; The root-mean-square deviation of the difference between the values calculated from the structures used to compile the restraints dictionary parameters and the dictionary values themselves for rings and planes other than peptide planes. ; 'RESTRAIN_rms diffs for Uiso atoms at dist 1.2-1.4' . 'RESTRAIN_rms diffs for Uiso atoms at dist 1.4-1.6' . 'RESTRAIN_rms diffs for Uiso atoms at dist 1.8-2.0' . 'RESTRAIN_rms diffs for Uiso atoms at dist 2.0-2.2' . 'RESTRAIN_rms diffs for Uiso atoms at dist 2.2-2.4' . 'RESTRAIN_rms diffs for Uiso atoms at dist >2.4' . save_ save__refine_ls_restr.weight _item_description.description ; The weighting value applied to this type of restraint in the least-squares refinement. ; _item.name '_refine_ls_restr.weight' _item.category_id refine_ls_restr _item.mandatory_code no _item_type.code float save_ ######################### ## REFINE_LS_RESTR_NCS ## ######################### save_refine_ls_restr_ncs _category.description ; Data items in the REFINE_LS_RESTR_NCS category record details about the restraints applied to atom positions in domains related by noncrystallographic symmetry during least-squares refinement, and also about the deviation of the restrained atomic parameters at the end of the refinement. It is expected that these values will only be reported once for each set of restrained domains. ; _category.id refine_ls_restr_ncs _category.mandatory_code no loop_ _category_key.name '_refine_ls_restr_ncs.pdbx_ordinal' # '_refine_ls_restr_ncs.dom_id' # '_refine_ls_restr_ncs.pdbx_refine_id' # '_refine_ls_restr_ncs.pdbx_ens_id' # '_refine_ls_restr_ncs.pdbx_type' # '_refine_ls_restr_ncs.pdbx_asym_id' loop_ _category_group.id 'inclusive_group' 'refine_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for the collagen-like peptide, HYP-. ; ; _refine_ls_restr_ncs.pdbx_ordinal 1 _refine_ls_restr_ncs.dom_id d2 _refine_ls_restr_ncs.pdbx_refine_id 'X-RAY DIFFRACTION' _refine_ls_restr_ncs.pdbx_ens_id 1 _refine_ls_restr_ncs.pdbx_asym_id A _refine_ls_restr_ncs.pdbx_type 'medium positional' _refine_ls_restr_ncs.weight_position 300.0 _refine_ls_restr_ncs.weight_B_iso 2.0 _refine_ls_restr_ncs.rms_dev_position 0.09 _refine_ls_restr_ncs.rms_dev_B_iso 0.16 _refine_ls_restr_ncs.ncs_model_details ; NCS restraint for pseudo-twofold symmetry between domains d1 and d2. Position weight coefficient given in Kcal/(mol \%A^2^) and isotropic B weight coefficient given in \%A^2^. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__refine_ls_restr_ncs.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _refine_ls_restr_ncs.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_refine_ls_restr_ncs.pdbx_refine_id' _item.category_id refine_ls_restr_ncs _item.mandatory_code yes _item_type.code line _item_linked.child_name '_refine_ls_restr_ncs.pdbx_refine_id' _item_linked.parent_name '_refine.pdbx_refine_id' save_ save__refine_ls_restr_ncs.dom_id _item_description.description ; This data item is a pointer to _struct_ncs_dom.id in the STRUCT_NCS_DOM category. ; _item.name '_refine_ls_restr_ncs.dom_id' _item.category_id refine_ls_restr_ncs _item.mandatory_code yes _item_type.code code # _pdbx_item_description.name "_refine_ls_restr_ncs.dom_id" _pdbx_item_description.description "Identifier for the domains in an ensemble of domains related by one or more non-crystallographic symmetry operators" save_ save__refine_ls_restr_ncs.ncs_model_details _item_description.description ; Special aspects of the manner in which noncrystallographic restraints were applied to atomic parameters in the domain specified by _refine_ls_restr_ncs.dom_id and equivalent atomic parameters in the domains against which it was restrained. ; _item.name '_refine_ls_restr_ncs.ncs_model_details' _item.category_id refine_ls_restr_ncs _item.mandatory_code no _item_type.code text save_ save__refine_ls_restr_ncs.rms_dev_B_iso _item_description.description ; The root-mean-square deviation in equivalent isotropic displacement parameters in the domain specified by _refine_ls_restr_ncs.dom_id and in the domains against which it was restrained. ; _item.name '_refine_ls_restr_ncs.rms_dev_B_iso' _item.category_id refine_ls_restr_ncs _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms_squared save_ save__refine_ls_restr_ncs.rms_dev_position _item_description.description ; The root-mean-square deviation in equivalent atom positions in the domain specified by _refine_ls_restr_ncs.dom_id and in the domains against which it was restrained. ; _item.name '_refine_ls_restr_ncs.rms_dev_position' _item.category_id refine_ls_restr_ncs _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms _pdbx_item_description.name "_refine_ls_restr_ncs.rms_dev_position" _pdbx_item_description.description "The root-mean-square deviation in equivalent atom positions in the specified domain" # save_ save__refine_ls_restr_ncs.weight_B_iso _item_description.description ; The value of the weighting coefficient used in noncrystallographic symmetry restraint of isotropic displacement parameters in the domain specified by _refine_ls_restr_ncs.dom_id to equivalent isotropic displacement parameters in the domains against which it was restrained. ; _item.name '_refine_ls_restr_ncs.weight_B_iso' _item.category_id refine_ls_restr_ncs _item.mandatory_code no _item_type.code float save_ save__refine_ls_restr_ncs.weight_position _item_description.description ; The value of the weighting coefficient used in noncrystallographic symmetry restraint of atom positions in the domain specified by _refine_ls_restr_ncs.dom_id to equivalent atom positions in the domains against which it was restrained. ; _item.name '_refine_ls_restr_ncs.weight_position' _item.category_id refine_ls_restr_ncs _item.mandatory_code no _item_type.code float save_ ########################## ## REFINE_LS_RESTR_TYPE ## ########################## save_refine_ls_restr_type _category.description ; Data items in the REFINE_LS_RESTR_TYPE category record details about the restraint types used in the least-squares refinement. ; _category.id refine_ls_restr_type _category.mandatory_code no _category_key.name '_refine_ls_restr_type.type' loop_ _category_group.id 'inclusive_group' 'refine_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on RESTRAIN refinement for the CCP4 test data set toxd. ; ; loop_ _refine_ls_restr.type _refine_ls_restr.number _refine_ls_restr.dev_ideal _refine_ls_restr.dev_ideal_target 'RESTRAIN_Distances < 2.12' 509 0.005 0.022 'RESTRAIN_Distances 2.12 < D < 2.625' 671 0.016 0.037 'RESTRAIN_Distances > 2.625' 39 0.034 0.043 'RESTRAIN_Peptide Planes' 59 0.002 0.010 'RESTRAIN_Ring and other planes' 26 0.014 0.010 'RESTRAIN_rms diffs for Uiso atoms at dist 1.2-1.4' 212 0.106 . 'RESTRAIN_rms diffs for Uiso atoms at dist 1.4-1.6' 288 0.101 . 'RESTRAIN_rms diffs for Uiso atoms at dist 1.8-2.0' 6 0.077 . 'RESTRAIN_rms diffs for Uiso atoms at dist 2.0-2.2' 10 0.114 . 'RESTRAIN_rms diffs for Uiso atoms at dist 2.2-2.4' 215 0.119 . 'RESTRAIN_rms diffs for Uiso atoms at dist >2.4' 461 0.106 . loop_ _refine_ls_restr_type.type _refine_ls_restr_type.distance_cutoff_low _refine_ls_restr_type.distance_cutoff_high 'RESTRAIN_Distances < 2.12' . 2.12 'RESTRAIN_Distances 2.12 < D < 2.625' 2.12 2.625 'RESTRAIN_Distances > 2.625' 2.625 . 'RESTRAIN_Peptide Planes' . . 'RESTRAIN_Ring and other planes' . . 'RESTRAIN_rms diffs for Uiso atoms at dist 1.2-1.4' 1.2 1.4 'RESTRAIN_rms diffs for Uiso atoms at dist 1.4-1.6' 1.4 1.6 'RESTRAIN_rms diffs for Uiso atoms at dist 1.8-2.0' 1.8 2.0 'RESTRAIN_rms diffs for Uiso atoms at dist 2.0-2.2' 2.0 2.2 'RESTRAIN_rms diffs for Uiso atoms at dist 2.2-2.4' 2.2 2.4 'RESTRAIN_rms diffs for Uiso atoms at dist >2.4' 2.4 . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__refine_ls_restr_type.distance_cutoff_high _item_description.description ; The upper limit in angstroms of the distance range applied to the current restraint type. ; _item.name '_refine_ls_restr_type.distance_cutoff_high' _item.category_id refine_ls_restr_type _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__refine_ls_restr_type.distance_cutoff_low _item_description.description ; The lower limit in angstroms of the distance range applied to the current restraint type. ; _item.name '_refine_ls_restr_type.distance_cutoff_low' _item.category_id refine_ls_restr_type _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__refine_ls_restr_type.type _item_description.description ; This data item is a pointer to _refine_ls_restr.type in the REFINE_LS_RESTR category. ; _item.name '_refine_ls_restr_type.type' _item.category_id refine_ls_restr_type _item.mandatory_code yes _item_type.code line save_ ##################### ## REFINE_LS_SHELL ## ##################### save_refine_ls_shell _category.description ; Data items in the REFINE_LS_SHELL category record details about the results of the least-squares refinement broken down into shells of resolution. ; _category.id refine_ls_shell _category.mandatory_code no # loop_ # _category_key.name '_refine_ls_shell.d_res_low' # '_refine_ls_shell.d_res_high' # loop_ _category_key.name '_refine_ls_shell.d_res_high' '_refine_ls_shell.pdbx_refine_id' loop_ _category_group.id 'inclusive_group' 'refine_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _refine_ls_shell.pdbx_refine_id _refine_ls_shell.d_res_low _refine_ls_shell.d_res_high _refine_ls_shell.number_reflns_obs _refine_ls_shell.R_factor_obs 'X-RAY DIFFRACTION' 8.00 4.51 1226 0.196 'X-RAY DIFFRACTION' 4.51 3.48 1679 0.146 'X-RAY DIFFRACTION' 3.48 2.94 2014 0.160 'X-RAY DIFFRACTION' 2.94 2.59 2147 0.182 'X-RAY DIFFRACTION' 2.59 2.34 2127 0.193 'X-RAY DIFFRACTION' 2.34 2.15 2061 0.203 'X-RAY DIFFRACTION' 2.15 2.00 1647 0.188 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__refine_ls_shell.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _refine_ls_shell.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_refine_ls_shell.pdbx_refine_id' _item.category_id refine_ls_shell _item.mandatory_code yes _item_type.code line _item_linked.child_name '_refine_ls_shell.pdbx_refine_id' _item_linked.parent_name '_refine.pdbx_refine_id' save_ save__refine_ls_shell.d_res_high _item_description.description ; The lowest value for the interplanar spacings for the reflection data in this shell. This is called the highest resolution. ; _item.name '_refine_ls_shell.d_res_high' _item.category_id refine_ls_shell _item.mandatory_code yes # loop_ _item_range.maximum _item_range.minimum . 0.0 # _item_type.code float _item_units.code angstroms _pdbx_item.name "_refine_ls_shell.d_res_high" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine_ls_shell.d_res_high" _pdbx_item_description.description "Within the indicated shell, The smaller value for the interplanar spacings, in angstroms." # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine_ls_shell.d_res_high" 0.5 0.5 "_refine_ls_shell.d_res_high" 0.5 8 "_refine_ls_shell.d_res_high" 8 8 # save_ save__refine_ls_shell.d_res_low _item_description.description ; The highest value for the interplanar spacings for the reflection data in this shell. This is called the lowest resolution. ; _item.name '_refine_ls_shell.d_res_low' _item.category_id refine_ls_shell _item.mandatory_code no # loop_ _item_range.maximum _item_range.minimum . 0.0 # _item_type.code float _item_units.code angstroms _pdbx_item.name "_refine_ls_shell.d_res_low" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine_ls_shell.d_res_low" _pdbx_item_description.description "Within the indicated shell, The larger value for the interplanar spacings, in angstroms." # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine_ls_shell.d_res_low" 0.5 0.5 "_refine_ls_shell.d_res_low" 0.5 10 "_refine_ls_shell.d_res_low" 10 10 # save_ save__refine_ls_shell.number_reflns_all _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low. ; _item.name '_refine_ls_shell.number_reflns_all' _item.category_id refine_ls_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__refine_ls_shell.number_reflns_obs _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and the observation criterion established by _reflns.observed_criterion. ; _item.name '_refine_ls_shell.number_reflns_obs' _item.category_id refine_ls_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine_ls_shell.number_reflns_obs" 5 5 "_refine_ls_shell.number_reflns_obs" 5 20000 "_refine_ls_shell.number_reflns_obs" 20000 20000 # save_ save__refine_ls_shell.number_reflns_R_free _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the test reflections (i.e. were excluded from the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. ; _item.name '_refine_ls_shell.number_reflns_R_free' _item.category_id refine_ls_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int _pdbx_item.name "_refine_ls_shell.number_reflns_R_free" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine_ls_shell.number_reflns_R_free" _pdbx_item_description.description "Within the indicated shell, the number of reflections that satisfy both resolution limits and observation criterion, and that were used pre-allocated as the cross-validation test reflections before a structure solution process. These data were not used in the structure solution and refinement process and were used to calculate the 'free' R factor" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine_ls_shell.number_reflns_R_free" 1 1 "_refine_ls_shell.number_reflns_R_free" 1 2000 "_refine_ls_shell.number_reflns_R_free" 2000 2000 # save_ save__refine_ls_shell.number_reflns_R_work _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the working reflections (i.e. were included in the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. ; _item.name '_refine_ls_shell.number_reflns_R_work' _item.category_id refine_ls_shell _item.mandatory_code no _item_type.code int _pdbx_item.name '_refine_ls_shell.number_reflns_R_work' _pdbx_item.mandatory_code no _pdbx_item_description.name '_refine_ls_shell.number_reflns_R_work' _pdbx_item_description.description 'Within the indicated shell, the number of reflections that satisfy both resolution limits and observation criterion, used throughout structural solution and refinement, i.e. the data for R-work calculation.' loop_ _item_range.maximum _item_range.minimum . 0 0 0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_refine_ls_shell.number_reflns_R_work' 5 5 '_refine_ls_shell.number_reflns_R_work' 5 20000 '_refine_ls_shell.number_reflns_R_work' 20000 20000 save_ save__refine_ls_shell.percent_reflns_obs _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and the observation criterion established by _reflns.observed_criterion, expressed as a percentage of the number of geometrically observable reflections that satisfy the resolution limits. ; _item.name '_refine_ls_shell.percent_reflns_obs' _item.category_id refine_ls_shell _item.mandatory_code no _item_type.code float _pdbx_item.name "_refine_ls_shell.percent_reflns_obs" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine_ls_shell.percent_reflns_obs" _pdbx_item_description.description "Within the indicated shell, the number of reflections that satisfy both resolution limits and observation criterion, expressed as a percentage of the number of geometrically observable reflections that satisfy the resolution limits." # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine_ls_shell.percent_reflns_obs" 20 20 "_refine_ls_shell.percent_reflns_obs" 20 100 "_refine_ls_shell.percent_reflns_obs" 100 100 # save_ save__refine_ls_shell.percent_reflns_R_free _item_description.description ; The number of reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the test reflections (i.e. were excluded from the refinement) when the refinement included the calculation of a 'free' R factor, expressed as a percentage of the number of geometrically observable reflections that satisfy the reflection limits. ; _item.name '_refine_ls_shell.percent_reflns_R_free' _item.category_id refine_ls_shell _item.mandatory_code no _item_type.code float _pdbx_item.name '_refine_ls_shell.percent_reflns_R_free' _pdbx_item.mandatory_code no _pdbx_item_description.name "_refine_ls_shell.percent_reflns_R_free" _pdbx_item_description.description "Within the indicated shell, the number of reflections that satisfy both resolution limits and observation criterion, and that were used pre-allocated as the cross-validation test reflections before a structure solution process. These data were not used in the structure solution and refinement process and were used to calculate the 'free' R factor. In percentage to the overall reflections used for refinement." # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_refine_ls_shell.percent_reflns_R_free' 1 1 '_refine_ls_shell.percent_reflns_R_free' 1 12 '_refine_ls_shell.percent_reflns_R_free' 12 12 # save_ save__refine_ls_shell.R_factor_all _item_description.description ; Residual factor R for reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low. sum|F~obs~ - F~calc~| R = --------------------- sum|F~obs~| F~obs~ = the observed structure-factor amplitudes F~calc~ = the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine_ls_shell.R_factor_all' _item.category_id refine_ls_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine_ls_shell.wR_factor_all' _item_related.function_code alternate _item_type.code float save_ save__refine_ls_shell.R_factor_obs _item_description.description ; Residual factor R for reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and the observation criterion established by _reflns.observed_criterion. sum|F~obs~ - F~calc~| R = --------------------- sum|F~obs~| F~obs~ = the observed structure-factor amplitudes F~calc~ = the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine_ls_shell.R_factor_obs' _item.category_id refine_ls_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine_ls_shell.wR_factor_obs' _item_related.function_code alternate _item_type.code float save_ save__refine_ls_shell.R_factor_R_free _item_description.description ; Residual factor R for reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the test reflections (i.e. were excluded from the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. sum|F~obs~ - F~calc~| R = --------------------- sum|F~obs~| F~obs~ = the observed structure-factor amplitudes F~calc~ = the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine_ls_shell.R_factor_R_free' _item.category_id refine_ls_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 loop_ _item_related.related_name _item_related.function_code '_refine_ls_shell.wR_factor_R_free' alternate '_refine_ls_shell.R_factor_R_free_error' associated_error _item_type.code float _pdbx_item.name "_refine_ls_shell.R_factor_R_free" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine_ls_shell.R_factor_R_free" _pdbx_item_description.description "Within the indicated shell, the number of reflections that satisfy both resolution limits and observation criterion, but not used throughout structural solution and refinement. i.e. the data pre-allocated for cross-validation R-free calculation" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine_ls_shell.R_factor_R_free" 0.1 0.1 "_refine_ls_shell.R_factor_R_free" 0.1 0.45 "_refine_ls_shell.R_factor_R_free" 0.45 0.45 "_refine_ls_shell.R_factor_R_free" 0 0 "_refine_ls_shell.R_factor_R_free" 0 1 "_refine_ls_shell.R_factor_R_free" 1 1 # save_ save__refine_ls_shell.R_factor_R_free_error _item_description.description ; The estimated error in _refine_ls_shell.R_factor_R_free. The method used to estimate the error is described in the item _refine.ls_R_factor_R_free_error_details. ; _item.name '_refine_ls_shell.R_factor_R_free_error' _item.category_id refine_ls_shell _item.mandatory_code no _item_related.related_name '_refine_ls_shell.R_factor_R_free' _item_related.function_code associated_value _item_type.code float _pdbx_item.name "_refine_ls_shell.R_factor_R_free_error" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine_ls_shell.R_factor_R_free_error" _pdbx_item_description.description "Within the indicated shell, the estimated error of R-free" # save_ save__refine_ls_shell.R_factor_R_work _item_description.description ; Residual factor R for reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the working reflections (i.e. were included in the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. sum|F~obs~ - F~calc~| R = --------------------- sum|F~obs~| F~obs~ = the observed structure-factor amplitudes F~calc~ = the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine_ls_shell.R_factor_R_work' _item.category_id refine_ls_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine_ls_shell.wR_factor_R_work' _item_related.function_code alternate _item_type.code float _pdbx_item.name "_refine_ls_shell.R_factor_R_work" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine_ls_shell.R_factor_R_work" _pdbx_item_description.description "Within the indicated shell, Sum(abs((abs(F-obs)-abs(F-calc)))/Sum(abs(F-obs)) on working data, i.e. the data used in calculating the structural model throughout the structure solution and refinement process" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine_ls_shell.R_factor_R_work" 0.1 0.1 "_refine_ls_shell.R_factor_R_work" 0.1 0.35 "_refine_ls_shell.R_factor_R_work" 0.35 0.35 "_refine_ls_shell.R_factor_R_work" 0 0 "_refine_ls_shell.R_factor_R_work" 0 1 "_refine_ls_shell.R_factor_R_work" 1 1 # save_ save__refine_ls_shell.redundancy_reflns_all _item_description.description ; The ratio of the total number of observations of the reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low to the number of crystallographically unique reflections that satisfy the same limits. ; _item.name '_refine_ls_shell.redundancy_reflns_all' _item.category_id refine_ls_shell _item.mandatory_code no _item_type.code float save_ save__refine_ls_shell.redundancy_reflns_obs _item_description.description ; The ratio of the total number of observations of the reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and the observation criterion established by _reflns.observed_criterion to the number of crystallographically unique reflections that satisfy the same limits. ; _item.name '_refine_ls_shell.redundancy_reflns_obs' _item.category_id refine_ls_shell _item.mandatory_code no _item_type.code float save_ save__refine_ls_shell.wR_factor_all _item_description.description ; Weighted residual factor wR for reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low. ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^ wR = ( ---------------------------- ) ( sum|w Y~obs~^2^| ) Y~obs~ = the observed amplitude specified by _refine.ls_structure_factor_coef Y~calc~ = the calculated amplitude specified by _refine.ls_structure_factor_coef w = the least-squares weight sum is taken over the specified reflections ; _item.name '_refine_ls_shell.wR_factor_all' _item.category_id refine_ls_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine_ls_shell.R_factor_all' _item_related.function_code alternate _item_type.code float save_ save__refine_ls_shell.wR_factor_obs _item_description.description ; Weighted residual factor wR for reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and the observation criterion established by _reflns.observed_criterion. ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^ wR = ( ---------------------------- ) ( sum|w Y~obs~^2^| ) Y~obs~ = the observed amplitude specified by _refine.ls_structure_factor_coef Y~calc~ = the calculated amplitude specified by _refine.ls_structure_factor_coef w = the least-squares weight sum is taken over the specified reflections ; _item.name '_refine_ls_shell.wR_factor_obs' _item.category_id refine_ls_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine_ls_shell.R_factor_obs' _item_related.function_code alternate _item_type.code float save_ save__refine_ls_shell.wR_factor_R_free _item_description.description ; Weighted residual factor wR for reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the test reflections (i.e. were excluded from the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^ wR = ( ---------------------------- ) ( sum|w Y~obs~^2^| ) Y~obs~ = the observed amplitude specified by _refine.ls_structure_factor_coef Y~calc~ = the calculated amplitude specified by _refine.ls_structure_factor_coef w = the least-squares weight sum is taken over the specified reflections ; _item.name '_refine_ls_shell.wR_factor_R_free' _item.category_id refine_ls_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine_ls_shell.R_factor_R_free' _item_related.function_code alternate _item_type.code float save_ save__refine_ls_shell.wR_factor_R_work _item_description.description ; Weighted residual factor wR for reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and the observation limit established by _reflns.observed_criterion, and that were used as the working reflections (i.e. were included in the refinement) when the refinement included the calculation of a 'free' R factor. Details of how reflections were assigned to the working and test sets are given in _reflns.R_free_details. ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^ wR = ( ---------------------------- ) ( sum|w Y~obs~^2^| ) Y~obs~ = the observed amplitude specified by _refine.ls_structure_factor_coef Y~calc~ = the calculated amplitude specified by _refine.ls_structure_factor_coef w = the least-squares weight sum is taken over the specified reflections ; _item.name '_refine_ls_shell.wR_factor_R_work' _item.category_id refine_ls_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_related.related_name '_refine_ls_shell.R_factor_R_work' _item_related.function_code alternate _item_type.code float save_ save__refine_ls_shell.pdbx_R_complete _item_description.description ; The crystallographic reliability index Rcomplete for reflections that satisfy the resolution limits established by _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and the observation limit established by _reflns.observed_criterion Ref: Luebben, J., Gruene, T., (2015). Proc.Nat.Acad.Sci. 112(29) 8999-9003 ; _item.name '_refine_ls_shell.pdbx_R_complete' _item.category_id refine_ls_shell _item.mandatory_code no loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 1.0 1.0 1.0 # _item_type.code float # _pdbx_item_description.name "_refine_ls_shell.pdbx_R_complete" _pdbx_item_description.description "Crystallographic reliability index Rcomplete" # save_ ###################### ## REFINE_OCCUPANCY ## ###################### save_refine_occupancy _category.description ; Data items in the REFINE_OCCUPANCY category record details about the treatment of atom occupancies during refinement. ; _category.id refine_occupancy _category.mandatory_code no loop_ _category_key.name '_refine_occupancy.class' '_refine_occupancy.pdbx_refine_id' loop_ _category_group.id 'inclusive_group' 'refine_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _refine_occupancy.pdbx_refine_id _refine_occupancy.class _refine_occupancy.treatment _refine_occupancy.value _refine_occupancy.details 'X-RAY DIFFRACTION' 'protein' fix 1.00 . 'X-RAY DIFFRACTION' 'solvent' fix 1.00 . 'X-RAY DIFFRACTION' 'inhibitor orientation 1' fix 0.65 . 'X-RAY DIFFRACTION' 'inhibitor orientation 2' fix 0.35 ; The inhibitor binds to the enzyme in two alternative conformations. The occupancy of each conformation was adjusted so as to result in approximately equal mean thermal factors for the atoms in each conformation. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__refine_occupancy.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _refine_occupancy.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_refine_occupancy.pdbx_refine_id' _item.category_id refine_occupancy _item.mandatory_code yes _item_type.code line _item_linked.child_name '_refine_occupancy.pdbx_refine_id' _item_linked.parent_name '_refine.pdbx_refine_id' save_ save__refine_occupancy.class _item_description.description ; The class of atoms treated similarly for occupancy refinement. ; _item.name '_refine_occupancy.class' _item.category_id refine_occupancy _item.mandatory_code yes _item_type.code text loop_ _item_examples.case 'all' 'protein' 'solvent' 'sugar-phosphate backbone' save_ save__refine_occupancy.details _item_description.description ; A description of special aspects of the occupancy refinement for a class of atoms described in _refine_occupancy.class. ; _item.name '_refine_occupancy.details' _item.category_id refine_occupancy _item.mandatory_code no _item_type.code text _item_examples.case ; The inhibitor binds to the enzyme in two alternative conformations. The occupancy of each conformation was adjusted so as to result in approximately equal mean thermal factors for the atoms in each conformation. ; save_ save__refine_occupancy.treatment _item_description.description ; The treatment of occupancies for a class of atoms described in _refine_occupancy.class. ; _item.name '_refine_occupancy.treatment' _item.category_id refine_occupancy _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail fix 'fixed' ref 'refined' save_ save__refine_occupancy.value _item_description.description ; The value of occupancy assigned to a class of atoms defined in _refine_occupancy.class. Meaningful only for atoms with fixed occupancy. ; _item.name '_refine_occupancy.value' _item.category_id refine_occupancy _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 1.0 1.0 1.0 0.0 0.0 0.0 _item_type.code float loop_ _item_examples.case 1.0 0.41 save_ ########### ## REFLN ## ########### save_refln _category.description ; Data items in the REFLN category record details about the reflection data used to determine the ATOM_SITE data items. The REFLN data items refer to individual reflections and must be included in looped lists. The REFLNS data items specify the parameters that apply to all reflections. The REFLNS data items are not looped. ; _category.id refln _category.mandatory_code no loop_ _category_key.name '_refln.index_h' '_refln.index_k' '_refln.index_l' loop_ _category_group.id 'inclusive_group' 'refln_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on data set fetod of Todres, Yanovsky, Ermekov & Struchkov [Acta Cryst. (1993), C49, 1352-1354]. ; ; loop_ _refln.index_h _refln.index_k _refln.index_l _refln.F_squared_calc _refln.F_squared_meas _refln.F_squared_sigma _refln.status 2 0 0 85.57 58.90 1.45 o 3 0 0 15718.18 15631.06 30.40 o 4 0 0 55613.11 49840.09 61.86 o 5 0 0 246.85 241.86 10.02 o 6 0 0 82.16 69.97 1.93 o 7 0 0 1133.62 947.79 11.78 o 8 0 0 2558.04 2453.33 20.44 o 9 0 0 283.88 393.66 7.79 o 10 0 0 283.70 171.98 4.26 o ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__refln.A_calc _item_description.description ; The calculated value of structure-factor component A in electrons. A = |F|cos(phase) ; _item.name '_refln.A_calc' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_A_calc' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_related.related_name '_refln.A_calc_au' _item_related.function_code conversion_arbitrary _item_type.code float _item_units.code electrons save_ save__refln.A_calc_au _item_description.description ; The calculated value of structure-factor component A in arbitrary units. A = |F|cos(phase) ; _item.name '_refln.A_calc_au' _item.category_id refln _item.mandatory_code no _item_related.related_name '_refln.A_calc' _item_related.function_code conversion_arbitrary _item_type.code float _item_units.code arbitrary save_ save__refln.A_meas _item_description.description ; The measured value of structure-factor component A in electrons. A = |F|cos(phase) ; _item.name '_refln.A_meas' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_A_meas' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_related.related_name '_refln.A_meas_au' _item_related.function_code conversion_arbitrary _item_type.code float _item_units.code electrons save_ save__refln.A_meas_au _item_description.description ; The measured value of structure-factor component A in arbitrary units. A = |F|cos(phase) ; _item.name '_refln.A_meas_au' _item.category_id refln _item.mandatory_code no _item_related.related_name '_refln.A_meas' _item_related.function_code conversion_arbitrary _item_type.code float _item_units.code arbitrary save_ save__refln.B_calc _item_description.description ; The calculated value of structure-factor component B in electrons. B = |F|sin(phase) ; _item.name '_refln.B_calc' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_B_calc' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_related.related_name '_refln.B_calc_au' _item_related.function_code conversion_arbitrary _item_type.code float _item_units.code electrons save_ save__refln.B_calc_au _item_description.description ; The calculated value of structure-factor component B in arbitrary units. B = |F|sin(phase) ; _item.name '_refln.B_calc_au' _item.category_id refln _item.mandatory_code no _item_related.related_name '_refln.B_calc' _item_related.function_code conversion_arbitrary _item_type.code float _item_units.code arbitrary save_ save__refln.B_meas _item_description.description ; The measured value of structure-factor component B in electrons. B = |F|sin(phase) ; _item.name '_refln.B_meas' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_B_meas' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_related.related_name '_refln.B_meas_au' _item_related.function_code conversion_arbitrary _item_type.code float _item_units.code electrons save_ save__refln.B_meas_au _item_description.description ; The measured value of structure-factor component B in arbitrary units. B = |F|sin(phase) ; _item.name '_refln.B_meas_au' _item.category_id refln _item.mandatory_code no _item_related.related_name '_refln.B_meas' _item_related.function_code conversion_arbitrary _item_type.code float _item_units.code arbitrary save_ save__refln.crystal_id _item_description.description ; This data item is a pointer to _exptl_crystal.id in the EXPTL_CRYSTAL category. ; _item.name '_refln.crystal_id' _item.mandatory_code no _item_aliases.alias_name '_refln_crystal_id' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__refln.F_calc _item_description.description ; The calculated value of the structure factor in electrons. ; _item.name '_refln.F_calc' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_F_calc' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_related.related_name '_refln.F_calc_au' _item_related.function_code conversion_arbitrary _item_type.code float _item_units.code electrons save_ save__refln.F_calc_au _item_description.description ; The calculated value of the structure factor in arbitrary units. ; _item.name '_refln.F_calc_au' _item.category_id refln _item.mandatory_code no _item_related.related_name '_refln.F_calc' _item_related.function_code conversion_arbitrary _item_type.code float _item_units.code arbitrary save_ save__refln.F_meas _item_description.description ; The measured value of the structure factor in electrons. ; _item.name '_refln.F_meas' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_F_meas' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_refln.F_meas_sigma' associated_esd '_refln.F_meas_au' conversion_arbitrary _item_type.code float _item_type_conditions.code esd _item_units.code electrons save_ save__refln.F_meas_au _item_description.description ; The measured value of the structure factor in arbitrary units. ; _item.name '_refln.F_meas_au' _item.category_id refln _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_refln.F_meas_sigma_au' associated_esd '_refln.F_meas' conversion_arbitrary _item_type.code float _item_type_conditions.code esd _item_units.code arbitrary save_ save__refln.F_meas_sigma _item_description.description ; The standard uncertainty (estimated standard deviation) of _refln.F_meas in electrons. ; _item.name '_refln.F_meas_sigma' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_F_sigma' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_refln.F_meas' associated_value '_refln.F_meas_sigma_au' conversion_arbitrary _item_type.code float _item_units.code electrons save_ save__refln.F_meas_sigma_au _item_description.description ; The standard uncertainty (estimated standard deviation) of _refln.F_meas_au in arbitrary units. ; _item.name '_refln.F_meas_sigma_au' _item.category_id refln _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_refln.F_meas_au' associated_value '_refln.F_meas_sigma' conversion_arbitrary _item_type.code float _item_units.code arbitrary save_ save__refln.F_squared_calc _item_description.description ; The calculated value of the squared structure factor in electrons squared. ; _item.name '_refln.F_squared_calc' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_F_squared_calc' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code electrons_squared save_ save__refln.F_squared_meas _item_description.description ; The measured value of the squared structure factor in electrons squared. ; _item.name '_refln.F_squared_meas' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_F_squared_meas' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code electrons_squared save_ save__refln.F_squared_sigma _item_description.description ; The standard uncertainty (derived from measurement) of the squared structure factor in electrons squared. ; _item.name '_refln.F_squared_sigma' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_F_squared_sigma' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code electrons_squared save_ save__refln.fom _item_description.description ; The figure of merit m for this reflection. int P~alpha~ exp(i*alpha) dalpha m = -------------------------------- int P~alpha~ dalpha P~a~ = the probability that the phase angle a is correct int is taken over the range alpha = 0 to 2 pi. ; _item.name '_refln.fom' _item.category_id refln _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__refln.index_h _item_description.description ; Miller index h of the reflection. The values of the Miller indices in the REFLN category must correspond to the cell defined by cell lengths and cell angles in the CELL category. ; _item.name '_refln.index_h' _item.category_id refln _item.mandatory_code yes _item_aliases.alias_name '_refln_index_h' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_refln.index_k' '_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__refln.index_k _item_description.description ; Miller index k of the reflection. The values of the Miller indices in the REFLN category must correspond to the cell defined by cell lengths and cell angles in the CELL category. ; _item.name '_refln.index_k' _item.category_id refln _item.mandatory_code yes _item_aliases.alias_name '_refln_index_k' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_refln.index_h' '_refln.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__refln.index_l _item_description.description ; Miller index l of the reflection. The values of the Miller indices in the REFLN category must correspond to the cell defined by cell lengths and cell angles in the CELL category. ; _item.name '_refln.index_l' _item.category_id refln _item.mandatory_code yes _item_aliases.alias_name '_refln_index_l' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_dependent.dependent_name '_refln.index_h' '_refln.index_k' _item_sub_category.id miller_index _item_type.code int save_ save__refln.intensity_calc _item_description.description ; The calculated value of the intensity in the same units as _refln.intensity_meas. ; _item.name '_refln.intensity_calc' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_intensity_calc' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float save_ save__refln.intensity_meas _item_description.description ; The measured value of the intensity. ; _item.name '_refln.intensity_meas' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_intensity_meas' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float save_ save__refln.intensity_sigma _item_description.description ; The standard uncertainty (derived from measurement) of the intensity in the same units as _refln.intensity_meas. ; _item.name '_refln.intensity_sigma' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_intensity_sigma' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float save_ #save__refln.mean_path_length_tbar # _item_description.description #; Mean path length in millimetres through the crystal for this # reflection. #; # _item.name '_refln.mean_path_length_tbar' # _item.category_id refln # _item.mandatory_code no # _item_aliases.alias_name '_refln_mean_path_length_tbar' # _item_aliases.dictionary cif_core.dic # _item_aliases.version 2.0.1 # _item_type.code float # _item_units.code millimetres # save_ save__refln.status _item_description.description ; Classification of a reflection so as to indicate its status with respect to inclusion in the refinement and the calculation of R factors. ; _item.name '_refln.status' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_observed_status' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 # _item_default.value o _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail o ; satisfies _refine.ls_d_res_high, satisfies _refine.ls_d_res_low, observed by _reflns.observed_criterion, not flagged as systematically absent, not flagged as unreliable ; < ; satisfies _refine.ls_d_res_high, satisfies _refine.ls_d_res_low, unobserved by _reflns.observed_criterion, not flagged as systematically absent, not flagged as unreliable ; - 'systematically absent reflection' x 'unreliable measurement -- not used' h 'does not satisfy _refine.ls_d_res_high' l 'does not satisfy _refine.ls_d_res_low' f ; satisfies _refine.ls_d_res_high, satisfies _refine.ls_d_res_low, observed by _reflns.observed_criterion, not flagged as systematically absent, not flagged as unreliable, excluded from refinement so as to be included in the calculation of a 'free' R factor ; save_ save__refln.phase_calc _item_description.description ; The calculated structure-factor phase in degrees. ; _item.name '_refln.phase_calc' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_phase_calc' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code degrees save_ save__refln.phase_meas _item_description.description ; The measured structure-factor phase in degrees. ; _item.name '_refln.phase_meas' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_phase_meas' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float _item_units.code degrees save_ save__refln.refinement_status _item_description.description ; Status of a reflection in the structure-refinement process. ; _item.name '_refln.refinement_status' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_refinement_status' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_default.value incl _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail incl 'included in ls process' excl 'excluded from ls process' extn 'excluded due to extinction' save_ save__refln.scale_group_code _item_description.description ; This data item is a pointer to _reflns_scale.group_code in the REFLNS_SCALE category. ; _item.name '_refln.scale_group_code' _item.mandatory_code no _item_aliases.alias_name '_refln_scale_group_code' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ save__refln.sint_over_lambda _item_description.description ; The (sin theta)/lambda value in reciprocal angstroms for this reflection. ; _item.name '_refln.sint_over_lambda' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_sint/lambda' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code reciprocal_angstroms save_ save__refln.symmetry_epsilon _item_description.description ; The symmetry reinforcement factor corresponding to the number of times the reflection indices are generated identically from the space-group symmetry operations. ; _item.name '_refln.symmetry_epsilon' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_symmetry_epsilon' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 48 48 48 1 1 1 _item_type.code int save_ save__refln.symmetry_multiplicity _item_description.description ; The number of symmetry-equivalent reflections. The equivalent reflections have the same structure-factor magnitudes because of the space-group symmetry and the Friedel relationship. ; _item.name '_refln.symmetry_multiplicity' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_symmetry_multiplicity' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 48 48 48 1 1 1 _item_type.code int save_ save__refln.wavelength _item_description.description ; The mean wavelength in angstroms of radiation used to measure this reflection. This is an important parameter for data collected using energy-dispersive detectors or the Laue method. ; _item.name '_refln.wavelength' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln_wavelength' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__refln.wavelength_id _item_description.description ; This data item is a pointer to _diffrn_radiation.wavelength_id in the DIFFRN_RADIATION category. ; _item.name '_refln.wavelength_id' _item.mandatory_code no _item_aliases.alias_name '_refln_wavelength_id' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 save_ ################### ## REFLN_SYS_ABS ## ################### save_refln_sys_abs _category.description ; Data items in the REFLN_SYS_ABS category record details about the reflection data that should be systematically absent, given the designated space group. ; _category.id refln_sys_abs _category.mandatory_code no loop_ _category_key.name '_refln_sys_abs.index_h' '_refln_sys_abs.index_k' '_refln_sys_abs.index_l' loop_ _category_group.id 'inclusive_group' 'refln_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - hypothetical example. ; ; loop_ _refln_sys_abs.index_h _refln_sys_abs.index_k _refln_sys_abs.index_l _refln_sys_abs.I _refln_sys_abs.sigmaI _refln_sys_abs.I_over_sigmaI 0 3 0 28.32 22.95 1.23 0 5 0 14.11 16.38 0.86 0 7 0 114.81 20.22 5.67 0 9 0 32.99 24.51 1.35 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__refln_sys_abs.I _item_description.description ; The measured value of the intensity in arbitrary units. ; _item.name '_refln_sys_abs.I' _item.category_id refln_sys_abs _item.mandatory_code no # _item_aliases.alias_name '_ebi_refln_sys_abs.I' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_related.related_name _item_related.function_code '_refln_sys_abs.sigmaI' associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code arbitrary save_ save__refln_sys_abs.I_over_sigmaI _item_description.description ; The ratio of _refln_sys_abs.I to _refln_sys_abs.sigmaI. Used to evaluate whether a reflection that should be systematically absent according to the designated space group is in fact absent. ; _item.name '_refln_sys_abs.I_over_sigmaI' _item.category_id refln_sys_abs _item.mandatory_code no # _item_aliases.alias_name '_ebi_refln_sys_abs.I_over_sigma' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _item_type.code float save_ save__refln_sys_abs.index_h _item_description.description ; Miller index h of the reflection. The values of the Miller indices in the REFLN_SYS_ABS category must correspond to the cell defined by cell lengths and cell angles in the CELL category. ; _item.name '_refln_sys_abs.index_h' _item.category_id refln_sys_abs _item.mandatory_code yes # _item_aliases.alias_name '_ebi_refln_sys_abs.h' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_dependent.dependent_name '_refln_sys_abs.index_k' '_refln_sys_abs.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__refln_sys_abs.index_k _item_description.description ; Miller index k of the reflection. The values of the Miller indices in the REFLN_SYS_ABS category must correspond to the cell defined by cell lengths and cell angles in the CELL category. ; _item.name '_refln_sys_abs.index_k' _item.category_id refln_sys_abs _item.mandatory_code yes # _item_aliases.alias_name '_ebi_refln_sys_abs.k' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_dependent.dependent_name '_refln_sys_abs.index_h' '_refln_sys_abs.index_l' _item_sub_category.id miller_index _item_type.code int save_ save__refln_sys_abs.index_l _item_description.description ; Miller index l of the reflection. The values of the Miller indices in the REFLN_SYS_ABS category must correspond to the cell defined by cell lengths and cell angles in the CELL category. ; _item.name '_refln_sys_abs.index_l' _item.category_id refln_sys_abs _item.mandatory_code yes # _item_aliases.alias_name '_ebi_refln_sys_abs.l' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_dependent.dependent_name '_refln_sys_abs.index_h' '_refln_sys_abs.index_k' _item_sub_category.id miller_index _item_type.code int save_ save__refln_sys_abs.sigmaI _item_description.description ; The standard uncertainty (estimated standard deviation) of _refln_sys_abs.I in arbitrary units. ; _item.name '_refln_sys_abs.sigmaI' _item.category_id refln_sys_abs _item.mandatory_code no # _item_aliases.alias_name '_ebi_refln_sys_abs.sigmaI' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 loop_ _item_related.related_name _item_related.function_code '_refln_sys_abs.I' associated_value _item_type.code float _item_units.code arbitrary save_ ############ ## REFLNS ## ############ save_reflns _category.description ; Data items in the REFLNS category record details about the reflection data used to determine the ATOM_SITE data items. The REFLN data items refer to individual reflections and must be included in looped lists. The REFLNS data items specify the parameters that apply to all reflections. The REFLNS data items are not looped. ; _category.id reflns _category.mandatory_code no _category_key.name '_reflns.pdbx_ordinal' loop_ _category_group.id 'inclusive_group' 'refln_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _reflns.pdbx_ordinal 1 _reflns.pdbx_diffrn_id 1 _reflns.entry_id '5HVP' _reflns.data_reduction_method ; Xengen program scalei. Anomalous pairs were merged. Scaling proceeded in several passes, beginning with 1-parameter fit and ending with 3-parameter fit. ; _reflns.data_reduction_details ; Merging and scaling based on only those reflections with I > \s(I). ; _reflns.d_resolution_high 2.00 _reflns.d_resolution_low 8.00 _reflns.limit_h_max 22 _reflns.limit_h_min 0 _reflns.limit_k_max 46 _reflns.limit_k_min 0 _reflns.limit_l_max 57 _reflns.limit_l_min 0 _reflns.number_obs 7228 _reflns.observed_criterion '> 1 \s(I)' _reflns.details none ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [Acta Cryst. (1991), C47, 2276-2277]. ; ; _reflns.pdbx_ordinal 1 _reflns.pdbx_diffrn_id 1 _reflns.entry_id '1TOZ' _reflns.limit_h_min 0 _reflns.limit_h_max 6 _reflns.limit_k_min 0 _reflns.limit_k_max 17 _reflns.limit_l_min 0 _reflns.limit_l_max 22 _reflns.number_all 1592 _reflns.number_obs 1408 _reflns.observed_criterion F_>_6.0_\s(F) _reflns.d_resolution_high 0.8733 _reflns.d_resolution_low 11.9202 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__reflns.B_iso_Wilson_estimate _item_description.description ; The value of the overall isotropic displacement parameter estimated from the slope of the Wilson plot. ; _item.name '_reflns.B_iso_Wilson_estimate' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_units.code angstroms_squared _pdbx_item_description.name "_reflns.B_iso_Wilson_estimate" _pdbx_item_description.description "The value of the overall isotropic displacement parameter estimated from the slope of the Wilson plot" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns.B_iso_Wilson_estimate" 5 5 "_reflns.B_iso_Wilson_estimate" 5 80 "_reflns.B_iso_Wilson_estimate" 80 80 # save_ save__reflns.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_reflns.entry_id' _item.mandatory_code yes save_ save__reflns.data_reduction_details _item_description.description ; A description of special aspects of the data-reduction procedures. ; _item.name '_reflns.data_reduction_details' _item.category_id reflns _item.mandatory_code no _item_type.code text _item_examples.case ; Merging and scaling based on only those reflections with I > sig(I). ; save_ save__reflns.data_reduction_method _item_description.description ; The method used for data reduction. Note that this is not the computer program used, which is described in the SOFTWARE category, but the method itself. This data item should be used to describe significant methodological options used within the data-reduction programs. ; _item.name '_reflns.data_reduction_method' _item.category_id reflns _item.mandatory_code no _item_type.code text _item_examples.case ; Profile fitting by method of Kabsch (1987). Scaling used spherical harmonic coefficients. ; save_ save__reflns.d_resolution_high _item_description.description ; The smallest value in angstroms for the interplanar spacings for the reflection data. This is called the highest resolution. ; _item.name '_reflns.d_resolution_high' _item.category_id reflns _item.mandatory_code no _pdbx_item.name "_reflns.d_resolution_high" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_reflns.d_resolution_high" _pdbx_item_description.description "The high resolution limit used for data processing. The high resolution limit actually used for structure solution or model refinement might be lower than this." _item_aliases.alias_name '_reflns_d_resolution_high' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns.d_resolution_high" 0.5 0.5 "_reflns.d_resolution_high" 0.5 8 "_reflns.d_resolution_high" 8 8 # save_ save__reflns.d_resolution_low _item_description.description ; The largest value in angstroms for the interplanar spacings for the reflection data. This is called the lowest resolution. ; _item.name '_reflns.d_resolution_low' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns_d_resolution_low' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms _pdbx_item.name "_reflns.d_resolution_low" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_reflns.d_resolution_low" _pdbx_item_description.description "The low resolution limit used for data processing. The low resolution limit actually used for structure solution or model refinement might be higher than this."" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns.d_resolution_low" 5 5 "_reflns.d_resolution_low" 5 200 "_reflns.d_resolution_low" 200 200 # save_ save__reflns.details _item_description.description ; A description of reflection data not covered by other data names. This should include details of the Friedel pairs. ; _item.name '_reflns.details' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns_special_details' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save__reflns.limit_h_max _item_description.description ; Maximum value of the Miller index h for the reflection data. This need not have the same value as _diffrn_reflns.limit_h_max. ; _item.name '_reflns.limit_h_max' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns_limit_h_max' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__reflns.limit_h_min _item_description.description ; Minimum value of the Miller index h for the reflection data. This need not have the same value as _diffrn_reflns.limit_h_min. ; _item.name '_reflns.limit_h_min' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns_limit_h_min' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__reflns.limit_k_max _item_description.description ; Maximum value of the Miller index k for the reflection data. This need not have the same value as _diffrn_reflns.limit_k_max. ; _item.name '_reflns.limit_k_max' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns_limit_k_max' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__reflns.limit_k_min _item_description.description ; Minimum value of the Miller index k for the reflection data. This need not have the same value as _diffrn_reflns.limit_k_min. ; _item.name '_reflns.limit_k_min' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns_limit_k_min' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__reflns.limit_l_max _item_description.description ; Maximum value of the Miller index l for the reflection data. This need not have the same value as _diffrn_reflns.limit_l_max. ; _item.name '_reflns.limit_l_max' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns_limit_l_max' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__reflns.limit_l_min _item_description.description ; Minimum value of the Miller index l for the reflection data. This need not have the same value as _diffrn_reflns.limit_l_min. ; _item.name '_reflns.limit_l_min' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns_limit_l_min' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__reflns.number_all _item_description.description ; The total number of reflections in the REFLN list (not the DIFFRN_REFLN list). This number may contain Friedel-equivalent reflections according to the nature of the structure and the procedures used. The item _reflns.details describes the reflection data. ; _item.name '_reflns.number_all' _item.category_id reflns _item.mandatory_code no _pdbx_item.name "_reflns.number_all" _pdbx_item.mandatory_code no _pdbx_item_description.name "_reflns.number_all" _pdbx_item_description.description "The total number of unique reflections collected after merging" _item_aliases.alias_name '_reflns_number_total' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__reflns.number_obs _item_description.description ; The number of reflections in the REFLN list (not the DIFFRN_REFLN list) classified as observed (see _reflns.observed_criterion). This number may contain Friedel-equivalent reflections according to the nature of the structure and the procedures used. ; _item.name '_reflns.number_obs' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns_number_observed' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int _pdbx_item.name "_reflns.number_obs" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_reflns.number_obs" _pdbx_item_description.description "The number of unique reflections collected after using any sigma cutoffs" save_ save__reflns.observed_criterion _item_description.description ; The criterion used to classify a reflection as 'observed'. This criterion is usually expressed in terms of a sigma(I) or sigma(F) threshold. ; _item.name '_reflns.observed_criterion' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns_observed_criterion' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_related.related_name _item_related.function_code '_reflns.observed_criterion_sigma_F' alternate '_reflns.observed_criterion_sigma_I' alternate '_reflns.observed_criterion_I_min' alternate '_reflns.observed_criterion_I_max' alternate '_reflns.observed_criterion_F_min' alternate '_reflns.observed_criterion_F_max' alternate _item_type.code text _item_examples.case '>2sigma(I)' save_ save__reflns.observed_criterion_F_max _item_description.description ; The criterion used to classify a reflection as 'observed' expressed as an upper limit for the value of F. ; _item.name '_reflns.observed_criterion_F_max' _item.category_id reflns _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_reflns.observed_criterion' alternate '_reflns.observed_criterion_I_max' convention _item_type.code float save_ save__reflns.observed_criterion_F_min _item_description.description ; The criterion used to classify a reflection as 'observed' expressed as a lower limit for the value of F. ; _item.name '_reflns.observed_criterion_F_min' _item.category_id reflns _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_reflns.observed_criterion' alternate '_reflns.observed_criterion_I_min' convention _item_type.code float save_ save__reflns.observed_criterion_I_max _item_description.description ; The criterion used to classify a reflection as 'observed' expressed as an upper limit for the value of I. ; _item.name '_reflns.observed_criterion_I_max' _item.category_id reflns _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_reflns.observed_criterion' alternate '_reflns.observed_criterion_F_max' convention _item_type.code float save_ save__reflns.observed_criterion_I_min _item_description.description ; The criterion used to classify a reflection as 'observed' expressed as a lower limit for the value of I. ; _item.name '_reflns.observed_criterion_I_min' _item.category_id reflns _item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_reflns.observed_criterion' alternate '_reflns.observed_criterion_F_min' convention _item_type.code float save_ save__reflns.observed_criterion_sigma_F _item_description.description ; The criterion used to classify a reflection as 'observed' expressed as a multiple of the value of sigma(F). ; _item.name '_reflns.observed_criterion_sigma_F' _item.category_id reflns _item.mandatory_code no _pdbx_item.name "_reflns.observed_criterion_sigma_F" _pdbx_item.mandatory_code no loop_ _item_related.related_name _item_related.function_code '_reflns.observed_criterion' alternate '_reflns.observed_criterion_sigma_I' convention _item_type.code float save_ save__reflns.observed_criterion_sigma_I _item_description.description ; The criterion used to classify a reflection as 'observed' expressed as a multiple of the value of sigma(I). ; _item.name '_reflns.observed_criterion_sigma_I' _item.category_id reflns _item.mandatory_code no _pdbx_item.name "_reflns.observed_criterion_sigma_I" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_reflns.observed_criterion_sigma_I" _pdbx_item_description.description "The sigma cutoff applied to intensities in scaling of data. Xengen and scalepack use -3." # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns.observed_criterion_sigma_I" -3 -3 "_reflns.observed_criterion_sigma_I" -3 4 "_reflns.observed_criterion_sigma_I" 4 4 # loop_ _item_related.related_name _item_related.function_code '_reflns.observed_criterion' alternate '_reflns.observed_criterion_sigma_F' convention _item_type.code float save_ save__reflns.percent_possible_obs _item_description.description ; The percentage of geometrically possible reflections represented by reflections that satisfy the resolution limits established by _reflns.d_resolution_high and _reflns.d_resolution_low and the observation limit established by _reflns.observed_criterion. ; _item.name '_reflns.percent_possible_obs' _item.category_id reflns _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 100.0 100.0 100.0 0.0 0.0 0.0 _item_type.code float _pdbx_item.name '_reflns.percent_possible_obs' _pdbx_item.mandatory_code yes # _pdbx_item_description.name '_reflns.percent_possible_obs' _pdbx_item_description.description 'The percent of possible observed reflections collected. Do not incude the % sign' # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_reflns.percent_possible_obs' 74.5 74.5 '_reflns.percent_possible_obs' 74.5 100 '_reflns.percent_possible_obs' 100 100 # save_ save__reflns.R_free_details _item_description.description ; A description of the method by which a subset of reflections was selected for exclusion from refinement so as to be used in the calculation of a 'free' R factor. ; _item.name '_reflns.R_free_details' _item.category_id reflns _item.mandatory_code no _item_type.code text _item_examples.case ; The data set was sorted with l varying most rapidly and h varying least rapidly. Every 10th reflection in this sorted list was excluded from refinement and included in the calculation of a 'free' R factor. ; save_ save__reflns.Rmerge_F_all _item_description.description ; Residual factor Rmerge for all reflections that satisfy the resolution limits established by _reflns.d_resolution_high and _reflns.d_resolution_low. sum~i~(sum~j~|F~j~ - |) Rmerge(F) = -------------------------- sum~i~(sum~j~) F~j~ = the amplitude of the jth observation of reflection i = the mean of the amplitudes of all observations of reflection i sum~i~ is taken over all reflections sum~j~ is taken over all observations of each reflection ; _item.name '_reflns.Rmerge_F_all' _item.category_id reflns _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__reflns.Rmerge_F_obs _item_description.description ; Residual factor Rmerge for reflections that satisfy the resolution limits established by _reflns.d_resolution_high and _reflns.d_resolution_low and the observation limit established by _reflns.observed_criterion. sum~i~(sum~j~|F~j~ - |) Rmerge(F) = -------------------------- sum~i~(sum~j~) F~j~ = the amplitude of the jth observation of reflection i = the mean of the amplitudes of all observations of reflection i sum~i~ is taken over all reflections sum~j~ is taken over all observations of each reflection ; _item.name '_reflns.Rmerge_F_obs' _item.category_id reflns _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ ################## ## REFLNS_SCALE ## ################## save_reflns_scale _category.description ; Data items in the REFLNS_SCALE category record details about the structure-factor scales. They are referenced from within the REFLN list through _refln.scale_group_code. ; _category.id reflns_scale _category.mandatory_code no _category_key.name '_reflns_scale.group_code' loop_ _category_group.id 'inclusive_group' 'refln_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for the collagen-like peptide [(POG)4 EKG (POG)5]3. ; ; _reflns_scale.group_code SG1 _reflns_scale.meas_F 4.0 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__reflns_scale.group_code _item_description.description ; The code identifying a scale _reflns_scale.meas_F, _reflns_scale.meas_F_squared or _reflns_scale.meas_intensity. These are linked to the REFLN list by the _refln.scale_group_code. These codes need not correspond to those in the DIFFRN_SCALE list. ; loop_ _item.name _item.category_id _item.mandatory_code '_reflns_scale.group_code' reflns_scale yes '_refln.scale_group_code' refln no _item_aliases.alias_name '_reflns_scale_group_code' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_linked.child_name _item_linked.parent_name '_refln.scale_group_code' '_reflns_scale.group_code' _item_type.code line loop_ _item_examples.case '1' '2' 'c1' 'c2' save_ save__reflns_scale.meas_F _item_description.description ; A scale associated with _reflns_scale.group_code. ; _item.name '_reflns_scale.meas_F' _item.category_id reflns_scale _item.mandatory_code no _item_aliases.alias_name '_reflns_scale_meas_F' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__reflns_scale.meas_F_squared _item_description.description ; A scale associated with _reflns_scale.group_code. ; _item.name '_reflns_scale.meas_F_squared' _item.category_id reflns_scale _item.mandatory_code no _item_aliases.alias_name '_reflns_scale_meas_F_squared' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__reflns_scale.meas_intensity _item_description.description ; A scale associated with _reflns_scale.group_code. ; _item.name '_reflns_scale.meas_intensity' _item.category_id reflns_scale _item.mandatory_code no _item_aliases.alias_name '_reflns_scale_meas_intensity' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ ################## ## REFLNS_SHELL ## ################## save_reflns_shell _category.description ; Data items in the REFLNS_SHELL category record details about the reflection data used to determine the ATOM_SITE data items broken down into shells of resolution. ; _category.id reflns_shell _category.mandatory_code no # loop_ # _category_key.name '_reflns_shell.d_res_high' # '_reflns_shell.d_res_low' _category_key.name '_reflns_shell.pdbx_ordinal' loop_ _category_group.id 'inclusive_group' 'refln_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _reflns_shell.pdbx_ordinal _reflns_shell.d_res_high _reflns_shell.d_res_low _reflns_shell.meanI_over_sigI_obs _reflns_shell.number_measured_obs _reflns_shell.number_unique_obs _reflns_shell.percent_possible_obs _reflns_shell.Rmerge_F_obs 1 31.38 3.82 69.8 9024 2540 96.8 1.98 2 3.82 3.03 26.1 7413 2364 95.1 3.85 3 3.03 2.65 10.5 5640 2123 86.2 6.37 4 2.65 2.41 6.4 4322 1882 76.8 8.01 5 2.41 2.23 4.3 3247 1714 70.4 9.86 6 2.23 2.10 3.1 1140 812 33.3 13.99 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__reflns_shell.d_res_high _item_description.description ; The smallest value in angstroms for the interplanar spacings for the reflections in this shell. This is called the highest resolution. ; _item.name '_reflns_shell.d_res_high' _item.category_id reflns_shell _item.mandatory_code yes _pdbx_item.name "_reflns_shell.d_res_high" _pdbx_item.mandatory_code yes _pdbx_item_description.name "_reflns_shell.d_res_high" _pdbx_item_description.description "For this resolution shell, the high resolution limit processed." _item_aliases.alias_name '_reflns_shell_d_res_high' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns_shell.d_res_high" 0.5 0.5 "_reflns_shell.d_res_high" 0.5 8 "_reflns_shell.d_res_high" 8 8 # save_ save__reflns_shell.d_res_low _item_description.description ; The highest value in angstroms for the interplanar spacings for the reflections in this shell. This is called the lowest resolution. ; _item.name '_reflns_shell.d_res_low' _item.category_id reflns_shell _item.mandatory_code no _pdbx_item.name "_reflns_shell.d_res_low" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_reflns_shell.d_res_low" _pdbx_item_description.description "For this resolution shell, the low resolution limit processed." _item_aliases.alias_name '_reflns_shell_d_res_low' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns_shell.d_res_low" 0.5 0.5 "_reflns_shell.d_res_low" 0.5 10 "_reflns_shell.d_res_low" 10 10 # save_ save__reflns_shell.meanI_over_sigI_all _item_description.description ; The ratio of the mean of the intensities of all reflections in this shell to the mean of the standard uncertainties of the intensities of all reflections in this shell. ; _item.name '_reflns_shell.meanI_over_sigI_all' _item.category_id reflns_shell _item.mandatory_code no _item_aliases.alias_name '_reflns_shell_meanI_over_sigI_all' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float save_ save__reflns_shell.meanI_over_sigI_obs _item_description.description ; The ratio of the mean of the intensities of the reflections classified as 'observed' (see _reflns.observed_criterion) in this shell to the mean of the standard uncertainties of the intensities of the 'observed' reflections in this shell. ; _item.name '_reflns_shell.meanI_over_sigI_obs' _item.category_id reflns_shell _item.mandatory_code no # _pdbx_item.name "_reflns_shell.meanI_over_sigI_obs" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_reflns_shell.meanI_over_sigI_obs" _pdbx_item_description.description "For this resolution shell, the average I/sigma(I)" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns_shell.meanI_over_sigI_obs" 0.05 0.05 "_reflns_shell.meanI_over_sigI_obs" 0.05 20 "_reflns_shell.meanI_over_sigI_obs" 20 20 # _item_aliases.alias_name '_reflns_shell_meanI_over_sigI_obs' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code float save_ save__reflns_shell.number_measured_all _item_description.description ; The total number of reflections measured for this shell. ; _item.name '_reflns_shell.number_measured_all' _item.category_id reflns_shell _item.mandatory_code no _item_aliases.alias_name '_reflns_shell_number_measured_all' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__reflns_shell.number_measured_obs _item_description.description ; The number of reflections classified as 'observed' (see _reflns.observed_criterion) for this shell. ; _item.name '_reflns_shell.number_measured_obs' _item.category_id reflns_shell _item.mandatory_code no _item_aliases.alias_name '_reflns_shell_number_measured_obs' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__reflns_shell.number_possible _item_description.description ; The number of unique reflections it is possible to measure in this shell. ; _item.name '_reflns_shell.number_possible' _item.category_id reflns_shell _item.mandatory_code no _item_aliases.alias_name '_reflns_shell_number_possible' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__reflns_shell.number_unique_all _item_description.description ; The total number of measured reflections which are symmetry- unique after merging for this shell. ; _item.name '_reflns_shell.number_unique_all' _item.category_id reflns_shell _item.mandatory_code no _item_aliases.alias_name '_reflns_shell_number_unique_all' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns_shell.number_unique_all" 5 5 "_reflns_shell.number_unique_all" 5 30000 "_reflns_shell.number_unique_all" 30000 30000 save_ save__reflns_shell.number_unique_obs _item_description.description ; The total number of measured reflections classified as 'observed' (see _reflns.observed_criterion) which are symmetry-unique after merging for this shell. ; _item.name '_reflns_shell.number_unique_obs' _item.category_id reflns_shell _item.mandatory_code no _pdbx_item.name '_reflns_shell.number_unique_obs' _pdbx_item.mandatory_code yes _item_aliases.alias_name '_reflns_shell_number_unique_obs' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__reflns_shell.percent_possible_all _item_description.description ; The percentage of geometrically possible reflections represented by all reflections measured for this shell. ; _item.name '_reflns_shell.percent_possible_all' _item.category_id reflns_shell _item.mandatory_code no _item_aliases.alias_name '_reflns_shell_percent_possible_all' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _pdbx_item_description.name "_reflns_shell.percent_possible_all" _pdbx_item_description.description "Percentage of possible reflections collected in this resolution shell" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns_shell.percent_possible_all" 20 20 "_reflns_shell.percent_possible_all" 20 100 "_reflns_shell.percent_possible_all" 100 100 save_ save__reflns_shell.percent_possible_obs _item_description.description ; The percentage of geometrically possible reflections represented by reflections classified as 'observed' (see _reflns.observed_criterion) for this shell. ; _item.name '_reflns_shell.percent_possible_obs' _item.category_id reflns_shell _item.mandatory_code no _pdbx_item.name '_reflns_shell.percent_possible_obs' _pdbx_item.mandatory_code no _item_aliases.alias_name '_reflns_shell_percent_possible_obs' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 100.0 100.0 100.0 0.0 0.0 0.0 _item_type.code float # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns_shell.percent_possible_obs" 20 20 "_reflns_shell.percent_possible_obs" 20 100 "_reflns_shell.percent_possible_obs" 100 100 # save_ save__reflns_shell.Rmerge_F_all _item_description.description ; Residual factor Rmerge for all reflections that satisfy the resolution limits established by _reflns_shell.d_res_high and _reflns_shell.d_res_low. sum~i~(sum~j~|F~j~ - |) Rmerge(F) = -------------------------- sum~i~(sum~j~) F~j~ = the amplitude of the jth observation of reflection i = the mean of the amplitudes of all observations of reflection i sum~i~ is taken over all reflections sum~j~ is taken over all observations of each reflection ; _item.name '_reflns_shell.Rmerge_F_all' _item.category_id reflns_shell _item.mandatory_code no _item_aliases.alias_name '_reflns_shell_Rmerge_F_all' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__reflns_shell.Rmerge_F_obs _item_description.description ; Residual factor Rmerge for reflections that satisfy the resolution limits established by _reflns_shell.d_res_high and _reflns_shell.d_res_low and the observation criterion established by _reflns.observed_criterion. sum~i~(sum~j~|F~j~ - |) Rmerge(F) = -------------------------- sum~i~(sum~j~) F~j~ = the amplitude of the jth observation of reflection i = the mean of the amplitudes of all observations of reflection i sum~i~ is taken over all reflections sum~j~ is taken over all observations of each reflection ; _item.name '_reflns_shell.Rmerge_F_obs' _item.category_id reflns_shell _item.mandatory_code no _item_aliases.alias_name '_reflns_shell_Rmerge_F_obs' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__reflns_shell.Rmerge_I_all _item_description.description ; The value of Rmerge(I) for all reflections in a given shell. sum~i~(sum~j~|I~j~ - |) Rmerge(I) = -------------------------- sum~i~(sum~j~) I~j~ = the intensity of the jth observation of reflection i = the mean of the intensities of all observations of reflection i sum~i~ is taken over all reflections sum~j~ is taken over all observations of each reflection ; _item.name '_reflns_shell.Rmerge_I_all' _item.category_id reflns_shell _item.mandatory_code no _item_aliases.alias_name '_reflns_shell_Rmerge_I_all' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__reflns_shell.Rmerge_I_obs _item_description.description ; The value of Rmerge(I) for reflections classified as 'observed' (see _reflns.observed_criterion) in a given shell. sum~i~(sum~j~|I~j~ - |) Rmerge(I) = -------------------------- sum~i~(sum~j~) I~j~ = the intensity of the jth observation of reflection i = the mean of the intensities of all observations of reflection i sum~i~ is taken over all reflections sum~j~ is taken over all observations of each reflection ; _item.name '_reflns_shell.Rmerge_I_obs' _item.category_id reflns_shell _item.mandatory_code no _item_aliases.alias_name '_reflns_shell_Rmerge_I_obs' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 loop_ _item_range.maximum _item_range.minimum 145.0 0.0 0.0 0.0 _item_type.code float _pdbx_item.name "_reflns_shell.Rmerge_I_obs" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_reflns_shell.Rmerge_I_obs" _pdbx_item_description.description "For this resolution shell, provide the Rmerge of data collection as a decimal number" # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns_shell.Rmerge_I_obs" 0.01 0.01 "_reflns_shell.Rmerge_I_obs" 0.01 1.8 "_reflns_shell.Rmerge_I_obs" 1.8 1.8 # save_ ############## ## SOFTWARE ## ############## save_software _category.description ; Data items in the SOFTWARE category record details about the software used in the structure analysis, which implies any software used in the generation of any data items associated with the structure determination and structure representation. These data items allow computer programs to be referenced in more detail than data items in the COMPUTING category do. ; _category.id software _category.mandatory_code no loop_ _category_key.name '_software.pdbx_ordinal' # '_software.name' # '_software.classification' # '_software.version' loop_ _category_group.id 'inclusive_group' 'computing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _software.pdbx_ordinal _software.name _software.version _software.date _software.type _software.contact_author _software.contact_author_email _software.location _software.classification _software.citation_id _software.language _software.compiler_name _software.compiler_version _software.hardware _software.os _software.os_version _software.dependencies _software.mods _software.description 1 Prolsq unknown . program 'Wayne A. Hendrickson' ? 'ftp://rosebud.sdsc.edu/pub/sdsc/xtal/CCP4/ccp4/' refinement ref5 Fortran 'Convex Fortran' v8.0 'Convex C220' ConvexOS v10.1 'Requires that Protin be run first' optimized 'restrained least-squares refinement' ; save_ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save__software.citation_id _item_description.description ; This data item is a pointer to _citation.id in the CITATION category. ; _item.name '_software.citation_id' _item.mandatory_code no save_ save__software.classification _item_description.description ; The classification of the program according to its major function. ; _item.name '_software.classification' _item.category_id software _item.mandatory_code yes _pdbx_item.name "_software.classification" _pdbx_item.mandatory_code yes _item_type.code uline loop_ _item_examples.case 'data collection' 'data reduction' 'phasing' 'model building' 'refinement' 'validation' 'other' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_software.classification" "data collection" . "_software.classification" "data extraction" . "_software.classification" "data processing" . "_software.classification" "data reduction" . "_software.classification" "data scaling" . "_software.classification" "model building" . "_software.classification" phasing . "_software.classification" refinement . # loop_ _item_related.related_name _item_related.function_code '_computing.cell_refinement' replaces '_computing.data_collection' replaces '_computing.data_reduction' replaces '_computing.molecular_graphics' replaces '_computing.publication_material' replaces '_computing.structure_refinement' replaces '_computing.structure_solution' replaces '_computing.pdbx_data_reduction_ds' replaces '_computing.pdbx_data_reduction_ii' replaces '_computing.pdbx_structure_refinement_method' replaces save_ save__software.compiler_name _item_description.description ; The compiler used to compile the software. ; _item.name '_software.compiler_name' _item.category_id software _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'Convex Fortran' 'gcc' 'DEC C' save_ save__software.compiler_version _item_description.description ; The version of the compiler used to compile the software. ; _item.name '_software.compiler_version' _item.category_id software _item.mandatory_code no _item_type.code line loop_ _item_examples.case '3.1' '2.1 alpha' save_ save__software.contact_author _item_description.description ; The recognized contact author of the software. This could be the original author, someone who has modified the code or someone who maintains the code. It should be the person most commonly associated with the code. ; _item.name '_software.contact_author' _item.category_id software _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'T. Alwyn Jones' 'Axel Brunger' save_ save__software.contact_author_email _item_description.description ; The e-mail address of the person specified in _software.contact_author. ; _item.name '_software.contact_author_email' _item.category_id software _item.mandatory_code no _item_type.code line _item_examples.case 'bourne@sdsc.edu' save_ save__software.date _item_description.description ; The date the software was released. ; _item.name '_software.date' _item.category_id software _item.mandatory_code no _item_type.code line loop_ _item_examples.case 1991-10-01 1990-04-30 save_ save__software.description _item_description.description ; Description of the software. ; _item.name '_software.description' _item.category_id software _item.mandatory_code no _item_type.code line _item_examples.case 'Uses method of restrained least squares' save_ save__software.dependencies _item_description.description ; Any prerequisite software required to run _software.name. ; _item.name '_software.dependencies' _item.category_id software _item.mandatory_code no _item_type.code line _item_examples.case 'PDBlib class library' save_ save__software.hardware _item_description.description ; The hardware upon which the software was run. ; _item.name '_software.hardware' _item.category_id software _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'Sun Sparc 10 model 41' 'Dec Alpha 3000 model 500S' 'Silicon Graphics Elan' 'Compaq PC 486/66' save_ save__software.language _item_description.description ; The major computing language in which the software is coded. ; _item.name '_software.language' _item.category_id software _item.mandatory_code no _item_type.code uline loop_ _item_enumeration.value Ada assembler Awk Basic 'C++' 'C/C++' C csh Fortran Fortran_77 'Fortran 77' 'Fortran 90' Java 'Java & Fortran' ksh Pascal Perl Python 'Python/C++' sh Tcl Other save_ save__software.location _item_description.description ; The URL for an Internet address at which details of the software can be found. ; _item.name '_software.location' _item.category_id software _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'http://rosebud.sdsc.edu/projects/pb/IUCr/software.html' 'ftp://ftp.sdsc.edu/pub/sdsc/biology/' save_ save__software.mods _item_description.description ; Any noteworthy modifications to the base software, if applicable. ; _item.name '_software.mods' _item.category_id software _item.mandatory_code no _item_type.code line _item_examples.case 'Added support for space group F432' save_ save__software.name _item_description.description ; The name of the software. ; _item.name '_software.name' _item.category_id software _item.mandatory_code yes _item_type.code text loop_ _item_examples.case 'Merlot' 'O' 'Xengen' 'X-plor' loop_ _item_related.related_name _item_related.function_code '_computing.cell_refinement' replaces '_computing.data_collection' replaces '_computing.data_reduction' replaces '_computing.molecular_graphics' replaces '_computing.publication_material' replaces '_computing.structure_refinement' replaces '_computing.structure_solution' replaces '_computing.pdbx_data_reduction_ds' replaces '_computing.pdbx_data_reduction_ii' replaces '_computing.pdbx_structure_refinement_method' replaces _pdbx_item.name "_software.name" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_software.name" _pdbx_item_description.description "Select the appropriate software used in the structure determination" # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_software.name' ABS . '_software.name' ABSCALE . '_software.name' ABSCOR . '_software.name' ACORN phasing '_software.name' ADDREF 'data scaling,data reduction' '_software.name' ADSC 'data collection' '_software.name' Adxv 'data reduction' '_software.name' Agrovata . '_software.name' Aimless 'data scaling' '_software.name' AMBER 'refinement' '_software.name' AMoRE phasing '_software.name' AMPLE phasing '_software.name' APEX 'data collection,data scaling,data reduction' '_software.name' 'APEX 2' 'data collection,data scaling,data reduction' '_software.name' APRV . '_software.name' Arcimboldo phasing '_software.name' ARP 'model building' '_software.name' ARP/wARP 'model building' '_software.name' Auto-Rickshaw phasing '_software.name' autoBUSTER 'phasing,refinement' '_software.name' AUTOMAR 'data collection,data reduction' '_software.name' autoPROC 'data processing,data reduction,data scaling' '_software.name' AutoProcess . '_software.name' autoSHARP phasing '_software.name' AutoSol phasing '_software.name' autoXDS . '_software.name' Babel . '_software.name' BALBES phasing '_software.name' BEAST . '_software.name' BILDER . '_software.name' BIOMOL 'data reduction,data scaling,model building' '_software.name' bioteX 'data collection,data reduction,data scaling' '_software.name' Blu-Ice 'data collection' '_software.name' BLU-MAX 'data collection' '_software.name' BOS 'data collection' '_software.name' BRUTE 'phasing,model building' '_software.name' BSS 'data collection' '_software.name' BUCCANEER 'phasing,model building' '_software.name' BUSTER refinement,phasing # '_software.name' BUSTER-TNT refinement,phasing '_software.name' CaspR . '_software.name' CBASS 'data collection' '_software.name' cctbx.prime 'data scaling' '_software.name' cctbx.xfel 'data reduction' '_software.name' CHAINSAW . '_software.name' Cheetah 'data collection,data collection' '_software.name' CNS refinement,phasing '_software.name' CNX refinement,phasing '_software.name' COMBAT . '_software.name' COMO phasing '_software.name' Coot 'model building' '_software.name' CORELS refinement '_software.name' CRANK phasing '_software.name' CRANK2 phasing '_software.name' CRISpy 'data collection' '_software.name' CrysalisPro 'data collection,data scaling,data reduction' '_software.name' CrystalClear 'data collection,data scaling,data reduction,phasing' '_software.name' CrystFEL 'data collection,data scaling,data reduction' '_software.name' cxi.merge 'data scaling' '_software.name' d*TREK 'data scaling,data reduction' '_software.name' DENZO 'data reduction' '_software.name' DIALS 'data collection,data scaling,data reduction' '_software.name' DIFDAT 'data reduction' '_software.name' DIMPLE . '_software.name' DirAx 'data reduction' '_software.name' DM 'phasing,model building' '_software.name' DMMulti 'phasing,model building' '_software.name' DNA 'data collection' '_software.name' DPS 'data collection,data reduction' '_software.name' EDNA 'data collection' '_software.name' ELVES 'data processing,data reduction,data scaling,model building,phasing,refinement' '_software.name' Epinorm 'data reduction' '_software.name' EPMR phasing '_software.name' EREF 'refinement' '_software.name' EVAL15 'data scaling,data reduction' '_software.name' FFFEAR . '_software.name' FFT 'phasing,model building' '_software.name' 'Force Field X' refinement '_software.name' Fragon phasing '_software.name' FRAMBO 'data collection' '_software.name' FRFS phasing '_software.name' FRODO 'model building' '_software.name' GDA 'data collection' '_software.name' GLRF phasing '_software.name' GPRLSA refinement '_software.name' HKL-2000 'data collection,data scaling,data reduction' '_software.name' HKL-3000 'data collection,data scaling,data reduction,phasing' '_software.name' HKL2Map 'phasing,model building' '_software.name' 'Insight II' 'model building' '_software.name' iMOSFLM 'data reduction' '_software.name' ISOLDE refinement '_software.name' ISIR phasing '_software.name' JACK-LEVITT refinement '_software.name' JBluIce-EPICS 'data collection' '_software.name' JDirector 'data collection' '_software.name' KYLIN 'data scaling,data reduction' '_software.name' LAUEGEN . '_software.name' LAUENORM 'data scaling' '_software.name' LaueView 'data reduction,data scaling' '_software.name' LSCALE . '_software.name' MADNESS . '_software.name' MADSYS phasing '_software.name' MAIN . '_software.name' Mantid 'data reduction' '_software.name' MAR345 'data collection' '_software.name' MAR345dtb 'data collection' '_software.name' MD2 . '_software.name' MERLOT phasing '_software.name' MLPHARE phasing '_software.name' MOLEMAN2 . '_software.name' MolProbity 'model building' '_software.name' MOLREP phasing '_software.name' MoRDa phasing '_software.name' MOSFLM 'data reduction' '_software.name' MxDC 'data collection' '_software.name' MR-Rosetta phasing '_software.name' MrBUMP phasing '_software.name' MxCuBE 'data collection' '_software.name' nCNS refinement,phasing '_software.name' NUCLSQ refinement '_software.name' O 'model building' '_software.name' OASIS 'phasing,model building' '_software.name' PARROT phasing '_software.name' PDB_EXTRACT 'data extraction' '_software.name' PDB-REDO refinement '_software.name' PDBSET . '_software.name' PHASER phasing '_software.name' PHASES phasing '_software.name' PHENIX 'refinement,phasing,model building' '_software.name' pirate phasing '_software.name' pointless 'data scaling' '_software.name' Precognition 'data reduction' '_software.name' PRIME 'data scaling' '_software.name' PROCESS . '_software.name' PROCOR 'data reduction,data scaling' '_software.name' ProDC 'data collection' '_software.name' PROFFT refinement '_software.name' PROLSQ refinement '_software.name' PROTEUM . '_software.name' 'PROTEUM PLUS' 'data collection,data scaling,data reduction' '_software.name' PROTEUM2 . '_software.name' Quanta 'model building' '_software.name' 'Queen of Spades' . '_software.name' RANTAN . '_software.name' RAVE . '_software.name' REFMAC refinement,phasing '_software.name' REFPK 'data processing' '_software.name' RemDAq 'data collection' '_software.name' RESOLVE 'phasing,model building' '_software.name' RESTRAIN refinement '_software.name' Rosetta . '_software.name' ROTAPREP . '_software.name' ROTAVATA . '_software.name' RSPS . '_software.name' SADABS 'data scaling,data reduction' '_software.name' SAINT 'data scaling,data reduction' '_software.name' SBC-Collect 'data collection' '_software.name' SCALA 'data scaling' '_software.name' SCALEIT . '_software.name' SCALEPACK 'data scaling' '_software.name' SDMS 'data collection,data processing,data reduction,data scaling' '_software.name' SERGUI 'data collection' '_software.name' SGXPRO 'phasing,model building' '_software.name' SHARP phasing '_software.name' SHELX . '_software.name' SHELXCD phasing '_software.name' SHELXD phasing '_software.name' SHELXDE phasing '_software.name' SHELXE 'model building' '_software.name' SHELXL refinement '_software.name' SHELXL-97 . '_software.name' SHELXPREP 'data scaling' '_software.name' SHELXS phasing '_software.name' SHELXT phasing '_software.name' SIGMAA . '_software.name' SIMBAD phasing '_software.name' Sir2014 phasing '_software.name' SnB phasing '_software.name' SOLOMON phasing '_software.name' SOLVE phasing '_software.name' SORTAV 'data reduction,data scaling' '_software.name' SORTRF 'data scaling' '_software.name' SQUASH phasing '_software.name' STARANISO 'data scaling' '_software.name' StructureStudio 'data collection' '_software.name' TFFC . '_software.name' TFORM phasing '_software.name' TNT refinement,phasing '_software.name' TRUNCATE . '_software.name' ULTIMA phasing '_software.name' Vagabond refinement '_software.name' UCSD-system 'data collection,data reduction,data scaling,data processing' '_software.name' WARP 'model building' '_software.name' WEIS 'data reduction,data scaling' '_software.name' Web-Ice 'data collection' '_software.name' X-Area 'data collection,data scaling,data reduction' '_software.name' X-GEN 'data reduction,data scaling' '_software.name' X-PLOR 'refinement,phasing,model building' '_software.name' XDS 'data scaling,data reduction' '_software.name' XFIT 'data reduction' '_software.name' xia2 'data scaling,data reduction' '_software.name' XPREP 'data reduction' '_software.name' XSCALE 'data scaling' '_software.name' XTALVIEW refinement '_software.name' Zanuda 'data reduction' # # save_ save__software.os _item_description.description ; The name of the operating system under which the software runs. ; _item.name '_software.os' _item.category_id software _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Ultrix' 'OpenVMS' 'DOS' 'Windows 95' 'Windows NT' 'Irix' 'HPUX' 'DEC Unix' save_ save__software.os_version _item_description.description ; The version of the operating system under which the software runs. ; _item.name '_software.os_version' _item.category_id software _item.mandatory_code no _item_type.code text loop_ _item_examples.case '3.1' '4.2.1' save_ save__software.type _item_description.description ; The classification of the software according to the most common types. ; _item.name '_software.type' _item.category_id software _item.mandatory_code no _item_type.code uline loop_ _item_enumeration.value _item_enumeration.detail program ; individual program with limited functionality ; library ; used by a program at load time ; package ; collections of programs with multiple functionality ; filter ; filters input and output streams ; jiffy ; short, simple program ; other ; all other kinds of software ; save_ save__software.version _item_description.description ; The version of the software. ; _item.name '_software.version' _item.category_id software _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'v1.0' 'beta' '3.1-2' 'unknown' _pdbx_item_description.description "The version of the refinement software" save_ ############ ## STRUCT ## ############ save_struct _category.description ; Data items in the STRUCT category record details about the description of the crystallographic structure. ; _category.id struct _category.mandatory_code no _category_key.name '_struct.entry_id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _struct.entry_id '5HVP' _struct.title ; HIV-1 protease complex with acetyl-pepstatin ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_struct.entry_id' _item.mandatory_code yes save_ save__struct.title _item_description.description ; A title for the data block. The author should attempt to convey the essence of the structure archived in the CIF in the title, and to distinguish this structural result from others. ; _item.name '_struct.title' _item.category_id struct _item.mandatory_code no _pdbx_item.name "_struct.title" _pdbx_item.mandatory_code yes _item_type.code text _pdbx_item_description.name "_struct.title" _pdbx_item_description.description "Provide a brief title that describes the contents of the entry and procedures or conditions which set this entry apart from others. For related entries provide unique structure titles emphasizing the underlying purpose of particular experiment." # _pdbx_item_examples.name "_struct.title" _pdbx_item_examples.case "T4 lysozyme mutant - S32A" _pdbx_item_examples.detail . loop_ _item_examples.case '5'-D(*(I)CP*CP*GP*G)-3' 'T4 lysozyme mutant - S32A' 'hen egg white lysozyme at -30 degrees C' 'quail egg white lysozyme at 2 atmospheres' save_ save__struct.pdbx_center_of_mass_x _item_description.description ; This data item is the X component of a calculation of the center of mass of polymer chains ; _item.name '_struct.pdbx_center_of_mass_x' _item.mandatory_code no _item_type.code float _item_sub_category.id cartesian_coordinate # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct.pdbx_center_of_mass_x' save_ save__struct.pdbx_center_of_mass_y _item_description.description ; This data item is the Y component of a calculation of the center of mass of polymer chains ; _item.name '_struct.pdbx_center_of_mass_y' _item.mandatory_code no _item_type.code float _item_sub_category.id cartesian_coordinate # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct.pdbx_center_of_mass_y' save_ save__struct.pdbx_center_of_mass_z _item_description.description ; This data item is the Z component of a calculation of the center of mass of polymer chains ; _item.name '_struct.pdbx_center_of_mass_z' _item.mandatory_code no _item_type.code float _item_sub_category.id cartesian_coordinate # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct.pdbx_center_of_mass_z' save_ ################# ## STRUCT_ASYM ## ################# save_struct_asym _category.description ; Data items in the STRUCT_ASYM category record details about the structural elements in the asymmetric unit. ; _category.id struct_asym _category.mandatory_code no _category_key.name '_struct_asym.id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _struct_asym.id _struct_asym.entity_id _struct_asym.details A 1 'one monomer of the dimeric enzyme' B 1 'one monomer of the dimeric enzyme' C 2 'one partially occupied position for the inhibitor' D 2 'one partially occupied position for the inhibitor' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_asym.details _item_description.description ; A description of special aspects of this portion of the contents of the asymmetric unit. ; _item.name '_struct_asym.details' _item.category_id struct_asym _item.mandatory_code no _item_type.code text _item_examples.case ; The drug binds to this enzyme in two roughly twofold symmetric modes. Hence this biological unit (3) is roughly twofold symmetric to biological unit (2). Disorder in the protein chain indicated with alternative ID 2 should be used with this biological unit. ; save_ save__struct_asym.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_struct_asym.entity_id' _item.category_id struct_asym _item.mandatory_code yes _item_type.code code save_ save__struct_asym.id _item_description.description ; The value of _struct_asym.id must uniquely identify a record in the STRUCT_ASYM list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_struct_asym.id' struct_asym yes '_atom_site.label_asym_id' atom_site yes '_geom_angle.atom_site_label_asym_id_1' geom_angle no '_geom_angle.atom_site_label_asym_id_2' geom_angle no '_geom_angle.atom_site_label_asym_id_3' geom_angle no '_geom_bond.atom_site_label_asym_id_1' geom_bond no '_geom_bond.atom_site_label_asym_id_2' geom_bond no '_geom_contact.atom_site_label_asym_id_1' geom_contact no '_geom_contact.atom_site_label_asym_id_2' geom_contact no '_geom_hbond.atom_site_label_asym_id_A' geom_hbond no '_geom_hbond.atom_site_label_asym_id_D' geom_hbond no '_geom_hbond.atom_site_label_asym_id_H' geom_hbond no '_geom_torsion.atom_site_label_asym_id_1' geom_torsion no '_geom_torsion.atom_site_label_asym_id_2' geom_torsion no '_geom_torsion.atom_site_label_asym_id_3' geom_torsion no '_geom_torsion.atom_site_label_asym_id_4' geom_torsion no '_struct_biol_gen.asym_id' struct_biol_gen yes '_struct_conf.beg_label_asym_id' struct_conf yes '_struct_conf.end_label_asym_id' struct_conf yes '_struct_conn.ptnr1_label_asym_id' struct_conn yes '_struct_conn.ptnr2_label_asym_id' struct_conn yes '_struct_mon_nucl.label_asym_id' struct_mon_nucl yes '_struct_mon_prot.label_asym_id' struct_mon_prot yes '_struct_mon_prot_cis.label_asym_id' struct_mon_prot_cis yes '_struct_sheet_range.beg_label_asym_id' struct_sheet_range yes '_struct_sheet_range.end_label_asym_id' struct_sheet_range yes '_struct_site_gen.label_asym_id' struct_site_gen yes loop_ _item_linked.child_name _item_linked.parent_name '_atom_site.label_asym_id' '_struct_asym.id' '_struct_biol_gen.asym_id' '_struct_asym.id' '_geom_angle.atom_site_label_asym_id_1' '_atom_site.label_asym_id' '_geom_angle.atom_site_label_asym_id_2' '_atom_site.label_asym_id' '_geom_angle.atom_site_label_asym_id_3' '_atom_site.label_asym_id' '_geom_bond.atom_site_label_asym_id_1' '_atom_site.label_asym_id' '_geom_bond.atom_site_label_asym_id_2' '_atom_site.label_asym_id' '_geom_contact.atom_site_label_asym_id_1' '_atom_site.label_asym_id' '_geom_contact.atom_site_label_asym_id_2' '_atom_site.label_asym_id' '_geom_hbond.atom_site_label_asym_id_A' '_atom_site.label_asym_id' '_geom_hbond.atom_site_label_asym_id_D' '_atom_site.label_asym_id' '_geom_hbond.atom_site_label_asym_id_H' '_atom_site.label_asym_id' '_geom_torsion.atom_site_label_asym_id_1' '_atom_site.label_asym_id' '_geom_torsion.atom_site_label_asym_id_2' '_atom_site.label_asym_id' '_geom_torsion.atom_site_label_asym_id_3' '_atom_site.label_asym_id' '_geom_torsion.atom_site_label_asym_id_4' '_atom_site.label_asym_id' '_struct_conf.beg_label_asym_id' '_atom_site.label_asym_id' '_struct_conf.end_label_asym_id' '_atom_site.label_asym_id' '_struct_conn.ptnr1_label_asym_id' '_atom_site.label_asym_id' '_struct_conn.ptnr2_label_asym_id' '_atom_site.label_asym_id' '_struct_mon_nucl.label_asym_id' '_atom_site.label_asym_id' '_struct_mon_prot.label_asym_id' '_atom_site.label_asym_id' '_struct_mon_prot_cis.label_asym_id' '_atom_site.label_asym_id' '_struct_sheet_range.beg_label_asym_id' '_atom_site.label_asym_id' '_struct_sheet_range.end_label_asym_id' '_atom_site.label_asym_id' '_struct_site_gen.label_asym_id' '_atom_site.label_asym_id' _item_type.code code loop_ _item_examples.case '1' 'A' '2B3' save_ ################# ## STRUCT_BIOL ## ################# save_struct_biol _category.description ; Data items in the STRUCT_BIOL category record details about the structural elements that form each structure of biological significance. A given crystal structure may contain many different biological structures. A given structural component in the asymmetric unit may be part of more than one biological unit. A given biological structure may involve crystallographic symmetry. For instance, in a structure of a lysozyme-FAB structure, the light- and heavy-chain components of the FAB could be one biological unit, while the two chains of the FAB and the lysozyme could constitute a second biological unit. ; _category.id struct_biol _category.mandatory_code no _category_key.name '_struct_biol.id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _struct_biol.id _struct_biol.details 1 ; significant deviations from twofold symmetry exist in this dimeric enzyme ; 2 ; The drug binds to this enzyme in two roughly twofold symmetric modes. Hence this biological unit (2) is roughly twofold symmetric to biological unit (3). Disorder in the protein chain indicated with alternative ID 1 should be used with this biological unit. ; 3 ; The drug binds to this enzyme in two roughly twofold symmetric modes. Hence this biological unit (3) is roughly twofold symmetric to biological unit (2). Disorder in the protein chain indicated with alternative ID 2 should be used with this biological unit. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_biol.details _item_description.description ; A description of special aspects of the biological unit. ; _item.name '_struct_biol.details' _item.category_id struct_biol _item.mandatory_code no _item_type.code text _item_examples.case ; The drug binds to this enzyme in two roughly twofold symmetric modes. Hence this biological unit (3) is roughly twofold symmetric to biological unit (2). Disorder in the protein chain indicated with alternative ID 2 should be used with this biological unit. ; # _pdbx_item_description.name "_struct_biol.details" _pdbx_item_description.description "Enter the description of any special aspects of the biological unit." # _pdbx_item_examples.name "_struct_biol.details" _pdbx_item_examples.case "Gel filtration confirms the dimerization of the protein in solution" _pdbx_item_examples.detail . save_ save__struct_biol.id _item_description.description ; The value of _struct_biol.id must uniquely identify a record in the STRUCT_BIOL list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_struct_biol.id' struct_biol yes '_struct_biol_gen.biol_id' struct_biol_gen yes '_struct_biol_keywords.biol_id' struct_biol_keywords yes '_struct_biol_view.biol_id' struct_biol_view yes '_struct_ref.biol_id' struct_ref no loop_ _item_linked.child_name _item_linked.parent_name '_struct_biol_gen.biol_id' '_struct_biol.id' '_struct_biol_keywords.biol_id' '_struct_biol.id' '_struct_biol_view.biol_id' '_struct_biol.id' '_struct_ref.biol_id' '_struct_biol.id' _item_type.code line save_ ##################### ## STRUCT_BIOL_GEN ## ##################### save_struct_biol_gen _category.description ; Data items in the STRUCT_BIOL_GEN category record details about the generation of each biological unit. The STRUCT_BIOL_GEN data items provide the specifications of the components that constitute that biological unit, which may include symmetry elements. ; _category.id struct_biol_gen _category.mandatory_code no loop_ _category_key.name '_struct_biol_gen.biol_id' '_struct_biol_gen.asym_id' '_struct_biol_gen.symmetry' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _struct_biol_gen.biol_id _struct_biol_gen.asym_id _struct_biol_gen.symmetry 1 A 1_555 1 B 1_555 2 A 1_555 2 B 1_555 2 C 1_555 3 A 1_555 3 B 1_555 3 D 1_555 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id struct_biol_gen save_ save__struct_biol_gen.asym_id _item_description.description ; This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_struct_biol_gen.asym_id' _item.mandatory_code yes save_ save__struct_biol_gen.biol_id _item_description.description ; This data item is a pointer to _struct_biol.id in the STRUCT_BIOL category. ; _item.name '_struct_biol_gen.biol_id' _item.mandatory_code yes save_ save__struct_biol_gen.details _item_description.description ; A description of special aspects of the symmetry generation of this portion of the biological structure. ; _item.name '_struct_biol_gen.details' _item.category_id struct_biol_gen _item.mandatory_code no _item_type.code text _item_examples.case ; The zinc atom lies on a special position; application of symmetry elements to generate the insulin hexamer will generate excess zinc atoms, which must be removed by hand. ; save_ save__struct_biol_gen.symmetry _item_description.description ; Describes the symmetry operation that should be applied to the atom set specified by _struct_biol_gen.asym_id to generate a portion of the biological structure. ; _item.name '_struct_biol_gen.symmetry' _item.category_id struct_biol_gen _item.mandatory_code yes # _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ ########################## ## STRUCT_BIOL_KEYWORDS ## ########################## save_struct_biol_keywords _category.description ; Data items in the STRUCT_BIOL_KEYWORDS category record keywords that describe each biological unit. ; _category.id struct_biol_keywords _category.mandatory_code no loop_ _category_key.name '_struct_biol_keywords.biol_id' '_struct_biol_keywords.text' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _struct_biol_keywords.biol_id _struct_biol_keywords.text 1 'aspartyl-protease' 1 'aspartic-protease' 1 'acid-protease' 1 'aspartyl-proteinase' 1 'aspartic-proteinase' 1 'acid-proteinase' 1 'enzyme' 1 'protease' 1 'proteinase' 1 'dimer' 2 'drug-enzyme complex' 2 'inhibitor-enzyme complex' 2 'drug-protease complex' 2 'inhibitor-protease complex' 3 'drug-enzyme complex' 3 'inhibitor-enzyme complex' 3 'drug-protease complex' 3 'inhibitor-protease complex' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_biol_keywords.biol_id _item_description.description ; This data item is a pointer to _struct_biol.id in the STRUCT_BIOL category. ; _item.name '_struct_biol_keywords.biol_id' _item.mandatory_code yes save_ save__struct_biol_keywords.text _item_description.description ; Keywords describing this biological entity. ; _item.name '_struct_biol_keywords.text' _item.category_id struct_biol_keywords _item.mandatory_code yes _item_type.code text loop_ _item_examples.case 'antibody' 'antigen' 'enzyme' 'cytokine' 'tRNA' save_ ###################### ## STRUCT_BIOL_VIEW ## ###################### save_struct_biol_view _category.description ; Data items in the STRUCT_BIOL_VIEW category record details about how to draw and annotate an informative view of the biological structure. ; _category.id struct_biol_view _category.mandatory_code no loop_ _category_key.name '_struct_biol_view.biol_id' '_struct_biol_view.id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on NDB structure GDL001 by Coll, Aymami, Van Der Marel, Van Boom, Rich & Wang [Biochemistry, (1989), 28, 310-320]. ; ; _struct_biol_view.biol_id c1 _struct_biol_view.id 1 _struct_biol_view.rot_matrix[1][1] 0.132 _struct_biol_view.rot_matrix[1][2] 0.922 _struct_biol_view.rot_matrix[1][3] -0.363 _struct_biol_view.rot_matrix[2][1] 0.131 _struct_biol_view.rot_matrix[2][2] -0.380 _struct_biol_view.rot_matrix[2][3] -0.916 _struct_biol_view.rot_matrix[3][1] -0.982 _struct_biol_view.rot_matrix[3][2] 0.073 _struct_biol_view.rot_matrix[3][3] -0.172 _struct_biol_view.details ; This view highlights the ATAT-Netropsin interaction in the DNA-drug complex. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_biol_view.biol_id _item_description.description ; This data item is a pointer to _struct_biol.id in the STRUCT_BIOL category. ; _item.name '_struct_biol_view.biol_id' _item.mandatory_code yes save_ save__struct_biol_view.details _item_description.description ; A description of special aspects of this view of the biological structure. This data item can be used as a figure legend. ; _item.name '_struct_biol_view.details' _item.category_id struct_biol_view _item.mandatory_code no _item_type.code text _item_examples.case ; The enzyme has been oriented with the molecular twofold axis aligned with the horizontal axis of the figure. ; save_ save__struct_biol_view.id _item_description.description ; The value of _struct_biol_view.id must uniquely identify a record in the STRUCT_BIOL_VIEW list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_struct_biol_view.id' _item.category_id struct_biol_view _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'Figure 1' 'unliganded enzyme' 'view down enzyme active site' save_ save__struct_biol_view.rot_matrix[1][1] _item_description.description ; The [1][1] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_BIOL_GEN category to give a view useful for describing the structure. The conventions used in the rotation are described in _struct_biol_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_biol_view.rot_matrix[1][1]' _item.category_id struct_biol_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_biol_view.rot_matrix[1][2] _item_description.description ; The [1][2] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_BIOL_GEN category to give a view useful for describing the structure. The conventions used in the rotation are described in _struct_biol_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_biol_view.rot_matrix[1][2]' _item.category_id struct_biol_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_biol_view.rot_matrix[1][3] _item_description.description ; The [1][3] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_BIOL_GEN category to give a view useful for describing the structure. The conventions used in the rotation are described in _struct_biol_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_biol_view.rot_matrix[1][3]' _item.category_id struct_biol_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_biol_view.rot_matrix[2][1] _item_description.description ; The [2][1] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_BIOL_GEN category to give a view useful for describing the structure. The conventions used in the rotation are described in _struct_biol_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_biol_view.rot_matrix[2][1]' _item.category_id struct_biol_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_biol_view.rot_matrix[2][2] _item_description.description ; The [2][2] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_BIOL_GEN category to give a view useful for describing the structure. The conventions used in the rotation are described in _struct_biol_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_biol_view.rot_matrix[2][2]' _item.category_id struct_biol_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_biol_view.rot_matrix[2][3] _item_description.description ; The [2][3] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_BIOL_GEN category to give a view useful for describing the structure. The conventions used in the rotation are described in _struct_biol_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_biol_view.rot_matrix[2][3]' _item.category_id struct_biol_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_biol_view.rot_matrix[3][1] _item_description.description ; The [3][1] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_BIOL_GEN category to give a view useful for describing the structure. The conventions used in the rotation are described in _struct_biol_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_biol_view.rot_matrix[3][1]' _item.category_id struct_biol_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_biol_view.rot_matrix[3][2] _item_description.description ; The [3][2] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_BIOL_GEN category to give a view useful for describing the structure. The conventions used in the rotation are described in _struct_biol_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_biol_view.rot_matrix[3][2]' _item.category_id struct_biol_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_biol_view.rot_matrix[3][3] _item_description.description ; The [3][3] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_BIOL_GEN category to give a view useful for describing the structure. The conventions used in the rotation are described in _struct_biol_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_biol_view.rot_matrix[3][3]' _item.category_id struct_biol_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ ################# ## STRUCT_CONF ## ################# save_struct_conf _category.description ; Data items in the STRUCT_CONF category record details about the backbone conformation of a segment of polymer. Data items in the STRUCT_CONF_TYPE category define the criteria used to identify the backbone conformations. ; _category.id struct_conf _category.mandatory_code no _category_key.name '_struct_conf.id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _struct_conf.id _struct_conf.conf_type_id _struct_conf.beg_label_comp_id _struct_conf.beg_label_asym_id _struct_conf.beg_label_seq_id _struct_conf.end_label_comp_id _struct_conf.end_label_asym_id _struct_conf.end_label_seq_id _struct_conf.details HELX1 HELX_RH_AL_P ARG A 87 GLN A 92 . HELX2 HELX_RH_AL_P ARG B 287 GLN B 292 . STRN1 STRN_P PRO A 1 LEU A 5 . STRN2 STRN_P CYS B 295 PHE B 299 . STRN3 STRN_P CYS A 95 PHE A 299 . STRN4 STRN_P PRO B 201 LEU B 205 . # - - - - data truncated for brevity - - - - TURN1 TURN_TY1P_P ILE A 15 GLN A 18 . TURN2 TURN_TY2_P GLY A 49 GLY A 52 . TURN3 TURN_TY1P_P ILE A 55 HIS A 69 . TURN4 TURN_TY1_P THR A 91 GLY A 94 . # - - - - data truncated for brevity - - - - ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_conf.beg_label_asym_id _item_description.description ; A component of the identifier for the residue at which the conformation segment begins. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_struct_conf.beg_label_asym_id' _item.mandatory_code yes save_ save__struct_conf.beg_label_comp_id _item_description.description ; A component of the identifier for the residue at which the conformation segment begins. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_struct_conf.beg_label_comp_id' _item.mandatory_code yes save_ save__struct_conf.beg_label_seq_id _item_description.description ; A component of the identifier for the residue at which the conformation segment begins. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_conf.beg_label_seq_id' _item.mandatory_code yes save_ save__struct_conf.beg_auth_asym_id _item_description.description ; A component of the identifier for the residue at which the conformation segment begins. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_struct_conf.beg_auth_asym_id' _item.mandatory_code no save_ save__struct_conf.beg_auth_comp_id _item_description.description ; A component of the identifier for the residue at which the conformation segment begins. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_struct_conf.beg_auth_comp_id' _item.mandatory_code no save_ save__struct_conf.beg_auth_seq_id _item_description.description ; A component of the identifier for the residue at which the conformation segment begins. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_conf.beg_auth_seq_id' _item.mandatory_code no save_ save__struct_conf.conf_type_id _item_description.description ; This data item is a pointer to _struct_conf_type.id in the STRUCT_CONF_TYPE category. ; _item.name '_struct_conf.conf_type_id' _item.mandatory_code yes save_ save__struct_conf.details _item_description.description ; A description of special aspects of the conformation assignment. ; _item.name '_struct_conf.details' _item.category_id struct_conf _item.mandatory_code no _item_type.code text save_ save__struct_conf.end_label_asym_id _item_description.description ; A component of the identifier for the residue at which the conformation segment ends. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_struct_conf.end_label_asym_id' _item.mandatory_code yes save_ save__struct_conf.end_label_comp_id _item_description.description ; A component of the identifier for the residue at which the conformation segment ends. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_struct_conf.end_label_comp_id' _item.mandatory_code yes save_ save__struct_conf.end_label_seq_id _item_description.description ; A component of the identifier for the residue at which the conformation segment ends. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_conf.end_label_seq_id' _item.mandatory_code yes save_ save__struct_conf.end_auth_asym_id _item_description.description ; A component of the identifier for the residue at which the conformation segment ends. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_struct_conf.end_auth_asym_id' _item.mandatory_code no save_ save__struct_conf.end_auth_comp_id _item_description.description ; A component of the identifier for the residue at which the conformation segment ends. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_struct_conf.end_auth_comp_id' _item.mandatory_code no save_ save__struct_conf.end_auth_seq_id _item_description.description ; A component of the identifier for the residue at which the conformation segment ends. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_conf.end_auth_seq_id' _item.mandatory_code no save_ save__struct_conf.id _item_description.description ; The value of _struct_conf.id must uniquely identify a record in the STRUCT_CONF list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_struct_conf.id' _item.category_id struct_conf _item.mandatory_code yes _item_type.code code save_ ###################### ## STRUCT_CONF_TYPE ## ###################### save_struct_conf_type _category.description ; Data items in the STRUCT_CONF_TYPE category record details about the criteria used to identify backbone conformations of a segment of polymer. ; _category.id struct_conf_type _category.mandatory_code no _category_key.name '_struct_conf_type.id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _struct_conf_type.id _struct_conf_type.criteria _struct_conf_type.reference HELX_RH_AL_P 'author judgement' . STRN_P 'author judgement' . TURN_TY1_P 'author judgement' . TURN_TY1P_P 'author judgement' . TURN_TY2_P 'author judgement' . TURN_TY2P_P 'author judgement' . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_conf_type.criteria _item_description.description ; The criteria used to assign this conformation type. ; _item.name '_struct_conf_type.criteria' _item.category_id struct_conf_type _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'author judgement' 'phi=54-74, psi=30-50' save_ save__struct_conf_type.id _item_description.description ; The descriptor that categorizes the type of the conformation of the backbone of the polymer (whether protein or nucleic acid). Explicit values for the torsion angles that define each conformation are not given here, but it is expected that the author would provide such information in either the _struct_conf_type.criteria or _struct_conf_type.reference data items, or both. ; loop_ _item.name _item.category_id _item.mandatory_code '_struct_conf_type.id' struct_conf_type yes '_struct_conf.conf_type_id' struct_conf yes loop_ _item_linked.child_name _item_linked.parent_name '_struct_conf.conf_type_id' '_struct_conf_type.id' _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail BEND ; region with high backbone curvature without specific hydrogen bonding, a bend at residue i occurs when the angle between C$\_alpha(i)-C_\alpha(i-2) and C_\alpha(i+2) - C_\alpha(i)$ is greater than 70 degrees (protein) ; HELX_P ; helix with handedness and type not specified (protein) ; HELX_OT_P ; helix with handedness and type that do not conform to an accepted category (protein) ; # HELX_RH_P ; right-handed helix with type not specified (protein) ; HELX_RH_OT_P ; right-handed helix with type that does not conform to an accepted category (protein) ; HELX_RH_AL_P 'right-handed alpha helix (protein)' HELX_RH_GA_P 'right-handed gamma helix (protein)' HELX_RH_OM_P 'right-handed omega helix (protein)' HELX_RH_PI_P 'right-handed pi helix (protein)' HELX_RH_27_P 'right-handed 2-7 helix (protein)' HELX_RH_3T_P 'right-handed 3-10 helix (protein)' HELX_RH_PP_P 'right-handed polyproline helix (protein)' # HELX_LH_P ; left-handed helix with type not specified (protein) ; HELX_LH_OT_P ; left-handed helix with type that does not conform to an accepted category (protein) ; HELX_LH_AL_P 'left-handed alpha helix (protein)' HELX_LH_GA_P 'left-handed gamma helix (protein)' HELX_LH_OM_P 'left-handed omega helix (protein)' HELX_LH_PI_P 'left-handed pi helix (protein)' HELX_LH_27_P 'left-handed 2-7 helix (protein)' HELX_LH_3T_P 'left-handed 3-10 helix (protein)' HELX_LH_PP_P 'left-handed polyproline helix (protein)' # HELX_N ; helix with handedness and type not specified (nucleic acid) ; HELX_OT_N ; helix with handedness and type that do not conform to an accepted category (nucleic acid) ; # HELX_RH_N ; right-handed helix with type not specified (nucleic acid) ; HELX_RH_OT_N ; right-handed helix with type that does not conform to an accepted category (nucleic acid) ; HELX_RH_A_N 'right-handed A helix (nucleic acid)' HELX_RH_B_N 'right-handed B helix (nucleic acid)' HELX_RH_Z_N 'right-handed Z helix (nucleic acid)' # HELX_LH_N ; left-handed helix with type not specified (nucleic acid) ; HELX_LH_OT_N ; left-handed helix with type that does not conform to an accepted category (nucleic acid) ; HELX_LH_A_N 'left-handed A helix (nucleic acid)' HELX_LH_B_N 'left-handed B helix (nucleic acid)' HELX_LH_Z_N 'left-handed Z helix (nucleic acid)' # TURN_P 'turn with type not specified (protein)' TURN_OT_P ; turn with type that does not conform to an accepted category (protein) ; TURN_TY1_P 'type I turn (protein)' TURN_TY1P_P 'type I prime turn (protein)' TURN_TY2_P 'type II turn (protein)' TURN_TY2P_P 'type II prime turn (protein)' TURN_TY3_P 'type III turn (protein)' TURN_TY3P_P 'type III prime turn (protein)' # STRN 'beta strand (protein)' OTHER 'secondary structure type that does not conform to an accepted category, random coil (protein)' save_ save__struct_conf_type.reference _item_description.description ; A literature reference that defines the criteria used to assign this conformation type and subtype. ; _item.name '_struct_conf_type.reference' _item.category_id struct_conf_type _item.mandatory_code no _item_type.code text save_ ################# ## STRUCT_CONN ## ################# save_struct_conn _category.description ; Data items in the STRUCT_CONN category record details about the connections between portions of the structure. These can be hydrogen bonds, salt bridges, disulfide bridges and so on. The STRUCT_CONN_TYPE records define the criteria used to identify these connections. ; _category.id struct_conn _category.mandatory_code no _category_key.name '_struct_conn.id' loop_ _category_group.id 'inclusive_group' 'struct_group' _pdbx_category_description.id struct_conn _pdbx_category_description.description "Nonstandard residue linkage. The LINK records specify connectivity between residues that is not implied by the primary structure. Connectivity is expressed in terms of the atom names. This record supplements information given in CONECT records." loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _struct_conn.id _struct_conn.conn_type_id _struct_conn.ptnr1_label_comp_id _struct_conn.ptnr1_label_asym_id _struct_conn.ptnr1_label_seq_id _struct_conn.ptnr1_label_atom_id _struct_conn.ptnr1_role _struct_conn.ptnr1_symmetry _struct_conn.ptnr2_label_comp_id _struct_conn.ptnr2_label_asym_id _struct_conn.ptnr2_label_seq_id _struct_conn.ptnr2_label_atom_id _struct_conn.ptnr2_role _struct_conn.ptnr2_symmetry _struct_conn.details C1 saltbr ARG A 87 NZ1 positive 1_555 GLU A 92 OE1 negative 1_555 . C2 hydrog ARG B 287 N donor 1_555 GLY B 292 O acceptor 1_555 . # - - - - data truncated for brevity - - - - ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_conn.conn_type_id _item_description.description ; This data item is a pointer to _struct_conn_type.id in the STRUCT_CONN_TYPE category. ; _item.name '_struct_conn.conn_type_id' _item.mandatory_code yes loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_struct_conn.conn_type_id" covale . "_struct_conn.conn_type_id" disulf . "_struct_conn.conn_type_id" metalc . loop_ _item_enumeration.value _item_enumeration.detail covale . disulf . metalc . hydrog . save_ save__struct_conn.details _item_description.description ; A description of special aspects of the connection. ; _item.name '_struct_conn.details' _item.category_id struct_conn _item.mandatory_code no _item_type.code text _item_examples.case 'disulfide bridge C-S-S-C is highly distorted' save_ save__struct_conn.id _item_description.description ; The value of _struct_conn.id must uniquely identify a record in the STRUCT_CONN list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_struct_conn.id' _item.category_id struct_conn _item.mandatory_code yes _item_type.code code save_ save__struct_conn.ptnr1_label_alt_id _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; _item.name '_struct_conn.ptnr1_label_alt_id' _item.mandatory_code no save_ save__struct_conn.ptnr1_label_asym_id _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr1_label_asym_id' _item.mandatory_code yes save_ save__struct_conn.ptnr1_label_atom_id _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_struct_conn.ptnr1_label_atom_id' _item.mandatory_code no save_ save__struct_conn.ptnr1_label_comp_id _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr1_label_comp_id' _item.mandatory_code yes save_ save__struct_conn.ptnr1_label_seq_id _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr1_label_seq_id' _item.mandatory_code yes save_ save__struct_conn.ptnr1_auth_asym_id _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr1_auth_asym_id' _item.mandatory_code no save_ save__struct_conn.ptnr1_auth_atom_id _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr1_auth_atom_id' _item.mandatory_code no save_ save__struct_conn.ptnr1_auth_comp_id _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr1_auth_comp_id' _item.mandatory_code no save_ save__struct_conn.ptnr1_auth_seq_id _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr1_auth_seq_id' _item.mandatory_code no save_ save__struct_conn.ptnr1_role _item_description.description ; The chemical or structural role of the first partner in the structure connection. ; _item.name '_struct_conn.ptnr1_role' _item.category_id struct_conn _item.mandatory_code no _item_type.code uline loop_ _item_examples.case 'donor' 'acceptor' 'negative' 'positive' 'metal' 'metal coordination' save_ save__struct_conn.ptnr1_symmetry _item_description.description ; Describes the symmetry operation that should be applied to the atom set specified by _struct_conn.ptnr1_label* to generate the first partner in the structure connection. ; _item.name '_struct_conn.ptnr1_symmetry' _item.category_id struct_conn _item.mandatory_code no # _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__struct_conn.ptnr2_label_alt_id _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; _item.name '_struct_conn.ptnr2_label_alt_id' _item.mandatory_code no save_ save__struct_conn.ptnr2_label_asym_id _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr2_label_asym_id' _item.mandatory_code yes save_ save__struct_conn.ptnr2_label_atom_id _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_struct_conn.ptnr2_label_atom_id' _item.mandatory_code no save_ save__struct_conn.ptnr2_label_comp_id _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr2_label_comp_id' _item.mandatory_code yes save_ save__struct_conn.ptnr2_label_seq_id _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr2_label_seq_id' _item.mandatory_code yes save_ save__struct_conn.ptnr2_auth_asym_id _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr2_auth_asym_id' _item.mandatory_code no save_ save__struct_conn.ptnr2_auth_atom_id _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr2_auth_atom_id' _item.mandatory_code no save_ save__struct_conn.ptnr2_auth_comp_id _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr2_auth_comp_id' _item.mandatory_code no save_ save__struct_conn.ptnr2_auth_seq_id _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_conn.ptnr2_auth_seq_id' _item.mandatory_code no save_ save__struct_conn.ptnr2_role _item_description.description ; The chemical or structural role of the second partner in the structure connection. ; _item.name '_struct_conn.ptnr2_role' _item.category_id struct_conn _item.mandatory_code no _item_type.code uline loop_ _item_examples.case 'donor' 'acceptor' 'negative' 'positive' 'metal' 'metal coordination' save_ save__struct_conn.ptnr2_symmetry _item_description.description ; Describes the symmetry operation that should be applied to the atom set specified by _struct_conn.ptnr2_label* to generate the second partner in the structure connection. ; _item.name '_struct_conn.ptnr2_symmetry' _item.category_id struct_conn _item.mandatory_code no # _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ ###################### ## STRUCT_CONN_TYPE ## ###################### save_struct_conn_type _category.description ; Data items in the STRUCT_CONN_TYPE category record details about the criteria used to identify interactions between portions of the structure. ; _category.id struct_conn_type _category.mandatory_code no _category_key.name '_struct_conn_type.id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _struct_conn_type.id _struct_conn_type.criteria _struct_conn_type.reference saltbr 'negative to positive distance > 2.5 \%A, < 3.2 \%A' . hydrog 'NO distance > 2.5\%A, < 3.5\%A, NOC angle < 120 degrees' . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_conn_type.criteria _item_description.description ; The criteria used to define the interaction. ; _item.name '_struct_conn_type.criteria' _item.category_id struct_conn_type _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'O to N distance > 2.5 \%A, < 3.2 \%A' 'authors judgement' save_ save__struct_conn_type.id _item_description.description ; The chemical or structural type of the interaction. ; loop_ _item.name _item.category_id _item.mandatory_code '_struct_conn_type.id' struct_conn_type yes '_struct_conn.conn_type_id' struct_conn yes loop_ _item_linked.child_name _item_linked.parent_name '_struct_conn.conn_type_id' '_struct_conn_type.id' _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail covale 'covalent bond' disulf 'disulfide bridge' hydrog 'hydrogen bond' metalc 'metal coordination' mismat 'mismatched base pairs' saltbr 'ionic interaction' modres 'covalent residue modification' covale_base 'covalent modification of a nucleotide base' covale_sugar 'covalent modification of a nucleotide sugar' covale_phosphate 'covalent modification of a nucleotide phosphate' save_ save__struct_conn_type.reference _item_description.description ; A reference that specifies the criteria used to define the interaction. ; _item.name '_struct_conn_type.reference' _item.category_id struct_conn_type _item.mandatory_code no _item_type.code text save_ ##################### ## STRUCT_KEYWORDS ## ##################### save_struct_keywords _category.description ; Data items in the STRUCT_KEYWORDS category specify keywords that describe the chemical structure in this entry. ; _category.id struct_keywords _category.mandatory_code no _category_key.name '_struct_keywords.entry_id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _struct_keywords.entry_id _struct_keywords.text '5HVP' 'enzyme-inhibitor complex, aspartyl protease, static disorder' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_keywords.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_struct_keywords.entry_id' _item.mandatory_code yes save_ save__struct_keywords.text _item_description.description ; Keywords describing this structure. ; _item.name '_struct_keywords.text' _item.category_id struct_keywords _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'serine protease' 'inhibited complex' 'high-resolution refinement' _pdbx_item.name "_struct_keywords.text" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_struct_keywords.text" _pdbx_item_description.description "Provide the list of keywords that describe your entry (functional class, metabolic role, biological or chemical activity, structural classification, etc.). These will be used to categorize your submission (assign header, function of the small molecule, etc.), and to search the entry within the archive. The keywords should not include long phrases or sentences" # _pdbx_item_examples.name "_struct_keywords.text" _pdbx_item_examples.case "Inhibitor, Complex, Isomerase..." _pdbx_item_examples.detail . save_ ######################## ## STRUCT_MON_DETAILS ## ######################## save_struct_mon_details _category.description ; Data items in the STRUCT_MON_DETAILS category record details about specifics of calculations summarized in data items in the STRUCT_MON_PROT and STRUCT_MON_NUCL categories. These can include the coefficients used in map calculations, the radii used for including points in a calculation and so on. ; _category.id struct_mon_details _category.mandatory_code no _category_key.name '_struct_mon_details.entry_id' loop_ _category_group.id 'inclusive_group' 'struct_group' save_ save__struct_mon_details.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_struct_mon_details.entry_id' _item.mandatory_code yes save_ save__struct_mon_details.prot_cis _item_description.description ; An ideal cis peptide bond would have an omega torsion angle of zero. This data item gives the value in degrees by which the observed torsion angle can differ from 0.0 and still be considered cis. ; _item.name '_struct_mon_details.prot_cis' _item.category_id struct_mon_details _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case 30.0 save_ save__struct_mon_details.RSCC _item_description.description ; This data item describes the specifics of the calculations that generated the values given in _struct_mon_prot.RSCC_all, _struct_mon_prot.RSCC_main and _struct_mon_prot.RSCC_side. The coefficients used to calculate the p(o) and p(c) maps should be given as well as the criterion for the inclusion of map grid points in the calculation. ; _item.name '_struct_mon_details.RSCC' _item.category_id struct_mon_details _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; The map p(o) was calculated with coefficients 2F(o) - F(c) and with phase alpha(c). F(o) are the observed structure-factor amplitudes, F(c) are the amplitudes calculated from the current model and alpha(c) are the phases calculated from the current model. The map p(c) was calculated in program O using a Gaussian distribution function around the atoms in the current model. Map grid points within 1.5 A of the designated atoms were included in the calculation. ; ; The map p(o) was calculated with coefficients F(o) and with phase alpha(c). F(o) are the observed structure-factor amplitudes, and alpha(c) are the phases calculated from the current model. The map p(c) was calculated with coefficients F(c) and with phases alpha(c). F(c) and alpha(c) are the structure-factor amplitudes and phases, respectively, calculated from the current model. Map grid points within a van der Waals radius of the designated atoms were included in the calculation. ; save_ save__struct_mon_details.RSR _item_description.description ; This data item describes the specifics of the calculations that generated the values given in _struct_mon_prot.RSR_all, _struct_mon_prot.RSR_main and _struct_mon_prot.RSR_side. The coefficients used to calculate the p(o) and p(c) maps should be given as well as the criterion for the inclusion of map grid points in the calculation. ; _item.name '_struct_mon_details.RSR' _item.category_id struct_mon_details _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; The map p(o) was calculated with coefficients 2F(o) - F(c) and with phase alpha(c). F(o) are the observed structure-factor amplitudes, F(c) are the amplitudes calculated from the current model and alpha(c) are the phases calculated from the current model. The map p(c) was calculated in program O using a Gaussian distribution function around the atoms in the current model. Map grid points within 1.5 A of the designated atoms were included in the calculation. ; ; The map p(o) was calculated with coefficients F(o) and with phase alpha(c). F(o) are the observed structure-factor amplitudes, and alpha(c) are the phases calculated from the current model. The map p(c) was calculated with coefficients F(c) and with phases alpha(c). F(c) and alpha(c) are the structure-factor amplitudes and phases, respectively, calculated from the current model. Map grid points within a van der Waals radius of the designated atoms were included in the calculation. ; save_ ##################### ## STRUCT_MON_NUCL ## ##################### save_struct_mon_nucl _category.description ; Data items in the STRUCT_MON_NUCL category record details about structural properties of a nucleic acid when analyzed at the monomer level. Analogous data items for proteins are given in the STRUCT_MON_PROT category. For items where the value of the property depends on the method employed to calculate it, details of the method of calculation are given using data items in the STRUCT_MON_DETAILS category. ; _category.id struct_mon_nucl _category.mandatory_code no loop_ _category_key.name '_struct_mon_nucl.label_alt_id' '_struct_mon_nucl.label_asym_id' '_struct_mon_nucl.label_comp_id' '_struct_mon_nucl.label_seq_id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on NDB structure BDL028. ; ; loop_ _struct_mon_nucl.label_comp_id _struct_mon_nucl.label_seq_id _struct_mon_nucl.label_asym_id _struct_mon_nucl.label_alt_id _struct_mon_nucl.alpha _struct_mon_nucl.beta _struct_mon_nucl.gamma _struct_mon_nucl.delta _struct_mon_nucl.epsilon _struct_mon_nucl.zeta C 1 A A . . 29.9 131.9 222.1 174.2 G 2 A A 334.0 130.6 33.1 125.6 167.6 270.9 T 3 A A 258.2 178.7 101.0 114.6 216.6 259.3 # ---- abbreviated list ----- ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_mon_nucl.alpha _item_description.description ; The value in degrees of the backbone torsion angle alpha (O3'-P-O5'-C5'). ; _item.name '_struct_mon_nucl.alpha' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.auth_asym_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_struct_mon_nucl.auth_asym_id' _item.mandatory_code no save_ save__struct_mon_nucl.auth_comp_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_struct_mon_nucl.auth_comp_id' _item.mandatory_code no save_ save__struct_mon_nucl.auth_seq_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_mon_nucl.auth_seq_id' _item.mandatory_code no save_ save__struct_mon_nucl.beta _item_description.description ; The value in degrees of the backbone torsion angle beta (P-O5'-C5'-C4'). ; _item.name '_struct_mon_nucl.beta' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.chi1 _item_description.description ; The value in degrees of the sugar-base torsion angle chi1 (O4'-C1'-N1-C2). ; _item.name '_struct_mon_nucl.chi1' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.chi2 _item_description.description ; The value in degrees of the sugar-base torsion angle chi2 (O4'-C1'-N9-C4). ; _item.name '_struct_mon_nucl.chi2' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.delta _item_description.description ; The value in degrees of the backbone torsion angle delta (C5'-C4'-C3'-O3'). ; _item.name '_struct_mon_nucl.delta' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.details _item_description.description ; A description of special aspects of the residue, its conformation, behaviour in refinement, or any other aspect that requires annotation. ; _item.name '_struct_mon_nucl.details' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_examples.case ; Part of the phosphodiester backbone not in density. ; save_ save__struct_mon_nucl.epsilon _item_description.description ; The value in degrees of the backbone torsion angle epsilon (C4'-C3'-O3'-P). ; _item.name '_struct_mon_nucl.epsilon' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.gamma _item_description.description ; The value in degrees of the backbone torsion angle gamma (O5'-C5'-C4'-C3'). ; _item.name '_struct_mon_nucl.gamma' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.label_alt_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; _item.name '_struct_mon_nucl.label_alt_id' _item.mandatory_code yes save_ save__struct_mon_nucl.label_asym_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_struct_mon_nucl.label_asym_id' _item.mandatory_code yes save_ save__struct_mon_nucl.label_comp_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_struct_mon_nucl.label_comp_id' _item.mandatory_code yes save_ save__struct_mon_nucl.label_seq_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_mon_nucl.label_seq_id' _item.mandatory_code yes save_ save__struct_mon_nucl.mean_B_all _item_description.description ; The mean value of the isotropic displacement parameter for all atoms in the monomer. ; _item.name '_struct_mon_nucl.mean_B_all' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float save_ save__struct_mon_nucl.mean_B_base _item_description.description ; The mean value of the isotropic displacement parameter for atoms in the base moiety of the nucleic acid monomer. ; _item.name '_struct_mon_nucl.mean_B_base' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float save_ save__struct_mon_nucl.mean_B_phos _item_description.description ; The mean value of the isotropic displacement parameter for atoms in the phosphate moiety of the nucleic acid monomer. ; _item.name '_struct_mon_nucl.mean_B_phos' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float save_ save__struct_mon_nucl.mean_B_sugar _item_description.description ; The mean value of the isotropic displacement parameter for atoms in the sugar moiety of the nucleic acid monomer. ; _item.name '_struct_mon_nucl.mean_B_sugar' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float save_ save__struct_mon_nucl.nu0 _item_description.description ; The value in degrees of the sugar torsion angle nu0 (C4'-O4'-C1'-C2'). ; _item.name '_struct_mon_nucl.nu0' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.nu1 _item_description.description ; The value in degrees of the sugar torsion angle nu1 (O4'-C1'-C2'-C3'). ; _item.name '_struct_mon_nucl.nu1' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.nu2 _item_description.description ; The value in degrees of the sugar torsion angle nu2 (C1'-C2'-C3'-C4'). ; _item.name '_struct_mon_nucl.nu2' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.nu3 _item_description.description ; The value in degrees of the sugar torsion angle nu3 (C2'-C3'-C4'-O4'). ; _item.name '_struct_mon_nucl.nu3' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.nu4 _item_description.description ; The value in degrees of the sugar torsion angle nu4 (C3'-C4'-O4'-C1'). ; _item.name '_struct_mon_nucl.nu4' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.P _item_description.description ; P is the phase angle of pseudorotation for five-membered rings. For ribose and deoxyribose sugars in nucleic acids (tau4 +tau1)-(tau3+tau0) P = ATAN (-------------------------) 2tau2 (sin 36+sin 72) If tau2 is <0, then P=P+180 degree (Altona & Sundaralingam, 1972). Ref: Altona, C. & Sundaralingam, M. (1972). J. Am. Chem. Soc. 94, 8205-8212. ; _item.name '_struct_mon_nucl.P' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.RSCC_all _item_description.description ; The real-space (linear) correlation coefficient RSCC, as described by Jones et al. (1991), evaluated over all atoms in the nucleic acid monomer. sum|p~obs~ - | * sum|p~calc~ - | RSCC = ------------------------------------------------- [ sum|p~obs~ - |^2^ * sum|p~calc~ - |^2^ ]^1/2^ p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSCC. < > indicates an average and the sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSCC. Ref: Jones, T. A., Zou, J.-Y., Cowan, S. W. & Kjeldgaard, M. (1991). Acta Cryst. A47, 110-119. ; _item.name '_struct_mon_nucl.RSCC_all' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float save_ save__struct_mon_nucl.RSCC_base _item_description.description ; The real-space (linear) correlation coefficient RSCC, as described by Jones et al. (1991), evaluated over all atoms in the base moiety of the nucleic acid monomer. sum|p~obs~ - | * sum|p~calc~ - | RSCC = ------------------------------------------------- [ sum|p~obs~ - |^2^ * sum|p~calc~ - |^2^ ]^1/2^ p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSCC. < > indicates an average and the sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSCC. Ref: Jones, T. A., Zou, J.-Y., Cowan, S. W. & Kjeldgaard, M. (1991). Acta Cryst. A47, 110-119. ; _item.name '_struct_mon_nucl.RSCC_base' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float save_ save__struct_mon_nucl.RSCC_phos _item_description.description ; The real-space (linear) correlation coefficient RSCC, as described by Jones et al. (1991), evaluated over all atoms in the phosphate moiety of the nucleic acid monomer. sum|p~obs~ - | * sum|p~calc~ - | RSCC = ------------------------------------------------- [ sum|p~obs~ - |^2^ * sum|p~calc~ - |^2^ ]^1/2^ p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSCC. < > indicates an average and the sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSCC. Ref: Jones, T. A., Zou, J.-Y., Cowan, S. W. & Kjeldgaard, M. (1991). Acta Cryst. A47, 110-119. ; _item.name '_struct_mon_nucl.RSCC_phos' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float save_ save__struct_mon_nucl.RSCC_sugar _item_description.description ; The real-space (linear) correlation coefficient RSCC, as described by Jones et al. (1991), evaluated over all atoms in the sugar moiety of the nucleic acid monomer. sum|p~obs~ - | * sum|p~calc~ - | RSCC = ------------------------------------------------- [ sum|p~obs~ - |^2^ * sum|p~calc~ - |^2^ ]^1/2^ p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSCC. < > indicates an average and the sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSCC. Ref: Jones, T. A., Zou, J.-Y., Cowan, S. W. & Kjeldgaard, M. (1991). Acta Cryst. A47, 110-119. ; _item.name '_struct_mon_nucl.RSCC_sugar' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float save_ save__struct_mon_nucl.RSR_all _item_description.description ; The real-space residual RSR, as described by Branden & Jones (1990), evaluated over all atoms in the nucleic acid monomer. sum|p~obs~ - p~calc~| RSR = --------------------- sum|p~obs~ + p~calc~| p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSR. The sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSR. Ref: Branden, C.-I. & Jones, T. A. (1990). Nature (London), 343, 687-689. ; _item.name '_struct_mon_nucl.RSR_all' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float save_ save__struct_mon_nucl.RSR_base _item_description.description ; The real-space residual RSR, as described by Branden & Jones (1990), evaluated over all atoms in the base moiety of the nucleic acid monomer. sum|p~obs~ - p~calc~| RSR = --------------------- sum|p~obs~ + p~calc~| p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSR. The sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSR. Ref: Branden, C.-I. & Jones, T. A. (1990). Nature (London), 343, 687-689. ; _item.name '_struct_mon_nucl.RSR_base' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float save_ save__struct_mon_nucl.RSR_phos _item_description.description ; The real-space residual RSR, as described by Branden & Jones (1990), evaluated over all atoms in the phosphate moiety of the nucleic acid monomer. sum|p~obs~ - p~calc~| RSR = --------------------- sum|p~obs~ + p~calc~| p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSR. The sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSR. Ref: Branden, C.-I. & Jones, T. A. (1990). Nature (London), 343, 687-689. ; _item.name '_struct_mon_nucl.RSR_phos' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float save_ save__struct_mon_nucl.RSR_sugar _item_description.description ; The real-space residual RSR, as described by Branden & Jones (1990), evaluated over all atoms in the sugar moiety of the nucleic acid monomer. sum|p~obs~ - p~calc~| RSR = --------------------- sum|p~obs~ + p~calc~| p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSR. The sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSR. Ref: Branden, C.-I. & Jones, T. A. (1990). Nature (London), 343, 687-689. ; _item.name '_struct_mon_nucl.RSR_sugar' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float save_ save__struct_mon_nucl.tau0 _item_description.description ; The value in degrees of the sugar torsion angle tau0 (C4'-O4'-C1'-C2'). ; _item.name '_struct_mon_nucl.tau0' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.tau1 _item_description.description ; The value in degrees of the sugar torsion angle tau1 (O4'-C1'-C2'-C3'). ; _item.name '_struct_mon_nucl.tau1' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.tau2 _item_description.description ; The value in degrees of the sugar torsion angle tau2 (C1'-C2'-C3'-C4'). ; _item.name '_struct_mon_nucl.tau2' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.tau3 _item_description.description ; The value in degrees of the sugar torsion angle tau3 (C2'-C3'-C4'-O4'). ; _item.name '_struct_mon_nucl.tau3' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.tau4 _item_description.description ; The value in degrees of the sugar torsion angle tau4 (C3'-C4'-O4'-C1'). ; _item.name '_struct_mon_nucl.tau4' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.taum _item_description.description ; The maximum amplitude of puckering. This is derived from the pseudorotation value P and the torsion angles in the ribose ring. Tau2= Taum cosP Tau3= Taum cos(P+144) Tau4= Taum cos(P+288) Tau0= Taum cos(P+ 72) Tau1= Taum cos(P+216) ; _item.name '_struct_mon_nucl.taum' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_nucl.zeta _item_description.description ; The value in degrees of the backbone torsion angle zeta (C3'-O3'-P-O5'). ; _item.name '_struct_mon_nucl.zeta' _item.category_id struct_mon_nucl _item.mandatory_code no _item_type.code float _item_units.code degrees save_ ##################### ## STRUCT_MON_PROT ## ##################### save_struct_mon_prot _category.description ; Data items in the STRUCT_MON_PROT category record details about structural properties of a protein when analyzed at the monomer level. Analogous data items for nucleic acids are given in the STRUCT_MON_NUCL category. For items where the value of the property depends on the method employed to calculate it, details of the method of calculation are given using data items in the STRUCT_MON_DETAILS category. ; _category.id struct_mon_prot _category.mandatory_code no loop_ _category_key.name '_struct_mon_prot.label_alt_id' '_struct_mon_prot.label_asym_id' '_struct_mon_prot.label_comp_id' '_struct_mon_prot.label_seq_id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for protein NS1. This example provides details for residue ARG 35. ; ; _struct_mon_prot.label_comp_id ARG _struct_mon_prot.label_seq_id 35 _struct_mon_prot.label_asym_id A _struct_mon_prot.label_alt_id A _struct_mon_prot.chi1 -67.9 _struct_mon_prot.chi2 -174.7 _struct_mon_prot.chi3 -67.7 _struct_mon_prot.chi4 -86.3 _struct_mon_prot.chi5 4.2 _struct_mon_prot.RSCC_all 0.90 _struct_mon_prot.RSR_all 0.18 _struct_mon_prot.mean_B_all 30.0 _struct_mon_prot.mean_B_main 25.0 _struct_mon_prot.mean_B_side 35.1 _struct_mon_prot.omega 180.1 _struct_mon_prot.phi -60.3 _struct_mon_prot.psi -46.0 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_mon_prot.chi1 _item_description.description ; The value in degrees of the side-chain torsion angle chi1, for those residues containing such an angle. ; _item.name '_struct_mon_prot.chi1' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_prot.chi2 _item_description.description ; The value in degrees of the side-chain torsion angle chi2, for those residues containing such an angle. ; _item.name '_struct_mon_prot.chi2' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_prot.chi3 _item_description.description ; The value in degrees of the side-chain torsion angle chi3, for those residues containing such an angle. ; _item.name '_struct_mon_prot.chi3' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_prot.chi4 _item_description.description ; The value in degrees of the side-chain torsion angle chi4, for those residues containing such an angle. ; _item.name '_struct_mon_prot.chi4' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_prot.chi5 _item_description.description ; The value in degrees of the side-chain torsion angle chi5, for those residues containing such an angle. ; _item.name '_struct_mon_prot.chi5' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_prot.details _item_description.description ; A description of special aspects of the residue, its conformation, behaviour in refinement, or any other aspect that requires annotation. ; _item.name '_struct_mon_prot.details' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float loop_ _item_examples.case 'very poor density' ; The side chain of this density may occupy alternative conformations, but alternative conformations were not fit in this model. ; ; This residue has a close contact with the bound inhibitor, which may account for the nonstandard conformation of the side chain. ; save_ save__struct_mon_prot.label_alt_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; _item.name '_struct_mon_prot.label_alt_id' _item.mandatory_code yes save_ save__struct_mon_prot.label_asym_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_struct_mon_prot.label_asym_id' _item.mandatory_code yes save_ save__struct_mon_prot.label_comp_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_struct_mon_prot.label_comp_id' _item.mandatory_code yes save_ save__struct_mon_prot.label_seq_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_mon_prot.label_seq_id' _item.mandatory_code yes save_ save__struct_mon_prot.auth_asym_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_struct_mon_prot.auth_asym_id' _item.mandatory_code no save_ save__struct_mon_prot.auth_comp_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_struct_mon_prot.auth_comp_id' _item.mandatory_code no save_ save__struct_mon_prot.auth_seq_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_mon_prot.auth_seq_id' _item.mandatory_code no save_ save__struct_mon_prot.RSCC_all _item_description.description ; The real-space (linear) correlation coefficient RSCC, as described by Jones et al. (1991), evaluated over all atoms in the monomer. sum|p~obs~ - | * sum|p~calc~ - | RSCC = ------------------------------------------------- [ sum|p~obs~ - |^2^ * sum|p~calc~ - |^2^ ]^1/2^ p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSCC. < > indicates an average and the sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSCC. Ref: Jones, T. A., Zou, J.-Y., Cowan, S. W. & Kjeldgaard, M. (1991). Acta Cryst. A47, 110-119. ; _item.name '_struct_mon_prot.RSCC_all' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float save_ save__struct_mon_prot.RSCC_main _item_description.description ; The real-space (linear) correlation coefficient RSCC, as described by Jones et al. (1991), evaluated over all atoms in the main chain of the monomer. sum|p~obs~ - | * sum|p~calc~ - | RSCC = ------------------------------------------------- [ sum|p~obs~ - |^2^ * sum|p~calc~ - |^2^ ]^1/2^ p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSCC. < > indicates an average and the sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSCC. Ref: Jones, T. A., Zou, J.-Y., Cowan, S. W. & Kjeldgaard, M. (1991). Acta Cryst. A47, 110-119. ; _item.name '_struct_mon_prot.RSCC_main' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float save_ save__struct_mon_prot.RSCC_side _item_description.description ; The real-space (linear) correlation coefficient RSCC, as described by Jones et al. (1991), evaluated over all atoms in the side chain of the monomer. sum|p~obs~ - | * sum|p~calc~ - | RSCC = ------------------------------------------------- [ sum|p~obs~ - |^2^ * sum|p~calc~ - |^2^ ]^1/2^ p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSCC. < > indicates an average and the sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSCC. Ref: Jones, T. A., Zou, J.-Y., Cowan, S. W. & Kjeldgaard, M. (1991). Acta Cryst. A47, 110-119. ; _item.name '_struct_mon_prot.RSCC_side' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float save_ save__struct_mon_prot.RSR_all _item_description.description ; The real-space residual RSR, as described by Branden & Jones (1990), evaluated over all atoms in the monomer. sum|p~obs~ - p~calc~| RSR = --------------------- sum|p~obs~ + p~calc~| p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSR. The sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSR. Ref: Branden, C.-I. & Jones, T. A. (1990). Nature (London), 343, 687-689. ; _item.name '_struct_mon_prot.RSR_all' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float save_ save__struct_mon_prot.RSR_main _item_description.description ; The real-space residual RSR, as described by Branden & Jones (1990), evaluated over all atoms in the main chain of the monomer. sum|p~obs~ - p~calc~| RSR = --------------------- sum|p~obs~ + p~calc~| p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSR. The sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSR. Ref: Branden, C.-I. & Jones, T. A. (1990). Nature (London), 343, 687-689. ; _item.name '_struct_mon_prot.RSR_main' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float save_ save__struct_mon_prot.RSR_side _item_description.description ; The real-space residual RSR, as described by Branden & Jones (1990), evaluated over all atoms in the side chain of the monomer. sum|p~obs~ - p~calc~| RSR = --------------------- sum|p~obs~ + p~calc~| p~obs~ = the density in an 'experimental' map p~calc~ = the density in a 'calculated' map sum is taken over the specified grid points Details of how these maps were calculated should be given in _struct_mon_details.RSR. The sums are taken over all map grid points near the relevant atoms. The radius for including grid points in the calculation should also be given in _struct_mon_details.RSR. Ref: Branden, C.-I. & Jones, T. A. (1990). Nature (London), 343, 687-689. ; _item.name '_struct_mon_prot.RSR_side' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float save_ save__struct_mon_prot.mean_B_all _item_description.description ; The mean value of the isotropic displacement parameter for all atoms in the monomer. ; _item.name '_struct_mon_prot.mean_B_all' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float save_ save__struct_mon_prot.mean_B_main _item_description.description ; The mean value of the isotropic displacement parameter for atoms in the main chain of the monomer. ; _item.name '_struct_mon_prot.mean_B_main' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float save_ save__struct_mon_prot.mean_B_side _item_description.description ; The mean value of the isotropic displacement parameter for atoms in the side chain of the monomer. ; _item.name '_struct_mon_prot.mean_B_side' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float save_ save__struct_mon_prot.omega _item_description.description ; The value in degrees of the main-chain torsion angle omega. ; _item.name '_struct_mon_prot.omega' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_prot.phi _item_description.description ; The value in degrees of the main-chain torsion angle phi. ; _item.name '_struct_mon_prot.phi' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__struct_mon_prot.psi _item_description.description ; The value in degrees of the main-chain torsion angle psi. ; _item.name '_struct_mon_prot.psi' _item.category_id struct_mon_prot _item.mandatory_code no _item_type.code float _item_units.code degrees save_ ######################### ## STRUCT_MON_PROT_CIS ## ######################### save_struct_mon_prot_cis _category.description ; Data items in the STRUCT_MON_PROT_CIS category identify monomers that have been found to have the peptide bond in the cis conformation. The criterion used to select residues to be designated as containing cis peptide bonds is given in _struct_mon_details.prot_cis. ; _category.id struct_mon_prot_cis _category.mandatory_code no loop_ _category_key.name '_struct_mon_prot_cis.pdbx_id' # '_struct_mon_prot_cis.pdbx_PDB_model_num' # '_struct_mon_prot_cis.label_alt_id' # '_struct_mon_prot_cis.label_asym_id' # '_struct_mon_prot_cis.label_comp_id' # '_struct_mon_prot_cis.label_seq_id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB structure 1ACY of Ghiara, Stura, Stanfield, Profy & Wilson [Science (1994), 264, 82-85]. ; ; loop_ _struct_mon_prot_cis.pdbx_id _struct_mon_prot_cis.label_comp_id _struct_mon_prot_cis.label_seq_id _struct_mon_prot_cis.label_asym_id _struct_mon_prot_cis.label_alt_id _struct_mon_prot_cis.pdbx_PDB_model_num 1 PRO 8 L . 1 2 PRO 77 L . 1 3 PRO 95 L . 1 4 PRO 141 L . 1 # ----- abbreviated ----- ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_mon_prot_cis.label_alt_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; _item.name '_struct_mon_prot_cis.label_alt_id' _item.mandatory_code yes save_ save__struct_mon_prot_cis.label_asym_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_struct_mon_prot_cis.label_asym_id' _item.mandatory_code yes save_ save__struct_mon_prot_cis.label_comp_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_struct_mon_prot_cis.label_comp_id' _item.mandatory_code yes save_ save__struct_mon_prot_cis.label_seq_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_mon_prot_cis.label_seq_id' _item.mandatory_code yes save_ save__struct_mon_prot_cis.auth_asym_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_struct_mon_prot_cis.auth_asym_id' _item.mandatory_code no save_ save__struct_mon_prot_cis.auth_comp_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_struct_mon_prot_cis.auth_comp_id' _item.mandatory_code no save_ save__struct_mon_prot_cis.auth_seq_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_mon_prot_cis.auth_seq_id' _item.mandatory_code no save_ #################### ## STRUCT_NCS_DOM ## #################### save_struct_ncs_dom _category.description ; Data items in the STRUCT_NCS_DOM category record information about the domains in an ensemble of domains related by one or more noncrystallographic symmetry operators. A domain need not correspond to a complete polypeptide chain; it can be composed of one or more segments in a single chain, or by segments from more than one chain. ; _category.id struct_ncs_dom _category.mandatory_code no loop_ _category_key.name '_struct_ncs_dom.id' '_struct_ncs_dom.pdbx_ens_id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for the collagen-like peptide, HYP-. ; ; loop_ _struct_ncs_dom.id _struct_ncs_dom.pdbx_ens_id _struct_ncs_dom.details d1 1 'Chains A, B, and C' d2 1 'Chains D, E, and F' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_ncs_dom.details _item_description.description ; A description of special aspects of the structural elements that comprise a domain in an ensemble of domains related by noncrystallographic symmetry. ; _item.name '_struct_ncs_dom.details' _item.category_id struct_ncs_dom _item.mandatory_code no _item_type.code text _item_examples.case ; The loop between residues 18 and 23 in this domain interacts with a symmetry-related molecule, and thus deviates significantly from the noncrystallographic threefold. ; save_ save__struct_ncs_dom.id _item_description.description ; The value of _struct_ncs_dom.id must uniquely identify a record in the STRUCT_NCS_DOM list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_struct_ncs_dom.id' struct_ncs_dom yes '_struct_ncs_dom_lim.dom_id' struct_ncs_dom_lim yes '_struct_ncs_ens_gen.dom_id_1' struct_ncs_ens_gen yes '_struct_ncs_ens_gen.dom_id_2' struct_ncs_ens_gen yes loop_ _item_linked.child_name _item_linked.parent_name '_struct_ncs_dom_lim.dom_id' '_struct_ncs_dom.id' '_struct_ncs_ens_gen.dom_id_1' '_struct_ncs_dom.id' '_struct_ncs_ens_gen.dom_id_2' '_struct_ncs_dom.id' _item_type.code code save_ ######################## ## STRUCT_NCS_DOM_LIM ## ######################## save_struct_ncs_dom_lim _category.description ; Data items in the STRUCT_NCS_DOM_LIM category identify the start and end points of polypeptide chain segments that form all or part of a domain in an ensemble of domains related by noncrystallographic symmetry. ; _category.id struct_ncs_dom_lim _category.mandatory_code no loop_ _category_key.name '_struct_ncs_dom_lim.dom_id' '_struct_ncs_dom_lim.pdbx_ens_id' '_struct_ncs_dom_lim.pdbx_component_id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for the collagen-like peptide, HYP-. ; ; loop_ _struct_ncs_dom_lim.dom_id _struct_ncs_dom_lim.pdbx_ens_id _struct_ncs_dom_lim.pdbx_component_id _struct_ncs_dom_lim.beg_label_alt_id _struct_ncs_dom_lim.beg_label_asym_id _struct_ncs_dom_lim.beg_label_comp_id _struct_ncs_dom_lim.beg_label_seq_id _struct_ncs_dom_lim.end_label_alt_id _struct_ncs_dom_lim.end_label_asym_id _struct_ncs_dom_lim.end_label_comp_id _struct_ncs_dom_lim.end_label_seq_id d1 1 1 . A PRO 1 . A GLY 29 d1 1 2 . B PRO 31 . B GLY 59 d1 1 3 . C PRO 61 . B GLY 89 d2 1 1 . D PRO 91 . D GLY 119 d2 1 2 . E PRO 121 . E GLY 149 d2 1 3 . F PRO 151 . F GLY 179 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_ncs_dom_lim.beg_label_alt_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. ; _item.name '_struct_ncs_dom_lim.beg_label_alt_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code code save_ save__struct_ncs_dom_lim.beg_label_asym_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_struct_ncs_dom_lim.beg_label_asym_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_ncs_dom_lim.beg_label_asym_id' _item_linked.parent_name '_struct_asym.id' save_ save__struct_ncs_dom_lim.beg_label_comp_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. ; _item.name '_struct_ncs_dom_lim.beg_label_comp_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code code save_ save__struct_ncs_dom_lim.beg_label_seq_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. ; _item.name '_struct_ncs_dom_lim.beg_label_seq_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code int save_ save__struct_ncs_dom_lim.beg_auth_asym_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. ; _item.name '_struct_ncs_dom_lim.beg_auth_asym_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code code save_ save__struct_ncs_dom_lim.beg_auth_comp_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. ; _item.name '_struct_ncs_dom_lim.beg_auth_comp_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code code save_ save__struct_ncs_dom_lim.beg_auth_seq_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_ncs_dom_lim.beg_auth_seq_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code code save_ save__struct_ncs_dom_lim.dom_id _item_description.description ; This data item is a pointer to _struct_ncs_dom.id in the STRUCT_NCS_DOM category. ; _item.name '_struct_ncs_dom_lim.dom_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code yes _item_type.code code save_ save__struct_ncs_dom_lim.end_label_alt_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. ; _item.name '_struct_ncs_dom_lim.end_label_alt_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code code save_ save__struct_ncs_dom_lim.end_label_asym_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_struct_ncs_dom_lim.end_label_asym_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_ncs_dom_lim.end_label_asym_id' _item_linked.parent_name '_struct_asym.id' save_ save__struct_ncs_dom_lim.end_label_comp_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. ; _item.name '_struct_ncs_dom_lim.end_label_comp_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code code save_ save__struct_ncs_dom_lim.end_label_seq_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. ; _item.name '_struct_ncs_dom_lim.end_label_seq_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code int save_ save__struct_ncs_dom_lim.end_auth_asym_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. ; _item.name '_struct_ncs_dom_lim.end_auth_asym_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code code save_ save__struct_ncs_dom_lim.end_auth_comp_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. ; _item.name '_struct_ncs_dom_lim.end_auth_comp_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code code save_ save__struct_ncs_dom_lim.end_auth_seq_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. ; _item.name '_struct_ncs_dom_lim.end_auth_seq_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code code save_ save__struct_ncs_dom_lim.selection_details _item_description.description ; A text description of the selection of residues that correspond to this domain. ; _item.name '_struct_ncs_dom_lim.selection_details' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code text save_ #################### ## STRUCT_NCS_ENS ## #################### save_struct_ncs_ens _category.description ; Data items in the STRUCT_NCS_ENS category record information about ensembles of domains related by noncrystallographic symmetry. The point group of the ensemble when taken as a whole may be specified, as well as any special aspects of the ensemble that require description. ; _category.id struct_ncs_ens _category.mandatory_code no _category_key.name '_struct_ncs_ens.id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for the collagen-like peptide, HYP-. ; ; _struct_ncs_ens.id en1 _struct_ncs_ens.details ; The ensemble represents the pseudo-twofold symmetry between domains d1 and d2. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_ncs_ens.details _item_description.description ; A description of special aspects of the ensemble. ; _item.name '_struct_ncs_ens.details' _item.category_id struct_ncs_ens _item.mandatory_code no _item_type.code text _item_examples.case ; The ensemble has a slight translation between domains 1 and 4, but overall it can accurately be described as point group 222 ; save_ save__struct_ncs_ens.id _item_description.description ; The value of _struct_ncs_ens.id must uniquely identify a record in the STRUCT_NCS_ENS list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_struct_ncs_ens.id' struct_ncs_ens yes '_struct_ncs_ens_gen.ens_id' struct_ncs_ens_gen yes loop_ _item_linked.child_name _item_linked.parent_name '_struct_ncs_ens_gen.ens_id' '_struct_ncs_ens.id' _item_type.code code save_ save__struct_ncs_ens.point_group _item_description.description ; The point group of the ensemble of structural elements related by one or more noncrystallographic symmetry operations. The relationships need not be precise; this data item is intended to give a rough description of the noncrystallographic symmetry relationships. ; _item.name '_struct_ncs_ens.point_group' _item.category_id struct_ncs_ens _item.mandatory_code no _item_type.code line loop_ _item_examples.case '3' '422' 'non-proper' save_ ######################## ## STRUCT_NCS_ENS_GEN ## ######################## save_struct_ncs_ens_gen _category.description ; Data items in the STRUCT_NCS_ENS_GEN category list domains related by a noncrystallographic symmetry operation and identify the operator. ; _category.id struct_ncs_ens_gen _category.mandatory_code no loop_ _category_key.name '_struct_ncs_ens_gen.ens_id' '_struct_ncs_ens_gen.dom_id_1' '_struct_ncs_ens_gen.dom_id_2' '_struct_ncs_ens_gen.oper_id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for the collagen-like peptide, HYP-. ; ; _struct_ncs_ens_gen.dom_id_1 d1 _struct_ncs_ens_gen.dom_id_2 d2 _struct_ncs_ens_gen.ens_id en1 _struct_ncs_ens_gen.oper_id 1 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_ncs_ens_gen.dom_id_1 _item_description.description ; The identifier for the domain that will remain unchanged by the transformation operator. This data item is a pointer to _struct_ncs_dom.id in the STRUCT_NCS_DOM category. ; _item.name '_struct_ncs_ens_gen.dom_id_1' _item.mandatory_code yes save_ save__struct_ncs_ens_gen.dom_id_2 _item_description.description ; The identifier for the domain that will be transformed by application of the transformation operator. This data item is a pointer to _struct_ncs_dom.id in the STRUCT_NCS_DOM category. ; _item.name '_struct_ncs_ens_gen.dom_id_2' _item.mandatory_code yes save_ save__struct_ncs_ens_gen.ens_id _item_description.description ; This data item is a pointer to _struct_ncs_ens.id in the STRUCT_NCS_ENS category. ; _item.name '_struct_ncs_ens_gen.ens_id' _item.mandatory_code yes save_ save__struct_ncs_ens_gen.oper_id _item_description.description ; This data item is a pointer to _struct_ncs_oper.id in the STRUCT_NCS_OPER category. ; _item.name '_struct_ncs_ens_gen.oper_id' _item.mandatory_code yes _item_type.code int save_ ##################### ## STRUCT_NCS_OPER ## ##################### save_struct_ncs_oper _category.description ; Data items in the STRUCT_NCS_OPER category describe the noncrystallographic symmetry operations. Each operator is specified as a matrix and a subsequent translation vector. Operators need not represent proper rotations. ; _category.id struct_ncs_oper _category.mandatory_code no _category_key.name '_struct_ncs_oper.id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for the protein NS1. ; ; _struct_ncs_oper.id 1 _struct_ncs_oper.code given _struct_ncs_oper.matrix[1][1] 0.247 _struct_ncs_oper.matrix[1][2] 0.935 _struct_ncs_oper.matrix[1][3] 0.256 _struct_ncs_oper.matrix[2][1] 0.929 _struct_ncs_oper.matrix[2][2] 0.153 _struct_ncs_oper.matrix[2][3] 0.337 _struct_ncs_oper.matrix[3][1] 0.276 _struct_ncs_oper.matrix[3][2] 0.321 _struct_ncs_oper.matrix[3][3] -0.906 _struct_ncs_oper.vector[1] -8.253 _struct_ncs_oper.vector[2] -11.743 _struct_ncs_oper.vector[3] -1.782 _struct_ncs_oper.details ; Matrix and translation vector for pseudo-twofold operation. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_ncs_oper.code _item_description.description ; A code to indicate whether this operator describes a relationship between coordinates all of which are given in the data block (in which case the value of code is 'given'), or whether the operator is used to generate new coordinates from those that are given in the data block (in which case the value of code is 'generate'). ; _item.name '_struct_ncs_oper.code' _item.category_id struct_ncs_oper _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail given ; operator relates coordinates given in the data block ; generate ; operator generates new coordinates from those given in the data block ; save_ save__struct_ncs_oper.details _item_description.description ; A description of special aspects of the noncrystallographic symmetry operator. ; _item.name '_struct_ncs_oper.details' _item.category_id struct_ncs_oper _item.mandatory_code no _item_type.code text _item_examples.case ; The operation is given as a precise threefold rotation, despite the fact the best rms fit between domain 1 and domain 2 yields a rotation of 119.7 degrees and a translation of 0.13 angstroms. ; save_ save__struct_ncs_oper.id _item_description.description ; The value of _struct_ncs_oper.id must uniquely identify a record in the STRUCT_NCS_OPER list. Note that for PDB _struct_ncs_oper.id must be a number. ; loop_ _item.name _item.category_id _item.mandatory_code '_struct_ncs_oper.id' struct_ncs_oper yes '_struct_ncs_ens_gen.oper_id' struct_ncs_ens_gen yes loop_ _item_linked.child_name _item_linked.parent_name '_struct_ncs_ens_gen.oper_id' '_struct_ncs_oper.id' _item_type.code int save_ save__struct_ncs_oper.matrix[1][1] _item_description.description ; The [1][1] element of the 3x3 matrix component of a noncrystallographic symmetry operation. ; _item.name '_struct_ncs_oper.matrix[1][1]' _item.category_id struct_ncs_oper _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_ncs_oper.matrix[1][2] _item_description.description ; The [1][2] element of the 3x3 matrix component of a noncrystallographic symmetry operation. ; _item.name '_struct_ncs_oper.matrix[1][2]' _item.category_id struct_ncs_oper _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_ncs_oper.matrix[1][3] _item_description.description ; The [1][3] element of the 3x3 matrix component of a noncrystallographic symmetry operation. ; _item.name '_struct_ncs_oper.matrix[1][3]' _item.category_id struct_ncs_oper _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_ncs_oper.matrix[2][1] _item_description.description ; The [2][1] element of the 3x3 matrix component of a noncrystallographic symmetry operation. ; _item.name '_struct_ncs_oper.matrix[2][1]' _item.category_id struct_ncs_oper _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_ncs_oper.matrix[2][2] _item_description.description ; The [2][2] element of the 3x3 matrix component of a noncrystallographic symmetry operation. ; _item.name '_struct_ncs_oper.matrix[2][2]' _item.category_id struct_ncs_oper _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_ncs_oper.matrix[2][3] _item_description.description ; The [2][3] element of the 3x3 matrix component of a noncrystallographic symmetry operation. ; _item.name '_struct_ncs_oper.matrix[2][3]' _item.category_id struct_ncs_oper _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_ncs_oper.matrix[3][1] _item_description.description ; The [3][1] element of the 3x3 matrix component of a noncrystallographic symmetry operation. ; _item.name '_struct_ncs_oper.matrix[3][1]' _item.category_id struct_ncs_oper _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_ncs_oper.matrix[3][2] _item_description.description ; The [3][2] element of the 3x3 matrix component of a noncrystallographic symmetry operation. ; _item.name '_struct_ncs_oper.matrix[3][2]' _item.category_id struct_ncs_oper _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_ncs_oper.matrix[3][3] _item_description.description ; The [3][3] element of the 3x3 matrix component of a noncrystallographic symmetry operation. ; _item.name '_struct_ncs_oper.matrix[3][3]' _item.category_id struct_ncs_oper _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_ncs_oper.vector[1] _item_description.description ; The [1] element of the three-element vector component of a noncrystallographic symmetry operation. ; _item.name '_struct_ncs_oper.vector[1]' _item.category_id struct_ncs_oper _item.mandatory_code no # _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__struct_ncs_oper.vector[2] _item_description.description ; The [2] element of the three-element vector component of a noncrystallographic symmetry operation. ; _item.name '_struct_ncs_oper.vector[2]' _item.category_id struct_ncs_oper _item.mandatory_code no # _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ save__struct_ncs_oper.vector[3] _item_description.description ; The [3] element of the three-element vector component of a noncrystallographic symmetry operation. ; _item.name '_struct_ncs_oper.vector[3]' _item.category_id struct_ncs_oper _item.mandatory_code no # _item_default.value 0.0 _item_sub_category.id vector _item_type.code float save_ ################ ## STRUCT_REF ## ################ save_struct_ref _category.description ; Data items in the STRUCT_REF category allow the author of a data block to relate the entities or biological units described in the data block to information archived in external databases. For references to the sequence of a polymer, the value of the data item _struct_ref.seq_align is used to indicate whether the correspondence between the sequence of the entity or biological unit in the data block and the sequence in the referenced database entry is 'complete' or 'partial'. If this value is 'partial', the region (or regions) of the alignment may be delimited using data items in the STRUCT_REF_SEQ category. Similarly, the value of _struct_ref.seq_dif is used to indicate whether the two sequences contain point differences. If the value is 'yes', the differences may be identified and annotated using data items in the STRUCT_REF_SEQ_DIF category. ; _category.id struct_ref _category.mandatory_code no _category_key.name '_struct_ref.id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _struct_ref.id _struct_ref.entity_id _struct_ref.biol_id _struct_ref.db_name _struct_ref.db_code _struct_ref.seq_align _struct_ref.seq_dif _struct_ref.details 1 1 . 'Genbank' '12345' 'entire' 'yes' . 2 . 2 'PDB' '1ABC' . . ; The structure of the closely related compound, isobutyryl-pepstatin (pepstatin A) in complex with rhizopuspepsin ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_ref.biol_id _item_description.description ; This data item is a pointer to _struct_biol.id in the STRUCT_BIOL category. ; _item.name '_struct_ref.biol_id' _item.mandatory_code no save_ save__struct_ref.db_code _item_description.description ; The code for this entity or biological unit or for a closely related entity or biological unit in the named database. ; _item.name '_struct_ref.db_code' _item.category_id struct_ref _item.mandatory_code yes _item_type.code line loop_ _item_examples.case '1ABC' 'ABCDEF' save_ save__struct_ref.db_name _item_description.description ; The name of the database containing reference information about this entity or biological unit. ; _item.name '_struct_ref.db_name' _item.category_id struct_ref _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'PDB' 'CSD' 'Genbank' _pdbx_item_description.name "_struct_ref.db_name" _pdbx_item_description.description "The name of the database from which the sequence reference is derived" save_ save__struct_ref.details _item_description.description ; A description of special aspects of the relationship between the entity or biological unit described in the data block and that in the referenced database entry. ; _item.name '_struct_ref.details' _item.category_id struct_ref _item.mandatory_code no _item_type.code text save_ save__struct_ref.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_struct_ref.entity_id' _item.mandatory_code yes # _pdbx_item_description.name "_struct_ref.entity_id" _pdbx_item_description.description "The numerical identifier of a unique polymeric sequence within the entry" # save_ save__struct_ref.id _item_description.description ; The value of _struct_ref.id must uniquely identify a record in the STRUCT_REF list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_struct_ref.id' struct_ref yes '_struct_ref_seq.ref_id' struct_ref_seq yes loop_ _item_linked.child_name _item_linked.parent_name '_struct_ref_seq.ref_id' '_struct_ref.id' _item_type.code code save_ save__struct_ref.seq_align _item_description.description ; A flag to indicate the scope of the alignment between the sequence of the entity or biological unit described in the data block and that in the referenced database entry. 'entire' indicates that alignment spans the entire length of both sequences (although point differences may occur and can be annotated using the data items in the STRUCT_REF_SEQ_DIF category). 'partial' indicates a partial alignment. The region (or regions) of the alignment may be delimited using data items in the STRUCT_REF_SEQ category. This data item may also take the value '.', indicating that the reference is not to a sequence. ; _item.name '_struct_ref.seq_align' _item.category_id struct_ref _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail complete 'alignment is complete' partial 'alignment is partial' # . 'reference is not to a sequence' save_ save__struct_ref.seq_dif _item_description.description ; A flag to indicate the presence ('yes') or absence ('no') of point differences between the sequence of the entity or biological unit described in the data block and that in the referenced database entry. This data item may also take the value '.', indicating that the reference is not to a sequence. ; _item.name '_struct_ref.seq_dif' _item.category_id struct_ref _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no 'there are no point differences' n 'abbreviation for "no"' yes 'there are point difference' y 'abbreviation for "yes"' # . 'reference is not to a sequence' save_ #################### ## STRUCT_REF_SEQ ## #################### save_struct_ref_seq _category.description ; Data items in the STRUCT_REF_SEQ category provide a mechanism for indicating and annotating a region (or regions) of alignment between the sequence of an entity or biological unit described in the data block and the sequence in the referenced database entry. ; _category.id struct_ref_seq _category.mandatory_code no _category_key.name '_struct_ref_seq.align_id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on the sequence alignment of CHER from M. xantus (36 to 288) and CHER from S. typhimurium (18 to 276). ; ; _struct_ref_seq.align_id alg1 _struct_ref_seq.ref_id seqdb1 _struct_ref_seq.seq_align_beg 36 _struct_ref_seq.seq_align_end 288 _struct_ref_seq.db_align_beg 18 _struct_ref_seq.db_align_end 276 _struct_ref_seq.details ; The alignment contains 3 gaps larger than 2 residues ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_ref_seq.align_id _item_description.description ; The value of _struct_ref_seq.align_id must uniquely identify a record in the STRUCT_REF_SEQ list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_struct_ref_seq.align_id' struct_ref_seq yes '_struct_ref_seq_dif.align_id' struct_ref_seq_dif yes loop_ _item_linked.child_name _item_linked.parent_name '_struct_ref_seq_dif.align_id' '_struct_ref_seq.align_id' _item_type.code code save_ save__struct_ref_seq.db_align_beg _item_description.description ; The sequence position in the referenced database entry at which the alignment begins. ; _item.name '_struct_ref_seq.db_align_beg' _item.mandatory_code yes # loop_ # _item_range.maximum # _item_range.minimum . 1 # 1 1 _item_type.code int save_ save__struct_ref_seq.db_align_end _item_description.description ; The sequence position in the referenced database entry at which the alignment ends. ; _item.name '_struct_ref_seq.db_align_end' _item.mandatory_code yes # loop_ # _item_range.maximum # _item_range.minimum . 1 # 1 1 _item_type.code int save_ save__struct_ref_seq.details _item_description.description ; A description of special aspects of the sequence alignment. ; _item.name '_struct_ref_seq.details' _item.category_id struct_ref_seq _item.mandatory_code no _item_type.code text save_ save__struct_ref_seq.ref_id _item_description.description ; This data item is a pointer to _struct_ref.id in the STRUCT_REF category. ; _item.name '_struct_ref_seq.ref_id' _item.mandatory_code yes save_ save__struct_ref_seq.seq_align_beg _item_description.description ; The sequence position in the entity or biological unit described in the data block at which the alignment begins. This data item is a pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_struct_ref_seq.seq_align_beg' _item.mandatory_code yes save_ save__struct_ref_seq.seq_align_end _item_description.description ; The sequence position in the entity or biological unit described in the data block at which the alignment ends. This data item is a pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_struct_ref_seq.seq_align_end' _item.mandatory_code yes save_ ######################## ## STRUCT_REF_SEQ_DIF ## ######################## save_struct_ref_seq_dif _category.description ; Data items in the STRUCT_REF_SEQ_DIF category provide a mechanism for indicating and annotating point differences between the sequence of the entity or biological unit described in the data block and the sequence of the referenced database entry. ; _category.id struct_ref_seq_dif _category.mandatory_code no _category_key.name '_struct_ref_seq_dif.pdbx_ordinal' # # loop_ # _category_key.name '_struct_ref_seq_dif.align_id' # '_struct_ref_seq_dif.seq_num' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on laboratory records for CAP-DNA complex. ; ; _struct_ref_seq_dif.pdbx_ordinal 1 _struct_ref_seq_dif.align_id algn2 _struct_ref_seq_dif.seq_num 181 _struct_ref_seq_dif.db_mon_id GLU _struct_ref_seq_dif.mon_id PHE _struct_ref_seq_dif.details ; A point mutation was introduced in the CAP at position 181 substituting PHE for GLU. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_ref_seq_dif.align_id _item_description.description ; This data item is a pointer to _struct_ref_seq.align_id in the STRUCT_REF_SEQ category. ; _item.name '_struct_ref_seq_dif.align_id' _item.mandatory_code yes save_ save__struct_ref_seq_dif.db_mon_id _item_description.description ; The monomer type found at this position in the referenced database entry. This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_struct_ref_seq_dif.db_mon_id' _item.mandatory_code no _item_type.code ucode _pdbx_item_description.name '_struct_ref_seq_dif.db_mon_id' _pdbx_item_description.description 'The wwPDB chemical component dictionary 3-letter identifier for the discrepant residue in the database sequence reference' save_ save__struct_ref_seq_dif.details _item_description.description ; A description of special aspects of the point differences between the sequence of the entity or biological unit described in the data block and that in the referenced database entry. ; _item.name '_struct_ref_seq_dif.details' _item.category_id struct_ref_seq_dif _item.mandatory_code no _item_type.code text _pdbx_item_description.name "_struct_ref_seq_dif.details" _pdbx_item_description.description "The description of the sequence discrepancy. If the nature of the sequence discrepancy is not described by any of the enumerated options, details should be entered in the available text box." loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_struct_ref_seq_dif.details" 'engineered mutation' . "_struct_ref_seq_dif.details" 'cloning artifact' . "_struct_ref_seq_dif.details" 'variant' . "_struct_ref_seq_dif.details" 'expression tag' . "_struct_ref_seq_dif.details" 'insertion' . "_struct_ref_seq_dif.details" 'deletion' . "_struct_ref_seq_dif.details" 'chromophore' . "_struct_ref_seq_dif.details" 'linker' . "_struct_ref_seq_dif.details" 'conflict' . "_struct_ref_seq_dif.details" 'acetylation' . "_struct_ref_seq_dif.details" 'amidation' . "_struct_ref_seq_dif.details" 'initiating methionine' . "_struct_ref_seq_dif.details" 'modified residue' . "_struct_ref_seq_dif.details" 'microheterogeneity' . "_struct_ref_seq_dif.details" 'microheterogeneity/modified residue' . # save_ save__struct_ref_seq_dif.mon_id _item_description.description ; The monomer type found at this position in the sequence of the entity or biological unit described in this data block. This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_struct_ref_seq_dif.mon_id' _item.mandatory_code no _item_type.code ucode _pdbx_item_description.name "_struct_ref_seq_dif.mon_id" _pdbx_item_description.description "The reported wwPDB chemical component dictionary 3-letter identifier for the discrepant residue" save_ save__struct_ref_seq_dif.seq_num _item_description.description ; This data item is a pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_struct_ref_seq_dif.seq_num' _item.mandatory_code no _item_type.code int save_ ################## ## STRUCT_SHEET ## ################## save_struct_sheet _category.description ; Data items in the STRUCT_SHEET category record details about the beta-sheets. ; _category.id struct_sheet _category.mandatory_code no _category_key.name '_struct_sheet.id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - simple beta-barrel. N O N O N O N O N O N O 10--11--12--13--14--15--16--17--18--19--20 strand_a N O N O N O N O N O / \ / \ / \ / \ / \ N O N O N O N O N O N O 30--31--32--33--34--35--36--37--38--39--40 strand_b N O N O N O N O N O / \ / \ / \ / \ / \ N O N O N O N O N O N O 50--51--52--53--54--55--56--57--58--59--60 strand_c N O N O N O N O N O / \ / \ / \ / \ / \ N O N O N O N O N O N O 70--71--72--73--74--75--76--77--78--79--80 strand_d N O N O N O N O N O / \ / \ / \ / \ / \ N O N O N O N O N O N O 90--91--92--93--94--95--96--97--98--99-100 strand_e N O N O N O N O N O / \ / \ / \ / \ / \ N O N O N O N O N O N O 110-111-112-113-114-115-116-117-118-119-120 strand_f N O N O N O N O N O / \ / \ / \ / \ / \ N O N O N O N O N O N O 130-131-132-133-134-135-136-137-138-139-140 strand_g N O N O N O N O N O / \ / \ / \ / \ / \ N O N O N O N O N O N O 150-151-152-153-154-155-156-157-158-159-160 strand_h N O N O N O N O N O / \ / \ / \ / \ / \ ; ; _struct_sheet.id sheet_1 _struct_sheet.type 'beta-barrel' _struct_sheet.number_strands 8 _struct_sheet.details . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - five stranded mixed-sense sheet with one two-piece strand. N O N O N O N O -10--11--12--13--14--15--16--17--18-> strand_a N O N O N O N O N O | | | | | | | | | | O N O N O N O N O N <-119-118-117-116-115-114-113-112-111-110- strand_b O N O N O N O N O N \ / \ / \ / \ / \ O N O N O N O N O N O N <-41--40--39--38--37--36--35--34--33--32--31--30- strand_c O N O N O N O N O N O N | | | | | | | | | | | | N O N O N O N O N O N O strand_d1 -50--51--52-> -90--91--92--93--95--95--96--97-> strand_d2 N O N O N O N O N O | | | | | | | | | | | | O N O N O N O N O N O N <-80--79--78--77--76--75--74--73--72--71--70- strand_e O N O N O N O N O N ; ; _struct_sheet.id sheet_2 _struct_sheet.type 'five stranded, mixed-sense' _struct_sheet.number_strands 5 _struct_sheet.details 'strand_d is in two pieces' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_sheet.details _item_description.description ; A description of special aspects of the beta-sheet. ; _item.name '_struct_sheet.details' _item.category_id struct_sheet _item.mandatory_code no _item_type.code text save_ save__struct_sheet.id _item_description.description ; The value of _struct_sheet.id must uniquely identify a record in the STRUCT_SHEET list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_struct_sheet.id' struct_sheet yes '_struct_sheet_hbond.sheet_id' struct_sheet_hbond yes '_struct_sheet_order.sheet_id' struct_sheet_order yes '_struct_sheet_range.sheet_id' struct_sheet_range yes '_struct_sheet_topology.sheet_id' struct_sheet_topology yes loop_ _item_linked.child_name _item_linked.parent_name '_struct_sheet_hbond.sheet_id' '_struct_sheet.id' '_struct_sheet_order.sheet_id' '_struct_sheet.id' '_struct_sheet_range.sheet_id' '_struct_sheet.id' '_struct_sheet_topology.sheet_id' '_struct_sheet.id' _item_type.code code save_ save__struct_sheet.number_strands _item_description.description ; The number of strands in the sheet. If a given range of residues bulges out from the strands, it is still counted as one strand. If a strand is composed of two different regions of polypeptide, it is still counted as one strand, as long as the proper hydrogen- bonding connections are made to adjacent strands. ; _item.name '_struct_sheet.number_strands' _item.category_id struct_sheet _item.mandatory_code no _item_type.code int save_ save__struct_sheet.type _item_description.description ; A simple descriptor for the type of the sheet. ; _item.name '_struct_sheet.type' _item.category_id struct_sheet _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'jelly-roll' 'Rossmann fold' 'beta barrel' save_ ######################## ## STRUCT_SHEET_HBOND ## ######################## save_struct_sheet_hbond _category.description ; Data items in the STRUCT_SHEET_HBOND category record details about the hydrogen bonding between residue ranges in a beta- sheet. It is necessary to treat hydrogen bonding independently of the designation of ranges, because the hydrogen bonding may begin in different places for the interactions of a given strand with the one preceding it and the one following it in the sheet. ; _category.id struct_sheet_hbond _category.mandatory_code no loop_ _category_key.name '_struct_sheet_hbond.sheet_id' '_struct_sheet_hbond.range_id_1' '_struct_sheet_hbond.range_id_2' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - simple beta-barrel. ; ; loop_ _struct_sheet_hbond.sheet_id _struct_sheet_hbond.range_id_1 _struct_sheet_hbond.range_id_2 _struct_sheet_hbond.range_1_beg_label_seq_id _struct_sheet_hbond.range_1_beg_label_atom_id _struct_sheet_hbond.range_2_beg_label_seq_id _struct_sheet_hbond.range_2_beg_label_atom_id _struct_sheet_hbond.range_1_end_label_seq_id _struct_sheet_hbond.range_1_end_label_atom_id _struct_sheet_hbond.range_2_end_label_seq_id _struct_sheet_hbond.range_2_end_label_atom_id sheet_1 strand_a strand_b 11 N 30 O 19 O 40 N sheet_1 strand_b strand_c 31 N 50 O 39 O 60 N sheet_1 strand_c strand_d 51 N 70 O 59 O 80 N sheet_1 strand_d strand_e 71 N 90 O 89 O 100 N sheet_1 strand_e strand_f 91 N 110 O 99 O 120 N sheet_1 strand_f strand_g 111 N 130 O 119 O 140 N sheet_1 strand_g strand_h 131 N 150 O 139 O 160 N sheet_1 strand_h strand_a 151 N 10 O 159 O 180 N ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - five stranded mixed-sense sheet with one two-piece strand. ; ; loop_ _struct_sheet_hbond.sheet_id _struct_sheet_hbond.range_id_1 _struct_sheet_hbond.range_id_2 _struct_sheet_hbond.range_1_beg_label_seq_id _struct_sheet_hbond.range_1_beg_label_atom_id _struct_sheet_hbond.range_2_beg_label_seq_id _struct_sheet_hbond.range_2_beg_label_atom_id _struct_sheet_hbond.range_1_end_label_seq_id _struct_sheet_hbond.range_1_end_label_atom_id _struct_sheet_hbond.range_2_end_label_seq_id _struct_sheet_hbond.range_2_end_label_atom_id sheet_2 strand_a strand_b 20 N 119 O 18 O 111 N sheet_2 strand_b strand_c 110 N 33 O 118 N 41 O sheet_2 strand_c strand_d1 38 N 52 O 40 O 50 N sheet_2 strand_c strand_d2 30 N 96 O 36 O 90 N sheet_2 strand_d1 strand_e 51 N 80 O 51 O 80 N sheet_2 strand_d2 strand_e 91 N 76 O 97 O 70 N ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_sheet_hbond.range_1_beg_label_atom_id _item_description.description ; A component of the identifier for the residue for the first partner of the first hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_1_beg_label_atom_id' _item.mandatory_code yes save_ save__struct_sheet_hbond.range_1_beg_label_seq_id _item_description.description ; A component of the identifier for the residue for the first partner of the first hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_1_beg_label_seq_id' _item.mandatory_code yes save_ save__struct_sheet_hbond.range_1_end_label_atom_id _item_description.description ; A component of the identifier for the residue for the first partner of the last hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_1_end_label_atom_id' _item.mandatory_code yes save_ save__struct_sheet_hbond.range_1_end_label_seq_id _item_description.description ; A component of the identifier for the residue for the first partner of the last hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_1_end_label_seq_id' _item.mandatory_code yes save_ save__struct_sheet_hbond.range_2_beg_label_atom_id _item_description.description ; A component of the identifier for the residue for the second partner of the first hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_2_beg_label_atom_id' _item.mandatory_code yes save_ save__struct_sheet_hbond.range_2_beg_label_seq_id _item_description.description ; A component of the identifier for the residue for the second partner of the first hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_2_beg_label_seq_id' _item.mandatory_code yes save_ save__struct_sheet_hbond.range_2_end_label_atom_id _item_description.description ; A component of the identifier for the residue for the second partner of the last hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_2_end_label_atom_id' _item.mandatory_code yes save_ save__struct_sheet_hbond.range_2_end_label_seq_id _item_description.description ; A component of the identifier for the residue for the second partner of the last hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_2_end_label_seq_id' _item.mandatory_code yes save_ save__struct_sheet_hbond.range_1_beg_auth_atom_id _item_description.description ; A component of the identifier for the residue for the first partner of the first hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_1_beg_auth_atom_id' _item.mandatory_code no save_ save__struct_sheet_hbond.range_1_beg_auth_seq_id _item_description.description ; A component of the identifier for the residue for the first partner of the first hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_1_beg_auth_seq_id' _item.mandatory_code no save_ save__struct_sheet_hbond.range_1_end_auth_atom_id _item_description.description ; A component of the identifier for the residue for the first partner of the last hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_1_end_auth_atom_id' _item.mandatory_code no save_ save__struct_sheet_hbond.range_1_end_auth_seq_id _item_description.description ; A component of the identifier for the residue for the first partner of the last hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_1_end_auth_seq_id' _item.mandatory_code no save_ save__struct_sheet_hbond.range_2_beg_auth_atom_id _item_description.description ; A component of the identifier for the residue for the second partner of the first hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_2_beg_auth_atom_id' _item.mandatory_code no save_ save__struct_sheet_hbond.range_2_beg_auth_seq_id _item_description.description ; A component of the identifier for the residue for the second partner of the first hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_2_beg_auth_seq_id' _item.mandatory_code no save_ save__struct_sheet_hbond.range_2_end_auth_atom_id _item_description.description ; A component of the identifier for the residue for the second partner of the last hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_2_end_auth_atom_id' _item.mandatory_code no save_ save__struct_sheet_hbond.range_2_end_auth_seq_id _item_description.description ; A component of the identifier for the residue for the second partner of the last hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_sheet_hbond.range_2_end_auth_seq_id' _item.mandatory_code no save_ save__struct_sheet_hbond.range_id_1 _item_description.description ; This data item is a pointer to _struct_sheet_range.id in the STRUCT_SHEET_RANGE category. ; _item.name '_struct_sheet_hbond.range_id_1' _item.mandatory_code yes save_ save__struct_sheet_hbond.range_id_2 _item_description.description ; This data item is a pointer to _struct_sheet_range.id in the STRUCT_SHEET_RANGE category. ; _item.name '_struct_sheet_hbond.range_id_2' _item.mandatory_code yes save_ save__struct_sheet_hbond.sheet_id _item_description.description ; This data item is a pointer to _struct_sheet.id in the STRUCT_SHEET category. ; _item.name '_struct_sheet_hbond.sheet_id' _item.mandatory_code yes save_ ######################## ## STRUCT_SHEET_ORDER ## ######################## save_struct_sheet_order _category.description ; Data items in the STRUCT_SHEET_ORDER category record details about the order of the residue ranges that form a beta-sheet. All order links are pairwise and the specified pairs are assumed to be adjacent to one another in the sheet. These data items are an alternative to the STRUCT_SHEET_TOPOLOGY data items and they allow all manner of sheets to be described. ; _category.id struct_sheet_order _category.mandatory_code no loop_ _category_key.name '_struct_sheet_order.sheet_id' '_struct_sheet_order.range_id_1' '_struct_sheet_order.range_id_2' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - simple beta-barrel. ; ; loop_ _struct_sheet_order.sheet_id _struct_sheet_order.range_id_1 _struct_sheet_order.range_id_2 _struct_sheet_order.offset _struct_sheet_order.sense sheet_1 strand_a strand_b +1 parallel sheet_1 strand_b strand_c +1 parallel sheet_1 strand_c strand_d +1 parallel sheet_1 strand_d strand_e +1 parallel sheet_1 strand_e strand_f +1 parallel sheet_1 strand_f strand_g +1 parallel sheet_1 strand_g strand_h +1 parallel sheet_1 strand_h strand_a +1 parallel ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - five stranded mixed-sense sheet with one two-piece strand. ; ; loop_ _struct_sheet_order.sheet_id _struct_sheet_order.range_id_1 _struct_sheet_order.range_id_2 _struct_sheet_order.offset _struct_sheet_order.sense sheet_2 strand_a strand_b +1 anti-parallel sheet_2 strand_b strand_c +1 parallel sheet_2 strand_c strand_d1 +1 anti-parallel sheet_2 strand_c strand_d2 +1 anti-parallel sheet_2 strand_d1 strand_e +1 anti-parallel sheet_2 strand_d2 strand_e +1 anti-parallel ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_sheet_order.offset _item_description.description ; Designates the relative position in the sheet, plus or minus, of the second residue range to the first. ; _item.name '_struct_sheet_order.offset' _item.category_id struct_sheet_order _item.mandatory_code no _item_type.code int save_ save__struct_sheet_order.range_id_1 _item_description.description ; This data item is a pointer to _struct_sheet_range.id in the STRUCT_SHEET_RANGE category. ; _item.name '_struct_sheet_order.range_id_1' _item.mandatory_code yes save_ save__struct_sheet_order.range_id_2 _item_description.description ; This data item is a pointer to _struct_sheet_range.id in the STRUCT_SHEET_RANGE category. ; _item.name '_struct_sheet_order.range_id_2' _item.mandatory_code yes save_ save__struct_sheet_order.sense _item_description.description ; A flag to indicate whether the two designated residue ranges are parallel or antiparallel to one another. ; _item.name '_struct_sheet_order.sense' _item.category_id struct_sheet_order _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value 'parallel' 'anti-parallel' save_ save__struct_sheet_order.sheet_id _item_description.description ; This data item is a pointer to _struct_sheet.id in the STRUCT_SHEET category. ; _item.name '_struct_sheet_order.sheet_id' _item.mandatory_code yes save_ ######################## ## STRUCT_SHEET_RANGE ## ######################## save_struct_sheet_range _category.description ; Data items in the STRUCT_SHEET_RANGE category record details about the residue ranges that form a beta-sheet. Residues are included in a range if they made beta-sheet-type hydrogen-bonding interactions with at least one adjacent strand and if there are at least two residues in the range. ; _category.id struct_sheet_range _category.mandatory_code no loop_ _category_key.name '_struct_sheet_range.sheet_id' '_struct_sheet_range.id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - simple beta-barrel. ; ; loop_ _struct_sheet_range.sheet_id _struct_sheet_range.id _struct_sheet_range.beg_label_comp_id _struct_sheet_range.beg_label_asym_id _struct_sheet_range.beg_label_seq_id _struct_sheet_range.end_label_comp_id _struct_sheet_range.end_label_asym_id _struct_sheet_range.end_label_seq_id _struct_sheet_range.symmetry sheet_1 strand_a ala A 20 ala A 30 1_555 sheet_1 strand_b ala A 40 ala A 50 1_555 sheet_1 strand_c ala A 60 ala A 70 1_555 sheet_1 strand_d ala A 80 ala A 90 1_555 sheet_1 strand_e ala A 100 ala A 110 1_555 sheet_1 strand_f ala A 120 ala A 130 1_555 sheet_1 strand_g ala A 140 ala A 150 1_555 sheet_1 strand_h ala A 160 ala A 170 1_555 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - five stranded mixed-sense sheet with one two-piece strand. ; ; loop_ _struct_sheet_range.sheet_id _struct_sheet_range.id _struct_sheet_range.beg_label_comp_id _struct_sheet_range.beg_label_asym_id _struct_sheet_range.beg_label_seq_id _struct_sheet_range.end_label_comp_id _struct_sheet_range.end_label_asym_id _struct_sheet_range.end_label_seq_id _struct_sheet_range.symmetry sheet_2 strand_a ala A 10 ala A 18 1_555 sheet_2 strand_b ala A 110 ala A 119 1_555 sheet_2 strand_c ala A 30 ala A 41 1_555 sheet_2 strand_d1 ala A 50 ala A 52 1_555 sheet_2 strand_d2 ala A 90 ala A 97 1_555 sheet_2 strand_e ala A 70 ala A 80 1_555 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_sheet_range.beg_label_asym_id _item_description.description ; A component of the identifier for the residue at which the beta-sheet range begins. This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_struct_sheet_range.beg_label_asym_id' _item.mandatory_code yes save_ save__struct_sheet_range.beg_label_comp_id _item_description.description ; A component of the identifier for the residue at which the beta-sheet range begins. This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_struct_sheet_range.beg_label_comp_id' _item.mandatory_code yes save_ save__struct_sheet_range.beg_label_seq_id _item_description.description ; A component of the identifier for the residue at which the beta-sheet range begins. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_sheet_range.beg_label_seq_id' _item.mandatory_code yes save_ save__struct_sheet_range.end_label_asym_id _item_description.description ; A component of the identifier for the residue at which the beta-sheet range ends. This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_struct_sheet_range.end_label_asym_id' _item.mandatory_code yes save_ save__struct_sheet_range.end_label_comp_id _item_description.description ; A component of the identifier for the residue at which the beta-sheet range ends. This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_struct_sheet_range.end_label_comp_id' _item.mandatory_code yes save_ save__struct_sheet_range.end_label_seq_id _item_description.description ; A component of the identifier for the residue at which the beta-sheet range ends. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_sheet_range.end_label_seq_id' _item.mandatory_code yes save_ save__struct_sheet_range.beg_auth_asym_id _item_description.description ; A component of the identifier for the residue at which the beta-sheet range begins. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_struct_sheet_range.beg_auth_asym_id' _item.mandatory_code no save_ save__struct_sheet_range.beg_auth_comp_id _item_description.description ; A component of the identifier for the residue at which the beta-sheet range begins. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_struct_sheet_range.beg_auth_comp_id' _item.mandatory_code no save_ save__struct_sheet_range.beg_auth_seq_id _item_description.description ; A component of the identifier for the residue at which the beta-sheet range begins. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_sheet_range.beg_auth_seq_id' _item.mandatory_code no save_ save__struct_sheet_range.end_auth_asym_id _item_description.description ; A component of the identifier for the residue at which the beta-sheet range ends. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_struct_sheet_range.end_auth_asym_id' _item.mandatory_code no save_ save__struct_sheet_range.end_auth_comp_id _item_description.description ; A component of the identifier for the residue at which the beta-sheet range ends. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_struct_sheet_range.end_auth_comp_id' _item.mandatory_code no save_ save__struct_sheet_range.end_auth_seq_id _item_description.description ; A component of the identifier for the residue at which the beta-sheet range ends. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_sheet_range.end_auth_seq_id' _item.mandatory_code no save_ save__struct_sheet_range.id _item_description.description ; The value of _struct_sheet_range.id must uniquely identify a range in a given sheet in the STRUCT_SHEET_RANGE list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_struct_sheet_range.id' struct_sheet_range yes '_struct_sheet_hbond.range_id_1' struct_sheet_hbond yes '_struct_sheet_hbond.range_id_2' struct_sheet_hbond yes '_struct_sheet_order.range_id_1' struct_sheet_order yes '_struct_sheet_order.range_id_2' struct_sheet_order yes '_struct_sheet_topology.range_id_1' struct_sheet_topology yes '_struct_sheet_topology.range_id_2' struct_sheet_topology yes loop_ _item_linked.child_name _item_linked.parent_name '_struct_sheet_hbond.range_id_1' '_struct_sheet_range.id' '_struct_sheet_hbond.range_id_2' '_struct_sheet_range.id' '_struct_sheet_order.range_id_1' '_struct_sheet_range.id' '_struct_sheet_order.range_id_2' '_struct_sheet_range.id' '_struct_sheet_topology.range_id_1' '_struct_sheet_range.id' '_struct_sheet_topology.range_id_2' '_struct_sheet_range.id' _item_type.code code save_ save__struct_sheet_range.sheet_id _item_description.description ; This data item is a pointer to _struct_sheet.id in the STRUCT_SHEET category. ; _item.name '_struct_sheet_range.sheet_id' _item.mandatory_code yes save_ save__struct_sheet_range.symmetry _item_description.description ; Describes the symmetry operation that should be applied to the residues delimited by the start and end designators in order to generate the appropriate strand in this sheet. ; _item.name '_struct_sheet_range.symmetry' _item.category_id struct_sheet_range _item.mandatory_code no # _item_default.value 1_555 _item_type.code symop save_ ########################### ## STRUCT_SHEET_TOPOLOGY ## ########################### save_struct_sheet_topology _category.description ; Data items in the STRUCT_SHEET_TOPOLOGY category record details about the topology of the residue ranges that form a beta-sheet. All topology links are pairwise and the specified pairs are assumed to be successive in the amino-acid sequence. These data items are useful in describing various simple and complex folds, but they become inadequate when the strands in the sheet come from more than one chain. The STRUCT_SHEET_ORDER data items can be used to describe single- and multiple-chain-containing sheets. ; _category.id struct_sheet_topology _category.mandatory_code no loop_ _category_key.name '_struct_sheet_topology.sheet_id' '_struct_sheet_topology.range_id_1' '_struct_sheet_topology.range_id_2' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - simple beta-barrel. ; ; loop_ _struct_sheet_topology.sheet_id _struct_sheet_topology.range_id_1 _struct_sheet_topology.range_id_2 _struct_sheet_topology.offset _struct_sheet_topology.sense sheet_1 strand_a strand_b +1 parallel sheet_1 strand_b strand_c +1 parallel sheet_1 strand_c strand_d +1 parallel sheet_1 strand_d strand_e +1 parallel sheet_1 strand_e strand_f +1 parallel sheet_1 strand_f strand_g +1 parallel sheet_1 strand_g strand_h +1 parallel sheet_1 strand_h strand_a +1 parallel ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - five stranded mixed-sense sheet with one two-piece strand. ; ; loop_ _struct_sheet_topology.sheet_id _struct_sheet_topology.range_id_1 _struct_sheet_topology.range_id_2 _struct_sheet_topology.offset _struct_sheet_topology.sense sheet_2 strand_a strand_c +2 anti-parallel sheet_2 strand_c strand_d1 +1 anti-parallel sheet_2 strand_d1 strand_e +1 anti-parallel sheet_2 strand_e strand_d2 -1 anti-parallel sheet_2 strand_d2 strand_b -2 anti-parallel ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_sheet_topology.offset _item_description.description ; Designates the relative position in the sheet, plus or minus, of the second residue range to the first. ; _item.name '_struct_sheet_topology.offset' _item.category_id struct_sheet_topology _item.mandatory_code no _item_type.code int save_ save__struct_sheet_topology.range_id_1 _item_description.description ; This data item is a pointer to _struct_sheet_range.id in the STRUCT_SHEET_RANGE category. ; _item.name '_struct_sheet_topology.range_id_1' _item.mandatory_code yes save_ save__struct_sheet_topology.range_id_2 _item_description.description ; This data item is a pointer to _struct_sheet_range.id in the STRUCT_SHEET_RANGE category. ; _item.name '_struct_sheet_topology.range_id_2' _item.mandatory_code yes save_ save__struct_sheet_topology.sense _item_description.description ; A flag to indicate whether the two designated residue ranges are parallel or antiparallel to one another. ; _item.name '_struct_sheet_topology.sense' _item.category_id struct_sheet_topology _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value 'parallel' 'anti-parallel' save_ save__struct_sheet_topology.sheet_id _item_description.description ; This data item is a pointer to _struct_sheet.id in the STRUCT_SHEET category. ; _item.name '_struct_sheet_topology.sheet_id' _item.mandatory_code yes save_ ################# ## STRUCT_SITE ## ################# save_struct_site _category.description ; Data items in the STRUCT_SITE category record details about portions of the structure that contribute to structurally relevant sites (e.g. active sites, substrate-binding subsites, metal-coordination sites). ; _category.id struct_site _category.mandatory_code no _category_key.name '_struct_site.id' loop_ _category_group.id 'inclusive_group' 'struct_group' _pdbx_category_description.id struct_site _pdbx_category_description.description "Ligand binding sites. Ligand binding site records are used to annotate the binding environment of any non-polymeric heterogen. SITE records will define any interacting residues, based on a distance cutoff from a ligand. They can be generated by the author and/or by software and an evidence code (_struct_site.pdbx_evidence_code) has been added to identify whether the SITE records is software calculated or author provided." # loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _struct_site.id _struct_site.details 'P2 site C' ; residues with a contact < 3.7 \%A to an atom in the P2 moiety of the inhibitor in the conformation with _struct_asym.id = C ; 'P2 site D' ; residues with a contact < 3.7 \%A to an atom in the P1 moiety of the inhibitor in the conformation with _struct_asym.id = D) ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_site.details _item_description.description ; A description of special aspects of the site. ; _item.name '_struct_site.details' _item.category_id struct_site _item.mandatory_code no _item_type.code text save_ save__struct_site.id _item_description.description ; The value of _struct_site.id must uniquely identify a record in the STRUCT_SITE list. Note that this item need not be a number; it can be any unique identifier. ; loop_ _item.name _item.category_id _item.mandatory_code '_struct_site.id' struct_site yes '_struct_site_gen.site_id' struct_site_gen yes '_struct_site_keywords.site_id' struct_site_keywords yes '_struct_site_view.site_id' struct_site_view yes loop_ _item_linked.child_name _item_linked.parent_name '_struct_site_gen.site_id' '_struct_site.id' '_struct_site_keywords.site_id' '_struct_site.id' '_struct_site_view.site_id' '_struct_site.id' _item_type.code line save_ ##################### ## STRUCT_SITE_GEN ## ##################### save_struct_site_gen _category.description ; Data items in the STRUCT_SITE_GEN category record details about the generation of portions of the structure that contribute to structurally relevant sites. ; _category.id struct_site_gen _category.mandatory_code no loop_ _category_key.name '_struct_site_gen.id' '_struct_site_gen.site_id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _struct_site_gen.id _struct_site_gen.site_id _struct_site_gen.label_comp_id _struct_site_gen.label_asym_id _struct_site_gen.label_seq_id _struct_site_gen.symmetry _struct_site_gen.details 1 1 VAL A 32 1_555 . 2 1 ILE A 47 1_555 . 3 1 VAL A 82 1_555 . 4 1 ILE A 84 1_555 . 5 2 VAL B 232 1_555 . 6 2 ILE B 247 1_555 . 7 2 VAL B 282 1_555 . 8 2 ILE B 284 1_555 . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_description.id struct_site_gen _pdbx_category_description.description 'Ligand binding sites. Ligand binding site records are used to annotate the binding environment of any non-polymeric heterogen. SITE records will define any interacting residues, based on a distance cutoff from a ligand. They can be generated by the author and/or by software and an evidence code (_struct_site.pdbx_evidence_code) has been added to identify whether the SITE records is software calculated or author provided.' save_ save__struct_site_gen.details _item_description.description ; A description of special aspects of the symmetry generation of this portion of the structural site. ; _item.name '_struct_site_gen.details' _item.category_id struct_site_gen _item.mandatory_code no _item_type.code text _item_examples.case ; The zinc atom lies on a special position; application of symmetry elements to generate the insulin hexamer will generate excess zinc atoms, which must be removed by hand. ; save_ save__struct_site_gen.id _item_description.description ; The value of _struct_site_gen.id must uniquely identify a record in the STRUCT_SITE_GEN list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_struct_site_gen.id' _item.category_id struct_site_gen _item.mandatory_code yes _item_type.code line save_ save__struct_site_gen.label_alt_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; _item.name '_struct_site_gen.label_alt_id' _item.mandatory_code no save_ save__struct_site_gen.label_asym_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_struct_site_gen.label_asym_id' _item.mandatory_code yes save_ save__struct_site_gen.label_atom_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; _item.name '_struct_site_gen.label_atom_id' _item.mandatory_code yes save_ save__struct_site_gen.label_comp_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_struct_site_gen.label_comp_id' _item.mandatory_code yes save_ save__struct_site_gen.label_seq_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_site_gen.label_seq_id' _item.mandatory_code yes save_ save__struct_site_gen.auth_asym_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_struct_site_gen.auth_asym_id' _item.mandatory_code no save_ save__struct_site_gen.auth_atom_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_struct_site_gen.auth_atom_id' _item.mandatory_code no save_ save__struct_site_gen.auth_comp_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_struct_site_gen.auth_comp_id' _item.mandatory_code no save_ save__struct_site_gen.auth_seq_id _item_description.description ; A component of the identifier for participants in the site. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_site_gen.auth_seq_id' _item.mandatory_code no save_ save__struct_site_gen.site_id _item_description.description ; This data item is a pointer to _struct_site.id in the STRUCT_SITE category. ; _item.name '_struct_site_gen.site_id' _item.mandatory_code yes save_ save__struct_site_gen.symmetry _item_description.description ; Describes the symmetry operation that should be applied to the atom set specified by _struct_site_gen.label* to generate a portion of the site. ; _item.name '_struct_site_gen.symmetry' _item.category_id struct_site_gen _item.mandatory_code no # _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ ########################## ## STRUCT_SITE_KEYWORDS ## ########################## save_struct_site_keywords _category.description ; Data items in the STRUCT_SITE_KEYWORDS category record keywords describing the site. ; _category.id struct_site_keywords _category.mandatory_code no loop_ _category_key.name '_struct_site_keywords.site_id' '_struct_site_keywords.text' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _struct_site_keywords.site_id _struct_site_keywords.text 'P2 site C' 'binding site' 'P2 site C' 'binding pocket' 'P2 site C' 'P2 site' 'P2 site C' 'P2 pocket' 'P2 site D' 'binding site' 'P2 site D' 'binding pocket' 'P2 site D' 'P2 site' 'P2 site D' 'P2 pocket' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_site_keywords.site_id _item_description.description ; This data item is a pointer to _struct_site.id in the STRUCT_SITE category. ; _item.name '_struct_site_keywords.site_id' _item.mandatory_code yes save_ save__struct_site_keywords.text _item_description.description ; Keywords describing this site. ; _item.name '_struct_site_keywords.text' _item.category_id struct_site_keywords _item.mandatory_code yes _item_type.code text loop_ _item_examples.case 'active site' 'binding pocket' 'Ca coordination' save_ ###################### ## STRUCT_SITE_VIEW ## ###################### save_struct_site_view _category.description ; Data items in the STRUCT_SITE_VIEW category record details about how to draw and annotate an informative view of the site. ; _category.id struct_site_view _category.mandatory_code no _category_key.name '_struct_site_view.id' loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on NDB structure GDL001 by Coll, Aymami, Van Der Marel, Van Boom, Rich & Wang [Biochemistry (1989), 28, 310-320]. ; ; _struct_site_view.id 1 _struct_site_view.rot_matrix[1][1] 0.132 _struct_site_view.rot_matrix[1][2] 0.922 _struct_site_view.rot_matrix[1][3] -0.363 _struct_site_view.rot_matrix[2][1] 0.131 _struct_site_view.rot_matrix[2][2] -0.380 _struct_site_view.rot_matrix[2][3] -0.916 _struct_site_view.rot_matrix[3][1] -0.982 _struct_site_view.rot_matrix[3][2] 0.073 _struct_site_view.rot_matrix[3][3] -0.172 _struct_site_view.details ; This view highlights the site of ATAT-Netropsin interaction. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__struct_site_view.details _item_description.description ; A description of special aspects of this view of the site. This data item can be used as a figure legend. ; _item.name '_struct_site_view.details' _item.category_id struct_site_view _item.mandatory_code no _item_type.code text _item_examples.case ; The active site has been oriented with the specificity pocket on the right and the active site machinery on the left. ; save_ save__struct_site_view.id _item_description.description ; The value of _struct_site_view.id must uniquely identify a record in the STRUCT_SITE_VIEW list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_struct_site_view.id' _item.category_id struct_site_view _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'Figure 1' 'unliganded enzyme' 'view down enzyme active site' save_ save__struct_site_view.rot_matrix[1][1] _item_description.description ; The [1][1] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_SITE_GEN category to an orientation useful for visualizing the site. The conventions used in the rotation are described in _struct_site_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_site_view.rot_matrix[1][1]' _item.category_id struct_site_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_site_view.rot_matrix[1][2] _item_description.description ; The [1][2] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_SITE_GEN category to an orientation useful for visualizing the site. The conventions used in the rotation are described in _struct_site_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_site_view.rot_matrix[1][2]' _item.category_id struct_site_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_site_view.rot_matrix[1][3] _item_description.description ; The [1][3] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_SITE_GEN category to an orientation useful for visualizing the site. The conventions used in the rotation are described in _struct_site_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_site_view.rot_matrix[1][3]' _item.category_id struct_site_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_site_view.rot_matrix[2][1] _item_description.description ; The [2][1] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_SITE_GEN category to an orientation useful for visualizing the site. The conventions used in the rotation are described in _struct_site_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_site_view.rot_matrix[2][1]' _item.category_id struct_site_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_site_view.rot_matrix[2][2] _item_description.description ; The [2][2] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_SITE_GEN category to an orientation useful for visualizing the site. The conventions used in the rotation are described in _struct_site_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_site_view.rot_matrix[2][2]' _item.category_id struct_site_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_site_view.rot_matrix[2][3] _item_description.description ; The [2][3] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_SITE_GEN category to an orientation useful for visualizing the site. The conventions used in the rotation are described in _struct_site_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_site_view.rot_matrix[2][3]' _item.category_id struct_site_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_site_view.rot_matrix[3][1] _item_description.description ; The [3][1] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_SITE_GEN category to an orientation useful for visualizing the site. The conventions used in the rotation are described in _struct_site_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_site_view.rot_matrix[3][1]' _item.category_id struct_site_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_site_view.rot_matrix[3][2] _item_description.description ; The [3][2] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_SITE_GEN category to an orientation useful for visualizing the site. The conventions used in the rotation are described in _struct_site_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_site_view.rot_matrix[3][2]' _item.category_id struct_site_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_site_view.rot_matrix[3][3] _item_description.description ; The [3][3] element of the matrix used to rotate the subset of the Cartesian coordinates in the ATOM_SITE category identified in the STRUCT_SITE_GEN category an orientation useful for visualizing the site. The conventions used in the rotation are described in _struct_site_view.details. |x'| |11 12 13| |x| |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~ |z'| |31 32 33| |z| ; _item.name '_struct_site_view.rot_matrix[3][3]' _item.category_id struct_site_view _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__struct_site_view.site_id _item_description.description ; This data item is a pointer to _struct_site.id in the STRUCT_SITE category. ; _item.name '_struct_site_view.site_id' _item.mandatory_code yes save_ ############## ## SYMMETRY ## ############## save_symmetry _category.description ; Data items in the SYMMETRY category record details about the space-group symmetry. ; _category.id symmetry _category.mandatory_code no _category_key.name '_symmetry.entry_id' loop_ _category_group.id 'inclusive_group' 'symmetry_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; _symmetry.entry_id '5HVP' _symmetry.cell_setting orthorhombic _symmetry.Int_Tables_number 18 _symmetry.space_group_name_H-M 'P 21 21 2' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__symmetry.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_symmetry.entry_id' _item.mandatory_code yes save_ save__symmetry.cell_setting _item_description.description ; The cell settings for this space-group symmetry. ; _item.name '_symmetry.cell_setting' _item.category_id symmetry _item.mandatory_code no _item_aliases.alias_name '_symmetry_cell_setting' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code ucode loop_ _item_enumeration.value triclinic monoclinic orthorhombic tetragonal rhombohedral trigonal hexagonal cubic save_ save__symmetry.Int_Tables_number _item_description.description ; Space-group number from International Tables for Crystallography Vol. A (2002). ; _item.name '_symmetry.Int_Tables_number' _item.category_id symmetry _item.mandatory_code no _item_aliases.alias_name '_symmetry_Int_Tables_number' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__symmetry.space_group_name_Hall _item_description.description ; Space-group symbol as described by Hall (1981). This symbol gives the space-group setting explicitly. Leave spaces between the separate components of the symbol. Ref: Hall, S. R. (1981). Acta Cryst. A37, 517-525; erratum (1981) A37, 921. ; _item.name '_symmetry.space_group_name_Hall' _item.category_id symmetry _item.mandatory_code no _item_aliases.alias_name '_symmetry_space_group_name_Hall' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line loop_ _item_examples.case '-P 2ac 2n' '-R 3 2"' 'P 61 2 2 (0 0 -1)' save_ save__symmetry.space_group_name_H-M _item_description.description ; Hermann-Mauguin space-group symbol. Note that the Hermann-Mauguin symbol does not necessarily contain complete information about the symmetry and the space-group origin. If used, always supply the FULL symbol from International Tables for Crystallography Vol. A (2002) and indicate the origin and the setting if it is not implicit. If there is any doubt that the equivalent positions can be uniquely deduced from this symbol, specify the _symmetry_equiv.pos_as_xyz or _symmetry.space_group_name_Hall data items as well. Leave spaces between symbols referring to different axes. ; _item.name '_symmetry.space_group_name_H-M' _item.category_id symmetry _item.mandatory_code no _item_aliases.alias_name '_symmetry_space_group_name_H-M' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line _pdbx_item_description.name "_symmetry.space_group_name_H-M" _pdbx_item_description.description "The full crystal space-group symbol" loop_ _item_examples.case _item_examples.detail 'A 1' . 'A 1 2 1' . 'A 2' . 'B 1 1 2' . 'B 2' . 'B 2 21 2' . 'C 2' . 'C 1 2 1' . 'C 21' . 'C 1 21 1' . 'C 2(A 112)' . 'C 2 2 2' . 'C 2 2 21' . 'C 4 21 2' . 'F 2 2 2' . 'F 2 3' . 'F 4 2 2' . 'F 4 3 2' . 'F 41 3 2' . 'I 1 2 1' . 'I 1 21 1' . 'I 2' . 'I 2 2 2' . 'I 2 3' . 'I 21' . 'I 21 3' . 'I 21 21 21' . 'I 4' . 'I 4 2 2' . 'I 4 3 2' . 'I 41' . 'I 41/a' . 'I 41 2 2' . 'I 41 3 2' . 'P 1' . 'P 1-' . 'P 2' . 'P 1 2 1' . 'P 1 1 2' . 'P 2 2 2' . 'P 2 3' . 'P 2 2 21' . 'P 2 21 21' . 'P 21' . 'P 1 21 1' . 'P 1 21/c 1' . 'P 1 1 21' . 'P 21(C)' . 'P 21 2 21' . 'P 21 3' . 'P 21 21 2' . 'P 21 21 2 A' . 'P 21 21 21' . 'P 3' . 'P 3 1 2' . 'P 3 2 1' . 'P 31' . 'P 31 1 2' . 'P 31 2 1' . 'P 32' . 'P 32 1 2' . 'P 32 2 1' . 'P 4' . 'P 4 2 2' . 'P 4 3 2' . 'P 4 21 2' . 'P 41' . 'P 41 2 2' . 'P 41 3 2' . 'P 41 21 2' . 'P 42' . 'P 42 2 2' . 'P 42 3 2' . 'P 42 21 2' . 'P 43' . 'P 43 2 2' . 'P 43 3 2' . 'P 43 21 2' . 'P 6' . 'P 6 2 2' . 'P 61' . 'P 61 2 2' . 'P 62' . 'P 62 2 2' . 'P 63' . 'P 63 2 2' . 'P 64' . 'P 64 2 2' . 'P 65' . 'P 65 2 2' . 'H 3' . 'R 3' . 'H 3 2' . 'R 3 2' . loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_symmetry.space_group_name_H-M" "A 1" . "_symmetry.space_group_name_H-M" "A 1 2 1" . "_symmetry.space_group_name_H-M" "A 2" . "_symmetry.space_group_name_H-M" "B 1 1 2" . "_symmetry.space_group_name_H-M" "B 2" . "_symmetry.space_group_name_H-M" "B 2 21 2" . "_symmetry.space_group_name_H-M" "C 1 2 1" . "_symmetry.space_group_name_H-M" "C 1 21 1" . "_symmetry.space_group_name_H-M" "C 2" . "_symmetry.space_group_name_H-M" "C 2 2 2" . "_symmetry.space_group_name_H-M" "C 2 2 21" . "_symmetry.space_group_name_H-M" "C 2(A 112)" . "_symmetry.space_group_name_H-M" "C 21" . "_symmetry.space_group_name_H-M" "C 4 21 2" . "_symmetry.space_group_name_H-M" "F 2 2 2" . "_symmetry.space_group_name_H-M" "F 2 3" . "_symmetry.space_group_name_H-M" "F 4 2 2" . "_symmetry.space_group_name_H-M" "F 4 3 2" . "_symmetry.space_group_name_H-M" "F 41 3 2" . "_symmetry.space_group_name_H-M" "H 3" . "_symmetry.space_group_name_H-M" "H 3 2" . "_symmetry.space_group_name_H-M" "I -4 c 2" . "_symmetry.space_group_name_H-M" "I 1 2 1" . "_symmetry.space_group_name_H-M" "I 1 21 1" . "_symmetry.space_group_name_H-M" "I 2" . "_symmetry.space_group_name_H-M" "I 2 2 2" . "_symmetry.space_group_name_H-M" "I 2 3" . "_symmetry.space_group_name_H-M" "I 21" . "_symmetry.space_group_name_H-M" "I 21 21 21" . "_symmetry.space_group_name_H-M" "I 21 3" . "_symmetry.space_group_name_H-M" "I 4" . "_symmetry.space_group_name_H-M" "I 4 2 2" . "_symmetry.space_group_name_H-M" "I 4 3 2" . "_symmetry.space_group_name_H-M" "I 41" . "_symmetry.space_group_name_H-M" "I 41 2 2" . "_symmetry.space_group_name_H-M" "I 41 3 2" . "_symmetry.space_group_name_H-M" "I 41/a" . "_symmetry.space_group_name_H-M" "P -1" . "_symmetry.space_group_name_H-M" "P 1" . "_symmetry.space_group_name_H-M" "P 1 1 2" . "_symmetry.space_group_name_H-M" "P 1 1 21" . "_symmetry.space_group_name_H-M" "P 1 2 1" . "_symmetry.space_group_name_H-M" "P 1 21 1" . "_symmetry.space_group_name_H-M" "P 1 21/c 1" . "_symmetry.space_group_name_H-M" "P 1 21/n 1" . "_symmetry.space_group_name_H-M" "P 2" . "_symmetry.space_group_name_H-M" "P 2 2 2" . "_symmetry.space_group_name_H-M" "P 2 2 21" . "_symmetry.space_group_name_H-M" "P 2 21 2" . "_symmetry.space_group_name_H-M" "P 2 21 21" . "_symmetry.space_group_name_H-M" "P 2 3" . "_symmetry.space_group_name_H-M" "P 21" . "_symmetry.space_group_name_H-M" "P 21 2 2" . "_symmetry.space_group_name_H-M" "P 21 2 21" . "_symmetry.space_group_name_H-M" "P 21 21 2" . "_symmetry.space_group_name_H-M" "P 21 21 2 A" . "_symmetry.space_group_name_H-M" "P 21 21 21" . "_symmetry.space_group_name_H-M" "P 21 3" . "_symmetry.space_group_name_H-M" "P 21(C)" . "_symmetry.space_group_name_H-M" "P 3" . "_symmetry.space_group_name_H-M" "P 3 1 2" . "_symmetry.space_group_name_H-M" "P 3 2 1" . "_symmetry.space_group_name_H-M" "P 31" . "_symmetry.space_group_name_H-M" "P 31 1 2" . "_symmetry.space_group_name_H-M" "P 31 2 1" . "_symmetry.space_group_name_H-M" "P 32" . "_symmetry.space_group_name_H-M" "P 32 1 2" . "_symmetry.space_group_name_H-M" "P 32 2 1" . "_symmetry.space_group_name_H-M" "P 4" . "_symmetry.space_group_name_H-M" "P 4 2 2" . "_symmetry.space_group_name_H-M" "P 4 21 2" . "_symmetry.space_group_name_H-M" "P 4 3 2" . "_symmetry.space_group_name_H-M" "P 41" . "_symmetry.space_group_name_H-M" "P 41 2 2" . "_symmetry.space_group_name_H-M" "P 41 21 2" . "_symmetry.space_group_name_H-M" "P 41 3 2" . "_symmetry.space_group_name_H-M" "P 42" . "_symmetry.space_group_name_H-M" "P 42 2 2" . "_symmetry.space_group_name_H-M" "P 42 21 2" . "_symmetry.space_group_name_H-M" "P 42 3 2" . "_symmetry.space_group_name_H-M" "P 43" . "_symmetry.space_group_name_H-M" "P 43 2 2" . "_symmetry.space_group_name_H-M" "P 43 21 2" . "_symmetry.space_group_name_H-M" "P 43 3 2" . "_symmetry.space_group_name_H-M" "P 6" . "_symmetry.space_group_name_H-M" "P 6 2 2" . "_symmetry.space_group_name_H-M" "P 61" . "_symmetry.space_group_name_H-M" "P 61 2 2" . "_symmetry.space_group_name_H-M" "P 62" . "_symmetry.space_group_name_H-M" "P 62 2 2" . "_symmetry.space_group_name_H-M" "P 63" . "_symmetry.space_group_name_H-M" "P 63 2 2" . "_symmetry.space_group_name_H-M" "P 64" . "_symmetry.space_group_name_H-M" "P 64 2 2" . "_symmetry.space_group_name_H-M" "P 65" . "_symmetry.space_group_name_H-M" "P 65 2 2" . "_symmetry.space_group_name_H-M" "R 3" . "_symmetry.space_group_name_H-M" "R 3 2" . # save_ #################### ## SYMMETRY_EQUIV ## #################### save_symmetry_equiv _category.description ; Data items in the SYMMETRY_EQUIV category list the symmetry-equivalent positions for the space group. ; _category.id symmetry_equiv _category.mandatory_code no _category_key.name '_symmetry_equiv.id' loop_ _category_group.id 'inclusive_group' 'symmetry_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _symmetry_equiv.id _symmetry_equiv.pos_as_xyz 1 '+x,+y,+z' 2 '-x,-y,z' 3 '1/2+x,1/2-y,-z' 4 '1/2-x,1/2+y,-z' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__symmetry_equiv.id _item_description.description ; The value of _symmetry_equiv.id must uniquely identify a record in the SYMMETRY_EQUIV category. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_symmetry_equiv.id' _item.category_id symmetry_equiv _item.mandatory_code yes _item_aliases.alias_name '_symmetry_equiv_pos_site_id' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code code save_ save__symmetry_equiv.pos_as_xyz _item_description.description ; Symmetry-equivalent position in the 'xyz' representation. Except for the space group P1, these data will be repeated in a loop. The format of the data item is as per International Tables for Crystallography Vol. A (2002). All equivalent positions should be entered, including those for lattice centring and a centre of symmetry, if present. ; _item.name '_symmetry_equiv.pos_as_xyz' _item.category_id symmetry_equiv _item.mandatory_code no _item_aliases.alias_name '_symmetry_equiv_pos_as_xyz' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code line _item_examples.case '-y+x,-y,1/3+z' save_ ### EOF mmcif_std-def-1.dic ########################################################################### # # File: mmcif_std-def-2.dic # # mmCIF Data Dictionary # # This data dictionary contains the standard mmCIF data definitions. # # Defintion Section 2 # # Section 2 contains definitions added to maintain correspondence # with the Core CIF dictionary V2.3 # # # ########################################################################### save__atom_site.adp_type _item_description.description ; A standard code used to describe the type of atomic displacement parameters used for the site. ; _item.name '_atom_site.adp_type' _item.category_id atom_site _item.mandatory_code no _item_type.code code _item_related.related_name '_atom_site.thermal_displace_type' _item_related.function_code alternate loop_ _item_enumeration.value _item_enumeration.detail Uani 'anisotropic Uij' Uiso 'isotropic U' Uovl 'overall U' Umpe 'multipole expansion U' Bani 'anisotropic Bij' Biso 'isotropic B' Bovl 'overall B' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_atom_site_adp_type' cif_core.dic 2.3 save_ save__atom_site.refinement_flags _item_description.description ; A concatenated series of single-letter codes which indicate the refinement restraints or constraints applied to this site. This item should not be used. It has been replaced by _atom_site.refinement_flags_posn, *_adp and *_occupancy. It is retained in this dictionary only to provide compatibility with old CIFs. ; _item.name '_atom_site.refinement_flags' _item.category_id atom_site _item.mandatory_code no _item_type.code code loop_ _item_related.related_name _item_related.function_code '_atom_site.refinement_flags_posn' replaces '_atom_site.refinement_flags_adp' replaces '_atom_site.refinement_flags_occupancy' replaces loop_ _item_enumeration.value _item_enumeration.detail S 'special-position constraint on site' G 'rigid-group refinement of site' R 'riding-atom site attached to non-riding atom' D 'distance or angle restraint on site' T 'thermal displacement constraints' U 'Uiso or Uij restraint (rigid bond)' P 'partial occupancy constraint' # '.' 'no refinement constraints' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_atom_site_refinement_flags' cif_core.dic 2.3 save_ save__atom_site.refinement_flags_adp _item_description.description ; A code which indicates the refinement restraints or constraints applied to the atomic displacement parameters of this site. ; _item.name '_atom_site.refinement_flags_adp' _item.category_id atom_site _item.mandatory_code no _item_type.code code _item_related.related_name '_atom_site.refinement_flags' _item_related.function_code replacedby loop_ _item_enumeration.value _item_enumeration.detail T 'special-position constraints on atomic displacement parameters' U 'Uiso or Uij restraint (rigid bond)' TU 'both constraints applied' # '.' 'no constraints on atomic displacement parameters' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_atom_site_refinement_flags_adp' cif_core.dic 2.3 save_ save__atom_site.refinement_flags_occupancy _item_description.description ; A code which indicates that refinement restraints or constraints were applied to the occupancy of this site. ; _item.name '_atom_site.refinement_flags_occupancy' _item.category_id atom_site _item.mandatory_code no _item_type.code code _item_related.related_name '_atom_site.refinement_flags' _item_related.function_code replacedby loop_ _item_enumeration.value _item_enumeration.detail P 'site-occupancy constraint' # '.' 'no constraints on site-occupancy parameters' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_atom_site_refinement_flags_occupancy' cif_core.dic 2.3 save_ save__atom_site.refinement_flags_posn _item_description.description ; A code which indicates the refinement restraints or constraints applied to the positional coordinates of this site. ; _item.name '_atom_site.refinement_flags_posn' _item.category_id atom_site _item.mandatory_code no _item_type.code code _item_related.related_name '_atom_site.refinement_flags' _item_related.function_code replacedby loop_ _item_enumeration.value _item_enumeration.detail D 'distance or angle restraint on positional coordinates' G 'rigid-group refinement of positional coordinates' R 'riding-atom site attached to non-riding atom' S 'special-position constraint on positional coordinates' DG 'combination of the above constraints' DR 'combination of the above constraints' DS 'combination of the above constraints' GR 'combination of the above constraints' GS 'combination of the above constraints' RS 'combination of the above constraints' DGR 'combination of the above constraints' DGS 'combination of the above constraints' DRS 'combination of the above constraints' GRS 'combination of the above constraints' DGRS 'combination of the above constraints' # '.' 'no constraints on positional coordinates' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_atom_site_refinement_flags_posn' cif_core.dic 2.3 save_ save__atom_sites.special_details _item_description.description ; Additional information about the atomic coordinates not coded elsewhere in the CIF. ; _item.name '_atom_sites.special_details' _item.category_id atom_sites _item.mandatory_code no _item_type.code text loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_atom_sites_special_details' cif_core.dic 2.3 save_ save__atom_type.scat_dispersion_source _item_description.description ; Reference to the source of the real and imaginary dispersion corrections for scattering factors used for this atom type. ; _item.name '_atom_type.scat_dispersion_source' _item.category_id atom_type _item.mandatory_code no _item_type.code text _item_examples.case 'International Tables Vol. IV Table 2.3.1' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_atom_type_scat_dispersion_source' cif_core.dic 2.3 save_ ################ ## AUDIT_LINK ## ################ save_audit_link _category.description ; Data items in the AUDIT_LINK category record details about the relationships between data blocks in the current CIF. ; _category.id 'audit_link' _category.mandatory_code no loop_ _category_key.name '_audit_link.block_code' '_audit_link.block_description' loop_ _category_group.id 'inclusive_group' 'audit_group' loop_ _category_examples.case _category_examples.detail # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; loop_ _audit_link.block_code _audit_link.block_description morA_pub 'discursive text of paper with two structures' morA_(1) 'structure 1 of 2' morA_(2) 'structure 2 of 2' ; ; Example 1 - multiple structure paper, as illustrated in A Guide to CIF for Authors (1995). IUCr: Chester. ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; loop_ _audit_link.block_code _audit_link.block_description KSE_PUB 'publication details' KSE_COM 'experimental data common to ref./mod. structures' KSE_REF 'reference structure' KSE_MOD 'modulated structure' ; ; Example 2 - example file for the one-dimensional incommensurately modulated structure of K~2~SeO~4~. ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__audit_link.block_code _item_description.description ; The value of _audit_block.code associated with a data block in the current file related to the current data block. The special value '.' may be used to refer to the current data block for completeness. ; _item.name '_audit_link.block_code' _item.category_id audit_link _item.mandatory_code yes _item_type.code code loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_audit_link_block_code' cif_core.dic 2.3 save_ save__audit_link.block_description _item_description.description ; A textual description of the relationship of the referenced data block to the current one. ; _item.name '_audit_link.block_description' _item.category_id audit_link _item.mandatory_code yes _item_type.code text loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_audit_link_block_description' cif_core.dic 2.3 save_ ## save__cell.reciprocal_angle_alpha _item_description.description ; The angle (recip-alpha) defining the reciprocal cell in degrees. (recip-alpha), (recip-alpha) and (recip-alpha) related to the angles in the real cell by: cos(recip-alpha) = [cos(beta)*cos(gamma) - cos(alpha)]/[sin(beta)*sin(gamma)] cos(recip-beta) = [cos(gamma)*cos(alpha) - cos(beta)]/[sin(gamma)*sin(alpha)] cos(recip-gamma) = [cos(alpha)*cos(beta) - cos(gamma)]/[sin(alpha)*sin(beta)] Ref: Buerger, M. J. (1942). X-ray Crystallography, p. 360. New York: John Wiley & Sons Inc. ; _item.name '_cell.reciprocal_angle_alpha' _item.category_id cell _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 180.0 180.0 180.0 _item_default.value 90.0 _item_type_conditions.code esd _item_units.code 'degrees' _item_related.related_name '_cell.reciprocal_angle_alpha_esd' _item_related.function_code associated_esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_cell_reciprocal_angle_alpha' cif_core.dic 2.3 save_ save__cell.reciprocal_angle_beta _item_description.description ; The angle (recip-beta) defining the reciprocal cell in degrees. (recip-alpha), (recip-alpha) and (recip-alpha) related to the angles in the real cell by: cos(recip-alpha) = [cos(beta)*cos(gamma) - cos(alpha)]/[sin(beta)*sin(gamma)] cos(recip-beta) = [cos(gamma)*cos(alpha) - cos(beta)]/[sin(gamma)*sin(alpha)] cos(recip-gamma) = [cos(alpha)*cos(beta) - cos(gamma)]/[sin(alpha)*sin(beta)] Ref: Buerger, M. J. (1942). X-ray Crystallography, p. 360. New York: John Wiley & Sons Inc. ; _item.name '_cell.reciprocal_angle_beta' _item.category_id cell _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 180.0 180.0 180.0 _item_default.value 90.0 _item_type_conditions.code esd _item_units.code 'degrees' _item_related.related_name '_cell.reciprocal_angle_beta_esd' _item_related.function_code associated_esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_cell_reciprocal_angle_beta' cif_core.dic 2.3 save_ # save__cell.reciprocal_angle_gamma _item_description.description ; The angle (recip-gamma) defining the reciprocal cell in degrees. (recip-alpha), (recip-alpha) and (recip-alpha) related to the angles in the real cell by: cos(recip-alpha) = [cos(beta)*cos(gamma) - cos(alpha)]/[sin(beta)*sin(gamma)] cos(recip-beta) = [cos(gamma)*cos(alpha) - cos(beta)]/[sin(gamma)*sin(alpha)] cos(recip-gamma) = [cos(alpha)*cos(beta) - cos(gamma)]/[sin(alpha)*sin(beta)] Ref: Buerger, M. J. (1942). X-ray Crystallography, p. 360. New York: John Wiley & Sons Inc. ; _item.name '_cell.reciprocal_angle_gamma' _item.category_id cell _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 180.0 180.0 180.0 _item_default.value 90.0 _item_type_conditions.code esd _item_units.code 'degrees' _item_related.related_name '_cell.reciprocal_angle_gamma_esd' _item_related.function_code associated_esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_cell_reciprocal_angle_gamma' cif_core.dic 2.3 save_ # save__cell.reciprocal_angle_alpha_esd _item_description.description ; The estimated standard deviation of _cell.reciprocal_angle_alpha. ; _item.name '_cell.reciprocal_angle_alpha_esd' _item.category_id cell _item.mandatory_code no _item_type.code float _item_units.code 'degrees' _item_related.related_name '_cell.reciprocal_angle_alpha' _item_related.function_code associated_value # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_cell_reciprocal_angle_alpha_esd' cif_core.dic 2.3 save_ # save__cell.reciprocal_angle_beta_esd _item_description.description ; The estimated standard deviation of _cell.reciprocal_angle_beta. ; _item.name '_cell.reciprocal_angle_beta_esd' _item.category_id cell _item.mandatory_code no _item_type.code float _item_units.code 'degrees' _item_related.related_name '_cell.reciprocal_angle_beta' _item_related.function_code associated_value # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_cell_reciprocal_angle_beta_esd' cif_core.dic 2.3 save_ # save__cell.reciprocal_angle_gamma_esd _item_description.description ; The estimated standard deviation of _cell.reciprocal_angle_gamma. ; _item.name '_cell.reciprocal_angle_gamma_esd' _item.category_id cell _item.mandatory_code no _item_type.code float _item_units.code 'degrees' _item_related.related_name '_cell.reciprocal_angle_gamma' _item_related.function_code associated_value # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_cell_reciprocal_angle_gamma_esd' cif_core.dic 2.3 save_ # save__cell.reciprocal_length_a _item_description.description ; The reciprocal cell length (recip-a) in inverse Angstroms. (recip-a), (recip-b) and (recip-c) are related to the real cell by the following equation: recip-a = b*c*sin(alpha)/V recip-b = c*a*sin(beta)/V recip-c = a*b*sin(gamma)/V where V is the cell volume. Ref: Buerger, M. J. (1942). X-ray Crystallography, p. 360. New York: John Wiley & Sons Inc. ; _item.name '_cell.reciprocal_length_a' _item.category_id cell _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'reciprocal_angstroms' _item_type_conditions.code esd _item_related.related_name '_cell.reciprocal_length_a_esd' _item_related.function_code associated_esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_cell_reciprocal_length_a' cif_core.dic 2.3 save_ save__cell.reciprocal_length_b _item_description.description ; The reciprocal cell length (recip-b) in inverse Angstroms. (recip-a), (recip-b) and (recip-c) are related to the real cell by the following equation: recip-a = b*c*sin(alpha)/V recip-b = c*a*sin(beta)/V recip-c = a*b*sin(gamma)/V where V is the cell volume. Ref: Buerger, M. J. (1942). X-ray Crystallography, p. 360. New York: John Wiley & Sons Inc. ; _item.name '_cell.reciprocal_length_b' _item.category_id cell _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'reciprocal_angstroms' _item_type_conditions.code esd _item_related.related_name '_cell.reciprocal_length_b_esd' _item_related.function_code associated_esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_cell_reciprocal_length_b' cif_core.dic 2.3 save_ save__cell.reciprocal_length_c _item_description.description ; The reciprocal cell length (recip-c) in inverse Angstroms. (recip-a), (recip-b) and (recip-c) are related to the real cell by the following equation: recip-a = b*c*sin(alpha)/V recip-b = c*a*sin(beta)/V recip-c = a*b*sin(gamma)/V where V is the cell volume. Ref: Buerger, M. J. (1942). X-ray Crystallography, p. 360. New York: John Wiley & Sons Inc. ; _item.name '_cell.reciprocal_length_c' _item.category_id cell _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'reciprocal_angstroms' _item_type_conditions.code esd _item_related.related_name '_cell.reciprocal_length_c_esd' _item_related.function_code associated_esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_cell_reciprocal_length_c' cif_core.dic 2.3 save_ save__cell.reciprocal_length_a_esd _item_description.description ; The estimated standard deviation of _cell.reciprocal_length_a. ; _item.name '_cell.reciprocal_length_a_esd' _item.category_id cell _item.mandatory_code no _item_type.code float _item_units.code 'reciprocal_angstroms' _item_related.related_name '_cell.reciprocal_length_a' _item_related.function_code associated_value # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_cell_reciprocal_length_a_esd' cif_core.dic 2.3 save_ save__cell.reciprocal_length_b_esd _item_description.description ; The estimated standard deviation of _cell.reciprocal_length_b. ; _item.name '_cell.reciprocal_length_b_esd' _item.category_id cell _item.mandatory_code no _item_type.code float _item_units.code 'reciprocal_angstroms' _item_related.related_name '_cell.reciprocal_length_b' _item_related.function_code associated_value # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_cell_reciprocal_length_b_esd' cif_core.dic 2.3 save_ save__cell.reciprocal_length_c_esd _item_description.description ; The estimated standard deviation of _cell.reciprocal_length_c. ; _item.name '_cell.reciprocal_length_c_esd' _item.category_id cell _item.mandatory_code no _item_type.code float _item_units.code 'reciprocal_angstroms' _item_related.related_name '_cell.reciprocal_length_c' _item_related.function_code associated_value # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_cell_reciprocal_length_c_esd' cif_core.dic 2.3 save_ # save__cell.special_details # _item_description.description # ; A description of special aspects of the cell choice, noting # possible alternative settings. # ; # _item.name '_cell.special_details' # _item.category_id cell # _item.mandatory_code no # _item_type.code text # loop_ # _item_examples.case # 'pseudo-orthorhombic' # 'standard setting from 45 deg rotation around c' # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_cell_special_details' cif_core.dic 2.3 # save_ # # save__chemical.absolute_configuration _item_description.description ; Necessary conditions for the assignment of _chemical.absolute_configuration are given by H. D. Flack and G. Bernardinelli (1999, 2000). Ref: Flack, H. D. & Bernardinelli, G. (1999). Acta Cryst. A55, 908-915. (http://www.iucr.org/paper?sh0129) Flack, H. D. & Bernardinelli, G. (2000). J. Appl. Cryst. 33, 1143-1148. (http://www.iucr.org/paper?ks0021) ; _item.name '_chemical.absolute_configuration' _item.category_id chemical _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail rm ; absolute configuration established by the structure determination of a compound containing a chiral reference molecule of known absolute configuration ; ad ; absolute configuration established by anomalous-dispersion effects in diffraction measurements on the crystal ; rmad ; absolute configuration established by the structure determination of a compound containing a chiral reference molecule of known absolute configuration and confirmed by anomalous-dispersion effects in diffraction measurements on the crystal ; syn ; absolute configuration has not been established by anomalous-dispersion effects in diffraction measurements on the crystal. The enantiomer has been assigned by reference to an unchanging chiral centre in the synthetic procedure ; unk ; absolute configuration is unknown, there being no firm chemical evidence for its assignment to hand and it having not been established by anomalous-dispersion effects in diffraction measurements on the crystal. An arbitrary choice of enantiomer has been made ; # '.' 'inapplicable' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_chemical_absolute_configuration' cif_core.dic 2.3 save_ save__chemical.melting_point_gt _item_description.description ; A temperature in kelvins above which the melting point (the temperature at which the crystalline solid changes to a liquid) lies. _chemical.melting_point_gt and _chemical.melting_point_lt allow a range of temperatures to be given. _chemical.melting_point should always be used in preference to these two items whenever possible. ; _item.name '_chemical.melting_point_gt' _item.category_id chemical _item.mandatory_code no _item_type.code float _item_related.related_name '_chemical.melting_point' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code kelvins loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_chemical_melting_point_gt' cif_core.dic 2.3 save_ save__chemical.melting_point_lt _item_description.description ; A temperature in kelvins below which the melting point (the temperature at which the crystalline solid changes to a liquid) lies. _chemical.melting_point_gt and _chemical.melting_point_lt allow a range of temperatures to be given. _chemical.melting_point should always be used in preference to these two items whenever possible. ; _item.name '_chemical.melting_point_lt' _item.category_id chemical _item.mandatory_code no _item_type.code float _item_related.related_name '_chemical.melting_point' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code kelvins loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_chemical_melting_point_lt' cif_core.dic 2.3 save_ save__chemical.optical_rotation _item_description.description ; The optical rotation in solution of the compound is specified in the following format: '[\a]^TEMP^~WAVE~ = SORT (c = CONC, SOLV)' where: TEMP is the temperature of the measurement in degrees Celsius, WAVE is an indication of the wavelength of the light used for the measurement, CONC is the concentration of the solution given as the mass of the substance in g in 100 ml of solution, SORT is the signed value (preceded by a + or a - sign) of 100.\a/(l.c), where \a is the signed optical rotation in degrees measured in a cell of length l in dm and c is the value of CONC as defined above, and SOLV is the chemical formula of the solvent. ; _item.name '_chemical.optical_rotation' _item.category_id chemical _item.mandatory_code no _item_type.code line _item_examples.case '[\a]^25^~D~ = +108 (c = 3.42, CHCl~3~)' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_chemical_optical_rotation' cif_core.dic 2.3 save_ save__chemical.properties_biological _item_description.description ; A free-text description of the biological properties of the material. ; _item.name '_chemical.properties_biological' _item.category_id chemical _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; diverse biological activities including use as a laxative and strong antibacterial activity against S. aureus and weak activity against cyclooxygenase-1 (COX-1) ; ; antibiotic activity against Bacillus subtilis (ATCC 6051) but no significant activity against Candida albicans (ATCC 14053), Aspergillus flavus (NRRL 6541) and Fusarium verticillioides (NRRL 25457) ; ; weakly potent lipoxygenase nonredox inhibitor ; ; no influenza A virus sialidase inhibitory and plaque reduction activities ; ; low toxicity against Drosophila melanogaster ; loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_chemical_properties_biological' cif_core.dic 2.3 save_ save__chemical.properties_physical _item_description.description ; A free-text description of the physical properties of the material. ; _item.name '_chemical.properties_physical' _item.category_id chemical _item.mandatory_code no _item_type.code text loop_ _item_examples.case air-sensitive moisture-sensitive hygroscopic deliquescent oxygen-sensitive photo-sensitive pyrophoric semiconductor 'ferromagnetic at low temperature' 'paramagnetic and thermochromic' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_chemical_properties_physical' cif_core.dic 2.3 save_ save__chemical.temperature_decomposition _item_description.description ; The temperature in kelvins at which the solid decomposes. ; _item.name '_chemical.temperature_decomposition' _item.category_id chemical _item.mandatory_code no _item_type.code float _item_type_conditions.code esd loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code kelvins _item_examples.case 350 _item_related.related_name '_chemical.temperature_decomposition_esd' _item_related.function_code associated_esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_chemical_temperature_decomposition' cif_core.dic 2.3 save_ save__chemical.temperature_decomposition_esd _item_description.description ; The estimated standard deviation of _chemical.temperature_decomposition. ; _item.name '_chemical.temperature_decomposition_esd' _item.category_id chemical _item.mandatory_code no _item_type.code float _item_units.code kelvins _item_related.related_name '_chemical.temperature_decomposition' _item_related.function_code associated_value # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_chemical_temperature_decomposition_esd' cif_core.dic 2.3 save_ save__chemical.temperature_decomposition_gt _item_description.description ; A temperature in kelvins above which the solid is known to decompose. _chemical.temperature_decomposition_gt and _chemical.temperature_decomposition_lt allow a range of temperatures to be given. _chemical.temperature_decomposition should always be used in preference to these two items whenever possible. ; _item.name '_chemical.temperature_decomposition_gt' _item.category_id chemical _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code kelvins _item_related.related_name '_chemical.temperature_decomposition' _item_related.function_code alternate _item_examples.case 350 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_chemical_temperature_decomposition_gt' cif_core.dic 2.3 save_ save__chemical.temperature_decomposition_lt _item_description.description ; A temperature in kelvins below which the solid is known to decompose. _chemical.temperature_decomposition_gt and _chemical.temperature_decomposition_lt allow a range of temperatures to be given. _chemical.temperature_decomposition should always be used in preference to these two items whenever possible. ; _item.name '_chemical.temperature_decomposition_lt' _item.category_id chemical _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code kelvins _item_related.related_name '_chemical.temperature_decomposition' _item_related.function_code alternate _item_examples.case 350 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_chemical_temperature_decomposition_lt' cif_core.dic 2.3 save_ save__chemical.temperature_sublimation _item_description.description ; The temperature in kelvins at which the solid sublimes. ; _item.name '_chemical.temperature_sublimation' _item.category_id chemical _item.mandatory_code no _item_type.code float _item_type_conditions.code esd loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code kelvins _item_examples.case 350 _item_related.related_name '_chemical.temperature_sublimation_esd' _item_related.function_code associated_esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_chemical_temperature_sublimation' cif_core.dic 2.3 save_ save__chemical.temperature_sublimation_esd _item_description.description ; The estimated standard deviation of _chemical.temperature_sublimation. ; _item.name '_chemical.temperature_sublimation_esd' _item.category_id chemical _item.mandatory_code no _item_type.code float _item_units.code kelvins _item_related.related_name '_chemical.temperature_sublimation' _item_related.function_code associated_value # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_chemical_temperature_sublimation_esd' cif_core.dic 2.3 save_ save__chemical.temperature_sublimation_gt _item_description.description ; A temperature in kelvins above which the solid is known to sublime. _chemical.temperature_sublimation_gt and _chemical.temperature_sublimation_lt allow a range of temperatures to be given. _chemical.temperature_sublimation should always be used in preference to these two items whenever possible. ; _item.name '_chemical.temperature_sublimation_gt' _item.category_id chemical _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code kelvins _item_related.related_name '_chemical.temperature_sublimation' _item_related.function_code alternate _item_examples.case 350 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_chemical_temperature_sublimation_gt' cif_core.dic 2.3 save_ save__chemical.temperature_sublimation_lt _item_description.description ; A temperature in kelvins below which the solid is known to sublime. _chemical.temperature_sublimation_gt and _chemical.temperature_sublimation_lt allow a range of temperatures to be given. _chemical.temperature_sublimation should always be used in preference to these two items whenever possible. ; _item.name '_chemical.temperature_sublimation_lt' _item.category_id chemical _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code kelvins _item_related.related_name '_chemical.temperature_sublimation' _item_related.function_code alternate _item_examples.case 350 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_chemical_temperature_sublimation_lt' cif_core.dic 2.3 save_ # save__citation.database_id_CSD _item_description.description ; Identifier ('refcode') of the database record in the Cambridge Structural Database that contains details of the cited structure. ; _item.name '_citation.database_id_CSD' _item.category_id citation _item.mandatory_code no _item_type.code code _item_examples.case LEKKUH loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_citation_database_id_CSD' cif_core.dic 2.3 save_ save__database.CSD_history _item_description.description ; A history of changes made by the Cambridge Crystallographic Data Centre and incorporated into the Cambridge Structural Database (CSD). ; _item.name '_database.CSD_history' _item.category_id database _item.mandatory_code no _item_type.code text loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_database_CSD_history' cif_core.dic 2.3 save_ save__database.code_CAS _item_description.description ; The code assigned by Chemical Abstracts. ; _item.name '_database.code_CAS' _item.category_id database _item.mandatory_code no _item_type.code line loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_database_code_CAS' cif_core.dic 2.3 loop_ _item_related.related_name _item_related.function_code '_database_2.database_id' replacedby '_database_2.database_code' replacedby save_ save__database.code_CSD _item_description.description ; The code assigned by the Cambridge Structural Database. ; _item.name '_database.code_CSD' _item.category_id database _item.mandatory_code no _item_type.code line loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_database_code_CSD' cif_core.dic 2.3 loop_ _item_related.related_name _item_related.function_code '_database_2.database_id' replacedby '_database_2.database_code' replacedby save_ save__database.code_ICSD _item_description.description ; The code assigned by the Inorganic Crystal Structure Database. ; _item.name '_database.code_ICSD' _item.category_id database _item.mandatory_code no _item_type.code line loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_database_code_ICSD' cif_core.dic 2.3 loop_ _item_related.related_name _item_related.function_code '_database_2.database_id' replacedby '_database_2.database_code' replacedby save_ save__database.code_MDF _item_description.description ; The code assigned by the Metals Data File. ; _item.name '_database.code_MDF' _item.category_id database _item.mandatory_code no _item_type.code line loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_database_code_MDF' cif_core.dic 2.3 loop_ _item_related.related_name _item_related.function_code '_database_2.database_id' replacedby '_database_2.database_code' replacedby save_ save__database.code_NBS _item_description.description ; The code assigned by the NBS (NIST) Crystal Data Database. ; _item.name '_database.code_NBS' _item.category_id database _item.mandatory_code no _item_type.code line loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_database_code_NBS' cif_core.dic 2.3 loop_ _item_related.related_name _item_related.function_code '_database_2.database_id' replacedby '_database_2.database_code' replacedby save_ save__database.code_PDB _item_description.description ; The code assigned by the Protein Data Bank. ; _item.name '_database.code_PDB' _item.category_id database _item.mandatory_code no _item_type.code line loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_database_code_PDB' cif_core.dic 2.3 loop_ _item_related.related_name _item_related.function_code '_database_2.database_id' replacedby '_database_2.database_code' replacedby save_ save__database.code_PDF _item_description.description ; The code assigned by the Powder Diffraction File (JCPDS/ICDD). ; _item.name '_database.code_PDF' _item.category_id database _item.mandatory_code no _item_type.code line loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_database_code_PDF' cif_core.dic 2.3 loop_ _item_related.related_name _item_related.function_code '_database_2.database_id' replacedby '_database_2.database_code' replacedby save_ save__database.code_depnum_ccdc_fiz _item_description.description ; Deposition numbers assigned by the Fachinformationszentrum Karlsruhe (FIZ) to files containing structural information archived by the Cambridge Crystallographic Data Centre (CCDC). ; _item.name '_database.code_depnum_ccdc_fiz' _item.category_id database _item.mandatory_code no _item_type.code line loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_database_code_depnum_ccdc_fiz' cif_core.dic 2.3 loop_ _item_related.related_name _item_related.function_code '_database_2.database_id' replacedby '_database_2.database_code' replacedby save_ save__database.code_depnum_ccdc_journal _item_description.description ; Deposition numbers assigned by various journals to files containing structural information archived by the Cambridge Crystallographic Data Centre (CCDC). ; _item.name '_database.code_depnum_ccdc_journal' _item.category_id database _item.mandatory_code no _item_type.code line loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_database_code_depnum_ccdc_journal' cif_core.dic 2.3 loop_ _item_related.related_name _item_related.function_code '_database_2.database_id' replacedby '_database_2.database_code' replacedby save_ save__database.code_depnum_ccdc_archive _item_description.description ; Deposition numbers assigned by the Cambridge Crystallographic Data Centre (CCDC) to files containing structural information archived by the CCDC. ; _item.name '_database.code_depnum_ccdc_archive' _item.category_id database _item.mandatory_code no _item_type.code line loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_database_code_depnum_ccdc_archive' cif_core.dic 2.3 loop_ _item_related.related_name _item_related.function_code '_database_2.database_id' replacedby '_database_2.database_code' replacedby save_ save__diffrn.ambient_pressure _item_description.description ; The mean hydrostatic pressure in kilopascals at which the intensities were measured. ; _item.name '_diffrn.ambient_pressure' _item.category_id diffrn _item.mandatory_code no _item_type.code float _item_type_conditions.code esd loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'kilopascals' _item_related.related_name '_diffrn.ambient_pressure_esd' _item_related.function_code associated_esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_ambient_pressure' cif_core.dic 2.3 save_ save__diffrn.ambient_pressure_esd _item_description.description ; The estimated standard deviation of _diffrn.ambient_pressure. ; _item.name '_diffrn.ambient_pressure_esd' _item.category_id diffrn _item.mandatory_code no _item_type.code float _item_units.code 'kilopascals' _item_related.related_name '_diffrn.ambient_pressure' _item_related.function_code associated_value # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_diffrn_ambient_pressure' cif_core.dic 2.3 save_ save__diffrn.ambient_pressure_gt _item_description.description ; The mean hydrostatic pressure in kilopascals above which the intensities were measured. _diffrn.ambient_pressure_gt and _diffrn.ambient_pressure_lt allow a pressure range to be given. _diffrn.ambient_pressure should always be used in preference to these two items whenever possible. ; _item.name '_diffrn.ambient_pressure_gt' _item.category_id diffrn _item.mandatory_code no _item_type.code float _item_related.related_name '_diffrn.ambient_pressure' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'kilopascals' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_ambient_pressure_gt' cif_core.dic 2.3 save_ save__diffrn.ambient_pressure_lt _item_description.description ; The mean hydrostatic pressure in kilopascals below which the intensities were measured. _diffrn.ambient_pressure_gt and _diffrn.ambient_pressure_lt allow a pressure range to be given. _diffrn.ambient_pressure should always be used in preference to these two items whenever possible. ; _item.name '_diffrn.ambient_pressure_lt' _item.category_id diffrn _item.mandatory_code no _item_type.code float _item_related.related_name '_diffrn.ambient_pressure' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'kilopascals' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_ambient_pressure_lt' cif_core.dic 2.3 save_ # save__diffrn.ambient_temperature # _item_description.description # ; The mean temperature in kelvins at which the intensities # were measured. # ; # _item.name '_diffrn.ambient_temperature' # _item.category_id diffrn # _item.mandatory_code no # _item_type.code float # _item_type_conditions.code esd # loop_ # _item_range.minimum # _item_range.maximum # 0.0 0.0 # 0.0 . # _item_units.code kelvins # _item_related.related_name '_diffrn.ambient_temperature_esd' # _item_related.function_code associated_esd # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_diffrn_ambient_temperature' cif_core.dic 2.3 # save_ #save__diffrn.ambient_temperature_esd # _item_description.description #; The estimated standard deviation of _diffrn.ambient_temp. #; # _item.name '_diffrn.ambient_temperature_esd' # _item.category_id diffrn # _item.mandatory_code no # _item_type.code float # _item_units.code kelvins # _item_related.related_name '_diffrn.ambient_temp' # _item_related.function_code associated_value # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_diffrn_ambient_temperature_esd' cif_core.dic 2.3 # save_ save__diffrn.ambient_temp_gt _item_description.description ; The mean temperature in kelvins above which the intensities were measured. _diffrn.ambient_temp_gt and _diffrn.ambient_temp_lt allow a range of temperatures to be given. _diffrn.ambient_temp should always be used in preference to these two items whenever possible. ; _item.name '_diffrn.ambient_temp_gt' _item.category_id diffrn _item.mandatory_code no _item_type.code float _item_related.related_name '_diffrn.ambient_temp' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code kelvins loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_ambient_temperature_gt' cif_core.dic 2.3 save_ save__diffrn.ambient_temp_lt _item_description.description ; The mean temperature in kelvins below which the intensities were measured. _diffrn.ambient_temp_gt and _diffrn.ambient_temp_lt allow a range of temperatures to be given. _diffrn.ambient_temp should always be used in preference to these two items whenever possible. ; _item.name '_diffrn.ambient_temp_lt' _item.category_id diffrn _item.mandatory_code no _item_type.code float _item_related.related_name '_diffrn.ambient_temp' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code kelvins loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_ambient_temperature_lt' cif_core.dic 2.3 save_ save__diffrn_attenuator.material _item_description.description ; Material from which the attenuator is made. ; _item.name '_diffrn_attenuator.material' _item.category_id diffrn_attenuator _item.mandatory_code no _item_type.code text loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_attenuator_material' cif_core.dic 2.3 save_ save__diffrn_detector.area_resol_mean _item_description.description ; The resolution of an area detector, in pixels/mm. ; _item.name '_diffrn_detector.area_resol_mean' _item.category_id diffrn_detector _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'pixels_per_millimetre' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_detector_area_resol_mean' cif_core.dic 2.3 save_ save__diffrn_detector.dtime _item_description.description ; The deadtime in microseconds of the detector used to measure the diffraction intensities. ; _item.name '_diffrn_detector.dtime' _item.category_id diffrn_detector _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . # _item_related.related_name '_diffrn_radiation_detector.dtime' # _item_related.function_code alternate loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_detector_dtime' cif_core.dic 2.3 save_ save__diffrn_refln.class_code _item_description.description ; The code identifying the class to which this reflection has been assigned. This code must match a value of _diffrn_reflns_class.code. Reflections may be grouped into classes for a variety of purposes. For example, for modulated structures each reflection class may be defined by the number m=sum|m~i~|, where the m~i~ are the integer coefficients that, in addition to h,k,l, index the corresponding diffraction vector in the basis defined for the reciprocal lattice. ; _item.name '_diffrn_refln.class_code' _item.category_id diffrn_refln _item.mandatory_code no _item_type.code code loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_refln_class_code' cif_core.dic 2.3 save_ save__diffrn_refln.intensity_u _item_description.description ; Standard uncertainty of the net intensity calculated from the diffraction counts after the attenuator and standard scales have been applied. ; _item.name '_diffrn_refln.intensity_u' _item.category_id diffrn_refln _item.mandatory_code no _item_type.code float _item_related.related_name '_diffrn_refln.intensity_sigma' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_refln_intensity_u' cif_core.dic 2.3 save_ save__diffrn_reflns.av_unetI/netI _item_description.description ; Measure [sum u(net I)|/sum|net I|] for all measured reflections. ; _item.name '_diffrn_reflns.av_unetI/netI' _item.category_id diffrn_reflns _item.mandatory_code no _item_type.code float # _item_related.related_name '_diffrn_reflns.av_sigmaI/netI' # _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_reflns_av_unetI/netI' cif_core.dic 2.3 save_ ######################### ## DIFFRN_REFLNS_CLASS ## ######################### save_diffrn_reflns_class _category.description ; Data items in the DIFFRN_REFLNS_CLASS category record details about the classes of reflections measured in the diffraction experiment. ; _category.id 'diffrn_reflns_class' _category.mandatory_code no _category_key.name '_diffrn_reflns_class.code' loop_ _category_group.id 'inclusive_group' 'diffrn_group' loop_ _category_examples.case _category_examples.detail # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; loop_ _diffrn_reflns_class.number _diffrn_reflns_class.d_res_high _diffrn_reflns_class.d_res_low _diffrn_reflns_class.av_R_eq _diffrn_reflns_class.code _diffrn_reflns_class.description 1580 0.551 6.136 0.015 'Main' 'm=0; main reflections' 1045 0.551 6.136 0.010 'Sat1' 'm=1; first-order satellites' ; ; Example 1 - example corresponding to the one-dimensional incommensurately modulated structure of K~2~SeO~4~. Each reflection class is defined by the number m=sum|m~i~|, where the m~i~ are the integer coefficients that, in addition to h,k,l, index the corresponding diffraction vector in the basis defined for the reciprocal lattice. ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__diffrn_reflns_class.av_R_eq _item_description.description ; For each reflection class, the residual [sum av|del(I)|/sum|av(I)|] for symmetry-equivalent reflections used to calculate the average intensity av(I). The av|del(I)| term is the average absolute difference between av(I) and the individual intensities. ; _item.name '_diffrn_reflns_class.av_R_eq' _item.category_id diffrn_reflns_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_reflns_class_av_R_eq' cif_core.dic 2.3 save_ save__diffrn_reflns_class.av_sgI/I _item_description.description ; Measure [sum|sigma(net I)|/sum|net I|] for all measured intensities in a reflection class. ; _item.name '_diffrn_reflns_class.av_sgI/I' _item.category_id diffrn_reflns_class _item.mandatory_code no _item_type.code float _item_related.related_name '_diffrn_reflns_class.av_uI/I' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_reflns_class_av_sgI/I' cif_core.dic 2.3 save_ save__diffrn_reflns_class.av_uI/I _item_description.description ; Measure [sum|u(net I)|/sum|net I|] for all measured intensities in a reflection class. ; _item.name '_diffrn_reflns_class.av_uI/I' _item.category_id diffrn_reflns_class _item.mandatory_code no _item_type.code float _item_related.related_name '_diffrn_reflns_class.av_sgI/I' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_reflns_class_av_uI/I' cif_core.dic 2.3 save_ save__diffrn_reflns_class.code _item_description.description ; The code identifying a certain reflection class. ; _item.name '_diffrn_reflns_class.code' _item.category_id diffrn_reflns_class _item.mandatory_code yes _item_type.code code loop_ _item_examples.case '1' 'm1' 's2' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_reflns_class_code' cif_core.dic 2.3 save_ save__diffrn_reflns_class.description _item_description.description ; Description of each reflection class. ; _item.name '_diffrn_reflns_class.description' _item.category_id diffrn_reflns_class _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'm=1 first order satellites' 'H0L0 common projection reflections' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_reflns_class_description' cif_core.dic 2.3 save_ save__diffrn_reflns_class.d_res_high _item_description.description ; The smallest value in angstroms for the interplanar spacings for the reflections in each measured reflection class. This is called the highest resolution for this reflection class. ; _item.name '_diffrn_reflns_class.d_res_high' _item.category_id diffrn_reflns_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'angstroms' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_reflns_class_d_res_high' cif_core.dic 2.3 save_ save__diffrn_reflns_class.d_res_low _item_description.description ; The largest value in angstroms of the interplanar spacings for the reflections for each measured reflection class. This is called the lowest resolution for this reflection class. ; _item.name '_diffrn_reflns_class.d_res_low' _item.category_id diffrn_reflns_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'angstroms' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_reflns_class_d_res_low' cif_core.dic 2.3 save_ save__diffrn_reflns_class.number _item_description.description ; The total number of measured intensities for each reflection class, excluding the systematic absences arising from centring translations. ; _item.name '_diffrn_reflns_class.number' _item.category_id diffrn_reflns_class _item.mandatory_code no _item_type.code int loop_ _item_range.minimum _item_range.maximum 0 0 0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_reflns_class_number' cif_core.dic 2.3 save_ save__diffrn_source.take-off_angle _item_description.description ; The complement of the angle in degrees between the normal to the surface of the X-ray tube target and the primary X-ray beam for beams generated by traditional X-ray tubes. ; _item.name '_diffrn_source.take-off_angle' _item.category_id diffrn_source _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.00 0.00 0.00 90.0 90.0 90.0 _item_examples.case 1.5 _item_units.code 'degrees' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_source_take-off_angle' cif_core.dic 2.3 save_ save__diffrn_standards.scale_u _item_description.description ; The standard uncertainty of the individual mean standard scales applied to the intensity data. ; _item.name '_diffrn_standards.scale_u' _item.category_id diffrn_standards _item.mandatory_code no _item_type.code float _item_related.related_name '_diffrn_standards.scale_sigma' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_diffrn_standards_scale_u' cif_core.dic 2.3 save_ save__exptl_crystal.colour_lustre _item_description.description ; The enumeration list of standardized names developed for the International Centre for Diffraction Data. The colour of a crystal is given by the combination of _exptl_crystal.colour_modifier with _exptl_crystal.colour_primary, as in 'dark-green' or 'bluish-violet', if necessary combined with _exptl_crystal.colour_lustre, as in 'metallic-green'. ; _item.name '_exptl_crystal.colour_lustre' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value metallic dull clear _item_related.related_name '_exptl_crystal.colour' _item_related.function_code alternate loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_exptl_crystal_colour_lustre' cif_core.dic 2.3 save_ save__exptl_crystal.colour_modifier _item_description.description ; The enumeration list of standardized names developed for the International Centre for Diffraction Data. The colour of a crystal is given by the combination of _exptl_crystal.colour_modifier with _exptl_crystal.colour_primary, as in 'dark-green' or 'bluish-violet', if necessary combined with _exptl_crystal.colour_lustre, as in 'metallic-green'. ; _item.name '_exptl_crystal.colour_modifier' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value light dark whitish blackish grayish brownish reddish pinkish orangish yellowish greenish bluish _item_related.related_name '_exptl_crystal.colour' _item_related.function_code alternate loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_exptl_crystal_colour_modifier' cif_core.dic 2.3 save_ save__exptl_crystal.colour_primary _item_description.description ; The enumeration list of standardized names developed for the International Centre for Diffraction Data. The colour of a crystal is given by the combination of _exptl_crystal.colour_modifier with _exptl_crystal.colour_primary, as in 'dark-green' or 'bluish-violet', if necessary combined with _exptl_crystal.colour_lustre, as in 'metallic-green'. ; _item.name '_exptl_crystal.colour_primary' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value colourless white black gray brown red pink orange yellow green blue violet _item_related.related_name '_exptl_crystal.colour' _item_related.function_code alternate loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_exptl_crystal_colour_primary' cif_core.dic 2.3 save_ save__exptl_crystal.density_meas _item_description.description ; Density values measured using standard chemical and physical methods. The units are megagrams per cubic metre (grams per cubic centimetre). ; _item.name '_exptl_crystal.density_meas' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code float _item_type_conditions.code esd loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'megagrams_per_cubic_metre' _item_related.related_name '_exptl_crystal.density_meas_esd' _item_related.function_code associated_esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_exptl_crystal_density_meas' cif_core.dic 2.3 save_ save__exptl_crystal.density_meas_esd _item_description.description ; The estimated standard deviation of _exptl_crystal.density_meas. ; _item.name '_exptl_crystal.density_meas_esd' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code float _item_units.code 'megagrams_per_cubic_metre' _item_related.related_name '_exptl_crystal.density_meas' _item_related.function_code associated_value # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_exptl_crystal_density_meas_esd' cif_core.dic 2.3 save_ save__exptl_crystal.density_meas_gt _item_description.description ; The value above which the density measured using standard chemical and physical methods lies. The units are megagrams per cubic metre (grams per cubic centimetre). _exptl_crystal.density_meas_gt and _exptl_crystal.density_meas_lt should not be used to report new experimental work, for which _exptl_crystal.density_meas should be used. These items are intended for use in reporting information in existing databases and archives which would be misleading if reported under _exptl_crystal.density_meas. ; _item.name '_exptl_crystal.density_meas_gt' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'megagrams_per_cubic_metre' _item_related.related_name '_exptl_crystal.density_meas' _item_related.function_code alternate loop_ _item_examples.case _item_examples.detail 2.5 ; lower limit for the density (only the range within which the density lies was given in the original paper) ; loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_exptl_crystal_density_meas_gt' cif_core.dic 2.3 save_ save__exptl_crystal.density_meas_lt _item_description.description ; The value below which the density measured using standard chemical and physical methods lies. The units are megagrams per cubic metre (grams per cubic centimetre). _exptl_crystal.density_meas_gt and _exptl_crystal.density_meas_lt should not be used to report new experimental work, for which _exptl_crystal.density_meas should be used. These items are intended for use in reporting information in existing databases and archives which would be misleading if reported under _exptl_crystal.density_meas. ; _item.name '_exptl_crystal.density_meas_lt' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'megagrams_per_cubic_metre' _item_related.related_name '_exptl_crystal.density_meas' _item_related.function_code alternate loop_ _item_examples.case _item_examples.detail 1.0 'specimen floats in water' 5.0 ; upper limit for the density (only the range within which the density lies was given in the original paper) ; loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_exptl_crystal_density_meas_lt' cif_core.dic 2.3 save_ save__exptl_crystal.density_meas_temp _item_description.description ; Temperature in kelvins at which _exptl_crystal.density_meas was determined. ; _item.name '_exptl_crystal.density_meas_temp' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code float _item_type_conditions.code esd loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code kelvins loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_exptl_crystal_density_meas_temp' cif_core.dic 2.3 save_ save__exptl_crystal.density_meas_temp_esd _item_description.description ; The estimated standard deviation of _exptl_crystal.density_meas_temp. ; _item.name '_exptl_crystal.density_meas_temp_esd' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code float _item_units.code kelvins # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_exptl_crystal_density_meas_temp_esd' cif_core.dic 2.3 save_ save__exptl_crystal.density_meas_temp_gt _item_description.description ; Temperature in kelvins above which _exptl_crystal.density_meas was determined. _exptl_crystal.density_meas_temp_gt and _exptl_crystal.density_meas_temp_lt should not be used for reporting new work, for which the correct temperature of measurement should be given. These items are intended for use in reporting information stored in databases or archives which would be misleading if reported under _exptl_crystal.density_meas_temp. ; _item.name '_exptl_crystal.density_meas_temp_gt' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code kelvins _item_related.related_name '_exptl_crystal.density_meas_temp' _item_related.function_code alternate loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_exptl_crystal_density_meas_temp_gt' cif_core.dic 2.3 save_ save__exptl_crystal.density_meas_temp_lt _item_description.description ; Temperature in kelvins below which _exptl_crystal.density_meas was determined. _exptl_crystal.density_meas_temp_gt and _exptl_crystal.density_meas_temp_lt should not be used for reporting new work, for which the correct temperature of measurement should be given. These items are intended for use in reporting information stored in databases or archives which would be misleading if reported under _exptl_crystal.density_meas_temp. ; _item.name '_exptl_crystal.density_meas_temp_lt' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code kelvins _item_related.related_name '_exptl_crystal.density_meas_temp' _item_related.function_code alternate loop_ _item_examples.case _item_examples.detail 300 ; The density was measured at some unspecified temperature below room temperature. ; loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_exptl_crystal_density_meas_temp_lt' cif_core.dic 2.3 save_ save__geom_bond.valence _item_description.description ; The bond valence calculated from _geom_bond.dist. ; _item.name '_geom_bond.valence' _item.category_id geom_bond _item.mandatory_code no _item_type.code int loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_geom_bond_valence' cif_core.dic 2.3 save_ save__publ_author.id_iucr _item_description.description ; Identifier in the IUCr contact database of a publication author. This identifier may be available from the World Directory of Crystallographers (http://wdc.iucr.org). ; _item.name '_publ_author.id_iucr' _item.category_id publ_author _item.mandatory_code no _item_type.code code _item_examples.case 2985 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_publ_author_id_iucr' cif_core.dic 2.3 save_ save__refine.ls_R_factor_gt _item_description.description ; Residual factor for the reflections (with number given by _reflns.number_gt) judged significantly intense (i.e. satisfying the threshold specified by _reflns.threshold_expression) and included in the refinement. The reflections also satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low. This is the conventional R factor. See also _refine.ls_wR_factor_ definitions. sum | F(obs) - F(calc) | R = ------------------------ sum | F(obs) | F(obs) = the observed structure-factor amplitudes F(calc) = the calculated structure-factor amplitudes and the sum is taken over the specified reflections ; _item.name '_refine.ls_R_factor_gt' _item.category_id refine _item.mandatory_code no _item_type.code float _item_related.related_name '_refine.ls_R_factor_obs' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_R_factor_gt' cif_core.dic 2.3 save_ save__refine.ls_goodness_of_fit_gt _item_description.description ; The least-squares goodness-of-fit parameter S for significantly intense reflections (see _reflns.threshold_expression) after the final cycle of refinement. Ideally, account should be taken of parameters restrained in the least-squares refinement. See also _refine.ls_restrained_S_ definitions. { sum { w [ Y(obs) - Y(calc) ]^2^ } }^1/2^ S = { ----------------------------------- } { Nref - Nparam } Y(obs) = the observed coefficients (see _refine_ls_structure_factor_coef) Y(calc) = the calculated coefficients (see _refine_ls_structure_factor_coef) w = the least-squares reflection weight [1/(u^2^)] u = standard uncertainty Nref = the number of reflections used in the refinement Nparam = the number of refined parameters and the sum is taken over the specified reflections ; _item.name '_refine.ls_goodness_of_fit_gt' _item.category_id refine _item.mandatory_code no _item_type.code float _item_related.related_name '_refine.ls_goodness_of_fit_obs' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_goodness_of_fit_gt' cif_core.dic 2.3 save_ save__refine.ls_goodness_of_fit_ref _item_description.description ; The least-squares goodness-of-fit parameter S for all reflections included in the refinement after the final cycle of refinement. Ideally, account should be taken of parameters restrained in the least-squares refinement. See also _refine_ls_restrained_S_ definitions. { sum | w | Y(obs) - Y(calc) |^2^ | }^1/2^ S = { ----------------------------------- } { Nref - Nparam } Y(obs) = the observed coefficients (see _refine_ls_structure_factor_coef) Y(calc) = the calculated coefficients (see _refine_ls_structure_factor_coef) w = the least-squares reflection weight [1/(u^2^)] u = standard uncertainty Nref = the number of reflections used in the refinement Nparam = the number of refined parameters and the sum is taken over the specified reflections ; _item.name '_refine.ls_goodness_of_fit_ref' _item.category_id refine _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_goodness_of_fit_ref' cif_core.dic 2.3 save_ # save__refine.ls_shift/esd_max # _item_description.description # ; The largest ratio of the final least-squares parameter # shift to the final standard uncertainty (s.u., # formerly described as estimated standard deviation, e.s.d.). # ; # _item.name '_refine.ls_shift/esd_max' # _item.category_id refine # _item.mandatory_code no # _item_type.code float # _item_related.related_name '_refine.ls_shift/su_max' # _item_related.function_code replaces # loop_ # _item_range.minimum # _item_range.maximum # 0.0 0.0 # 0.0 . # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_refine_ls_shift/esd_max' cif_core.dic 2.3 # save_ # # save__refine.ls_shift/esd_mean # _item_description.description # ; The average ratio of the final least-squares parameter # shift to the final standard uncertainty (s.u., # formerly described as estimated standard deviation, e.s.d.). # ; # # _item.name '_refine.ls_shift/esd_mean' # _item.category_id refine # _item.mandatory_code no # _item_type.code float # _item_related.related_name '_refine.ls_shift/su_mean' # _item_related.function_code replaces # loop_ # _item_range.minimum # _item_range.maximum # 0.0 0.0 # 0.0 . # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_refine_ls_shift/esd_mean' cif_core.dic 2.3 # save_ save__refine.ls_shift_over_su_max _item_description.description ; The largest ratio of the final least-squares parameter shift to the final standard uncertainty. ; _item.name '_refine.ls_shift_over_su_max' _item.category_id refine _item.mandatory_code no _item_type.code float _item_related.related_name '_refine.ls_shift_over_esd_max' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_shift/su_max' cif_core.dic 2.3 save_ save__refine.ls_shift_over_su_max_lt _item_description.description ; An upper limit for the largest ratio of the final least-squares parameter shift to the final standard uncertainty. This item is used when the largest value of the shift divided by the final standard uncertainty is too small to measure. ; _item.name '_refine.ls_shift_over_su_max_lt' _item.category_id refine _item.mandatory_code no _item_type.code float _item_related.related_name '_refine.ls_shift_over_su_max' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_shift/su_max_lt' cif_core.dic 2.3 save_ save__refine.ls_shift_over_su_mean _item_description.description ; The average ratio of the final least-squares parameter shift to the final standard uncertainty. ; _item.name '_refine.ls_shift_over_su_mean' _item.category_id refine _item.mandatory_code no _item_type.code float _item_related.related_name '_refine.ls_shift_over_esd_mean' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_shift/su_mean' cif_core.dic 2.3 save_ save__refine.ls_shift_over_su_mean_lt _item_description.description ; An upper limit for the average ratio of the final least-squares parameter shift to the final standard uncertainty. This item is used when the average value of the shift divided by the final standard uncertainty is too small to measure. ; _item.name '_refine.ls_shift_over_su_mean_lt' _item.category_id refine _item.mandatory_code no _item_type.code float _item_related.related_name '_refine.ls_shift_over_su_mean' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_shift/su_mean_lt' cif_core.dic 2.3 save_ ##################### ## REFINE_LS_CLASS ## ##################### save_refine_ls_class _category.description ; Data items in the REFINE_LS_CLASS category record details about the reflections used for the structure refinement for each reflection class separately. ; _category.id 'refine_ls_class' _category.mandatory_code no _category_key.name '_refine_ls_class.code' loop_ _category_group.id 'inclusive_group' 'refine_group' loop_ _category_examples.case _category_examples.detail # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; loop_ _refine_ls_class.R_factor_gt _refine_ls_class.code 0.057 'Main' 0.074 'Com' 0.064 'NbRefls' 0.046 'LaRefls' 0.112 'Sat1' 0.177 'Sat2' ; ; Example 1 - data for a modulated structure from van Smaalen [J. Phys. Condens. Matter (1991), 3, 1247-1263]. ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__refine_ls_class.code _item_description.description ; The code identifying a certain reflection class. This code must match a _reflns_class.code. ; _item.name '_refine_ls_class.code' _item.category_id refine_ls_class _item.mandatory_code yes _item_type.code code loop_ _item_examples.case '1' 'm1' 's2' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_class_code' cif_core.dic 2.3 save_ save__refine_ls_class.d_res_high _item_description.description ; For each reflection class, the lowest value in angstroms for the interplanar spacings for the reflections used in the refinement. This is called the highest resolution. ; _item.name '_refine_ls_class.d_res_high' _item.category_id refine_ls_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'angstroms' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_class_d_res_high' cif_core.dic 2.3 save_ save__refine_ls_class.d_res_low _item_description.description ; For each reflection class, the highest value in angstroms for the interplanar spacings for the reflections used in the refinement. This is called the lowest resolution. ; _item.name '_refine_ls_class.d_res_low' _item.category_id refine_ls_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'angstroms' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_class_d_res_low' cif_core.dic 2.3 save_ save__refine_ls_class.R_factor_gt _item_description.description ; For each reflection class, the residual factor for significantly intense reflections (see _reflns.threshold_expression) included in the refinement. The reflections also satisfy the resolution limits established by _refine_ls_class.d_res_high and _refine_ls_class.d_res_low. This is the conventional R factor. See also the definition of _refine_ls_class.wR_factor_all. sum | F(obs) - F(calc) | R = ------------------------ sum | F(obs) | F(obs) = the observed structure-factor amplitudes F(calc) = the calculated structure-factor amplitudes and the sum is taken over the reflections of this class. ; _item.name '_refine_ls_class.R_factor_gt' _item.category_id refine_ls_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_class_R_factor_gt' cif_core.dic 2.3 save_ save__refine_ls_class.R_factor_all _item_description.description ; For each reflection class, the residual factor for all reflections satisfying the resolution limits established by _refine_ls_class.d_res_high and _refine_ls_class.d_res_low. This is the conventional R factor. See also the definition of _refine_ls_class.wR_factor_all. sum | F(obs) - F(calc) | R = ------------------------ sum | F(obs) | F(obs) = the observed structure-factor amplitudes F(calc) = the calculated structure-factor amplitudes and the sum is taken over the reflections of this class. ; _item.name '_refine_ls_class.R_factor_all' _item.category_id refine_ls_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_class_R_factor_all' cif_core.dic 2.3 save_ save__refine_ls_class.R_Fsqd_factor _item_description.description ; For each reflection class, the residual factor R(F^2^) calculated on the squared amplitudes of the observed and calculated structure factors, for the reflections judged significantly intense (i.e. satisfying the threshold specified by _reflns.threshold_expression) and included in the refinement. The reflections also satisfy the resolution limits established by _refine_ls_class.d_res_high and _refine_ls_class.d_res_low. sum | F(obs)^2^ - F(calc)^2^ | R(Fsqd) = ------------------------------- sum F(obs)^2^ F(obs)^2^ = squares of the observed structure-factor amplitudes F(calc)^2^ = squares of the calculated structure-factor amplitudes and the sum is taken over the reflections of this class. ; _item.name '_refine_ls_class.R_Fsqd_factor' _item.category_id refine_ls_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_class_R_Fsqd_factor' cif_core.dic 2.3 save_ save__refine_ls_class.R_I_factor _item_description.description ; For each reflection class, the residual factor R(I) for the reflections judged significantly intense (i.e. satisfying the threshold specified by _reflns.threshold_expression) and included in the refinement. This is most often calculated in Rietveld refinements against powder data, where it is referred to as R~B~ or R~Bragg~ sum | I(obs) - I(calc) | R(I) = ------------------------ sum | I(obs) | I(obs) = the net observed intensities I(calc) = the net calculated intensities and the sum is taken over the reflections of this class. ; _item.name '_refine_ls_class.R_I_factor' _item.category_id refine_ls_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_class_R_I_factor' cif_core.dic 2.3 save_ save__refine_ls_class.wR_factor_all _item_description.description ; For each reflection class, the weighted residual factor for all reflections included in the refinement. The reflections also satisfy the resolution limits established by _refine_ls_class.d_res_high and _refine_ls_class.d_res_low. See also the _refine_ls_class.R_factor_ definitions. ( sum w [ Y(obs) - Y(calc) ]^2^ )^1/2^ wR = ( ------------------------------ ) ( sum w Y(obs)^2^ ) Y(obs) = the observed amplitude specified by _refine.ls_structure_factor_coef Y(calc) = the calculated amplitude specified by _refine.ls_structure_factor_coef w = the least-squares weight and the sum is taken over the reflections of this class. ; _item.name '_refine_ls_class.wR_factor_all' _item.category_id refine_ls_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine_ls_class_wR_factor_all' cif_core.dic 2.3 save_ save__refln.class_code _item_description.description ; The code identifying the class to which this reflection has been assigned. This code must match a value of _reflns_class.code. Reflections may be grouped into classes for a variety of purposes. For example, for modulated structures each reflection class may be defined by the number m=sum|m~i~|, where the m~i~ are the integer coefficients that, in addition to h,k,l, index the corresponding diffraction vector in the basis defined for the reciprocal lattice. ; _item.name '_refln.class_code' _item.category_id refln _item.mandatory_code no _item_type.code code loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refln_class_code' cif_core.dic 2.3 save_ save__refln.d_spacing _item_description.description ; The d spacing in angstroms for this reflection. This is related to the (sin theta)/lambda value by the expression _refln.d_spacing = 2/(_refln.sint/lambda). ; _item.name '_refln.d_spacing' _item.category_id refln _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'angstroms' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refln_d_spacing' cif_core.dic 2.3 save_ save__refln.include_status _item_description.description ; Classification of a reflection so as to indicate its status with respect to inclusion in the refinement and the calculation of R factors. ; _item.name '_refln.include_status' _item.category_id refln _item.mandatory_code no _item_type.code code _item_related.related_name '_refln.status' _item_related.function_code alternate loop_ _item_enumeration.value _item_enumeration.detail o ; (lower-case letter o for 'observed') satisfies _refine.ls_d_res_high satisfies _refine.ls_d_res_low exceeds _reflns.threshold_expression ; < ; satisfies _refine.ls_d_res_high satisfies _refine.ls_d_res_low does not exceed _reflns.threshold_expression ; - 'systematically absent reflection' x 'unreliable measurement -- not used' h 'does not satisfy _refine.ls_d_res_high' l 'does not satisfy _refine.ls_d_res_low' # _item_default.value o loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refln_include_status' cif_core.dic 2.3 save_ save__refln.mean_path_length_tbar _item_description.description ; Mean path length in millimetres through the crystal for this reflection. ; _item.name '_refln.mean_path_length_tbar' _item.category_id refln _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'millimetres' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refln_mean_path_length_tbar' cif_core.dic 2.3 save_ # save__refln.observed_status # _item_description.description # ; Classification of a reflection so as to indicate its status # with respect to inclusion in refinement and calculation of # R factors. # ; # # _item.name '_refln.observed_status' # _item.category_id refln # _item.mandatory_code no # _item_type.code code # _item_related.related_name '_refln.include_status' # _item_related.function_code replaces # loop_ # _item_enumeration.value # _item_enumeration.detail # o # ; satisfies _refine.ls_d_res_high # satisfies _refine.ls_d_res_low # observed by _reflns_observed_criterion # ; # < # ; satisfies _refine.ls_d_res_high # satisfies _refine.ls_d_res_low # unobserved by _reflns.observed_criterion # ; # - 'systematically absent reflection' # x 'unreliable measurement -- not used' # h 'does not satisfy _refine.ls_d_res_high' # l 'does not satisfy _refine.ls_d_res_low' # # # _item_default.value o # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_refln_observed_status' cif_core.dic 2.3 # save_ # save__refln.sint/lambda # _item_description.description # ; The (sin theta)/lambda value in reciprocal angstroms for this # reflection. # ; # _item.name '_refln.sint/lambda' # _item.category_id refln # _item.mandatory_code no # _item_type.code float # loop_ # _item_range.minimum # _item_range.maximum # 0.0 0.0 # 0.0 . # _item_units.code 'reciprocal_angstroms' # loop_ # _item_aliases.alias_name # _item_aliases.dictionary # _item_aliases.version # '_refln_sint/lambda' cif_core.dic 2.3 # save_ save__reflns.Friedel_coverage _item_description.description ; The proportion of Friedel-related reflections present in the number of 'independent' reflections specified by the item _reflns.number_all. This proportion is calculated as the ratio: [N(Crystal class) - N(Laue symmetry)] / N(Laue symmetry) where, working from the DIFFRN_REFLN list, N(Crystal class) is the number of reflections obtained on averaging under the symmetry of the crystal class N(Laue symmetry) is the number of reflections obtained on averaging under the Laue symmetry. Examples: (a) For centrosymmetric structures, the value of _reflns.Friedel_coverage is necessarily equal to 0.0, as the crystal class is identical to the Laue symmetry. (b) For whole-sphere data for a crystal in the space group P1, _reflns.Friedel_coverage is equal to 1.0, as no reflection h k l is equivalent to -h -k -l in the crystal class and all Friedel pairs {h k l; -h -k -l} have been measured. (c) For whole-sphere data in space group Pmm2, _reflns.Friedel_coverage will be < 1.0 because although reflections h k l and -h -k -l are not equivalent when h k l indices are nonzero, they are when l=0. (d) For a crystal in space group Pmm2, measurements of the two inequivalent octants h >= 0, k >=0, l lead to the same value as in (c), whereas measurements of the two equivalent octants h >= 0, k, l >= 0 will lead to a zero value for _reflns.Friedel_coverage. ; _item.name '_reflns.Friedel_coverage' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 1.0 1.0 1.0 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_Friedel_coverage' cif_core.dic 2.3 save_ save__reflns.number_gt _item_description.description ; The number of reflections in the REFLN list (not the DIFFRN_REFLN list) that are significantly intense, satisfying the criterion specified by _reflns.threshold_expression. This may include Friedel-equivalent reflections (i.e. those which are symmetry-equivalent under the Laue symmetry but inequivalent under the crystal class) according to the nature of the structure and the procedures used. Any special characteristics of the reflections included in the REFLN list should be described using the item _reflns.details. ; _item.name '_reflns.number_gt' _item.category_id reflns _item.mandatory_code no _item_type.code int # _item_related.related_name '_reflns.number_observed' # _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0 0 0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_number_gt' cif_core.dic 2.3 save_ save__reflns.threshold_expression _item_description.description ; The threshold, usually based on multiples of u(I), u(F^2^) or u(F), that serves to identify significantly intense reflections, the number of which is given by _reflns.number_gt. These reflections are used in the calculation of _refine.ls_R_factor_gt. ; _item.name '_reflns.threshold_expression' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns_threshold_expression' _item_aliases.dictionary cif_core.dic _item_aliases.version 2.3 loop_ _item_related.related_name _item_related.function_code '_reflns.observed_criterion' alternate _item_type.code text _item_examples.case 'I>2u(I)' save_ ################## ## REFLNS_CLASS ## ################## save_reflns_class _category.description ; Data items in the REFLNS_CLASS category record details of the reflections used to determine the structural parameters for each reflection class. ; _category.id 'reflns_class' _category.mandatory_code no _category_key.name '_reflns_class.code' loop_ _category_group.id 'inclusive_group' 'refln_group' loop_ _category_examples.case _category_examples.detail # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; loop_ _reflns_class.number_gt _reflns_class.code 584 'Main' 226 'Sat1' 50 'Sat2' ; ; Example 1 - example corresponding to the one-dimensional incommensurately modulated structure of K~2~SeO~4~. ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__reflns_class.code _item_description.description ; The code identifying a certain reflection class. ; _item.name '_reflns_class.code' _item.category_id reflns_class _item.mandatory_code yes _item_type.code code loop_ _item_examples.case '1' 'm1' 's2' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_class_code' cif_core.dic 2.3 save_ save__reflns_class.description _item_description.description ; Description of each reflection class. ; _item.name '_reflns_class.description' _item.category_id reflns_class _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'm=1 first order satellites' 'H0L0 common projection reflections' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_class_description' cif_core.dic 2.3 save_ save__reflns_class.d_res_high _item_description.description ; For each reflection class, the smallest value in angstroms for the interplanar spacings for the reflections used in the refinement. This is called the highest resolution. ; _item.name '_reflns_class.d_res_high' _item.category_id reflns_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'angstroms' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_class_d_res_high' cif_core.dic 2.3 save_ save__reflns_class.d_res_low _item_description.description ; For each reflection class, the largest value in angstroms for the interplanar spacings for the reflections used in the refinement. This is called the lowest resolution. ; _item.name '_reflns_class.d_res_low' _item.category_id reflns_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_units.code 'angstroms' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_class_d_res_low' cif_core.dic 2.3 save_ save__reflns_class.number_gt _item_description.description ; For each reflection class, the number of significantly intense reflections (see _reflns.threshold_expression) in the REFLN list (not the DIFFRN_REFLN list). This may include Friedel- equivalent reflections (i.e. those which are symmetry-equivalent under the Laue symmetry but inequivalent under the crystal class) according to the nature of the structure and the procedures used. Any special characteristics of the reflections included in the REFLN list should be described using the item _reflns.details. ; _item.name '_reflns_class.number_gt' _item.category_id reflns_class _item.mandatory_code no _item_type.code int loop_ _item_range.minimum _item_range.maximum 0 0 0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_class_number_gt' cif_core.dic 2.3 save_ save__reflns_class.number_total _item_description.description ; For each reflection class, the total number of reflections in the REFLN list (not the DIFFRN_REFLN list). This may include Friedel-equivalent reflections (i.e. those which are symmetry-equivalent under the Laue symmetry but inequivalent under the crystal class) according to the nature of the structure and the procedures used. Any special characteristics of the reflections included in the REFLN list should be described using the item _reflns.details. ; _item.name '_reflns_class.number_total' _item.category_id reflns_class _item.mandatory_code no _item_type.code int loop_ _item_range.minimum _item_range.maximum 0 0 0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_class_number_total' cif_core.dic 2.3 save_ save__reflns_class.R_factor_all _item_description.description ; For each reflection class, the residual factor for all reflections included in the refinement. The reflections also satisfy the resolution limits established by _reflns_class.d_res_high and _reflns_class.d_res_low. This is the conventional R factor. See also the definition of _reflns_class.wR_factor_all. sum | F(obs) - F(calc) | R = ------------------------ sum | F(obs) | F(obs) = the observed structure-factor amplitudes F(calc) = the calculated structure-factor amplitudes and the sum is taken over the reflections of this class. ; _item.name '_reflns_class.R_factor_all' _item.category_id reflns_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_class_R_factor_all' cif_core.dic 2.3 save_ save__reflns_class.R_factor_gt _item_description.description ; For each reflection class, the residual factor for significantly intense reflections (see _reflns.threshold_expression) included in the refinement. The reflections also satisfy the resolution limits established by _reflns_class.d_res_high and _reflns_class.d_res_low. This is the conventional R factor. See also the definition of _reflns_class.wR_factor_all. sum | F(obs) - F(calc) | R = ------------------------ sum | F(obs) | F(obs) = the observed structure-factor amplitudes F(calc) = the calculated structure-factor amplitudes and the sum is taken over the reflections of this class. ; _item.name '_reflns_class.R_factor_gt' _item.category_id reflns_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_class_R_factor_gt' cif_core.dic 2.3 save_ save__reflns_class.R_Fsqd_factor _item_description.description ; For each reflection class, the residual factor R(F^2^) calculated on the squared amplitudes of the observed and calculated structure factors for the reflections judged significantly intense (i.e. satisfying the threshold specified by _reflns.threshold_expression) and included in the refinement. The reflections also satisfy the resolution limits established by _reflns_class.d_res_high and _reflns_class.d_res_low. sum | F(obs)^2^ - F(calc)^2^ | R(Fsqd) = ------------------------------- sum F(obs)^2^ F(obs)^2^ = squares of the observed structure-factor amplitudes F(calc)^2^ = squares of the calculated structure-factor amplitudes and the sum is taken over the reflections of this class. ; _item.name '_reflns_class.R_Fsqd_factor' _item.category_id reflns_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_class_R_Fsqd_factor' cif_core.dic 2.3 save_ save__reflns_class.R_I_factor _item_description.description ; For each reflection class, the residual factor R(I) for the reflections judged significantly intense (i.e. satisfying the threshold specified by _reflns.threshold_expression) and included in the refinement. This is most often calculated in Rietveld refinements against powder data, where it is referred to as R~B~ or R~Bragg~. sum | I(obs) - I(calc) | R(I) = ------------------------ sum | I(obs) | I(obs) = the net observed intensities I(calc) = the net calculated intensities and the sum is taken over the reflections of this class. ; _item.name '_reflns_class.R_I_factor' _item.category_id reflns_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_class_R_I_factor' cif_core.dic 2.3 save_ save__reflns_class.wR_factor_all _item_description.description ; For each reflection class, the weighted residual factors for all reflections included in the refinement. The reflections also satisfy the resolution limits established by _reflns_class.d_res_high and _reflns_class.d_res_low. See also _reflns_class.R_factor_ definitions. ( sum w [ Y(obs) - Y(calc) ]^2^ )^1/2^ wR = ( ------------------------------ ) ( sum w Y(obs)^2^ ) Y(obs) = the observed amplitude specified by _refine.ls_structure_factor_coef Y(calc) = the calculated amplitude specified by _refine.ls_structure_factor_coef w = the least-squares weight and the sum is taken over the reflections of this class. ; _item.name '_reflns_class.wR_factor_all' _item.category_id reflns_class _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_class_wR_factor_all' cif_core.dic 2.3 save_ save__reflns_shell.meanI_over_sigI_gt _item_description.description ; The ratio of the mean of the intensities of the significantly intense reflections (see _reflns.threshold_expression) in this shell to the mean of the standard uncertainties of the intensities of the significantly intense reflections in this shell. ; _item.name '_reflns_shell.meanI_over_sigI_gt' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float _item_related.related_name '_reflns_shell.meanI_over_uI_gt' _item_related.function_code replaces loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_shell_meanI_over_sigI_gt' cif_core.dic 2.3 save_ save__reflns_shell.meanI_over_uI_all _item_description.description ; The ratio of the mean of the intensities of all reflections in this shell to the mean of the standard uncertainties of the intensities of all reflections in this shell. ; _item.name '_reflns_shell.meanI_over_uI_all' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float _item_related.related_name '_reflns_shell.meanI_over_sigI_all' _item_related.function_code replacedby loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_shell_meanI_over_uI_all' cif_core.dic 2.3 save_ save__reflns_shell.meanI_over_uI_gt _item_description.description ; The ratio of the mean of the intensities of the significantly intense reflections (see _reflns.threshold_expression) in this shell to the mean of the standard uncertainties of the intensities of the significantly intense reflections in this shell. ; _item.name '_reflns_shell.meanI_over_uI_gt' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float loop_ _item_related.related_name _item_related.function_code '_reflns_shell.meanI_over_sigI_gt' alternate '_reflns_shell.meanI_over_sigI_obs' alternate loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_shell_meanI_over_uI_gt' cif_core.dic 2.3 save_ save__reflns_shell.number_measured_gt _item_description.description ; The number of significantly intense reflections (see _reflns.threshold_expression) measured for this shell. ; _item.name '_reflns_shell.number_measured_gt' _item.category_id reflns_shell _item.mandatory_code no _item_type.code int _item_related.related_name '_reflns_shell.number_measured_obs' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0 0 0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_shell_number_measured_gt' cif_core.dic 2.3 save_ save__reflns_shell.number_unique_gt _item_description.description ; The total number of significantly intense reflections (see _reflns.threshold_expression) resulting from merging measured symmetry-equivalent reflections for this resolution shell. ; _item.name '_reflns_shell.number_unique_gt' _item.category_id reflns_shell _item.mandatory_code no _item_type.code int _item_related.related_name '_reflns_shell.number_unique_obs' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0 0 0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_shell_number_unique_gt' cif_core.dic 2.3 save_ save__reflns_shell.percent_possible_gt _item_description.description ; The percentage of geometrically possible reflections represented by significantly intense reflections (see _reflns.threshold_expression) measured for this shell. ; _item.name '_reflns_shell.percent_possible_gt' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float _item_related.related_name '_reflns_shell.percent_possible_obs' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 100.0 100.0 100.0 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_shell_percent_possible_gt' cif_core.dic 2.3 save_ save__reflns_shell.Rmerge_F_gt _item_description.description ; The value of Rmerge(F) for significantly intense reflections (see _reflns.threshold_expression) in a given shell. sum~i~ ( sum~j~ | F~j~ - | ) Rmerge(F) = -------------------------------- sum~i~ ( sum~j~ ) F~j~ = the amplitude of the jth observation of reflection i = the mean of the amplitudes of all observations of reflection i sum~i~ is taken over all reflections sum~j~ is taken over all observations of each reflection. ; _item.name '_reflns_shell.Rmerge_F_gt' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float _item_related.related_name '_reflns_shell.Rmerge_F_obs' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_shell_Rmerge_F_gt' cif_core.dic 2.3 save_ save__reflns_shell.Rmerge_I_gt _item_description.description ; The value of Rmerge(I) for significantly intense reflections (see _reflns.threshold_expression) in a given shell. sum~i~ ( sum~j~ | I~j~ - | ) Rmerge(I) = -------------------------------- sum~i~ ( sum~j~ ) I~j~ = the intensity of the jth observation of reflection i = the mean of the intensities of all observations of reflection i sum~i~ is taken over all reflections sum~j~ is taken over all observations of each reflection. ; _item.name '_reflns_shell.Rmerge_I_gt' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float _item_related.related_name '_reflns_shell.Rmerge_I_obs' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_shell_Rmerge_I_gt' cif_core.dic 2.3 save_ ################# ## SPACE_GROUP ## ################# save_space_group _category.description ; Contains all the data items that refer to the space group as a whole, such as its name or crystal system. They may be looped, for example, in a list of space groups and their properties. Only a subset of the SPACE_GROUP category items appear in this dictionary. The remainder are found in the symmetry CIF dictionary. Space-group types are identified by their number as given in International Tables for Crystallography Vol. A. Specific settings of the space groups can be identified either by their Hall symbol or by specifying their symmetry operations. The commonly used Hermann-Mauguin symbol determines the space-group type uniquely but several different Hermann-Mauguin symbols may refer to the same space-group type. A Hermann-Mauguin symbol contains information on the choice of the basis, but not on the choice of origin. Different formats for the Hermann-Mauguin symbol are found in the symmetry CIF dictionary. ; _category.id 'space_group' _category.mandatory_code no _category_key.name '_space_group.id' loop_ _category_group.id 'inclusive_group' 'symmetry_group' loop_ _category_examples.case _category_examples.detail # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; _space_group.id 1 _space_group.name_H-M_alt 'C 2/c' _space_group.IT_number 15 _space_group.name_Hall '-C 2yc' _space_group.crystal_system monoclinic ; ; Example 1 - the monoclinic space group No. 15 with unique axis b. ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__space_group.crystal_system _item_description.description ; The name of the system of geometric crystal classes of space groups (crystal system) to which the space group belongs. Note that rhombohedral space groups belong to the trigonal system. ; _item.name '_space_group.crystal_system' _item.category_id space_group _item.mandatory_code no _item_type.code code _item_related.related_name '_symmetry.cell_setting' _item_related.function_code alternate loop_ _item_enumeration.value triclinic monoclinic orthorhombic tetragonal trigonal hexagonal cubic loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_space_group_crystal_system' cif_core.dic 2.3 save_ save__space_group.id _item_description.description ; This is the unique identifier for the SPACE_GROUP category. ; _item.name '_space_group.id' _item.category_id space_group _item.mandatory_code yes _item_type.code code loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_space_group_id' cif_core.dic 2.3 save_ save__space_group.IT_number _item_description.description ; The number as assigned in International Tables for Crystallography Vol. A, specifying the proper affine class (i.e. the orientation-preserving affine class) of space groups (crystallographic space-group type) to which the space group belongs. This number defines the space-group type but not the coordinate system in which it is expressed. ; _item.name '_space_group.IT_number' _item.category_id space_group _item.mandatory_code no _item_type.code int _item_related.related_name '_symmetry.Int_Tables_number' _item_related.function_code alternate loop_ _item_range.minimum _item_range.maximum 1 1 1 230 230 230 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_space_group_IT_number' cif_core.dic 2.3 save_ save__space_group.name_Hall _item_description.description ; Space-group symbol defined by Hall. Each component of the space-group name is separated by a space or an underscore. The use of a space is strongly recommended. The underscore is only retained because it was used in old CIFs. It should not be used in new CIFs. _space_group.name_Hall uniquely defines the space group and its reference to a particular coordinate system. Ref: Hall, S. R. (1981). Acta Cryst. A37, 517-525; erratum (1981), A37, 921. [See also International Tables for Crystallography Vol. B (2001), Chapter 1.4, Appendix 1.4.2.] ; _item.name '_space_group.name_Hall' _item.category_id space_group _item.mandatory_code no _item_type.code line _item_related.related_name '_symmetry.space_group_name_Hall' _item_related.function_code alternate loop_ _item_examples.case _item_examples.detail 'P 2c -2ac' 'equivalent to Pca21' '-I 4bd 2ab 3' 'equivalent to Ia3d' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_space_group_name_Hall' cif_core.dic 2.3 save_ save__space_group.name_H-M_alt _item_description.description ; _space_group.name_H-M_alt allows any Hermann-Mauguin symbol to be given. The way in which this item is used is determined by the user and in general is not intended to be interpreted by computer. It may, for example, be used to give one of the extended Hermann-Mauguin symbols given in Table 4.3.2.1 of International Tables for Crystallography Vol. A (2002) or a Hermann-Mauguin symbol for a conventional or unconventional setting. Each component of the space-group name is separated by a space or an underscore. The use of a space is strongly recommended. The underscore is only retained because it was used in old CIFs. It should not be used in new CIFs. Subscripts should appear without special symbols. Bars should be given as negative signs before the numbers to which they apply. The commonly used Hermann-Mauguin symbol determines the space- group type uniquely but a given space-group type may be described by more than one Hermann-Mauguin symbol. The space- group type is best described using _space_group.IT_number. The Hermann-Mauguin symbol may contain information on the choice of basis, but not on the choice of origin. To define the setting uniquely, use _space_group.name_Hall or list the symmetry operations. ; _item.name '_space_group.name_H-M_alt' _item.category_id space_group _item.mandatory_code no _item_type.code line _item_related.related_name '_symmetry.space_group_name_H-M' _item_related.function_code alternate loop_ _item_examples.case _item_examples.detail ; loop_ _space_group.name_H-M_alt 'C m c m' 'C 2/c 2/m 21/m' 'A m a m' ; 'three examples for space group No. 63' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_space_group_name_H-M_alt' cif_core.dic 2.3 save_ ####################### ## SPACE_GROUP_SYMOP ## ####################### save_space_group_symop _category.description ; Contains information about the symmetry operations of the space group. ; _category.id 'space_group_symop' _category.mandatory_code no _category_key.name '_space_group_symop.id' loop_ _category_group.id 'inclusive_group' 'symmetry_group' loop_ _category_examples.case _category_examples.detail # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; loop_ _space_group_symop.id _space_group_symop.operation_xyz 1 x,y,z 2 -x,-y,-z 3 -x,1/2+y,1/2-z 4 x,1/2-y,1/2+z ; ; Example 1 - The symmetry operations for the space group P21/c. ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__space_group_symop.id _item_description.description ; An arbitrary identifier that uniquely labels each symmetry operation in the list. ; _item.name '_space_group_symop.id' _item.category_id space_group_symop _item.mandatory_code yes _item_type.code code _item_related.related_name '_symmetry_equiv.id' _item_related.function_code alternate loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_space_group_symop_id' cif_core.dic 2.3 save_ save__space_group_symop.operation_xyz _item_description.description ; A parsable string giving one of the symmetry operations of the space group in algebraic form. If W is a matrix representation of the rotational part of the symmetry operation defined by the positions and signs of x, y and z, and w is a column of translations defined by the fractions, an equivalent position X' is generated from a given position X by the equation X' = WX + w (Note: X is used to represent bold_italics_x in International Tables for Crystallography Vol. A, Part 5) When a list of symmetry operations is given, it must contain a complete set of coordinate representatives which generates all the operations of the space group by the addition of all primitive translations of the space group. Such representatives are to be found as the coordinates of the general-equivalent position in International Tables for Crystallography Vol. A (2002), to which it is necessary to add any centring translations shown above the general-equivalent position. That is to say, it is necessary to list explicity all the symmetry operations required to generate all the atoms in the unit cell defined by the setting used. ; _item.name '_space_group_symop.operation_xyz' _item.category_id space_group_symop _item.mandatory_code no _item_type.code line # _item_default.value 'x,y,z' _item_related.related_name '_symmetry_equiv.pos_as_xyz' _item_related.function_code alternate loop_ _item_examples.case _item_examples.detail 'x,1/2-y,1/2+z' ; glide reflection through the plane (x,1/4,z), with glide vector 1/2 c ; loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_space_group_symop_operation_xyz' cif_core.dic 2.3 save_ save__space_group_symop.sg_id _item_description.description ; This must match a particular value of _space_group.id, allowing the symmetry operation to be identified with a particular space group. ; _item.name '_space_group_symop.sg_id' _item.category_id space_group_symop _item.mandatory_code no _item_type.code code loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_space_group_symop_sg_id' cif_core.dic 2.3 save_ ################### ## VALENCE_PARAM ## ################### save_valence_param _category.description ; Data items in the VALENCE_PARAM category define the parameters used for calculating bond valences from bond lengths. In addition to the parameters, a pointer is given to the reference (in VALENCE_REF) from which the bond-valence parameters were taken. ; _category.id 'valence_param' _category.mandatory_code no loop_ _category_key.name '_valence_param.atom_1' '_valence_param.atom_1_valence' '_valence_param.atom_2' '_valence_param.atom_2_valence' loop_ _category_group.id 'inclusive_group' 'chemical_group' loop_ _category_examples.case _category_examples.detail # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; loop_ _valence_param.atom_1 _valence_param.atom_1_valence _valence_param.atom_2 _valence_param.atom_2_valence _valence_param.Ro _valence_param.B _valence_param.ref_id _valence_param.details Cu 2 O -2 1.679 0.37 a . Cu 2 O -2 1.649 0.37 j . Cu 2 N -3 1.64 0.37 m '2-coordinate N' Cu 2 N -3 1.76 0.37 m '3-coordinate N' loop_ _valence_ref.id _valence_ref.reference a 'Brown & Altermatt (1985), Acta Cryst. B41, 244-247' j 'Liu & Thorp (1993), Inorg. Chem. 32, 4102-4205' m 'See, Krause & Strub (1998), Inorg. Chem. 37, 5369-5375' ; ; Example 1 - a bond-valence parameter list with accompanying references. ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__valence_param.atom_1 _item_description.description ; The element symbol of the first atom forming the bond whose bond-valence parameters are given in this category. ; _item.name '_valence_param.atom_1' _item.category_id valence_param _item.mandatory_code yes _item_type.code code loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_valence_param_atom_1' cif_core.dic 2.3 save_ save__valence_param.atom_1_valence _item_description.description ; The valence (formal charge) of the first atom whose bond-valence parameters are given in this category. ; _item.name '_valence_param.atom_1_valence' _item.category_id valence_param _item.mandatory_code yes _item_type.code int loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_valence_param_atom_1_valence' cif_core.dic 2.3 save_ save__valence_param.atom_2 _item_description.description ; The element symbol of the second atom forming the bond whose bond-valence parameters are given in this category. ; _item.name '_valence_param.atom_2' _item.category_id valence_param _item.mandatory_code yes _item_type.code code loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_valence_param_atom_2' cif_core.dic 2.3 save_ save__valence_param.atom_2_valence _item_description.description ; The valence (formal charge) of the second atom whose bond-valence parameters are given in this category. ; _item.name '_valence_param.atom_2_valence' _item.category_id valence_param _item.mandatory_code yes _item_type.code int loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_valence_param_atom_2_valence' cif_core.dic 2.3 save_ save__valence_param.B _item_description.description ; The bond-valence parameter B used in the expression s = exp[(Ro - R)/B] where s is the valence of a bond of length R. ; _item.name '_valence_param.B' _item.category_id valence_param _item.mandatory_code no _item_type.code float _item_units.code 'angstroms' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_valence_param_B' cif_core.dic 2.3 save_ save__valence_param.details _item_description.description ; Details of or comments on the bond-valence parameters. ; _item.name '_valence_param.details' _item.category_id valence_param _item.mandatory_code no _item_type.code text loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_valence_param_details' cif_core.dic 2.3 save_ save__valence_param.id _item_description.description ; An identifier for the valence parameters of a bond between the given atoms. ; _item.name '_valence_param.id' _item.category_id valence_param _item.mandatory_code no _item_type.code code loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_valence_param_id' cif_core.dic 2.3 save_ save__valence_param.ref_id _item_description.description ; An identifier which links to the reference to the source from which the bond-valence parameters are taken. A child of _valence_ref.id which it must match. ; _item.name '_valence_param.ref_id' _item.category_id valence_param _item.mandatory_code no _item_type.code code loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_valence_param_ref_id' cif_core.dic 2.3 save_ save__valence_param.Ro _item_description.description ; The bond-valence parameter Ro used in the expression s = exp[(Ro - R)/B] where s is the valence of a bond of length R. ; _item.name '_valence_param.Ro' _item.category_id valence_param _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_valence_param_Ro' cif_core.dic 2.3 save_ ################# ## VALENCE_REF ## ################# save_valence_ref _category.description ; Data items in the VALENCE_REF category list the references from which the bond-valence parameters have been taken. ; _category.id 'valence_ref' _category.mandatory_code no _category_key.name '_valence_ref.id' loop_ _category_group.id 'inclusive_group' 'chemical_group' save_ save__valence_ref.id _item_description.description ; An identifier for items in this category. Parent of _valence_param.ref_id, which must have the same value. ; _item.name '_valence_ref.id' _item.category_id valence_ref _item.mandatory_code yes _item_type.code code loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_valence_ref_id' cif_core.dic 2.3 save_ save__valence_ref.reference _item_description.description ; Literature reference from which the valence parameters identified by _valence_param.id were taken. ; _item.name '_valence_ref.reference' _item.category_id valence_ref _item.mandatory_code no _item_type.code text loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_valence_ref_reference' cif_core.dic 2.3 save_ #-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof ########################################################################### # # File: mmcif_pdbx-def-2.dic # # PDB Exchange Data Dictionary # # This data dictionary contains definitions used by wwPDB for data exchange # and data processing. # # Definition Section 2 # # ########################################################################### save_pdbx_audit _category.description ; The PDBX_AUDIT holds current version information. ; _category.id 'pdbx_audit' _category.mandatory_code no loop_ _category_key.name '_pdbx_audit.entry_id' loop_ _category_group.id 'inclusive_group' 'audit_group' save_ save__pdbx_audit.entry_id _item_description.description ; The value of _pdbx_audit.entry_id identifies the data block. ; _item.name '_pdbx_audit.entry_id' _item.category_id pdbx_audit _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_audit.entry_id' _item_linked.parent_name '_entry.id' _item_examples.case 'BDL001' save_ save__pdbx_audit.current_version _item_description.description ; The value of _pdbx_audit.entry_id identifies the data block. ; _item.name '_pdbx_audit.current_version' _item.category_id pdbx_audit _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_audit.current_version' _item_linked.parent_name '_audit.revision_id' _item_examples.case '1' save_ ### ### ################## ## PDBX_VERSION ## ################## save_pdbx_version _category.description ; Data items in the PDBX_VERSION category record details about the version of this entry. ; _category.id pdbx_version _category.mandatory_code no loop_ _category_key.name '_pdbx_version.entry_id' '_pdbx_version.major_version' '_pdbx_version.minor_version' '_pdbx_version.revision_type' loop_ _category_group.id 'inclusive_group' 'audit_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_version.entry_id 1ABC _pdbx_version.revision_date '2011-05-02' _pdbx_version.major_version 4 _pdbx_version.minor_version 0001 _pdbx_version.revision_type 'Citation' _pdbx_version.details ; Primary citation page numbers added. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_DEPRECATED _pdbx_category_context.category_id pdbx_version save_ save__pdbx_version.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_pdbx_version.entry_id' _item.category_id pdbx_version _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_version.entry_id' _item_linked.parent_name '_entry.id' _item_aliases.alias_name '_rcsb_version.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_version.revision_date _item_description.description ; A date for the current version or revision. The date format is yyyy-mm-dd. ; _item.name '_pdbx_version.revision_date' _item.category_id pdbx_version _item.mandatory_code yes _item_type.code yyyy-mm-dd _item_examples.case '2006-07-12' _item_aliases.alias_name '_rcsb_version.revision_date' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_related.related_name '_pdbx_audit_revision_history.revision_date' _item_related.function_code replacedby save_ save__pdbx_version.major_version _item_description.description ; Major version number for this datablock. ; _item.name '_pdbx_version.major_version' _item.category_id pdbx_version _item.mandatory_code yes _item_type.code int _item_examples.case 4 _item_aliases.alias_name '_rcsb_version.major_version' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_related.related_name '_pdbx_audit_revision_history.major_revision' _item_related.function_code replacedby save_ save__pdbx_version.minor_version _item_description.description ; Minor version identifier for this datablock: The minor version is incremented for each datablock revision. ; _item.name '_pdbx_version.minor_version' _item.category_id pdbx_version _item.mandatory_code yes _item_type.code code _item_examples.case 0004 _item_aliases.alias_name '_rcsb_version.minor_version' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_related.related_name '_pdbx_audit_revision_history.minor_revision' _item_related.function_code replacedby save_ save__pdbx_version.details _item_description.description ; A text description of any special details of the current version. ; _item.name '_pdbx_version.details' _item.category_id pdbx_version _item.mandatory_code no _item_type.code text _item_examples.case 'Includes new 3dem experimental data items' _item_aliases.alias_name '_rcsb_version.details' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_related.related_name '_pdbx_audit_revision_details.description' _item_related.function_code replacedby save_ save__pdbx_version.revision_type _item_description.description ; The content type that associated with the revision. ; _item.name '_pdbx_version.revision_type' _item.category_id pdbx_version _item.mandatory_code yes _item_type.code line _item_examples.case 'Entry title' _item_aliases.alias_name '_rcsb_version.revision_type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 loop_ _item_enumeration.value _item_enumeration.detail 'Entry title' . 'Function and keywords' . 'Entry authorship' . 'Citation' . 'Polymer description' . 'Non-polymer description' . 'Source and taxonomy' . 'Experimental method' . 'Refinement description' . 'Data collection' . 'Biological assembly' . 'Geometry validation' . 'Sequence database correspondence' . 'Secondary structure' . 'Binding sites and description' . 'Atom nomenclature' . 'Atom element type assignment' . 'Atom occupancy' . 'Atom temperature factor' . 'Solvent atom position' . 'Linkage' . 'Advisory' . 'Version format compliance' . 'Flag nonstandard coordinate frame' . 'Flag residual B-value' . 'Initial release' . 'Other' . _item_related.related_name '_pdbx_audit_revision_group.group' _item_related.function_code replacedby save_ ####################### ## PDBX_AUDIT_AUTHOR ## ####################### save_pdbx_audit_author _category.description ; Data items in the PDBX_AUDIT_AUTHOR category record details about the author(s) of the data block. ; _category.id pdbx_audit_author _category.mandatory_code no _category_key.name '_pdbx_audit_author.ordinal' loop_ _category_group.id 'inclusive_group' 'audit_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP ; ; loop_ _pdbx_audit_author.name _pdbx_audit_author.address _pdbx_audit_author.ordinal 'Fitzgerald, Paula M.D.' ; Department of Biophysical Chemistry Merck Research Laboratories P. O. Box 2000, Ry80M203 Rahway, New Jersey 07065 USA ; 1 'McKeever, Brian M.' ; Department of Biophysical Chemistry Merck Research Laboratories P. O. Box 2000, Ry80M203 Rahway, New Jersey 07065 USA ; 2 'Van Middlesworth, J.F.' ; Department of Biophysical Chemistry Merck Research Laboratories P. O. Box 2000, Ry80M203 Rahway, New Jersey 07065 USA ; 3 'Springer, James P.' ; Department of Biophysical Chemistry Merck Research Laboratories P. O. Box 2000, Ry80M203 Rahway, New Jersey 07065 USA ; 4 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_audit_author.address _item_description.description ; The address of an author of this data block. If there are multiple authors, _pdbx_audit_author.address is looped with _pdbx_audit_author.name. ; _item.name '_pdbx_audit_author.address' _item.category_id pdbx_audit_author _item.mandatory_code no _item_type.code text _item_examples.case ; Department Institute Street City and postcode COUNTRY ; save_ save__pdbx_audit_author.name _item_description.description ; The name of an author of this data block. If there are multiple authors, _pdbx_audit_author.name is looped with _pdbx_audit_author.address. The family name(s), followed by a comma and including any dynastic compoents, precedes the first name(s) or initial(s). ; _item.name '_pdbx_audit_author.name' _item.category_id pdbx_audit_author _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'Bleary, Percival R.' "O'Neil, F.K." 'Van den Bossche, G.' 'Yang, D.-L.' 'Simonov, Yu.A' save_ save__pdbx_audit_author.ordinal _item_description.description ; A unique sequential integer identifier for each author. ; _item.name '_pdbx_audit_author.ordinal' _item.category_id pdbx_audit_author _item.mandatory_code yes _item_type.code int loop_ _item_examples.case 1 2 3 save_ ### ### save_pdbx_database_message _category.description ; The PDBX_DATABASE_MESSAGE category provides information about correspondance related to a structure deposition. ; _category.id 'pdbx_database_message' _category.mandatory_code no loop_ _category_key.name '_pdbx_database_message.message_id' '_pdbx_database_message.entry_id' loop_ _category_group.id 'inclusive_group' 'database_group' 'pdbx_group' save_ save__pdbx_database_message.entry_id _item_description.description ; The value of _pdbx_database_message.entry_id identifies the data block. ; _item.name '_pdbx_database_message.entry_id' _item.category_id pdbx_database_message _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_database_message.entry_id' _item_linked.parent_name '_entry.id' _item_examples.case 'BDL001' _item_aliases.alias_name '_ndb_database_message.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.message_id _item_description.description ; This is an unique and sequential identifier for a message. ; _item.name '_pdbx_database_message.message_id' _item.category_id pdbx_database_message _item.mandatory_code yes _item_type.code text _item_examples.case 'message 1' _item_aliases.alias_name '_ndb_database_message.message_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.date _item_description.description ; This is the date when a message was sent or received. ; _item.name '_pdbx_database_message.date' _item.category_id pdbx_database_message _item.mandatory_code yes _item_type.code yyyy-mm-dd:hh:mm _item_aliases.alias_name '_ndb_database_message.date' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.content_type _item_description.description ; This code defines the content of the message. ; _item.name '_pdbx_database_message.content_type' _item.category_id pdbx_database_message _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail DEPOSIT 'A component of a deposition or revision' REMINDER 'A message reminding the depositor to send materials' QUERY 'A query to a depositor for specific information' OTHER 'A miscellaneous message' _item_aliases.alias_name '_ndb_database_message.content_type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.message_type _item_description.description ; Defines how the message was sent or received. ; _item.name '_pdbx_database_message.message_type' _item.category_id pdbx_database_message _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail FAX 'A facsimile message' EMAIL 'An electronic mail message' MAIL 'A conventional mail message' PHONE 'A phone message' _item_aliases.alias_name '_ndb_database_message.message_type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.sender _item_description.description ; The name of the sender. ; _item.name '_pdbx_database_message.sender' _item.category_id pdbx_database_message _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_ndb_database_message.sender' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.sender_address_fax _item_description.description ; The FAX phone number of the sender. ; _item.name '_pdbx_database_message.sender_address_fax' _item.category_id pdbx_database_message _item.mandatory_code no _item_type.code fax _item_aliases.alias_name '_ndb_database_message.sender_address_fax' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.sender_address_phone _item_description.description ; The phone number of the sender. ; _item.name '_pdbx_database_message.sender_address_phone' _item.category_id pdbx_database_message _item.mandatory_code no _item_type.code phone _item_aliases.alias_name '_ndb_database_message.sender_address_phone' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.sender_address_email _item_description.description ; The email address of the sender. ; _item.name '_pdbx_database_message.sender_address_email' _item.category_id pdbx_database_message _item.mandatory_code no _item_type.code email _item_aliases.alias_name '_ndb_database_message.sender_address_email' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.sender_address_mail _item_description.description ; The postal address of the sender. ; _item.name '_pdbx_database_message.sender_address_mail' _item.category_id pdbx_database_message _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_ndb_database_message.sender_address_mail' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.receiver _item_description.description ; The name of the receiver. ; _item.name '_pdbx_database_message.receiver' _item.category_id pdbx_database_message _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_ndb_database_message.receiver' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.receiver_address_fax _item_description.description ; The FAX phone number of the receiver. ; _item.name '_pdbx_database_message.receiver_address_fax' _item.category_id pdbx_database_message _item.mandatory_code no _item_type.code fax _item_aliases.alias_name '_ndb_database_message.receiver_address_fax' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.receiver_address_phone _item_description.description ; The phone number of the receiver. ; _item.name '_pdbx_database_message.receiver_address_phone' _item.category_id pdbx_database_message _item.mandatory_code no _item_type.code phone _item_aliases.alias_name '_ndb_database_message.receiver_address_phone' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.receiver_address_email _item_description.description ; The email address of the receiver. ; _item.name '_pdbx_database_message.receiver_address_email' _item.category_id pdbx_database_message _item.mandatory_code no _item_type.code email _item_aliases.alias_name '_ndb_database_message.receiver_address_email' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.receiver_address_mail _item_description.description ; The postal address of the receiver. ; _item.name '_pdbx_database_message.receiver_address_mail' _item.category_id pdbx_database_message _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_ndb_database_message.receiver_address_mail' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_message.message _item_description.description ; The text of the message. ; _item.name '_pdbx_database_message.message' _item.category_id pdbx_database_message _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_ndb_database_message.message' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### save_pdbx_database_PDB_obs_spr _category.description ; The PDBX_DATABASE_PDB_OBS_SPR category provides placeholders for information on obsolete/superseded PDB entries ; _category.id 'pdbx_database_PDB_obs_spr' _category.mandatory_code no loop_ _category_key.name '_pdbx_database_PDB_obs_spr.pdb_id' '_pdbx_database_PDB_obs_spr.replace_pdb_id' loop_ _category_group.id 'inclusive_group' 'database_group' 'pdbx_group' save_ save__pdbx_database_PDB_obs_spr.id _item_description.description ; Identifier for the type of obsolete entry to be added to this entry. ; _item.name '_pdbx_database_PDB_obs_spr.id' _item.category_id pdbx_database_PDB_obs_spr _item.mandatory_code yes _item_type.code code _item_examples.case 'OBSLTE' loop_ _item_enumeration.value 'OBSLTE' 'SPRSDE' _item_aliases.alias_name '_ndb_database_PDB_obs_spr.id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_PDB_obs_spr.date _item_description.description ; The date of replacement. ; _item.name '_pdbx_database_PDB_obs_spr.date' _item.category_id pdbx_database_PDB_obs_spr _item.mandatory_code yes _item_type.code yyyy-mm-dd:hh:mm _item_examples.case '1997-03-30' _item_aliases.alias_name '_ndb_database_PDB_obs_spr.date' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_PDB_obs_spr.pdb_id _item_description.description ; The new PDB identifier for the replaced entry. ; _item.name '_pdbx_database_PDB_obs_spr.pdb_id' _item.category_id pdbx_database_PDB_obs_spr _item.mandatory_code yes _item_type.code code _item_examples.case 2ABC _item_aliases.alias_name '_ndb_database_PDB_obs_spr.pdb_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_PDB_obs_spr.replace_pdb_id _item_description.description ; The PDB identifier for the replaced (OLD) entry/entries. ; _item.name '_pdbx_database_PDB_obs_spr.replace_pdb_id' _item.category_id pdbx_database_PDB_obs_spr _item.mandatory_code yes _item_type.code pdbx_PDB_obsoleted_db_id _item_examples.case 3ABC _pdbx_item_description.name "_pdbx_database_PDB_obs_spr.replace_pdb_id" _pdbx_item_description.description "The PDB identifier(s) for the entry/entries to be replaced by this on-going deposition" _item_aliases.alias_name '_ndb_database_PDB_obs_spr.replace_pdb_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_PDB_obs_spr.details _item_description.description ; Details related to the replaced or replacing entry. ; _item.name '_pdbx_database_PDB_obs_spr.details' _item.category_id pdbx_database_PDB_obs_spr _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_ndb_database_PDB_obs_spr.details' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### ### save_pdbx_database_proc _category.description ; Internal records to track the data processing cycle. ; _category.id 'pdbx_database_proc' _category.mandatory_code no loop_ _category_key.name '_pdbx_database_proc.cycle_id' '_pdbx_database_proc.entry_id' loop_ _category_group.id 'inclusive_group' 'database_group' 'pdbx_group' _category_examples.case ; _pdbx_database_proc.entry_id 'BDL001' _pdbx_database_proc.cycle_id 1 _pdbx_database_proc.date_begin_cycle 1998-02-27 _pdbx_database_proc.date_end_cycle 1998-02-27 ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_database_proc save_ save__pdbx_database_proc.entry_id _item_description.description ; The value of _pdbx_database_proc.entry_id identifies the data block. ; _item.name '_pdbx_database_proc.entry_id' _item.category_id pdbx_database_proc _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_database_proc.entry_id' _item_linked.parent_name '_entry.id' _item_examples.case 'BDL001' _item_aliases.alias_name '_ndb_database_proc.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_proc.cycle_id _item_description.description ; This is a number of the processing cycle. ; _item.name '_pdbx_database_proc.cycle_id' _item.category_id pdbx_database_proc _item.mandatory_code yes _item_type.code code _item_examples.case '1 for the initial cycle' _item_aliases.alias_name '_ndb_database_proc.cycle_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_proc.date_begin_cycle _item_description.description ; This is the date of the start of the processing cycle. ; _item.name '_pdbx_database_proc.date_begin_cycle' _item.category_id pdbx_database_proc _item.mandatory_code yes _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1983-02-27 _item_aliases.alias_name '_ndb_database_proc.date_begin_cycle' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_proc.date_end_cycle _item_description.description ; This is the date of the end of the processing cycle. ; _item.name '_pdbx_database_proc.date_end_cycle' _item.category_id pdbx_database_proc _item.mandatory_code yes _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1983-02-27 _item_aliases.alias_name '_ndb_database_proc.date_end_cycle' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_proc.details _item_description.description ; Special details about the current processing cycle. ; _item.name '_pdbx_database_proc.details' _item.category_id pdbx_database_proc _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_ndb_database_proc.details' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### ### save_pdbx_database_remark _category.description ; Data items in the PDBX_DATABASE_REMARK category record keep additional information about the entry. They are mostly used to create 'non-standard' PDB REMARK annotations (6-99). ; _category.id pdbx_database_remark _category.mandatory_code no _category_key.name '_pdbx_database_remark.id' loop_ _category_group.id 'inclusive_group' 'database_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 1ABC ; ; loop_ _pdbx_database_remark.id _pdbx_database_remark.text 1 ; THE NON-CRYSTALLOGRAPHIC RELATIONSHIP BETWEEN THE THREE DOUBLE HELICES IN THE ASYMMETRIC UNIT IS DESCRIBED IN THE MTRIX1-3 RECORDS. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_database_remark.id _item_description.description ; A unique identifier for the PDB remark record. ; _item.name '_pdbx_database_remark.id' _item.category_id pdbx_database_remark _item.mandatory_code yes _item_type.code int _item_aliases.alias_name '_rcsb_database_PDB_remark.id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_remark.text _item_description.description ; The full text of the PDB remark record. ; _item.name '_pdbx_database_remark.text' _item.category_id pdbx_database_remark _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_rcsb_database_PDB_remark.text' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### save_pdbx_database_status _category.description ; These are internal RCSB records to keep track of data processing and status of the entry. ; _category.id 'pdbx_database_status' _category.mandatory_code no _category_key.name '_pdbx_database_status.entry_id' loop_ _category_group.id 'inclusive_group' 'database_group' 'pdbx_group' _category_examples.case ; _pdbx_database_status.entry_id 1ABC _pdbx_database_status.status_code REL _pdbx_database_status.deposit_site RCSB _pdbx_database_status.process_site RCSB ; save_ save__pdbx_database_status.status_code _item_description.description ; Code for status of file. ; _item.name '_pdbx_database_status.status_code' _item.category_id pdbx_database_status _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail PROC 'To be processed' WAIT 'Processing started, waiting for author input to continue processing' REL 'Released' HOLD 'On hold until yyyy-mm-dd' HPUB 'On hold until publication' REFI 'Re-refined entry' OBS 'Entry has been obsoleted and replaced by another entry' WDRN 'Deposition has been withdrawn' AUTH 'Processed, waiting for author review and approval' POLC 'Processing, waiting for a policy decision' REPL 'Author sent new coordinates to be incorporated' AUCO 'Author corrections pending review' TRSF 'Entry transferred to another data repository' RMVD 'Entry has been removed' DEL 'Deprecated code' REV 'Deprecated code' UPD 'Deprecated code' BIB 'Deprecated code' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_database_status.status_code" AUTH . "_pdbx_database_status.status_code" HOLD . "_pdbx_database_status.status_code" HPUB . "_pdbx_database_status.status_code" OBS . "_pdbx_database_status.status_code" POLC . "_pdbx_database_status.status_code" PROC . "_pdbx_database_status.status_code" REFI . "_pdbx_database_status.status_code" REL . "_pdbx_database_status.status_code" REPL . "_pdbx_database_status.status_code" RMVD . "_pdbx_database_status.status_code" WAIT . "_pdbx_database_status.status_code" WDRN . loop_ _item_examples.case REL HPUB _item_aliases.alias_name '_ndb_database_status.status_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_status.author_release_status_code _item_description.description ; The release status authorized by the depositor. ; _item.name '_pdbx_database_status.author_release_status_code' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail REL 'Release' HOLD 'On hold until yyyy-mm-dd' HPUB 'On hold until publication' REFI 'Re-refined entry' OBS 'Entry has been obsoleted and replaced by another entry' WDRN 'Entry has been withdrawn' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_database_status.author_release_status_code" HOLD . "_pdbx_database_status.author_release_status_code" HPUB . "_pdbx_database_status.author_release_status_code" REL . # _item_examples.case ; REL = Release HOLD = On hold until yyyy-mm-dd HPUB = On hold until publication OBS = Entry has been obsoleted and replaced by another entry WDRN = Entry has been withdrawn by depositor ; _item_aliases.alias_name '_ndb_database_status.author_release_status_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.author_release_status_code' # save_ save__pdbx_database_status.status_code_sf _item_description.description ; Code for status of structure factor file. ; _item.name '_pdbx_database_status.status_code_sf' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail PROC 'To be processed' WAIT 'Processing started, waiting for author input to continue processing' REL 'Released' HOLD 'On hold until yyyy-mm-dd' HPUB 'On hold until publication' OBS 'Entry has been obsoleted and replaced by another entry' WDRN 'Deposition has been withdrawn' AUTH 'Processed, waiting for author review and approval' POLC 'Processing, waiting for a policy decision' REPL 'Author sent new data to be incorporated' RMVD 'Entry has been removed' _item_examples.case ; PROC = To be processed REL = Released HOLD = On hold until yyyy-mm-dd HPUB = On hold until publication OBS = Entry has been obsoleted and replaced by another entry WDRN = Entry has been withdrawn by depositor WAIT = Awaiting author approval ; _item_aliases.alias_name '_ndb_database_status.status_code_sf' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_status.status_code_mr _item_description.description ; Code for status of NMR constraints file. ; _item.name '_pdbx_database_status.status_code_mr' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail PROC 'To be processed' WAIT 'Processing started, waiting for author input to continue processing' REL 'Released' HOLD 'On hold until yyyy-mm-dd' HPUB 'On hold until publication' OBS 'Entry has been obsoleted and replaced by another entry' WDRN 'Deposition has been withdrawn' AUTH 'Processed, waiting for author review and approval' POLC 'Processing, waiting for a policy decision' REPL 'Author sent new data to be incorporated' AUCO 'Author corrections pending review' RMVD 'Entry has been removed' _item_examples.case ; PROC = To be processed REL = Release HOLD = On hold until yyyy-mm-dd HPUB = On hold until publication OBS = Entry has been obsoleted and replaced by another entry WDRN = Entry has been withdrawn by depositor WAIT = Awaiting author approval ; _item_aliases.alias_name '_ndb_database_status.status_code_mr' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_status.dep_release_code_coordinates _item_description.description ; The deposited coordinates for this deposition will be released according the value of this item. ; _item.name '_pdbx_database_status.dep_release_code_coordinates' _item.category_id pdbx_database_status _item.mandatory_code no _pdbx_item.name "_pdbx_database_status.dep_release_code_coordinates" _pdbx_item.mandatory_code yes _item_type.code line _item_default.value 'RELEASE NOW' loop_ _item_enumeration.value _item_enumeration.detail 'RELEASE NOW' 'Release immediately' 'HOLD FOR PUBLICATION' 'Hold until primary citation is published' 'HOLD FOR 4 WEEKS' 'Hold for 4 weeks' 'HOLD FOR 6 WEEKS' 'Hold for 6 weeks' 'HOLD FOR 8 WEEKS' 'Hold for 8 weeks' 'HOLD FOR 6 MONTHS' 'Hold for 6 months' 'HOLD FOR 1 YEAR' 'Hold for 1 year' _item_examples.case ; RELEASE NOW = Release immediately HOLD FOR PUBLICATION = Hold until the primary citation is published HOLD FOR 4 WEEKS = Hold for 4 weeks HOLD FOR 6 WEEKS = Hold for 6 weeks HOLD FOR 8 WEEKS = Hold for 8 weeks HOLD FOR 6 MONTHS = Hold for 6 months HOLD FOR 1 YEAR = Hold for 1 year ; _pdbx_item_description.name "_pdbx_database_status.dep_release_code_coordinates" _pdbx_item_description.description "Choose the manner in which you would like the atomic coordinates for this deposition to be released to the public. You may choose to delay the release of your coordinate data until publication or for up to one year from the date of deposition. You must notify the PDB when your paper is published. If you wish the hold to be removed before the year is up, you must notify the PDB. Please note that many journals require the release of coordinate data at the time of publication." # _item_aliases.alias_name '_ndb_database_status.dep_release_code_coordinates' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.dep_release_code_coordinates' # save_ save__pdbx_database_status.dep_release_code_sequence _item_description.description ; The sequence information for this deposition will be released according the value of this item. Setting this status code to "RELEASE NOW" indicates that the macromolecular sequence(s) for this entry may be displayed in PDB status reports prior to the release of the entry. Setting this status code to "HOLD FOR RELEASE" conceals the sequence information in PDB status reports until the coordinate data for this entry are released. ; _item.name '_pdbx_database_status.dep_release_code_sequence' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code line _item_default.value 'RELEASE NOW' _pdbx_item.name "_pdbx_database_status.dep_release_code_sequence" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_database_status.dep_release_code_sequence" _pdbx_item_description.description 'The sequence information for this deposition will be released according the value of this item. Setting this status code to "RELEASE NOW" indicates that the macromolecular sequence(s) for this entry may be displayed in PDB status reports prior to the release of the entry. The PDB will release your sequence data after the annotated entry is sent to the contact author and a reply is received, or after 3 weeks from the date the wwPDB IDcode is issued. Setting this status code to "HOLD FOR RELEASE" conceals the sequence information in PDB status reports until the coordinate data for this entry are released.' # loop_ _item_enumeration.value _item_enumeration.detail 'RELEASE NOW' 'Release sequence information in status reports immediately' 'HOLD FOR RELEASE' ;Conceal sequence information in status reports until coordinate data is released ; _item_examples.case ; RELEASE NOW = Release sequence information in status reports immediately HOLD FOR RELEASE = Conceal sequence information in status reports until coordinate data is release ; _item_aliases.alias_name '_ndb_database_status.dep_release_code_sequence' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.dep_release_code_sequence' save_ save__pdbx_database_status.dep_release_code_struct_fact _item_description.description ; The deposited structure factors for this deposition will be released according the value of this item. ; _item.name '_pdbx_database_status.dep_release_code_struct_fact' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code line _item_default.value 'RELEASE NOW' loop_ _item_enumeration.value _item_enumeration.detail 'RELEASE NOW' 'Release immediately' 'HOLD FOR PUBLICATION' 'Hold until primary citation is published' 'HOLD FOR 4 WEEKS' 'Hold for 4 weeks' 'HOLD FOR 8 WEEKS' 'Hold for 8 weeks' 'HOLD FOR 6 MONTHS' 'Hold for 6 months' 'HOLD FOR 1 YEAR' 'Hold for 1 year' 'HOLD FOR 4 YEARS' 'Hold for 4 years' _item_examples.case ; RELEASE NOW = Release immediately HOLD FOR PUBLICATION = Hold until the primary citation is published HOLD FOR 4 WEEKS = Hold for 4 weeks HOLD FOR 6 WEEKS = Hold for 6 weeks HOLD FOR 8 WEEKS = Hold for 8 weeks HOLD FOR 6 MONTHS = Hold for 6 months HOLD FOR 1 YEAR = Hold for 1 year ; _pdbx_item_description.name "_pdbx_database_status.dep_release_code_struct_fact" _pdbx_item_description.description "Choose the manner in which you would like the experimental data for this deposition to be released to the public. The release status does not have to be the same for experimental and coordinate data. For example, the coordinate file can be released immediately and the experimental data file put on hold. You may choose to delay release of your experimental data for up to one year from the date of deposition. However, the assigned release status should follow the policy set by the journal that publishes the entry's corresponding primary citation. If the journal's policy is that the atomic coordinates and experimental data should be available when the associated article is published, both data files will be released regardless of assigned release status." # _item_aliases.alias_name '_ndb_database_status.dep_release_code_struct_fact' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.dep_release_code_struct_fact' # save_ save__pdbx_database_status.dep_release_code_nmr_constraints _item_description.description ; The deposited NMR constrait data for this deposition will be released according the value of this item. ; _item.name '_pdbx_database_status.dep_release_code_nmr_constraints' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code line _item_default.value 'RELEASE NOW' loop_ _item_enumeration.value _item_enumeration.detail 'RELEASE NOW' 'Release immediately' 'HOLD FOR PUBLICATION' 'Hold until primary citation is published' 'HOLD FOR 4 WEEKS' 'Hold for 4 weeks' 'HOLD FOR 6 MONTHS' 'Hold for 6 months' 'HOLD FOR 1 YEAR' 'Hold for 1 year' _item_examples.case ; RELEASE NOW = Release immediately HOLD FOR PUBLICATION = Hold until the primary citation is published HOLD FOR 4 WEEKS = Hold for 4 weeks HOLD FOR 6 WEEKS = Hold for 6 weeks HOLD FOR 6 MONTHS = Hold for 6 months HOLD FOR 1 YEAR = Hold for 1 year ; _pdbx_item_description.name '_pdbx_database_status.dep_release_code_nmr_constraints' _pdbx_item_description.description 'Choose the manner in which you would like the experimental data for this deposition to be released to the public. The release status does not have to be the same for experimental and coordinate data. For example, the coordinate file can be released immediately and the experimental data file put on hold. You may choose to delay release of your experimental data for up to one year from the date of deposition. However, the assigned release status should follow the policy set by the journal that publishes the entry's corresponding primary citation. If the journal's policy is that the atomic coordinates and experimental data should be available when the associated article is published, both data files will be released regardless of assigned release status.' _item_aliases.alias_name '_ndb_database_status.dep_release_code_nmr_constraints' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.dep_release_code_nmr_constraints' # save_ save__pdbx_database_status.entry_id _item_description.description ; The value of _pdbx_database_status.entry_id identifies the data block. ; _item.name '_pdbx_database_status.entry_id' _item.category_id pdbx_database_status _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_database_status.entry_id' _item_linked.parent_name '_entry.id' _item_examples.case 'BDL001' _item_aliases.alias_name '_ndb_database_status.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_status.recvd_deposit_form _item_description.description ; This code indicates whether the deposition form for an entry has been received. ; _item.name '_pdbx_database_status.recvd_deposit_form' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y _item_aliases.alias_name '_ndb_database_status.recvd_deposit_form' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.recvd_deposit_form' # save_ save__pdbx_database_status.date_deposition_form _item_description.description ; The date the deposition form is received. ; _item.name '_pdbx_database_status.date_deposition_form' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1982-02-21 _item_aliases.alias_name '_ndb_database_status.date_deposition_form' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_deposition_form' # save_ ## ## save__pdbx_database_status.date_begin_deposition _item_description.description ; The starting date for the deposition session. ; _item.name '_pdbx_database_status.date_begin_deposition' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 2013-02-21 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_begin_deposition' save_ save__pdbx_database_status.date_begin_processing _item_description.description ; The starting date for data processing. ; _item.name '_pdbx_database_status.date_begin_processing' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 2013-03-21 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_begin_processing' save_ save__pdbx_database_status.date_end_processing _item_description.description ; The completion date for data processing. ; _item.name '_pdbx_database_status.date_end_processing' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 2013-03-24 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_end_processing' save_ save__pdbx_database_status.date_begin_release_preparation _item_description.description ; The date on which release processing began. ; _item.name '_pdbx_database_status.date_begin_release_preparation' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 2013-03-24 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_begin_release_preparation' save_ save__pdbx_database_status.date_author_release_request _item_description.description ; The date on which the author requests entry release. ; _item.name '_pdbx_database_status.date_author_release_request' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 2013-03-24 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_author_release_request' save_ save__pdbx_database_status.recvd_coordinates _item_description.description ; This code indicates whether the coordinates for an entry have been received. ; _item.name '_pdbx_database_status.recvd_coordinates' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y _item_aliases.alias_name '_ndb_database_status.recvd_coordinates' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.recvd_coordinates' # save_ save__pdbx_database_status.date_coordinates _item_description.description ; The date the coordinates are received. ; _item.name '_pdbx_database_status.date_coordinates' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1983-02-21 _item_aliases.alias_name '_ndb_database_status.date_coordinates' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_coordinates' # save_ # save__pdbx_database_status.recvd_struct_fact _item_description.description ; This code indicates whether the structure factors for an entry have been received. ; _item.name '_pdbx_database_status.recvd_struct_fact' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y _item_aliases.alias_name '_ndb_database_status.recvd_struct_fact' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.recvd_struct_fact' # save_ save__pdbx_database_status.date_struct_fact _item_description.description ; The date the structure factors are received. ; _item.name '_pdbx_database_status.date_struct_fact' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1983-02-28 _item_aliases.alias_name '_ndb_database_status.date_struct_fact' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_struct_fact' # save_ # save__pdbx_database_status.recvd_nmr_constraints _item_description.description ; This code indicates whether the NMR contraint data for an entry have been received. ; _item.name '_pdbx_database_status.recvd_nmr_constraints' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y _item_aliases.alias_name '_ndb_database_status.recvd_nmr_constraints' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.recvd_nmr_constraints' # save_ save__pdbx_database_status.date_nmr_constraints _item_description.description ; The date the structure factors are received. ; _item.name '_pdbx_database_status.date_nmr_constraints' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1983-02-28 _item_aliases.alias_name '_ndb_database_status.date_nmr_constraints' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_nmr_constraints' # save_ save__pdbx_database_status.recvd_internal_approval _item_description.description ; This code indicates whether the internal approval for an entry have been received. ; _item.name '_pdbx_database_status.recvd_internal_approval' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y _item_aliases.alias_name '_ndb_database_status.recvd_internal_approval' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.recvd_internal_approval' # save_ save__pdbx_database_status.recvd_manuscript _item_description.description ; This code indicates whether the manuscript for an entry has been received. ; _item.name '_pdbx_database_status.recvd_manuscript' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y _item_aliases.alias_name '_ndb_database_status.recvd_manuscript' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.recvd_manuscript' # save_ save__pdbx_database_status.date_manuscript _item_description.description ; The date the manuscript is received. ; _item.name '_pdbx_database_status.date_manuscript' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1983-02-28 _item_aliases.alias_name '_ndb_database_status.date_manuscript' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_manuscript' # save_ save__pdbx_database_status.name_depositor _item_description.description ; The last name of the depositor to be used in correspondance. ; _item.name '_pdbx_database_status.name_depositor' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code text _item_examples.case Smith _item_aliases.alias_name '_ndb_database_status.name_depositor' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.name_depositor' # save_ save__pdbx_database_status.recvd_author_approval _item_description.description ; This code indicates whether the author's approval for an entry has been received. ; _item.name '_pdbx_database_status.recvd_author_approval' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code uchar1 _pdbx_item_description.name "_pdbx_database_status.recvd_author_approval" _pdbx_item_description.description "This indicates whether the entry has received the author's approval. Value can be 'Y' or 'N'." loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_database_status.recvd_author_approval" N . "_pdbx_database_status.recvd_author_approval" Y . # _item_examples.case Y _item_aliases.alias_name '_ndb_database_status.recvd_author_approval' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.recvd_author_approval' # save_ save__pdbx_database_status.author_approval_type _item_description.description ; This code indicates whether the author's approval for an entry was received explicitly or implicitly. The latter is automatically implied by failure to respond to the validation summary within the prescribed period. ; _item.name '_pdbx_database_status.author_approval_type' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value implicit explicit loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_database_status.author_approval_type" explicit . "_pdbx_database_status.author_approval_type" implicit . # _item_examples.case ; implicit = automatic approval by failure to acknowledge explicit = approval via depositor acknowledgement ; _item_aliases.alias_name '_ndb_database_status.author_approval_type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.author_approval_type' # save_ save__pdbx_database_status.date_author_approval _item_description.description ; The date the author's approval is received. ; _item.name '_pdbx_database_status.date_author_approval' _item.category_id pdbx_database_status _item.mandatory_code no _pdbx_item_description.name "_pdbx_database_status.date_author_approval" _pdbx_item_description.description "The date (YYYY-MM-DD) on which author approval for the entry was given." _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1983-02-20 _item_aliases.alias_name '_ndb_database_status.date_author_approval' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_author_approval' # save_ save__pdbx_database_status.recvd_initial_deposition_date _item_description.description ; The date of initial deposition. (The first message for deposition has been received.) ; _item.name '_pdbx_database_status.recvd_initial_deposition_date' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd _item_examples.case 1983-02-21 _item_aliases.alias_name '_ndb_database_status.recvd_initial_deposition_date' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_related.related_name '_database_PDB_rev.date_original' _item_related.function_code replaces save_ save__pdbx_database_status.date_submitted _item_description.description ; The date of complete deposition. This corresponds to the date at which the PDB identifier is assigned. ; _item.name '_pdbx_database_status.date_submitted' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1983-02-20 _item_aliases.alias_name '_ndb_database_status.date_submitted' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_submitted' # save_ save__pdbx_database_status.rcsb_annotator _item_description.description ; The initials of the annotator processing this entry. ; _item.name '_pdbx_database_status.rcsb_annotator' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'BS' 'SJ' 'KB' # _item_aliases.alias_name '_ndb_database_status.rcsb_annotator' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.rcsb_annotator' save_ save__pdbx_database_status.date_of_sf_release _item_description.description ; The date of PDB/RCSB release. This corresponds to the date at which the entry is placed into the public archive. ; _item.name '_pdbx_database_status.date_of_sf_release' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd _item_examples.case 1999-02-28 _item_aliases.alias_name '_ndb_database_status.date_of_sf_release' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_of_sf_release' # save_ save__pdbx_database_status.date_of_mr_release _item_description.description ; The date of PDB/RCSB release. This corresponds to the date at which the entry is placed into the public archive. ; _item.name '_pdbx_database_status.date_of_mr_release' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd _item_examples.case 1999-02-28 _item_aliases.alias_name '_ndb_database_status.date_of_mr_release' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_of_mr_release' # save_ save__pdbx_database_status.date_of_PDB_release _item_description.description ; PDB release date. This is the date that appears in the PDB REVDAT record. ; _item.name '_pdbx_database_status.date_of_PDB_release' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1983-02-28 _item_aliases.alias_name '_ndb_database_status.date_of_PDB_release' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_of_PDB_release' # save_ save__pdbx_database_status.date_hold_coordinates _item_description.description ; At an author's request, a coordinate entry may be held after processing for some period of time. ; _item.name '_pdbx_database_status.date_hold_coordinates' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1983-02-28 _item_aliases.alias_name '_ndb_database_status.date_hold_coordinates' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_hold_coordinates' # save_ save__pdbx_database_status.date_hold_struct_fact _item_description.description ; At an author's request, the structure factors may be held after processing for some period of time. ; _item.name '_pdbx_database_status.date_hold_struct_fact' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1983-02-28 _item_aliases.alias_name '_ndb_database_status.date_hold_struct_fact' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_hold_struct_fact' # save_ save__pdbx_database_status.date_hold_nmr_constraints _item_description.description ; At an author's request, the NMR constraint data may be held after processing for some period of time. ; _item.name '_pdbx_database_status.date_hold_nmr_constraints' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1983-02-28 _item_aliases.alias_name '_ndb_database_status.date_hold_nmr_constraints' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_hold_nmr_constraints' # save_ save__pdbx_database_status.hold_for_publication _item_description.description ; At an author's request, an entry is to be held until publication. ; _item.name '_pdbx_database_status.hold_for_publication' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y _item_aliases.alias_name '_ndb_database_status.hold_for_publication' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.hold_for_publication' # save_ save__pdbx_database_status.SG_entry _item_description.description ; This code indicates whether the entry belongs to Structural Genomics Project. ; _item.name '_pdbx_database_status.SG_entry' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y _item_aliases.alias_name '_ndb_database_status.SG_entry' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_status.pdb_date_of_author_approval _item_description.description ; This is the date when PDB received the author's approval for an entry which has been processed by NDB. (This is a place holder for entries processed before Jan. 1, 1996.) ; _item.name '_pdbx_database_status.pdb_date_of_author_approval' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 1983-02-27 _item_aliases.alias_name '_ndb_database_status.pdb_date_of_author_approval' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.pdb_date_of_author_approval' # save_ save__pdbx_database_status.deposit_site _item_description.description ; The site where the file was deposited. ; _item.name '_pdbx_database_status.deposit_site' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code code loop_ _item_examples.case NDB RCSB PDBE PDBJ BMRB BNL PDBC loop_ _item_enumeration.value NDB RCSB PDBE PDBJ BMRB BNL PDBC _item_aliases.alias_name '_ndb_database_status.deposit_site' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_status.process_site _item_description.description ; The site where the file was deposited. ; _item.name '_pdbx_database_status.process_site' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code code loop_ _item_examples.case NDB RCSB PDBE PDBJ BNL PDBC loop_ _item_enumeration.value NDB RCSB PDBE PDBJ BNL PDBC _item_aliases.alias_name '_ndb_database_status.process_site' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_status.dep_release_code_chemical_shifts _item_description.description ; The deposited chemical shift data for this deposition will be released according the value of this item. ; _item.name '_pdbx_database_status.dep_release_code_chemical_shifts' _item.category_id pdbx_database_status _item.mandatory_code no _pdbx_item_description.name "_pdbx_database_status.dep_release_code_chemical_shifts" _pdbx_item_description.description "Choose the manner in which you would like the experimental data for this deposition to be released to the public. The release status does not have to be the same for experimental and coordinate data. For example, the coordinate file can be released immediately and the experimental data file put on hold. You may choose to delay release of your experimental data for up to one year from the date of deposition. However, the assigned release status should follow the policy set by the journal that publishes the entry's corresponding primary citation. If the journal's policy is that the atomic coordinates and experimental data should be available when the associated article is published, both data files will be released regardless of assigned release status." # _item_type.code line _item_default.value 'RELEASE NOW' # loop_ # _item_enumeration.value # _item_enumeration.detail # 'RELEASE NOW' 'Release immediately' # 'HOLD FOR PUBLICATION' 'Hold until primary citation is published' # 'HOLD FOR 6 MONTHS' 'Hold for 6 months' # 'HOLD FOR 1 YEAR' 'Hold for 1 year' # 'HOLD FOR 4 YEARS' 'Hold for 4 years' _item_examples.case ; RELEASE NOW = Release immediately HOLD FOR PUBLICATION = Hold until the primary citation is published HOLD FOR 4 WEEKS = Hold for 4 weeks HOLD FOR 6 WEEKS = Hold for 6 weeks HOLD FOR 6 MONTHS = Hold for 6 months HOLD FOR 1 YEAR = Hold for 1 year ; _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.dep_release_code_chemical_shifts' # save_ save__pdbx_database_status.recvd_chemical_shifts _item_description.description ; This code indicates whether the chemical shift data for an entry have been received. ; _item.name '_pdbx_database_status.recvd_chemical_shifts' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.recvd_chemical_shifts' save_ save__pdbx_database_status.date_chemical_shifts _item_description.description ; The date the chemical shift data are received. ; _item.name '_pdbx_database_status.date_chemical_shifts' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 2010-02-28 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_chemical_shifts' save_ save__pdbx_database_status.date_hold_chemical_shifts _item_description.description ; At an author's request, the chemical shift data may be held after processing for some period of time. ; _item.name '_pdbx_database_status.date_hold_chemical_shifts' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 2010-02-28 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_hold_chemical_shifts' save_ save__pdbx_database_status.status_code_cs _item_description.description ; Code for status of chemical shift data file. ; _item.name '_pdbx_database_status.status_code_cs' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail PROC 'Processing in progress' WAIT 'Processing started, waiting for author input to continue processing' AUTH 'Processed, waiting for author review and approval' POLC 'Waiting for a policy decision' REPL 'Author sent new coordinates' AUCO 'Author corrections pending review' REL 'Released' HOLD 'On hold until yyyy-mm-dd' HPUB 'On hold until publication' OBS 'Entry has been obsoleted and replaced by another entry' RMVD 'Entry has been removed' WDRN 'Entry has been withdrawn' # _item_examples.case ; PROC = Processing in progress WAIT = Awaiting author approval REL = Release HOLD = On hold until yyyy-mm-dd HPUB = On hold until publication OBS = Entry has been obsoleted and replaced by another entry WDRN = Entry has been withdrawn by depositor ; _item_aliases.alias_name '_ndb_database_status.status_code_cs' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_status.date_of_cs_release _item_description.description ; The date of PDB release. This corresponds to the date at which the chemical shift data is placed into the public archive. ; _item.name '_pdbx_database_status.date_of_cs_release' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd _item_examples.case 2010-09-28 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_of_cs_release' save_ save__pdbx_database_status.date_nmr_data _item_description.description ; The date the unified NMR data are received. ; _item.name '_pdbx_database_status.date_nmr_data' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 2016-02-29 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_nmr_data' save_ save__pdbx_database_status.date_hold_nmr_data _item_description.description ; At an author's request, the unified NMR data may be held after processing for some period of time. ; _item.name '_pdbx_database_status.date_hold_nmr_data' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 2010-02-28 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_hold_nmr_data' save_ save__pdbx_database_status.date_of_nmr_data_release _item_description.description ; The date of PDB release. This corresponds to the date at which the unified NMR data are placed into the public archive. ; _item.name '_pdbx_database_status.date_of_nmr_data_release' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd _item_examples.case 2010-09-28 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_of_nmr_data_release' save_ save__pdbx_database_status.dep_release_code_nmr_data _item_description.description ; The deposited unified NMR data for this deposition will be released according the value of this item. ; _item.name '_pdbx_database_status.dep_release_code_nmr_data' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code line _item_default.value 'RELEASE NOW' loop_ _item_enumeration.value _item_enumeration.detail 'RELEASE NOW' 'Release immediately' 'HOLD FOR PUBLICATION' 'Hold until primary citation is published' 'HOLD FOR 6 MONTHS' 'Hold for 6 months' 'HOLD FOR 1 YEAR' 'Hold for 1 year' _item_examples.case ; RELEASE NOW = Release immediately HOLD FOR PUBLICATION = Hold until the primary citation is published HOLD FOR 6 WEEKS = Hold for 6 weeks HOLD FOR 6 MONTHS = Hold for 6 months HOLD FOR 1 YEAR = Hold for 1 year ; # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.dep_release_code_nmr_data' # save_ save__pdbx_database_status.recvd_nmr_data _item_description.description ; This code indicates whether the unified NMR data for an entry have been received. ; _item.name '_pdbx_database_status.recvd_nmr_data' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.recvd_nmr_data' save_ save__pdbx_database_status.status_code_nmr_data _item_description.description ; Code for status of unified NMR data file. ; _item.name '_pdbx_database_status.status_code_nmr_data' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail PROC 'Processing in progress' WAIT 'Processing started, waiting for author input to continue processing' AUTH 'Processed, waiting for author review and approval' POLC 'Waiting for a policy decision' REPL 'Author sent new coordinates' REL 'Released' HOLD 'On hold until yyyy-mm-dd' HPUB 'On hold until publication' OBS 'Entry has been obsoleted and replaced by another entry' RMVD 'Entry has been removed' WDRN 'Entry has been withdrawn' # _item_examples.case ; PROC = Processing in progress WAIT = Awaiting author approval REL = Release HOLD = On hold until yyyy-mm-dd HPUB = On hold until publication OBS = Entry has been obsoleted and replaced by another entry WDRN = Entry has been withdrawn by depositor ; save_ save__pdbx_database_status.methods_development_category _item_description.description ; The methods development category in which this entry has been placed. ; _item.name '_pdbx_database_status.methods_development_category' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'CASP' 'CASD-NMR' _pdbx_item_description.name "_pdbx_database_status.methods_development_category" _pdbx_item_description.description "For more information about CASP, depositors should consult http://predictioncenter.org. For more information about CASD-NMR, depositors should consult http://www.wenmr.eu/wenmr/casd-nmr. For more information about Foldit, depositors should consult http://fold.it/portal/" loop_ _item_enumeration.value 'CAPRI' 'CASP' 'CASD-NMR' 'FoldIt' 'GPCR Dock' 'D3R' 'RNA-Puzzles' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_database_status.methods_development_category" CASD-NMR 'HOLD FOR 8 WEEKS' "_pdbx_database_status.methods_development_category" CAPRI . "_pdbx_database_status.methods_development_category" CASP 'HOLD FOR 8 WEEKS' "_pdbx_database_status.methods_development_category" FoldIt . "_pdbx_database_status.methods_development_category" "GPCR Dock" . "_pdbx_database_status.methods_development_category" D3R . "_pdbx_database_status.methods_development_category" RNA-Puzzles 'HOLD FOR 8 WEEKS' # _item_aliases.alias_name '_ndb_database_status.methods_development_category' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_status.pdb_format_compatible _item_description.description ; A flag indicating that the entry is compatible with the PDB format. A value of 'N' indicates that the no PDB format data file is corresponding to this entry is available in the PDB archive. ; _item.name '_pdbx_database_status.pdb_format_compatible' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code uchar1 _item_default.value 'Y' loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y save_ save__pdbx_database_status.post_rel_status _item_description.description ; For author initiated replacement, the current status of the replacement entry ; _item.name '_pdbx_database_status.post_rel_status' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail PROC 'To be processed' WAIT 'Processing started, waiting for author input to continue processing' HOLD 'On hold until yyyy-mm-dd' HPUB 'On hold until publication' OBS 'Entry has been obsoleted and replaced by another entry' WDRN 'Deposition has been withdrawn' AUTH 'Processed, waiting for author review and approval' REPL 'Author sent new coordinates to be incorporated' AUCO 'Author corrections pending review' _item_examples.case ; PROC = To be processed HOLD = On hold until yyyy-mm-dd HPUB = On hold until publication ; _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.post_rel_status' save_ save__pdbx_database_status.post_rel_recvd_coord _item_description.description ; For author initiated replacement, indicates if new coordinates have been provided ; _item.name '_pdbx_database_status.post_rel_recvd_coord' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.post_rel_recvd_coord' save_ save__pdbx_database_status.post_rel_recvd_coord_date _item_description.description ; For author initiated replacement, date new coordinates have been provided ; _item.name '_pdbx_database_status.post_rel_recvd_coord_date' _item.category_id pdbx_database_status _item.mandatory_code no _item_type.code yyyy-mm-dd _item_examples.case 2019-09-28 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.post_rel_recvd_coord_date' save_ ### ### save_pdbx_entity_name _category.description ; The PDBX_ENTITY_NAME records additional name information for each entity. ; _category.id pdbx_entity_name _category.mandatory_code no loop_ _category_key.name '_pdbx_entity_name.entity_id' '_pdbx_entity_name.name' '_pdbx_entity_name.name_type' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_entity_name.entity_id _pdbx_entity_name.name _pdbx_entity_name.name_type 1 "PLASTOCYANIN" 'SWS-NAME' 1 "Electron transport" 'SWS-KEYWORD' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_entity_name save_ save__pdbx_entity_name.entity_id _item_description.description ; Pointer to _entity.id. ; _item.name '_pdbx_entity_name.entity_id' _item.category_id pdbx_entity_name _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_entity_name.entity_id' _item_linked.parent_name '_entity.id' # _item_aliases.alias_name '_rcsb_entity_name.entity_id' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 save_ save__pdbx_entity_name.name _item_description.description ; Entity name. ; _item.name '_pdbx_entity_name.name' _item.category_id pdbx_entity_name _item.mandatory_code yes _item_type.code line # _item_aliases.alias_name '_rcsb_entity_name.name' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 save_ save__pdbx_entity_name.name_type _item_description.description ; Entity name type. ; _item.name '_pdbx_entity_name.name_type' _item.category_id pdbx_entity_name _item.mandatory_code yes _item_type.code line # _item_aliases.alias_name '_rcsb_entity_name.name_type' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 loop_ _item_enumeration.value 'RCSB_NAME' 'RCSB_SYNONYM' 'SWS-NAME' 'SWS-SYNONYM' 'SWS-KEYWORD' 'GB-NAME' 'GB-SYNONYM' 'GB-KEYWORD' save_ ### ### save_pdbx_prerelease_seq _category.description ; This category provides a placeholder for pre-release sequence information. After release this category should be discarded. ; _category.id pdbx_prerelease_seq _category.mandatory_code no _category_key.name '_pdbx_prerelease_seq.entity_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' loop_ _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; loop_ _pdbx_prerelease_seq.entity_id _pdbx_prerelease_seq.seq_one_letter_code 1 'GKHNGPEHWHKDFPIAKGERQSPVDIDTHTAKYDPSLKPLSVSYDQATSLRILNNGAAFNVEFD' 2 'HKDFPIAKGERQSPVDIDTHTAKYDPSLKPLSVSYDQATSLRILNN' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_prerelease_seq.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_pdbx_prerelease_seq.entity_id' _item.category_id pdbx_prerelease_seq _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_prerelease_seq.entity_id' _item_linked.parent_name '_entity.id' _item_aliases.alias_name '_rcsb_prerelease_seq.entity_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_prerelease_seq.seq_one_letter_code _item_description.description ; Chemical sequence expressed as string of one-letter amino acid codes. A for alanine or adenine B for ambiguous asparagine/aspartic-acid R for arginine N for asparagine D for aspartic-acid C for cysteine or cystine or cytosine Q for glutamine E for glutamic-acid Z for ambiguous glutamine/glutamic acid G for glycine or guanine H for histidine I for isoleucine L for leucine K for lysine M for methionine F for phenylalanine P for proline S for serine T for threonine or thymine W for tryptophan Y for tyrosine V for valine U for uracil ; _item.name '_pdbx_prerelease_seq.seq_one_letter_code' _item.category_id pdbx_prerelease_seq _item.mandatory_code no _item_type.code text _item_examples.case ; MSHHWGYGKHNGPEHWHKDFPIAKGERQSPVDIDTHTAKYDPSLKPLSVSYDQATSLRILNNGAAFNVEFD ; _item_aliases.alias_name '_rcsb_prerelease_seq.seq_one_letter_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### ### save_pdbx_poly_seq_scheme _category.description ; The PDBX_POLY_SEQ_SCHEME category provides residue level nomenclature mapping for polymer entities. ; _category.id pdbx_poly_seq_scheme _category.mandatory_code no loop_ _category_key.name '_pdbx_poly_seq_scheme.asym_id' '_pdbx_poly_seq_scheme.entity_id' '_pdbx_poly_seq_scheme.seq_id' '_pdbx_poly_seq_scheme.mon_id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on NDB entry DDFB25 ; ; loop_ _pdbx_poly_seq_scheme.asym_id _pdbx_poly_seq_scheme.entity_id _pdbx_poly_seq_scheme.seq_id _pdbx_poly_seq_scheme.mon_id _pdbx_poly_seq_scheme.ndb_seq_num _pdbx_poly_seq_scheme.pdb_seq_num _pdbx_poly_seq_scheme.auth_seq_num _pdbx_poly_seq_scheme.pdb_mon_id _pdbx_poly_seq_scheme.auth_mon_id _pdbx_poly_seq_scheme.pdb_strand_id _pdbx_poly_seq_scheme.pdb_ins_code A 1 1 DC 1 1 1 DC DC A . A 1 2 DG 2 2 2 DG DG A . A 1 3 DT 3 3 3 DT DT A . A 1 4 DA 4 4 4 DA DA A . A 1 5 DC 5 5 5 DC DC A . A 1 6 DG 6 6 6 DG DG A . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_poly_seq_scheme.asym_id _item_description.description ; Pointer to _atom_site.label_asym_id. ; _item.name '_pdbx_poly_seq_scheme.asym_id' _item.category_id pdbx_poly_seq_scheme _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_poly_seq_scheme.asym_id' _item_linked.parent_name '_struct_asym.id' loop_ _item_examples.case '1' 'A' '2B3' _item_aliases.alias_name '_ndb_poly_seq_scheme.id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_poly_seq_scheme.entity_id _item_description.description ; Pointer to _entity.id. ; _item.name '_pdbx_poly_seq_scheme.entity_id' _item.category_id pdbx_poly_seq_scheme _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_poly_seq_scheme.entity_id' _item_linked.parent_name '_entity_poly_seq.entity_id' _item_aliases.alias_name '_ndb_poly_seq_scheme.entity_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_poly_seq_scheme.seq_id _item_description.description ; Pointer to _entity_poly_seq.num ; _item.name '_pdbx_poly_seq_scheme.seq_id' _item.category_id pdbx_poly_seq_scheme _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_poly_seq_scheme.seq_id' _item_linked.parent_name '_entity_poly_seq.num' _item_aliases.alias_name '_ndb_poly_seq_scheme.seq_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_poly_seq_scheme.hetero _item_description.description ; Pointer to _entity_poly_seq.hetero ; _item.name '_pdbx_poly_seq_scheme.hetero' _item.category_id pdbx_poly_seq_scheme _item.mandatory_code no _item_default.value no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no 'sequence is not heterogeneous at this monomer' n 'abbreviation for "no"' yes 'sequence is heterogeneous at this monomer' y 'abbreviation for "yes"' # _item_linked.child_name '_pdbx_poly_seq_scheme.hetero' # _item_linked.parent_name '_entity_poly_seq.hetero' _item_aliases.alias_name '_ndb_poly_seq_scheme.hetero' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_poly_seq_scheme.mon_id _item_description.description ; Pointer to _entity_poly_seq.mon_id. ; _item.name '_pdbx_poly_seq_scheme.mon_id' _item.category_id pdbx_poly_seq_scheme _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_poly_seq_scheme.mon_id' _item_linked.parent_name '_entity_poly_seq.mon_id' _item_aliases.alias_name '_ndb_poly_seq_scheme.mon_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_poly_seq_scheme.pdb_strand_id _item_description.description ; PDB strand/chain id. ; _item.name '_pdbx_poly_seq_scheme.pdb_strand_id' _item.category_id pdbx_poly_seq_scheme _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_ndb_poly_seq_scheme.pdb_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_poly_seq_scheme.ndb_seq_num _item_description.description ; NDB residue number. ; _item.name '_pdbx_poly_seq_scheme.ndb_seq_num' _item.category_id pdbx_poly_seq_scheme _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_ndb_poly_seq_scheme.ndb_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_poly_seq_scheme.pdb_seq_num _item_description.description ; PDB residue number. ; _item.name '_pdbx_poly_seq_scheme.pdb_seq_num' _item.category_id pdbx_poly_seq_scheme _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_ndb_poly_seq_scheme.pdb_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_poly_seq_scheme.auth_seq_num _item_description.description ; Author provided residue number. This value may differ from the PDB residue number and may not correspond to residue numbering within the coordinate records. ; _item.name '_pdbx_poly_seq_scheme.auth_seq_num' _item.category_id pdbx_poly_seq_scheme _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_ndb_poly_seq_scheme.auth_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_poly_seq_scheme.pdb_mon_id _item_description.description ; PDB residue identifier. ; _item.name '_pdbx_poly_seq_scheme.pdb_mon_id' _item.category_id pdbx_poly_seq_scheme _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_ndb_poly_seq_scheme.pdb_mon_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_poly_seq_scheme.auth_mon_id _item_description.description ; Author provided residue identifier. This value may differ from the PDB residue identifier and may not correspond to residue identifier within the coordinate records. ; _item.name '_pdbx_poly_seq_scheme.auth_mon_id' _item.category_id pdbx_poly_seq_scheme _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_ndb_poly_seq_scheme.auth_mon_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_poly_seq_scheme.pdb_ins_code _item_description.description ; PDB insertion code. ; _item.name '_pdbx_poly_seq_scheme.pdb_ins_code' _item.category_id pdbx_poly_seq_scheme _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_ndb_poly_seq_scheme.pdb_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save_pdbx_nonpoly_scheme _category.description ; The PDBX_NONPOLY_SCHEME category provides residue level nomenclature mapping for non-polymer entities. ; _category.id pdbx_nonpoly_scheme _category.mandatory_code no loop_ _category_key.name '_pdbx_nonpoly_scheme.asym_id' '_pdbx_nonpoly_scheme.ndb_seq_num' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_nonpoly_scheme.asym_id _pdbx_nonpoly_scheme.entity_id _pdbx_nonpoly_scheme.mon_id _pdbx_nonpoly_scheme.ndb_seq_num _pdbx_nonpoly_scheme.pdb_seq_num _pdbx_nonpoly_scheme.auth_seq_num _pdbx_nonpoly_scheme.pdb_mon_id _pdbx_nonpoly_scheme.auth_mon_id _pdbx_nonpoly_scheme.pdb_strand_id _pdbx_nonpoly_scheme.pdb_ins_code C 3 HOH 100 100 100 HOH HOH C . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_nonpoly_scheme.asym_id _item_description.description ; Pointer to _atom_site.label_asym_id. ; _item.name '_pdbx_nonpoly_scheme.asym_id' _item.category_id pdbx_nonpoly_scheme _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_nonpoly_scheme.asym_id' _item_linked.parent_name '_atom_site.label_asym_id' loop_ _item_examples.case '1' 'A' '2B3' _item_aliases.alias_name '_ndb_nonpoly_scheme.asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nonpoly_scheme.entity_id _item_description.description ; Pointer to _atom_site.label_entity_id. ; _item.name '_pdbx_nonpoly_scheme.entity_id' _item.category_id pdbx_nonpoly_scheme _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_nonpoly_scheme.entity_id' _item_linked.parent_name '_atom_site.label_entity_id' _item_aliases.alias_name '_ndb_nonpoly_scheme.entity_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nonpoly_scheme.mon_id _item_description.description ; Pointer to _atom_site.label_comp_id. ; _item.name '_pdbx_nonpoly_scheme.mon_id' _item.category_id pdbx_nonpoly_scheme _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_nonpoly_scheme.mon_id' _item_linked.parent_name '_atom_site.label_comp_id' _item_aliases.alias_name '_ndb_nonpoly_scheme.mon_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nonpoly_scheme.pdb_strand_id _item_description.description ; PDB strand/chain id. ; _item.name '_pdbx_nonpoly_scheme.pdb_strand_id' _item.category_id pdbx_nonpoly_scheme _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_ndb_nonpoly_scheme.pdb_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nonpoly_scheme.ndb_seq_num _item_description.description ; NDB/RCSB residue number. ; _item.name '_pdbx_nonpoly_scheme.ndb_seq_num' _item.category_id pdbx_nonpoly_scheme _item.mandatory_code yes _item_type.code code _item_aliases.alias_name '_ndb_nonpoly_scheme.ndb_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nonpoly_scheme.pdb_seq_num _item_description.description ; PDB residue number. ; _item.name '_pdbx_nonpoly_scheme.pdb_seq_num' _item.category_id pdbx_nonpoly_scheme _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_ndb_nonpoly_scheme.pdb_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nonpoly_scheme.auth_seq_num _item_description.description ; Author provided residue numbering. This value may differ from the PDB residue number and may not correspond to residue numbering within the coordinate records. ; _item.name '_pdbx_nonpoly_scheme.auth_seq_num' _item.category_id pdbx_nonpoly_scheme _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_ndb_nonpoly_scheme.auth_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nonpoly_scheme.pdb_mon_id _item_description.description ; PDB residue identifier. ; _item.name '_pdbx_nonpoly_scheme.pdb_mon_id' _item.category_id pdbx_nonpoly_scheme _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_ndb_nonpoly_scheme.pdb_mon_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nonpoly_scheme.auth_mon_id _item_description.description ; Author provided residue identifier. This value may differ from the PDB residue identifier and may not correspond to residue identification within the coordinate records. ; _item.name '_pdbx_nonpoly_scheme.auth_mon_id' _item.category_id pdbx_nonpoly_scheme _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_ndb_nonpoly_scheme.auth_mon_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nonpoly_scheme.pdb_ins_code _item_description.description ; PDB insertion code. ; _item.name '_pdbx_nonpoly_scheme.pdb_ins_code' _item.category_id pdbx_nonpoly_scheme _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_ndb_nonpoly_scheme.pdb_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### ### save_pdbx_refine _category.description ; Data items in the PDBX_REFINE category record details about additional structure refinement parameters which are needed to complete legacy REMARK 3 refinement templates in PDB format files. ; _category.id pdbx_refine _category.mandatory_code no loop_ _category_key.name '_pdbx_refine.entry_id' '_pdbx_refine.pdbx_refine_id' loop_ _category_group.id 'inclusive_group' 'refine_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - PDB placeholders for refinement program SHELX ; ; _pdbx_refine.entry_id ABC001 _pdbx_refine.pdbx_refine_id 'x-ray' _pdbx_refine.R_factor_all_4sig_cutoff 0.174 _pdbx_refine.R_factor_obs_4sig_cutoff 0.169 _pdbx_refine.number_reflns_obs_4sig_cutoff 1263 _pdbx_refine.free_R_factor_4sig_cutoff 0.216 _pdbx_refine.free_R_val_test_set_ct_4sig_cutoff 164 _pdbx_refine.free_R_val_test_set_size_perc_4sig_cutoff 1.29 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_refine.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_pdbx_refine.entry_id' _item.category_id pdbx_refine _item.mandatory_code yes _item_linked.child_name '_pdbx_refine.entry_id' _item_linked.parent_name '_entry.id' _item_aliases.alias_name '_ndb_refine.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _pdbx_refine.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_pdbx_refine.pdbx_refine_id' _item.category_id pdbx_refine _item.mandatory_code yes _item_type.code line _item_linked.child_name '_pdbx_refine.pdbx_refine_id' _item_linked.parent_name '_refine.pdbx_refine_id' _item_aliases.alias_name '_ndb_refine.pdbx_refine_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.R_factor_all_no_cutoff _item_description.description ; R-value (all reflections, no cutoff) Placeholder for PDB mapping of SHELXL refinement data. ; _item.name '_pdbx_refine.R_factor_all_no_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_ndb_refine.R_factor_all_no_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.R_factor_obs_no_cutoff _item_description.description ; R-value (working set reflections, no cutoff) Placeholder for PDB mapping of SHELXL refinement data. ; _item.name '_pdbx_refine.R_factor_obs_no_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_ndb_refine.R_factor_obs_no_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.free_R_factor_4sig_cutoff _item_description.description ; R free value (4 sigma cutoff). Placeholder for PDB mapping of SHELXL refinement data. ; _item.name '_pdbx_refine.free_R_factor_4sig_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_examples.case 0.216 _item_aliases.alias_name '_ndb_refine.free_R_factor_4sig_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.free_R_factor_no_cutoff _item_description.description ; Free R-value (no cutoff) Placeholder for PDB mapping of SHELXL refinement data. ; _item.name '_pdbx_refine.free_R_factor_no_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_ndb_refine.free_R_factor_no_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.free_R_error_no_cutoff _item_description.description ; Free R-value error(no cutoff) ; _item.name '_pdbx_refine.free_R_error_no_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_ndb_refine.free_R_error_no_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.free_R_val_test_set_size_perc_no_cutoff _item_description.description ; Free R-value test set size (in percent, no cutoff) Placeholder for PDB mapping of SHELXL refinement data. ; _item.name '_pdbx_refine.free_R_val_test_set_size_perc_no_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_ndb_refine.free_R_val_test_set_size_perc_no_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.free_R_val_test_set_ct_no_cutoff _item_description.description ; Free R-value test set count (no cutoff) Placeholder for PDB mapping of SHELXL refinement data. ; _item.name '_pdbx_refine.free_R_val_test_set_ct_no_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_ndb_refine.free_R_val_test_set_ct_no_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.number_reflns_obs_no_cutoff _item_description.description ; Total number of reflections (no cutoff). Placeholder for PDB mapping of SHELXL refinement data. ; _item.name '_pdbx_refine.number_reflns_obs_no_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_ndb_refine.number_reflns_obs_no_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.R_factor_all_4sig_cutoff _item_description.description ; R-value (all reflections, 4 sigma cutoff) Placeholder for PDB mapping of SHELXL refinement data. ; _item.name '_pdbx_refine.R_factor_all_4sig_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_examples.case 0.174 _item_aliases.alias_name '_ndb_refine.R_factor_all_4sig_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.R_factor_obs_4sig_cutoff _item_description.description ; R-value (working set, 4 sigma cutoff) Placeholder for PDB mapping of SHELXL refinement data. ; _item.name '_pdbx_refine.R_factor_obs_4sig_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_examples.case 0.169 _item_aliases.alias_name '_ndb_refine.R_factor_obs_4sig_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.free_R_val_4sig_cutoff _item_description.description ; Free R-value (4 sigma cutoff) Placeholder for PDB mapping of SHELXL refinement data. ; _item.name '_pdbx_refine.free_R_val_4sig_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_ndb_refine.free_R_val_4sig_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.free_R_val_test_set_size_perc_4sig_cutoff _item_description.description ; Free R-value test set size (in percent, 4 sigma cutoff) Placeholder for PDB mapping of SHELXL refinement data. ; _item.name '_pdbx_refine.free_R_val_test_set_size_perc_4sig_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_examples.case 1.29 _item_aliases.alias_name '_ndb_refine.free_R_val_test_set_size_perc_4sig_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.free_R_val_test_set_ct_4sig_cutoff _item_description.description ; Free R-value test set count (4 sigma cutoff) Placeholder for PDB mapping of SHELXL refinement data. ; _item.name '_pdbx_refine.free_R_val_test_set_ct_4sig_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_examples.case 164 _item_aliases.alias_name '_ndb_refine.free_R_val_test_set_ct_4sig_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine.number_reflns_obs_4sig_cutoff _item_description.description ; Total number of reflections (4 sigma cutoff). Placeholder for PDB mapping of SHELXL refinement data. ; _item.name '_pdbx_refine.number_reflns_obs_4sig_cutoff' _item.category_id pdbx_refine _item.mandatory_code no _item_type.code float _item_examples.case 1263 _item_aliases.alias_name '_ndb_refine.number_reflns_obs_4sig_cutoff' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ############################# ## PDBX_STRUCT_SHEET_HBOND ## ############################# save_pdbx_struct_sheet_hbond _category.description ; Data items in the PDBX_STRUCT_SHEET_HBOND category record details about the hydrogen bonding between residue ranges in a beta sheet. This category is provided for cases where only a single hydrogen bond is used to register the two residue ranges. Category STRUCT_SHEET_HBOND should be used when the initial and terminal hydrogen bonds for strand pair are known. ; _category.id pdbx_struct_sheet_hbond _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_sheet_hbond.sheet_id' '_pdbx_struct_sheet_hbond.range_id_1' '_pdbx_struct_sheet_hbond.range_id_2' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' save_ save__pdbx_struct_sheet_hbond.range_id_1 _item_description.description ; This data item is a pointer to _struct_sheet_range.id in the STRUCT_SHEET_RANGE category. ; _item.name '_pdbx_struct_sheet_hbond.range_id_1' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_sheet_hbond.range_id_1' _item_linked.parent_name '_struct_sheet_range.id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_id_1' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_id_2 _item_description.description ; This data item is a pointer to _struct_sheet_range.id in the STRUCT_SHEET_RANGE category. ; _item.name '_pdbx_struct_sheet_hbond.range_id_2' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_sheet_hbond.range_id_2' _item_linked.parent_name '_struct_sheet_range.id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_id_2' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.sheet_id _item_description.description ; This data item is a pointer to _struct_sheet.id in the STRUCT_SHEET category. ; _item.name '_pdbx_struct_sheet_hbond.sheet_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_sheet_hbond.sheet_id' _item_linked.parent_name '_struct_sheet.id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.sheet_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## save__pdbx_struct_sheet_hbond.range_1_label_atom_id _item_description.description ; A component of the residue identifier for the first partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_1_label_atom_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_struct_sheet_hbond.range_1_label_atom_id' _item_linked.parent_name '_atom_site.label_atom_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_1_label_atom_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_1_label_seq_id _item_description.description ; A component of the residue identifier for the first partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_1_label_seq_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_struct_sheet_hbond.range_1_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_1_label_seq_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_1_label_comp_id _item_description.description ; A component of the residue identifier for the first partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_1_label_comp_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_struct_sheet_hbond.range_1_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_1_label_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_1_label_asym_id _item_description.description ; A component of the residue identifier for the first partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_1_label_asym_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_sheet_hbond.range_1_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_1_label_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_1_auth_atom_id _item_description.description ; A component of the residue identifier for the first partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_1_auth_atom_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_pdbx_struct_sheet_hbond.range_1_auth_atom_id' _item_linked.parent_name '_atom_site.auth_atom_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_1_auth_atom_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_1_auth_seq_id _item_description.description ; A component of the residue identifier for the first partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_1_auth_seq_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_sheet_hbond.range_1_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_1_auth_seq_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_1_auth_comp_id _item_description.description ; A component of the residue identifier for the first partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_1_auth_comp_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_sheet_hbond.range_1_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_1_auth_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_1_auth_asym_id _item_description.description ; A component of the residue identifier for the first partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_1_auth_asym_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_sheet_hbond.range_1_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_1_auth_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_1_PDB_ins_code _item_description.description ; A component of the residue identifier for the first partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_1_PDB_ins_code' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_sheet_hbond.range_1_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_1_PDB_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## save__pdbx_struct_sheet_hbond.range_2_label_atom_id _item_description.description ; A component of the residue identifier for the second partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_2_label_atom_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_struct_sheet_hbond.range_2_label_atom_id' _item_linked.parent_name '_atom_site.label_atom_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_2_label_atom_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_2_label_seq_id _item_description.description ; A component of the residue identifier for the second partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_2_label_seq_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_struct_sheet_hbond.range_2_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_2_label_seq_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_2_label_comp_id _item_description.description ; A component of the residue identifier for the second partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_2_label_comp_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_struct_sheet_hbond.range_2_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_2_label_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_2_label_asym_id _item_description.description ; A component of the residue identifier for the second partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_2_label_asym_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_sheet_hbond.range_2_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_2_label_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_2_auth_atom_id _item_description.description ; A component of the residue identifier for the second partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_2_auth_atom_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_pdbx_struct_sheet_hbond.range_2_auth_atom_id' _item_linked.parent_name '_atom_site.auth_atom_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_2_auth_atom_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_2_auth_seq_id _item_description.description ; A component of the residue identifier for the second partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_2_auth_seq_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_sheet_hbond.range_2_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_2_auth_seq_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_2_auth_comp_id _item_description.description ; A component of the residue identifier for the second partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_2_auth_comp_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_sheet_hbond.range_2_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_2_auth_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_2_auth_asym_id _item_description.description ; A component of the residue identifier for the second partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_2_auth_asym_id' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_sheet_hbond.range_2_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_2_auth_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_struct_sheet_hbond.range_2_PDB_ins_code _item_description.description ; A component of the residue identifier for the second partner of the registration hydrogen bond between two residue ranges in a sheet. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_sheet_hbond.range_2_PDB_ins_code' _item.category_id pdbx_struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_sheet_hbond.range_2_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_rcsb_struct_sheet_hbond.range_2_PDB_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### save_pdbx_xplor_file _category.description ; Parameter and topology files used in X-PLOR/CNS refinement. ; _category.id pdbx_xplor_file _category.mandatory_code no loop_ _category_key.name '_pdbx_xplor_file.serial_no' '_pdbx_xplor_file.pdbx_refine_id' loop_ _category_group.id 'inclusive_group' 'refine_group' 'pdbx_group' loop_ _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; _pdbx_xplor_file.serial_no 1 _pdbx_xplor_file.pdbx_refine_id 'x-ray' _pdbx_xplor_file.param_file parm_hol.dat _pdbx_xplor_file.topol_file topol_hol.dat ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_xplor_file.serial_no _item_description.description ; Serial number. ; _item.name '_pdbx_xplor_file.serial_no' _item.category_id pdbx_xplor_file _item.mandatory_code yes _item_type.code code _item_aliases.alias_name '_ndb_xplor_file.serial_no' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_xplor_file.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _pdbx_xplor_file.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_pdbx_xplor_file.pdbx_refine_id' _item.category_id pdbx_xplor_file _item.mandatory_code yes _item_type.code line _item_linked.child_name '_pdbx_xplor_file.pdbx_refine_id' _item_linked.parent_name '_refine.pdbx_refine_id' _item_aliases.alias_name '_ndb_xplor_file.pdbx_refine_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_xplor_file.param_file _item_description.description ; Parameter file name in X-PLOR/CNS refinement. ; _item.name '_pdbx_xplor_file.param_file' _item.category_id pdbx_xplor_file _item.mandatory_code no _item_type.code line _item_examples.case 'PARAM_NDBX_HIGH.DNA' _pdbx_item_description.name "_pdbx_xplor_file.param_file" _pdbx_item_description.description "Parameter file name in X-PLOR/CNS refinement" _item_aliases.alias_name '_ndb_xplor_file.param_file' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_xplor_file.topol_file _item_description.description ; Topology file name in X-PLOR/CNS refinement. ; _item.name '_pdbx_xplor_file.topol_file' _item.category_id pdbx_xplor_file _item.mandatory_code no _item_type.code line _item_examples.case 'TOP_NDBX.DNA' _item_aliases.alias_name '_ndb_xplor_file.topol_file' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _pdbx_item_description.name "_pdbx_xplor_file.topol_file" _pdbx_item_description.description "Topology file name in X-PLOR/CNS refinement" save_ ## ## save_pdbx_refine_aux_file _category.description ; Auxilary parameter and topology files used in refinement. ; _category.id pdbx_refine_aux_file _category.mandatory_code no loop_ _category_key.name '_pdbx_refine_aux_file.serial_no' '_pdbx_refine_aux_file.pdbx_refine_id' loop_ _category_group.id 'inclusive_group' 'refine_group' 'pdbx_group' loop_ _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; _pdbx_refine_aux_file.serial_no 1 _pdbx_refine_aux_file.pdbx_refine_id 'x-ray' _pdbx_refine_aux_file.file_name parm_hol.dat _pdbx_refine_aux_file.file_type PARAMETER ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_refine_aux_file.serial_no _item_description.description ; Serial number. ; _item.name '_pdbx_refine_aux_file.serial_no' _item.category_id pdbx_refine_aux_file _item.mandatory_code yes _item_type.code code _item_aliases.alias_name '_rcsb_refine_aux_file.serial_no' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine_aux_file.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _pdbx_refine_aux_file.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_pdbx_refine_aux_file.pdbx_refine_id' _item.category_id pdbx_refine_aux_file _item.mandatory_code yes _item_type.code line _item_linked.child_name '_pdbx_refine_aux_file.pdbx_refine_id' _item_linked.parent_name '_refine.pdbx_refine_id' _item_aliases.alias_name '_rcsb_refine_aux_file.pdbx_refine_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine_aux_file.file_name _item_description.description ; Auxilary file name. ; _item.name '_pdbx_refine_aux_file.file_name' _item.category_id pdbx_refine_aux_file _item.mandatory_code no _item_type.code line _item_examples.case 'PARAM_NDBX_HIGH.DNA' _item_aliases.alias_name '_rcsb_refine_aux_file.file_name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine_aux_file.file_type _item_description.description ; Auxilary file type. ; _item.name '_pdbx_refine_aux_file.file_type' _item.category_id pdbx_refine_aux_file _item.mandatory_code no _item_type.code line _item_examples.case 'PARAMETER' loop_ _item_enumeration.value 'PARAMETER' 'TOPOLOGY' _item_aliases.alias_name '_rcsb_refine_aux_file.file_type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save_pdbx_database_related _category.description ; Data items in PDBX_DATABASE_RELATED contain references to entries that are related to the this entry. ; _category.id pdbx_database_related _category.mandatory_code no loop_ _category_key.name '_pdbx_database_related.db_name' '_pdbx_database_related.db_id' '_pdbx_database_related.content_type' loop_ _category_group.id 'inclusive_group' 'database_group' 'pdbx_group' _category_examples.case ; _pdbx_database_related.db_name PDB _pdbx_database_related.db_id 1ABC _pdbx_database_related.content_type 'native structure' ; save_ save__pdbx_database_related.db_name _item_description.description ; The name of the database containing the related entry. ; _item.name '_pdbx_database_related.db_name' _item.category_id pdbx_database_related _item.mandatory_code yes _item_type.code code # loop_ # _item_enumeration.value 'PDB' 'NDB' 'BMRB' 'BMCD' 'EMDB' _item_examples.case ; PDB - Protein Databank NDB - Nucleic Acid Database BMRB - BioMagResBank EMDB - Electron Microscopy Database BMCD - Biological Macromolecule Crystallization Database TargetTrack - Target Registration and Protocol Database SASBDB - Small Angle Scattering Biological Data Bank ; _pdbx_item.name "_pdbx_database_related.db_name" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_pdbx_database_related.db_name" _pdbx_item_description.description "The name of the database containing the related entry" # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_database_related.db_name" BMCD 'associated structure factors' "_pdbx_database_related.db_name" BMRB 'associated NMR restraints,unspecified' "_pdbx_database_related.db_name" EMDB 'associated EM volume,other EM volume' "_pdbx_database_related.db_name" NDB unspecified "_pdbx_database_related.db_name" PDB 're-refinement,unspecified,derivative structure,complete structure,split,ensemble,minimized average structure,native structure,representative structure,split' "_pdbx_database_related.db_name" TargetDB unspecified "_pdbx_database_related.db_name" TargetTrack unspecified "_pdbx_database_related.db_name" SASBDB 'associated SAS data' "_pdbx_database_related.db_name" BIOISIS 'associated SAS data' # _item_aliases.alias_name '_rcsb_database_related.db_name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_database_related.details _item_description.description ; A description of the related entry. ; _item.name '_pdbx_database_related.details' _item.category_id pdbx_database_related _item.mandatory_code no _pdbx_item.name "_pdbx_database_related.details" _pdbx_item.mandatory_code no _item_type.code text loop_ _item_examples.case ; 1ABC contains the same protein complexed with Netropsin. ; _item_aliases.alias_name '_rcsb_database_related.details' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ # save__pdbx_database_related.db_id _item_description.description ; The identifying code in the related database. ; _item.name '_pdbx_database_related.db_id' _item.category_id pdbx_database_related _item.mandatory_code yes _item_type.code pdbx_related_db_id loop_ _item_examples.case '1ABC' 'BDL001' _pdbx_item.name "_pdbx_database_related.db_id" _pdbx_item.mandatory_code no # _pdbx_item_type.name '_pdbx_database_related.db_id' _pdbx_item_type.code pdnx_related_db_code _pdbx_item_description.name "_pdbx_database_related.db_id" _pdbx_item_description.description "The identifying code in the related database" _item_aliases.alias_name '_rcsb_database_related.db_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ # save__pdbx_database_related.content_type _item_description.description ; The identifying content type of the related entry. ; _item.name '_pdbx_database_related.content_type' _item.category_id pdbx_database_related _item.mandatory_code yes _pdbx_item.name "_pdbx_database_related.content_type" _pdbx_item.mandatory_code no _item_type.code line loop_ _item_examples.case 'minimized average structure' 'representative structure' 'ensemble' 'derivative structure' 'native structure' 'associated EM volume' 'other EM volume' 'associated NMR restraints' 'associated structure factors' 'associated SAS data' 'protein target sequence and/or protocol data' 'split' 're-refinement' 'complete structure' 'unspecified' 'other' loop_ _item_enumeration.value 'minimized average structure' 'representative structure' 'ensemble' 'derivative structure' 'native structure' 'associated EM volume' 'other EM volume' 'associated NMR restraints' 'associated structure factors' 'associated SAS data' 'protein target sequence and/or protocol data' 'split' 're-refinement' 'complete structure' 'unspecified' 'other' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_database_related.content_type" unspecified . "_pdbx_database_related.content_type" re-refinement . "_pdbx_database_related.content_type" "associated EM volume" . "_pdbx_database_related.content_type" "associated SAS data" . "_pdbx_database_related.content_type" "other EM volume" . "_pdbx_database_related.content_type" other . "_pdbx_database_related.content_type" split . "_pdbx_database_related.content_type" 'complete structure' . # _item_aliases.alias_name '_rcsb_database_related.content_type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ########################## ## PDBX_ENTITY_ASSEMBLY ## ########################## save_pdbx_entity_assembly _category.description ; The PDBX_ENTITY_ASSEMBLY category provides a chemical description of the biological assembly studied in terms of its constituent entities. ; _category.id pdbx_entity_assembly _category.mandatory_code no loop_ _category_key.name '_pdbx_entity_assembly.id' '_pdbx_entity_assembly.entity_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; A complex composed of one copy of entities 1 and 2. ; ; loop_ _pdbx_entity_assembly.id _pdbx_entity_assembly.biol_id _pdbx_entity_assembly.entity_id _pdbx_entity_assembly.num_copies 1 1 1 1 1 1 2 1 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_entity_assembly.id _item_description.description ; An identifier for the assembly. ; _item.name '_pdbx_entity_assembly.id' _item.category_id pdbx_entity_assembly _item.mandatory_code yes _item_type.code code _item_aliases.alias_name '_rcsb_entity_assembly.id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_entity_assembly.entity_id _item_description.description ; An enity identifier. A reference to _entity.id. ; _item.name '_pdbx_entity_assembly.entity_id' _item.category_id pdbx_entity_assembly _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_entity_assembly.entity_id' _item_linked.parent_name '_entity.id' _item_aliases.alias_name '_rcsb_entity_assembly.entity_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_entity_assembly.biol_id _item_description.description ; An identifier for the assembly. ; _item.name '_pdbx_entity_assembly.biol_id' _item.category_id pdbx_entity_assembly _item.mandatory_code yes _item_type.code line _item_linked.child_name '_pdbx_entity_assembly.biol_id' _item_linked.parent_name '_struct_biol.id' _item_aliases.alias_name '_rcsb_entity_assembly.biol_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_entity_assembly.num_copies _item_description.description ; The number of copies of this entity in the assembly. ; _item.name '_pdbx_entity_assembly.num_copies' _item.category_id pdbx_entity_assembly _item.mandatory_code yes _item_type.code int _item_aliases.alias_name '_rcsb_entity_assembly.num_copies' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ######################### ## PDBX_ENTITY_SRC_SYN ## ######################### save__pdbx_entity_src_syn.details _item_description.description ; A description of special aspects of the source for the synthetic entity. ; _item.name '_pdbx_entity_src_syn.details' _item.category_id pdbx_entity_src_syn _item.mandatory_code no _item_type.code text _item_examples.case 'This sequence occurs naturally in humans.' _item_aliases.alias_name '_rcsb_entity_src_syn.details' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_entity_src_syn.organism_scientific _item_description.description ; The scientific name of the organism from which the sequence of the synthetic entity was derived. ; _item.name '_pdbx_entity_src_syn.organism_scientific' _item.category_id pdbx_entity_src_syn _item.mandatory_code no _pdbx_item.name "_pdbx_entity_src_syn.organism_scientific" _pdbx_item.mandatory_code yes _item_type.code text _item_examples.case 'Mus musculus' _pdbx_item_examples.name "_pdbx_entity_src_syn.organism_scientific" _pdbx_item_examples.case "synthetic construct" _pdbx_item_examples.detail . _item_aliases.alias_name '_rcsb_entity_src_syn.organism_scientific' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_entity_src_syn.organism_common_name _item_description.description ; The common name of the organism from which the sequence of the synthetic entity was derived. ; _item.name '_pdbx_entity_src_syn.organism_common_name' _item.category_id pdbx_entity_src_syn _item.mandatory_code no _item_type.code text _item_examples.case 'house mouse' _item_aliases.alias_name '_rcsb_entity_src_syn.organism_common_name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_entity_src_syn.strain _item_description.description ; The strain of the organism from which the sequence of the synthetic entity was derived. ; _item.name '_pdbx_entity_src_syn.strain' _item.category_id pdbx_entity_src_syn _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_rcsb_entity_src_syn.strain' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_entity_src_syn.ncbi_taxonomy_id _item_description.description ; NCBI Taxonomy identifier of the organism from which the sequence of the synthetic entity was derived. Reference: Wheeler DL, Chappey C, Lash AE, Leipe DD, Madden TL, Schuler GD, Tatusova TA, Rapp BA (2000). Database resources of the National Center for Biotechnology Information. Nucleic Acids Res 2000 Jan 1;28(1):10-4 Benson DA, Karsch-Mizrachi I, Lipman DJ, Ostell J, Rapp BA, Wheeler DL (2000). GenBank. Nucleic Acids Res 2000 Jan 1;28(1):15-18. ; _item.name '_pdbx_entity_src_syn.ncbi_taxonomy_id' _item.category_id 'pdbx_entity_src_syn' _item.mandatory_code no _item_type.code line _pdbx_item.name "_pdbx_entity_src_syn.ncbi_taxonomy_id" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_entity_src_syn.ncbi_taxonomy_id" _pdbx_item_description.description "NCBI Taxonomy identifier of the organism from which the sequence of the synthetic entity was derived" _item_aliases.alias_name '_rcsb_entity_src_syn.ncbi_taxonomy_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_entity_src_syn.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_pdbx_entity_src_syn.entity_id' _item.category_id pdbx_entity_src_syn _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_entity_src_syn.entity_id' _item_linked.parent_name '_entity.id' loop_ _item_examples.case '1' '2' '3' '4' _item_aliases.alias_name '_rcsb_entity_src_syn.entity_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### --------------------------------------------------------------------------- ### Supplemental items in existing mmCIF categories ... ### ### save__atom_site.pdbx_auth_alt_id _item_description.description ; Author's alternate location identifier. ; _item.name '_atom_site.pdbx_auth_alt_id' _item.category_id atom_site _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_atom_site.ndb_auth_alt_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site.pdbx_PDB_ins_code _item_description.description ; PDB insertion code. ; _item.name '_atom_site.pdbx_PDB_ins_code' _item.category_id atom_site _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_atom_site.ndb_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site.pdbx_PDB_model_num _item_description.description ; PDB model number. ; _item.name '_atom_site.pdbx_PDB_model_num' _item.category_id atom_site _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_atom_site.ndb_model' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_range.maximum . _item_range.minimum 0 save_ save__atom_site.pdbx_PDB_residue_no _item_description.description ; PDB residue number. ; _item.name '_atom_site.pdbx_PDB_residue_no' _item.category_id atom_site _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_atom_site.ndb_PDB_residue_no' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site.pdbx_PDB_residue_name _item_description.description ; PDB residue name. ; _item.name '_atom_site.pdbx_PDB_residue_name' _item.category_id atom_site _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_atom_site.ndb_PDB_residue_name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site.pdbx_PDB_strand_id _item_description.description ; PDB strand id. ; _item.name '_atom_site.pdbx_PDB_strand_id' _item.category_id atom_site _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_atom_site.ndb_PDB_strand_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site.pdbx_PDB_atom_name _item_description.description ; PDB atom name. ; _item.name '_atom_site.pdbx_PDB_atom_name' _item.category_id atom_site _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_atom_site.ndb_PDB_atom_name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site.pdbx_auth_atom_name _item_description.description ; Author's atom name. ; _item.name '_atom_site.pdbx_auth_atom_name' _item.category_id atom_site _item.mandatory_code no _item_type.code atcode _item_aliases.alias_name '_atom_site.ndb_auth_atom_name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site.pdbx_auth_atom_name' save_ ## ## save__atom_site_anisotrop.pdbx_auth_seq_id _item_description.description ; Pointer to _atom_site.auth_seq_id ; _item.name '_atom_site_anisotrop.pdbx_auth_seq_id' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_type.code code _item_linked.child_name '_atom_site_anisotrop.pdbx_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' _item_aliases.alias_name '_atom_site_anisotrop.ndb_PDB_residue_no' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site_anisotrop.pdbx_auth_alt_id _item_description.description ; Pointer to _atom_site.pdbx_auth_alt_id. ; _item.name '_atom_site_anisotrop.pdbx_auth_alt_id' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_type.code code _item_linked.child_name '_atom_site_anisotrop.pdbx_auth_alt_id' _item_linked.parent_name '_atom_site.pdbx_auth_alt_id' # _item_aliases.alias_name '_atom_site_anisotrop.ndb_auth_alt_id' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 save_ save__atom_site_anisotrop.pdbx_auth_asym_id _item_description.description ; Pointer to _atom_site.auth_asym_id ; _item.name '_atom_site_anisotrop.pdbx_auth_asym_id' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_type.code code _item_linked.child_name '_atom_site_anisotrop.pdbx_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' _item_aliases.alias_name '_atom_site_anisotrop.ndb_PDB_strand_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site_anisotrop.pdbx_auth_atom_id _item_description.description ; Pointer to _atom_site.auth_atom_id ; _item.name '_atom_site_anisotrop.pdbx_auth_atom_id' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_atom_site_anisotrop.pdbx_auth_atom_id' _item_linked.parent_name '_atom_site.auth_atom_id' _item_aliases.alias_name '_atom_site_anisotrop.ndb_PDB_atom_name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site_anisotrop.pdbx_auth_comp_id _item_description.description ; Pointer to _atom_site.auth_comp_id ; _item.name '_atom_site_anisotrop.pdbx_auth_comp_id' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_type.code code _item_linked.child_name '_atom_site_anisotrop.pdbx_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' _item_aliases.alias_name '_atom_site_anisotrop.ndb_PDB_residue_name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site_anisotrop.pdbx_label_seq_id _item_description.description ; Pointer to _atom_site.label_seq_id ; _item.name '_atom_site_anisotrop.pdbx_label_seq_id' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_type.code int _item_linked.child_name '_atom_site_anisotrop.pdbx_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' _item_aliases.alias_name '_atom_site_anisotrop.ndb_label_seq_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site_anisotrop.pdbx_label_alt_id _item_description.description ; Pointer to _atom_site.label_alt_id. ; _item.name '_atom_site_anisotrop.pdbx_label_alt_id' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_type.code code _item_linked.child_name '_atom_site_anisotrop.pdbx_label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' _item_aliases.alias_name '_atom_site_anisotrop.ndb_label_alt_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site_anisotrop.pdbx_label_asym_id _item_description.description ; Pointer to _atom_site.label_asym_id ; _item.name '_atom_site_anisotrop.pdbx_label_asym_id' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_type.code code _item_linked.child_name '_atom_site_anisotrop.pdbx_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' _item_aliases.alias_name '_atom_site_anisotrop.ndb_label_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site_anisotrop.pdbx_label_atom_id _item_description.description ; Pointer to _atom_site.label_atom_id ; _item.name '_atom_site_anisotrop.pdbx_label_atom_id' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_atom_site_anisotrop.pdbx_label_atom_id' _item_linked.parent_name '_atom_site.label_atom_id' _item_aliases.alias_name '_atom_site_anisotrop.ndb_label_atom_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site_anisotrop.pdbx_label_comp_id _item_description.description ; Pointer to _atom_site.label_comp_id ; _item.name '_atom_site_anisotrop.pdbx_label_comp_id' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_atom_site_anisotrop.pdbx_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' _item_aliases.alias_name '_atom_site_anisotrop.ndb_label_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site_anisotrop.pdbx_PDB_ins_code _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code ; _item.name '_atom_site_anisotrop.pdbx_PDB_ins_code' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_type.code code _item_linked.child_name '_atom_site_anisotrop.pdbx_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_atom_site_anisotrop.ndb_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__atom_site_anisotrop.pdbx_PDB_model_num _item_description.description ; Pointer to _atom_site.pdbx_PDB_model_num ; _item.name '_atom_site_anisotrop.pdbx_PDB_model_num' _item.category_id atom_site_anisotrop _item.mandatory_code no _item_type.code int _item_linked.child_name '_atom_site_anisotrop.pdbx_PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ ## ## save__cell.pdbx_unique_axis _item_description.description ; To further identify unique axis if necessary. E.g., P 21 with an unique C axis will have 'C' in this field. ; _item.name '_cell.pdbx_unique_axis' _item.category_id cell _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_cell.ndb_unique_axis' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save__chem_comp.pdbx_synonyms _item_description.description ; Synonym list for the component. ; _item.name '_chem_comp.pdbx_synonyms' _item.category_id chem_comp _item.mandatory_code no _item_type.code text _item_examples.case ATP _item_aliases.alias_name '_chem_comp.ndb_synonyms' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__chem_comp.pdbx_modification_details _item_description.description ; For nonstandard components a text description of modification of the parent component. ; _item.name '_chem_comp.pdbx_modification_details' _item.category_id chem_comp _item.mandatory_code no _item_type.code text _item_examples.case ATP _item_aliases.alias_name '_chem_comp.rcsb_modification_details' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__chem_comp.pdbx_component_no _item_description.description ; A serial number used by PDB in the FORMUL record. ; _item.name '_chem_comp.pdbx_component_no' _item.category_id chem_comp _item.mandatory_code no _item_type.code int _item_examples.case 3 _item_aliases.alias_name '_chem_comp.ndb_component_no' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__chem_comp.pdbx_type _item_description.description ; A preliminary classification used by PDB. ; _item.name '_chem_comp.pdbx_type' _item.category_id chem_comp _item.mandatory_code no _item_type.code uline save_ save__chem_comp.pdbx_ambiguous_flag _item_description.description ; A preliminary classification used by PDB to indicate that the chemistry of this component while described as clearly as possible is still ambiguous. Software tools may not be able to process this component definition. ; _item.name '_chem_comp.pdbx_ambiguous_flag' _item.category_id chem_comp _item.mandatory_code no _item_type.code code save_ save__chem_comp.pdbx_replaced_by _item_description.description ; Identifies the _chem_comp.id of the component that has replaced this component. ; _item.name '_chem_comp.pdbx_replaced_by' _item.category_id chem_comp _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case 'q11' 'tvx' save_ save__chem_comp.pdbx_replaces _item_description.description ; Identifies the _chem_comp.id's of the components which have been replaced by this component. Multiple id codes should be separated by commas. ; _item.name '_chem_comp.pdbx_replaces' _item.category_id chem_comp _item.mandatory_code no _item_type.code uline loop_ _item_examples.case 'q11' 'tvx,atv' save_ save__chem_comp.pdbx_formal_charge _item_description.description ; The net integer charge assigned to this component. This is the formal charge assignment normally found in chemical diagrams. ; _item.name '_chem_comp.pdbx_formal_charge' _item.category_id chem_comp _item.mandatory_code no _item_default.value 0 _item_type.code int save_ save__chem_comp_atom.pdbx_align _item_description.description ; Atom name alignment offset in PDB atom field. ; _item.name '_chem_comp_atom.pdbx_align' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code int save_ save__chem_comp_atom.pdbx_ordinal _item_description.description ; Ordinal index for the component atom list. ; _item.name '_chem_comp_atom.pdbx_ordinal' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code int save_ save__chem_comp_bond.pdbx_ordinal _item_description.description ; Ordinal index for the component bond list. ; _item.name '_chem_comp_bond.pdbx_ordinal' _item.category_id chem_comp_bond _item.mandatory_code no _item_type.code int save_ ### ### save__citation.pdbx_database_id_DOI _item_description.description ; Document Object Identifier used by doi.org to uniquely specify bibliographic entry. ; _item.name '_citation.pdbx_database_id_DOI' _item.category_id citation _item.mandatory_code no _item_type.code code _pdbx_item_type.name '_citation.pdbx_database_id_DOI' _pdbx_item_type.code citation_doi _item_examples.case '10.2345/S1384107697000225' _pdbx_item_description.name "_citation.pdbx_database_id_DOI" _pdbx_item_description.description "The document Object Identifier used by doi.org to uniquely specify bibliographic entry" _item_aliases.alias_name '_citation.rcsb_database_id_DOI' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__citation.pdbx_database_id_PubMed _item_description.description ; Ascession number used by PubMed to categorize a specific bibliographic entry. ; _item.name '_citation.pdbx_database_id_PubMed' _item.category_id citation _item.mandatory_code no _pdbx_item_description.name "_citation.pdbx_database_id_PubMed" _pdbx_item_description.description "The accession number used by PubMed to categorize a specific bibliographic entry" loop_ _item_range.maximum _item_range.minimum . -1 -1 -1 _item_type.code int _item_examples.case 12627512 _item_aliases.alias_name '_citation.rcsb_database_id_PubMed' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## save__citation.pdbx_database_id_patent _item_description.description ; If citation is a patent, the accession issued by a patent office. ; _item.name '_citation.pdbx_database_id_patent' _item.category_id citation _item.mandatory_code no _item_type.code line save_ save__computing.pdbx_structure_refinement_method _item_description.description ; Program/package name for structure refinement method. ; _item.name '_computing.pdbx_structure_refinement_method' _item.category_id computing _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_computing.ndb_structure_refinement_method' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 loop_ _item_related.related_name _item_related.function_code '_software.name' replacedby '_software.classification' replacedby save_ save__computing.pdbx_data_reduction_ii _item_description.description ; Program/package name for data reduction/intensity integration software ; _item.name '_computing.pdbx_data_reduction_ii' _item.category_id computing _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_computing.rcsb_data_reduction_ii' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 loop_ _item_related.related_name _item_related.function_code '_software.name' replacedby '_software.classification' replacedby loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_computing.pdbx_data_reduction_ii" APEX . "_computing.pdbx_data_reduction_ii" AUTOMAR . "_computing.pdbx_data_reduction_ii" CrystalClear . "_computing.pdbx_data_reduction_ii" DENZO . "_computing.pdbx_data_reduction_ii" DIFDAT . "_computing.pdbx_data_reduction_ii" DNA . "_computing.pdbx_data_reduction_ii" DPS . "_computing.pdbx_data_reduction_ii" HKL-2000 . "_computing.pdbx_data_reduction_ii" HKL-3000 . "_computing.pdbx_data_reduction_ii" MOSFLM . "_computing.pdbx_data_reduction_ii" PROCESS . "_computing.pdbx_data_reduction_ii" "PROTEUM PLUS" . "_computing.pdbx_data_reduction_ii" SAINT . "_computing.pdbx_data_reduction_ii" StructureStudio . "_computing.pdbx_data_reduction_ii" d*TREK . # save_ save__computing.pdbx_data_reduction_ds _item_description.description ; Program/package name for data reduction/data scaling ; _item.name '_computing.pdbx_data_reduction_ds' _item.category_id computing _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_computing.rcsb_data_reduction_ds' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_computing.pdbx_data_reduction_ds' ADDREF . '_computing.pdbx_data_reduction_ds' APEX . '_computing.pdbx_data_reduction_ds' AUTOMAR . '_computing.pdbx_data_reduction_ds' CrystalClear . '_computing.pdbx_data_reduction_ds' DNA . '_computing.pdbx_data_reduction_ds' DPS . '_computing.pdbx_data_reduction_ds' HKL-2000 . '_computing.pdbx_data_reduction_ds' HKL-3000 . '_computing.pdbx_data_reduction_ds' PROCESS . '_computing.pdbx_data_reduction_ds' 'PROTEUM PLUS' . '_computing.pdbx_data_reduction_ds' SCALA . '_computing.pdbx_data_reduction_ds' SCALEPACK . '_computing.pdbx_data_reduction_ds' SORTRF . '_computing.pdbx_data_reduction_ds' StructureStudio . '_computing.pdbx_data_reduction_ds' d*TREK . '_computing.pdbx_data_reduction_ds' XSCALE . loop_ _item_related.related_name _item_related.function_code '_software.name' replacedby '_software.classification' replacedby save_ ## ## ## ## save__diffrn_detector.pdbx_frames_total _item_description.description ; The total number of data frames collected for this data set. ; _item.name '_diffrn_detector.pdbx_frames_total' _item.category_id diffrn_detector _item.mandatory_code no _item_type.code int loop_ _item_examples.case 20 100 save_ save__diffrn_detector.pdbx_collection_time_total _item_description.description ; The total number of seconds required to measure this data set. ; _item.name '_diffrn_detector.pdbx_collection_time_total' _item.category_id diffrn_detector _item.mandatory_code no _item_type.code float _item_units.code seconds loop_ _item_examples.case 120.0 save_ save__diffrn_detector.pdbx_collection_date _item_description.description ; The date of data collection. ; _item.name '_diffrn_detector.pdbx_collection_date' _item.category_id diffrn_detector _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm-flex _item_examples.case '1996-12-25' _item_aliases.alias_name '_diffrn_detector.ndb_collection_date' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _pdbx_item.name "_diffrn_detector.pdbx_collection_date" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_diffrn_detector.pdbx_collection_date" _pdbx_item_description.description "Please provide the date that the experiment was carried out. Use the format YYYY-MM-DD." # _pdbx_item_type.name "_diffrn_detector.pdbx_collection_date" _pdbx_item_type.code date_dep # save_ ## ## save__diffrn_radiation.pdbx_monochromatic_or_laue_m_l _item_description.description ; Monochromatic or Laue. ; _item.name '_diffrn_radiation.pdbx_monochromatic_or_laue_m_l' _item.category_id diffrn_radiation _item.mandatory_code no _item_type.code code _item_default.value 'M' loop_ _item_enumeration.value _item_enumeration.detail 'M' . 'L' . loop_ _item_examples.case 'M' 'L' _pdbx_item.name "_diffrn_radiation.pdbx_monochromatic_or_laue_m_l" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_diffrn_radiation.pdbx_monochromatic_or_laue_m_l" _pdbx_item_description.description "Indicate whether monochromatic or Laue radiation was used for the experiment" # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_diffrn_radiation.pdbx_monochromatic_or_laue_m_l" L . "_diffrn_radiation.pdbx_monochromatic_or_laue_m_l" M . _item_aliases.alias_name '_diffrn_radiation.ndb_monochromatic_or_laue_m_l' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### save__diffrn_radiation.pdbx_wavelength_list _item_description.description ; Comma separated list of wavelengths or wavelength range. ; _item.name '_diffrn_radiation.pdbx_wavelength_list' _item.category_id diffrn_radiation _item.mandatory_code no _item_type.code line save_ save__diffrn_radiation.pdbx_wavelength _item_description.description ; Wavelength of radiation. ; _item.name '_diffrn_radiation.pdbx_wavelength' _item.category_id diffrn_radiation _item.mandatory_code no _item_type.code line save_ save__diffrn_source.pdbx_wavelength_list _item_description.description ; Comma separated list of wavelengths or wavelength range. ; _item.name '_diffrn_source.pdbx_wavelength_list' _item.category_id diffrn_source _item.mandatory_code no _item_type.code line # _pdbx_item.name "_diffrn_source.pdbx_wavelength_list" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_diffrn_source.pdbx_wavelength_list" _pdbx_item_description.description "Provide the wavelength(s) in Angstrom used for data collection. Multiple wavelengths should be comma separated. For Laue experiments, indicate the range with a hyphen." # # #loop_ #_pdbx_item_range.name #_pdbx_item_range.minimum #_pdbx_item_range.maximum # "_diffrn_source.pdbx_wavelength_list" 0.5 0.5 # "_diffrn_source.pdbx_wavelength_list" 0.5 2.0 # "_diffrn_source.pdbx_wavelength_list" 2.0 2.0 # _pdbx_item_examples.name "_diffrn_source.pdbx_wavelength_list" _pdbx_item_examples.case "0.987 or 0.987, 0.988, 1.0 or 0.99-1.5" _pdbx_item_examples.detail . # _item_aliases.alias_name '_diffrn_source.rcsb_wavelength_list' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__diffrn_source.pdbx_wavelength _item_description.description ; Wavelength of radiation. ; _item.name '_diffrn_source.pdbx_wavelength' _item.category_id diffrn_source _item.mandatory_code no _pdbx_item.name "_diffrn_source.pdbx_wavelength" _pdbx_item.mandatory_code no _item_type.code line _item_aliases.alias_name '_diffrn_source.rcsb_wavelength' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__diffrn_radiation.pdbx_diffrn_protocol _item_description.description ; SINGLE WAVELENGTH, LAUE, or MAD. ; _item.name '_diffrn_radiation.pdbx_diffrn_protocol' _item.category_id diffrn_radiation _item.mandatory_code no _item_type.code line _pdbx_item.name "_diffrn_radiation.pdbx_diffrn_protocol" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_diffrn_radiation.pdbx_diffrn_protocol" _pdbx_item_description.description "Give the experimental protocol used for data collection." _item_default.value 'SINGLE WAVELENGTH' # loop_ # _item_enumeration.value # 'SINGLE WAVELENGTH' # 'MONOCHROMATIC' # 'LAUE' # 'MAD' # 'OTHER' loop_ _item_examples.case 'SINGLE WAVELENGTH' 'MONOCHROMATIC' 'LAUE' 'MAD' 'OTHER' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_diffrn_radiation.pdbx_diffrn_protocol" LAUE . "_diffrn_radiation.pdbx_diffrn_protocol" MAD . "_diffrn_radiation.pdbx_diffrn_protocol" "SINGLE WAVELENGTH" . # _item_aliases.alias_name '_diffrn_radiation.rcsb_diffrn_protocol' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__diffrn_source.pdbx_synchrotron_beamline _item_description.description ; Synchrotron beamline. ; _item.name '_diffrn_source.pdbx_synchrotron_beamline' _item.category_id diffrn_source _item.mandatory_code no _item_type.code line _item_aliases.alias_name '_diffrn_source.ndb_synchrotron_beamline' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _pdbx_item.name "_diffrn_source.pdbx_synchrotron_beamline" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_diffrn_source.pdbx_synchrotron_beamline" _pdbx_item_description.description "If synchrotron radition was used, use the pulldown to specificy the site" # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_diffrn_source.pdbx_synchrotron_beamline" 1-BM-C . "_diffrn_source.pdbx_synchrotron_beamline" 1G-A . "_diffrn_source.pdbx_synchrotron_beamline" 1G-B . "_diffrn_source.pdbx_synchrotron_beamline" 1G-C . "_diffrn_source.pdbx_synchrotron_beamline" 08B1-1 . "_diffrn_source.pdbx_synchrotron_beamline" 08ID-1 . "_diffrn_source.pdbx_synchrotron_beamline" 11C . "_diffrn_source.pdbx_synchrotron_beamline" 11.2C . "_diffrn_source.pdbx_synchrotron_beamline" 12.3.1 . "_diffrn_source.pdbx_synchrotron_beamline" 12.3.1-PX . "_diffrn_source.pdbx_synchrotron_beamline" 12.3.1-SAXS . "_diffrn_source.pdbx_synchrotron_beamline" 14.1 . "_diffrn_source.pdbx_synchrotron_beamline" 14.2 . "_diffrn_source.pdbx_synchrotron_beamline" 14.3 . "_diffrn_source.pdbx_synchrotron_beamline" 14-BM-C . "_diffrn_source.pdbx_synchrotron_beamline" 14-BM-D . "_diffrn_source.pdbx_synchrotron_beamline" 14-ID-B . "_diffrn_source.pdbx_synchrotron_beamline" 17-BM . "_diffrn_source.pdbx_synchrotron_beamline" 17-ID . "_diffrn_source.pdbx_synchrotron_beamline" 17-ID-1 . "_diffrn_source.pdbx_synchrotron_beamline" 17-ID-2 . "_diffrn_source.pdbx_synchrotron_beamline" 18-ID . "_diffrn_source.pdbx_synchrotron_beamline" 19-BM . "_diffrn_source.pdbx_synchrotron_beamline" 19-ID . "_diffrn_source.pdbx_synchrotron_beamline" 1W2B . "_diffrn_source.pdbx_synchrotron_beamline" 2.0.1 . "_diffrn_source.pdbx_synchrotron_beamline" 21-ID-D . "_diffrn_source.pdbx_synchrotron_beamline" 21-ID-E . "_diffrn_source.pdbx_synchrotron_beamline" 21-ID-F . "_diffrn_source.pdbx_synchrotron_beamline" 21-ID-G . "_diffrn_source.pdbx_synchrotron_beamline" 22-BM . "_diffrn_source.pdbx_synchrotron_beamline" 22-ID . "_diffrn_source.pdbx_synchrotron_beamline" 23-BM-B . "_diffrn_source.pdbx_synchrotron_beamline" 23-ID-B . "_diffrn_source.pdbx_synchrotron_beamline" 23-ID-D . "_diffrn_source.pdbx_synchrotron_beamline" 24-ID-C . "_diffrn_source.pdbx_synchrotron_beamline" 24-ID-E . "_diffrn_source.pdbx_synchrotron_beamline" 31-ID . "_diffrn_source.pdbx_synchrotron_beamline" 32-ID . "_diffrn_source.pdbx_synchrotron_beamline" 34-ID . "_diffrn_source.pdbx_synchrotron_beamline" 3W1A . "_diffrn_source.pdbx_synchrotron_beamline" 4.2.2 . "_diffrn_source.pdbx_synchrotron_beamline" 4A . "_diffrn_source.pdbx_synchrotron_beamline" 5.0.1 . "_diffrn_source.pdbx_synchrotron_beamline" 5.0.2 . "_diffrn_source.pdbx_synchrotron_beamline" 5.0.3 . "_diffrn_source.pdbx_synchrotron_beamline" 5.2R . "_diffrn_source.pdbx_synchrotron_beamline" "5C (4A)" . "_diffrn_source.pdbx_synchrotron_beamline" 5ID-B . "_diffrn_source.pdbx_synchrotron_beamline" 6B . "_diffrn_source.pdbx_synchrotron_beamline" 6C1 . "_diffrn_source.pdbx_synchrotron_beamline" 6D . "_diffrn_source.pdbx_synchrotron_beamline" "7A (6B, 6C1)" . "_diffrn_source.pdbx_synchrotron_beamline" 8.2.1 . "_diffrn_source.pdbx_synchrotron_beamline" 8.2.2 . "_diffrn_source.pdbx_synchrotron_beamline" 8.3.1 . "_diffrn_source.pdbx_synchrotron_beamline" 8-BM . "_diffrn_source.pdbx_synchrotron_beamline" A1 . "_diffrn_source.pdbx_synchrotron_beamline" AMO . "_diffrn_source.pdbx_synchrotron_beamline" ANTARES . "_diffrn_source.pdbx_synchrotron_beamline" AR-NE3A . "_diffrn_source.pdbx_synchrotron_beamline" AR-NW12A . "_diffrn_source.pdbx_synchrotron_beamline" AR-NW14A . "_diffrn_source.pdbx_synchrotron_beamline" BIODIFF . "_diffrn_source.pdbx_synchrotron_beamline" BioMAX . "_diffrn_source.pdbx_synchrotron_beamline" BL02U1 . "_diffrn_source.pdbx_synchrotron_beamline" BL03 . "_diffrn_source.pdbx_synchrotron_beamline" BL07 . "_diffrn_source.pdbx_synchrotron_beamline" BL-03 . "_diffrn_source.pdbx_synchrotron_beamline" BL10U2 . "_diffrn_source.pdbx_synchrotron_beamline" BL11-1 . "_diffrn_source.pdbx_synchrotron_beamline" BL11-3 . "_diffrn_source.pdbx_synchrotron_beamline" BL12-1 . "_diffrn_source.pdbx_synchrotron_beamline" BL12-2 . "_diffrn_source.pdbx_synchrotron_beamline" BL12B2 . "_diffrn_source.pdbx_synchrotron_beamline" BL13B1 . "_diffrn_source.pdbx_synchrotron_beamline" BL13C1 . "_diffrn_source.pdbx_synchrotron_beamline" BL14-1 . "_diffrn_source.pdbx_synchrotron_beamline" BL1-5 . "_diffrn_source.pdbx_synchrotron_beamline" BL15A . "_diffrn_source.pdbx_synchrotron_beamline" BL15A1 . "_diffrn_source.pdbx_synchrotron_beamline" BL-17A . "_diffrn_source.pdbx_synchrotron_beamline" BL17A . "_diffrn_source.pdbx_synchrotron_beamline" BL17B . "_diffrn_source.pdbx_synchrotron_beamline" BL17B1 . "_diffrn_source.pdbx_synchrotron_beamline" BL17B2 . "_diffrn_source.pdbx_synchrotron_beamline" BL17U . "_diffrn_source.pdbx_synchrotron_beamline" BL17U1 . "_diffrn_source.pdbx_synchrotron_beamline" BL18U . "_diffrn_source.pdbx_synchrotron_beamline" BL18U1 . "_diffrn_source.pdbx_synchrotron_beamline" BL19U1 . "_diffrn_source.pdbx_synchrotron_beamline" BL-18B . "_diffrn_source.pdbx_synchrotron_beamline" BL-1A . "_diffrn_source.pdbx_synchrotron_beamline" BL2 . "_diffrn_source.pdbx_synchrotron_beamline" BL24XU . "_diffrn_source.pdbx_synchrotron_beamline" BL26B1 . "_diffrn_source.pdbx_synchrotron_beamline" BL26B2 . "_diffrn_source.pdbx_synchrotron_beamline" BL2S1 . "_diffrn_source.pdbx_synchrotron_beamline" BL3 . "_diffrn_source.pdbx_synchrotron_beamline" BL32B2 . "_diffrn_source.pdbx_synchrotron_beamline" BL32XU . "_diffrn_source.pdbx_synchrotron_beamline" BL38B1 . "_diffrn_source.pdbx_synchrotron_beamline" BL40B2 . "_diffrn_source.pdbx_synchrotron_beamline" BL41XU . "_diffrn_source.pdbx_synchrotron_beamline" BL4-2 . "_diffrn_source.pdbx_synchrotron_beamline" BL44B2 . "_diffrn_source.pdbx_synchrotron_beamline" BL44XU . "_diffrn_source.pdbx_synchrotron_beamline" BL45PX . "_diffrn_source.pdbx_synchrotron_beamline" BL45XU . "_diffrn_source.pdbx_synchrotron_beamline" BL-5A . "_diffrn_source.pdbx_synchrotron_beamline" BL6-2 . "_diffrn_source.pdbx_synchrotron_beamline" BL-6A . "_diffrn_source.pdbx_synchrotron_beamline" BL-6B . "_diffrn_source.pdbx_synchrotron_beamline" BL7-1 . "_diffrn_source.pdbx_synchrotron_beamline" BL7-3 . "_diffrn_source.pdbx_synchrotron_beamline" BL7.2W . "_diffrn_source.pdbx_synchrotron_beamline" BL9-1 . "_diffrn_source.pdbx_synchrotron_beamline" BL9-2 . "_diffrn_source.pdbx_synchrotron_beamline" BL9-3 . "_diffrn_source.pdbx_synchrotron_beamline" BM02 . "_diffrn_source.pdbx_synchrotron_beamline" BM14 . "_diffrn_source.pdbx_synchrotron_beamline" BM16 . "_diffrn_source.pdbx_synchrotron_beamline" BM1A . "_diffrn_source.pdbx_synchrotron_beamline" BM26 . "_diffrn_source.pdbx_synchrotron_beamline" BM30A . "_diffrn_source.pdbx_synchrotron_beamline" BW6 . "_diffrn_source.pdbx_synchrotron_beamline" BW7A . "_diffrn_source.pdbx_synchrotron_beamline" BW7B . "_diffrn_source.pdbx_synchrotron_beamline" CG4D . "_diffrn_source.pdbx_synchrotron_beamline" CRISTAL . "_diffrn_source.pdbx_synchrotron_beamline" CSI . "_diffrn_source.pdbx_synchrotron_beamline" CXI . "_diffrn_source.pdbx_synchrotron_beamline" D02A-SAXS2 . "_diffrn_source.pdbx_synchrotron_beamline" D03B-MX1 . "_diffrn_source.pdbx_synchrotron_beamline" D11 . "_diffrn_source.pdbx_synchrotron_beamline" D11A-SAXS1 . "_diffrn_source.pdbx_synchrotron_beamline" D16 . "_diffrn_source.pdbx_synchrotron_beamline" D19 . "_diffrn_source.pdbx_synchrotron_beamline" D22 . "_diffrn_source.pdbx_synchrotron_beamline" D33 . "_diffrn_source.pdbx_synchrotron_beamline" DW21B . "_diffrn_source.pdbx_synchrotron_beamline" DW32 . "_diffrn_source.pdbx_synchrotron_beamline" D41A . "_diffrn_source.pdbx_synchrotron_beamline" ESA . "_diffrn_source.pdbx_synchrotron_beamline" ESB . "_diffrn_source.pdbx_synchrotron_beamline" ESC . "_diffrn_source.pdbx_synchrotron_beamline" F1 . "_diffrn_source.pdbx_synchrotron_beamline" F2 . "_diffrn_source.pdbx_synchrotron_beamline" F3 . "_diffrn_source.pdbx_synchrotron_beamline" FXE . "_diffrn_source.pdbx_synchrotron_beamline" FXS . "_diffrn_source.pdbx_synchrotron_beamline" G3 . "_diffrn_source.pdbx_synchrotron_beamline" GCPCC . "_diffrn_source.pdbx_synchrotron_beamline" I02 . "_diffrn_source.pdbx_synchrotron_beamline" I03 . "_diffrn_source.pdbx_synchrotron_beamline" I04 . "_diffrn_source.pdbx_synchrotron_beamline" I04-1 . "_diffrn_source.pdbx_synchrotron_beamline" I23 . "_diffrn_source.pdbx_synchrotron_beamline" I24 . "_diffrn_source.pdbx_synchrotron_beamline" I711 . "_diffrn_source.pdbx_synchrotron_beamline" I911-1 . "_diffrn_source.pdbx_synchrotron_beamline" I911-2 . "_diffrn_source.pdbx_synchrotron_beamline" I911-3 . "_diffrn_source.pdbx_synchrotron_beamline" I911-4 . "_diffrn_source.pdbx_synchrotron_beamline" I911-5 . "_diffrn_source.pdbx_synchrotron_beamline" ID09 . "_diffrn_source.pdbx_synchrotron_beamline" ID13 . "_diffrn_source.pdbx_synchrotron_beamline" ID14-1 . "_diffrn_source.pdbx_synchrotron_beamline" ID14-2 . "_diffrn_source.pdbx_synchrotron_beamline" ID14-3 . "_diffrn_source.pdbx_synchrotron_beamline" ID14-4 . "_diffrn_source.pdbx_synchrotron_beamline" ID2 . "_diffrn_source.pdbx_synchrotron_beamline" ID23-1 . "_diffrn_source.pdbx_synchrotron_beamline" ID23-2 . "_diffrn_source.pdbx_synchrotron_beamline" ID27 . "_diffrn_source.pdbx_synchrotron_beamline" ID29 . "_diffrn_source.pdbx_synchrotron_beamline" ID30B . "_diffrn_source.pdbx_synchrotron_beamline" K4.4 . "_diffrn_source.pdbx_synchrotron_beamline" LADI . "_diffrn_source.pdbx_synchrotron_beamline" "LADI III" . "_diffrn_source.pdbx_synchrotron_beamline" "LOQ" . "_diffrn_source.pdbx_synchrotron_beamline" MANACA . "_diffrn_source.pdbx_synchrotron_beamline" MANDI . "_diffrn_source.pdbx_synchrotron_beamline" MASSIF-1 . "_diffrn_source.pdbx_synchrotron_beamline" MASSIF-2 . "_diffrn_source.pdbx_synchrotron_beamline" MASSIF-3 . "_diffrn_source.pdbx_synchrotron_beamline" MFX . "_diffrn_source.pdbx_synchrotron_beamline" MX1 . "_diffrn_source.pdbx_synchrotron_beamline" MX2 . "_diffrn_source.pdbx_synchrotron_beamline" NCI . "_diffrn_source.pdbx_synchrotron_beamline" P11 . "_diffrn_source.pdbx_synchrotron_beamline" "P13 (MX1)" . "_diffrn_source.pdbx_synchrotron_beamline" "P14 (MX2)" . "_diffrn_source.pdbx_synchrotron_beamline" PCS . "_diffrn_source.pdbx_synchrotron_beamline" PETRA1 . "_diffrn_source.pdbx_synchrotron_beamline" "PROXIMA 1" . "_diffrn_source.pdbx_synchrotron_beamline" "PROXIMA 2" . "_diffrn_source.pdbx_synchrotron_beamline" PX10.1 . "_diffrn_source.pdbx_synchrotron_beamline" PX14.1 . "_diffrn_source.pdbx_synchrotron_beamline" PX14.2 . "_diffrn_source.pdbx_synchrotron_beamline" PX7.2 . "_diffrn_source.pdbx_synchrotron_beamline" PX9.5 . "_diffrn_source.pdbx_synchrotron_beamline" PX9.6 . "_diffrn_source.pdbx_synchrotron_beamline" PX-BL21 . "_diffrn_source.pdbx_synchrotron_beamline" SPB/SFX . "_diffrn_source.pdbx_synchrotron_beamline" "TPS 05A" . "_diffrn_source.pdbx_synchrotron_beamline" U7B . "_diffrn_source.pdbx_synchrotron_beamline" VMXi . "_diffrn_source.pdbx_synchrotron_beamline" VMXm . "_diffrn_source.pdbx_synchrotron_beamline" W01B-MX2 . "_diffrn_source.pdbx_synchrotron_beamline" X06DA . "_diffrn_source.pdbx_synchrotron_beamline" X06SA . "_diffrn_source.pdbx_synchrotron_beamline" X10SA . "_diffrn_source.pdbx_synchrotron_beamline" X11 . "_diffrn_source.pdbx_synchrotron_beamline" X12 . "_diffrn_source.pdbx_synchrotron_beamline" X12B . "_diffrn_source.pdbx_synchrotron_beamline" X12C . "_diffrn_source.pdbx_synchrotron_beamline" X13 . "_diffrn_source.pdbx_synchrotron_beamline" X17B1 . "_diffrn_source.pdbx_synchrotron_beamline" X1A . "_diffrn_source.pdbx_synchrotron_beamline" X25 . "_diffrn_source.pdbx_synchrotron_beamline" X26C . "_diffrn_source.pdbx_synchrotron_beamline" X29A . "_diffrn_source.pdbx_synchrotron_beamline" X31 . "_diffrn_source.pdbx_synchrotron_beamline" X3A . "_diffrn_source.pdbx_synchrotron_beamline" X3B . "_diffrn_source.pdbx_synchrotron_beamline" X4A . "_diffrn_source.pdbx_synchrotron_beamline" X4C . "_diffrn_source.pdbx_synchrotron_beamline" X6A . "_diffrn_source.pdbx_synchrotron_beamline" X7B . "_diffrn_source.pdbx_synchrotron_beamline" X8C . "_diffrn_source.pdbx_synchrotron_beamline" X9A . "_diffrn_source.pdbx_synchrotron_beamline" X9B . "_diffrn_source.pdbx_synchrotron_beamline" XALOC . "_diffrn_source.pdbx_synchrotron_beamline" XPP . # save_ save__diffrn_source.pdbx_synchrotron_site _item_description.description ; Synchrotron site. ; _item.name '_diffrn_source.pdbx_synchrotron_site' _item.category_id diffrn_source _item.mandatory_code no _item_type.code line _item_aliases.alias_name '_diffrn_source.ndb_synchrotron_site' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _pdbx_item.name "_diffrn_source.pdbx_synchrotron_site" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_diffrn_source.pdbx_synchrotron_site" _pdbx_item_description.description "If synchrotron radiation was used, please use the pulldown to specify the site and beamline" # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_diffrn_source.pdbx_synchrotron_site" AichiSR . "_diffrn_source.pdbx_synchrotron_site" ALBA . "_diffrn_source.pdbx_synchrotron_site" ALS . "_diffrn_source.pdbx_synchrotron_site" APS . "_diffrn_source.pdbx_synchrotron_site" "Australian Synchrotron" . "_diffrn_source.pdbx_synchrotron_site" BESSY . "_diffrn_source.pdbx_synchrotron_site" BSRF . "_diffrn_source.pdbx_synchrotron_site" CAMD . "_diffrn_source.pdbx_synchrotron_site" CHESS . "_diffrn_source.pdbx_synchrotron_site" CLSI . "_diffrn_source.pdbx_synchrotron_site" Diamond . "_diffrn_source.pdbx_synchrotron_site" ELETTRA . "_diffrn_source.pdbx_synchrotron_site" "EMBL/DESY, HAMBURG" . "_diffrn_source.pdbx_synchrotron_site" ESRF . "_diffrn_source.pdbx_synchrotron_site" 'European XFEL' . "_diffrn_source.pdbx_synchrotron_site" "FRM II" . "_diffrn_source.pdbx_synchrotron_site" "KURCHATOV SNC" . "_diffrn_source.pdbx_synchrotron_site" "JPARC MLF" . "_diffrn_source.pdbx_synchrotron_site" JRR-3M . "_diffrn_source.pdbx_synchrotron_site" KCSRNT . "_diffrn_source.pdbx_synchrotron_site" ILL . "_diffrn_source.pdbx_synchrotron_site" ISIS . "_diffrn_source.pdbx_synchrotron_site" LANSCE . "_diffrn_source.pdbx_synchrotron_site" LNLS . "_diffrn_source.pdbx_synchrotron_site" "LNLS SIRUS" . "_diffrn_source.pdbx_synchrotron_site" LURE . "_diffrn_source.pdbx_synchrotron_site" "MAX II" . "_diffrn_source.pdbx_synchrotron_site" "MAX IV" . "_diffrn_source.pdbx_synchrotron_site" "MPG/DESY, HAMBURG" . "_diffrn_source.pdbx_synchrotron_site" NFPSS . "_diffrn_source.pdbx_synchrotron_site" NSLS . "_diffrn_source.pdbx_synchrotron_site" NSLS-II . "_diffrn_source.pdbx_synchrotron_site" NSRL . "_diffrn_source.pdbx_synchrotron_site" NSRRC . "_diffrn_source.pdbx_synchrotron_site" "ORNL High Flux Isotope Reactor" . "_diffrn_source.pdbx_synchrotron_site" "ORNL Spallation Neutron Source" . "_diffrn_source.pdbx_synchrotron_site" PAL/PLS . "_diffrn_source.pdbx_synchrotron_site" PAL-XFEL . "_diffrn_source.pdbx_synchrotron_site" "PETRA II, DESY" . "_diffrn_source.pdbx_synchrotron_site" "PETRA III, EMBL c/o DESY" . "_diffrn_source.pdbx_synchrotron_site" "PETRA III, DESY" . "_diffrn_source.pdbx_synchrotron_site" "Photon Factory" . "_diffrn_source.pdbx_synchrotron_site" "RRCAT INDUS-2" . "_diffrn_source.pdbx_synchrotron_site" SACLA . "_diffrn_source.pdbx_synchrotron_site" SAGA-LS . "_diffrn_source.pdbx_synchrotron_site" "SLAC LCLS" . "_diffrn_source.pdbx_synchrotron_site" SLRI . "_diffrn_source.pdbx_synchrotron_site" SLS . "_diffrn_source.pdbx_synchrotron_site" SOLEIL . "_diffrn_source.pdbx_synchrotron_site" SPring-8 . "_diffrn_source.pdbx_synchrotron_site" SRS . "_diffrn_source.pdbx_synchrotron_site" SSRF . "_diffrn_source.pdbx_synchrotron_site" SSRL . "_diffrn_source.pdbx_synchrotron_site" "SwissFEL ARAMIS" . save_ ## ## save__entity.pdbx_description _item_description.description ; A description of the entity. Corresponds to the compound name in the PDB format. ; _item.name '_entity.pdbx_description' _item.category_id entity _item.mandatory_code no _pdbx_item.name "_entity.pdbx_description" _pdbx_item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'DNA (5'-D(*GP*(CH3)CP*GP*(CH3)CP*GP*C)-3')' PROFLAVINE 'PROTEIN (DEOXYRIBONUCLEASE I (E.C.3.1.21.1))' _item_aliases.alias_name '_entity.ndb_description' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _pdbx_item_examples.name "_entity.pdbx_description" _pdbx_item_examples.case "Green fluorescent protein" _pdbx_item_examples.detail . save_ save__entity.pdbx_number_of_molecules _item_description.description ; A place holder for the number of molecules of the entity in the entry. ; _item.name '_entity.pdbx_number_of_molecules' _item.category_id entity _item.mandatory_code no _item_type.code int loop_ _item_examples.case 1 2 3 _item_aliases.alias_name '_entity.ndb_number_of_molecules' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity.pdbx_parent_entity_id _item_description.description ; An identifier for the parent entity if this entity is part of a complex entity. For instance a chimeric entity may be decomposed into several independent chemical entities where each component entity was obtained from a different source. ; _item.name '_entity.pdbx_parent_entity_id' _item.category_id entity _item.mandatory_code no _item_type.code code _item_linked.child_name '_entity.pdbx_parent_entity_id' _item_linked.parent_name '_entity.id' loop_ _item_examples.case 1 2 3 _item_aliases.alias_name '_entity.rcsb_parent_entity_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity.pdbx_mutation _item_description.description ; Details about any entity mutation(s). ; _item.name '_entity.pdbx_mutation' _item.category_id entity _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'Y31H' 'DEL(298-323)' _item_aliases.alias_name '_entity_keywords.ndb_mutation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_related.related_name '_entity_keywords.pdbx_mutation' _item_related.function_code replaces save_ save__entity.pdbx_fragment _item_description.description ; Entity fragment description(s). ; _item.name '_entity.pdbx_fragment' _item.category_id entity _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'KLENOW FRAGMENT' 'REPLICASE OPERATOR HAIRPIN' 'C-TERMINAL DOMAIN' _item_aliases.alias_name '_entity_keywords.ndb_fragment' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_related.related_name '_entity_keywords.pdbx_fragment' _item_related.function_code replaces save_ save__entity.pdbx_ec _item_description.description ; Enzyme Commission (EC) number(s) ; _item.name '_entity.pdbx_ec' _item.category_id entity _item.mandatory_code no _item_type.code ec-type _item_examples.case 2.7.7.7 _item_aliases.alias_name '_entity_keywords.ndb_ec' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_related.related_name '_entity_keywords.pdbx_ec' _item_related.function_code replaces save_ save__entity.pdbx_modification _item_description.description ; Description(s) of any chemical or post-translational modifications ; _item.name '_entity.pdbx_modification' _item.category_id entity _item.mandatory_code no _item_type.code line _item_aliases.alias_name '_entity_keywords.rcsb_modification' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity.pdbx_formula_weight_exptl _item_description.description ; Experimentally determined formula mass in daltons of the entity ; _item.name '_entity.pdbx_formula_weight_exptl' _item.category_id entity _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1.0 1.0 1.0 _item_type.code float _item_aliases.alias_name '_entity.rcsb_formula_weight_exptl' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity.pdbx_formula_weight_exptl_method _item_description.description ; Method used to determine _entity.pdbx_formula_weight_exptl. ; _item.name '_entity.pdbx_formula_weight_exptl_method' _item.category_id entity _item.mandatory_code no _item_type.code line _item_examples.case 'MASS SPEC' loop_ _item_enumeration.value 'MASS SPEC' save_ ## ## #### save__entity_keywords.pdbx_mutation _item_description.description ; Entity mutation description(s). ; _item.name '_entity_keywords.pdbx_mutation' _item.category_id entity_keywords _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'Y31H' 'DEL(298-323)' # _item_aliases.alias_name '_entity_keywords.ndb_mutation' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 _item_related.related_name '_entity.pdbx_mutation' _item_related.function_code replacedby save_ save__entity_keywords.pdbx_fragment _item_description.description ; Entity fragment description(s). ; _item.name '_entity_keywords.pdbx_fragment' _item.category_id entity_keywords _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'KLENOW FRAGMENT' 'REPLICASE OPERATOR HAIRPIN' 'C-TERMINAL DOMAIN' # _item_aliases.alias_name '_entity_keywords.ndb_fragment' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 _item_related.related_name '_entity.pdbx_fragment' _item_related.function_code replacedby save_ save__entity_keywords.pdbx_ec _item_description.description ; Enzyme Commission (EC) number(s) ; _item.name '_entity_keywords.pdbx_ec' _item.category_id entity_keywords _item.mandatory_code no _item_type.code line _item_examples.case 2.7.7.7 # _item_aliases.alias_name '_entity_keywords.ndb_ec' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 _item_related.related_name '_entity.pdbx_ec' _item_related.function_code replacedby save_ ## ## save__entity_poly.pdbx_strand_id _item_description.description ; The PDB strand/chain id(s) corresponding to this polymer entity. ; _item.name '_entity_poly.pdbx_strand_id' _item.category_id entity_poly _item.mandatory_code no _item_type.code line loop_ _item_examples.case A B 'A,B,C' _pdbx_item_examples.name "_entity_poly.pdbx_strand_id" _pdbx_item_examples.case A,B _pdbx_item_examples.detail . _item_aliases.alias_name '_entity_poly.ndb_chain_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_poly.pdbx_seq_one_letter_code _item_description.description ; Sequence of protein or nucleic acid polymer in standard one-letter codes of amino acids or nucleotides. Non-standard amino acids/nucleotides are represented by their Chemical Component Dictionary (CCD) codes in parenthesis. Deoxynucleotides are represented by the specially-assigned 2-letter CCD codes in parenthesis, with 'D' prefix added to their ribonucleotide counterparts. For hybrid polymer, each residue is represented by the code of its individual type. A cyclic polymer is represented in linear sequence from the chosen start to end. A for Alanine or Adenosine-5'-monophosphate C for Cysteine or Cytidine-5'-monophosphate D for Aspartic acid E for Glutamic acid F for Phenylalanine G for Glycine or Guanosine-5'-monophosphate H for Histidine I for Isoleucine or Inosinic Acid L for Leucine K for Lysine M for Methionine N for Asparagine or Unknown ribonucleotide O for Pyrrolysine P for Proline Q for Glutamine R for Arginine S for Serine T for Threonine U for Selenocysteine or Uridine-5'-monophosphate V for Valine W for Tryptophan Y for Tyrosine (DA) for 2'-deoxyadenosine-5'-monophosphate (DC) for 2'-deoxycytidine-5'-monophosphate (DG) for 2'-deoxyguanosine-5'-monophosphate (DT) for Thymidine-5'-monophosphate (MSE) for Selenomethionine (SEP) for Phosphoserine (PTO) for Phosphothreonine (PTR) for Phosphotyrosine (PCA) for Pyroglutamic acid (UNK) for Unknown amino acid (ACE) for Acetylation cap (NH2) for Amidation cap ; _item.name '_entity_poly.pdbx_seq_one_letter_code' _item.category_id entity_poly _item.mandatory_code no _item_type.code text _item_examples.case ; (MSE)SHHWGYGKHNGPEHWHKDFPIAKGERQSPVDIDTHTAKYDPSLKPLSVSYDQATSLRILNNGAAFNVEFD ; _pdbx_item.name "_entity_poly.pdbx_seq_one_letter_code" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_entity_poly.pdbx_seq_one_letter_code" _pdbx_item_description.description "Chemical sequence expressed as string of one-letter amino acid codes. Modifications and non-standard amino acids should be input using the three letter code in parenthesis, e.g. (MSE)" # _pdbx_item_examples.name "_entity_poly.pdbx_seq_one_letter_code" _pdbx_item_examples.case "HHHH(MSE)AKQRSG or AUCGGAAU" _pdbx_item_examples.detail . # _pdbx_item_type.name "_entity_poly.pdbx_seq_one_letter_code" _pdbx_item_type.code sequence_dep # _item_aliases.alias_name '_entity_poly.ndb_seq_one_letter_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_poly.pdbx_seq_one_letter_code_can _item_description.description ; Canonical sequence of protein or nucleic acid polymer in standard one-letter codes of amino acids or nucleotides, corresponding to the sequence in _entity_poly.pdbx_seq_one_letter_code. Non-standard amino acids/nucleotides are represented by the codes of their parents if parent is specified in _chem_comp.mon_nstd_parent_comp_id, or by letter 'X' if parent is not specified. Deoxynucleotides are represented by their canonical one-letter codes of A, C, G, or T. ; _item.name '_entity_poly.pdbx_seq_one_letter_code_can' _item.category_id entity_poly _item.mandatory_code no _item_type.code text _item_examples.case ; MSHHWGYGKHNGPEHWHKDFPIAKGERQSPVDIDTHTAKYDPSLKPLSVSYDQATSLRILNNGAAFNVEFD ; _item_aliases.alias_name '_entity_poly.ndb_seq_one_letter_code_can' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_poly.pdbx_target_identifier _item_description.description ; For Structural Genomics entries, the sequence's target identifier registered at the TargetTrack database. ; _item.name '_entity_poly.pdbx_target_identifier' _item.category_id entity_poly _item.mandatory_code no _item_type.code line _item_examples.case 356560 _pdbx_item_examples.name "_entity_poly.pdbx_target_identifier" _pdbx_item_examples.case JCSG-11211 _pdbx_item_examples.detail . save_ ## ## save__entity_src_gen.pdbx_gene_src_fragment _item_description.description ; A domain or fragment of the molecule. ; _item.name '_entity_src_gen.pdbx_gene_src_fragment' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'CYTOPLASM' 'NUCLEUS' _item_aliases.alias_name '_entity_src_gen.ndb_gene_src_fragment' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_gene_src_gene _item_description.description ; Identifies the gene. ; _item.name '_entity_src_gen.pdbx_gene_src_gene' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_entity_src_gen.ndb_gene_src_gene' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_gene_src_scientific_name _item_description.description ; Scientific name of the organism. ; _item.name '_entity_src_gen.pdbx_gene_src_scientific_name' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_examples.case ; ESCHERICHIA COLI HOMO SAPIENS SACCHAROMYCES CEREVISIAE ; _pdbx_item.name "_entity_src_gen.pdbx_gene_src_scientific_name" _pdbx_item.mandatory_code yes # _pdbx_item_examples.name "_entity_src_gen.pdbx_gene_src_scientific_name" _pdbx_item_examples.case "Homo sapiens" _pdbx_item_examples.detail . # _item_aliases.alias_name '_entity_src_gen.ndb_gene_src_scientific_name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_gene_src_variant _item_description.description ; Identifies the variant. ; _item.name '_entity_src_gen.pdbx_gene_src_variant' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_examples.case 'DELTAH1DELTATRP' _item_aliases.alias_name '_entity_src_gen.ndb_gene_src_variant' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_gene_src_cell_line _item_description.description ; The specific line of cells. ; _item.name '_entity_src_gen.pdbx_gene_src_cell_line' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_examples.case 'HELA CELLS' _item_aliases.alias_name '_entity_src_gen.ndb_gene_src_cell_line' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_gene_src_atcc _item_description.description ; American Type Culture Collection tissue culture number. ; _item.name '_entity_src_gen.pdbx_gene_src_atcc' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_examples.case '6051' _item_aliases.alias_name '_entity_src_gen.ndb_gene_src_atcc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_gene_src_organ _item_description.description ; Organized group of tissues that carries on a specialized function. ; _item.name '_entity_src_gen.pdbx_gene_src_organ' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'KIDNEY' 'LIVER' 'PANCREAS' _item_aliases.alias_name '_entity_src_gen.ndb_gene_src_organ' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_gene_src_organelle _item_description.description ; Organized structure within cell. ; _item.name '_entity_src_gen.pdbx_gene_src_organelle' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_examples.case 'MITOCHONDRIA' _item_aliases.alias_name '_entity_src_gen.ndb_gene_src_organelle' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_gene_src_plasmid _item_description.description ; The source plasmid. ; _item.name '_entity_src_gen.pdbx_gene_src_plasmid' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_entity_src_gen.ndb_gene_src_plasmid' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_gene_src_plasmid_name _item_description.description ; The source plasmid. ; _item.name '_entity_src_gen.pdbx_gene_src_plasmid_name' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_entity_src_gen.ndb_gene_src_plasmid_name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_gene_src_cell _item_description.description ; Cell type. ; _item.name '_entity_src_gen.pdbx_gene_src_cell' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_examples.case 'ENDOTHELIAL' _item_aliases.alias_name '_entity_src_gen.ndb_gene_src_cell' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_gene_src_cellular_location _item_description.description ; Identifies the location inside (or outside) the cell. ; _item.name '_entity_src_gen.pdbx_gene_src_cellular_location' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'CYTOPLASM' 'NUCLEUS' _item_aliases.alias_name '_entity_src_gen.ndb_gene_src_cellular_location' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_host_org_gene _item_description.description ; Specific gene which expressed the molecule. ; _item.name '_entity_src_gen.pdbx_host_org_gene' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'HIV-1 POL' 'GLNS7' 'U1A (2-98, Y31H, Q36R)' _item_aliases.alias_name '_entity_src_gen.ndb_host_org_gene' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_host_org_organ _item_description.description ; Specific organ which expressed the molecule. ; _item.name '_entity_src_gen.pdbx_host_org_organ' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_examples.case KIDNEY _item_aliases.alias_name '_entity_src_gen.ndb_host_org_organ' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ #save__entity_src_gen.pdbx_host_org_variant # _item_description.description #; Variant of the organism used as the expression system. #; # _item.name '_entity_src_gen.pdbx_host_org_variant' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # loop_ # _item_examples.case 'TRP-LAC' 'LAMBDA DE3' # _item_aliases.alias_name '_entity_src_gen.ndb_host_org_variant' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 # # save_ #save__entity_src_gen.pdbx_host_org_cell_line # _item_description.description #; A specific line of cells used as the expression system. #; # _item.name '_entity_src_gen.pdbx_host_org_cell_line' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # _item_examples.case 'HELA' # _item_aliases.alias_name '_entity_src_gen.ndb_host_org_cell_line' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 # # save_ #save__entity_src_gen.pdbx_host_org_atcc # _item_description.description #; Americal Tissue Culture Collection of the expression system. #; # _item.name '_entity_src_gen.pdbx_host_org_atcc' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # _item_aliases.alias_name '_entity_src_gen.ndb_host_org_atcc' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 # # save_ #save__entity_src_gen.pdbx_host_org_culture_collection # _item_description.description #; Culture collection of the expression system. #; # _item.name '_entity_src_gen.pdbx_host_org_culture_collection' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # _item_aliases.alias_name '_entity_src_gen.ndb_host_org_culture_collection' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 # # save_ #save__entity_src_gen.pdbx_host_org_cell # _item_description.description #; Specific cell type which expressed the molecule. #; # _item.name '_entity_src_gen.pdbx_host_org_cell' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # _item_examples.case ENDOTHELIAL # _item_aliases.alias_name '_entity_src_gen.ndb_host_org_cell' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 # # save_ save__entity_src_gen.pdbx_host_org_organelle _item_description.description ; Specific organelle which expressed the molecule. ; _item.name '_entity_src_gen.pdbx_host_org_organelle' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_examples.case 'MITOCHONDRIA' _item_aliases.alias_name '_entity_src_gen.ndb_host_org_organelle' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_host_org_cellular_location _item_description.description ; Identifies the location inside (or outside) the cell which expressed the molecule. ; _item.name '_entity_src_gen.pdbx_host_org_cellular_location' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'CYTOPLASM' 'NUCLEUS' _item_aliases.alias_name '_entity_src_gen.ndb_host_org_cellular_location' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ #save__entity_src_gen.pdbx_host_org_scientific_name # _item_description.description #; # The scientific name of the organism that served as host for the # production of the entity. #; # _item.name '_entity_src_gen.pdbx_host_org_scientific_name' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # _item_examples.case #; #ESCHERICHIA COLI #HOMO SAPIENS #SACCHAROMYCES CEREVISIAE #; # _item_aliases.alias_name '_entity_src_gen.ndb_host_org_scientific_name' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 # # save_ save__entity_src_gen.pdbx_host_org_strain _item_description.description ; The strain of the organism in which the entity was expressed. ; _item.name '_entity_src_gen.pdbx_host_org_strain' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_examples.case 'AR120' _item_aliases.alias_name '_entity_src_gen.ndb_host_org_strain' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ #save__entity_src_gen.pdbx_host_org_tissue # _item_description.description #; # The specific tissue which expressed the molecule. #; # _item.name '_entity_src_gen.pdbx_host_org_tissue' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # loop_ # _item_examples.case 'heart' # 'liver' # 'eye lens' # _item_aliases.alias_name '_entity_src_gen.ndb_host_org_tissue' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 # # save_ save__entity_src_gen.pdbx_host_org_tissue_fraction _item_description.description ; The fraction of the tissue which expressed the molecule. ; _item.name '_entity_src_gen.pdbx_host_org_tissue_fraction' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'mitochondria' 'nucleus' 'membrane' _item_aliases.alias_name '_entity_src_gen.ndb_host_org_tissue_fraction' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ #save__entity_src_gen.pdbx_host_org_vector # _item_description.description #; # Identifies the vector used. #; # _item.name '_entity_src_gen.pdbx_host_org_vector' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # loop_ # _item_examples.case 'PBIT36' 'PET15B' 'PUC18' # _item_aliases.alias_name '_entity_src_gen.ndb_host_org_vector' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 # # save_ #save__entity_src_gen.pdbx_host_org_vector_type # _item_description.description #; # Identifies the type of vector used (plasmid, virus, or # cosmid). #; # _item.name '_entity_src_gen.pdbx_host_org_vector_type' # _item.category_id entity_src_gen # _item.mandatory_code no # _item_type.code text # loop_ # _item_examples.case 'COSMID' 'PLASMID' # _item_aliases.alias_name '_entity_src_gen.ndb_host_org_vector_type' # _item_aliases.dictionary 'cif_rcsb.dic' # _item_aliases.version 1.1 # # save_ save__entity_src_gen.pdbx_description _item_description.description ; Information on the source which is not given elsewhere. ; _item.name '_entity_src_gen.pdbx_description' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_entity_src_gen.ndb_description' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save__entity_src_nat.pdbx_organism_scientific _item_description.description ; Scientific name of the organism of the natural source. ; _item.name '_entity_src_nat.pdbx_organism_scientific' _item.category_id entity_src_nat _item.mandatory_code no _pdbx_item.name '_entity_src_nat.pdbx_organism_scientific' _pdbx_item.mandatory_code yes _item_type.code text loop_ _item_examples.case 'BOS TAURUS' 'SUS SCROFA' 'ASPERGILLUS ORYZAE' _pdbx_item_examples.name '_entity_src_nat.pdbx_organism_scientific' _pdbx_item_examples.case 'Bos taurus' _pdbx_item_examples.detail . _item_aliases.alias_name '_entity_src_nat.ndb_organism_scientific' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_nat.pdbx_secretion _item_description.description ; Identifies the secretion from which the molecule was isolated. ; _item.name '_entity_src_nat.pdbx_secretion' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'saliva' 'urine' 'venom' _item_aliases.alias_name '_entity_src_nat.ndb_secretion' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_nat.pdbx_fragment _item_description.description ; A domain or fragment of the molecule. ; _item.name '_entity_src_nat.pdbx_fragment' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_entity_src_nat.ndb_fragment' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_nat.pdbx_variant _item_description.description ; Identifies the variant. ; _item.name '_entity_src_nat.pdbx_variant' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_entity_src_nat.ndb_variant' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_nat.pdbx_cell_line _item_description.description ; The specific line of cells. ; _item.name '_entity_src_nat.pdbx_cell_line' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text _item_examples.case 'HELA' _item_aliases.alias_name '_entity_src_nat.ndb_cell_line' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_nat.pdbx_atcc _item_description.description ; Americal Tissue Culture Collection number. ; _item.name '_entity_src_nat.pdbx_atcc' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text _item_examples.case '6051' _item_aliases.alias_name '_entity_src_nat.ndb_atcc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_nat.pdbx_cellular_location _item_description.description ; Identifies the location inside (or outside) the cell. ; _item.name '_entity_src_nat.pdbx_cellular_location' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_entity_src_nat.ndb_cellular_location' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_nat.pdbx_organ _item_description.description ; Organized group of tissues that carries on a specialized function. ; _item.name '_entity_src_nat.pdbx_organ' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text _item_examples.case KIDNEY _item_aliases.alias_name '_entity_src_nat.ndb_organ' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_nat.pdbx_organelle _item_description.description ; Organized structure within cell. ; _item.name '_entity_src_nat.pdbx_organelle' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text _item_examples.case MITOCHONDRIA _item_aliases.alias_name '_entity_src_nat.ndb_organelle' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_nat.pdbx_cell _item_description.description ; A particular cell type. ; _item.name '_entity_src_nat.pdbx_cell' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text _item_examples.case 'BHK-21' _item_aliases.alias_name '_entity_src_nat.ndb_cell' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_nat.pdbx_plasmid_name _item_description.description ; The plasmid containing the gene. ; _item.name '_entity_src_nat.pdbx_plasmid_name' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text _item_examples.case 'pB322' _item_aliases.alias_name '_entity_src_nat.ndb_plasmid_name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_nat.pdbx_plasmid_details _item_description.description ; Details about the plasmid. ; _item.name '_entity_src_nat.pdbx_plasmid_details' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code text _item_examples.case 'PLC28 DERIVATIVE' _item_aliases.alias_name '_entity_src_nat.ndb_plasmid_details' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## save__exptl_crystal_grow.pdbx_details _item_description.description ; Text description of crystal growth procedure. ; _item.name '_exptl_crystal_grow.pdbx_details' _item.category_id exptl_crystal_grow _item.mandatory_code no _item_type.code text _pdbx_item.name "_exptl_crystal_grow.pdbx_details" _pdbx_item.mandatory_code yes loop_ _item_examples.case 'PEG 4000, potassium phosphate, magnesium chloride, cacodylate' _item_aliases.alias_name '_exptl_crystal_grow.rcsb_details' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__exptl_crystal_grow.pdbx_pH_range _item_description.description ; The range of pH values at which the crystal was grown. Used when a point estimate of pH is not appropriate. ; _item.name '_exptl_crystal_grow.pdbx_pH_range' _item.category_id exptl_crystal_grow _item.mandatory_code no _item_type.code line loop_ _item_examples.case '5.6 - 6.4' _item_aliases.alias_name '_exptl_crystal_grow.rcsb_pH_range' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__exptl_crystal.pdbx_crystal_image_url _item_description.description ; The URL for an a file containing the image of crystal. ; _item.name '_exptl_crystal.pdbx_crystal_image_url' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code line _item_aliases.alias_name '_exptl_crystal.rcsb_crystal_image_url' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__exptl_crystal.pdbx_crystal_image_format _item_description.description ; The image format for the file containing the image of crystal specified as an RFC2045/RFC2046 mime type. ; _item.name '_exptl_crystal.pdbx_crystal_image_format' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'jpeg' 'gif' 'tiff' _item_aliases.alias_name '_exptl_crystal.rcsb_crystal_image_format' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### ################################## ## PDBX_EXPTL_CRYSTAL_GROW_COMP ## ################################## save_pdbx_exptl_crystal_grow_comp _category.description ; Data items in the PDBX_EXPTL_CRYSTAL_GROW_COMP category record details about the components of the solutions that were 'mixed' to produce the crystal. ; _category.id pdbx_exptl_crystal_grow_comp _category.mandatory_code no loop_ _category_key.name '_pdbx_exptl_crystal_grow_comp.comp_id' '_pdbx_exptl_crystal_grow_comp.crystal_id' loop_ _category_group.id 'inclusive_group' 'exptl_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ;loop_ _pdbx_exptl_crystal_grow_comp.crystal_id _pdbx_exptl_crystal_grow_comp.sol_id _pdbx_exptl_crystal_grow_comp.comp_id _pdbx_exptl_crystal_grow_comp.comp_name _pdbx_exptl_crystal_grow_comp.conc _pdbx_exptl_crystal_grow_comp.conc_range _pdbx_exptl_crystal_grow_comp.conc_units 4 'protein' 1 'protein' 25. . 'mg/ml' 4 'protein' 2 'Tris HCl' 20. . 'millimolar' 4 'protein' 3 'NaCl' 0.2 . 'molar' 4 'precipitant' 1 'PEG 4000' 12.5 . 'percent_weight_by_volume' 4 'precipitant' 2 'MES' 0.1 . 'molar' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_exptl_crystal_grow_comp.crystal_id _item_description.description ; This data item is a pointer to _exptl_crystal.id in the EXPTL_CRYSTAL category. ; _item.name '_pdbx_exptl_crystal_grow_comp.crystal_id' _item.category_id pdbx_exptl_crystal_grow_comp _item.mandatory_code yes _item_linked.child_name '_pdbx_exptl_crystal_grow_comp.crystal_id' _item_linked.parent_name '_exptl_crystal.id' save_ save__pdbx_exptl_crystal_grow_comp.comp_id _item_description.description ; The value of _exptl_crystal_grow_comp.comp_id must uniquely identify each item in the PDBX_EXPTL_CRYSTAL_GROW_COMP list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_pdbx_exptl_crystal_grow_comp.comp_id' _item.category_id pdbx_exptl_crystal_grow_comp _item.mandatory_code yes _item_type.code code loop_ _item_examples.case '1' '2' save_ save__pdbx_exptl_crystal_grow_comp.comp_name _item_description.description ; A common name for the component of the solution. ; _item.name '_pdbx_exptl_crystal_grow_comp.comp_name' _item.category_id pdbx_exptl_crystal_grow_comp _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'protein in buffer' 'acetic acid' save_ save__pdbx_exptl_crystal_grow_comp.sol_id _item_description.description ; An identifier for the solution to which the given solution component belongs. ; _item.name '_pdbx_exptl_crystal_grow_comp.sol_id' _item.category_id pdbx_exptl_crystal_grow_comp _item.mandatory_code no _item_type.code line _item_linked.child_name '_pdbx_exptl_crystal_grow_comp.sol_id' _item_linked.parent_name '_pdbx_exptl_crystal_grow_sol.sol_id' save_ save__pdbx_exptl_crystal_grow_comp.conc _item_description.description ; The concentration value of the solution component. ; _item.name '_pdbx_exptl_crystal_grow_comp.conc' _item.category_id pdbx_exptl_crystal_grow_comp _item.mandatory_code no _item_type.code float loop_ _item_examples.case '200.' '0.1' save_ # save__pdbx_exptl_crystal_grow_comp.conc_range _item_description.description ; The concentration range of the solution component. ; _item.name '_pdbx_exptl_crystal_grow_comp.conc_range' _item.category_id pdbx_exptl_crystal_grow_comp _item.mandatory_code no _item_type.code line loop_ _item_examples.case '200. - 230.' '0.1 - 0.2' save_ save__pdbx_exptl_crystal_grow_comp.conc_units _item_description.description ; The concentration units for the solution component. ; _item.name '_pdbx_exptl_crystal_grow_comp.conc_units' _item.category_id pdbx_exptl_crystal_grow_comp _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'millimolar' 'percent_weight_by_volume' 'milligrams_per_milliliter' loop_ _item_enumeration.value mg/ml g/l ug/ml ug/ul ng/ul molar millimolar micromolar percent percent_weight_by_volume percent_weight_by_weight percent_volume_by_volume percent_volume_by_weight nanomolar save_ ## ## ############################ ## PDBX_EXPTL_CRYSTAL_SOL ## ############################ save_pdbx_exptl_crystal_grow_sol _category.description ; Data items in the PDBX_EXPTL_CRYSTAL_GROW_SOL category record details about the solutions that were 'mixed' to produce the crystal. ; _category.id pdbx_exptl_crystal_grow_sol _category.mandatory_code no loop_ _category_key.name '_pdbx_exptl_crystal_grow_sol.sol_id' '_pdbx_exptl_crystal_grow_sol.crystal_id' loop_ _category_group.id 'inclusive_group' 'exptl_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; loop_ _pdbx_exptl_crystal_grow_sol.crystal_id _pdbx_exptl_crystal_grow_sol.sol_id _pdbx_exptl_crystal_grow_sol.volume _pdbx_exptl_crystal_grow_sol.volume_units _pdbx_exptl_crystal_grow_sol.pH 1 'protein' 0.5 'microliter' 7.5 1 'precipitant' 0.5 'microliter' 7.3 1 'reservoir' 0.5 'milliliter' 7.3 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_exptl_crystal_grow_sol.crystal_id _item_description.description ; This data item is a pointer to _exptl_crystal.id in the EXPTL_CRYSTAL category. ; _item.name '_pdbx_exptl_crystal_grow_sol.crystal_id' _item.category_id pdbx_exptl_crystal_grow_sol _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_exptl_crystal_grow_sol.crystal_id' _item_linked.parent_name '_exptl_crystal.id' save_ save__pdbx_exptl_crystal_grow_sol.sol_id _item_description.description ; An identifier for this solution (e.g. precipitant, reservoir, macromolecule) ; _item.name '_pdbx_exptl_crystal_grow_sol.sol_id' _item.category_id pdbx_exptl_crystal_grow_sol _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value "precipitant" "reservoir" "macromolecule" save_ save__pdbx_exptl_crystal_grow_sol.volume _item_description.description ; The volume of the solution. ; _item.name '_pdbx_exptl_crystal_grow_sol.volume' _item.category_id pdbx_exptl_crystal_grow_sol _item.mandatory_code no _item_type.code float loop_ _item_examples.case '200.' '0.1' save_ save__pdbx_exptl_crystal_grow_sol.volume_units _item_description.description ; The volume units of the solution. ; _item.name '_pdbx_exptl_crystal_grow_sol.volume_units' _item.category_id pdbx_exptl_crystal_grow_sol _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'milliliter' 'micoliter' loop_ _item_enumeration.value microliter milliliter nanoliter save_ save__pdbx_exptl_crystal_grow_sol.pH _item_description.description ; The pH of the solution. ; _item.name '_pdbx_exptl_crystal_grow_sol.pH' _item.category_id pdbx_exptl_crystal_grow_sol _item.mandatory_code no _item_type.code float loop_ _item_examples.case '7.2' save_ ## ## ####################################### ## PDBX_EXPTL_CRYSTAL_CRYO_TREATMENT ## ####################################### save_pdbx_exptl_crystal_cryo_treatment _category.description ; Data items in the PDBX_EXPTL_CRYSTAL_CRYO_TREATMENT category record details cryogenic treatments applied to this crystal. ; _category.id pdbx_exptl_crystal_cryo_treatment _category.mandatory_code no loop_ _category_key.name '_pdbx_exptl_crystal_cryo_treatment.crystal_id' loop_ _category_group.id 'inclusive_group' 'exptl_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; _pdbx_exptl_crystal_cryo_treatment.crystal_id 4 _pdbx_exptl_crystal_cryo_treatment.final_solution_details ; 25% (v/v) glycerol in precipitant solution ; _pdbx_exptl_crystal_cryo_treatment.soaking_details ; A series of 1 min soaks beginning at 5% (v/v) glycerol in precipitant, transiting to 20% (v/v) glycerol, and finally to 25% glycerol ; _pdbx_exptl_crystal_cryo_treatment.cooling_details ; Direct immersion in liquid nitrogen ; _pdbx_exptl_crystal_cryo_treatment.annealing_details ? ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_exptl_crystal_cryo_treatment.crystal_id _item_description.description ; This data item is a pointer to _exptl_crystal.id in the EXPTL_CRYSTAL category. ; _item.name '_pdbx_exptl_crystal_cryo_treatment.crystal_id' _item.category_id pdbx_exptl_crystal_cryo_treatment _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_exptl_crystal_cryo_treatment.crystal_id' _item_linked.parent_name '_exptl_crystal.id' save_ save__pdbx_exptl_crystal_cryo_treatment.final_solution_details _item_description.description ; Details of the final solution used in the treatment of this crystal ; _item.name '_pdbx_exptl_crystal_cryo_treatment.final_solution_details' _item.category_id pdbx_exptl_crystal_cryo_treatment _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; 25% (v/v) glycerol in precipitant solution ; save_ save__pdbx_exptl_crystal_cryo_treatment.soaking_details _item_description.description ; Details of the soaking treatment applied to this crystal. ; _item.name '_pdbx_exptl_crystal_cryo_treatment.soaking_details' _item.category_id pdbx_exptl_crystal_cryo_treatment _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; A series of 1 min soaks beginning at 5% (v/v) glycerol in precipitant, transiting to 20% (v/v) glycerol, and finally to 25% glycerol ; save_ save__pdbx_exptl_crystal_cryo_treatment.cooling_details _item_description.description ; Details of the cooling treatment applied to this crystal. ; _item.name '_pdbx_exptl_crystal_cryo_treatment.cooling_details' _item.category_id pdbx_exptl_crystal_cryo_treatment _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; Direct immersion in liquid nitrogen ; save_ save__pdbx_exptl_crystal_cryo_treatment.annealing_details _item_description.description ; Details of the annealing treatment applied to this crystal. ; _item.name '_pdbx_exptl_crystal_cryo_treatment.annealing_details' _item.category_id pdbx_exptl_crystal_cryo_treatment _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; 10 sec interruption of cold stream with plastic ruler. Performed twice. ; save_ ## save__geom_angle.pdbx_atom_site_PDB_ins_code_1 _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_geom_angle.pdbx_atom_site_PDB_ins_code_1' _item.category_id geom_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_geom_angle.pdbx_atom_site_PDB_ins_code_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_geom_angle.ndb_atom_site_PDB_ins_code_1' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_angle.pdbx_atom_site_PDB_ins_code_2 _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_geom_angle.pdbx_atom_site_PDB_ins_code_2' _item.category_id geom_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_geom_angle.pdbx_atom_site_PDB_ins_code_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_geom_angle.ndb_atom_site_PDB_ins_code_2' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_angle.pdbx_atom_site_PDB_ins_code_3 _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_geom_angle.pdbx_atom_site_PDB_ins_code_3' _item.category_id geom_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_geom_angle.pdbx_atom_site_PDB_ins_code_3' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_geom_angle.ndb_atom_site_PDB_ins_code_3' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_angle.pdbx_PDB_model_num _item_description.description ; Pointer to _atom_site.pdbx_PDB_model_num ; _item.name '_geom_angle.pdbx_PDB_model_num' _item.category_id geom_angle _item.mandatory_code no _item_type.code int _item_linked.child_name '_geom_angle.pdbx_PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' _item_aliases.alias_name '_geom_angle.ndb_model_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_bond.pdbx_atom_site_PDB_ins_code_1 _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_geom_bond.pdbx_atom_site_PDB_ins_code_1' _item.category_id geom_bond _item.mandatory_code no _item_type.code code _item_linked.child_name '_geom_bond.pdbx_atom_site_PDB_ins_code_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_geom_bond.ndb_atom_site_PDB_ins_code_1' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_bond.pdbx_atom_site_PDB_ins_code_2 _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_geom_bond.pdbx_atom_site_PDB_ins_code_2' _item.category_id geom_bond _item.mandatory_code no _item_type.code code _item_linked.child_name '_geom_bond.pdbx_atom_site_PDB_ins_code_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_geom_bond.ndb_atom_site_PDB_ins_code_2' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_bond.pdbx_PDB_model_num _item_description.description ; Pointer to _atom_site.pdbx_PDB_model_num ; _item.name '_geom_bond.pdbx_PDB_model_num' _item.category_id geom_bond _item.mandatory_code no _item_type.code int _item_linked.child_name '_geom_bond.pdbx_PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' _item_aliases.alias_name '_geom_bond.ndb_model_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_contact.pdbx_atom_site_PDB_ins_code_1 _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_geom_contact.pdbx_atom_site_PDB_ins_code_1' _item.category_id geom_contact _item.mandatory_code no _item_type.code code _item_linked.child_name '_geom_contact.pdbx_atom_site_PDB_ins_code_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_geom_contact.ndb_atom_site_PDB_ins_code_1' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_contact.pdbx_atom_site_PDB_ins_code_2 _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_geom_contact.pdbx_atom_site_PDB_ins_code_2' _item.category_id geom_contact _item.mandatory_code no _item_type.code code _item_linked.child_name '_geom_contact.pdbx_atom_site_PDB_ins_code_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_geom_contact.ndb_atom_site_PDB_ins_code_2' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_contact.pdbx_PDB_model_num _item_description.description ; Pointer to _atom_site.pdbx_PDB_model_num ; _item.name '_geom_contact.pdbx_PDB_model_num' _item.category_id geom_contact _item.mandatory_code no _item_type.code int _item_linked.child_name '_geom_contact.pdbx_PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' _item_aliases.alias_name '_geom_contact.ndb_model_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_torsion.pdbx_atom_site_PDB_ins_code_1 _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_geom_torsion.pdbx_atom_site_PDB_ins_code_1' _item.category_id geom_torsion _item.mandatory_code no _item_type.code code _item_linked.child_name '_geom_torsion.pdbx_atom_site_PDB_ins_code_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_geom_torsion.ndb_atom_site_PDB_ins_code_1' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_torsion.pdbx_atom_site_PDB_ins_code_2 _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_geom_torsion.pdbx_atom_site_PDB_ins_code_2' _item.category_id geom_torsion _item.mandatory_code no _item_type.code code _item_linked.child_name '_geom_torsion.pdbx_atom_site_PDB_ins_code_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_geom_torsion.ndb_atom_site_PDB_ins_code_2' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_torsion.pdbx_atom_site_PDB_ins_code_3 _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_geom_torsion.pdbx_atom_site_PDB_ins_code_3' _item.category_id geom_torsion _item.mandatory_code no _item_type.code code _item_linked.child_name '_geom_torsion.pdbx_atom_site_PDB_ins_code_3' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_geom_torsion.ndb_atom_site_PDB_ins_code_3' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_torsion.pdbx_atom_site_PDB_ins_code_4 _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_geom_torsion.pdbx_atom_site_PDB_ins_code_4' _item.category_id geom_torsion _item.mandatory_code no _item_type.code code _item_linked.child_name '_geom_torsion.pdbx_atom_site_PDB_ins_code_4' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_geom_torsion.ndb_atom_site_PDB_ins_code_4' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__geom_torsion.pdbx_PDB_model_num _item_description.description ; Pointer to _atom_site.pdbx_PDB_model_num ; _item.name '_geom_torsion.pdbx_PDB_model_num' _item.category_id geom_torsion _item.mandatory_code no _item_type.code int _item_linked.child_name '_geom_torsion.pdbx_PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' _item_aliases.alias_name '_geom_torsion.ndb_model_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## save__refine.pdbx_ls_sigma_I _item_description.description ; Data cutoff (SIGMA(I)) ; _item.name '_refine.pdbx_ls_sigma_I' _item.category_id refine _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_refine.ndb_ls_sigma_I' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine.pdbx_ls_sigma_F _item_description.description ; Data cutoff (SIGMA(F)) ; _item.name '_refine.pdbx_ls_sigma_F' _item.category_id refine _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_refine.ndb_ls_sigma_F' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _pdbx_item.name "_refine.pdbx_ls_sigma_F" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine.pdbx_ls_sigma_F" _pdbx_item_description.description "Data cutoff on amplitude" save_ save__refine.pdbx_ls_sigma_Fsqd _item_description.description ; Data cutoff (SIGMA(F^2)) ; _item.name '_refine.pdbx_ls_sigma_Fsqd' _item.category_id refine _item.mandatory_code no _item_type.code float save_ save__refine.pdbx_data_cutoff_high_absF _item_description.description ; Value of F at "high end" of data cutoff. ; _item.name '_refine.pdbx_data_cutoff_high_absF' _item.category_id refine _item.mandatory_code no _item_type.code float _item_examples.case 17600 _pdbx_item_description.name '_refine.pdbx_data_cutoff_high_absF' _pdbx_item_description.description 'Value of F at "high end" of data cutoff' _item_aliases.alias_name '_refine.ndb_data_cutoff_high_absF' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine.pdbx_data_cutoff_high_rms_absF _item_description.description ; Value of RMS |F| used as high data cutoff. ; _item.name '_refine.pdbx_data_cutoff_high_rms_absF' _item.category_id refine _item.mandatory_code no _item_type.code float _item_examples.case 205.1 _item_aliases.alias_name '_refine.rcsb_data_cutoff_high_rms_absF' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine.pdbx_data_cutoff_low_absF _item_description.description ; Value of F at "low end" of data cutoff. ; _item.name '_refine.pdbx_data_cutoff_low_absF' _item.category_id refine _item.mandatory_code no _item_type.code float _item_examples.case 0.30 _pdbx_item_description.name "_refine.pdbx_data_cutoff_low_absF" _pdbx_item_description.description 'Value of F at "low end" of data cutoff' _item_aliases.alias_name '_refine.ndb_data_cutoff_low_absF' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine.pdbx_isotropic_thermal_model _item_description.description ; Whether the structure was refined with indvidual isotropic, anisotropic or overall temperature factor. ; _item.name '_refine.pdbx_isotropic_thermal_model' _item.category_id refine _item.mandatory_code no _item_type.code text loop_ _item_examples.case Isotropic Overall _item_aliases.alias_name '_refine.ndb_isotropic_thermal_model' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine.pdbx_ls_cross_valid_method _item_description.description ; Whether the cross validataion method was used through out or only at the end. ; _item.name '_refine.pdbx_ls_cross_valid_method' _item.category_id refine _item.mandatory_code no _pdbx_item.name '_refine.pdbx_ls_cross_valid_method' _pdbx_item.mandatory_code yes _pdbx_item_description.name '_refine.pdbx_ls_cross_valid_method' _pdbx_item_description.description 'Whether the cross validataion method was used through out or only at the end' _item_type.code text loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_refine.pdbx_ls_cross_valid_method' 'FREE R-VALUE' . '_refine.pdbx_ls_cross_valid_method' THROUGHOUT . '_refine.pdbx_ls_cross_valid_method' NONE . # _item_examples.case 'FREE R-VALUE' _item_aliases.alias_name '_refine.ndb_ls_cross_valid_method' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine.pdbx_method_to_determine_struct _item_description.description ; Method(s) used to determine the structure. ; _item.name '_refine.pdbx_method_to_determine_struct' _item.category_id refine _item.mandatory_code no _item_type.code text _pdbx_item.name '_refine.pdbx_method_to_determine_struct' _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_refine.pdbx_method_to_determine_struct" _pdbx_item_description.description "Method(s) used to determine the structure" loop_ _item_examples.case _item_examples.detail 'AB INITIO PHASING' ? 'DM' 'Direct Methods' 'ISAS ' 'Iterative Single wavelength Anomalous Scattering' 'ISIR' 'Iterative Single Isomorphous Replacement' 'ISIRAS' 'Iterative Single Isomorphous Replacement with Anomalous Scattering' 'MAD' 'Multi wavelength Anomalous Diffraction' 'MIR' 'Multiple Isomorphous Replacement' 'MIRAS' 'Multiple Isomorphous Replacement with Anomalous Scattering' 'MR' 'Molecular Replacement' 'SIR' 'Single Isomorphous Replacement' 'SIRAS' 'Single Isomorphous Replacement with Anomalous Scattering' # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_refine.pdbx_method_to_determine_struct" "AB INITIO PHASING" . "_refine.pdbx_method_to_determine_struct" "FOURIER SYNTHESIS" . "_refine.pdbx_method_to_determine_struct" MAD . "_refine.pdbx_method_to_determine_struct" MIR . "_refine.pdbx_method_to_determine_struct" MIRAS . "_refine.pdbx_method_to_determine_struct" "MOLECULAR REPLACEMENT" . "_refine.pdbx_method_to_determine_struct" SAD . "_refine.pdbx_method_to_determine_struct" SIR . "_refine.pdbx_method_to_determine_struct" SIRAS . # _item_aliases.alias_name '_refine.ndb_method_to_determine_struct' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine.pdbx_starting_model _item_description.description ; Starting model for refinement. Starting model for molecular replacement should refer to a previous structure or experiment. ; _item.name '_refine.pdbx_starting_model' _item.category_id refine _item.mandatory_code no _item_type.code text #_pdbx_item.name '_refine.pdbx_starting_model' #_pdbx_item.mandatory_code yes loop_ _item_examples.case 'BDL001' _item_aliases.alias_name '_refine.ndb_starting_model' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _pdbx_item_description.name "_refine.pdbx_starting_model" _pdbx_item_description.description "Starting model for refinement. Starting model for molecular replacement should refer to a previous structure or experiment" # _pdbx_item_examples.name "_refine.pdbx_starting_model" _pdbx_item_examples.case "1XYZ, 2XYZ" _pdbx_item_examples.detail . save_ save__refine.pdbx_stereochemistry_target_values _item_description.description ; Stereochemistry target values used in refinement. ; _item.name '_refine.pdbx_stereochemistry_target_values' _item.category_id refine _item.mandatory_code no _item_type.code text _pdbx_item_description.name "_refine.pdbx_stereochemistry_target_values" _pdbx_item_description.description "Stereochemistry target values used in refinement" _item_aliases.alias_name '_refine.ndb_stereochemistry_target_values' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine.pdbx_R_Free_selection_details _item_description.description ; Details of the manner in which the cross validation reflections were selected. ; _item.name '_refine.pdbx_R_Free_selection_details' _item.category_id refine _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Random selection' _pdbx_item.name "_refine.pdbx_R_Free_selection_details" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_refine.pdbx_R_Free_selection_details" _pdbx_item_description.description "Details of the manner in which the cross validation reflections were selected" # _item_aliases.alias_name '_refine.ndb_R_Free_selection_details' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine.pdbx_stereochem_target_val_spec_case _item_description.description ; Special case of stereochemistry target values used in SHELXL refinement. ; _item.name '_refine.pdbx_stereochem_target_val_spec_case' _item.category_id refine _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_refine.ndb_stereochem_target_val_spec_case' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine_hist.pdbx_number_residues_total _item_description.description ; Total number of polymer residues included in refinement. ; _item.name '_refine_hist.pdbx_number_residues_total' _item.category_id refine_hist _item.mandatory_code no _item_type.code int save_ save__refine_hist.pdbx_B_iso_mean_ligand _item_description.description ; Mean isotropic B-value for ligand molecules included in refinement. ; _item.name '_refine_hist.pdbx_B_iso_mean_ligand' _item.category_id refine_hist _item.mandatory_code no _item_type.code float save_ save__refine_hist.pdbx_B_iso_mean_solvent _item_description.description ; Mean isotropic B-value for solvent molecules included in refinement. ; _item.name '_refine_hist.pdbx_B_iso_mean_solvent' _item.category_id refine_hist _item.mandatory_code no _item_type.code float save_ save__refine_hist.pdbx_number_atoms_protein _item_description.description ; Number of protein atoms included in refinement ; _item.name '_refine_hist.pdbx_number_atoms_protein' _item.category_id refine_hist _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_refine_hist.rcsb_number_atoms_protein' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine_hist.pdbx_number_atoms_nucleic_acid _item_description.description ; Number of nucleic atoms included in refinement ; _item.name '_refine_hist.pdbx_number_atoms_nucleic_acid' _item.category_id refine_hist _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_refine_hist.rcsb_number_atoms_nucleic_acid' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine_hist.pdbx_number_atoms_ligand _item_description.description ; Number of ligand atoms included in refinement ; _item.name '_refine_hist.pdbx_number_atoms_ligand' _item.category_id refine_hist _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_refine_hist.rcsb_number_atoms_ligand' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ # save__refine_hist.pdbx_number_atoms_lipid _item_description.description ; Number of lipid atoms included in refinement ; _item.name '_refine_hist.pdbx_number_atoms_lipid' _item.category_id refine_hist _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_refine_hist.rcsb_number_atoms_lipid' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine_hist.pdbx_number_atoms_carb _item_description.description ; Number of carbohydrate atoms included in refinement ; _item.name '_refine_hist.pdbx_number_atoms_carb' _item.category_id refine_hist _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_refine_hist.rcsb_number_atoms_carb' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine_hist.pdbx_pseudo_atom_details _item_description.description ; Details of pseduo atoms used to model unexplained density ; _item.name '_refine_hist.pdbx_pseudo_atom_details' _item.category_id refine_hist _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_refine_hist.rcsb_pseudo_atom_details' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### ### save__refine_ls_shell.pdbx_total_number_of_bins_used _item_description.description ; Total number of bins used. ; _item.name '_refine_ls_shell.pdbx_total_number_of_bins_used' _item.category_id refine_ls_shell _item.mandatory_code no _item_type.code int _pdbx_item_description.name "_refine_ls_shell.pdbx_total_number_of_bins_used" _pdbx_item_description.description "Total number of resolution intervals used to split the data used in refinement" _item_aliases.alias_name '_refine_ls_shell.ndb_total_number_of_bins_used' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save__refln.pdbx_F_calc_part_solvent _item_description.description ; The calculated value of the structure factor in arbitrary units reflecting only the contribution of the solvent model. ; _item.name '_refln.pdbx_F_calc_part_solvent' _item.category_id refln _item.mandatory_code no _item_type.code float _item_units.code arbitrary _item_aliases.alias_name '_refln.rcsb_F_calc_part_solvent' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refln.pdbx_phase_calc_part_solvent _item_description.description ; The calculated structure-factor phase in degrees reflecting only the contribution of the solvent model. ; _item.name '_refln.pdbx_phase_calc_part_solvent' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln.rcsb_phase_calc_part_solvent' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_type.code float _item_units.code degrees save_ save__refln.pdbx_F_calc_with_solvent _item_description.description ; The calculated value of the structure factor in arbitrary units including the contribution of the solvent model. ; _item.name '_refln.pdbx_F_calc_with_solvent' _item.category_id refln _item.mandatory_code no _item_type.code float _item_units.code arbitrary _item_aliases.alias_name '_refln.rcsb_F_calc_with_solvent' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refln.pdbx_phase_calc_with_solvent _item_description.description ; The calculated structure-factor phase in degrees including the contribution of the solvent model. ; _item.name '_refln.pdbx_phase_calc_with_solvent' _item.category_id refln _item.mandatory_code no _item_aliases.alias_name '_refln.rcsb_phase_calc_with_solvent' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_type.code float _item_units.code degrees save_ ## ## save__reflns.pdbx_redundancy _item_description.description ; Overall redundancy for this data set. ; _item.name '_reflns.pdbx_redundancy' _item.category_id reflns _item.mandatory_code no _item_type.code float # _pdbx_item.name "_reflns.pdbx_redundancy" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_reflns.pdbx_redundancy" _pdbx_item_description.description "Overall reduncancy of the data collection" # _item_aliases.alias_name '_reflns.ndb_redundancy' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns.pdbx_redundancy" 1 1 "_reflns.pdbx_redundancy" 1 20 "_reflns.pdbx_redundancy" 20 20 # save_ save__reflns.pdbx_Rmerge_I_obs _item_description.description ; The R value for merging intensities satisfying the observed criteria in this data set. ; _item.name '_reflns.pdbx_Rmerge_I_obs' _item.category_id reflns _item.mandatory_code no _item_type.code float _pdbx_item.name "_reflns.pdbx_Rmerge_I_obs" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_reflns.pdbx_Rmerge_I_obs" _pdbx_item_description.description "Provide the Rmerge of data collection as a decimal number. This is sometimes referred to the linear R-factor" _item_aliases.alias_name '_reflns.ndb_Rmerge_I_obs' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns.pdbx_Rmerge_I_obs" 0.01 0.01 "_reflns.pdbx_Rmerge_I_obs" 0.01 0.2 "_reflns.pdbx_Rmerge_I_obs" 0.2 0.2 loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 10.0 save_ save__reflns.pdbx_Rmerge_I_all _item_description.description ; The R value for merging all intensities in this data set. ; _item.name '_reflns.pdbx_Rmerge_I_all' _item.category_id reflns _item.mandatory_code no _item_type.code float save_ save__reflns.pdbx_Rsym_value _item_description.description ; The R sym value as a decimal number. ; _item.name '_reflns.pdbx_Rsym_value' _item.category_id reflns _item.mandatory_code no _item_examples.case 0.02 _item_type.code float _item_aliases.alias_name '_reflns.ndb_Rsym_value' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _pdbx_item.name "_reflns.pdbx_Rsym_value" _pdbx_item.mandatory_code no # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns.pdbx_Rsym_value" 0.01 0.01 "_reflns.pdbx_Rsym_value" 0.01 0.2 "_reflns.pdbx_Rsym_value" 0.2 0.2 # save_ save__reflns.pdbx_netI_over_av_sigmaI _item_description.description ; The ratio of the average intensity to the average uncertainty, /. ; _item.name '_reflns.pdbx_netI_over_av_sigmaI' _item.category_id reflns _item.mandatory_code no _item_type.code float _pdbx_item_description.name '_reflns.pdbx_netI_over_av_sigmaI' _pdbx_item_description.description 'The ratio of the average intensity to the average uncertainty, average(I)/average(sigma(I))' # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_reflns.pdbx_netI_over_av_sigmaI' 0.05 0.05 '_reflns.pdbx_netI_over_av_sigmaI' 0.05 50 '_reflns.pdbx_netI_over_av_sigmaI' 50 50 # _item_aliases.alias_name '_reflns.ndb_netI_over_av_sigmaI' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__reflns.pdbx_netI_over_sigmaI _item_description.description ; The mean of the ratio of the intensities to their standard uncertainties, . ; _item.name '_reflns.pdbx_netI_over_sigmaI' _item.category_id reflns _item.mandatory_code no _item_type.code float _pdbx_item.name "_reflns.pdbx_netI_over_sigmaI" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_reflns.pdbx_netI_over_sigmaI" _pdbx_item_description.description "The overall average(I/sigma(I)) of data collection" _item_aliases.alias_name '_reflns.ndb_netI_over_sigmaI' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__reflns.pdbx_res_netI_over_av_sigmaI_2 _item_description.description ; Resolution (angstrom) for reflections with / = 2. ; _item.name '_reflns.pdbx_res_netI_over_av_sigmaI_2' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ save__reflns.pdbx_res_netI_over_sigmaI_2 _item_description.description ; Resolution (angstroms) for reflections with = 2. ; _item.name '_reflns.pdbx_res_netI_over_sigmaI_2' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ save__reflns.pdbx_chi_squared _item_description.description ; Overall Chi-squared statistic. ; _item.name '_reflns.pdbx_chi_squared' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_reflns.rcsb_chi_squared' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__reflns.pdbx_scaling_rejects _item_description.description ; Number of reflections rejected in scaling operations. ; _item.name '_reflns.pdbx_scaling_rejects' _item.category_id reflns _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_reflns.rcsb_scaling_rejects' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__reflns.pdbx_d_res_high_opt _item_description.description ; The highest optical resolution for this reflection data set as determined by computational method _reflns.pdbx_d_res_opt_method. ; _item.name '_reflns.pdbx_d_res_high_opt' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns.rcsb_d_res_high_opt' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 _item_examples.case '1.2' loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__reflns.pdbx_d_res_low_opt _item_description.description ; The lowest optical resolution for this reflection data set as determined by computational method _reflns.pdbx_d_res_opt_method. ; _item.name '_reflns.pdbx_d_res_low_opt' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns.rcsb_d_res_low_opt' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 _item_examples.case '20.5' loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__reflns.pdbx_d_res_opt_method _item_description.description ; The computational method used to determine the optical resolution limits _reflns.pdbx_d_res_high_opt and _reflns.pdbx_d_res_low_opt. ; _item.name '_reflns.pdbx_d_res_opt_method' _item.category_id reflns _item.mandatory_code no _item_aliases.alias_name '_reflns.rcsb_d_res_opt_method' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 _item_examples.case 'SFCHECK' _item_type.code text save_ ## ## save__reflns_shell.pdbx_redundancy _item_description.description ; Redundancy for the current shell. ; _item.name '_reflns_shell.pdbx_redundancy' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float _pdbx_item.name '_reflns_shell.pdbx_redundancy' _pdbx_item.mandatory_code no # _pdbx_item_description.name '_reflns_shell.pdbx_redundancy' _pdbx_item_description.description 'The redundancy of data collected in this resolution shell' # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_reflns_shell.pdbx_redundancy' 1 1 '_reflns_shell.pdbx_redundancy' 1 15 '_reflns_shell.pdbx_redundancy' 15 15 _item_aliases.alias_name '_reflns_shell.ndb_redundancy' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__reflns_shell.pdbx_Rsym_value _item_description.description ; R sym value in percent. ; _item.name '_reflns_shell.pdbx_Rsym_value' _item.category_id reflns_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns_shell.pdbx_Rsym_value" 0.01 0.01 "_reflns_shell.pdbx_Rsym_value" 0.01 1.8 "_reflns_shell.pdbx_Rsym_value" 1.8 1.8 _item_aliases.alias_name '_reflns_shell.ndb_Rsym_value' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__reflns_shell.pdbx_chi_squared _item_description.description ; Chi-squared statistic for this resolution shell. ; _item.name '_reflns_shell.pdbx_chi_squared' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_reflns_shell.rcsb_chi_squared' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__reflns_shell.pdbx_netI_over_sigmaI_all _item_description.description ; The mean of the ratio of the intensities to their standard uncertainties of all reflections in the resolution shell. _reflns_shell.pdbx_netI_over_sigmaI_all = ; _item.name '_reflns_shell.pdbx_netI_over_sigmaI_all' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float save_ save__reflns_shell.pdbx_netI_over_sigmaI_obs _item_description.description ; The mean of the ratio of the intensities to their standard uncertainties of observed reflections (see _reflns.observed_criterion) in the resolution shell. _reflns_shell.pdbx_netI_over_sigmaI_obs = ; _item.name '_reflns_shell.pdbx_netI_over_sigmaI_obs' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float save_ ## save__struct.pdbx_descriptor _item_description.description ; An automatically generated descriptor for an NDB structure or the unstructured content of the PDB COMPND record. ; _item.name '_struct.pdbx_descriptor' _item.category_id struct _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; 5'-D(*CP*GP*CP*(HYD)AP*AP*AP*TP*TP*TP*GP*CP*G)-3' ; _item_aliases.alias_name '_struct.ndb_descriptor' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct.pdbx_descriptor' save_ save__struct.pdbx_model_details _item_description.description ; Text description of the methodology which produced this model structure. ; _item.name '_struct.pdbx_model_details' _item.category_id struct _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; This model was produced from a 10 nanosecond Amber/MD simulation starting from PDB structure ID 1ABC. ; _item_aliases.alias_name '_struct.rcsb_model_details' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct.pdbx_formula_weight _item_description.description ; Estimated formula mass in daltons of the deposited structure assembly. ; _item.name '_struct.pdbx_formula_weight' _item.category_id struct _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1.0 1.0 1.0 _item_type.code float save_ save__struct.pdbx_formula_weight_method _item_description.description ; Method used to determine _struct.pdbx_formula_weight. ; _item.name '_struct.pdbx_formula_weight_method' _item.category_id struct _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'MASS SPEC' 'CALCULATION' save_ ## save__struct_asym.pdbx_modified _item_description.description ; This data item indicates whether the structural elements are modified. ; _item.name '_struct_asym.pdbx_modified' _item.category_id struct_asym _item.mandatory_code no _item_type.code text _item_examples.case 'y' _item_aliases.alias_name '_struct_asym.ndb_modified' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_asym.pdbx_blank_PDB_chainid_flag _item_description.description ; A flag indicating that this entity was originally labeled with a blank PDB chain id. ; _item.name '_struct_asym.pdbx_blank_PDB_chainid_flag' _item.category_id struct_asym _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_aliases.alias_name '_struct_asym.rcsb_blank_PDB_chainid_flag' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save__struct_biol.pdbx_parent_biol_id _item_description.description ; An identifier for the parent biological assembly if this biological unit is part of a complex assembly. ; _item.name '_struct_biol.pdbx_parent_biol_id' _item.category_id struct_biol _item.mandatory_code no _item_type.code line _item_linked.child_name '_struct_biol.pdbx_parent_biol_id' _item_linked.parent_name '_struct_biol.id' loop_ _item_examples.case 1 2 3 _item_aliases.alias_name '_struct_biol.rcsb_parent_biol_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_biol.pdbx_formula_weight _item_description.description ; Estimated formula mass in daltons of the biological assembly. ; _item.name '_struct_biol.pdbx_formula_weight' _item.category_id struct_biol _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1.0 1.0 1.0 _item_type.code float save_ save__struct_biol.pdbx_formula_weight_method _item_description.description ; Method used to determine _struct_biol.pdbx_formula_weight. ; _item.name '_struct_biol.pdbx_formula_weight_method' _item.category_id struct_biol _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'MASS SPEC' 'CALCULATION' save_ ## ## save__struct_biol_gen.pdbx_full_symmetry_operation _item_description.description ; This item expresses category _struct_biol_gen.symmetry on an X, Y and Z basis. ; _item.name '_struct_biol_gen.pdbx_full_symmetry_operation' _item.category_id struct_biol_gen _item.mandatory_code no _item_type.code code _item_examples.case '-X, Y+1/2, -Z' _item_aliases.alias_name '_struct_biol_gen.ndb_full_symmetry_operation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_biol_gen.pdbx_PDB_order _item_description.description ; An ordering index used to reproduce the presentation of chain order in the original PDB format data files. ; _item.name '_struct_biol_gen.pdbx_PDB_order' _item.category_id struct_biol_gen _item.mandatory_code no _item_type.code int loop_ _item_examples.case 1 2 3 _item_aliases.alias_name '_struct_biol_gen.rcsb_pdb_order' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save__struct_conf.pdbx_beg_PDB_ins_code _item_description.description ; A component of the identifier for the residue at which the conformation segment starts. ; _item.name '_struct_conf.pdbx_beg_PDB_ins_code' _item.category_id struct_conf _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_conf.pdbx_beg_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_struct_conf.ndb_beg_label_ins_code_pdb' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conf.pdbx_end_PDB_ins_code _item_description.description ; A component of the identifier for the residue at which the conformation segment ends. ; _item.name '_struct_conf.pdbx_end_PDB_ins_code' _item.category_id struct_conf _item.mandatory_code no _item_linked.child_name '_struct_conf.pdbx_end_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_struct_conf.ndb_end_label_ins_code_pdb' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conf.pdbx_PDB_helix_class _item_description.description ; This item is a place holder for the helix class used in the PDB HELIX record. ; _item.name '_struct_conf.pdbx_PDB_helix_class' _item.category_id struct_conf _item.mandatory_code no _item_type.code line _item_aliases.alias_name '_struct_conf.ndb_helix_class_pdb' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conf.pdbx_PDB_helix_length _item_description.description ; A placeholder for the lengths of the helix of the PDB HELIX record. ; _item.name '_struct_conf.pdbx_PDB_helix_length' _item.category_id struct_conf _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_struct_conf.ndb_length' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conf.pdbx_PDB_helix_id _item_description.description ; A placeholder for the helix identifier of the PDB HELIX record. ; _item.name '_struct_conf.pdbx_PDB_helix_id' _item.category_id struct_conf _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_struct_conf.pdb_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save__struct_conn.pdbx_ptnr1_PDB_ins_code _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr1_PDB_ins_code' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_linked.child_name '_struct_conn.pdbx_ptnr1_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_struct_conn.ndb_ptnr1_label_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr1_auth_alt_id _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.pdbx_auth_alt_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr1_auth_alt_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_linked.child_name '_struct_conn.pdbx_ptnr1_auth_alt_id' _item_linked.parent_name '_atom_site.pdbx_auth_alt_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr1_auth_alt_loc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr1_label_alt_id _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr1_label_alt_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_linked.child_name '_struct_conn.pdbx_ptnr1_label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr1_label_alt_loc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr1_standard_comp_id _item_description.description ; A placeholder for the standard residue name found in the MODRES record of a PDB file. ; _item.name '_struct_conn.pdbx_ptnr1_standard_comp_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'T' 'C' 'G' 'GLY' 'ALA' 'MET' _item_aliases.alias_name '_struct_conn.ndb_ptnr1_standard_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr2_PDB_ins_code _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr2_PDB_ins_code' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_linked.child_name '_struct_conn.pdbx_ptnr2_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_struct_conn.ndb_ptnr2_label_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr2_auth_alt_id _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_site.pdbx_auth_alt_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr2_auth_alt_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_linked.child_name '_struct_conn.pdbx_ptnr2_auth_alt_id' _item_linked.parent_name '_atom_site.pdbx_auth_alt_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr2_auth_alt_loc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr2_label_alt_id _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr2_label_alt_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_linked.child_name '_struct_conn.pdbx_ptnr2_label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr2_label_alt_loc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr3_auth_alt_id _item_description.description ; A component of the identifier for partner 3 of the structure connection. This data item is a pointer to _atom_site.pdbx_auth_alt_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr3_auth_alt_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_linked.child_name '_struct_conn.pdbx_ptnr3_auth_alt_id' _item_linked.parent_name '_atom_site.pdbx_auth_alt_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr3_auth_alt_loc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr3_auth_asym_id _item_description.description ; A component of the identifier for partner 3 of the structure connection. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr3_auth_asym_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' 'C' _item_linked.child_name '_struct_conn.pdbx_ptnr3_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr3_auth_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr3_auth_atom_id _item_description.description ; A component of the identifier for partner 3 of the structure connection. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr3_auth_atom_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code atcode _item_examples.case 'O5*' _item_linked.child_name '_struct_conn.pdbx_ptnr3_auth_atom_id' _item_linked.parent_name '_atom_site.auth_atom_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr3_auth_atom_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr3_auth_comp_id _item_description.description ; A component of the identifier for partner 3 of the structure connection. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr3_auth_comp_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'T' 'C' 'G' 'GLY' 'ALA' 'MET' _item_linked.child_name '_struct_conn.pdbx_ptnr3_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr3_auth_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr3_PDB_ins_code _item_description.description ; A component of the identifier for partner 3 of the structure connection. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr3_PDB_ins_code' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_linked.child_name '_struct_conn.pdbx_ptnr3_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_struct_conn.ndb_ptnr3_label_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr3_auth_seq_id _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr3_auth_seq_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code code _item_examples.case '12' _item_linked.child_name '_struct_conn.pdbx_ptnr3_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr3_auth_seq_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## save__struct_conn.pdbx_ptnr3_label_alt_id _item_description.description ; A component of the identifier for partner 3 of the structure connection. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr3_label_alt_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_linked.child_name '_struct_conn.pdbx_ptnr3_label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr3_label_alt_loc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr3_label_asym_id _item_description.description ; A component of the identifier for partner 3 of the structure connection. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr3_label_asym_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' 'C' _item_linked.child_name '_struct_conn.pdbx_ptnr3_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr3_label_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr3_label_atom_id _item_description.description ; A component of the identifier for partner 3 of the structure connection. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr3_label_atom_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code atcode _item_examples.case 'O5*' _item_linked.child_name '_struct_conn.pdbx_ptnr3_label_atom_id' _item_linked.parent_name '_atom_site.label_atom_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr3_label_atom_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr3_label_comp_id _item_description.description ; A component of the identifier for partner 3 of the structure connection. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr3_label_comp_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case 'A' 'T' 'C' 'G' 'GLY' 'ALA' 'MET' _item_linked.child_name '_struct_conn.pdbx_ptnr3_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr3_label_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_conn.pdbx_ptnr3_label_seq_id _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_struct_conn.pdbx_ptnr3_label_seq_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code int _item_examples.case '12' _item_linked.child_name '_struct_conn.pdbx_ptnr3_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' _item_aliases.alias_name '_struct_conn.ndb_ptnr3_label_seq_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## save__struct_conn.pdbx_PDB_id _item_description.description ; A placeholder for the PDB id in the case the category is used to hold the information of the MODRES record of a PDB file. ; _item.name '_struct_conn.pdbx_PDB_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code code _item_examples.case 1ABC _item_aliases.alias_name '_struct_conn.ndb_PDB_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save__struct_keywords.pdbx_keywords _item_description.description ; Terms characterizing the macromolecular structure. ; _item.name '_struct_keywords.pdbx_keywords' _item.category_id struct_keywords _item.mandatory_code no _pdbx_item.name '_struct_keywords.pdbx_keywords' _pdbx_item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'DNA' 'RNA' 'T-RNA' 'DNA/RNA' 'RIBOZYME' 'PROTEIN/DNA' 'PROTEIN/RNA' 'PEPTIDE NUCLEIC ACID' 'PEPTIDE NUCLEIC ACID/DNA' 'DNA-BINDING PROTEIN' 'RNA-BINDING PROTEIN' _item_aliases.alias_name '_struct_keywords.ndb_keywords' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_struct_keywords.pdbx_keywords" ALLERGEN . "_struct_keywords.pdbx_keywords" ANTIBIOTIC . "_struct_keywords.pdbx_keywords" "ANTIFREEZE PROTEIN" . "_struct_keywords.pdbx_keywords" "ANTIFUNGAL PROTEIN" . "_struct_keywords.pdbx_keywords" "ANTIMICROBIAL PROTEIN" . "_struct_keywords.pdbx_keywords" ANTITOXIN . "_struct_keywords.pdbx_keywords" "ANTITUMOR PROTEIN" . "_struct_keywords.pdbx_keywords" "ANTIVIRAL PROTEIN" . "_struct_keywords.pdbx_keywords" APOPTOSIS . "_struct_keywords.pdbx_keywords" ATTRACTANT . "_struct_keywords.pdbx_keywords" "BIOSYNTHETIC PROTEIN" . "_struct_keywords.pdbx_keywords" "BLOOD CLOTTING" . "_struct_keywords.pdbx_keywords" CARBOHYDRATE . "_struct_keywords.pdbx_keywords" "CELL ADHESION" . "_struct_keywords.pdbx_keywords" "CELL CYCLE" . "_struct_keywords.pdbx_keywords" "CELL INVASION" . "_struct_keywords.pdbx_keywords" CHAPERONE . "_struct_keywords.pdbx_keywords" "CHOLINE-BINDING PROTEIN" . "_struct_keywords.pdbx_keywords" "CIRCADIAN CLOCK PROTEIN" . "_struct_keywords.pdbx_keywords" "CONTRACTILE PROTEIN" . "_struct_keywords.pdbx_keywords" CYTOKINE . "_struct_keywords.pdbx_keywords" "CYTOSOLIC PROTEIN" . "_struct_keywords.pdbx_keywords" "DE NOVO PROTEIN" . "_struct_keywords.pdbx_keywords" DNA . "_struct_keywords.pdbx_keywords" "DNA BINDING PROTEIN" . "_struct_keywords.pdbx_keywords" "DNA-RNA HYBRID" . "_struct_keywords.pdbx_keywords" "ELECTRON TRANSPORT" . "_struct_keywords.pdbx_keywords" ENDOCYTOSIS . "_struct_keywords.pdbx_keywords" EXOCYTOSIS . "_struct_keywords.pdbx_keywords" FLAVOPROTEIN . "_struct_keywords.pdbx_keywords" "FLUORESCENT PROTEIN" . "_struct_keywords.pdbx_keywords" "GENE REGULATION" . "_struct_keywords.pdbx_keywords" HORMONE . "_struct_keywords.pdbx_keywords" HYDROLASE . "_struct_keywords.pdbx_keywords" "IMMUNE SYSTEM" . "_struct_keywords.pdbx_keywords" IMMUNOSUPPRESSANT . "_struct_keywords.pdbx_keywords" ISOMERASE . "_struct_keywords.pdbx_keywords" LIGASE . "_struct_keywords.pdbx_keywords" "LIPID BINDING PROTEIN" . "_struct_keywords.pdbx_keywords" "LIPID TRANSPORT" . "_struct_keywords.pdbx_keywords" "LUMINESCENT PROTEIN" . "_struct_keywords.pdbx_keywords" LYASE . "_struct_keywords.pdbx_keywords" "MEMBRANE PROTEIN" . "_struct_keywords.pdbx_keywords" "METAL BINDING PROTEIN" . "_struct_keywords.pdbx_keywords" "METAL TRANSPORT" . "_struct_keywords.pdbx_keywords" "MOTOR PROTEIN" . "_struct_keywords.pdbx_keywords" NEUROPEPTIDE . "_struct_keywords.pdbx_keywords" "NUCLEAR PROTEIN" . "_struct_keywords.pdbx_keywords" ONCOPROTEIN . "_struct_keywords.pdbx_keywords" OXIDOREDUCTASE . "_struct_keywords.pdbx_keywords" "OXYGEN BINDING" . "_struct_keywords.pdbx_keywords" "OXYGEN STORAGE" . "_struct_keywords.pdbx_keywords" "OXYGEN TRANSPORT" . "_struct_keywords.pdbx_keywords" "PEPTIDE BINDING PROTEIN" . "_struct_keywords.pdbx_keywords" PHOTOSYNTHESIS . "_struct_keywords.pdbx_keywords" "PLANT PROTEIN" . "_struct_keywords.pdbx_keywords" "PROTEIN BINDING" . "_struct_keywords.pdbx_keywords" "PROTEIN FIBRIL" . "_struct_keywords.pdbx_keywords" "PROTEIN TRANSPORT" . "_struct_keywords.pdbx_keywords" "PROTON TRANSPORT" . "_struct_keywords.pdbx_keywords" RECOMBINATION . "_struct_keywords.pdbx_keywords" REPLICATION . "_struct_keywords.pdbx_keywords" "RIBOSOMAL PROTEIN" . "_struct_keywords.pdbx_keywords" RIBOSOME . "_struct_keywords.pdbx_keywords" RNA . "_struct_keywords.pdbx_keywords" "RNA BINDING PROTEIN" . "_struct_keywords.pdbx_keywords" "SIGNALING PROTEIN" . "_struct_keywords.pdbx_keywords" SPLICING . "_struct_keywords.pdbx_keywords" "STRUCTURAL GENOMICS" . "_struct_keywords.pdbx_keywords" "STRUCTURAL PROTEIN" . "_struct_keywords.pdbx_keywords" "SURFACTANT PROTEIN" . "_struct_keywords.pdbx_keywords" "SUGAR BINDING PROTEIN" . "_struct_keywords.pdbx_keywords" TOXIN . "_struct_keywords.pdbx_keywords" TRANSCRIPTION . "_struct_keywords.pdbx_keywords" TRANSFERASE . "_struct_keywords.pdbx_keywords" TRANSLATION . "_struct_keywords.pdbx_keywords" TRANSLOCASE . "_struct_keywords.pdbx_keywords" "TRANSPORT PROTEIN" . "_struct_keywords.pdbx_keywords" "UNKNOWN FUNCTION" . "_struct_keywords.pdbx_keywords" "VIRAL PROTEIN" . "_struct_keywords.pdbx_keywords" VIRUS . "_struct_keywords.pdbx_keywords" "VIRUS LIKE PARTICLE" . # save_ ## ## ## save__struct_mon_prot_cis.pdbx_auth_asym_id_2 _item_description.description ; Pointer to _atom_site.auth_asym_id. ; _item.name '_struct_mon_prot_cis.pdbx_auth_asym_id_2' _item.category_id struct_mon_prot_cis _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_mon_prot_cis.pdbx_auth_asym_id_2' _item_linked.parent_name '_atom_site.auth_asym_id' _item_aliases.alias_name '_struct_mon_prot_cis.ndb_auth_asym_id_2' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_mon_prot_cis.pdbx_auth_comp_id_2 _item_description.description ; Pointer to _atom_site.auth_comp_id. ; _item.name '_struct_mon_prot_cis.pdbx_auth_comp_id_2' _item.category_id struct_mon_prot_cis _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_mon_prot_cis.pdbx_auth_comp_id_2' _item_linked.parent_name '_atom_site.auth_comp_id' _item_aliases.alias_name '_struct_mon_prot_cis.ndb_auth_comp_id_2' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_mon_prot_cis.pdbx_auth_seq_id_2 _item_description.description ; Pointer to _atom_site.auth_seq_id ; _item.name '_struct_mon_prot_cis.pdbx_auth_seq_id_2' _item.category_id struct_mon_prot_cis _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_mon_prot_cis.pdbx_auth_seq_id_2' _item_linked.parent_name '_atom_site.auth_seq_id' _item_aliases.alias_name '_struct_mon_prot_cis.ndb_auth_seq_id_2' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ##jdw save__struct_mon_prot_cis.pdbx_label_asym_id_2 _item_description.description ; Pointer to _atom_site.label_asym_id. ; _item.name '_struct_mon_prot_cis.pdbx_label_asym_id_2' _item.category_id struct_mon_prot_cis _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_mon_prot_cis.pdbx_label_asym_id_2' _item_linked.parent_name '_atom_site.label_asym_id' _item_aliases.alias_name '_struct_mon_prot_cis.ndb_label_asym_id_2' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_mon_prot_cis.pdbx_label_comp_id_2 _item_description.description ; Pointer to _atom_site.label_comp_id. ; _item.name '_struct_mon_prot_cis.pdbx_label_comp_id_2' _item.category_id struct_mon_prot_cis _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_struct_mon_prot_cis.pdbx_label_comp_id_2' _item_linked.parent_name '_atom_site.label_comp_id' _item_aliases.alias_name '_struct_mon_prot_cis.ndb_label_comp_id_2' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_mon_prot_cis.pdbx_label_seq_id_2 _item_description.description ; Pointer to _atom_site.label_seq_id ; _item.name '_struct_mon_prot_cis.pdbx_label_seq_id_2' _item.category_id struct_mon_prot_cis _item.mandatory_code no _item_type.code int _item_linked.child_name '_struct_mon_prot_cis.pdbx_label_seq_id_2' _item_linked.parent_name '_atom_site.label_seq_id' _item_aliases.alias_name '_struct_mon_prot_cis.ndb_label_seq_id_2' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_mon_prot_cis.pdbx_PDB_ins_code _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code ; _item.name '_struct_mon_prot_cis.pdbx_PDB_ins_code' _item.category_id struct_mon_prot_cis _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_mon_prot_cis.pdbx_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_struct_mon_prot_cis.ndb_label_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_mon_prot_cis.pdbx_PDB_ins_code_2 _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code ; _item.name '_struct_mon_prot_cis.pdbx_PDB_ins_code_2' _item.category_id struct_mon_prot_cis _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_mon_prot_cis.pdbx_PDB_ins_code_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_struct_mon_prot_cis.ndb_label_ins_code_2' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_mon_prot_cis.pdbx_PDB_model_num _item_description.description ; Pointer to _atom_site.pdbx_PDB_model_num ; _item.name '_struct_mon_prot_cis.pdbx_PDB_model_num' _item.category_id struct_mon_prot_cis _item.mandatory_code yes _item_type.code int _item_linked.child_name '_struct_mon_prot_cis.pdbx_PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' _item_aliases.alias_name '_struct_mon_prot_cis.ndb_model_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_mon_prot_cis.pdbx_omega_angle _item_description.description ; omega torsion angle ; _item.name '_struct_mon_prot_cis.pdbx_omega_angle' _item.category_id struct_mon_prot_cis _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_struct_mon_prot_cis.ndb_omega_angle' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_mon_prot_cis.pdbx_id _item_description.description ; ordinal index ; _item.name '_struct_mon_prot_cis.pdbx_id' _item.category_id struct_mon_prot_cis _item.mandatory_code yes _item_type.code code _item_aliases.alias_name '_struct_mon_prot_cis.id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save__struct_ref.pdbx_db_accession _item_description.description ; Accession code assigned by the reference database. ; _item.name '_struct_ref.pdbx_db_accession' _item.category_id struct_ref _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'P07617' _pdbx_item_description.name "_struct_ref.pdbx_db_accession" _pdbx_item_description.description "The accession code of the database sequence reference" # _item_aliases.alias_name '_struct_ref.rcsb_db_accession' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_ref.pdbx_db_isoform _item_description.description ; Database code assigned by the reference database for a sequence isoform. An isoform sequence is an alternative protein sequence that can be generated from the same gene by a single or by a combination of biological events such as: alternative promoter usage, alternative splicing, alternative initiation and ribosomal frameshifting. ; _item.name '_struct_ref.pdbx_db_isoform' _item.category_id struct_ref _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'P29994-6' save_ save__struct_ref.pdbx_seq_one_letter_code _item_description.description ; Database chemical sequence expressed as string of one-letter amino acid codes. ; _item.name '_struct_ref.pdbx_seq_one_letter_code' _item.category_id struct_ref _item.mandatory_code no _item_type.code text _item_examples.case ; A for alanine or adenine B for ambiguous asparagine/aspartic-acid R for arginine N for asparagine D for aspartic-acid C for cysteine or cystine or cytosine Q for glutamine E for glutamic-acid Z for ambiguous glutamine/glutamic acid G for glycine or guanine H for histidine I for isoleucine L for leucine K for lysine M for methionine F for phenylalanine P for proline S for serine T for threonine or thymine W for tryptophan Y for tyrosine V for valine U for uracil O for water X for other ; _item_aliases.alias_name '_struct_ref.rcsb_seq_one_letter_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_ref.pdbx_align_begin _item_description.description ; Beginning index in the chemical sequence from the reference database. ; _item.name '_struct_ref.pdbx_align_begin' _item.category_id struct_ref _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_aliases.alias_name '_struct_ref.rcsb_align_begin' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_ref.pdbx_align_end _item_description.description ; Ending index in the chemical sequence from the reference database. ; _item.name '_struct_ref.pdbx_align_end' _item.category_id struct_ref _item.mandatory_code no _item_type.code code loop_ _item_examples.case '105' '245' save_ ## ## save__struct_ref_seq.pdbx_strand_id _item_description.description ; The PDB strand/chain ID . ; _item.name '_struct_ref_seq.pdbx_strand_id' _item.category_id struct_ref_seq _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_aliases.alias_name '_struct_ref_seq.ndb_chain_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # _item_linked.child_name '_struct_ref_seq.pdbx_strand_id' _item_linked.parent_name '_pdbx_poly_seq_scheme.pdb_strand_id' save_ save__struct_ref_seq.pdbx_db_accession _item_description.description ; Accession code of the reference database. ; _item.name '_struct_ref_seq.pdbx_db_accession' _item.category_id struct_ref_seq _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'P07617' _item_aliases.alias_name '_struct_ref_seq.ndb_db_accession' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_ref_seq.pdbx_db_align_beg_ins_code _item_description.description ; Initial insertion code of the sequence segment of the reference database. ; _item.name '_struct_ref_seq.pdbx_db_align_beg_ins_code' _item.category_id struct_ref_seq _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_aliases.alias_name '_struct_ref_seq.ndb_db_align_beg_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_ref_seq.pdbx_db_align_end_ins_code _item_description.description ; Ending insertion code of the sequence segment of the reference database. ; _item.name '_struct_ref_seq.pdbx_db_align_end_ins_code' _item.category_id struct_ref_seq _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_aliases.alias_name '_struct_ref_seq.ndb_db_align_end_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_ref_seq.pdbx_PDB_id_code _item_description.description ; The PDB code of the structure. ; _item.name '_struct_ref_seq.pdbx_PDB_id_code' _item.category_id struct_ref_seq _item.mandatory_code no _item_type.code code _item_examples.case '1BBP' _item_aliases.alias_name '_struct_ref_seq.ndb_pdb_id_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_ref_seq.pdbx_auth_seq_align_beg _item_description.description ; Initial position in the PDB sequence segment. ; _item.name '_struct_ref_seq.pdbx_auth_seq_align_beg' _item.category_id struct_ref_seq _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_aliases.alias_name '_struct_ref_seq.ndb_auth_seq_align_beg' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_linked.child_name '_struct_ref_seq.pdbx_auth_seq_align_beg' _item_linked.parent_name '_pdbx_poly_seq_scheme.pdb_seq_num' save_ save__struct_ref_seq.pdbx_auth_seq_align_end _item_description.description ; Ending position in the PDB sequence segment ; _item.name '_struct_ref_seq.pdbx_auth_seq_align_end' _item.category_id struct_ref_seq _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_aliases.alias_name '_struct_ref_seq.ndb_auth_seq_align_end' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_linked.child_name '_struct_ref_seq.pdbx_auth_seq_align_end' _item_linked.parent_name '_pdbx_poly_seq_scheme.pdb_seq_num' save_ ## save__struct_ref_seq.pdbx_seq_align_beg_ins_code _item_description.description ; Initial insertion code of the PDB sequence segment. ; _item.name '_struct_ref_seq.pdbx_seq_align_beg_ins_code' _item.category_id struct_ref_seq _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_aliases.alias_name '_struct_ref_seq.ndb_seq_align_beg_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_linked.child_name '_struct_ref_seq.pdbx_seq_align_beg_ins_code' _item_linked.parent_name '_pdbx_poly_seq_scheme.pdb_ins_code' save_ save__struct_ref_seq.pdbx_seq_align_end_ins_code _item_description.description ; Ending insertion code of the sequence segment ; _item.name '_struct_ref_seq.pdbx_seq_align_end_ins_code' _item.category_id struct_ref_seq _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_aliases.alias_name '_struct_ref_seq.ndb_seq_align_end_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_linked.child_name '_struct_ref_seq.pdbx_seq_align_end_ins_code' _item_linked.parent_name '_pdbx_poly_seq_scheme.pdb_ins_code' save_ ## ## save__struct_ref_seq_dif.pdbx_pdb_id_code _item_description.description ; The PDB ID code. ; _item.name '_struct_ref_seq_dif.pdbx_pdb_id_code' _item.category_id struct_ref_seq_dif _item.mandatory_code no _item_type.code code _item_examples.case '1BBP' _item_aliases.alias_name '_struct_ref_seq_dif.ndb_pdb_id_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_ref_seq_dif.pdbx_pdb_strand_id _item_description.description ; PDB strand/chain id. ; _item.name '_struct_ref_seq_dif.pdbx_pdb_strand_id' _item.category_id struct_ref_seq_dif _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_aliases.alias_name '_struct_ref_seq_dif.ndb_pdb_chain_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_linked.child_name '_struct_ref_seq_dif.pdbx_pdb_strand_id' _item_linked.parent_name '_pdbx_poly_seq_scheme.pdb_strand_id' save_ save__struct_ref_seq_dif.pdbx_pdb_ins_code _item_description.description ; Insertion code in PDB sequence ; _item.name '_struct_ref_seq_dif.pdbx_pdb_ins_code' _item.category_id struct_ref_seq_dif _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_aliases.alias_name '_struct_ref_seq_dif.ndb_pdb_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_linked.child_name '_struct_ref_seq_dif.pdbx_pdb_ins_code' _item_linked.parent_name '_pdbx_poly_seq_scheme.pdb_ins_code' save_ save__struct_ref_seq_dif.pdbx_auth_seq_num _item_description.description ; The PDB sequence residue number. ; _item.name '_struct_ref_seq_dif.pdbx_auth_seq_num' _item.category_id struct_ref_seq_dif _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_aliases.alias_name '_struct_ref_seq_dif.ndb_auth_seq_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_linked.child_name '_struct_ref_seq_dif.pdbx_auth_seq_num' _item_linked.parent_name '_pdbx_poly_seq_scheme.pdb_seq_num' _pdbx_item_description.name "_struct_ref_seq_dif.pdbx_auth_seq_num" _pdbx_item_description.description "The residue number of a discrepancy between the reported sequence and the selected reference sequence (using the residue numbering scheme from the deposited coordinates)" # save_ save__struct_ref_seq_dif.pdbx_seq_db_name _item_description.description ; Sequence database name. ; _item.name '_struct_ref_seq_dif.pdbx_seq_db_name' _item.category_id struct_ref_seq_dif _item.mandatory_code no _item_type.code code _pdbx_item_description.name "_struct_ref_seq_dif.pdbx_seq_db_name" _pdbx_item_description.description "The name of the database from which the sequence reference is derived" _item_examples.case 'SWS' _item_aliases.alias_name '_struct_ref_seq_dif.ndb_seq_db_name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_ref_seq_dif.pdbx_seq_db_accession_code _item_description.description ; Sequence database accession number. ; _item.name '_struct_ref_seq_dif.pdbx_seq_db_accession_code' _item.category_id struct_ref_seq_dif _item.mandatory_code no _item_type.code code _item_examples.case 'P07617' _item_aliases.alias_name '_struct_ref_seq_dif.ndb_seq_db_accession_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _pdbx_item_description.name "_struct_ref_seq_dif.pdbx_seq_db_accession_code" _pdbx_item_description.description "The accession code of the database sequence reference" save_ save__struct_ref_seq_dif.pdbx_seq_db_seq_num _item_description.description ; Sequence database sequence number. ; _item.name '_struct_ref_seq_dif.pdbx_seq_db_seq_num' _item.category_id struct_ref_seq_dif _item.mandatory_code no _item_type.code code _item_examples.case '142' _item_aliases.alias_name '_struct_ref_seq_dif.ndb_seq_db_seq_num' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save__struct_sheet_range.pdbx_beg_PDB_ins_code _item_description.description ; A component of the identifier for the residue at which the beta sheet range begins. Insertion code. ; _item.name '_struct_sheet_range.pdbx_beg_PDB_ins_code' _item.category_id struct_sheet_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_sheet_range.pdbx_beg_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_struct_sheet_range.ndb_beg_label_ins_code_pdb' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_range.pdbx_end_PDB_ins_code _item_description.description ; A component of the identifier for the residue at which the beta sheet range ends. Insertion code. ; _item.name '_struct_sheet_range.pdbx_end_PDB_ins_code' _item.category_id struct_sheet_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_sheet_range.pdbx_end_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_struct_sheet_range.ndb_end_label_ins_code_pdb' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save__struct_sheet_hbond.pdbx_range_1_beg_auth_comp_id _item_description.description ; Pointer to _atom_site.auth_comp_id ; _item.name '_struct_sheet_hbond.pdbx_range_1_beg_auth_comp_id' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_sheet_hbond.pdbx_range_1_beg_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_1_beg_auth_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_1_beg_auth_asym_id _item_description.description ; Pointer to _atom_site.auth_asym_id. ; _item.name '_struct_sheet_hbond.pdbx_range_1_beg_auth_asym_id' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_sheet_hbond.pdbx_range_1_beg_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_1_beg_auth_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_1_end_auth_comp_id _item_description.description ; Pointer to _atom_site.auth_comp_id. ; _item.name '_struct_sheet_hbond.pdbx_range_1_end_auth_comp_id' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_sheet_hbond.pdbx_range_1_end_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_1_end_auth_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_1_end_auth_asym_id _item_description.description ; Pointer to _atom_site.auth_comp_id. ; _item.name '_struct_sheet_hbond.pdbx_range_1_end_auth_asym_id' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_sheet_hbond.pdbx_range_1_end_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_1_end_auth_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_1_beg_label_comp_id _item_description.description ; Pointer to _atom_site.label_comp_id ; _item.name '_struct_sheet_hbond.pdbx_range_1_beg_label_comp_id' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_struct_sheet_hbond.pdbx_range_1_beg_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_1_beg_label_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_1_beg_label_asym_id _item_description.description ; Pointer to _atom_site.label_asym_id. ; _item.name '_struct_sheet_hbond.pdbx_range_1_beg_label_asym_id' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_sheet_hbond.pdbx_range_1_beg_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_1_beg_label_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_1_beg_PDB_ins_code _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_struct_sheet_hbond.pdbx_range_1_beg_PDB_ins_code' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_sheet_hbond.pdbx_range_1_beg_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_1_beg_label_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_1_end_label_comp_id _item_description.description ; Pointer to _atom_site.label_comp_id. ; _item.name '_struct_sheet_hbond.pdbx_range_1_end_label_comp_id' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_struct_sheet_hbond.pdbx_range_1_end_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_1_end_label_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_1_end_label_asym_id _item_description.description ; Pointer to _atom_site.label_asym_id. ; _item.name '_struct_sheet_hbond.pdbx_range_1_end_label_asym_id' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_sheet_hbond.pdbx_range_1_end_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_1_end_label_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_1_end_PDB_ins_code _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_struct_sheet_hbond.pdbx_range_1_end_PDB_ins_code' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_sheet_hbond.pdbx_range_1_end_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_1_end_label_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_2_beg_label_comp_id _item_description.description ; Pointer to _atom_site.label_comp_id. ; _item.name '_struct_sheet_hbond.pdbx_range_2_beg_label_comp_id' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_struct_sheet_hbond.pdbx_range_2_beg_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_2_beg_label_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_2_beg_label_asym_id _item_description.description ; Pointer to _atom_site.label_asym_id. ; _item.name '_struct_sheet_hbond.pdbx_range_2_beg_label_asym_id' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_sheet_hbond.pdbx_range_2_beg_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_2_beg_label_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_2_beg_PDB_ins_code _item_description.description ; Pointer to _atom_site.pdbx_PDB_ins_code. ; _item.name '_struct_sheet_hbond.pdbx_range_2_beg_PDB_ins_code' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_sheet_hbond.pdbx_range_2_beg_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_2_beg_label_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_2_end_label_comp_id _item_description.description ; Pointer to _atom_site.label_comp_id. ; _item.name '_struct_sheet_hbond.pdbx_range_2_end_label_comp_id' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_struct_sheet_hbond.pdbx_range_2_end_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_2_end_label_comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_2_end_label_asym_id _item_description.description ; Pointer to _atom_site.label_asym_id. ; _item.name '_struct_sheet_hbond.pdbx_range_2_end_label_asym_id' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_linked.child_name '_struct_sheet_hbond.pdbx_range_2_end_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_2_end_label_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_sheet_hbond.pdbx_range_2_end_label_ins_code _item_description.description ; Place holder for PDB insertion code. ; _item.name '_struct_sheet_hbond.pdbx_range_2_end_label_ins_code' _item.category_id struct_sheet_hbond _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_struct_sheet_hbond.ndb_range_2_end_label_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## ## save__struct_site.pdbx_num_residues _item_description.description ; Number of residues in the site. ; _item.name '_struct_site.pdbx_num_residues' _item.category_id struct_site _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_struct_site.rcsb_num_residues' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_site_gen.pdbx_auth_ins_code _item_description.description ; PDB insertion code. ; _item.name '_struct_site_gen.pdbx_auth_ins_code' _item.category_id struct_site_gen _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_struct_site_gen.ndb_label_ins_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_site_gen.pdbx_num_res _item_description.description ; Number of residues in the site. ; _item.name '_struct_site_gen.pdbx_num_res' _item.category_id struct_site_gen _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_struct_site_gen.ndb_num_res' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save__symmetry.pdbx_full_space_group_name_H-M _item_description.description ; Used for PDB space group: Example: 'C 1 2 1' (instead of C 2) 'P 1 2 1' (instead of P 2) 'P 1 21 1' (instead of P 21) 'P 1 1 21' (instead of P 21 -unique C axis) 'H 3' (instead of R 3 -hexagonal) 'H 3 2' (instead of R 3 2 -hexagonal) ; _item.name '_symmetry.pdbx_full_space_group_name_H-M' _item.category_id symmetry _item.mandatory_code no _item_type.code line _item_examples.case ; Example: 'C 1 2 1' (instead of C 2) 'P 1 2 1' (instead of P 2) 'P 1 21 1' (instead of P 21) 'P 1 1 21' (instead of P 21 -unique C axis) 'H 3' (instead of R 3 -hexagonal) 'H 3 2' (instead of R 3 2 -hexagonal) ; _item_aliases.alias_name '_symmetry.ndb_full_space_group_name_H-M' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save__refine.pdbx_overall_ESU_R _item_description.description ; Overall estimated standard uncertainties of positional parameters based on R value. ; _item.name '_refine.pdbx_overall_ESU_R' _item.category_id refine _item.mandatory_code no _item_aliases.alias_name '_refine.rcsb_overall_ESU_R' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_type.code float loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.pdbx_overall_ESU_R" 0 0 "_refine.pdbx_overall_ESU_R" 0 1.2 "_refine.pdbx_overall_ESU_R" 1.2 1.2 # save_ save__refine.pdbx_overall_ESU_R_Free _item_description.description ; Overall estimated standard uncertainties of positional parameters based on R free value. ; _item.name '_refine.pdbx_overall_ESU_R_Free' _item.category_id refine _item.mandatory_code no _item_type.code float loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.pdbx_overall_ESU_R_Free" 0 0 "_refine.pdbx_overall_ESU_R_Free" 0 0.7 "_refine.pdbx_overall_ESU_R_Free" 0.7 0.7 # _item_aliases.alias_name '_refine.rcsb_overall_ESU_R_Free' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### save_pdbx_refine_tls _category.description ; Data items in the REFINE_TLS category record details about TLS parameters used in structure refinement. Note that the intention is primarily to describe directly refined TLS parameters, although other methods of obtaining TLS parameters may be covered, see item _pdbx_refine_tls.method ; _category.id pdbx_refine_tls _category.mandatory_code no loop_ _category_key.name '_pdbx_refine_tls.id' # '_pdbx_refine_tls.pdbx_refine_id' loop_ _category_group.id 'inclusive_group' 'refine_group' 'pdbx_group' save_ save__pdbx_refine_tls.id _item_description.description ; The value of _pdbx_refine_tls.id must uniquely identify a record in the PDBX_REFINE_TLS list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_pdbx_refine_tls.id' _item.category_id pdbx_refine_tls _item.mandatory_code yes loop_ _item_linked.child_name _item_linked.parent_name '_pdbx_refine_tls_group.refine_tls_id' '_pdbx_refine_tls.id' _item_type.code code loop_ _item_examples.case 1 A loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.id' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.id' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _pdbx_refine_tls.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_pdbx_refine_tls.pdbx_refine_id' _item.category_id pdbx_refine_tls _item.mandatory_code yes _item_type.code line _item_linked.child_name '_pdbx_refine_tls.pdbx_refine_id' _item_linked.parent_name '_refine.pdbx_refine_id' _item_aliases.alias_name '_ccp4_refine_tls.pdbx_refine_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine_tls.details _item_description.description ; A description of the TLS group, such as a domain name or a chemical group name. ; _item.name '_pdbx_refine_tls.details' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Chain A catalytic domain' 'Chain A Tyr 56 side chain' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.details' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.details' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.method _item_description.description ; The method by which the TLS parameters were obtained. ; _item.name '_pdbx_refine_tls.method' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail refined ; TLS parameters refined directly against crystallographic residual ; fitted ; TLS parameters fitted to previously refined anisotropic displacement parameters ; loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.method' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.method' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.origin_x _item_description.description ; The x coordinate in angstroms of the origin to which the TLS parameters are referred, specified according to a set of orthogonal Cartesian axes related to the cell axes as given in _atom_sites.Cartn_transform_axes. If the origin is omitted, it is assumed to be the centre of reaction of the group, in which case S must be symmetric ; _item.name '_pdbx_refine_tls.origin_x' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_dependent.dependent_name '_pdbx_refine_tls.origin_y' '_pdbx_refine_tls.origin_z' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.origin_x' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.origin_x' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.origin_y _item_description.description ; The y coordinate in angstroms of the origin to which the TLS parameters are referred, specified according to a set of orthogonal Cartesian axes related to the cell axes as given in _atom_sites.Cartn_transform_axes. If the origin is omitted, it is assumed to be the centre of reaction of the group, in which case S must be symmetric ; _item.name '_pdbx_refine_tls.origin_y' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_dependent.dependent_name '_pdbx_refine_tls.origin_x' '_pdbx_refine_tls.origin_z' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.origin_y' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.origin_y' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.origin_z _item_description.description ; The z coordinate in angstroms of the origin to which the TLS parameters are referred, specified according to a set of orthogonal Cartesian axes related to the cell axes as given in _atom_sites.Cartn_transform_axes. If the origin is omitted, it is assumed to be the centre of reaction of the group, in which case S must be symmetric ; _item.name '_pdbx_refine_tls.origin_z' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_dependent.dependent_name '_pdbx_refine_tls.origin_x' '_pdbx_refine_tls.origin_y' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.origin_z' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.origin_z' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.T[1][1] _item_description.description ; The [1][1] element of the translation tensor T. This should be given in the same coordinate frame and units as the corresponding anisotropic displacement parameters. ; _item.name '_pdbx_refine_tls.T[1][1]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.T[1][1]_esd' associated_esd _item_units.code angstroms_squared _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.T[1][1]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.T[1][1]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.T[1][1]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.T[1][1]. ; _item.name '_pdbx_refine_tls.T[1][1]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.T[1][1]' associated_value _item_units.code angstroms_squared loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.T[1][1]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.T[1][1]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.T[1][2] _item_description.description ; The [1][2] element of the translation tensor T. This should be given in the same coordinate frame and units as the corresponding anisotropic displacement parameters. ; _item.name '_pdbx_refine_tls.T[1][2]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.T[1][2]_esd' associated_esd _item_units.code angstroms_squared _item_sub_category.id matrix _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.T[1][2]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.T[1][2]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.T[1][2]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.T[1][2]. ; _item.name '_pdbx_refine_tls.T[1][2]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.T[1][2]' associated_value _item_units.code angstroms_squared loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.T[1][2]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.T[1][2]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.T[1][3] _item_description.description ; The [1][3] element of the translation tensor T. This should be given in the same coordinate frame and units as the corresponding anisotropic displacement parameters. ; _item.name '_pdbx_refine_tls.T[1][3]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.T[1][3]_esd' associated_esd _item_units.code angstroms_squared _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.T[1][3]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.T[1][3]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.T[1][3]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.T[1][3]. ; _item.name '_pdbx_refine_tls.T[1][3]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.T[1][3]' associated_value _item_units.code angstroms_squared loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.T[1][3]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.T[1][3]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.T[2][2] _item_description.description ; The [2][2] element of the translation tensor T. This should be given in the same coordinate frame and units as the corresponding anisotropic displacement parameters. ; _item.name '_pdbx_refine_tls.T[2][2]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.T[2][2]_esd' associated_esd _item_units.code angstroms_squared _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.T[2][2]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.T[2][2]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.T[2][2]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.T[2][2]. ; _item.name '_pdbx_refine_tls.T[2][2]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.T[2][2]' associated_value _item_units.code angstroms_squared loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.T[2][2]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.T[2][2]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.T[2][3] _item_description.description ; The [2][3] element of the translation tensor T. This should be given in the same coordinate frame and units as the corresponding anisotropic displacement parameters. ; _item.name '_pdbx_refine_tls.T[2][3]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.T[2][3]_esd' associated_esd _item_units.code angstroms_squared _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.T[2][3]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.T[2][3]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.T[2][3]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.T[2][3]. ; _item.name '_pdbx_refine_tls.T[2][3]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.T[2][3]' associated_value _item_units.code angstroms_squared loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.T[2][3]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.T[2][3]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.T[3][3] _item_description.description ; The [3][3] element of the translation tensor T. This should be given in the same coordinate frame and units as the corresponding anisotropic displacement parameters. ; _item.name '_pdbx_refine_tls.T[3][3]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.T[3][3]_esd' associated_esd _item_units.code angstroms_squared _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.T[3][3]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.T[3][3]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.T[3][3]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.T[3][3]. ; _item.name '_pdbx_refine_tls.T[3][3]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.T[3][3]' associated_value _item_units.code angstroms_squared loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.T[3][3]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.T[3][3]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.L[1][1] _item_description.description ; The [1][1] element of the libration tensor L. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. ; _item.name '_pdbx_refine_tls.L[1][1]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.L[1][1]_esd' associated_esd _item_units.code degrees_squared _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.L[1][1]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.L[1][1]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.L[1][1]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.L[1][1]. ; _item.name '_pdbx_refine_tls.L[1][1]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.L[1][1]' associated_value _item_units.code degrees_squared loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.L[1][1]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.L[1][1]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.L[1][2] _item_description.description ; The [1][2] element of the libration tensor L. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. ; _item.name '_pdbx_refine_tls.L[1][2]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.L[1][2]_esd' associated_esd _item_units.code degrees_squared _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.L[1][2]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.L[1][2]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.L[1][2]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.L[1][2]. ; _item.name '_pdbx_refine_tls.L[1][2]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.L[1][2]' associated_value _item_units.code degrees_squared loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.L[1][2]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.L[1][2]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.L[1][3] _item_description.description ; The [1][3] element of the libration tensor L. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. ; _item.name '_pdbx_refine_tls.L[1][3]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.L[1][3]_esd' associated_esd _item_units.code degrees_squared _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.L[1][3]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.L[1][3]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.L[1][3]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.L[1][3]. ; _item.name '_pdbx_refine_tls.L[1][3]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.L[1][3]' associated_value _item_units.code degrees_squared loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.L[1][3]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.L[1][3]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.L[2][2] _item_description.description ; The [2][2] element of the libration tensor L. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. ; _item.name '_pdbx_refine_tls.L[2][2]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.L[2][2]_esd' associated_esd _item_units.code degrees_squared _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.L[2][2]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.L[2][2]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.L[2][2]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.L[2][2]. ; _item.name '_pdbx_refine_tls.L[2][2]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.L[2][2]' associated_value _item_units.code degrees_squared loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.L[2][2]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.L[2][2]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.L[2][3] _item_description.description ; The [2][3] element of the libration tensor L. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. ; _item.name '_pdbx_refine_tls.L[2][3]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.L[2][3]_esd' associated_esd _item_units.code degrees_squared _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.L[2][3]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.L[2][3]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.L[2][3]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.L[2][3]. ; _item.name '_pdbx_refine_tls.L[2][3]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.L[2][3]' associated_value _item_units.code degrees_squared loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.L[2][3]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.L[2][3]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.L[3][3] _item_description.description ; The [3][3] element of the libration tensor L. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. ; _item.name '_pdbx_refine_tls.L[3][3]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.L[3][3]_esd' associated_esd _item_units.code degrees_squared _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.L[3][3]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.L[3][3]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.L[3][3]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.L[3][3]. ; _item.name '_pdbx_refine_tls.L[3][3]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.L[3][3]' associated_value _item_units.code degrees_squared loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.L[3][3]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.L[3][3]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[1][1] _item_description.description ; The [1][1] element of the screw-rotation tensor S. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. The trace of S is indeterminate by crystallography, and should be set to zero. ; _item.name '_pdbx_refine_tls.S[1][1]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[1][1]_esd' associated_esd _item_units.code angstroms_degrees _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[1][1]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[1][1]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[1][1]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.S[1][1]. ; _item.name '_pdbx_refine_tls.S[1][1]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[1][1]' associated_value _item_units.code angstroms_degrees loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[1][1]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[1][1]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[1][2] _item_description.description ; The [1][2] element of the screw-rotation tensor S. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. If the origin is omitted, it is assumed to be the centre of reaction of the group, in which case S must be symmetric ; _item.name '_pdbx_refine_tls.S[1][2]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[1][2]_esd' associated_esd _item_units.code angstroms_degrees _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[1][2]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[1][2]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[1][2]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.S[1][2]. ; _item.name '_pdbx_refine_tls.S[1][2]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[1][2]' associated_value _item_units.code angstroms_degrees loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[1][2]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[1][2]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[1][3] _item_description.description ; The [1][3] element of the screw-rotation tensor S. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. If the origin is omitted, it is assumed to be the centre of reaction of the group, in which case S must be symmetric ; _item.name '_pdbx_refine_tls.S[1][3]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[1][3]_esd' associated_esd _item_units.code angstroms_degrees _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[1][3]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[1][3]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[1][3]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.S[1][3]. ; _item.name '_pdbx_refine_tls.S[1][3]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[1][3]' associated_value _item_units.code angstroms_degrees loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[1][3]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[1][3]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[2][1] _item_description.description ; The [2][1] element of the screw-rotation tensor S. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. If the origin is omitted, it is assumed to be the centre of reaction of the group, in which case S must be symmetric ; _item.name '_pdbx_refine_tls.S[2][1]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[2][1]_esd' associated_esd _item_units.code angstroms_degrees _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[2][1]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[2][1]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[2][1]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.S[2][1]. ; _item.name '_pdbx_refine_tls.S[2][1]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[2][1]' associated_value _item_units.code angstroms_degrees loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[2][1]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[2][1]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[2][2] _item_description.description ; The [2][2] element of the screw-rotation tensor S. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. The trace of S is indeterminate by crystallography, and should be set to zero. ; _item.name '_pdbx_refine_tls.S[2][2]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[2][2]_esd' associated_esd _item_units.code angstroms_degrees _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[2][2]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[2][2]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[2][2]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.S[2][2]. ; _item.name '_pdbx_refine_tls.S[2][2]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[2][2]' associated_value _item_units.code angstroms_degrees loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[2][2]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[2][2]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[2][3] _item_description.description ; The [2][3] element of the screw-rotation tensor S. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. If the origin is omitted, it is assumed to be the centre of reaction of the group, in which case S must be symmetric ; _item.name '_pdbx_refine_tls.S[2][3]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[2][3]_esd' associated_esd _item_units.code angstroms_degrees _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[2][3]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[2][3]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[2][3]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.S[2][3]. ; _item.name '_pdbx_refine_tls.S[2][3]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[2][3]' associated_value _item_units.code angstroms_degrees loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[2][3]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[2][3]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[3][1] _item_description.description ; The [3][1] element of the screw-rotation tensor S. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. If the origin is omitted, it is assumed to be the centre of reaction of the group, in which case S must be symmetric ; _item.name '_pdbx_refine_tls.S[3][1]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[3][1]_esd' associated_esd _item_units.code angstroms_degrees _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[3][1]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[3][1]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[3][1]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.S[3][1]. ; _item.name '_pdbx_refine_tls.S[3][1]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[3][1]' associated_value _item_units.code angstroms_degrees loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[3][1]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[3][1]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[3][2] _item_description.description ; The [3][2] element of the screw-rotation tensor S. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. If the origin is omitted, it is assumed to be the centre of reaction of the group, in which case S must be symmetric ; _item.name '_pdbx_refine_tls.S[3][2]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[3][2]_esd' associated_esd _item_units.code angstroms_degrees _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[3][2]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[3][2]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[3][2]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.S[3][2]. ; _item.name '_pdbx_refine_tls.S[3][2]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[3][2]' associated_value _item_units.code angstroms_degrees loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[3][2]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[3][2]_esd' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[3][3] _item_description.description ; The [3][3] element of the screw-rotation tensor S. This should be given in the same coordinate frame as the corresponding anisotropic displacement parameters. The trace of S is indeterminate by crystallography, and should be set to zero. ; _item.name '_pdbx_refine_tls.S[3][3]' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[3][3]_esd' associated_esd _item_units.code angstroms_degrees _item_type_conditions.code esd loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[3][3]' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[3][3]' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls.S[3][3]_esd _item_description.description ; The estimated standard deviation of _pdbx_refine_tls.S[3][3]. ; _item.name '_pdbx_refine_tls.S[3][3]_esd' _item.category_id pdbx_refine_tls _item.mandatory_code no _item_type.code float _item_sub_category.id matrix _item_default.value 0.0 loop_ _item_related.related_name _item_related.function_code '_pdbx_refine_tls.S[3][3]' associated_value _item_units.code angstroms_degrees loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls.S[3][3]_esd' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls.S[3][3]_esd' 'cif_ccp4.dic' 1.0 save_ save_pdbx_refine_tls_group _category.description ; Data items in the PDBX_REFINE_TLS_GROUP category record details about a fragment of a TLS group. Properties of the TLS group are recorded in PDBX_REFINE_TLS ; _category.id pdbx_refine_tls_group _category.mandatory_code no loop_ _category_key.name '_pdbx_refine_tls_group.id' # '_pdbx_refine_tls_group.pdbx_refine_id' loop_ _category_group.id 'inclusive_group' 'refine_group' 'pdbx_group' save_ save__pdbx_refine_tls_group.id _item_description.description ; The value of _pdbx_refine_tls_group.id must uniquely identify a record in the REFINE_TLS_GROUP list for a particular refinement. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_pdbx_refine_tls_group.id' _item.category_id pdbx_refine_tls_group _item.mandatory_code yes _item_type.code code loop_ _item_examples.case 1 A loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls_group.id' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls_group.id' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls_group.pdbx_refine_id _item_description.description ; This data item uniquely identifies a refinement within an entry. _pdbx_refine_tls_group.pdbx_refine_id can be used to distinguish the results of joint refinements. ; _item.name '_pdbx_refine_tls_group.pdbx_refine_id' _item.category_id pdbx_refine_tls_group _item.mandatory_code yes _item_type.code line _item_linked.child_name '_pdbx_refine_tls_group.pdbx_refine_id' _item_linked.parent_name '_refine.pdbx_refine_id' _item_aliases.alias_name '_ccp4_refine_tls_group.pdbx_refine_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_refine_tls_group.refine_tls_id _item_description.description ; This data item is a pointer to _pdbx_refine_tls.id in the REFINE_TLS category. ; _item.name '_pdbx_refine_tls_group.refine_tls_id' _item.category_id pdbx_refine_tls_group _item.mandatory_code yes _item_type.code code loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls_group.refine_tls_id' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls_group.refine_tls_id' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls_group.beg_label_asym_id _item_description.description ; A component of the identifier for the residue at which the TLS fragment range begins. This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_pdbx_refine_tls_group.beg_label_asym_id' _item.category_id pdbx_refine_tls_group _item.mandatory_code no _item_type.code code loop_ _item_linked.child_name _item_linked.parent_name '_pdbx_refine_tls_group.beg_label_asym_id' '_struct_asym.id' loop_ _item_examples.case O 2B3 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls_group.beg_label_asym_id' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls_group.beg_label_asym_id' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls_group.beg_label_seq_id _item_description.description ; A component of the identifier for the residue at which the TLS fragment range begins. ; _item.name '_pdbx_refine_tls_group.beg_label_seq_id' _item.category_id pdbx_refine_tls_group _item.mandatory_code no _item_type.code int loop_ _item_examples.case 1 303 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls_group.beg_label_seq_id' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls_group.beg_label_seq_id' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls_group.beg_auth_asym_id _item_description.description ; A component of the identifier for the residue at which the TLS fragment range begins. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_refine_tls_group.beg_auth_asym_id' _item.category_id pdbx_refine_tls_group _item.mandatory_code no _item_type.code code loop_ _item_examples.case O 2B3 # _item_linked.child_name '_pdbx_refine_tls_group.beg_auth_asym_id' # _item_linked.parent_name '_atom_site.auth_asym_id' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls_group.beg_auth_asym_id' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls_group.beg_auth_asym_id' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls_group.beg_auth_seq_id _item_description.description ; A component of the identifier for the residue at which the TLS fragment range begins. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_refine_tls_group.beg_auth_seq_id' _item.category_id pdbx_refine_tls_group _item.mandatory_code no _item_type.code code loop_ _item_examples.case 1 5A # _item_linked.child_name '_pdbx_refine_tls_group.beg_auth_seq_id' # _item_linked.parent_name '_atom_site.auth_seq_id' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls_group.beg_auth_seq_id' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls_group.beg_auth_seq_id' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls_group.beg_PDB_ins_code _item_description.description ; A component of the identifier for the residue at which the TLS fragment range begins. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_refine_tls_group.beg_PDB_ins_code' _item.category_id pdbx_refine_tls_group _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_refine_tls_group.beg_PDB_ins_code' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_refine_tls_group.end_label_asym_id _item_description.description ; A component of the identifier for the residue at which the TLS fragment range ends. This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_pdbx_refine_tls_group.end_label_asym_id' _item.category_id pdbx_refine_tls_group _item.mandatory_code no _item_type.code code loop_ _item_linked.child_name _item_linked.parent_name '_pdbx_refine_tls_group.end_label_asym_id' '_struct_asym.id' loop_ _item_examples.case O 2B3 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls_group.end_label_asym_id' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls_group.end_label_asym_id' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls_group.end_label_seq_id _item_description.description ; A component of the identifier for the residue at which the TLS fragment range ends. ; _item.name '_pdbx_refine_tls_group.end_label_seq_id' _item.category_id pdbx_refine_tls_group _item.mandatory_code no _item_type.code int loop_ _item_examples.case 1 303 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls_group.end_label_seq_id' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls_group.end_label_seq_id' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls_group.end_auth_asym_id _item_description.description ; A component of the identifier for the residue at which the TLS fragment range ends. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_refine_tls_group.end_auth_asym_id' _item.category_id pdbx_refine_tls_group _item.mandatory_code no _item_type.code code #_item_linked.child_name '_pdbx_refine_tls_group.end_auth_asym_id' #_item_linked.parent_name '_atom_site.auth_asym_id' loop_ _item_examples.case O 2B3 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls_group.end_auth_asym_id' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls_group.end_auth_asym_id' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls_group.end_auth_seq_id _item_description.description ; A component of the identifier for the residue at which the TLS fragment range ends. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_refine_tls_group.end_auth_seq_id' _item.category_id pdbx_refine_tls_group _item.mandatory_code no _item_type.code code loop_ _item_examples.case 1 5A # _item_linked.child_name '_pdbx_refine_tls_group.end_auth_seq_id' # _item_linked.parent_name '_atom_site.auth_seq_id' loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls_group.end_auth_seq_id' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls_group.end_auth_seq_id' 'cif_ccp4.dic' 1.0 save_ save__pdbx_refine_tls_group.end_PDB_ins_code _item_description.description ; A component of the identifier for the residue at which the TLS fragment range ends. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_refine_tls_group.end_PDB_ins_code' _item.category_id pdbx_refine_tls_group _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_refine_tls_group.end_PDB_ins_code' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_refine_tls_group.selection _item_description.description ; A qualification of the subset of atoms in the specified range included in the TLS fragment. ; _item.name '_pdbx_refine_tls_group.selection' _item.category_id pdbx_refine_tls_group _item.mandatory_code no _item_type.code line loop_ _item_examples.case _item_examples.detail all ; all atoms in specified range ; mnc ; main chain atoms only ; sdc ; side chain atoms only ; loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls_group.selection' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls_group.selection' 'cif_ccp4.dic' 1.0 save_ # save__pdbx_refine_tls_group.selection_details _item_description.description ; A text description of subset of atoms included included in the TLS fragment. ; _item.name '_pdbx_refine_tls_group.selection_details' _item.category_id pdbx_refine_tls_group _item.mandatory_code no _item_type.code text loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_ccp4_refine_tls_group.selection_details' 'cif_rcsb.dic' 1.1 '_ccp4_refine_tls_group.selection_details' 'cif_ccp4.dic' 1.0 save_ save__refine.pdbx_solvent_vdw_probe_radii _item_description.description ; For bulk solvent mask calculation, the value by which the vdw radii of non-ion atoms (like carbon) are increased and used. ; _item.name '_refine.pdbx_solvent_vdw_probe_radii' _item.category_id refine _item.mandatory_code no _item_type.code float _item_units.code angstroms _pdbx_item_description.name "_refine.pdbx_solvent_vdw_probe_radii" _pdbx_item_description.description "Bulk solvent probe van der Waals radii" loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine.ccp4_solvent_vdw_probe_radii' 'cif_rcsb.dic' 1.1 '_refine.ccp4_solvent_vdw_probe_radii' 'cif_ccp4.dic' 1.0 save_ save__refine.pdbx_solvent_ion_probe_radii _item_description.description ; For bulk solvent mask calculation, the amount that the ionic radii of atoms, which can be ions, are increased used. ; _item.name '_refine.pdbx_solvent_ion_probe_radii' _item.category_id refine _item.mandatory_code no _item_type.code float _item_units.code angstroms _pdbx_item_description.name "_refine.pdbx_solvent_ion_probe_radii" _pdbx_item_description.description "Bulk solvent ion probe radii" # loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine.ccp4_solvent_ion_probe_radii' 'cif_rcsb.dic' 1.1 '_refine.ccp4_solvent_ion_probe_radii' 'cif_ccp4.dic' 1.0 save_ save__refine.pdbx_solvent_shrinkage_radii _item_description.description ; For bulk solvent mask calculation, amount mask is shrunk after taking away atoms with new radii and a constant value assigned to this new region. ; _item.name '_refine.pdbx_solvent_shrinkage_radii' _item.category_id refine _item.mandatory_code no _item_type.code float _item_units.code angstroms _pdbx_item_description.name "_refine.pdbx_solvent_shrinkage_radii" _pdbx_item_description.description "Bulk solvent shrinkage radii" loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_refine.ccp4_solvent_shrinkage_radii' 'cif_rcsb.dic' 1.1 '_refine.ccp4_solvent_shrinkage_radii' 'cif_ccp4.dic' 1.0 save_ ######################### ## PDBX_CONTACT_AUTHOR ## ######################### save_pdbx_contact_author _category.description ; Data items in the PDBX_CONTACT_AUTHOR category record details about the name and address of the author to be contacted concerning the contents of this data block. This category atomizes information to a greater degree than the standard AUDIT_CONTACT_AUTHOR category. ; _category.id pdbx_contact_author _category.mandatory_code no _category_key.name '_pdbx_contact_author.id' loop_ _category_group.id 'inclusive_group' 'audit_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_contact_author.id 1 _pdbx_contact_author.name_salutation 'Dr.' _pdbx_contact_author.name_first 'Paula' _pdbx_contact_author.name_last 'Fitzgerald' _pdbx_contact_author.name_mi 'M.D.' _pdbx_contact_author.address_1 'Department of Biophysical Chemistry' _pdbx_contact_author.address_2 'Merck Research Laboratories' _pdbx_contact_author.address_3 'P. O. Box 2000, Ry80M203' _pdbx_contact_author.city 'Rahway' _pdbx_contact_author.state_province 'New Jersey' _pdbx_contact_author.postal_code 07065 _pdbx_contact_author.country 'UNITED STATES' _pdbx_contact_author.phone '908 594 5510' _pdbx_contact_author.fax '908 594 6645' _pdbx_contact_author.email 'paula_fitzgerald@merck.com' _pdbx_contact_author.role 'principal investigator/group leader' _pdbx_contact_author.organization_type 'commercial' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_conditional_context.context_id WWPDB_NOT_ACCEPT_GDPR_20210924 _pdbx_category_conditional_context.action suppress _pdbx_category_conditional_context.category_id pdbx_contact_author _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_contact_author save_ save__pdbx_contact_author.id _item_description.description ; A unique integer identifier for this author ; _item.name '_pdbx_contact_author.id' _item.category_id pdbx_contact_author _item.mandatory_code yes _item_type.code int _item_examples.case ; 1 2 3 ; loop_ _item_enumeration.value 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 _pdbx_item.name "_pdbx_contact_author.id" _pdbx_item.mandatory_code yes save_ save__pdbx_contact_author.address_1 _item_description.description ; The mailing address of the author of the data block to whom correspondence should be addressed, line 1 of 3. ; _item.name '_pdbx_contact_author.address_1' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code text _item_examples.case ; 610 Taylor Road ; _pdbx_item.name "_pdbx_contact_author.address_1" _pdbx_item.mandatory_code no # _pdbx_item_examples.name "_pdbx_contact_author.address_1" _pdbx_item_examples.case "715 Main St." _pdbx_item_examples.detail . _pdbx_item_conditional_context.context_id WWPDB_ALWAYS_SUPPRESS _pdbx_item_conditional_context.action suppress-item _pdbx_item_conditional_context.item_name "_pdbx_contact_author.address_1" save_ save__pdbx_contact_author.address_2 _item_description.description ; The mailing address of the author of the data block to whom correspondence should be addressed, line 2 of 3. ; _item.name '_pdbx_contact_author.address_2' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code text _item_examples.case ; Department of Chemistry and Chemical Biology ; _pdbx_item.name "_pdbx_contact_author.address_2" _pdbx_item.mandatory_code no # _pdbx_item_examples.name "_pdbx_contact_author.address_2" _pdbx_item_examples.case "Department of Alchemy" _pdbx_item_examples.detail . # _pdbx_item_conditional_context.context_id WWPDB_ALWAYS_SUPPRESS _pdbx_item_conditional_context.action suppress-item _pdbx_item_conditional_context.item_name "_pdbx_contact_author.address_2" save_ save__pdbx_contact_author.address_3 _item_description.description ; The mailing address of the author of the data block to whom correspondence should be addressed, line 3 of 3. ; _item.name '_pdbx_contact_author.address_3' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code text _item_examples.case ; Busch Campus ; _pdbx_item.name "_pdbx_contact_author.address_3" _pdbx_item.mandatory_code no # _pdbx_item_examples.name "_pdbx_contact_author.address_3" _pdbx_item_examples.case "Some institution" _pdbx_item_examples.detail . # _pdbx_item_conditional_context.context_id WWPDB_ALWAYS_SUPPRESS _pdbx_item_conditional_context.action suppress-item _pdbx_item_conditional_context.item_name "_pdbx_contact_author.address_3" save_ save__pdbx_contact_author.legacy_address _item_description.description ; The mailing address of the author of the data block to whom correspondence should be addressed transfered from _audit_contact_author.address ; _item.name '_pdbx_contact_author.legacy_address' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code text _item_examples.case ; Busch Campus ; _pdbx_item_conditional_context.context_id WWPDB_ALWAYS_SUPPRESS _pdbx_item_conditional_context.action suppress-item _pdbx_item_conditional_context.item_name "_pdbx_contact_author.legacy_address" save_ save__pdbx_contact_author.city _item_description.description ; The mailing address of the author of the data block to whom correspondence should be addressed, city. ; _item.name '_pdbx_contact_author.city' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code line _pdbx_item.name "_pdbx_contact_author.city" _pdbx_item.mandatory_code no _item_examples.case ; Piscataway ; _pdbx_item_conditional_context.context_id WWPDB_ALWAYS_SUPPRESS _pdbx_item_conditional_context.action suppress-item _pdbx_item_conditional_context.item_name "_pdbx_contact_author.city" save_ save__pdbx_contact_author.state_province _item_description.description ; The mailing address of the author of the data block to whom correspondence should be addressed, state or province. ; _item.name '_pdbx_contact_author.state_province' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code line _item_examples.case ; New Jersey ; _pdbx_item.name "_pdbx_contact_author.state_province" _pdbx_item.mandatory_code no _pdbx_item_conditional_context.context_id WWPDB_ALWAYS_SUPPRESS _pdbx_item_conditional_context.action suppress-item _pdbx_item_conditional_context.item_name "_pdbx_contact_author.state_province" # save_ save__pdbx_contact_author.postal_code _item_description.description ; The mailing address of the author of the data block to whom correspondence should be addressed, zip code. ; _item.name '_pdbx_contact_author.postal_code' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code line _item_examples.case ; 08854 ; _pdbx_item.name "_pdbx_contact_author.postal_code" _pdbx_item.mandatory_code no _pdbx_item_conditional_context.context_id WWPDB_ALWAYS_SUPPRESS _pdbx_item_conditional_context.action suppress-item _pdbx_item_conditional_context.item_name "_pdbx_contact_author.postal_code" save_ save__pdbx_contact_author.email _item_description.description ; The electronic mail address of the author of the data block to whom correspondence should be addressed, in a form recognisable to international networks. ; _item.name '_pdbx_contact_author.email' _item.category_id pdbx_contact_author _item.mandatory_code yes _item_type.code line _pdbx_item_type.name '_pdbx_contact_author.email' _pdbx_item_type.code deposition_email loop_ _item_examples.case 'name@host.domain.country' 'bm@iucr.ac.uk' _pdbx_item.name "_pdbx_contact_author.email" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_contact_author.email" _pdbx_item_description.description "Enter the e-mail address at which the PDB can reach the contact person. This email address is also used for all correspondence regarding this deposition." # _pdbx_item_conditional_context.context_id WWPDB_NOT_PI _pdbx_item_conditional_context.action suppress-row _pdbx_item_conditional_context.item_name "_pdbx_contact_author.email" save_ save__pdbx_contact_author.fax _item_description.description ; The facsimile telephone number of the author of the data block to whom correspondence should be addressed. The recommended style includes the international dialing prefix, the area code in parentheses, followed by the local number with no spaces. ; _item.name '_pdbx_contact_author.fax' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code line _pdbx_item.name "_pdbx_contact_author.fax" _pdbx_item.mandatory_code no loop_ _item_examples.case '12(34) 947 7334' '732 445 0103' _pdbx_item_description.name "_pdbx_contact_author.fax" _pdbx_item_description.description "Enter the complete fax number, in any format you prefer. Please include all country and area codes." # _pdbx_item_examples.name "_pdbx_contact_author.fax" _pdbx_item_examples.case "01(617) 555-1212" _pdbx_item_examples.detail . # _pdbx_item_conditional_context.context_id WWPDB_ALWAYS_SUPPRESS _pdbx_item_conditional_context.action suppress-item _pdbx_item_conditional_context.item_name "_pdbx_contact_author.fax" save_ save__pdbx_contact_author.name_first _item_description.description ; The first name of the author of the data block to whom correspondence should be addressed. ; _item.name '_pdbx_contact_author.name_first' _item.category_id pdbx_contact_author _item.mandatory_code yes _item_type.code line _pdbx_item.name "_pdbx_contact_author.name_first" _pdbx_item.mandatory_code yes loop_ _item_examples.case 'Percival' 'Loyd' 'Susan' _pdbx_item_description.name "_pdbx_contact_author.name_first" _pdbx_item_description.description "Enter the first name of the contact person." # _pdbx_item_examples.name "_pdbx_contact_author.name_first" _pdbx_item_examples.case Tom _pdbx_item_examples.detail . # _pdbx_item_conditional_context.context_id WWPDB_NOT_PI _pdbx_item_conditional_context.action suppress-row _pdbx_item_conditional_context.item_name "_pdbx_contact_author.name_first" # save_ save__pdbx_contact_author.name_last _item_description.description ; The last name of the author of the data block to whom correspondence should be addressed. ; _item.name '_pdbx_contact_author.name_last' _item.category_id pdbx_contact_author _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'Samuels' 'Rodgers' _pdbx_item.name "_pdbx_contact_author.name_last" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_contact_author.name_last" _pdbx_item_description.description "Enter the family name also known as the surname or last name of the contact person." # _pdbx_item_examples.name "_pdbx_contact_author.name_last" _pdbx_item_examples.case Smith _pdbx_item_examples.detail . # _pdbx_item_conditional_context.context_id WWPDB_NOT_PI _pdbx_item_conditional_context.action suppress-row _pdbx_item_conditional_context.item_name "_pdbx_contact_author.name_last" # save_ save__pdbx_contact_author.name_mi _item_description.description ; The middle initial(s) of the author of the data block to whom correspondence should be addressed. ; _item.name '_pdbx_contact_author.name_mi' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'T.' 'M.F.' _pdbx_item.name "_pdbx_contact_author.name_mi" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_pdbx_contact_author.name_mi" _pdbx_item_description.description "Enter the middle name of the contact person if any." # _pdbx_item_examples.name "_pdbx_contact_author.name_mi" _pdbx_item_examples.case J. _pdbx_item_examples.detail . # _pdbx_item_conditional_context.context_id WWPDB_NOT_PI _pdbx_item_conditional_context.action suppress-row _pdbx_item_conditional_context.item_name "_pdbx_contact_author.name_mi" save_ save__pdbx_contact_author.name_salutation _item_description.description ; The salutation of the author of the data block to whom correspondence should be addressed. ; _item.name '_pdbx_contact_author.name_salutation' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'Dr.' 'Prof.' 'Mr.' 'Ms.' 'Mrs.' loop_ _item_enumeration.value 'Dr.' 'Prof.' 'Mr.' 'Ms.' 'Mrs.' _pdbx_item_conditional_context.context_id WWPDB_ALWAYS_SUPPRESS _pdbx_item_conditional_context.action suppress-item _pdbx_item_conditional_context.item_name "_pdbx_contact_author.name_salutation" save_ save__pdbx_contact_author.country _item_description.description ; The country/region of the author of the data block to whom correspondence should be addressed. ; _item.name '_pdbx_contact_author.country' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'UNITED STATES' 'UNITED KINGDOM' 'AUSTRALIA' _pdbx_item.name "_pdbx_contact_author.country" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_contact_author.country" _pdbx_item_description.description "The country/region in which the research was performed" # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_contact_author.country" "United Kingdom" . "_pdbx_contact_author.country" "United States" . "_pdbx_contact_author.country" Japan . "_pdbx_contact_author.country" Afghanistan . "_pdbx_contact_author.country" "Aland Islands" . "_pdbx_contact_author.country" Albania . "_pdbx_contact_author.country" Algeria . "_pdbx_contact_author.country" "American Samoa" . "_pdbx_contact_author.country" Andorra . "_pdbx_contact_author.country" Angola . "_pdbx_contact_author.country" Anguilla . "_pdbx_contact_author.country" Antarctica . "_pdbx_contact_author.country" "Antigua And Barbuda" . "_pdbx_contact_author.country" Argentina . "_pdbx_contact_author.country" Armenia . "_pdbx_contact_author.country" Aruba . "_pdbx_contact_author.country" Australia . "_pdbx_contact_author.country" Austria . "_pdbx_contact_author.country" Azerbaijan . "_pdbx_contact_author.country" Bahamas . "_pdbx_contact_author.country" Bahrain . "_pdbx_contact_author.country" Bangladesh . "_pdbx_contact_author.country" Barbados . "_pdbx_contact_author.country" Belarus . "_pdbx_contact_author.country" Belgium . "_pdbx_contact_author.country" Belize . "_pdbx_contact_author.country" Benin . "_pdbx_contact_author.country" Bermuda . "_pdbx_contact_author.country" Bhutan . "_pdbx_contact_author.country" "Bolivia, Plurinational State Of" . "_pdbx_contact_author.country" "Bonaire, Sint Eustatius And Saba" . "_pdbx_contact_author.country" "Bosnia And Herzegovina" . "_pdbx_contact_author.country" Botswana . "_pdbx_contact_author.country" "Bouvet Island" . "_pdbx_contact_author.country" Brazil . "_pdbx_contact_author.country" "British Indian Ocean Territory" . "_pdbx_contact_author.country" "Brunei Darussalam" . "_pdbx_contact_author.country" Bulgaria . "_pdbx_contact_author.country" "Burkina Faso" . "_pdbx_contact_author.country" Burundi . "_pdbx_contact_author.country" Cambodia . "_pdbx_contact_author.country" Cameroon . "_pdbx_contact_author.country" Canada . "_pdbx_contact_author.country" "Cape Verde" . "_pdbx_contact_author.country" "Cayman Islands" . "_pdbx_contact_author.country" "Central African Republic" . "_pdbx_contact_author.country" Chad . "_pdbx_contact_author.country" Chile . "_pdbx_contact_author.country" China . "_pdbx_contact_author.country" "Christmas Island" . "_pdbx_contact_author.country" "Cocos (Keeling) Islands" . "_pdbx_contact_author.country" Colombia . "_pdbx_contact_author.country" Comoros . "_pdbx_contact_author.country" Congo . "_pdbx_contact_author.country" "Congo, The Democratic Republic Of The" . "_pdbx_contact_author.country" "Cook Islands" . "_pdbx_contact_author.country" "Costa Rica" . "_pdbx_contact_author.country" "Cote D'Ivoire" . "_pdbx_contact_author.country" Croatia . "_pdbx_contact_author.country" Cuba . "_pdbx_contact_author.country" Curacao . "_pdbx_contact_author.country" Cyprus . "_pdbx_contact_author.country" "Czech Republic" . "_pdbx_contact_author.country" Denmark . "_pdbx_contact_author.country" Djibouti . "_pdbx_contact_author.country" Dominica . "_pdbx_contact_author.country" "Dominican Republic" . "_pdbx_contact_author.country" Ecuador . "_pdbx_contact_author.country" Egypt . "_pdbx_contact_author.country" "El Salvador" . "_pdbx_contact_author.country" "Equatorial Guinea" . "_pdbx_contact_author.country" Eritrea . "_pdbx_contact_author.country" Estonia . "_pdbx_contact_author.country" Ethiopia . "_pdbx_contact_author.country" "Falkland Islands (Malvinas)" . "_pdbx_contact_author.country" "Faroe Islands" . "_pdbx_contact_author.country" Fiji . "_pdbx_contact_author.country" Finland . "_pdbx_contact_author.country" France . "_pdbx_contact_author.country" "French Guiana" . "_pdbx_contact_author.country" "French Polynesia" . "_pdbx_contact_author.country" "French Southern Territories" . "_pdbx_contact_author.country" Gabon . "_pdbx_contact_author.country" Gambia . "_pdbx_contact_author.country" Georgia . "_pdbx_contact_author.country" Germany . "_pdbx_contact_author.country" Ghana . "_pdbx_contact_author.country" Gibraltar . "_pdbx_contact_author.country" Greece . "_pdbx_contact_author.country" Greenland . "_pdbx_contact_author.country" Grenada . "_pdbx_contact_author.country" Guadeloupe . "_pdbx_contact_author.country" Guam . "_pdbx_contact_author.country" Guatemala . "_pdbx_contact_author.country" Guernsey . "_pdbx_contact_author.country" Guinea . "_pdbx_contact_author.country" Guinea-Bissau . "_pdbx_contact_author.country" Guyana . "_pdbx_contact_author.country" Haiti . "_pdbx_contact_author.country" "Heard Island And Mcdonald Islands" . "_pdbx_contact_author.country" "Holy See (Vatican City State)" . "_pdbx_contact_author.country" Honduras . "_pdbx_contact_author.country" "Hong Kong" . "_pdbx_contact_author.country" Hungary . "_pdbx_contact_author.country" Iceland . "_pdbx_contact_author.country" India . "_pdbx_contact_author.country" Indonesia . "_pdbx_contact_author.country" "Iran, Islamic Republic Of" . "_pdbx_contact_author.country" Iraq . "_pdbx_contact_author.country" Ireland . "_pdbx_contact_author.country" "Isle Of Man" . "_pdbx_contact_author.country" Israel . "_pdbx_contact_author.country" Italy . "_pdbx_contact_author.country" Jamaica . "_pdbx_contact_author.country" Jersey . "_pdbx_contact_author.country" Jordan . "_pdbx_contact_author.country" Kazakhstan . "_pdbx_contact_author.country" Kenya . "_pdbx_contact_author.country" Kiribati . "_pdbx_contact_author.country" "Korea, Democratic People's Republic Of" . "_pdbx_contact_author.country" "Korea, Republic Of" . "_pdbx_contact_author.country" Kuwait . "_pdbx_contact_author.country" Kyrgyzstan . "_pdbx_contact_author.country" "Lao People's Democratic Republic" . "_pdbx_contact_author.country" Latvia . "_pdbx_contact_author.country" Lebanon . "_pdbx_contact_author.country" Lesotho . "_pdbx_contact_author.country" Liberia . "_pdbx_contact_author.country" Libya . "_pdbx_contact_author.country" Liechtenstein . "_pdbx_contact_author.country" Lithuania . "_pdbx_contact_author.country" Luxembourg . "_pdbx_contact_author.country" Macao . "_pdbx_contact_author.country" Macedonia . "_pdbx_contact_author.country" Madagascar . "_pdbx_contact_author.country" Malawi . "_pdbx_contact_author.country" Malaysia . "_pdbx_contact_author.country" Maldives . "_pdbx_contact_author.country" Mali . "_pdbx_contact_author.country" Malta . "_pdbx_contact_author.country" "Marshall Islands" . "_pdbx_contact_author.country" Martinique . "_pdbx_contact_author.country" Mauritania . "_pdbx_contact_author.country" Mauritius . "_pdbx_contact_author.country" Mayotte . "_pdbx_contact_author.country" Mexico . "_pdbx_contact_author.country" "Micronesia, Federated States Of" . "_pdbx_contact_author.country" "Moldova, Republic Of" . "_pdbx_contact_author.country" Monaco . "_pdbx_contact_author.country" Mongolia . "_pdbx_contact_author.country" Montenegro . "_pdbx_contact_author.country" Montserrat . "_pdbx_contact_author.country" Morocco . "_pdbx_contact_author.country" Mozambique . "_pdbx_contact_author.country" Myanmar . "_pdbx_contact_author.country" Namibia . "_pdbx_contact_author.country" Nauru . "_pdbx_contact_author.country" Nepal . "_pdbx_contact_author.country" Netherlands . "_pdbx_contact_author.country" "New Caledonia" . "_pdbx_contact_author.country" "New Zealand" . "_pdbx_contact_author.country" Nicaragua . "_pdbx_contact_author.country" Niger . "_pdbx_contact_author.country" Nigeria . "_pdbx_contact_author.country" Niue . "_pdbx_contact_author.country" "Norfolk Island" . "_pdbx_contact_author.country" "Northern Mariana Islands" . "_pdbx_contact_author.country" Norway . "_pdbx_contact_author.country" Oman . "_pdbx_contact_author.country" Pakistan . "_pdbx_contact_author.country" Palau . "_pdbx_contact_author.country" "Palestinian Territory" . "_pdbx_contact_author.country" Panama . "_pdbx_contact_author.country" "Papua New Guinea" . "_pdbx_contact_author.country" Paraguay . "_pdbx_contact_author.country" Peru . "_pdbx_contact_author.country" Philippines . "_pdbx_contact_author.country" Pitcairn . "_pdbx_contact_author.country" Poland . "_pdbx_contact_author.country" Portugal . "_pdbx_contact_author.country" "Puerto Rico" . "_pdbx_contact_author.country" Qatar . "_pdbx_contact_author.country" Reunion . "_pdbx_contact_author.country" Romania . "_pdbx_contact_author.country" "Russian Federation" . "_pdbx_contact_author.country" Rwanda . "_pdbx_contact_author.country" "Saint Barthelemy" . "_pdbx_contact_author.country" "Saint Helena, Ascension And Tristan Da Cunha" . "_pdbx_contact_author.country" "Saint Kitts And Nevis" . "_pdbx_contact_author.country" "Saint Lucia" . "_pdbx_contact_author.country" "Saint Martin (French Part)" . "_pdbx_contact_author.country" "Saint Pierre And Miquelon" . "_pdbx_contact_author.country" "Saint Vincent And The Grenadines" . "_pdbx_contact_author.country" Samoa . "_pdbx_contact_author.country" "San Marino" . "_pdbx_contact_author.country" "Sao Tome And Principe" . "_pdbx_contact_author.country" "Saudi Arabia" . "_pdbx_contact_author.country" Senegal . "_pdbx_contact_author.country" Serbia . "_pdbx_contact_author.country" Seychelles . "_pdbx_contact_author.country" "Sierra Leone" . "_pdbx_contact_author.country" Singapore . "_pdbx_contact_author.country" "Sint Maarten (Dutch Part)" . "_pdbx_contact_author.country" Slovakia . "_pdbx_contact_author.country" Slovenia . "_pdbx_contact_author.country" "Solomon Islands" . "_pdbx_contact_author.country" Somalia . "_pdbx_contact_author.country" "South Africa" . "_pdbx_contact_author.country" "South Georgia And The South Sandwich Islands" . "_pdbx_contact_author.country" "South Sudan" . "_pdbx_contact_author.country" Spain . "_pdbx_contact_author.country" "Sri Lanka" . "_pdbx_contact_author.country" Sudan . "_pdbx_contact_author.country" Suriname . "_pdbx_contact_author.country" "Svalbard And Jan Mayen" . "_pdbx_contact_author.country" Swaziland . "_pdbx_contact_author.country" Sweden . "_pdbx_contact_author.country" Switzerland . "_pdbx_contact_author.country" "Syrian Arab Republic" . "_pdbx_contact_author.country" Taiwan . "_pdbx_contact_author.country" Tajikistan . "_pdbx_contact_author.country" "Tanzania, United Republic Of" . "_pdbx_contact_author.country" Thailand . "_pdbx_contact_author.country" Timor-Leste . "_pdbx_contact_author.country" Togo . "_pdbx_contact_author.country" Tokelau . "_pdbx_contact_author.country" Tonga . "_pdbx_contact_author.country" "Trinidad And Tobago" . "_pdbx_contact_author.country" Tunisia . "_pdbx_contact_author.country" Turkey . "_pdbx_contact_author.country" Turkmenistan . "_pdbx_contact_author.country" "Turks And Caicos Islands" . "_pdbx_contact_author.country" Tuvalu . "_pdbx_contact_author.country" Uganda . "_pdbx_contact_author.country" Ukraine . "_pdbx_contact_author.country" "United Arab Emirates" . "_pdbx_contact_author.country" "United States Minor Outlying Islands" . "_pdbx_contact_author.country" Uruguay . "_pdbx_contact_author.country" Uzbekistan . "_pdbx_contact_author.country" Vanuatu . "_pdbx_contact_author.country" "Venezuela, Bolivarian Republic Of" . "_pdbx_contact_author.country" "Viet Nam" . "_pdbx_contact_author.country" "Virgin Islands, British" . "_pdbx_contact_author.country" "Virgin Islands, U.S." . "_pdbx_contact_author.country" "Wallis And Futuna" . "_pdbx_contact_author.country" "Western Sahara" . "_pdbx_contact_author.country" Yemen . "_pdbx_contact_author.country" Zambia . "_pdbx_contact_author.country" Zimbabwe . # _pdbx_item_conditional_context.context_id WWPDB_ALWAYS_SUPPRESS _pdbx_item_conditional_context.action suppress-item _pdbx_item_conditional_context.item_name "_pdbx_contact_author.country" save_ save__pdbx_contact_author.continent _item_description.description ; The continent of the author of the data block to whom correspondence should be addressed. ; _item.name '_pdbx_contact_author.continent' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code line _pdbx_item.name "_pdbx_contact_author.continent" _pdbx_item.mandatory_code no loop_ _item_examples.case 'AFRICA' 'ANTARTICA' 'ASIA' 'AUSTRALIA' 'EUROPE' 'NORTH AMERICA' 'SOUTH AMERICA' loop_ _item_enumeration.value 'AFRICA' 'ANTARTICA' 'ASIA' 'AUSTRALIA' 'EUROPE' 'NORTH AMERICA' 'SOUTH AMERICA' # _pdbx_item_conditional_context.context_id WWPDB_ALWAYS_SUPPRESS _pdbx_item_conditional_context.action suppress-item _pdbx_item_conditional_context.item_name "_pdbx_contact_author.continent" save_ save__pdbx_contact_author.phone _item_description.description ; The telephone number of the author of the data block to whom correspondence should be addressed. The recommended style includes the international dialing prefix, the area code in parentheses, followed by the local number and any extension number prefixed by 'x', with no spaces. The earlier convention of including the international dialing prefixes in parentheses is no longer recommended. ; _item.name '_pdbx_contact_author.phone' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code line loop_ _item_examples.case '12 (34) 947 7330' '947 732 0103 x8320' _pdbx_item.name "_pdbx_contact_author.phone" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_contact_author.phone" _pdbx_item_description.description "Enter the complete telephone number, in any format you prefer. Please include all country and area codes." # _pdbx_item_examples.name "_pdbx_contact_author.phone" _pdbx_item_examples.case "01(617) 555-1212" _pdbx_item_examples.detail . # _pdbx_item_conditional_context.context_id WWPDB_ALWAYS_SUPPRESS _pdbx_item_conditional_context.action suppress-item _pdbx_item_conditional_context.item_name "_pdbx_contact_author.phone" # save_ save__pdbx_contact_author.role _item_description.description ; The role of this author in the project depositing this data. ; _item.name '_pdbx_contact_author.role' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'principal investigator/group leader' 'responsible scientist' 'investigator' loop_ _item_enumeration.value 'principal investigator/group leader' 'responsible scientist' 'investigator' _pdbx_item.name "_pdbx_contact_author.role" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_contact_author.role" _pdbx_item_description.description "Enter the role played by this contact person in this research. The Principal Investigator is the person holding the grant to the research project for which the structure is being deposited. The research grant may be held jointly by more than one person. In such cases add the information about the second Principal Investigator." # _pdbx_item_conditional_context.context_id WWPDB_NOT_PI _pdbx_item_conditional_context.action suppress-row _pdbx_item_conditional_context.item_name "_pdbx_contact_author.country" save_ save__pdbx_contact_author.organization_type _item_description.description ; The organization type to which this author is affiliated. ; _item.name '_pdbx_contact_author.organization_type' _item.category_id pdbx_contact_author _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'academic' 'commercial' 'government' 'other' loop_ _item_enumeration.value 'academic' 'commercial' 'government' 'other' _pdbx_item.name "_pdbx_contact_author.organization_type" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_contact_author.organization_type" _pdbx_item_description.description "Enter the type of organization you belong to: academic, industrial, government or other" # _pdbx_item_conditional_context.context_id WWPDB_ALWAYS_SUPPRESS _pdbx_item_conditional_context.action suppress-item _pdbx_item_conditional_context.item_name "_pdbx_contact_author.organization_type" save_ save__struct_ref_seq_dif.pdbx_ordinal _item_description.description ; A synthetic integer primary key for this category. ; _item.name '_struct_ref_seq_dif.pdbx_ordinal' _item.category_id struct_ref_seq_dif _item.mandatory_code yes _item_type.code int _item_aliases.alias_name '_struct_ref_seq_dif.rcsb_ordinal' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ##################### ## PDBX_SG_PROJECT ## ##################### save_pdbx_SG_project _category.description ; Data items in the PDBX_CONTACT_AUTHOR category record details about the Structural Genomics Project and name and initials for each Center. ; _category.id pdbx_SG_project _category.mandatory_code no _category_key.name '_pdbx_SG_project.id' loop_ _category_group.id 'inclusive_group' 'audit_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_SG_project.id 1 _pdbx_SG_project.project_name 'PSI, Protein Structure Initiative' _pdbx_SG_project.full_name_of_center 'Berkeley Structural Genomics Center' _pdbx_SG_project.initial_of_center BSGC ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_SG_project.id _item_description.description ; A unique integer identifier for this center ; _item.name '_pdbx_SG_project.id' _item.category_id pdbx_SG_project _item.mandatory_code yes _item_type.code int _item_examples.case ; 1 2 3 ; loop_ _item_enumeration.value 1 2 3 4 5 6 7 8 9 10 save_ save__pdbx_SG_project.project_name _item_description.description ; The value identifies the Structural Genomics project. ; _item.name '_pdbx_SG_project.project_name' _item.category_id pdbx_SG_project _item.mandatory_code no _item_type.code text _item_examples.case 'PSI, Protein Structure Initiative' loop_ _item_enumeration.value 'PSI:Biology' 'PSI, Protein Structure Initiative' 'NIAID, National Institute of Allergy and Infectious Diseases' 'NPPSFA, National Project on Protein Structural and Functional Analyses' 'Enzyme Function Initiative' # _pdbx_item_description.name "_pdbx_SG_project.project_name" _pdbx_item_description.description "This specific Structural Genomics project name" # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_SG_project.project_name" "Enzyme Function Initiative" . "_pdbx_SG_project.project_name" "NIAID, National Institute of Allergy and Infectious Diseases" . "_pdbx_SG_project.project_name" "NPPSFA, National Project on Protein Structural and Functional Analyses" . "_pdbx_SG_project.project_name" "PSI, Protein Structure Initiative" . "_pdbx_SG_project.project_name" PSI:Biology . # save_ save__pdbx_SG_project.full_name_of_center _item_description.description ; The value identifies the full name of center. ; _item.name '_pdbx_SG_project.full_name_of_center' _item.category_id pdbx_SG_project _item.mandatory_code no _item_type.code text _item_examples.case 'Midwest Center for Structural Genomics' _pdbx_item_description.name "_pdbx_SG_project.full_name_of_center" _pdbx_item_description.description "The full name of Structural Genomics center" loop_ _item_enumeration.detail _item_enumeration.value 'ATCG3D' 'Accelerated Technologies Center for Gene to 3D Structure' 'BIGS' 'Bacterial targets at IGS-CNRS, France' 'BSGC' 'Berkeley Structural Genomics Center' 'BSGI' 'Montreal-Kingston Bacterial Structural Genomics Initiative' 'CEBS' 'Chaperone-Enabled Studies of Epigenetic Regulation Enzymes' 'CELLMAT' 'Assembly, Dynamics and Evolution of Cell-Cell and Cell-Matrix Adhesions' 'CESG' 'Center for Eukaryotic Structural Genomics' 'CHSAM' 'Structure, Dynamics and Activation Mechanisms of Chemokine Receptors' 'CHTSB' 'Center for High-Throughput Structural Biology' 'CSGID' 'Center for Structural Genomics of Infectious Diseases' 'CSMP' 'Center for Structures of Membrane Proteins' 'GPCR' 'GPCR Network' 'IFN' 'Atoms-to-Animals: The Immune Function Network' 'ISFI' 'Integrated Center for Structure and Function Innovation' 'ISPC' 'Israel Structural Proteomics Center' 'JCSG' 'Joint Center for Structural Genomics' 'MCMR' 'Midwest Center for Macromolecular Research' 'MCSG' 'Midwest Center for Structural Genomics' 'MPID' 'Center for Membrane Proteins of Infectious Diseases' 'MPP' 'Mitochondrial Protein Partnership' 'MPSBC' 'Membrane Protein Structural Biology Consortium' 'MPSbyNMR' 'Membrane Protein Structures by Solution NMR' 'MSGP' 'Marseilles Structural Genomics Program @ AFMB' 'MSGPP' 'Medical Structural Genomics of Pathogenic Protozoa' 'MTBI' 'Structures of Mtb Proteins Conferring Susceptibility to Known Mtb Inhibitors' 'NatPro' 'Enzyme Discovery for Natural Product Biosynthesis' 'NPCXstals' 'Nucleocytoplasmic Transport: a Target for Cellular Control' 'NYCOMPS' 'New York Consortium on Membrane Protein Structure' 'NYSGRC' 'New York Structural Genomics Research Consortium' 'NYSGXRC' 'New York SGX Research Center for Structural Genomics' 'NYSGXRC' 'New York Structural GenomiX Research Consortium' 'NESG' 'Northeast Structural Genomics Consortium' 'NHRs' 'Partnership for Nuclear Receptor Signaling Code Biology' 'OCSP' 'Ontario Centre for Structural Proteomics' 'OPPF' 'Oxford Protein Production Facility' 'PCSEP' 'Program for the Characterization of Secreted Effector Proteins' 'PSF' 'Protein Structure Factory' 'RSGI' 'RIKEN Structural Genomics/Proteomics Initiative' 'S2F' 'Structure 2 Function Project' 'SASTAD' 'South Africa Structural Targets Annotation Database' 'SECSG' 'Southeast Collaboratory for Structural Genomics' 'SGC' 'Structural Genomics Consortium' 'SGCGES' 'Structural Genomics Consortium for Research on Gene Expression' 'SGPP' 'Structural Genomics of Pathogenic Protozoa Consortium' 'SPINE' 'Structural Proteomics in Europe' 'SPINE-2' 'Structural Proteomics in Europe 2' 'SSGCID' 'Seattle Structural Genomics Center for Infectious Disease' 'SSPF' 'Scottish Structural Proteomics Facility' 'STEMCELL' 'Partnership for Stem Cell Biology' 'TBSGC' 'TB Structural Genomics Consortium' 'TCELL' 'Partnership for T-Cell Biology' 'TEMIMPS' 'Transcontinental EM Initiative for Membrane Protein Structure' 'TJMP' 'Structure-Function Studies of Tight Junction Membrane Proteins' 'TMPC' 'Transmembrane Protein Center' 'TransportPDB' 'Center for the X-ray Structure Determination of Human Transporters' 'UC4CDI' 'Structure-Function Analysis of Polymorphic CDI Toxin-Immunity Protein Complexes' 'XMTB' 'Mycobacterium Tuberculosis Structural Proteomics Project' 'YSG' 'Paris-Sud Yeast Structural Genomics' # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_SG_project.full_name_of_center" "Accelerated Technologies Center for Gene to 3D Structure" . "_pdbx_SG_project.full_name_of_center" "Assembly, Dynamics and Evolution of Cell-Cell and Cell-Matrix Adhesions" . "_pdbx_SG_project.full_name_of_center" "Atoms-to-Animals: The Immune Function Network" . "_pdbx_SG_project.full_name_of_center" "Bacterial targets at IGS-CNRS, France" . "_pdbx_SG_project.full_name_of_center" "Berkeley Structural Genomics Center" . "_pdbx_SG_project.full_name_of_center" "Center for Eukaryotic Structural Genomics" . "_pdbx_SG_project.full_name_of_center" "Center for High-Throughput Structural Biology" . "_pdbx_SG_project.full_name_of_center" "Center for Membrane Proteins of Infectious Diseases" . "_pdbx_SG_project.full_name_of_center" "Center for Structural Genomics of Infectious Diseases" . "_pdbx_SG_project.full_name_of_center" "Center for Structures of Membrane Proteins" . "_pdbx_SG_project.full_name_of_center" "Center for the X-ray Structure Determination of Human Transporters" . "_pdbx_SG_project.full_name_of_center" "Chaperone-Enabled Studies of Epigenetic Regulation Enzymes" . "_pdbx_SG_project.full_name_of_center" "Enzyme Discovery for Natural Product Biosynthesis" . "_pdbx_SG_project.full_name_of_center" "GPCR Network" . "_pdbx_SG_project.full_name_of_center" "Integrated Center for Structure and Function Innovation" . "_pdbx_SG_project.full_name_of_center" "Israel Structural Proteomics Center" . "_pdbx_SG_project.full_name_of_center" "Joint Center for Structural Genomics" . "_pdbx_SG_project.full_name_of_center" "Marseilles Structural Genomics Program @ AFMB" . "_pdbx_SG_project.full_name_of_center" "Medical Structural Genomics of Pathogenic Protozoa" . "_pdbx_SG_project.full_name_of_center" "Membrane Protein Structural Biology Consortium" . "_pdbx_SG_project.full_name_of_center" "Membrane Protein Structures by Solution NMR" . "_pdbx_SG_project.full_name_of_center" "Midwest Center for Macromolecular Research" . "_pdbx_SG_project.full_name_of_center" "Midwest Center for Structural Genomics" . "_pdbx_SG_project.full_name_of_center" "Mitochondrial Protein Partnership" . "_pdbx_SG_project.full_name_of_center" "Montreal-Kingston Bacterial Structural Genomics Initiative" . "_pdbx_SG_project.full_name_of_center" "Mycobacterium Tuberculosis Structural Proteomics Project" . "_pdbx_SG_project.full_name_of_center" "New York Consortium on Membrane Protein Structure" . "_pdbx_SG_project.full_name_of_center" "New York SGX Research Center for Structural Genomics" . "_pdbx_SG_project.full_name_of_center" "New York Structural GenomiX Research Consortium" . "_pdbx_SG_project.full_name_of_center" "New York Structural Genomics Research Consortium" . "_pdbx_SG_project.full_name_of_center" "Northeast Structural Genomics Consortium" . "_pdbx_SG_project.full_name_of_center" "Nucleocytoplasmic Transport: a Target for Cellular Control" . "_pdbx_SG_project.full_name_of_center" "Ontario Centre for Structural Proteomics" . "_pdbx_SG_project.full_name_of_center" "Oxford Protein Production Facility" . "_pdbx_SG_project.full_name_of_center" "Paris-Sud Yeast Structural Genomics" . "_pdbx_SG_project.full_name_of_center" "Partnership for Nuclear Receptor Signaling Code Biology" . "_pdbx_SG_project.full_name_of_center" "Partnership for Stem Cell Biology" . "_pdbx_SG_project.full_name_of_center" "Partnership for T-Cell Biology" . "_pdbx_SG_project.full_name_of_center" "Program for the Characterization of Secreted Effector Proteins" . "_pdbx_SG_project.full_name_of_center" "Protein Structure Factory" . "_pdbx_SG_project.full_name_of_center" "RIKEN Structural Genomics/Proteomics Initiative" . "_pdbx_SG_project.full_name_of_center" "Scottish Structural Proteomics Facility" . "_pdbx_SG_project.full_name_of_center" "Seattle Structural Genomics Center for Infectious Disease" . "_pdbx_SG_project.full_name_of_center" "South Africa Structural Targets Annotation Database" . "_pdbx_SG_project.full_name_of_center" "Southeast Collaboratory for Structural Genomics" . "_pdbx_SG_project.full_name_of_center" "Structure-Function Analysis of Polymorphic CDI Toxin-Immunity Protein Complexes" . "_pdbx_SG_project.full_name_of_center" "Structural Genomics Consortium" . "_pdbx_SG_project.full_name_of_center" "Structural Genomics Consortium for Research on Gene Expression" . "_pdbx_SG_project.full_name_of_center" "Structural Genomics of Pathogenic Protozoa Consortium" . "_pdbx_SG_project.full_name_of_center" "Structural Proteomics in Europe" . "_pdbx_SG_project.full_name_of_center" "Structural Proteomics in Europe 2" . "_pdbx_SG_project.full_name_of_center" "Structure 2 Function Project" . "_pdbx_SG_project.full_name_of_center" "Structure, Dynamics and Activation Mechanisms of Chemokine Receptors" . "_pdbx_SG_project.full_name_of_center" "Structure-Function Studies of Tight Junction Membrane Proteins" . "_pdbx_SG_project.full_name_of_center" "Structures of Mtb Proteins Conferring Susceptibility to Known Mtb Inhibitors" . "_pdbx_SG_project.full_name_of_center" "TB Structural Genomics Consortium" . "_pdbx_SG_project.full_name_of_center" "Transcontinental EM Initiative for Membrane Protein Structure" . "_pdbx_SG_project.full_name_of_center" "Transmembrane Protein Center" . # save_ save__pdbx_SG_project.initial_of_center _item_description.description ; The value identifies the full name of center. ; _item.name '_pdbx_SG_project.initial_of_center' _item.category_id pdbx_SG_project _item.mandatory_code no _item_type.code text _item_examples.case 'JCSG' loop_ _item_enumeration.value _item_enumeration.detail 'ATCG3D' 'Accelerated Technologies Center for Gene to 3D Structure' 'BIGS' 'Bacterial targets at IGS-CNRS, France' 'BSGC' 'Berkeley Structural Genomics Center' 'BSGI' 'Montreal-Kingston Bacterial Structural Genomics Initiative' 'CEBS' 'Chaperone-Enabled Studies of Epigenetic Regulation Enzymes' 'CELLMAT' 'Assembly, Dynamics and Evolution of Cell-Cell and Cell-Matrix Adhesions' 'CESG' 'Center for Eukaryotic Structural Genomics' 'CHSAM' 'Structure, Dynamics and Activation Mechanisms of Chemokine Receptors' 'CHTSB' 'Center for High-Throughput Structural Biology' 'CSGID' 'Center for Structural Genomics of Infectious Diseases' 'CSMP' 'Center for Structures of Membrane Proteins' 'GPCR' 'GPCR Network' 'IFN' 'Atoms-to-Animals: The Immune Function Network' 'ISFI' 'Integrated Center for Structure and Function Innovation' 'ISPC' 'Israel Structural Proteomics Center' 'JCSG' 'Joint Center for Structural Genomics' 'MCMR' 'Midwest Center for Macromolecular Research' 'MCSG' 'Midwest Center for Structural Genomics' 'MPID' 'Center for Membrane Proteins of Infectious Diseases' 'MPP' 'Mitochondrial Protein Partnership' 'MPSBC' 'Membrane Protein Structural Biology Consortium' 'MPSbyNMR' 'Membrane Protein Structures by Solution NMR' 'MSGP' 'Marseilles Structural Genomics Program @ AFMB' 'MSGPP' 'Medical Structural Genomics of Pathogenic Protozoa' 'MTBI' 'Structures of Mtb Proteins Conferring Susceptibility to Known Mtb Inhibitors' 'NatPro' 'Enzyme Discovery for Natural Product Biosynthesis' 'NHRs' 'Partnership for Nuclear Receptor Signaling Code Biology' 'NPCXstals' 'Nucleocytoplasmic Transport: a Target for Cellular Control' 'NYCOMPS' 'New York Consortium on Membrane Protein Structure' 'NYSGRC' 'New York Structural Genomics Research Consortium' 'NYSGXRC' 'New York SGX Research Center for Structural Genomics' 'NYSGXRC' 'New York Structural GenomiX Research Consortium' 'NESG' 'Northeast Structural Genomics Consortium' 'OCSP' 'Ontario Centre for Structural Proteomics' 'OPPF' 'Oxford Protein Production Facility' 'PCSEP' 'Program for the Characterization of Secreted Effector Proteins' 'PSF' 'Protein Structure Factory' 'RSGI' 'RIKEN Structural Genomics/Proteomics Initiative' 'S2F' 'Structure 2 Function Project' 'SASTAD' 'South Africa Structural Targets Annotation Database' 'SECSG' 'Southeast Collaboratory for Structural Genomics' 'SGC' 'Structural Genomics Consortium' 'SGCGES' 'Structural Genomics Consortium for Research on Gene Expression' 'SGPP' 'Structural Genomics of Pathogenic Protozoa Consortium' 'SPINE' 'Structural Proteomics in Europe' 'SPINE-2' 'Structural Proteomics in Europe 2' 'SSGCID' 'Seattle Structural Genomics Center for Infectious Disease' 'SSPF' 'Scottish Structural Proteomics Facility' 'STEMCELL' 'Partnership for Stem Cell Biology' 'TBSGC' 'TB Structural Genomics Consortium' 'TCELL' 'Partnership for T-Cell Biology' 'TEMIMPS' 'Transcontinental EM Initiative for Membrane Protein Structure' 'TJMP' 'Structure-Function Studies of Tight Junction Membrane Proteins' 'TMPC' 'Transmembrane Protein Center' 'TransportPDB' 'Center for the X-ray Structure Determination of Human Transporters' 'UC4CDI' 'Structure-Function Analysis of Polymorphic CDI Toxin-Immunity Protein Complexes' 'XMTB' 'Mycobacterium Tuberculosis Structural Proteomics Project' 'YSG' 'Paris-Sud Yeast Structural Genomics' # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_SG_project.initial_of_center" ATCG3D . "_pdbx_SG_project.initial_of_center" BIGS . "_pdbx_SG_project.initial_of_center" BSGC . "_pdbx_SG_project.initial_of_center" BSGI . "_pdbx_SG_project.initial_of_center" CEBS . "_pdbx_SG_project.initial_of_center" CELLMAT . "_pdbx_SG_project.initial_of_center" CESG . "_pdbx_SG_project.initial_of_center" CHSAM . "_pdbx_SG_project.initial_of_center" CHTSB . "_pdbx_SG_project.initial_of_center" CSGID . "_pdbx_SG_project.initial_of_center" CSMP . "_pdbx_SG_project.initial_of_center" GPCR . "_pdbx_SG_project.initial_of_center" IFN . "_pdbx_SG_project.initial_of_center" ISFI . "_pdbx_SG_project.initial_of_center" ISPC . "_pdbx_SG_project.initial_of_center" JCSG . "_pdbx_SG_project.initial_of_center" MCMR . "_pdbx_SG_project.initial_of_center" MCSG . "_pdbx_SG_project.initial_of_center" MPID . "_pdbx_SG_project.initial_of_center" MPP . "_pdbx_SG_project.initial_of_center" MPSBC . "_pdbx_SG_project.initial_of_center" MPSbyNMR . "_pdbx_SG_project.initial_of_center" MSGP . "_pdbx_SG_project.initial_of_center" MSGPP . "_pdbx_SG_project.initial_of_center" MTBI . "_pdbx_SG_project.initial_of_center" NESG . "_pdbx_SG_project.initial_of_center" NHRs . "_pdbx_SG_project.initial_of_center" NPCXstals . "_pdbx_SG_project.initial_of_center" NYCOMPS . "_pdbx_SG_project.initial_of_center" NYSGRC . "_pdbx_SG_project.initial_of_center" NYSGXRC . "_pdbx_SG_project.initial_of_center" NatPro . "_pdbx_SG_project.initial_of_center" OCSP . "_pdbx_SG_project.initial_of_center" OPPF . "_pdbx_SG_project.initial_of_center" PCSEP . "_pdbx_SG_project.initial_of_center" PSF . "_pdbx_SG_project.initial_of_center" RSGI . "_pdbx_SG_project.initial_of_center" S2F . "_pdbx_SG_project.initial_of_center" SASTAD . "_pdbx_SG_project.initial_of_center" SECSG . "_pdbx_SG_project.initial_of_center" SGC . "_pdbx_SG_project.initial_of_center" SGCGES . "_pdbx_SG_project.initial_of_center" SGPP . "_pdbx_SG_project.initial_of_center" SPINE . "_pdbx_SG_project.initial_of_center" SPINE-2 . "_pdbx_SG_project.initial_of_center" SSGCID . "_pdbx_SG_project.initial_of_center" SSPF . "_pdbx_SG_project.initial_of_center" STEMCELL . "_pdbx_SG_project.initial_of_center" TBSGC . "_pdbx_SG_project.initial_of_center" TCELL . "_pdbx_SG_project.initial_of_center" TEMIMPS . "_pdbx_SG_project.initial_of_center" TJMP . "_pdbx_SG_project.initial_of_center" TMPC . "_pdbx_SG_project.initial_of_center" TransportPDB . "_pdbx_SG_project.initial_of_center" UC4CDI . "_pdbx_SG_project.initial_of_center" XMTB . "_pdbx_SG_project.initial_of_center" YSG . # save_ ## ############################## ## PDBX_ATOM_SITE_ANISO_TLS ## ############################## save_pdbx_atom_site_aniso_tls _category.description ; Data items in the PDBX_ATOM_SITE_ANISO_TLS category record details about the TLS contribution to anisotropic displacement parameters. ; _category.id pdbx_atom_site_aniso_tls _category.mandatory_code no loop_ _category_key.name '_pdbx_atom_site_aniso_tls.id' '_pdbx_atom_site_aniso_tls.tls_group_id' loop_ _category_group.id 'inclusive_group' 'atom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_atom_site_aniso_tls.id _pdbx_atom_site_aniso_tls.type_symbol _pdbx_atom_site_aniso_tls.auth_atom_id _pdbx_atom_site_aniso_tls.auth_comp_id _pdbx_atom_site_aniso_tls.auth_asym_id _pdbx_atom_site_aniso_tls.auth_seq_id _pdbx_atom_site_aniso_tls.U_tls[1][1] _pdbx_atom_site_aniso_tls.U_tls[2][2] _pdbx_atom_site_aniso_tls.U_tls[3][3] _pdbx_atom_site_aniso_tls.U_tls[1][2] _pdbx_atom_site_aniso_tls.U_tls[1][3] _pdbx_atom_site_aniso_tls.U_tls[2][3] _pdbx_atom_site_aniso_tls.tls_group_id 1 C CB SER A 8 2541 2835 3175 676 -827 341 1 2 O OG SER A 8 3708 3876 4181 633 -724 342 1 3 C C SER A 8 7054 7457 7553 619 -966 344 1 4 O O SER A 8 6837 7210 7184 567 -974 341 1 5 N N SER A 8 5792 6180 6271 538 -778 290 1 6 C CA SER A 8 8440 8771 8935 616 -861 331 1 # ---- abbreviated ---- ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_atom_site_aniso_tls.id _item_description.description ; This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; _item.name '_pdbx_atom_site_aniso_tls.id' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_atom_site_aniso_tls.id' _item_linked.parent_name '_atom_site.id' save_ save__pdbx_atom_site_aniso_tls.type_symbol _item_description.description ; This data item is a pointer to _atom_type.symbol in the ATOM_TYPE category. ; _item.name '_pdbx_atom_site_aniso_tls.type_symbol' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_atom_site_aniso_tls.type_symbol' _item_linked.parent_name '_atom_site.type_symbol' save_ save__pdbx_atom_site_aniso_tls.tls_group_id _item_description.description ; This data item identifies the TLS group membership for this atom. ; _item.name '_pdbx_atom_site_aniso_tls.tls_group_id' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_atom_site_aniso_tls.tls_group_id' _item_linked.parent_name '_pdbx_refine_tls.id' save_ save__pdbx_atom_site_aniso_tls.auth_comp_id _item_description.description ; This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_atom_site_aniso_tls.auth_comp_id' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_atom_site_aniso_tls.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_atom_site_aniso_tls.auth_seq_id _item_description.description ; This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_atom_site_aniso_tls.auth_seq_id' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_atom_site_aniso_tls.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_atom_site_aniso_tls.auth_atom_id _item_description.description ; This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_atom_site_aniso_tls.auth_atom_id' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_atom_site_aniso_tls.auth_atom_id' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_atom_site_aniso_tls.auth_asym_id _item_description.description ; This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_atom_site_aniso_tls.auth_asym_id' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_atom_site_aniso_tls.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_atom_site_aniso_tls.PDB_ins_code _item_description.description ; This data item is a pointer to _atom_site.pdbx_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_atom_site_aniso_tls.PDB_ins_code' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_atom_site_aniso_tls.PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_atom_site_aniso_tls.label_alt_id _item_description.description ; This data item is a pointer to _atom_sites_alt.id in the ATOM_SITE category. ; _item.name '_pdbx_atom_site_aniso_tls.label_alt_id' _item.mandatory_code yes _item.category_id pdbx_atom_site_aniso_tls _item_type.code code _item_linked.child_name '_pdbx_atom_site_aniso_tls.label_alt_id' _item_linked.parent_name '_atom_sites_alt.id' save_ save__pdbx_atom_site_aniso_tls.label_asym_id _item_description.description ; This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_atom_site_aniso_tls.label_asym_id' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_atom_site_aniso_tls.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_atom_site_aniso_tls.label_atom_id _item_description.description ; This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_atom_site_aniso_tls.label_atom_id' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_pdbx_atom_site_aniso_tls.label_atom_id' _item_linked.parent_name '_atom_site.label_atom_id' save_ save__pdbx_atom_site_aniso_tls.label_comp_id _item_description.description ; This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_atom_site_aniso_tls.label_comp_id' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_atom_site_aniso_tls.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_atom_site_aniso_tls.label_seq_id _item_description.description ; This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_atom_site_aniso_tls.label_seq_id' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_atom_site_aniso_tls.label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_atom_site_aniso_tls.U_tls[1][1] _item_description.description ; The [1][1] element of the TLS contribution to the atomic displacement matrix U. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_pdbx_atom_site_aniso_tls.U_tls[1][1]' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code yes _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__pdbx_atom_site_aniso_tls.U_tls[2][2] _item_description.description ; The [2][2] element of the TLS contribution to the atomic displacement matrix U. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_pdbx_atom_site_aniso_tls.U_tls[2][2]' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code yes _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__pdbx_atom_site_aniso_tls.U_tls[3][3] _item_description.description ; The [3][3] element of the TLS contribution to the atomic displacement matrix U. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_pdbx_atom_site_aniso_tls.U_tls[3][3]' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code yes _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__pdbx_atom_site_aniso_tls.U_tls[1][2] _item_description.description ; The [1][2] element of the TLS contribution to the atomic displacement matrix U. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_pdbx_atom_site_aniso_tls.U_tls[1][2]' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code yes _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__pdbx_atom_site_aniso_tls.U_tls[1][3] _item_description.description ; The [1][3] element of the TLS contribution to the atomic displacement matrix U. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_pdbx_atom_site_aniso_tls.U_tls[1][3]' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code yes _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ save__pdbx_atom_site_aniso_tls.U_tls[2][3] _item_description.description ; The [2][3] element of the TLS contribution to the atomic displacement matrix U. The unique elements of the real symmetric matrix are entered by row. ; _item.name '_pdbx_atom_site_aniso_tls.U_tls[2][3]' _item.category_id pdbx_atom_site_aniso_tls _item.mandatory_code yes _item_sub_category.id matrix _item_type.code float _item_units.code angstroms_squared save_ ## ### EOF mmcif_pdbx-def-2.dic ########################################################################### # # File: mmcif_pdbx-def-3.dic # # PDB Exchange Data Dictionary # # This data dictionary contains definitions used by wwPDB for data exchange # and data processing. # # Definition Section 3 # # ########################################################################### ## ## save_pdbx_nmr_details _category.description ; Experimental details of the NMR study that have not been described elsewhere in this deposition. ; _category.id pdbx_nmr_details _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_details.entry_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' save_ save__pdbx_nmr_details.entry_id _item_description.description ; The entry ID for the structure determination. ; _item.name '_pdbx_nmr_details.entry_id' _item.category_id pdbx_nmr_details _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_nmr_details.entry_id' _item_linked.parent_name '_entry.id' _item_aliases.alias_name '_rcsb_nmr_details.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_details.text _item_description.description ; Additional details describing the NMR experiment. ; _item.name '_pdbx_nmr_details.text' _item.category_id pdbx_nmr_details _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; This structure was determined using standard 2D homonuclear techniques. ; ; The structure was determined using triple-resonance NMR spectroscopy. ; _item_aliases.alias_name '_rcsb_nmr_details.text' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## ## provided to hold a simple solution description. save_pdbx_nmr_sample_details _category.description ; Complete description of each NMR sample, including the solvent system used. ; _category.id pdbx_nmr_sample_details _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_sample_details.solution_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; This example was taken from the study of MCP-1 which is a dimer under the conditions studied. Three solutions with different isotope compositions were studied. ; ; loop_ _pdbx_nmr_sample_details.solution_id _pdbx_nmr_sample_details.solvent_system _pdbx_nmr_sample_details.contents 1 MCP-1 '2 mM U-15N,13C, H2O 90 %, D2O 10 %' 2 MCP-1 '1 mM U-50% 15N, MCP-1 1 mM U-50% 13C, H2O 90 %, D2O 10 %' 3 MCP-1 '2 mM U-15N, H2O 90 %, D2O 10 %' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_nmr_sample_details.solution_id _item_description.description ; The name (number) of the sample. ; _item.name '_pdbx_nmr_sample_details.solution_id' _item.category_id pdbx_nmr_sample_details _item.mandatory_code yes _item_type.code code _pdbx_item.name "_pdbx_nmr_sample_details.solution_id" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_nmr_sample_details.solution_id" _pdbx_item_description.description "The number that uniquely identifies this sample from the others listed in the entry." # loop_ _item_examples.case '1' '2' '3' _item_aliases.alias_name '_rcsb_nmr_sample_details.solution_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_sample_details.contents _item_description.description ; A complete description of each NMR sample. Include the concentration and concentration units for each component (include buffers, etc.). For each component describe the isotopic composition, including the % labeling level, if known. For example: 1. Uniform (random) labeling with 15N: U-15N 2. Uniform (random) labeling with 13C, 15N at known labeling levels: U-95% 13C;U-98% 15N 3. Residue selective labeling: U-95% 15N-Thymine 4. Site specific labeling: 95% 13C-Ala18, 5. Natural abundance labeling in an otherwise uniformly labeled biomolecule is designated by NA: U-13C; NA-K,H ; _item.name '_pdbx_nmr_sample_details.contents' _item.category_id pdbx_nmr_sample_details _item.mandatory_code no _item_type.code text _item_examples.case ; 2mM Ribonuclease U-15N,13C; 50mM phosphate buffer NA; 90% H2O, 10% D2O ; _item_aliases.alias_name '_rcsb_nmr_sample_details.contents' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_sample_details.solvent_system _item_description.description ; The solvent system used for this sample. ; _item.name '_pdbx_nmr_sample_details.solvent_system' _item.category_id pdbx_nmr_sample_details _item.mandatory_code no _item_type.code text _pdbx_item.name "_pdbx_nmr_sample_details.solvent_system" _pdbx_item.mandatory_code yes # # _item_examples.case ; 90% H2O, 10% D2O ; loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_sample_details.solvent_system" "90% H2O/10% D2O" . "_pdbx_nmr_sample_details.solvent_system" "93% H2O/7% D2O" . "_pdbx_nmr_sample_details.solvent_system" "95% H2O/5% D2O" . "_pdbx_nmr_sample_details.solvent_system" "50% H2O/50% D2O" . "_pdbx_nmr_sample_details.solvent_system" "100% D2O" . "_pdbx_nmr_sample_details.solvent_system" acetone . "_pdbx_nmr_sample_details.solvent_system" chloroform . "_pdbx_nmr_sample_details.solvent_system" DMSO . "_pdbx_nmr_sample_details.solvent_system" ethanol/water . "_pdbx_nmr_sample_details.solvent_system" methanol . "_pdbx_nmr_sample_details.solvent_system" "trifluoroacetic acid" . "_pdbx_nmr_sample_details.solvent_system" trifluoroethanol/water . # _pdbx_item_enumeration_details.name "_pdbx_nmr_sample_details.solvent_system" _pdbx_item_enumeration_details.closed_flag no # _item_aliases.alias_name '_rcsb_nmr_sample_details.solvent_system' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save_pdbx_nmr_exptl_sample _category.description ; The chemical constituents of each NMR sample. Each sample is identified by a number and each component in the sample is identified by name. ; _category.id pdbx_nmr_exptl_sample _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_exptl_sample.solution_id' '_pdbx_nmr_exptl_sample.component' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 This example was taken from the study of MCP-1 which is a dimer under the conditions studied. Three solutions with different isotope compositions were studied. ; # ; loop_ _pdbx_nmr_exptl_sample.solution_id _pdbx_nmr_exptl_sample.component _pdbx_nmr_exptl_sample.concentration _pdbx_nmr_exptl_sample.concentration_units _pdbx_nmr_exptl_sample.isotopic_labeling 1 MCP-1 2 'mM' 'U-15N,13C' 1 H2O 90 '%' . 1 D2O 10 '%' . ; ; Example 2 This example was taken from the study of MCP-1 which is a dimer under the conditions studied. Three solutions with different isotope compositions were studied. ; # ; loop_ _pdbx_nmr_exptl_sample.solution_id _pdbx_nmr_exptl_sample.component _pdbx_nmr_exptl_sample.concentration _pdbx_nmr_exptl_sample.concentration_units _pdbx_nmr_exptl_sample.isotopic_labeling 2 MCP-1 1 'mM' 'U-50% 15N' 2 H2O 90 '%' . 2 D2O 10 '%' . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_nmr_exptl_sample.solution_id _item_description.description ; The name (number) of the sample. ; _item.name '_pdbx_nmr_exptl_sample.solution_id' _item.category_id pdbx_nmr_exptl_sample _item.mandatory_code yes _pdbx_item.name "_pdbx_nmr_exptl_sample.solution_id" _pdbx_item.mandatory_code yes _item_type.code code loop_ _item_examples.case '1' '2' '3' _item_aliases.alias_name '_rcsb_nmr_exptl_sample.solution_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_exptl_sample.component _item_description.description ; The name of each component in the sample ; _item.name '_pdbx_nmr_exptl_sample.component' _item.category_id pdbx_nmr_exptl_sample _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'ribonuclease' 'DNA strand 1' 'TRIS buffer' 'sodium chloride' 'H2O' 'D2O' _item_aliases.alias_name '_rcsb_nmr_exptl_sample.component' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_exptl_sample.concentration _item_description.description ; The concentration value of the component. ; _item.name '_pdbx_nmr_exptl_sample.concentration' _item.category_id pdbx_nmr_exptl_sample _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_exptl_sample.concentration" _pdbx_item.mandatory_code yes _item_type.code float _item_range.minimum 0 _item_range.maximum . loop_ _item_examples.case '2.0' '2.7' '0.01' _item_aliases.alias_name '_rcsb_nmr_exptl_sample.concentration' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_exptl_sample.concentration_range _item_description.description ; The concentration range for the component. ; _item.name '_pdbx_nmr_exptl_sample.concentration_range' _item.category_id pdbx_nmr_exptl_sample _item.mandatory_code no _item_type.code float-range loop_ _item_examples.case '2.0-2.2' '2.7-3.5' '0.01-0.05' _item_aliases.alias_name '_rcsb_nmr_exptl_sample.concentration_range' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_exptl_sample.concentration_units _item_description.description ; The concentration units of the component. ; _item.name '_pdbx_nmr_exptl_sample.concentration_units' _item.category_id pdbx_nmr_exptl_sample _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'mg/mL for mg per milliliter' 'mM for millimolar' '% for percent by volume' loop_ _item_enumeration.value _item_enumeration.detail '%' 'percent by volume' 'mM' 'millimolar' 'mg/mL' 'mg per milliliter' 'nM' 'nanomolar' 'pM' 'picomolar' 'M' 'molar' 'g/L' 'grams per liter' 'ug/mL' 'microgram per milliter' mg milligrams 'mg/L' 'milligrams per liter' 'mg/uL' 'milligrams per microliter' 'ug/uL' 'micrograms per microliter' 'uM' 'micromolar' 'v/v' 'volume to volume' 'w/v' 'mass-volume percent' 'w/w' 'weight to weight' '% w/v' 'percent weight to volume' '% w/w' 'percent weight to weight' '% v/v' 'percent volume to volume' 'saturated' . 'na' . _pdbx_item.name "_pdbx_nmr_exptl_sample.concentration_units" _pdbx_item.mandatory_code yes # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_exptl_sample.concentration_units" M Molar "_pdbx_nmr_exptl_sample.concentration_units" mM millimolar "_pdbx_nmr_exptl_sample.concentration_units" uM micromolar "_pdbx_nmr_exptl_sample.concentration_units" nM nanomolar "_pdbx_nmr_exptl_sample.concentration_units" pM picomolar "_pdbx_nmr_exptl_sample.concentration_units" % percent "_pdbx_nmr_exptl_sample.concentration_units" v/v "volume to volume" "_pdbx_nmr_exptl_sample.concentration_units" w/v "weight to volume percent" "_pdbx_nmr_exptl_sample.concentration_units" w/w . "_pdbx_nmr_exptl_sample.concentration_units" "% v/v" . "_pdbx_nmr_exptl_sample.concentration_units" "% w/v" . "_pdbx_nmr_exptl_sample.concentration_units" "% w/w" . "_pdbx_nmr_exptl_sample.concentration_units" mg/mL "mg per milliliter" "_pdbx_nmr_exptl_sample.concentration_units" g/L "grams per liter" "_pdbx_nmr_exptl_sample.concentration_units" mg/L . "_pdbx_nmr_exptl_sample.concentration_units" mg/uL . "_pdbx_nmr_exptl_sample.concentration_units" ug/mL . "_pdbx_nmr_exptl_sample.concentration_units" ug/uL . "_pdbx_nmr_exptl_sample.concentration_units" saturated . "_pdbx_nmr_exptl_sample.concentration_units" na . # _item_aliases.alias_name '_rcsb_nmr_exptl_sample.concentration_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_exptl_sample.isotopic_labeling _item_description.description ; The isotopic composition of each component, including the % labeling level, if known. For example: 1. Uniform (random) labeling with 15N: U-15N 2. Uniform (random) labeling with 13C, 15N at known labeling levels: U-95% 13C;U-98% 15N 3. Residue selective labeling: U-95% 15N-Thymine 4. Site specific labeling: 95% 13C-Ala18, 5. Natural abundance labeling in an otherwise uniformly labled biomolecule is designated by NA: U-13C; NA-K,H ; _item.name '_pdbx_nmr_exptl_sample.isotopic_labeling' _item.category_id pdbx_nmr_exptl_sample _item.mandatory_code no _item_type.code line _pdbx_item.name "_pdbx_nmr_exptl_sample.isotopic_labeling" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_nmr_exptl_sample.isotopic_labeling" _pdbx_item_description.description "The isotopic labelling composition of each component. Include % labelling level if known, 'U-' for uniform (random) labelling, 'NA-' for natural abundance, and given residue for selective residue labelling." loop_ _item_examples.case 'U-13C,15N' 'U-2H' # loop_ # _item_enumeration.value # 'U-15N' # 'U-13C' # 'U-15N,13C' # 'U-2H' # 'other' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_exptl_sample.isotopic_labeling" "natural abundance" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-100% 15N]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-99% 15N]" "Uniformly labeled with 15N at a level of 99 percent" "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-98% 15N]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-95% 15N]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-90% 15N]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-15N]" "Uniformly labeled with 15N at an unknown percentage" "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-100% 13C]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-95% 13C]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-10% 13C]" "Uniformly labeled with 13C at a level of 10 percent" "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-13C]" "Uniformly labeled with 13C at an unknown percentage" "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-100% 13C; U-100% 15N]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-99% 13C; U-99% 15N]" "Uniformly labeled with 13C at 99 percent and 15N at 99 percent" "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-98% 13C; U-98% 15N]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-95% 13C; U-95% 15N]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-95% 13C; U-90% 15N]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-10% 13C; U-100% 15N]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-10% 13C; U-99% 15N]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-13C; U-15N]" "Uniformly labeled with 13C and 15N at unknown percentages" "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-100% 13C; U-100% 15N; U-80% 2H]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-13C; U-15N; U-2H]" "Uniformly labeled with 13C$ 15N$ and 2H at unknown percentages" "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-100% 2H]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-99% 2H]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-2H]" . "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-13C; U-15N]-Ade" "All adenine nucleotides labeled fully with both 13C and 15N" "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-13C; U-15N]-Cyt" "All cytosine nucleotides labeled fully with both 13C and 15N" "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-13C; U-15N]-Gua" "All guanine nucleotides labeled fully with both 13C and 15N" "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-13C; U-15N]-Ura" "All uracil nucleotides labeled fully with both 13C and 15N" "_pdbx_nmr_exptl_sample.isotopic_labeling" "[U-15N]-Leu" "Uniformly labeled 15N Leu residues" "_pdbx_nmr_exptl_sample.isotopic_labeling" "[95% 13CA]-Trp" "All Trp residues labeled 95 percent with 13C in the CA position" # _pdbx_item_enumeration_details.name "_pdbx_nmr_exptl_sample.isotopic_labeling" _pdbx_item_enumeration_details.closed_flag no # _pdbx_item_examples.name "_pdbx_nmr_exptl_sample.isotopic_labeling" _pdbx_item_examples.case "U-13C; NA-K,H; U-95% 15N Thymine" _pdbx_item_examples.detail . # _item_aliases.alias_name '_rcsb_nmr_exptl_sample.isotopic_labeling' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### ########################################################################## ### save_pdbx_nmr_exptl_sample_conditions _category.description ; The experimental conditions used to for each sample. Each set of conditions is identified by a numerical code. ; _category.id pdbx_nmr_exptl_sample_conditions _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_exptl_sample_conditions.conditions_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; This example was taken from a pH stability study. ; # ; loop_ _pdbx_nmr_exptl_sample_conditions.conditions_id _pdbx_nmr_exptl_sample_conditions.temperature _pdbx_nmr_exptl_sample_conditions.pressure _pdbx_nmr_exptl_sample_conditions.pH _pdbx_nmr_exptl_sample_conditions.ionic_strength 1 298 ambient 7 '25mM NaCl' 2 298 ambient 3 '25mM NaCl' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_nmr_exptl_sample_conditions.conditions_id _item_description.description ; The condition number as defined above. ; _item.name '_pdbx_nmr_exptl_sample_conditions.conditions_id' _item.category_id pdbx_nmr_exptl_sample_conditions _item.mandatory_code yes _pdbx_item.name "_pdbx_nmr_exptl_sample_conditions.conditions_id" _pdbx_item.mandatory_code yes _item_type.code code loop_ _item_examples.case '1' '2' '3' _item_aliases.alias_name '_rcsb_nmr_exptl_sample_conditions.conditions_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_exptl_sample_conditions.temperature _item_description.description ; The temperature (in Kelvin) at which NMR data were collected. ; _item.name '_pdbx_nmr_exptl_sample_conditions.temperature' _item.category_id pdbx_nmr_exptl_sample_conditions _item.mandatory_code no _item_type.code float-range _pdbx_item.name "_pdbx_nmr_exptl_sample_conditions.temperature" _pdbx_item.mandatory_code yes loop_ _item_examples.case '298' _item_aliases.alias_name '_rcsb_nmr_exptl_sample_conditions.temperature' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_exptl_sample_conditions.pressure_units _item_description.description ; The units of pressure at which NMR data were collected. ; _item.name '_pdbx_nmr_exptl_sample_conditions.pressure_units' _item.category_id pdbx_nmr_exptl_sample_conditions _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_exptl_sample_conditions.pressure_units" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_nmr_exptl_sample_conditions.pressure_units" _pdbx_item_description.description "Units of the sample condition pressure." _item_type.code code loop_ _item_examples.case 'Pa' 'atm' 'Torr' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_exptl_sample_conditions.pressure_units" Pa "Pascal, 1 Pa = 1 N m^-2" "_pdbx_nmr_exptl_sample_conditions.pressure_units" bar "bar, 1 bar = 10^5 Pa" "_pdbx_nmr_exptl_sample_conditions.pressure_units" atm "atmosphere, 1 atm = 1.01325 * 10^5 Pa, atm is not a SI unit" "_pdbx_nmr_exptl_sample_conditions.pressure_units" mmHg "millimetres of mercury, 1 mmHg = 133.3224 Pa, mmHg is not a SI unit" "_pdbx_nmr_exptl_sample_conditions.pressure_units" Torr "Torricelli, 1 Torr = 133.322 Pa, Torr is not a SI unit" "_pdbx_nmr_exptl_sample_conditions.pressure_units" mbar millibar # _item_aliases.alias_name '_rcsb_nmr_exptl_sample_conditions.pressure_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_exptl_sample_conditions.pressure _item_description.description ; The pressure at which NMR data were collected. ; _item.name '_pdbx_nmr_exptl_sample_conditions.pressure' _item.category_id pdbx_nmr_exptl_sample_conditions _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_exptl_sample_conditions.pressure" _pdbx_item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'ambient' '1atm' # _pdbx_item_examples.name "_pdbx_nmr_exptl_sample_conditions.pressure" _pdbx_item_examples.case 1 _pdbx_item_examples.detail . _item_aliases.alias_name '_rcsb_nmr_exptl_sample_conditions.pressure' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_exptl_sample_conditions.pH _item_description.description ; The pH at which the NMR data were collected. ; _item.name '_pdbx_nmr_exptl_sample_conditions.pH' _item.category_id pdbx_nmr_exptl_sample_conditions _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_exptl_sample_conditions.pH" _pdbx_item.mandatory_code yes _item_type.code float-range loop_ _item_examples.case '3.1' '7.0' _item_aliases.alias_name '_rcsb_nmr_exptl_sample_conditions.pH' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_exptl_sample_conditions.ionic_strength _item_description.description ; The ionic strength at which the NMR data were collected -in lieu of this enter the concentration and identity of the salt in the sample. ; _item.name '_pdbx_nmr_exptl_sample_conditions.ionic_strength' _item.category_id pdbx_nmr_exptl_sample_conditions _item.mandatory_code no _item_type.code line _pdbx_item.name "_pdbx_nmr_exptl_sample_conditions.ionic_strength" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_nmr_exptl_sample_conditions.ionic_strength" _pdbx_item_description.description "The ionic strength at which NMR data were collected. Alternatively, give the concentration and identity of the salt in the sample." # loop_ # _item_examples.case # '3.1' # '7.0' _item_aliases.alias_name '_rcsb_nmr_exptl_sample_conditions.ionic_strength' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### ########################################################################## ### save_pdbx_nmr_spectrometer _category.description ; The details about each spectrometer used to collect data for this deposition. ; _category.id pdbx_nmr_spectrometer _category.mandatory_code no _category_key.name '_pdbx_nmr_spectrometer.spectrometer_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; The instruments described here are the ones used for the MCP-1 studies. ; # ; loop_ _pdbx_nmr_spectrometer.spectrometer_id _pdbx_nmr_spectrometer.type _pdbx_nmr_spectrometer.field_strength 1 'Bruker AMX' 600 2 'Bruker AMX' 500 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_nmr_spectrometer.spectrometer_id _item_description.description ; Assign a numerical ID to each instrument. ; _item.name '_pdbx_nmr_spectrometer.spectrometer_id' _item.category_id pdbx_nmr_spectrometer _item.mandatory_code yes _item_type.code code loop_ _item_examples.case '1' '2' '3' _item_aliases.alias_name '_rcsb_nmr_spectrometer.spectrometer_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 # save_ save__pdbx_nmr_spectrometer.model _item_description.description ; The model of the NMR spectrometer. ; _item.name '_pdbx_nmr_spectrometer.model' _item.category_id pdbx_nmr_spectrometer _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_spectrometer.model" _pdbx_item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'AVANCE' 'AVANCE II' 'AVANCE III' 'AVANCE III HD' 'WH' 'WM' 'AM' 'AMX' 'DMX' 'DRX' 'MSL' 'OMEGA' 'OMEGA PSG' 'GX' 'GSX' 'A' 'AL' 'EC' 'EX' 'LA' 'ECP' 'VXRS' 'UNITY' 'UNITYPLUS' 'INOVA' # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_spectrometer.model" A . "_pdbx_nmr_spectrometer.model" AL . "_pdbx_nmr_spectrometer.model" AM Bruker "_pdbx_nmr_spectrometer.model" AMX Bruker "_pdbx_nmr_spectrometer.model" ARX Bruker "_pdbx_nmr_spectrometer.model" AVANCE Bruker "_pdbx_nmr_spectrometer.model" 'AVANCE AM' Bruker "_pdbx_nmr_spectrometer.model" 'AVANCE AMX' Bruker "_pdbx_nmr_spectrometer.model" 'AVANCE DMX' Bruker "_pdbx_nmr_spectrometer.model" 'AVANCE DRX' Bruker "_pdbx_nmr_spectrometer.model" 'AVANCE II' Bruker "_pdbx_nmr_spectrometer.model" 'AVANCE III' Bruker "_pdbx_nmr_spectrometer.model" 'AVANCE III HD' Bruker "_pdbx_nmr_spectrometer.model" 'AVANCE NEO' Bruker "_pdbx_nmr_spectrometer.model" CMX Bruker "_pdbx_nmr_spectrometer.model" "Direct Drive" Agilent "_pdbx_nmr_spectrometer.model" DMX Bruker "_pdbx_nmr_spectrometer.model" DPX Bruker "_pdbx_nmr_spectrometer.model" DRX Bruker "_pdbx_nmr_spectrometer.model" MSL Bruker "_pdbx_nmr_spectrometer.model" WH . "_pdbx_nmr_spectrometer.model" WM . "_pdbx_nmr_spectrometer.model" EC . "_pdbx_nmr_spectrometer.model" EX . "_pdbx_nmr_spectrometer.model" LA . "_pdbx_nmr_spectrometer.model" ECA JEOL "_pdbx_nmr_spectrometer.model" ECP JEOL "_pdbx_nmr_spectrometer.model" "Uniform NMR System" Varian "_pdbx_nmr_spectrometer.model" INOVA Varian "_pdbx_nmr_spectrometer.model" UNITY Varian "_pdbx_nmr_spectrometer.model" UNITYPLUS Varian "_pdbx_nmr_spectrometer.model" VXRS Varian "_pdbx_nmr_spectrometer.model" Gemini GE "_pdbx_nmr_spectrometer.model" GN GE "_pdbx_nmr_spectrometer.model" GSX GE "_pdbx_nmr_spectrometer.model" GX GE "_pdbx_nmr_spectrometer.model" OMEGA GE "_pdbx_nmr_spectrometer.model" "OMEGA PSG" GE # _pdbx_item_enumeration_details.name "_pdbx_nmr_spectrometer.model" _pdbx_item_enumeration_details.closed_flag no _item_aliases.alias_name '_rcsb_nmr_spectrometer.model' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_spectrometer.type _item_description.description ; Select the instrument manufacturer(s) and the model(s) of the NMR(s) used for this work. ; _item.name '_pdbx_nmr_spectrometer.type' _item.category_id pdbx_nmr_spectrometer _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'Bruker WH' 'Bruker WM' 'Bruker AM' 'Bruker AMX' 'Bruker DMX' 'Bruker DRX' 'Bruker MSL' 'Bruker AVANCE' 'GE Omega' 'GE Omega PSG' 'JEOL GX' 'JEOL GSX' 'JEOL A' 'JEOL AL' 'JEOL EC' 'JEOL EX' 'JEOL LA' 'JEOL ECP' 'Varian VXRS' 'Varian UNITY' 'Varian UNITYplus' 'Varian INOVA' 'other' _item_aliases.alias_name '_rcsb_nmr_spectrometer.type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_spectrometer.manufacturer _item_description.description ; The name of the manufacturer of the spectrometer. ; _item.name '_pdbx_nmr_spectrometer.manufacturer' _item.category_id pdbx_nmr_spectrometer _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_spectrometer.manufacturer" _pdbx_item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'Varian' 'Bruker' 'JEOL' 'GE' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_spectrometer.manufacturer" Bruker . "_pdbx_nmr_spectrometer.manufacturer" GE . "_pdbx_nmr_spectrometer.manufacturer" JEOL . "_pdbx_nmr_spectrometer.manufacturer" Varian . "_pdbx_nmr_spectrometer.manufacturer" Agilent . "_pdbx_nmr_spectrometer.manufacturer" Cambridge . "_pdbx_nmr_spectrometer.manufacturer" Oxford . "_pdbx_nmr_spectrometer.manufacturer" FBML . "_pdbx_nmr_spectrometer.manufacturer" Nicolet "Company does not exist" "_pdbx_nmr_spectrometer.manufacturer" Home-built . "_pdbx_nmr_spectrometer.manufacturer" na . # _pdbx_item_enumeration_details.name "_pdbx_nmr_spectrometer.manufacturer" _pdbx_item_enumeration_details.closed_flag no # _item_aliases.alias_name '_rcsb_nmr_spectrometer.manufacturer' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_spectrometer.field_strength _item_description.description ; The field strength in MHz of the spectrometer ; _item.name '_pdbx_nmr_spectrometer.field_strength' _item.category_id pdbx_nmr_spectrometer _item.mandatory_code no _pdbx_item_description.name "_pdbx_nmr_spectrometer.field_strength" _pdbx_item_description.description "Select the field strength in MHz" _pdbx_item.name '_pdbx_nmr_spectrometer.field_strength' _pdbx_item.mandatory_code yes _item_type.code float loop_ _item_examples.case '360' '400' '500' '600' '750' '800' '850' '900' '950' '1000' # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_spectrometer.field_strength" 90 . "_pdbx_nmr_spectrometer.field_strength" 120 . "_pdbx_nmr_spectrometer.field_strength" 140 . "_pdbx_nmr_spectrometer.field_strength" 200 . "_pdbx_nmr_spectrometer.field_strength" 250 . "_pdbx_nmr_spectrometer.field_strength" 270 . "_pdbx_nmr_spectrometer.field_strength" 300 . "_pdbx_nmr_spectrometer.field_strength" 350 . "_pdbx_nmr_spectrometer.field_strength" 360 . "_pdbx_nmr_spectrometer.field_strength" 400 . "_pdbx_nmr_spectrometer.field_strength" 450 . "_pdbx_nmr_spectrometer.field_strength" 470 . "_pdbx_nmr_spectrometer.field_strength" 500 . "_pdbx_nmr_spectrometer.field_strength" 550 . "_pdbx_nmr_spectrometer.field_strength" 590 . "_pdbx_nmr_spectrometer.field_strength" 600 . "_pdbx_nmr_spectrometer.field_strength" 700 . "_pdbx_nmr_spectrometer.field_strength" 800 . "_pdbx_nmr_spectrometer.field_strength" 900 . "_pdbx_nmr_spectrometer.field_strength" 720 . "_pdbx_nmr_spectrometer.field_strength" 750 . "_pdbx_nmr_spectrometer.field_strength" 850 . "_pdbx_nmr_spectrometer.field_strength" 920 . "_pdbx_nmr_spectrometer.field_strength" 950 . "_pdbx_nmr_spectrometer.field_strength" 1000 . "_pdbx_nmr_spectrometer.field_strength" 1100 . "_pdbx_nmr_spectrometer.field_strength" 1200 . # _pdbx_item_enumeration_details.name "_pdbx_nmr_spectrometer.field_strength" # _item_aliases.alias_name '_rcsb_nmr_spectrometer.field_strength' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### ########################################################################## ### save_pdbx_nmr_exptl _category.description ; In this section, enter information on those experiments that were used to generate constraint data. For each NMR experiment indicate which sample and which sample conditions were used for the experiment. ; _category.id pdbx_nmr_exptl _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_exptl.experiment_id' '_pdbx_nmr_exptl.conditions_id' '_pdbx_nmr_exptl.solution_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; This example was taken from the MCP-1 study. ; # ; loop_ _pdbx_nmr_exptl.experiment_id _pdbx_nmr_exptl.solution_id _pdbx_nmr_exptl.conditions_id _pdbx_nmr_exptl.type 1 3 1 '3D_15N-separated_NOESY' 2 1 1 '3D_13C-separated_NOESY' 3 1 2 '4D_13C/15N-separated_NOESY' 4 1 1 '4D_13C-separated_NOESY' 5 1 1 '3D_15N-separated_ROESY' 6 3 1 '3D_13C-separated_ROESY' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_nmr_exptl.experiment_id _item_description.description ; A numerical ID for each experiment. ; _item.name '_pdbx_nmr_exptl.experiment_id' _item.category_id pdbx_nmr_exptl _item.mandatory_code yes _item_type.code code loop_ _item_examples.case '1' '2' '3' _item_aliases.alias_name '_rcsb_nmr_exptl.experiment_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_exptl.conditions_id _item_description.description ; The number to identify the set of sample conditions. ; _item.name '_pdbx_nmr_exptl.conditions_id' _item.category_id pdbx_nmr_exptl _item.mandatory_code yes _item_type.code code loop_ _item_examples.case '1' '2' '3' _item_aliases.alias_name '_rcsb_nmr_exptl.conditions_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _pdbx_item_description.name "_pdbx_nmr_exptl.conditions_id" _pdbx_item_description.description "The previously specified sample conditions ID and label, identifying the conditions in each of these experiments." # save_ save__pdbx_nmr_exptl.solution_id _item_description.description ; The solution_id from the Experimental Sample to identify the sample that these conditions refer to. [Remember to save the entries here before returning to the Experimental Sample form] ; _item.name '_pdbx_nmr_exptl.solution_id' _item.category_id pdbx_nmr_exptl _item.mandatory_code yes _item_type.code code _pdbx_item_description.name "_pdbx_nmr_exptl.solution_id" _pdbx_item_description.description "The previously specified sample ID and label, identifying which sample was used in each of these experiments." loop_ _item_examples.case '1' '2' '3' _item_aliases.alias_name '_rcsb_nmr_exptl.solution_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_exptl.type _item_description.description ; The type of NMR experiment. ; _item.name '_pdbx_nmr_exptl.type' _item.category_id pdbx_nmr_exptl _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_exptl.type" _pdbx_item.mandatory_code yes _item_type.code line loop_ _item_examples.case '2D NOESY' '3D_15N-separated_NOESY' '3D_13C-separated_NOESY' '4D_13C-separated_NOESY' '4D_13C/15N-separated_NOESY' '3D_15N-separated_ROESY' '3D_13C-separated_ROESY' 'HNCA-J' 'HNHA' 'DQF-COSY' 'P-COSY' 'PE-COSY' 'E-COSY' # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_exptl.type" "2D 1H-15N HSQC" . "_pdbx_nmr_exptl.type" "2D 1H-15N HSQC NH2 only" . "_pdbx_nmr_exptl.type" "2D 1H-13C HSQC" . "_pdbx_nmr_exptl.type" "2D 1H-13C HSQC aliphatic" . "_pdbx_nmr_exptl.type" "2D 1H-13C HSQC aromatic" . "_pdbx_nmr_exptl.type" "2D 1H-1H TOCSY" . "_pdbx_nmr_exptl.type" "2D DQF-COSY" . "_pdbx_nmr_exptl.type" "2D 1H-1H COSY" . "_pdbx_nmr_exptl.type" "2D 1H-1H NOESY" . "_pdbx_nmr_exptl.type" "3D CBCA(CO)NH" . "_pdbx_nmr_exptl.type" "3D C(CO)NH" . "_pdbx_nmr_exptl.type" "3D HNCO" . "_pdbx_nmr_exptl.type" "3D HNCA" . "_pdbx_nmr_exptl.type" "3D HNCACB" . "_pdbx_nmr_exptl.type" "3D HBHA(CO)NH" . "_pdbx_nmr_exptl.type" "3D HN(CO)CA" . "_pdbx_nmr_exptl.type" "3D H(CCO)NH" . "_pdbx_nmr_exptl.type" "3D HCCH-TOCSY" . "_pdbx_nmr_exptl.type" "3D HNHA" . "_pdbx_nmr_exptl.type" "3D 1H-15N NOESY" . "_pdbx_nmr_exptl.type" "3D 1H-15N TOCSY" . "_pdbx_nmr_exptl.type" "3D 1H-13C NOESY" . "_pdbx_nmr_exptl.type" "3D 1H-13C NOESY aliphatic" . "_pdbx_nmr_exptl.type" "3D 1H-13C NOESY aromatic" . "_pdbx_nmr_exptl.type" "3D HNHB" . "_pdbx_nmr_exptl.type" "3D HCCH-COSY" . "_pdbx_nmr_exptl.type" "3D HCACO" . "_pdbx_nmr_exptl.type" "3D HN(COCA)CB" . # _pdbx_item_enumeration_details.name "_pdbx_nmr_exptl.type" _pdbx_item_enumeration_details.closed_flag no _item_aliases.alias_name '_rcsb_nmr_exptl.type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### ########################################################################## ### save_pdbx_nmr_software _category.description ; Description of the software that was used for data collection, data processing, data analysis, structure calculations and refinement. The description should include the name of the software, the author of the software and the version used. ; _category.id pdbx_nmr_software _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_software.ordinal' # '_pdbx_nmr_software.name' # '_pdbx_nmr_software.classification' # '_pdbx_nmr_software.version' # alternate key # _category_key.name '_pdbx_nmr_software.ordinal' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; This example describes the software used in the MCP-1 study. ; # ; loop_ _pdbx_nmr_software.ordinal _pdbx_nmr_software.name _pdbx_nmr_software.authors _pdbx_nmr_software.version _pdbx_nmr_software.classification 1 UXNMR Bruker 940501.3 'collection' 2 FELIX Hare 1.1 'processing' 3 ANSIG Kraulis 3.0 'data analysis' 4 X-PLOR Brunger 3.8 'structure calculation' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_nmr_software.ordinal _item_description.description ; An ordinal index for this category ; _item.name '_pdbx_nmr_software.ordinal' _item.category_id pdbx_nmr_software _item.mandatory_code yes _item_type.code int _pdbx_item_description.name "_pdbx_nmr_software.ordinal" _pdbx_item_description.description "The number that uniquely identifies this software from the others listed in the entry." loop_ _item_examples.case 1 2 _item_aliases.alias_name '_rcsb_nmr_software.ordinal' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_software.classification _item_description.description ; The purpose of the software. ; _item.name '_pdbx_nmr_software.classification' _item.category_id pdbx_nmr_software _item.mandatory_code yes _item_type.code line # _pdbx_item_description.name "_pdbx_nmr_software.classification" _pdbx_item_description.description "The term that best describes the purpose of the software." loop_ _item_examples.case 'collection' 'processing' 'data analysis' 'structure solution' 'refinement' 'iterative matrix relaxation' # loop_ # _item_enumeration.value # 'collection' # 'processing' # 'data analysis' # 'structure solution' # 'refinement' # 'iterative matrix relaxation' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_software.classification" collection . "_pdbx_nmr_software.classification" "chemical shift assignment" . "_pdbx_nmr_software.classification" "chemical shift calculation" . "_pdbx_nmr_software.classification" "data analysis" . "_pdbx_nmr_software.classification" "geometry optimization" . "_pdbx_nmr_software.classification" "peak picking" . "_pdbx_nmr_software.classification" processing . "_pdbx_nmr_software.classification" refinement . "_pdbx_nmr_software.classification" "structure calculation" . # _item_aliases.alias_name '_rcsb_nmr_software.classification' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_software.name _item_description.description ; The name of the software used for the task. ; _item.name '_pdbx_nmr_software.name' _item.category_id pdbx_nmr_software _item.mandatory_code yes _item_type.code line _pdbx_item_description.name '_pdbx_nmr_software.name' _pdbx_item_description.description 'The name of the software used for this procedure.' loop_ _item_examples.case 'ANSIG' 'AURELIA' 'AZARA' 'CHARMM' CoMAND 'CORMA' 'DIANA' 'DYANA' 'DSPACE' 'DISGEO' 'DGII' 'DISMAN' 'DINOSAUR' 'DISCOVER' 'FELIX' 'FT_NMR' 'GROMOS' 'IRMA' 'MARDIGRAS' 'NMRPipe' 'SA' 'UXNMR' 'VNMR' 'X-PLOR' 'XWINNMR' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_pdbx_nmr_software.name' NAME . '_pdbx_nmr_software.name' 3D-DART . '_pdbx_nmr_software.name' 3DNA . '_pdbx_nmr_software.name' 4D-CHAINS . '_pdbx_nmr_software.name' ABACUS . '_pdbx_nmr_software.name' ACME . '_pdbx_nmr_software.name' AGNuS . '_pdbx_nmr_software.name' ALMOST . '_pdbx_nmr_software.name' Amber . '_pdbx_nmr_software.name' AMIX . '_pdbx_nmr_software.name' AnalysisAssign . '_pdbx_nmr_software.name' Anglesearch . '_pdbx_nmr_software.name' ANSIG . '_pdbx_nmr_software.name' APES . '_pdbx_nmr_software.name' AQUA . '_pdbx_nmr_software.name' ARIA . '_pdbx_nmr_software.name' ARIA2alpha . '_pdbx_nmr_software.name' ARMOR . '_pdbx_nmr_software.name' ASCAN . '_pdbx_nmr_software.name' ASDP . '_pdbx_nmr_software.name' ATNOS . '_pdbx_nmr_software.name' AUDANA . '_pdbx_nmr_software.name' AURELIA . '_pdbx_nmr_software.name' AUREMOL . '_pdbx_nmr_software.name' AutoAssign . '_pdbx_nmr_software.name' AutoDock . '_pdbx_nmr_software.name' AutoProc . '_pdbx_nmr_software.name' AutoStructure . '_pdbx_nmr_software.name' AVS . '_pdbx_nmr_software.name' Azara . '_pdbx_nmr_software.name' BACKTOR . '_pdbx_nmr_software.name' BACUS . '_pdbx_nmr_software.name' BATCH . '_pdbx_nmr_software.name' BIOGRAF . '_pdbx_nmr_software.name' BIRDER . '_pdbx_nmr_software.name' Burrow-owl . '_pdbx_nmr_software.name' CALIBA . '_pdbx_nmr_software.name' CamShift . '_pdbx_nmr_software.name' CamShift-MD . '_pdbx_nmr_software.name' CANDID . '_pdbx_nmr_software.name' CAPP . '_pdbx_nmr_software.name' CARA . '_pdbx_nmr_software.name' CATCH23 . '_pdbx_nmr_software.name' CATIA . '_pdbx_nmr_software.name' CCNMR . '_pdbx_nmr_software.name' 'CcpNmr Analysis' . '_pdbx_nmr_software.name' CHARMM . '_pdbx_nmr_software.name' CHARMM-GUI . '_pdbx_nmr_software.name' CHESHIRE . '_pdbx_nmr_software.name' CHIFIT . '_pdbx_nmr_software.name' CINDY . '_pdbx_nmr_software.name' CING . '_pdbx_nmr_software.name' Circos . '_pdbx_nmr_software.name' cleaner3D . '_pdbx_nmr_software.name' CMXW . '_pdbx_nmr_software.name' CNS . '_pdbx_nmr_software.name' CNX . '_pdbx_nmr_software.name' COMPASS . '_pdbx_nmr_software.name' CoMAND . '_pdbx_nmr_software.name' 'Complete SCS search' . '_pdbx_nmr_software.name' CONCOORD . '_pdbx_nmr_software.name' CONGEN . '_pdbx_nmr_software.name' CORMA . '_pdbx_nmr_software.name' CPMD . '_pdbx_nmr_software.name' 'CS-RDC-NOE Rosetta' . '_pdbx_nmr_software.name' CS-ROSETTA . '_pdbx_nmr_software.name' CS23D . '_pdbx_nmr_software.name' CSI . '_pdbx_nmr_software.name' curvefit . '_pdbx_nmr_software.name' Curves . '_pdbx_nmr_software.name' Curves+ . '_pdbx_nmr_software.name' CYANA . '_pdbx_nmr_software.name' DADAS . '_pdbx_nmr_software.name' DANGLE . '_pdbx_nmr_software.name' Delta . '_pdbx_nmr_software.name' DGEOM . '_pdbx_nmr_software.name' DIAMOD . '_pdbx_nmr_software.name' DIANA . '_pdbx_nmr_software.name' DINOSAUR . '_pdbx_nmr_software.name' DipoCoup . '_pdbx_nmr_software.name' Discover . '_pdbx_nmr_software.name' 'Discovery Studio' . '_pdbx_nmr_software.name' DISGEO . '_pdbx_nmr_software.name' DISMAN . '_pdbx_nmr_software.name' DISNMR . '_pdbx_nmr_software.name' DNAminiCarlo . '_pdbx_nmr_software.name' Dreamwalker . '_pdbx_nmr_software.name' DSPACE . '_pdbx_nmr_software.name' DSSP . '_pdbx_nmr_software.name' DUPLEX . '_pdbx_nmr_software.name' DYANA . '_pdbx_nmr_software.name' DYNAMO . '_pdbx_nmr_software.name' 'Dynamic Meccano' . '_pdbx_nmr_software.name' EC-NMR . '_pdbx_nmr_software.name' ELM . '_pdbx_nmr_software.name' EMBOSS . '_pdbx_nmr_software.name' ENSEMBLE . '_pdbx_nmr_software.name' EREF . '_pdbx_nmr_software.name' EZ-ASSIGN . '_pdbx_nmr_software.name' FANMEM . '_pdbx_nmr_software.name' FANTOM . '_pdbx_nmr_software.name' FAWN . '_pdbx_nmr_software.name' Felix . '_pdbx_nmr_software.name' FindCore . '_pdbx_nmr_software.name' FINDFAM . '_pdbx_nmr_software.name' FIRM . '_pdbx_nmr_software.name' FISI . '_pdbx_nmr_software.name' Flexible-meccano . '_pdbx_nmr_software.name' FMCGUI . '_pdbx_nmr_software.name' Foldit . '_pdbx_nmr_software.name' FuDA . '_pdbx_nmr_software.name' G2G . '_pdbx_nmr_software.name' GAPRO . '_pdbx_nmr_software.name' GARANT . '_pdbx_nmr_software.name' GASyCS . '_pdbx_nmr_software.name' Gaussian . '_pdbx_nmr_software.name' GeNMR . '_pdbx_nmr_software.name' GENXPK . '_pdbx_nmr_software.name' Gifa . '_pdbx_nmr_software.name' GLOMSA . '_pdbx_nmr_software.name' GLXCC . '_pdbx_nmr_software.name' GRAMM-X . '_pdbx_nmr_software.name' GROMACS . '_pdbx_nmr_software.name' GROMOS . '_pdbx_nmr_software.name' GUARDD . '_pdbx_nmr_software.name' HABAS . '_pdbx_nmr_software.name' HADDOCK . '_pdbx_nmr_software.name' HBPLUS . '_pdbx_nmr_software.name' hmsIST . '_pdbx_nmr_software.name' HOLE . '_pdbx_nmr_software.name' HYPER . '_pdbx_nmr_software.name' HyperChem . '_pdbx_nmr_software.name' ICMD . '_pdbx_nmr_software.name' 'In-house / custom' . '_pdbx_nmr_software.name' INCA . '_pdbx_nmr_software.name' INDYANA . '_pdbx_nmr_software.name' 'Inferential Structure Determination (ISD)' . '_pdbx_nmr_software.name' INFIT . '_pdbx_nmr_software.name' Insight . '_pdbx_nmr_software.name' 'Insight II' . '_pdbx_nmr_software.name' interhlx . '_pdbx_nmr_software.name' I-PINE . '_pdbx_nmr_software.name' IRMA . '_pdbx_nmr_software.name' JUMNA . '_pdbx_nmr_software.name' KUJIRA . '_pdbx_nmr_software.name' MacroModel . '_pdbx_nmr_software.name' MAGRO . '_pdbx_nmr_software.name' MagRO-NMRView . '_pdbx_nmr_software.name' MAPPER . '_pdbx_nmr_software.name' MARBLE . '_pdbx_nmr_software.name' MARDIGRAS . '_pdbx_nmr_software.name' MARS . '_pdbx_nmr_software.name' MATCH . '_pdbx_nmr_software.name' Mathematica . '_pdbx_nmr_software.name' Matlab . '_pdbx_nmr_software.name' MC-Sym . '_pdbx_nmr_software.name' MCASSIGN . '_pdbx_nmr_software.name' MCCL . '_pdbx_nmr_software.name' MDDGUI . '_pdbx_nmr_software.name' MddNMR . '_pdbx_nmr_software.name' MEDUSA . '_pdbx_nmr_software.name' 'MestreLab (Mnova / MestReNova / MestReC)' . '_pdbx_nmr_software.name' MFT . '_pdbx_nmr_software.name' MIDGE . '_pdbx_nmr_software.name' miniCarlo . '_pdbx_nmr_software.name' Minuit . '_pdbx_nmr_software.name' MNMR . '_pdbx_nmr_software.name' ModelFree . '_pdbx_nmr_software.name' MODELLER . '_pdbx_nmr_software.name' Module . '_pdbx_nmr_software.name' 'Module 2' . '_pdbx_nmr_software.name' MOE . '_pdbx_nmr_software.name' MOLMOL . '_pdbx_nmr_software.name' MolProbity . '_pdbx_nmr_software.name' MolSkop . '_pdbx_nmr_software.name' Monte . '_pdbx_nmr_software.name' MORASS . '_pdbx_nmr_software.name' MORCAD . '_pdbx_nmr_software.name' MULDER . '_pdbx_nmr_software.name' MUNIN . '_pdbx_nmr_software.name' NAB . '_pdbx_nmr_software.name' NAMD . '_pdbx_nmr_software.name' NAMFIS . '_pdbx_nmr_software.name' NDEE . '_pdbx_nmr_software.name' NESSY . '_pdbx_nmr_software.name' NHFIT . '_pdbx_nmr_software.name' 'NMR Structure Tools' . '_pdbx_nmr_software.name' NMR-SPIRIT . '_pdbx_nmr_software.name' nmr2st . '_pdbx_nmr_software.name' NMRCLUST . '_pdbx_nmr_software.name' NMRDraw . '_pdbx_nmr_software.name' NMRCompass . '_pdbx_nmr_software.name' NMRe . '_pdbx_nmr_software.name' NMRest . '_pdbx_nmr_software.name' NMRFAM-SPARKY . '_pdbx_nmr_software.name' NMRFx . '_pdbx_nmr_software.name' nmrglue . '_pdbx_nmr_software.name' NMRLAB . '_pdbx_nmr_software.name' NMRPipe . '_pdbx_nmr_software.name' NMRspy . '_pdbx_nmr_software.name' NMRSwarm . '_pdbx_nmr_software.name' NMRView . '_pdbx_nmr_software.name' NMRViewJ . '_pdbx_nmr_software.name' NOAH . '_pdbx_nmr_software.name' NOEID . '_pdbx_nmr_software.name' NOEMOL . '_pdbx_nmr_software.name' NOTE . '_pdbx_nmr_software.name' NUCFIT . '_pdbx_nmr_software.name' NUCHEMICS . '_pdbx_nmr_software.name' NUCLSQ . '_pdbx_nmr_software.name' Numbat . '_pdbx_nmr_software.name' O . '_pdbx_nmr_software.name' Olivia . '_pdbx_nmr_software.name' Omega . '_pdbx_nmr_software.name' OPAL . '_pdbx_nmr_software.name' OPALp . '_pdbx_nmr_software.name' Orderten_SVD . '_pdbx_nmr_software.name' OTOKO . '_pdbx_nmr_software.name' PACES . '_pdbx_nmr_software.name' PALES . '_pdbx_nmr_software.name' PARADYANA . '_pdbx_nmr_software.name' PASA . '_pdbx_nmr_software.name' PASTA . '_pdbx_nmr_software.name' PASTE/PAPST . '_pdbx_nmr_software.name' PdbStat . '_pdbx_nmr_software.name' PECAN . '_pdbx_nmr_software.name' 'PELE web server' . '_pdbx_nmr_software.name' PEPFLEX-II . '_pdbx_nmr_software.name' pfit . '_pdbx_nmr_software.name' PINE . '_pdbx_nmr_software.name' 'PINE Server' . '_pdbx_nmr_software.name' PINE-SPARKY . '_pdbx_nmr_software.name' PIPATH . '_pdbx_nmr_software.name' PIPP . '_pdbx_nmr_software.name' PISTACHIO . '_pdbx_nmr_software.name' PLATON . '_pdbx_nmr_software.name' PLUMED . '_pdbx_nmr_software.name' PLUMED2 . '_pdbx_nmr_software.name' PONDEROSA . '_pdbx_nmr_software.name' PONDEROSA-C/S . '_pdbx_nmr_software.name' POSE . '_pdbx_nmr_software.name' PREDITOR . '_pdbx_nmr_software.name' PRESTO . '_pdbx_nmr_software.name' Prime . '_pdbx_nmr_software.name' 'PROCHECK / PROCHECK-NMR' . '_pdbx_nmr_software.name' PRODRG . '_pdbx_nmr_software.name' ProFit . '_pdbx_nmr_software.name' PROMOTIF . '_pdbx_nmr_software.name' Pronto . '_pdbx_nmr_software.name' Pronto3D . '_pdbx_nmr_software.name' PROSA . '_pdbx_nmr_software.name' 'Protein Constructor' . '_pdbx_nmr_software.name' PSEUDODYANA . '_pdbx_nmr_software.name' PSEUDOREM . '_pdbx_nmr_software.name' PSVS . '_pdbx_nmr_software.name' PyMOL . '_pdbx_nmr_software.name' PyRPF . '_pdbx_nmr_software.name' QM/MM . '_pdbx_nmr_software.name' qMDD . '_pdbx_nmr_software.name' QUANTA . '_pdbx_nmr_software.name' QUEEN . '_pdbx_nmr_software.name' RADAR . '_pdbx_nmr_software.name' RANDMARDI . '_pdbx_nmr_software.name' RasMol . '_pdbx_nmr_software.name' RASP . '_pdbx_nmr_software.name' RDC-PANDA . '_pdbx_nmr_software.name' rDOCK . '_pdbx_nmr_software.name' RECOORD . '_pdbx_nmr_software.name' REDCAT . '_pdbx_nmr_software.name' REDcRAFT . '_pdbx_nmr_software.name' REGINE . '_pdbx_nmr_software.name' relax . '_pdbx_nmr_software.name' RelaxFit . '_pdbx_nmr_software.name' RELAZ . '_pdbx_nmr_software.name' REPENT . '_pdbx_nmr_software.name' RESTRICT . '_pdbx_nmr_software.name' Rosetta . '_pdbx_nmr_software.name' 'Rowland NMR Toolkit (RNMRTK)' . '_pdbx_nmr_software.name' RUNMR . '_pdbx_nmr_software.name' S3EPY . '_pdbx_nmr_software.name' SANE . '_pdbx_nmr_software.name' SCRUB . '_pdbx_nmr_software.name' SCULPTOR . '_pdbx_nmr_software.name' SCWRL . '_pdbx_nmr_software.name' SHIFTCALC . '_pdbx_nmr_software.name' SHIFTX . '_pdbx_nmr_software.name' Shine . '_pdbx_nmr_software.name' SideR . '_pdbx_nmr_software.name' 'Signal Separation Algorithm (SSA)' . '_pdbx_nmr_software.name' SIMPSON . '_pdbx_nmr_software.name' smartnotebook . '_pdbx_nmr_software.name' Smol . '_pdbx_nmr_software.name' SNARF . '_pdbx_nmr_software.name' SOLARIA . '_pdbx_nmr_software.name' SOPHIE . '_pdbx_nmr_software.name' Sparky . '_pdbx_nmr_software.name' SPARTA . '_pdbx_nmr_software.name' SPARTA+ . '_pdbx_nmr_software.name' SPEDREF . '_pdbx_nmr_software.name' SPHINX/LINSHA . '_pdbx_nmr_software.name' SpinEvolution . '_pdbx_nmr_software.name' SPINS . '_pdbx_nmr_software.name' SpinSight . '_pdbx_nmr_software.name' SpinWorks . '_pdbx_nmr_software.name' SPIRIT . '_pdbx_nmr_software.name' SPSCAN . '_pdbx_nmr_software.name' STAPP . '_pdbx_nmr_software.name' 'Structural Fitting' . '_pdbx_nmr_software.name' SUPPOSE . '_pdbx_nmr_software.name' Swiss-PdbViewer . '_pdbx_nmr_software.name' SYBYL . '_pdbx_nmr_software.name' SYBYL-X . '_pdbx_nmr_software.name' TALOS . '_pdbx_nmr_software.name' TALOS-N . '_pdbx_nmr_software.name' TALOS+ . '_pdbx_nmr_software.name' tecmag . '_pdbx_nmr_software.name' TENSOR . '_pdbx_nmr_software.name' TENSOR2 . '_pdbx_nmr_software.name' Tinker . '_pdbx_nmr_software.name' TopSpin . '_pdbx_nmr_software.name' TORC . '_pdbx_nmr_software.name' Turbo-Frodo . '_pdbx_nmr_software.name' UBNMR . '_pdbx_nmr_software.name' 'UCSF Chimera' . '_pdbx_nmr_software.name' 'UCSF MidasPlus' . '_pdbx_nmr_software.name' UNIO . '_pdbx_nmr_software.name' UXNMR . '_pdbx_nmr_software.name' VADAR . '_pdbx_nmr_software.name' VEMBED . '_pdbx_nmr_software.name' VERIFY3D . '_pdbx_nmr_software.name' VMD . '_pdbx_nmr_software.name' VNMR . '_pdbx_nmr_software.name' VnmrJ . '_pdbx_nmr_software.name' 'WHAT IF' . '_pdbx_nmr_software.name' xcrvfit . '_pdbx_nmr_software.name' XEASY . '_pdbx_nmr_software.name' Xipp . '_pdbx_nmr_software.name' Xndee . '_pdbx_nmr_software.name' X-PLOR . '_pdbx_nmr_software.name' 'X-PLOR NIH' . '_pdbx_nmr_software.name' XVNMR . '_pdbx_nmr_software.name' XwinNMR . '_pdbx_nmr_software.name' YARIA . '_pdbx_nmr_software.name' YARM . '_pdbx_nmr_software.name' YASAP . '_pdbx_nmr_software.name' YASARA . _item_aliases.alias_name '_rcsb_nmr_software.name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_software.version _item_description.description ; The version of the software. ; _item.name '_pdbx_nmr_software.version' _item.category_id pdbx_nmr_software _item.mandatory_code no # _item.mandatory_code yes _item_type.code line loop_ _item_examples.case '940501.3' '2.1' _item_aliases.alias_name '_rcsb_nmr_software.version' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_software.authors _item_description.description ; The name of the authors of the software used in this procedure. ; _item.name '_pdbx_nmr_software.authors' _item.category_id pdbx_nmr_software _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Brunger' 'Guentert' _pdbx_item.name "_pdbx_nmr_software.authors" _pdbx_item.mandatory_code yes _item_aliases.alias_name '_rcsb_nmr_software.authors' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### ########################################################################## ### save_pdbx_nmr_constraints _category.description ; This section provides a tabulation of constraint data. ; _category.id pdbx_nmr_constraints _category.mandatory_code no _category_key.name '_pdbx_nmr_constraints.entry_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; This example uses the data from the MCP-1 structure determination. Remember this is a dimer so there are intersubunit constraints as well as intrasubunit constraints. ; # ; loop_ _pdbx_nmr_constraints.entry_id _pdbx_nmr_constraints.NOE_constraints_total _pdbx_nmr_constraints.NOE_intraresidue_total_count _pdbx_nmr_constraints.NOE_sequential_total_count _pdbx_nmr_constraints.NOE_medium_range_total_count _pdbx_nmr_constraints.NOE_long_range_total_count _pdbx_nmr_constraints.protein_phi_angle_constraints_total_count 1ABC 4458 1144 272 1004 1356 96 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_nmr_constraints.entry_id _item_description.description ; You can leave this blank as an ID will be assigned by the MSD to the constraint file. ; _item.name '_pdbx_nmr_constraints.entry_id' _item.category_id pdbx_nmr_constraints _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_nmr_constraints.entry_id' _item_linked.parent_name '_entry.id' _item_aliases.alias_name '_rcsb_nmr_constraints.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NOE_constraints_total _item_description.description ; The total number of all NOE constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.NOE_constraints_total' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '4458' _item_aliases.alias_name '_rcsb_nmr_constraints.NOE_constraints_total' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NOE_intraresidue_total_count _item_description.description ; The total number of all intraresidue, [i-j]=0, NOE constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.NOE_intraresidue_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '1144' _item_aliases.alias_name '_rcsb_nmr_constraints.NOE_intraresidue_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NOE_interentity_total_count _item_description.description ; The total number of interentity, NOE constraints used in the final structure calculation. This field should only be if system is complex -i.e more than one entity e.g. a dimer or ligand-protein complex ; _item.name '_pdbx_nmr_constraints.NOE_interentity_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '272' _item_aliases.alias_name '_rcsb_nmr_constraints.NOE_interentity_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NOE_sequential_total_count _item_description.description ; The total number of sequential, [i-j]=1, NOE constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.NOE_sequential_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '1004' _item_aliases.alias_name '_rcsb_nmr_constraints.NOE_sequential_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NOE_medium_range_total_count _item_description.description ; The total number of medium range 1<[i-j]<=5 NOE constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.NOE_medium_range_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '682' _item_aliases.alias_name '_rcsb_nmr_constraints.NOE_medium_range_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NOE_long_range_total_count _item_description.description ; The total number of long range [i-j]>5 NOE constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.NOE_long_range_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '1356' _item_aliases.alias_name '_rcsb_nmr_constraints.NOE_long_range_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.protein_phi_angle_constraints_total_count _item_description.description ; The total number of phi angle constraints used in the final structure calculation ; _item.name '_pdbx_nmr_constraints.protein_phi_angle_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '96' _item_aliases.alias_name '_rcsb_nmr_constraints.protein_phi_angle_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.protein_psi_angle_constraints_total_count _item_description.description ; The total number of psi angle constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.protein_psi_angle_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '0' _item_aliases.alias_name '_rcsb_nmr_constraints.protein_psi_angle_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.protein_chi_angle_constraints_total_count _item_description.description ; The total number of chi angle constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.protein_chi_angle_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '66' _item_aliases.alias_name '_rcsb_nmr_constraints.protein_chi_angle_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.protein_other_angle_constraints_total_count _item_description.description ; The total number of other angle constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.protein_other_angle_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '0' _item_aliases.alias_name '_rcsb_nmr_constraints.protein_other_angle_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NOE_interproton_distance_evaluation _item_description.description ; Describe the method used to quantify the NOE and ROE values. ; _item.name '_pdbx_nmr_constraints.NOE_interproton_distance_evaluation' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; NOE buildup curves with 50, 75, 150 ms mixing times were analyzed. ; ; Noesy cross peak intensities were classified into three different catagories with distances of 1.8-2.7 A, 1.8-3.5 A, 1.8- 5.0 A for strong, medium and weak NOEs. ; _item_aliases.alias_name '_rcsb_nmr_constraints.NOE_interproton_distance_evaluation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NOE_pseudoatom_corrections _item_description.description ; Describe any corrections made for pseudoatoms ; _item.name '_pdbx_nmr_constraints.NOE_pseudoatom_corrections' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; Pseudo-atoms nomenclature and corrections according to Wuethrich, Billeter, and Braun, J. Mol.Biol.(1983) 169, 949-961. ; ; Pseudoatoms were not used. ; _item_aliases.alias_name '_rcsb_nmr_constraints.NOE_pseudoatom_corrections' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NOE_motional_averaging_correction _item_description.description ;Describe any corrections that were made to the NOE data for motional averaging. ; _item.name '_pdbx_nmr_constraints.NOE_motional_averaging_correction' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Replace with item example text' _item_aliases.alias_name '_rcsb_nmr_constraints.NOE_motional_averaging_correction' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## save__pdbx_nmr_constraints.hydrogen_bond_constraints_total_count _item_description.description ; The total number of hydrogen bond constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.hydrogen_bond_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '6' _item_aliases.alias_name '_rcsb_nmr_constraints.hydrogen_bond_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.disulfide_bond_constraints_total_count _item_description.description ; The total number of disulfide bond constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.disulfide_bond_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '3' _item_aliases.alias_name '_rcsb_nmr_constraints.disulfide_bond_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NA_alpha-angle_constraints_total_count _item_description.description ; The total number of nucleic acid alpha-angle constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.NA_alpha-angle_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '18' _item_aliases.alias_name '_rcsb_nmr_constraints.NA_alpha-angle_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NA_beta-angle_constraints_total_count _item_description.description ; The total number of nucleic acid beta-angle constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.NA_beta-angle_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '24' _item_aliases.alias_name '_rcsb_nmr_constraints.NA_beta-angle_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NA_gamma-angle_constraints_total_count _item_description.description ; The total number of nucleic acid gamma-angle constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.NA_gamma-angle_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '12' _item_aliases.alias_name '_rcsb_nmr_constraints.NA_gamma-angle_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NA_delta-angle_constraints_total_count _item_description.description ; The total number of nucleic acid delta-angle constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.NA_delta-angle_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '15' _item_aliases.alias_name '_rcsb_nmr_constraints.NA_delta-angle_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NA_epsilon-angle_constraints_total_count _item_description.description ; The total number of nucleic acid epsilon-angle constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.NA_epsilon-angle_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '31' _item_aliases.alias_name '_rcsb_nmr_constraints.NA_epsilon-angle_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NA_chi-angle_constraints_total_count _item_description.description ; The total number of nucleic acid chi-angle constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.NA_chi-angle_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '15' _item_aliases.alias_name '_rcsb_nmr_constraints.NA_chi-angle_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NA_other-angle_constraints_total_count _item_description.description ; The total number of nucleic acid other-angle constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.NA_other-angle_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '5' _item_aliases.alias_name '_rcsb_nmr_constraints.NA_other-angle_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_constraints.NA_sugar_pucker_constraints_total_count _item_description.description ; The total number of nucleic acid sugar pucker constraints used in the final structure calculation. ; _item.name '_pdbx_nmr_constraints.NA_sugar_pucker_constraints_total_count' _item.category_id pdbx_nmr_constraints _item.mandatory_code no _item_type.code int loop_ _item_examples.case '10' _item_aliases.alias_name '_rcsb_nmr_constraints.NA_sugar_pucker_constraints_total_count' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ### ### ########################################################################## ### save_pdbx_nmr_ensemble _category.description ; This category contains the information that describes the ensemble of deposited structures. If only an average structure has been deposited skip this section. ; _category.id pdbx_nmr_ensemble _category.mandatory_code no _category_key.name '_pdbx_nmr_ensemble.entry_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;This example uses the data from the MCP-1 study. ; # ; loop_ _pdbx_nmr_ensemble.entry_id _pdbx_nmr_ensemble.conformers_calculated_total_number _pdbx_nmr_ensemble.conformers_submitted_total_number _pdbx_nmr_ensemble.conformer_selection_criteria _pdbx_nmr_ensemble.representative_conformer 1ABC 40 20 'structures with the least restraint violations' 1 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_nmr_ensemble.entry_id _item_description.description ; Leave this blank as the ID is provided by the MSD ; _item.name '_pdbx_nmr_ensemble.entry_id' _item.category_id pdbx_nmr_ensemble _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_nmr_ensemble.entry_id' _item_linked.parent_name '_entry.id' _item_aliases.alias_name '_rcsb_nmr_ensemble.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.conformers_calculated_total_number _item_description.description ; The total number of conformer (models) that were calculated in the final round. ; _item.name '_pdbx_nmr_ensemble.conformers_calculated_total_number' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_ensemble.conformers_calculated_total_number" _pdbx_item.mandatory_code yes _item_type.code int _item_range.minimum 0 _item_range.maximum . loop_ _item_examples.case '40' _item_aliases.alias_name '_rcsb_nmr_ensemble.conformers_calculated_total_number' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.conformers_submitted_total_number _item_description.description ; The number of conformer (models) that are submitted for the ensemble. ; _item.name '_pdbx_nmr_ensemble.conformers_submitted_total_number' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_ensemble.conformers_submitted_total_number" _pdbx_item.mandatory_code yes _item_type.code int _item_range.minimum 0 _item_range.maximum . loop_ _item_examples.case '20' _item_aliases.alias_name '_rcsb_nmr_ensemble.conformers_submitted_total_number' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.conformer_selection_criteria _item_description.description ; By highlighting the appropriate choice(s), describe how the submitted conformer (models) were selected. ; _item.name '_pdbx_nmr_ensemble.conformer_selection_criteria' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _item_type.code text _pdbx_item.name "_pdbx_nmr_ensemble.conformer_selection_criteria" _pdbx_item.mandatory_code yes _pdbx_item_description.name "_pdbx_nmr_ensemble.conformer_selection_criteria" _pdbx_item_description.description "Select the appropriate phrase to describe how the submitted conformer (models) were selected." loop_ _item_examples.case 'structures with the lowest energy' 'structures with the least restraint violations' 'structures with acceptable covalent geometry' 'structures with favorable non-bond energy' 'target function' 'back calculated data agree with experimental NOESY spectrum' 'all calculated structures submitted' ; The submitted conformer models are the 25 structures with the lowest energy. ; ; The submitted conformer models are those with the fewest number of constraint violations. ; # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_ensemble.conformer_selection_criteria" "all calculated structures submitted" . "_pdbx_nmr_ensemble.conformer_selection_criteria" "back calculated data agree with experimental NOESY spectrum" . "_pdbx_nmr_ensemble.conformer_selection_criteria" "structures with the lowest energy" . "_pdbx_nmr_ensemble.conformer_selection_criteria" "structures with the least restraint violations" . "_pdbx_nmr_ensemble.conformer_selection_criteria" "structures with acceptable covalent geometry" . "_pdbx_nmr_ensemble.conformer_selection_criteria" "structures with favorable non-bond energy" . "_pdbx_nmr_ensemble.conformer_selection_criteria" "target function" . # _pdbx_item_enumeration_details.name "_pdbx_nmr_ensemble.conformer_selection_criteria" _pdbx_item_enumeration_details.closed_flag no _item_aliases.alias_name '_rcsb_nmr_ensemble.conformer_selection_criteria' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.representative_conformer _item_description.description ; The number of the conformer identified as most representative. ; _item.name '_pdbx_nmr_ensemble.representative_conformer' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_ensemble.representative_conformer" _pdbx_item.mandatory_code yes _item_type.code int _item_range.minimum 0 _item_range.maximum . loop_ _item_examples.case '20' _item_aliases.alias_name '_rcsb_nmr_ensemble.representative_conformer' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.average_constraints_per_residue _item_description.description ; The average number of constraints per residue for the ensemble ; _item.name '_pdbx_nmr_ensemble.average_constraints_per_residue' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _item_type.code int loop_ _item_examples.case '30.2' _item_aliases.alias_name '_rcsb_nmr_ensemble.average_constraints_per_residue' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.average_constraint_violations_per_residue _item_description.description ; The average number of constraint violations on a per residue basis for the ensemble. ; _item.name '_pdbx_nmr_ensemble.average_constraint_violations_per_residue' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _item_type.code int loop_ _item_examples.case '0.25' _item_aliases.alias_name '_rcsb_nmr_ensemble.average_constraint_violations_per_residue' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.maximum_distance_constraint_violation _item_description.description ; The maximum distance constraint violation for the ensemble. ; _item.name '_pdbx_nmr_ensemble.maximum_distance_constraint_violation' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_examples.case '0.4' _item_aliases.alias_name '_rcsb_nmr_ensemble.maximum_distance_constraint_violation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.average_distance_constraint_violation _item_description.description ; The average distance restraint violation for the ensemble. ; _item.name '_pdbx_nmr_ensemble.average_distance_constraint_violation' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_examples.case '0.11' _item_aliases.alias_name '_rcsb_nmr_ensemble.average_distance_constraint_violation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.maximum_upper_distance_constraint_violation _item_description.description ; The maximum upper distance constraint violation for the ensemble. ; _item.name '_pdbx_nmr_ensemble.maximum_upper_distance_constraint_violation' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_examples.case '0.4' _item_aliases.alias_name '_rcsb_nmr_ensemble.maximum_upper_distance_constraint_violation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.maximum_lower_distance_constraint_violation _item_description.description ; The maximum lower distance constraint violation for the ensemble. ; _item.name '_pdbx_nmr_ensemble.maximum_lower_distance_constraint_violation' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_examples.case '0.3' _item_aliases.alias_name '_rcsb_nmr_ensemble.maximum_lower_distance_constraint_violation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.distance_constraint_violation_method _item_description.description ; Describe the method used to calculate the distance constraint violation statistics, i.e. are they calculated over all the distance constraints or calculated for violations only? ; _item.name '_pdbx_nmr_ensemble.distance_constraint_violation_method' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Statistics were calculated over all of the distance constraints.' 'Statistics were calculated for violations only' _item_aliases.alias_name '_rcsb_nmr_ensemble.distance_constraint_violation_method' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.maximum_torsion_angle_constraint_violation _item_description.description ; The maximum torsion angle constraint violation for the ensemble. ; _item.name '_pdbx_nmr_ensemble.maximum_torsion_angle_constraint_violation' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _item_type.code float _item_units.code degrees loop_ _item_examples.case '4' _item_aliases.alias_name '_rcsb_nmr_ensemble.maximum_torsion_angle_constraint_violation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.average_torsion_angle_constraint_violation _item_description.description ; The average torsion angle constraint violation for the ensemble. ; _item.name '_pdbx_nmr_ensemble.average_torsion_angle_constraint_violation' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _item_type.code float _item_units.code degrees loop_ _item_examples.case '2.4' _item_aliases.alias_name '_rcsb_nmr_ensemble.average_torsion_angle_constraint_violation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble.torsion_angle_constraint_violation_method _item_description.description ; This item describes the method used to calculate the torsion angle constraint violation statistics. i.e. are the entered values based on all torsion angle or calculated for violations only? ; _item.name '_pdbx_nmr_ensemble.torsion_angle_constraint_violation_method' _item.category_id pdbx_nmr_ensemble _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Statistics were calculated over all the torsion angle constraints.' 'Statistics were calculated for torsion angle constraints violations only.' _item_aliases.alias_name '_rcsb_nmr_ensemble.torsion_angle_constraint_violation_method' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### ########################################################################## ### save_pdbx_nmr_ensemble_rms _category.description ; Structural statistics are derived from molecular dynamics and simulated annealing programs. ; _category.id pdbx_nmr_ensemble_rms _category.mandatory_code no _category_key.name '_pdbx_nmr_ensemble_rms.entry_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; This example is derived from the MCP-1 structure calculation statistics. For this structure the statistics were calculated over residues 5-69 for both the monomer and dimer . ; # ; loop_ _pdbx_nmr_ensemble_rms.entry_id _pdbx_nmr_ensemble_rms.residue_range_begin _pdbx_nmr_ensemble_rms.chain_range_begin _pdbx_nmr_ensemble_rms.residue_range_end _pdbx_nmr_ensemble_rms.chain_range_end _pdbx_nmr_ensemble_rms.atom_type _pdbx_nmr_ensemble_rms.distance_rms_dev _pdbx_nmr_ensemble_rms.distance_rms_dev_error 1ABC 5 A 69 A 'all heavy atoms' 0.22 0.06 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_nmr_ensemble_rms.entry_id _item_description.description ; '?' ; _item.name '_pdbx_nmr_ensemble_rms.entry_id' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_nmr_ensemble_rms.entry_id' _item_linked.parent_name '_entry.id' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.residue_range_begin _item_description.description ; Structure statistics are often calculated only over the well-ordered region(s) of the biopolymer. Portions of the macromolecule are often mobile and disordered, hence they are excluded in calculating the statistics. To define the range(s) over which the statistics are calculated, enter the beginning residue number(s): e.g. if the regions used were 5-32 and 41-69, enter 5,41 ; _item.name '_pdbx_nmr_ensemble_rms.residue_range_begin' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code int loop_ _item_examples.case 5 41 _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.residue_range_begin' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.chain_range_begin _item_description.description ; The beginning chain id. ; _item.name '_pdbx_nmr_ensemble_rms.chain_range_begin' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code code _item_examples.case A _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.chain_range_begin' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.residue_range_end _item_description.description ; The ending residue number: e.g. 32,69. ; _item.name '_pdbx_nmr_ensemble_rms.residue_range_end' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code int loop_ _item_examples.case 32 69 _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.residue_range_end' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.chain_range_end _item_description.description ; The ending chain id: ; _item.name '_pdbx_nmr_ensemble_rms.chain_range_end' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code code _item_examples.case A _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.chain_range_end' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.atom_type _item_description.description ; Statistics are often calculated over only some of the atoms, e.g. backbone, or heavy atoms. Describe which type of atoms are used for the statistical analysis. ; _item.name '_pdbx_nmr_ensemble_rms.atom_type' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'backbone atoms' 'heavy atoms' loop_ _item_enumeration.value 'backbone heavy atoms' 'side chain heavy atoms' 'all heavy atoms' 'all atoms' 'all backbone atoms' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.atom_type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.distance_rms_dev _item_description.description ; The distance rmsd to the mean structure for the ensemble of structures. ; _item.name '_pdbx_nmr_ensemble_rms.distance_rms_dev' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_examples.case '0.22' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.distance_rms_dev' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.distance_rms_dev_error _item_description.description ; The error in the distance rmsd. ; _item.name '_pdbx_nmr_ensemble_rms.distance_rms_dev_error' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_examples.case '0.07' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.distance_rms_dev_error' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.covalent_bond_rms_dev _item_description.description ; The covalent bond rmsd to the target value for the ensemble. ; _item.name '_pdbx_nmr_ensemble_rms.covalent_bond_rms_dev' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_examples.case '0.0066' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.covalent_bond_rms_dev' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.covalent_bond_rms_dev_error _item_description.description ; The error in the covalent bond rmsd. ; _item.name '_pdbx_nmr_ensemble_rms.covalent_bond_rms_dev_error' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_examples.case '0.0001' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.covalent_bond_rms_dev_error' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.bond_angle_rms_dev _item_description.description ; The bond angle rmsd to the target values for the ensemble. ; _item.name '_pdbx_nmr_ensemble_rms.bond_angle_rms_dev' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code float _item_units.code degrees loop_ _item_examples.case '0.60' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.bond_angle_rms_dev' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.bond_angle_rms_dev_error _item_description.description ; The error in the bond angle rmsd. ; _item.name '_pdbx_nmr_ensemble_rms.bond_angle_rms_dev_error' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code float _item_units.code degrees loop_ _item_examples.case '0.01' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.bond_angle_rms_dev_error' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.improper_torsion_angle_rms_dev _item_description.description ; The improper torsion angle rmsd to the target values for the ensemble. ; _item.name '_pdbx_nmr_ensemble_rms.improper_torsion_angle_rms_dev' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code float _item_units.code degrees loop_ _item_examples.case '0.64' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.improper_torsion_angle_rms_dev' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.improper_torsion_angle_rms_dev_error _item_description.description ; The error in the improper torsion angle rmsd. ; _item.name '_pdbx_nmr_ensemble_rms.improper_torsion_angle_rms_dev_error' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code float _item_units.code degrees loop_ _item_examples.case '0.04' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.improper_torsion_angle_rms_dev_error' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.peptide_planarity_rms_dev _item_description.description ; The peptide planarity rmsd. ; _item.name '_pdbx_nmr_ensemble_rms.peptide_planarity_rms_dev' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_examples.case '0.11' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.peptide_planarity_rms_dev' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.peptide_planarity_rms_dev_error _item_description.description ; The error in the peptide planarity rmsd. ; _item.name '_pdbx_nmr_ensemble_rms.peptide_planarity_rms_dev_error' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_examples.case '0.05' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.peptide_planarity_rms_dev_error' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.dihedral_angles_rms_dev _item_description.description ; The dihedral angle rmsd to the target values for the ensemble. ; _item.name '_pdbx_nmr_ensemble_rms.dihedral_angles_rms_dev' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code float _item_units.code degrees loop_ _item_examples.case '0.66' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.dihedral_angles_rms_dev' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.dihedral_angles_rms_dev_error _item_description.description ; The error of the rmsd dihedral angles. ; _item.name '_pdbx_nmr_ensemble_rms.dihedral_angles_rms_dev_error' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code float _item_units.code degrees loop_ _item_examples.case '0.07' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.dihedral_angles_rms_dev_error' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_ensemble_rms.coord_average_rmsd_method _item_description.description ; Describe the method for calculating the coordinate average rmsd. ; _item.name '_pdbx_nmr_ensemble_rms.coord_average_rmsd_method' _item.category_id pdbx_nmr_ensemble_rms _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Replace with item example text' _item_aliases.alias_name '_rcsb_nmr_ensemble_rms.coord_average_rmsd_method' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### ########################################################################## ### save_pdbx_nmr_representative _category.description ; An average structure is often calculated in addition to the ensemble, or one of the ensemble is selected as a representative structure. This section describes selection of the representative structure. ; _category.id pdbx_nmr_representative _category.mandatory_code no _category_key.name '_pdbx_nmr_representative.entry_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; This example is drawn from the MCP-1 structure. ; # ; _pdbx_nmr_representative.entry_id 1ABC _pdbx_nmr_representative.conformer_id 15 _pdbx_nmr_representative.selection_criteria 'lowest energy' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_nmr_representative.entry_id _item_description.description ; msd will assign the ID. ; _item.name '_pdbx_nmr_representative.entry_id' _item.category_id pdbx_nmr_representative _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_nmr_representative.entry_id' _item_linked.parent_name '_entry.id' _item_aliases.alias_name '_rcsb_nmr_representative.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_representative.conformer_id _item_description.description ; If a member of the ensemble has been selected as a representative structure, identify it by its model number. ; _item.name '_pdbx_nmr_representative.conformer_id' _item.category_id pdbx_nmr_representative _item.mandatory_code no _item_type.code line _pdbx_item.name '_pdbx_nmr_representative.conformer_id' _pdbx_item.mandatory_code yes _pdbx_item_description.name '_pdbx_nmr_representative.conformer_id' _pdbx_item_description.description 'Please give the model number of the conformer selected as a representative structure' # Legacy entries allowed for text _pdbx_item_type.name '_pdbx_nmr_representative.conformer_id' _pdbx_item_type.code int _pdbx_item_range.name '_pdbx_nmr_representative.conformer_id' _pdbx_item_range.minimum 0 _pdbx_item_range.maximum . loop_ _item_examples.case '15' _item_aliases.alias_name '_rcsb_nmr_representative.conformer_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_representative.selection_criteria _item_description.description ; By highlighting the appropriate choice(s), describe the criteria used to select this structure as a representative structure, or if an average structure has been calculated describe how this was done. ; _item.name '_pdbx_nmr_representative.selection_criteria' _item.category_id pdbx_nmr_representative _item.mandatory_code no _pdbx_item.name '_pdbx_nmr_representative.selection_criteria' _pdbx_item.mandatory_code yes _item_type.code line _pdbx_item_description.name '_pdbx_nmr_representative.selection_criteria' _pdbx_item_description.description 'Select the appropriate phrase to describe the criteria used to select this as the representative structure. Or, if an average structure has been calculated, describe the method used to do this.' # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_pdbx_nmr_representative.selection_criteria' medoid 'most similar to other models' '_pdbx_nmr_representative.selection_criteria' 'closest to the average' . '_pdbx_nmr_representative.selection_criteria' 'lowest energy' . '_pdbx_nmr_representative.selection_criteria' 'target function' . '_pdbx_nmr_representative.selection_criteria' 'fewest violations' . '_pdbx_nmr_representative.selection_criteria' 'minimized average structure' . # _pdbx_item_enumeration_details.name '_pdbx_nmr_representative.selection_criteria' _pdbx_item_enumeration_details.closed_flag no # loop_ # _item_enumeration.value # 'closest to the average' # 'lowest energy' # 'fewest violations' # 'minimized average structure' _item_examples.case ; The structure closest to the average. The structure with the lowest energy was selected. The structure with the fewest number of violations was selected. A minimized average structure was calculated. ; _item_aliases.alias_name '_rcsb_nmr_representative.selection_criteria' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save_pdbx_nmr_refine _category.description ; Describe the method and details of the refinement of the deposited structure. ; _category.id pdbx_nmr_refine _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_refine.entry_id' '_pdbx_nmr_refine.software_ordinal' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; This example is drawn from the MCP-1 structure. ; ; loop_ _pdbx_nmr_refine.entry_id _pdbx_nmr_refine.method _pdbx_nmr_refine.software_ordinal 1ABC 'torsion angle dynamics' 1 ; save_ save__pdbx_nmr_refine.entry_id _item_description.description ; You can leave this blank as an ID will be assigned by the RCSB to the constraint file. ; _item.name '_pdbx_nmr_refine.entry_id' _item.category_id pdbx_nmr_refine _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_nmr_refine.entry_id' _item_linked.parent_name '_entry.id' _item_aliases.alias_name '_rcsb_nmr_refine.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_refine.method _item_description.description ; The method used to determine the structure. ; _item.name '_pdbx_nmr_refine.method' _item.category_id pdbx_nmr_refine _item.mandatory_code no _item_type.code text _item_examples.case ; distance geometry simulated annealing molecular dynamics matrix relaxation torsion angle dynamics ; _pdbx_item.name "_pdbx_nmr_refine.method" _pdbx_item.mandatory_code yes # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_refine.method" "distance geometry" . "_pdbx_nmr_refine.method" "DGSA-distance geometry simulated annealing" . "_pdbx_nmr_refine.method" "simulated annealing" . "_pdbx_nmr_refine.method" "molecular dynamics" . "_pdbx_nmr_refine.method" "matrix relaxation" . "_pdbx_nmr_refine.method" "torsion angle dynamics" . "_pdbx_nmr_refine.method" na . # _pdbx_item_enumeration_details.name "_pdbx_nmr_refine.method" _pdbx_item_enumeration_details.closed_flag no # _pdbx_item_examples.name "_pdbx_nmr_refine.method" _pdbx_item_examples.case "simulated annealing" _pdbx_item_examples.detail . # _item_aliases.alias_name '_rcsb_nmr_refine.method' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_refine.details _item_description.description ; Additional details about the NMR refinement. ; _item.name '_pdbx_nmr_refine.details' _item.category_id pdbx_nmr_refine _item.mandatory_code no _item_type.code text _item_examples.case ; Additional comments about the NMR refinement can be placed here, e.g. the structures are based on a total of 3344 restraints, 3167 are NOE-derived distance constraints, 68 dihedral angle restraints,109 distance restraints from hydrogen bonds. ; _item_aliases.alias_name '_rcsb_nmr_refine.details' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ## save_pdbx_nmr_force_constants _category.description ; The final force constants, including units, employed for the various experimental constraints, covalent geometry constraints, and the non-bonded interaction terms in the target function used for simulated annealing. ; _category.id pdbx_nmr_force_constants _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_force_constants.entry_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - ; This example is taken from a study of BAF, a dimeric DNA binding protein. The final force constants in the target function used for simulated annealing are: Experimental Constraint terms: Distance (NOE,H-bonds), Torsion angles, J coupling, 13C shifts, 1H shifts, Dipolar coupling, D isotope shifts Covalent Geometry Constraint terms: Bond lengths, Angles, Impropers Non-bonded Interaction terms: van der Waals, Type of van der Waals term, Conformational database potential, Radius of gyration. ; # ; _pdbx_nmr_force_constants.entry_id 1ABC _pdbx_nmr_force_constants.exptl_distance_term 30. _pdbx_nmr_force_constants.exptl_distance_term_units 'kcal/mol/A**2' _pdbx_nmr_force_constants.exptl_torsion_angles_term 200. _pdbx_nmr_force_constants.exptl_torsion_angles_term_units 'kcal/mol/rad**2' _pdbx_nmr_force_constants.exptl_J_coupling_term 1. _pdbx_nmr_force_constants.exptl_J_coupling_term_units 'kcal/mol/Hz**2' _pdbx_nmr_force_constants.exptl_13C_shift_term 0.5 _pdbx_nmr_force_constants.exptl_13C_shift_term_units 'kcal/mol/ppm**2' _pdbx_nmr_force_constants.exptl_1H_shift_term 7.5 _pdbx_nmr_force_constants.exptl_1H_shift_term_units 'kcal/mol/ppm**2' _pdbx_nmr_force_constants.covalent_geom_bond_term 1000. _pdbx_nmr_force_constants.covalent_geom_bond_term_units 'kcal/mol/A**2' _pdbx_nmr_force_constants.non-bonded_inter_van_der_Waals_term_type 4. _pdbx_nmr_force_constants.non-bonded_inter_van_der_Waals_term_units 'kcal/mol/A**4' ; save_ save__pdbx_nmr_force_constants.entry_id _item_description.description ; You can leave this blank as an ID will be assigned by the RCSB. ; _item.name '_pdbx_nmr_force_constants.entry_id' _item.category_id pdbx_nmr_force_constants _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_nmr_force_constants.entry_id' _item_linked.parent_name '_entry.id' _item_aliases.alias_name '_rcsb_nmr_force_constants.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.exptl_distance_term _item_description.description ; The final force constant for distance (NOEs) constraints term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.exptl_distance_term' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code float loop_ _item_examples.case '30' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_distance_term' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## save__pdbx_nmr_force_constants.exptl_distance_term_units _item_description.description ; The units for the force constant for the distance constraints term. ; _item.name '_pdbx_nmr_force_constants.exptl_distance_term_units' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'kcal/mol/ A**2' loop_ _item_enumeration.value _item_enumeration.detail 'kcal/mol/A**2' 'kilocalories per mole per square angstrom' 'kJ/mol/nm**2' 'kilojoules per mole per square nanometer' 'other' 'author added units' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_distance_term_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.exptl_torsion_angles_term _item_description.description ; The final force constant for the torsion angle term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.exptl_torsion_angles_term' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code float loop_ _item_examples.case '200' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_torsion_angles_term' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.exptl_torsion_angles_term_units _item_description.description ; The units for the force constant for the torsion angle constraints term. ; _item.name '_pdbx_nmr_force_constants.exptl_torsion_angles_term_units' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'kcal/mol/rad**2' loop_ _item_enumeration.value _item_enumeration.detail 'kcal/mol/rad**2' 'kilocalories per mole per square radian' 'kJ/mol/rad**2' 'kilojoules per mole per square radian' 'author' 'author added units' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_torsion_angles_term_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## save__pdbx_nmr_force_constants.exptl_J_coupling_term _item_description.description ; The final force constant for J coupling term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.exptl_J_coupling_term' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code float loop_ _item_examples.case '1' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_J_coupling_term' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.exptl_J_coupling_term_units _item_description.description ; The units for the force constant for the J coupling term. ; _item.name '_pdbx_nmr_force_constants.exptl_J_coupling_term_units' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'kcal/mol/Hz**2' loop_ _item_enumeration.value _item_enumeration.detail 'kcal/mol/Hz**2' 'kilocalories per mole per square angstrom' 'kJ/mol/Hz**2' 'kilojoules per mole per square nanometer' 'other' 'author added units' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_J_coupling_term_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.exptl_13C_shift_term _item_description.description ; The final force constant for 13C shift constraints term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.exptl_13C_shift_term' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code float loop_ _item_examples.case '0.5' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_13C_shift_term' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.exptl_13C_shift_term_units _item_description.description ; The units for the force constant for the 13C shift constraints term. ; _item.name '_pdbx_nmr_force_constants.exptl_13C_shift_term_units' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'kcal/mol/ppm**2' loop_ _item_enumeration.value _item_enumeration.detail 'kcal/mol/ppm**2' 'kilocalories per mole per part per million squared' 'kJ/mol/ppm**2' 'kilojoules per mole per part per million squared' 'other' 'author added units' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_13C_shift_term_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## save__pdbx_nmr_force_constants.exptl_1H_shift_term _item_description.description ; The final force constant for 1H shift constraints term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.exptl_1H_shift_term' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code float loop_ _item_examples.case '7.5' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_1H_shift_term' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.exptl_1H_shift_term_units _item_description.description ; The units for the force constant for the 1H shift constraints term. ; _item.name '_pdbx_nmr_force_constants.exptl_1H_shift_term_units' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'kcal/mol/ppm**2' loop_ _item_enumeration.value _item_enumeration.detail 'kcal/mol/ppm**2' 'kilocalories per mole per part per million squared' 'kJ/mol/ppm**2' 'kilojoules per mole per part per million squared' 'other' 'author added units' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_1H_shift_term_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.exptl_dipolar_coupling_term _item_description.description ; The final force constant for dipolar coupling constraint term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.exptl_dipolar_coupling_term' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code float loop_ _item_examples.case '1' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_dipolar_coupling_term' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.exptl_dipolar_coupling_term_units _item_description.description ; The units for the force constant for the dipolar coupling constraints term. ; _item.name '_pdbx_nmr_force_constants.exptl_dipolar_coupling_term_units' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'kcal/mol/Hz**2' loop_ _item_enumeration.value _item_enumeration.detail 'kcal/mol/Hz**2' 'kilocalories per mole per Hertz squared' 'kJ/mol/Hz**2' 'kilojoules per mole per Hertz squared' 'other' 'author added units' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_dipolar_coupling_term_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.exptl_D_isotope_shift_term _item_description.description ; The final force constant for Deuterium isotope shift constraints term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.exptl_D_isotope_shift_term' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code float loop_ _item_examples.case '0.5' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_D_isotope_shift_term' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### ### NEXT save__pdbx_nmr_force_constants.exptl_D_isotope_shift_term_units _item_description.description ; The units for the force constant for the Deuterium isotope shift constraints term. ; _item.name '_pdbx_nmr_force_constants.exptl_D_isotope_shift_term_units' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'kcal/mol/ppb**2' loop_ _item_enumeration.value _item_enumeration.detail 'kcal/mol/ppb**2' 'kilocalories per mole per part per billion squared' 'kJ/mol/ppb**2' 'kilojoules per mole per part per billion squared' 'other' 'author added units' _item_aliases.alias_name '_rcsb_nmr_force_constants.exptl_D_isotope_shift_term_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.covalent_geom_bond_term _item_description.description ; The final force constant for the covalent geometry bond length constraints term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.covalent_geom_bond_term' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code float loop_ _item_examples.case '1000' _item_aliases.alias_name '_rcsb_nmr_force_constants.covalent_geom_bond_term' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.covalent_geom_bond_term_units _item_description.description ; The units for the force constant for the covalent geometry bond length constraints term. ; _item.name '_pdbx_nmr_force_constants.covalent_geom_bond_term_units' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'kcal/mol/A**2' loop_ _item_enumeration.value _item_enumeration.detail 'kcal/mol/A**2' 'kilocalories per mole per square angstrom' 'kJ/mol/nm**2' 'kilojoules per mole per square nanometer' 'other' 'author added units' _item_aliases.alias_name '_rcsb_nmr_force_constants.covalent_geom_bond_term_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.covalent_geom_angles_term _item_description.description ; The final force constant for covalent geometry angle constraints term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.covalent_geom_angles_term' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code float loop_ _item_examples.case '500' _item_aliases.alias_name '_rcsb_nmr_force_constants.covalent_geom_angles_term' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.covalent_geom_angles_term_units _item_description.description ; The units for the force constant for the covalent geometry angle constraints term. ; _item.name '_pdbx_nmr_force_constants.covalent_geom_angles_term_units' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'kcal/mol/rad**2' loop_ _item_enumeration.value _item_enumeration.detail 'kcal/mol/rad**2' 'kilocalories per mole per radian squared' 'kJ/mol/rad**2' 'kilojoules per mole per radian squared' 'other' 'author added units' _item_aliases.alias_name '_rcsb_nmr_force_constants.covalent_geom_angles_term_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.covalent_geom_impropers_term _item_description.description ; The final force constant for covalent geometry impropers contstraints term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.covalent_geom_impropers_term' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code float loop_ _item_examples.case '500' _item_aliases.alias_name '_rcsb_nmr_force_constants.covalent_geom_impropers_term' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.covalent_geom_impropers_term_units _item_description.description ; The units for the force constant for the covalent geometry impropers constraints term. ; _item.name '_pdbx_nmr_force_constants.covalent_geom_impropers_term_units' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'kcal/mol/rad**2' loop_ _item_enumeration.value _item_enumeration.detail 'kcal/mol/rad**2' 'kilocalories per mole per radian squared' 'kJ/mol/rad**2' 'kilojoules per mole per radian squared' 'other' 'author added units' _item_aliases.alias_name '_rcsb_nmr_force_constants.covalent_geom_impropers_term_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.non-bonded_inter_van_der_Waals_term_type _item_description.description ; The type of van der Waals term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.non-bonded_inter_van_der_Waals_term_type' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'quartic' loop_ _item_enumeration.value 'quartic' 'other' _item_aliases.alias_name '_rcsb_nmr_force_constants.non-bonded_inter_van_der_Waals_term_type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.non-bonded_inter_van_der_Waals_term _item_description.description ; The force constant used for the non-bonded interaction van der Waals term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.non-bonded_inter_van_der_Waals_term' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code float loop_ _item_examples.case '4' _item_aliases.alias_name '_rcsb_nmr_force_constants.non-bonded_inter_van_der_Waals_term' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.non-bonded_inter_van_der_Waals_term_units _item_description.description ; The units for the force constant for the van der Waals term. ; _item.name '_pdbx_nmr_force_constants.non-bonded_inter_van_der_Waals_term_units' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'kcal/mol/ A**4' loop_ _item_enumeration.value _item_enumeration.detail 'kcal/mol/A**4' 'kilocalories per mole per Angstrom to the 4th power' 'kJ/mol/nm**4' 'kilojoules per mole per nanometer to the 4th power' 'other' 'author added units' _item_aliases.alias_name '_rcsb_nmr_force_constants.non-bonded_inter_van_der_Waals_term_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.non-bonded_inter_conf_db_potential_term _item_description.description ; The force constant used for the non-bonded interaction conformational database potential term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.non-bonded_inter_conf_db_potential_term' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code float loop_ _item_examples.case '1.0' _item_aliases.alias_name '_rcsb_nmr_force_constants.non-bonded_inter_conf_db_potential_term' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.non-bonded_inter_radius_of_gyration_term _item_description.description ; The force constant used for the non-bonded interaction radius of gyration term employed in the target function used for simulated annealing. ; _item.name '_pdbx_nmr_force_constants.non-bonded_inter_radius_of_gyration_term' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code float loop_ _item_examples.case '100' _item_aliases.alias_name '_rcsb_nmr_force_constants.non-bonded_inter_radius_of_gyration_term' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_nmr_force_constants.non-bonded_inter_radius_of_gyration_term_units _item_description.description ; The units for the force constant for the radius of gyration term. ; _item.name '_pdbx_nmr_force_constants.non-bonded_inter_radius_of_gyration_term_units' _item.category_id pdbx_nmr_force_constants _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'kcal/mol/ A**2' loop_ _item_enumeration.value _item_enumeration.detail 'kcal/mol/ A**2' 'kilocalories per mole per square Angstrom' 'kJ/mol/ nm**4' 'kilojoules per mole per square nanometer' 'other' 'author added units' _item_aliases.alias_name '_rcsb_nmr_force_constants.non-bonded_inter_radius_of_gyration_term_units' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ### EOF mmcif_pdbx-def-2.dic ########################################################################### # # File: mmcif_pdbx-def-4.dic # # PDB Exchange Data Dictionary # # This data dictionary contains definitions used by wwPDB for data exchange # and data processing. # # Definition Section 4 # # ########################################################################### ## ## NDB Specific definitions ## ########################## ## NDB_STRUCT_CONF_NA ## ########################## save_ndb_struct_conf_na _category.description ; Data items in the NDB_STRUCT_CONF_NA category describes secondary structure features in this entry. ; _category.id ndb_struct_conf_na _category.mandatory_code no loop_ _category_key.name '_ndb_struct_conf_na.entry_id' '_ndb_struct_conf_na.feature' loop_ _category_group.id 'inclusive_group' 'struct_group' 'ndb_group' _ndb_category_examples.case ; loop_ _ndb_struct_conf_na.entry_id _ndb_struct_conf_na.feature _ndb_struct_conf_na.feature_count rcsb000001 'double helix' 1 rcsb000001 'b-form double helix' 1 rcsb000001 'quadruple helix' 1 ; save_ save__ndb_struct_conf_na.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_ndb_struct_conf_na.entry_id' _item.category_id ndb_struct_conf_na _item.mandatory_code yes _item_linked.child_name '_ndb_struct_conf_na.entry_id' _item_linked.parent_name '_entry.id' save_ save__ndb_struct_conf_na.feature _item_description.description ; This data item identifies a secondary structure feature of this entry. ; _item.name '_ndb_struct_conf_na.feature' _item.category_id ndb_struct_conf_na _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'double helix' . 'a-form double helix' . 'b-form double helix' . 'z-form double helix' . 'other right-handed double helix' . 'triple helix' . 'quadruple helix' . 'parallel strands' . 'internal loop' . 'bulge loop' . 'tetraloop' . 'hairpin loop' . 'two-way junction' . 'three-way junction' . 'four-way junction' . 'mismatched base pair' . save_ save__ndb_struct_conf_na.feature_count _item_description.description ; This data item counts the number of occurences of this feature in this entry. ; _item.name '_ndb_struct_conf_na.feature_count' _item.category_id ndb_struct_conf_na _item.mandatory_code no _item_type.code int save_ ############################# ## NDB_STRUCT_FEATURE_NA ## ############################# save_ndb_struct_feature_na _category.description ; Data items in the NDB_STRUCT_FEATURE_NA category describes tertiary and other special structural features in this entry. ; _category.id ndb_struct_feature_na _category.mandatory_code no loop_ _category_key.name '_ndb_struct_feature_na.entry_id' '_ndb_struct_feature_na.feature' loop_ _category_group.id 'inclusive_group' 'struct_group' 'ndb_group' _ndb_category_examples.case ; loop_ _ndb_struct_feature_na.entry_id _ndb_struct_feature_na.feature _ndb_struct_feature_na.feature_count rcsb000001 'intercalated base' 1 rcsb000001 'bent/kinked double helix' 1 ; save_ save__ndb_struct_feature_na.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_ndb_struct_feature_na.entry_id' _item.category_id ndb_struct_feature_na _item.mandatory_code yes _item_linked.child_name '_ndb_struct_feature_na.entry_id' _item_linked.parent_name '_entry.id' save_ save__ndb_struct_feature_na.feature _item_description.description ; This data item identifies a structural feature of this entry. ; _item.name '_ndb_struct_feature_na.feature' _item.category_id ndb_struct_feature_na _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'pseudoknot' . 'intercalated base' . 'backbone turn' . 'intramolecular base triplet' . 'ribose zipper' . 'purine platform' . 'bent/kinked double helix' . save_ save__ndb_struct_feature_na.feature_count _item_description.description ; This data item counts the number of occurences of this feature in this entry. ; _item.name '_ndb_struct_feature_na.feature_count' _item.category_id ndb_struct_feature_na _item.mandatory_code no _item_type.code int save_ ############################# ## NDB_STRUCT_NA_BASE_PAIR ## ############################# save_ndb_struct_na_base_pair _category.description ; Data items in the NDB_STRUCT_NA_BASE_PAIR category record details of base pairing interactions. ; _category.id ndb_struct_na_base_pair _category.mandatory_code no loop_ _category_key.name '_ndb_struct_na_base_pair.model_number' '_ndb_struct_na_base_pair.i_label_comp_id' '_ndb_struct_na_base_pair.i_label_asym_id' '_ndb_struct_na_base_pair.i_label_seq_id' '_ndb_struct_na_base_pair.i_symmetry' '_ndb_struct_na_base_pair.j_label_comp_id' '_ndb_struct_na_base_pair.j_label_asym_id' '_ndb_struct_na_base_pair.j_label_seq_id' '_ndb_struct_na_base_pair.j_symmetry' loop_ _category_group.id 'inclusive_group' 'struct_group' 'ndb_group' loop_ _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; loop_ _ndb_struct_na_base_pair.model_number _ndb_struct_na_base_pair.i_label_comp_id _ndb_struct_na_base_pair.i_label_asym_id _ndb_struct_na_base_pair.i_label_seq_id _ndb_struct_na_base_pair.i_symmetry _ndb_struct_na_base_pair.j_label_comp_id _ndb_struct_na_base_pair.j_label_asym_id _ndb_struct_na_base_pair.j_label_seq_id _ndb_struct_na_base_pair.j_symmetry _ndb_struct_na_base_pair.shear _ndb_struct_na_base_pair.stretch _ndb_struct_na_base_pair.stagger _ndb_struct_na_base_pair.buckle _ndb_struct_na_base_pair.propeller _ndb_struct_na_base_pair.opening 1 G A 1 1_555 C A 8 7_555 -0.396 -0.156 -0.018 -5.523 -6.752 -3.291 1 G A 2 1_555 C A 7 7_555 -0.094 -0.220 -0.334 -4.727 -9.765 2.311 1 G A 3 1_555 C A 6 7_555 -0.285 -0.239 0.008 -6.454 -12.575 -1.181 # ... ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__ndb_struct_na_base_pair.model_number _item_description.description ; Describes the model number of the base pair. This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair.model_number' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_type.code int _item_linked.child_name '_ndb_struct_na_base_pair.model_number' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__ndb_struct_na_base_pair.pair_number _item_description.description ; Sequential number of pair in the pair sequence. ; _item.name '_ndb_struct_na_base_pair.pair_number' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_type.code int save_ save__ndb_struct_na_base_pair.pair_name _item_description.description ; Text label for this base pair. ; _item.name '_ndb_struct_na_base_pair.pair_name' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_type.code line save_ save__ndb_struct_na_base_pair.i_label_asym_id _item_description.description ; Describes the asym id of the i-th base in the base pair. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair.i_label_asym_id' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair.i_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__ndb_struct_na_base_pair.i_label_comp_id _item_description.description ; Describes the component id of the i-th base in the base pair. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair.i_label_comp_id' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_ndb_struct_na_base_pair.i_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__ndb_struct_na_base_pair.i_label_seq_id _item_description.description ; Describes the sequence number of the i-th base in the base pair. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair.i_label_seq_id' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_type.code int _item_linked.child_name '_ndb_struct_na_base_pair.i_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__ndb_struct_na_base_pair.i_symmetry _item_description.description ; Describes the symmetry operation that should be applied to the coordinates of the i-th base to generate the first partner in the base pair. ; _item.name '_ndb_struct_na_base_pair.i_symmetry' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # '.' 'no symmetry or translation to site' save_ save__ndb_struct_na_base_pair.j_label_asym_id _item_description.description ; Describes the asym id of the j-th base in the base pair. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair.j_label_asym_id' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair.j_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__ndb_struct_na_base_pair.j_label_comp_id _item_description.description ; Describes the component id of the j-th base in the base pair. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair.j_label_comp_id' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_ndb_struct_na_base_pair.j_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__ndb_struct_na_base_pair.j_label_seq_id _item_description.description ; Describes the sequence number of the j-th base in the base pair. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair.j_label_seq_id' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_type.code int _item_linked.child_name '_ndb_struct_na_base_pair.j_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__ndb_struct_na_base_pair.j_symmetry _item_description.description ; Describes the symmetry operation that should be applied to the coordinates of the j-th base to generate the second partner in the base pair. ; _item.name '_ndb_struct_na_base_pair.j_symmetry' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # '.' 'no symmetry or translation to site' save_ save__ndb_struct_na_base_pair.i_auth_asym_id _item_description.description ; Describes the asym id of the i-th base in the base pair. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair.i_auth_asym_id' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair.i_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__ndb_struct_na_base_pair.i_auth_seq_id _item_description.description ; Describes the sequence number of the i-th base in the base pair. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair.i_auth_seq_id' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair.i_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__ndb_struct_na_base_pair.i_PDB_ins_code _item_description.description ; Describes the PDB insertion code of the i-th base in the base pair. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair.i_PDB_ins_code' _item.category_id ndb_struct_na_base_pair _item.mandatory_code no _item_type.code code # _item_linked.child_name '_ndb_struct_na_base_pair.i_PDB_ins_code' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__ndb_struct_na_base_pair.j_auth_asym_id _item_description.description ; Describes the asym id of the j-th base in the base pair. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair.j_auth_asym_id' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair.j_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__ndb_struct_na_base_pair.j_auth_seq_id _item_description.description ; Describes the sequence number of the j-th base in the base pair. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair.j_auth_seq_id' _item.category_id ndb_struct_na_base_pair _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair.j_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__ndb_struct_na_base_pair.j_PDB_ins_code _item_description.description ; Describes the PDB insertion code of the j-th base in the base pair. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair.j_PDB_ins_code' _item.category_id ndb_struct_na_base_pair _item.mandatory_code no _item_type.code code # _item_linked.child_name '_ndb_struct_na_base_pair.j_PDB_ins_code' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__ndb_struct_na_base_pair.shear _item_description.description ; The value of the base pair shear parameter. ; _item.name '_ndb_struct_na_base_pair.shear' _item.category_id ndb_struct_na_base_pair _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair.stretch _item_description.description ; The value of the base pair stretch parameter. ; _item.name '_ndb_struct_na_base_pair.stretch' _item.category_id ndb_struct_na_base_pair _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair.stagger _item_description.description ; The value of the base pair stagger parameter. ; _item.name '_ndb_struct_na_base_pair.stagger' _item.category_id ndb_struct_na_base_pair _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair.buckle _item_description.description ; The value of the base pair buckle parameter. ; _item.name '_ndb_struct_na_base_pair.buckle' _item.category_id ndb_struct_na_base_pair _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair.propeller _item_description.description ; The value of the base pair propeller parameter. ; _item.name '_ndb_struct_na_base_pair.propeller' _item.category_id ndb_struct_na_base_pair _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_ndb_struct_na_base_pair.propel' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # save_ save__ndb_struct_na_base_pair.opening _item_description.description ; The value of the base pair opening parameter. ; _item.name '_ndb_struct_na_base_pair.opening' _item.category_id ndb_struct_na_base_pair _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair.hbond_type_12 _item_description.description ; Base pair classification of Westhoff and Leontis. ; _item.name '_ndb_struct_na_base_pair.hbond_type_12' _item.category_id ndb_struct_na_base_pair _item.mandatory_code no _item_type.code int save_ save__ndb_struct_na_base_pair.hbond_type_28 _item_description.description ; Base pair classification of Saenger ; _item.name '_ndb_struct_na_base_pair.hbond_type_28' _item.category_id ndb_struct_na_base_pair _item.mandatory_code no _item_type.code int save_ ################################## ## NDB_STRUCT_NA_BASE_PAIR_STEP ## ################################## save_ndb_struct_na_base_pair_step _category.description ; Data items in the NDB_STRUCT_NA_BASE_PAIR_STEP category record details of base pair step interactions. ; _category.id ndb_struct_na_base_pair_step _category.mandatory_code no loop_ _category_key.name '_ndb_struct_na_base_pair_step.model_number' '_ndb_struct_na_base_pair_step.i_label_comp_id_1' '_ndb_struct_na_base_pair_step.i_label_asym_id_1' '_ndb_struct_na_base_pair_step.i_label_seq_id_1' '_ndb_struct_na_base_pair_step.i_symmetry_1' '_ndb_struct_na_base_pair_step.j_label_comp_id_1' '_ndb_struct_na_base_pair_step.j_label_asym_id_1' '_ndb_struct_na_base_pair_step.j_label_seq_id_1' '_ndb_struct_na_base_pair_step.j_symmetry_1' '_ndb_struct_na_base_pair_step.i_label_comp_id_2' '_ndb_struct_na_base_pair_step.i_label_asym_id_2' '_ndb_struct_na_base_pair_step.i_label_seq_id_2' '_ndb_struct_na_base_pair_step.i_symmetry_2' '_ndb_struct_na_base_pair_step.j_label_comp_id_2' '_ndb_struct_na_base_pair_step.j_label_asym_id_2' '_ndb_struct_na_base_pair_step.j_label_seq_id_2' '_ndb_struct_na_base_pair_step.j_symmetry_2' loop_ _category_group.id 'inclusive_group' 'struct_group' 'ndb_group' loop_ _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; loop_ _ndb_struct_na_base_pair_step.model_number _ndb_struct_na_base_pair_step.i_label_comp_id_1 _ndb_struct_na_base_pair_step.i_label_asym_id_1 _ndb_struct_na_base_pair_step.i_label_seq_id_1 _ndb_struct_na_base_pair_step.i_symmetry_1 _ndb_struct_na_base_pair_step.j_label_comp_id_1 _ndb_struct_na_base_pair_step.j_label_asym_id_1 _ndb_struct_na_base_pair_step.j_label_seq_id_1 _ndb_struct_na_base_pair_step.j_symmetry_1 _ndb_struct_na_base_pair_step.i_label_comp_id_2 _ndb_struct_na_base_pair_step.i_label_asym_id_2 _ndb_struct_na_base_pair_step.i_label_seq_id_2 _ndb_struct_na_base_pair_step.i_symmetry_2 _ndb_struct_na_base_pair_step.j_label_comp_id_2 _ndb_struct_na_base_pair_step.j_label_asym_id_2 _ndb_struct_na_base_pair_step.j_label_seq_id_2 _ndb_struct_na_base_pair_step.j_symmetry_2 _ndb_struct_na_base_pair_step.shift _ndb_struct_na_base_pair_step.slide _ndb_struct_na_base_pair_step.rise _ndb_struct_na_base_pair_step.tilt _ndb_struct_na_base_pair_step.roll _ndb_struct_na_base_pair_step.twist 1 G A 1 1_555 C A 8 7_555 G A 2 1_555 C A 7 7_555 0.369 -1.414 3.339 3.056 9.755 33.530 1 G A 2 1_555 C A 7 7_555 G A 3 1_555 C A 6 7_555 0.176 -1.672 3.371 -1.176 6.725 30.004 # ... ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__ndb_struct_na_base_pair_step.model_number _item_description.description ; Describes the model number of the base pair step. This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.model_number' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code int _item_linked.child_name '_ndb_struct_na_base_pair_step.model_number' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__ndb_struct_na_base_pair_step.step_number _item_description.description ; The sequence number of this step in the step sequence. ; _item.name '_ndb_struct_na_base_pair_step.step_number' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code int save_ save__ndb_struct_na_base_pair_step.step_name _item_description.description ; The text name of this step. ; _item.name '_ndb_struct_na_base_pair_step.step_name' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code line save_ save__ndb_struct_na_base_pair_step.i_label_asym_id_1 _item_description.description ; Describes the asym id of the i-th base in the first base pair of the step. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.i_label_asym_id_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair_step.i_label_asym_id_1' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__ndb_struct_na_base_pair_step.i_label_comp_id_1 _item_description.description ; Describes the component id of the i-th base in the first base pair of the step. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.i_label_comp_id_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_ndb_struct_na_base_pair_step.i_label_comp_id_1' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__ndb_struct_na_base_pair_step.i_label_seq_id_1 _item_description.description ; Describes the sequence number of the i-th base in the first base pair of the step. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.i_label_seq_id_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code int _item_linked.child_name '_ndb_struct_na_base_pair_step.i_label_seq_id_1' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__ndb_struct_na_base_pair_step.i_symmetry_1 _item_description.description ; Describes the symmetry operation that should be applied to the coordinates of the i-th base to generate the first partner in the first base pair of the step. ; _item.name '_ndb_struct_na_base_pair_step.i_symmetry_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # '.' 'no symmetry or translation to site' save_ save__ndb_struct_na_base_pair_step.j_label_asym_id_1 _item_description.description ; Describes the asym id of the j-th base in the first base pair of the step. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.j_label_asym_id_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair_step.j_label_asym_id_1' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__ndb_struct_na_base_pair_step.j_label_comp_id_1 _item_description.description ; Describes the component id of the j-th base in the first base pair of the step. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.j_label_comp_id_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_ndb_struct_na_base_pair_step.j_label_comp_id_1' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__ndb_struct_na_base_pair_step.j_label_seq_id_1 _item_description.description ; Describes the sequence number of the j-th base in the first base pair of the step. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.j_label_seq_id_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code int _item_linked.child_name '_ndb_struct_na_base_pair_step.j_label_seq_id_1' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__ndb_struct_na_base_pair_step.j_symmetry_1 _item_description.description ; Describes the symmetry operation that should be applied to the coordinates of the j-th base to generate the second partner in the first base pair of the step. ; _item.name '_ndb_struct_na_base_pair_step.j_symmetry_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # '.' 'no symmetry or translation to site' save_ save__ndb_struct_na_base_pair_step.i_label_asym_id_2 _item_description.description ; Describes the asym id of the i-th base in the second base pair of the step. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.i_label_asym_id_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair_step.i_label_asym_id_2' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__ndb_struct_na_base_pair_step.i_label_comp_id_2 _item_description.description ; Describes the component id of the i-th base in the second base pair of the step. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.i_label_comp_id_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_ndb_struct_na_base_pair_step.i_label_comp_id_2' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__ndb_struct_na_base_pair_step.i_label_seq_id_2 _item_description.description ; Describes the sequence number of the i-th base in the second base pair of the step. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.i_label_seq_id_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code int _item_linked.child_name '_ndb_struct_na_base_pair_step.i_label_seq_id_2' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__ndb_struct_na_base_pair_step.i_symmetry_2 _item_description.description ; Describes the symmetry operation that should be applied to the coordinates of the i-th base to generate the first partner in the second base pair of the step. ; _item.name '_ndb_struct_na_base_pair_step.i_symmetry_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__ndb_struct_na_base_pair_step.j_label_asym_id_2 _item_description.description ; Describes the asym id of the j-th base in the second base pair of the step. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.j_label_asym_id_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair_step.j_label_asym_id_2' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__ndb_struct_na_base_pair_step.j_label_comp_id_2 _item_description.description ; Describes the component id of the j-th base in the second base pair of the step. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.j_label_comp_id_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_ndb_struct_na_base_pair_step.j_label_comp_id_2' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__ndb_struct_na_base_pair_step.j_label_seq_id_2 _item_description.description ; Describes the sequence number of the j-th base in the second base pair of the step. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.j_label_seq_id_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code int _item_linked.child_name '_ndb_struct_na_base_pair_step.j_label_seq_id_2' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__ndb_struct_na_base_pair_step.j_symmetry_2 _item_description.description ; Describes the symmetry operation that should be applied to the coordinates of the j-th base to generate the second partner in the second base pair of the step. ; _item.name '_ndb_struct_na_base_pair_step.j_symmetry_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_default.value 1_555 _item_type.code symop loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # . 'no symmetry or translation to site' save_ save__ndb_struct_na_base_pair_step.i_auth_asym_id_1 _item_description.description ; Describes the author's asym id of the i-th base in the first base pair of the step. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.i_auth_asym_id_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair_step.i_auth_asym_id_1' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__ndb_struct_na_base_pair_step.i_auth_seq_id_1 _item_description.description ; Describes the author's sequence number of the i-th base in the first base pair of the step. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.i_auth_seq_id_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair_step.i_auth_seq_id_1' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__ndb_struct_na_base_pair_step.i_PDB_ins_code_1 _item_description.description ; Describes the PDB insertion code of the i-th base in the first base pair of the step. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.i_PDB_ins_code_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code code # _item_linked.child_name '_ndb_struct_na_base_pair_step.i_PDB_ins_code_1' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__ndb_struct_na_base_pair_step.j_auth_asym_id_1 _item_description.description ; Describes the author's asym id of the j-th base in the first base pair of the step. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.j_auth_asym_id_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair_step.j_auth_asym_id_1' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__ndb_struct_na_base_pair_step.j_auth_seq_id_1 _item_description.description ; Describes the author's sequence number of the j-th base in the first base pair of the step. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.j_auth_seq_id_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair_step.j_auth_seq_id_1' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__ndb_struct_na_base_pair_step.j_PDB_ins_code_1 _item_description.description ; Describes the PDB insertion code of the j-th base in the first base pair of the step. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.j_PDB_ins_code_1' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code code # _item_linked.child_name '_ndb_struct_na_base_pair_step.j_PDB_ins_code_1' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__ndb_struct_na_base_pair_step.i_auth_asym_id_2 _item_description.description ; Describes the author's asym id of the i-th base in the second base pair of the step. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.i_auth_asym_id_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair_step.i_auth_asym_id_2' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__ndb_struct_na_base_pair_step.i_auth_seq_id_2 _item_description.description ; Describes the author's sequence number of the i-th base in the second base pair of the step. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.i_auth_seq_id_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair_step.i_auth_seq_id_2' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__ndb_struct_na_base_pair_step.i_PDB_ins_code_2 _item_description.description ; Describes the PDB insertion code of the i-th base in the second base pair of the step. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.i_PDB_ins_code_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code code # _item_linked.child_name '_ndb_struct_na_base_pair_step.i_PDB_ins_code_2' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__ndb_struct_na_base_pair_step.j_auth_asym_id_2 _item_description.description ; Describes the author's asym id of the j-th base in the second base pair of the step. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.j_auth_asym_id_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair_step.j_auth_asym_id_2' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__ndb_struct_na_base_pair_step.j_auth_seq_id_2 _item_description.description ; Describes the author's sequence number of the j-th base in the second base pair of the step. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.j_auth_seq_id_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code yes _item_type.code code _item_linked.child_name '_ndb_struct_na_base_pair_step.j_auth_seq_id_2' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__ndb_struct_na_base_pair_step.j_PDB_ins_code_2 _item_description.description ; Describes the PDB insertion code of the j-th base in the second base pair of the step. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_ndb_struct_na_base_pair_step.j_PDB_ins_code_2' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code code # _item_linked.child_name '_ndb_struct_na_base_pair_step.j_PDB_ins_code_2' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__ndb_struct_na_base_pair_step.shift _item_description.description ; The value of the base pair step shift parameter. ; _item.name '_ndb_struct_na_base_pair_step.shift' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair_step.slide _item_description.description ; The value of the base pair step slide parameter. ; _item.name '_ndb_struct_na_base_pair_step.slide' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair_step.rise _item_description.description ; The value of the base pair step rise parameter. ; _item.name '_ndb_struct_na_base_pair_step.rise' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair_step.tilt _item_description.description ; The value of the base pair step tilt parameter. ; _item.name '_ndb_struct_na_base_pair_step.tilt' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair_step.roll _item_description.description ; The value of the base pair step roll parameter. ; _item.name '_ndb_struct_na_base_pair_step.roll' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair_step.twist _item_description.description ; The value of the base pair step twist parameter. ; _item.name '_ndb_struct_na_base_pair_step.twist' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair_step.x_displacement _item_description.description ; The value of the base pair step X displacement parameter. ; _item.name '_ndb_struct_na_base_pair_step.x_displacement' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair_step.y_displacement _item_description.description ; The value of the base pair step Y displacement parameter. ; _item.name '_ndb_struct_na_base_pair_step.y_displacement' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair_step.helical_rise _item_description.description ; The value of the base pair step helical rise parameter. ; _item.name '_ndb_struct_na_base_pair_step.helical_rise' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair_step.inclination _item_description.description ; The value of the base pair step inclination parameter. ; _item.name '_ndb_struct_na_base_pair_step.inclination' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair_step.tip _item_description.description ; The value of the base pair step twist parameter. ; _item.name '_ndb_struct_na_base_pair_step.tip' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code float save_ save__ndb_struct_na_base_pair_step.helical_twist _item_description.description ; The value of the base pair step helical twist parameter. ; _item.name '_ndb_struct_na_base_pair_step.helical_twist' _item.category_id ndb_struct_na_base_pair_step _item.mandatory_code no _item_type.code float save_ ## ## save_ndb_original_ndb_coordinates _category.description ; Placeholder category for PDB coordinate data. ; _category.id ndb_original_ndb_coordinates _category.mandatory_code no loop_ _category_key.name '_ndb_original_ndb_coordinates.coord_section' loop_ _category_group.id 'inclusive_group' 'ndb_group' save_ save__ndb_original_ndb_coordinates.coord_section _item_description.description ; Placeholder item to hold unparsed coordinate data. ; _item.name '_ndb_original_ndb_coordinates.coord_section' _item.category_id ndb_original_ndb_coordinates _item.mandatory_code yes _item_type.code text save_ ## ## save_pdbx_entity_nonpoly _category.description ; The PDBX_ENTITY_NONPOLY category provides a mapping between entity and the nonpolymer component ; _category.id pdbx_entity_nonpoly _category.mandatory_code no _category_key.name '_pdbx_entity_nonpoly.entity_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'ndb_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_entity_nonpoly.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_pdbx_entity_nonpoly.entity_id' _item.category_id pdbx_entity_nonpoly _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_entity_nonpoly.entity_id' _item_linked.parent_name '_entity.id' _item_aliases.alias_name '_rcsb_entity_nonpoly.entity_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_entity_nonpoly.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_pdbx_entity_nonpoly.comp_id' _item.category_id pdbx_entity_nonpoly _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_entity_nonpoly.comp_id' _item_linked.parent_name '_chem_comp.id' _item_aliases.alias_name '_rcsb_entity_nonpoly.comp_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_entity_nonpoly.name _item_description.description ; A name for the non-polymer entity ; _item.name '_pdbx_entity_nonpoly.name' _item.category_id pdbx_entity_nonpoly _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_rcsb_entity_nonpoly.name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ # ### EOF mmcif_pdbx-def-4.dic ########################################################################### # # File: mmcif_pdbx-def-5.dic # # PDB Exchange Data Dictionary # # This data dictionary contains definitions used by wwPDB for data exchange # and data processing. # # Definition Section 5 # This section primarily contains extensions for # data extraction by PDB_EXTRACT. # ########################################################################### save_pdbx_phasing_dm _category.description ; Data items in the PDBX_PHASING_DM category record details about density modification ; _category.id pdbx_phasing_dm _category.mandatory_code no _category_key.name '_pdbx_phasing_dm.entry_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - density modification from resolve ; ; _pdbx_phasing_dm.entry_id ABC001 _pdbx_phasing_dm.fom_acentric 0.85 _pdbx_phasing_dm.fom_centric 0.79 _pdbx_phasing_dm.fom 0.85 _pdbx_phasing_dm.reflns_acentric 11351 _pdbx_phasing_dm.reflns_centric 1135 _pdbx_phasing_dm.reflns 12486 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_phasing_dm.entry_id _item_description.description ; The value of _pdbx_phasing_dm.entry_id identifies the data block. ; _item.name '_pdbx_phasing_dm.entry_id' _item.category_id pdbx_phasing_dm _item.mandatory_code yes _item_type.code code _item_aliases.alias_name '_pdbx_phasing_dm.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm.method _item_description.description ; The value of _pdbx_phasing_dm.method identifies the method used for density modification ; _item.name '_pdbx_phasing_dm.method' _item.category_id pdbx_phasing_dm _item.mandatory_code no _item_type.code line _item_aliases.alias_name '_pdbx_phasing_dm.method' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm.mask_type _item_description.description ; The value of _pdbx_phasing_dm.mask_type identifies the type of mask used for density modification ; _item.name '_pdbx_phasing_dm.mask_type' _item.category_id pdbx_phasing_dm _item.mandatory_code no _item_type.code line _item_aliases.alias_name '_pdbx_phasing_dm.mask_type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm.fom_acentric _item_description.description ; The value of _pdbx_phasing_dm.fom_acentric identifies the figure of merit for acentric data ; _item.name '_pdbx_phasing_dm.fom_acentric' _item.category_id pdbx_phasing_dm _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_dm.fom_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm.fom_centric _item_description.description ; The value of _pdbx_phasing_dm.fom_centric identifies the figure of merit for acentric data ; _item.name '_pdbx_phasing_dm.fom_centric' _item.category_id pdbx_phasing_dm _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_dm.fom_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm.fom _item_description.description ; The value of _pdbx_phasing_dm.fom identifies the figure of merit for all the data ; _item.name '_pdbx_phasing_dm.fom' _item.category_id pdbx_phasing_dm _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_dm.fom' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm.reflns_acentric _item_description.description ; The value of _pdbx_phasing_dm.reflns_acentric identifies the number of acentric reflections. ; _item.name '_pdbx_phasing_dm.reflns_acentric' _item.category_id pdbx_phasing_dm _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_dm.reflns_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm.reflns_centric _item_description.description ; The value of _pdbx_phasing_dm.reflns_centric identifies the number of centric reflections. ; _item.name '_pdbx_phasing_dm.reflns_centric' _item.category_id pdbx_phasing_dm _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_dm.reflns_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm.reflns _item_description.description ; The value of _pdbx_phasing_dm.reflns identifies the number of centric and acentric reflections. ; _item.name '_pdbx_phasing_dm.reflns' _item.category_id pdbx_phasing_dm _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_dm.reflns' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm.delta_phi_initial _item_description.description ; The value of _pdbx_phasing_dm.delta_phi_initial identifies phase difference before density modification ; _item.name '_pdbx_phasing_dm.delta_phi_initial' _item.category_id pdbx_phasing_dm _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_dm.delta_phi_initial' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm.delta_phi_final _item_description.description ; The value of _pdbx_phasing_dm.delta_phi_final identifies phase difference after density modification ; _item.name '_pdbx_phasing_dm.delta_phi_final' _item.category_id pdbx_phasing_dm _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_dm.delta_phi_final' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### next category, _pdbx_phasing_dm_shell ### save_pdbx_phasing_dm_shell _category.description ; Data items in the PDBX_PHASING_DM_SHELL category record details about density modification in resolution shell. ; _category.id pdbx_phasing_dm_shell _category.mandatory_code no loop_ _category_key.name '_pdbx_phasing_dm_shell.d_res_low' '_pdbx_phasing_dm_shell.d_res_high' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - density modification with shells ; ; loop_ _pdbx_phasing_dm_shell.d_res_low _pdbx_phasing_dm_shell.d_res_high _pdbx_phasing_dm_shell.reflns _pdbx_phasing_dm_shell.fom _pdbx_phasing_dm_shell.delta_phi_final 100.00 7.73 502 0.879 24.7 7.73 6.24 506 0.857 29.2 6.24 5.50 504 0.838 29.2 5.50 5.02 502 0.851 25.3 5.02 4.67 503 0.831 22.7 # ....... ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_phasing_dm_shell.d_res_high _item_description.description ; The value of _pdbx_phasing_dm_shell.d_res_high identifies high resolution ; _item.name '_pdbx_phasing_dm_shell.d_res_high' _item.category_id pdbx_phasing_dm_shell _item.mandatory_code yes _item_type.code float _item_aliases.alias_name '_pdbx_phasing_dm_shell.d_res_high' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm_shell.d_res_low _item_description.description ; The value of _pdbx_phasing_dm_shell.d_res_low identifies low resolution ; _item.name '_pdbx_phasing_dm_shell.d_res_low' _item.category_id pdbx_phasing_dm_shell _item.mandatory_code yes _item_type.code float _item_aliases.alias_name '_pdbx_phasing_dm_shell.d_res_low' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm_shell.fom_acentric _item_description.description ; The value of _pdbx_phasing_dm_shell.fom_acentric identifies the figure of merit for acentric data with resolution shells ; _item.name '_pdbx_phasing_dm_shell.fom_acentric' _item.category_id pdbx_phasing_dm_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_dm_shell.fom_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm_shell.fom_centric _item_description.description ; The value of _pdbx_phasing_dm_shell.fom_centric identifies the figure of merit for centric data with resolution shells. ; _item.name '_pdbx_phasing_dm_shell.fom_centric' _item.category_id pdbx_phasing_dm_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_dm_shell.fom_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm_shell.fom _item_description.description ; The value of _pdbx_phasing_dm_shell.fom identifies the figure of merit for all the data with resolution shells. ; _item.name '_pdbx_phasing_dm_shell.fom' _item.category_id pdbx_phasing_dm_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_dm_shell.fom' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm_shell.reflns_acentric _item_description.description ; The value of _pdbx_phasing_dm_shell.reflns_acentric identifies the number of acentric reflections with resolution shells. ; _item.name '_pdbx_phasing_dm_shell.reflns_acentric' _item.category_id pdbx_phasing_dm_shell _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_dm_shell.reflns_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm_shell.reflns_centric _item_description.description ; The value of _pdbx_phasing_dm_shell.reflns_centric identifies the number of centric reflections with resolution shells. ; _item.name '_pdbx_phasing_dm_shell.reflns_centric' _item.category_id pdbx_phasing_dm_shell _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_dm_shell.reflns_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm_shell.reflns _item_description.description ; The value of _pdbx_phasing_dm_shell.reflns identifies the number of centric and acentric reflections with resolution shells. ; _item.name '_pdbx_phasing_dm_shell.reflns' _item.category_id pdbx_phasing_dm_shell _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_dm_shell.reflns' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm_shell.delta_phi_initial _item_description.description ; The value of _pdbx_phasing_dm_shell.delta_phi_initial identifies phase difference before density modification with resolution shells. ; _item.name '_pdbx_phasing_dm_shell.delta_phi_initial' _item.category_id pdbx_phasing_dm_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_dm_shell.delta_phi_initial' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_dm_shell.delta_phi_final _item_description.description ; The value of _pdbx_phasing_dm_shell.delta_phi_final identifies phase difference after density modification with resolution shells. ; _item.name '_pdbx_phasing_dm_shell.delta_phi_final' _item.category_id pdbx_phasing_dm_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_dm_shell.delta_phi_final' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_d_res_low _item_description.description ; _phasing_MAD.pdbx_d_res_low records the lowest resolution for MAD phasing. ; _item.name '_phasing_MAD.pdbx_d_res_low' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_d_res_low' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_d_res_high _item_description.description ; _phasing_MAD.pdbx_d_res_high records the highest resolution for MAD phasing. ; _item.name '_phasing_MAD.pdbx_d_res_high' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_d_res_high' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_reflns_acentric _item_description.description ; _phasing_MAD.pdbx_reflns_acentric records the number of acentric reflections for MAD phasing. ; _item.name '_phasing_MAD.pdbx_reflns_acentric' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_phasing_MAD.pdbx_reflns_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_reflns_centric _item_description.description ; _phasing_MAD.pdbx_reflns_centric records the number of centric reflections for MAD phasing. ; _item.name '_phasing_MAD.pdbx_reflns_centric' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_phasing_MAD.pdbx_reflns_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_reflns _item_description.description ; _phasing_MAD.pdbx_reflns records the number of reflections used for MAD phasing. ; _item.name '_phasing_MAD.pdbx_reflns' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_phasing_MAD.pdbx_reflns' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_fom_acentric _item_description.description ; _phasing_MAD.pdbx_fom_acentric records the figure of merit using acentric data for MAD phasing. ; _item.name '_phasing_MAD.pdbx_fom_acentric' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_fom_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_fom_centric _item_description.description ; _phasing_MAD.pdbx_fom_centric records the figure of merit using centric data for MAD phasing. ; _item.name '_phasing_MAD.pdbx_fom_centric' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_fom_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_fom _item_description.description ; _phasing_MAD.pdbx_fom records the figure of merit for MAD phasing. ; _item.name '_phasing_MAD.pdbx_fom' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_fom' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_R_cullis_centric _item_description.description ; _phasing_MAD.pdbx_R_cullis_centric records R_cullis using centric data for MAD phasing. ; _item.name '_phasing_MAD.pdbx_R_cullis_centric' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_R_cullis_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_R_cullis_acentric _item_description.description ; _phasing_MAD.pdbx_R_cullis_acentric records R_cullis using acentric data for MAD phasing. ; _item.name '_phasing_MAD.pdbx_R_cullis_acentric' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_R_cullis_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_R_cullis _item_description.description ; _phasing_MAD.pdbx_R_cullis records R_cullis for MAD phasing. ; _item.name '_phasing_MAD.pdbx_R_cullis' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_R_cullis' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_R_kraut_centric _item_description.description ; _phasing_MAD.pdbx_R_kraut_centric records R_kraut using centric data for MAD phasing. ; _item.name '_phasing_MAD.pdbx_R_kraut_centric' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_R_kraut_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_R_kraut_acentric _item_description.description ; _phasing_MAD.pdbx_R_kraut_acentric records R_kraut using acentric data for MAD phasing. ; _item.name '_phasing_MAD.pdbx_R_kraut_acentric' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_R_kraut_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_R_kraut _item_description.description ; _phasing_MAD.pdbx_R_kraut records R_kraut for MAD phasing. ; _item.name '_phasing_MAD.pdbx_R_kraut' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_R_kraut' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_loc_centric _item_description.description ; _phasing_MAD.pdbx_loc_centric records lack of closure using centric data for MAD phasing. ; _item.name '_phasing_MAD.pdbx_loc_centric' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_loc_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_loc_acentric _item_description.description ; _phasing_MAD.pdbx_loc_acentric records lack of closure using acentric data for MAD phasing. ; _item.name '_phasing_MAD.pdbx_loc_acentric' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_loc_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_loc _item_description.description ; _phasing_MAD.pdbx_loc records lack of closure for MAD phasing. ; _item.name '_phasing_MAD.pdbx_loc' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_loc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_power_centric _item_description.description ; _phasing_MAD.pdbx_power_centric records phasing power using centric data for MAD phasing. ; _item.name '_phasing_MAD.pdbx_power_centric' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_power_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_power_acentric _item_description.description ; _phasing_MAD.pdbx_power_acentric records phasing power using acentric data for MAD phasing. ; _item.name '_phasing_MAD.pdbx_power_acentric' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_power_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_power _item_description.description ; _phasing_MAD.pdbx_power records phasing power for MAD phasing. ; _item.name '_phasing_MAD.pdbx_power' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD.pdbx_power' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_number_data_sets _item_description.description ; _phasing_MAD.pdbx_loc records the number of data sets used for MAD phasing. ; _item.name '_phasing_MAD.pdbx_number_data_sets' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_phasing_MAD.pdbx_number_data_sets' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD.pdbx_anom_scat_method _item_description.description ; _phasing_MAD.pdbx_anom_scat_method records the method used to locate anomalous scatterers for MAD phasing. ; _item.name '_phasing_MAD.pdbx_anom_scat_method' _item.category_id phasing_MAD _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_phasing_MAD.pdbx_anom_scat_method' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## save_pdbx_phasing_MAD_shell _category.description ; Data items in the PDBX_PHASING_MAD_SHELL category record details about the phasing of the structure, when methods involving multiple anomalous dispersion techniques are involved (note: the values are overall, but broken down into shells of resolution) ; _category.id pdbx_phasing_MAD_shell _category.mandatory_code no loop_ _category_key.name '_pdbx_phasing_MAD_shell.d_res_low' '_pdbx_phasing_MAD_shell.d_res_high' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_phasing_MAD_shell.d_res_low _pdbx_phasing_MAD_shell.d_res_high _pdbx_phasing_MAD_shell.reflns_acentric _pdbx_phasing_MAD_shell.fom_acentric _pdbx_phasing_MAD_shell.reflns_centric _pdbx_phasing_MAD_shell.fom_centric 22.60 7.77 64 0.886 23 0.641 7.77 5.67 132 0.863 32 0.642 5.67 4.68 182 0.842 27 0.737 4.68 4.07 209 0.789 24 0.682 4.07 3.65 246 0.772 27 0.633 3.65 3.34 260 0.752 31 0.700 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_phasing_MAD_shell.d_res_low _item_description.description ; _pdbx_phasing_MAD_shell.d_res_low records the lower resolution for the shell. ; _item.name '_pdbx_phasing_MAD_shell.d_res_low' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code yes _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.d_res_low' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.d_res_high _item_description.description ; _pdbx_phasing_MAD_shell.d_res_high records the higher resolution for the shell. ; _item.name '_pdbx_phasing_MAD_shell.d_res_high' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code yes _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.d_res_high' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.reflns_acentric _item_description.description ; _pdbx_phasing_MAD_shell.reflns_acentric records the number of acentric reflections for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.reflns_acentric' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.reflns_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.reflns_centric _item_description.description ; _pdbx_phasing_MAD_shell.reflns_centric records the number of centric reflections for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.reflns_centric' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_MAD_shell.reflns_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.reflns _item_description.description ; _pdbx_phasing_MAD_shell.reflns records the number of reflections used for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.reflns' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_MAD_shell.reflns' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.fom_acentric _item_description.description ; _pdbx_phasing_MAD_shell.fom_acentric records the figure of merit using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.fom_acentric' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.fom_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.fom_centric _item_description.description ; _pdbx_phasing_MAD_shell.fom_centric records the figure of merit using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.fom_centric' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.fom_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.fom _item_description.description ; _pdbx_phasing_MAD_shell.fom records the figure of merit for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.fom' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.fom' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.R_cullis_centric _item_description.description ; _pdbx_phasing_MAD_shell.R_cullis_centric records R_cullis using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.R_cullis_centric' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.R_cullis_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.R_cullis_acentric _item_description.description ; _pdbx_phasing_MAD_shell.R_cullis_acentric records R_cullis using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.R_cullis_acentric' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.R_cullis_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.R_cullis _item_description.description ; _pdbx_phasing_MAD_shell.R_cullis records R_cullis for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.R_cullis' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.R_cullis' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.R_kraut_centric _item_description.description ; _pdbx_phasing_MAD_shell.R_kraut_centric records R_kraut using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.R_kraut_centric' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.R_kraut_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.R_kraut_acentric _item_description.description ; _pdbx_phasing_MAD_shell.r_kraut_acentric records R_kraut using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.R_kraut_acentric' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.R_kraut_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.R_kraut _item_description.description ; _pdbx_phasing_MAD_shell.R_kraut records R_kraut for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.R_kraut' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.R_kraut' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.loc_centric _item_description.description ; _pdbx_phasing_MAD_shell.loc_centric records lack of closure using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.loc_centric' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.loc_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.loc_acentric _item_description.description ; _pdbx_phasing_MAD_shell.loc_acentric records lack of closure using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.loc_acentric' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.loc_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.loc _item_description.description ; _pdbx_phasing_MAD_shell.loc records lack of closure for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.loc' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.loc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.power_centric _item_description.description ; _pdbx_phasing_MAD_shell.power_centric records phasing powe using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.power_centric' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.power_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.power_acentric _item_description.description ; _pdbx_phasing_MAD_shell.power_acentric records phasing powe using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.power_acentric' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.power_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_shell.power _item_description.description ; _pdbx_phasing_MAD_shell.loc records phasing power for MAD phasing. ; _item.name '_pdbx_phasing_MAD_shell.power' _item.category_id pdbx_phasing_MAD_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_shell.power' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### next category, _pdbx_phasing_MAD_set ### save_pdbx_phasing_MAD_set _category.description ; Record details about each phasing set: (Note: the phasing set is different from data set. for example: if there are three data sets, the inflection point (IP), the peak (PK) and the high remote (HR), the combination of the phasing set will be IP_iso, PK_iso (the isomorphous repleacement with HR as 'native'), IP_ano, PK_ano and HR_ano (the anomalous difference with itself). Therefore, there are five set used for phasing. ; _category.id pdbx_phasing_MAD_set _category.mandatory_code no _category_key.name '_pdbx_phasing_MAD_set.id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - three wavelengths ; ; loop_ _pdbx_phasing_MAD_set.id _pdbx_phasing_MAD_set.d_res_low _pdbx_phasing_MAD_set.d_res_high _pdbx_phasing_MAD_set.reflns_acentric _pdbx_phasing_MAD_set.reflns_centric _pdbx_phasing_MAD_set.R_cullis_acentric _pdbx_phasing_MAD_set.R_cullis_centric ISO_1 22.60 2.00 5387 471 0.000 0.000 ISO_2 22.60 2.00 5365 469 0.803 0.718 ISO_3 22.60 2.00 5317 460 0.658 0.500 ANO_1 22.60 2.00 5278 0 0.841 0.000 ANO_2 22.60 2.00 5083 0 0.649 0.000 ANO_3 22.60 2.00 5329 0 0.829 0.000 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_phasing_MAD_set.id _item_description.description ; _pdbx_phasing_MAD_set.id records phase set name for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.id' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code yes _item_type.code code _item_aliases.alias_name '_pdbx_phasing_MAD_set.id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.d_res_low _item_description.description ; _pdbx_phasing_MAD_set.d_res_low records the lowerest resolution for phasing set. ; _item.name '_pdbx_phasing_MAD_set.d_res_low' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.d_res_low' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.d_res_high _item_description.description ; _pdbx_phasing_MAD_set.d_res_high records the highest resolution for the phasing set. ; _item.name '_pdbx_phasing_MAD_set.d_res_high' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.d_res_high' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.number_of_sites _item_description.description ; _pdbx_phasing_MAD_set.number_of_sites records the number of site refined for the phasing set. ; _item.name '_pdbx_phasing_MAD_set.number_of_sites' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_MAD_set.number_of_sites' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.reflns_acentric _item_description.description ; _pdbx_phasing_MAD_set.reflns_acentric records the number of acentric reflections for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.reflns_acentric' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_MAD_set.reflns_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.reflns_centric _item_description.description ; _pdbx_phasing_MAD_set.reflns_centric records the number of centric reflections for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.reflns_centric' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_MAD_set.reflns_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.reflns _item_description.description ; _pdbx_phasing_MAD_set.reflns records the number of reflections used for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.reflns' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_MAD_set.reflns' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.fom_acentric _item_description.description ; _pdbx_phasing_MAD_set.fom_acentric records the figure of merit using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.fom_acentric' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.fom_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.fom_centric _item_description.description ; _pdbx_phasing_MAD_set.fom_centric records the figure of merit using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.fom_centric' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.fom_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.fom _item_description.description ; _pdbx_phasing_MAD_set.fom records the figure of merit for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.fom' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.fom' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.R_cullis_centric _item_description.description ; _pdbx_phasing_MAD_set.R_cullis_centric records R_cullis using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.R_cullis_centric' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.R_cullis_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.R_cullis_acentric _item_description.description ; _pdbx_phasing_MAD_set.R_cullis_acentric records R_cullis using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.R_cullis_acentric' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.R_cullis_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.R_cullis _item_description.description ; _pdbx_phasing_MAD_set.R_cullis records R_cullis for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.R_cullis' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.R_cullis' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.R_kraut_centric _item_description.description ; _pdbx_phasing_MAD_set.R_kraut_centric records r_kraut using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.R_kraut_centric' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.R_kraut_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.R_kraut_acentric _item_description.description ; _pdbx_phasing_MAD_set.r_kraut_acentric records r_kraut using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.R_kraut_acentric' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.R_kraut_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.R_kraut _item_description.description ; _pdbx_phasing_MAD_set.R_kraut records R_kraut for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.R_kraut' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.R_kraut' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.loc_centric _item_description.description ; _pdbx_phasing_MAD_set.loc_centric records lack of closure using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.loc_centric' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.loc_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.loc_acentric _item_description.description ; _pdbx_phasing_MAD_set.loc_acentric records lack of closure using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.loc_acentric' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.loc_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.loc _item_description.description ; _pdbx_phasing_MAD_set.loc records lack of closure for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.loc' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.loc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.power_centric _item_description.description ; _pdbx_phasing_MAD_set.power_centric records phasing powe using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.power_centric' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.power_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.power_acentric _item_description.description ; _pdbx_phasing_MAD_set.power_acentric records phasing powe using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.power_acentric' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.power_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set.power _item_description.description ; _pdbx_phasing_MAD_set.power records phasing power for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set.power' _item.category_id pdbx_phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set.power' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### next category, _pdbx_phasing_MAD_set_shell ### save_pdbx_phasing_MAD_set_shell _category.description ; The same as category pdbx_phasing_MAD_set, but broken into shells. ; _category.id pdbx_phasing_MAD_set_shell _category.mandatory_code no loop_ _category_key.name '_pdbx_phasing_MAD_set_shell.id' '_pdbx_phasing_MAD_set_shell.d_res_low' '_pdbx_phasing_MAD_set_shell.d_res_high' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - three wavelengths (SHARP example) ; ; loop_ _pdbx_phasing_MAD_set_shell.id _pdbx_phasing_MAD_set_shell.d_res_low _pdbx_phasing_MAD_set_shell.d_res_high _pdbx_phasing_MAD_set_shell.reflns_acentric _pdbx_phasing_MAD_set_shell.reflns_centric _pdbx_phasing_MAD_set_shell.R_cullis_acentric _pdbx_phasing_MAD_set_shell.R_cullis_centric _pdbx_phasing_MAD_set_shell.power_acentric _pdbx_phasing_MAD_set_shell.power_centric ISO_1 22.60 7.77 64 23 0.000 0.000 0.000 0.000 ISO_1 7.77 5.67 130 32 0.000 0.000 0.000 0.000 ISO_1 5.67 4.68 182 27 0.000 0.000 0.000 0.000 ISO_1 4.68 4.07 207 24 0.000 0.000 0.000 0.000 ANO_1 22.60 7.77 62 0 0.610 0.000 1.804 0.000 ANO_1 7.77 5.67 129 0 0.532 0.000 2.382 0.000 ANO_1 5.67 4.68 178 0 0.673 0.000 1.858 0.000 ANO_1 4.68 4.07 204 0 0.755 0.000 1.605 0.000 # ......... ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_phasing_MAD_set_shell.id _item_description.description ; _pdbx_phasing_MAD_set_shell.id records phase set name for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.id' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code yes _item_type.code code _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.d_res_low _item_description.description ; _pdbx_phasing_MAD_set_shell.d_res_low records the lowerest resolution for phasing set. ; _item.name '_pdbx_phasing_MAD_set_shell.d_res_low' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code yes _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.d_res_low' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.d_res_high _item_description.description ; _pdbx_phasing_MAD_set_shell.d_res_high records the highest resolution for the phasing set. ; _item.name '_pdbx_phasing_MAD_set_shell.d_res_high' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code yes _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.d_res_high' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.reflns_acentric _item_description.description ; _pdbx_phasing_MAD_set_shell.reflns_acentric records the number of acentric reflections for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.reflns_acentric' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.reflns_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.reflns_centric _item_description.description ; _pdbx_phasing_MAD_set_shell.reflns_centric records the number of centric reflections for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.reflns_centric' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.reflns_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.reflns _item_description.description ; _pdbx_phasing_MAD_set_shell.reflns records the number of reflections used for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.reflns' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.reflns' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.fom_acentric _item_description.description ; _pdbx_phasing_MAD_set_shell.fom_acentric records the figure of merit using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.fom_acentric' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.fom_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.fom_centric _item_description.description ; _pdbx_phasing_MAD_set_shell.fom_centric records the figure of merit using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.fom_centric' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.fom_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.fom _item_description.description ; _pdbx_phasing_MAD_set_shell.fom records the figure of merit for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.fom' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.fom' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.R_cullis_centric _item_description.description ; _pdbx_phasing_MAD_set_shell.R_cullis_centric records R_cullis using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.R_cullis_centric' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.R_cullis_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.R_cullis_acentric _item_description.description ; _pdbx_phasing_MAD_set_shell.R_cullis_acentric records R_cullis using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.R_cullis_acentric' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.R_cullis_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.R_cullis _item_description.description ; _pdbx_phasing_MAD_set_shell.R_cullis records R_cullis for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.R_cullis' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.R_cullis' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.R_kraut_centric _item_description.description ; _pdbx_phasing_MAD_set_shell.R_kraut_centric records R_kraut using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.R_kraut_centric' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.R_kraut_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.R_kraut_acentric _item_description.description ; _pdbx_phasing_MAD_set_shell.R_kraut_acentric records R_kraut using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.R_kraut_acentric' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.R_kraut_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.R_kraut _item_description.description ; _pdbx_phasing_MAD_set_shell.R_kraut records R_kraut for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.R_kraut' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.R_kraut' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.loc_centric _item_description.description ; _pdbx_phasing_MAD_set_shell.loc_centric records lack of closure using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.loc_centric' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.loc_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.loc_acentric _item_description.description ; _pdbx_phasing_MAD_set_shell.loc_acentric records lack of closure using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.loc_acentric' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.loc_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.loc _item_description.description ; _pdbx_phasing_MAD_set_shell.loc records lack of closure for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.loc' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.loc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.power_centric _item_description.description ; _pdbx_phasing_MAD_set_shell.power_centric records phasing power using centric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.power_centric' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.power_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.power_acentric _item_description.description ; _pdbx_phasing_MAD_set_shell.power_acentric records phasing power using acentric data for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.power_acentric' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.power_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_shell.power _item_description.description ; _pdbx_phasing_MAD_set_shell.power records phasing power for MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_shell.power' _item.category_id pdbx_phasing_MAD_set_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_shell.power' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### next category, _pdbx_phasing_MAD_set_site ### save_pdbx_phasing_MAD_set_site _category.description ; record the details (coordinates etc.) of anomalous scatters. ; _category.id pdbx_phasing_MAD_set_site _category.mandatory_code no _category_key.name '_pdbx_phasing_MAD_set_site.id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - anomalous scatters is Se ; ; loop_ _pdbx_phasing_MAD_set_site.id _pdbx_phasing_MAD_set_site.atom_type_symbol _pdbx_phasing_MAD_set_site.Cartn_x _pdbx_phasing_MAD_set_site.Cartn_y _pdbx_phasing_MAD_set_site.Cartn_z _pdbx_phasing_MAD_set_site.b_iso _pdbx_phasing_MAD_set_site.occupancy 1 SE 25.9407 -0.103471 17.4094 15.2561 1 2 SE 30.6534 6.62359 9.93063 12.9102 1 3 SE -3.26506 15.5546 53.9529 30.5239 1 # ....... ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_phasing_MAD_set_site.id _item_description.description ; _pdbx_phasing_MAD_set_site.id records the number of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.id' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code yes _item_type.code code _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.atom_type_symbol _item_description.description ; _pdbx_phasing_MAD_set_site.atom_type_symbol records the name of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.atom_type_symbol' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.atom_type_symbol' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.Cartn_x _item_description.description ; _pdbx_phasing_MAD_set_site.Cartn_x records the X Cartesian coordinate of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.Cartn_x' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.Cartn_x' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.Cartn_y _item_description.description ; _pdbx_phasing_MAD_set_site.Cartn_y records the Y Cartesian coordinate of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.Cartn_y' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.Cartn_y' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.Cartn_z _item_description.description ; _pdbx_phasing_MAD_set_site.Cartn_z records the Z Cartesian coordinate of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.Cartn_z' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.Cartn_z' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.Cartn_x_esd _item_description.description ; _pdbx_phasing_MAD_set_site.Cartn_x_esd records the estimated standard deviation X Cartesian coordinate of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.Cartn_x_esd' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.Cartn_x_esd' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.Cartn_y_esd _item_description.description ; _pdbx_phasing_MAD_set_site.Cartn_y_esd records the estimated standard deviation Y Cartesian coordinate of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.Cartn_y_esd' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.Cartn_y_esd' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.Cartn_z_esd _item_description.description ; _pdbx_phasing_MAD_set_site.Cartn_z_esd records the estimated standard deviation Z Cartesian coordinate of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.Cartn_z_esd' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.Cartn_z_esd' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.fract_x _item_description.description ; _pdbx_phasing_MAD_set_site.fract_x records the X fractional coordinate of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.fract_x' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.fract_x' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.fract_y _item_description.description ; _pdbx_phasing_MAD_set_site.fract_y records the Y fractional coordinate of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.fract_y' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.fract_y' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.fract_z _item_description.description ; _pdbx_phasing_MAD_set_site.fract_z records the Z fractional coordinate of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.fract_z' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.fract_z' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.fract_x_esd _item_description.description ; _pdbx_phasing_MAD_set_site.fract_x_esd records the estimated standard deviation X fractional coordinate of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.fract_x_esd' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.fract_x_esd' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.fract_y_esd _item_description.description ; _pdbx_phasing_MAD_set_site.fract_y_esd records the estimated standard deviation Y fractional coordinate of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.fract_y_esd' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.fract_y_esd' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.fract_z_esd _item_description.description ; _pdbx_phasing_MAD_set_site.fract_z_esd records the estimated standard deviation Z fractional coordinate of site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.fract_z_esd' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.fract_z_esd' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.b_iso _item_description.description ; _pdbx_phasing_MAD_set_site.b_iso records isotropic temperature factor parameterthe for the site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.b_iso' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.b_iso' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.b_iso_esd _item_description.description ; _pdbx_phasing_MAD_set_site.b_iso_esd records estimated standard deviation of isotropic temperature factor parameterthe for the site obtained from MAD phasing. ; _item.name '_pdbx_phasing_MAD_set_site.b_iso_esd' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.b_iso_esd' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.occupancy _item_description.description ; _pdbx_phasing_MAD_set_site.occupancy records the fraction of the atom type presented at this site. ; _item.name '_pdbx_phasing_MAD_set_site.occupancy' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.occupancy' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.occupancy_esd _item_description.description ; _pdbx_phasing_MAD_set_site.occupancy_esd records estimated standard deviation of the fraction of the atom type presented at this site. ; _item.name '_pdbx_phasing_MAD_set_site.occupancy_esd' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.occupancy_esd' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ### new items for _phasing_MAD_set ### save__phasing_MAD_set.pdbx_atom_type _item_description.description ; record the type of heavy atoms which produce anomolous singal. ; _item.name '_phasing_MAD_set.pdbx_atom_type' _item.category_id phasing_MAD_set _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_phasing_MAD_set.pdbx_atom_type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD_set.pdbx_f_prime_refined _item_description.description ; record the refined f_prime (not from experiment). ; _item.name '_phasing_MAD_set.pdbx_f_prime_refined' _item.category_id phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD_set.pdbx_f_prime_refined' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MAD_set.pdbx_f_double_prime_refined _item_description.description ; record the refined f_double_prime (not from experiment). ; _item.name '_phasing_MAD_set.pdbx_f_double_prime_refined' _item.category_id phasing_MAD_set _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MAD_set.pdbx_f_double_prime_refined' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### new items for _pdbx_phasing_MAD_set_site ### save__pdbx_phasing_MAD_set_site.set_id _item_description.description ; record the phasing set. ; _item.name '_pdbx_phasing_MAD_set_site.set_id' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.set_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MAD_set_site.occupancy_iso _item_description.description ; The relative real isotropic occupancy of the atom type present at this heavy-atom site in a given atom site. ; _item.name '_pdbx_phasing_MAD_set_site.occupancy_iso' _item.category_id pdbx_phasing_MAD_set_site _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MAD_set_site.occupancy_iso' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### new items for _refine_ls_restr_ncs ### save__refine_ls_restr_ncs.pdbx_ordinal _item_description.description ; An ordinal index for the list of NCS restraints. ; _item.name '_refine_ls_restr_ncs.pdbx_ordinal' _item.category_id refine_ls_restr_ncs _item.mandatory_code yes _item_type.code int _item_aliases.alias_name '_refine_ls_restr_ncs.pdbx_ordinal' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine_ls_restr_ncs.pdbx_type _item_description.description ; The type of NCS restraint. (for example: tight positional) ; _item.name '_refine_ls_restr_ncs.pdbx_type' _item.category_id refine_ls_restr_ncs _item.mandatory_code yes _item_type.code text _item_aliases.alias_name '_refine_ls_restr_ncs.pdbx_type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine_ls_restr_ncs.pdbx_asym_id _item_description.description ; A reference to _struct_asym.id. ; _item.name '_refine_ls_restr_ncs.pdbx_asym_id' _item.category_id refine_ls_restr_ncs _item.mandatory_code no _item_type.code code _item_aliases.alias_name '_refine_ls_restr_ncs.pdbx_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_linked.child_name '_refine_ls_restr_ncs.pdbx_asym_id' _item_linked.parent_name '_struct_asym.id' save_ save__refine_ls_restr_ncs.pdbx_auth_asym_id _item_description.description ; A reference to the PDB Chain ID ; _item.name '_refine_ls_restr_ncs.pdbx_auth_asym_id' _item.category_id refine_ls_restr_ncs _item.mandatory_code yes _item_type.code code _item_aliases.alias_name '_refine_ls_restr_ncs.pdbx_auth_asym_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _item_linked.child_name '_refine_ls_restr_ncs.pdbx_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__refine_ls_restr_ncs.pdbx_number _item_description.description ; Records the number restraints in the contributing to the RMS statistic. ; _item.name '_refine_ls_restr_ncs.pdbx_number' _item.category_id refine_ls_restr_ncs _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_refine_ls_restr_ncs.pdbx_number' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 _pdbx_item_description.name "_refine_ls_restr_ncs.pdbx_number" _pdbx_item_description.description "total number of atom pairs in the ncs group (in phenix) or total number of restraints in the ncs group (in refmacs)" save_ save__refine_ls_restr_ncs.pdbx_rms _item_description.description ; Records the standard deviation in the restraint between NCS related domains. ; _item.name '_refine_ls_restr_ncs.pdbx_rms' _item.category_id refine_ls_restr_ncs _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_refine_ls_restr_ncs.pdbx_rms' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__refine_ls_restr_ncs.pdbx_weight _item_description.description ; Records the weight used for NCS restraint. ; _item.name '_refine_ls_restr_ncs.pdbx_weight' _item.category_id refine_ls_restr_ncs _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_refine_ls_restr_ncs.pdbx_weight' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### new items for _struct_ncs_dom_lim ### save__struct_ncs_dom_lim.pdbx_component_id _item_description.description ; Record number of the NCS domain limit assignment. ; _item.name '_struct_ncs_dom_lim.pdbx_component_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code yes _item_type.code int _item_aliases.alias_name '_struct_ncs_dom_lim.pdbx_component_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__struct_ncs_dom_lim.pdbx_refine_code _item_description.description ; record the refinement code number (from CCP4.) ; _item.name '_struct_ncs_dom_lim.pdbx_refine_code' _item.category_id struct_ncs_dom_lim _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_struct_ncs_dom_lim.pdbx_refine_code' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### new items for _refine_analyze ### save__refine_analyze.pdbx_Luzzati_d_res_high_obs _item_description.description ; record the high resolution for calculating Luzzati statistics. ; _item.name '_refine_analyze.pdbx_Luzzati_d_res_high_obs' _item.category_id refine_analyze _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_refine_analyze.pdbx_Luzzati_d_res_high_obs' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ #------------------------------- ### new items for _phasing_MIR_shell ### save__phasing_MIR.pdbx_number_derivatives _item_description.description ; The number of derivatives used in this phasing experiment. ; _item.name '_phasing_MIR.pdbx_number_derivatives' _item.category_id phasing_MIR _item.mandatory_code no _item_type.code int save_ save__phasing_MIR_shell.pdbx_loc_centric _item_description.description ; record lack of closure from centric reflection for each shell. ; _item.name '_phasing_MIR_shell.pdbx_loc_centric' _item.category_id phasing_MIR_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_shell.pdbx_loc_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_shell.pdbx_loc_acentric _item_description.description ; record lack of closure from acentric reflection for each shell. ; _item.name '_phasing_MIR_shell.pdbx_loc_acentric' _item.category_id phasing_MIR_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_shell.pdbx_loc_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_shell.pdbx_power_centric _item_description.description ; record phasing power from centric reflection for each shell. ; _item.name '_phasing_MIR_shell.pdbx_power_centric' _item.category_id phasing_MIR_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_shell.pdbx_power_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_shell.pdbx_power_acentric _item_description.description ; record phasing power from acentric reflection for each shell. ; _item.name '_phasing_MIR_shell.pdbx_power_acentric' _item.category_id phasing_MIR_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_shell.pdbx_power_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_shell.pdbx_R_kraut_centric _item_description.description ; record R_Kraut from from centric reflection for each shell. ; _item.name '_phasing_MIR_shell.pdbx_R_kraut_centric' _item.category_id phasing_MIR_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_shell.pdbx_R_kraut_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_shell.pdbx_R_kraut_acentric _item_description.description ; record R_kraut from from acentric reflection for each shell. ; _item.name '_phasing_MIR_shell.pdbx_R_kraut_acentric' _item.category_id phasing_MIR_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_shell.pdbx_R_kraut_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_shell.pdbx_R_cullis_centric _item_description.description ; record R_Cullis from from centric reflection for each shell. ; _item.name '_phasing_MIR_shell.pdbx_R_cullis_centric' _item.category_id phasing_MIR_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_shell.pdbx_R_cullis_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_shell.pdbx_R_cullis_acentric _item_description.description ; record R_Cullis from from acentric reflection for each shell. ; _item.name '_phasing_MIR_shell.pdbx_R_cullis_acentric' _item.category_id phasing_MIR_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_shell.pdbx_R_cullis_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### new items for _phasing_MIR_der ### save__phasing_MIR_der.pdbx_R_kraut_centric _item_description.description ; record R_kraut obtained from centric data for each derivative. ; _item.name '_phasing_MIR_der.pdbx_R_kraut_centric' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der.pdbx_R_kraut_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der.pdbx_R_kraut_acentric _item_description.description ; record R_kraut obtained from acentric data for each derivative. ; _item.name '_phasing_MIR_der.pdbx_R_kraut_acentric' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der.pdbx_R_kraut_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der.pdbx_R_kraut _item_description.description ; record R_kraut obtained from all data data for each derivative. ; _item.name '_phasing_MIR_der.pdbx_R_kraut' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der.pdbx_R_kraut' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der.pdbx_loc_centric _item_description.description ; record lack of closure obtained from centric data for each derivative. ; _item.name '_phasing_MIR_der.pdbx_loc_centric' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der.pdbx_loc_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der.pdbx_loc_acentric _item_description.description ; record lack of closure obtained from acentric data for each derivative. ; _item.name '_phasing_MIR_der.pdbx_loc_acentric' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der.pdbx_loc_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der.pdbx_loc _item_description.description ; record lack of closure obtained from all data for each derivative. ; _item.name '_phasing_MIR_der.pdbx_loc' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der.pdbx_loc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der.pdbx_fom_centric _item_description.description ; record figure of merit obtained from centric data for each derivative. ; _item.name '_phasing_MIR_der.pdbx_fom_centric' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der.pdbx_fom_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der.pdbx_fom_acentric _item_description.description ; record figure of merit obtained from acentric data for each derivative. ; _item.name '_phasing_MIR_der.pdbx_fom_acentric' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der.pdbx_fom_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der.pdbx_fom _item_description.description ; record figure of merit obtained from all data for each derivative. ; _item.name '_phasing_MIR_der.pdbx_fom' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der.pdbx_fom' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der.pdbx_power _item_description.description ; record phasing power for each derivative. ; _item.name '_phasing_MIR_der.pdbx_power' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der.pdbx_power' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der.pdbx_R_cullis _item_description.description ; record R_cullis for each derivative. ; _item.name '_phasing_MIR_der.pdbx_R_cullis' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der.pdbx_R_cullis' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der.pdbx_reflns _item_description.description ; record number of reflections used for each derivative. ; _item.name '_phasing_MIR_der.pdbx_reflns' _item.category_id phasing_MIR_der _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_phasing_MIR_der.pdbx_reflns' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ### new items for _phasing_MIR_der_shell ### save__phasing_MIR_der_shell.pdbx_R_cullis_centric _item_description.description ; record R Cullis obtained from centric data for each derivative, but broken into resolution shells ; _item.name '_phasing_MIR_der_shell.pdbx_R_cullis_centric' _item.category_id phasing_MIR_der_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der_shell.pdbx_R_cullis_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der_shell.pdbx_R_cullis_acentric _item_description.description ; record R Cullis obtained from acentric data for each derivative, but broken into resolution shells ; _item.name '_phasing_MIR_der_shell.pdbx_R_cullis_acentric' _item.category_id phasing_MIR_der_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der_shell.pdbx_R_cullis_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der_shell.pdbx_R_kraut_centric _item_description.description ; record R Kraut obtained from centric data for each derivative, but broken into resolution shells ; _item.name '_phasing_MIR_der_shell.pdbx_R_kraut_centric' _item.category_id phasing_MIR_der_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der_shell.pdbx_R_kraut_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der_shell.pdbx_R_kraut_acentric _item_description.description ; record R Kraut obtained from acentric data for each derivative, but broken into resolution shells ; _item.name '_phasing_MIR_der_shell.pdbx_R_kraut_acentric' _item.category_id phasing_MIR_der_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der_shell.pdbx_R_kraut_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der_shell.pdbx_loc_centric _item_description.description ; record lack of closure obtained from centric data for each derivative, but broken into resolution shells ; _item.name '_phasing_MIR_der_shell.pdbx_loc_centric' _item.category_id phasing_MIR_der_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der_shell.pdbx_loc_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der_shell.pdbx_loc_acentric _item_description.description ; record lack of closure obtained from acentric data for each derivative, but broken into resolution shells ; _item.name '_phasing_MIR_der_shell.pdbx_loc_acentric' _item.category_id phasing_MIR_der_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der_shell.pdbx_loc_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der_shell.pdbx_power_centric _item_description.description ; record phasing power obtained from centric data for each derivative, but broken into resolution shells ; _item.name '_phasing_MIR_der_shell.pdbx_power_centric' _item.category_id phasing_MIR_der_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der_shell.pdbx_power_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der_shell.pdbx_power_acentric _item_description.description ; record phasing power obtained from acentric data for each derivative, but broken into resolution shells ; _item.name '_phasing_MIR_der_shell.pdbx_power_acentric' _item.category_id phasing_MIR_der_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der_shell.pdbx_power_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der_shell.pdbx_fom_centric _item_description.description ; record figure of merit obtained from centric data for each derivative, but broken into resolution shells ; _item.name '_phasing_MIR_der_shell.pdbx_fom_centric' _item.category_id phasing_MIR_der_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der_shell.pdbx_fom_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der_shell.pdbx_fom_acentric _item_description.description ; record figure of merit obtained from acentric data for each derivative, but broken into resolution shells ; _item.name '_phasing_MIR_der_shell.pdbx_fom_acentric' _item.category_id phasing_MIR_der_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der_shell.pdbx_fom_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der_shell.pdbx_reflns_centric _item_description.description ; record number of centric reflections used for phasing for each derivative, but broken into resolution shells ; _item.name '_phasing_MIR_der_shell.pdbx_reflns_centric' _item.category_id phasing_MIR_der_shell _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_phasing_MIR_der_shell.pdbx_reflns_centric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__phasing_MIR_der_shell.pdbx_reflns_acentric _item_description.description ; record number of acentric reflections used for phasing for each derivative, but broken into resolution shells ; _item.name '_phasing_MIR_der_shell.pdbx_reflns_acentric' _item.category_id phasing_MIR_der_shell _item.mandatory_code no _item_type.code int _item_aliases.alias_name '_phasing_MIR_der_shell.pdbx_reflns_acentric' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ ## ### category, _pdbx_phasing_MR save_pdbx_phasing_MR _category.description ; Data items in the PDBX_PHASING_MR category record details about molecular replacement. ; _category.id pdbx_phasing_MR _category.mandatory_code no _category_key.name '_pdbx_phasing_MR.entry_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'phasing_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - molecular replacement example from program CNS. ; ; _pdbx_phasing_MR.entry_id ABC001 _pdbx_phasing_MR.method_rotation 'real-space rotation search' _pdbx_phasing_MR.d_res_high_rotation 3.8 _pdbx_phasing_MR.d_res_low_rotation 13.0 _pdbx_phasing_MR.sigma_F_rotation 1.0 _pdbx_phasing_MR.reflns_percent_rotation 97.8 _pdbx_phasing_MR.method_translation 'gerneral using PC-refinement= e2e2' _pdbx_phasing_MR.d_res_high_translation 4.0 _pdbx_phasing_MR.d_res_low_translation 15.0 _pdbx_phasing_MR.sigma_F_translation 0 _pdbx_phasing_MR.reflns_percent_translation 97.7 _pdbx_phasing_MR.correlation_coeff_Fo_to_Fc 0.586 _pdbx_phasing_MR.packing 0.3086 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_phasing_MR.entry_id _item_description.description ; The value of _pdbx_phasing_MR.entry_id identifies the data block. ; _item.name '_pdbx_phasing_MR.entry_id' _item.category_id pdbx_phasing_MR _item.mandatory_code yes _item_type.code code _item_aliases.alias_name '_pdbx_phasing_MR.entry_id' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.method_rotation _item_description.description ; The value of _pdbx_phasing_MR.method_rotation identifies the method used for rotation search. For example, the rotation method may be realspace, fastdirect, or direct. . ; _item.name '_pdbx_phasing_MR.method_rotation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code line _item_aliases.alias_name '_pdbx_phasing_MR.method_rotation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.d_res_high_rotation _item_description.description ; The value of _pdbx_phasing_MR.d_res_high_rotation identifies the highest resolution used for rotation search. ; _item.name '_pdbx_phasing_MR.d_res_high_rotation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.d_res_high_rotation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.d_res_low_rotation _item_description.description ; The value of _pdbx_phasing_MR.d_res_low_rotation identifies the lowest resolution used for rotation search. ; _item.name '_pdbx_phasing_MR.d_res_low_rotation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.d_res_low_rotation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.sigma_F_rotation _item_description.description ; The value of _pdbx_phasing_MR.sigma_F_rotation identifies the sigma cut off of structure factor used for rotation search. ; _item.name '_pdbx_phasing_MR.sigma_F_rotation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.sigma_F_rotation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.sigma_I_rotation _item_description.description ; The value of _pdbx_phasing_MR.sigma_I_rotation identifies the sigma cut off of intensity used for rotation search. ; _item.name '_pdbx_phasing_MR.sigma_I_rotation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.sigma_I_rotation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.reflns_percent_rotation _item_description.description ; The value of _pdbx_phasing_MR.reflns_percent_rotation identifies the completness of data used for rotation search. ; _item.name '_pdbx_phasing_MR.reflns_percent_rotation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.reflns_percent_rotation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.method_translation _item_description.description ; The value of _pdbx_phasing_MR.method_translation identifies the method used for translation search. For example in CNS, the translation method may be "general" or "phased" with PC refinement target using "fastf2f2" "e2e2" "e1e1" "f2f2" "f1f1" "residual" "vector". . ; _item.name '_pdbx_phasing_MR.method_translation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code line _item_aliases.alias_name '_pdbx_phasing_MR.method_translation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.d_res_high_translation _item_description.description ; The value of _pdbx_phasing_MR.d_res_high_translation identifies the highest resolution used for translation search. ; _item.name '_pdbx_phasing_MR.d_res_high_translation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.d_res_high_translation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.d_res_low_translation _item_description.description ; The value of _pdbx_phasing_MR.d_res_low_translation identifies the lowest resolution used for translation search. ; _item.name '_pdbx_phasing_MR.d_res_low_translation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.d_res_low_translation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.sigma_F_translation _item_description.description ; The value of _pdbx_phasing_MR.sigma_F_translation identifies the sigma cut off of structure factor used for translation search. ; _item.name '_pdbx_phasing_MR.sigma_F_translation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.sigma_F_translation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.sigma_I_translation _item_description.description ; The value of _pdbx_phasing_MR.sigma_I_translation identifies the sigma cut off of intensity used for translation search. ; _item.name '_pdbx_phasing_MR.sigma_I_translation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.sigma_I_translation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.reflns_percent_translation _item_description.description ; The value of _pdbx_phasing_MR.reflns_percent_translation identifies the completness of data used for translation search. ; _item.name '_pdbx_phasing_MR.reflns_percent_translation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.reflns_percent_translation' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.correlation_coeff_Io_to_Ic _item_description.description ; The value of _pdbx_phasing_MR.correlation_coeff_Io_to_Ic identifies the correlation between the observed and the calculated intensity (~|F|^2) after rotation and translation. ; _item.name '_pdbx_phasing_MR.correlation_coeff_Io_to_Ic' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.correlation_coeff_Io_to_Ic' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.correlation_coeff_Fo_to_Fc _item_description.description ; The value of _pdbx_phasing_MR.correlation_coeff_Fo_to_Fc identifies the correlation between the observed and the calculated structure factor after rotation and translation. ; _item.name '_pdbx_phasing_MR.correlation_coeff_Fo_to_Fc' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.correlation_coeff_Fo_to_Fc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.R_factor _item_description.description ; The value of _pdbx_phasing_MR.R_factor identifies the R factor (defined as uasual) after rotation and translation. ; _item.name '_pdbx_phasing_MR.R_factor' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.R_factor' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.R_rigid_body _item_description.description ; The value of _pdbx_phasing_MR.R_rigid_body identifies the R factor for rigid body refinement after rotation and translation.(In general, rigid body refinement has to be carried out after molecular replacement. ; _item.name '_pdbx_phasing_MR.R_rigid_body' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.R_rigid_body' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.packing _item_description.description ; The value of _pdbx_phasing_MR.packing identifies the packing of search model in the unit cell. Too many crystallographic contacts may indicate a bad search. ; _item.name '_pdbx_phasing_MR.packing' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_pdbx_phasing_MR.packing' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.model_details _item_description.description ; The value of _pdbx_phasing_MR.model_details records the details of model used. For example, the original model can be truncated by deleting side chains, doubtful parts, using the monomer if the original model was an oligomer. The search model may be one domain of a large molecule. What is the pdb IDs. ; _item.name '_pdbx_phasing_MR.model_details' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_pdbx_phasing_MR.model_details' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__pdbx_phasing_MR.native_set_id _item_description.description ; The data set that was treated as the native in this experiment. This data item is a pointer to _phasing_set.id in the PHASING_SET category. ; _item.name '_pdbx_phasing_MR.native_set_id' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code line _item_linked.child_name '_pdbx_phasing_MR.native_set_id' _item_linked.parent_name '_phasing_set.id' save_ save__phasing_set.pdbx_temp_details _item_description.description ; The value of _phasing_set.pdbx_temp_details describes any special details about the data collection temperature for this phasing data set. ; _item.name '_phasing_set.pdbx_temp_details' _item.category_id phasing_set _item.mandatory_code no _item_type.code text save_ save__phasing_set.pdbx_d_res_high _item_description.description ; The smallest value in angstroms for the interplanar spacings for the reflections in this shell. This is called the highest resolution. ; _item.name '_phasing_set.pdbx_d_res_high' _item.category_id phasing_set _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__phasing_set.pdbx_d_res_low _item_description.description ; The highest value in angstroms for the interplanar spacings for the reflections in this shell. This is called the lowest resolution. ; _item.name '_phasing_set.pdbx_d_res_low' _item.category_id phasing_set _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code angstroms save_ save__refln.pdbx_anom_difference _item_description.description ; The amplitude difference of the Friedel pair, D(hkl) = F(hkl) - F(-h-k-l). ; _item.name '_refln.pdbx_anom_difference' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_anom_difference_sigma _item_description.description ; The standard deviation of the amplitude difference of the Friedel pair, D(hkl) = F(hkl) - F(-h-k-l). ; _item.name '_refln.pdbx_anom_difference_sigma' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_I_plus _item_description.description ; The intensity of the I(h,k,l) partner of the Friedel pair. ; _item.name '_refln.pdbx_I_plus' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_I_minus _item_description.description ; The intensity of the I(-h,-k,-l) partner of the Friedel pair. ; _item.name '_refln.pdbx_I_minus' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_F_plus _item_description.description ; The structure factor F(h,k,l) of the Friedel pair. ; _item.name '_refln.pdbx_F_plus' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_F_minus _item_description.description ; The structure factor F(-h,-k,-l) of the Friedel pair. ; _item.name '_refln.pdbx_F_minus' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_I_plus_sigma _item_description.description ; The standard uncertainty (derived from measurement) of the intensity I(h,k,l) partner of the Friedel pair. ; _item.name '_refln.pdbx_I_plus_sigma' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_I_minus_sigma _item_description.description ; The standard uncertainty (derived from measurement) of the intensity I(-h,-k,-l) partner of the Friedel pair. ; _item.name '_refln.pdbx_I_minus_sigma' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_F_minus_sigma _item_description.description ; The standard uncertainty (derived from measurement) of the structure factor F(-h,-k,-l) of the Friedel pair. ; _item.name '_refln.pdbx_F_minus_sigma' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_F_plus_sigma _item_description.description ; The standard uncertainty (derived from measurement) of the structure factor F(h,k,l) of the Friedel pair. ; _item.name '_refln.pdbx_F_plus_sigma' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_HL_A_iso _item_description.description ; The isomorphous Hendrickson-Lattman coefficient A~iso~ for this reflection. Ref: Hendrickson, W. A. & Lattman, E. E. (1970). Acta Cryst. B26, 136-143. ; _item.name '_refln.pdbx_HL_A_iso' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_HL_B_iso _item_description.description ; The isomorphous Hendrickson-Lattman coefficient B~iso~ for this reflection. Ref: Hendrickson, W. A. & Lattman, E. E. (1970). Acta Cryst. B26, 136-143. ; _item.name '_refln.pdbx_HL_B_iso' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_HL_C_iso _item_description.description ; The isomorphous Hendrickson-Lattman coefficient C~iso~ for this reflection. Ref: Hendrickson, W. A. & Lattman, E. E. (1970). Acta Cryst. B26, 136-143. ; _item.name '_refln.pdbx_HL_C_iso' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_HL_D_iso _item_description.description ; The isomorphous Hendrickson-Lattman coefficient D~iso~ for this reflection. Ref: Hendrickson, W. A. & Lattman, E. E. (1970). Acta Cryst. B26, 136-143. ; _item.name '_refln.pdbx_HL_D_iso' _item.category_id refln _item.mandatory_code no _item_type.code float save_ ## # save_pdbx_refine_component _category.description ; Data items in the PDBX_REFINE_COMPONENT category record statistics of the final model relative to the density map. ; _category.id pdbx_refine_component _category.mandatory_code no loop_ _category_key.name '_pdbx_refine_component.label_alt_id' '_pdbx_refine_component.label_asym_id' '_pdbx_refine_component.label_comp_id' '_pdbx_refine_component.label_seq_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'refine_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; #-- ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_refine_component.label_alt_id _item_description.description ; A component of the identifier for the component. This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; _item.name '_pdbx_refine_component.label_alt_id' _item.category_id pdbx_refine_component _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_refine_component.label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_refine_component.label_asym_id _item_description.description ; A component of the identifier for the component. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_refine_component.label_asym_id' _item.category_id pdbx_refine_component _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_refine_component.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_refine_component.label_comp_id _item_description.description ; A component of the identifier for the component. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_refine_component.label_comp_id' _item.category_id pdbx_refine_component _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_refine_component.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_refine_component.label_seq_id _item_description.description ; A component of the identifier for the component. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_refine_component.label_seq_id' _item.category_id pdbx_refine_component _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_refine_component.label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_refine_component.auth_asym_id _item_description.description ; A component of the identifier for the component. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_refine_component.auth_asym_id' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_refine_component.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_refine_component.auth_comp_id _item_description.description ; A component of the identifier for the component. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_refine_component.auth_comp_id' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_refine_component.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_refine_component.auth_seq_id _item_description.description ; A component of the identifier for the component. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_refine_component.auth_seq_id' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_refine_component.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_refine_component.PDB_ins_code _item_description.description ; A component of the identifier for the component. This data item is a pointer to _atom_site.pdbx_PDB_ins_code ATOM_SITE category. ; _item.name '_pdbx_refine_component.PDB_ins_code' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_refine_component.PDB_ins_code' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_refine_component.B_iso _item_description.description ; The average isotropic B factors for the group of atoms (e.g. residue or ligand, side chain, main chain). The B factors for each atom is given by _atom_site.B_iso_or_equiv ; _item.name '_pdbx_refine_component.B_iso' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.B_iso_main_chain _item_description.description ; The average isotropic B factors for the group of atoms (e.g. residue or ligand, side chain, main chain). The B factors for each atom is given by _atom_site.B_iso_or_equiv ; _item.name '_pdbx_refine_component.B_iso_main_chain' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.B_iso_side_chain _item_description.description ; The average isotropic B factors for the group of atoms (e.g. residue or ligand, side chain, main chain). The B factors for each atom is given by _atom_site.B_iso_or_equiv ; _item.name '_pdbx_refine_component.B_iso_side_chain' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.shift _item_description.description ; The tendency of the group of atoms (e.g. residue or ligand, side chain, main chain) to move away from its current position. Displacement of atoms from electron density is estimated from the difference (Fobs - Fcal) map. The displacement vector is the ratio of the gradient of difference density to the curvature. The amplitude of the displacement vector is an indicator of the positional error. Ref: Vaguine, A.A., Richelle, J. & Wodak, S.J. (1999). Acta Cryst. D55,199-205 ; _item.name '_pdbx_refine_component.shift' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.shift_side_chain _item_description.description ; The tendency of the group of atoms (e.g. residue or ligand, side chain, main chain) to move away from its current position. Displacement of atoms from electron density is estimated from the difference (Fobs - Fcal) map. The displacement vector is the ratio of the gradient of difference density to the curvature. The amplitude of the displacement vector is an indicator of the positional error. Ref: Vaguine, A.A., Richelle, J. & Wodak, S.J. (1999). Acta Cryst. D55,199-205 ; _item.name '_pdbx_refine_component.shift_side_chain' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.shift_main_chain _item_description.description ; The tendency of the group of atoms (e.g. residue or ligand, side chain, main chain) to move away from its current position. Displacement of atoms from electron density is estimated from the difference (Fobs - Fcal) map. The displacement vector is the ratio of the gradient of difference density to the curvature. The amplitude of the displacement vector is an indicator of the positional error. Ref: Vaguine, A.A., Richelle, J. & Wodak, S.J. (1999). Acta Cryst. D55,199-205 ; _item.name '_pdbx_refine_component.shift_main_chain' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.correlation _item_description.description ; Correlation coefficient of electron density for each residue or ligand, side chain, main chain The density correlation coefficient is calculated for each component from atomic densities of (2Fobs-Fcalc) map - "Robs" and the model map (Fcalc) - "Rcalc" : D_corr = /sqrt() where is the mean of "observed" densities of atoms of the component (backbone or side chain). is the mean of "calculated" densities of component atoms. The value of density for some atom from map R(x) is: sum_i ( R(xi) * Ratom(xi - xa) ) Dens = ---------------------------------- sum_i ( Ratom(xi - xa) ) where Ratom(x) is atomic electron density for the x-th grid point. xa - vector of the centre of atom. xi - vector of the i-th point of grid. Sum is taken over all grid points which have distance from the center of the atom less than the Radius_limit. For all atoms Radius_limit = 2.5 A. Ref: Vaguine, A.A., Richelle, J. & Wodak, S.J. (1999). Acta Cryst. D55,199-205 ; _item.name '_pdbx_refine_component.correlation' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.correlation_side_chain _item_description.description ; Correlation coefficient of electron density for each residue or ligand, side chain, main chain The density correlation coefficient is calculated for each component from atomic densities of (2Fobs-Fcalc) map - "Robs" and the model map (Fcalc) - "Rcalc" : D_corr = /sqrt() where is the mean of "observed" densities of atoms of the component (backbone or side chain). is the mean of "calculated" densities of component atoms. The value of density for some atom from map R(x) is: sum_i ( R(xi) * Ratom(xi - xa) ) Dens = ---------------------------------- sum_i ( Ratom(xi - xa) ) where Ratom(x) is atomic electron density for the x-th grid point. xa - vector of the centre of atom. xi - vector of the i-th point of grid. Sum is taken over all grid points which have distance from the center of the atom less than the Radius_limit. For all atoms Radius_limit = 2.5 A. Ref: Vaguine, A.A., Richelle, J. & Wodak, S.J. (1999). Acta Cryst. D55,199-205 ; _item.name '_pdbx_refine_component.correlation_side_chain' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.correlation_main_chain _item_description.description ; Correlation coefficient of electron density for each residue or ligand, side chain, main chain The density correlation coefficient is calculated for each component from atomic densities of (2Fobs-Fcalc) map - "Robs" and the model map (Fcalc) - "Rcalc" : D_corr = /sqrt() where is the mean of "observed" densities of atoms of the component (backbone or side chain). is the mean of "calculated" densities of component atoms. The value of density for some atom from map R(x) is: sum_i ( R(xi) * Ratom(xi - xa) ) Dens = ---------------------------------- sum_i ( Ratom(xi - xa) ) where Ratom(x) is atomic electron density for the x-th grid point. xa - vector of the centre of atom. xi - vector of the i-th point of grid. Sum is taken over all grid points which have distance from the center of the atom less than the Radius_limit. For all atoms Radius_limit = 2.5 A. Ref: Vaguine, A.A., Richelle, J. & Wodak, S.J. (1999). Acta Cryst. D55,199-205 ; _item.name '_pdbx_refine_component.correlation_main_chain' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.real_space_R _item_description.description ; Real space R factor of electron density for each component, residue side chain, or main chain. The real space R factor is calculated by the equation R_real = [Sum~i (|Dobs - Dcal|)]/[Sum~i (|Dobs + Dcal|)] Where: Dobs is the observed electron density, Dcal is the calculated electron density, summation is for all the grid points Ref: Branden, C.I. & Jones, T.A. (1990). Nature, 343, 687-689 ; _item.name '_pdbx_refine_component.real_space_R' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.real_space_R_side_chain _item_description.description ; Real space R factor of electron density for each component, residue side chain, or main chain. The real space R factor is calculated by the equation R_real = [Sum~i (|Dobs - Dcal|)]/[Sum~i (|Dobs + Dcal|)] Where: Dobs is the observed electron density, Dcal is the calculated electron density, summation is for all the grid points Ref: Branden, C.I. & Jones, T.A. (1990). Nature, 343, 687-689 ; _item.name '_pdbx_refine_component.real_space_R_side_chain' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.real_space_R_main_chain _item_description.description ; Real space R factor of electron density for each component, residue side chain, or main chain. The real space R factor is calculated by the equation R_real = [Sum~i (|Dobs - Dcal|)]/[Sum~i (|Dobs + Dcal|)] Where: Dobs is the observed electron density, Dcal is the calculated electron density, summation is for all the grid points Ref: Branden, C.I. & Jones, T.A. (1990). Nature, 343, 687-689 ; _item.name '_pdbx_refine_component.real_space_R_main_chain' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.connect _item_description.description ; The index of connectivity is the product of the (2Fobs-Fcal) electron density values for the backbone atoms (N, CA and C) divided by the average value for the structure. Low values (less than 1.0) of this index indicate breaks in the backbone electron density which may be due to flexibility of the chain or incorrect tracing. connect = [(D(xi)...D(xi))^(1/N)] /_all Where: D(xi) = (2*Fobs - Fcal) _all is the averaged value of density for the structure. The product is for N atoms of group. Ref: Vaguine, A.A., Richelle, J. & Wodak, S.J. (1999). Acta Cryst. D55,199-205 ; _item.name '_pdbx_refine_component.connect' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.density_index _item_description.description ; The index of density is the product of the (2Fobs-Fcal) electron density values for the group of atoms divided by the average value for the structure. Low values (less than 1.0) may be problematic for model fitting. index = [(D(xi)...D(xi))^(1/N)] /_all Where : D(xi) = (2*Fobs - Fcal) _all is the averaged value of density for the structure. The product is for N atoms of group. Ref: Vaguine, A.A., Richelle, J. & Wodak, S.J. (1999). Acta Cryst. D55,199-205 ; _item.name '_pdbx_refine_component.density_index' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.density_index_main_chain _item_description.description ; The index of density is the product of the (2Fobs-Fcal) electron density values for the group of atoms divided by the average value for the structure. Low values (less than 1.0) may be problematic for model fitting. index = [(D(xi)...D(xi))^(1/N)] /_all Where : D(xi) = (2*Fobs - Fcal) _all is the averaged value of density for the structure. The product is for N atoms of group. Ref: Vaguine, A.A., Richelle, J. & Wodak, S.J. (1999). Acta Cryst. D55,199-205 ; _item.name '_pdbx_refine_component.density_index_main_chain' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.density_index_side_chain _item_description.description ; The index of density is the product of the (2Fobs-Fcal) electron density values for the group of atoms divided by the average value for the structure. Low values (less than 1.0) may be problematic for model fitting. index = [(D(xi)...D(xi))^(1/N)] /_all Where : D(xi) = (2*Fobs - Fcal) _all is the averaged value of density for the structure. The product is for N atoms of group. Ref: Vaguine, A.A., Richelle, J. & Wodak, S.J. (1999). Acta Cryst. D55,199-205 ; _item.name '_pdbx_refine_component.density_index_side_chain' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.density_ratio _item_description.description ; The density ratio is similar to the density index, but summation of the density for the group is used for calculation. The ratio of density is the summation of the (2Fobs-Fcal) electron density values for the group of atoms divided by the average value for the structure. Low values (less than 0.4) of this ratio may be problematic for the group. index = [Sum~i D(xi)]/_all Where: D(xi) = (2*Fobs - Fcal) _all is the average value of density for the structure. The summation is for all the atoms of group. ; _item.name '_pdbx_refine_component.density_ratio' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.density_ratio_main_chain _item_description.description ; The density ratio is similar to the density index, but summation of the density for the group is used for calculation. The ratio of density is the summation of the (2Fobs-Fcal) electron density values for the group of atoms divided by the average value for the structure. Low values (less than 0.4) of this ratio may be problematic for the group. index = [Sum~i D(xi)]/_all Where: D(xi) = (2*Fobs - Fcal) _all is the average value of density for the structure. The summation is for all the atoms of group. ; _item.name '_pdbx_refine_component.density_ratio_main_chain' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ save__pdbx_refine_component.density_ratio_side_chain _item_description.description ; The density ratio is similar to the density index, but summation of the density for the group is used for calculation. The ratio of density is the summation of the (2Fobs-Fcal) electron density values for the group of atoms divided by the average value for the structure. Low values (less than 0.4) of this ratio may be problematic for the group. index = [Sum~i D(xi)]/_all Where: D(xi) = (2*Fobs - Fcal) _all is the average value of density for the structure. The summation is for all the atoms of group. ; _item.name '_pdbx_refine_component.density_ratio_side_chain' _item.category_id pdbx_refine_component _item.mandatory_code no _item_type.code float save_ # save__refine.pdbx_real_space_R _item_description.description ; Real space R factor of electron density for all atoms. The real space R factor is calculated by the equation R_real = [Sum~i (|Dobs - Dcal|)]/[Sum~i (|Dobs + Dcal|)] Where: Dobs is the observed electron density, Dcal is the calculated electron density, summation is for all the grid points Ref: Branden, C.I. & Jones, T.A. (1990). Nature, 343, 687-689 ; _item.name '_refine.pdbx_real_space_R' _item.category_id refine _item.mandatory_code no _item_type.code float save_ save__refine.pdbx_density_correlation _item_description.description ; The density correlation coefficient is calculated from atomic densities of (2Fobs-Fcalc) map - "Robs" and the model map (Fcalc) - "Rcalc" : D_corr = /sqrt() where is the mean of "observed" densities of all atoms is the mean of "calculated" densities of all atoms. The value of density for some atom from map R(x) is: sum_i ( R(xi) * Ratom(xi - xa) ) Dens = ---------------------------------- sum_i ( Ratom(xi - xa) ) where Ratom(x) is atomic electron density for the x-th grid point. xa - vector of the centre of atom. xi - vector of the i-th point of grid. Sum is taken over all grid points which have distance from the center of the atom less than the Radius_limit. For all atoms Radius_limit = 2.5 A. Ref: Vaguine, A.A., Richelle, J. & Wodak, S.J. (1999). Acta Cryst. D55,199-205 ; _item.name '_refine.pdbx_density_correlation' _item.category_id refine _item.mandatory_code no _item_type.code float save_ # save__refln.pdbx_fiber_layer _item_description.description ; The fiber layer line for this reflection. ; _item.name '_refln.pdbx_fiber_layer' _item.category_id refln _item.mandatory_code no _item_type.code int save_ save__refln.pdbx_fiber_coordinate _item_description.description ; The coordinate position in reciprocal space along the fiber layer line for this reflection. ; _item.name '_refln.pdbx_fiber_coordinate' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_fiber_F_meas_au _item_description.description ; The measured diffraction amplitude for this fiber reflection in arbitrary units. ; _item.name '_refln.pdbx_fiber_F_meas_au' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__reflns.phase_calculation_details _item_description.description ; The value of _reflns.phase_calculation_details describes a special details about calculation of phases in _refln.phase_calc. ; _item.name '_reflns.phase_calculation_details' _item.category_id reflns _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'From model' 'NCS averaging' 'Solvent flipping' 'Solvent flattening' 'Multiple crystal averaging' 'Multiple phase modification' 'Other phase modification' save_ ## REFMAC 5.x ## save__refln.pdbx_FWT _item_description.description ; The weighted structure factor amplitude for the 2mFo-DFc map. ; _item.name '_refln.pdbx_FWT' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_PHWT _item_description.description ; The weighted phase for the 2mFo-DFc map. ; _item.name '_refln.pdbx_PHWT' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_DELFWT _item_description.description ; The weighted structure factor amplitude for the mFo-DFc map. ; _item.name '_refln.pdbx_DELFWT' _item.category_id refln _item.mandatory_code no _item_type.code float save_ save__refln.pdbx_DELPHWT _item_description.description ; The weighted phase for the mFo-DFc map. ; _item.name '_refln.pdbx_DELPHWT' _item.category_id refln _item.mandatory_code no _item_type.code float save_ ## ## ### EOF mmcif_pdbx-def-5.dic ########################################################################### # # File: mmcif_pdbx-def-6.dic # # PDB Exchange Data Dictionary # # This data dictionary contains definitions used by wwPDB for data exchange # and data processing. # # Definition Section 6 # # ########################################################################### save__entity.pdbx_target_id _item_description.description ; The value of _entity.target_id points to a TARGETDB target idenitifier from which this entity was generated. ; _item.name '_entity.pdbx_target_id' _item.category_id entity _item.mandatory_code no _item_type.code code save_ save_pdbx_entity_prod_protocol _category.description ; This category contains descriptive protocols for the production of this entity. ; _category.id pdbx_entity_prod_protocol _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_prod_protocol.entry_id' '_pdbx_entity_prod_protocol.entity_id' '_pdbx_entity_prod_protocol.protocol_type' save_ save__pdbx_entity_prod_protocol.entry_id _item_description.description ; The value of _pdbx_entity_prod_protocol.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. ; _item.name '_pdbx_entity_prod_protocol.entry_id' _item.category_id pdbx_entity_prod_protocol _item.mandatory_code yes _item_type.code code _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_entity_prod_protocol.entry_id' save_ save__pdbx_entity_prod_protocol.entity_id _item_description.description ; The value of _pdbx_entity_prod_protocol.entity_id uniquely identifies each protein contained in the project target protein complex whose structure is to be determined. This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_pdbx_entity_prod_protocol.entity_id' _item.category_id pdbx_entity_prod_protocol _item.mandatory_code yes _item_type.code code _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_entity_prod_protocol.entity_id' save_ save__pdbx_entity_prod_protocol.protocol _item_description.description ; The protocol description associated with the protocol_type employed in the production of this entity. ; _item.name '_pdbx_entity_prod_protocol.protocol' _item.category_id pdbx_entity_prod_protocol _item.mandatory_code yes _item_type.code text save_ save__pdbx_entity_prod_protocol.protocol_type _item_description.description ; The one of a set of protocol types associated with the production of this entity. ; _item.name '_pdbx_entity_prod_protocol.protocol_type' _item.category_id pdbx_entity_prod_protocol _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value "selection" "PCR" "cloning" "expression" "growth" "purification" "NMR" "other" save_ #################### ## ENTITY_SRC_GEN ## #################### #save__entity_src_gen.entity_id # _item_description.description #; This data item is a pointer to _entity.id in the ENTITY category. #; # _item.name '_entity_src_gen.entity_id' # _item.mandatory_code yes #save_ save__entity_src_gen.host_org_common_name _item_description.description ; The common name of the organism that served as host for the production of the entity. Where full details of the protein production are available it would be expected that this item be derived from _entity_src_gen_express.host_org_common_name or via _entity_src_gen_express.host_org_tax_id ; _item.name '_entity_src_gen.host_org_common_name' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'yeast' 'bacteria' save_ save__entity_src_gen.host_org_details _item_description.description ; A description of special aspects of the organism that served as host for the production of the entity. Where full details of the protein production are available it would be expected that this item would derived from _entity_src_gen_express.host_org_details ; _item.name '_entity_src_gen.host_org_details' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text save_ save__entity_src_gen.host_org_strain _item_description.description ; The strain of the organism in which the entity was expressed. Where full details of the protein production are available it would be expected that this item be derived from _entity_src_gen_express.host_org_strain or via _entity_src_gen_express.host_org_tax_id ; _item.name '_entity_src_gen.host_org_strain' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'DH5a' 'BMH 71-18' save_ save__entity_src_gen.plasmid_details _item_description.description ; A description of special aspects of the plasmid that produced the entity in the host organism. Where full details of the protein production are available it would be expected that this item would be derived from _pdbx_construct.details of the construct pointed to from _entity_src_gen_express.plasmid_id. ; _item.name '_entity_src_gen.plasmid_details' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text save_ save__entity_src_gen.plasmid_name _item_description.description ; The name of the plasmid that produced the entity in the host organism. Where full details of the protein production are available it would be expected that this item would be derived from _pdbx_construct.name of the construct pointed to from _entity_src_gen_express.plasmid_id. ; _item.name '_entity_src_gen.plasmid_name' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'pET3C' 'pT123sab' save_ save__entity_src_gen.pdbx_host_org_variant _item_description.description ; Variant of the organism used as the expression system. Where full details of the protein production are available it would be expected that this item be derived from entity_src_gen_express.host_org_variant or via _entity_src_gen_express.host_org_tax_id ; _item.name '_entity_src_gen.pdbx_host_org_variant' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'TRP-LAC' 'LAMBDA DE3' _item_aliases.alias_name '_entity_src_gen.ndb_host_org_variant' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_host_org_cell_line _item_description.description ; A specific line of cells used as the expression system. Where full details of the protein production are available it would be expected that this item would be derived from entity_src_gen_express.host_org_cell_line ; _item.name '_entity_src_gen.pdbx_host_org_cell_line' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_examples.case 'HELA' _item_aliases.alias_name '_entity_src_gen.ndb_host_org_cell_line' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_host_org_atcc _item_description.description ; Americal Tissue Culture Collection of the expression system. Where full details of the protein production are available it would be expected that this item would be derived from _entity_src_gen_express.host_org_culture_collection ; _item.name '_entity_src_gen.pdbx_host_org_atcc' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_entity_src_gen.ndb_host_org_atcc' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_host_org_culture_collection _item_description.description ; Culture collection of the expression system. Where full details of the protein production are available it would be expected that this item would be derived somehwere, but exactly where is not clear. ; _item.name '_entity_src_gen.pdbx_host_org_culture_collection' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_entity_src_gen.ndb_host_org_culture_collection' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_host_org_cell _item_description.description ; Cell type from which the gene is derived. Where entity.target_id is provided this should be derived from details of the target. ; _item.name '_entity_src_gen.pdbx_host_org_cell' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text _item_examples.case ENDOTHELIAL _item_aliases.alias_name '_entity_src_gen.ndb_host_org_cell' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_host_org_scientific_name _item_description.description ; The scientific name of the organism that served as host for the production of the entity. Where full details of the protein production are available it would be expected that this item would be derived from _entity_src_gen_express.host_org_scientific_name or via _entity_src_gen_express.host_org_tax_id ; _item.name '_entity_src_gen.pdbx_host_org_scientific_name' _item.category_id entity_src_gen _item.mandatory_code no _pdbx_item.name "_entity_src_gen.pdbx_host_org_scientific_name" _pdbx_item.mandatory_code yes _item_type.code text loop_ _item_examples.case 'ESCHERICHIA COLI' 'SACCHAROMYCES CEREVISIAE' _item_aliases.alias_name '_entity_src_gen.ndb_host_org_scientific_name' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_host_org_tissue _item_description.description ; The specific tissue which expressed the molecule. Where full details of the protein production are available it would be expected that this item would be derived from _entity_src_gen_express.host_org_tissue ; _item.name '_entity_src_gen.pdbx_host_org_tissue' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'heart' 'liver' 'eye lens' _item_aliases.alias_name '_entity_src_gen.ndb_host_org_tissue' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_host_org_vector _item_description.description ; Identifies the vector used. Where full details of the protein production are available it would be expected that this item would be derived from _entity_src_gen_clone.vector_name. ; _item.name '_entity_src_gen.pdbx_host_org_vector' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'PBIT36' 'PET15B' 'PUC18' _item_aliases.alias_name '_entity_src_gen.ndb_host_org_vector' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.pdbx_host_org_vector_type _item_description.description ; Identifies the type of vector used (plasmid, virus, or cosmid). Where full details of the protein production are available it would be expected that this item would be derived from _entity_src_gen_express.vector_type. ; _item.name '_entity_src_gen.pdbx_host_org_vector_type' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'COSMID' 'PLASMID' _item_aliases.alias_name '_entity_src_gen.ndb_host_org_vector_type' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__entity_src_gen.expression_system_id _item_description.description ; A unique identifier for the expression system. This should be extracted from a local list of expression systems. ; _item.name '_entity_src_gen.expression_system_id' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code uline save_ save__entity_src_gen.gene_src_dev_stage _item_description.description ; A string to indicate the life-cycle or cell development cycle in which the gene is expressed and the mature protein is active. ; _item.name '_entity_src_gen.gene_src_dev_stage' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code text save_ save__entity_src_gen.start_construct_id _item_description.description ; A pointer to _pdbx_construct.id in the PDBX_CONSTRUCT category. The indentified sequence is the initial construct. ; _item.name '_entity_src_gen.start_construct_id' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_entity_src_gen.start_construct_id' save_ ############################# # ENTITY_SRC_GEN_PROD_OTHER # ############################# # # _pdbx_entity_src_gen_prod_other.entry_id # _pdbx_entity_src_gen_prod_other.entity_id # _pdbx_entity_src_gen_prod_other.step_id # _pdbx_entity_src_gen_prod_other.next_step_id # _pdbx_entity_src_gen_prod_other.end_construct_id # _pdbx_entity_src_gen_prod_other.process_name # _pdbx_entity_src_gen_prod_other.date # _pdbx_entity_src_gen_prod_other.robot_id # _pdbx_entity_src_gen_prod_other.details # save_pdbx_entity_src_gen_prod_other _category.description ; This category contains details for process steps that are not explicitly catered for elsewhere. It provides some basic details as well as placeholders for a list of parameters and values (the category PDBX_ENTITY_SRC_GEN_PROD_OTHER_PARAMETER). Note that processes that have been modelled explicitly should not be represented using this category. ; _category.id pdbx_entity_src_gen_prod_other _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_prod_other.entry_id' '_pdbx_entity_src_gen_prod_other.entity_id' '_pdbx_entity_src_gen_prod_other.step_id' save_ save__pdbx_entity_src_gen_prod_other.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_prod_other.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_prod_other.entry_id' _item.category_id pdbx_entity_src_gen_prod_other _item.mandatory_code yes _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_other.entry_id' save_ save__pdbx_entity_src_gen_prod_other.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_prod_other.entity_id uniquely identifies each protein contained in the project target protein complex whose structure is to be determined. This data item is a pointer to _entity.id in the ENTITY category. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_prod_other.entity_id' _item.category_id pdbx_entity_src_gen_prod_other _item.mandatory_code yes _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_other.entity_id' save_ save__pdbx_entity_src_gen_prod_other.step_id _item_description.description ; This item is the unique identifier for this process step. ; _item.name '_pdbx_entity_src_gen_prod_other.step_id' _item.category_id pdbx_entity_src_gen_prod_other _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_prod_other.next_step_id _item_description.description ; This item unique identifier for the next production step. This allows a workflow to have multiple entry points leading to a single product. ; _item.name '_pdbx_entity_src_gen_prod_other.next_step_id' _item.category_id pdbx_entity_src_gen_prod_other _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_prod_other.end_construct_id _item_description.description ; This item is a pointer to pdbx_construct.id in the PDBX_CONSTRUCT category. The referenced nucleic acid sequence is that of the product of the process step. ; _item.name '_pdbx_entity_src_gen_prod_other.end_construct_id' _item.category_id pdbx_entity_src_gen_prod_other _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_other.end_construct_id' save_ save__pdbx_entity_src_gen_prod_other.robot_id _item_description.description ; This data item is a pointer to pdbx_robot_system.id in the PDBX_ROBOT_SYSTEM category. The referenced robot is the robot responsible for the process step ; _item.name '_pdbx_entity_src_gen_prod_other.robot_id' _item.category_id pdbx_entity_src_gen_prod_other _item.mandatory_code no _item_linked.parent_name '_pdbx_robot_system.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_other.robot_id' save_ save__pdbx_entity_src_gen_prod_other.date _item_description.description ; The date of this process step. ; _item.name '_pdbx_entity_src_gen_prod_other.date' _item.category_id pdbx_entity_src_gen_prod_other _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm loop_ _item_examples.case '2003-12-25' '2003-12-25:09:00' save_ save__pdbx_entity_src_gen_prod_other.process_name _item_description.description ; Name of this process step. ; _item.name '_pdbx_entity_src_gen_prod_other.process_name' _item.category_id pdbx_entity_src_gen_prod_other _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_prod_other.details _item_description.description ; Additional details of this process step. ; _item.name '_pdbx_entity_src_gen_prod_other.details' _item.category_id pdbx_entity_src_gen_prod_other _item.mandatory_code no _item_type.code text save_ ############################################ # PDBX_ENTITY_SRC_GEN_PROD_OTHER_PARAMETER # ############################################ # # _pdbx_entity_src_gen_prod_other_parameter.entry_id # _pdbx_entity_src_gen_prod_other_parameter.entity_id # _pdbx_entity_src_gen_prod_other_parameter.step_id # _pdbx_entity_src_gen_prod_other_parameter.name # _pdbx_entity_src_gen_prod_other_parameter.value # save_pdbx_entity_src_gen_prod_other_parameter _category.description ; This category contains parameters and values required to capture information about a particular process step ; _category.id pdbx_entity_src_gen_prod_other_parameter _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_prod_other_parameter.entry_id' '_pdbx_entity_src_gen_prod_other_parameter.entity_id' '_pdbx_entity_src_gen_prod_other_parameter.step_id' '_pdbx_entity_src_gen_prod_other_parameter.parameter' save_ save__pdbx_entity_src_gen_prod_other_parameter.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_prod_other_parameter.entry_id is a pointer to _pdbx_entity_src_gen_prod_other.entry.id ; _item.name '_pdbx_entity_src_gen_prod_other_parameter.entry_id' _item.category_id pdbx_entity_src_gen_prod_other_parameter _item.mandatory_code yes _item_linked.parent_name '_pdbx_entity_src_gen_prod_other.entry_id' _item_linked.child_name '_pdbx_entity_src_gen_prod_other_parameter.entry_id' save_ save__pdbx_entity_src_gen_prod_other_parameter.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_prod_other_parameter.entity_id is a pointer to _pdbx_entity_src_gen_prod_other.entity_id ; _item.name '_pdbx_entity_src_gen_prod_other_parameter.entity_id' _item.category_id pdbx_entity_src_gen_prod_other_parameter _item.mandatory_code yes _item_linked.parent_name '_pdbx_entity_src_gen_prod_other.entity_id' _item_linked.child_name '_pdbx_entity_src_gen_prod_other_parameter.entity_id' save_ save__pdbx_entity_src_gen_prod_other_parameter.step_id _item_description.description ; This item is a pointer to _pdbx_entity_src_gen_prod_other.step_id ; _item.name '_pdbx_entity_src_gen_prod_other_parameter.step_id' _item.category_id pdbx_entity_src_gen_prod_other_parameter _item.mandatory_code yes _item_linked.parent_name '_pdbx_entity_src_gen_prod_other.step_id' _item_linked.child_name '_pdbx_entity_src_gen_prod_other_parameter.step_id' save_ save__pdbx_entity_src_gen_prod_other_parameter.parameter _item_description.description ; The name of the parameter associated with the process step ; _item.name '_pdbx_entity_src_gen_prod_other_parameter.parameter' _item.category_id pdbx_entity_src_gen_prod_other_parameter _item.mandatory_code yes _item_type.code line save_ save__pdbx_entity_src_gen_prod_other_parameter.value _item_description.description ; The value of the parameter ; _item.name '_pdbx_entity_src_gen_prod_other_parameter.value' _item.category_id pdbx_entity_src_gen_prod_other_parameter _item.mandatory_code yes _item_type.code text save_ save__pdbx_entity_src_gen_prod_other_parameter.details _item_description.description ; Additional details about the parameter ; _item.name '_pdbx_entity_src_gen_prod_other_parameter.details' _item.category_id pdbx_entity_src_gen_prod_other_parameter _item.mandatory_code yes _item_type.code text save_ ################################ # PDBX_ENTITY_SRC_GEN_PROD_PCR # ################################ # # _pdbx_entity_src_gen_prod_pcr.entry_id # _pdbx_entity_src_gen_prod_pcr.entity_id # _pdbx_entity_src_gen_prod_pcr.step_id # _pdbx_entity_src_gen_prod_pcr.next_step_id # _pdbx_entity_src_gen_prod_pcr.end_construct_id # _pdbx_entity_src_gen_prod_pcr.forward_primer_id # _pdbx_entity_src_gen_prod_pcr.reverse_primer_id # _pdbx_entity_src_gen_prod_pcr.reaction_details # _pdbx_entity_src_gen_prod_pcr.purification_details # _pdbx_entity_src_gen_prod_pcr.date # _pdbx_entity_src_gen_prod_pcr.robot_id # # _pdbx_entity_src_gen_prod_pcr.summary # save_pdbx_entity_src_gen_prod_pcr _category.description ; This category contains details for the PCR steps used in the overall protein production process. The PCR is assumed to be applied to the result of the previous production step, or the gene source if this is the first production step. ; _category.id pdbx_entity_src_gen_prod_pcr _category.mandatory_code no loop_ _category_key.name '_pdbx_entity_src_gen_prod_pcr.entry_id' '_pdbx_entity_src_gen_prod_pcr.entity_id' '_pdbx_entity_src_gen_prod_pcr.step_id' loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - hypothetical example ; ; _pdbx_entity_src_gen_prod_pcr.entry_id 111000111 _pdbx_entity_src_gen_prod_pcr.entity_id 222000111 _pdbx_entity_src_gen_prod_pcr.step_id 1 _pdbx_entity_src_gen_prod_pcr.next_step_id 2 _pdbx_entity_src_gen_prod_pcr.end_construct_id 440050000111 _pdbx_entity_src_gen_prod_pcr.robot_id 5 _pdbx_entity_src_gen_prod_pcr.date '2002-07-12:15:13' _pdbx_entity_src_gen_prod_pcr.forward_primer_id 2 _pdbx_entity_src_gen_prod_pcr.reverse_primer_id 3 _pdbx_entity_src_gen_prod_pcr.reaction_details ; Annealing temperature = 70 C Annealing time = 60 s Extending temperature = 74 C Extending time = 120 s Melting temperature = 95 C Melting time = 120 s Number of cycles = 40 Polymerase = KOD Template = 10 pmol Primer = 25 pmol Total volume = 25 ul ; _pdbx_entity_src_gen_prod_pcr.purification_details ; No purification ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_entity_src_gen_prod_pcr.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_prod_pcr.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_prod_pcr.entry_id' _item.category_id pdbx_entity_src_gen_prod_pcr _item.mandatory_code yes _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_pcr.entry_id' save_ save__pdbx_entity_src_gen_prod_pcr.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_prod_pcr.entity_id uniquely identifies each protein contained in the project target protein complex whose structure is to be determined. This data item is a pointer to _entity.id in the ENTITY category. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_prod_pcr.entity_id' _item.category_id pdbx_entity_src_gen_prod_pcr _item.mandatory_code yes _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_pcr.entity_id' save_ save__pdbx_entity_src_gen_prod_pcr.step_id _item_description.description ; This item is the unique identifier for this PCR step. ; _item.name '_pdbx_entity_src_gen_prod_pcr.step_id' _item.category_id pdbx_entity_src_gen_prod_pcr _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_prod_pcr.next_step_id _item_description.description ; This item unique identifier for the next production step. This allows a workflow to have multiple entry points leading to a single product. ; _item.name '_pdbx_entity_src_gen_prod_pcr.next_step_id' _item.category_id pdbx_entity_src_gen_prod_pcr _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_prod_pcr.end_construct_id _item_description.description ; This item is a pointer to pdbx_construct.id in the PDBX_CONSTRUCT category. The referenced nucleic acid sequence is that of the PCR product. ; _item.name '_pdbx_entity_src_gen_prod_pcr.end_construct_id' _item.category_id pdbx_entity_src_gen_prod_pcr _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_pcr.end_construct_id' save_ save__pdbx_entity_src_gen_prod_pcr.robot_id _item_description.description ; This data item is a pointer to pdbx_robot_system.id in the PDBX_ROBOT_SYSTEM category. The referenced robot is the robot responsible for the PCR reaction (normally the heat cycler). ; _item.name '_pdbx_entity_src_gen_prod_pcr.robot_id' _item.category_id pdbx_entity_src_gen_prod_pcr _item.mandatory_code no _item_linked.parent_name '_pdbx_robot_system.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_pcr.robot_id' save_ save__pdbx_entity_src_gen_prod_pcr.date _item_description.description ; The date of this production step. ; _item.name '_pdbx_entity_src_gen_prod_pcr.date' _item.category_id pdbx_entity_src_gen_prod_pcr _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm loop_ _item_examples.case '2003-12-25' '2003-12-25:09:00' save_ save__pdbx_entity_src_gen_prod_pcr.forward_primer_id _item_description.description ; This item is a pointer to pdbx_construct.id in the PDBX_CONSTRUCT category. The referenced nucleic acid sequence is that of the forward primer. ; _item.name '_pdbx_entity_src_gen_prod_pcr.forward_primer_id' _item.category_id pdbx_entity_src_gen_prod_pcr _item.mandatory_code yes _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_pcr.forward_primer_id' save_ save__pdbx_entity_src_gen_prod_pcr.reverse_primer_id _item_description.description ; This item is a pointer to pdbx_construct.id in the PDBX_CONSTRUCT category. The referenced nucleic acid sequence is that of the reverse primer. ; _item.name '_pdbx_entity_src_gen_prod_pcr.reverse_primer_id' _item.category_id pdbx_entity_src_gen_prod_pcr _item.mandatory_code yes _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_pcr.reverse_primer_id' save_ save__pdbx_entity_src_gen_prod_pcr.reaction_details _item_description.description ; String value containing details of the PCR reaction. ; _item.name '_pdbx_entity_src_gen_prod_pcr.reaction_details' _item.category_id pdbx_entity_src_gen_prod_pcr _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_prod_pcr.purification_details _item_description.description ; String value containing details of any purification of the product of the PCR reaction. ; _item.name '_pdbx_entity_src_gen_prod_pcr.purification_details' _item.category_id pdbx_entity_src_gen_prod_pcr _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_prod_pcr.summary _item_description.description ; Summary of the details of the PCR reaction any purification of the product of the PCR reaction. ; _item.name '_pdbx_entity_src_gen_prod_pcr.summary' _item.category_id pdbx_entity_src_gen_prod_pcr _item.mandatory_code no _item_type.code text save_ ################################### # PDBX_ENTITY_SRC_GEN_PROD_DIGEST # ################################### # # _pdbx_entity_src_gen_prod_digest.entry_id # _pdbx_entity_src_gen_prod_digest.entity_id # _pdbx_entity_src_gen_prod_digest.step_id # _pdbx_entity_src_gen_prod_digest.next_step_id # _pdbx_entity_src_gen_prod_digest.restriction_enzyme_1 # _pdbx_entity_src_gen_prod_digest.restriction_enzyme_2 # _pdbx_entity_src_gen_prod_digest.purification_details # _pdbx_entity_src_gen_prod_digest.date # _pdbx_entity_src_gen_prod_digest.robot_id # # _pdbx_entity_src_gen_prod_digest.summary # save_pdbx_entity_src_gen_prod_digest _category.description ; This category contains details for the DIGEST steps used in the overall protein production process. The digestion is assumed to be applied to the result of the previous production step, or the gene source if this is the first production step. ; _category.id pdbx_entity_src_gen_prod_digest _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_prod_digest.entry_id' '_pdbx_entity_src_gen_prod_digest.entity_id' '_pdbx_entity_src_gen_prod_digest.step_id' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - hypothetical example ; ; _pdbx_entity_src_gen_prod_digest.entry_id 111000111 _pdbx_entity_src_gen_prod_digest.entity_id 222000111 _pdbx_entity_src_gen_prod_digest.step_id 2 _pdbx_entity_src_gen_prod_digest.next_step_id 3 _pdbx_entity_src_gen_prod_digest.end_construct_id 440050000123 _pdbx_entity_src_gen_prod_digest.robot_id 5 _pdbx_entity_src_gen_prod_digest.date '2002-07-12:15:13' _pdbx_entity_src_gen_prod_digest.restriction_enzyme_1 'NcoI' _pdbx_entity_src_gen_prod_digest.restriction_enzyme_2 'BamII' _pdbx_entity_src_gen_prod_digest.purification_details ; No purification ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_entity_src_gen_prod_digest.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_prod_digest.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_prod_digest.entry_id' _item.category_id pdbx_entity_src_gen_prod_digest _item.mandatory_code yes _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_digest.entry_id' save_ save__pdbx_entity_src_gen_prod_digest.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_prod_digest.entity_id uniquely identifies each protein contained in the project target protein complex whose structure is to be determined. This data item is a pointer to _entity.id in the ENTITY category. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_prod_digest.entity_id' _item.category_id pdbx_entity_src_gen_prod_digest _item.mandatory_code yes _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_digest.entity_id' save_ save__pdbx_entity_src_gen_prod_digest.step_id _item_description.description ; This item is the unique identifier for this digestion step. ; _item.name '_pdbx_entity_src_gen_prod_digest.step_id' _item.category_id pdbx_entity_src_gen_prod_digest _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_prod_digest.next_step_id _item_description.description ; This item unique identifier for the next production step. This allows a workflow to have multiple entry points leading to a single product. ; _item.name '_pdbx_entity_src_gen_prod_digest.next_step_id' _item.category_id pdbx_entity_src_gen_prod_digest _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_prod_digest.end_construct_id _item_description.description ; This item is a pointer to pdbx_construct.id in the PDBX_CONSTRUCT category. The referenced nucleic acid sequence is that of the digest product ; _item.name '_pdbx_entity_src_gen_prod_digest.end_construct_id' _item.category_id pdbx_entity_src_gen_prod_digest _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_digest.end_construct_id' save_ save__pdbx_entity_src_gen_prod_digest.robot_id _item_description.description ; This data item is a pointer to pdbx_robot_system.id in the PDBX_ROBOT_SYSTEM category. ; _item.name '_pdbx_entity_src_gen_prod_digest.robot_id' _item.category_id pdbx_entity_src_gen_prod_digest _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_robot_system.id' _item_linked.child_name '_pdbx_entity_src_gen_prod_digest.robot_id' save_ save__pdbx_entity_src_gen_prod_digest.date _item_description.description ; The date of this production step. ; _item.name '_pdbx_entity_src_gen_prod_digest.date' _item.category_id pdbx_entity_src_gen_prod_digest _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case '2003-12-25' save_ save__pdbx_entity_src_gen_prod_digest.restriction_enzyme_1 _item_description.description ; The first enzyme used in the restriction digestion. The sites at which this cuts can be derived from the sequence. ; _item.name '_pdbx_entity_src_gen_prod_digest.restriction_enzyme_1' _item.category_id pdbx_entity_src_gen_prod_digest _item.mandatory_code yes _item_type.code text _item_examples.case 'BamIII' save_ save__pdbx_entity_src_gen_prod_digest.restriction_enzyme_2 _item_description.description ; The second enzyme used in the restriction digestion. The sites at which this cuts can be derived from the sequence. ; _item.name '_pdbx_entity_src_gen_prod_digest.restriction_enzyme_2' _item.category_id pdbx_entity_src_gen_prod_digest _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_prod_digest.purification_details _item_description.description ; String value containing details of any purification of the product of the digestion. ; _item.name '_pdbx_entity_src_gen_prod_digest.purification_details' _item.category_id pdbx_entity_src_gen_prod_digest _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_prod_digest.summary _item_description.description ; Summary of the details of restriction digestion any purification of the product of the digestion. ; _item.name '_pdbx_entity_src_gen_prod_digest.summary' _item.category_id pdbx_entity_src_gen_prod_digest _item.mandatory_code no _item_type.code text save_ ######################## # ENTITY_SRC_GEN_CLONE # ######################## # # _pdbx_entity_src_gen_clone.entry_id # _pdbx_entity_src_gen_clone.entity_id # _pdbx_entity_src_gen_clone.step_id # _pdbx_entity_src_gen_clone.next_step_id # _pdbx_entity_src_gen_clone.end_construct_id # _pdbx_entity_src_gen_clone.robot_id # _pdbx_entity_src_gen_clone.date # _pdbx_entity_src_gen_clone.gene_insert_method # _pdbx_entity_src_gen_clone.vector_name # _pdbx_entity_src_gen_clone.vector_details # _pdbx_entity_src_gen_clone.transformation_method # _pdbx_entity_src_gen_clone.marker # _pdbx_entity_src_gen_clone.verification_method # _pdbx_entity_src_gen_clone.purification_details # # # _pdbx_entity_src_gen_clone.summary # save_pdbx_entity_src_gen_clone _category.description ; This category contains details for the cloning steps used in the overall protein production process. Each row in PDBX_ENTITY_SRC_GEN_CLONE should have an equivalent row in either PDBX_ENTITY_SRC_GEN_CLONE_LIGATION or PDBX_ENTITY_SRC_GEN_CLONE_RECOMBINATION. If only summary information is provided data in the later two categories may be omitted. ; _category.id pdbx_entity_src_gen_clone _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_clone.entry_id' '_pdbx_entity_src_gen_clone.entity_id' '_pdbx_entity_src_gen_clone.step_id' save_ save__pdbx_entity_src_gen_clone.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_clone.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_clone.entry_id' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code yes _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_entity_src_gen_clone.entry_id' save_ save__pdbx_entity_src_gen_clone.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_clone.entity_id uniquely identifies each protein contained in the project target protein complex whose structure is to be determined. This data item is a pointer to _entity.id in the ENTITY category. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_clone.entity_id' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code yes _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_entity_src_gen_clone.entity_id' save_ save__pdbx_entity_src_gen_clone.step_id _item_description.description ; This item is the unique identifier for this cloning step. ; _item.name '_pdbx_entity_src_gen_clone.step_id' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_clone.next_step_id _item_description.description ; This item unique identifier for the next production step. This allows a workflow to have multiple entry points leading to a single product. ; _item.name '_pdbx_entity_src_gen_clone.next_step_id' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_clone.end_construct_id _item_description.description ; This item is a pointer to pdbx_construct.id in the PDBX_CONSTRUCT category. The referenced nucleic acid sequence is that of the cloned product. ; _item.name '_pdbx_entity_src_gen_clone.end_construct_id' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_entity_src_gen_clone.end_construct_id' save_ save__pdbx_entity_src_gen_clone.robot_id _item_description.description ; This data item is a pointer to pdbx_robot_system.id in the PDBX_ROBOT_SYSTEM category. ; _item.name '_pdbx_entity_src_gen_clone.robot_id' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code no _item_linked.parent_name '_pdbx_robot_system.id' _item_linked.child_name '_pdbx_entity_src_gen_clone.robot_id' save_ save__pdbx_entity_src_gen_clone.date _item_description.description ; The date of this production step. ; _item.name '_pdbx_entity_src_gen_clone.date' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm loop_ _item_examples.case '2003-12-25' '2003-12-25:09:00' save_ save__pdbx_entity_src_gen_clone.gene_insert_method _item_description.description ; The method used to insert the gene into the vector. For 'Ligation', an PDBX_ENTITY_SRC_GEN_CLONE_LIGATION entry with matching .step_id is expected. For 'Recombination', an PDBX_ENTITY_SRC_GEN_CLONE_RECOMBINATION entry with matching .step_id is expected. ; _item.name '_pdbx_entity_src_gen_clone.gene_insert_method' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail L 'Ligation' R 'Recombination' save_ save__pdbx_entity_src_gen_clone.vector_name _item_description.description ; The name of the vector used in this cloning step. ; _item.name '_pdbx_entity_src_gen_clone.vector_name' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_clone.vector_details _item_description.description ; Details of any modifications made to the named vector. ; _item.name '_pdbx_entity_src_gen_clone.vector_details' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_clone.transformation_method _item_description.description ; The method used to transform the expression cell line with the vector ; _item.name '_pdbx_entity_src_gen_clone.transformation_method' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail H 'Heat shock' E 'Electroporation' C 'Calcium shock' save_ save__pdbx_entity_src_gen_clone.marker _item_description.description ; The type of marker included to allow selection of transformed cells ; _item.name '_pdbx_entity_src_gen_clone.marker' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail A 'Antibiotic resistance' F 'Fluorescence' save_ save__pdbx_entity_src_gen_clone.verification_method _item_description.description ; The method used to verify that the incorporated gene is correct ; _item.name '_pdbx_entity_src_gen_clone.verification_method' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail P 'PCR on plasmid' R 'Restriction enzyme digestion' D 'DNA sequencing' save_ save__pdbx_entity_src_gen_clone.purification_details _item_description.description ; Details of any purification of the product. ; _item.name '_pdbx_entity_src_gen_clone.purification_details' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_clone.summary _item_description.description ; Summary of ligation or recombionation cloning used, the associated verification method and any purification of the product. ; _item.name '_pdbx_entity_src_gen_clone.summary' _item.category_id pdbx_entity_src_gen_clone _item.mandatory_code no _item_type.code text save_ ###################################### # PDBX_ENTITY_SRC_GEN_CLONE_LIGATION # ###################################### # # _pdbx_entity_src_gen_clone_ligation.entry_id # _pdbx_entity_src_gen_clone_ligation.entity_id # _pdbx_entity_src_gen_clone_ligation.step_id # _pdbx_entity_src_gen_clone_ligation.cleavage_enzymes # _pdbx_entity_src_gen_clone_ligation.ligation_enzymes # _pdbx_entity_src_gen_clone_ligation.temperature # _pdbx_entity_src_gen_clone_ligation.time # _pdbx_entity_src_gen_clone_ligation.details # save_pdbx_entity_src_gen_clone_ligation _category.description ; This category contains details for the ligation-based cloning steps used in the overall protein production process. _pdbx_entity_src_gen_clone_ligation.clone_step_id in this category must point at a defined _pdbx_entity_src_gen_clone.step_id. The details in PDBX_ENTITY_SRC_GEN_CLONE_LIGATION extend the details in PDBX_ENTITY_SRC_GEN_CLONE to cover ligation dependent cloning steps. ; _category.id pdbx_entity_src_gen_clone_ligation _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_clone_ligation.entry_id' '_pdbx_entity_src_gen_clone_ligation.entity_id' '_pdbx_entity_src_gen_clone_ligation.step_id' save_ save__pdbx_entity_src_gen_clone_ligation.entry_id _item_description.description ; This item is a pointer to _pdbx_entity_src_gen_clone.entry_id in the PDBX_ENTITY_SRC_GEN_CLONE category. ; _item.name '_pdbx_entity_src_gen_clone_ligation.entry_id' _item.category_id pdbx_entity_src_gen_clone_ligation _item.mandatory_code yes _item_linked.parent_name '_pdbx_entity_src_gen_clone.entry_id' _item_linked.child_name '_pdbx_entity_src_gen_clone_ligation.entry_id' save_ save__pdbx_entity_src_gen_clone_ligation.entity_id _item_description.description ; This item is a pointer to _pdbx_entity_src_gen_clone.entity_id in the PDBX_ENTITY_SRC_GEN_CLONE category. ; _item.name '_pdbx_entity_src_gen_clone_ligation.entity_id' _item.category_id pdbx_entity_src_gen_clone_ligation _item.mandatory_code yes _item_linked.parent_name '_pdbx_entity_src_gen_clone.entity_id' _item_linked.child_name '_pdbx_entity_src_gen_clone_ligation.entity_id' save_ save__pdbx_entity_src_gen_clone_ligation.step_id _item_description.description ; This item is a pointer to _pdbx_entity_src_gen_clone.step_id in the PDBX_ENTITY_SRC_GEN_CLONE category. ; _item.name '_pdbx_entity_src_gen_clone_ligation.step_id' _item.category_id pdbx_entity_src_gen_clone_ligation _item.mandatory_code yes _item_linked.parent_name '_pdbx_entity_src_gen_clone.step_id' _item_linked.child_name '_pdbx_entity_src_gen_clone_ligation.step_id' save_ save__pdbx_entity_src_gen_clone_ligation.cleavage_enzymes _item_description.description ; The names of the enzymes used to cleave the vector. In addition an enzyme used to blunt the cut ends, etc., should be named here. ; _item.name '_pdbx_entity_src_gen_clone_ligation.cleavage_enzymes' _item.category_id pdbx_entity_src_gen_clone_ligation _item.mandatory_code yes _item_type.code text save_ save__pdbx_entity_src_gen_clone_ligation.ligation_enzymes _item_description.description ; The names of the enzymes used to ligate the gene into the cleaved vector. ; _item.name '_pdbx_entity_src_gen_clone_ligation.ligation_enzymes' _item.category_id pdbx_entity_src_gen_clone_ligation _item.mandatory_code yes _item_type.code text save_ save__pdbx_entity_src_gen_clone_ligation.temperature _item_description.description ; The temperature at which the ligation experiment was performed, in degrees celsius. ; _item.name '_pdbx_entity_src_gen_clone_ligation.temperature' _item.category_id pdbx_entity_src_gen_clone_ligation _item.mandatory_code yes _item_type.code float _item_units.code celsius save_ save__pdbx_entity_src_gen_clone_ligation.time _item_description.description ; The duration of the ligation reaction in minutes. ; _item.name '_pdbx_entity_src_gen_clone_ligation.time' _item.category_id pdbx_entity_src_gen_clone_ligation _item.mandatory_code yes _item_type.code int _item_units.code minutes save_ save__pdbx_entity_src_gen_clone_ligation.details _item_description.description ; Any details to be associated with this ligation step, e.g. the protocol. ; _item.name '_pdbx_entity_src_gen_clone_ligation.details' _item.category_id pdbx_entity_src_gen_clone_ligation _item.mandatory_code no _item_type.code text save_ ########################################### # PDBX_ENTITY_SRC_GEN_CLONE_RECOMBINATION # ########################################### # # _pdbx_entity_src_gen_clone_recombination.entry__id # _pdbx_entity_src_gen_clone_recombination.entity_id # _pdbx_entity_src_gen_clone_recombination.step_id # _pdbx_entity_src_gen_clone_recombination.system # _pdbx_entity_src_gen_clone_recombination.recombination_enzymes # _pdbx_entity_src_gen_clone_recombination.details # save_pdbx_entity_src_gen_clone_recombination _category.description ; This category contains details for the recombination-based cloning steps used in the overall protein production process. It is assumed that these reactions will use commercially available kits. _pdbx_entity_src_gen_clone_recombination.clone_step_id in this category must point at a defined _pdbx_entity_src_gen_clone.step_id. The details in PDBX_ENTITY_SRC_GEN_CLONE_RECOMBINATION extend the details in PDBX_ENTITY_SRC_GEN_CLONE to cover recombination dependent cloning steps. ; _category.id pdbx_entity_src_gen_clone_recombination _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_clone_recombination.entry_id' '_pdbx_entity_src_gen_clone_recombination.entity_id' '_pdbx_entity_src_gen_clone_recombination.step_id' save_ save__pdbx_entity_src_gen_clone_recombination.entry_id _item_description.description ; This item is a pointer to _pdbx_entity_src_gen_clone.entry_id in the PDBX_ENTITY_SRC_GEN_CLONE category. ; _item.name '_pdbx_entity_src_gen_clone_recombination.entry_id' _item.category_id pdbx_entity_src_gen_clone_recombination _item.mandatory_code yes _item_linked.parent_name '_pdbx_entity_src_gen_clone.entry_id' _item_linked.child_name '_pdbx_entity_src_gen_clone_recombination.entry_id' save_ save__pdbx_entity_src_gen_clone_recombination.entity_id _item_description.description ; This item is a pointer to _pdbx_entity_src_gen_clone.entity_id in the PDBX_ENTITY_SRC_GEN_CLONE category. ; _item.name '_pdbx_entity_src_gen_clone_recombination.entity_id' _item.category_id pdbx_entity_src_gen_clone_recombination _item.mandatory_code yes _item_linked.parent_name '_pdbx_entity_src_gen_clone.entity_id' _item_linked.child_name '_pdbx_entity_src_gen_clone_recombination.entity_id' save_ save__pdbx_entity_src_gen_clone_recombination.step_id _item_description.description ; This item is a pointer to _pdbx_entity_src_gen_clone.step_id in the PDBX_ENTITY_SRC_GEN_CLONE category. ; _item.name '_pdbx_entity_src_gen_clone_recombination.step_id' _item.category_id pdbx_entity_src_gen_clone_recombination _item.mandatory_code yes _item_linked.parent_name '_pdbx_entity_src_gen_clone.step_id' _item_linked.child_name '_pdbx_entity_src_gen_clone_recombination.step_id' save_ save__pdbx_entity_src_gen_clone_recombination.system _item_description.description ; The name of the recombination system. ; _item.name '_pdbx_entity_src_gen_clone_recombination.system' _item.category_id pdbx_entity_src_gen_clone_recombination _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail G 'Gateway Tm' I 'Infusion/Creator Tm' N 'Novagen's system - name?' save_ save__pdbx_entity_src_gen_clone_recombination.recombination_enzymes _item_description.description ; The names of the enzymes used for this recombination step. ; _item.name '_pdbx_entity_src_gen_clone_recombination.recombination_enzymes' _item.category_id pdbx_entity_src_gen_clone_recombination _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail B 'Gateway BP clonase' L 'Gateway LR clonase' T 'Topoisomerase' C 'Cre recombinase' I 'Infusion enzyme - name?' save_ save__pdbx_entity_src_gen_clone_recombination.details _item_description.description ; Any details to be associated with this recombination step, e.g. the protocol or differences from the manufacturer's specified protocol. ; _item.name '_pdbx_entity_src_gen_clone_recombination.details' _item.category_id pdbx_entity_src_gen_clone_recombination _item.mandatory_code no _item_type.code text save_ ############################### # PDBX_ENTITY_SRC_GEN_EXPRESS # ############################### # # _pdbx_entity_src_gen_express.entry_id # _pdbx_entity_src_gen_express.entity_id # _pdbx_entity_src_gen_express.step_id # _pdbx_entity_src_gen_express.next_step_id # _pdbx_entity_src_gen_express.end_construct_id # _pdbx_entity_src_gen_express.robot_id # _pdbx_entity_src_gen_express.date # _pdbx_entity_src_gen_express.promoter_type # _pdbx_entity_src_gen_express.plasmid_id # _pdbx_entity_src_gen_express.vector_type # _pdbx_entity_src_gen_express.N_terminal_seq_tag # _pdbx_entity_src_gen_express.C_terminal_seq_tag # _pdbx_entity_src_gen_express.host_org_scientific_name # _pdbx_entity_src_gen_express.host_org_common_name # _pdbx_entity_src_gen_express.host_org_variant # _pdbx_entity_src_gen_express.host_org_strain # _pdbx_entity_src_gen_express.host_org_tissue # _pdbx_entity_src_gen_express.host_org_tax_id # _pdbx_entity_src_gen_express.host_org_culture_collection # _pdbx_entity_src_gen_express.host_org_cell_line # _pdbx_entity_src_gen_express.host_org_details # _pdbx_entity_src_gen_express.culture_base_media # _pdbx_entity_src_gen_express.culture_additives # _pdbx_entity_src_gen_express.culture_volume # _pdbx_entity_src_gen_express.culture_time # _pdbx_entity_src_gen_express.culture_temperature # _pdbx_entity_src_gen_express.inducer # _pdbx_entity_src_gen_express.inducer_concentration # _pdbx_entity_src_gen_express.induction_details # _pdbx_entity_src_gen_express.multiplicity_of_infection # _pdbx_entity_src_gen_express.induction_growth_time # _pdbx_entity_src_gen_express.induction_temperature # _pdbx_entity_src_gen_express.harvesting_details # _pdbx_entity_src_gen_express.storage_details # # _pdbx_entity_src_gen_express.summary # save_pdbx_entity_src_gen_express _category.description ; This category contains details for the EXPRESSION steps used in the overall protein production process. It is hoped that this category will cover all forms of cell-based expression by reading induction as induction/transformation/transfection. ; _category.id pdbx_entity_src_gen_express _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_express.entry_id' '_pdbx_entity_src_gen_express.entity_id' '_pdbx_entity_src_gen_express.step_id' save_ save__pdbx_entity_src_gen_express.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_express.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_express.entry_id' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code yes _item_type.code code _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_entity_src_gen_express.entry_id' save_ save__pdbx_entity_src_gen_express.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_express.entity_id uniquely identifies each protein contained in the project target complex proteins whose structure is to be determined. This data item is a pointer to _entity.id in the ENTITY category. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_express.entity_id' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code yes _item_type.code code _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_entity_src_gen_express.entity_id' save_ save__pdbx_entity_src_gen_express.step_id _item_description.description ; This item is the unique identifier for this expression step. ; _item.name '_pdbx_entity_src_gen_express.step_id' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_express.next_step_id _item_description.description ; This item unique identifier for the next production step. This allows a workflow to have multiple entry points leading to a single product. ; _item.name '_pdbx_entity_src_gen_express.next_step_id' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_express.end_construct_id _item_description.description ; This item is a pointer to pdbx_construct.id in the PDBX_CONSTRUCT category. The referenced sequence is expected to be the amino acid sequence of the expressed product. ; _item.name '_pdbx_entity_src_gen_express.end_construct_id' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_entity_src_gen_express.end_construct_id' save_ save__pdbx_entity_src_gen_express.robot_id _item_description.description ; This data item is a pointer to pdbx_robot_system.id in the PDBX_ROBOT_SYSTEM category. ; _item.name '_pdbx_entity_src_gen_express.robot_id' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_linked.parent_name '_pdbx_robot_system.id' _item_linked.child_name '_pdbx_entity_src_gen_express.robot_id' save_ save__pdbx_entity_src_gen_express.date _item_description.description ; The date of production step. ; _item.name '_pdbx_entity_src_gen_express.date' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm loop_ _item_examples.case '2003-12-25' '2003-12-25:09:00' save_ save__pdbx_entity_src_gen_express.promoter_type _item_description.description ; The nature of the promoter controlling expression of the gene. ; _item.name '_pdbx_entity_src_gen_express.promoter_type' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code yes _item_type.code text _item_examples.case 'T7 LacZ' save_ save__pdbx_entity_src_gen_express.plasmid_id _item_description.description ; This item is a pointer to _pdbx_construct.id in the PDBX_CONSTRUCT category. The referenced entry will contain the nucleotide sequence that is to be expressed, including tags. ; _item.name '_pdbx_entity_src_gen_express.plasmid_id' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code yes _item_type.code code _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_entity_src_gen_express.plasmid_id' save_ save__pdbx_entity_src_gen_express.vector_type _item_description.description ; Identifies the type of vector used (plasmid, virus, or cosmid) in the expression system. ; _item.name '_pdbx_entity_src_gen_express.vector_type' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code yes _item_type.code code save_ save__pdbx_entity_src_gen_express.N_terminal_seq_tag _item_description.description ; Any N-terminal sequence tag as a string of one letter amino acid codes. ; _item.name '_pdbx_entity_src_gen_express.N_terminal_seq_tag' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code yes _item_type.code text save_ save__pdbx_entity_src_gen_express.C_terminal_seq_tag _item_description.description ; Any C-terminal sequence tag as a string of one letter amino acid codes ; _item.name '_pdbx_entity_src_gen_express.C_terminal_seq_tag' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code yes _item_type.code text save_ save__pdbx_entity_src_gen_express.host_org_scientific_name _item_description.description ; The scientific name of the organism that served as host for the expression system. It is expected that either this item or _pdbx_entity_src_gen_express.host_org_tax_id should be populated. ; _item.name '_pdbx_entity_src_gen_express.host_org_scientific_name' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code line save_ save__pdbx_entity_src_gen_express.host_org_common_name _item_description.description ; The common name of the organism that served as host for the expression system. Where _pdbx_entity_src_gen_express.host_org_tax_id is populated it is expected that this item may be derived by look up against the taxonomy database. ; _item.name '_pdbx_entity_src_gen_express.host_org_common_name' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code line save_ save__pdbx_entity_src_gen_express.host_org_variant _item_description.description ; The vairant of the organism that served as host for the expression system. Where _pdbx_entity_src_gen_express.host_org_tax_id is populated it is expected that this item may be derived by a look up against the taxonomy database. ; _item.name '_pdbx_entity_src_gen_express.host_org_variant' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code line save_ save__pdbx_entity_src_gen_express.host_org_strain _item_description.description ; The strain of the organism that served as host for the expression system. Where _pdbx_entity_src_gen_express.host_org_tax_id is populated it is expected that this item may be derived by a look up against the taxonomy database. ; _item.name '_pdbx_entity_src_gen_express.host_org_strain' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code line save_ save__pdbx_entity_src_gen_express.host_org_tissue _item_description.description ; The specific tissue which expressed the molecule. ; _item.name '_pdbx_entity_src_gen_express.host_org_tissue' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code line save_ save__pdbx_entity_src_gen_express.host_org_culture_collection _item_description.description ; Culture collection of the expression system ; _item.name '_pdbx_entity_src_gen_express.host_org_culture_collection' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code line save_ save__pdbx_entity_src_gen_express.host_org_cell_line _item_description.description ; A specific line of cells used as the expression system ; _item.name '_pdbx_entity_src_gen_express.host_org_cell_line' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code line save_ save__pdbx_entity_src_gen_express.host_org_tax_id _item_description.description ; The id for the NCBI taxonomy node corresponding to the organism that served as host for the expression system. ; _item.name '_pdbx_entity_src_gen_express.host_org_tax_id' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code line save_ save__pdbx_entity_src_gen_express.host_org_details _item_description.description ; A description of special aspects of the organism that served as host for the expression system. ; _item.name '_pdbx_entity_src_gen_express.host_org_details' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_express.culture_base_media _item_description.description ; The name of the base media in which the expression host was grown. ; _item.name '_pdbx_entity_src_gen_express.culture_base_media' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_express.culture_additives _item_description.description ; Any additives to the base media in which the expression host was grown. ; _item.name '_pdbx_entity_src_gen_express.culture_additives' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_express.culture_volume _item_description.description ; The volume of media in milliliters in which the expression host was grown. ; _item.name '_pdbx_entity_src_gen_express.culture_volume' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code yes _item_type.code float _item_units.code milliliters save_ save__pdbx_entity_src_gen_express.culture_time _item_description.description ; The time in hours for which the expression host was allowed to grow prior to induction/transformation/transfection. ; _item.name '_pdbx_entity_src_gen_express.culture_time' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code yes _item_type.code float _item_units.code hours save_ save__pdbx_entity_src_gen_express.culture_temperature _item_description.description ; The temperature in degrees celsius at which the expression host was allowed to grow prior to induction/transformation/transfection. ; _item.name '_pdbx_entity_src_gen_express.culture_temperature' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code yes _item_type.code float _item_units.code celsius save_ save__pdbx_entity_src_gen_express.inducer _item_description.description ; The chemical name of the inducing agent. ; _item.name '_pdbx_entity_src_gen_express.inducer' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code line save_ save__pdbx_entity_src_gen_express.inducer_concentration _item_description.description ; Concentration of the inducing agent. ; _item.name '_pdbx_entity_src_gen_express.inducer_concentration' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code float _item_units.code mg_per_ml save_ save__pdbx_entity_src_gen_express.induction_details _item_description.description ; Details of induction/transformation/transfection. ; _item.name '_pdbx_entity_src_gen_express.induction_details' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_express.multiplicity_of_infection _item_description.description ; The multiplicity of infection for genes introduced by transfection, eg. for baculovirus-based expression. ; _item.name '_pdbx_entity_src_gen_express.multiplicity_of_infection' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code float _item_units.code arbitrary save_ save__pdbx_entity_src_gen_express.induction_timepoint _item_description.description ; The time in hours after induction/transformation/transfection at which the optical density of the culture was measured. ; _item.name '_pdbx_entity_src_gen_express.induction_timepoint' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code float _item_units.code hours save_ save__pdbx_entity_src_gen_express.induction_temperature _item_description.description ; The temperature in celsius at which the induced/transformed/transfected cells were grown. ; _item.name '_pdbx_entity_src_gen_express.induction_temperature' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code yes _item_type.code float _item_units.code celsius save_ save__pdbx_entity_src_gen_express.harvesting_details _item_description.description ; Details of the harvesting protocol. ; _item.name '_pdbx_entity_src_gen_express.harvesting_details' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_express.storage_details _item_description.description ; Details of how the harvested culture was stored. ; _item.name '_pdbx_entity_src_gen_express.storage_details' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_express.summary _item_description.description ; Summary of the details of the expression steps used in protein production. ; _item.name '_pdbx_entity_src_gen_express.summary' _item.category_id pdbx_entity_src_gen_express _item.mandatory_code no _item_type.code text save_ ######################################### # PDBX_ENTITY_SRC_GEN_EXPRESS_TIMEPOINT # ######################################### # # _pdbx_entity_src_gen_express_timepoint.entry_id # _pdbx_entity_src_gen_express_timepoint.entity_id # _pdbx_entity_src_gen_express_timepoint.step_id # _pdbx_entity_src_gen_express_timepoint.serial # _pdbx_entity_src_gen_express_timepoint.time # _pdbx_entity_src_gen_express_timepoint.OD # save_pdbx_entity_src_gen_express_timepoint _category.description ; This category contains details for OD time series used to monitor a given EXPRESSION step used in the overall protein production process. ; _category.id pdbx_entity_src_gen_express_timepoint _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_express_timepoint.entry_id' '_pdbx_entity_src_gen_express_timepoint.entity_id' '_pdbx_entity_src_gen_express_timepoint.step_id' '_pdbx_entity_src_gen_express_timepoint.serial' save_ save__pdbx_entity_src_gen_express_timepoint.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_express_timepoint.entry_id is a pointer to _pdbx_entity_src_gen_express.entry_id ; _item.name '_pdbx_entity_src_gen_express_timepoint.entry_id' _item.category_id pdbx_entity_src_gen_express_timepoint _item.mandatory_code yes _item_linked.parent_name '_pdbx_entity_src_gen_express.entry_id' _item_linked.child_name '_pdbx_entity_src_gen_express_timepoint.entry_id' save_ save__pdbx_entity_src_gen_express_timepoint.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_express_timepoint.entity_id is a pointer to _pdbx_entity_src_gen_express.entity_id ; _item.name '_pdbx_entity_src_gen_express_timepoint.entity_id' _item.category_id pdbx_entity_src_gen_express_timepoint _item.mandatory_code yes _item_linked.parent_name '_pdbx_entity_src_gen_express.entity_id' _item_linked.child_name '_pdbx_entity_src_gen_express_timepoint.entity_id' save_ save__pdbx_entity_src_gen_express_timepoint.step_id _item_description.description ; This item is a pointer to _pdbx_entity_src_gen_express.step_id ; _item.name '_pdbx_entity_src_gen_express_timepoint.step_id' _item.category_id pdbx_entity_src_gen_express_timepoint _item.mandatory_code yes _item_linked.parent_name '_pdbx_entity_src_gen_express.step_id' _item_linked.child_name '_pdbx_entity_src_gen_express_timepoint.step_id' save_ save__pdbx_entity_src_gen_express_timepoint.serial _item_description.description ; This items uniquely defines a timepoint within a series. ; _item.name '_pdbx_entity_src_gen_express_timepoint.serial' _item.category_id pdbx_entity_src_gen_express_timepoint _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_express_timepoint.OD _item_description.description ; The optical density of the expression culture in arbitrary units at the timepoint specified. ; _item.name '_pdbx_entity_src_gen_express_timepoint.OD' _item.category_id pdbx_entity_src_gen_express_timepoint _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_express_timepoint.time _item_description.description ; The time in hours after induction/transformation/transfection at which the optical density of the culture was measured. ; _item.name '_pdbx_entity_src_gen_express_timepoint.time' _item.category_id pdbx_entity_src_gen_express_timepoint _item.mandatory_code yes _item_type.code int save_ ############################# # PDBX_ENTITY_SRC_GEN_LYSIS # ############################# # # _pdbx_entity_src_gen_lysis.entry_id # _pdbx_entity_src_gen_lysis.entity_id # _pdbx_entity_src_gen_lysis.step_id # _pdbx_entity_src_gen_lysis.next_step_id # _pdbx_entity_src_gen_lysis.end_construct_id # _pdbx_entity_src_gen_lysis.date # _pdbx_entity_src_gen_lysis.robot_id # _pdbx_entity_src_gen_lysis.method # _pdbx_entity_src_gen_lysis.buffer_id # _pdbx_entity_src_gen_lysis.buffer_volume # _pdbx_entity_src_gen_lysis.temperature # _pdbx_entity_src_gen_lysis.time # _pdbx_entity_src_gen_lysis.details # save_pdbx_entity_src_gen_lysis _category.description ; This category contains details for the cell lysis steps used in the overall protein production process. ; _category.id pdbx_entity_src_gen_lysis _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_lysis.entry_id' '_pdbx_entity_src_gen_lysis.entity_id' '_pdbx_entity_src_gen_lysis.step_id' save_ save__pdbx_entity_src_gen_lysis.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_lysis.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_lysis.entry_id' _item.category_id pdbx_entity_src_gen_lysis _item.mandatory_code yes _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_entity_src_gen_lysis.entry_id' save_ save__pdbx_entity_src_gen_lysis.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_lysis.entity_id uniquely identifies each protein contained in the project target protein complex whose structure is to be determined. This data item is a pointer to _entity.id in the ENTITY category. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_lysis.entity_id' _item.category_id pdbx_entity_src_gen_lysis _item.mandatory_code yes _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_entity_src_gen_lysis.entity_id' save_ save__pdbx_entity_src_gen_lysis.step_id _item_description.description ; This item is the unique identifier for this lysis step. ; _item.name '_pdbx_entity_src_gen_lysis.step_id' _item.category_id pdbx_entity_src_gen_lysis _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_lysis.next_step_id _item_description.description ; This item unique identifier for the next production step. This allows a workflow to have multiple entry points leading to a single product. ; _item.name '_pdbx_entity_src_gen_lysis.next_step_id' _item.category_id pdbx_entity_src_gen_lysis _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_lysis.end_construct_id _item_description.description ; This item is a pointer to pdbx_construct.id in the PDBX_CONSTRUCT category. The referenced sequence is expected to be the amino acid sequence of the expressed product after lysis. ; _item.name '_pdbx_entity_src_gen_lysis.end_construct_id' _item.category_id pdbx_entity_src_gen_lysis _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_entity_src_gen_lysis.end_construct_id' save_ save__pdbx_entity_src_gen_lysis.robot_id _item_description.description ; This data item is a pointer to pdbx_robot_system.id in the PDBX_ROBOT_SYSTEM category. ; _item.name '_pdbx_entity_src_gen_lysis.robot_id' _item.category_id pdbx_entity_src_gen_lysis _item.mandatory_code no _item_linked.parent_name '_pdbx_robot_system.id' _item_linked.child_name '_pdbx_entity_src_gen_lysis.robot_id' save_ save__pdbx_entity_src_gen_lysis.date _item_description.description ; The date of this production step. ; _item.name '_pdbx_entity_src_gen_lysis.date' _item.category_id pdbx_entity_src_gen_lysis _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm loop_ _item_examples.case '2003-12-25' '2003-12-25:09:00' save_ save__pdbx_entity_src_gen_lysis.method _item_description.description ; The lysis method. ; _item.name '_pdbx_entity_src_gen_lysis.method' _item.category_id pdbx_entity_src_gen_lysis _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail S 'Sonication' D 'Detergent' B 'Sonication and detergent' save_ save__pdbx_entity_src_gen_lysis.buffer_id _item_description.description ; This item is a pointer to pdbx_buffer.id in the PDBX_BUFFER category. The referenced buffer is that in which the lysis was performed. ; _item.name '_pdbx_entity_src_gen_lysis.buffer_id' _item.category_id pdbx_entity_src_gen_lysis _item.mandatory_code yes _item_type.code code _item_linked.parent_name '_pdbx_buffer.id' _item_linked.child_name '_pdbx_entity_src_gen_lysis.buffer_id' save_ save__pdbx_entity_src_gen_lysis.buffer_volume _item_description.description ; The volume in milliliters of buffer in which the lysis was performed. ; _item.name '_pdbx_entity_src_gen_lysis.buffer_volume' _item.category_id pdbx_entity_src_gen_lysis _item.mandatory_code yes _item_type.code float _item_units.code milliliters save_ save__pdbx_entity_src_gen_lysis.temperature _item_description.description ; The temperature in degrees celsius at which the lysis was performed. ; _item.name '_pdbx_entity_src_gen_lysis.temperature' _item.category_id pdbx_entity_src_gen_lysis _item.mandatory_code yes _item_type.code float _item_units.code celsius save_ save__pdbx_entity_src_gen_lysis.time _item_description.description ; The time in seconds of the lysis experiment. ; _item.name '_pdbx_entity_src_gen_lysis.time' _item.category_id pdbx_entity_src_gen_lysis _item.mandatory_code yes _item_type.code float _item_units.code minutes save_ save__pdbx_entity_src_gen_lysis.details _item_description.description ; String value containing details of the lysis protocol. ; _item.name '_pdbx_entity_src_gen_lysis.details' _item.category_id pdbx_entity_src_gen_lysis _item.mandatory_code no _item_type.code text save_ ############################## # PDBX_ENTITY_SRC_GEN_REFOLD # ############################## # # _pdbx_entity_src_gen_refold.entry_id # _pdbx_entity_src_gen_refold.entity_id # _pdbx_entity_src_gen_refold.step_id # _pdbx_entity_src_gen_refold.next_step_id # _pdbx_entity_src_gen_refold.end_construct_id # _pdbx_entity_src_gen_refold.robot_id # _pdbx_entity_src_gen_refold.date # _pdbx_entity_src_gen_refold.denature_buffer_id # _pdbx_entity_src_gen_refold.refold_buffer_id # _pdbx_entity_src_gen_refold.temperature # _pdbx_entity_src_gen_refold.time # _pdbx_entity_src_gen_refold.storage_buffer_id # _pdbx_entity_src_gen_refold.details # save_pdbx_entity_src_gen_refold _category.description ; This category contains details for the refolding steps used in the overall protein production process. ; _category.id pdbx_entity_src_gen_refold _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_refold.entry_id' '_pdbx_entity_src_gen_refold.entity_id' '_pdbx_entity_src_gen_refold.step_id' save_ save__pdbx_entity_src_gen_refold.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_refold.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_refold.entry_id' _item.category_id pdbx_entity_src_gen_refold _item.mandatory_code yes _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_entity_src_gen_refold.entry_id' save_ save__pdbx_entity_src_gen_refold.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_refold.entity_id uniquely identifies each protein contained in the project target protein complex whose structure is to be determined. This data item is a pointer to _entity.id in the ENTITY category. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_refold.entity_id' _item.category_id pdbx_entity_src_gen_refold _item.mandatory_code yes _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_entity_src_gen_refold.entity_id' save_ save__pdbx_entity_src_gen_refold.step_id _item_description.description ; This item is the unique identifier for this refolding step. ; _item.name '_pdbx_entity_src_gen_refold.step_id' _item.category_id pdbx_entity_src_gen_refold _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_refold.next_step_id _item_description.description ; This item unique identifier for the next production step. This allows a workflow to have multiple entry points leading to a single product. ; _item.name '_pdbx_entity_src_gen_refold.next_step_id' _item.category_id pdbx_entity_src_gen_refold _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_refold.end_construct_id _item_description.description ; This item is a pointer to pdbx_construct.id in the PDBX_CONSTRUCT category. The referenced sequence is expected to be the amino acid sequence of the expressed product after the refolding step. ; _item.name '_pdbx_entity_src_gen_refold.end_construct_id' _item.category_id pdbx_entity_src_gen_refold _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_entity_src_gen_refold.end_construct_id' save_ save__pdbx_entity_src_gen_refold.robot_id _item_description.description ; This data item is a pointer to pdbx_robot_system.id in the PDBX_ROBOT_SYSTEM category. ; _item.name '_pdbx_entity_src_gen_refold.robot_id' _item.category_id pdbx_entity_src_gen_refold _item.mandatory_code no _item_linked.parent_name '_pdbx_robot_system.id' _item_linked.child_name '_pdbx_entity_src_gen_refold.robot_id' save_ save__pdbx_entity_src_gen_refold.date _item_description.description ; The date of this production step. ; _item.name '_pdbx_entity_src_gen_refold.date' _item.category_id pdbx_entity_src_gen_refold _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm loop_ _item_examples.case '2003-12-25' '2003-12-25:09:00' save_ save__pdbx_entity_src_gen_refold.denature_buffer_id _item_description.description ; This item is a pointer to pdbx_buffer.id in the PDBX_BUFFER category. The referenced buffer is that in which the protein was denatured. ; _item.name '_pdbx_entity_src_gen_refold.denature_buffer_id' _item.category_id pdbx_entity_src_gen_refold _item.mandatory_code yes _item_linked.parent_name '_pdbx_buffer.id' _item_linked.child_name '_pdbx_entity_src_gen_refold.denature_buffer_id' save_ save__pdbx_entity_src_gen_refold.refold_buffer_id _item_description.description ; This item is a pointer to pdbx_buffer.id in the PDBX_BUFFER category. The referenced buffer is that in which the protein was refolded. ; _item.name '_pdbx_entity_src_gen_refold.refold_buffer_id' _item.category_id pdbx_entity_src_gen_refold _item.mandatory_code yes _item_linked.parent_name '_pdbx_buffer.id' _item_linked.child_name '_pdbx_entity_src_gen_refold.refold_buffer_id' save_ save__pdbx_entity_src_gen_refold.temperature _item_description.description ; The temperature in degrees celsius at which the protein was refolded. ; _item.name '_pdbx_entity_src_gen_refold.temperature' _item.category_id pdbx_entity_src_gen_refold _item.mandatory_code yes _item_type.code float _item_units.code celsius save_ save__pdbx_entity_src_gen_refold.time _item_description.description ; The time in hours over which the protein was refolded. ; _item.name '_pdbx_entity_src_gen_refold.time' _item.category_id pdbx_entity_src_gen_refold _item.mandatory_code yes _item_type.code float _item_units.code hours save_ save__pdbx_entity_src_gen_refold.storage_buffer_id _item_description.description ; This item is a pointer to pdbx_buffer.id in the PDBX_BUFFER category. The referenced buffer is that in which the refolded protein was stored. ; _item.name '_pdbx_entity_src_gen_refold.storage_buffer_id' _item.category_id pdbx_entity_src_gen_refold _item.mandatory_code yes _item_linked.parent_name '_pdbx_buffer.id' _item_linked.child_name '_pdbx_entity_src_gen_refold.storage_buffer_id' save_ save__pdbx_entity_src_gen_refold.details _item_description.description ; String value containing details of the refolding. ; _item.name '_pdbx_entity_src_gen_refold.details' _item.category_id pdbx_entity_src_gen_refold _item.mandatory_code no _item_type.code text save_ ################################### # PDBX_ENTITY_SRC_GEN_PROTEOLYSIS # ################################### # # _pdbx_entity_src_gen_proteolysis.entry_id # _pdbx_entity_src_gen_proteolysis.entity_id # _pdbx_entity_src_gen_proteolysis.step_id # _pdbx_entity_src_gen_proteolysis.next_step_id # _pdbx_entity_src_gen_proteolysis.end_construct_id # _pdbx_entity_src_gen_proteolysis.date # _pdbx_entity_src_gen_proteolysis.robot_id # _pdbx_entity_src_gen_proteolysis.details # _pdbx_entity_src_gen_proteolysis.protease # _pdbx_entity_src_gen_proteolysis.protein_protease_ratio # _pdbx_entity_src_gen_proteolysis.cleavage_buffer # _pdbx_entity_src_gen_proteolysis.cleavage_temperature # _pdbx_entity_src_gen_proteolysis.cleavage_time # save_pdbx_entity_src_gen_proteolysis _category.description ; This category contains details for the protein purification tag removal steps used in the overall protein production process ; _category.id pdbx_entity_src_gen_proteolysis _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_proteolysis.entry_id' '_pdbx_entity_src_gen_proteolysis.entity_id' '_pdbx_entity_src_gen_proteolysis.step_id' save_ save__pdbx_entity_src_gen_proteolysis.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_proteolysis.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_proteolysis.entry_id' _item.category_id pdbx_entity_src_gen_proteolysis _item.mandatory_code yes _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_entity_src_gen_proteolysis.entry_id' save_ save__pdbx_entity_src_gen_proteolysis.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_proteolysis.entity_id uniquely identifies each protein contained in the project target complex proteins whose structure is to be determined. This data item is a pointer to _entity.id in the ENTITY category. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_proteolysis.entity_id' _item.category_id pdbx_entity_src_gen_proteolysis _item.mandatory_code yes _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_entity_src_gen_proteolysis.entity_id' save_ save__pdbx_entity_src_gen_proteolysis.step_id _item_description.description ; This item is the unique identifier for this tag removal step. ; _item.name '_pdbx_entity_src_gen_proteolysis.step_id' _item.category_id pdbx_entity_src_gen_proteolysis _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_proteolysis.next_step_id _item_description.description ; This item unique identifier for the next production step. This allows a workflow to have multiple entry points leading to a single product. ; _item.name '_pdbx_entity_src_gen_proteolysis.next_step_id' _item.category_id pdbx_entity_src_gen_proteolysis _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_proteolysis.end_construct_id _item_description.description ; This item is a pointer to pdbx_construct.id in the PDBX_CONSTRUCT category. The referenced sequence is expected to be the amino acid sequence of the expressed product after the proteolysis step. ; _item.name '_pdbx_entity_src_gen_proteolysis.end_construct_id' _item.category_id pdbx_entity_src_gen_proteolysis _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_entity_src_gen_proteolysis.end_construct_id' save_ save__pdbx_entity_src_gen_proteolysis.robot_id _item_description.description ; This data item is a pointer to pdbx_robot_system.id in the PDBX_ROBOT_SYSTEM category. ; _item.name '_pdbx_entity_src_gen_proteolysis.robot_id' _item.category_id pdbx_entity_src_gen_proteolysis _item.mandatory_code no _item_linked.parent_name '_pdbx_robot_system.id' _item_linked.child_name '_pdbx_entity_src_gen_proteolysis.robot_id' save_ save__pdbx_entity_src_gen_proteolysis.date _item_description.description ; The date of production step. ; _item.name '_pdbx_entity_src_gen_proteolysis.date' _item.category_id pdbx_entity_src_gen_proteolysis _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm loop_ _item_examples.case '2003-12-25' '2003-12-25:09:00' save_ save__pdbx_entity_src_gen_proteolysis.details _item_description.description ; Details of this tag removal step. ; _item.name '_pdbx_entity_src_gen_proteolysis.details' _item.category_id pdbx_entity_src_gen_proteolysis _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_proteolysis.protease _item_description.description ; The name of the protease used for cleavage. ; _item.name '_pdbx_entity_src_gen_proteolysis.protease' _item.category_id pdbx_entity_src_gen_proteolysis _item.mandatory_code yes _item_type.code text save_ save__pdbx_entity_src_gen_proteolysis.protein_protease_ratio _item_description.description ; The ratio of protein to protease used for the cleavage. = mol protein / mol protease ; _item.name '_pdbx_entity_src_gen_proteolysis.protein_protease_ratio' _item.category_id pdbx_entity_src_gen_proteolysis _item.mandatory_code no _item_type.code float save_ save__pdbx_entity_src_gen_proteolysis.cleavage_buffer_id _item_description.description ; This item is a pointer to pdbx_buffer.id in the PDBX_BUFFER category. The referenced buffer is that in which the cleavage was performed. ; _item.name '_pdbx_entity_src_gen_proteolysis.cleavage_buffer_id' _item.category_id pdbx_entity_src_gen_proteolysis _item.mandatory_code no _item_linked.parent_name '_pdbx_buffer.id' _item_linked.child_name '_pdbx_entity_src_gen_proteolysis.cleavage_buffer_id' save_ save__pdbx_entity_src_gen_proteolysis.cleavage_temperature _item_description.description ; The temperature in degrees celsius at which the cleavage was performed. ; _item.name '_pdbx_entity_src_gen_proteolysis.cleavage_temperature' _item.category_id pdbx_entity_src_gen_proteolysis _item.mandatory_code no _item_type.code float _item_units.code celsius save_ save__pdbx_entity_src_gen_proteolysis.cleavage_time _item_description.description ; The time in minutes for the cleavage reaction ; _item.name '_pdbx_entity_src_gen_proteolysis.cleavage_time' _item.category_id pdbx_entity_src_gen_proteolysis _item.mandatory_code no _item_type.code float _item_units.code minutes save_ ############################# # PDBX_ENTITY_SRC_GEN_CHROM # ############################# # # _pdbx_entity_src_gen_chrom.entry_id # _pdbx_entity_src_gen_chrom.entity_id # _pdbx_entity_src_gen_chrom.step_id # _pdbx_entity_src_gen_chrom.next_step_id # _pdbx_entity_src_gen_chrom.end_construct_id # _pdbx_entity_src_gen_chrom.robot_id # _pdbx_entity_src_gen_chrom.date # _pdbx_entity_src_gen_chrom.column_type # _pdbx_entity_src_gen_chrom.column_volume # _pdbx_entity_src_gen_chrom.column_temperature # _pdbx_entity_src_gen_chrom.equilibration_buffer # _pdbx_entity_src_gen_chrom.flow_rate # _pdbx_entity_src_gen_chrom.elution_protocol # _pdbx_entity_src_gen_chrom.sample_prep_details # _pdbx_entity_src_gen_chrom.sample_volume # _pdbx_entity_src_gen_chrom.protein_concentration # _pdbx_entity_src_gen_chrom.volume_fraction # _pdbx_entity_src_gen_chrom.volume_pooled_fractions # _pdbx_entity_src_gen_chrom.yield_pooled_fractions # _pdbx_entity_src_gen_chrom.yield_method # _pdbx_entity_src_gen_chrom.post_treatment save_pdbx_entity_src_gen_chrom _category.description ; This category contains details for the chromatographic steps used in the purification of the protein. ; _category.id pdbx_entity_src_gen_chrom _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_chrom.entry_id' '_pdbx_entity_src_gen_chrom.entity_id' '_pdbx_entity_src_gen_chrom.step_id' save_ save__pdbx_entity_src_gen_chrom.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_chrom.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_chrom.entry_id' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code yes _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_entity_src_gen_chrom.entry_id' save_ save__pdbx_entity_src_gen_chrom.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_chrom.entity_id uniquely identifies each protein contained in the project target complex proteins whose structure is to be determined. This data item is a pointer to _entity.id in the ENTITY category. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_chrom.entity_id' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code yes _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_entity_src_gen_chrom.entity_id' save_ save__pdbx_entity_src_gen_chrom.step_id _item_description.description ; This item is the unique identifier for this chromatography step. ; _item.name '_pdbx_entity_src_gen_chrom.step_id' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_chrom.next_step_id _item_description.description ; This item unique identifier for the next production step. This allows a workflow to have multiple entry points leading to a single product. ; _item.name '_pdbx_entity_src_gen_chrom.next_step_id' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_chrom.end_construct_id _item_description.description ; This item is a pointer to pdbx_construct.id in the PDBX_CONSTRUCT category. The referenced sequence is expected to be the amino acid sequence of the expressed product after the chromatography step. ; _item.name '_pdbx_entity_src_gen_chrom.end_construct_id' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_entity_src_gen_chrom.end_construct_id' save_ save__pdbx_entity_src_gen_chrom.robot_id _item_description.description ; This data item is a pointer to pdbx_robot_system.id in the PDBX_ROBOT_SYSTEM category. ; _item.name '_pdbx_entity_src_gen_chrom.robot_id' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code no _item_linked.parent_name '_pdbx_robot_system.id' _item_linked.child_name '_pdbx_entity_src_gen_chrom.robot_id' save_ save__pdbx_entity_src_gen_chrom.date _item_description.description ; The date of production step. ; _item.name '_pdbx_entity_src_gen_chrom.date' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm loop_ _item_examples.case '2003-12-25' '2003-12-25:09:00' save_ save__pdbx_entity_src_gen_chrom.column_type _item_description.description ; The type of column used in this step. ; _item.name '_pdbx_entity_src_gen_chrom.column_type' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code yes _item_type.code text save_ save__pdbx_entity_src_gen_chrom.column_volume _item_description.description ; The volume of the column used in this step. ; _item.name '_pdbx_entity_src_gen_chrom.column_volume' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code yes _item_type.code float _item_units.code milliliters save_ save__pdbx_entity_src_gen_chrom.column_temperature _item_description.description ; The temperature in degrees celsius at which this column was run. ; _item.name '_pdbx_entity_src_gen_chrom.column_temperature' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code yes _item_type.code float _item_units.code celsius save_ save__pdbx_entity_src_gen_chrom.equilibration_buffer_id _item_description.description ; This item is a pointer to pdbx_buffer.id in the PDBX_BUFFER category. The referenced buffer is that in which the column was equilibrated. ; _item.name '_pdbx_entity_src_gen_chrom.equilibration_buffer_id' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code yes _item_linked.parent_name '_pdbx_buffer.id' _item_linked.child_name '_pdbx_entity_src_gen_chrom.equilibration_buffer_id' save_ save__pdbx_entity_src_gen_chrom.flow_rate _item_description.description ; The rate at which the equilibration buffer flowed through the column. ; _item.name '_pdbx_entity_src_gen_chrom.flow_rate' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code no _item_type.code float _item_units.code ml_per_min save_ save__pdbx_entity_src_gen_chrom.elution_buffer_id _item_description.description ; This item is a pointer to pdbx_buffer.id in the PDBX_BUFFER category. The referenced buffer is that with which the protein was eluted. ; _item.name '_pdbx_entity_src_gen_chrom.elution_buffer_id' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code yes _item_linked.parent_name '_pdbx_buffer.id' _item_linked.child_name '_pdbx_entity_src_gen_chrom.elution_buffer_id' save_ save__pdbx_entity_src_gen_chrom.elution_protocol _item_description.description ; Details of the elution protocol. ; _item.name '_pdbx_entity_src_gen_chrom.elution_protocol' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_chrom.sample_prep_details _item_description.description ; Details of the sample preparation prior to running the column. ; _item.name '_pdbx_entity_src_gen_chrom.sample_prep_details' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_chrom.sample_volume _item_description.description ; The volume of protein solution run on the column. ; _item.name '_pdbx_entity_src_gen_chrom.sample_volume' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code yes _item_type.code float _item_units.code milliliters save_ save__pdbx_entity_src_gen_chrom.sample_concentration _item_description.description ; The concentration of the protein solution put onto the column. ; _item.name '_pdbx_entity_src_gen_chrom.sample_concentration' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code no _item_type.code float _item_units.code mg_per_ml save_ save__pdbx_entity_src_gen_chrom.sample_conc_method _item_description.description ; The method used to determine the concentration of the protein solution put onto the column. ; _item.name '_pdbx_entity_src_gen_chrom.sample_conc_method' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_chrom.volume_pooled_fractions _item_description.description ; The total volume of all the fractions pooled to give the purified protein solution. ; _item.name '_pdbx_entity_src_gen_chrom.volume_pooled_fractions' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code yes _item_type.code float _item_units.code milliliters save_ save__pdbx_entity_src_gen_chrom.yield_pooled_fractions _item_description.description ; The yield in milligrams of protein recovered in the pooled fractions. ; _item.name '_pdbx_entity_src_gen_chrom.yield_pooled_fractions' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code yes _item_type.code float _item_units.code milligrams save_ save__pdbx_entity_src_gen_chrom.yield_method _item_description.description ; The method used to determine the yield ; _item.name '_pdbx_entity_src_gen_chrom.yield_method' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code yes _item_type.code text save_ save__pdbx_entity_src_gen_chrom.post_treatment _item_description.description ; Details of any post-chromatographic treatment of the protein sample. ; _item.name '_pdbx_entity_src_gen_chrom.post_treatment' _item.category_id pdbx_entity_src_gen_chrom _item.mandatory_code no _item_type.code text save_ ############################# # PDBX_ENTITY_SRC_GEN_FRACT # ############################# # # _pdbx_entity_src_gen_fract.entry_id # _pdbx_entity_src_gen_fract.entity_id # _pdbx_entity_src_gen_fract.step_id # _pdbx_entity_src_gen_fract.next_step_id # _pdbx_entity_src_gen_fract.end_construct_id # _pdbx_entity_src_gen_fract.robot_id # _pdbx_entity_src_gen_fract.date # _pdbx_entity_src_gen_fract.method # _pdbx_entity_src_gen_fract.temperature # _pdbx_entity_src_gen_fract.details # _pdbx_entity_src_gen_fract.protein_location # _pdbx_entity_src_gen_fract.protein_yield # _pdbx_entity_src_gen_fract.protein_yield_method # save_pdbx_entity_src_gen_fract _category.description ; This category contains details for the fraction steps used in the overall protein production process. Examples of fractionation steps are centrifugation and magnetic bead pull-down purification. ; _category.id pdbx_entity_src_gen_fract _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_fract.entry_id' '_pdbx_entity_src_gen_fract.entity_id' '_pdbx_entity_src_gen_fract.step_id' save_ save__pdbx_entity_src_gen_fract.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_fract.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_fract.entry_id' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code yes _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_entity_src_gen_fract.entry_id' save_ save__pdbx_entity_src_gen_fract.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_fract.entity_id uniquely identifies each protein contained in the project target protein complex whose structure is to be determined. This data item is a pointer to _entity.id in the ENTITY category. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_fract.entity_id' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code yes _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_entity_src_gen_fract.entity_id' save_ save__pdbx_entity_src_gen_fract.step_id _item_description.description ; This item is the unique identifier for this fractionation step. ; _item.name '_pdbx_entity_src_gen_fract.step_id' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_fract.next_step_id _item_description.description ; This item unique identifier for the next production step. This allows a workflow to have multiple entry points leading to a single product. ; _item.name '_pdbx_entity_src_gen_fract.next_step_id' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_fract.end_construct_id _item_description.description ; This item is a pointer to pdbx_construct.id in the PDBX_CONSTRUCT category. The referenced sequence is expected to be the amino acid sequence of the expressed product after the fractionation step. ; _item.name '_pdbx_entity_src_gen_fract.end_construct_id' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_entity_src_gen_fract.end_construct_id' save_ save__pdbx_entity_src_gen_fract.robot_id _item_description.description ; This data item is a pointer to pdbx_robot_system.id in the PDBX_ROBOT_SYSTEM category. ; _item.name '_pdbx_entity_src_gen_fract.robot_id' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code no _item_linked.parent_name '_pdbx_robot_system.id' _item_linked.child_name '_pdbx_entity_src_gen_fract.robot_id' save_ save__pdbx_entity_src_gen_fract.date _item_description.description ; The date of this production step. ; _item.name '_pdbx_entity_src_gen_fract.date' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm loop_ _item_examples.case '2003-12-25' '2003-12-25:09:00' save_ save__pdbx_entity_src_gen_fract.method _item_description.description ; This item describes the method of fractionation. ; _item.name '_pdbx_entity_src_gen_fract.method' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail C 'Centrifugation' M 'Magnetic beads' P 'Phase separation' save_ save__pdbx_entity_src_gen_fract.temperature _item_description.description ; The temperature in degrees celsius at which the fractionation was performed. ; _item.name '_pdbx_entity_src_gen_fract.temperature' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code yes _item_type.code float _item_units.code celsius save_ save__pdbx_entity_src_gen_fract.details _item_description.description ; String value containing details of the fractionation. ; _item.name '_pdbx_entity_src_gen_fract.details' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_fract.protein_location _item_description.description ; The fraction containing the protein of interest. ; _item.name '_pdbx_entity_src_gen_fract.protein_location' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail S 'Supernatant' P 'Pellet' B 'Band in gradient' M 'Magnetic beads' A 'Aqueous phase' L 'Lipid phase' save_ save__pdbx_entity_src_gen_fract.protein_volume _item_description.description ; The volume of the fraction containing the protein. ; _item.name '_pdbx_entity_src_gen_fract.protein_volume' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code no _item_type.code float _item_units.code milliliters save_ save__pdbx_entity_src_gen_fract.protein_yield _item_description.description ; The yield in milligrams of protein from the fractionation. ; _item.name '_pdbx_entity_src_gen_fract.protein_yield' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code yes _item_type.code float _item_units.code milligrams save_ save__pdbx_entity_src_gen_fract.protein_yield_method _item_description.description ; The method used to determine the yield ; _item.name '_pdbx_entity_src_gen_fract.protein_yield_method' _item.category_id pdbx_entity_src_gen_fract _item.mandatory_code yes _item_type.code text save_ ############################ # PDBX_ENTITY_SRC_GEN_PURE # ############################ # # _pdbx_entity_src_gen_pure.entry_id # _pdbx_entity_src_gen_pure.entity_id # _pdbx_entity_src_gen_pure.next_step_id # _pdbx_entity_src_gen_pure.date # _pdbx_entity_src_gen_pure.conc_device_id # _pdbx_entity_src_gen_pure.conc_details # _pdbx_entity_src_gen_pure.conc_assay_method # _pdbx_entity_src_gen_pure.protein_concentration # _pdbx_entity_src_gen_pure.protein_yield # _pdbx_entity_src_gen_pure.protein_purity # _pdbx_entity_src_gen_pure.protein_oligomeric_state # _pdbx_entity_src_gen_pure.storage_buffer_id # _pdbx_entity_src_gen_pure.storage_temperature # # _pdbx_entity_src_gen_pure.summary # save_pdbx_entity_src_gen_pure _category.description ; This category contains details for the final purified protein product. Note that this category does not contain the amino acid sequence of the protein. The sequence will be found in the ENTITY_POLY_SEQ entry with matching entity_id. Only one PDBX_ENTITY_SRC_GEN_PURE category is allowed per entity, hence there is no step_id for this category. ; _category.id pdbx_entity_src_gen_pure _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_pure.entry_id' '_pdbx_entity_src_gen_pure.entity_id' '_pdbx_entity_src_gen_pure.step_id' save_ save__pdbx_entity_src_gen_pure.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_pure.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_pure.entry_id' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code yes _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_entity_src_gen_pure.entry_id' save_ save__pdbx_entity_src_gen_pure.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_pure.entity_id uniquely identifies each protein contained in the project target complex proteins whose structure is to be determined. This data item is a pointer to _entity.id in the ENTITY category. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_pure.entity_id' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code yes _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_entity_src_gen_pure.entity_id' save_ save__pdbx_entity_src_gen_pure.step_id _item_description.description ; This item unique identifier the production step. ; _item.name '_pdbx_entity_src_gen_pure.step_id' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_pure.product_id _item_description.description ; When present, this item should be a globally unique identifier that identifies the final product. It is envisaged that this should be the same as and product code associated with the sample and would provide the key by which information about the production process may be extracted from the protein production facility. For files describing the protein production process (i.e. where _entity.type is 'P' or 'E') this should have the same value as _entry.id ; _item.name '_pdbx_entity_src_gen_pure.product_id' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code no _item_type.code code save_ save__pdbx_entity_src_gen_pure.date _item_description.description ; The date of production step. ; _item.name '_pdbx_entity_src_gen_pure.date' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm loop_ _item_examples.case '2003-12-25' '2003-12-25:09:00' save_ save__pdbx_entity_src_gen_pure.conc_device_id _item_description.description ; This data item is a pointer to pdbx_robot_system.id in the PDBX_ROBOT_SYSTEM category. ; _item.name '_pdbx_entity_src_gen_pure.conc_device_id' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code no _item_linked.parent_name '_pdbx_robot_system.id' _item_linked.child_name '_pdbx_entity_src_gen_pure.conc_device_id' save_ save__pdbx_entity_src_gen_pure.conc_details _item_description.description ; Details of the protein concentration procedure ; _item.name '_pdbx_entity_src_gen_pure.conc_details' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_pure.conc_assay_method _item_description.description ; The method used to measure the protein concentration ; _item.name '_pdbx_entity_src_gen_pure.conc_assay_method' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code yes _item_type.code text save_ save__pdbx_entity_src_gen_pure.protein_concentration _item_description.description ; The final concentration of the protein. ; _item.name '_pdbx_entity_src_gen_pure.protein_concentration' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code yes _item_type.code float _item_units.code mg_per_ml save_ save__pdbx_entity_src_gen_pure.protein_yield _item_description.description ; The yield of protein in milligrams. ; _item.name '_pdbx_entity_src_gen_pure.protein_yield' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code no _item_type.code float _item_units.code milligrams save_ save__pdbx_entity_src_gen_pure.protein_purity _item_description.description ; The purity of the protein (percent). ; _item.name '_pdbx_entity_src_gen_pure.protein_purity' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code no _item_type.code float # _item_units.code percent save_ save__pdbx_entity_src_gen_pure.protein_oligomeric_state _item_description.description ; The oligomeric state of the protein. Monomeric is 1, dimeric 2, etc. ; _item.name '_pdbx_entity_src_gen_pure.protein_oligomeric_state' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code no _item_type.code int save_ save__pdbx_entity_src_gen_pure.storage_buffer_id _item_description.description ; This item is a pointer to pdbx_buffer.id in the PDBX_BUFFER category. The referenced buffer is that in which the protein was stored. ; _item.name '_pdbx_entity_src_gen_pure.storage_buffer_id' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code yes _item_linked.parent_name '_pdbx_buffer.id' _item_linked.child_name '_pdbx_entity_src_gen_pure.storage_buffer_id' save_ save__pdbx_entity_src_gen_pure.storage_temperature _item_description.description ; The temperature in degrees celsius at which the protein was stored. ; _item.name '_pdbx_entity_src_gen_pure.storage_temperature' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code no _item_type.code float _item_units.code celsius save_ save__pdbx_entity_src_gen_pure.summary _item_description.description ; Summary of the details of protein purification method used to obtain the final protein product. This description should include any lysis, fractionation, proteolysis, refolding, chromatography used as well as the method used the characterize the final product. ; _item.name '_pdbx_entity_src_gen_pure.summary' _item.category_id pdbx_entity_src_gen_pure _item.mandatory_code no _item_type.code text save_ ################################# # PDBX_ENTITY_SRC_GEN_CHARACTER # ################################# # # _pdbx_entity_src_gen_character.entry_id # _pdbx_entity_src_gen_character.entity_id # _pdbx_entity_src_gen_character.step_id # _pdbx_entity_src_gen_character.robot_id # _pdbx_entity_src_gen_character.date # _pdbx_entity_src_gen_character.method # _pdbx_entity_src_gen_character.value # _pdbx_entity_src_gen_character.details # save_pdbx_entity_src_gen_character _category.description ; This category contains details of protein characterisation. It refers to the characteristion of the product of a specific step. ; _category.id pdbx_entity_src_gen_character _category.mandatory_code no loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'entity_group' 'pdbx_group' loop_ _category_key.name '_pdbx_entity_src_gen_character.entry_id' '_pdbx_entity_src_gen_character.entity_id' '_pdbx_entity_src_gen_character.step_id' save_ save__pdbx_entity_src_gen_character.entry_id _item_description.description ; The value of _pdbx_entity_src_gen_character.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_character.entry_id' _item.category_id pdbx_entity_src_gen_character _item.mandatory_code yes _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_entity_src_gen_character.entry_id' save_ save__pdbx_entity_src_gen_character.entity_id _item_description.description ; The value of _pdbx_entity_src_gen_character.entity_id uniquely identifies each protein contained in the project target complex proteins whose structure is to be determined. This data item is a pointer to _entity.id in the ENTITY category. This item may be a site dependent bar code. ; _item.name '_pdbx_entity_src_gen_character.entity_id' _item.category_id pdbx_entity_src_gen_character _item.mandatory_code yes _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_entity_src_gen_character.entity_id' save_ save__pdbx_entity_src_gen_character.step_id _item_description.description ; This item is the unique identifier for the step whose product has been characterised. ; _item.name '_pdbx_entity_src_gen_character.step_id' _item.category_id pdbx_entity_src_gen_character _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_character.robot_id _item_description.description ; This data item is a pointer to pdbx_robot_system.id in the PDBX_ROBOT_SYSTEM category. ; _item.name '_pdbx_entity_src_gen_character.robot_id' _item.category_id pdbx_entity_src_gen_character _item.mandatory_code no _item_linked.parent_name '_pdbx_robot_system.id' _item_linked.child_name '_pdbx_entity_src_gen_character.robot_id' save_ save__pdbx_entity_src_gen_character.date _item_description.description ; The date of characterisation step. ; _item.name '_pdbx_entity_src_gen_character.date' _item.category_id pdbx_entity_src_gen_character _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm loop_ _item_examples.case '2003-12-25' '2003-12-25:09:00' save_ save__pdbx_entity_src_gen_character.method _item_description.description ; The method used for protein characterisation. ; _item.name '_pdbx_entity_src_gen_character.method' _item.category_id pdbx_entity_src_gen_character _item.mandatory_code yes _item_type.code text loop_ _item_examples.case 'Dynamic light scattering' 'Mass spectrometry' save_ save__pdbx_entity_src_gen_character.result _item_description.description ; The result from this method of protein characterisation. ; _item.name '_pdbx_entity_src_gen_character.result' _item.category_id pdbx_entity_src_gen_character _item.mandatory_code yes _item_type.code text save_ save__pdbx_entity_src_gen_character.details _item_description.description ; Any details associated with this method of protein characterisation. ; _item.name '_pdbx_entity_src_gen_character.details' _item.category_id pdbx_entity_src_gen_character _item.mandatory_code no _item_type.code text save_ ################## # PDBX_CONSTRUCT # ################## # # _pdbx_construct.entry_id # _pdbx_construct.id # _pdbx_construct.name # _pdbx_construct.class # _pdbx_construct.type # _pdbx_construct.seq # _pdbx_construct.date # _pdbx_construct.details # _pdbx_construct.robot_id # _pdbx_construct.ref_db_code # _pdbx_construct.ref_db_name # _pdbx_construct.ref_db_align_beg # _pdbx_construct.ref_db_align_end # _pdbx_construct.flag_align # _pdbx_construct.flag_diff # save_pdbx_construct _category.description ; Data items in the PDBX_CONSTRUCT category specify a sequence of nucleic acids or amino acids. It is a catch-all that may be used to provide details of sequences known to be relevant to the project as well as primers, plasmids, proteins and such like that are either used or produced during the protein production process. Molecules described here are not necessarily complete, so for instance it would be possible to include either a complete plasmid or just its insert. This category may be considered as an abbreviated form of _entity where the molecules described are not required to appear in the final co-ordinates. Note that the details provided here all pertain to a single entry as defined at deposition. It is anticipated that _pdbx_construct.id would also be composed of a sequence that is unique within a given site prefixed by a code that identifies that site and would, therefore, be GLOBALLY unique. Thus this category could also be used locally to store details about the different constructs used during protein production without reference to the entry_id (which only becomes a meaningful concept during deposition). ; _category.id pdbx_construct _category.mandatory_code no loop_ _category_key.name '_pdbx_construct.id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'protein_production_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - hypothetical example ; ; _pdbx_construct.entry_id 111000111 _pdbx_construct.id 1 _pdbx_construct.type DNA _pdbx_construct.entity_id 1 _pdbx_construct.seq ; gatgctgtag gcataggctt ggttatgccg gtactgccgg gcctcttgcg ggatatcgtc gctcaaggcg cactcccgtt ctggataatg ttttttgcgc cgacatcata acggttctgg caaatattct gaaatgagct gttgacaatt aatcatcgat aagcttcttg # - - - - data truncated for brevity - - - - ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_construct.entry_id _item_description.description ; The value of _pdbx_construct.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_construct.entry_id' _item.category_id pdbx_construct _item.mandatory_code yes _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_construct.entry_id' save_ save__pdbx_construct.id _item_description.description ; The value of _pdbx_construct.id must uniquely identify a record in the PDBX_CONSTRUCT list and should be arranged so that it is composed of a site-speicific prefix combined with a value that is unique within a given site.Note that this item need not be a number; it can be any unique identifier. ; _item.name '_pdbx_construct.id' _item.category_id pdbx_construct _item.mandatory_code yes _item_type.code code save_ save__pdbx_construct.name _item_description.description ; _pdbx_construct.name provides a placeholder for the local name of the construct, for example the plasmid name if this category is used to list plasmids. ; _item.name '_pdbx_construct.name' _item.category_id pdbx_construct _item.mandatory_code yes _item_type.code line save_ save__pdbx_construct.organisation _item_description.description ; _pdbx_construct.organisation describes the organisation in which the _pdbx_construct.id is unique. This will normally be the lab in which the constrcut originated. It is envisaged that this item will permit a globally unique identifier to be constructed in cases where this is not possible from the _pdbx_construct.id alone. ; _item.name '_pdbx_construct.organisation' _item.category_id pdbx_construct _item.mandatory_code yes _item_type.code line save_ save__pdbx_construct.entity_id _item_description.description ; In cases where the construct IS found in the co-ordinates then this item provides a pointer to _entity.id in the ENTITY category for the corresponding molecule. ; _item.name '_pdbx_construct.entity_id' _item.category_id pdbx_construct _item.mandatory_code no _item_linked.parent_name '_entity.id' _item_linked.child_name '_pdbx_construct.entity_id' save_ save__pdbx_construct.robot_id _item_description.description ; In cases where the sequence has been determined by a robot this data item provides a pointer to pdbx_robot_system.id in the PDBX_ROBOT_SYSTEM category for the robot responsible ; _item.name '_pdbx_construct.robot_id' _item.category_id pdbx_construct _item.mandatory_code no _item_linked.parent_name '_pdbx_robot_system.id' _item_linked.child_name '_pdbx_construct.robot_id' save_ save__pdbx_construct.date _item_description.description ; The date that the sequence was determined. ; _item.name '_pdbx_construct.date' _item.category_id pdbx_construct _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm loop_ _item_examples.case '2003-12-25' '2003-12-25:09:00' save_ save__pdbx_construct.details _item_description.description ; Additional details about the construct that cannot be represented in the category _pdbx_construct_feature. ; _item.name '_pdbx_construct.details' _item.category_id pdbx_construct _item.mandatory_code no _item_type.code text save_ save__pdbx_construct.class _item_description.description ; The primary function of the construct. This should be considered as a guideline only. ; _item.name '_pdbx_construct.class' _item.category_id pdbx_construct _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value plasmid protein insert primer transcript save_ save__pdbx_construct.type _item_description.description ; The type of nucleic acid sequence in the construct. Note that to find all the DNA molecules it is necessary to search for DNA + cDNA and for RNA, RNA + mRNA + tRNA. ; _item.name '_pdbx_construct.type' _item.category_id pdbx_construct _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value DNA RNA cDNA mRNA tRNA protein save_ save__pdbx_construct.seq _item_description.description ; sequence expressed as string of one-letter base codes or one letter amino acid codes. Unusual residues may be represented either using the appropriate one letter code wild cards or by the three letter code in parentheses. ; _item.name '_pdbx_construct.seq' _item.category_id pdbx_construct _item.mandatory_code yes _item_type.code text _item_examples.case ; gatgctgtag gcataggctt ggttatgccg gtactgccgg gcctcttgcg ggatatcgtc gctcaaggcg cactcccgtt ctggataatg ttttttgcgc cgacatcata acggttctgg caaatattct gaaatgagct gttgacaatt aatcatcgat aagcttcttg ; save_ ########################### # PDBX_CONSTRUCT_FEATURE # ########################### # # _pdbx_construct_feature.id # _pdbx_construct_feature.entry_id # _pdbx_construct_feature.entity_id # _pdbx_construct_feature.construct_id # _pdbx_construct_feature.start_seq # _pdbx_construct_feature.end_seq # _pdbx_construct_feature.type # _pdbx_construct_feature.details # save_pdbx_construct_feature _category.description ; Data items in the PDBX_CONSTRUCT_FEATURE category may be used to specify various properties of a nucleic acid sequence used during protein production. ; _category.id pdbx_construct_feature _category.mandatory_code no loop_ _category_key.name '_pdbx_construct_feature.construct_id' '_pdbx_construct_feature.id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'protein_production_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - vector pUC28 ; ; loop_ _pdbx_construct_feature.id _pdbx_construct_feature.entry_id _pdbx_construct_feature.construct_id _pdbx_construct_feature.start_seq _pdbx_construct_feature.end_seq _pdbx_construct_feature.type _pdbx_construct_feature.details 1 111000111 1 . . . "pKK84-1 ClaI 5260bp 5247..5247 ptac11 TaqI-TaqI 192bp, -35 trp promoter -> pEA300 5452bp" 2 111000111 1 . . . "pKK84-1 1..5246 5246bp ClaI = AT^CGAT TaqI = T^CGA cgact..." 3 111000111 1 5247 5436 . "ptac11 190bp ...cat TaqI = T^CGA ClaI = AT^CGAT" 4 111000111 1 5437 5450 . "pKK84-1 5247..5260 14bp" 5 111000111 1 . . misc_binding "SIT unique EcoRI-ClaI-HindIII-BamHI-PvuII" 6 111000111 1 . . rep_origin "ORI E. coli pMB1 (ColE1 and pBR322)" 7 111000111 1 . . promoter "PRO E. coli trp" 8 111000111 1 . . CDS "ANT E. coli beta-lactamase gene (bla) ampicillin resistance gene (apr/amp)" ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_construct_feature.id _item_description.description ; The value of _pdbx_construct_feature.id must uniquely identify a record in the PDBX_CONSTRUCT_FEATURE list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_pdbx_construct_feature.id' _item.category_id pdbx_construct_feature _item.mandatory_code yes _item_type.code code save_ save__pdbx_construct_feature.construct_id _item_description.description ; The value of _pdbx_construct_feature.construct_id uniquely identifies the construct with which the feature is associated. This is a pointer to _pdbx_construct.id This item may be a site dependent bar code. ; _item.name '_pdbx_construct_feature.construct_id' _item.category_id pdbx_construct_feature _item.mandatory_code yes _item_type.code code _item_linked.parent_name '_pdbx_construct.id' _item_linked.child_name '_pdbx_construct_feature.construct_id' save_ save__pdbx_construct_feature.entry_id _item_description.description ; The value of _pdbx_construct_feature.entry_id uniquely identifies a sample consisting of one or more proteins whose structure is to be determined. This is a pointer to _entry.id. This item may be a site dependent bar code. ; _item.name '_pdbx_construct_feature.entry_id' _item.category_id pdbx_construct_feature _item.mandatory_code yes _item_linked.parent_name '_entry.id' _item_linked.child_name '_pdbx_construct_feature.entry_id' save_ save__pdbx_construct_feature.start_seq _item_description.description ; The sequence position at which the feature begins ; _item.name '_pdbx_construct_feature.start_seq' _item.category_id pdbx_construct_feature _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ save__pdbx_construct_feature.end_seq _item_description.description ; The sequence position at which the feature ends ; _item.name '_pdbx_construct_feature.end_seq' _item.category_id pdbx_construct_feature _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ save__pdbx_construct_feature.type _item_description.description ; The type of the feature ; _item.name '_pdbx_construct_feature.type' _item.category_id pdbx_construct_feature _item.mandatory_code no _item_type.code line save_ save__pdbx_construct_feature.details _item_description.description ; Details that describe the feature ; _item.name '_pdbx_construct_feature.details' _item.category_id pdbx_construct_feature _item.mandatory_code no _item_type.code text save_ ##################### # PDBX_ROBOT_SYSTEM # ##################### # # _pdbx_robot_system.id # _pdbx_robot_system.model # _pdbx_robot_system.type # _pdbx_robot_system.manufacturer # save_pdbx_robot_system _category.description ; The details about each robotic system used to collect data for this project. ; _category.id pdbx_robot_system _category.mandatory_code no _category_key.name '_pdbx_robot_system.id' loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'pdbx_group' save_ save__pdbx_robot_system.id _item_description.description ; Assign a numerical ID to each instrument. ; _item.name '_pdbx_robot_system.id' _item.category_id pdbx_robot_system _item.mandatory_code yes _item_type.code code save_ save__pdbx_robot_system.model _item_description.description ; The model of the robotic system. ; _item.name '_pdbx_robot_system.model' _item.category_id pdbx_robot_system _item.mandatory_code no _item_type.code line save_ save__pdbx_robot_system.type _item_description.description ; The type of robotic system used for in the production pathway. ; _item.name '_pdbx_robot_system.type' _item.category_id pdbx_robot_system _item.mandatory_code no _item_type.code line save_ save__pdbx_robot_system.manufacturer _item_description.description ; The name of the manufacturer of the robotic system. ; _item.name '_pdbx_robot_system.manufacturer' _item.category_id pdbx_robot_system _item.mandatory_code no _item_type.code line save_ ################# ## PDB_BUFFER ## ################# # # _pdbx_buffer.id # _pdbx_buffer.name # _pdbx_buffer.details # _pdbx_buffer_components.id # _pdbx_buffer_components.buffer_id # _pdbx_buffer_components.name # _pdbx_buffer_components.volume # _pdbx_buffer_components.conc # _pdbx_buffer_components.details # _pdbx_buffer_components.conc_units # _pdbx_buffer_components.isotopic_labeling # save_pdbx_buffer _category.description ; Data items in the PDBX_BUFFER category record details of the sample buffer. ; _category.id pdbx_buffer _category.mandatory_code no _category_key.name '_pdbx_buffer.id' loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'pdbx_group' save_ save__pdbx_buffer.id _item_description.description ; The value of _pdbx_buffer.id must uniquely identify the sample buffer. ; _item.name '_pdbx_buffer.id' _item.category_id pdbx_buffer _item.mandatory_code yes _item_type.code code save_ save__pdbx_buffer.name _item_description.description ; The name of each buffer. ; _item.name '_pdbx_buffer.name' _item.category_id pdbx_buffer _item.mandatory_code no _item_type.code line _item_examples.case 'Acetic acid' save_ save__pdbx_buffer.details _item_description.description ; Any additional details to do with buffer. ; _item.name '_pdbx_buffer.details' _item.category_id pdbx_buffer _item.mandatory_code no _item_type.code text _item_examples.case 'aerated' save_ ############################### ## PDBX_BUFFER_COMPONENTS ## ############################### # # _pdbx_buffer_components.id # _pdbx_buffer_components.buffer_id # _pdbx_buffer_components.name # _pdbx_buffer_components.volume # _pdbx_buffer_components.conc # _pdbx_buffer_components.details # _pdbx_buffer_components.conc_units # _pdbx_buffer_components.isotopic_labeling # save_pdbx_buffer_components _category.description ; Constituents of buffer in sample ; _category.id pdbx_buffer_components _category.mandatory_code no loop_ _category_key.name '_pdbx_buffer_components.buffer_id' '_pdbx_buffer_components.id' loop_ _category_group.id 'inclusive_group' 'protein_production_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ;loop_ _pdbx_buffer_components.buffer_id _pdbx_buffer_components.id _pdbx_buffer_components.name _pdbx_buffer_components.volume _pdbx_buffer_components.conc _pdbx_buffer_components.details 1 1 'NaCl' '0.200 ' '4 ' . 1 2 'Acetic Acid' '0.047 ' '100' . 1 3 'water' '0.700 ' 'neat' . ; save_ save__pdbx_buffer_components.id _item_description.description ; The value of _pdbx_buffer_components.id must uniquely identify a component of the buffer. ; _item.name '_pdbx_buffer_components.id' _item.category_id pdbx_buffer_components _item.mandatory_code yes _item_type.code code save_ save__pdbx_buffer_components.buffer_id _item_description.description ; This data item is a pointer to _pdbx_buffer.id in the BUFFER category. ; _item.name '_pdbx_buffer_components.buffer_id' _item.category_id pdbx_buffer_components _item.mandatory_code yes _item_linked.parent_name '_pdbx_buffer.id' _item_linked.child_name '_pdbx_buffer_components.buffer_id' save_ save__pdbx_buffer_components.name _item_description.description ; The name of each buffer component. ; _item.name '_pdbx_buffer_components.name' _item.category_id pdbx_buffer_components _item.mandatory_code no _item_type.code line _item_examples.case 'Acetic acid' save_ save__pdbx_buffer_components.volume _item_description.description ; The volume of buffer component. ; _item.name '_pdbx_buffer_components.volume' _item.category_id pdbx_buffer_components _item.mandatory_code no _item_type.code code _item_examples.case 0.200 save_ save__pdbx_buffer_components.conc _item_description.description ; The millimolar concentration of buffer component. ; _item.name '_pdbx_buffer_components.conc' _item.category_id pdbx_buffer_components _item.mandatory_code no _item_type.code code _item_examples.case 200 save_ save__pdbx_buffer_components.details _item_description.description ; Any additional details to do with buffer composition. ; _item.name '_pdbx_buffer_components.details' _item.category_id pdbx_buffer_components _item.mandatory_code no _item_type.code text _item_examples.case 'pH adjusted with NaOH' save_ # save__pdbx_buffer_components.conc_units _item_description.description ; The concentration units of the component. ; _item.name '_pdbx_buffer_components.conc_units' _item.category_id pdbx_buffer_components _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'mg/mL for mg per milliliter' 'mM for millimolar' '% for percent by volume' loop_ _item_enumeration.value _item_enumeration.detail '%' 'percent by volume' 'mM' 'millimolar' 'mg/mL' 'mg per milliliter' 'M' 'molar' 'g/L' 'grams per liter' save_ save__pdbx_buffer_components.isotopic_labeling _item_description.description ; The isotopic composition of each component, including the % labeling level, if known. For example: 1. Uniform (random) labeling with 15N: U-15N 2. Uniform (random) labeling with 13C, 15N at known labeling levels: U-95% 13C;U-98% 15N 3. Residue selective labeling: U-95% 15N-Thymine 4. Site specific labeling: 95% 13C-Ala18, 5. Natural abundance labeling in an otherwise uniformly labled biomolecule is designated by NA: U-13C; NA-K,H ; _item.name '_pdbx_buffer_components.isotopic_labeling' _item.category_id pdbx_buffer_components _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'U-15N' 'U-13C' 'U-15N,13C' 'U-2H' 'other' save_ ### EOF mmcif_pdbx-def-6.dic ########################################################################### # # File: mmcif_pdbx-def-9.dic # # PDB Exchange Data Dictionary # # This data dictionary contains definitions used by RCSB for describing # derived data and computation. # # Definition Section 9 # # ########################################################################### ################# ## PDBX_DOMAIN ## ################# save_pdbx_domain _category.description ; Data items in the PDBX_DOMAIN category record information about domain definitions. A domain need not correspond to a completely polypeptide chain; it can be composed of one or more segments in a single chain, or by segments from more than one chain. ; _category.id pdbx_domain _category.mandatory_code no _category_key.name '_pdbx_domain.id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'pdbx_erf_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_domain.id _pdbx_domain.details d1 'Chains A, B' d2 'Asym_id D Residues 1-134' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_domain.details _item_description.description ; A description of special aspects of the structural elements that comprise a domain. ; _item.name '_pdbx_domain.details' _item.category_id pdbx_domain _item.mandatory_code no _item_type.code text _item_examples.case ; The loop between residues 18 and 23. ; save_ save__pdbx_domain.id _item_description.description ; The value of _pdbx_domain.id must uniquely identify a record in the PDBX_DOMAIN list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_pdbx_domain.id' _item.category_id pdbx_domain _item.mandatory_code yes _item_type.code code save_ ####################### ## PDBX_DOMAIN_RANGE ## ####################### save_pdbx_domain_range _category.description ; Data items in the PDBX_DOMAIN_RANGE category identify the beginning and ending points of polypeptide chain segments that form all or part of a domain. ; _category.id pdbx_domain_range _category.mandatory_code no loop_ _category_key.name '_pdbx_domain_range.domain_id' '_pdbx_domain_range.beg_label_alt_id' '_pdbx_domain_range.beg_label_asym_id' '_pdbx_domain_range.beg_label_comp_id' '_pdbx_domain_range.beg_label_seq_id' '_pdbx_domain_range.end_label_alt_id' '_pdbx_domain_range.end_label_asym_id' '_pdbx_domain_range.end_label_comp_id' '_pdbx_domain_range.end_label_seq_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'pdbx_erf_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_domain_range.domain_id _pdbx_domain_range.beg_label_alt_id _pdbx_domain_range.beg_label_asym_id _pdbx_domain_range.beg_label_comp_id _pdbx_domain_range.beg_label_seq_id _pdbx_domain_range.end_label_alt_id _pdbx_domain_range.end_label_asym_id _pdbx_domain_range.end_label_comp_id _pdbx_domain_range.end_label_seq_id d1 A A PRO 1 A A GLY 29 d1 A B PRO 31 A B GLY 59 d1 A C PRO 61 A B GLY 89 d2 A D PRO 91 A D GLY 119 d2 A E PRO 121 A E GLY 149 d2 A F PRO 151 A F GLY 179 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_domain_range.beg_label_alt_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; _item.name '_pdbx_domain_range.beg_label_alt_id' _item.category_id pdbx_domain_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_domain_range.beg_label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_domain_range.beg_label_asym_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_domain_range.beg_label_asym_id' _item.category_id pdbx_domain_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_domain_range.beg_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_domain_range.beg_label_comp_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_domain_range.beg_label_comp_id' _item.category_id pdbx_domain_range _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_domain_range.beg_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_domain_range.beg_label_seq_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_domain_range.beg_label_seq_id' _item.category_id pdbx_domain_range _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_domain_range.beg_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_domain_range.beg_auth_asym_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_domain_range.beg_auth_asym_id' _item.category_id pdbx_domain_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_domain_range.beg_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_domain_range.beg_auth_comp_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_domain_range.beg_auth_comp_id' _item.category_id pdbx_domain_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_domain_range.beg_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_domain_range.beg_auth_seq_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain begins. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_domain_range.beg_auth_seq_id' _item.category_id pdbx_domain_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_domain_range.beg_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_domain_range.domain_id _item_description.description ; This data item is a pointer to _pdbx_domain.id in the PDBX_DOMAIN category. ; _item.name '_pdbx_domain_range.domain_id' _item.category_id pdbx_domain_range _item.mandatory_code yes _item_linked.child_name '_pdbx_domain_range.domain_id' _item_linked.parent_name '_pdbx_domain.id' save_ save__pdbx_domain_range.end_label_alt_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; _item.name '_pdbx_domain_range.end_label_alt_id' _item.category_id pdbx_domain_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_domain_range.end_label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_domain_range.end_label_asym_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_domain_range.end_label_asym_id' _item.category_id pdbx_domain_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_domain_range.end_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_domain_range.end_label_comp_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_domain_range.end_label_comp_id' _item.category_id pdbx_domain_range _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_domain_range.end_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_domain_range.end_label_seq_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_domain_range.end_label_seq_id' _item.category_id pdbx_domain_range _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_domain_range.end_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_domain_range.end_auth_asym_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_domain_range.end_auth_asym_id' _item.category_id pdbx_domain_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_domain_range.end_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_domain_range.end_auth_comp_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_domain_range.end_auth_comp_id' _item.category_id pdbx_domain_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_domain_range.end_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_domain_range.end_auth_seq_id _item_description.description ; A component of the identifier for the monomer at which this segment of the domain ends. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_domain_range.end_auth_seq_id' _item.category_id pdbx_domain_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_domain_range.end_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ ######################### ## PDBX_SEQUENCE_RANGE ## ######################### save_pdbx_sequence_range _category.description ; Data items in the PDBX_SEQUENCE_RANGE category identify the beginning and ending points of polypeptide sequence segments. ; _category.id pdbx_sequence_range _category.mandatory_code no loop_ _category_key.name '_pdbx_sequence_range.seq_range_id' '_pdbx_sequence_range.beg_label_alt_id' '_pdbx_sequence_range.beg_label_asym_id' '_pdbx_sequence_range.beg_label_comp_id' '_pdbx_sequence_range.beg_label_seq_id' '_pdbx_sequence_range.end_label_alt_id' '_pdbx_sequence_range.end_label_asym_id' '_pdbx_sequence_range.end_label_comp_id' '_pdbx_sequence_range.end_label_seq_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'pdbx_erf_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_sequence_range.seq_range_id _pdbx_sequence_range.beg_label_alt_id _pdbx_sequence_range.beg_label_asym_id _pdbx_sequence_range.beg_label_comp_id _pdbx_sequence_range.beg_label_seq_id _pdbx_sequence_range.end_label_alt_id _pdbx_sequence_range.end_label_asym_id _pdbx_sequence_range.end_label_comp_id _pdbx_sequence_range.end_label_seq_id s1 A A PRO 1 A A GLY 29 s2 A D PRO 91 A D GLY 119 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_sequence_range.beg_label_alt_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range begins. This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; _item.name '_pdbx_sequence_range.beg_label_alt_id' _item.category_id pdbx_sequence_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_sequence_range.beg_label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_sequence_range.beg_label_asym_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range begins. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_sequence_range.beg_label_asym_id' _item.category_id pdbx_sequence_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_sequence_range.beg_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_sequence_range.beg_label_comp_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range begins. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_sequence_range.beg_label_comp_id' _item.category_id pdbx_sequence_range _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_sequence_range.beg_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_sequence_range.beg_label_seq_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range begins. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_sequence_range.beg_label_seq_id' _item.category_id pdbx_sequence_range _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_sequence_range.beg_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_sequence_range.beg_auth_asym_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range begins. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_sequence_range.beg_auth_asym_id' _item.category_id pdbx_sequence_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_sequence_range.beg_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_sequence_range.beg_auth_comp_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range begins. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_sequence_range.beg_auth_comp_id' _item.category_id pdbx_sequence_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_sequence_range.beg_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_sequence_range.beg_auth_seq_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range begins. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_sequence_range.beg_auth_seq_id' _item.category_id pdbx_sequence_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_sequence_range.beg_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_sequence_range.seq_range_id _item_description.description ; This data item is an identifier for a sequence range. ; _item.name '_pdbx_sequence_range.seq_range_id' _item.category_id pdbx_sequence_range _item.mandatory_code yes _item_type.code code save_ save__pdbx_sequence_range.end_label_alt_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range ends. This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; _item.name '_pdbx_sequence_range.end_label_alt_id' _item.category_id pdbx_sequence_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_sequence_range.end_label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_sequence_range.end_label_asym_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range ends. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_sequence_range.end_label_asym_id' _item.category_id pdbx_sequence_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_sequence_range.end_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_sequence_range.end_label_comp_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range ends. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_sequence_range.end_label_comp_id' _item.category_id pdbx_sequence_range _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_sequence_range.end_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_sequence_range.end_label_seq_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range ends. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_sequence_range.end_label_seq_id' _item.category_id pdbx_sequence_range _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_sequence_range.end_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_sequence_range.end_auth_asym_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range ends. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_sequence_range.end_auth_asym_id' _item.category_id pdbx_sequence_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_sequence_range.end_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_sequence_range.end_auth_comp_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range ends. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_sequence_range.end_auth_comp_id' _item.category_id pdbx_sequence_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_sequence_range.end_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_sequence_range.end_auth_seq_id _item_description.description ; A component of the identifier for the monomer at which this segment of the sequence range ends. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_sequence_range.end_auth_seq_id' _item.category_id pdbx_sequence_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_sequence_range.end_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ ######################## ## PDBX_FEATURE_ENTRY ## ######################## save_pdbx_feature_entry _category.description ; Data items in the PDBX_FEATURE_ENTRY category records information about properties pertaining to this structure entry. ; _category.id pdbx_feature_entry _category.mandatory_code no _category_key.name '_pdbx_feature_entry.id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'pdbx_erf_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Gene Ontology data by entry ; ; loop_ _pdbx_feature_entry.id _pdbx_feature_entry.feature_name _pdbx_feature_entry.feature _pdbx_feature_entry.feature_type _pdbx_feature_entry.feature_assigned_by _pdbx_feature_entry.feature_citation_id 1 'molecular function' 'DNA binding activity' value GO GO 2 'biological process' 'regulation of transcription, DNA-dependent' value GO GO ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_feature_entry.id _item_description.description ; The value of _pdbx_feature_entry.id uniquely identifies a feature in the PDBX_FEATURE_ENTRY category. ; _item.name '_pdbx_feature_entry.id' _item.category_id pdbx_feature_entry _item.mandatory_code yes _item_type.code code save_ save__pdbx_feature_entry.feature_name _item_description.description ; _pdbx_feature_entry.feature_name identifies a feature by name. ; _item.name '_pdbx_feature_entry.feature_name' _item.category_id pdbx_feature_entry _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_entry.feature_type _item_description.description ; _pdbx_feature_entry.feature_type identifies the type of feature. ; _item.name '_pdbx_feature_entry.feature_type' _item.category_id pdbx_feature_entry _item.mandatory_code yes _item_type.code text loop_ _item_enumeration.value 'value' 'uri' save_ save__pdbx_feature_entry.feature _item_description.description ; The value of _pdbx_feature_entry.feature_name. ; _item.name '_pdbx_feature_entry.feature' _item.category_id pdbx_feature_entry _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_entry.feature_identifier _item_description.description ; _pdbx_feature_entry.feature_identifier is an additional identifier used to identify or accession this feature. ; _item.name '_pdbx_feature_entry.feature_identifier' _item.category_id pdbx_feature_entry _item.mandatory_code no _item_type.code text save_ save__pdbx_feature_entry.feature_assigned_by _item_description.description ; _pdbx_feature_entry.feature_assigned_by identifies the individual, organization or program that assigned the feature. ; _item.name '_pdbx_feature_entry.feature_assigned_by' _item.category_id pdbx_feature_entry _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_entry.feature_citation_id _item_description.description ; _pdbx_feature_entry.feature_citation_id is a reference to a citation in the CITATION category ; _item.name '_pdbx_feature_entry.feature_citation_id' _item.category_id pdbx_feature_entry _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_feature_entry.feature_citation_id' _item_linked.parent_name '_citation.id' save_ save__pdbx_feature_entry.feature_software_id _item_description.description ; _pdbx_feature_entry.feature_software_id is a reference to an application described in the SOFTWARE category. ; _item.name '_pdbx_feature_entry.feature_software_id' _item.category_id pdbx_feature_entry _item.mandatory_code no _item_type.code text _item_linked.child_name '_pdbx_feature_entry.feature_software_id' _item_linked.parent_name '_software.name' save_ ######################### ## PDBX_FEATURE_DOMAIN ## ######################### save_pdbx_feature_domain _category.description ; Data items in the PDBX_FEATURE_DOMAIN category records information about properties pertaining to this structure domain. ; _category.id pdbx_feature_domain _category.mandatory_code no _category_key.name '_pdbx_feature_domain.id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'pdbx_erf_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - SCOP data for PDB Entry 1KIP domain d1kipa_ ; ; loop_ _pdbx_feature_domain.id _pdbx_feature_domain.domain_id _pdbx_feature_domain.feature_name _pdbx_feature_domain.feature _pdbx_feature_domain.feature_type _pdbx_feature_domain.feature_assigned_by _pdbx_feature_domain.feature_citation_id 1 'd1kipa_' class 'All beta proteins' value SCOP scop 2 'd1kipa_' fold 'Immunoglobulin-like beta-sandwich' value SCOP scop 3 'd1kipa_' superfamily 'Immunoglobulin' value SCOP scop 4 'd1kipa_' family 'V set domains (antibody variable domain-like)' value SCOP scop 5 'd1kipa_' domain 'Immunoglobulin light chain kappa variable domain' value SCOP scop 6 'd1kipa_' species 'Mouse (Mus musculus), cluster 4' value SCOP scop ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_feature_domain.id _item_description.description ; The value of _pdbx_feature_domain.id uniquely identifies a feature in the PDBX_FEATURE_DOMAIN category. ; _item.name '_pdbx_feature_domain.id' _item.category_id pdbx_feature_domain _item.mandatory_code yes _item_type.code code save_ save__pdbx_feature_domain.domain_id _item_description.description ; The value of _pdbx_feature_domain.id references a domain definition in category PDBX_DOMAIN. ; _item.name '_pdbx_feature_domain.domain_id' _item.category_id pdbx_feature_domain _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_feature_domain.domain_id' _item_linked.parent_name '_pdbx_domain.id' save_ save__pdbx_feature_domain.feature_name _item_description.description ; _pdbx_feature_domain.feature_name identifies a feature by name. ; _item.name '_pdbx_feature_domain.feature_name' _item.category_id pdbx_feature_domain _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_domain.feature_type _item_description.description ; _pdbx_feature_domain.feature_type identifies the type of feature. ; _item.name '_pdbx_feature_domain.feature_type' _item.category_id pdbx_feature_domain _item.mandatory_code yes _item_type.code text loop_ _item_enumeration.value 'value' 'uri' save_ save__pdbx_feature_domain.feature _item_description.description ; The value of _pdbx_feature_domain.feature_name. ; _item.name '_pdbx_feature_domain.feature' _item.category_id pdbx_feature_domain _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_domain.feature_identifier _item_description.description ; _pdbx_feature_domain.feature_identifier is an additional identifier used to identify or accession this feature. ; _item.name '_pdbx_feature_domain.feature_identifier' _item.category_id pdbx_feature_domain _item.mandatory_code no _item_type.code text save_ save__pdbx_feature_domain.feature_assigned_by _item_description.description ; _pdbx_feature_domain.feature_assigned_by identifies the individual, organization or program that assigned the feature. ; _item.name '_pdbx_feature_domain.feature_assigned_by' _item.category_id pdbx_feature_domain _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_domain.feature_citation_id _item_description.description ; _pdbx_feature_domain.feature_citation_id is a reference to a citation in the CITATION category. ; _item.name '_pdbx_feature_domain.feature_citation_id' _item.category_id pdbx_feature_domain _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_feature_domain.feature_citation_id' _item_linked.parent_name '_citation.id' save_ save__pdbx_feature_domain.feature_software_id _item_description.description ; _pdbx_feature_domain.feature_software_id is a reference to an application described in the SOFTWARE category. ; _item.name '_pdbx_feature_domain.feature_software_id' _item.category_id pdbx_feature_domain _item.mandatory_code no _item_type.code text _item_linked.child_name '_pdbx_feature_domain.feature_software_id' _item_linked.parent_name '_software.name' save_ ################################# ## PDBX_FEATURE_SEQUENCE_RANGE ## ################################# save_pdbx_feature_sequence_range _category.description ; Data items in the PDBX_FEATURE_SEQUENCE_RANGE category records information about properties pertaining to this structure sequence_range. ; _category.id pdbx_feature_sequence_range _category.mandatory_code no _category_key.name '_pdbx_feature_sequence_range.id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'pdbx_erf_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Secondary structure computed by program DSSP. ; ; loop_ _pdbx_feature_sequence_range.id _pdbx_feature_sequence_range.seq_range_id _pdbx_feature_sequence_range.feature_name _pdbx_feature_sequence_range.feature _pdbx_feature_sequence_range.feature_type _pdbx_feature_sequence_range.feature_assigned_by _pdbx_feature_sequence_range.feature_software_id 1 H1 'secondary structure' '4-helix (alpha-helix)' value DSSP DSSP 2 T1 'secondary structure' 'hydrogen-bonded turn in beta-ladder' value DSSP DSSP ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_feature_sequence_range.id _item_description.description ; The value of _pdbx_feature_sequence_range.id uniquely identifies a feature in the PDBX_FEATURE_SEQUENCE_RANGE category ; _item.name '_pdbx_feature_sequence_range.id' _item.category_id pdbx_feature_sequence_range _item.mandatory_code yes _item_type.code code save_ save__pdbx_feature_sequence_range.seq_range_id _item_description.description ; The value of _pdbx_feature_sequence_range.seq_range_id references a sequence_range definition in category PDBX_SEQUENCE_RANGE. ; _item.name '_pdbx_feature_sequence_range.seq_range_id' _item.category_id pdbx_feature_sequence_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_feature_sequence_range.seq_range_id' _item_linked.parent_name '_pdbx_sequence_range.seq_range_id' save_ save__pdbx_feature_sequence_range.feature_name _item_description.description ; _pdbx_feature_sequence_range.feature_name identifies a feature by name. ; _item.name '_pdbx_feature_sequence_range.feature_name' _item.category_id pdbx_feature_sequence_range _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_sequence_range.feature_type _item_description.description ; _pdbx_feature_sequence_range.feature_type identifies the type of feature. ; _item.name '_pdbx_feature_sequence_range.feature_type' _item.category_id pdbx_feature_sequence_range _item.mandatory_code yes _item_type.code text loop_ _item_enumeration.value 'value' 'uri' save_ save__pdbx_feature_sequence_range.feature _item_description.description ; The value of _pdbx_feature_sequence_range.feature_name. ; _item.name '_pdbx_feature_sequence_range.feature' _item.category_id pdbx_feature_sequence_range _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_sequence_range.feature_identifier _item_description.description ; _pdbx_feature_sequence_range.feature_identifier is an additional identifier used to identify or accession this feature. ; _item.name '_pdbx_feature_sequence_range.feature_identifier' _item.category_id pdbx_feature_sequence_range _item.mandatory_code no _item_type.code text save_ save__pdbx_feature_sequence_range.feature_assigned_by _item_description.description ; _pdbx_feature_sequence_range.feature_assigned_by identifies the individual, organization or program that assigned the feature. ; _item.name '_pdbx_feature_sequence_range.feature_assigned_by' _item.category_id pdbx_feature_sequence_range _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_sequence_range.feature_citation_id _item_description.description ; _pdbx_feature_sequence_range.feature_citation_id is a reference to a citation in the CITATION category ; _item.name '_pdbx_feature_sequence_range.feature_citation_id' _item.category_id pdbx_feature_sequence_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_feature_sequence_range.feature_citation_id' _item_linked.parent_name '_citation.id' save_ save__pdbx_feature_sequence_range.feature_software_id _item_description.description ; _pdbx_feature_sequence_range.feature_software_id is a reference to an application descripted in the SOFTWARE category. ; _item.name '_pdbx_feature_sequence_range.feature_software_id' _item.category_id pdbx_feature_sequence_range _item.mandatory_code no _item_type.code text _item_linked.child_name '_pdbx_feature_sequence_range.feature_software_id' _item_linked.parent_name '_software.name' save_ ########################### ## PDBX_FEATURE_ASSEMBLY ## ########################### save_pdbx_feature_assembly _category.description ; Data items in the PDBX_FEATURE_ASSEMBLY category records information about properties pertaining to this structural assembly. ; _category.id pdbx_feature_assembly _category.mandatory_code no _category_key.name '_pdbx_feature_assembly.id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'pdbx_erf_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Biological process for functional assembly ; ; loop_ _pdbx_feature_assembly.id _pdbx_feature_assembly.assembly_id _pdbx_feature_assembly.feature_name _pdbx_feature_assembly.feature _pdbx_feature_assembly.feature_type _pdbx_feature_assembly.feature_assigned_by _pdbx_feature_assembly.feature_citation_id 1 b1 'biological process' 'nitrogen metabolism' value GO GO ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_feature_assembly.id _item_description.description ; The value of _pdbx_feature_assembly.id uniquely identifies a feature in the PDBX_FEATURE_ASSEMBLY category. ; _item.name '_pdbx_feature_assembly.id' _item.category_id pdbx_feature_assembly _item.mandatory_code yes _item_type.code code save_ save__pdbx_feature_assembly.assembly_id _item_description.description ; The value of _pdbx_feature_assembly.assembly_id references an assembly definition in category STRUCT_BIOL ; _item.name '_pdbx_feature_assembly.assembly_id' _item.category_id pdbx_feature_assembly _item.mandatory_code yes _item_type.code line _item_linked.child_name '_pdbx_feature_assembly.assembly_id' _item_linked.parent_name '_struct_biol.id' save_ save__pdbx_feature_assembly.feature_name _item_description.description ; _pdbx_feature_assembly.feature_name identifies a feature by name. ; _item.name '_pdbx_feature_assembly.feature_name' _item.category_id pdbx_feature_assembly _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_assembly.feature_type _item_description.description ; _pdbx_feature_assembly.feature_type identifies the type of feature. ; _item.name '_pdbx_feature_assembly.feature_type' _item.category_id pdbx_feature_assembly _item.mandatory_code yes _item_type.code text loop_ _item_enumeration.value 'value' 'uri' save_ save__pdbx_feature_assembly.feature _item_description.description ; The value of _pdbx_feature_assembly.feature_name. ; _item.name '_pdbx_feature_assembly.feature' _item.category_id pdbx_feature_assembly _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_assembly.feature_identifier _item_description.description ; _pdbx_feature_assembly_range.feature_identifier is an additional identifier used to identify or accession this feature. ; _item.name '_pdbx_feature_assembly.feature_identifier' _item.category_id pdbx_feature_assembly _item.mandatory_code no _item_type.code text save_ save__pdbx_feature_assembly.feature_assigned_by _item_description.description ; _pdbx_feature_assembly.feature_assigned_by identifies the individual, organization or program that assigned the feature. ; _item.name '_pdbx_feature_assembly.feature_assigned_by' _item.category_id pdbx_feature_assembly _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_assembly.feature_citation_id _item_description.description ; _pdbx_feature_assembly.feature_citation_id is a reference to a citation in the CITATION category ; _item.name '_pdbx_feature_assembly.feature_citation_id' _item.category_id pdbx_feature_assembly _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_feature_assembly.feature_citation_id' _item_linked.parent_name '_citation.id' save_ save__pdbx_feature_assembly.feature_software_id _item_description.description ; _pdbx_feature_assembly.feature_software_id is a reference to an application described in the SOFTWARE category. ; _item.name '_pdbx_feature_assembly.feature_software_id' _item.category_id pdbx_feature_assembly _item.mandatory_code no _item_type.code text _item_linked.child_name '_pdbx_feature_assembly.feature_software_id' _item_linked.parent_name '_software.name' save_ ########################## ## PDBX_FEATURE_MONOMER ## ########################## save_pdbx_feature_monomer _category.description ; Data items in the PDBX_FEATURE_MONOMER category records information about properties pertaining to particular monomers in this structure. ; _category.id pdbx_feature_monomer _category.mandatory_code no _category_key.name '_pdbx_feature_monomer.id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'pdbx_erf_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_feature_monomer.id _pdbx_feature_monomer.label_alt_id _pdbx_feature_monomer.label_asym_id _pdbx_feature_monomer.label_comp_id _pdbx_feature_monomer.label_seq_id _pdbx_feature_monomer.feature_name _pdbx_feature_monomer.feature _pdbx_feature_monomer.feature_type _pdbx_feature_monomer.feature_assigned_by _pdbx_feature_monomer.feature_citation_id 1 . A ASP 1 'SASA' 129.4 value POPS pops 1 . A ILE 2 'SASA' 35.5 value POPS pops 1 . A VAL 3 'SASA' 87.2 value POPS pops ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_feature_monomer.id _item_description.description ; The value of _pdbx_feature_monomer.id uniquely identifies a feature in the PDBX_FEATURE_MONOMER category. ; _item.name '_pdbx_feature_monomer.id' _item.category_id pdbx_feature_monomer _item.mandatory_code yes _item_type.code code save_ save__pdbx_feature_monomer.feature_name _item_description.description ; _pdbx_feature_monomer.feature_name identifies a feature by name. ; _item.name '_pdbx_feature_monomer.feature_name' _item.category_id pdbx_feature_monomer _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_monomer.feature_type _item_description.description ; _pdbx_feature_monomer.feature_type identifies the type of feature. ; _item.name '_pdbx_feature_monomer.feature_type' _item.category_id pdbx_feature_monomer _item.mandatory_code yes _item_type.code text loop_ _item_enumeration.value 'value' 'uri' save_ save__pdbx_feature_monomer.feature _item_description.description ; The value of _pdbx_feature_monomer.feature_name. ; _item.name '_pdbx_feature_monomer.feature' _item.category_id pdbx_feature_monomer _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_monomer.feature_identifier _item_description.description ; _pdbx_feature_monomer.feature_identifier is an additional identifier used to identify or accession this feature. ; _item.name '_pdbx_feature_monomer.feature_identifier' _item.category_id pdbx_feature_monomer _item.mandatory_code no _item_type.code text save_ save__pdbx_feature_monomer.feature_assigned_by _item_description.description ; _pdbx_feature_monomer.feature_assigned_by identifies the individual, organization or program that assigned the feature. ; _item.name '_pdbx_feature_monomer.feature_assigned_by' _item.category_id pdbx_feature_monomer _item.mandatory_code yes _item_type.code text save_ save__pdbx_feature_monomer.feature_citation_id _item_description.description ; _pdbx_feature_monomer.feature_citation_id is a reference to a citation in the CITATION category. ; _item.name '_pdbx_feature_monomer.feature_citation_id' _item.category_id pdbx_feature_monomer _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_feature_monomer.feature_citation_id' _item_linked.parent_name '_citation.id' save_ save__pdbx_feature_monomer.feature_software_id _item_description.description ; _pdbx_feature_monomer.feature_software_id is a reference to an application described in the SOFTWARE category. ; _item.name '_pdbx_feature_monomer.feature_software_id' _item.category_id pdbx_feature_monomer _item.mandatory_code no _item_type.code text _item_linked.child_name '_pdbx_feature_monomer.feature_software_id' _item_linked.parent_name '_software.name' save_ ## save__pdbx_feature_monomer.label_alt_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; _item.name '_pdbx_feature_monomer.label_alt_id' _item.category_id pdbx_feature_monomer _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_feature_monomer.label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_feature_monomer.label_asym_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_feature_monomer.label_asym_id' _item.category_id pdbx_feature_monomer _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_feature_monomer.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_feature_monomer.label_comp_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_feature_monomer.label_comp_id' _item.category_id pdbx_feature_monomer _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_feature_monomer.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_feature_monomer.label_seq_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_feature_monomer.label_seq_id' _item.category_id pdbx_feature_monomer _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_feature_monomer.label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_feature_monomer.auth_asym_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_feature_monomer.auth_asym_id' _item.category_id pdbx_feature_monomer _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_feature_monomer.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_feature_monomer.auth_comp_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_feature_monomer.auth_comp_id' _item.category_id pdbx_feature_monomer _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_feature_monomer.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_feature_monomer.auth_seq_id _item_description.description ; A component of the identifier for the monomer. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_feature_monomer.auth_seq_id' _item.category_id pdbx_feature_monomer _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_feature_monomer.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ ## ## End of file: mmcif_pdbx-def-9.dic ## ########################################################################### # # File: mmcif_pdbx-def-10.dic # # PDB Exchange Data Dictionary # # This data dictionary contains preliminary extensions for describing # macromolecular powder diffraction experiments. # # Definition Section 10 # # ########################################################################### save__diffrn_radiation.pdbx_analyzer _item_description.description ; Indicates the method used to obtain monochromatic radiation. _diffrn_radiation.monochromator describes the primary beam monochromator (pre-specimen monochromation). _diffrn_radiation.pdbx_analyzer specifies the post-diffraction analyser (post-specimen) monochromation. Note that monochromators may have either 'parallel' or 'antiparallel' orientation. It is assumed that the geometry is parallel unless specified otherwise. In a parallel geometry, the position of the monochromator allows the incident beam and the final post-specimen and post-monochromator beam to be as close to parallel as possible. In a parallel geometry, the diffracting planes in the specimen and monochromator will be parallel when 2*theta(monochromator) is equal to 2*theta (specimen). For further discussion see R. Jenkins and R. Snyder, Introduction to X-ray Powder Diffraction, Wiley (1996), pp. 164-5. ; _item.name '_diffrn_radiation.pdbx_analyzer' _item.category_id diffrn_radiation _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'GE(111)' 'Zr filter' 'Ge 220' 'none' 'equatorial mounted graphite (0001)' 'Si (111), antiparallel' _item_aliases.dictionary cif_pd.dic _item_aliases.version 1.0 _item_aliases.alias_name '_pd_instr_monochr_post_spec' save_ save_pdbx_exptl_pd _category.description ; Data items in the pdbx_exptl_pd record information about powder sample preparations. ; _category.id pdbx_exptl_pd _category.mandatory_code no _category_key.name '_pdbx_exptl_pd.entry_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' save_ save__pdbx_exptl_pd.entry_id _item_description.description ; The value of _pdbx_exptl_pd.entry_id uniquely identifies a record in the PDBX_EXPTL_PD category. ; _item.name '_pdbx_exptl_pd.entry_id' _item.category_id pdbx_exptl_pd _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_exptl_pd.entry_id' _item_linked.parent_name '_entry.id' save_ save__pdbx_exptl_pd.spec_preparation_pH _item_description.description ; The pH at which the powder sample was prepared. ; _item.name '_pdbx_exptl_pd.spec_preparation_pH' _item.category_id pdbx_exptl_pd _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float save_ save__pdbx_exptl_pd.spec_preparation_pH_range _item_description.description ; The range of pH values at which the sample was prepared. Used when a point estimate of pH is not appropriate. ; _item.name '_pdbx_exptl_pd.spec_preparation_pH_range' _item.category_id pdbx_exptl_pd _item.mandatory_code no _item_type.code line loop_ _item_examples.case '5.6 - 6.4' save_ save__pdbx_exptl_pd.spec_preparation _item_description.description ; A description of preparation steps for producing the diffraction specimen from the sample. Include any procedures related to grinding, sieving, spray drying, etc. ; _item.name '_pdbx_exptl_pd.spec_preparation' _item.category_id pdbx_exptl_pd _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'POLYCRYSTAL SLURRY' 'wet grinding in acetone' 'sieved through a 44 micron (325 mesh/inch) sieve' 'spray dried in water with 1% clay' _item_aliases.dictionary cif_pd.dic _item_aliases.version 1.0 _item_aliases.alias_name '_pd_spec_preparation' save_ save__refine.pdbx_pd_number_of_powder_patterns _item_description.description ; The total number of powder patterns used. ; _item.name '_refine.pdbx_pd_number_of_powder_patterns' _item.category_id refine _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__refine.pdbx_pd_number_of_points _item_description.description ; The total number of data points in the processed diffractogram. ; _item.name '_refine.pdbx_pd_number_of_points' _item.category_id refine _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int _item_aliases.dictionary cif_pd.dic _item_aliases.version 1.0 _item_aliases.alias_name '_pd_proc_number_of_points' save_ save__refine.pdbx_pd_meas_number_of_points _item_description.description ; The total number of points in the measured diffractogram. ; _item.name '_refine.pdbx_pd_meas_number_of_points' _item.category_id refine _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int _item_aliases.dictionary cif_pd.dic _item_aliases.version 1.0 _item_aliases.alias_name '_pd_meas_number_of_points' save_ save__refine.pdbx_pd_proc_ls_prof_R_factor _item_description.description ; Rietveld/Profile fit R factors. Note that the R factor computed for Rietveld refinements using the extracted reflection intensity values (often called the Rietveld or Bragg R factor, R~B~) is not properly a profile R factor. pdbx_pd_proc_ls_prof_R_factor, often called R~p~, is an unweighted fitness metric for the agreement between the observed and computed diffraction patterns R~p~ = sum~i~ | I~obs~(i) - I~calc~(i) | / sum~i~ ( I~obs~(i) ) Note that in the above equations, w(i) is the weight for the ith data point I~obs~(i) is the observed intensity for the ith data point, sometimes referred to as y~i~(obs) or y~oi~. I~calc~(i) is the computed intensity for the ith data point with background and other corrections applied to match the scale of the observed dataset, sometimes referred to as y~i~(calc) or y~ci~. n is the total number of data points (see _refine.pdbx_pd_number_of_points) less the number of data points excluded from the refinement. p is the total number of refined parameters. ; _item.name '_refine.pdbx_pd_proc_ls_prof_R_factor' _item.category_id refine _item.mandatory_code no _item_type.code float _item_aliases.dictionary cif_pd.dic _item_aliases.version 1.0 _item_aliases.alias_name '_pd_proc_ls_prof_R_factor' save_ save__refine.pdbx_pd_proc_ls_prof_wR_factor _item_description.description ; Rietveld/Profile fit R factors. Note that the R factor computed for Rietveld refinements using the extracted reflection intensity values (often called the Rietveld or Bragg R factor, R~B~) is not properly a profile R factor. pdbx_pd_proc_ls_prof_wR_factor often called R~wp~, is a weighted fitness metric for the agreement between the observed and computed diffraction patterns R~wp~ = SQRT { sum~i~ ( w(i) [ I~obs~(i) - I~calc~(i) ]^2^ ) / sum~i~ ( w(i) [I~obs~(i)]^2^ ) } Note that in the above equations, w(i) is the weight for the ith data point I~obs~(i) is the observed intensity for the ith data point, sometimes referred to as y~i~(obs) or y~oi~. I~calc~(i) is the computed intensity for the ith data point with background and other corrections applied to match the scale of the observed dataset, sometimes referred to as y~i~(calc) or y~ci~. n is the total number of data points (see _refine.pdbx_pd_number_of_points) less the number of data points excluded from the refinement. p is the total number of refined parameters. ; _item.name '_refine.pdbx_pd_proc_ls_prof_wR_factor' _item.category_id refine _item.mandatory_code no _item_type.code float _item_aliases.dictionary cif_pd.dic _item_aliases.version 1.0 _item_aliases.alias_name '_pd_proc_ls_prof_wR_factor' save_ save__refine.pdbx_pd_Marquardt_correlation_coeff _item_description.description ; The correlation coefficient between the observed and calculated structure factors for reflections included in the refinement. This correlation factor is found in the fitting using the Levenberg-Marquardt algorithm to search for the minimum value of chisquare. Almost all computer codes for Rietveld refinement employ the Gauss-Newton algorithm to find parameters which minimize the weighted sum of squares of the residuals. A description of the equations is given on http://www.water.hut.fi/~tkarvone/fr_org_s.htm ; _item.name '_refine.pdbx_pd_Marquardt_correlation_coeff' _item.category_id refine _item.mandatory_code no _item_type.code float save_ save__refine.pdbx_pd_Fsqrd_R_factor _item_description.description ; Residual factor R for reflections that satisfy the resolution limits established by _refine.ls_d_res_high and _refine.ls_d_res_low and the observation limit established by _reflns.observed_criterion. sum|F~obs~**2 - F~calc~**2| R = --------------------- sum|F~obs~**2| F~obs~ = the observed structure-factor amplitudes F~calc~ = the calculated structure-factor amplitudes sum is taken over the specified reflections ; _item.name '_refine.pdbx_pd_Fsqrd_R_factor' _item.category_id refine _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 _item_type.code float save_ save__refine.pdbx_pd_ls_matrix_band_width _item_description.description ; The least squares refinement "band matrix" approximation to the full matrix. ; _item.name '_refine.pdbx_pd_ls_matrix_band_width' _item.category_id refine _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ ### EOF mmcif_pdbx-def-10.dic ## ## DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT ## ## PDBx Dictionary Extensions for: ## ## wwPDB Annotation Recommendations on PDB processing procedures ## and policies (version Aug 31,2006) ## ## *********** cifized draft extensions on 2006-09-12 (jdw) *********** ## *********** Revised draft extensions on 2006-09-25 (jdw) *********** ## ## NOTES: ## ## Twinning items to be added from PDB_EXTRACT examples. ## ## ## For nonpolymer instance geometries. ## Please see: GEOM_BOND, GEOM_ANGLE, GEOM_TORSION. ## ## ## For nonpolymer environments please see: STRUCT_SITE / STRUCT_SITE_GEN ## ## TLS extensions if necessary for atom level tensors. ## END NOTES ## ## Preliminary data definitions for twinning. ## (from H.Yang as implemented in PDB_EXTRACT) ## ## cifized draft - jdw 20060912 ## save_pdbx_reflns_twin _category.description ; Details decribing crystallographic twinning. ; _category.id 'pdbx_reflns_twin' _category.mandatory_code no loop_ _category_key.name '_pdbx_reflns_twin.crystal_id' '_pdbx_reflns_twin.diffrn_id' '_pdbx_reflns_twin.operator' # loop_ _category_group.id 'inclusive_group' 'refln_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_reflns_twin.diffrn_id _pdbx_reflns_twin.crystal_id _pdbx_reflns_twin.type _pdbx_reflns_twin.operator _pdbx_reflns_twin.fraction _pdbx_reflns_twin.mean_I2_over_mean_I_square _pdbx_reflns_twin.mean_F_square_over_mean_F2 1 1 merohedral 'h,-h-k,-l' .43 1.3 .84 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reflns_twin.diffrn_id _item_description.description ; The diffraction data set identifier. A reference to _diffrn.id in category DIFFRN. ; _item.name '_pdbx_reflns_twin.diffrn_id' _item.category_id 'pdbx_reflns_twin' _item.mandatory_code yes _item_type.code code save_ save__pdbx_reflns_twin.crystal_id _item_description.description ; The crystal identifier. A reference to _exptl_crystal.id in category EXPTL_CRYSTAL. ; _item.name '_pdbx_reflns_twin.crystal_id' _item.category_id 'pdbx_reflns_twin' _item.mandatory_code yes _item_type.code code save_ save__pdbx_reflns_twin.domain_id _item_description.description ; An identifier for the twin domain. ; _item.name '_pdbx_reflns_twin.domain_id' _item.category_id 'pdbx_reflns_twin' _item.mandatory_code no _item_type.code code save_ save__pdbx_reflns_twin.type _item_description.description ; There are two types of twinning: merohedral or hemihedral non-merohedral or epitaxial For merohedral twinning the diffraction patterns from the different domains are completely superimposable. Hemihedral twinning is a special case of merohedral twinning. It only involves two distinct domains. Pseudo-merohedral twinning is a subclass merohedral twinning in which lattice is coincidentally superimposable. In the case of non-merohedral or epitaxial twinning the reciprocal lattices do not superimpose exactly. In this case the diffraction pattern consists of two (or more) interpenetrating lattices, which can in principle be separated. ; _item.name '_pdbx_reflns_twin.type' _item.category_id 'pdbx_reflns_twin' _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value 'merohedral' 'hemihedral' 'non-merohedral' 'pseudo-merohedral' 'epitaxial' 'tetartohedral' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_reflns_twin.type" epitaxial . "_pdbx_reflns_twin.type" hemihedral . "_pdbx_reflns_twin.type" merohedral . "_pdbx_reflns_twin.type" non-merohedral . "_pdbx_reflns_twin.type" pseudo-merohedral . "_pdbx_reflns_twin.type" tetartohedral . save_ save__pdbx_reflns_twin.operator _item_description.description ; The possible merohedral or hemihedral twinning operators for different point groups are: True point group Twin operation hkl related to 3 2 along a,b h,-h-k,-l 2 along a*,b* h+k,-k,-l 2 along c -h,-k,l 4 2 along a,b,a*,b* h,-k,-l 6 2 along a,b,a*,b* h,-h-k,-l 321 2 along a*,b*,c -h,-k,l 312 2 along a,b,c -h,-k,l 23 4 along a,b,c k,-h,l References: Yeates, T.O. (1997) Methods in Enzymology 276, 344-358. Detecting and Overcoming Crystal Twinning. and information from the following on-line sites: CNS site http://cns.csb.yale.edu/v1.1/ CCP4 site http://www.ccp4.ac.uk/dist/html/detwin.html SHELX site http://shelx.uni-ac.gwdg.de/~rherbst/twin.html ; _item.name '_pdbx_reflns_twin.operator' _item.category_id 'pdbx_reflns_twin' _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'h,-h-k,-l' 'h+k,-k,-l' '-h,-k,l' 'h,-k,-l' 'h,-h-k,-l' '-h,-k,l' 'k,-h,l' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_reflns_twin.operator" -h,-k,l . "_pdbx_reflns_twin.operator" h+k,-k,-l . "_pdbx_reflns_twin.operator" h,-h-k,-l . "_pdbx_reflns_twin.operator" h,-k,-l . "_pdbx_reflns_twin.operator" k,-h,l . # save_ save__pdbx_reflns_twin.fraction _item_description.description ; The twin fraction or twin factor represents a quantitative parameter for the crystal twinning. The value 0 represents no twinning, < 0.5 partial twinning, = 0.5 for perfect twinning. ; _item.name '_pdbx_reflns_twin.fraction' _item.category_id 'pdbx_reflns_twin' _item.mandatory_code yes _item_type.code float save_ save__pdbx_reflns_twin.mean_I2_over_mean_I_square _item_description.description ; The ideal statistics for twinned crystals. The values calculated with the acentric data are given below. Statistic Untwinned data Perfect twinned data /^2 2.0 1.5 ^2/ 0.785 0.865 References: Yeates, T.O. (1997) Methods in Enzymology 276, 344-358. Detecting and Overcoming Crystal Twinning. and information from the following on-line sites: CNS site http://cns.csb.yale.edu/v1.1/ CCP4 site http://www.ccp4.ac.uk/dist/html/detwin.html SHELX site http://shelx.uni-ac.gwdg.de/~rherbst/twin.html ; _item.name '_pdbx_reflns_twin.mean_I2_over_mean_I_square' _item.category_id 'pdbx_reflns_twin' _item.mandatory_code no _item_type.code float save_ save__pdbx_reflns_twin.mean_F_square_over_mean_F2 _item_description.description ; The ideal statistics for twinned crystals. The values calculated with the acentric data are given below. Statistic Untwinned data Perfect twinned data /^2 2.0 1.5 ^2/ 0.785 0.865 References: Yeates, T.O. (1997) Methods in Enzymology 276, 344-358. Detecting and Overcoming Crystal Twinning. and information from the following on-line sites: CNS site http://cns.csb.yale.edu/v1.1/ CCP4 site http://www.ccp4.ac.uk/dist/html/detwin.html SHELX site http://shelx.uni-ac.gwdg.de/~rherbst/twin.html ; _item.name '_pdbx_reflns_twin.mean_F_square_over_mean_F2' _item.category_id 'pdbx_reflns_twin' _item.mandatory_code no _item_type.code float save_ ### ### save__struct_conn.pdbx_dist_value _item_description.description ; Distance value for this contact. ; _item.name '_struct_conn.pdbx_dist_value' _item.category_id 'struct_conn' _item.mandatory_code no _item_type.code float _item_units.code 'angstroms' save_ save__struct_conn.pdbx_value_order _item_description.description ; The chemical bond order associated with the specified atoms in this contact. ; _item.name '_struct_conn.pdbx_value_order' _item.category_id struct_conn _item.mandatory_code no _item_default.value sing _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sing 'single bond' doub 'double bond' trip 'triple bond' quad 'quadruple bond' save_ ## save_pdbx_struct_info _category.description ; Special features of this structural entry. ; _category.id 'pdbx_struct_info' _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_info.type' '_pdbx_struct_info.value' # loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_struct_info.type _pdbx_struct_info.value 'nonpolymer_zero_occupancy_flag' Y 'polymer_zero_occupancy_flag' Y 'multiple_model_flag' Y 'multiple_model_details' 'Model 3 missing ligand ACX' 'nonpolymer_details' 'Disordered ligand geometry for C34 with missing pyridine ring' 'missing atoms in alternate conformations' Y ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_info.type _item_description.description ; The information category/type for this item. ; _item.name '_pdbx_struct_info.type' _item.category_id 'pdbx_struct_info' _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'nonpolymer_zero_occupancy_flag' 'polymer_zero_occupancy_flag' 'multiple_model_flag' 'multiple_model_details' 'nonpolymer_details' 'missing atoms in alternate conformations' save_ save__pdbx_struct_info.value _item_description.description ; The value of this information item. ; _item.name '_pdbx_struct_info.value' _item.category_id 'pdbx_struct_info' _item.mandatory_code yes _item_type.code text save_ save__pdbx_struct_info.details _item_description.description ; Additional details about this information item. ; _item.name '_pdbx_struct_info.details' _item.category_id 'pdbx_struct_info' _item.mandatory_code no _item_type.code text save_ ## save_pdbx_re_refinement _category.description ; Describes the origin of the experimental data used in this entry. ; _category.id 'pdbx_re_refinement' _category.mandatory_code no loop_ _category_key.name '_pdbx_re_refinement.entry_id' # loop_ _category_group.id 'inclusive_group' 'entry_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_re_refinement.entry_id 1ABC _pdbx_re_refinement.citation_id 2 _pdbx_re_refinement.details 'Re-refinement of data from entry 1ABC' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_re_refinement.entry_id _item_description.description ; The identifier for entry where the experimental data was obtained. ; _item.name '_pdbx_re_refinement.entry_id' _item.category_id 'pdbx_re_refinement' _item.mandatory_code yes _item_type.code code save_ save__pdbx_re_refinement.citation_id _item_description.description ; A pointer to _citation.id in category CITATION describing the citation of the entry from from which the experimental data were obtained. ; _item.name '_pdbx_re_refinement.citation_id' _item.category_id 'pdbx_re_refinement' _item.mandatory_code yes _item_type.code code save_ save__pdbx_re_refinement.details _item_description.description ; Additional details about this re-refinement. ; _item.name '_pdbx_re_refinement.details' _item.category_id 'pdbx_re_refinement' _item.mandatory_code yes _item_type.code code save_ # save_pdbx_struct_assembly_prop _category.description ; Properties and features of structural assemblies. ; _category.id pdbx_struct_assembly_prop _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_assembly_prop.type' '_pdbx_struct_assembly_prop.biol_id' # loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_struct_assembly_prop.biol_id 1 _pdbx_struct_assembly_prop.type ABSA _pdbx_struct_assembly_prop.value 1456.7 _pdbx_struct_assembly_prop.details ' ' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_assembly_prop.biol_id _item_description.description ; The identifier for the assembly used in category PDBX_STRUCT_ASSEMBLY. ; _item.name '_pdbx_struct_assembly_prop.biol_id' _item.category_id 'pdbx_struct_assembly_prop' _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_assembly_prop.type _item_description.description ; The property type for the assembly. ; _item.name '_pdbx_struct_assembly_prop.type' _item.category_id 'pdbx_struct_assembly_prop' _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'ABSA (A^2)' 'SSA (A^2)' 'MORE' save_ save__pdbx_struct_assembly_prop.value _item_description.description ; The value of the assembly property. ; _item.name '_pdbx_struct_assembly_prop.value' _item.category_id 'pdbx_struct_assembly_prop' _item.mandatory_code yes _item_type.code text save_ save__pdbx_struct_assembly_prop.details _item_description.description ; Additional details about this assembly property. ; _item.name '_pdbx_struct_assembly_prop.details' _item.category_id 'pdbx_struct_assembly_prop' _item.mandatory_code no _item_type.code text save_ save__struct_biol.pdbx_aggregation_state _item_description.description ; A description of the structural aggregation in this assembly. ; _item.name '_struct_biol.pdbx_aggregation_state' _item.category_id 'struct_biol' _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value 'MONOMER' 'DIMER' 'TRIMER' 'TETRAMER' 'HEXAMER' 'MORE' save_ save__struct_biol.pdbx_assembly_method _item_description.description ; The method or experiment used to determine this assembly. ; _item.name '_struct_biol.pdbx_assembly_method' _item.category_id 'struct_biol' _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'AUTHOR PROVIDED', 'LCMS', 'PISA', 'PQS' save_ ## ## DOI's ## save__entry.pdbx_DOI _item_description.description ; Document Object Identifier (DOI) for this entry registered with http://crossref.org. ; _item.name '_entry.pdbx_DOI' _item.category_id 'entry' _item.mandatory_code no _item_type.code code _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entry.pdbx_DOI' save_ ## save__citation.unpublished_flag _item_description.description ; Flag to indicate that this citation will not be published. ; _item.name '_citation.unpublished_flag' _item.category_id 'citation' _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value 'Y' 'N' save_ ## ## Taxonomy ids.. ## save__entity_src_gen.pdbx_gene_src_ncbi_taxonomy_id _item_description.description ; NCBI Taxonomy identifier for the gene source organism. Reference: Wheeler DL, Chappey C, Lash AE, Leipe DD, Madden TL, Schuler GD, Tatusova TA, Rapp BA (2000). Database resources of the National Center for Biotechnology Information. Nucleic Acids Res 2000 Jan 1;28(1):10-4 Benson DA, Karsch-Mizrachi I, Lipman DJ, Ostell J, Rapp BA, Wheeler DL (2000). GenBank. Nucleic Acids Res 2000 Jan 1;28(1):15-18. ; _item.name '_entity_src_gen.pdbx_gene_src_ncbi_taxonomy_id' _item.category_id 'entity_src_gen' _item.mandatory_code no _item_type.code line _pdbx_item.name "_entity_src_gen.pdbx_gene_src_ncbi_taxonomy_id" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_entity_src_gen.pdbx_gene_src_ncbi_taxonomy_id" _pdbx_item_description.description "NCBI Taxonomy identifier for the gene source organism if known" save_ save__entity_src_gen.pdbx_host_org_ncbi_taxonomy_id _item_description.description ; NCBI Taxonomy identifier for the expression system organism. Reference: Wheeler DL, Chappey C, Lash AE, Leipe DD, Madden TL, Schuler GD, Tatusova TA, Rapp BA (2000). Database resources of the National Center for Biotechnology Information. Nucleic Acids Res 2000 Jan 1;28(1):10-4 Benson DA, Karsch-Mizrachi I, Lipman DJ, Ostell J, Rapp BA, Wheeler DL (2000). GenBank. Nucleic Acids Res 2000 Jan 1;28(1):15-18. ; _item.name '_entity_src_gen.pdbx_host_org_ncbi_taxonomy_id' _item.category_id 'entity_src_gen' _item.mandatory_code no _item_type.code line _pdbx_item.name '_entity_src_gen.pdbx_host_org_ncbi_taxonomy_id' _pdbx_item.mandatory_code yes save_ save__entity_src_nat.pdbx_ncbi_taxonomy_id _item_description.description ; NCBI Taxonomy identifier for the source organism. Reference: Wheeler DL, Chappey C, Lash AE, Leipe DD, Madden TL, Schuler GD, Tatusova TA, Rapp BA (2000). Database resources of the National Center for Biotechnology Information. Nucleic Acids Res 2000 Jan 1;28(1):10-4 Benson DA, Karsch-Mizrachi I, Lipman DJ, Ostell J, Rapp BA, Wheeler DL (2000). GenBank. Nucleic Acids Res 2000 Jan 1;28(1):15-18. ; _item.name '_entity_src_nat.pdbx_ncbi_taxonomy_id' _item.category_id 'entity_src_nat' _item.mandatory_code no _pdbx_item.name "_entity_src_nat.pdbx_ncbi_taxonomy_id" _pdbx_item.mandatory_code yes _item_type.code line _pdbx_item_description.name "_entity_src_nat.pdbx_ncbi_taxonomy_id" _pdbx_item_description.description "NCBI Taxonomy identifier for the source organism if known" save_ ################################# ## PDBX_STRUCT_REF_SEQ_FEATURE ## ################################# save_pdbx_struct_ref_seq_feature _category.description ; Data items in the PDBX_STRUCT_REF_SEQ_FEATURE category provide a mechanism for identifying and annotating sequence features. ; _category.id 'pdbx_struct_ref_seq_feature' _category.mandatory_code no _category_key.name '_pdbx_struct_ref_seq_feature.feature_id' # loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_struct_ref_seq_feature.feature_id 1 _pdbx_struct_ref_seq_feature.align_id algn2 _pdbx_struct_ref_seq_feature.beg_auth_mon_id GLU _pdbx_struct_ref_seq_feature.end_auth_mon_id PHE _pdbx_struct_ref_seq_feature.beg_auth_seq_id 10 _pdbx_struct_ref_seq_feature.end_auth_seq_id 14 _pdbx_struct_ref_seq_feature.type 'variant' _pdbx_struct_ref_seq_feature.details ; Special ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_ref_seq_feature.feature_id _item_description.description ; Uniquely identfies a sequence feature in the STRUCT_REF_SEQ_FEATURE category. ; _item.name '_pdbx_struct_ref_seq_feature.feature_id' _item.category_id 'pdbx_struct_ref_seq_feature' _item.mandatory_code yes _item_type.code int save_ save__pdbx_struct_ref_seq_feature.align_id _item_description.description ; This data item is a pointer to _struct_ref_seq.align_id in the STRUCT_REF_SEQ category. ; _item.name '_pdbx_struct_ref_seq_feature.align_id' _item.category_id 'pdbx_struct_ref_seq_feature' _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_ref_seq_feature.type _item_description.description ; A classification of the feature ; _item.name '_pdbx_struct_ref_seq_feature.type' _item.category_id 'pdbx_struct_ref_seq_feature' _item.mandatory_code no _item_type.code text loop_ _item_enumeration.value 'deletion' 'expression tag' 'variant' 'other' save_ save__pdbx_struct_ref_seq_feature.details _item_description.description ; A description of special aspects of the feature ; _item.name '_pdbx_struct_ref_seq_feature.details' _item.category_id 'pdbx_struct_ref_seq_feature' _item.mandatory_code no _item_type.code text save_ save__pdbx_struct_ref_seq_feature.pdb_strand_id _item_description.description ; PDB strand/chain id. ; _item.name '_pdbx_struct_ref_seq_feature.pdb_strand_id' _item.category_id pdbx_struct_ref_seq_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' save_ save__pdbx_struct_ref_seq_feature.asym_id _item_description.description ; Instance identifier for the polymer molecule. ; _item.name '_pdbx_struct_ref_seq_feature.asym_id' _item.category_id pdbx_struct_ref_seq_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' save_ save__pdbx_struct_ref_seq_feature.beg_auth_seq_id _item_description.description ; Initial position in the PDB sequence segment. ; _item.name '_pdbx_struct_ref_seq_feature.beg_auth_seq_id' _item.category_id pdbx_struct_ref_seq_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' save_ save__pdbx_struct_ref_seq_feature.end_auth_seq_id _item_description.description ; Ending position in the PDB sequence segment ; _item.name '_pdbx_struct_ref_seq_feature.end_auth_seq_id' _item.category_id pdbx_struct_ref_seq_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' save_ # save__pdbx_struct_ref_seq_feature.beg_seq_num _item_description.description ; Initial position in the sequence segment. ; _item.name '_pdbx_struct_ref_seq_feature.beg_seq_num' _item.category_id pdbx_struct_ref_seq_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' save_ save__pdbx_struct_ref_seq_feature.end_seq_num _item_description.description ; Ending position in the sequence segment ; _item.name '_pdbx_struct_ref_seq_feature.end_seq_num' _item.category_id pdbx_struct_ref_seq_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' save_ save__pdbx_struct_ref_seq_feature.beg_auth_mon_id _item_description.description ; Monomer ID at the initial position in the PDB sequence segment. ; _item.name '_pdbx_struct_ref_seq_feature.beg_auth_mon_id' _item.category_id pdbx_struct_ref_seq_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' save_ save__pdbx_struct_ref_seq_feature.end_auth_mon_id _item_description.description ; Monomer ID at the terminal position in the PDB sequence segment ; _item.name '_pdbx_struct_ref_seq_feature.end_auth_mon_id' _item.category_id pdbx_struct_ref_seq_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' save_ ## save__pdbx_struct_ref_seq_feature.beg_pdb_ins_code _item_description.description ; Initial insertion code of the PDB sequence segment. ; _item.name '_pdbx_struct_ref_seq_feature.beg_pdb_ins_code' _item.category_id pdbx_struct_ref_seq_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' save_ save__pdbx_struct_ref_seq_feature.end_pdb_ins_code _item_description.description ; Terminal insertion code of the PDB sequence segment. ; _item.name '_pdbx_struct_ref_seq_feature.end_pdb_ins_code' _item.category_id pdbx_struct_ref_seq_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' save_ ###################################### ## PDBX_STRUCT_REF_SEQ_FEATURE_PROP ## ###################################### save_pdbx_struct_ref_seq_feature_prop _category.description ; Data items in the PDBX_STRUCT_REF_SEQ_FEATURE_PROP category provide a mechanism for identifying and annotating properties of sequence features. ; _category.id 'pdbx_struct_ref_seq_feature_prop' _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_ref_seq_feature_prop.feature_id' '_pdbx_struct_ref_seq_feature_prop.property_id' # loop_ _category_group.id 'inclusive_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_struct_ref_seq_feature_prop.feature_id 1 _pdbx_struct_ref_seq_feature_prop.property_id 1 _pdbx_struct_ref_seq_feature_prop.beg_db_mon_id GLU _pdbx_struct_ref_seq_feature_prop.end_db_mon_id PHE _pdbx_struct_ref_seq_feature_prop.beg_db_seq_id 100 _pdbx_struct_ref_seq_feature_prop.end_db_seq_id 104 _pdbx_struct_ref_seq_feature_prop.type 'VARIABLE_SPLICING' _pdbx_struct_ref_seq_feature_prop.value 'VSP_003456' _pdbx_struct_ref_seq_feature_prop.details ; Special splice at ... ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_ref_seq_feature_prop.feature_id _item_description.description ; This data item is a pointer to _pdbx_struct_ref_seq_feature.feature_id in the STRUCT_REF_SEQ_FEATURE category. ; _item.name '_pdbx_struct_ref_seq_feature_prop.feature_id' _item.category_id 'pdbx_struct_ref_seq_feature_prop' _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_struct_ref_seq_feature_prop.feature_id' _item_linked.parent_name '_pdbx_struct_ref_seq_feature.feature_id' save_ save__pdbx_struct_ref_seq_feature_prop.property_id _item_description.description ; This uniquely identifies the a property of a sequence feature in the STRUCT_REF_SEQ_FEATURE_PROPx category. ; _item.name '_pdbx_struct_ref_seq_feature_prop.property_id' _item.category_id 'pdbx_struct_ref_seq_feature_prop' _item.mandatory_code yes _item_type.code int save_ save__pdbx_struct_ref_seq_feature_prop.type _item_description.description ; Property type. ; _item.name '_pdbx_struct_ref_seq_feature_prop.type' _item.category_id pdbx_struct_ref_seq_feature_prop _item.mandatory_code yes _item_type.code text loop_ _item_examples.case 'deletion', 'expression tag', 'variant', 'other' save_ save__pdbx_struct_ref_seq_feature_prop.value _item_description.description ; Property value. ; _item.name '_pdbx_struct_ref_seq_feature_prop.value' _item.category_id pdbx_struct_ref_seq_feature_prop _item.mandatory_code yes _item_type.code text save_ save__pdbx_struct_ref_seq_feature_prop.details _item_description.description ; A description of special aspects of the property value pair. ; _item.name '_pdbx_struct_ref_seq_feature_prop.details' _item.category_id pdbx_struct_ref_seq_feature_prop _item.mandatory_code no _item_type.code text save_ save__pdbx_struct_ref_seq_feature_prop.beg_db_mon_id _item_description.description ; The begining monomer type found at the starting position in the referenced database entry. This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_pdbx_struct_ref_seq_feature_prop.beg_db_mon_id' _item.category_id pdbx_struct_ref_seq_feature_prop _item.mandatory_code no _item_type.code code save_ save__pdbx_struct_ref_seq_feature_prop.end_db_mon_id _item_description.description ; The terminal monomer type found at the ending position in the referenced database entry. This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_pdbx_struct_ref_seq_feature_prop.end_db_mon_id' _item.category_id pdbx_struct_ref_seq_feature_prop _item.mandatory_code no _item_type.code code save_ save__pdbx_struct_ref_seq_feature_prop.beg_db_seq_id _item_description.description ; The begining monomer sequence position in the referenced database entry. ; _item.name '_pdbx_struct_ref_seq_feature_prop.beg_db_seq_id' _item.category_id pdbx_struct_ref_seq_feature_prop _item.mandatory_code no _item_type.code int save_ save__pdbx_struct_ref_seq_feature_prop.end_db_seq_id _item_description.description ; The terminal monomer sequence position in the referenced database entry. ; _item.name '_pdbx_struct_ref_seq_feature_prop.end_db_seq_id' _item.category_id pdbx_struct_ref_seq_feature_prop _item.mandatory_code no _item_type.code int save_ ####################################### ## PDBX_STRUCT_CHEM_COMP_DIAGNOSTICS ## ####################################### save_pdbx_struct_chem_comp_diagnostics _category.description ; Data items in the PDBX_STRUCT_CHEM_COMP_DIAGNOSTICS category provides structural diagnostics in chemical components instances. ; _category.id 'pdbx_struct_chem_comp_diagnostics' _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_chem_comp_diagnostics.ordinal' # loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_struct_chem_comp_diagnostics.ordinal 1 _pdbx_struct_chem_comp_diagnostics.auth_comp_id Q20 _pdbx_struct_chem_comp_diagnostics.auth_seq_id 10 _pdbx_struct_chem_comp_diagnostics.seq_num . _pdbx_struct_chem_comp_diagnostics.pdb_strand_id Q _pdbx_struct_chem_comp_diagnostics.asym_id Q _pdbx_struct_chem_comp_diagnostics.type 'GEOMETRY' _pdbx_struct_chem_comp_diagnostics.details 'Strained geometry. Long carbonyl bond at C10.' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_chem_comp_diagnostics.details _item_description.description ; Special structural details about this chemical component. ; _item.name '_pdbx_struct_chem_comp_diagnostics.details' _item.category_id 'pdbx_struct_chem_comp_diagnostics' _item.mandatory_code no _item_type.code text save_ save__pdbx_struct_chem_comp_diagnostics.type _item_description.description ; A classification of the diagnostic for the chemical component instance ; _item.name '_pdbx_struct_chem_comp_diagnostics.type' _item.category_id 'pdbx_struct_chem_comp_diagnostics' _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value 'MISSING_ATOM' 'STEREOCHEMISTRY' 'VALENCE' 'GEOMETRY' 'LABELING' 'OTHER' save_ save__pdbx_struct_chem_comp_diagnostics.pdb_strand_id _item_description.description ; PDB strand/chain id. ; _item.name '_pdbx_struct_chem_comp_diagnostics.pdb_strand_id' _item.category_id pdbx_struct_chem_comp_diagnostics _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_linked.child_name '_pdbx_struct_chem_comp_diagnostics.pdb_strand_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_struct_chem_comp_diagnostics.asym_id _item_description.description ; Instance identifier for the polymer molecule. ; _item.name '_pdbx_struct_chem_comp_diagnostics.asym_id' _item.category_id pdbx_struct_chem_comp_diagnostics _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_linked.child_name '_pdbx_struct_chem_comp_diagnostics.asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_struct_chem_comp_diagnostics.auth_seq_id _item_description.description ; PDB position in the sequence. ; _item.name '_pdbx_struct_chem_comp_diagnostics.auth_seq_id' _item.category_id pdbx_struct_chem_comp_diagnostics _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_linked.child_name '_pdbx_struct_chem_comp_diagnostics.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_struct_chem_comp_diagnostics.seq_num _item_description.description ; Position in the sequence. ; _item.name '_pdbx_struct_chem_comp_diagnostics.seq_num' _item.category_id pdbx_struct_chem_comp_diagnostics _item.mandatory_code no _item_type.code int loop_ _item_examples.case '1' '2' _item_linked.child_name '_pdbx_struct_chem_comp_diagnostics.seq_num' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_struct_chem_comp_diagnostics.auth_comp_id _item_description.description ; PDB component ID ; _item.name '_pdbx_struct_chem_comp_diagnostics.auth_comp_id' _item.category_id pdbx_struct_chem_comp_diagnostics _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'NAG' 'ATP' _item_linked.child_name '_pdbx_struct_chem_comp_diagnostics.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ ## save__pdbx_struct_chem_comp_diagnostics.pdb_ins_code _item_description.description ; Insertion code of the monomer or ligand . ; _item.name '_pdbx_struct_chem_comp_diagnostics.pdb_ins_code' _item.category_id pdbx_struct_chem_comp_diagnostics _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' # _item_linked.child_name '_pdbx_struct_chem_comp_diagnostics.pdb_ins_code' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_struct_chem_comp_diagnostics.ordinal _item_description.description ; An ordinal index for this category ; _item.name '_pdbx_struct_chem_comp_diagnostics.ordinal' _item.category_id pdbx_struct_chem_comp_diagnostics _item.mandatory_code yes _item_type.code int loop_ _item_examples.case 1 2 save_ # save__refine.pdbx_overall_phase_error _item_description.description ; The overall phase error for all reflections after refinement using the current refinement target. ; _item.name '_refine.pdbx_overall_phase_error' _item.category_id refine _item.mandatory_code no _item_type.code float _item_examples.case 0.30 save_ # save__refine_ls_shell.pdbx_phase_error _item_description.description ; The average phase error for all reflections in the resolution shell. ; _item.name '_refine_ls_shell.pdbx_phase_error' _item.category_id refine_ls_shell _item.mandatory_code no _item_type.code float _item_examples.case 0.30 save_ # #----------------------------------------------------------------------------- save__reflns.pdbx_Rrim_I_all _item_description.description ; The redundancy-independent merging R factor value Rrim, also denoted Rmeas, for merging all intensities in this data set. sum~i~ [N~i~/(N~i~ - 1)]1/2^ sum~j~ | I~j~ - | Rrim = ---------------------------------------------------- sum~i~ ( sum~j~ I~j~ ) I~j~ = the intensity of the jth observation of reflection i = the mean of the intensities of all observations of reflection i N~i~ = the redundancy (the number of times reflection i has been measured). sum~i~ is taken over all reflections sum~j~ is taken over all observations of each reflection. Ref: Diederichs, K. & Karplus, P. A. (1997). Nature Struct. Biol. 4, 269-275. Weiss, M. S. & Hilgenfeld, R. (1997). J. Appl. Cryst. 30, 203-205. Weiss, M. S. (2001). J. Appl. Cryst. 34, 130-135. ; _item.name '_reflns.pdbx_Rrim_I_all' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_range.minimum 0.0 _item_range.maximum 5.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_reflns.pdbx_Rrim_I_all' 0.01 0.435 save_ save__reflns_shell.pdbx_Rrim_I_all _item_description.description ; The redundancy-independent merging R factor value Rrim, also denoted Rmeas, for merging all intensities in a given shell. sum~i~ [N~i~ /( N~i~ - 1)]1/2^ sum~j~ | I~j~ - | Rrim = -------------------------------------------------------- sum~i~ ( sum~j~ I~j~ ) I~j~ = the intensity of the jth observation of reflection i = the mean of the intensities of all observations of reflection i N~i~ = the redundancy (the number of times reflection i has been measured). sum~i~ is taken over all reflections sum~j~ is taken over all observations of each reflection. Ref: Diederichs, K. & Karplus, P. A. (1997). Nature Struct. Biol. 4, 269-275. Weiss, M. S. & Hilgenfeld, R. (1997). J. Appl. Cryst. 30, 203-205. Weiss, M. S. (2001). J. Appl. Cryst. 34, 130-135. ; _item.name '_reflns_shell.pdbx_Rrim_I_all' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float _item_range.minimum 0.0 _item_range.maximum . loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_reflns_shell.pdbx_Rrim_I_all' 0.01 1.0 save_ #----------------------------------------------------------------------------- save__reflns.pdbx_Rpim_I_all _item_description.description ; The precision-indicating merging R factor value Rpim, for merging all intensities in this data set. sum~i~ [1/(N~i~ - 1)]1/2^ sum~j~ | I~j~ - | Rpim = -------------------------------------------------- sum~i~ ( sum~j~ I~j~ ) I~j~ = the intensity of the jth observation of reflection i = the mean of the intensities of all observations of reflection i N~i~ = the redundancy (the number of times reflection i has been measured). sum~i~ is taken over all reflections sum~j~ is taken over all observations of each reflection. Ref: Diederichs, K. & Karplus, P. A. (1997). Nature Struct. Biol. 4, 269-275. Weiss, M. S. & Hilgenfeld, R. (1997). J. Appl. Cryst. 30, 203-205. Weiss, M. S. (2001). J. Appl. Cryst. 34, 130-135. ; _item.name '_reflns.pdbx_Rpim_I_all' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_range.minimum 0.0 _item_range.maximum . loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_reflns.pdbx_Rpim_I_all' 0.01 0.173 save_ save__reflns_shell.pdbx_Rpim_I_all _item_description.description ; The precision-indicating merging R factor value Rpim, for merging all intensities in a given shell. sum~i~ [1/(N~i~ - 1)]1/2^ sum~j~ | I~j~ - | Rpim = -------------------------------------------------- sum~i~ ( sum~j~ I~j~ ) I~j~ = the intensity of the jth observation of reflection i = the mean of the intensities of all observations of reflection i N~i~ = the redundancy (the number of times reflection i has been measured). sum~i~ is taken over all reflections sum~j~ is taken over all observations of each reflection. Ref: Diederichs, K. & Karplus, P. A. (1997). Nature Struct. Biol. 4, 269-275. Weiss, M. S. & Hilgenfeld, R. (1997). J. Appl. Cryst. 30, 203-205. Weiss, M. S. (2001). J. Appl. Cryst. 34, 130-135. ; _item.name '_reflns_shell.pdbx_Rpim_I_all' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float _item_range.minimum 0.0 _item_range.maximum . loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_reflns_shell.pdbx_Rpim_I_all' 0.01 1.0 save_ save__reflns.pdbx_d_opt _item_description.description ; The optical resolution of the data set, d(opt), is the expected minimum distance between two resolved peaks in an electron-density map. d(opt) = {2[sigma(Patt)2^ + sigma(sph)2^]}1/2^ sigma(Patt) = standard deviation of the Gaussian function fitted to the Patterson origin peak sigma(sph) = standard deviation of the Gaussian function fitted to the origin peak of the spherical interference function, representing the Fourier transform of a sphere with radius 1/dmin dmin = nominal resolution (_reflns.d_resolution_high) Ref: Vaguine, A. A., Richelle, J. & Wodak, S. J. (1999). Acta Cryst. D55, 191-205. (see also http://www.ysbl.york.ac.uk/~alexei/sfcheck.html) Weiss, M. S. (2001). J. Appl. Cryst. 34, 130-135. ; _item.name '_reflns.pdbx_d_opt' _item.category_id reflns _item.mandatory_code no _item_type.code float save_ ## save__struct_ncs_dom.pdbx_ens_id _item_description.description ; This is a unique identifier for a collection NCS related domains. This references item '_struct_ncs_ens.id'. ; _item.name '_struct_ncs_dom.pdbx_ens_id' _item.category_id struct_ncs_dom _item.mandatory_code yes _item_type.code code _item_linked.child_name '_struct_ncs_dom.pdbx_ens_id' _item_linked.parent_name '_struct_ncs_ens.id' save_ save__struct_ncs_dom_lim.pdbx_ens_id _item_description.description ; This is a unique identifier for a collection NCS related domains. This references item '_struct_ncs_dom.pdbx_ens_id'. ; _item.name '_struct_ncs_dom_lim.pdbx_ens_id' _item.category_id struct_ncs_dom_lim _item.mandatory_code yes _item_type.code code _item_linked.child_name '_struct_ncs_dom_lim.pdbx_ens_id' _item_linked.parent_name '_struct_ncs_dom.pdbx_ens_id' save_ save__refine_ls_restr_ncs.pdbx_ens_id _item_description.description ; This is a unique identifier for a collection NCS related domains. This references item '_struct_ncs_dom.pdbx_ens_id'. ; _item.name '_refine_ls_restr_ncs.pdbx_ens_id' _item.category_id refine_ls_restr_ncs _item.mandatory_code yes _item_type.code code _item_linked.child_name '_refine_ls_restr_ncs.pdbx_ens_id' _item_linked.parent_name '_struct_ncs_dom.pdbx_ens_id' save_ # save__struct.pdbx_model_type_details _item_description.description ; A description of the type of structure model. ; _item.name '_struct.pdbx_model_type_details' _item.category_id struct _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'MINIMIZED AVERAGE' save_ ## ## save__chem_comp_atom.pdbx_component_atom_id _item_description.description ; The atom identifier in the subcomponent where a larger component has been divided subcomponents. ; _item.name '_chem_comp_atom.pdbx_component_atom_id' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code atcode loop_ _item_examples.case 'CB' 'CA' 'CG' save_ save__chem_comp_atom.pdbx_component_comp_id _item_description.description ; The component identifier for the subcomponent where a larger component has been divided subcomponents. ; _item.name '_chem_comp_atom.pdbx_component_comp_id' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case 'HIS' 'PRO' save_ save__chem_comp.pdbx_subcomponent_list _item_description.description ; The list of subcomponents contained in this component. ; _item.name '_chem_comp.pdbx_subcomponent_list' _item.category_id chem_comp _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'TSM DPH HIS CHF EMR' save_ ############################# ## PDBX_CHEM_COMP_SYNONYMS ## ############################# save_pdbx_chem_comp_synonyms # _category.description 'PDBX_CHEM_COMP_SYNONYMS holds chemical name and synonym correspondences.' _category.id pdbx_chem_comp_synonyms _category.mandatory_code no # loop_ _category_key.name '_pdbx_chem_comp_synonyms.comp_id' '_pdbx_chem_comp_synonyms.ordinal' # loop_ _category_group.id inclusive_group pdbx_group chem_comp_group chem_comp_dictionary_group # loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_synonyms.comp_id _pdbx_chem_comp_synonyms.ordinal _pdbx_chem_comp_synonyms.name _pdbx_chem_comp_synonyms.provenance ROC 1 Fortovase DRUGBANK ROC 2 SAQUINAVIR DRUGBANK ROC 3 "RO 31-8959" ? ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # save_ # save__pdbx_chem_comp_synonyms.ordinal # _item_description.description 'An ordinal index for this category' # _item.name '_pdbx_chem_comp_synonyms.ordinal' _item.category_id pdbx_chem_comp_synonyms # Will eventually be mandatory and key _item.mandatory_code yes # _item_type.code int save_ # save__pdbx_chem_comp_synonyms.name # _item_description.description 'The synonym of this particular chemical component.' # _item.name '_pdbx_chem_comp_synonyms.name' _item.category_id pdbx_chem_comp_synonyms _item.mandatory_code yes # _item_type.code text # _item_aliases.alias_name '_rcsb_chem_comp_synonyms.name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # save_ # save__pdbx_chem_comp_synonyms.comp_id # _item_description.description 'The chemical component for which this synonym applies.' # _item.name '_pdbx_chem_comp_synonyms.comp_id' _item.category_id pdbx_chem_comp_synonyms _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_synonyms.comp_id' _item_linked.parent_name '_chem_comp.id' # save_ save__pdbx_chem_comp_synonyms.provenance # _item_description.description 'The provenance of this synonym.' # _item.name '_pdbx_chem_comp_synonyms.provenance' _item.category_id pdbx_chem_comp_synonyms _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail AUTHOR . DRUGBANK . CHEBI . CHEMBL . PDB . PUBCHEM . # save_ save__pdbx_chem_comp_synonyms.type # _item_description.description 'The type of this synonym.' # _item.name '_pdbx_chem_comp_synonyms.type' _item.category_id pdbx_chem_comp_synonyms _item.mandatory_code no _item_type.code line loop_ _item_examples.case Preferred 'Trade name' # save_ save_pdbx_chem_comp_feature _category.description ; Additional features associated with the chemical component. ; _category.id 'pdbx_chem_comp_feature' _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_feature.comp_id' '_pdbx_chem_comp_feature.type' '_pdbx_chem_comp_feature.value' '_pdbx_chem_comp_feature.source' # loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'chem_comp_dictionary_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_feature.comp_id _pdbx_chem_comp_feature.type _pdbx_chem_comp_feature.value _pdbx_chem_comp_feature.source 00X 'ENZYME INHIBITED' 'ASPARTIC PROTEINASE' PDB 00X 'FUNCTION' 'Transistion-state analogue inhibitor' PDB 00X 'STRUCTURE IMAGE URL' 'http://journals.iucr.org/00X.jpg' IUCR ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_feature.comp_id _item_description.description ; The component identifier for this feature. ; _item.name '_pdbx_chem_comp_feature.comp_id' _item.category_id pdbx_chem_comp_feature _item.mandatory_code yes _item_type.code ucode loop_ _item_examples.case 'ABC' 'ATP' _item_linked.child_name '_pdbx_chem_comp_feature.comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_chem_comp_feature.type _item_description.description ; The component feature type. ; _item.name '_pdbx_chem_comp_feature.type' _item.category_id pdbx_chem_comp_feature _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'CARBOHYDRATE ANOMER' 'CARBOHYDRATE ISOMER' 'CARBOHYDRATE RING' loop_ _item_enumeration.value 'CARBOHYDRATE ANOMER' 'CARBOHYDRATE ISOMER' 'CARBOHYDRATE RING' 'CARBOHYDRATE PRIMARY CARBONYL GROUP' save_ save__pdbx_chem_comp_feature.support _item_description.description ; The supporting evidence for this feature. ; _item.name '_pdbx_chem_comp_feature.support' _item.category_id pdbx_chem_comp_feature _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Biological assay' 'Data obtained from PNAS August 17, 1999 vol. 96 no. 17 9586-9590' save_ save__pdbx_chem_comp_feature.value _item_description.description ; The component feature value. ; _item.name '_pdbx_chem_comp_feature.value' _item.category_id pdbx_chem_comp_feature _item.mandatory_code yes _item_type.code text save_ save__pdbx_chem_comp_feature.source _item_description.description ; The information source for the component feature. ; _item.name '_pdbx_chem_comp_feature.source' _item.category_id pdbx_chem_comp_feature _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'PDB' 'CHEBI' 'DRUGBANK' 'PUBCHEM' save_ save_pdbx_coordinate_model _category.description ; The details of the composition of the coordinate model. ; _category.id 'pdbx_coordinate_model' _category.mandatory_code no _category_key.name '_pdbx_coordinate_model.asym_id' # loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_coordinate_model.type _pdbx_coordinate_model.asym_id 'CA ATOMS ONLY' A 'CA ATOMS ONLY' B 'P ATOMS ONLY' X 'P ATOMS ONLY' Y ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_coordinate_model.asym_id _item_description.description ; A reference to _struct_asym.id. ; _item.name '_pdbx_coordinate_model.asym_id' _item.category_id pdbx_coordinate_model _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_coordinate_model.asym_id' _item_linked.parent_name '_struct_asym.id' loop_ _item_examples.case '1' 'A' save_ save__pdbx_coordinate_model.type _item_description.description ; A classification of the composition of the coordinate model. ; _item.name '_pdbx_coordinate_model.type' _item.category_id pdbx_coordinate_model _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'CA ATOMS ONLY' 'P ATOMS ONLY' loop_ _item_examples.case 'CA ATOMS ONLY' 'P ATOMS ONLY' save_ ################################### ## PDBX_STRUCT_CHEM_COMP_FEATURE ## ################################### save_pdbx_struct_chem_comp_feature _category.description ; Data items in the PDBX_STRUCT_CHEM_COMP_FEATURE category provides structural annotations in chemical components instances. ; _category.id 'pdbx_struct_chem_comp_feature' _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_chem_comp_feature.ordinal' # loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_struct_chem_comp_feature.ordinal 1 _pdbx_struct_chem_comp_feature.auth_comp_id Q20 _pdbx_struct_chem_comp_feature.auth_seq_id 10 _pdbx_struct_chem_comp_feature.seq_num . _pdbx_struct_chem_comp_feature.pdb_strand_id Q _pdbx_struct_chem_comp_feature.asym_id Q _pdbx_struct_chem_comp_feature.type 'SECONDARY STRUCTURE' _pdbx_struct_chem_comp_feature.details 'Helix of length 4 beginning at atom position C2A.' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_chem_comp_feature.details _item_description.description ; Special structural details about this chemical component. ; _item.name '_pdbx_struct_chem_comp_feature.details' _item.category_id 'pdbx_struct_chem_comp_feature' _item.mandatory_code no _item_type.code text save_ save__pdbx_struct_chem_comp_feature.type _item_description.description ; A classification of the annotation for the chemical component instance ; _item.name '_pdbx_struct_chem_comp_feature.type' _item.category_id 'pdbx_struct_chem_comp_feature' _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value 'SECONDARY STRUCTURE' 'STEREOCHEMISTRY' 'GEOMETRY' 'OTHER' save_ save__pdbx_struct_chem_comp_feature.pdb_strand_id _item_description.description ; PDB strand/chain id. ; _item.name '_pdbx_struct_chem_comp_feature.pdb_strand_id' _item.category_id pdbx_struct_chem_comp_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_linked.child_name '_pdbx_struct_chem_comp_feature.pdb_strand_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_struct_chem_comp_feature.asym_id _item_description.description ; Instance identifier for the polymer molecule. ; _item.name '_pdbx_struct_chem_comp_feature.asym_id' _item.category_id pdbx_struct_chem_comp_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_linked.child_name '_pdbx_struct_chem_comp_feature.asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_struct_chem_comp_feature.auth_seq_id _item_description.description ; PDB position in the sequence. ; _item.name '_pdbx_struct_chem_comp_feature.auth_seq_id' _item.category_id pdbx_struct_chem_comp_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' _item_linked.child_name '_pdbx_struct_chem_comp_feature.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_struct_chem_comp_feature.seq_num _item_description.description ; Position in the sequence. ; _item.name '_pdbx_struct_chem_comp_feature.seq_num' _item.category_id pdbx_struct_chem_comp_feature _item.mandatory_code no _item_type.code int loop_ _item_examples.case '1' '2' _item_linked.child_name '_pdbx_struct_chem_comp_feature.seq_num' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_struct_chem_comp_feature.auth_comp_id _item_description.description ; PDB component ID ; _item.name '_pdbx_struct_chem_comp_feature.auth_comp_id' _item.category_id pdbx_struct_chem_comp_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'NAG' 'ATP' _item_linked.child_name '_pdbx_struct_chem_comp_feature.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ ## save__pdbx_struct_chem_comp_feature.pdb_ins_code _item_description.description ; Insertion code of the monomer or ligand . ; _item.name '_pdbx_struct_chem_comp_feature.pdb_ins_code' _item.category_id pdbx_struct_chem_comp_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' # _item_linked.child_name '_pdbx_struct_chem_comp_feature.pdb_ins_code' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_struct_chem_comp_feature.ordinal _item_description.description ; An ordinal index for this category ; _item.name '_pdbx_struct_chem_comp_feature.ordinal' _item.category_id pdbx_struct_chem_comp_feature _item.mandatory_code yes _item_type.code int loop_ _item_examples.case 1 2 save_ # save__software.pdbx_ordinal _item_description.description ; An ordinal index for this category ; _item.name '_software.pdbx_ordinal' _item.category_id software _item.mandatory_code yes _item_type.code int loop_ _item_examples.case 1 2 save_ # save__atom_site.pdbx_formal_charge _item_description.description ; The net integer charge assigned to this atom. This is the formal charge assignment normally found in chemical diagrams. ; _item.name '_atom_site.pdbx_formal_charge' _item.category_id atom_site _item.mandatory_code no _item_default.value 0 loop_ _item_range.maximum _item_range.minimum 8 8 8 -8 -8 -8 _item_type.code int loop_ _item_examples.case _item_examples.detail 1 'for an ammonium nitrogen' -1 'for a chloride ion' save_ save__reflns.pdbx_number_measured_all _item_description.description ; Total number of measured reflections. ; _item.name '_reflns.pdbx_number_measured_all' _item.category_id reflns _item.mandatory_code no _item_type.code int loop_ _item_examples.case 23000 140000 loop_ _item_range.maximum _item_range.minimum . 0 0 0 save_ save__audit_author.pdbx_ordinal _item_description.description ; This data item defines the order of the author's name in the list of audit authors. ; _item.name '_audit_author.pdbx_ordinal' _item.category_id audit_author _item.mandatory_code yes _item_type.code int loop_ _item_examples.case 1 2 3 save_ save__audit_author.identifier_ORCID _item_description.description ; The Open Researcher and Contributor ID (ORCID). ; _item.name '_audit_author.identifier_ORCID' _item.category_id audit_author _item.mandatory_code no _item_type.code orcid_id _item_examples.case '0000-0002-6681-547X' # save_ ## # save__exptl_crystal.pdbx_mosaicity _item_description.description ; The of the distribution of mis-orientation angles specified in degrees of all the unit cells in the crystal. Lower mosaicity indicates better ordered crystals. ; _item.name '_exptl_crystal.pdbx_mosaicity' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__exptl_crystal.pdbx_mosaicity_esd _item_description.description ; The uncertainty in the mosaicity estimate for the crystal. ; _item.name '_exptl_crystal.pdbx_mosaicity_esd' _item.category_id exptl_crystal _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__reflns_shell.pdbx_rejects _item_description.description ; The number of rejected reflections in the resolution shell. Reflections may be rejected from scaling by setting the observation criterion, _reflns.observed_criterion. ; _item.name '_reflns_shell.pdbx_rejects' _item.category_id reflns_shell _item.mandatory_code no _item_type.code int save_ save__diffrn_reflns.pdbx_d_res_low _item_description.description ; The lowest resolution for the interplanar spacings in the reflection data set. This is the largest d value. ; _item.name '_diffrn_reflns.pdbx_d_res_low' _item.category_id diffrn_reflns _item.mandatory_code no _item_type.code float save_ save__diffrn_reflns.pdbx_d_res_high _item_description.description ; The highest resolution for the interplanar spacings in the reflection data set. This is the smallest d value. ; _item.name '_diffrn_reflns.pdbx_d_res_high' _item.category_id diffrn_reflns _item.mandatory_code no _item_type.code float save_ save__diffrn_reflns.pdbx_percent_possible_obs _item_description.description ; The percentage of geometrically possible reflections represented by reflections that satisfy the resolution limits established by _diffrn_reflns.d_resolution_high and _diffrn_reflns.d_resolution_low and the observation limit established by _diffrn_reflns.observed_criterion. ; _item.name '_diffrn_reflns.pdbx_percent_possible_obs' _item.category_id diffrn_reflns _item.mandatory_code no _item_type.code float save_ save__diffrn_reflns.pdbx_Rmerge_I_obs _item_description.description ; The R factor for merging the reflections that satisfy the resolution limits established by _diffrn_reflns.d_resolution_high and _diffrn_reflns.d_resolution_low and the observation limit established by _diffrn_reflns.observed_criterion. Rmerge(I) = [sum~i~(sum~j~|I~j~ - |)] / [sum~i~(sum~j~)] I~j~ = the intensity of the jth observation of reflection i = the mean of the amplitudes of all observations of reflection i sum~i~ is taken over all reflections sum~j~ is taken over all observations of each reflection ; _item.name '_diffrn_reflns.pdbx_Rmerge_I_obs' _item.category_id diffrn_reflns _item.mandatory_code no _item_type.code float save_ save__diffrn_reflns.pdbx_Rsym_value _item_description.description ; The R factor for averaging the symmetry related reflections to a unique data set. ; _item.name '_diffrn_reflns.pdbx_Rsym_value' _item.category_id diffrn_reflns _item.mandatory_code no _item_type.code float save_ save__diffrn_reflns.pdbx_chi_squared _item_description.description ; Overall Chi-squared statistic for the data set. ; _item.name '_diffrn_reflns.pdbx_chi_squared' _item.category_id diffrn_reflns _item.mandatory_code no _item_type.code float save_ save__diffrn_reflns.pdbx_redundancy _item_description.description ; The overall redundancy for the data set. ; _item.name '_diffrn_reflns.pdbx_redundancy' _item.category_id diffrn_reflns _item.mandatory_code no _item_type.code float save_ save__diffrn_reflns.pdbx_rejects _item_description.description ; The number of rejected reflections in the data set. The reflections may be rejected by setting the observation criterion, _diffrn_reflns.observed_criterion. ; _item.name '_diffrn_reflns.pdbx_rejects' _item.category_id diffrn_reflns _item.mandatory_code no _item_type.code int save_ save__diffrn_reflns.pdbx_observed_criterion _item_description.description ; The criterion used to classify a reflection as 'observed'. This criterion is usually expressed in terms of a sigma(I) or sigma(F) threshold. ; _item.name '_diffrn_reflns.pdbx_observed_criterion' _item.category_id diffrn_reflns _item.mandatory_code no _item_type.code float save_ save__diffrn_reflns.pdbx_number_obs _item_description.description ; The number of reflections satisfying the observation criterion as in _diffrn_reflns.pdbx_observed_criterion ; _item.name '_diffrn_reflns.pdbx_number_obs' _item.category_id diffrn_reflns _item.mandatory_code no _item_type.code int save_ save_pdbx_diffrn_reflns_shell _category.description ; Data items in the DIFFRN_REFLNS_SHELL category record details about the reflection data set within shells of resolution. ; _category.id pdbx_diffrn_reflns_shell _category.mandatory_code no loop_ _category_key.name '_pdbx_diffrn_reflns_shell.d_res_high' '_pdbx_diffrn_reflns_shell.d_res_low' '_pdbx_diffrn_reflns_shell.diffrn_id' loop_ _category_group.id 'inclusive_group' 'refln_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - diffraction properties with shells ; ; loop_ _pdbx_diffrn_reflns_shell.diffrn_id _pdbx_diffrn_reflns_shell.d_res_low _pdbx_diffrn_reflns_shell.d_res_high _pdbx_diffrn_reflns_shell.number_obs _pdbx_diffrn_reflns_shell.percent_possible_obs _pdbx_diffrn_reflns_shell.Rmerge_I_obs _pdbx_diffrn_reflns_shell.chi_squared 1 50.00 5.18 11791 100.000 0.029 1.154 1 5.18 4.11 11717 100.000 0.033 1.098 1 4.11 3.59 11792 100.000 0.043 1.044 1 3.59 3.26 11718 100.000 0.059 1.104 1 3.26 3.03 11753 100.000 0.087 1.160 1 3.03 2.85 11811 100.000 0.130 1.169 1 2.85 2.71 11752 100.000 0.174 1.170 1 2.71 2.59 11767 100.000 0.227 1.165 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_diffrn_reflns_shell.diffrn_id _item_description.description ; This data item is a pointer to _diffrn.id in the DIFFRN category. This item distingush the different data sets ; _item.name '_pdbx_diffrn_reflns_shell.diffrn_id' _item.category_id pdbx_diffrn_reflns_shell _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_diffrn_reflns_shell.diffrn_id' _item_linked.parent_name '_diffrn.id' save_ save__pdbx_diffrn_reflns_shell.d_res_low _item_description.description ; The lowest resolution for the interplanar spacings in the resolution shell. ; _item.name '_pdbx_diffrn_reflns_shell.d_res_low' _item.category_id pdbx_diffrn_reflns_shell _item.mandatory_code yes _item_type.code float save_ save__pdbx_diffrn_reflns_shell.d_res_high _item_description.description ; The highest resolution for the interplanar spacings in the resolution shell. ; _item.name '_pdbx_diffrn_reflns_shell.d_res_high' _item.category_id pdbx_diffrn_reflns_shell _item.mandatory_code yes _item_type.code float save_ save__pdbx_diffrn_reflns_shell.percent_possible_obs _item_description.description ; The percentage of geometrically possible reflections represented by reflections that satisfy the resolution limits established by _diffrn_reflns_shell.d_resolution_high and _diffrn_reflns_shell.d_resolution_low and the observation limit established by _diffrn_reflns.observed_criterion. ; _item.name '_pdbx_diffrn_reflns_shell.percent_possible_obs' _item.category_id pdbx_diffrn_reflns_shell _item.mandatory_code no _item_type.code float save_ save__pdbx_diffrn_reflns_shell.Rmerge_I_obs _item_description.description ; The R factor for the reflections that satisfy the merging criteria for the resolution shell. ; _item.name '_pdbx_diffrn_reflns_shell.Rmerge_I_obs' _item.category_id pdbx_diffrn_reflns_shell _item.mandatory_code no _item_type.code float save_ save__pdbx_diffrn_reflns_shell.Rsym_value _item_description.description ; The R factor for averaging the symmetry related reflections for the resolution shell. ; _item.name '_pdbx_diffrn_reflns_shell.Rsym_value' _item.category_id pdbx_diffrn_reflns_shell _item.mandatory_code no _item_type.code float save_ save__pdbx_diffrn_reflns_shell.chi_squared _item_description.description ; The overall Chi-squared statistic for the resolution shell. ; _item.name '_pdbx_diffrn_reflns_shell.chi_squared' _item.category_id pdbx_diffrn_reflns_shell _item.mandatory_code no _item_type.code float save_ save__pdbx_diffrn_reflns_shell.redundancy _item_description.description ; The overall redundancy for the resolution shell. ; _item.name '_pdbx_diffrn_reflns_shell.redundancy' _item.category_id pdbx_diffrn_reflns_shell _item.mandatory_code no _item_type.code float save_ save__pdbx_diffrn_reflns_shell.rejects _item_description.description ; The number of rejected reflections in the resolution shell ; _item.name '_pdbx_diffrn_reflns_shell.rejects' _item.category_id pdbx_diffrn_reflns_shell _item.mandatory_code no _item_type.code int save_ save__pdbx_diffrn_reflns_shell.number_obs _item_description.description ; The number of observed reflections in the resolution shell. ; _item.name '_pdbx_diffrn_reflns_shell.number_obs' _item.category_id pdbx_diffrn_reflns_shell _item.mandatory_code no _item_type.code int save_ ## ################## ################## save__struct_site.pdbx_evidence_code _item_description.description ; Source of evidence supporting the assignment of this site. ; _item.name '_struct_site.pdbx_evidence_code' _item.category_id struct_site _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'SOFTWARE' 'AUTHOR' 'UNKNOWN' save_ save__struct.pdbx_CASP_flag _item_description.description ; The item indicates whether the entry is a CASP target, a CASD-NMR target, or similar target participating in methods development experiments. ; _item.name '_struct.pdbx_CASP_flag' _item.category_id struct _item.mandatory_code no _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y _pdbx_item_description.name "_struct.pdbx_CASP_flag" _pdbx_item_description.description "Selecting a prediction target identifies the deposition as a CASP (Critical Assessment of Techniques for Protein Structure Prediction), CASD-NMR (Critical Assessment of Automated Structure Determination of Proteins from NMR Data), or Foldit target. When identifying a deposited protein structure as a prediction target, the depositors agree to the conditions of CASP, CASD-NMR, and Foldit: (1) the polymer sequence will be released to the public immediately, and (2) the coordinates and any related data will be released to the public after an eight week hold from the deposition date." # save_ save__refine.pdbx_overall_SU_R_free_Cruickshank_DPI _item_description.description ; The overall standard uncertainty (estimated standard deviation) of the displacement parameters based on the crystallographic R-free value, expressed in a formalism known as the dispersion precision indicator (DPI). Ref: Cruickshank, D. W. J. (1999). Acta Cryst. D55, 583-601. ; _item.name '_refine.pdbx_overall_SU_R_free_Cruickshank_DPI' _item.category_id refine _item.mandatory_code no _item_type.code float _pdbx_item_description.name "_refine.pdbx_overall_SU_R_free_Cruickshank_DPI" _pdbx_item_description.description "Precision index (DPI) by Cruickshank to estimate the precision of coordinates obtained by structural refinement of protein diffraction data." save_ save__refine.pdbx_overall_SU_R_free_Blow_DPI _item_description.description ; The overall standard uncertainty (estimated standard deviation) of the displacement parameters based on the crystallographic R-free value, expressed in a formalism known as the dispersion precision indicator (DPI). Ref: Blow, D (2002) Acta Cryst. D58, 792-797 ; _item.name '_refine.pdbx_overall_SU_R_free_Blow_DPI' _item.category_id refine _item.mandatory_code no _item_type.code float _pdbx_item_description.name "_refine.pdbx_overall_SU_R_free_Blow_DPI" _pdbx_item_description.description "Precision index (DPI) by Blow to estimate the precision of coordinates obtained by structural refinement of protein diffraction data." # save_ save__refine.pdbx_overall_SU_R_Blow_DPI _item_description.description ; The overall standard uncertainty (estimated standard deviation) of the displacement parameters based on the crystallographic R value, expressed in a formalism known as the dispersion precision indicator (DPI). Ref: Blow, D (2002) Acta Cryst. D58, 792-797 ; _item.name '_refine.pdbx_overall_SU_R_Blow_DPI' _item.category_id refine _item.mandatory_code no _item_type.code float save_ save__refine_ls_restr.pdbx_restraint_function _item_description.description ; The functional form of the restraint function used in the least-squares refinement. ; _item.name '_refine_ls_restr.pdbx_restraint_function' _item.category_id refine_ls_restr _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'SINUSOIDAL' 'HARMONIC' 'SEMIHARMONIC' save_ ## # save__atom_site.pdbx_auth_comp_id # _item_description.description 'Author's residue name.' # _item.name '_atom_site.pdbx_auth_comp_id' _item.category_id atom_site _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_atom_site.ndb_auth_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site.pdbx_auth_comp_id' # save_ # save__atom_site.pdbx_auth_asym_id # _item_description.description 'Author's strand id.' # _item.name '_atom_site.pdbx_auth_asym_id' _item.category_id atom_site _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_atom_site.ndb_auth_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site.pdbx_auth_asym_id' # save_ # save__atom_site.pdbx_auth_seq_id # _item_description.description 'Author's sequence identifier.' # _item.name '_atom_site.pdbx_auth_seq_id' _item.category_id atom_site _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_atom_site.ndb_auth_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site.pdbx_auth_seq_id' # save_ ## ## save_pdbx_bond_distance_limits _category.description ; This category provides a table of upper and lower distance limits used as criteria in determining covalent bonds. The table is organized by atom type pairs. ; _category.id 'pdbx_bond_distance_limits' _category.mandatory_code no loop_ _category_key.name '_pdbx_bond_distance_limits.atom_type_1' '_pdbx_bond_distance_limits.atom_type_2' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Abbreviated bond distance limit table ; ; loop_ _pdbx_bond_distance_limits.atom_type_1 _pdbx_bond_distance_limits.atom_type_2 _pdbx_bond_distance_limits.lower_limit _pdbx_bond_distance_limits.upper_limit N Ag 1.85 2.70 O Ag 1.85 2.70 S Ag 2.00 3.00 Al H 1.35 1.65 As H 1.20 1.60 N Au 1.80 2.80 O Au 1.80 2.80 S Au 1.80 3.00 B B 1.45 1.95 C B 1.20 1.85 F B 1.20 1.75 # ... abbreviated ... ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_bond_distance_limits.atom_type_1 _item_description.description ; The first atom type defining the bond ; _item.name '_pdbx_bond_distance_limits.atom_type_1' _item.category_id pdbx_bond_distance_limits _item.mandatory_code yes _item_type.code code loop_ _item_examples.case 'C' 'N' 'P' save_ save__pdbx_bond_distance_limits.atom_type_2 _item_description.description ; The first atom type defining the bond ; _item.name '_pdbx_bond_distance_limits.atom_type_2' _item.category_id pdbx_bond_distance_limits _item.mandatory_code yes _item_type.code code loop_ _item_examples.case 'C' 'N' 'P' save_ save__pdbx_bond_distance_limits.lower_limit _item_description.description ; The lower bond distance limit. ; _item.name '_pdbx_bond_distance_limits.lower_limit' _item.category_id pdbx_bond_distance_limits _item.mandatory_code yes _item_type.code float _item_units.code angstroms save_ save__pdbx_bond_distance_limits.upper_limit _item_description.description ; The upper bond distance limit. ; _item.name '_pdbx_bond_distance_limits.upper_limit' _item.category_id pdbx_bond_distance_limits _item.mandatory_code yes _item_type.code float _item_units.code angstroms save_ ## #### ########################### ## PDBX_SOLN_SCATTER ## ####################### save_pdbx_soln_scatter _category.description ; Data items in the PDBX_SOLN_SCATTER category record details about a solution scattering experiment ; _category.id pdbx_soln_scatter _category.mandatory_code no loop_ _category_key.name '_pdbx_soln_scatter.entry_id' '_pdbx_soln_scatter.id' loop_ _category_group.id 'inclusive_group' 'solution_scattering_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1HAQ ; ; loop_ _pdbx_soln_scatter.entry_id _pdbx_soln_scatter.id _pdbx_soln_scatter.type _pdbx_soln_scatter.source_type _pdbx_soln_scatter.source_class _pdbx_soln_scatter.source_beamline _pdbx_soln_scatter.source_beamline_instrument _pdbx_soln_scatter.detector_specific _pdbx_soln_scatter.detector_type _pdbx_soln_scatter.temperature _pdbx_soln_scatter.sample_pH _pdbx_soln_scatter.num_time_frames _pdbx_soln_scatter.concentration_range _pdbx_soln_scatter.buffer_name _pdbx_soln_scatter.mean_guiner_radius _pdbx_soln_scatter.mean_guiner_radius_esd _pdbx_soln_scatter.min_mean_cross_sectional_radii_gyration _pdbx_soln_scatter.min_mean_cross_sectional_radii_gyration_esd _pdbx_soln_scatter.max_mean_cross_sectional_radii_gyration _pdbx_soln_scatter.max_mean_cross_sectional_radii_gyration_esd _pdbx_soln_scatter.protein_length 1HAQ 1 x-ray 'SRS BEAMLINE 2.1' 'synchrotron' '2.1' . . '500-channel quadrant' 288 . 10 '0.7 - 14' tris 11.1 0.4 4.4 0.2 1.7 0.1 40 1HAQ 2 neutron 'ILL' 'neutron source' . 'D11, D22' . 'area' . . . '0.4 - 9.6' 'PBS in 99.9% D2O' 11.3 0.4 3.9 0.2 1.51 0.06 '37.0 - 39.0' 1HAQ 3 neutron 'ISIS' 'neutron source' 'Pulsed Neutron' 'LOQ' . 'AREA (TIME-OF-FLIGHT)' . . . '3.7, 6.1' 'PBS in 99.9% D2O' 11.7 0.5 . . . . 40.0 ; save_ save__pdbx_soln_scatter.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_pdbx_soln_scatter.entry_id' _item.category_id pdbx_soln_scatter _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_soln_scatter.entry_id' _item_linked.parent_name '_entry.id' save_ save__pdbx_soln_scatter.id _item_description.description ; The value of _pdbx_soln_scatter.id must uniquely identify the sample in the category PDBX_SOLN_SCATTER ; _item.name '_pdbx_soln_scatter.id' _item.category_id pdbx_soln_scatter _item.mandatory_code yes _item_type.code code save_ save__pdbx_soln_scatter.type _item_description.description ; The type of solution scattering experiment carried out ; _item.name '_pdbx_soln_scatter.type' _item.category_id pdbx_soln_scatter _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value 'x-ray' 'neutron' 'modelling' save_ save__pdbx_soln_scatter.source_beamline _item_description.description ; The beamline name used for the experiment ; _item.name '_pdbx_soln_scatter.source_beamline' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code text save_ save__pdbx_soln_scatter.source_beamline_instrument _item_description.description ; The instrumentation used on the beamline ; _item.name '_pdbx_soln_scatter.source_beamline_instrument' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code text save_ save__pdbx_soln_scatter.detector_type _item_description.description ; The general class of the radiation detector. ; _item.name '_pdbx_soln_scatter.detector_type' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code text save_ save__pdbx_soln_scatter.detector_specific _item_description.description ; The particular radiation detector. In general this will be a manufacturer, description, model number or some combination of these. ; _item.name '_pdbx_soln_scatter.detector_specific' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code text save_ save__pdbx_soln_scatter.source_type _item_description.description ; The make, model, name or beamline of the source of radiation. ; _item.name '_pdbx_soln_scatter.source_type' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code text save_ save__pdbx_soln_scatter.source_class _item_description.description ; The general class of the radiation source. ; _item.name '_pdbx_soln_scatter.source_class' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'neutron source' 'synchrotron' save_ save__pdbx_soln_scatter.num_time_frames _item_description.description ; The number of time frame solution scattering images used. ; _item.name '_pdbx_soln_scatter.num_time_frames' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code int save_ save__pdbx_soln_scatter.sample_pH _item_description.description ; The pH value of the buffered sample. ; _item.name '_pdbx_soln_scatter.sample_pH' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code float save_ save__pdbx_soln_scatter.temperature _item_description.description ; The temperature in kelvins at which the experiment was conducted ; _item.name '_pdbx_soln_scatter.temperature' _item.category_id pdbx_soln_scatter _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 _item_type.code float _item_units.code kelvins save_ save__pdbx_soln_scatter.concentration_range _item_description.description ; The concentration range (mg/mL) of the complex in the sample used in the solution scattering experiment to determine the mean radius of structural elongation. ; _item.name '_pdbx_soln_scatter.concentration_range' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code line _item_units.code mg_per_ml _item_examples.case '0.7 - 14' save_ save__pdbx_soln_scatter.buffer_name _item_description.description ; The name of the buffer used for the sample in the solution scattering experiment. ; _item.name '_pdbx_soln_scatter.buffer_name' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code line _item_examples.case 'acetic acid' save_ save__pdbx_soln_scatter.mean_guiner_radius _item_description.description ; The mean radius of structural elongation of the sample. In a given solute-solvent contrast, the radius of gyration R_G is a measure of structural elongation if the internal inhomogeneity of scattering densities has no effect. Guiner analysis at low Q gives the R_G and the forward scattering at zero angle I(0). lnl(Q) = lnl(0) - R_G^2Q^2/3 where Q = 4(pi)sin(theta/lamda) 2theta = scattering angle lamda = wavelength The above expression is valid in a QR_G range for extended rod-like particles. The relative I(0)/c values ( where c = sample concentration) for sample measurements in a constant buffer for a single sample data session, gives the relative masses of the protein(s) studied when referenced against a standard. see: O.Glatter & O.Kratky, (1982). Editors of "Small angle X-ray Scattering, Academic Press, New York. O.Kratky. (1963). X-ray small angle scattering with substances of biological interest in diluted solutions. Prog. Biophys. Chem., 13, 105-173. G.D.Wignall & F.S.Bates, (1987). The small-angle approximation of X-ray and neutron scatter from rigid rods of non-uniform cross section and finite length. J.Appl. Crystallog., 18, 452-460. If the structure is elongated, the mean radius of gyration of the cross-sectional structure R_XS and the mean cross sectional intensity at zero angle [I(Q).Q]_Q->0 is obtained from ln[I(Q).Q] = ln[l(Q).(Q)]_Q->0 - ((R_XS)^2Q^2)/2 ; _item.name '_pdbx_soln_scatter.mean_guiner_radius' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_units.code nanometres _item_type.code float _item_related.related_name '_pdbx_soln_scatter.mean_guiner_radius_esd' _item_related.function_code associated_esd save_ save__pdbx_soln_scatter.mean_guiner_radius_esd _item_description.description ; The estimated standard deviation for the mean radius of structural elongation of the sample. In a given solute-solvent contrast, the radius of gyration R_G is a measure of structural elongation if the internal inhomogeneity of scattering densities has no effect. Guiner analysis at low Q give the R_G and the forward scattering at zero angle I(0). lnl(Q) = lnl(0) - R_G^2Q^2/3 where Q = 4(pi)sin(theta/lamda) 2theta = scattering angle lamda = wavelength The above expression is valid in a QR_G range for extended rod-like particles. The relative I(0)/c values ( where c = sample concentration) for sample measurements in a constant buffer for a single sample data session, gives the relative masses of the protein(s) studied when referenced against a standard. see: O.Glatter & O.Kratky, (1982). Editors of "Small angle X-ray Scattering, Academic Press, New York. O.Kratky. (1963). X-ray small angle scattering with substances of biological interest in diluted solutions. Prog. Biophys. Chem., 13, 105-173. G.D.Wignall & F.S.Bates, (1987). The small-angle approximation of X-ray and neutron scatter from rigid rods of non-uniform cross section and finite length. J.Appl. Crystallog., 18, 452-460. If the structure is elongated, the mean radius of gyration of the cross-sectional structure R_XS and the mean cross sectional intensity at zero angle [I(Q).Q]_Q->0 is obtained from ln[I(Q).Q] = ln[l(Q).(Q)]_Q->0 - ((R_XS)^2Q^2)/2 ; _item.name '_pdbx_soln_scatter.mean_guiner_radius_esd' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code float _item_units.code nanometres _item_related.related_name '_pdbx_soln_scatter.mean_guiner_radius' _item_related.function_code associated_value save_ save__pdbx_soln_scatter.min_mean_cross_sectional_radii_gyration _item_description.description ; The minimum mean radius of structural elongation of the sample. In a given solute-solvent contrast, the radius of gyration R_G is a measure of structural elongation if the internal inhomogeneity of scattering densities has no effect. Guiner analysis at low Q give the R_G and the forward scattering at zero angle I(0). lnl(Q) = lnl(0) - R_G^2Q^2/3 where Q = 4(pi)sin(theta/lamda) 2theta = scattering angle lamda = wavelength The above expression is valid in a QR_G range for extended rod-like particles. The relative I(0)/c values ( where c = sample concentration) for sample measurements in a constant buffer for a single sample data session, gives the relative masses of the protein(s) studied when referenced against a standard. see: O.Glatter & O.Kratky, (1982). Editors of "Small angle X-ray Scattering, Academic Press, New York. O.Kratky. (1963). X-ray small angle scattering with substances of biological interest in diluted solutions. Prog. Biophys. Chem., 13, 105-173. G.D.Wignall & F.S.Bates, (1987). The small-angle approximation of X-ray and neutron scatter from rigid rods of non-uniform cross section and finite length. J.Appl. Crystallog., 18, 452-460. If the structure is elongated, the mean radius of gyration of the cross-sectional structure R_XS and the mean cross sectional intensity at zero angle [I(Q).Q]_Q->0 is obtained from ln[I(Q).Q] = ln[l(Q).(Q)]_Q->0 - ((R_XS)^2Q^2)/2 ; _item.name '_pdbx_soln_scatter.min_mean_cross_sectional_radii_gyration' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code float _item_units.code nanometres _item_related.related_name '_pdbx_soln_scatter.min_mean_cross_sectional_radii_gyration_esd' _item_related.function_code associated_esd save_ save__pdbx_soln_scatter.min_mean_cross_sectional_radii_gyration_esd _item_description.description ; The estimated standard deviation for the minimum mean radius of structural elongation of the sample. In a given solute-solvent contrast, the radius of gyration R_G is a measure of structural elongation if the internal inhomogeneity of scattering densities has no effect. Guiner analysis at low Q give the R_G and the forward scattering at zero angle I(0). lnl(Q) = lnl(0) - R_G^2Q^2/3 where Q = 4(pi)sin(theta/lamda) 2theta = scattering angle lamda = wavelength The above expression is valid in a QR_G range for extended rod-like particles. The relative I(0)/c values ( where c = sample concentration) for sample measurements in a constant buffer for a single sample data session, gives the relative masses of the protein(s) studied when referenced against a standard. see: O.Glatter & O.Kratky, (1982). Editors of "Small angle X-ray Scattering, Academic Press, New York. O.Kratky. (1963). X-ray small angle scattering with substances of biological interest in diluted solutions. Prog. Biophys. Chem., 13, 105-173. G.D.Wignall & F.S.Bates, (1987). The small-angle approximation of X-ray and neutron scatter from rigid rods of non-uniform cross section and finite length. J.Appl. Crystallog., 18, 452-460. If the structure is elongated, the mean radius of gyration of the cross-sectional structure R_XS and the mean cross sectional intensity at zero angle [I(Q).Q]_Q->0 is obtained from ln[I(Q).Q] = ln[l(Q).(Q)]_Q->0 - ((R_XS)^2Q^2)/2 ; _item.name '_pdbx_soln_scatter.min_mean_cross_sectional_radii_gyration_esd' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code float _item_units.code nanometres _item_related.related_name '_pdbx_soln_scatter.min_mean_cross_sectional_radii_gyration' _item_related.function_code associated_value save_ save__pdbx_soln_scatter.max_mean_cross_sectional_radii_gyration _item_description.description ; The maximum mean radius of structural elongation of the sample. In a given solute-solvent contrast, the radius of gyration R_G is a measure of structural elongation if the internal inhomogeneity of scattering densities has no effect. Guiner analysis at low Q give the R_G and the forward scattering at zero angle I(0). lnl(Q) = lnl(0) - R_G^2Q^2/3 where Q = 4(pi)sin(theta/lamda) 2theta = scattering angle lamda = wavelength The above expression is valid in a QR_G range for extended rod-like particles. The relative I(0)/c values ( where c = sample concentration) for sample measurements in a constant buffer for a single sample data session, gives the relative masses of the protein(s) studied when referenced against a standard. see: O.Glatter & O.Kratky, (1982). Editors of "Small angle X-ray Scattering, Academic Press, New York. O.Kratky. (1963). X-ray small angle scattering with substances of biological interest in diluted solutions. Prog. Biophys. Chem., 13, 105-173. G.D.Wignall & F.S.Bates, (1987). The small-angle approximation of X-ray and neutron scatter from rigid rods of non-uniform cross section and finite length. J.Appl. Crystallog., 18, 452-460. If the structure is elongated, the mean radius of gyration of the cross-sectional structure R_XS and the mean cross sectional intensity at zero angle [I(Q).Q]_Q->0 is obtained from ln[I(Q).Q] = ln[l(Q).(Q)]_Q->0 - ((R_XS)^2Q^2)/2 ; _item.name '_pdbx_soln_scatter.max_mean_cross_sectional_radii_gyration' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code float _item_units.code nanometres _item_related.related_name '_pdbx_soln_scatter.max_mean_cross_sectional_radii_gyration_esd' _item_related.function_code associated_esd save_ save__pdbx_soln_scatter.max_mean_cross_sectional_radii_gyration_esd _item_description.description ; The estimated standard deviation for the minimum mean radius of structural elongation of the sample. In a given solute-solvent contrast, the radius of gyration R_G is a measure of structural elongation if the internal inhomogeneity of scattering densities has no effect. Guiner analysis at low Q give the R_G and the forward scattering at zero angle I(0). lnl(Q) = lnl(0) - R_G^2Q^2/3 where Q = 4(pi)sin(theta/lamda) 2theta = scattering angle lamda = wavelength The above expression is valid in a QR_G range for extended rod-like particles. The relative I(0)/c values ( where c = sample concentration) for sample measurements in a constant buffer for a single sample data session, gives the relative masses of the protein(s) studied when referenced against a standard. see: O.Glatter & O.Kratky, (1982). Editors of "Small angle X-ray Scattering, Academic Press, New York. O.Kratky. (1963). X-ray small angle scattering with substances of biological interest in diluted solutions. Prog. Biophys. Chem., 13, 105-173. G.D.Wignall & F.S.Bates, (1987). The small-angle approximation of X-ray and neutron scatter from rigid rods of non-uniform cross section and finite length. J.Appl. Crystallog., 18, 452-460. If the structure is elongated, the mean radius of gyration of the cross-sectional structure R_XS and the mean cross sectional intensity at zero angle [I(Q).Q]_Q->0 is obtained from ln[I(Q).Q] = ln[l(Q).(Q)]_Q->0 - ((R_XS)^2Q^2)/2 ; _item.name '_pdbx_soln_scatter.max_mean_cross_sectional_radii_gyration_esd' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code float _item_units.code nanometres _item_related.related_name '_pdbx_soln_scatter.max_mean_cross_sectional_radii_gyration' _item_related.function_code associated_value save_ save__pdbx_soln_scatter.protein_length _item_description.description ; The length (or range) of the protein sample under study. If the solution structure is approximated as an elongated elliptical cyclinder the length L is determined from, L = sqrt [12( (R_G)^2 - (R_XS)^2 ) ] The length should also be given by L = pi I(0) / [ I(Q).Q]_Q->0 ; _item.name '_pdbx_soln_scatter.protein_length' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code line save_ save__pdbx_soln_scatter.data_reduction_software_list _item_description.description ; A list of the software used in the data reduction ; _item.name '_pdbx_soln_scatter.data_reduction_software_list' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code text _item_examples.case 'OTOKO' save_ save__pdbx_soln_scatter.data_analysis_software_list _item_description.description ; A list of the software used in the data analysis ; _item.name '_pdbx_soln_scatter.data_analysis_software_list' _item.category_id pdbx_soln_scatter _item.mandatory_code no _item_type.code text _item_examples.case 'SCTPL5 GNOM' save_ ############################# ## PDBX_SOLN_SCATTER_MODEL ## ############################# save_pdbx_soln_scatter_model _category.description ; Data items in the PDBX_SOLN_SCATTER_MODEL category record details about the homology model fitting to the solution scatter data. ; _category.id pdbx_soln_scatter_model _category.mandatory_code no loop_ _category_key.name '_pdbx_soln_scatter_model.id' '_pdbx_soln_scatter_model.scatter_id' loop_ _category_group.id 'inclusive_group' 'solution_scattering_group' save_ save__pdbx_soln_scatter_model.scatter_id _item_description.description ; This data item is a pointer to _pdbx_soln_scatter.id in the PDBX_SOLN_SCATTER category. ; _item.name '_pdbx_soln_scatter_model.scatter_id' _item.category_id pdbx_soln_scatter_model _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_soln_scatter_model.scatter_id' _item_linked.parent_name '_pdbx_soln_scatter.id' save_ save__pdbx_soln_scatter_model.id _item_description.description ; The value of _pdbx_soln_scatter_model.id must uniquely identify the sample in the category PDBX_SOLN_SCATTER_MODEL ; _item.name '_pdbx_soln_scatter_model.id' _item.category_id pdbx_soln_scatter_model _item.mandatory_code yes _item_type.code code save_ save__pdbx_soln_scatter_model.details _item_description.description ; A description of any additional details concerning the experiment. ; _item.name '_pdbx_soln_scatter_model.details' _item.category_id pdbx_soln_scatter_model _item.mandatory_code no _item_type.code text _item_examples.case ; Homology models were built for the 17 SCR domains and energy minimisations were performed to improve the connectivity in the fh model. triantennary complex-type carbohydrate structures (MAN3GLCNAC6GAL3FUC3NEUNAC1) were added to each of the N-linked glycosylation sites. a library of linker peptide conformations was used in domain modelling constrained by the solution scattering fits. modelling with the scattering data was also carried out by rotational search methods. the x-ray and neutron scattering curve I(Q) was calculated assuming a uniform scattering density for the spheres using the debye equation as adapted to spheres. x-ray curves were calculated from the hydrated sphere models without corrections for wavelength spread or beam divergence, while these corrections were applied for the neutron curves but now using unhydrated models. ; save_ save__pdbx_soln_scatter_model.method _item_description.description ; A description of the methods used in the modelling ; _item.name '_pdbx_soln_scatter_model.method' _item.category_id pdbx_soln_scatter_model _item.mandatory_code no _item_type.code text _item_examples.case ; Constrained scattering fitting of homology models ; save_ save__pdbx_soln_scatter_model.software_list _item_description.description ; A list of the software used in the modeeling ; _item.name '_pdbx_soln_scatter_model.software_list' _item.category_id pdbx_soln_scatter_model _item.mandatory_code no _item_type.code text _item_examples.case ; INSIGHT II, HOMOLOGY, DISCOVERY, BIOPOLYMER, DELPHI ; save_ save__pdbx_soln_scatter_model.software_author_list _item_description.description ; A list of the software authors ; _item.name '_pdbx_soln_scatter_model.software_author_list' _item.category_id pdbx_soln_scatter_model _item.mandatory_code no _item_type.code text _item_examples.case ; MSI ; save_ save__pdbx_soln_scatter_model.entry_fitting_list _item_description.description ; A list of the entries used to fit the model to the scattering data ; _item.name '_pdbx_soln_scatter_model.entry_fitting_list' _item.category_id pdbx_soln_scatter_model _item.mandatory_code no _item_type.code text _item_examples.case ; PDB CODE 1HFI, 1HCC, 1HFH, 1VCC ; save_ save__pdbx_soln_scatter_model.num_conformers_calculated _item_description.description ; The number of model conformers calculated. ; _item.name '_pdbx_soln_scatter_model.num_conformers_calculated' _item.category_id pdbx_soln_scatter_model _item.mandatory_code no _item_type.code int save_ save__pdbx_soln_scatter_model.num_conformers_submitted _item_description.description ; The number of model conformers submitted in the entry ; _item.name '_pdbx_soln_scatter_model.num_conformers_submitted' _item.category_id pdbx_soln_scatter_model _item.mandatory_code no _item_type.code int save_ save__pdbx_soln_scatter_model.representative_conformer _item_description.description ; The index of the representative conformer among the submitted conformers for the entry ; _item.name '_pdbx_soln_scatter_model.representative_conformer' _item.category_id pdbx_soln_scatter_model _item.mandatory_code no _item_type.code int save_ save__pdbx_soln_scatter_model.conformer_selection_criteria _item_description.description ; A description of the conformer selection criteria used. ; _item.name '_pdbx_soln_scatter_model.conformer_selection_criteria' _item.category_id pdbx_soln_scatter_model _item.mandatory_code no _item_type.code text _item_examples.case ; The modelled scattering curves were assessed by calculation of the RG, RSX-1 and RXS-2 values in the same Q ranges used in the experimental Guinier fits. models were then ranked using a goodness-of-fit R-factor defined by analogy with protein crystallography and based on the experimental curves in the Q range extending to 1.4 nm-1. ; save_ ## ## ########################################################################### # # File: mmcif_pdbx-def-13.dic # # PDB Exchange Data Dictionary # # This data dictionary contains extensions used by RCSB for describing # chemical components. # # Definition Section 13 # # ########################################################################### save__chem_comp.pdbx_model_coordinates_details _item_description.description ; This data item provides additional details about the model coordinates in the component definition. ; _item.name '_chem_comp.pdbx_model_coordinates_details' _item.category_id chem_comp _item.mandatory_code no _item_type.code text save_ save__chem_comp.pdbx_model_coordinates_db_code _item_description.description ; This data item identifies the PDB database code from which the heavy atom model coordinates were obtained. ; _item.name '_chem_comp.pdbx_model_coordinates_db_code' _item.category_id chem_comp _item.mandatory_code no _item_type.code line save_ save__chem_comp.pdbx_ideal_coordinates_details _item_description.description ; This data item identifies the source of the ideal coordinates in the component definition. ; _item.name '_chem_comp.pdbx_ideal_coordinates_details' _item.category_id chem_comp _item.mandatory_code no _item_type.code text save_ save__chem_comp.pdbx_ideal_coordinates_missing_flag _item_description.description ; This data item identifies if ideal coordinates are missing in this definition. ; _item.name '_chem_comp.pdbx_ideal_coordinates_missing_flag' _item.category_id chem_comp _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail 'Y' 'ideal coordinates are not provided or incomplete' 'N' 'ideal coordinates are provided' _item_default.value 'N' save_ save__chem_comp.pdbx_model_coordinates_missing_flag _item_description.description ; This data item identifies if model coordinates are missing in this definition. ; _item.name '_chem_comp.pdbx_model_coordinates_missing_flag' _item.category_id chem_comp _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail 'Y' 'model coordinates are not provided or incomplete' 'N' 'model coordinates are provided' _item_default.value 'N' save_ save__chem_comp.pdbx_initial_date _item_description.description ; Date component was added to database. ; _item.name '_chem_comp.pdbx_initial_date' _item.category_id chem_comp _item.mandatory_code no _item_type.code yyyy-mm-dd _item_aliases.alias_name '_chem_comp.rcsb_initial_date' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__chem_comp.pdbx_modified_date _item_description.description ; Date component was last modified. ; _item.name '_chem_comp.pdbx_modified_date' _item.category_id chem_comp _item.mandatory_code no _item_type.code yyyy-mm-dd _item_aliases.alias_name '_chem_comp.rcsb_modified_date' _item_aliases.dictionary 'cif_rcsb.dic' _item_aliases.version 1.1 save_ save__chem_comp_atom.pdbx_alt_atom_id _item_description.description ; An alternative identifier for the atom. This data item would be used in cases where alternative nomenclatures exist for labelling atoms in a group. ; _item.name '_chem_comp_atom.pdbx_alt_atom_id' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code atcode save_ save__chem_comp_atom.pdbx_alt_comp_id _item_description.description ; An alternative identifier for the atom. This data item would be used in cases where alternative nomenclatures exist for labelling atoms in a group. ; _item.name '_chem_comp_atom.pdbx_alt_comp_id' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code ucode save_ save__chem_comp_atom.pdbx_model_Cartn_x_ideal _item_description.description ; An alternative x component of the coordinates for this atom in this component specified as orthogonal angstroms. ; _item.name '_chem_comp_atom.pdbx_model_Cartn_x_ideal' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code float loop_ _item_dependent.dependent_name '_chem_comp_atom.pdbx_model_Cartn_y_ideal' '_chem_comp_atom.pdbx_model_Cartn_z_ideal' _item_sub_category.id cartesian_coordinate _item_units.code angstroms save_ save__chem_comp_atom.pdbx_model_Cartn_y_ideal _item_description.description ; An alternative y component of the coordinates for this atom in this component specified as orthogonal angstroms. ; _item.name '_chem_comp_atom.pdbx_model_Cartn_y_ideal' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code float loop_ _item_dependent.dependent_name '_chem_comp_atom.pdbx_model_Cartn_x_ideal' '_chem_comp_atom.pdbx_model_Cartn_z_ideal' _item_sub_category.id cartesian_coordinate _item_units.code angstroms save_ save__chem_comp_atom.pdbx_model_Cartn_z_ideal _item_description.description ; An alternative z component of the coordinates for this atom in this component specified as orthogonal angstroms. ; _item.name '_chem_comp_atom.pdbx_model_Cartn_z_ideal' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code float loop_ _item_dependent.dependent_name '_chem_comp_atom.pdbx_model_Cartn_x_ideal' '_chem_comp_atom.pdbx_model_Cartn_y_ideal' _item_sub_category.id cartesian_coordinate _item_units.code angstroms save_ save__chem_comp_atom.pdbx_stereo_config _item_description.description ; The chiral configuration of the atom that is a chiral center. ; _item.name '_chem_comp_atom.pdbx_stereo_config' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail R 'rectus - right handed configuration' S 'sinister - left handed configuration' N 'none' save_ save__chem_comp_atom.pdbx_aromatic_flag _item_description.description ; A flag indicating an aromatic atom. ; _item.name '_chem_comp_atom.pdbx_aromatic_flag' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes - an aromatic atom' N 'No - not an aromatic atom' save_ save__chem_comp_atom.pdbx_leaving_atom_flag _item_description.description ; A flag indicating a leaving atom. ; _item.name '_chem_comp_atom.pdbx_leaving_atom_flag' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes - a leaving atom' N 'No - not a leaving atom' save_ save__chem_comp_bond.pdbx_stereo_config _item_description.description ; Stereochemical configuration across a double bond. ; _item.name '_chem_comp_bond.pdbx_stereo_config' _item.category_id chem_comp_bond _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail E 'entgegen for opposite' Z 'zusammen for together' N 'none' save_ save__chem_comp_bond.pdbx_aromatic_flag _item_description.description ; A flag indicating an aromatic bond. ; _item.name '_chem_comp_bond.pdbx_aromatic_flag' _item.category_id chem_comp_bond _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes - an aromatic bond' N 'No - not an aromatic bond' save_ ############################### ## PDBX_CHEM_COMP_DESCRIPTOR ## ############################### save_pdbx_chem_comp_descriptor _category.description ; Data items in the CHEM_COMP_DESCRIPTOR category provide string descriptors of component chemical structure. ; _category.id pdbx_chem_comp_descriptor _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_descriptor.comp_id' '_pdbx_chem_comp_descriptor.type' '_pdbx_chem_comp_descriptor.program' '_pdbx_chem_comp_descriptor.program_version' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'chem_comp_dictionary_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.descriptor _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version ATP c1nc(c2c(n1)n(cn2)C3C(C(C(O3)COP(=O)(O)OP(=O)(O)OP(=O)(O)O)O)O)N SMILES OPENEYE 1.5.0 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_descriptor.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_pdbx_chem_comp_descriptor.comp_id' _item.category_id pdbx_chem_comp_descriptor _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_descriptor.comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_chem_comp_descriptor.descriptor _item_description.description ; This data item contains the descriptor value for this component. ; _item.name '_pdbx_chem_comp_descriptor.descriptor' _item.category_id pdbx_chem_comp_descriptor _item.mandatory_code yes _item_type.code text save_ save__pdbx_chem_comp_descriptor.type _item_description.description ; This data item contains the descriptor type. ; _item.name '_pdbx_chem_comp_descriptor.type' _item.category_id pdbx_chem_comp_descriptor _item.mandatory_code yes _item_type.code uline loop_ _item_enumeration.value _item_enumeration.detail SMILES_CANNONICAL 'deprecated' SMILES_CANONICAL 'Canonical SMILES descriptor' SMILES 'SMILES descriptor' InChI 'InChI descriptor' InChI_MAIN 'InChI descriptor- main layer' InChI_MAIN_FORMULA 'InChI descriptor- main layer - chemical formula sub-layer' InChI_MAIN_CONNECT 'InChI descriptor- main layer - atom connection sub-layer' InChI_MAIN_HATOM 'InChI descriptor- main layer - hydrogen atom sub-layer' InChI_CHARGE 'InChI descriptor- charge layer' InChI_STEREO 'InChI descriptor- stereochemical layer' InChI_ISOTOPE 'InChI descriptor- isotopic layer' InChI_FIXEDH 'InChI descriptor- fixed hydrogren layer' InChI_RECONNECT 'InChI descriptor- reconnected layer' InChIKey 'InChI descriptor- hash key form' save_ save__pdbx_chem_comp_descriptor.program _item_description.description ; This data item contains the name of the program or library used to compute the descriptor. ; _item.name '_pdbx_chem_comp_descriptor.program' _item.category_id pdbx_chem_comp_descriptor _item.mandatory_code yes _item_type.code line loop_ _item_examples.case _item_examples.detail OPENEYE 'OpenEye OECHEM library' CACTVS 'CACTVS program library' DAYLIGHT 'Daylight program library' OTHER 'Other program or library' save_ save__pdbx_chem_comp_descriptor.program_version _item_description.description ; This data item contains the version of the program or library used to compute the descriptor. ; _item.name '_pdbx_chem_comp_descriptor.program_version' _item.category_id pdbx_chem_comp_descriptor _item.mandatory_code yes _item_type.code line save_ save__pdbx_chem_comp_descriptor.ordinal _item_description.description ; Ordinal index for this category. ; _item.name '_pdbx_chem_comp_descriptor.ordinal' _item.category_id pdbx_chem_comp_descriptor _item.mandatory_code no _item_type.code int save_ ############################### ## PDBX_CHEM_COMP_IDENTIFIER ## ############################### save_pdbx_chem_comp_identifier _category.description ; Data items in the CHEM_COMP_IDENTIFIER category provide identifiers for chemical components. ; _category.id pdbx_chem_comp_identifier _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_identifier.comp_id' '_pdbx_chem_comp_identifier.type' '_pdbx_chem_comp_identifier.program' '_pdbx_chem_comp_identifier.program_version' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'chem_comp_dictionary_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.identifier _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version ATP "adenosine 5'-(tetrahydrogen triphosphate)" "SYSTEMATIC NAME" ACDLabs 10.04 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_identifier.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_pdbx_chem_comp_identifier.comp_id' _item.category_id pdbx_chem_comp_identifier _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_identifier.comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_chem_comp_identifier.identifier _item_description.description ; This data item contains the identifier value for this component. ; _item.name '_pdbx_chem_comp_identifier.identifier' _item.category_id pdbx_chem_comp_identifier _item.mandatory_code yes _item_type.code text save_ save__pdbx_chem_comp_identifier.type _item_description.description ; This data item contains the identifier type. ; _item.name '_pdbx_chem_comp_identifier.type' _item.category_id pdbx_chem_comp_identifier _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'COMMON NAME' 'Common chemical name' 'SYSTEMATIC NAME' 'Systematic chemical name' 'CAS REGISTRY NUMBER' 'Chemical Abstracts Registry Number' 'PUBCHEM Identifier' 'PubChem accession number' 'MDL Identifier' 'Molecular Design Limited Identifier' 'SYNONYM' 'Synonym chemical name' # Following three will be obsoleted and removed in future 'CONDENSED IUPAC CARB SYMBOL' 'Condensed IUPAC carbohydrate symbol' 'IUPAC CARB SYMBOL' 'IUPAC carbohydrate symbol' 'SNFG CARB SYMBOL' '3D-SNFG carbohydrate symbol' # 'CONDENSED IUPAC CARBOHYDRATE SYMBOL' 'Condensed IUPAC carbohydrate symbol' 'IUPAC CARBOHYDRATE SYMBOL' 'IUPAC carbohydrate symbol' 'SNFG CARBOHYDRATE SYMBOL' '3D-SNFG carbohydrate symbol' save_ save__pdbx_chem_comp_identifier.program _item_description.description ; This data item contains the name of the program or library used to compute the identifier. ; _item.name '_pdbx_chem_comp_identifier.program' _item.category_id pdbx_chem_comp_identifier _item.mandatory_code yes _item_type.code line loop_ _item_examples.case _item_examples.detail OPENEYE 'OpenEye OECHEM program' DAYLIGHT 'Daylight program library' ACD 'Advanced Chemistry Development Naming Program' AUTONOM 'Belstein AutoNom Naming Program' PUBCHEM_CID 'Compound identifier' PUBCHEM_SID 'Substance identifier' OTHER 'Other program or library' NONE 'Non-programmatic identifier' save_ save__pdbx_chem_comp_identifier.program_version _item_description.description ; This data item contains the version of the program or library used to compute the identifier. ; _item.name '_pdbx_chem_comp_identifier.program_version' _item.category_id pdbx_chem_comp_identifier _item.mandatory_code yes _item_type.code line save_ save__pdbx_chem_comp_identifier.ordinal _item_description.description ; Ordinal index for this category. ; _item.name '_pdbx_chem_comp_identifier.ordinal' _item.category_id pdbx_chem_comp_identifier _item.mandatory_code no _item_type.code int save_ ########################### ## PDBX_CHEM_COMP_IMPORT ## ########################### save_pdbx_chem_comp_import _category.description ; Data items in the PDBX_CHEM_COMP_IMPORT category identify existing chemical components to be imported into the current component definition. Components in this list can be edited by instructions in categories pdbx_chem_comp_atom_edit and pdbx_chem_comp_bond_edit. ; _category.id pdbx_chem_comp_import _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_import.comp_id' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'chem_comp_dictionary_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_import.comp_id ATP ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_import.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_pdbx_chem_comp_import.comp_id' _item.category_id pdbx_chem_comp_import _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_import.comp_id' _item_linked.parent_name '_chem_comp.id' save_ ############################## ## PDBX_CHEM_COMP_ATOM_EDIT ## ############################## save_pdbx_chem_comp_atom_edit _category.description ; Data items in the PDBX_CHEM_COMP_ATOM_EDIT category provide atom level editing instructions to be applied to imported chemical components. ; _category.id pdbx_chem_comp_atom_edit _category.mandatory_code no _category_key.name '_pdbx_chem_comp_atom_edit.ordinal' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'chem_comp_dictionary_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_atom_edit.ordinal _pdbx_chem_comp_atom_edit.comp_id _pdbx_chem_comp_atom_edit.edit_op _pdbx_chem_comp_atom_edit.atom_id 1 'LYS' DELETE 'HN2' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_atom_edit.ordinal _item_description.description ; This data item uniquely identifies and orders each atom edit instruction. ; _item.name '_pdbx_chem_comp_atom_edit.ordinal' _item.category_id pdbx_chem_comp_atom_edit _item.mandatory_code yes _item_type.code int save_ save__pdbx_chem_comp_atom_edit.comp_id _item_description.description ; This data item is a pointer to _pdbx_chem_comp_import.comp_id in the CHEM_COMP category. ; _item.name '_pdbx_chem_comp_atom_edit.comp_id' _item.category_id pdbx_chem_comp_atom_edit _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_atom_edit.comp_id' _item_linked.parent_name '_pdbx_chem_comp_import.comp_id' save_ save__pdbx_chem_comp_atom_edit.edit_op _item_description.description ; The operation applied to the named imported component. ; _item.name '_pdbx_chem_comp_atom_edit.edit_op' _item.category_id pdbx_chem_comp_atom_edit _item.mandatory_code yes _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail RENAME 'Rename the target atom to ' DELETE 'Remove the target atom from the component' ADD 'Add the edit_atom_id with specified bond order to the component' CHARGE 'Assign charge to edit_atom_id' PARTIAL_CHARGE 'Assign partial charge to edit_atom_id' MODEL_CARTN_X 'Assign model X Cartesian coordinate to edit_atom_id' MODEL_CARTN_Y 'Assign model Y Cartesian coordinate to edit_atom_id' MODEL_CARTN_Z 'Assign model Z Cartesian coordinate to edit_atom_id' STEREO_CONFIG 'Stereochemical configuration' AROMATIC_FLAG 'Aromatic flag' save_ save__pdbx_chem_comp_atom_edit.atom_id _item_description.description ; The identifier for the target atom in imported component to be edited. ; _item.name '_pdbx_chem_comp_atom_edit.atom_id' _item.category_id pdbx_chem_comp_atom_edit _item.mandatory_code yes _item_type.code atcode save_ save__pdbx_chem_comp_atom_edit.edit_atom_id _item_description.description ; The identifier for the edited atom in the generated component. ; _item.name '_pdbx_chem_comp_atom_edit.edit_atom_id' _item.category_id pdbx_chem_comp_atom_edit _item.mandatory_code yes _item_type.code atcode save_ save__pdbx_chem_comp_atom_edit.edit_atom_value _item_description.description ; The value for the edited atomic property value in the generated component. ; _item.name '_pdbx_chem_comp_atom_edit.edit_atom_value' _item.category_id pdbx_chem_comp_atom_edit _item.mandatory_code no _item_type.code line save_ ############################## ## PDBX_CHEM_COMP_BOND_EDIT ## ############################## save_pdbx_chem_comp_bond_edit _category.description ; Data items in the PDBX_CHEM_COMP_BOND_EDIT category provide bond level editing instructions to be applied to imported chemical components. ; _category.id pdbx_chem_comp_bond_edit _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_bond_edit.comp_id' '_pdbx_chem_comp_bond_edit.edit_op' '_pdbx_chem_comp_bond_edit.atom_id_1' '_pdbx_chem_comp_bond_edit.atom_id_2' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'chem_comp_dictionary_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_bond_edit.ordinal _pdbx_chem_comp_bond_edit.comp_id _pdbx_chem_comp_bond_edit.edit_op _pdbx_chem_comp_bond_edit.atom_id_1 _pdbx_chem_comp_bond_edit.atom_id_2 1 'LYS' DELETE 'OXT' 'HXT' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_bond_edit.ordinal _item_description.description ; This data item uniquely identifies and orders each bond edit instruction. ; _item.name '_pdbx_chem_comp_bond_edit.ordinal' _item.category_id pdbx_chem_comp_bond_edit _item.mandatory_code yes _item_type.code int save_ save__pdbx_chem_comp_bond_edit.comp_id _item_description.description ; This data item is a pointer to _pdbx_chem_comp_import.comp_id in the CHEM_COMP category. ; _item.name '_pdbx_chem_comp_bond_edit.comp_id' _item.category_id pdbx_chem_comp_bond_edit _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_bond_edit.comp_id' _item_linked.parent_name '_pdbx_chem_comp_import.comp_id' save_ save__pdbx_chem_comp_bond_edit.edit_op _item_description.description ; The operation or assignment applied to the named imported component. ; _item.name '_pdbx_chem_comp_bond_edit.edit_op' _item.category_id pdbx_chem_comp_bond_edit _item.mandatory_code yes _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail DELETE 'Remove the target atom from the component' ADD 'Add the edit_atom_id to the component' VALUE_ORDER 'Bond order' VALUE_DIST 'Bond distance' STEREO_CONFIG 'Stereochemical configuration' AROMATIC_FLAG 'Aromatic flag' save_ save__pdbx_chem_comp_bond_edit.atom_id_1 _item_description.description ; The identifier for the first atom in the target bond in imported component. ; _item.name '_pdbx_chem_comp_bond_edit.atom_id_1' _item.category_id pdbx_chem_comp_bond_edit _item.mandatory_code yes _item_type.code atcode save_ save__pdbx_chem_comp_bond_edit.atom_id_2 _item_description.description ; The identifier for the second atom in the target bond in imported component. ; _item.name '_pdbx_chem_comp_bond_edit.atom_id_2' _item.category_id pdbx_chem_comp_bond_edit _item.mandatory_code yes _item_type.code atcode save_ save__pdbx_chem_comp_bond_edit.edit_bond_value _item_description.description ; The value for the edited bond property value in the generated component. ; _item.name '_pdbx_chem_comp_bond_edit.edit_bond_value' _item.category_id pdbx_chem_comp_bond_edit _item.mandatory_code no _item_type.code line save_ ## ## ########################## ## PDBX_CHEM_COMP_AUDIT ## ########################## save_pdbx_chem_comp_audit _category.description ; Data items in the PDBX_CHEM_COMP_AUDIT category records the status and tracking information for this component. ; _category.id pdbx_chem_comp_audit _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_audit.comp_id' '_pdbx_chem_comp_audit.date' '_pdbx_chem_comp_audit.action_type' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'chem_comp_dictionary_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.annotator ATP 2007-12-01 RCSB 'Create componenet' JY ATP 2008-10-03 RCSB 'Modify leaving atom flag' CS ATP 2009-07-03 RCSB 'Modify synonyms' MZ ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_audit.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_pdbx_chem_comp_audit.comp_id' _item.category_id pdbx_chem_comp_audit _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_audit.comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_chem_comp_audit.date _item_description.description ; The date associated with this audit record. ; _item.name '_pdbx_chem_comp_audit.date' _item.category_id pdbx_chem_comp_audit _item.mandatory_code yes _item_type.code yyyy-mm-dd save_ save__pdbx_chem_comp_audit.annotator _item_description.description ; The initials of the annotator creating of modifying the component. ; _item.name '_pdbx_chem_comp_audit.annotator' _item.category_id pdbx_chem_comp_audit _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'JO' 'SJ' 'KB' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_chem_comp_audit.annotator' save_ save__pdbx_chem_comp_audit.processing_site _item_description.description ; An identifier for the wwPDB site creating or modifying the component. ; _item.name '_pdbx_chem_comp_audit.processing_site' _item.category_id pdbx_chem_comp_audit _item.mandatory_code no _item_type.code code loop_ _item_examples.case RCSB PDBE PDBJ BMRB PDBC save_ save__pdbx_chem_comp_audit.details _item_description.description ; Additional details decribing this change. ; _item.name '_pdbx_chem_comp_audit.details' _item.category_id pdbx_chem_comp_audit _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Added C14 as a leaving atom.' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_chem_comp_audit.details' save_ save__pdbx_chem_comp_audit.action_type _item_description.description ; The action associated with this audit record. ; _item.name '_pdbx_chem_comp_audit.action_type' _item.category_id pdbx_chem_comp_audit _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'Create component' . 'Modify name' . 'Modify formula' . 'Modify synonyms' . 'Modify linking type' . 'Modify internal type' . 'Modify parent residue' . 'Modify processing site' . 'Modify subcomponent list' . 'Modify one letter code' . 'Modify model coordinates code' . 'Modify formal charge' . 'Modify atom id' . 'Modify charge' . 'Modify aromatic_flag' . 'Modify leaving atom flag' . 'Modify component atom id' . 'Modify component comp_id' . 'Modify value order' . 'Modify descriptor' . 'Modify identifier' . 'Modify coordinates' . 'Other modification' . 'Obsolete component' . 'Initial release' . save_ save__chem_comp.pdbx_release_status _item_description.description ; This data item holds the current release status for the component. ; _item.name '_chem_comp.pdbx_release_status' _item.category_id chem_comp _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail REL 'Released' HOLD 'On hold until yyyy-mm-dd' HPUB 'On hold until publication' OBS 'Component defintion has been obsoleted and replaced by another entry' DEL 'Component definition has been deleted' REF_ONLY 'Component definition is provided for reference only and will not be used in released entries.' save_ ## ## ## File: mmcif_pdbx-def-14.dic ## ################################# ## PDBX_VALIDATE_CLOSE_CONTACT ## ################################# save_pdbx_validate_close_contact _category.description ; Data items in the PDBX_VALIDATE_CLOSE_CONTACT category list the atoms within the entry that are in close contact with regard the distances expected from either covalent bonding or closest approach by van der Waals contacts. Contacts within the asymmetric unit are considered. For those contacts not involving hydrogen a limit of 2.2 Angstroms is used. For contacts involving a hydrogen atom a cutoff of 1.6 Angstroms is used. ; _category.id pdbx_validate_close_contact _category.mandatory_code no _category_key.name '_pdbx_validate_close_contact.id' loop_ _category_group.id 'inclusive_group' 'validate_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_validate_close_contact.id _pdbx_validate_close_contact.PDB_model_num _pdbx_validate_close_contact.auth_atom_id_1 _pdbx_validate_close_contact.auth_asym_id_1 _pdbx_validate_close_contact.auth_comp_id_1 _pdbx_validate_close_contact.auth_seq_id_1 _pdbx_validate_close_contact.PDB_ins_code_1 _pdbx_validate_close_contact.label_alt_id_1 _pdbx_validate_close_contact.auth_atom_id_2 _pdbx_validate_close_contact.auth_asym_id_2 _pdbx_validate_close_contact.auth_comp_id_2 _pdbx_validate_close_contact.auth_seq_id_2 _pdbx_validate_close_contact.PDB_ins_code_2 _pdbx_validate_close_contact.label_alt_id_2 _pdbx_validate_close_contact.dist 1 1 . B VAL 36 . . . B ARG 108 . . 2.16 2 1 . B ARG 108 . . . B VAL 36 . . 2.16 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_description.id pdbx_validate_close_contact _pdbx_category_description.description "Atoms involved in a close contact. Format is ATOM (RESIDUE_NAME RESIDUE_NUMBER CHAIN_ID), e.g., OG (SER 195 A)." # save_ save__pdbx_validate_close_contact.id _item_description.description ; The value of _pdbx_validate_close_contact.id must uniquely identify each item in the PDBX_VALIDATE_CLOSE_CONTACT list. This is an integer serial number. ; _item.name '_pdbx_validate_close_contact.id' _item.category_id pdbx_validate_close_contact _item.mandatory_code yes _item_type.code int save_ save__pdbx_validate_close_contact.PDB_model_num _item_description.description ; The model number for the given contact ; _item.name '_pdbx_validate_close_contact.PDB_model_num' _item.category_id pdbx_validate_close_contact _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_validate_close_contact.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_validate_close_contact.auth_asym_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_close_contact.auth_asym_id_1' _item.category_id pdbx_validate_close_contact _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_close_contact.auth_asym_id_1' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_close_contact.auth_atom_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_close_contact.auth_atom_id_1' _item.category_id pdbx_validate_close_contact _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_validate_close_contact.auth_atom_id_1' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_validate_close_contact.auth_comp_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_close_contact.auth_comp_id_1' _item.category_id pdbx_validate_close_contact _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_close_contact.auth_comp_id_1' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_close_contact.auth_seq_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_close_contact.auth_seq_id_1' _item.category_id pdbx_validate_close_contact _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_close_contact.auth_seq_id_1' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_close_contact.auth_atom_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_close_contact.auth_atom_id_2' _item.category_id pdbx_validate_close_contact _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_validate_close_contact.auth_atom_id_2' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_validate_close_contact.auth_asym_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_close_contact.auth_asym_id_2' _item.category_id pdbx_validate_close_contact _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_close_contact.auth_asym_id_2' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_close_contact.auth_comp_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_close_contact.auth_comp_id_2' _item.category_id pdbx_validate_close_contact _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_close_contact.auth_comp_id_2' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_close_contact.auth_seq_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_close_contact.auth_seq_id_2' _item.category_id pdbx_validate_close_contact _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_close_contact.auth_seq_id_2' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_close_contact.PDB_ins_code_1 _item_description.description ; Optional identifier of the first of the two atom sites that define the close contact. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_close_contact.PDB_ins_code_1' _item.category_id pdbx_validate_close_contact _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_close_contact.PDB_ins_code_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_close_contact.PDB_ins_code_2 _item_description.description ; Optional identifier of the second of the two atom sites that define the close contact. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_close_contact.PDB_ins_code_2' _item.category_id pdbx_validate_close_contact _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_close_contact.PDB_ins_code_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_close_contact.label_alt_id_1 _item_description.description ; An optional identifier of the first of the two atoms that define the close contact. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_close_contact.label_alt_id_1' _item.mandatory_code no _item.category_id pdbx_validate_close_contact _item_type.code code _item_linked.child_name '_pdbx_validate_close_contact.label_alt_id_1' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_close_contact.label_alt_id_2 _item_description.description ; An optional identifier of the second of the two atoms that define the close contact. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_close_contact.label_alt_id_2' _item.mandatory_code no _item.category_id pdbx_validate_close_contact _item_type.code code _item_linked.child_name '_pdbx_validate_close_contact.label_alt_id_2' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_close_contact.symm_as_xyz_1 _item_description.description ; The symmetry of the first of the two atoms define the close contact. The Symmetry equivalent position is given in the 'xyz' representation. ; _item.name '_pdbx_validate_close_contact.symm_as_xyz_1' _item.category_id pdbx_validate_close_contact _item.mandatory_code no _item_default.value 'x,y,z' _item_type.code line save_ save__pdbx_validate_close_contact.symm_as_xyz_2 _item_description.description ; The symmetry of the second of the two atoms define the close contact. The Symmetry equivalent position is given in the 'xyz' representation. ; _item.name '_pdbx_validate_close_contact.symm_as_xyz_2' _item.category_id pdbx_validate_close_contact _item.mandatory_code no _item_default.value 'x,y,z' _item_type.code line save_ save__pdbx_validate_close_contact.dist _item_description.description ; The value of the close contact for the two atoms defined. ; _item.name '_pdbx_validate_close_contact.dist' _item.category_id pdbx_validate_close_contact _item.mandatory_code yes _item_type.code float _item_units.code angstroms save_ #----------------------------------------------------------- ################################ ## PDBX_VALIDATE_SYMM_CONTACT ## ################################ save_pdbx_validate_symm_contact _category.description ; Data items in the PDBX_VALIDATE_SYMM_CONTACT category list the atoms within the entry that are in close contact with regard the distances expected from either covalent bonding or closest approach by van der Waals contacts. Contacts with for symmetry related contacts are considered. For those contacts not involving hydrogen a limit of 2.2 Angstroms is used. For contacts involving a hydrogen atom a cutoff of 1.6Angstrom is used. ; _category.id pdbx_validate_symm_contact _category.mandatory_code no _category_key.name '_pdbx_validate_symm_contact.id' loop_ _category_group.id 'inclusive_group' 'validate_group' 'pdbx_group' _pdbx_category_description.id pdbx_validate_symm_contact _pdbx_category_description.description "Atoms involved in a symmetry related close contact. Format is ATOM (RESIDUE_NAME RESIDUE_NUMBER CHAIN_ID), e.g., OG (SER 195 A)." loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_validate_symm_contact.id _pdbx_validate_symm_contact.PDB_model_num _pdbx_validate_symm_contact.auth_atom_id_1 _pdbx_validate_symm_contact.auth_asym_id_1 _pdbx_validate_symm_contact.auth_comp_id_1 _pdbx_validate_symm_contact.auth_seq_id_1 _pdbx_validate_symm_contact.PDB_ins_code_1 _pdbx_validate_symm_contact.label_alt_id_1 _pdbx_validate_symm_contact.site_symmetry_1 _pdbx_validate_symm_contact.auth_atom_id_2 _pdbx_validate_symm_contact.auth_asym_id_2 _pdbx_validate_symm_contact.auth_comp_id_2 _pdbx_validate_symm_contact.auth_seq_id_2 _pdbx_validate_symm_contact.PDB_ins_code_2 _pdbx_validate_symm_contact.label_alt_id_2 _pdbx_validate_symm_contact.site_symmetry_2 _pdbx_validate_symm_contact.dist 1 1 O . HOH 70 . . 1555 O . HOH 70 . . 7555 2.05 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_validate_symm_contact.id _item_description.description ; The value of _pdbx_validate_symm_contact.id must uniquely identify each item in the PDBX_VALIDATE_SYMM_CONTACT list. This is an integer serial number. ; _item.name '_pdbx_validate_symm_contact.id' _item.category_id pdbx_validate_symm_contact _item.mandatory_code yes _item_type.code int save_ save__pdbx_validate_symm_contact.PDB_model_num _item_description.description ; The model number for the given angle ; _item.name '_pdbx_validate_symm_contact.PDB_model_num' _item.category_id pdbx_validate_symm_contact _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_validate_symm_contact.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_validate_symm_contact.auth_asym_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_symm_contact.auth_asym_id_1' _item.category_id pdbx_validate_symm_contact _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_symm_contact.auth_asym_id_1' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_symm_contact.auth_atom_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_symm_contact.auth_atom_id_1' _item.category_id pdbx_validate_symm_contact _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_validate_symm_contact.auth_atom_id_1' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_validate_symm_contact.auth_comp_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_symm_contact.auth_comp_id_1' _item.category_id pdbx_validate_symm_contact _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_symm_contact.auth_comp_id_1' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_symm_contact.auth_seq_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_symm_contact.auth_seq_id_1' _item.category_id pdbx_validate_symm_contact _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_symm_contact.auth_seq_id_1' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_symm_contact.auth_atom_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_symm_contact.auth_atom_id_2' _item.category_id pdbx_validate_symm_contact _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_validate_symm_contact.auth_atom_id_2' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_validate_symm_contact.auth_asym_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_symm_contact.auth_asym_id_2' _item.category_id pdbx_validate_symm_contact _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_symm_contact.auth_asym_id_2' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_symm_contact.auth_comp_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_symm_contact.auth_comp_id_2' _item.category_id pdbx_validate_symm_contact _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_symm_contact.auth_comp_id_2' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_symm_contact.auth_seq_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the close contact. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_symm_contact.auth_seq_id_2' _item.category_id pdbx_validate_symm_contact _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_symm_contact.auth_seq_id_2' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_symm_contact.PDB_ins_code_1 _item_description.description ; Optional identifier of the first of the two atom sites that define the close contact. ; _item.name '_pdbx_validate_symm_contact.PDB_ins_code_1' _item.category_id pdbx_validate_symm_contact _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_symm_contact.PDB_ins_code_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_symm_contact.PDB_ins_code_2 _item_description.description ; Optional identifier of the second of the two atom sites that define the close contact. ; _item.name '_pdbx_validate_symm_contact.PDB_ins_code_2' _item.category_id pdbx_validate_symm_contact _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_symm_contact.PDB_ins_code_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_symm_contact.label_alt_id_1 _item_description.description ; An optional identifier of the first of the two atoms that define the close contact. This data item is a pointer to _atom_site.label_alt.id in the ATOM_SITE category. ; _item.name '_pdbx_validate_symm_contact.label_alt_id_1' _item.mandatory_code no _item.category_id pdbx_validate_symm_contact _item_type.code code _item_linked.child_name '_pdbx_validate_symm_contact.label_alt_id_1' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_symm_contact.label_alt_id_2 _item_description.description ; An optional identifier of the second of the two atoms that define the close contact. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_symm_contact.label_alt_id_2' _item.mandatory_code no _item.category_id pdbx_validate_symm_contact _item_type.code code _item_linked.child_name '_pdbx_validate_symm_contact.label_alt_id_2' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_symm_contact.site_symmetry_1 _item_description.description ; The symmetry of the first of the two atoms define the close contact. Symmetry defined in ORTEP style of 555 equal to unit cell with translations +-1 from 555 as 000 ; _item.name '_pdbx_validate_symm_contact.site_symmetry_1' _item.category_id pdbx_validate_symm_contact _item.mandatory_code yes _item_default.value '1555' _item_type.code line save_ save__pdbx_validate_symm_contact.site_symmetry_2 _item_description.description ; The symmetry of the second of the two atoms define the close contact. Symmetry defined in ORTEP style of 555 equal to unit cell with translations +-1 from 555 as 000 ; _item.name '_pdbx_validate_symm_contact.site_symmetry_2' _item.category_id pdbx_validate_symm_contact _item.mandatory_code yes _item_default.value '1555' _item_type.code line save_ save__pdbx_validate_symm_contact.dist _item_description.description ; The value of the close contact for the two atoms defined. ; _item.name '_pdbx_validate_symm_contact.dist' _item.category_id pdbx_validate_symm_contact _item.mandatory_code yes _item_type.code float _item_units.code angstroms save_ #----------------------------------------------------------- ############################## ## PDBX_VALIDATE_RMSD_BOND ## ############################## save_pdbx_validate_rmsd_bond _category.description ; Data items in the PDBX_VALIDATE_RMSD_BOND category list the covalent bonds that have values which deviate from expected values by more than 6*rmsd. ; _category.id pdbx_validate_rmsd_bond _category.mandatory_code no _category_key.name '_pdbx_validate_rmsd_bond.id' loop_ _category_group.id 'inclusive_group' 'validate_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_validate_rmsd_bond.id _pdbx_validate_rmsd_bond.PDB_model_num _pdbx_validate_rmsd_bond.auth_asym_id_1 _pdbx_validate_rmsd_bond.auth_atom_id_1 _pdbx_validate_rmsd_bond.auth_comp_id_1 _pdbx_validate_rmsd_bond.auth_seq_id_1 _pdbx_validate_rmsd_bond.PDB_ins_code_1 _pdbx_validate_rmsd_bond.label_alt_id_1 _pdbx_validate_rmsd_bond.auth_asym_id_2 _pdbx_validate_rmsd_bond.auth_atom_id_2 _pdbx_validate_rmsd_bond.auth_comp_id_2 _pdbx_validate_rmsd_bond.auth_seq_id_2 _pdbx_validate_rmsd_bond.PDB_ins_code_2 _pdbx_validate_rmsd_bond.label_alt_id_2 _pdbx_validate_rmsd_bond.bond_deviation _pdbx_validate_rmsd_bond.bond_value _pdbx_validate_rmsd_bond.linker_flag 1 0 A CD LYS 152 . . A CE LYS 152 . . -0.372 1.136 N 2 0 A CG GLU 166 . . A CD GLU 166 . . -0.622 0.893 N ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_validate_rmsd_bond.id _item_description.description ; The value of _pdbx_validate_rmsd_bond.id must uniquely identify each item in the PDBX_VALIDATE_RMSD_BOND list. This is an integer serial number. ; _item.name '_pdbx_validate_rmsd_bond.id' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code yes _item_type.code int save_ save__pdbx_validate_rmsd_bond.PDB_model_num _item_description.description ; The model number for the given bond ; _item.name '_pdbx_validate_rmsd_bond.PDB_model_num' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_validate_rmsd_bond.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_validate_rmsd_bond.auth_asym_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_bond.auth_asym_id_1' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_bond.auth_asym_id_1' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_rmsd_bond.auth_atom_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_bond.auth_atom_id_1' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_validate_rmsd_bond.auth_atom_id_1' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_validate_rmsd_bond.auth_comp_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_bond.auth_comp_id_1' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_bond.auth_comp_id_1' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_rmsd_bond.auth_seq_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_bond.auth_seq_id_1' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_bond.auth_seq_id_1' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_rmsd_bond.auth_atom_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_bond.auth_atom_id_2' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_validate_rmsd_bond.auth_atom_id_2' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_validate_rmsd_bond.auth_asym_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_bond.auth_asym_id_2' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_bond.auth_asym_id_2' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_rmsd_bond.auth_comp_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_bond.auth_comp_id_2' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_bond.auth_comp_id_2' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_rmsd_bond.auth_seq_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_bond.auth_seq_id_2' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_bond.auth_seq_id_2' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_rmsd_bond.PDB_ins_code_1 _item_description.description ; Optional identifier of the first of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_bond.PDB_ins_code_1' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_bond.PDB_ins_code_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_rmsd_bond.PDB_ins_code_2 _item_description.description ; Optional identifier of the second of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_bond.PDB_ins_code_2' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_bond.PDB_ins_code_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_rmsd_bond.label_alt_id_1 _item_description.description ; An optional identifier of the first of the two atoms that define the covalent bond. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_bond.label_alt_id_1' _item.mandatory_code no _item.category_id pdbx_validate_rmsd_bond _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_bond.label_alt_id_1' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_rmsd_bond.label_alt_id_2 _item_description.description ; An optional identifier of the second of the two atoms that define the covalent bond. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_bond.label_alt_id_2' _item.mandatory_code no _item.category_id pdbx_validate_rmsd_bond _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_bond.label_alt_id_2' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_rmsd_bond.bond_deviation _item_description.description ; The value of the deviation from ideal for the defined covalent bond for the two atoms defined. ; _item.name '_pdbx_validate_rmsd_bond.bond_deviation' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code yes _item_type.code float _item_units.code angstroms save_ save__pdbx_validate_rmsd_bond.bond_value _item_description.description ; The value of the bond length ; _item.name '_pdbx_validate_rmsd_bond.bond_value' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 save_ save__pdbx_validate_rmsd_bond.bond_target_value _item_description.description ; The target value of the bond length ; _item.name '_pdbx_validate_rmsd_bond.bond_target_value' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 save_ save__pdbx_validate_rmsd_bond.bond_standard_deviation _item_description.description ; The uncertaintiy in target value of the bond length expressed as a standard deviation. ; _item.name '_pdbx_validate_rmsd_bond.bond_standard_deviation' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 save_ save__pdbx_validate_rmsd_bond.linker_flag _item_description.description ; A flag to indicate if the bond is between two residues ; _item.name '_pdbx_validate_rmsd_bond.linker_flag' _item.category_id pdbx_validate_rmsd_bond _item.mandatory_code no _item_type.code uline _item_default.value N save_ #------------------------------------------------------------------------ ############################### ## PDBX_VALIDATE_RMSD_ANGLE ## ############################### save_pdbx_validate_rmsd_angle _category.description ; Data items in the PDBX_VALIDATE_RMSD_ANGLE category list the covalent bond angles found in an entry that have values which deviate from expected values by more than 6*rmsd for the particular entry from the expected standard value ; _category.id pdbx_validate_rmsd_angle _category.mandatory_code no _category_key.name '_pdbx_validate_rmsd_angle.id' loop_ _category_group.id 'inclusive_group' 'validate_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_validate_rmsd_angle.id _pdbx_validate_rmsd_angle.PDB_model_num _pdbx_validate_rmsd_angle.auth_asym_id_1 _pdbx_validate_rmsd_angle.auth_atom_id_1 _pdbx_validate_rmsd_angle.auth_comp_id_1 _pdbx_validate_rmsd_angle.auth_seq_id_1 _pdbx_validate_rmsd_angle.PDB_ins_code_1 _pdbx_validate_rmsd_angle.label_alt_id_1 _pdbx_validate_rmsd_angle.auth_asym_id_2 _pdbx_validate_rmsd_angle.auth_atom_id_2 _pdbx_validate_rmsd_angle.auth_comp_id_2 _pdbx_validate_rmsd_angle.auth_seq_id_2 _pdbx_validate_rmsd_angle.PDB_ins_code_2 _pdbx_validate_rmsd_angle.label_alt_id_2 _pdbx_validate_rmsd_angle.auth_asym_id_3 _pdbx_validate_rmsd_angle.auth_atom_id_3 _pdbx_validate_rmsd_angle.auth_comp_id_3 _pdbx_validate_rmsd_angle.auth_seq_id_3 _pdbx_validate_rmsd_angle.PDB_ins_code_3 _pdbx_validate_rmsd_angle.label_alt_id_3 _pdbx_validate_rmsd_angle.angle_deviation _pdbx_validate_rmsd_angle.angle_value _pdbx_validate_rmsd_angle.linker_flag 1 0 A NE ARG 35 . . A CZ ARG 35 . . A NH2 ARG 35 . . -3.14 117.16 N 2 0 A CB GLU 166 . . A CG GLU 166 . . A CD GLU 166 . . 34.68 148.88 N ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_validate_rmsd_angle.id _item_description.description ; The value of _pdbx_validate_rmsd_angle.id must uniquely identify each item in the PDBX_VALIDATE_RMSD_ANGLE list. This is an integer serial number. ; _item.name '_pdbx_validate_rmsd_angle.id' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code int save_ save__pdbx_validate_rmsd_angle.PDB_model_num _item_description.description ; The model number for the given angle ; _item.name '_pdbx_validate_rmsd_angle.PDB_model_num' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_validate_rmsd_angle.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_validate_rmsd_angle.auth_asym_id_1 _item_description.description ; Part of the identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.auth_asym_id_1' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.auth_asym_id_1' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_rmsd_angle.auth_atom_id_1 _item_description.description ; Part of the identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.auth_atom_id_1' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_validate_rmsd_angle.auth_atom_id_1' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_validate_rmsd_angle.auth_comp_id_1 _item_description.description ; Part of the identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.auth_comp_id_1' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.auth_comp_id_1' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_rmsd_angle.auth_seq_id_1 _item_description.description ; Part of the identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.auth_seq_id_1' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.auth_seq_id_1' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_rmsd_angle.auth_atom_id_2 _item_description.description ; Part of the identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.auth_atom_id_2' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_validate_rmsd_angle.auth_atom_id_2' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_validate_rmsd_angle.auth_asym_id_2 _item_description.description ; identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.auth_asym_id_2' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.auth_asym_id_2' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_rmsd_angle.auth_comp_id_2 _item_description.description ; Part of the identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.auth_comp_id_2' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.auth_comp_id_2' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_rmsd_angle.auth_seq_id_2 _item_description.description ; Part of the identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.auth_seq_id_2' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.auth_seq_id_2' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_rmsd_angle.auth_atom_id_3 _item_description.description ; Part of the identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.auth_atom_id_3' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_validate_rmsd_angle.auth_atom_id_3' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_validate_rmsd_angle.auth_asym_id_3 _item_description.description ; Part of the identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.auth_asym_id_3' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.auth_asym_id_3' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_rmsd_angle.auth_comp_id_3 _item_description.description ; Part of the identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.auth_comp_id_3' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.auth_comp_id_3' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_rmsd_angle.auth_seq_id_3 _item_description.description ; Part of the identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.auth_seq_id_3' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.auth_seq_id_3' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_rmsd_angle.PDB_ins_code_1 _item_description.description ; Optional identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.PDB_ins_code_1' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.PDB_ins_code_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_rmsd_angle.PDB_ins_code_2 _item_description.description ; Optional identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.PDB_ins_code_2' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.PDB_ins_code_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_rmsd_angle.PDB_ins_code_3 _item_description.description ; Optional identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.PDB_ins_code_3' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.PDB_ins_code_3' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_rmsd_angle.label_alt_id_1 _item_description.description ; An optional identifier of the first of the three atoms that define the covalent angle. This data item is a pointer to _atom_site.label_alt.id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.label_alt_id_1' _item.mandatory_code no _item.category_id pdbx_validate_rmsd_angle _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.label_alt_id_1' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_rmsd_angle.label_alt_id_2 _item_description.description ; An optional identifier of the second of the three atoms that define the covalent angle. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.label_alt_id_2' _item.mandatory_code no _item.category_id pdbx_validate_rmsd_angle _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.label_alt_id_2' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_rmsd_angle.label_alt_id_3 _item_description.description ; An optional identifier of the third of the three atoms that define the covalent angle. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_rmsd_angle.label_alt_id_3' _item.mandatory_code no _item.category_id pdbx_validate_rmsd_angle _item_type.code code _item_linked.child_name '_pdbx_validate_rmsd_angle.label_alt_id_3' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_rmsd_angle.angle_deviation _item_description.description ; Value of the deviation (in degrees) from 6*REBI for the angle bounded by the three sites from the expected dictionary value. ; _item.name '_pdbx_validate_rmsd_angle.angle_deviation' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code yes _item_type.code float _item_units.code degrees save_ save__pdbx_validate_rmsd_angle.angle_value _item_description.description ; The value of the bond angle ; _item.name '_pdbx_validate_rmsd_angle.angle_value' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__pdbx_validate_rmsd_angle.angle_target_value _item_description.description ; The target value of the bond angle ; _item.name '_pdbx_validate_rmsd_angle.angle_target_value' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__pdbx_validate_rmsd_angle.angle_standard_deviation _item_description.description ; The uncertainty in the target value of the bond angle expressed as a standard deviation. ; _item.name '_pdbx_validate_rmsd_angle.angle_standard_deviation' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code no _item_type.code float _item_units.code degrees loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 save_ save__pdbx_validate_rmsd_angle.linker_flag _item_description.description ; A flag to indicate if the angle is between two residues ; _item.name '_pdbx_validate_rmsd_angle.linker_flag' _item.category_id pdbx_validate_rmsd_angle _item.mandatory_code no _item_type.code uline _item_default.value N save_ #-------------------------------------------------------------------- ############################ ## PDBX_VALIDATE_TORSION ## ############################ save_pdbx_validate_torsion _category.description ; Data items in the PDBX_VALIDATE_TORSION category list the residues with torsion angles outside the expected ramachandran regions ; _category.id pdbx_validate_torsion _category.mandatory_code no _category_key.name '_pdbx_validate_torsion.id' loop_ _category_group.id 'inclusive_group' 'validate_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_validate_torsion.id _pdbx_validate_torsion.PDB_model_num _pdbx_validate_torsion.auth_comp_id _pdbx_validate_torsion.auth_asym_id _pdbx_validate_torsion.auth_seq_id _pdbx_validate_torsion.PDB_ins_code _pdbx_validate_torsion.phi _pdbx_validate_torsion.psi 1 1 SER A 12 . -64.75 2.02 2 1 THR A 22 . -116.30 61.44 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_validate_torsion.id _item_description.description ; The value of _pdbx_validate_torsion.id must uniquely identify each item in the PDBX_VALIDATE_TORSION list. This is an integer serial number. ; _item.name '_pdbx_validate_torsion.id' _item.category_id pdbx_validate_torsion _item.mandatory_code yes _item_type.code int save_ save__pdbx_validate_torsion.PDB_model_num _item_description.description ; The model number for the given residue This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_pdbx_validate_torsion.PDB_model_num' _item.category_id pdbx_validate_torsion _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_validate_torsion.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_validate_torsion.auth_asym_id _item_description.description ; Part of the identifier of the residue This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_torsion.auth_asym_id' _item.category_id pdbx_validate_torsion _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_torsion.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_torsion.auth_comp_id _item_description.description ; Part of the identifier of the residue This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_torsion.auth_comp_id' _item.category_id pdbx_validate_torsion _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_torsion.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_torsion.auth_seq_id _item_description.description ; Part of the identifier of the residue This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_torsion.auth_seq_id' _item.category_id pdbx_validate_torsion _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_torsion.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_torsion.PDB_ins_code _item_description.description ; Optional identifier of the residue This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_torsion.PDB_ins_code' _item.category_id pdbx_validate_torsion _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_torsion.PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_torsion.label_alt_id _item_description.description ; Optional identifier of the residue This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_torsion.label_alt_id' _item.category_id pdbx_validate_torsion _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_torsion.label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_torsion.phi _item_description.description ; The Phi value that for the residue that lies outside normal limits (in combination with the Psi value) with regards to the rammachandran plot ; _item.name '_pdbx_validate_torsion.phi' _item.category_id pdbx_validate_torsion _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 -180.0 -180.0 -180.0 _item_type.code float _item_units.code degrees _pdbx_item_description.name "_pdbx_validate_torsion.phi" _pdbx_item_description.description "Phi torsion angle (in degrees) of the amino acid residue that is outside of expected Ramachandran regions" save_ save__pdbx_validate_torsion.psi _item_description.description ; The Psi value that for the residue that lies outside normal limits (in combination with the Phi value) with regards to the rammachandran plot ; _item.name '_pdbx_validate_torsion.psi' _item.category_id pdbx_validate_torsion _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 -180.0 -180.0 -180.0 _item_type.code float _item_units.code degrees _pdbx_item_description.name "_pdbx_validate_torsion.psi" _pdbx_item_description.description "Psi torsion angle (in degrees) of the amino acid residue that is outside of expected Ramachandran regions" save_ #------------------------------------------------------ ################################## ## PDBX_VALIDATE_PEPTIDE_OMEGA ## ################################## save_pdbx_validate_peptide_omega _category.description ; Data items in the PDBX_VALIDATE_PEPTIDE_OMEGA category list the residues that contain peptide bonds deviate significantly from both cis and trans conformation. cis bonds, if any, are listed on cispep records. trans is defined as 180 +/- 30 and cis is defined as 0 +/- 30 degrees. ; _category.id pdbx_validate_peptide_omega _category.mandatory_code no _category_key.name '_pdbx_validate_peptide_omega.id' loop_ _category_group.id 'inclusive_group' 'validate_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_validate_peptide_omega.id _pdbx_validate_peptide_omega.PDB_model_num _pdbx_validate_peptide_omega.auth_comp_id_1 _pdbx_validate_peptide_omega.auth_asym_id_1 _pdbx_validate_peptide_omega.auth_seq_id_1 _pdbx_validate_peptide_omega.PDB_ins_code_1 _pdbx_validate_peptide_omega.label_alt_id_1 _pdbx_validate_peptide_omega.auth_comp_id_2 _pdbx_validate_peptide_omega.auth_asym_id_2 _pdbx_validate_peptide_omega.auth_seq_id_2 _pdbx_validate_peptide_omega.PDB_ins_code_2 _pdbx_validate_peptide_omega.label_alt_id_2 _pdbx_validate_peptide_omega.omega 1 0 A ASP 414 . . A ARG 413 . . 147.84 2 0 B ASN 289 . . B ALA 288 . . -39.12 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_validate_peptide_omega.id _item_description.description ; The value of _pdbx_validate_peptide_omega.id must uniquely identify each item in the PDBX_VALIDATE_PEPTIDE_OMEGA list. This is an integer serial number. ; _item.name '_pdbx_validate_peptide_omega.id' _item.category_id pdbx_validate_peptide_omega _item.mandatory_code yes _item_type.code int save_ save__pdbx_validate_peptide_omega.PDB_model_num _item_description.description ; The model number for the given residue This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_pdbx_validate_peptide_omega.PDB_model_num' _item.category_id pdbx_validate_peptide_omega _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_validate_peptide_omega.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_validate_peptide_omega.auth_asym_id_1 _item_description.description ; Part of the identifier of the first residue in the bond This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_peptide_omega.auth_asym_id_1' _item.category_id pdbx_validate_peptide_omega _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_peptide_omega.auth_asym_id_1' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_peptide_omega.auth_asym_id_2 _item_description.description ; Part of the identifier of the second residue in the bond This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_peptide_omega.auth_asym_id_2' _item.category_id pdbx_validate_peptide_omega _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_peptide_omega.auth_asym_id_2' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_peptide_omega.auth_comp_id_1 _item_description.description ; Part of the identifier of the first residue in the bond This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_peptide_omega.auth_comp_id_1' _item.category_id pdbx_validate_peptide_omega _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_peptide_omega.auth_comp_id_1' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_peptide_omega.auth_comp_id_2 _item_description.description ; Part of the identifier of the second residue in the bond This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_peptide_omega.auth_comp_id_2' _item.category_id pdbx_validate_peptide_omega _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_peptide_omega.auth_comp_id_2' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_peptide_omega.auth_seq_id_1 _item_description.description ; Part of the identifier of the first residue in the bond This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_peptide_omega.auth_seq_id_1' _item.category_id pdbx_validate_peptide_omega _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_peptide_omega.auth_seq_id_1' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_peptide_omega.auth_seq_id_2 _item_description.description ; Part of the identifier of the second residue in the bond This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_peptide_omega.auth_seq_id_2' _item.category_id pdbx_validate_peptide_omega _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_peptide_omega.auth_seq_id_2' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_peptide_omega.PDB_ins_code_1 _item_description.description ; Optional identifier of the first residue in the bond This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_peptide_omega.PDB_ins_code_1' _item.category_id pdbx_validate_peptide_omega _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_peptide_omega.PDB_ins_code_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_peptide_omega.PDB_ins_code_2 _item_description.description ; Optional identifier of the second residue in the bond This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_peptide_omega.PDB_ins_code_2' _item.category_id pdbx_validate_peptide_omega _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_peptide_omega.PDB_ins_code_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_peptide_omega.label_alt_id_1 _item_description.description ; Optional identifier of the first residue in the torsion angle This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_peptide_omega.label_alt_id_1' _item.mandatory_code no _item.category_id pdbx_validate_peptide_omega _item_type.code code _item_linked.child_name '_pdbx_validate_peptide_omega.label_alt_id_1' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_peptide_omega.label_alt_id_2 _item_description.description ; Optional identifier of the second residue in the torsion angle This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_peptide_omega.label_alt_id_2' _item.mandatory_code no _item.category_id pdbx_validate_peptide_omega _item_type.code code _item_linked.child_name '_pdbx_validate_peptide_omega.label_alt_id_2' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_peptide_omega.omega _item_description.description ; The value of the OMEGA angle for the peptide linkage between the two defined residues ; _item.name '_pdbx_validate_peptide_omega.omega' _item.category_id pdbx_validate_peptide_omega _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 -180.0 -180.0 -180.0 _item_type.code float _item_units.code degrees save_ ########################### ## PDBX_VALIDATE_CHIRAL ## ########################### save_pdbx_validate_chiral _category.description ; Data items in the PDBX_VALIDATE_CHIRAL category list the residues that contain unexpected configuration of chiral centers. IMPROPER HA N C CB chirality CA IMPROPER HB1 HB2 CA CG stereo CB as this number approaches (+) or (-) 180.0, then the error in predicting the true chirality of the center increases. Improper dihedrals are a measure of the chirality/planarity of the structure at a specific atom. Values around -35 or +35 are expected for chiral atoms, and values around 0 for planar atoms. HERE improper C---N----CA---CB done expected answer is around -120 mean -122.52 D-amino acid is +120.0 ; _category.id pdbx_validate_chiral _category.mandatory_code no _category_key.name '_pdbx_validate_chiral.id' loop_ _category_group.id 'inclusive_group' 'validate_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_validate_chiral.id _pdbx_validate_chiral.PDB_model_num _pdbx_validate_chiral.auth_comp_id _pdbx_validate_chiral.auth_asym_id _pdbx_validate_chiral.auth_seq_id _pdbx_validate_chiral.PDB_ins_code _pdbx_validate_chiral.details _pdbx_validate_chiral.omega 1 0 B ASP 405 . ALPHA-CARBON 150.48 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_validate_chiral.id _item_description.description ; The value of _pdbx_validate_chiral.id must uniquely identify each item in the PDBX_VALIDATE_CHIRAL list. This is an integer serial number. ; _item.name '_pdbx_validate_chiral.id' _item.category_id pdbx_validate_chiral _item.mandatory_code yes _item_type.code int save_ save__pdbx_validate_chiral.PDB_model_num _item_description.description ; The model number for the given residue This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_pdbx_validate_chiral.PDB_model_num' _item.category_id pdbx_validate_chiral _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_validate_chiral.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_validate_chiral.auth_asym_id _item_description.description ; Part of the identifier of the residue This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_chiral.auth_asym_id' _item.category_id pdbx_validate_chiral _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_chiral.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_chiral.auth_atom_id _item_description.description ; Part of the identifier of the residue This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_chiral.auth_atom_id' _item.category_id pdbx_validate_chiral _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_pdbx_validate_chiral.auth_atom_id' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_validate_chiral.label_alt_id _item_description.description ; Part of the identifier of the residue This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_chiral.label_alt_id' _item.category_id pdbx_validate_chiral _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_chiral.label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_chiral.auth_comp_id _item_description.description ; Part of the identifier of the residue This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_chiral.auth_comp_id' _item.category_id pdbx_validate_chiral _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_chiral.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_chiral.auth_seq_id _item_description.description ; Part of the identifier of the residue This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_chiral.auth_seq_id' _item.category_id pdbx_validate_chiral _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_chiral.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_chiral.PDB_ins_code _item_description.description ; Optional identifier of the residue This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_chiral.PDB_ins_code' _item.category_id pdbx_validate_chiral _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_chiral.PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_chiral.omega _item_description.description ; The value of the OMEGA angle for the peptide linkage between the two defined residues ; _item.name '_pdbx_validate_chiral.omega' _item.category_id pdbx_validate_chiral _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 -180.0 -180.0 -180.0 _item_type.code float _item_units.code degrees _pdbx_item_description.name "_pdbx_validate_chiral.omega" _pdbx_item_description.description "The omega angle (in degrees) of the residue containing improper chirality." save_ save__pdbx_validate_chiral.details _item_description.description ; A description of the outlier angle e.g. ALPHA-CARBON ; _item.name '_pdbx_validate_chiral.details' _item.category_id pdbx_validate_chiral _item.mandatory_code no _item_type.code line _pdbx_item_description.name "_pdbx_validate_chiral.details" _pdbx_item_description.description "Description of the nature of the improper chirality" save_ #----------------------------------------------------------- ########################### ## PDBX_VALIDATE_PLANES ## ########################### save_pdbx_validate_planes _category.description ; Data items in the PDBX_VALIDATE_PLANES category list the residues that contain unexpected deviations from planes centers. ; _category.id pdbx_validate_planes _category.mandatory_code no _category_key.name '_pdbx_validate_planes.id' loop_ _category_group.id 'inclusive_group' 'validate_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_validate_planes.id _pdbx_validate_planes.PDB_model_num _pdbx_validate_planes.auth_comp_id _pdbx_validate_planes.auth_asym_id _pdbx_validate_planes.auth_seq_id _pdbx_validate_planes.PDB_ins_code _pdbx_validate_planes.rmsd _pdbx_validate_planes.type 1 1 DG A 3 . 0.068 'SIDE CHAIN' 2 1 DT A 4 . 0.198 'SIDE CHAIN' 3 1 DC A 8 . 0.090 'SIDE CHAIN' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_validate_planes.id _item_description.description ; The value of _pdbx_validate_planes.id must uniquely identify each item in the PDBX_VALIDATE_PLANES list. This is an integer serial number. ; _item.name '_pdbx_validate_planes.id' _item.category_id pdbx_validate_planes _item.mandatory_code yes _item_type.code int save_ save__pdbx_validate_planes.PDB_model_num _item_description.description ; The model number for the given angle This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_pdbx_validate_planes.PDB_model_num' _item.category_id pdbx_validate_planes _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_validate_planes.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_validate_planes.auth_asym_id _item_description.description ; Part of the identifier of the residue in which the plane is calculated This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_planes.auth_asym_id' _item.category_id pdbx_validate_planes _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_planes.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_planes.auth_comp_id _item_description.description ; Part of the identifier of the residue in which the plane is calculated This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_planes.auth_comp_id' _item.category_id pdbx_validate_planes _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_planes.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_planes.auth_seq_id _item_description.description ; Part of the identifier of the residue in which the plane is calculated This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_planes.auth_seq_id' _item.category_id pdbx_validate_planes _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_planes.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_planes.PDB_ins_code _item_description.description ; Optional identifier of the residue in which the plane is calculated This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_planes.PDB_ins_code' _item.category_id pdbx_validate_planes _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_planes.PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_planes.label_alt_id _item_description.description ; Optional identifier of the residue in which the plane is calculated This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_planes.label_alt_id' _item.category_id pdbx_validate_planes _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_planes.label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_planes.rmsd _item_description.description ; The value of the overall deviation from ideal plane for the atoms defining the plane. ; _item.name '_pdbx_validate_planes.rmsd' _item.category_id pdbx_validate_planes _item.mandatory_code yes _item_type.code float _item_units.code angstroms_squared save_ save__pdbx_validate_planes.type _item_description.description ; The type of plane - MAIN CHAIN or SIDE CHAIN atoms ; _item.name '_pdbx_validate_planes.type' _item.category_id pdbx_validate_planes _item.mandatory_code yes _item_type.code uline loop_ _item_enumeration.value _item_enumeration.detail 'MAIN_CHAIN' deprecated 'SIDE_CHAIN' deprecated 'MAIN CHAIN' . 'SIDE CHAIN' . save_ #----------------------------------------------------------- ################################ ## PDBX_VALIDATE_PLANES_ATOM ## ################################ save_pdbx_validate_planes_atom _category.description ; Data items in the PDBX_VALIDATE_PLANES_ATOM category list the residues that contain unexpected deviations from planes centers. ; _category.id pdbx_validate_planes_atom _category.mandatory_code no _category_key.name '_pdbx_validate_planes_atom.id' loop_ _category_group.id 'inclusive_group' 'validate_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_validate_planes_atom.plane_id _pdbx_validate_planes_atom.id _pdbx_validate_planes_atom.PDB_model_num _pdbx_validate_planes_atom.auth_asym_id _pdbx_validate_planes_atom.auth_comp_id _pdbx_validate_planes_atom.auth_seq_id _pdbx_validate_planes_atom.PDB_ins_code _pdbx_validate_planes_atom.auth_atom_id _pdbx_validate_planes_atom.atom_deviation 1 1 1 DG A 3 . N1 0.003 1 2 1 DG A 3 . C2 0.011 1 3 1 DG A 3 . N2 0.074 1 4 1 DG A 3 . N3 0.005 1 5 1 DG A 3 . C4 0.010 1 6 1 DG A 3 . C5 0.029 1 7 1 DG A 3 . C6 0.039 1 8 1 DG A 3 . O6 0.074 1 9 1 DG A 3 . N7 0.050 1 10 1 DG A 3 . C8 0.129 1 11 1 DG A 3 . N9 0.033 1 12 1 DG A 3 . C1' 0.147 2 1 1 DT A 4 . N1 0.069 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_validate_planes_atom.plane_id _item_description.description ; A pointer to _pdbx_validate_planes.id This is an integer serial number. ; _item.name '_pdbx_validate_planes_atom.plane_id' _item.category_id pdbx_validate_planes_atom _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_validate_planes_atom.plane_id' _item_linked.parent_name '_pdbx_validate_planes.id' save_ save__pdbx_validate_planes_atom.id _item_description.description ; The value of _pdbx_validate_planes_atom.id must uniquely identify each item in the PDBX_VALIDATE_PLANES_ATOM list. This is an integer serial number. ; _item.name '_pdbx_validate_planes_atom.id' _item.category_id pdbx_validate_planes_atom _item.mandatory_code yes _item_type.code int save_ save__pdbx_validate_planes_atom.PDB_model_num _item_description.description ; The model number for an atom site defining the plane This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_pdbx_validate_planes_atom.PDB_model_num' _item.category_id pdbx_validate_planes_atom _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_validate_planes_atom.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_validate_planes_atom.auth_asym_id _item_description.description ; Part of the identifier of an atom site that defines the plane This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_planes_atom.auth_asym_id' _item.category_id pdbx_validate_planes_atom _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_planes_atom.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_planes_atom.auth_comp_id _item_description.description ; Part of the identifier of an atom site that defines the plane This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_planes_atom.auth_comp_id' _item.category_id pdbx_validate_planes_atom _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_planes_atom.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_planes_atom.auth_seq_id _item_description.description ; Part of the identifier of an atom site that defines the plane This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_planes_atom.auth_seq_id' _item.category_id pdbx_validate_planes_atom _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_planes_atom.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_planes_atom.PDB_ins_code _item_description.description ; Optional identifier of an atom site that defines the plane ; _item.name '_pdbx_validate_planes_atom.PDB_ins_code' _item.category_id pdbx_validate_planes_atom _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_planes_atom.PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_planes_atom.auth_atom_id _item_description.description ; Part of the identifier of an atom site that defines the plane This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_planes_atom.auth_atom_id' _item.category_id pdbx_validate_planes_atom _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_validate_planes_atom.auth_atom_id' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_validate_planes_atom.atom_deviation _item_description.description ; The deviation from the plane per atom ; _item.name '_pdbx_validate_planes_atom.atom_deviation' _item.category_id pdbx_validate_planes_atom _item.mandatory_code yes _item_type.code float _item_units.code angstroms_squared save_ #----------------------------------------------------------- ##################################### ## PDBX_VALIDATE_MAIN_CHAIN_PLANE ## ##################################### save_pdbx_validate_main_chain_plane _category.description ; Data items in the PDBX_VALIDATE_MAIN_CHAIN_PLANE category list the residues that contain unexpected deviations from planes for main chain atoms as defined by the improper torsion angle describing planarity: PLANARITY = C(i-1) - CA(i-1) - N(i) - O(i-1) ==> planar < 5 as a pseudo torsion ; _category.id pdbx_validate_main_chain_plane _category.mandatory_code no _category_key.name '_pdbx_validate_main_chain_plane.id' loop_ _category_group.id 'inclusive_group' 'validate_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_validate_main_chain_plane.id _pdbx_validate_main_chain_plane.PDB_model_num _pdbx_validate_main_chain_plane.auth_comp_id _pdbx_validate_main_chain_plane.auth_asym_id _pdbx_validate_main_chain_plane.auth_seq_id _pdbx_validate_main_chain_plane.PDB_ins_code _pdbx_validate_main_chain_plane.improper_torsion_angle 1 0 TRP G 20 . 29.901 2 0 TRP G 21 . -42.450 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_validate_main_chain_plane.id _item_description.description ; The value of _pdbx_validate_main_chain_plane.id must uniquely identify each item in the PDBX_VALIDATE_MAIN_CHAIN_PLANE list. This is an integer serial number. ; _item.name '_pdbx_validate_main_chain_plane.id' _item.category_id pdbx_validate_main_chain_plane _item.mandatory_code yes _item_type.code int save_ save__pdbx_validate_main_chain_plane.PDB_model_num _item_description.description ; The model number for the residue in which the plane is calculated This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_pdbx_validate_main_chain_plane.PDB_model_num' _item.category_id pdbx_validate_main_chain_plane _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_validate_main_chain_plane.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_validate_main_chain_plane.auth_asym_id _item_description.description ; Part of the identifier of the residue in which the plane is calculated This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_main_chain_plane.auth_asym_id' _item.category_id pdbx_validate_main_chain_plane _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_main_chain_plane.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_main_chain_plane.auth_comp_id _item_description.description ; Part of the identifier of the residue in which the plane is calculated This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_main_chain_plane.auth_comp_id' _item.category_id pdbx_validate_main_chain_plane _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_main_chain_plane.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_main_chain_plane.auth_seq_id _item_description.description ; Part of the identifier of the residue in which the plane is calculated This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_main_chain_plane.auth_seq_id' _item.category_id pdbx_validate_main_chain_plane _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_main_chain_plane.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_main_chain_plane.PDB_ins_code _item_description.description ; Optional identifier of the residue in which the plane is calculated This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_main_chain_plane.PDB_ins_code' _item.category_id pdbx_validate_main_chain_plane _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_main_chain_plane.PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_main_chain_plane.label_alt_id _item_description.description ; Optional identifier of the residue in which the plane is calculated This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_main_chain_plane.label_alt_id' _item.category_id pdbx_validate_main_chain_plane _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_main_chain_plane.label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_main_chain_plane.improper_torsion_angle _item_description.description ; The value for the torsion angle C(i-1) - CA(i-1) - N(i) - O(i-1) ; _item.name '_pdbx_validate_main_chain_plane.improper_torsion_angle' _item.category_id pdbx_validate_main_chain_plane _item.mandatory_code yes _item_type.code float _item_units.code degrees save_ #----------------------------------------------------------- ############################ ## PDBX_STRUCT_CONN_ANGLE ## ############################ save_pdbx_struct_conn_angle _category.description ; Data items in the PDBX_STRUCT_CONN_ANGLE category record the angles in connections between portions of the structure. ; _category.id pdbx_struct_conn_angle _category.mandatory_code no _category_key.name '_pdbx_struct_conn_angle.id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 PDB entry 2v8d ; ; loop_ _pdbx_struct_conn_angle.id _pdbx_struct_conn_angle.ptnr1_label_comp_id _pdbx_struct_conn_angle.ptnr1_label_asym_id _pdbx_struct_conn_angle.ptnr1_label_seq_id _pdbx_struct_conn_angle.ptnr1_PDB_ins_code _pdbx_struct_conn_angle.ptnr1_label_atom_id _pdbx_struct_conn_angle.ptnr2_label_comp_id _pdbx_struct_conn_angle.ptnr2_label_asym_id _pdbx_struct_conn_angle.ptnr2_label_seq_id _pdbx_struct_conn_angle.ptnr2_label_atom_id _pdbx_struct_conn_angle.ptnr2_PDB_ins_code _pdbx_struct_conn_angle.ptnr3_label_comp_id _pdbx_struct_conn_angle.ptnr3_label_asym_id _pdbx_struct_conn_angle.ptnr3_label_seq_id _pdbx_struct_conn_angle.ptnr3_label_atom_id _pdbx_struct_conn_angle.ptnr3_PDB_ins_code _pdbx_struct_conn_angle.value 1 ASP A 125 . OD ZN A 500 . ZN HIS A 114 . NE 104.7 2 ASP A 125 . OD ZN A 500 . ZN HIS A 226 . NE 91.3 3 HIS A 114 . NE ZN A 500 . ZN HIS A 226 . NE 120.6 4 ASP A 125 . OD ZN A 500 . ZN HOH A 2041 . O 172.5 5 HIS A 114 . NE ZN A 500 . ZN HOH A 2041 . O 80.0 6 HIS A 226 . NE ZN A 500 . ZN HOH A 2041 . O 91.3 7 ASP A 125 . OD ZN A 500 . ZN HOH A 3001 . O 76.9 8 HIS A 114 . NE ZN A 500 . ZN HOH A 3001 . O 112.3 9 HIS A 226 . NE ZN A 500 . ZN HOH A 3001 . O 127.0 10 HOH A 2041 . O ZN A 500 . ZN HOH A 3001 . O 95.9 11 ASP A 125 . OD ZN A 501 . ZN GLU A 160 . OE 89.8 12 ASP A 125 . OD ZN A 501 . ZN HOH A 3001 . O 95.5 13 GLU A 160 . OE ZN A 501 . ZN HOH A 3001 . O 109.4 14 ASP A 125 . OD ZN A 501 . ZN HIS A 421 . NE 90.4 15 GLU A 160 . OE ZN A 501 . ZN HIS A 421 . NE 111.3 16 HOH A 3001 . O ZN A 501 . ZN HIS A 421 . NE 138.9 17 HOH B 3001 . O ZN B 500 . ZN HIS B 114 . NE 106.4 18 HOH B 3001 . O ZN B 500 . ZN ASP B 125 . OD 100.5 19 HIS B 114 . NE ZN B 500 . ZN ASP B 125 . OD 115.6 20 HOH B 3001 . O ZN B 500 . ZN HIS B 226 . NE 123.2 21 HIS B 114 . NE ZN B 500 . ZN HIS B 226 . NE 123.2 22 ASP B 125 . OD ZN B 500 . ZN HIS B 226 . NE 82.7 23 GLU B 160 . OE ZN B 501 . ZN ASP B 125 . OD 148.6 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_conn_angle.id _item_description.description ; The value of _pdbx_struct_conn_angle.id must uniquely identify a record in the PDBX_STRUCT_CONN_ANGLE list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_pdbx_struct_conn_angle.id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_conn_angle.ptnr1_label_alt_id _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr1_label_alt_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr1_label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_struct_conn_angle.ptnr1_label_asym_id _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr1_label_asym_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr1_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_struct_conn_angle.ptnr1_label_atom_id _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr1_label_atom_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_struct_conn_angle.ptnr1_label_atom_id' _item_linked.parent_name '_atom_site.label_atom_id' save_ save__pdbx_struct_conn_angle.ptnr1_label_comp_id _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr1_label_comp_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_struct_conn_angle.ptnr1_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_struct_conn_angle.ptnr1_label_seq_id _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr1_label_seq_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_struct_conn_angle.ptnr1_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_struct_conn_angle.ptnr1_auth_asym_id _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr1_auth_asym_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr1_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_struct_conn_angle.ptnr1_auth_atom_id _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr1_auth_atom_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_pdbx_struct_conn_angle.ptnr1_auth_atom_id' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_struct_conn_angle.ptnr1_auth_comp_id _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr1_auth_comp_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr1_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_struct_conn_angle.ptnr1_auth_seq_id _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr1_auth_seq_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr1_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_struct_conn_angle.ptnr1_symmetry _item_description.description ; Describes the symmetry operation that should be applied to the atom specified by _pdbx_struct_conn_angle.ptnr1_label* to generate the first partner in the structure angle. ; _item.name '_pdbx_struct_conn_angle.ptnr1_symmetry' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code symop _item_examples.case 7_645 _item_examples.detail '7th symm. posn.; +a on x; -b on y' save_ save__pdbx_struct_conn_angle.ptnr2_label_alt_id _item_description.description ; A component of the identifier for partner 2 of the structure angle. This data item is a pointer to _atom_site.label_alt.id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr2_label_alt_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr2_label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_struct_conn_angle.ptnr2_label_asym_id _item_description.description ; A component of the identifier for partner 2 of the structure angle. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr2_label_asym_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr2_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_struct_conn_angle.ptnr2_label_atom_id _item_description.description ; A component of the identifier for partner 2 of the structure angle. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr2_label_atom_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_struct_conn_angle.ptnr2_label_atom_id' _item_linked.parent_name '_atom_site.label_atom_id' save_ save__pdbx_struct_conn_angle.ptnr2_label_comp_id _item_description.description ; A component of the identifier for partner 2 of the structure angle. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr2_label_comp_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_struct_conn_angle.ptnr2_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_struct_conn_angle.ptnr2_label_seq_id _item_description.description ; A component of the identifier for partner 2 of the structure angle. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr2_label_seq_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_struct_conn_angle.ptnr2_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_struct_conn_angle.ptnr2_auth_asym_id _item_description.description ; A component of the identifier for partner 2 of the structure angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr2_auth_asym_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr2_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_struct_conn_angle.ptnr2_auth_atom_id _item_description.description ; A component of the identifier for partner 2 of the structure angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr2_auth_atom_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_pdbx_struct_conn_angle.ptnr2_auth_atom_id' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_struct_conn_angle.ptnr2_auth_comp_id _item_description.description ; A component of the identifier for partner 2 of the structure angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr2_auth_comp_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr2_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_struct_conn_angle.ptnr2_auth_seq_id _item_description.description ; A component of the identifier for partner 2 of the structure angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr2_auth_seq_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr2_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_struct_conn_angle.ptnr2_symmetry _item_description.description ; Describes the symmetry operation that should be applied to the atom specified by _pdbx_struct_conn_angle.ptnr2_label* to generate the second partner in the structure angle. ; _item.name '_pdbx_struct_conn_angle.ptnr2_symmetry' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code symop save_ save__pdbx_struct_conn_angle.ptnr1_PDB_ins_code _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr1_PDB_ins_code' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr1_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_struct_conn_angle.ptnr1_auth_alt_id _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.pdbx_auth_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr1_auth_alt_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code save_ save__pdbx_struct_conn_angle.ptnr2_PDB_ins_code _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr2_PDB_ins_code' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr2_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_struct_conn_angle.ptnr2_auth_alt_id _item_description.description ; A component of the identifier for partner 2 of the structure angle. This data item is a pointer to _atom_site.pdbx_auth_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr2_auth_alt_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code save_ save__pdbx_struct_conn_angle.ptnr3_auth_alt_id _item_description.description ; A component of the identifier for partner 3 of the structure angle. This data item is a pointer to _atom_site.pdbx_auth_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr3_auth_alt_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code save_ save__pdbx_struct_conn_angle.ptnr3_auth_asym_id _item_description.description ; A component of the identifier for partner 3 of the structure angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr3_auth_asym_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr3_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_struct_conn_angle.ptnr3_auth_atom_id _item_description.description ; A component of the identifier for partner 3 of the structure angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr3_auth_atom_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_pdbx_struct_conn_angle.ptnr3_auth_atom_id' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_struct_conn_angle.ptnr3_auth_comp_id _item_description.description ; A component of the identifier for partner 3 of the structure angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr3_auth_comp_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr3_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_struct_conn_angle.ptnr3_PDB_ins_code _item_description.description ; A component of the identifier for partner 3 of the structure angle. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr3_PDB_ins_code' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr3_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_struct_conn_angle.ptnr3_auth_seq_id _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr3_auth_seq_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr3_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_struct_conn_angle.ptnr3_label_alt_id _item_description.description ; A component of the identifier for partner 3 of the structure angle. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr3_label_alt_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr3_label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_struct_conn_angle.ptnr3_label_asym_id _item_description.description ; A component of the identifier for partner 3 of the structure angle. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr3_label_asym_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_conn_angle.ptnr3_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_struct_conn_angle.ptnr3_label_atom_id _item_description.description ; A component of the identifier for partner 3 of the structure angle. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr3_label_atom_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_pdbx_struct_conn_angle.ptnr3_label_atom_id' _item_linked.parent_name '_atom_site.label_atom_id' save_ save__pdbx_struct_conn_angle.ptnr3_label_comp_id _item_description.description ; A component of the identifier for partner 3 of the structure angle. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr3_label_comp_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_struct_conn_angle.ptnr3_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_struct_conn_angle.ptnr3_label_seq_id _item_description.description ; A component of the identifier for partner 1 of the structure angle. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_conn_angle.ptnr3_label_seq_id' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_struct_conn_angle.ptnr3_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_struct_conn_angle.ptnr3_symmetry _item_description.description ; Describes the symmetry operation that should be applied to the atom specified by _pdbx_struct_conn_angle.ptnr3_label* to generate the first partner in the structure angle. ; _item.name '_pdbx_struct_conn_angle.ptnr3_symmetry' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_type.code symop _item_examples.case 7_645 _item_examples.detail '7th symm. posn.; +a on x; -b on y' save_ save__pdbx_struct_conn_angle.value _item_description.description ; Angle in degrees defined by the three sites _pdbx_struct_conn_angle.ptnr1_label_atom_id, _pdbx_struct_conn_angle.ptnr2_label_atom_id _pdbx_struct_conn_angle.ptnr3_label_atom_id ; _item.name '_pdbx_struct_conn_angle.value' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_related.related_name '_geom_angle.value_esd' _item_related.function_code associated_esd _item_type.code float _item_type_conditions.code esd _item_units.code degrees save_ save__pdbx_struct_conn_angle.value_esd _item_description.description ; The standard uncertainty (estimated standard deviation) of _pdbx_struct_conn_angle.value ; _item.name '_pdbx_struct_conn_angle.value_esd' _item.category_id pdbx_struct_conn_angle _item.mandatory_code no _item_related.related_name '_pdbx_struct_conn_angle.value' _item_related.function_code associated_value _item_type.code float _item_units.code degrees save_ ## ## save_pdbx_unobs_or_zero_occ_residues _category.description ; Data items in the PDBX_UNOBS_OR_ZERO_OCC_RESIDUES category list the residues within the entry that are not observed or have zero occupancy. ; _category.id pdbx_unobs_or_zero_occ_residues _category.mandatory_code no _category_key.name '_pdbx_unobs_or_zero_occ_residues.id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_unobs_or_zero_occ_residues.id _pdbx_unobs_or_zero_occ_residues.polymer_flag _pdbx_unobs_or_zero_occ_residues.occupancy_flag _pdbx_unobs_or_zero_occ_residues.PDB_model_num _pdbx_unobs_or_zero_occ_residues.auth_asym_id _pdbx_unobs_or_zero_occ_residues.auth_comp_id _pdbx_unobs_or_zero_occ_residues.auth_seq_id _pdbx_unobs_or_zero_occ_residues.PDB_ins_code 1 Y 1 1 B VAL 36 . 2 Y 1 1 B ARG 108 . 3 N 1 1 D PPI 438 . # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; save_ save__pdbx_unobs_or_zero_occ_residues.id _item_description.description ; The value of _pdbx_unobs_or_zero_occ_residues.id must uniquely identify each item in the PDBX_UNOBS_OR_ZERO_OCC_RESIDUES list. This is an integer serial number. ; _item.name '_pdbx_unobs_or_zero_occ_residues.id' _item.category_id pdbx_unobs_or_zero_occ_residues _item.mandatory_code yes _item_type.code int save_ save__pdbx_unobs_or_zero_occ_residues.polymer_flag _item_description.description ; The value of polymer flag indicates whether the unobserved or zero occupancy residue is part of a polymer chain or not ; _item.name '_pdbx_unobs_or_zero_occ_residues.polymer_flag' _item.category_id pdbx_unobs_or_zero_occ_residues _item.mandatory_code yes _item_type.code ucode loop_ _item_enumeration.value Y N save_ save__pdbx_unobs_or_zero_occ_residues.occupancy_flag _item_description.description ; The value of occupancy flag indicates whether the residue is unobserved (= 1) or the coordinates have an occupancy of zero (=0) ; _item.name '_pdbx_unobs_or_zero_occ_residues.occupancy_flag' _item.category_id pdbx_unobs_or_zero_occ_residues _item.mandatory_code yes _item_type.code int loop_ _item_enumeration.value 1 0 save_ save__pdbx_unobs_or_zero_occ_residues.PDB_model_num _item_description.description ; Part of the identifier for the unobserved or zero occupancy residue. This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_residues.PDB_model_num' _item.category_id pdbx_unobs_or_zero_occ_residues _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_unobs_or_zero_occ_residues.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_unobs_or_zero_occ_residues.auth_asym_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy residue. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_residues.auth_asym_id' _item.category_id pdbx_unobs_or_zero_occ_residues _item.mandatory_code yes _item_type.code code # _item_linked.child_name '_pdbx_unobs_or_zero_occ_residues.auth_asym_id' # _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_unobs_or_zero_occ_residues.auth_comp_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy residue. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_residues.auth_comp_id' _item.category_id pdbx_unobs_or_zero_occ_residues _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_unobs_or_zero_occ_residues.auth_comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_unobs_or_zero_occ_residues.auth_seq_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy residue. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_residues.auth_seq_id' _item.category_id pdbx_unobs_or_zero_occ_residues _item.mandatory_code yes _item_type.code code # _item_linked.child_name '_pdbx_unobs_or_zero_occ_residues.auth_seq_id' # _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_unobs_or_zero_occ_residues.PDB_ins_code _item_description.description ; Part of the identifier for the unobserved or zero occupancy residue. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_residues.PDB_ins_code' _item.category_id pdbx_unobs_or_zero_occ_residues _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_unobs_or_zero_occ_residues.PDB_ins_code' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_unobs_or_zero_occ_residues.label_asym_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy residue. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_residues.label_asym_id' _item.category_id pdbx_unobs_or_zero_occ_residues _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_unobs_or_zero_occ_residues.label_asym_id' _item_linked.parent_name '_struct_asym.id' save_ save__pdbx_unobs_or_zero_occ_residues.label_comp_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy residue. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_residues.label_comp_id' _item.category_id pdbx_unobs_or_zero_occ_residues _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_unobs_or_zero_occ_residues.label_comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_unobs_or_zero_occ_residues.label_seq_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy residue. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_residues.label_seq_id' _item.category_id pdbx_unobs_or_zero_occ_residues _item.mandatory_code no _item_type.code int # _item_linked.child_name '_pdbx_unobs_or_zero_occ_residues.label_seq_id' # _item_linked.parent_name '_atom_site.label_seq_id' save_ ## save_pdbx_unobs_or_zero_occ_atoms _category.description ; Data items in the PDBX_UNOBS_OR_ZERO_OCC_ATOMS category list the atoms within the entry that are either unobserved or have zero occupancy/ ; _category.id pdbx_unobs_or_zero_occ_atoms _category.mandatory_code no _category_key.name '_pdbx_unobs_or_zero_occ_atoms.id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_unobs_or_zero_occ_atoms.id _pdbx_unobs_or_zero_occ_atoms.polymer_flag _pdbx_unobs_or_zero_occ_atoms.occupancy_flag _pdbx_unobs_or_zero_occ_atoms.PDB_model_num _pdbx_unobs_or_zero_occ_atoms.auth_comp_id _pdbx_unobs_or_zero_occ_atoms.auth_asym_id _pdbx_unobs_or_zero_occ_atoms.auth_seq_id _pdbx_unobs_or_zero_occ_atoms.PDB_ins_code _pdbx_unobs_or_zero_occ_atoms.auth_atom_id _pdbx_unobs_or_zero_occ_atoms.label_alt_id 1 Y 1 1 ARG A 412 . CG . 2 Y 1 1 ARG A 412 . CD . 3 Y 1 1 ARG A 412 . NE . 4 Y 1 1 ARG A 412 . CZ . 5 Y 1 1 ARG A 412 . NH1 . 6 Y 1 1 ARG A 412 . NH2 . # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; save_ save__pdbx_unobs_or_zero_occ_atoms.id _item_description.description ; The value of _pdbx_unobs_or_zero_occ_atoms.id must uniquely identify each item in the PDBX_UNOBS_OR_ZERO_OCC_ATOMS list. This is an integer serial number. ; _item.name '_pdbx_unobs_or_zero_occ_atoms.id' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code yes _item_type.code int save_ save__pdbx_unobs_or_zero_occ_atoms.polymer_flag _item_description.description ; The value of polymer flag indicates whether the unobserved or zero occupancy atom is part of a polymer chain ; _item.name '_pdbx_unobs_or_zero_occ_atoms.polymer_flag' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code yes _item_type.code ucode loop_ _item_enumeration.value Y N save_ save__pdbx_unobs_or_zero_occ_atoms.occupancy_flag _item_description.description ; The value of occupancy flag indicates whether the atom is either unobserved (=1) or has zero occupancy (=0) ; _item.name '_pdbx_unobs_or_zero_occ_atoms.occupancy_flag' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code yes _item_type.code int loop_ _item_enumeration.value 1 0 save_ save__pdbx_unobs_or_zero_occ_atoms.PDB_model_num _item_description.description ; Part of the identifier for the unobserved or zero occupancy atom. This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_atoms.PDB_model_num' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_unobs_or_zero_occ_atoms.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_unobs_or_zero_occ_atoms.auth_asym_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy atom. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_atoms.auth_asym_id' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code yes _item_type.code code # _item_linked.child_name '_pdbx_unobs_or_zero_occ_atoms.auth_asym_id' # _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_unobs_or_zero_occ_atoms.auth_atom_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy atom. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_atoms.auth_atom_id' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code yes _item_type.code atcode # _item_linked.child_name '_pdbx_unobs_or_zero_occ_atoms.auth_atom_id' # _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_unobs_or_zero_occ_atoms.auth_comp_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy atom. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_atoms.auth_comp_id' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_unobs_or_zero_occ_atoms.auth_comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_unobs_or_zero_occ_atoms.auth_seq_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy atom. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_atoms.auth_seq_id' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code yes _item_type.code code # _item_linked.child_name '_pdbx_unobs_or_zero_occ_atoms.auth_seq_id' # _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_unobs_or_zero_occ_atoms.PDB_ins_code _item_description.description ; Part of the identifier for the unobserved or zero occupancy atom. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_atoms.PDB_ins_code' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_unobs_or_zero_occ_atoms.PDB_ins_code' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_unobs_or_zero_occ_atoms.label_alt_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy atom. This data item is a pointer to _atom_site.label_alt.id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_atoms.label_alt_id' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_unobs_or_zero_occ_atoms.label_alt_id' # _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_unobs_or_zero_occ_atoms.label_atom_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy atom. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_atoms.label_atom_id' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code no _item_type.code atcode # _item_linked.child_name '_pdbx_unobs_or_zero_occ_atoms.label_atom_id' # _item_linked.parent_name '_atom_site.label_atom_id' save_ save__pdbx_unobs_or_zero_occ_atoms.label_asym_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy atom. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_atoms.label_asym_id' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_unobs_or_zero_occ_atoms.label_asym_id' _item_linked.parent_name '_struct_asym.id' save_ save__pdbx_unobs_or_zero_occ_atoms.label_comp_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy atom. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_atoms.label_comp_id' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_unobs_or_zero_occ_atoms.label_comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_unobs_or_zero_occ_atoms.label_seq_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy atom. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_unobs_or_zero_occ_atoms.label_seq_id' _item.category_id pdbx_unobs_or_zero_occ_atoms _item.mandatory_code no _item_type.code int # _item_linked.child_name '_pdbx_unobs_or_zero_occ_atoms.label_seq_id' # _item_linked.parent_name '_atom_site.label_seq_id' save_ # # #----------------------------------------------------------------- save__atom_site.pdbx_tls_group_id _item_description.description ; The TLS group to which the atom position is assigned. The TLS group is defined in category pdbx_refine_tls. This item is a reference to _pdbx_refine_tls.id. ; _item.name '_atom_site.pdbx_tls_group_id' _item.category_id atom_site _item.mandatory_code no _item_type.code code _item_linked.child_name '_atom_site.pdbx_tls_group_id' _item_linked.parent_name '_pdbx_refine_tls.id' save_ save__atom_site.pdbx_ncs_dom_id _item_description.description ; The NCS domain to which the atom position is assigned. The NCS group is defined in category struct_ncs_dom. This item is a reference to _struct_ncs_dom.id. ; _item.name '_atom_site.pdbx_ncs_dom_id' _item.category_id atom_site _item.mandatory_code no _item_type.code code _item_linked.child_name '_atom_site.pdbx_ncs_dom_id' _item_linked.parent_name '_struct_ncs_dom.id' save_ save__pdbx_struct_assembly.method_details _item_description.description ; Provides details of the method used to determine or compute the assembly. ; _item.name '_pdbx_struct_assembly.method_details' _item.category_id pdbx_struct_assembly _item.mandatory_code no _item_type.code text save_ # save__pdbx_struct_assembly.oligomeric_details _item_description.description ; Provides the details of the oligomeric state of the assembly. ; _item.name '_pdbx_struct_assembly.oligomeric_details' _item.category_id pdbx_struct_assembly _item.mandatory_code no _item_type.code line loop_ _item_examples.case monomer octameric tetradecameric eicosameric 21-meric 60-meric 180-meric helical _pdbx_item_description.name '_pdbx_struct_assembly.oligomeric_details' _pdbx_item_description.description 'Enter the oligomeric state of your system. You may select unknown if you have no biophysical evidence to support any choice.' # # monomeric octameric pentadecameric # dimeric nonameric hexadecameric # trimeric decameric heptadecameric # tetrameric undecameric octadecameric # pentameric dodecameric nonadecameric # hexameric tridecameric eicosameric # heptameric tetradecameric # 21-meric 22-meric 23-meric 24-meric 25-meric 26-meric 27-meric 28-meric 29-meric 30-meric # 31-meric 32-meric 33-meric 34-meric 35-meric 36-meric 37-meric 38-meric 39-meric 40-meric # 41-meric 42-meric 43-meric 44-meric 45-meric 46-meric 47-meric 48-meric 49-meric 50-meric # 51-meric 52-meric 53-meric 54-meric 55-meric 56-meric 57-meric 58-meric 59-meric 60-meric # 62-meric 108-meric 120-meric 180-meric 240-meric # cyclic tetrahedral dihedral octahedral icosahedral # save_ save__pdbx_struct_assembly.oligomeric_count _item_description.description ; The number of polymer molecules in the assembly. ; _item.name '_pdbx_struct_assembly.oligomeric_count' _item.category_id pdbx_struct_assembly _item.mandatory_code no _item_type.code int save_ # ######################### ### PDBX_ENTRY_DETAILS ## ######################### save_pdbx_entry_details _category.description ; Data items in the PDBX_ENTRY_DETAILS category provide additional details about this entry. ; _category.id pdbx_entry_details _category.mandatory_code no _category_key.name '_pdbx_entry_details.entry_id' loop_ _category_group.id 'inclusive_group' 'entry_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; _pdbx_entry_details.entry_id 1ABC _pdbx_entry_details.nonpolymer_details ;Inhibitor VX4A in this entry adopts a highly strained conformation about C32 inorder to fit into the cleft about the active site. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_entry_details.entry_id _item_description.description ; This item identifies the entry. This is a reference to _entry.id. ; _item.name '_pdbx_entry_details.entry_id' _item.category_id pdbx_entry_details _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_entry_details.entry_id' _item_linked.parent_name '_entry.id' save_ save__pdbx_entry_details.nonpolymer_details _item_description.description ; Additional details about the non-polymer components in this entry. ; _item.name '_pdbx_entry_details.nonpolymer_details' _item.category_id pdbx_entry_details _item.mandatory_code no _item_type.code text _pdbx_item_description.name "_pdbx_entry_details.nonpolymer_details" _pdbx_item_description.description "Provide any additional information pertinent to the identity and three-dimensional structure of the ligand" save_ save__pdbx_entry_details.sequence_details _item_description.description ; Additional details about the sequence or sequence database correspondences for this entry. ; _item.name '_pdbx_entry_details.sequence_details' _item.category_id pdbx_entry_details _item.mandatory_code no _item_type.code text _pdbx_item_description.name "_pdbx_entry_details.sequence_details" _pdbx_item_description.description "Details regarding any polymeric sequence in this entry. Any information not otherwise covered by other data items should be entered here." # save_ save__pdbx_entry_details.compound_details _item_description.description ; Additional details about the macromolecular compounds in this entry. ; _item.name '_pdbx_entry_details.compound_details' _item.category_id pdbx_entry_details _item.mandatory_code no _item_type.code text save_ save__pdbx_entry_details.source_details _item_description.description ; Additional details about the source and taxonomy of the macromolecular components in this entry. ; _item.name '_pdbx_entry_details.source_details' _item.category_id pdbx_entry_details _item.mandatory_code no _item_type.code text save_ save__pdbx_entry_details.has_ligand_of_interest _item_description.description ; A flag to indicate if author has indicated that there are any or no ligands that are the focus of research. ; _item.name '_pdbx_entry_details.has_ligand_of_interest' _item.category_id pdbx_entry_details _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail Y 'Ligand of interest present' N 'No ligands of interest present' _item_examples.case Y save_ save__chem_comp.pdbx_processing_site _item_description.description ; This data item identifies the deposition site that processed this chemical component defintion. ; _item.name '_chem_comp.pdbx_processing_site' _item.category_id chem_comp _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value PDBE EBI PDBJ PDBC RCSB save_ ## save_pdbx_struct_mod_residue _category.description ; Data items in the PDBX_STRUCT_MOD_RESIDUE category list the modified polymer components in the entry and provide some details describing the nature of the modification. ; _category.id pdbx_struct_mod_residue _category.mandatory_code no _category_key.name '_pdbx_struct_mod_residue.id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_struct_mod_residue.id _pdbx_struct_mod_residue.auth_asym_id _pdbx_struct_mod_residue.auth_seq_id _pdbx_struct_mod_residue.auth_comp_id _pdbx_struct_mod_residue.PDB_ins_code _pdbx_struct_mod_residue.parent_comp_id _pdbx_struct_mod_residue.details 1 A 66 CRW . ALA "CIRCULARIZED TRI-PEPTIDE CHROMOPHORE" 2 A 66 CRW . SER "CIRCULARIZED TRI-PEPTIDE CHROMOPHORE" 3 A 66 CRW . GLY "CIRCULARIZED TRI-PEPTIDE CHROMOPHORE" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; save_ save__pdbx_struct_mod_residue.id _item_description.description ; The value of _pdbx_struct_mod_residue.id must uniquely identify each item in the PDBX_STRUCT_MOD_RESIDUE list. This is an integer serial number. ; _item.name '_pdbx_struct_mod_residue.id' _item.category_id pdbx_struct_mod_residue _item.mandatory_code yes _item_type.code int save_ save__pdbx_struct_mod_residue.PDB_model_num _item_description.description ; Part of the identifier for the modified polymer component. This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_pdbx_struct_mod_residue.PDB_model_num' _item.category_id pdbx_struct_mod_residue _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_struct_mod_residue.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_struct_mod_residue.auth_asym_id _item_description.description ; Part of the identifier for the modified polymer component. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_mod_residue.auth_asym_id' _item.category_id pdbx_struct_mod_residue _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_mod_residue.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_struct_mod_residue.auth_comp_id _item_description.description ; Part of the identifier for the modified polymer component. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_mod_residue.auth_comp_id' _item.category_id pdbx_struct_mod_residue _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_mod_residue.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_struct_mod_residue.auth_seq_id _item_description.description ; Part of the identifier for the modified polymer component. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_mod_residue.auth_seq_id' _item.category_id pdbx_struct_mod_residue _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_mod_residue.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_struct_mod_residue.PDB_ins_code _item_description.description ; Part of the identifier for the modified polymer component. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_struct_mod_residue.PDB_ins_code' _item.category_id pdbx_struct_mod_residue _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_mod_residue.PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_struct_mod_residue.label_asym_id _item_description.description ; Part of the identifier for the modified polymer component. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_mod_residue.label_asym_id' _item.category_id pdbx_struct_mod_residue _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_mod_residue.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_struct_mod_residue.label_comp_id _item_description.description ; Part of the identifier for the modified polymer component. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_mod_residue.label_comp_id' _item.category_id pdbx_struct_mod_residue _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_struct_mod_residue.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_struct_mod_residue.label_seq_id _item_description.description ; Part of the identifier for the unobserved or zero occupancy residue. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_mod_residue.label_seq_id' _item.category_id pdbx_struct_mod_residue _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_struct_mod_residue.label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_struct_mod_residue.parent_comp_id _item_description.description ; The parent component identifier for this modified polymer component. ; _item.name '_pdbx_struct_mod_residue.parent_comp_id' _item.category_id pdbx_struct_mod_residue _item.mandatory_code no _item_type.code code save_ save__pdbx_struct_mod_residue.details _item_description.description ; Details of the modification for this polymer component. ; _item.name '_pdbx_struct_mod_residue.details' _item.category_id pdbx_struct_mod_residue _item.mandatory_code no _item_type.code text save_ ## ## ################################# # PDBX_STRUCT_REF_SEQ_INSERTION # ################################# save_pdbx_struct_ref_seq_insertion _category.description ; Data items in the PDBX_STRUCT_REF_SEQ_INSERTION category annotate insertions in the sequence of the entity described in the referenced database entry. ; _category.id pdbx_struct_ref_seq_insertion _category.mandatory_code no _category_key.name '_pdbx_struct_ref_seq_insertion.id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_struct_ref_seq_insertion.id _pdbx_struct_ref_seq_insertion.comp_id _pdbx_struct_ref_seq_insertion.asym_id _pdbx_struct_ref_seq_insertion.seq_id _pdbx_struct_ref_seq_insertion.auth_asym_id _pdbx_struct_ref_seq_insertion.auth_seq_id _pdbx_struct_ref_seq_insertion.PDB_ins_code _pdbx_struct_ref_seq_insertion.db_name _pdbx_struct_ref_seq_insertion.db_code _pdbx_struct_ref_seq_insertion.details 1 GLY A 102 A 104 . UNP P00752 'INSERTION' 2 TRP A 103 A 105 . UNP P00752 'INSERTION' ; save_ save__pdbx_struct_ref_seq_insertion.id _item_description.description ; The value of _pdbx_struct_ref_seq_insertion.id must uniquely identify a record in the PDBX_STRUCT_REF_SEQ_INSERTION list. ; _item.name '_pdbx_struct_ref_seq_insertion.id' _item.category_id pdbx_struct_ref_seq_insertion _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_ref_seq_insertion.comp_id _item_description.description ; Part of the identifier of the inserted residue. This data item is a pointer to _pdbx_poly_seq_scheme.mon_id in the PDBX_POLY_SEQ_SCHEME category. ; _item.name '_pdbx_struct_ref_seq_insertion.comp_id' _item.category_id pdbx_struct_ref_seq_insertion _item.mandatory_code yes _item_type.code ucode _item_linked.parent_name '_pdbx_poly_seq_scheme.mon_id' _item_linked.child_name '_pdbx_struct_ref_seq_insertion.comp_id' save_ save__pdbx_struct_ref_seq_insertion.asym_id _item_description.description ; Part of the identifier of the inserted residue. This data item is a pointer to _pdbx_poly_seq_scheme.asym_id in the PDBX_POLY_SEQ_SCHEME category. ; _item.name '_pdbx_struct_ref_seq_insertion.asym_id' _item.category_id pdbx_struct_ref_seq_insertion _item.mandatory_code yes _item_type.code code _item_linked.parent_name '_pdbx_poly_seq_scheme.asym_id' _item_linked.child_name '_pdbx_struct_ref_seq_insertion.asym_id' save_ save__pdbx_struct_ref_seq_insertion.auth_asym_id _item_description.description ; Part of the author identifier of the inserted residue. This data item is a pointer to _pdbx_poly_seq_scheme.pdb_strand_id in the PDBX_POLY_SEQ_SCHEME category. ; _item.name '_pdbx_struct_ref_seq_insertion.auth_asym_id' _item.category_id pdbx_struct_ref_seq_insertion _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_poly_seq_scheme.pdb_strand_id' _item_linked.child_name '_pdbx_struct_ref_seq_insertion.auth_asym_id' save_ save__pdbx_struct_ref_seq_insertion.auth_seq_id _item_description.description ; Part of the author identifier of the inserted residue. This data item is a pointer to _pdbx_poly_seq_scheme.auth_seq_num in the PDBX_POLY_SEQ_SCHEME category. ; _item.name '_pdbx_struct_ref_seq_insertion.auth_seq_id' _item.category_id pdbx_struct_ref_seq_insertion _item.mandatory_code yes _item_type.code code _item_linked.parent_name '_pdbx_poly_seq_scheme.auth_seq_num' _item_linked.child_name '_pdbx_struct_ref_seq_insertion.auth_seq_id' save_ save__pdbx_struct_ref_seq_insertion.seq_id _item_description.description ; Part of the author identifier of the inserted residue. This data item is a pointer to _pdbx_poly_seq_scheme.seq_id in the PDBX_POLY_SEQ_SCHEME category. ; _item.name '_pdbx_struct_ref_seq_insertion.seq_id' _item.category_id pdbx_struct_ref_seq_insertion _item.mandatory_code yes _item_type.code int _item_linked.parent_name '_pdbx_poly_seq_scheme.seq_id' _item_linked.child_name '_pdbx_struct_ref_seq_insertion.seq_id' save_ save__pdbx_struct_ref_seq_insertion.PDB_ins_code _item_description.description ; Part of the author identifier of the inserted residue. This data item is a pointer to _pdbx_poly_seq_scheme.pdb_ins_code in the PDBX_POLY_SEQ_SCHEME category. ; _item.name '_pdbx_struct_ref_seq_insertion.PDB_ins_code' _item.category_id pdbx_struct_ref_seq_insertion _item.mandatory_code no _item_type.code code _item_linked.parent_name '_pdbx_poly_seq_scheme.pdb_ins_code' _item_linked.child_name '_pdbx_struct_ref_seq_insertion.PDB_ins_code' save_ save__pdbx_struct_ref_seq_insertion.details _item_description.description ; A description of any special aspects of the insertion ; _item.name '_pdbx_struct_ref_seq_insertion.details' _item.category_id pdbx_struct_ref_seq_insertion _item.mandatory_code no _item_type.code text save_ save__pdbx_struct_ref_seq_insertion.db_code _item_description.description ; The code for this entity or biological unit or for a closely related entity or biological unit in the named database. ; _item.name '_pdbx_struct_ref_seq_insertion.db_code' _item.category_id pdbx_struct_ref_seq_insertion _item.mandatory_code yes _item_type.code line save_ save__pdbx_struct_ref_seq_insertion.db_name _item_description.description ; The name of the database containing reference information about this entity or biological unit. ; _item.name '_pdbx_struct_ref_seq_insertion.db_name' _item.category_id pdbx_struct_ref_seq_insertion _item.mandatory_code yes _item_type.code line save_ ################################ # PDBX_STRUCT_REF_SEQ_DELETION # ################################ save_pdbx_struct_ref_seq_deletion _category.description ; Data items in the PDBX_STRUCT_REF_SEQ_INSERTION category annotate deletions in the sequence of the entity described in the referenced database entry. ; _category.id pdbx_struct_ref_seq_deletion _category.mandatory_code no _category_key.name '_pdbx_struct_ref_seq_deletion.id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_struct_ref_seq_deletion.id _pdbx_struct_ref_seq_deletion.details _pdbx_struct_ref_seq_deletion.asym_id _pdbx_struct_ref_seq_deletion.comp_id _pdbx_struct_ref_seq_deletion.db_seq_id _pdbx_struct_ref_seq_deletion.db_code _pdbx_struct_ref_seq_deletion.db_name 1 . A LEU 23 P15456 UNP 1 . A THR 24 P15456 UNP 1 . A GLN 25 P15456 UNP ; save_ save__pdbx_struct_ref_seq_deletion.id _item_description.description ; The value of _pdbx_struct_ref_seq_deletion.id must uniquely identify a record in the PDBX_STRUCT_REF_SEQ_DELETION list. ; _item.name '_pdbx_struct_ref_seq_deletion.id' _item.category_id pdbx_struct_ref_seq_deletion _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_ref_seq_deletion.details _item_description.description ; A description of any special aspects of the deletion ; _item.name '_pdbx_struct_ref_seq_deletion.details' _item.category_id pdbx_struct_ref_seq_deletion _item.mandatory_code no _item_type.code text save_ save__pdbx_struct_ref_seq_deletion.asym_id _item_description.description ; Identifies the polymer entity instance in this entry corresponding to the reference sequence in which the deletion is specified. This data item is a pointer to _pdbx_poly_seq_scheme.asym_id in the PDBX_POLY_SEQ_SCHEME category. ; _item.name '_pdbx_struct_ref_seq_deletion.asym_id' _item.category_id pdbx_struct_ref_seq_deletion _item.mandatory_code yes _item_type.code code _item_linked.parent_name '_pdbx_poly_seq_scheme.asym_id' _item_linked.child_name '_pdbx_struct_ref_seq_deletion.asym_id' save_ save__pdbx_struct_ref_seq_deletion.comp_id _item_description.description ; The monomer name found at this position in the referenced database entry. ; _item.name '_pdbx_struct_ref_seq_deletion.comp_id' _item.category_id pdbx_struct_ref_seq_deletion _item.mandatory_code yes _item_type.code ucode save_ save__pdbx_struct_ref_seq_deletion.db_seq_id _item_description.description ; This data item is the database sequence numbering of the deleted residue ; _item.name '_pdbx_struct_ref_seq_deletion.db_seq_id' _item.category_id pdbx_struct_ref_seq_deletion _item.mandatory_code yes _item_type.code int save_ save__pdbx_struct_ref_seq_deletion.db_code _item_description.description ; The code for this entity or biological unit or for a closely related entity or biological unit in the named database. ; _item.name '_pdbx_struct_ref_seq_deletion.db_code' _item.category_id pdbx_struct_ref_seq_deletion _item.mandatory_code yes _item_type.code line save_ save__pdbx_struct_ref_seq_deletion.db_name _item_description.description ; The name of the database containing reference information about this entity or biological unit. ; _item.name '_pdbx_struct_ref_seq_deletion.db_name' _item.category_id pdbx_struct_ref_seq_deletion _item.mandatory_code yes _item_type.code line save_ ## ## ######################################## ## PDBX_REMEDIATION_ATOM_SITE_MAPPING ## ######################################## save_pdbx_remediation_atom_site_mapping _category.description ; Data items in the PDBX_REMEDIATION_ATOM_SITE_MAPPING category records mapping information between selected molecular entities that have been chemically redefined. The prior and current atom nomenclature is tabulated in this category. ; _category.id 'pdbx_remediation_atom_site_mapping' _category.mandatory_code no _category_key.name '_pdbx_remediation_atom_site_mapping.id' loop_ _category_group.id 'inclusive_group' 'atom_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example component QUA ; ; loop_ _pdbx_remediation_atom_site_mapping.id _pdbx_remediation_atom_site_mapping.group_PDB _pdbx_remediation_atom_site_mapping.pdbx_align _pdbx_remediation_atom_site_mapping.label_atom_id _pdbx_remediation_atom_site_mapping.label_comp_id _pdbx_remediation_atom_site_mapping.label_asym_id _pdbx_remediation_atom_site_mapping.label_seq_id _pdbx_remediation_atom_site_mapping.label_alt_id _pdbx_remediation_atom_site_mapping.PDB_ins_code _pdbx_remediation_atom_site_mapping.pre_group_PDB _pdbx_remediation_atom_site_mapping.pre_pdbx_align _pdbx_remediation_atom_site_mapping.pre_auth_atom_id _pdbx_remediation_atom_site_mapping.pre_auth_comp_id _pdbx_remediation_atom_site_mapping.pre_auth_asym_id _pdbx_remediation_atom_site_mapping.pre_auth_seq_id _pdbx_remediation_atom_site_mapping.pre_auth_alt_id _pdbx_remediation_atom_site_mapping.pre_PDB_ins_code _pdbx_remediation_atom_site_mapping.auth_atom_id _pdbx_remediation_atom_site_mapping.auth_comp_id _pdbx_remediation_atom_site_mapping.auth_asym_id _pdbx_remediation_atom_site_mapping.auth_seq_id _pdbx_remediation_atom_site_mapping.auth_alt_id 1 HETATM 1 O12 QUA C 0 . . HETATM 1 O12 QUA C 7 . . O12 QUA C 7 . 2 HETATM 1 C11 QUA C 0 . . HETATM 1 C11 QUA C 7 . . C11 QUA C 7 . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_remediation_atom_site_mapping save_ save__pdbx_remediation_atom_site_mapping.id _item_description.description ; The value of pdbx_remediation_atom_site_mapping.id must uniquely identify a record in the PDBX_REMEDIATION_ATOM_SITE_MAPPING list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_pdbx_remediation_atom_site_mapping.id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code yes _item_type.code code save_ save__pdbx_remediation_atom_site_mapping.group_PDB _item_description.description ; The PDB group of atoms to which the atom site belongs. ; _item.name '_pdbx_remediation_atom_site_mapping.group_PDB' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value ATOM HETATM save_ save__pdbx_remediation_atom_site_mapping.label_alt_id _item_description.description ; A component of the atom_site identifier. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.label_alt_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_remediation_atom_site_mapping.label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_remediation_atom_site_mapping.label_asym_id _item_description.description ; A component of the atom_site identifier. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.label_asym_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_remediation_atom_site_mapping.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_remediation_atom_site_mapping.label_atom_id _item_description.description ; A component of the atom_site identifier. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.label_atom_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_remediation_atom_site_mapping.label_atom_id' _item_linked.parent_name '_atom_site.label_atom_id' save_ save__pdbx_remediation_atom_site_mapping.label_comp_id _item_description.description ; A component of the atom_site identifier. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.label_comp_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_remediation_atom_site_mapping.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_remediation_atom_site_mapping.label_seq_id _item_description.description ; A component of the atom_site identifier. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.label_seq_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_remediation_atom_site_mapping.label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_remediation_atom_site_mapping.pdbx_align _item_description.description ; An optional alignment flag. ; _item.name '_pdbx_remediation_atom_site_mapping.pdbx_align' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code int save_ save__pdbx_remediation_atom_site_mapping.PDB_ins_code _item_description.description ; Optional atom_site identifier. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.PDB_ins_code' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_remediation_atom_site_mapping.PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ ## ## save__pdbx_remediation_atom_site_mapping.pre_auth_asym_id _item_description.description ; A component of the prior atom_site identifier. This data item corresponds to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.pre_auth_asym_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code code save_ save__pdbx_remediation_atom_site_mapping.pre_auth_atom_id _item_description.description ; A component of the prior atom_site identifier. This data item corrresponds to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.pre_auth_atom_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code atcode save_ save__pdbx_remediation_atom_site_mapping.pre_auth_comp_id _item_description.description ; A component of the prior atom_site identifier. This data item corresponds to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.pre_auth_comp_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code code save_ save__pdbx_remediation_atom_site_mapping.pre_auth_seq_id _item_description.description ; A component of the prior atom_site identifier. This data item corresponds to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.pre_auth_seq_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code code save_ save__pdbx_remediation_atom_site_mapping.pre_PDB_ins_code _item_description.description ; A component of the prior atom_site identifier. This data item corresponds to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.pre_PDB_ins_code' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code code save_ save__pdbx_remediation_atom_site_mapping.pre_group_PDB _item_description.description ; A component of the prior atom_site identifier. This item corresponds to the PDB group of atoms to which the atom site belongs. ; _item.name '_pdbx_remediation_atom_site_mapping.pre_group_PDB' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value ATOM HETATM save_ save__pdbx_remediation_atom_site_mapping.pre_auth_alt_id _item_description.description ; A component of the prior atom_site identifier. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.pre_auth_alt_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code code save_ save__pdbx_remediation_atom_site_mapping.pre_pdbx_align _item_description.description ; An optional alignment flag. ; _item.name '_pdbx_remediation_atom_site_mapping.pre_pdbx_align' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code int save_ # save__pdbx_remediation_atom_site_mapping.auth_asym_id _item_description.description ; A component of the current atom_site identifier. This data item corresponds to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.auth_asym_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_remediation_atom_site_mapping.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_remediation_atom_site_mapping.auth_atom_id _item_description.description ; A component of the current atom_site identifier. This data item corrresponds to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.auth_atom_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_pdbx_remediation_atom_site_mapping.auth_atom_id' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_remediation_atom_site_mapping.auth_comp_id _item_description.description ; A component of the current atom_site identifier. This data item corresponds to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.auth_comp_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_remediation_atom_site_mapping.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_remediation_atom_site_mapping.auth_seq_id _item_description.description ; A component of the current atom_site identifier. This data item corresponds to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_remediation_atom_site_mapping.auth_seq_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_remediation_atom_site_mapping.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_remediation_atom_site_mapping.auth_alt_id _item_description.description ; A component of the current atom_site identifier labeling alternate locations. ; _item.name '_pdbx_remediation_atom_site_mapping.auth_alt_id' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_remediation_atom_site_mapping.auth_alt_id' # _item_linked.parent_name '_atom_site.pdbx_auth_alt_id' save_ save__pdbx_remediation_atom_site_mapping.occupancy _item_description.description ; The fraction of the atom type present at the current atom site. ; _item.name '_pdbx_remediation_atom_site_mapping.occupancy' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code float save_ save__pdbx_remediation_atom_site_mapping.pre_occupancy _item_description.description ; The fraction of the atom type present for the prior atom site. ; _item.name '_pdbx_remediation_atom_site_mapping.pre_occupancy' _item.category_id pdbx_remediation_atom_site_mapping _item.mandatory_code no _item_type.code float save_ ## ## save__refine.pdbx_TLS_residual_ADP_flag _item_description.description ; A flag for TLS refinements identifying the type of atomic displacement parameters stored in _atom_site.B_iso_or_equiv. ; _item.name '_refine.pdbx_TLS_residual_ADP_flag' _item.category_id refine _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'LIKELY RESIDUAL' 'Residual B values (excluding TLS contributions) are likely specified for some or all atom sites' 'UNVERIFIED' . save_ #save__refine.pdbx_adp_type # _item_description.description #; A code describing the type of atomic displacement parameters used stored # in _atom_site.B_iso_or_equiv. # #; # _item.name '_refine.pdbx_adp_type' # _item.category_id refine # _item.mandatory_code no # _item_type.code code # loop_ # _item_enumeration.value # _item_enumeration.detail # 'FULL' 'Full Isotropic B values specified for all atom sites' # 'RESIDUAL' 'Residual B values (excluding TLS contributions) specified for some or all atom sites' # save_ # save__diffrn_radiation.pdbx_scattering_type _item_description.description ; The radiation scattering type for this diffraction data set. ; _item.name '_diffrn_radiation.pdbx_scattering_type' _item.category_id diffrn_radiation _item.mandatory_code no _pdbx_item.name "_diffrn_radiation.pdbx_scattering_type" _pdbx_item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'x-ray' 'neutron' 'electron' save_ save__refln.pdbx_diffrn_id _item_description.description ; An optional identifier for the diffraction data set containing this reflection. ; _item.name '_refln.pdbx_diffrn_id' _item.category_id refln _item.mandatory_code no _item_type.code code _item_linked.child_name '_refln.pdbx_diffrn_id' _item_linked.parent_name '_diffrn.id' save_ save__reflns.pdbx_diffrn_id _item_description.description ; An identifier for the diffraction data set for this set of summary statistics. Multiple diffraction data sets entered as a comma separated list. ; _item.name '_reflns.pdbx_diffrn_id' _item.category_id reflns _item.mandatory_code yes _item_type.code code # _item_linked.child_name '_reflns.pdbx_diffrn_id' # _item_linked.parent_name '_diffrn.id' save_ save__refine.pdbx_diffrn_id _item_description.description ; An identifier for the diffraction data set used in this refinement. Multiple diffraction data sets specified as a comma separated list. ; _item.name '_refine.pdbx_diffrn_id' _item.category_id refine _item.mandatory_code no _item_type.code code # _item_linked.child_name '_refine.pdbx_diffrn_id' # _item_linked.parent_name '_diffrn.id' save_ save__reflns_shell.pdbx_ordinal _item_description.description ; An ordinal identifier for this resolution shell. ; _item.name '_reflns_shell.pdbx_ordinal' _item.category_id reflns_shell _item.mandatory_code yes _item_type.code int save_ save__reflns.pdbx_ordinal _item_description.description ; An ordinal identifier for this set of reflection statistics. ; _item.name '_reflns.pdbx_ordinal' _item.category_id reflns _item.mandatory_code yes _item_type.code int save_ save__reflns_shell.pdbx_diffrn_id _item_description.description ; An identifier for the diffraction data set corresponding to this resolution shell. Multiple diffraction data sets specified as a comma separated list. ; _item.name '_reflns_shell.pdbx_diffrn_id' _item.category_id reflns_shell _item.mandatory_code no _item_type.code code # _item_linked.child_name '_reflns_shell.pdbx_diffrn_id' # _item_linked.parent_name '_diffrn.id' save_ ## ################################### ## PDBX_VALIDATE_POLYMER_LINKAGE ## ################################### save_pdbx_validate_polymer_linkage _category.description ; Data items in the PDBX_VALIDATE_POLYMER_LINKAGE category list the polymer linkages within the entry that are outside of typlical covalent distances. ; _category.id pdbx_validate_polymer_linkage _category.mandatory_code no _category_key.name '_pdbx_validate_polymer_linkage.id' loop_ _category_group.id 'inclusive_group' 'validate_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_validate_polymer_linkage.id _pdbx_validate_polymer_linkage.PDB_model_num _pdbx_validate_polymer_linkage.auth_atom_id_1 _pdbx_validate_polymer_linkage.auth_asym_id_1 _pdbx_validate_polymer_linkage.auth_comp_id_1 _pdbx_validate_polymer_linkage.auth_seq_id_1 _pdbx_validate_polymer_linkage.PDB_ins_code_1 _pdbx_validate_polymer_linkage.label_alt_id_1 _pdbx_validate_polymer_linkage.auth_atom_id_2 _pdbx_validate_polymer_linkage.auth_asym_id_2 _pdbx_validate_polymer_linkage.auth_comp_id_2 _pdbx_validate_polymer_linkage.auth_seq_id_2 _pdbx_validate_polymer_linkage.PDB_ins_code_2 _pdbx_validate_polymer_linkage.label_alt_id_2 _pdbx_validate_polymer_linkage.dist 1 1 . B VAL 107 . . . B ARG 108 . . 3.16 2 1 . B ARG 110 . . . B LYS 110 . . 2.95 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_validate_polymer_linkage.id _item_description.description ; The value of _pdbx_validate_polymer_linkage.id must uniquely identify each item in the PDBX_VALIDATE_POLYMER_LINKAGE list. This is an integer serial number. ; _item.name '_pdbx_validate_polymer_linkage.id' _item.category_id pdbx_validate_polymer_linkage _item.mandatory_code yes _item_type.code int save_ save__pdbx_validate_polymer_linkage.PDB_model_num _item_description.description ; The model number for the given linkage ; _item.name '_pdbx_validate_polymer_linkage.PDB_model_num' _item.category_id pdbx_validate_polymer_linkage _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_validate_polymer_linkage.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_validate_polymer_linkage.auth_asym_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the linkage. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_polymer_linkage.auth_asym_id_1' _item.category_id pdbx_validate_polymer_linkage _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_polymer_linkage.auth_asym_id_1' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_polymer_linkage.auth_atom_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the linkage. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_polymer_linkage.auth_atom_id_1' _item.category_id pdbx_validate_polymer_linkage _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_validate_polymer_linkage.auth_atom_id_1' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_validate_polymer_linkage.auth_comp_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the linkage. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_polymer_linkage.auth_comp_id_1' _item.category_id pdbx_validate_polymer_linkage _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_polymer_linkage.auth_comp_id_1' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_polymer_linkage.auth_seq_id_1 _item_description.description ; Part of the identifier of the first of the two atom sites that define the linkage. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_polymer_linkage.auth_seq_id_1' _item.category_id pdbx_validate_polymer_linkage _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_polymer_linkage.auth_seq_id_1' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_polymer_linkage.auth_atom_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the linkage. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_polymer_linkage.auth_atom_id_2' _item.category_id pdbx_validate_polymer_linkage _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_validate_polymer_linkage.auth_atom_id_2' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_validate_polymer_linkage.auth_asym_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the linkage. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_polymer_linkage.auth_asym_id_2' _item.category_id pdbx_validate_polymer_linkage _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_polymer_linkage.auth_asym_id_2' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_validate_polymer_linkage.auth_comp_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the linkage. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_polymer_linkage.auth_comp_id_2' _item.category_id pdbx_validate_polymer_linkage _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_polymer_linkage.auth_comp_id_2' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_validate_polymer_linkage.auth_seq_id_2 _item_description.description ; Part of the identifier of the second of the two atom sites that define the linkage. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_polymer_linkage.auth_seq_id_2' _item.category_id pdbx_validate_polymer_linkage _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_validate_polymer_linkage.auth_seq_id_2' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_validate_polymer_linkage.PDB_ins_code_1 _item_description.description ; Optional identifier of the first of the two atom sites that define the linkage. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_polymer_linkage.PDB_ins_code_1' _item.category_id pdbx_validate_polymer_linkage _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_polymer_linkage.PDB_ins_code_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_polymer_linkage.PDB_ins_code_2 _item_description.description ; Optional identifier of the second of the two atom sites that define the linkage. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_validate_polymer_linkage.PDB_ins_code_2' _item.category_id pdbx_validate_polymer_linkage _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_validate_polymer_linkage.PDB_ins_code_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_validate_polymer_linkage.label_alt_id_1 _item_description.description ; An optional identifier of the first of the two atoms that define the linkage. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_polymer_linkage.label_alt_id_1' _item.mandatory_code no _item.category_id pdbx_validate_polymer_linkage _item_type.code code _item_linked.child_name '_pdbx_validate_polymer_linkage.label_alt_id_1' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_polymer_linkage.label_alt_id_2 _item_description.description ; An optional identifier of the second of the two atoms that define the linkage. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_validate_polymer_linkage.label_alt_id_2' _item.mandatory_code no _item.category_id pdbx_validate_polymer_linkage _item_type.code code _item_linked.child_name '_pdbx_validate_polymer_linkage.label_alt_id_2' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_validate_polymer_linkage.dist _item_description.description ; The value of the polymer linkage for the two atoms defined. ; _item.name '_pdbx_validate_polymer_linkage.dist' _item.category_id pdbx_validate_polymer_linkage _item.mandatory_code yes _item_type.code float _item_units.code angstroms save_ ########################### ## PDBX_HELICAL_SYMMETRY ## ########################### save_pdbx_helical_symmetry _category.description ; Data items in the PDBX_HELICAL_SYMMETRY category record details about the helical symmetry group associated with this entry. ; _category.id pdbx_helical_symmetry _category.mandatory_code no _category_key.name '_pdbx_helical_symmetry.entry_id' loop_ _category_group.id 'inclusive_group' 'symmetry_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_helical_symmetry.entry_id '1ABC' _pdbx_helical_symmetry.number_of_operations 35 _pdbx_helical_symmetry.rotation_per_n_subunits 131.84 _pdbx_helical_symmetry.rise_per_n_subunits 6.10 _pdbx_helical_symmetry.n_subunits_divisor 1 _pdbx_helical_symmetry.dyad_axis no _pdbx_helical_symmetry.circular_symmetry 1 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_helical_symmetry.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_pdbx_helical_symmetry.entry_id' _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_helical_symmetry.entry_id' _item_linked.parent_name '_entry.id' save_ save__pdbx_helical_symmetry.number_of_operations _item_description.description ; Number of operations. ; _item.name '_pdbx_helical_symmetry.number_of_operations' _item.category_id pdbx_helical_symmetry _item.mandatory_code yes _item_type.code int loop_ _item_range.maximum _item_range.minimum . 1 1 1 save_ save__pdbx_helical_symmetry.rotation_per_n_subunits _item_description.description ; Angular rotation (degrees) in N subunits ; _item.name '_pdbx_helical_symmetry.rotation_per_n_subunits' _item.category_id pdbx_helical_symmetry _item.mandatory_code yes _item_type.code float _item_units.code degrees _pdbx_item_description.name "_pdbx_helical_symmetry.rotation_per_n_subunits" _pdbx_item_description.description "Enter the rotation angle around the helical axis per asymmetric unit" save_ save__pdbx_helical_symmetry.rise_per_n_subunits _item_description.description ; Angular rotation (degrees) in N subunits ; _item.name '_pdbx_helical_symmetry.rise_per_n_subunits' _item.category_id pdbx_helical_symmetry _item.mandatory_code yes _item_type.code float _item_units.code angstroms _pdbx_item_description.name "_pdbx_helical_symmetry.rise_per_n_subunits" _pdbx_item_description.description "Enter the value for translation along the helical axis" save_ save__pdbx_helical_symmetry.n_subunits_divisor _item_description.description ; Number of subunits used in the calculation of rise and rotation. ; _item.name '_pdbx_helical_symmetry.n_subunits_divisor' _item.category_id pdbx_helical_symmetry _item.mandatory_code yes _item_type.code int loop_ _item_range.maximum _item_range.minimum . 1 1 1 save_ save__pdbx_helical_symmetry.dyad_axis _item_description.description ; Two-fold symmetry perpendicular to the helical axis. ; _item.name '_pdbx_helical_symmetry.dyad_axis' _item.category_id pdbx_helical_symmetry _item.mandatory_code yes _item_type.code code _pdbx_item_description.name '_pdbx_helical_symmetry.dyad_axis' _pdbx_item_description.description 'Is there a dyad axis (perpendicular to the helical axis) present' loop_ _item_enumeration.value 'no' 'yes' save_ save__pdbx_helical_symmetry.circular_symmetry _item_description.description ; Rotational n-fold symmetry about the helical axis. ; _item.name '_pdbx_helical_symmetry.circular_symmetry' _item.category_id pdbx_helical_symmetry _item.mandatory_code yes _item_type.code int loop_ _item_range.maximum _item_range.minimum . 1 1 1 _pdbx_item_description.name '_pdbx_helical_symmetry.circular_symmetry' _pdbx_item_description.description 'Enter the value for cyclic symmetry around the helical axis' save_ ######################### ## PDBX_POINT_SYMMETRY ## ######################### save_pdbx_point_symmetry _category.description ; Data items in the PDBX_POINT_SYMMETRY category record details about the point symmetry group associated with this entry. ; _category.id pdbx_point_symmetry _category.mandatory_code no _category_key.name '_pdbx_point_symmetry.entry_id' loop_ _category_group.id 'inclusive_group' 'symmetry_group' 'pdbx_group' _pdbx_category_description.id pdbx_point_symmetry _pdbx_category_description.description "Choose the point symmetry that denotes the correct component symmetry" loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_point_symmetry.entry_id 1ABC _pdbx_point_symmetry.Schoenflies_symbol I _pdbx_point_symmetry.H-M_notation 532 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_point_symmetry.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_pdbx_point_symmetry.entry_id' _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_point_symmetry.entry_id' _item_linked.parent_name '_entry.id' save_ save__pdbx_point_symmetry.Schoenflies_symbol _item_description.description ; The Schoenflies point symmetry symbol. ; _item.name '_pdbx_point_symmetry.Schoenflies_symbol' _item.category_id pdbx_point_symmetry _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value 'I' 'O' 'T' 'C' 'D' save_ save__pdbx_point_symmetry.circular_symmetry _item_description.description ; Rotational n-fold C and D point symmetry. ; _item.name '_pdbx_point_symmetry.circular_symmetry' _item.category_id pdbx_point_symmetry _item.mandatory_code no _item_type.code int loop_ _item_range.maximum _item_range.minimum . 1 1 1 save_ save__pdbx_point_symmetry.H-M_notation _item_description.description ; The Hermann-Mauguin notation for this point symmetry group. ; _item.name '_pdbx_point_symmetry.H-M_notation' _item.category_id pdbx_point_symmetry _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'I -> 532' 'O -> 432' 'T -> 23' 'Cn -> n (e.g. C5 -> 5)' 'Dn -> n22 (n even)' 'Dn -> n2 (n odd)' save_ ############################# ## PDBX_STRUCT_ENTITY_INST ## ############################# save_pdbx_struct_entity_inst _category.description ; Data items in the PDBX_STRUCT_ENTITY_INST category record details about the structural elements in the deposited entry. The entity instance is a method neutral identifier for the observed molecular entities in the deposited coordinate set. ; _category.id pdbx_struct_entity_inst _category.mandatory_code no _category_key.name '_pdbx_struct_entity_inst.id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_struct_entity_inst.id _pdbx_struct_entity_inst.entity_id _pdbx_struct_entity_inst.details A 1 'one monomer of the dimeric enzyme' B 1 'one monomer of the dimeric enzyme' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_entity_inst.details _item_description.description ; A description of special aspects of this portion of the contents of the deposited unit. ; _item.name '_pdbx_struct_entity_inst.details' _item.category_id pdbx_struct_entity_inst _item.mandatory_code no _item_type.code text _item_examples.case ; The drug binds to this enzyme in two roughly twofold symmetric modes. Hence this biological unit (3) is roughly twofold symmetric to biological unit (2). Disorder in the protein chain indicated with alternative ID 2 should be used with this biological unit. ; save_ save__pdbx_struct_entity_inst.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_pdbx_struct_entity_inst.entity_id' _item.mandatory_code no _item_linked.child_name '_pdbx_struct_entity_inst.entity_id' _item_linked.parent_name '_entity.id' save_ save__pdbx_struct_entity_inst.id _item_description.description ; The value of _pdbx_struct_entity_inst.id must uniquely identify a record in the PDBX_STRUCT_ENTITY_INST list. The entity instance is a method neutral identifier for the observed molecular entities in the deposited coordinate set. ; loop_ _item.name _item.category_id _item.mandatory_code '_pdbx_struct_entity_inst.id' pdbx_struct_entity_inst yes # # '_atom_site.pdbx_entity_inst_id' atom_site no # '_geom_angle.pdbx_entity_inst_id_1' geom_angle no # '_geom_angle.pdbx_entity_inst_id_2' geom_angle no # '_geom_angle.pdbx_entity_inst_id_3' geom_angle no # '_geom_bond.pdbx_entity_inst_id_1' geom_bond no # '_geom_bond.pdbx_entity_inst_id_2' geom_bond no # '_geom_contact.pdbx_entity_inst_id_1' geom_contact no # '_geom_contact.pdbx_entity_inst_id_2' geom_contact no # '_geom_hbond.pdbx_entity_inst_id_A' geom_hbond no # '_geom_hbond.pdbx_entity_inst_id_D' geom_hbond no # '_geom_hbond.pdbx_entity_inst_id_H' geom_hbond no # '_geom_torsion.pdbx_entity_inst_id_1' geom_torsion no # '_geom_torsion.pdbx_entity_inst_id_2' geom_torsion no # '_geom_torsion.pdbx_entity_inst_id_3' geom_torsion no # '_geom_torsion.pdbx_entity_inst_id_4' geom_torsion no # '_struct_biol_gen.pdbx_entity_inst_id' struct_biol_gen no # '_struct_conf.beg_pdbx_entity_inst_id' struct_conf no # '_struct_conf.end_pdbx_entity_inst_id' struct_conf no # '_struct_conn.ptnr1_pdbx_entity_inst_id' struct_conn no # '_struct_conn.ptnr2_pdbx_entity_inst_id' struct_conn no # '_struct_mon_nucl.pdbx_entity_inst_id' struct_mon_nucl no # '_struct_mon_prot.pdbx_entity_inst_id' struct_mon_prot no # '_struct_mon_prot_cis.pdbx_entity_inst_id' struct_mon_prot_cis no # '_struct_ncs_dom_lim.beg_pdbx_entity_inst_id' struct_ncs_dom_lim no # '_struct_ncs_dom_lim.end_pdbx_entity_inst_id' struct_ncs_dom_lim no # '_struct_sheet_range.beg_pdbx_entity_inst_id' struct_sheet_range no # '_struct_sheet_range.end_pdbx_entity_inst_id' struct_sheet_range no # '_struct_site_gen.pdbx_entity_inst_id' struct_site_gen no # loop_ # _item_linked.child_name # _item_linked.parent_name # '_atom_site.pdbx_entity_inst_id' '_pdbx_struct_entity_inst.id' # '_struct_biol_gen.pdbx_entity_inst_id' '_pdbx_struct_entity_inst.id' # '_geom_angle.pdbx_entity_inst_id_1' '_atom_site.pdbx_entity_inst_id' # '_geom_angle.pdbx_entity_inst_id_2' '_atom_site.pdbx_entity_inst_id' # '_geom_angle.pdbx_entity_inst_id_3' '_atom_site.pdbx_entity_inst_id' # '_geom_bond.pdbx_entity_inst_id_1' '_atom_site.pdbx_entity_inst_id' # '_geom_bond.pdbx_entity_inst_id_2' '_atom_site.pdbx_entity_inst_id' # '_geom_contact.pdbx_entity_inst_id_1' '_atom_site.pdbx_entity_inst_id' # '_geom_contact.pdbx_entity_inst_id_2' '_atom_site.pdbx_entity_inst_id' # '_geom_hbond.pdbx_entity_inst_id_A' '_atom_site.pdbx_entity_inst_id' # '_geom_hbond.pdbx_entity_inst_id_D' '_atom_site.pdbx_entity_inst_id' # '_geom_hbond.pdbx_entity_inst_id_H' '_atom_site.pdbx_entity_inst_id' # '_geom_torsion.pdbx_entity_inst_id_1' '_atom_site.pdbx_entity_inst_id' # '_geom_torsion.pdbx_entity_inst_id_2' '_atom_site.pdbx_entity_inst_id' # '_geom_torsion.pdbx_entity_inst_id_3' '_atom_site.pdbx_entity_inst_id' # '_geom_torsion.pdbx_entity_inst_id_4' '_atom_site.pdbx_entity_inst_id' # '_struct_conf.beg_pdbx_entity_inst_id' '_atom_site.pdbx_entity_inst_id' # '_struct_conf.end_pdbx_entity_inst_id' '_atom_site.pdbx_entity_inst_id' # '_struct_conn.ptnr1_pdbx_entity_inst_id' '_atom_site.pdbx_entity_inst_id' # '_struct_conn.ptnr2_pdbx_entity_inst_id' '_atom_site.pdbx_entity_inst_id' # '_struct_mon_nucl.pdbx_entity_inst_id' '_atom_site.pdbx_entity_inst_id' # '_struct_mon_prot.pdbx_entity_inst_id' '_atom_site.pdbx_entity_inst_id' # '_struct_mon_prot_cis.pdbx_entity_inst_id' '_atom_site.pdbx_entity_inst_id' # '_struct_ncs_dom_lim.beg_pdbx_entity_inst_id' '_atom_site.pdbx_entity_inst_id' # '_struct_ncs_dom_lim.end_pdbx_entity_inst_id' '_atom_site.pdbx_entity_inst_id' # '_struct_sheet_range.beg_pdbx_entity_inst_id' '_atom_site.pdbx_entity_inst_id' # '_struct_sheet_range.end_pdbx_entity_inst_id' '_atom_site.pdbx_entity_inst_id' # '_struct_site_gen.pdbx_entity_inst_id' '_atom_site.pdbx_entity_inst_id' _item_type.code code loop_ _item_examples.case '1' 'A' '2B3' save_ ## ########################### ## PDBX_STRUCT_OPER_LIST ## ########################### save_pdbx_struct_oper_list _category.description ; Data items in the PDBX_STRUCT_OPER_LIST category describe Cartesian rotation and translation operations required to generate or transform the coordinates deposited with this entry. ; _category.id pdbx_struct_oper_list _category.mandatory_code no _category_key.name '_pdbx_struct_oper_list.id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_struct_oper_list.id 2 _pdbx_struct_oper_list.matrix[1][1] 0.247 _pdbx_struct_oper_list.matrix[1][2] 0.935 _pdbx_struct_oper_list.matrix[1][3] 0.256 _pdbx_struct_oper_list.matrix[2][1] 0.929 _pdbx_struct_oper_list.matrix[2][2] 0.153 _pdbx_struct_oper_list.matrix[2][3] 0.337 _pdbx_struct_oper_list.matrix[3][1] 0.276 _pdbx_struct_oper_list.matrix[3][2] 0.321 _pdbx_struct_oper_list.matrix[3][3] -0.906 _pdbx_struct_oper_list.vector[1] -8.253 _pdbx_struct_oper_list.vector[2] -11.743 _pdbx_struct_oper_list.vector[3] -1.782 _pdbx_struct_oper_list.type 'point symmetry operation' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_oper_list.id _item_description.description ; This identifier code must uniquely identify a record in the PDBX_STRUCT_OPER_LIST list. ; _item.name '_pdbx_struct_oper_list.id' _item.category_id pdbx_struct_oper_list _item.mandatory_code yes # loop_ # _item_linked.child_name # _item_linked.parent_name # '_pdbx_struct_asym_gen.oper_expression' '_pdbx_struct_oper_list.id' # '_pdbx_struct_assembly_gen.oper_expression' '_pdbx_struct_oper_list.id' # '_pdbx_struct_msym_gen.oper_expression' '_pdbx_struct_oper_list.id' # '_pdbx_struct_xstal_orient_gen.oper_expression' '_pdbx_struct_oper_list.id' # '_pdbx_struct_point_orient_gen.oper_expression' '_pdbx_struct_oper_list.id' _item_type.code code save_ save__pdbx_struct_oper_list.type _item_description.description ; A code to indicate the type of operator. ; _item.name '_pdbx_struct_oper_list.type' _item.category_id pdbx_struct_oper_list _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'identity operation' 'point symmetry operation' 'helical symmetry operation' 'crystal symmetry operation' '3D crystal symmetry operation' '2D crystal symmetry operation' 'transform to point frame' 'transform to helical frame' 'transform to crystal frame' 'transform to 2D crystal frame' 'transform to 3D crystal frame' 'build point asymmetric unit' 'build helical asymmetric unit' 'build 2D crystal asymmetric unit' 'build 3D crystal asymmetric unit' save_ save__pdbx_struct_oper_list.name _item_description.description ; A descriptive name for the transformation operation. ; _item.name '_pdbx_struct_oper_list.name' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_type.code line loop_ _item_examples.case '1_555' 'two-fold rotation' save_ save__pdbx_struct_oper_list.symmetry_operation _item_description.description ; The symmetry operation corresponding to the transformation operation. ; _item.name '_pdbx_struct_oper_list.symmetry_operation' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'x,y,z' 'x+1/2,y,-z' save_ save__pdbx_struct_oper_list.matrix[1][1] _item_description.description ; The [1][1] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list.matrix[1][1]' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list.matrix[1][2] _item_description.description ; The [1][2] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list.matrix[1][2]' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list.matrix[1][3] _item_description.description ; The [1][3] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list.matrix[1][3]' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list.matrix[2][1] _item_description.description ; The [2][1] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list.matrix[2][1]' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list.matrix[2][2] _item_description.description ; The [2][2] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list.matrix[2][2]' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list.matrix[2][3] _item_description.description ; The [2][3] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list.matrix[2][3]' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list.matrix[3][1] _item_description.description ; The [3][1] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list.matrix[3][1]' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list.matrix[3][2] _item_description.description ; The [3][2] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list.matrix[3][2]' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list.matrix[3][3] _item_description.description ; The [3][3] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list.matrix[3][3]' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list.vector[1] _item_description.description ; The [1] element of the three-element vector component of the transformation operation. ; _item.name '_pdbx_struct_oper_list.vector[1]' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_sub_category.id vector _item_type.code float save_ save__pdbx_struct_oper_list.vector[2] _item_description.description ; The [2] element of the three-element vector component of the transformation operation. ; _item.name '_pdbx_struct_oper_list.vector[2]' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_sub_category.id vector _item_type.code float save_ save__pdbx_struct_oper_list.vector[3] _item_description.description ; The [3] element of the three-element vector component of the transformation operation. ; _item.name '_pdbx_struct_oper_list.vector[3]' _item.category_id pdbx_struct_oper_list _item.mandatory_code no _item_sub_category.id vector _item_type.code float save_ ## ## ########################## ## PDBX_STRUCT_ASSEMBLY ## ########################## save_pdbx_struct_assembly _category.description ; Data items in the PDBX_STRUCT_ASSEMBLY category record details about the structural elements that form macromolecular assemblies. ; _category.id pdbx_struct_assembly _category.mandatory_code no _category_key.name '_pdbx_struct_assembly.id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_struct_assembly.id _pdbx_struct_assembly.details 1 ; The icosahedral virus particle. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_assembly.details _item_description.description ; A description of special aspects of the macromolecular assembly. ; _item.name '_pdbx_struct_assembly.details' _item.category_id pdbx_struct_assembly _item.mandatory_code yes _item_type.code text _item_examples.case ; The icosahedral virus particle. ; save_ save__pdbx_struct_assembly.id _item_description.description ; The value of _pdbx_struct_assembly.id must uniquely identify a record in the PDBX_STRUCT_ASSEMBLY list. ; loop_ _item.name _item.category_id _item.mandatory_code '_pdbx_struct_assembly.id' pdbx_struct_assembly yes '_pdbx_struct_assembly_gen.assembly_id' pdbx_struct_assembly_gen yes loop_ _item_linked.child_name _item_linked.parent_name '_pdbx_struct_assembly_gen.assembly_id' '_pdbx_struct_assembly.id' _item_type.code line save_ ## ############################## ## PDBX_STRUCT_ASSEMBLY_GEN ## ############################## save_pdbx_struct_assembly_gen _category.description ; Data items in the PDBX_STRUCT_ASSEMBLY_GEN category record details about the generation of each macromolecular assemblies. The PDBX_STRUCT_ASSEMBLY_GEN data items provide the specifications of the components that constitute that assembly in terms of cartesian transformations. ; _category.id pdbx_struct_assembly_gen _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_assembly_gen.assembly_id' '_pdbx_struct_assembly_gen.asym_id_list' '_pdbx_struct_assembly_gen.oper_expression' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_struct_assembly_gen.assembly_id _pdbx_struct_assembly_gen.asym_id_list _pdbx_struct_assembly_gen.oper_expression 1 A 1 1 B 1 2 A 2 2 B 2 2 C 2 3 A 3 3 B 3 3 D 3 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - ; ; loop_ _pdbx_struct_assembly_gen.assembly_id _pdbx_struct_assembly_gen.asym_id_list _pdbx_struct_assembly_gen.oper_expression 1 'A,B' 1 2 'A,B,C' 2 3 'A,B,D' 3 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_assembly_gen.entity_inst_id _item_description.description ; This data item is a pointer to _pdbx_struct_entity_inst.id in the PDBX_STRUCT_ENTITY_INST category. This item may be expressed as a comma separated list of instance identifiers. ; _item.name '_pdbx_struct_assembly_gen.entity_inst_id' _item.category_id pdbx_struct_assembly_gen _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_struct_assembly_gen.entity_inst_id' # _item_linked.parent_name '_pdbx_struct_entity_inst.id' save_ save__pdbx_struct_assembly_gen.asym_id_list _item_description.description ; This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. This item may be expressed as a comma separated list of identifiers. ; _item.name '_pdbx_struct_assembly_gen.asym_id_list' _item.category_id pdbx_struct_assembly_gen _item.mandatory_code yes _item_type.code text save_ save__pdbx_struct_assembly_gen.auth_asym_id_list _item_description.description ; This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. This item may be expressed as a comma separated list of identifiers. ; _item.name '_pdbx_struct_assembly_gen.auth_asym_id_list' _item.category_id pdbx_struct_assembly_gen _item.mandatory_code no _item_type.code line save_ save__pdbx_struct_assembly_gen.assembly_id _item_description.description ; This data item is a pointer to _pdbx_struct_assembly.id in the PDBX_STRUCT_ASSEMBLY category. ; _item.name '_pdbx_struct_assembly_gen.assembly_id' _item.category_id pdbx_struct_assembly_gen _item.mandatory_code yes _item_type.code line save_ save__pdbx_struct_assembly_gen.oper_expression _item_description.description ; Identifies the operation of collection of operations from category PDBX_STRUCT_OPER_LIST. Operation expressions may have the forms: (1) the single operation 1 (1,2,5) the operations 1, 2, 5 (1-4) the operations 1,2,3 and 4 (1,2)(3,4) the combinations of operations 3 and 4 followed by 1 and 2 (i.e. the cartesian product of parenthetical groups applied from right to left) ; _item.name '_pdbx_struct_assembly_gen.oper_expression' _item.category_id pdbx_struct_assembly_gen _item.mandatory_code yes _item_type.code operation_expression loop_ _item_examples.case '(1)' '(1,2,5)' '(1-60)' '(1-60)(61)' save_ ########################## ## PDBX_STRUCT_ASYM_GEN ## ########################## save_pdbx_struct_asym_gen _category.description ; Data items in the PDBX_STRUCT_ASYM_GEN category record details about the generation of the crystallographic asymmetric unit. The PDBX_STRUCT_ASYM_GEN data items provide the specifications of the components that constitute the asymmetric unit in terms of cartesian transformations of deposited coordinates. ; _category.id pdbx_struct_asym_gen _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_asym_gen.entity_inst_id' '_pdbx_struct_asym_gen.oper_expression' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_struct_asym_gen.asym_id _pdbx_struct_asym_gen.entity_inst_id _pdbx_struct_asym_gen.oper_expression A A 1 B B 1 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_asym_gen.entity_inst_id _item_description.description ; This data item is a pointer to _pdbx_struct_entity_inst.id in the PDBX_STRUCT_ENTITY_INST category. ; _item.name '_pdbx_struct_asym_gen.entity_inst_id' _item.category_id pdbx_struct_asym_gen _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_asym_gen.entity_inst_id' _item_linked.parent_name '_pdbx_struct_entity_inst.id' save_ save__pdbx_struct_asym_gen.asym_id _item_description.description ; This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_pdbx_struct_asym_gen.asym_id' _item.category_id pdbx_struct_asym_gen _item.mandatory_code no _item_linked.child_name '_pdbx_struct_asym_gen.asym_id' _item_linked.parent_name '_struct_asym.id' save_ save__pdbx_struct_asym_gen.oper_expression _item_description.description ; Identifies the operation from category PDBX_STRUCT_OPER_LIST. ; _item.name '_pdbx_struct_asym_gen.oper_expression' _item.category_id pdbx_struct_asym_gen _item.mandatory_code yes _item_type.code operation_expression loop_ _item_examples.case '(1)' '(1-2)' save_ ## ########################## ## PDBX_STRUCT_MSYM_GEN ## ########################## save_pdbx_struct_msym_gen _category.description ; Data items in the PDBX_STRUCT_MSYM_GEN category record details about the generation of the minimal asymmetric unit. For instance, this category can be used to provide this information for helical and point symmetry systems. The PDBX_STRUCT_MSYM_GEN data items provide the specifications of the components that constitute the asymmetric unit in terms of cartesian transformations of deposited coordinates. ; _category.id pdbx_struct_msym_gen _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_msym_gen.msym_id' '_pdbx_struct_msym_gen.entity_inst_id' '_pdbx_struct_msym_gen.oper_expression' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_struct_msym_gen.msym_id _pdbx_struct_msym_gen.entity_inst_id _pdbx_struct_msym_gen.oper_expression A A 3 B B 4 C B 5 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_msym_gen.entity_inst_id _item_description.description ; This data item is a pointer to _pdbx_struct_entity_inst.id in the PDBX_STRUCT_ENTITY_INST category. ; _item.name '_pdbx_struct_msym_gen.entity_inst_id' _item.category_id pdbx_struct_msym_gen _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_msym_gen.entity_inst_id' _item_linked.parent_name '_pdbx_struct_entity_inst.id' save_ save__pdbx_struct_msym_gen.msym_id _item_description.description ; Uniquely identifies the this structure instance in point symmetry unit. ; _item.name '_pdbx_struct_msym_gen.msym_id' _item.category_id pdbx_struct_msym_gen _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_msym_gen.oper_expression _item_description.description ; Identifies the operation from category PDBX_STRUCT_OPER_LIST. ; _item.name '_pdbx_struct_msym_gen.oper_expression' _item.category_id pdbx_struct_msym_gen _item.mandatory_code yes _item_type.code operation_expression loop_ _item_examples.case '(1)' '(1-3)' save_ ## ## ################################## ## PDBX_STRUCT_LEGACY_OPER_LIST ## ################################## save_pdbx_struct_legacy_oper_list _category.description ; Data items in the PDBX_STRUCT_LEGACY_OPER_LIST category describe Cartesian rotation and translation operations required to generate or transform the coordinates deposited with this entry. This category provides a container for matrices used to construct icosahedral assemblies in legacy entries. ; _category.id pdbx_struct_legacy_oper_list _category.mandatory_code no _category_key.name '_pdbx_struct_legacy_oper_list.id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_struct_legacy_oper_list.id 2 _pdbx_struct_legacy_oper_list.matrix[1][1] 0.247 _pdbx_struct_legacy_oper_list.matrix[1][2] 0.935 _pdbx_struct_legacy_oper_list.matrix[1][3] 0.256 _pdbx_struct_legacy_oper_list.matrix[2][1] 0.929 _pdbx_struct_legacy_oper_list.matrix[2][2] 0.153 _pdbx_struct_legacy_oper_list.matrix[2][3] 0.337 _pdbx_struct_legacy_oper_list.matrix[3][1] 0.276 _pdbx_struct_legacy_oper_list.matrix[3][2] 0.321 _pdbx_struct_legacy_oper_list.matrix[3][3] -0.906 _pdbx_struct_legacy_oper_list.vector[1] -8.253 _pdbx_struct_legacy_oper_list.vector[2] -11.743 _pdbx_struct_legacy_oper_list.vector[3] -1.782 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_legacy_oper_list.id _item_description.description ; This integer value must uniquely identify a record in the PDBX_STRUCT_LEGACY_OPER_LIST list. ; _item.name '_pdbx_struct_legacy_oper_list.id' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code yes _item_type.code int save_ save__pdbx_struct_legacy_oper_list.name _item_description.description ; A descriptive name for the transformation operation. ; _item.name '_pdbx_struct_legacy_oper_list.name' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'identity matrix' 'two-fold rotation' save_ save__pdbx_struct_legacy_oper_list.matrix[1][1] _item_description.description ; The [1][1] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_legacy_oper_list.matrix[1][1]' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_legacy_oper_list.matrix[1][2] _item_description.description ; The [1][2] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_legacy_oper_list.matrix[1][2]' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_legacy_oper_list.matrix[1][3] _item_description.description ; The [1][3] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_legacy_oper_list.matrix[1][3]' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_legacy_oper_list.matrix[2][1] _item_description.description ; The [2][1] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_legacy_oper_list.matrix[2][1]' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_legacy_oper_list.matrix[2][2] _item_description.description ; The [2][2] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_legacy_oper_list.matrix[2][2]' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_legacy_oper_list.matrix[2][3] _item_description.description ; The [2][3] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_legacy_oper_list.matrix[2][3]' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_legacy_oper_list.matrix[3][1] _item_description.description ; The [3][1] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_legacy_oper_list.matrix[3][1]' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_legacy_oper_list.matrix[3][2] _item_description.description ; The [3][2] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_legacy_oper_list.matrix[3][2]' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_legacy_oper_list.matrix[3][3] _item_description.description ; The [3][3] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_legacy_oper_list.matrix[3][3]' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_legacy_oper_list.vector[1] _item_description.description ; The [1] element of the three-element vector component of the transformation operation. ; _item.name '_pdbx_struct_legacy_oper_list.vector[1]' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code no _item_sub_category.id vector _item_type.code float save_ save__pdbx_struct_legacy_oper_list.vector[2] _item_description.description ; The [2] element of the three-element vector component of the transformation operation. ; _item.name '_pdbx_struct_legacy_oper_list.vector[2]' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code no _item_sub_category.id vector _item_type.code float save_ save__pdbx_struct_legacy_oper_list.vector[3] _item_description.description ; The [3] element of the three-element vector component of the transformation operation. ; _item.name '_pdbx_struct_legacy_oper_list.vector[3]' _item.category_id pdbx_struct_legacy_oper_list _item.mandatory_code no _item_sub_category.id vector _item_type.code float save_ ################################# ## PDBX_CHEM_COMP_ATOM_FEATURE ## ################################# save_pdbx_chem_comp_atom_feature _category.description ; Data items in the PDBX_CHEM_COMP_ATOM_FEATURE category provide a selected list of atom level features for the chemical component. ; _category.id pdbx_chem_comp_atom_feature _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_atom_feature.comp_id' '_pdbx_chem_comp_atom_feature.atom_id' '_pdbx_chem_comp_atom_feature.feature_type' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_atom_feature.comp_id _pdbx_chem_comp_atom_feature.atom_id _pdbx_chem_comp_atom_feature.feature_type 'LYS' 'N' NT 'LYS' 'C' CT 'LYS' 'CA' CPA ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_atom_feature.comp_id _item_description.description ; This data item is a pointer to _pdbx_chem_comp_import.comp_id in the CHEM_COMP category. ; _item.name '_pdbx_chem_comp_atom_feature.comp_id' _item.category_id pdbx_chem_comp_atom_feature _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_atom_feature.comp_id' _item_linked.parent_name '_chem_comp_atom.comp_id' save_ save__pdbx_chem_comp_atom_feature.atom_id _item_description.description ; The identifier for the target atom to which the feature is assigned. ; _item.name '_pdbx_chem_comp_atom_feature.atom_id' _item.category_id pdbx_chem_comp_atom_feature _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_chem_comp_atom_feature.atom_id' _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__pdbx_chem_comp_atom_feature.feature_type _item_description.description ; The feature assigned to this atom. ; _item.name '_pdbx_chem_comp_atom_feature.feature_type' _item.category_id pdbx_chem_comp_atom_feature _item.mandatory_code yes _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail CT 'C-terminal peptide linking atom' NT 'N-terminal peptide linking atom' 5PT '5-prime nucleotide linking atom' 3PT '3-prime nucleotide linking atom' CPA "Central atom in protein polymer" CNA "Central atom in nucleic acid polymer" save_ ### ### File: prd-extension-v5.dic ### ### Orginal: April 1, 2011 jdw ### Last update: Oct 2, 2013 jdw adding category for family group index. ### ### -------------------------------------------------------------------------------------------- ### ### Updated: April 5, 2011 jdw - Added non-standard polymer linking details in ### category PDBX_REFERENCE_ENTITY_POLY_NSTD_LINK, ### added _pdbx_reference_entity_list.nonpoly_residue_number ### changed the representative flag item name to ### _pdbx_reference_entity_instances.prd_representative_flag. ### added instance level nonpolymer residue preference, ### _pdbx_entity_group_components.nonpoly_residue_number ### ### Revised with additional categories to capture entity level details. ### ### PDBX_REFERENCE_ENTITY_LIST ### PDBX_REFERENCE_ENTITY_NONPOLY ### PDBX_REFERENCE_ENTITY_LINK ### ### ref_entity_id incorporated as an additional key where appropriate. ### ### _pdbx_reference_entity_list.ref_entity_id ### _pdbx_reference_entity_nonpoly.ref_entity_id ### _pdbx_reference_entity_link.ref_entity_id_1 ### _pdbx_reference_entity_poly.ref_entity_id ### _pdbx_reference_entity_poly_seq.ref_entity_id ### _pdbx_reference_entity_sequence.ref_entity_id ### ### New categories to be included within PDB entries -- ### PDBX_ENTITY_GROUP_LIST and ### ### PDBX_STRUCT_GROUP_LIST and related categories are provided to map ### entity level information to the copies in the deposited coordinates. ### ### PDBX_ENTITY_GROUP_INSTANCES is provided to map entity-level molecular definitions ### to coordinate observations in the PDBX_STRUCT_GROUP_LIST. ### ### ### PDBX_REFERENCE_ENTITY_POLY_NSTD_LINK is provided to record non-standard polymer ### linkages including linkages between non-standard polymer componnents. ### ### ### Updated: Sept 23, 2011 jdw Add _pdbx_reference_entity_poly_seq.observed ### ### Updated: Nov 28, 2011 jdw added ### ### _pdbx_reference_entity_instances.PDB_chain_id_list ### _pdbx_reference_entity_instances.PDB_residue_number ### _pdbx_reference_entity_list.component ### _pdbx_reference_entity_link.component_1 ### _pdbx_reference_entity_link.component_2 ### _pdbx_reference_entity_link.nonpoly_res_num_1 ### _pdbx_reference_entity_link.nonpoly_res_num_2 ### _pdbx_reference_entity_link.link_class ### _pdbx_reference_entity_poly_nstd_link.component ### _pdbx_reference_entity_poly_nstd_link.insert_code_1 ### _pdbx_reference_entity_poly_nstd_link.insert_code_2 ### _pdbx_reference_entity_poly_seq.parent_mon_id ### _pdbx_reference_entity_poly_seq.insert_code ### _pdbx_reference_entity_poly_seq.modification_details ### ### _pdbx_reference_entity_list.component part of key ### _pdbx_reference_entity_poly_nstd_link.component part of key ### _pdbx_reference_entity_poly_seq.num .ge. 0 ### ### _pdbx_reference_entity_sequence.family_prd_id added to key ### _pdbx_reference_entity_sequence.prd_id added to key ### _pdbx_reference_entity_sequence.ref_entity_id added to key ### ### _pdbx_reference_entity_poly_seq.mon_id restored in key ### ### Updated: Nov 29, 2011 jdw revised ### ### _pdbx_reference_entity_poly_seq.num integer with no boundary conditions. ### ### ------------------------------------------------------------------------------------ ### ------------------------------------------------------------------------------------ ### Updated: Version 5 (alpha) -- Jan 11, 2012 - ### ### This is a preliminary revision please see the notes below. ### ### + Revised category naming to better differentiate molecule and entity properties for - ### ### pdbx_reference_entity_details -> pdbx_reference_molecule_details ### pdbx_reference_entity_feature -> pdbx_reference_molecule_features ### pdbx_reference_entity_annotatoin -> pdbx_reference_molecule_annotation ### pdbx_reference_entity_synonyms -> pdbx_reference_molecule_synonyms ### pdbx_reference_entity_related_structures -> pdbx_reference_molecule_related_structures ### pdbx_reference_entity_family -> pdbx_reference_molecule_family ### pdbx_reference_entity_instance -> pdbx_reference_molecule_instances ### ### + Reanamed item - ### ### _pdbx_reference_entity_list.component -> _pdbx_reference_entity_list.component_id ### ### + Renamed three_letter_code -> chem_comp_id in items - ### ### _pdbx_reference_molecule.chem_comp_id ### _pdbx_reference_entity_nonpoly.chem_comp_id ### _pdbx_reference_molecule_instancess.chem_comp_id ### _pdbx_reference_molecule_synonyms.chem_comp_id ### _pdbx_reference_entity_subcomponents.chem_comp_id ### _pdbx_reference_molecule_annotation.chem_comp_id ### _pdbx_reference_molecule_features.chem_comp_id ### ### + Added new items - ### ### pdbx_reference_molecule_list.family_prd_id ### pdbx_reference_molecule_list.prd_id ### ### + Added audit categories for molecule and family information. ### ### pdbx_prd_audit and pdbx_family_prd_audit ### ### -- IMPORTANT NOTES -- ### ### This version currently reflects only cosmetic changes in naming conventions. ### ### Futher considertion is need for handling categories describing the following - ### ### + _entity_ and _struct_ grouping ### ### + partitioning of data categories between PRD molecule and FAMILY files. Category ### keys will need to be revised to remove the FAMILY_PRD_ID items from the PRD ### molecular definitions. This is required in order for these files to stand alone support ### independent dictionary-level validation. ### ### + PRD_ID dependencies need to be carefully reviewed within the FAMILY categories to ### distinguish generic family and PRD specific annotations. Issues simiar to the PRD ### molecule files apply to the standalone family files with respect to dictionary-level ### validation. ### ### + Additional revisions to definitions and examples will be required once the above issues ### are resolved. ### ### ------------------------------------------------------------------------------------ ### ### Updated: Version 5 (alpha 2) -- Jan 17, 2012 - JDW ### ### Removed - ### pdbx_reference_entity_group ### pdbx_reference_entity_group_components ### pdbx_reference_entity_grouping ### ### _pdbx_reference_molecule.family_prd_id ### _pdbx_reference_entity_list.family_prd_id ### _pdbx_reference_entity_nonpoly.family_prd_id ### _pdbx_reference_molecule_instancess.family_prd_id ### _pdbx_reference_molecule_instancess.PDB_chain_id_list ### _pdbx_reference_molecule_instancess.PDB_residue_number ### _pdbx_reference_entity_subcomponents.family_prd_id ### _pdbx_reference_entity_link.family_prd_id ### _pdbx_reference_entity_poly.family_prd_id ### _pdbx_reference_entity_poly_seq.family_prd_id ### _pdbx_reference_entity_sequence.family_prd_id ### _pdbx_reference_entity_src_nat.family_prd_id ### _pdbx_reference_entity_poly_nstd_link.family_prd_id ### ### Rename - ### _pdbx_reference_entity_list.component renamed to _pdbx_reference_entity_list.component_id ### _pdbx_reference_entity_poly_nstd_link.component to _pdbx_reference_entity_poly_nstd_link.component_id ### ### Added - ### ### _pdbx_reference_entity_list.auth_asym_id ### _pdbx_reference_entity_nonpoly.auth_asym_id ### _pdbx_reference_entity_nonpoly.auth_seq_id ### _pdbx_reference_entity_nonpoly.PDB_ins_code ### _pdbx_reference_entity_nonpoly.label_auth_id ### _pdbx_reference_molecule.type_evidence_code ### _pdbx_reference_molecule.class_evidence_code ### ### Updated and verified parent/child relationships and item_link_group relationships. ### ### --------------------------------------------------------------------------------------- ### Updated: Version 5 (alpha 3) -- Jan 31, 2012 - JDW ### ### Remove below items. ### ### _pdbx_reference_entity_poly.nstd_chirality ### _pdbx_reference_entity_poly.nstd_linkage ### _pdbx_reference_entity_poly.nstd_monomer ### _pdbx_reference_entity_poly.number_of_monomers ### ### _pdbx_reference_entity_poly_seq.insert_code ### _pdbx_reference_entity_poly_seq.modification_details ### _pdbx_reference_entity_poly_seq.modified_mon_id ### ### _pdbx_reference_entity_list.auth_asym_id ### _pdbx_reference_molecule_features.citation_id ### ### _pdbx_reference_entity_nonpoly.auth_asym_id ### _pdbx_reference_entity_nonpoly.auth_seq_id ### _pdbx_reference_entity_nonpoly.label_alt_id ### _pdbx_reference_entity_nonpoly.PDB_ins_code ### ### _pdbx_reference_entity_poly_link.insert_code_1 ### _pdbx_reference_entity_poly_link.insert_code_2 ### _pdbx_reference_entity_link.nonpoly_res_num_1 ### _pdbx_reference_entity_link.nonpoly_res_num_2 ### ### Remove category ### ### _pdbx_reference_molecule_instances ### ### Add new items ### ### _pdb_reference_molecule.representative_PDB_id_code ### _pdbx_reference_molecule.release_status ### _pdbx_reference_molecule.replaces ### _pdbx_reference_molecule.replaced_by ### _pdbx_reference_molecule_family.release_status ### _pdbx_reference_molecule_family.replaces ### _pdbx_reference_molecule_family.replaced_by ### _pdbx_reference_entity_src_nat.source_id ### _pdbx_reference_molecule_details.source_id ### ### ### Add new category PDBX_MOLECULE to entry files to identify PRD reference molecules: ### ### _pdbx_molecule.instance_id ### _pdbx_molecule.asym_id ### _pdbx_molecule.prd_id ### ### Rename category - ### ### pdbx_reference_entity_poly_nstd_link to pdbx_reference_entity_poly_link ### ### this category expanded to include both standard and non-standard linkages. ### ### Updates - Feb 24, 2012 ### ### Add items- ### _pdbx_molecule_features.prd_id, ### _pdbx_molecule_features.name ### _pdbx_molecule_features.type, ### _pdbx_molecule_features.class ### _pdbx_molecule_features.details ### ### Updates - Aug 12, 2012 ### ### Remove items: ### _pdbx_entity_group_* categories are not used and are being removed. ### ### ### Updates - Sep 12, 2012 ### ### Added items to supporting chemical component definitions - ### ### _chem_comp_atom.pdbx_residue_numbering : residue numbering (always start from 1) ### _chem_comp_atom.pdbx_polymer_type : indicates if the residue belong to polymer or non-polymer ### _chem_comp_atom.pdbx_ref_id : mapping to the value of _pdbx_reference_entity_list.ref_entity_id ### _chem_comp_atom.pdbx_component_id : mapping to the value of _pdbx_reference_entity_list.component_id ### ######################################################################### #################################### ## PDBX_REFERENCE_MOLECULE_FAMILY ## #################################### save_pdbx_reference_molecule_family _category.description ; Data items in the PDBX_REFERENCE_MOLECULE_FAMILY category identify entity families. ; _category.id pdbx_reference_molecule_family _category.mandatory_code no _category_key.name '_pdbx_reference_molecule_family.family_prd_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_family_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 Actinomycin ; ; _pdbx_reference_molecule_family.family_prd_id FAM_000001 _pdbx_reference_molecule_family.name "ACTINOMYCIN" ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_molecule_family.family_prd_id _item_description.description ; The value of _pdbx_reference_entity.family_prd_id must uniquely identify a record in the PDBX_REFERENCE_MOLECULE_FAMILY list. By convention this ID uniquely identifies the reference family in in the PDB reference dictionary. The ID has the template form FAM_dddddd (e.g. FAM_000001) ; _item.name '_pdbx_reference_molecule_family.family_prd_id' _item.category_id pdbx_reference_molecule_family _item.mandatory_code yes _item_type.code ucode save_ save__pdbx_reference_molecule_family.name _item_description.description ; The entity family name. ; _item.name '_pdbx_reference_molecule_family.name' _item.category_id pdbx_reference_molecule_family _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'actinomycin' 'adriamycin ' save_ save__pdbx_reference_molecule_family.release_status _item_description.description ; Assigns the current PDB release status for this family. ; _item.name '_pdbx_reference_molecule_family.release_status' _item.category_id pdbx_reference_molecule_family _item.mandatory_code no _item_type.code uline loop_ _item_enumeration.value 'REL' 'HOLD' 'OBS' 'WAIT' save_ save__pdbx_reference_molecule_family.replaces _item_description.description ; Assigns the identifier for the family which have been replaced by this family. Multiple family identifier codes should be separated by commas. ; _item.name '_pdbx_reference_molecule_family.replaces' _item.category_id pdbx_reference_molecule_family _item.mandatory_code no _item_type.code uline save_ save__pdbx_reference_molecule_family.replaced_by _item_description.description ; Assigns the identifier of the family that has replaced this component. ; _item.name '_pdbx_reference_molecule_family.replaced_by' _item.category_id pdbx_reference_molecule_family _item.mandatory_code no _item_type.code uline save_ ################################## ## PDBX_REFERENCE_MOLECULE_LIST ## ################################## save_pdbx_reference_molecule_list _category.description ; Data items in the PDBX_REFERENCE_MOLECULE_LIST category record reference information about small polymer molecules. ; _category.id pdbx_reference_molecule_list _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_molecule_list.family_prd_id' '_pdbx_reference_molecule_list.prd_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_family_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 Actinomycin ; ; loop_ _pdbx_reference_molecule_list.family_prd_id _pdbx_reference_molecule_list.prd_id FAM_000001 PRD_000001 FAM_000001 PRD_000002 FAM_000001 PRD_000003 FAM_000001 PRD_000004 FAM_000001 PRD_000005 FAM_000001 PRD_000006 FAM_000001 PRD_000007 FAM_000001 PRD_000008 FAM_000001 PRD_000009 FAM_000001 PRD_000010 FAM_000001 PRD_000011 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_molecule_list.prd_id _item_description.description ; The value of _pdbx_reference_molecule_list.prd_id is the unique identifier for the reference molecule in this family. By convention this ID uniquely identifies the reference molecule in in the PDB reference dictionary. The ID has the template form PRD_dddddd (e.g. PRD_000001) ; _item.name '_pdbx_reference_molecule_list.prd_id' _item.category_id pdbx_reference_molecule_list _item.mandatory_code yes _item_type.code ucode save_ save__pdbx_reference_molecule_list.family_prd_id _item_description.description ; The value of _pdbx_reference_molecule_list.family_prd_id is a reference to _pdbx_reference_molecule_family.family_prd_id' in category PDBX_REFERENCE_MOLECULE_FAMILY. ; _item.name '_pdbx_reference_molecule_list.family_prd_id' _item.category_id pdbx_reference_molecule_list _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_molecule_list.family_prd_id' _item_linked.parent_name '_pdbx_reference_molecule_family.family_prd_id' save_ ############################# ## PDBX_REFERENCE_MOLECULE ## ############################# save_pdbx_reference_molecule _category.description ; Data items in the PDBX_REFERENCE_MOLECULE category record reference information about small polymer molecules. ; _category.id pdbx_reference_molecule _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_molecule.prd_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 Actinomycin ; ; loop_ _pdbx_reference_molecule.prd_id _pdbx_reference_molecule.name _pdbx_reference_molecule.type _pdbx_reference_molecule.class _pdbx_reference_molecule.formula _pdbx_reference_molecule.formula_weight PRD_000001 "Actinomycin D" "Antitumor Antibiotic" "polypeptide antibiotic" "C62 H86 N12 O16" 1255.5 PRD_000002 "Actinomycin C" "Antitumor Antibiotic" "polypeptide antibiotic" ? ? PRD_000003 "Actinomycin C2" "Antitumor Antibiotic" "polypeptide antibiotic" "C63 H88 N12 O16" 1269.5 PRD_000004 "Actinomycin C3" "Antitumor Antibiotic" "polypeptide antibiotic" "C64 H90 N12 O16" 1283.5 PRD_000005 "Actinomycin X0 beta" "Antitumor Antibiotic" "polypeptide antibiotic" "C62 H86 N12 O17" 1271.5 PRD_000006 "8-Fluoro-Actinomycin D" "Antitumor Antibiotic" "polypeptide antibiotic" "C62 H85 F N12 O16" 1273.49 PRD_000007 "Actinomycin X2" "Antitumor Antibiotic" "polypeptide antibiotic" "C62 H84 N12 O17" 1269.4 PRD_000008 "Actinomycin Z1" "Antitumor Antibiotic" "polypeptide antibiotic" "C62 H84 N12 O19" 1301.5 PRD_000009 "Actinomycin Z3" "Antitumor Antibiotic" "polypeptide antibiotic" "C62 H83 Cl N12 O18" 1319.845 PRD_000010 "7-AminoActinomycin" "Antitumor Antibiotic" "polypeptide antibiotic" "C62 H87 N13 O16" 1270.43 PRD_000011 "N8-Actinomycin D" "Antitumor Antibiotic" "polypeptide antibiotic" "C61 H85 N13 O16" 1256.4051 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_molecule.prd_id _item_description.description ; The value of _pdbx_reference_molecule.prd_id is the unique identifier for the reference molecule in this family. By convention this ID uniquely identifies the reference molecule in in the PDB reference dictionary. The ID has the template form PRD_dddddd (e.g. PRD_000001) ; _item.name '_pdbx_reference_molecule.prd_id' _item.category_id pdbx_reference_molecule _item.mandatory_code yes _item_type.code ucode save_ save__pdbx_reference_molecule.formula_weight _item_description.description ; Formula mass in daltons of the entity. ; _item.name '_pdbx_reference_molecule.formula_weight' _item.category_id pdbx_reference_molecule _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1.0 1.0 1.0 _item_type.code float save_ save__pdbx_reference_molecule.formula _item_description.description ; The formula for the reference entity. Formulae are written according to the rules: 1. Only recognised element symbols may be used. 2. Each element symbol is followed by a 'count' number. A count of '1' may be omitted. 3. A space or parenthesis must separate each element symbol and its count, but in general parentheses are not used. 4. The order of elements depends on whether or not carbon is present. If carbon is present, the order should be: C, then H, then the other elements in alphabetical order of their symbol. If carbon is not present, the elements are listed purely in alphabetic order of their symbol. This is the 'Hill' system used by Chemical Abstracts. ; _item.name '_pdbx_reference_molecule.formula' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'C18 H19 N7 O8 S' save_ save__pdbx_reference_molecule.type _item_description.description ; Defines the structural classification of the entity. ; _item.name '_pdbx_reference_molecule.type' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code uline loop_ _item_enumeration.value 'Amino acid' Aminoglycoside Anthracycline Anthraquinone Ansamycin Chalkophore Chromophore Glycopeptide 'Cyclic depsipeptide' 'Cyclic lipopeptide' 'Cyclic peptide' Heterocyclic 'Imino sugar' 'Keto acid' 'Lipoglycopeptide' Lipopeptide Macrolide 'Non-polymer' 'Nucleoside' Oligopeptide Oligosaccharide 'Peptaibol' 'Peptide-like' Polycyclic Polypeptide Polysaccharide Quinolone Thiolactone Thiopeptide Siderophore Unknown 'Chalkophore, Polypeptide' loop_ _item_examples.case 'Peptide-like' 'Macrolide' save_ save__pdbx_reference_molecule.type_evidence_code _item_description.description ; Evidence for the assignment of _pdbx_reference_molecule.type ; _item.name '_pdbx_reference_molecule.type_evidence_code' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_molecule.class _item_description.description ; Broadly defines the function of the entity. ; _item.name '_pdbx_reference_molecule.class' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code uline loop_ _item_enumeration.value Antagonist Antibiotic Anticancer Anticoagulant Antifungal Antigen Antiinflammatory Antimicrobial Antineoplastic Antiparasitic Antiretroviral Anthelmintic Antithrombotic Antitumor Antiviral 'CASPASE inhibitor' 'Chaperone binding' 'Enzyme inhibitor' 'Drug delivery' 'Glycan component' 'Growth factor' Immunosuppressant Inducer Inhibitor Lantibiotic Metabolism 'Metal transport' Nutrient 'Oxidation-reduction' 'Protein binding' Receptor 'Substrate analog' 'Synthetic opioid' 'Thrombin inhibitor' 'Transition state mimetic' 'Transport activator' 'Trypsin inhibitor' Toxin Unknown 'Water retention' 'Anticoagulant, Antithrombotic' 'Antibiotic, Antimicrobial' 'Antibiotic, Anthelmintic' "Antibiotic, Antineoplastic" 'Antimicrobial, Antiretroviral' 'Antimicrobial, Antitumor' "Antimicrobial, Antiparasitic, Antibiotic" 'Thrombin inhibitor, Trypsin inhibitor' save_ save__pdbx_reference_molecule.class_evidence_code _item_description.description ; Evidence for the assignment of _pdbx_reference_molecule.class ; _item.name '_pdbx_reference_molecule.class_evidence_code' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_molecule.name _item_description.description ; A name of the entity. ; _item.name '_pdbx_reference_molecule.name' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'thiostrepton' save_ save__pdbx_reference_molecule.represent_as _item_description.description ; Defines how this entity is represented in PDB data files. ; _item.name '_pdbx_reference_molecule.represent_as' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code uline loop_ _item_enumeration.value 'polymer' 'single molecule' 'branched' save_ save__pdbx_reference_molecule.chem_comp_id _item_description.description ; For entities represented as single molecules, the identifier corresponding to the chemical definition for the molecule. ; _item.name '_pdbx_reference_molecule.chem_comp_id' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case '0Z3' 'CD9' save_ save__pdbx_reference_molecule.compound_details _item_description.description ; Special details about this molecule. ; _item.name '_pdbx_reference_molecule.compound_details' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code text # loop_ # _item_examples.case save_ save__pdbx_reference_molecule.description _item_description.description ; Description of this molecule. ; _item.name '_pdbx_reference_molecule.description' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code text # loop_ # _item_examples.case save_ save__pdbx_reference_molecule.representative_PDB_id_code _item_description.description ; The PDB accession code for the entry containing a representative example of this molecule. ; _item.name '_pdbx_reference_molecule.representative_PDB_id_code' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code ucode save_ save__pdbx_reference_molecule.release_status _item_description.description ; Defines the current PDB release status for this molecule definition. ; _item.name '_pdbx_reference_molecule.release_status' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code uline loop_ _item_enumeration.value 'REL' 'HOLD' 'OBS' 'WAIT' save_ save__pdbx_reference_molecule.replaces _item_description.description ; Assigns the identifier for the reference molecule which have been replaced by this reference molecule. Multiple molecule identifier codes should be separated by commas. ; _item.name '_pdbx_reference_molecule.replaces' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code uline save_ save__pdbx_reference_molecule.replaced_by _item_description.description ; Assigns the identifier of the reference molecule that has replaced this molecule. ; _item.name '_pdbx_reference_molecule.replaced_by' _item.category_id pdbx_reference_molecule _item.mandatory_code no _item_type.code uline save_ ################################ ## PDBX_REFERENCE_ENTITY_LIST ## ################################ save_pdbx_reference_entity_list _category.description ; Data items in the PDBX_REFERENCE_ENTITY_LIST category record the list of entities within each reference molecule. ; _category.id pdbx_reference_entity_list _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_entity_list.prd_id' '_pdbx_reference_entity_list.ref_entity_id' '_pdbx_reference_entity_list.component_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 ; ; loop_ _pdbx_reference_entity_list.prd_id _pdbx_reference_entity_list.ref_entity_id _pdbx_reference_entity_list.component_id _pdbx_reference_entity_list.type _pdbx_reference_entity_list.details PRD_000001 1 1 'polymer' "PEPTIDE LIKE SEQUENCE RESIDUES 1 TO 8" PRD_000001 2 2 'non-polymer' "QUINALDIC ACID CHROMOPHORE" PRD_000001 3 3 'non-polymer' "QUINALDIC ACID CHROMOPHORE" ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_entity_list.prd_id _item_description.description ; The value of _pdbx_reference_entity_list.prd_id is a reference _pdbx_reference_molecule.prd_id in the PDBX_REFERENCE_MOLECULE category. ; _item.name '_pdbx_reference_entity_list.prd_id' _item.category_id pdbx_reference_entity_list _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_list.prd_id' _item_linked.parent_name '_pdbx_reference_molecule.prd_id' save_ save__pdbx_reference_entity_list.ref_entity_id _item_description.description ; The value of _pdbx_reference_entity_list.ref_entity_id is a unique identifier the a constituent entity within this reference molecule. ; _item.name '_pdbx_reference_entity_list.ref_entity_id' _item.category_id pdbx_reference_entity_list _item.mandatory_code yes _item_type.code ucode save_ save__pdbx_reference_entity_list.type _item_description.description ; Defines the polymer characteristic of the entity. ; _item.name '_pdbx_reference_entity_list.type' _item.category_id pdbx_reference_entity_list _item.mandatory_code no _item_type.code uline loop_ _item_examples.case 'polymer' 'non-polymer' 'branched' loop_ _item_enumeration.value _item_enumeration.detail polymer . polymer-like . non-polymer . branched . save_ save__pdbx_reference_entity_list.details _item_description.description ; Additional details about this entity. ; _item.name '_pdbx_reference_entity_list.details' _item.category_id pdbx_reference_entity_list _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_entity_list.component_id _item_description.description ; The component number of this entity within the molecule. ; _item.name '_pdbx_reference_entity_list.component_id' _item.category_id pdbx_reference_entity_list _item.mandatory_code yes _item_type.code int save_ ################################### ## PDBX_REFERENCE_ENTITY_NONPOLY ## ################################### save_pdbx_reference_entity_nonpoly _category.description ; Data items in the PDBX_REFERENCE_ENTITY_NONPOLY category record the list of entities within each reference molecule. ; _category.id pdbx_reference_entity_nonpoly _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_entity_nonpoly.prd_id' '_pdbx_reference_entity_nonpoly.ref_entity_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 ; ; loop_ _pdbx_reference_entity_nonpoly.prd_id _pdbx_reference_entity_nonpoly.ref_entity_id _pdbx_reference_entity_nonpoly.name _pdbx_reference_entity_nonpoly.chem_comp_id PRD_000004 2 "2-CARBOXYQUINOXALINE" QUI ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_entity_nonpoly.prd_id _item_description.description ; The value of _pdbx_reference_entity_nonpoly.prd_id is a reference _pdbx_reference_entity_list.prd_id in the PDBX_REFERENCE_ENTITY_LIST category. ; _item.name '_pdbx_reference_entity_nonpoly.prd_id' _item.category_id pdbx_reference_entity_nonpoly _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_nonpoly.prd_id' _item_linked.parent_name '_pdbx_reference_entity_list.prd_id' save_ save__pdbx_reference_entity_nonpoly.ref_entity_id _item_description.description ; The value of _pdbx_reference_entity_nonpoly.ref_entity_id is a reference to _pdbx_reference_entity_list.ref_entity_id in PDBX_REFERENCE_ENTITY_LIST category. ; _item.name '_pdbx_reference_entity_nonpoly.ref_entity_id' _item.category_id pdbx_reference_entity_nonpoly _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_nonpoly.ref_entity_id' _item_linked.parent_name '_pdbx_reference_entity_list.ref_entity_id' save_ save__pdbx_reference_entity_nonpoly.details _item_description.description ; Additional details about this entity. ; _item.name '_pdbx_reference_entity_nonpoly.details' _item.category_id pdbx_reference_entity_nonpoly _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_entity_nonpoly.name _item_description.description ; A name of the non-polymer entity. ; _item.name '_pdbx_reference_entity_nonpoly.name' _item.category_id pdbx_reference_entity_nonpoly _item.mandatory_code no _item_type.code text loop_ _item_examples.case "2-CARBOXYQUINOXALINE" save_ save__pdbx_reference_entity_nonpoly.chem_comp_id _item_description.description ; For non-polymer entities, the identifier corresponding to the chemical definition for the molecule. ; _item.name '_pdbx_reference_entity_nonpoly.chem_comp_id' _item.category_id pdbx_reference_entity_nonpoly _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case '0Z3' 'CD9' save_ ################################ ## PDBX_REFERENCE_ENTITY_LINK ## ################################ save_pdbx_reference_entity_link _category.description ; Data items in the PDBX_REFERENCE_ENTITY_LINK category give details about the linkages between entities within reference molecules. ; _category.id pdbx_reference_entity_link _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_entity_link.prd_id' '_pdbx_reference_entity_link.link_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - quinoxaline ; ; loop_ _pdbx_reference_entity_link.prd_id _pdbx_reference_entity_link.link_id _pdbx_reference_entity_link.link_class _pdbx_reference_entity_link.ref_entity_id_1 _pdbx_reference_entity_link.entity_seq_num_1 _pdbx_reference_entity_link.comp_id_1 _pdbx_reference_entity_link.atom_id_1 _pdbx_reference_entity_link.ref_entity_id_2 _pdbx_reference_entity_link.entity_seq_num_2 _pdbx_reference_entity_link.comp_id_2 _pdbx_reference_entity_link.atom_id_2 _pdbx_reference_entity_link.value_order _pdbx_reference_entity_link.component_1 _pdbx_reference_entity_link.component_2 PRD_000001 1 PN 1 1 DSN N 2 . QUI C 'single' 1 2 PRD_000001 2 PN 1 5 DSN N 3 . QUI C 'single' 1 3 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_entity_link.link_id _item_description.description ; The value of _pdbx_reference_entity_link.link_id uniquely identifies linkages between entities with a molecule. ; _item.name '_pdbx_reference_entity_link.link_id' _item.category_id pdbx_reference_entity_link _item.mandatory_code yes _item_type.code int save_ save__pdbx_reference_entity_link.prd_id _item_description.description ; The value of _pdbx_reference_entity_link.prd_id is a reference _pdbx_reference_entity_list.prd_id in the PDBX_REFERENCE_ENTITY_LIST category. ; _item.name '_pdbx_reference_entity_link.prd_id' _item.category_id pdbx_reference_entity_link _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_link.prd_id' _item_linked.parent_name '_pdbx_reference_entity_list.prd_id' save_ save__pdbx_reference_entity_link.details _item_description.description ; A description of special aspects of a linkage between chemical components in the structure. ; _item.name '_pdbx_reference_entity_link.details' _item.category_id pdbx_reference_entity_link _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_entity_link.ref_entity_id_1 _item_description.description ; The reference entity id of the first of the two entities joined by the linkage. This data item is a pointer to _pdbx_reference_entity_list.ref_entity_id in the PDBX_REFERENCE_ENTITY_LIST category. ; _item.name '_pdbx_reference_entity_link.ref_entity_id_1' _item.category_id pdbx_reference_entity_link _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_link.ref_entity_id_1' _item_linked.parent_name '_pdbx_reference_entity_list.ref_entity_id' save_ save__pdbx_reference_entity_link.ref_entity_id_2 _item_description.description ; The reference entity id of the second of the two entities joined by the linkage. This data item is a pointer to _pdbx_reference_entity_list.ref_entity_id in the PDBX_REFERENCE_ENTITY_LIST category. ; _item.name '_pdbx_reference_entity_link.ref_entity_id_2' _item.category_id pdbx_reference_entity_link _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_link.ref_entity_id_2' _item_linked.parent_name '_pdbx_reference_entity_list.ref_entity_id' save_ save__pdbx_reference_entity_link.entity_seq_num_1 _item_description.description ; For a polymer entity, the sequence number in the first of the two entities containing the linkage. This data item is a pointer to _pdbx_reference_entity_poly_seq.num in the PDBX_REFERENCE_ENTITY_POLY_SEQ category. ; _item.name '_pdbx_reference_entity_link.entity_seq_num_1' _item.category_id pdbx_reference_entity_link _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_reference_entity_link.entity_seq_num_1' _item_linked.parent_name '_pdbx_reference_entity_poly_seq.num' save_ save__pdbx_reference_entity_link.entity_seq_num_2 _item_description.description ; For a polymer entity, the sequence number in the second of the two entities containing the linkage. This data item is a pointer to _pdbx_reference_entity_poly_seq.num in the PDBX_REFERENCE_ENTITY_POLY_SEQ category. ; _item.name '_pdbx_reference_entity_link.entity_seq_num_2' _item.category_id pdbx_reference_entity_link _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_reference_entity_link.entity_seq_num_2' _item_linked.parent_name '_pdbx_reference_entity_poly_seq.num' save_ save__pdbx_reference_entity_link.comp_id_1 _item_description.description ; The component identifier in the first of the two entities containing the linkage. For polymer entities, this data item is a pointer to _pdbx_reference_entity_poly_seq.mon_id in the PDBX_REFERENCE_ENTITY_POLY_SEQ category. For non-polymer entities, this data item is a pointer to _pdbx_reference_entity_nonpoly.chem_comp_id in the PDBX_REFERENCE_ENTITY_NONPOLY category. ; _item.name '_pdbx_reference_entity_link.comp_id_1' _item.category_id pdbx_reference_entity_link _item.mandatory_code yes _item_type.code code save_ save__pdbx_reference_entity_link.comp_id_2 _item_description.description ; The component identifier in the second of the two entities containing the linkage. For polymer entities, this data item is a pointer to _pdbx_reference_entity_poly_seq.mon_id in the PDBX_REFERENCE_ENTITY_POLY_SEQ category. For non-polymer entities, this data item is a pointer to _pdbx_reference_entity_nonpoly.chem_comp_id in the PDBX_REFERENCE_ENTITY_NONPOLY category. ; _item.name '_pdbx_reference_entity_link.comp_id_2' _item.category_id pdbx_reference_entity_link _item.mandatory_code yes _item_type.code code save_ save__pdbx_reference_entity_link.atom_id_1 _item_description.description ; The atom identifier/name in the first of the two entities containing the linkage. ; _item.name '_pdbx_reference_entity_link.atom_id_1' _item.category_id pdbx_reference_entity_link _item.mandatory_code yes _item_type.code atcode save_ save__pdbx_reference_entity_link.atom_id_2 _item_description.description ; The atom identifier/name in the second of the two entities containing the linkage. ; _item.name '_pdbx_reference_entity_link.atom_id_2' _item.category_id pdbx_reference_entity_link _item.mandatory_code yes _item_type.code code save_ save__pdbx_reference_entity_link.value_order _item_description.description ; The bond order target for the chemical linkage. ; _item.name '_pdbx_reference_entity_link.value_order' _item.category_id pdbx_reference_entity_link _item.mandatory_code no _item_default.value sing _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sing 'single bond' doub 'double bond' trip 'triple bond' quad 'quadruple bond' arom 'aromatic bond' poly 'polymeric bond' delo 'delocalised double bond' pi 'pi bond' save_ save__pdbx_reference_entity_link.component_1 _item_description.description ; The entity component identifier for the first of two entities containing the linkage. ; _item.name '_pdbx_reference_entity_link.component_1' _item.category_id pdbx_reference_entity_link _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_reference_entity_link.component_1' _item_linked.parent_name '_pdbx_reference_entity_list.component_id' save_ save__pdbx_reference_entity_link.component_2 _item_description.description ; The entity component identifier for the second of two entities containing the linkage. ; _item.name '_pdbx_reference_entity_link.component_2' _item.category_id pdbx_reference_entity_link _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_reference_entity_link.component_2' _item_linked.parent_name '_pdbx_reference_entity_list.component_id' save_ save__pdbx_reference_entity_link.nonpoly_res_num_1 _item_description.description ; The residue number for the first of two entities containing the linkage. ; _item.name '_pdbx_reference_entity_link.nonpoly_res_num_1' _item.category_id pdbx_reference_entity_link _item.mandatory_code no _item_type.code code save_ save__pdbx_reference_entity_link.nonpoly_res_num_2 _item_description.description ; The residue number for the second of two entities containing the linkage. ; _item.name '_pdbx_reference_entity_link.nonpoly_res_num_2' _item.category_id pdbx_reference_entity_link _item.mandatory_code no _item_type.code code save_ save__pdbx_reference_entity_link.link_class _item_description.description ; A code indicating the entity types involved in the linkage. ; _item.name '_pdbx_reference_entity_link.link_class' _item.category_id pdbx_reference_entity_link _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail PP 'polymer polymer' PN 'polymer non-polymer' NP 'non-polymer polymer' NN 'non-polymer non-polymer' save_ ##################################### ## PDBX_REFERENCE_ENTITY_POLY_LINK ## ##################################### save_pdbx_reference_entity_poly_link _category.description ; Data items in the PDBX_REFERENCE_ENTITY_POLY_LINK category give details about polymer linkages including both standard and non-standard linkages between polymer componnents. ; _category.id pdbx_reference_entity_poly_link _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_entity_poly_link.prd_id' '_pdbx_reference_entity_poly_link.ref_entity_id' '_pdbx_reference_entity_poly_link.link_id' '_pdbx_reference_entity_poly_link.component_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_reference_entity_poly_link.prd_id _pdbx_reference_entity_poly_link.ref_entity_id _pdbx_reference_entity_poly_link.component_id _pdbx_reference_entity_poly_link.link_id _pdbx_reference_entity_poly_link.entity_seq_num_1 _pdbx_reference_entity_poly_link.comp_id_1 _pdbx_reference_entity_poly_link.atom_id_1 _pdbx_reference_entity_poly_link.entity_seq_num_2 _pdbx_reference_entity_poly_link.comp_id_2 _pdbx_reference_entity_poly_link.atom_id_2 _pdbx_reference_entity_poly_link.value_order PRD_000001 1 1 1 1 DSN C 2 ALA N 'single' PRD_000001 1 1 2 2 ALA C 3 N2C N 'single' PRD_000001 1 1 3 2 ALA C 3 N2C N 'single' PRD_000001 1 1 4 2 ALA C 3 NCY N 'single' PRD_000001 1 1 5 3 N2C C 4 MVA N 'single' PRD_000001 1 1 6 3 NCY C 4 MVA N 'single' PRD_000001 1 1 7 4 MVA C 5 DSN OG 'single' PRD_000001 1 1 8 5 DSN C 6 ALA N 'single' PRD_000001 1 1 8 6 ALA C 7 NCY N 'single' PRD_000001 1 1 9 6 ALA C 7 N2C N 'single' PRD_000001 1 1 8 7 NCY C 8 MVA N 'single' PRD_000001 1 1 9 7 N2C C 8 MVZ N 'single' # .... ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_entity_poly_link.link_id _item_description.description ; The value of _pdbx_reference_entity_poly_link.link_id uniquely identifies a linkage within a polymer entity. ; _item.name '_pdbx_reference_entity_poly_link.link_id' _item.mandatory_code yes _item_type.code int save_ save__pdbx_reference_entity_poly_link.prd_id _item_description.description ; The value of _pdbx_reference_entity_poly_link.prd_id is a reference _pdbx_reference_entity_list.prd_id in the PDBX_REFERENCE_ENTITY_POLY category. ; _item.name '_pdbx_reference_entity_poly_link.prd_id' _item.category_id pdbx_reference_entity_poly_link _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_poly_link.prd_id' _item_linked.parent_name '_pdbx_reference_entity_poly.prd_id' save_ save__pdbx_reference_entity_poly_link.details _item_description.description ; A description of special aspects of this linkage. ; _item.name '_pdbx_reference_entity_poly_link.details' _item.category_id pdbx_reference_entity_poly_link _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_entity_poly_link.ref_entity_id _item_description.description ; The reference entity id of the polymer entity containing the linkage. This data item is a pointer to _pdbx_reference_entity_poly.ref_entity_id in the PDBX_REFERENCE_ENTITY_POLY category. ; _item.name '_pdbx_reference_entity_poly_link.ref_entity_id' _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_poly_link.ref_entity_id' _item_linked.parent_name '_pdbx_reference_entity_list.ref_entity_id' save_ save__pdbx_reference_entity_poly_link.component_id _item_description.description ; The entity component identifier entity containing the linkage. ; _item.name '_pdbx_reference_entity_poly_link.component_id' _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_reference_entity_poly_link.component_id' _item_linked.parent_name '_pdbx_reference_entity_list.component_id' save_ save__pdbx_reference_entity_poly_link.entity_seq_num_1 _item_description.description ; For a polymer entity, the sequence number in the first of the two components making the linkage. This data item is a pointer to _pdbx_reference_entity_poly_seq.num in the PDBX_REFERENCE_ENTITY_POLY_SEQ category. ; _item.name '_pdbx_reference_entity_poly_link.entity_seq_num_1' _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_reference_entity_poly_link.entity_seq_num_1' _item_linked.parent_name '_pdbx_reference_entity_poly_seq.num' save_ save__pdbx_reference_entity_poly_link.entity_seq_num_2 _item_description.description ; For a polymer entity, the sequence number in the second of the two components making the linkage. This data item is a pointer to _pdbx_reference_entity_poly_seq.num in the PDBX_REFERENCE_ENTITY_POLY_SEQ category. ; _item.name '_pdbx_reference_entity_poly_link.entity_seq_num_2' _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_reference_entity_poly_link.entity_seq_num_2' _item_linked.parent_name '_pdbx_reference_entity_poly_seq.num' save_ save__pdbx_reference_entity_poly_link.comp_id_1 _item_description.description ; The component identifier in the first of the two components making the linkage. This data item is a pointer to _pdbx_reference_entity_poly_seq.mon_id in the PDBX_REFERENCE_ENTITY_POLY_SEQ category. ; _item.name '_pdbx_reference_entity_poly_link.comp_id_1' _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_reference_entity_poly_link.comp_id_1' _item_linked.parent_name '_pdbx_reference_entity_poly_seq.mon_id' save_ save__pdbx_reference_entity_poly_link.comp_id_2 _item_description.description ; The component identifier in the second of the two components making the linkage. This data item is a pointer to _pdbx_reference_entity_poly_seq.mon_id in the PDBX_REFERENCE_ENTITY_POLY_SEQ category. ; _item.name '_pdbx_reference_entity_poly_link.comp_id_2' _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_reference_entity_poly_link.comp_id_2' _item_linked.parent_name '_pdbx_reference_entity_poly_seq.mon_id' save_ save__pdbx_reference_entity_poly_link.atom_id_1 _item_description.description ; The atom identifier/name in the first of the two components making the linkage. ; _item.name '_pdbx_reference_entity_poly_link.atom_id_1' _item.mandatory_code yes _item_type.code atcode save_ save__pdbx_reference_entity_poly_link.atom_id_2 _item_description.description ; The atom identifier/name in the second of the two components making the linkage. ; _item.name '_pdbx_reference_entity_poly_link.atom_id_2' _item.mandatory_code yes _item_type.code code save_ save__pdbx_reference_entity_poly_link.insert_code_1 _item_description.description ; The residue insertion code for the first of the two components making the non-standard linkage. ; _item.name '_pdbx_reference_entity_poly_link.insert_code_1' _item.mandatory_code no _item_type.code code save_ save__pdbx_reference_entity_poly_link.insert_code_2 _item_description.description ; The residue insertion code for the second of the two components making the non-standard linkage. ; _item.name '_pdbx_reference_entity_poly_link.insert_code_2' _item.mandatory_code no _item_type.code code save_ save__pdbx_reference_entity_poly_link.value_order _item_description.description ; The bond order target for the non-standard linkage. ; _item.name '_pdbx_reference_entity_poly_link.value_order' _item.category_id pdbx_reference_entity_poly_link _item.mandatory_code no _item_default.value sing _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sing 'single bond' doub 'double bond' trip 'triple bond' quad 'quadruple bond' arom 'aromatic bond' poly 'polymeric bond' delo 'delocalised double bond' pi 'pi bond' save_ # ################################ ## PDBX_REFERENCE_ENTITY_POLY ## ################################ save_pdbx_reference_entity_poly _category.description ; Data items in the PDBX_REFERENCE_ENTITY_POLY category record details about the polymer, such as the type of the polymer, the number of monomers and whether it has nonstandard features. ; _category.id pdbx_reference_entity_poly _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_entity_poly.prd_id' '_pdbx_reference_entity_poly.ref_entity_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 Actinomycin ; ; loop_ _pdbx_reference_entity_poly.prd_id _pdbx_reference_entity_poly.ref_entity_id _pdbx_reference_entity_poly.type _pdbx_reference_entity_poly.db_code _pdbx_reference_entity_poly.db_name PRD_000001 1 "peptide-like" NOR00228 Norine PRD_000006 2 "peptide-like" ? "Semi-synthetic" PRD_000007 3 "peptide-like" NOR00232 Norine PRD_000009 4 "peptide-like" NOR00237 Norine PRD_000010 5 "peptide-like" ? "Semi-synthetic" PRD_000011 6 "peptide-like" ? "Semi-synthetic" ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_entity_poly.prd_id _item_description.description ; The value of _pdbx_reference_entity_poly.prd_id is a reference _pdbx_reference_entity_list.prd_id in the PDBX_REFERENCE_ENTITY_LIST category. ; _item.name '_pdbx_reference_entity_poly.prd_id' _item.category_id pdbx_reference_entity_poly _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_poly.prd_id' _item_linked.parent_name '_pdbx_reference_entity_list.prd_id' save_ save__pdbx_reference_entity_poly.ref_entity_id _item_description.description ; The value of _pdbx_reference_entity_poly.ref_entity_id is a reference to _pdbx_reference_entity_list.ref_entity_id in PDBX_REFERENCE_ENTITY_LIST category. ; _item.name '_pdbx_reference_entity_poly.ref_entity_id' _item.category_id pdbx_reference_entity_poly _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_poly.ref_entity_id' _item_linked.parent_name '_pdbx_reference_entity_list.ref_entity_id' save_ save__pdbx_reference_entity_poly.type _item_description.description ; The type of the polymer. ; _item.name '_pdbx_reference_entity_poly.type' _item.category_id pdbx_reference_entity_poly _item.mandatory_code no _item_type.code line _item_examples.case 'peptide-like' loop_ _item_enumeration.value _item_enumeration.detail 'peptide-like' 'Where the majority of residue linkages are peptide bonds' 'nucleic-acid-like' 'Where the majority of residue linkages are nucleotide sugar phosphate bonds' 'polysaccharide-like' 'Where the majority of residue linkages are sugar to sugar bonds' 'oligosaccharide' 'Where the majority of residue linkages are sugar to sugar bonds' save_ save__pdbx_reference_entity_poly.db_code _item_description.description ; The database code for this source information ; _item.name '_pdbx_reference_entity_poly.db_code' _item.category_id pdbx_reference_entity_poly _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_entity_poly.db_name _item_description.description ; The database name for this source information ; _item.name '_pdbx_reference_entity_poly.db_name' _item.category_id pdbx_reference_entity_poly _item.mandatory_code no _item_type.code text save_ #################################### ## PDBX_REFERENCE_ENTITY_POLY_SEQ ## #################################### save_pdbx_reference_entity_poly_seq _category.description ; Data items in the PDBX_REFERENCE_ENTITY_POLY_SEQ category specify the sequence of monomers in a polymer. ; _category.id pdbx_reference_entity_poly_seq _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_entity_poly_seq.prd_id' '_pdbx_reference_entity_poly_seq.ref_entity_id' '_pdbx_reference_entity_poly_seq.num' '_pdbx_reference_entity_poly_seq.mon_id' '_pdbx_reference_entity_poly_seq.hetero' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 Actinomycin ; ; loop_ _pdbx_reference_entity_poly_seq.prd_id _pdbx_reference_entity_poly_seq.ref_entity_id _pdbx_reference_entity_poly_seq.num _pdbx_reference_entity_poly_seq.parent_mon_id _pdbx_reference_entity_poly_seq.mon_id _pdbx_reference_entity_poly_seq.observed _pdbx_reference_entity_poly_seq.hetero PRD_000001 1 1 THR THR Y N PRD_000001 1 2 VAL DVA Y N PRD_000001 1 3 PRO PRO Y N PRD_000001 1 4 GLY SAR Y N PRD_000001 1 5 VAL MVA Y N PRD_000001 1 6 . PXZ Y N PRD_000001 1 7 THR THR Y N PRD_000001 1 8 VAL DVA Y N PRD_000001 1 9 PRO PRO Y N PRD_000001 1 10 GLY SAR Y N PRD_000001 1 11 VAL MVA Y N # # ---- data abbreviated ----- ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_entity_poly_seq.prd_id _item_description.description ; The value of _pdbx_reference_entity_poly_seq.prd_id is a reference _pdbx_reference_entity_poly.prd_id in the PDBX_REFERENCE_ENTITY_POLY category. ; _item.name '_pdbx_reference_entity_poly_seq.prd_id' _item.category_id pdbx_reference_entity_poly_seq _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_poly_seq.prd_id' _item_linked.parent_name '_pdbx_reference_entity_poly.prd_id' save_ save__pdbx_reference_entity_poly_seq.ref_entity_id _item_description.description ; The value of _pdbx_reference_entity_poly_seq.ref_entity_id is a reference to _pdbx_reference_entity_poly.ref_entity_id in PDBX_REFERENCE_ENTITY_POLY category. ; _item.name '_pdbx_reference_entity_poly_seq.ref_entity_id' _item.category_id pdbx_reference_entity_poly_seq _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_poly_seq.ref_entity_id' _item_linked.parent_name '_pdbx_reference_entity_poly.ref_entity_id' save_ save__pdbx_reference_entity_poly_seq.mon_id _item_description.description ; This data item is the chemical component identifier of monomer. ; _item.name '_pdbx_reference_entity_poly_seq.mon_id' _item.category_id pdbx_reference_entity_poly_seq _item.mandatory_code yes _item_type.code code save_ save__pdbx_reference_entity_poly_seq.parent_mon_id _item_description.description ; This data item is the chemical component identifier for the parent component corresponding to this monomer. ; _item.name '_pdbx_reference_entity_poly_seq.parent_mon_id' _item.category_id pdbx_reference_entity_poly_seq _item.mandatory_code no _item_type.code code save_ save__pdbx_reference_entity_poly_seq.num _item_description.description ; The value of _pdbx_reference_entity_poly_seq.num must uniquely and sequentially identify a record in the PDBX_REFERENCE_ENTITY_POLY_SEQ list. This value is conforms to author numbering conventions and does not map directly to the numbering conventions used for _entity_poly_seq.num. ; _item.name '_pdbx_reference_entity_poly_seq.num' _item.category_id pdbx_reference_entity_poly_seq _item.mandatory_code yes # loop_ # _item_range.maximum # _item_range.minimum . 0 # 0 0 _item_type.code int save_ save__pdbx_reference_entity_poly_seq.observed _item_description.description ; A flag to indicate that this monomer is observed in the instance example. ; _item.name '_pdbx_reference_entity_poly_seq.observed' _item.category_id pdbx_reference_entity_poly_seq _item.mandatory_code no _item_type.code ucode _item_default.value Y loop_ _item_enumeration.value _item_enumeration.detail Y 'observed' N 'not observed' _item_examples.case Y save_ save__pdbx_reference_entity_poly_seq.hetero _item_description.description ; A flag to indicate that sequence heterogeneity at this monomer position. ; _item.name '_pdbx_reference_entity_poly_seq.hetero' _item.category_id pdbx_reference_entity_poly_seq _item.mandatory_code yes _item_type.code ucode _item_default.value N loop_ _item_enumeration.value _item_enumeration.detail Y 'sequence is heterogeneous at this monomer' N 'sequence is not heterogeneous at this monomer' _item_examples.case N save_ #################################### ## PDBX_REFERENCE_ENTITY_SEQUENCE ## #################################### save_pdbx_reference_entity_sequence _category.description ; Additional features associated with the reference entity. ; _category.id 'pdbx_reference_entity_sequence' _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_entity_sequence.prd_id' '_pdbx_reference_entity_sequence.ref_entity_id' # loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Actinomycin ; ; # loop_ _pdbx_reference_entity_sequence.prd_id _pdbx_reference_entity_sequence.ref_entity_id _pdbx_reference_entity_sequence.type _pdbx_reference_entity_sequence.NRP_flag _pdbx_reference_entity_sequence.one_letter_codes PRD_000001 1 peptide-like Y TVPGVXTVPGV PRD_000006 2 peptide-like Y TVPGVXTVPGV PRD_000007 3 peptide-like Y TVPGVXTVPGV PRD_000009 4 peptide-like Y TVPGVXTVPGV PRD_000010 5 peptide-like Y TVPGVXTVPGV PRD_000011 6 peptide-like Y TVPGVXTVPGV ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_entity_sequence.prd_id _item_description.description ; The value of _pdbx_reference_entity_sequence.prd_id is a reference _pdbx_reference_entity_list.prd_id in the PDBX_REFERENCE_ENTITY_LIST category. ; _item.name '_pdbx_reference_entity_sequence.prd_id' _item.category_id pdbx_reference_entity_sequence _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_sequence.prd_id' _item_linked.parent_name '_pdbx_reference_molecule.prd_id' save_ save__pdbx_reference_entity_sequence.ref_entity_id _item_description.description ; The value of _pdbx_reference_entity_sequence.ref_entity_id is a reference to _pdbx_reference_entity_list.ref_entity_id in PDBX_REFERENCE_ENTITY_LIST category. ; _item.name '_pdbx_reference_entity_sequence.ref_entity_id' _item.category_id pdbx_reference_entity_sequence _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_sequence.ref_entity_id' _item_linked.parent_name '_pdbx_reference_entity_list.ref_entity_id' save_ save__pdbx_reference_entity_sequence.type _item_description.description ; The monomer type for the sequence. ; _item.name '_pdbx_reference_entity_sequence.type' _item.category_id pdbx_reference_entity_sequence _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'peptide-like' 'saccharide' loop_ _item_enumeration.value _item_enumeration.detail peptide-like . saccharide . save_ # save__pdbx_reference_entity_sequence.NRP_flag _item_description.description ; A flag to indicate a non-ribosomal entity. ; _item.name '_pdbx_reference_entity_sequence.NRP_flag' _item.category_id pdbx_reference_entity_sequence _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail Y 'non-ribosomal' N 'ribosomal' _item_examples.case Y save_ save__pdbx_reference_entity_sequence.one_letter_codes _item_description.description ; The one-letter-code sequence for this entity. Non-standard monomers are represented as 'X'. ; _item.name '_pdbx_reference_entity_sequence.one_letter_codes' _item.category_id pdbx_reference_entity_sequence _item.mandatory_code yes _item_type.code line save_ ################################### ## PDBX_REFERENCE_ENTITY_SRC_NAT ## ################################### save_pdbx_reference_entity_src_nat _category.description ; Data items in the PDBX_REFERENCE_ENTITY_SRC_NAT category record details of the source from which the entity was obtained. ; _category.id pdbx_reference_entity_src_nat _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_entity_src_nat.prd_id' '_pdbx_reference_entity_src_nat.ref_entity_id' '_pdbx_reference_entity_src_nat.ordinal' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Actinomycin ; ; loop_ _pdbx_reference_entity_src_nat.prd_id _pdbx_reference_entity_src_nat.ref_entity_id _pdbx_reference_entity_src_nat.ordinal _pdbx_reference_entity_src_nat.taxid _pdbx_reference_entity_src_nat.organism_scientific _pdbx_reference_entity_src_nat.source _pdbx_reference_entity_src_nat.atcc _pdbx_reference_entity_src_nat.db_code _pdbx_reference_entity_src_nat.db_name PRD_000001 1 1 146923 "Streptomyces parvulus" KEGG ? C06770 KEGG PRD_000001 1 2 1892 "Streptomyces anulatus" Norine ? NOR00228 Norine PRD_000001 1 3 1890 "Streptomyces antibioticus" Norine ? NOR00228 Norine PRD_000001 1 4 146923 "Streptomyces parvulus" Norine ? NOR00228 Norine PRD_000002 2 5 1892 "Streptomyces chrysomallus" Norine ? NOR00228 Norine PRD_000003 3 6 1892 "Streptomyces chrysomallus" Norine ? NOR00233 Norine PRD_000003 3 7 1931 "Streptomyces sp." Norine ? NOR00233 Norine ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_entity_src_nat.prd_id _item_description.description ; The value of _pdbx_reference_entity_src_nat.prd_id is a reference _pdbx_reference_entity_list.prd_id in the PDBX_REFERENCE_ENTITY_LIST category. ; _item.name '_pdbx_reference_entity_src_nat.prd_id' _item.category_id pdbx_reference_entity_src_nat # _item.mandatory_code yes _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_src_nat.prd_id' _item_linked.parent_name '_pdbx_reference_entity_list.prd_id' save_ save__pdbx_reference_entity_src_nat.ref_entity_id _item_description.description ; The value of _pdbx_reference_entity_src_nat.ref_entity_id is a reference to _pdbx_reference_entity_list.ref_entity_id in PDBX_REFERENCE_ENTITY_LIST category. ; _item.name '_pdbx_reference_entity_src_nat.ref_entity_id' _item.category_id pdbx_reference_entity_src_nat _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_src_nat.ref_entity_id' _item_linked.parent_name '_pdbx_reference_entity_list.ref_entity_id' save_ save__pdbx_reference_entity_src_nat.ordinal _item_description.description ; The value of _pdbx_reference_entity_src_nat.ordinal distinguishes source details for this entity. ; _item.name '_pdbx_reference_entity_src_nat.ordinal' _item.category_id pdbx_reference_entity_src_nat _item.mandatory_code yes _item_type.code int save_ save__pdbx_reference_entity_src_nat.organism_scientific _item_description.description ; The scientific name of the organism from which the entity was isolated. ; _item.name '_pdbx_reference_entity_src_nat.organism_scientific' _item.category_id pdbx_reference_entity_src_nat _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Mus musculus' save_ save__pdbx_reference_entity_src_nat.strain _item_description.description ; The strain of the organism from which the entity was isolated. ; _item.name '_pdbx_reference_entity_src_nat.strain' _item.category_id pdbx_reference_entity_src_nat _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'DH5a' 'BMH 71-18' save_ save__pdbx_reference_entity_src_nat.taxid _item_description.description ; The NCBI TaxId of the organism from which the entity was isolated. ; _item.name '_pdbx_reference_entity_src_nat.taxid' _item.category_id pdbx_reference_entity_src_nat _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_entity_src_nat.atcc _item_description.description ; The Americal Tissue Culture Collection code for organism from which the entity was isolated. ; _item.name '_pdbx_reference_entity_src_nat.atcc' _item.category_id pdbx_reference_entity_src_nat _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_entity_src_nat.db_code _item_description.description ; The database code for this source information ; _item.name '_pdbx_reference_entity_src_nat.db_code' _item.category_id pdbx_reference_entity_src_nat _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_entity_src_nat.db_name _item_description.description ; The database name for this source information ; _item.name '_pdbx_reference_entity_src_nat.db_name' _item.category_id pdbx_reference_entity_src_nat _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_entity_src_nat.source _item_description.description ; The data source for this information. ; _item.name '_pdbx_reference_entity_src_nat.source' _item.category_id pdbx_reference_entity_src_nat _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_entity_src_nat.source_id _item_description.description ; A identifier within the data source for this information. ; _item.name '_pdbx_reference_entity_src_nat.source_id' _item.category_id pdbx_reference_entity_src_nat _item.mandatory_code no _item_type.code text save_ ##################################### ## PDBX_REFERENCE_MOLECULE_DETAILS ## ##################################### save_pdbx_reference_molecule_details _category.description ; Data items in the PDBX_REFERENCE_MOLECULE_DETAILS category records textual details about small polymer molecules. ; _category.id pdbx_reference_molecule_details _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_molecule_details.family_prd_id' '_pdbx_reference_molecule_details.ordinal' # '_pdbx_reference_molecule_details.prd_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_family_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 Actinomycin ; ; loop_ _pdbx_reference_molecule_details.family_prd_id _pdbx_reference_molecule_details.prd_id _pdbx_reference_molecule_details.ordinal _pdbx_reference_molecule_details.source _pdbx_reference_molecule_details.source_id _pdbx_reference_molecule_details.text FAM_000001 PRD_000001 1 Wikipedia ? ; Actinomycin D is primarily used as an investigative tool in cell biology to inhibit transcription. It does this by binding DNA at the transcription initiation complex and preventing elongation by RNA polymerase. Because it can bind DNA duplexes, it can also interfere with DNA replication, although other chemicals such as hydroxyurea are better suited for use in the laboratory as inhibitors of DNA synthesis. ; FAM_000001 PRD_000001 2 DrugBank ? ; A compound composed of a two cyclic peptides attached to a phenoxazine that is derived from streptomyces parvullus. It binds to DNA and inhibits RNA synthesis (transcription), with chain elongation more sensitive than initiation, termination, or release. As a result of impaired mRNA production, protein synthesis also declines after dactinomycin therapy. ; FAM_000001 PRD_000003 3 DOI "DOI:10.1016/S0960-894X(98)00345-X" ; Actinomycin D, C2 and VII, cyclic peptides, inhibit Grb2 SH2 domain association with a phosphotyrosine containing peptide derived from the Shc protein (pTyr317). Actinomycins are the first examples of nonphosphorylated natural ligands of SH2 domain. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_molecule_details.family_prd_id _item_description.description ; The value of _pdbx_reference_molecule_details.family_prd_id is a reference to _pdbx_reference_molecule_list.family_prd_id' in category PDBX_REFERENCE_MOLECULE_FAMILY. ; _item.name '_pdbx_reference_molecule_details.family_prd_id' _item.category_id pdbx_reference_molecule_details _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_molecule_details.family_prd_id' _item_linked.parent_name '_pdbx_reference_molecule_list.family_prd_id' save_ save__pdbx_reference_molecule_details.prd_id _item_description.description ; The value of _pdbx_reference_molecule_details.prd_id is a reference to _pdbx_reference_molecule.prd_id in the PDBX_REFERENCE_MOLECULE category. ; _item.name '_pdbx_reference_molecule_details.prd_id' _item.category_id pdbx_reference_molecule_details # _item.mandatory_code yes _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_reference_molecule_details.prd_id' _item_linked.parent_name '_pdbx_reference_molecule.prd_id' save_ save__pdbx_reference_molecule_details.ordinal _item_description.description ; The value of _pdbx_reference_molecule_details.ordinal is an ordinal that distinguishes each descriptive text for this entity. ; _item.name '_pdbx_reference_molecule_details.ordinal' _item.category_id pdbx_reference_molecule_details _item.mandatory_code yes _item_type.code int save_ save__pdbx_reference_molecule_details.source _item_description.description ; A data source of this information (e.g. PubMed, Merck Index) ; _item.name '_pdbx_reference_molecule_details.source' _item.category_id pdbx_reference_molecule_details _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_molecule_details.source_id _item_description.description ; A identifier within the data source for this information. ; _item.name '_pdbx_reference_molecule_details.source_id' _item.category_id pdbx_reference_molecule_details _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_molecule_details.text _item_description.description ; The text of the description of special aspects of the entity. ; _item.name '_pdbx_reference_molecule_details.text' _item.category_id pdbx_reference_molecule_details _item.mandatory_code yes _item_type.code text save_ ###################################### ## PDBX_REFERENCE_MOLECULE_SYNONYMS ## ###################################### save_pdbx_reference_molecule_synonyms _category.description ; Data items in the PDBX_REFERENCE_MOLECULE_SYNONYMS category records synonym names for reference entities. ; _category.id pdbx_reference_molecule_synonyms _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_molecule_synonyms.family_prd_id' '_pdbx_reference_molecule_synonyms.prd_id' '_pdbx_reference_molecule_synonyms.ordinal' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_family_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 Actinomycin ; ; loop_ _pdbx_reference_molecule_synonyms.family_prd_id _pdbx_reference_molecule_synonyms.prd_id _pdbx_reference_molecule_synonyms.ordinal _pdbx_reference_molecule_synonyms.source _pdbx_reference_molecule_synonyms.name FAM_000001 PRD_000001 1 PDB "ACTINOMYCIN" FAM_000001 PRD_000001 2 SciFinder ; 3H-Phenoxazine-1,9-dicarboxamide, 2-amino-N,N'-bis(hexadecahydro-6,13-diisopropyl-2,5,9-trimethyl-1,4,7,11,14-pentaoxo- 1H-pyrrolo[2,1-i][1,4,7,10,13]oxatetraazacyclohexadecin-10-yl)-4,6-dimethyl-3-oxo-(7CI) ; FAM_000001 PRD_000001 3 SciFinder "Actinomycin C1 (6CI)" FAM_000001 PRD_000001 4 SciFinder "1H-Pyrrolo[2,1-i][1,4,7,10,13]oxatetraazacyclohexadecine, cyclic peptide deriv." FAM_000001 PRD_000001 5 SciFinder "3H-Phenoxazine, actinomycin D deriv." FAM_000001 PRD_000001 6 SciFinder "Actactinomycin A IV" FAM_000001 PRD_000001 7 SciFinder "Actinomycin 7" ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_molecule_synonyms.family_prd_id _item_description.description ; The value of _pdbx_reference_molecule_synonyms.family_prd_id is a reference to _pdbx_reference_molecule_list.family_prd_id in category PDBX_REFERENCE_MOLECULE_FAMILY_LIST. ; _item.name '_pdbx_reference_molecule_synonyms.family_prd_id' _item.category_id pdbx_reference_molecule_synonyms _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_molecule_synonyms.family_prd_id' _item_linked.parent_name '_pdbx_reference_molecule_list.family_prd_id' save_ save__pdbx_reference_molecule_synonyms.prd_id _item_description.description ; The value of _pdbx_reference_molecule_synonyms.prd_id is a reference _pdbx_reference_molecule.prd_id in the PDBX_REFERENCE_MOLECULE category. ; _item.name '_pdbx_reference_molecule_synonyms.prd_id' _item.category_id pdbx_reference_molecule_synonyms _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_molecule_synonyms.prd_id' _item_linked.parent_name '_pdbx_reference_molecule.prd_id' save_ save__pdbx_reference_molecule_synonyms.ordinal _item_description.description ; The value of _pdbx_reference_molecule_synonyms.ordinal is an ordinal to distinguish synonyms for this entity. ; _item.name '_pdbx_reference_molecule_synonyms.ordinal' _item.category_id pdbx_reference_molecule_synonyms _item.mandatory_code yes _item_type.code int save_ save__pdbx_reference_molecule_synonyms.name _item_description.description ; A synonym name for the entity. ; _item.name '_pdbx_reference_molecule_synonyms.name' _item.category_id pdbx_reference_molecule_synonyms _item.mandatory_code yes _item_type.code text _item_examples.case 'thiostrepton' save_ save__pdbx_reference_molecule_synonyms.source _item_description.description ; The source of this synonym name for the entity. ; _item.name '_pdbx_reference_molecule_synonyms.source' _item.category_id pdbx_reference_molecule_synonyms _item.mandatory_code yes _item_type.code text _item_examples.case 'CAS' save_ save__pdbx_reference_molecule_synonyms.chem_comp_id _item_description.description ; For entities represented as single molecules, the identifier corresponding to the chemical definition for the molecule. ; _item.name '_pdbx_reference_molecule_synonyms.chem_comp_id' _item.category_id pdbx_reference_molecule_synonyms _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case '0Z3' 'CD9' save_ ######################################### ## PDBX_REFERENCE_ENTITY_SUBCOMPONENTS ## ######################################### save_pdbx_reference_entity_subcomponents _category.description ; Data items in the PDBX_REFERENCE_ENTITY_SUBCOMPONENTS category records subcomponent sequence from which this entity could be built. ; _category.id pdbx_reference_entity_subcomponents _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_entity_subcomponents.prd_id' '_pdbx_reference_entity_subcomponents.seq' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 0G6 ; ; # loop_ _pdbx_reference_entity_subcomponents.prd_id _pdbx_reference_entity_subcomponents.seq _pdbx_reference_entity_subcomponents.chem_comp_id PRD_000001 "DPN PRO ARG 0QE" 0G6 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_entity_subcomponents.prd_id _item_description.description ; The value of _pdbx_reference_entity_subcomponents.prd_id is a reference _pdbx_reference_molecule.prd_id in the PDBX_REFERENCE_MOLECULE category. ; _item.name '_pdbx_reference_entity_subcomponents.prd_id' _item.category_id pdbx_reference_entity_subcomponents _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_entity_subcomponents.prd_id' _item_linked.parent_name '_pdbx_reference_molecule.prd_id' save_ save__pdbx_reference_entity_subcomponents.seq _item_description.description ; The subcomponent sequence for the entity. ; _item.name '_pdbx_reference_entity_subcomponents.seq' _item.category_id pdbx_reference_entity_subcomponents _item.mandatory_code yes _item_type.code text _item_examples.case "ACE DLY GLY DAL DCY DAS DTY DPR DGL DTR DGN DTR DLE DCY DAL DAL NH2" save_ save__pdbx_reference_entity_subcomponents.chem_comp_id _item_description.description ; For entities represented as single molecules, the identifier corresponding to the chemical definition for the molecule. ; _item.name '_pdbx_reference_entity_subcomponents.chem_comp_id' _item.category_id pdbx_reference_entity_subcomponents _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case '0Z3' 'CD9' save_ ######################################## ## PDBX_REFERENCE_MOLECULE_ANNOTATION ## ######################################## save_pdbx_reference_molecule_annotation _category.description ; Data items in the PDBX_REFERENCE_MOLECULE_ANNOTATION category specify additional annotation relevant to the molecular entities. ; _category.id pdbx_reference_molecule_annotation _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_molecule_annotation.family_prd_id' '_pdbx_reference_molecule_annotation.ordinal' # '_pdbx_reference_molecule_annotation.prd_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_family_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 Actinomycin ; ; loop_ _pdbx_reference_molecule_annotation.family_prd_id _pdbx_reference_molecule_annotation.prd_id _pdbx_reference_molecule_annotation.ordinal _pdbx_reference_molecule_annotation.source _pdbx_reference_molecule_annotation.type _pdbx_reference_molecule_annotation.text FAM_000001 PRD_000001 1 KEGG Function "RNA polymerase inhibitor" FAM_000001 PRD_000001 2 KEGG Function "antineoplastic" FAM_000001 PRD_000001 3 DrugBank Function "Nucleic Acid Synthesis Inhibitor" FAM_000001 PRD_000001 4 DrugBank Function "Protein Synthesis Inhibitor" FAM_000001 PRD_000001 5 Norine Function "antibiotic" FAM_000001 PRD_000001 6 Norine Function "antitumor" FAM_000001 PRD_000001 7 PubChem Function "transcriptional inhibitor" ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_molecule_annotation.family_prd_id _item_description.description ; The value of _pdbx_reference_molecule_annotation.family_prd_id is a reference to _pdbx_reference_molecule_list.family_prd_id in category PDBX_REFERENCE_MOLECULE_FAMILY_LIST. ; _item.name '_pdbx_reference_molecule_annotation.family_prd_id' _item.category_id pdbx_reference_molecule_annotation _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_molecule_annotation.family_prd_id' _item_linked.parent_name '_pdbx_reference_molecule_list.family_prd_id' save_ save__pdbx_reference_molecule_annotation.prd_id _item_description.description ; This data item is a pointer to _pdbx_reference_molecule.prd_id in the PDB_REFERENCE_MOLECULE category. ; _item.name '_pdbx_reference_molecule_annotation.prd_id' _item.category_id pdbx_reference_molecule_annotation # _item.mandatory_code yes _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_reference_molecule_annotation.prd_id' _item_linked.parent_name '_pdbx_reference_molecule.prd_id' save_ save__pdbx_reference_molecule_annotation.ordinal _item_description.description ; This data item distinguishes anotations for this entity. ; _item.name '_pdbx_reference_molecule_annotation.ordinal' _item.category_id pdbx_reference_molecule_annotation _item.mandatory_code yes _item_type.code int save_ save__pdbx_reference_molecule_annotation.text _item_description.description ; Text describing the annotation for this entity. ; _item.name '_pdbx_reference_molecule_annotation.text' _item.category_id pdbx_reference_molecule_annotation _item.mandatory_code yes _item_type.code text loop_ _item_examples.case 'antigen binding' 'glucose transporter activity' save_ save__pdbx_reference_molecule_annotation.type _item_description.description ; Type of annotation for this entity. ; _item.name '_pdbx_reference_molecule_annotation.type' _item.category_id pdbx_reference_molecule_annotation _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'Function' 'Use' 'Pharmacology' 'Mechanism_of_Action' 'Biological_Activity' 'Inhibitor_Class' 'Therapeutic_Category' 'Research_Use' 'Other_annotation' save_ save__pdbx_reference_molecule_annotation.support _item_description.description ; Text describing the experimentation or computational evidence for the annotation. ; _item.name '_pdbx_reference_molecule_annotation.support' _item.category_id pdbx_reference_molecule_annotation _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'fluoresence measurements using flow cytometry' 'kinase binding assay' save_ # save__pdbx_reference_molecule_annotation.source _item_description.description ; The source of the annoation for this entity. ; _item.name '_pdbx_reference_molecule_annotation.source' _item.category_id pdbx_reference_molecule_annotation _item.mandatory_code yes _item_type.code text loop_ _item_examples.case 'depositor provided' 'from UniProt Entry P200311' save_ save__pdbx_reference_molecule_annotation.chem_comp_id _item_description.description ; For entities represented as single molecules, the identifier corresponding to the chemical definition for the molecule. ; _item.name '_pdbx_reference_molecule_annotation.chem_comp_id' _item.category_id pdbx_reference_molecule_annotation _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case '0Z3' 'CD9' save_ ###################################### ## PDBX_REFERENCE_MOLECULE_FEATURES ## ###################################### save_pdbx_reference_molecule_features _category.description ; Additional features associated with the reference entity. ; _category.id 'pdbx_reference_molecule_features' _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_molecule_features.family_prd_id' '_pdbx_reference_molecule_features.prd_id' '_pdbx_reference_molecule_features.ordinal' # loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_family_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 Actinomycin ; ; loop_ _pdbx_reference_molecule_features.family_prd_id _pdbx_reference_molecule_features.prd_id _pdbx_reference_molecule_features.ordinal _pdbx_reference_molecule_features.source_ordinal _pdbx_reference_molecule_features.source _pdbx_reference_molecule_features.type _pdbx_reference_molecule_features.value FAM_000001 PRD_000001 1 1 CAS External_Reference_ID 50-76-0 FAM_000001 PRD_000001 2 1 Merck External_Reference_ID 14:2800 FAM_000001 PRD_000001 3 1 Beilstein External_Reference_ID 4173766 FAM_000001 PRD_000001 4 1 DrugBank External_Reference_ID DB00970 FAM_000001 PRD_000001 5 1 Norine External_Reference_ID NOR00228 FAM_000001 PRD_000001 6 1 PubChem External_Reference_ID 2019 FAM_000001 PRD_000001 7 1 ChemSpider External_Reference_ID 1942 FAM_000001 PRD_000001 8 1 ChEBI External_Reference_ID 27666 FAM_000001 PRD_000001 9 1 ChemDB External_Reference_ID 3965267 FAM_000001 PRD_000001 10 1 ChemIDplus External_Reference_ID 000050760 FAM_000001 PRD_000001 11 1 ChemBank External_Reference_ID 329 FAM_000001 PRD_000001 12 1 KEGG KEGG_CompoundID C06770 FAM_000001 PRD_000001 13 1 KEGG KEGG_DrugID D00214 FAM_000001 PRD_000001 14 1 MESH MESH_Unique_ID D003609 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_molecule_features.family_prd_id _item_description.description ; The value of _pdbx_reference_molecule_features.family_prd_id is a reference to _pdbx_reference_molecule_list.family_prd_id in category PDBX_REFERENCE_MOLECULE_FAMILY_LIST. ; _item.name '_pdbx_reference_molecule_features.family_prd_id' _item.category_id pdbx_reference_molecule_features _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_molecule_features.family_prd_id' _item_linked.parent_name '_pdbx_reference_molecule_list.family_prd_id' save_ save__pdbx_reference_molecule_features.prd_id _item_description.description ; The value of _pdbx_reference_molecule_features.prd_id is a reference _pdbx_reference_molecule.prd_id in the PDBX_REFERENCE_MOLECULE category. ; _item.name '_pdbx_reference_molecule_features.prd_id' _item.category_id pdbx_reference_molecule_features _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_molecule_features.prd_id' _item_linked.parent_name '_pdbx_reference_molecule_list.prd_id' save_ save__pdbx_reference_molecule_features.ordinal _item_description.description ; The value of _pdbx_reference_molecule_features.ordinal distinguishes each feature for this entity. ; _item.name '_pdbx_reference_molecule_features.ordinal' _item.category_id pdbx_reference_molecule_features _item.mandatory_code yes _item_type.code int save_ save__pdbx_reference_molecule_features.source_ordinal _item_description.description ; The value of _pdbx_reference_molecule_features.source_ordinal provides the priority order of features from a particular source or database. ; _item.name '_pdbx_reference_molecule_features.source_ordinal' _item.category_id pdbx_reference_molecule_features _item.mandatory_code no _item_type.code int save_ save__pdbx_reference_molecule_features.type _item_description.description ; The entity feature type. ; _item.name '_pdbx_reference_molecule_features.type' _item.category_id pdbx_reference_molecule_features _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'FUNCTION' 'ENZYME INHIBITED' 'STRUCTURE IMAGE URL' save_ #save__pdbx_reference_molecule_features.support # _item_description.description #; The supporting evidence for this feature. #; # _item.name '_pdbx_reference_molecule_features.support' # _item.category_id pdbx_reference_molecule_features # _item.mandatory_code no # _item_type.code text # loop_ # _item_examples.case # 'Biological assay' # 'Data obtained from PNAS August 17, 1999 vol. 96 no. 17 9586-9590' # save_ # save__pdbx_reference_molecule_features.value _item_description.description ; The entity feature value. ; _item.name '_pdbx_reference_molecule_features.value' _item.category_id pdbx_reference_molecule_features _item.mandatory_code yes _item_type.code text save_ save__pdbx_reference_molecule_features.source _item_description.description ; The information source for the component feature. ; _item.name '_pdbx_reference_molecule_features.source' _item.category_id pdbx_reference_molecule_features _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'PDB' 'CHEBI' 'DRUGBANK' 'PUBCHEM' save_ save__pdbx_reference_molecule_features.chem_comp_id _item_description.description ; For entities represented as single molecules, the identifier corresponding to the chemical definition for the molecule. ; _item.name '_pdbx_reference_molecule_features.chem_comp_id' _item.category_id pdbx_reference_molecule_features _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case '0Z3' 'CD9' save_ ################################################ ## PDBX_REFERENCE_MOLECULE_RELATED_STRUCTURES ## ################################################ save_pdbx_reference_molecule_related_structures _category.description ; Data items in the PDBX_REFERENCE_MOLECULE_RELATED_STRUCTURES category record details of the structural examples in related databases for this entity. ; _category.id pdbx_reference_molecule_related_structures _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_molecule_related_structures.family_prd_id' '_pdbx_reference_molecule_related_structures.ordinal' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_family_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Actinomycin ; ; loop_ _pdbx_reference_molecule_related_structures.family_prd_id _pdbx_reference_molecule_related_structures.ordinal _pdbx_reference_molecule_related_structures.citation_id _pdbx_reference_molecule_related_structures.db_name _pdbx_reference_molecule_related_structures.db_accession _pdbx_reference_molecule_related_structures.db_code _pdbx_reference_molecule_related_structures.name _pdbx_reference_molecule_related_structures.formula FAM_000001 1 1 CCDC 144860 POHMUU "2,2'-D-bis(O-Methyltyrosinyl)-actinomycin D ethyl acetate hydrate" "C72 H90 N12 O18" FAM_000001 2 2 CCDC 140332 ZZZGQM "Actinomycin" ? FAM_000001 3 2 CCDC 140333 ZZZGQM01 "Actinomycin" ? FAM_000001 4 3 CCDC 36676 BEJXET "bis(Deoxyguanylyl-(3'-5')-deoxycytidine) actinomycin D hydrate" "C62 H86 N12 O16; 2(C19 H25 N8 O10 P1)" FAM_000001 5 4 CCDC 77327 GIDNUC "Actinomycin D ethanol solvate hydrate" "C62 H86 N12 O16" FAM_000001 6 5 CCDC 128630 ACTDGU01 "Actinomycin D bis(deoxyguanosine) dodecahydrate" ? FAM_000001 7 6 CCDC 455 ACTDGU10 "Actinomycin D bis(deoxyguanosine) dodecahydrate" ? FAM_000001 8 6 CCDC 3032 BRAXGU "7-Bromoactinomycin D bis(deoxyguanosine) undecahydrate" ? ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_molecule_related_structures.family_prd_id _item_description.description ; The value of _pdbx_reference_molecule_related_structures.family_prd_id is a reference to _pdbx_reference_molecule_list.family_prd_id in category PDBX_REFERENCE_MOLECULE_FAMILY_LIST. ; _item.name '_pdbx_reference_molecule_related_structures.family_prd_id' _item.category_id pdbx_reference_molecule_related_structures _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_reference_molecule_related_structures.family_prd_id' _item_linked.parent_name '_pdbx_reference_molecule_list.family_prd_id' save_ save__pdbx_reference_molecule_related_structures.ordinal _item_description.description ; The value of _pdbx_reference_molecule_related_structures.ordinal distinguishes related structural data for each entity. ; _item.name '_pdbx_reference_molecule_related_structures.ordinal' _item.category_id pdbx_reference_molecule_related_structures _item.mandatory_code yes _item_type.code int save_ save__pdbx_reference_molecule_related_structures.db_name _item_description.description ; The database name for the related structure reference. ; _item.name '_pdbx_reference_molecule_related_structures.db_name' _item.category_id pdbx_reference_molecule_related_structures _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'CCDC' save_ save__pdbx_reference_molecule_related_structures.db_code _item_description.description ; The database identifier code for the related structure reference. ; _item.name '_pdbx_reference_molecule_related_structures.db_code' _item.category_id pdbx_reference_molecule_related_structures _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'QEFHUE' save_ save__pdbx_reference_molecule_related_structures.db_accession _item_description.description ; The database accession code for the related structure reference. ; _item.name '_pdbx_reference_molecule_related_structures.db_accession' _item.category_id pdbx_reference_molecule_related_structures _item.mandatory_code no _item_type.code text loop_ _item_examples.case '143108' save_ save__pdbx_reference_molecule_related_structures.name _item_description.description ; The chemical name for the structure entry in the related database ; _item.name '_pdbx_reference_molecule_related_structures.name' _item.category_id pdbx_reference_molecule_related_structures _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'actinomycn' save_ save__pdbx_reference_molecule_related_structures.formula _item_description.description ; The formula for the reference entity. Formulae are written according to the rules: 1. Only recognised element symbols may be used. 2. Each element symbol is followed by a 'count' number. A count of '1' may be omitted. 3. A space or parenthesis must separate each element symbol and its count, but in general parentheses are not used. 4. The order of elements depends on whether or not carbon is present. If carbon is present, the order should be: C, then H, then the other elements in alphabetical order of their symbol. If carbon is not present, the elements are listed purely in alphabetic order of their symbol. This is the 'Hill' system used by Chemical Abstracts. ; _item.name '_pdbx_reference_molecule_related_structures.formula' _item.category_id pdbx_reference_molecule_related_structures _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'C18 H19 N7 O8 S' save_ save__pdbx_reference_molecule_related_structures.citation_id _item_description.description ; A link to related reference information in the citation category. ; _item.name '_pdbx_reference_molecule_related_structures.citation_id' _item.category_id pdbx_reference_molecule_related_structures _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_reference_molecule_related_structures.citation_id' _item_linked.parent_name '_citation.id' save_ ## ## End of PRD dictionary content --- ############################ ## PDBX_STRUCT_GROUP_LIST ## ############################ save_pdbx_struct_group_list _category.description ; Data items in the PDBX_STRUCT_GROUP_LIST define groups of related components or atoms. ; _category.id pdbx_struct_group_list _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_group_list.struct_group_id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_struct_group_list.struct_group_id _pdbx_struct_group_list.name _pdbx_struct_group_list.type _pdbx_struct_group_list.group_enumeration_type _pdbx_struct_group_list.description 1 DECAPLANIN MolecularComplex component ; Decaplanin is a tricyclic glycopeptide. The scaffold is a heptapeptide with the configuration D-D-L-D-D-L-L, glycosylated by a monosaccharide and a disaccharide ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_group_list.struct_group_id _item_description.description ; The unique identifier for the group. ; _item.name '_pdbx_struct_group_list.struct_group_id' _item.category_id pdbx_struct_group_list _item.mandatory_code yes _item_type.code ucode save_ save__pdbx_struct_group_list.name _item_description.description ; The name of the group. ; _item.name '_pdbx_struct_group_list.name' _item.category_id pdbx_struct_group_list _item.mandatory_code yes _item_type.code line save_ save__pdbx_struct_group_list.type _item_description.description ; A selected list of group types. ; _item.name '_pdbx_struct_group_list.type' _item.category_id pdbx_struct_group_list _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'Molecular Complex' "Molecule composed of polymer and non-polymer components" 'Heterogen Complex' "Molecule composed of non-polymer components" 'TLS group' "Component and/or atom selection defining a TLS group" 'NCS group' "Component and/or atom selection defining an NCS group" # save_ save__pdbx_struct_group_list.group_enumeration_type _item_description.description ; The manner in which the group is defined. Groups consist of collections within the set of deposited coordinates which can be defined in terms of a list of chemical components in category PDBX_STRUCT_GROUP_COMPONENTS, ranges of chemical components in PDBX_STRUCT_GROUP_COMPONENT_RANGE, or as individual atoms using _atom_site.pdbx_group_id. Groups can be composed of selections from multiple categories in which case the enumeration types are separated by commas. ; _item.name '_pdbx_struct_group_list.group_enumeration_type' _item.category_id pdbx_struct_group_list _item.mandatory_code yes _item_type.code ucode-alphanum-csv loop_ _item_enumeration.value _item_enumeration.detail "atom" "group assigned by atom site" "component" "group assigned by component(s)" "component_range" "group assigned by component range(s)" loop_ _item_examples.case _item_examples.detail "component" "a list of components" "component,component_range" "a selection of listed components and component range selections" save_ save__pdbx_struct_group_list.description _item_description.description ; The description of the group. ; _item.name '_pdbx_struct_group_list.description' _item.category_id pdbx_struct_group_list _item.mandatory_code yes _item_type.code text save_ save__pdbx_struct_group_list.selection _item_description.description ; A qualification of the subset of atoms in the group. ; _item.name '_pdbx_struct_group_list.selection' _item.category_id pdbx_struct_group_list _item.mandatory_code no _item_type.code line loop_ _item_examples.case _item_examples.detail all 'all atoms in specified range' mnc 'main chain atoms only' sdc 'side chain atoms only' save_ save__pdbx_struct_group_list.selection_details _item_description.description ; A text description of subset of the atom selection in the group. ; _item.name '_pdbx_struct_group_list.selection_details' _item.category_id pdbx_struct_group_list _item.mandatory_code no _item_type.code text save_ ########################## ## ATOM_SITE extension ## ########################## save__atom_site.pdbx_struct_group_id _item_description.description ; The value of _atom_site.pdbx_struct_group_id identifies the group or groups assigned to this atom. This is a reference to the identifier for group definition in category PDBX_STRUCT_GROUP_LIST. Multiple groups identifiers are encoded as a comma separated list. ; _item.name '_atom_site.pdbx_struct_group_id' _item.category_id atom_site _item.mandatory_code no _item_type.code ucode-alphanum-csv # _item_linked.child_name '_atom_site.pdbx_struct_group_id' # _item_linked.parent_name '_pdbx_struct_group_list.struct_group_id' loop_ _item_examples.case _item_examples.detail 'C1' 'atom assigned to individual group C1' 'C1,C2,C3' 'atom assigned to multiple groups C1, C2 and C3' save_ ################################## ## PDBX_STRUCT_GROUP_COMPONENTS ## ################################## save_pdbx_struct_group_components _category.description ; Data items in the PDBX_STRUCT_GROUP_COMPONENTS category list component-level group assignments within the entry. Groups are defined and described in category PDBX_STRUCT_GROUP_LIST. ; _category.id pdbx_struct_group_components _category.mandatory_code no _category_key.name '_pdbx_struct_group_components.ordinal' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_struct_group_components.ordinal _pdbx_struct_group_components.struct_group_id _pdbx_struct_group_components.PDB_model_num _pdbx_struct_group_components.auth_seq_id _pdbx_struct_group_components.auth_comp_id _pdbx_struct_group_components.auth_asym_id _pdbx_struct_group_components.PDB_ins_code 1 1 1 1 MLU A . 2 1 1 2 OMZ A . 3 1 1 3 ASN A . 4 1 1 4 GHP A . 5 1 1 5 GHP A . 6 1 1 6 OMX A . 7 1 1 7 3FG A . 8 1 1 8 ERE A . 9 1 1 9 BGC A . 10 1 1 10 RAM A . # .... abbreviated .... # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; save_ save__pdbx_struct_group_components.ordinal _item_description.description ; The value of _pdbx_struct_group_components.ordinal must uniquely identify each item in the PDBX_STRUCT_GROUP_COMPONENTS list. This is an integer serial number. ; _item.name '_pdbx_struct_group_components.ordinal' _item.category_id pdbx_struct_group_components _item.mandatory_code yes _item_type.code int save_ save__pdbx_struct_group_components.struct_group_id _item_description.description ; The value of _pdbx_struct_group_components.group_id identifies the group assignment for the component. This is a reference to the identifier for group definition in category PDBX_STRUCT_GROUP_LIST. ; _item.name '_pdbx_struct_group_components.struct_group_id' _item.category_id pdbx_struct_group_components _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_struct_group_components.struct_group_id' _item_linked.parent_name '_pdbx_struct_group_list.struct_group_id' save_ save__pdbx_struct_group_components.PDB_model_num _item_description.description ; Part of the identifier for the component in this group assignment. This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_components.PDB_model_num' _item.category_id pdbx_struct_group_components _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_struct_group_components.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_struct_group_components.auth_asym_id _item_description.description ; Part of the identifier for the component in this group assignment. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_components.auth_asym_id' _item.category_id pdbx_struct_group_components _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_group_components.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_struct_group_components.auth_comp_id _item_description.description ; Part of the identifier for the component in this group assignment. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_components.auth_comp_id' _item.category_id pdbx_struct_group_components _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_group_components.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_struct_group_components.auth_seq_id _item_description.description ; Part of the identifier for the component in this group assignment. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_components.auth_seq_id' _item.category_id pdbx_struct_group_components _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_group_components.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_struct_group_components.PDB_ins_code _item_description.description ; Part of the identifier for the component in this group assignment. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_components.PDB_ins_code' _item.category_id pdbx_struct_group_components _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_group_components.PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_struct_group_components.label_asym_id _item_description.description ; Part of the identifier for the component in this group assignment. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_components.label_asym_id' _item.category_id pdbx_struct_group_components _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_group_components.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_struct_group_components.label_comp_id _item_description.description ; Part of the identifier for the component in this group assignment. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_components.label_comp_id' _item.category_id pdbx_struct_group_components _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_struct_group_components.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_struct_group_components.label_seq_id _item_description.description ; Part of the identifier for the component in this group assignment. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_components.label_seq_id' _item.category_id pdbx_struct_group_components _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_struct_group_components.label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_struct_group_components.label_alt_id _item_description.description ; Part of the identifier for the component in this group assignment. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_components.label_alt_id' _item.category_id pdbx_struct_group_components _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_group_components.label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ ####################################### ## PDBX_STRUCT_GROUP_COMPONENT_RANGE ## ####################################### save_pdbx_struct_group_component_range _category.description ; Data items in the PDBX_STRUCT_GROUP_COMPONENT_RANGE category define a structural group as a continuous span chemical components. ; _category.id pdbx_struct_group_component_range _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_group_component_range.ordinal' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_struct_group_component_range.ordinal _pdbx_struct_group_component_range.struct_group_id _pdbx_struct_group_component_range.PDB_model_num _pdbx_struct_group_component_range.beg_auth_seq_id _pdbx_struct_group_component_range.beg_auth_comp_id _pdbx_struct_group_component_range.beg_auth_asym_id _pdbx_struct_group_component_range.beg_PDB_ins_code _pdbx_struct_group_component_range.end_auth_seq_id _pdbx_struct_group_component_range.end_auth_comp_id _pdbx_struct_group_component_range.end_auth_asym_id _pdbx_struct_group_component_range.end_PDB_ins_code 1 1 1 1 MLU A . 10 RAM A . # .... abbreviated .... ; save_ save__pdbx_struct_group_component_range.ordinal _item_description.description ; The value of _pdbx_struct_group_component_range.id must uniquely identify a record in the PDBX_STRUCT_GROUP_COMPONENT_RANGE list. ; _item.name '_pdbx_struct_group_component_range.ordinal' _item.category_id pdbx_struct_group_component_range _item.mandatory_code yes _item_type.code int save_ save__pdbx_struct_group_component_range.struct_group_id _item_description.description ; This data item is a pointer to _pdbx_struct_group_list.struct_group_id in the PDBX_STRUCT_GROUP_LIST category. ; _item.name '_pdbx_struct_group_component_range.struct_group_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_struct_group_component_range.struct_group_id' _item_linked.parent_name '_pdbx_struct_group_list.struct_group_id' save_ save__pdbx_struct_group_component_range.PDB_model_num _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.PDB_model_num' _item.category_id pdbx_struct_group_component_range _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_struct_group_component_range.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_struct_group_component_range.beg_auth_asym_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.beg_auth_asym_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_group_component_range.beg_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_struct_group_component_range.beg_auth_comp_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.beg_auth_comp_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_group_component_range.beg_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_struct_group_component_range.beg_auth_seq_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.beg_auth_seq_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_group_component_range.beg_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_struct_group_component_range.beg_PDB_ins_code _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.beg_PDB_ins_code' _item.category_id pdbx_struct_group_component_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_group_component_range.beg_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_struct_group_component_range.beg_label_asym_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.beg_label_asym_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_group_component_range.beg_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_struct_group_component_range.beg_label_comp_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.beg_label_comp_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_struct_group_component_range.beg_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_struct_group_component_range.beg_label_seq_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.beg_label_seq_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code no _item_type.code int # _item_linked.child_name '_pdbx_struct_group_component_range.beg_label_seq_id' # _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_struct_group_component_range.beg_label_alt_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.beg_label_alt_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_group_component_range.beg_label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_struct_group_component_range.end_auth_asym_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.end_auth_asym_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_group_component_range.end_auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_struct_group_component_range.end_auth_comp_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.end_auth_comp_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_group_component_range.end_auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_struct_group_component_range.end_auth_seq_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.end_auth_seq_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_struct_group_component_range.end_auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_struct_group_component_range.end_PDB_ins_code _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.end_PDB_ins_code' _item.category_id pdbx_struct_group_component_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_group_component_range.end_PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_struct_group_component_range.end_label_asym_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.end_label_asym_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_group_component_range.end_label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_struct_group_component_range.end_label_comp_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.end_label_comp_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_struct_group_component_range.end_label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_struct_group_component_range.end_label_seq_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.end_label_seq_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_struct_group_component_range.end_label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_struct_group_component_range.end_label_alt_id _item_description.description ; Part of the identifier for the component range in this group assignment. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_group_component_range.end_label_alt_id' _item.category_id pdbx_struct_group_component_range _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_group_component_range.end_label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ ## #################### ## PDBX_PRD_AUDIT ## #################### save_pdbx_prd_audit _category.description ; Data items in the PDBX_PRD_AUDIT category records the status and tracking information for this molecule. ; _category.id pdbx_prd_audit _category.mandatory_code no loop_ _category_key.name '_pdbx_prd_audit.prd_id' '_pdbx_prd_audit.date' '_pdbx_prd_audit.action_type' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_prd_audit.prd_id _pdbx_prd_audit.date _pdbx_prd_audit.processing_site _pdbx_prd_audit.action_type _pdbx_prd_audit.annotator PRD_0000001 2011-12-01 RCSB 'Create molecule' JY PRD_0000001 2011-12-05 RCSB 'Modify sequence' MZ ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_prd_audit.prd_id _item_description.description ; This data item is a pointer to _pdbx_reference_molecule.prd_id in the pdbx_reference_molecule category. ; _item.name '_pdbx_prd_audit.prd_id' _item.category_id pdbx_prd_audit _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_prd_audit.prd_id' _item_linked.parent_name '_pdbx_reference_molecule.prd_id' save_ save__pdbx_prd_audit.date _item_description.description ; The date associated with this audit record. ; _item.name '_pdbx_prd_audit.date' _item.category_id pdbx_prd_audit _item.mandatory_code yes _item_type.code yyyy-mm-dd save_ save__pdbx_prd_audit.annotator _item_description.description ; The initials of the annotator creating of modifying the molecule. ; _item.name '_pdbx_prd_audit.annotator' _item.category_id pdbx_prd_audit _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'JO' 'SJ' 'KB' save_ save__pdbx_prd_audit.processing_site _item_description.description ; An identifier for the wwPDB site creating or modifying the molecule. ; _item.name '_pdbx_prd_audit.processing_site' _item.category_id pdbx_prd_audit _item.mandatory_code no _item_type.code code loop_ _item_examples.case RCSB PDBe PDBJ BMRB PDBC loop_ _item_enumeration.value RCSB PDBe PDBJ BMRB PDBC save_ save__pdbx_prd_audit.details _item_description.description ; Additional details decribing this change. ; _item.name '_pdbx_prd_audit.details' _item.category_id pdbx_prd_audit _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Revise molecule sequence.' save_ save__pdbx_prd_audit.action_type _item_description.description ; The action associated with this audit record. ; _item.name '_pdbx_prd_audit.action_type' _item.category_id pdbx_prd_audit _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'Initial release' . 'Create molecule' . 'Modify type' . 'Modify class' . 'Modify molecule name' . 'Modify representation' . 'Modify sequence' . 'Modify linkage' . 'Modify taxonomy organism' . 'Modify audit' . 'Other modification' . 'Obsolete molecule' . save_ ## ########################### ## PDBX_FAMILY_PRD_AUDIT ## ########################### save_pdbx_family_prd_audit _category.description ; Data items in the PDBX_FAMILY_PRD_AUDIT category records the status and tracking information for this family. ; _category.id pdbx_family_prd_audit _category.mandatory_code no loop_ _category_key.name '_pdbx_family_prd_audit.family_prd_id' '_pdbx_family_prd_audit.date' '_pdbx_family_prd_audit.action_type' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_family_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_family_prd_audit.family_prd_id _pdbx_family_prd_audit.date _pdbx_family_prd_audit.processing_site _pdbx_family_prd_audit.action_type _pdbx_family_prd_audit.annotator FAM_0000001 2011-12-01 RCSB 'Create family' JY FAM_0000001 2011-12-05 RCSB 'Modify sequence' MZ ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_family_prd_audit.family_prd_id _item_description.description ; This data item is a pointer to _pdbx_reference_molecule_family.family_prd_id in the pdbx_reference_molecule category. ; _item.name '_pdbx_family_prd_audit.family_prd_id' _item.category_id pdbx_family_prd_audit _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_family_prd_audit.family_prd_id' _item_linked.parent_name '_pdbx_reference_molecule_family.family_prd_id' save_ save__pdbx_family_prd_audit.date _item_description.description ; The date associated with this audit record. ; _item.name '_pdbx_family_prd_audit.date' _item.category_id pdbx_family_prd_audit _item.mandatory_code yes _item_type.code yyyy-mm-dd save_ save__pdbx_family_prd_audit.annotator _item_description.description ; The initials of the annotator creating of modifying the family. ; _item.name '_pdbx_family_prd_audit.annotator' _item.category_id pdbx_family_prd_audit _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'JO' 'SJ' 'KB' save_ save__pdbx_family_prd_audit.processing_site _item_description.description ; An identifier for the wwPDB site creating or modifying the family. ; _item.name '_pdbx_family_prd_audit.processing_site' _item.category_id pdbx_family_prd_audit _item.mandatory_code no _item_type.code code loop_ _item_examples.case RCSB PDBE PDBJ BMRB PDBC save_ save__pdbx_family_prd_audit.details _item_description.description ; Additional details decribing this change. ; _item.name '_pdbx_family_prd_audit.details' _item.category_id pdbx_family_prd_audit _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Revise molecule sequence.' save_ save__pdbx_family_prd_audit.action_type _item_description.description ; The action associated with this audit record. ; _item.name '_pdbx_family_prd_audit.action_type' _item.category_id pdbx_family_prd_audit _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'Initial release' . 'Create family' . 'Add PRD' . 'Remove PRD' . 'Modify family name' . 'Modify synonyms' . 'Modify annotation' . 'Modify family classification' . 'Modify feature' . 'Modify related structures' . 'Modify molecule details' . 'Modify citation' . 'Other modification' . 'Obsolete family' . 'Create family' . 'Modify sequence' . 'Other modification' . 'Obsolete familyt' . save_ ## ################### ## PDBX_MOLECULE ## ################### save_pdbx_molecule _category.description ; Data items in the PDBX_MOLECULE category identify reference molecules within a PDB entry. ; _category.id pdbx_molecule _category.mandatory_code no loop_ _category_key.name '_pdbx_molecule.prd_id' '_pdbx_molecule.instance_id' '_pdbx_molecule.asym_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_molecule.instance_id _pdbx_molecule.prd_id _pdbx_molecule.asym_id 1 PRD_050001 X 1 PRD_050001 Y 1 PRD_050001 Z ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_molecule.prd_id _item_description.description ; The value of _pdbx_molecule.prd_id is the PDB accession code for this reference molecule. ; _item.name '_pdbx_molecule.prd_id' _item.category_id pdbx_molecule _item.mandatory_code yes _item_type.code ucode save_ save__pdbx_molecule.instance_id _item_description.description ; The value of _pdbx_molecule.instance_id is identifies a particular molecule in the molecule list. ; _item.name '_pdbx_molecule.instance_id' _item.category_id pdbx_molecule _item.mandatory_code yes _item_type.code int save_ save__pdbx_molecule.asym_id _item_description.description ; A reference to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_pdbx_molecule.asym_id' _item.category_id pdbx_molecule _item.mandatory_code yes _item_type.code code loop_ _item_examples.case A B save_ ############################ ## PDBX_MOLECULE_FEATURES ## ############################ save_pdbx_molecule_features _category.description ; Data items in the PDBX_MOLECULE_FEATURES category record features of molecules within a PDB entry. ; _category.id pdbx_molecule_features _category.mandatory_code no _category_key.name '_pdbx_molecule_features.prd_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_molecule_features.prd_id _pdbx_molecule_features.name _pdbx_molecule_features.type _pdbx_molecule_features.class PRD_000001 "Actinomycin D" "Antitumor Antibiotic" "polypeptide antibiotic" ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_molecule_features.prd_id _item_description.description ; The value of _pdbx_molecule_features.prd_id is the accession code for this reference molecule. ; _item.name '_pdbx_molecule_features.prd_id' _item.category_id pdbx_molecule_features _item.mandatory_code yes _item_type.code ucode save_ save__pdbx_molecule_features.class _item_description.description ; Broadly defines the function of the molecule. ; _item.name '_pdbx_molecule_features.class' _item.category_id pdbx_molecule_features _item.mandatory_code no _item_type.code uline loop_ _item_enumeration.value Antagonist Antibiotic Anticancer Anticoagulant Antifungal Antigen Antiinflammatory Antimicrobial Antineoplastic Antiparasitic Antiretroviral Anthelmintic Antithrombotic Antitumor Antiviral 'CASPASE inhibitor' 'Chaperone binding' 'Enzyme inhibitor' 'Drug delivery' 'Glycan component' 'Growth factor' Immunosuppressant Inducer Inhibitor Lantibiotic Metabolism 'Metal transport' Nutrient 'Oxidation-reduction' 'Protein binding' Receptor 'Substrate analog' 'Synthetic opioid' 'Thrombin inhibitor' 'Transition state mimetic' 'Transport activator' 'Trypsin inhibitor' Toxin Unknown 'Water retention' 'Anticoagulant, Antithrombotic' 'Antibiotic, Antimicrobial' 'Antibiotic, Anthelmintic' "Antibiotic, Antineoplastic" 'Antimicrobial, Antiretroviral' 'Antimicrobial, Antitumor' "Antimicrobial, Antiparasitic, Antibiotic" 'Thrombin inhibitor, Trypsin inhibitor' save_ save__pdbx_molecule_features.type _item_description.description ; Defines the structural classification of the molecule. ; _item.name '_pdbx_molecule_features.type' _item.category_id pdbx_molecule_features _item.mandatory_code no _item_type.code uline loop_ _item_enumeration.value 'Amino acid' Aminoglycoside Anthracycline Anthraquinone Ansamycin Chalkophore Chromophore Glycopeptide 'Cyclic depsipeptide' 'Cyclic lipopeptide' 'Cyclic peptide' Heterocyclic 'Imino sugar' 'Keto acid' 'Lipoglycopeptide' Lipopeptide Macrolide 'Non-polymer' 'Nucleoside' Oligopeptide Oligosaccharide 'Peptaibol' 'Peptide-like' Polycyclic Polypeptide Polysaccharide Quinolone Thiolactone Thiopeptide Siderophore Unknown 'Chalkophore, Polypeptide' loop_ _item_examples.case 'Peptide-like' 'Macrolide' save_ save__pdbx_molecule_features.name _item_description.description ; A name of the molecule. ; _item.name '_pdbx_molecule_features.name' _item.category_id pdbx_molecule_features _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'thiostrepton' save_ save__pdbx_molecule_features.details _item_description.description ; Additional details describing the molecule. ; _item.name '_pdbx_molecule_features.details' _item.category_id pdbx_molecule_features _item.mandatory_code no _item_type.code text save_ save__chem_comp_atom.pdbx_residue_numbering _item_description.description ; Preferred residue numbering in the BIRD definition. ; _item.name '_chem_comp_atom.pdbx_residue_numbering' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code int save_ save__chem_comp_atom.pdbx_polymer_type _item_description.description ; Is the atom in a polymer or non-polymer subcomponent in the BIRD definition. ; _item.name '_chem_comp_atom.pdbx_polymer_type' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value polymer non-polymer save_ save__chem_comp_atom.pdbx_ref_id _item_description.description ; A reference to _pdbx_reference_entity_list.ref_entity_id ; _item.name '_chem_comp_atom.pdbx_ref_id' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code ucode save_ save__chem_comp_atom.pdbx_component_id _item_description.description ; A reference to _pdbx_reference_entity_list.component_id ; _item.name '_chem_comp_atom.pdbx_component_id' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code int save_ # ############################# ## PDBX_FAMILY_GROUP_INDEX ## ############################# save_pdbx_family_group_index _category.description ; Data items in the PDBX_FAMILY_GROUP_INDEX category record the family membership in family groups. ; _category.id pdbx_family_group_index _category.mandatory_code no loop_ _category_key.name '_pdbx_family_group_index.id' '_pdbx_family_group_index.family_prd_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'bird_family_dictionary_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_family_group_index.id _pdbx_family_group_index.family_prd_id FGR_0000001 FAM_0000001 FGR_0000001 FAM_0000002 FGR_0000001 FAM_0000021 FGR_0000002 FAM_0000022 FGR_0000002 FAM_0000023 # ..... ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_family_group_index.id _item_description.description ; This data item is the identifier for the a group of related BIRD families. ; _item.name '_pdbx_family_group_index.id' _item.category_id pdbx_family_group_index _item.mandatory_code yes _item_type.code ucode save_ save__pdbx_family_group_index.family_prd_id _item_description.description ; This data item is a reference to the BIRD identifier for families. This data item is a pointer to _pdbx_reference_molecule_family.family_prd_id in the pdbx_reference_molecule category. ; _item.name '_pdbx_family_group_index.family_prd_id' _item.category_id pdbx_family_group_index _item.mandatory_code yes _item_type.code ucode save_ ## save_pdbx_distant_solvent_atoms _category.description ; Data items in the PDBX_DISTANT_SOLVENT_ATOMS category list the solvent atoms remote from any macromolecule. ; _category.id pdbx_distant_solvent_atoms _category.mandatory_code no _category_key.name '_pdbx_distant_solvent_atoms.id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' _pdbx_category_description.id pdbx_distant_solvent_atoms _pdbx_category_description.description "The following solvent molecules are further than 3.5 Angstroms away from macromolecule atoms in the asymmetric unit that are available for hydrogen bonding. Solvent molecules in extended hydration shells separated by 3.5 Angstroms or less are not listed." # loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_distant_solvent_atoms.id _pdbx_distant_solvent_atoms.PDB_model_num _pdbx_distant_solvent_atoms.auth_comp_id _pdbx_distant_solvent_atoms.auth_asym_id _pdbx_distant_solvent_atoms.auth_seq_id _pdbx_distant_solvent_atoms.PDB_ins_code _pdbx_distant_solvent_atoms.auth_atom_id _pdbx_distant_solvent_atoms.label_alt_id _pdbx_distant_solvent_atoms.neighbor_macromolecule_distance _pdbx_distant_solvent_atoms.neighbor_ligand_distance 1 1 HOH W 412 . O . 7.3 . 2 1 HOH W 413 . O . 8.4 . 3 1 HOH W 414 . O . 7.2 . 4 1 HOH W 415 . O . 8.3 . # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; save_ save__pdbx_distant_solvent_atoms.id _item_description.description ; The value of _pdbx_distant_solvent_atoms.id must uniquely identify each item in the PDBX_DISTANT_SOLVENT_ATOMS list. This is an integer serial number. ; _item.name '_pdbx_distant_solvent_atoms.id' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code yes _item_type.code int save_ save__pdbx_distant_solvent_atoms.PDB_model_num _item_description.description ; Part of the identifier for the distant solvent atom. This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_pdbx_distant_solvent_atoms.PDB_model_num' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_distant_solvent_atoms.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_distant_solvent_atoms.auth_asym_id _item_description.description ; Part of the identifier for the distant solvent atom. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_distant_solvent_atoms.auth_asym_id' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code yes _item_type.code code # _item_linked.child_name '_pdbx_distant_solvent_atoms.auth_asym_id' # _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_distant_solvent_atoms.auth_atom_id _item_description.description ; Part of the identifier for the distant solvent atom. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_distant_solvent_atoms.auth_atom_id' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code yes _item_type.code atcode # _item_linked.child_name '_pdbx_distant_solvent_atoms.auth_atom_id' # _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_distant_solvent_atoms.auth_comp_id _item_description.description ; Part of the identifier for the distant solvent atom. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_distant_solvent_atoms.auth_comp_id' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_distant_solvent_atoms.auth_comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_distant_solvent_atoms.auth_seq_id _item_description.description ; Part of the identifier for the distant solvent atom. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_distant_solvent_atoms.auth_seq_id' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code yes _item_type.code code # _item_linked.child_name '_pdbx_distant_solvent_atoms.auth_seq_id' # _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_distant_solvent_atoms.PDB_ins_code _item_description.description ; Part of the identifier for the distant solvent atom. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_distant_solvent_atoms.PDB_ins_code' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_distant_solvent_atoms.PDB_ins_code' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_distant_solvent_atoms.label_alt_id _item_description.description ; Part of the identifier for the distant solvent atom. This data item is a pointer to _atom_site.label_alt.id in the ATOM_SITE category. ; _item.name '_pdbx_distant_solvent_atoms.label_alt_id' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_distant_solvent_atoms.label_alt_id' # _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_distant_solvent_atoms.label_atom_id _item_description.description ; Part of the identifier for the distant solvent atom. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_distant_solvent_atoms.label_atom_id' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code no _item_type.code atcode # _item_linked.child_name '_pdbx_distant_solvent_atoms.label_atom_id' # _item_linked.parent_name '_atom_site.label_atom_id' save_ save__pdbx_distant_solvent_atoms.label_asym_id _item_description.description ; Part of the identifier for the distant solvent atom. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_distant_solvent_atoms.label_asym_id' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_distant_solvent_atoms.label_asym_id' _item_linked.parent_name '_struct_asym.id' save_ save__pdbx_distant_solvent_atoms.label_comp_id _item_description.description ; Part of the identifier for the distant solvent atom. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_distant_solvent_atoms.label_comp_id' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_distant_solvent_atoms.label_comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_distant_solvent_atoms.label_seq_id _item_description.description ; Part of the identifier for the distant solvent atom. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_distant_solvent_atoms.label_seq_id' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code no _item_type.code int # _item_linked.child_name '_pdbx_distant_solvent_atoms.label_seq_id' # _item_linked.parent_name '_atom_site.label_seq_id' save_ # save__pdbx_distant_solvent_atoms.neighbor_macromolecule_distance _item_description.description ; Distance to closest neighboring macromolecule atom. ; _item.name '_pdbx_distant_solvent_atoms.neighbor_macromolecule_distance' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ save__pdbx_distant_solvent_atoms.neighbor_ligand_distance _item_description.description ; Distance to closest neighboring ligand or solvent atom. ; _item.name '_pdbx_distant_solvent_atoms.neighbor_ligand_distance' _item.category_id pdbx_distant_solvent_atoms _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ # save__struct_conn.pdbx_leaving_atom_flag _item_description.description ; This data item identifies if the linkage has displaced leaving atoms on both, one or none of the connected atoms forming the linkage. Leaving atoms are defined within their chemical defintions of each connected component. ; _item.name '_struct_conn.pdbx_leaving_atom_flag' _item.category_id struct_conn _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value 'both' 'one' 'none' save_ ## ## File: special_position_extension.dic ## Date: 12-Aug-2012 ## save_pdbx_struct_special_symmetry _category.description ; Data items in the PDBX_STRUCT_SPECIAL_SYMMETRY category list the molecular components that lie on special symmetry positions. ; _category.id pdbx_struct_special_symmetry _category.mandatory_code no _category_key.name '_pdbx_struct_special_symmetry.id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_struct_special_symmetry.id _pdbx_struct_special_symmetry.PDB_model_num _pdbx_struct_special_symmetry.auth_comp_id _pdbx_struct_special_symmetry.auth_asym_id _pdbx_struct_special_symmetry.auth_seq_id _pdbx_struct_special_symmetry.PDB_ins_code _pdbx_struct_special_symmetry.label_alt_id 1 1 ATP Q 412 . . # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; save_ save__pdbx_struct_special_symmetry.id _item_description.description ; The value of _pdbx_struct_special_symmetry.id must uniquely identify each item in the PDBX_STRUCT_SPECIAL_SYMMETRY list. This is an integer serial number. ; _item.name '_pdbx_struct_special_symmetry.id' _item.category_id pdbx_struct_special_symmetry _item.mandatory_code yes _item_type.code int save_ save__pdbx_struct_special_symmetry.PDB_model_num _item_description.description ; Part of the identifier for the molecular component. This data item is a pointer to _atom_site.pdbx_PDB_model_num in the ATOM_SITE category. ; _item.name '_pdbx_struct_special_symmetry.PDB_model_num' _item.category_id pdbx_struct_special_symmetry _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_struct_special_symmetry.PDB_model_num' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' save_ save__pdbx_struct_special_symmetry.auth_asym_id _item_description.description ; Part of the identifier for the molecular component. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_special_symmetry.auth_asym_id' _item.category_id pdbx_struct_special_symmetry _item.mandatory_code yes _item_type.code code # _item_linked.child_name '_pdbx_struct_special_symmetry.auth_asym_id' # _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_struct_special_symmetry.auth_comp_id _item_description.description ; Part of the identifier for the molecular component. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_special_symmetry.auth_comp_id' _item.category_id pdbx_struct_special_symmetry _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_struct_special_symmetry.auth_comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_struct_special_symmetry.auth_seq_id _item_description.description ; Part of the identifier for the molecular component. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_special_symmetry.auth_seq_id' _item.category_id pdbx_struct_special_symmetry _item.mandatory_code yes _item_type.code code # _item_linked.child_name '_pdbx_struct_special_symmetry.auth_seq_id' # _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_struct_special_symmetry.PDB_ins_code _item_description.description ; Part of the identifier for the molecular component. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_struct_special_symmetry.PDB_ins_code' _item.category_id pdbx_struct_special_symmetry _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_struct_special_symmetry.PDB_ins_code' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_struct_special_symmetry.label_alt_id _item_description.description ; Part of the identifier for the molecular component. This data item is a pointer to _atom_site.label_alt.id in the ATOM_SITE category. ; _item.name '_pdbx_struct_special_symmetry.label_alt_id' _item.category_id pdbx_struct_special_symmetry _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_struct_special_symmetry.label_alt_id' # _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_struct_special_symmetry.label_asym_id _item_description.description ; Part of the identifier for the molecular component. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_special_symmetry.label_asym_id' _item.category_id pdbx_struct_special_symmetry _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_struct_special_symmetry.label_asym_id' _item_linked.parent_name '_struct_asym.id' save_ save__pdbx_struct_special_symmetry.label_comp_id _item_description.description ; Part of the identifier for the molecular component. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_special_symmetry.label_comp_id' _item.category_id pdbx_struct_special_symmetry _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_struct_special_symmetry.label_comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_struct_special_symmetry.label_seq_id _item_description.description ; Part of the identifier for the molecular component. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_struct_special_symmetry.label_seq_id' _item.category_id pdbx_struct_special_symmetry _item.mandatory_code no _item_type.code int # _item_linked.child_name '_pdbx_struct_special_symmetry.label_seq_id' # _item_linked.parent_name '_atom_site.label_seq_id' save_ # # ## # File: pdbx_reference_publication_list-extension.dic # Date: 29-Aug-2012 J. Westbrook ## ##################################### ## PDBX_REFERENCE_PUBLICATION_LIST ## ##################################### save_pdbx_reference_publication_list _category.description ; Data items in the PDBX_REFERENCE_PUBLICATION_LIST hold reference information related to PDB citation data. ; _category.id pdbx_reference_publication_list _category.mandatory_code no _category_key.name '_pdbx_reference_publication_list.publication_abbrev' loop_ _category_group.id 'inclusive_group' 'database_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_reference_publication_list.publication_abbrev _pdbx_reference_publication_list.ASTM_code_type _pdbx_reference_publication_list.ASTM_code_value _pdbx_reference_publication_list.country _pdbx_reference_publication_list.ISSN_code_type _pdbx_reference_publication_list.ISSN_code_value _pdbx_reference_publication_list.start_year _pdbx_reference_publication_list.end_year 'acc.CHEM.RES.' ASTM ACHRE4 US ISSN 0001-4842 ? ? ; save_ save__pdbx_reference_publication_list.publication_abbrev _item_description.description ; Abbreviated name of the reference publication. ; _item.name '_pdbx_reference_publication_list.publication_abbrev' _item.category_id pdbx_reference_publication_list _item.mandatory_code yes _item_type.code line _item_examples.case 'J. Mol. Biol.' save_ save__pdbx_reference_publication_list.ASTM_code_type _item_description.description ; The American Society for Testing and Materials (ASTM) code type. ; _item.name '_pdbx_reference_publication_list.ASTM_code_type' _item.category_id pdbx_reference_publication_list _item.mandatory_code no _item_type.code line save_ save__pdbx_reference_publication_list.ASTM_code_value _item_description.description ; The American Society for Testing and Materials (ASTM) code assignment. ; _item.name '_pdbx_reference_publication_list.ASTM_code_value' _item.category_id pdbx_reference_publication_list _item.mandatory_code no _item_type.code line save_ save__pdbx_reference_publication_list.ISSN_code_type _item_description.description ; The International Standard Serial Number (ISSN/ISBN/ESSN) code type. ; _item.name '_pdbx_reference_publication_list.ISSN_code_type' _item.category_id pdbx_reference_publication_list _item.mandatory_code no _item_type.code line save_ save__pdbx_reference_publication_list.ISSN_code_value _item_description.description ; The International Standard Serial Number (ISSN) code value. ; _item.name '_pdbx_reference_publication_list.ISSN_code_value' _item.category_id pdbx_reference_publication_list _item.mandatory_code no _item_type.code line save_ save__pdbx_reference_publication_list.country _item_description.description ; The country/region of publication. ; _item.name '_pdbx_reference_publication_list.country' _item.category_id pdbx_reference_publication_list _item.mandatory_code no _item_type.code line save_ save__pdbx_reference_publication_list.start_year _item_description.description ; Year in which publications began operation.. ; _item.name '_pdbx_reference_publication_list.start_year' _item.category_id pdbx_reference_publication_list _item.mandatory_code no _item_type.code line save_ save__pdbx_reference_publication_list.end_year _item_description.description ; Year in which publication terminated operation. ; _item.name '_pdbx_reference_publication_list.end_year' _item.category_id pdbx_reference_publication_list _item.mandatory_code no _item_type.code line save_ ## # Proposed additional pdbx dictionary NMR tags to support the Common D&A system # Date: 2012-08-10 Eldon Urlich # ######################### new category save_pdbx_nmr_assigned_chem_shift_list _category.description ; Items in the assigned_chem_shift_list category provide information about a list of reported assigned chemical shift values. ; _category.id 'pdbx_nmr_assigned_chem_shift_list' _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_assigned_chem_shift_list.entry_id' '_pdbx_nmr_assigned_chem_shift_list.id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_nmr_assigned_chem_shift_list save_ ##### new category items save__pdbx_nmr_assigned_chem_shift_list.chem_shift_13C_err _item_description.description ; The value assigned as the error for all 13C chemical shifts reported in the chemical shift list. The value reported for this tag will be inserted during annotation into the assigned chemical shift error column in the table of assigned chemical shifts. ; ## A tag used primarily for the ADIT-NMR user interface. _item.name '_pdbx_nmr_assigned_chem_shift_list.chem_shift_13C_err' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code no _item_type.code 'float' _item_examples.case '0.1' save_ save__pdbx_nmr_assigned_chem_shift_list.chem_shift_15N_err _item_description.description ; The value assigned as the error for all 15N chemical shifts reported in the chemical shift list. The value reported for this tag will be inserted during annotation into the assigned chemical shift error column in the table of assigned chemical shifts. ; ## A tag used primarily for the ADIT-NMR user interface. _item.name '_pdbx_nmr_assigned_chem_shift_list.chem_shift_15N_err' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code no _item_type.code 'float' _item_examples.case '0.2' save_ save__pdbx_nmr_assigned_chem_shift_list.chem_shift_19F_err _item_description.description ; The value assigned as the error for all 19F chemical shifts reported in the chemical shift list. The value reported for this tag will be inserted during annotation into the assigned chemical shift error column in the table of assigned chemical shifts. ; ## A tag used primarily for the ADIT-NMR user interface. _item.name '_pdbx_nmr_assigned_chem_shift_list.chem_shift_19F_err' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code no _item_type.code 'float' _item_examples.case '0.01' save_ save__pdbx_nmr_assigned_chem_shift_list.chem_shift_1H_err _item_description.description ; The value assigned as the error for all 1H chemical shifts reported in the chemical shift list. The value reported for this tag will be inserted during annotation into the assigned chemical shift error column in the table of assigned chemical shifts. ; ## A tag used primarily for the ADIT-NMR user interface. _item.name '_pdbx_nmr_assigned_chem_shift_list.chem_shift_1H_err' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code no _item_type.code 'float' _item_examples.case '0.01' save_ save__pdbx_nmr_assigned_chem_shift_list.chem_shift_2H_err _item_description.description ; The value assigned as the error for all 2H chemical shifts reported in the chemical shift list. The value reported for this tag will be inserted during annotation into the assigned chemical shift error column in the table of assigned chemical shifts. ; ## A tag used primarily for the ADIT-NMR user interface. _item.name '_pdbx_nmr_assigned_chem_shift_list.chem_shift_2H_err' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code no _item_type.code 'float' _item_examples.case '0.01' save_ save__pdbx_nmr_assigned_chem_shift_list.chem_shift_31P_err _item_description.description ; The value assigned as the error for all 31P chemical shifts reported in the chemical shift list. The value reported for this tag will be inserted during annotation into the assigned chemical shift error column in the table of assigned chemical shifts. ; ## A tag used primarily for the ADIT-NMR user interface. _item.name '_pdbx_nmr_assigned_chem_shift_list.chem_shift_31P_err' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code no _item_type.code 'float' _item_examples.case '0.1' save_ save__pdbx_nmr_assigned_chem_shift_list.chem_shift_reference_id _item_description.description ; Pointer to '_pdbx_nmr_chem_shift_reference.id' ; ## An internal reference value. The tag is not exposed in the ADIT-NMR user interface. ## A 'label' item is used to capture the user friendly value. _item.name '_pdbx_nmr_assigned_chem_shift_list.chem_shift_reference_id' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code yes _item_type.code 'int' _pdbx_item_description.name "_pdbx_nmr_assigned_chem_shift_list.chem_shift_reference_id" _pdbx_item_description.description "Previously specified chemical shift reference set for this set of chemical shifts." save_ save__pdbx_nmr_assigned_chem_shift_list.conditions_id _item_description.description ; Pointer to '_pdbx_nmr_exptl_sample_conditions.conditions_id' ; ## An internal reference value. The tag is not exposed in the ADIT-NMR user interface. ## A 'label' item is used to capture the user friendly value. _item.name '_pdbx_nmr_assigned_chem_shift_list.conditions_id' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code yes _item_type.code 'int' _pdbx_item_description.name "_pdbx_nmr_assigned_chem_shift_list.conditions_id" _pdbx_item_description.description "Previously specified sample conditions for this set of chemical shifts." save_ save__pdbx_nmr_assigned_chem_shift_list.data_file_name _item_description.description ; The name of the file submitted with a deposition that contains the quantitative chemical shift data. ; _item.name '_pdbx_nmr_assigned_chem_shift_list.data_file_name' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code yes _item_type.code 'line' _pdbx_item_description.name "_pdbx_nmr_assigned_chem_shift_list.data_file_name" _pdbx_item_description.description "The name of the uploaded chemical shift data." save_ save__pdbx_nmr_assigned_chem_shift_list.details _item_description.description ; Text describing the reported assigned chemical shifts. ; _item.name '_pdbx_nmr_assigned_chem_shift_list.details' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code no _item_type.code 'text' save_ save__pdbx_nmr_assigned_chem_shift_list.entry_id _item_description.description ; Pointer to '_entry.ID' ; _item.name '_pdbx_nmr_assigned_chem_shift_list.entry_id' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code yes _item_type.code 'code' _item_examples.case '2DSX' save_ save__pdbx_nmr_assigned_chem_shift_list.error_derivation_method _item_description.description ; Method used to derive the estimated error in the reported chemical shifts. ; _item.name '_pdbx_nmr_assigned_chem_shift_list.error_derivation_method' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code no _item_type.code 'text' save_ save__pdbx_nmr_assigned_chem_shift_list.id _item_description.description ; An integer value that uniquely identifies a list of assigned chemical shifts from other sets of assigned chemical shifts in the entry. ; ## An internal reference value. The tag is not exposed in the ADIT-NMR user interface. ## A 'label' item is used to capture the user friendly value. loop_ _item.name _item.category_id _item.mandatory_code '_pdbx_nmr_assigned_chem_shift_list.id' 'pdbx_nmr_assigned_chem_shift_list' yes '_pdbx_nmr_chem_shift_experiment.assigned_chem_shift_list_id' 'pdbx_nmr_chem_shift_experiment' yes '_pdbx_nmr_systematic_chem_shift_offset.assigned_chem_shift_list_id' 'pdbx_nmr_systematic_chem_shift_offset' yes '_pdbx_nmr_chem_shift_software.assigned_chem_shift_list_id' 'pdbx_nmr_chem_shift_software' yes loop_ _item_linked.child_name _item_linked.parent_name '_pdbx_nmr_chem_shift_experiment.assigned_chem_shift_list_id' '_pdbx_nmr_assigned_chem_shift_list.id' '_pdbx_nmr_systematic_chem_shift_offset.assigned_chem_shift_list_id' '_pdbx_nmr_assigned_chem_shift_list.id' '_pdbx_nmr_chem_shift_software.assigned_chem_shift_list_id' '_pdbx_nmr_assigned_chem_shift_list.id' # '_pdbx_nmr_atom_chem_shift.assigned_chem_shift_list_id' '_pdbx_nmr_assigned_chem_shift_list.id' _item_type.code 'int' _pdbx_item_description.name "_pdbx_nmr_assigned_chem_shift_list.id" _pdbx_item_description.description "The number that uniquely identifies this chemical shift list from the others listed in the entry." save_ #################### new category save_pdbx_nmr_chem_shift_experiment _category.description ; Items in the chem_shift_experiment category provide pointers to the NMR experiments and samples used to collect the data for a set of reported assigned chemical shifts. ; _category.id 'pdbx_nmr_chem_shift_experiment' _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_chem_shift_experiment.experiment_id' '_pdbx_nmr_chem_shift_experiment.entry_id' '_pdbx_nmr_chem_shift_experiment.assigned_chem_shift_list_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_nmr_chem_shift_experiment save_ #### new category items save__pdbx_nmr_chem_shift_experiment.assigned_chem_shift_list_id _item_description.description ; Pointer to '_pdbx_nmr_assigned_chem_shift_list.ID' ; _item.name '_pdbx_nmr_chem_shift_experiment.assigned_chem_shift_list_id' _item.category_id 'pdbx_nmr_chem_shift_experiment' _item.mandatory_code yes _item_type.code 'int' save_ save__pdbx_nmr_chem_shift_experiment.entry_id _item_description.description ; Pointer to '_entry.id' ; _item.name '_pdbx_nmr_chem_shift_experiment.entry_id' _item.category_id 'pdbx_nmr_chem_shift_experiment' _item.mandatory_code yes _item_type.code 'code' _item_examples.case '2DSX' save_ save__pdbx_nmr_chem_shift_experiment.experiment_id _item_description.description ; Pointer to '_pdbx_nmr_exptl.experiment.id' ; _item.name '_pdbx_nmr_chem_shift_experiment.experiment_id' _item.category_id 'pdbx_nmr_chem_shift_experiment' _item.mandatory_code yes _item_type.code 'int' _pdbx_item_description.name "_pdbx_nmr_chem_shift_experiment.experiment_id" _pdbx_item_description.description "Previously specified NMR experiments used to derive this set of chemical shifts." save_ save__pdbx_nmr_chem_shift_experiment.experiment_name _item_description.description ; The name of an experiment used to determine the data reported. ; _item.name '_pdbx_nmr_chem_shift_experiment.experiment_name' _item.category_id 'pdbx_nmr_chem_shift_experiment' _item.mandatory_code no _item_type.code 'line' save_ save__pdbx_nmr_chem_shift_experiment.sample_state _item_description.description ; Physical state of the sample either anisotropic or isotropic. ; _item.name '_pdbx_nmr_chem_shift_experiment.sample_state' _item.category_id 'pdbx_nmr_chem_shift_experiment' _item.mandatory_code no _item_type.code 'line' loop_ _item_enumeration.value _item_enumeration.detail 'isotropic' ? 'anisotropic' ? save_ save__pdbx_nmr_chem_shift_experiment.solution_id _item_description.description ; Pointer to '_pdbx_nmr_exptl_sample.solution_id' ; ## This item is probably redundant and not needed as the solution_id is linked ## to the experiment_id pdbx_nmr_exptl category _item.name '_pdbx_nmr_chem_shift_experiment.solution_id' _item.category_id 'pdbx_nmr_chem_shift_experiment' _item.mandatory_code no _item_type.code 'int' save_ ###################### new category ## Could not find this or an equivalent category and associated items in the internal v5 pdbx dictionary ## from early May, 2012. save_pdbx_nmr_chem_shift_ref _category.description ; Items in the pdbx_nmr_chem_shift_ref category provide the chemical shift referencing values used in assigning the chemical shift positions for peaks in spectral peak lists and assigned atom chemical shifts. ; _category.id 'pdbx_nmr_chem_shift_ref' _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_chem_shift_ref.atom_type' '_pdbx_nmr_chem_shift_ref.atom_isotope_number' '_pdbx_nmr_chem_shift_ref.mol_common_name' '_pdbx_nmr_chem_shift_ref.entry_id' '_pdbx_nmr_chem_shift_ref.chem_shift_reference_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_nmr_chem_shift_ref.atom_group _pdbx_nmr_chem_shift_ref.atom_isotope_number _pdbx_nmr_chem_shift_ref.atom_type _pdbx_nmr_chem_shift_ref.chem_shift_reference_id _pdbx_nmr_chem_shift_ref.chem_shift_units _pdbx_nmr_chem_shift_ref.chem_shift_val _pdbx_nmr_chem_shift_ref.correction_val _pdbx_nmr_chem_shift_ref.entry_id _pdbx_nmr_chem_shift_ref.external_ref_axis _pdbx_nmr_chem_shift_ref.external_ref_loc _pdbx_nmr_chem_shift_ref.external_ref_sample_geometry _pdbx_nmr_chem_shift_ref.indirect_shift_ratio _pdbx_nmr_chem_shift_ref.mol_common_name _pdbx_nmr_chem_shift_ref.rank _pdbx_nmr_chem_shift_ref.ref_correction_type _pdbx_nmr_chem_shift_ref.ref_method _pdbx_nmr_chem_shift_ref.ref_type _pdbx_nmr_chem_shift_ref.solvent "methyl protons" 1 H 1 ppm 0.000 ? 1ABC ? ? ? 1.00000000 DSS ? ? external direct ? "methyl protons" 13 C 1 ppm 0.000 ? 1ABC ? ? ? 0.251449530 DSS ? ? external indirect ? "methyl protons" 15 N 1 ppm 0.000 ? 1ABC ? ? ? 0.101329118 DSS ? ? external indirect ? ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_nmr_chem_shift_ref save_ #### new category items save__pdbx_nmr_chem_shift_ref.atom_group _item_description.description ; Group of atoms within a molecule whose chemical shift was used as the standard chemical shift reference for the defined observed nuclei. ; _item.name '_pdbx_nmr_chem_shift_ref.atom_group' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code yes _item_type.code 'line' _pdbx_item_description.name '_pdbx_nmr_chem_shift_ref.atom_group' _pdbx_item_description.description 'Molecular group used as reference for this nucleus.' loop_ _item_enumeration.value _item_enumeration.detail 'carbonyl carbon' ? fluorine ? 'methyl carbon' ? 'methyl carbons' ? 'methyl protons' ? 'methylene carbons' ? 'methylene protons' ? nitrogen ? protons ? phosphorus ? loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_pdbx_nmr_chem_shift_ref.atom_group' 'methyl carbons' . '_pdbx_nmr_chem_shift_ref.atom_group' 'methyl protons' . '_pdbx_nmr_chem_shift_ref.atom_group' 'methylene protons' . '_pdbx_nmr_chem_shift_ref.atom_group' 'methylene carbons' . '_pdbx_nmr_chem_shift_ref.atom_group' fluorine . '_pdbx_nmr_chem_shift_ref.atom_group' 'carbonyl carbon' . '_pdbx_nmr_chem_shift_ref.atom_group' nitrogen . '_pdbx_nmr_chem_shift_ref.atom_group' protons . '_pdbx_nmr_chem_shift_ref.atom_group' phosphorus . # _pdbx_item_enumeration_details.name '_pdbx_nmr_chem_shift_ref.atom_group' _pdbx_item_enumeration_details.closed_flag no _item_examples.case 'methyl protons' save_ save__pdbx_nmr_chem_shift_ref.atom_isotope_number _item_description.description ; The mass number for the chemical element defined by the tag '_pdbx_nmr_chem_shift_ref.atom_type' or any of its related tags. ; _item.name '_pdbx_nmr_chem_shift_ref.atom_isotope_number' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code yes _item_type.code 'int' _item_examples.case '2' _pdbx_item_description.name "_pdbx_nmr_chem_shift_ref.atom_isotope_number" _pdbx_item_description.description "The mass number for the chemical element." save_ save__pdbx_nmr_chem_shift_ref.atom_type _item_description.description ; The value for this tag is a standard IUPAC abbreviation for an element (i.e., H, C, P, etc). ; _item.name '_pdbx_nmr_chem_shift_ref.atom_type' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code yes _item_type.code 'code' _item_examples.case 'H' save_ save__pdbx_nmr_chem_shift_ref.chem_shift_reference_id _item_description.description ; Pointer to '_pdbx_nmr_chem_shift_reference.id' ; _item.name '_pdbx_nmr_chem_shift_ref.chem_shift_reference_id' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code yes _item_type.code 'int' save_ save__pdbx_nmr_chem_shift_ref.chem_shift_units _item_description.description ; Units for the chemical shift value assigned to the atoms of the chemical shift reference. ; _item.name '_pdbx_nmr_chem_shift_ref.chem_shift_units' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code yes _item_type.code 'line' _pdbx_item_description.name "_pdbx_nmr_chem_shift_ref.chem_shift_units" _pdbx_item_description.description "Units for the chemical shift." loop_ _item_enumeration.value _item_enumeration.detail ppm 'parts per million' Hz Hertz _item_examples.case ppm save_ save__pdbx_nmr_chem_shift_ref.chem_shift_val _item_description.description ; Value assigned to the chemical shift of the reference compound. ; _item.name '_pdbx_nmr_chem_shift_ref.chem_shift_val' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code yes _item_type.code 'float' _item_examples.case '4.78' _pdbx_item_description.name "_pdbx_nmr_chem_shift_ref.chem_shift_val" _pdbx_item_description.description "Chemical shift of the reference atom(s)." save_ save__pdbx_nmr_chem_shift_ref.correction_val _item_description.description ; An uniform correction value that was applied because of an extenuating circumstance such as data collection at an unusual temperature. ; _item.name '_pdbx_nmr_chem_shift_ref.correction_val' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code no _item_type.code 'float' _item_examples.case '0.1' _pdbx_item_description.name "_pdbx_nmr_chem_shift_ref.correction_val" _pdbx_item_description.description "An uniform correction value applied to the chemical shifts." save_ save__pdbx_nmr_chem_shift_ref.entry_id _item_description.description ; Pointer to '_entry.id' ; _item.name '_pdbx_nmr_chem_shift_ref.entry_id' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code yes _item_type.code 'code' _item_examples.case '2DSX' save_ save__pdbx_nmr_chem_shift_ref.external_ref_axis _item_description.description ; The axis of the external chemical shift reference sample relative to the static field (Bo) of the spectrometer. ; _item.name '_pdbx_nmr_chem_shift_ref.external_ref_axis' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code no _item_type.code 'line' _pdbx_item_description.name "_pdbx_nmr_chem_shift_ref.external_ref_axis" _pdbx_item_description.description "When external (capillary) is used as a referencing method, the axis of the external chemical shift reference sample relative to the static field (Bo) of the spectrometer." # loop_ _item_enumeration.value _item_enumeration.detail parallel ? perpendicular ? _item_examples.case parallel save_ save__pdbx_nmr_chem_shift_ref.external_ref_loc _item_description.description ; External chemical shift references are defined as either located within the sample (e.g., as a capillary) or external to the sample and are inserted into the spectrometer before, after, or both before and after the sample containing the molecular system studied in the entry. ; _item.name '_pdbx_nmr_chem_shift_ref.external_ref_loc' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code no _item_type.code 'line' loop_ _item_enumeration.value _item_enumeration.detail 'insert at center of experimental sample tube' ? 'insert at outer edge of experimental sample tube' ? 'insert at center of a separate sample tube' ? 'insert at outer edge of a separate sample tube' ? 'separate tube (no insert) similar to the experimental sample tube' ? 'separate tube (no insert) not similar to the experimental sample tube' ? 'other' ? _item_examples.case 'insert at center of experimental sample tube' _pdbx_item_description.name '_pdbx_nmr_chem_shift_ref.external_ref_loc' _pdbx_item_description.description 'When external (capillary) is used as a referencing method, the location of the sample tube.' save_ save__pdbx_nmr_chem_shift_ref.external_ref_sample_geometry _item_description.description ; The geometrical shape of the external reference sample. ; _item.name '_pdbx_nmr_chem_shift_ref.external_ref_sample_geometry' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code no _item_type.code 'line' # _pdbx_item_description.name "_pdbx_nmr_chem_shift_ref.external_ref_sample_geometry" _pdbx_item_description.description "When external (capillary) is used as a referencing method, the geometrical shape of the external reference sample." # loop_ _item_enumeration.value _item_enumeration.detail cylindrical ? spherical ? other ? _item_examples.case 'spherical' save_ save__pdbx_nmr_chem_shift_ref.indirect_shift_ratio _item_description.description ; The Chi value used in calculating the chemical shift referencing values for nuclei that are referenced indirectly. The values used should be those recommended by the IUPAC Taskforce on the deposition of data to the public databases (Markley, et al. Pure and Appl. Chem. 70, 117-142 (1998). ; _item.name '_pdbx_nmr_chem_shift_ref.indirect_shift_ratio' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code no _pdbx_item.name '_pdbx_nmr_chem_shift_ref.indirect_shift_ratio' _pdbx_item.mandatory_code yes _item_default.value '1' _item_type.code 'float' _item_examples.case '0.25144953' _pdbx_item_description.name '_pdbx_nmr_chem_shift_ref.indirect_shift_ratio' _pdbx_item_description.description 'For indirectly referenced chemical shifts, the Chi value used in calculating the chemical shift. The values used should be those recommended by the IUPAC Taskforce on the deposition of data to the public databases (Markley, et al. Pure and Appl. Chem. 70, 117-142 (1998).)' save_ save__pdbx_nmr_chem_shift_ref.mol_common_name _item_description.description ; Common name or abbreviation used in the literature for the molecule used as a chemical shift reference. ; _item.name '_pdbx_nmr_chem_shift_ref.mol_common_name' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code yes _item_type.code 'line' _pdbx_item_description.name "_pdbx_nmr_chem_shift_ref.mol_common_name" _pdbx_item_description.description "Common name or abbreviation for the reference molecule, as used in the literature." # _pdbx_item_enumeration_details.name "_pdbx_nmr_chem_shift_ref.mol_common_name" _pdbx_item_enumeration_details.closed_flag no loop_ _item_enumeration.value _item_enumeration.detail 'DSS' 'H; C; and N methyl protons' 'TSP' 'H; C; and N methyl protons' 'TMSP' 'H methyl protons' 'water' 'H protons' 'DMSO' 'H methyl protons' 'DMSO-d5' 'H methyl proton' 'DMSO-d6' 'H methyl deuterons' 'methanol' 'H methyl protons' 'TMS' 'H methyl protons' 'methionine' 'H methyl protons' 'acetonitrile' 'H methyl protons' 'alanine' 'C carbonyl carbons' 'acetate' 'C methyl carbons' 'glucose' 'C methyl carbons' 'dioxane' 'C methylene carbons' 'adamantane' 'C methylene carbons' 'ammonium chloride' 'N ammonium nitrogen' '[15N] ammonium chloride' 'N ammonium nitrogen' 'ammonium hydroxide' 'N ammonium nitrogen' 'ammonium nitrate' 'N ammonium nitrogen' '[15N] ammonium nitrate' 'N ammonium nitrogen' '[15N, 15N] ammonium nitrate' 'N ammonium nitrogen' 'ammonium nitrite' 'N ammonium nitrogen' 'ammonium sulfate' 'N ammonium nitrogen' '[15N] ammonium sulfate' 'N ammonium nitrogen' 'liquid anhydrous ammonia' 'N ammonium nitrogen' 'formamide' 'N ammonium nitrogen' '[15N] nitric acid' 'N nitrogen' 'Nitromethane' 'N nitro group' '[15N] nitromethane' 'N nitro group' 'N-acetyl-valine (NAV)' 'N nitrogen' 'urea' 'N nitrogen' 'phosphoric acid' 'P phosphate' 'phosphoric acid (85%)' 'P phosphate' 'TMP' 'P phosphate' 'cadmium perchlorate' 'Cd cadmium' 'Deuterium Oxide' 'D deuterium' 'TFA' 'F Trifluoromethyl fluorines' 'TFE' 'F Trifluoromethyl fluorines' _item_examples.case 'DSS' save_ save__pdbx_nmr_chem_shift_ref.rank _item_description.description ; The rank of the chemical shift reference. A primary reference is the one used in reporting the data. A secondary reference would be the compound in the sample or used as an external reference. ; _item.name '_pdbx_nmr_chem_shift_ref.rank' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code no _item_type.code 'code' _item_examples.case '1' save_ save__pdbx_nmr_chem_shift_ref.ref_correction_type _item_description.description ; If a correction value is applied to calculate the reported chemical shifts the source of the correction (pH; temperature; etc.). ; _item.name '_pdbx_nmr_chem_shift_ref.ref_correction_type' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code no _item_type.code 'line' _item_examples.case 'temperature' _pdbx_item_description.name "_pdbx_nmr_chem_shift_ref.ref_correction_type" _pdbx_item_description.description "If a correction value is applied to calculate the reported chemical shifts, what is the source of the correction (pH; temperature; etc.)?" # _pdbx_item_enumeration_details.name "_pdbx_nmr_chem_shift_ref.ref_correction_type" _pdbx_item_enumeration_details.closed_flag no save_ save__pdbx_nmr_chem_shift_ref.ref_method _item_description.description ; The chemical shift reference may be either internal (the compound is located in the sample) or external (the compound is in a container external to the sample). ; _item.name '_pdbx_nmr_chem_shift_ref.ref_method' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_chem_shift_ref.ref_method" _pdbx_item.mandatory_code yes _item_type.code 'line' _pdbx_item_description.name "_pdbx_nmr_chem_shift_ref.ref_method" _pdbx_item_description.description "The reference molecule may be either internal (the compound is within the sample) or external (the reference compound is in a separate sample or capillary tube)." # _pdbx_item_examples.name "_pdbx_nmr_chem_shift_ref.ref_method" _pdbx_item_examples.case "external (capillary)" _pdbx_item_examples.detail . loop_ _item_enumeration.value _item_enumeration.detail internal ? external ? na 'not applicable' _item_examples.case 'internal' save_ save__pdbx_nmr_chem_shift_ref.ref_type _item_description.description ; The reference type may be either direct (against a value measured with a chemical compound) or indirect (calculated from chemical shift ratios). ; _item.name '_pdbx_nmr_chem_shift_ref.ref_type' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code no _item_type.code 'line' _pdbx_item.name "_pdbx_nmr_chem_shift_ref.ref_type" _pdbx_item.mandatory_code yes loop_ _item_enumeration.value _item_enumeration.detail direct ? indirect ? _item_examples.case 'direct' save_ save__pdbx_nmr_chem_shift_ref.solvent _item_description.description ; Solvent used for the external reference sample. ; _item.name '_pdbx_nmr_chem_shift_ref.solvent' _item.category_id 'pdbx_nmr_chem_shift_ref' _item.mandatory_code no _item_type.code 'line' _item_examples.case 'CHCL3' save_ ###################### new category save_pdbx_nmr_chem_shift_reference _category.description ; Items in the chem_shift_reference category define a set of chemical shift referencing parameters. ; _category.id 'pdbx_nmr_chem_shift_reference' _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_chem_shift_reference.entry_id' '_pdbx_nmr_chem_shift_reference.id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; _pdbx_nmr_chem_shift_reference.carbon_shifts_flag ? _pdbx_nmr_chem_shift_reference.details "External DSS sample" _pdbx_nmr_chem_shift_reference.entry_id 1ABC _pdbx_nmr_chem_shift_reference.id 1 _pdbx_nmr_chem_shift_reference.label chemical_shift_reference_ ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_nmr_chem_shift_reference save_ #### new category items save__pdbx_nmr_chem_shift_reference.carbon_shifts_flag _item_description.description ; A value indicating if 13C chemical shifts are being deposited and if IUPAC chemical shift referencing was used. This item is a user interface item that is used to trigger the automated population of chemical shift referencing tags if IUPAC chemical shift referencing parameters have been used. ; _item.name '_pdbx_nmr_chem_shift_reference.carbon_shifts_flag' _item.category_id 'pdbx_nmr_chem_shift_reference' _item.mandatory_code no _item_type.code 'line' loop_ _item_enumeration.value _item_enumeration.detail no '13C chemical shifts are not being deposited' yes '13C chemical shifts are being deposited' 'yes with IUPAC referencing' '13C chemical shifts are being deposited and the shifts are referenced using the IUPAC recommendations' _item_examples.case 'yes with IUPAC referencing' save_ save__pdbx_nmr_chem_shift_reference.details _item_description.description ; Text providing additional information regarding the reported chemical shift referencing values or methods. ; _item.name '_pdbx_nmr_chem_shift_reference.details' _item.category_id 'pdbx_nmr_chem_shift_reference' _item.mandatory_code no _item_type.code 'text' save_ save__pdbx_nmr_chem_shift_reference.entry_id _item_description.description ; Pointer to '_entry.id' ; _item.name '_pdbx_nmr_chem_shift_reference.entry_id' _item.category_id 'pdbx_nmr_chem_shift_reference' _item.mandatory_code yes _item_type.code 'code' _item_examples.case '2SNS' save_ save__pdbx_nmr_chem_shift_reference.id _item_description.description ; An integer value that uniquely identifies a set of chemical shift reference values from other sets of chemical shift referencing values. ; _item.name '_pdbx_nmr_chem_shift_reference.id' _item.category_id 'pdbx_nmr_chem_shift_reference' _item.mandatory_code yes _item_type.code 'int' _pdbx_item_description.name "_pdbx_nmr_chem_shift_reference.id" _pdbx_item_description.description "The number that uniquely identifies this set of chemical shift references from the others listed in this entry." save_ save__pdbx_nmr_chem_shift_reference.label _item_description.description ; A descriptive label that uniquely identifies this list of chemical shift referencing parameters used in reporting assigned chemical shifts and other chemical shift data. ; _item.name '_pdbx_nmr_chem_shift_reference.label' _item.category_id 'pdbx_nmr_chem_shift_reference' _item.mandatory_code yes _item_default.value 'chemical_shift_reference_1' _item_type.code 'line' _item_examples.case 'chemical_shift_reference_1' _pdbx_item_description.name "_pdbx_nmr_chem_shift_reference.label" _pdbx_item_description.description "A name that uniquely identifies this set of chemical shift references from the others listed in this entry." save_ save__pdbx_nmr_chem_shift_reference.nitrogen_shifts_flag _item_description.description ; A value indicating if 15N chemical shifts are being deposited and if IUPAC chemical shift referencing was used. This item is a user interface item that is used to trigger the automated population of chemical shift referencing tags if IUPAC chemical shift referencing parameters have been used. ; _item.name '_pdbx_nmr_chem_shift_reference.nitrogen_shifts_flag' _item.category_id 'pdbx_nmr_chem_shift_reference' _item.mandatory_code no _item_type.code 'line' loop_ _item_enumeration.value _item_enumeration.detail no ? yes ? 'yes with IUPAC referencing' ? _item_examples.case 'yes' save_ save__pdbx_nmr_chem_shift_reference.other_shifts_flag _item_description.description ; A value indicating if chemical shifts other than 1H, 13C, 15N, or 31P are being deposited. ; _item.name '_pdbx_nmr_chem_shift_reference.other_shifts_flag' _item.category_id 'pdbx_nmr_chem_shift_reference' _item.mandatory_code no _item_default.value 'no' _item_type.code 'line' loop_ _item_enumeration.value _item_enumeration.detail no ? yes ? save_ save__pdbx_nmr_chem_shift_reference.phosphorus_shifts_flag _item_description.description ; A value indicating if 31P chemical shifts are being deposited and if IUPAC chemical shift referencing was used. This item is a user interface item that is used to trigger the automated population of chemical shift referencing tags if IUPAC chemical shift referencing parameters have been used. ; _item.name '_pdbx_nmr_chem_shift_reference.phosphorus_shifts_flag' _item.category_id 'pdbx_nmr_chem_shift_reference' _item.mandatory_code no _item_default.value 'no' _item_type.code 'line' loop_ _item_enumeration.value _item_enumeration.detail no ? yes ? 'yes with IUPAC referencing' ? save_ save__pdbx_nmr_chem_shift_reference.proton_shifts_flag _item_description.description ; A value indicating if 1H chemical shifts are being deposited and if IUPAC chemical shift referencing was used. This item is a user interface item that is used to trigger the automated population of chemical shift referencing tags if IUPAC chemical shift referencing parameters have been used. Please indicate yes or no$ if you are depositing 1H chemical shifts. ; _item.name '_pdbx_nmr_chem_shift_reference.proton_shifts_flag' _item.category_id 'pdbx_nmr_chem_shift_reference' _item.mandatory_code no _item_type.code 'line' loop_ _item_enumeration.value _item_enumeration.detail no ? yes ? 'yes with IUPAC referencing' ? save_ ###################### new category save_pdbx_nmr_chem_shift_software _category.description ; Items in the chem_shift_software category provide pointers to the software category and methods category. ; _category.id 'pdbx_nmr_chem_shift_software' _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_chem_shift_software.software_id' '_pdbx_nmr_chem_shift_software.entry_id' '_pdbx_nmr_chem_shift_software.assigned_chem_shift_list_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_nmr_chem_shift_software save_ #### new category items save__pdbx_nmr_chem_shift_software.assigned_chem_shift_list_id _item_description.description ; Pointer to '_pdbx_nmr_assigned_chem_shift_list.id' ; _item.name '_pdbx_nmr_chem_shift_software.assigned_chem_shift_list_id' _item.category_id 'pdbx_nmr_chem_shift_software' _item.mandatory_code yes _item_type.code 'int' _item_examples.case '1' save_ save__pdbx_nmr_chem_shift_software.entry_id _item_description.description ; Pointer to '_entry.id' ; _item.name '_pdbx_nmr_chem_shift_software.entry_id' _item.category_id 'pdbx_nmr_chem_shift_software' _item.mandatory_code yes _item_type.code 'code' _item_examples.case '2DSX' save_ save__pdbx_nmr_chem_shift_software.software_id _item_description.description ; Pointer to '_pdbx_nmr_software.ordinal' ; _item.name '_pdbx_nmr_chem_shift_software.software_id' _item.category_id 'pdbx_nmr_chem_shift_software' _item.mandatory_code yes _item_type.code 'int' _item_examples.case '1' _pdbx_item_description.name "_pdbx_nmr_chem_shift_software.software_id" _pdbx_item_description.description "Previously specified software type used to derive this set of chemical shifts." save_ ##################### new category save_pdbx_nmr_constraint_file _category.description ; Items in the pdbx_nmr_constraint_file category record the name of the constraint file, the software used to calculate conformers with the constraint file, and the characteristics of the constraints in the constraint file. ; _category.id 'pdbx_nmr_constraint_file' _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_constraint_file.constraint_filename' '_pdbx_nmr_constraint_file.constraint_type' '_pdbx_nmr_constraint_file.constraint_subtype' '_pdbx_nmr_constraint_file.entry_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_nmr_constraint_file save_ #### new category items save__pdbx_nmr_constraint_file.constraint_filename _item_description.description ; Name of the uploaded file that contains the constraint data. ; _item.name '_pdbx_nmr_constraint_file.constraint_filename' _item.category_id 'pdbx_nmr_constraint_file' _item.mandatory_code yes _item_type.code 'line' _item_examples.case 'sns_constraints.txt' _pdbx_item.name "_pdbx_nmr_constraint_file.constraint_filename" _pdbx_item.mandatory_code yes save_ save__pdbx_nmr_constraint_file.constraint_number _item_description.description ; Number of constraints of this type and subtype in the file. ; _item.name '_pdbx_nmr_constraint_file.constraint_number' _item.category_id 'pdbx_nmr_constraint_file' _item.mandatory_code no _pdbx_item.name '_pdbx_nmr_constraint_file.constraint_number' _pdbx_item.mandatory_code yes _item_type.code 'int' _item_examples.case '2045' _item_range.minimum 0 _item_range.maximum . save_ save__pdbx_nmr_constraint_file.constraint_subtype _item_description.description ; Specific type of constraint. ; _item.name '_pdbx_nmr_constraint_file.constraint_subtype' _item.category_id 'pdbx_nmr_constraint_file' _item.mandatory_code yes _item_type.code 'line' loop_ _item_enumeration.value _item_enumeration.detail 'Not applicable' ? 'NOE' ? 'NOE buildup' ? 'NOE not seen' ? 'PRE' ? 'PRE solvent' ? 'CSP' ? 'general distance' ? 'alignment tensor' ? 'chirality' ? 'dipolar recoupling' ? 'prochirality' ? 'disulfide bond' ? 'hydrogen bond' ? 'spin diffusion' ? 'symmetry' ? 'RDC' ? 'ROE' ? 'peptide' ? 'ring' ? loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_constraint_file.constraint_subtype" NOE . "_pdbx_nmr_constraint_file.constraint_subtype" "NOE buildup" . "_pdbx_nmr_constraint_file.constraint_subtype" "NOE not seen" . "_pdbx_nmr_constraint_file.constraint_subtype" RDC . "_pdbx_nmr_constraint_file.constraint_subtype" ROE . "_pdbx_nmr_constraint_file.constraint_subtype" PRE . "_pdbx_nmr_constraint_file.constraint_subtype" "PRE solvent" . "_pdbx_nmr_constraint_file.constraint_subtype" CSP . "_pdbx_nmr_constraint_file.constraint_subtype" "hydrogen bond" . "_pdbx_nmr_constraint_file.constraint_subtype" "dipolar recoupling" . "_pdbx_nmr_constraint_file.constraint_subtype" "disulfide bond" . "_pdbx_nmr_constraint_file.constraint_subtype" "general distance" . "_pdbx_nmr_constraint_file.constraint_subtype" "alignment tensor" . "_pdbx_nmr_constraint_file.constraint_subtype" peptide . "_pdbx_nmr_constraint_file.constraint_subtype" "spin diffusion" . "_pdbx_nmr_constraint_file.constraint_subtype" symmetry . "_pdbx_nmr_constraint_file.constraint_subtype" chirality . "_pdbx_nmr_constraint_file.constraint_subtype" prochirality . "_pdbx_nmr_constraint_file.constraint_subtype" ring . "_pdbx_nmr_constraint_file.constraint_subtype" "Not applicable" . # _item_examples.case 'NOE' save_ save__pdbx_nmr_constraint_file.constraint_type _item_description.description ; The general type of constraint (distance, torsion angle, RDC, etc.) ; _item.name '_pdbx_nmr_constraint_file.constraint_type' _item.category_id 'pdbx_nmr_constraint_file' _item.mandatory_code yes _item_type.code 'line' loop_ _item_enumeration.value _item_enumeration.detail 'carbohydrate dihedral angle' ? 'distance' ? 'dipolar coupling' ? 'protein dihedral angle' ? 'nucleic acid dihedral angle' ? 'coupling constant' ? 'chemical shift' ? 'other angle' ? 'chemical shift anisotropy' ? 'hydrogen exchange' ? 'line broadening' ? 'pseudocontact shift' ? 'intervector projection angle' ? 'protein peptide planarity' ? 'protein other kinds of constraints' ? 'nucleic acid base planarity' ? 'nucleic acid other kinds of constraints' ? loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_constraint_file.constraint_type" distance . "_pdbx_nmr_constraint_file.constraint_type" "dipolar coupling" . "_pdbx_nmr_constraint_file.constraint_type" "coupling constant" . "_pdbx_nmr_constraint_file.constraint_type" "protein dihedral angle" . "_pdbx_nmr_constraint_file.constraint_type" "nucleic acid dihedral angle" . "_pdbx_nmr_constraint_file.constraint_type" "protein peptide planarity" . "_pdbx_nmr_constraint_file.constraint_type" "nucleic acid base planarity" . "_pdbx_nmr_constraint_file.constraint_type" "hydrogen exchange" . "_pdbx_nmr_constraint_file.constraint_type" "chemical shift" . "_pdbx_nmr_constraint_file.constraint_type" "chemical shift anisotropy" . "_pdbx_nmr_constraint_file.constraint_type" "pseudocontact shift" . "_pdbx_nmr_constraint_file.constraint_type" "line broadening" . "_pdbx_nmr_constraint_file.constraint_type" "intervector projection angle" . "_pdbx_nmr_constraint_file.constraint_type" "carbohydrate dihedral angle" . "_pdbx_nmr_constraint_file.constraint_type" "nucleic acid other kinds of constraints" . "_pdbx_nmr_constraint_file.constraint_type" "protein other kinds of constraints" . "_pdbx_nmr_constraint_file.constraint_type" "other angle" . # _pdbx_item_enumeration_details.name "_pdbx_nmr_constraint_file.constraint_type" _pdbx_item_enumeration_details.closed_flag no # _item_examples.case 'distance' save_ save__pdbx_nmr_constraint_file.entry_id _item_description.description ; Pointer to '_entry.id' ; _item.name '_pdbx_nmr_constraint_file.entry_id' _item.category_id 'pdbx_nmr_constraint_file' _item.mandatory_code yes _item_type.code 'code' _item_examples.case '2SNS' save_ save__pdbx_nmr_constraint_file.id _item_description.description ; Local unique identifier for the listed constraint file. ; _item.name '_pdbx_nmr_constraint_file.id' _item.category_id 'pdbx_nmr_constraint_file' _item.mandatory_code no _item_type.code 'int' save_ save__pdbx_nmr_constraint_file.software_name _item_description.description ; Name of the software application that the listed constraint file is used as input. ; _item.name '_pdbx_nmr_constraint_file.software_name' _item.category_id 'pdbx_nmr_constraint_file' _item.mandatory_code no _item_type.code 'line' _item_examples.case 'XPLOR-NIH' _pdbx_item.name "_pdbx_nmr_constraint_file.software_name" _pdbx_item.mandatory_code yes # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_constraint_file.software_name" AMBER . "_pdbx_nmr_constraint_file.software_name" ARIA . "_pdbx_nmr_constraint_file.software_name" CNS . "_pdbx_nmr_constraint_file.software_name" CYANA . "_pdbx_nmr_constraint_file.software_name" DISCOVER . "_pdbx_nmr_constraint_file.software_name" TALOS . "_pdbx_nmr_constraint_file.software_name" X-PLOR . "_pdbx_nmr_constraint_file.software_name" XPLOR-NIH . "_pdbx_nmr_constraint_file.software_name" NMR-STAR . # _pdbx_item_enumeration_details.name "_pdbx_nmr_constraint_file.software_name" _pdbx_item_enumeration_details.closed_flag no # save_ save__pdbx_nmr_constraint_file.software_ordinal _item_description.description ; Pointer to _software.ordinal ; _item.name '_pdbx_nmr_constraint_file.software_ordinal' _item.category_id 'pdbx_nmr_constraint_file' _item.mandatory_code no _item_type.code 'int' save_ ############# new tags for the pdbx_nmr_exptl_sample_conditions category save__pdbx_nmr_exptl_sample_conditions.details _item_description.description ; General details describing conditions of both the sample and the environment during measurements. ; _item.name '_pdbx_nmr_exptl_sample_conditions.details' _item.category_id 'pdbx_nmr_exptl_sample_conditions' _item.mandatory_code no _item_type.code 'text' _item_examples.case ; The high salinity of the sample may have contributed to overheating of the sample during experiments with long saturation periods like the TOCSY experiments. ; save_ save__pdbx_nmr_exptl_sample_conditions.ionic_strength_err _item_description.description ; Estimate of the standard error for the value for the sample ionic strength. ; _item.name '_pdbx_nmr_exptl_sample_conditions.ionic_strength_err' _item.category_id 'pdbx_nmr_exptl_sample_conditions' _item.mandatory_code no _item_type.code 'float' _item_examples.case '0.2' _pdbx_item_description.name "_pdbx_nmr_exptl_sample_conditions.ionic_strength_err" _pdbx_item_description.description "Estimate of the standard error for the sample ionic strength." save_ save__pdbx_nmr_exptl_sample_conditions.ionic_strength_units _item_description.description ; Units for the value of the sample condition ionic strength.. ; _item.name '_pdbx_nmr_exptl_sample_conditions.ionic_strength_units' _item.category_id 'pdbx_nmr_exptl_sample_conditions' _item.mandatory_code no _item_type.code 'line' _pdbx_item.name "_pdbx_nmr_exptl_sample_conditions.ionic_strength_units" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_nmr_exptl_sample_conditions.ionic_strength_units" _pdbx_item_description.description "Units of the sample condition ionic strength." loop_ _item_enumeration.value _item_enumeration.detail M ? mM ? 'Not defined' ? _item_examples.case 'M' save_ save__pdbx_nmr_exptl_sample_conditions.label _item_description.description ; A descriptive label that uniquely identifies this set of sample conditions. ; _item.name '_pdbx_nmr_exptl_sample_conditions.label' _item.category_id 'pdbx_nmr_exptl_sample_conditions' _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_exptl_sample_conditions.label" _pdbx_item.mandatory_code yes _item_default.value 'sample_conditions_1' _item_type.code line _item_examples.case 'conditions_1' _pdbx_item_description.name "_pdbx_nmr_exptl_sample_conditions.label" _pdbx_item_description.description "A name that uniquely identifies this set of sample conditions from the others listed in the entry." save_ save__pdbx_nmr_exptl_sample_conditions.pH_err _item_description.description ; Estimate of the standard error for the value for the sample pH. ; _item.name '_pdbx_nmr_exptl_sample_conditions.pH_err' _item.category_id 'pdbx_nmr_exptl_sample_conditions' _item.mandatory_code no _item_type.code 'float' _item_examples.case '0.05' _pdbx_item_description.name "_pdbx_nmr_exptl_sample_conditions.pH_err" _pdbx_item_description.description "Estimate of the standard error for the sample pH." save_ save__pdbx_nmr_exptl_sample_conditions.pH_units _item_description.description ; Units for the value of the sample condition pH. ; _item.name '_pdbx_nmr_exptl_sample_conditions.pH_units' _item.category_id 'pdbx_nmr_exptl_sample_conditions' _item.mandatory_code no _item_type.code 'line' _pdbx_item.name "_pdbx_nmr_exptl_sample_conditions.pH_units" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_nmr_exptl_sample_conditions.pH_units" _pdbx_item_description.description "Units of the sample condition pH." # loop_ _item_enumeration.value _item_enumeration.detail pH ? pD ? pH* ? 'Not defined' ? _item_examples.case 'pH' save_ save__pdbx_nmr_exptl_sample_conditions.pressure_err _item_description.description ; Estimate of the standard error for the value for the sample pressure. ; _item.name '_pdbx_nmr_exptl_sample_conditions.pressure_err' _item.category_id 'pdbx_nmr_exptl_sample_conditions' _item.mandatory_code no _item_type.code 'float' _item_examples.case '0.01' _pdbx_item_description.name "_pdbx_nmr_exptl_sample_conditions.pressure_err" _pdbx_item_description.description "Estimate of the standard error for the sample pressure." save_ #save__pdbx_nmr_exptl_sample_conditions.pressure_units # # _item_description.description #; #Units for the value of the sample condition pressure. #; # # _item.name '_pdbx_nmr_exptl_sample_conditions.pressure_units' # _item.category_id 'pdbx_nmr_exptl_sample_conditions' # _item.mandatory_code no # _item_type.code 'line' # # loop_ # _item_enumeration.value # _item_enumeration.detail # # Pa "Pascal$ 1 Pa = 1 N m^-2" # bar "bar$ 1 bar = 10^5 Pa" # atm atmospheres # mmHg ? # Torr ? # mbar millibar # 'Not defined' ? # # _item_examples.case 'atm' # #save_ save__pdbx_nmr_exptl_sample_conditions.temperature_err _item_description.description ; Estimate of the standard error for the value for the sample temperature. ; _item.name '_pdbx_nmr_exptl_sample_conditions.temperature_err' _item.category_id 'pdbx_nmr_exptl_sample_conditions' _item.mandatory_code no _item_type.code 'float' _item_examples.case '0.2' _pdbx_item_description.name "_pdbx_nmr_exptl_sample_conditions.temperature_err" _pdbx_item_description.description "Estimate of the standard error for the sample temperature." save_ save__pdbx_nmr_exptl_sample_conditions.temperature_units _item_description.description ; Units for the value of the sample condition temperature. ; _item.name '_pdbx_nmr_exptl_sample_conditions.temperature_units' _item.category_id 'pdbx_nmr_exptl_sample_conditions' _item.mandatory_code no _item_type.code 'line' _pdbx_item.name "_pdbx_nmr_exptl_sample_conditions.temperature_units" _pdbx_item.mandatory_code yes # _pdbx_item_enumeration.name "_pdbx_nmr_exptl_sample_conditions.temperature_units" _pdbx_item_enumeration.value K _pdbx_item_enumeration.detail Kelvin loop_ _item_enumeration.value _item_enumeration.detail K Kelvin C Centigrade 'Not defined' ? _item_examples.case 'K' save_ ############# new tag for the pdbx_nmr_exptl category ## Recommended additional tag for this category to allow a link between the experiment and the NMR ## instrument used to carry out the experiment. Often more than one instrument is used in an NMR study ## and it is important to know which instrument was used for each experiment. save__pdbx_nmr_exptl.spectrometer_id _item_description.description ; Pointer to '_pdbx_nmr_spectrometer.spectrometer_id' ; _item.name '_pdbx_nmr_exptl.spectrometer_id' _item.category_id 'pdbx_nmr_exptl' _item.mandatory_code no _item_type.code 'int' _pdbx_item.name '_pdbx_nmr_exptl.spectrometer_id' _pdbx_item.mandatory_code yes # _pdbx_item_description.name '_pdbx_nmr_exptl.spectrometer_id' _pdbx_item_description.description 'The previously specified NMR spectrometer ID and information identifying the spectrometer used for each of these experiments.' save_ save__pdbx_nmr_exptl.sample_state _item_description.description ; Physical state of the sample either anisotropic or isotropic. ; _item.name '_pdbx_nmr_exptl.sample_state' _item.category_id 'pdbx_nmr_exptl' _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_exptl.sample_state" _pdbx_item.mandatory_code yes # _item_default.value 'isotropic' _item_type.code 'line' _pdbx_item_description.name "_pdbx_nmr_exptl.sample_state" _pdbx_item_description.description "Physical state of the sample, either anisotropic or isotropic." loop_ _item_enumeration.value _item_enumeration.detail isotropic ? anisotropic ? _item_examples.case 'isotropic' save_ ############## new tags for the pdbx_nmr_sample_details category save__pdbx_nmr_sample_details.label _item_description.description ; A value that uniquely identifies this sample from the other samples listed in the entry. ; ## This item is a possible item to use in the user interface to allow the depositor to label their samples with ## names that make sense to them instead of integer IDs that are difficult to remember. _item.name '_pdbx_nmr_sample_details.label' _item.category_id 'pdbx_nmr_sample_details' _item.mandatory_code no _item_default.value 'sample_1' _item_type.code 'line' _item_examples.case '15N_sample' _pdbx_item.name "_pdbx_nmr_sample_details.label" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_nmr_sample_details.label" _pdbx_item_description.description "A name that uniquely identifies this sample from the others listed in the entry." # save_ save__pdbx_nmr_sample_details.type _item_description.description ; A descriptive term for the sample that defines the general physical properties of the sample. ; ## Recommended item. It is very important to know the type of sample used. _item.name '_pdbx_nmr_sample_details.type' _item.category_id 'pdbx_nmr_sample_details' _item.mandatory_code no _item_default.value 'solution' _item_type.code 'line' _pdbx_item.name "_pdbx_nmr_sample_details.type" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_nmr_sample_details.type" _pdbx_item_description.description "The term that best describes the general physical properties of the sample." # loop_ _item_enumeration.value _item_enumeration.detail solution ? solid ? bicelle ? emulsion ? fiber 'solid-state fiber sample' 'filamentous virus' ? 'gel solution' 'gel samples used for solution NMR' 'gel solid' 'gel samples used for solid-state NMR' liposome ? membrane ? micelle ? 'lyophilized powder' ? 'oriented membrane film' ? 'fibrous protein' ? 'polycrystalline powder' ? 'reverse micelle' ? 'single crystal' ? _item_examples.case 'bicelle' save_ save__pdbx_nmr_sample_details.details _item_description.description ; Brief description of the sample providing additional information not captured by other items in the category. ; _item.name '_pdbx_nmr_sample_details.details' _item.category_id 'pdbx_nmr_sample_details' _item.mandatory_code no _item_type.code 'text' _item_examples.case ; The added glycerol was used to raise the viscosity of the solution to 1.05 poisson. ; _pdbx_item_description.name "_pdbx_nmr_sample_details.details" _pdbx_item_description.description "Brief description of the sample, providing additional information not captured by other items in the category." save_ ####################### new category ## Suggested new category. Many NMR software applications carry out multiple tasks. It might be useful to capture this in a linked table. save_pdbx_nmr_software_task _category.description ; Items in the pdbx_nmr_software_task category provide information about software workflow in the NMR experiment. ; _category.id 'pdbx_nmr_software_task' _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_software_task.entry_id' '_pdbx_nmr_software_task.software_ordinal' '_pdbx_nmr_software_task.task' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' save_ #### new category tags save__pdbx_nmr_software_task.entry_id _item_description.description ; Pointer to '_entry.id' ; _item.name '_pdbx_nmr_software_task.entry_id' _item.category_id 'pdbx_nmr_software_task' _item.mandatory_code yes _item_type.code 'code' _item_examples.case 2SNS save_ save__pdbx_nmr_software_task.software_ordinal _item_description.description ; Pointer to _software.ordinal ; _item.name '_pdbx_nmr_software_task.software_ordinal' _item.category_id 'pdbx_nmr_software_task' _item.mandatory_code yes _item_type.code 'int' _item_examples.case '1' save_ save__pdbx_nmr_software_task.task _item_description.description ; A word or brief phrase that describes the task that a software application was used to carry out. ; _item.name '_pdbx_nmr_software_task.task' _item.category_id 'pdbx_nmr_software_task' _item.mandatory_code yes _item_type.code 'line' _pdbx_item_enumeration_details.name "_pdbx_nmr_software_task.task" _pdbx_item_enumeration_details.closed_flag no loop_ _item_enumeration.value _item_enumeration.detail collection ? 'chemical shift assignment' ? 'chemical shift calculation' ? 'data analysis' ? 'geometry optimization' ? 'peak picking' ? processing ? refinement ? 'structure solution' ? _item_examples.case 'chemical shift assignment' save_ ############################ new category save_pdbx_nmr_spectral_dim _category.description ; Items in the spectral_dim category describe the parameters of each dimension in the NMR experiment used to generate the spectral peak list. ; _category.id 'pdbx_nmr_spectral_dim' _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_spectral_dim.id' '_pdbx_nmr_spectral_dim.atom_type' '_pdbx_nmr_spectral_dim.spectral_region' '_pdbx_nmr_spectral_dim.entry_id' '_pdbx_nmr_spectral_dim.spectral_peak_list_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_nmr_spectral_dim save_ #### new category tags save__pdbx_nmr_spectral_dim.id _item_description.description ; An integer value that specifies the dimension of a multidimensional NMR spectrum. ; _item.name '_pdbx_nmr_spectral_dim.id' _item.category_id 'pdbx_nmr_spectral_dim' _item.mandatory_code yes _item_type.code 'int' _item_examples.case '2' save_ save__pdbx_nmr_spectral_dim.atom_type _item_description.description ; The value for this tag is a standard IUPAC abbreviation for an element (i.e., H, C, N, P, etc). ; _item.name '_pdbx_nmr_spectral_dim.atom_type' _item.category_id 'pdbx_nmr_spectral_dim' _item.mandatory_code yes _item_type.code 'code' _item_examples.case 'C' _pdbx_item.name "_pdbx_nmr_spectral_dim.atom_type" _pdbx_item.mandatory_code yes save_ save__pdbx_nmr_spectral_dim.atom_isotope_number _item_description.description ; The mass number for the specified atom. ; _item.name '_pdbx_nmr_spectral_dim.atom_isotope_number' _item.category_id 'pdbx_nmr_spectral_dim' _item.mandatory_code yes _item_type.code 'int' _item_examples.case '13' save_ save__pdbx_nmr_spectral_dim.spectral_region _item_description.description ; A code defining the type of nuclei that would be expected to be observed in the spectral region observed in the dimension of the spectrum. ; _item.name '_pdbx_nmr_spectral_dim.spectral_region' _item.category_id 'pdbx_nmr_spectral_dim' _item.mandatory_code yes _item_type.code 'code' _item_examples.case 'CA' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_nmr_spectral_dim.spectral_region" H . "_pdbx_nmr_spectral_dim.spectral_region" HN . "_pdbx_nmr_spectral_dim.spectral_region" H-aromatic . "_pdbx_nmr_spectral_dim.spectral_region" H-aliphatic . "_pdbx_nmr_spectral_dim.spectral_region" H-methyl . "_pdbx_nmr_spectral_dim.spectral_region" N . "_pdbx_nmr_spectral_dim.spectral_region" C . "_pdbx_nmr_spectral_dim.spectral_region" CO . "_pdbx_nmr_spectral_dim.spectral_region" C-aromatic . "_pdbx_nmr_spectral_dim.spectral_region" C-aliphatic . "_pdbx_nmr_spectral_dim.spectral_region" CA . "_pdbx_nmr_spectral_dim.spectral_region" CB . "_pdbx_nmr_spectral_dim.spectral_region" C-methyl . # _pdbx_item_enumeration_details.name "_pdbx_nmr_spectral_dim.spectral_region" _pdbx_item_enumeration_details.closed_flag no # save_ save__pdbx_nmr_spectral_dim.magnetization_linkage_id _item_description.description ; The magnetization linkage ID is used to designate dimensions of a multidimensional NMR experiment where the nuclei observed in the dimensions are directly linked by a one bond scalar coupling. For example, the amide proton and amide nitrogen in an 1H-15N HSQC experiment. ; _item.name '_pdbx_nmr_spectral_dim.magnetization_linkage_id' _item.category_id 'pdbx_nmr_spectral_dim' _item.mandatory_code no _item_type.code 'int' _item_examples.case '1' save_ save__pdbx_nmr_spectral_dim.sweep_width _item_description.description ; The width of the spectral window observed in Hz. ; _item.name '_pdbx_nmr_spectral_dim.sweep_width' _item.category_id 'pdbx_nmr_spectral_dim' _item.mandatory_code no _item_type.code 'float' _item_examples.case '6132.234' _pdbx_item.name "_pdbx_nmr_spectral_dim.sweep_width" _pdbx_item.mandatory_code yes # _pdbx_item_description.name "_pdbx_nmr_spectral_dim.sweep_width" _pdbx_item_description.description "The width of the spectral window observed in Hz or ppm." # save_ save__pdbx_nmr_spectral_dim.encoding_code _item_description.description ; Code describing how information from one spectral dimension has been encoded in another dimension in for example a reduced dimensionality experiment. ; _item.name '_pdbx_nmr_spectral_dim.encoding_code' _item.category_id 'pdbx_nmr_spectral_dim' _item.mandatory_code no _item_type.code 'line' _item_examples.case 'CO in CA' save_ save__pdbx_nmr_spectral_dim.encoded_source_dimension_id _item_description.description ; Pointer to '_pdbx_nmr_spectral_dim.id'. The spectral dimension in a reduced dimensionality experiment that is the source of the magnetization that has been encoded. ; _item.name '_pdbx_nmr_spectral_dim.encoded_source_dimension_id' _item.category_id 'pdbx_nmr_spectral_dim' _item.mandatory_code no _item_type.code 'int' _item_examples.case '3' save_ save__pdbx_nmr_spectral_dim.entry_id _item_description.description ; Pointer to '_entry.id' ; _item.name '_pdbx_nmr_spectral_dim.entry_id' _item.category_id 'pdbx_nmr_spectral_dim' _item.mandatory_code yes _item_type.code 'code' _item_examples.case '2DSX' save_ save__pdbx_nmr_spectral_dim.spectral_peak_list_id _item_description.description ; Pointer to '_pdbx_nmr_spectral_peak_list.id' ; _item.name '_pdbx_nmr_spectral_dim.spectral_peak_list_id' _item.category_id 'pdbx_nmr_spectral_dim' _item.mandatory_code yes _item_type.code 'int' save_ ############################### new category save_pdbx_nmr_spectral_peak_list _category.description ; Items in the pdbx_nmr_spectral_peak_list category provide information about a list of reported spectral peak characteristic values. ; _category.id 'pdbx_nmr_spectral_peak_list' _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_spectral_peak_list.entry_id' '_pdbx_nmr_spectral_peak_list.id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_nmr_spectral_peak_list save_ #### new category tags save__pdbx_nmr_spectral_peak_list.entry_id _item_description.description ; Pointer to '_entry.id' ; _item.name '_pdbx_nmr_spectral_peak_list.entry_id' _item.category_id 'pdbx_nmr_spectral_peak_list' _item.mandatory_code yes _item_type.code 'code' _item_examples.case '2dsx' save_ save__pdbx_nmr_spectral_peak_list.id _item_description.description ; Unique identifier for a spectral peak list in an entry. ; loop_ _item.name _item.category_id _item.mandatory_code '_pdbx_nmr_spectral_peak_list.id' 'pdbx_nmr_spectral_peak_list' yes '_pdbx_nmr_spectral_dim.spectral_peak_list_id' 'pdbx_nmr_spectral_dim' yes '_pdbx_nmr_spectral_peak_software.spectral_peak_list_id' 'pdbx_nmr_spectral_peak_software' yes loop_ _item_linked.child_name _item_linked.parent_name '_pdbx_nmr_spectral_dim.spectral_peak_list_id' '_pdbx_nmr_spectral_peak_list.id' '_pdbx_nmr_spectral_peak_software.spectral_peak_list_id' '_pdbx_nmr_spectral_peak_list.id' _item_type.code 'int' save_ save__pdbx_nmr_spectral_peak_list.data_file_name _item_description.description ; The name of the file submitted with a deposition that contains the quantitative data for a spectral peak list. ; _item.name '_pdbx_nmr_spectral_peak_list.data_file_name' _item.category_id 'pdbx_nmr_spectral_peak_list' _item.mandatory_code no _item_type.code 'line' _pdbx_item.name "_pdbx_nmr_spectral_peak_list.data_file_name" _pdbx_item.mandatory_code yes save_ save__pdbx_nmr_spectral_peak_list.solution_id _item_description.description ; Pointer to '_pdbx_nmr_exptl_sample.solution_id' ; ## This item may be redundant, if the link to the sample is captured in the pdbx_nmr_exptl category. _item.name '_pdbx_nmr_spectral_peak_list.solution_id' _item.category_id 'pdbx_nmr_spectral_peak_list' _item.mandatory_code yes _item_type.code 'int' save_ save__pdbx_nmr_spectral_peak_list.conditions_id _item_description.description ; Pointer to '_pdbx_nmr_exptl_sample_conditions.conditions_id' ; ## This item may be redundant, if the link to the sample conditions is captured in the pdbx_nmr_exptl category. _item.name '_pdbx_nmr_spectral_peak_list.conditions_id' _item.category_id 'pdbx_nmr_spectral_peak_list' _item.mandatory_code yes _item_type.code 'int' save_ save__pdbx_nmr_spectral_peak_list.experiment_id _item_description.description ; Pointer to '_pdbx_nmr_exptl.experiment_id' ; _item.name '_pdbx_nmr_spectral_peak_list.experiment_id' _item.category_id 'pdbx_nmr_spectral_peak_list' _item.mandatory_code yes _item_type.code 'int' _pdbx_item_description.name "_pdbx_nmr_spectral_peak_list.experiment_id" _pdbx_item_description.description "Name of the NMR experiment in which the above peak list is obtained." save_ save__pdbx_nmr_spectral_peak_list.number_of_spectral_dimensions _item_description.description ; Number of dimension in the spectrum from which the peak list was extracted. ; _item.name '_pdbx_nmr_spectral_peak_list.number_of_spectral_dimensions' _item.category_id 'pdbx_nmr_spectral_peak_list' _item.mandatory_code yes _item_type.code 'int' _item_examples.case '3' save_ save__pdbx_nmr_spectral_peak_list.details _item_description.description ; Text describing the reported list of spectral peaks. ; _item.name '_pdbx_nmr_spectral_peak_list.details' _item.category_id 'pdbx_nmr_spectral_peak_list' _item.mandatory_code no _item_type.code 'text' save_ save__pdbx_nmr_spectral_peak_list.text_data_format _item_description.description ; The data format used to represent the spectral peak data as ASCII text in the text block that is the value to the '_Spectral_peak_list.Text_data' tag. ; _item.name '_pdbx_nmr_spectral_peak_list.text_data_format' _item.category_id 'pdbx_nmr_spectral_peak_list' _item.mandatory_code no _item_type.code 'line' save_ ################################ new category save_pdbx_nmr_spectral_peak_software _category.description ; Items in the pdbx_nmr_spectral_peak_software category provide pointers to the software category and methods category where descriptions of software applications and methods can be found. ; _category.id 'pdbx_nmr_spectral_peak_software' _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_spectral_peak_software.software_id' '_pdbx_nmr_spectral_peak_software.entry_id' '_pdbx_nmr_spectral_peak_software.spectral_peak_list_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_nmr_spectral_peak_software save_ #### new category tags save__pdbx_nmr_spectral_peak_software.software_id _item_description.description ; Pointer to '_pdbx_nmr_software.ordinal' ; _item.name '_pdbx_nmr_spectral_peak_software.software_id' _item.category_id 'pdbx_nmr_spectral_peak_software' _item.mandatory_code yes _item_type.code 'int' _pdbx_item_description.name "_pdbx_nmr_spectral_peak_software.software_id" _pdbx_item_description.description "Name of the software used for analyzing this peak list." save_ save__pdbx_nmr_spectral_peak_software.entry_id _item_description.description ; Pointer to '_entry.id' ; _item.name '_pdbx_nmr_spectral_peak_software.entry_id' _item.category_id 'pdbx_nmr_spectral_peak_software' _item.mandatory_code yes _item_type.code 'code' _item_examples.case '2DSX' save_ save__pdbx_nmr_spectral_peak_software.spectral_peak_list_id _item_description.description ; Pointer to '_pdbx_nmr_spectral_peak_list.id' ; _item.name '_pdbx_nmr_spectral_peak_software.spectral_peak_list_id' _item.category_id 'pdbx_nmr_spectral_peak_software' _item.mandatory_code yes _item_type.code 'int' save_ ########################### new tags for the pdbx_nmr_spectrometer category save__pdbx_nmr_spectrometer.details _item_description.description ; A text description of the NMR spectrometer. ; _item.name '_pdbx_nmr_spectrometer.details' _item.category_id 'pdbx_nmr_spectrometer' _item.mandatory_code no _item_type.code 'text' # _pdbx_item_description.name "_pdbx_nmr_spectrometer.details" _pdbx_item_description.description "Further details about the NMR spectrometer." save_ ###################################### new category save_pdbx_nmr_systematic_chem_shift_offset _category.description ; Items in the pdbx_nmr_systematic_chem_shift_offset category define chemical shift offsets that systematically affect all chemical shifts in a set of assigned chemical shifts for a specific nuclei. ; _category.id 'pdbx_nmr_systematic_chem_shift_offset' _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_systematic_chem_shift_offset.ordinal' # '_pdbx_nmr_systematic_chem_shift_offset.type' # '_pdbx_nmr_systematic_chem_shift_offset.entry_id' # '_pdbx_nmr_systematic_chem_shift_offset.assigned_chem_shift_list_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_nmr_systematic_chem_shift_offset save_ #### new category tags save__pdbx_nmr_systematic_chem_shift_offset.type _item_description.description ; The kind of chemical shift offset that should be applied to all chemical shifts observed for a specific type of atom. ; _item.name '_pdbx_nmr_systematic_chem_shift_offset.type' _item.category_id 'pdbx_nmr_systematic_chem_shift_offset' _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_systematic_chem_shift_offset.type" _pdbx_item.mandatory_code no _item_type.code 'line' loop_ _item_enumeration.value _item_enumeration.detail 'TROSY offset' ? '2H isotope effect' ? '13C isotope effect' ? '15N isotope effect' ? 'SAIL isotope labeling' ? _item_examples.case 'TROSY effect' # save_ save__pdbx_nmr_systematic_chem_shift_offset.atom_type _item_description.description ; The kind of atom to which the chemical shift offset value applies. ; _item.name '_pdbx_nmr_systematic_chem_shift_offset.atom_type' _item.category_id 'pdbx_nmr_systematic_chem_shift_offset' _item.mandatory_code no _item_type.code line _pdbx_item.name "_pdbx_nmr_systematic_chem_shift_offset.atom_type" _pdbx_item.mandatory_code no # _pdbx_item_enumeration_details.name "_pdbx_nmr_systematic_chem_shift_offset.atom_type" _pdbx_item_enumeration_details.closed_flag no # loop_ _item_enumeration.value _item_enumeration.detail 'amide protons' ? 'amide nitrogens' ? 'all nitrogen bonded protons' ? 'all nitrogens' ? 'all 1H' ? 'all 13C' ? 'all 15N' ? 'all 19F' ? 'all 31P' ? _item_examples.case 'amide nitrogens' save_ save__pdbx_nmr_systematic_chem_shift_offset.atom_isotope_number _item_description.description ; Mass number for the atom defined by the '.Atom_type' tag with a systematic chemical shift offset. ; _item.name '_pdbx_nmr_systematic_chem_shift_offset.atom_isotope_number' _item.category_id 'pdbx_nmr_systematic_chem_shift_offset' _item.mandatory_code no _item_type.code 'int' _item_examples.case '1' _pdbx_item_description.name "_pdbx_nmr_systematic_chem_shift_offset.atom_isotope_number" _pdbx_item_description.description "Mass number for the defined atom type." save_ save__pdbx_nmr_systematic_chem_shift_offset.val _item_description.description ; Chemical shift value that has been applied to all of the reported chemical shifts to bring their values in line with values expected to be observed for the chemical shift referencing that was used. ; _item.name '_pdbx_nmr_systematic_chem_shift_offset.val' _item.category_id 'pdbx_nmr_systematic_chem_shift_offset' _item.mandatory_code no _item_type.code 'float' _item_examples.case '0.75' _pdbx_item.name "_pdbx_nmr_systematic_chem_shift_offset.val" _pdbx_item.mandatory_code no # _pdbx_item_description.name "_pdbx_nmr_systematic_chem_shift_offset.val" _pdbx_item_description.description "Value applied to the reported chemical shifts to convert to expected chemical shifts." # save_ save__pdbx_nmr_systematic_chem_shift_offset.val_err _item_description.description ; Error in the reported chemical shift offset value used. ; _item.name '_pdbx_nmr_systematic_chem_shift_offset.val_err' _item.category_id 'pdbx_nmr_systematic_chem_shift_offset' _item.mandatory_code no _item_type.code 'float' _item_examples.case '0.0067' save_ save__pdbx_nmr_systematic_chem_shift_offset.entry_id _item_description.description ; Pointer to '_entry.id' ; _item.name '_pdbx_nmr_systematic_chem_shift_offset.entry_id' _item.category_id 'pdbx_nmr_systematic_chem_shift_offset' _item.mandatory_code yes _item_type.code 'code' _item_examples.case '2DSX' save_ save__pdbx_nmr_systematic_chem_shift_offset.assigned_chem_shift_list_id _item_description.description ; Pointer to '_pdbx_nmr_assigned_chem_shift_list.id' ; _item.name '_pdbx_nmr_systematic_chem_shift_offset.assigned_chem_shift_list_id' _item.category_id 'pdbx_nmr_systematic_chem_shift_offset' _item.mandatory_code yes _item_type.code 'int' _item_examples.case '1' save_ save__pdbx_nmr_systematic_chem_shift_offset.ordinal _item_description.description ; An ordinal identifier uniquely identifying records in the pdbx_nmr_systematic_chem_shift_offset category. ; _item.name '_pdbx_nmr_systematic_chem_shift_offset.ordinal' _item.category_id 'pdbx_nmr_systematic_chem_shift_offset' _item.mandatory_code yes _item_type.code 'int' _item_examples.case '1' save_ ######################### new category ## The category is recommended to capture information required for processing of data at BMRB. save_pdbx_nmr_upload _category.description ; Items in the pdbx_nmr_upload category provide information about the data files uploaded by a depositor using the deposition system. ; _category.id 'pdbx_nmr_upload' _category.mandatory_code no loop_ _category_key.name '_pdbx_nmr_upload.entry_id' '_pdbx_nmr_upload.data_file_id' loop_ _category_group.id 'inclusive_group' 'nmr_group' 'pdbx_group' save_ #### new category tags ## tags for capturing the uploaded data file information and transferring the information to the NMR-STAR file save__pdbx_nmr_upload.data_file_id _item_description.description ; Unique code assigned to the file being uploaded by the depositor and that contains data that will be incorporated into this entry. ; _item.name '_pdbx_nmr_upload.data_file_id' _item.category_id 'pdbx_nmr_upload' _item.mandatory_code yes _item_type.code 'int' save_ save__pdbx_nmr_upload.data_file_name _item_description.description ; The directory path and file name for the data file that is to be uploaded. ; _item.name '_pdbx_nmr_upload.data_file_name' _item.category_id 'pdbx_nmr_upload' _item.mandatory_code yes _item_type.code 'line' _item_examples.case 't1_relaxation_1.txt' save_ save__pdbx_nmr_upload.data_file_category _item_description.description ; This item defines the kind of data in the file uploaded for deposition. ; _item.name '_pdbx_nmr_upload.data_file_category' _item.category_id 'pdbx_nmr_upload' _item.mandatory_code yes _item_type.code 'line' loop_ _item_enumeration.value _item_enumeration.detail assigned_chemical_shifts . coupling_constants . spectral_peak_list . resonance_linker . chem_shift_isotope_effect . chem_shift_interaction_diff . chem_shift_anisotropy . theoretical_chem_shifts . chem_shifts_calc_type . RDCs . dipolar_couplings . spectral_density_values . other_data_types . chemical_rates . H_exch_rates . H_exch_protection_factors . homonucl_NOEs . heteronucl_NOEs . heteronucl_T1_relaxation . heteronucl_T1rho_relaxation . heteronucl_T2_relaxation . auto_relaxation . dipole_dipole_relaxation . dipole_dipole_cross_correlations . dipole_CSA_cross_correlations . order_parameters . pH_titration . pH_param_list . D_H_fractionation_factors . binding_data . binding_param_list . deduced_secd_struct_features . deduced_hydrogen_bonds . conformer_statistics . constraint_statistics . representative_conformer . conformer_family_coord_set . force_constants . angular_order_parameters . tertiary_struct_elements . secondary_structs . bond_annotation . structure_interactions . other_struct_features . tensor . interatomic_distance . general_distance_constraints . distance_constraints . floating_chiral_stereo_assign . torsion_angle_constraints . RDC_constraints . J_three_bond_constraints . CA_CB_chem_shift_constraints . H_chem_shift_constraints . other_constraints . save_ save__pdbx_nmr_upload.data_file_syntax _item_description.description ; The syntax or format of the file that is uploaded. ; _item.name '_pdbx_nmr_upload.data_file_syntax' _item.category_id 'pdbx_nmr_upload' _item.mandatory_code no _item_type.code 'line' loop_ _item_enumeration.value _item_enumeration.detail 'NMR-STAR 3.1' ? 'NMR-STAR 2.1' ? 'AMBER' ? 'XPLOR' ? 'TALOS' ? 'CYANA' ? _item_examples.case 'NMR-STAR v3' save_ save__pdbx_nmr_upload.entry_id _item_description.description ; Pointer to '_entry.id' ; _item.name '_pdbx_nmr_upload.entry_id' _item.category_id 'pdbx_nmr_upload' _item.mandatory_code yes _item_type.code 'code' _item_examples.case '2DSX' save_ # extension add from chemical_shift_pdbx_update_20121211.dic save__pdbx_nmr_assigned_chem_shift_list.label _item_description.description ; A descriptive label that uniquely identifies a list of reported assigned chemical shifts. ; _item.name '_pdbx_nmr_assigned_chem_shift_list.label' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code no # _item_default.value '?' _pdbx_item.name "_pdbx_nmr_assigned_chem_shift_list.label" _pdbx_item.mandatory_code yes _item_type.code 'line' _pdbx_item_description.name "_pdbx_nmr_assigned_chem_shift_list.label" _pdbx_item_description.description "A name that uniquely identifies this chemical shift list from the others listed in the entry." _item_examples.case 'assigned chem shift set 1' save_ save__pdbx_nmr_assigned_chem_shift_list.conditions_label _item_description.description ; Pointer to 'pdbx_nmr_exptl_sample_conditions.label'. ; _item.name '_pdbx_nmr_assigned_chem_shift_list.conditions_label' _item.category_id 'pdbx_nmr_assigned_chem_shift_list' _item.mandatory_code no # _item_default.value '?' _item_type.code 'line' _item_examples.case 'sample conditions one' save_ save__pdbx_nmr_spectral_peak_list.label _item_description.description ; A descriptive label that uniquely identifies a list of reported spectral peaks. ; _item.name '_pdbx_nmr_spectral_peak_list.label' _item.category_id 'pdbx_nmr_spectral_peak_list' _item.mandatory_code no _pdbx_item.name "_pdbx_nmr_spectral_peak_list.label" _pdbx_item.mandatory_code yes # _item_default.value '?' _item_type.code 'line' _item_examples.case 'peak list 1' # save_ save__pdbx_nmr_spectral_peak_list.conditions_label _item_description.description ; Pointer to 'pdbx_nmr_exptl_sample_conditions.label'. ; _item.name '_pdbx_nmr_spectral_peak_list.conditions_label' _item.category_id 'pdbx_nmr_spectral_peak_list' _item.mandatory_code no # _item_default.value '?' _item_type.code 'line' _item_examples.case 'sample conditions one' save_ ## ## File struct_site_auth_extension.dic ## save__struct_site.pdbx_auth_asym_id _item_description.description ; A component of the identifier for the ligand in the site. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_struct_site.pdbx_auth_asym_id' _item.category_id struct_site _item.mandatory_code no _item_type.code code save_ save__struct_site.pdbx_auth_comp_id _item_description.description ; A component of the identifier for the ligand in the site. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_struct_site.pdbx_auth_comp_id' _item.category_id struct_site _item.mandatory_code no _item_type.code code save_ save__struct_site.pdbx_auth_seq_id _item_description.description ; A component of the identifier for the ligand in the site. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_struct_site.pdbx_auth_seq_id' _item.category_id struct_site _item.mandatory_code no _item_type.code code save_ save__struct_site.pdbx_auth_ins_code _item_description.description ; PDB insertion code for the ligand in the site. ; _item.name '_struct_site.pdbx_auth_ins_code' _item.category_id struct_site _item.mandatory_code no _item_type.code code save_ #save__struct_site.pdbx_evidence_code # _item_description.description #; The evidentiary support for the site assignment. #; # _item.name '_struct_site.pdbx_evidence_code' # _item.category_id struct_site # _item.mandatory_code no # _item_type.code line # loop_ # _item_enumeration.value 'Software' 'Author' # # save_ ## # File: pdbx_audit_support-extension.dic # Original: Apr 11, 2012 JDW # # Updated: -- # May 2, 2012 - Remove author relationship # Sep 1, 2012 - Adjust data types. # # Draft dictionary extension for describing support details for data entry. # ## ######################## ## PDBX_AUDIT_SUPPORT ## ######################## save_pdbx_audit_support _category.description ; Data items in the PDBX_AUDIT_SUPPORT category record details about funding support for the entry. ; _category.id pdbx_audit_support _category.mandatory_code no _category_key.name '_pdbx_audit_support.ordinal' loop_ _category_group.id 'inclusive_group' 'audit_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_audit_support.ordinal _pdbx_audit_support.funding_organization _pdbx_audit_support.grant_number _pdbx_audit_support.country 1 'National Institutes of Health/National Institute of General Medical Sciences' '1R01GM072999-01' 'United States' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_audit_support.funding_organization _item_description.description ; The name of the organization providing funding support for the entry. ; _item.name '_pdbx_audit_support.funding_organization' _item.category_id pdbx_audit_support _item.mandatory_code no _pdbx_item.name '_pdbx_audit_support.funding_organization' _pdbx_item.mandatory_code yes _item_type.code text loop_ _item_examples.case 'National Institutes of Health' 'Wellcome Trust' 'National Institutes of Health/National Institute of General Medical Sciences' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_pdbx_audit_support.funding_organization' 'Academia Sinica (Taiwan)' Taiwan '_pdbx_audit_support.funding_organization' 'Academy of Finland' Finland '_pdbx_audit_support.funding_organization' 'Accelerated Early staGe drug dIScovery (AEGIS)' 'European Union' '_pdbx_audit_support.funding_organization' 'Adaptimmune Ltd' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Agencia Nacional de Investigacion e Innovacion (ANII)' Uruguay '_pdbx_audit_support.funding_organization' 'Agencia Nacional de Promocion Cientifica y Tecnologica (FONCYT)' Argentina '_pdbx_audit_support.funding_organization' 'Agence Nationale de la Recherche (ANR)' France '_pdbx_audit_support.funding_organization' 'Agence Nationale de Recherches Sur le Sida et les Hepatites Virales (ANRS)' France '_pdbx_audit_support.funding_organization' 'Ake Wiberg Foundation' 'European Union' '_pdbx_audit_support.funding_organization' 'Alexander von Humboldt Foundation' Germany '_pdbx_audit_support.funding_organization' 'Alzheimer Forschung Initiative e.V.' Germany '_pdbx_audit_support.funding_organization' 'Alzheimers Drug Discovery Foundation (ADDF)' 'United States' '_pdbx_audit_support.funding_organization' 'American Cancer Society' 'United States' '_pdbx_audit_support.funding_organization' 'American Epilepsy Society' 'United States' '_pdbx_audit_support.funding_organization' 'American Heart Association' 'United States' '_pdbx_audit_support.funding_organization' 'Amyloidosis Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Aprea Therapeutics AB' Sweden '_pdbx_audit_support.funding_organization' 'ATIP-Avenir' France '_pdbx_audit_support.funding_organization' 'Australian Research Council (ARC)' Australia '_pdbx_audit_support.funding_organization' 'Australian Science and Industry Endowment Fund (SIEF)' Australia '_pdbx_audit_support.funding_organization' 'Austrian Research Promotion Agency' Austria '_pdbx_audit_support.funding_organization' 'Austrian Science Fund' Austria '_pdbx_audit_support.funding_organization' 'Baden-Wuerttemberg-Stiftung' Germany '_pdbx_audit_support.funding_organization' 'Banting Postdoctoral Fellowships' Canada '_pdbx_audit_support.funding_organization' 'Bavarian State Ministry for Education, Culture, Science and Arts' Germany '_pdbx_audit_support.funding_organization' 'Belgian Foundation against Cancer' Netherlands '_pdbx_audit_support.funding_organization' 'Belarusian Republican Foundation for Fundamental Research' Belarus '_pdbx_audit_support.funding_organization' 'Bill & Melinda Gates Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Biotechnology and Biological Sciences Research Council (BBSRC)' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Birkbeck College' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Bloodwise' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Board of Research in Nuclear Sciences (BRNS)' India '_pdbx_audit_support.funding_organization' 'Boehringer Ingelheim Fonds (BIF)' Germany '_pdbx_audit_support.funding_organization' 'Brazilian National Council for Scientific and Technological Development (CNPq)' Brazil '_pdbx_audit_support.funding_organization' 'British Heart Foundation' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Brookhaven National Laboratory (BNL)' 'United States' '_pdbx_audit_support.funding_organization' 'Business Finland' Finland '_pdbx_audit_support.funding_organization' 'CAMS Innovation Fund for Medical Sciences (CIFMS)' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Canada Excellence Research Chair Award' Canada '_pdbx_audit_support.funding_organization' 'Canada Foundation for Innovation' Canada '_pdbx_audit_support.funding_organization' 'Canada Research Chairs' Canada '_pdbx_audit_support.funding_organization' 'Canadian Glycomics Network (GLYCONET)' Canada '_pdbx_audit_support.funding_organization' 'Canadian Institutes of Health Research (CIHR)' Canada '_pdbx_audit_support.funding_organization' 'Cancer Council WA' Australia '_pdbx_audit_support.funding_organization' 'Cancerfonden' Sweden '_pdbx_audit_support.funding_organization' 'CancerGenomiCs.nl' Netherlands '_pdbx_audit_support.funding_organization' 'Cancer and Polio Research Fund' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Cancer Prevention and Research Institute of Texas (CPRIT)' 'United States' '_pdbx_audit_support.funding_organization' 'Cancer Research UK' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Centre National de la Recherche Scientifique (CNRS)' France '_pdbx_audit_support.funding_organization' 'Chan Zuckerberg Initiative' 'United States' '_pdbx_audit_support.funding_organization' 'CHDI Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Childrens Discovery Institute of Washington University and St. Louis Childrens Hospital' 'United States' '_pdbx_audit_support.funding_organization' 'Chinese Academy of Sciences' China '_pdbx_audit_support.funding_organization' 'Christian Doppler Forschungsgesellschaft' Austria '_pdbx_audit_support.funding_organization' 'CIFAR Azrieli Global Scholars' Canada '_pdbx_audit_support.funding_organization' 'Comision Nacional Cientifica y Technologica (CONICYT)' Chile '_pdbx_audit_support.funding_organization' 'Commonwealth Scholarship Commission (United Kingdom)' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Consejo Nacional de Ciencia y Tecnologia (CONACYT)' Mexico '_pdbx_audit_support.funding_organization' 'Consortia for HIV/AIDS Vaccine Development' 'United States' '_pdbx_audit_support.funding_organization' 'Coordination for the Improvement of Higher Education Personnel' Brazil '_pdbx_audit_support.funding_organization' 'Council of Scientific & Industrial Research (CSIR)' India '_pdbx_audit_support.funding_organization' 'Crohns and Colitis Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Croatian Science Foundation' Croatia '_pdbx_audit_support.funding_organization' 'CRDF Global' 'United States' '_pdbx_audit_support.funding_organization' 'Cystic Fibrosis Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Czech Academy of Sciences' 'Czech Republic' '_pdbx_audit_support.funding_organization' 'Czech Science Foundation' 'Czech Republic' '_pdbx_audit_support.funding_organization' 'Danish Agency for Science Technology and Innovation' Denmark '_pdbx_audit_support.funding_organization' 'Danish Council for Independent Research' Denmark '_pdbx_audit_support.funding_organization' 'Danish National Research Foundation' Denmark '_pdbx_audit_support.funding_organization' 'Damon Runyon Cancer Research Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'David and Lucile Packard Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Defence Science and Technology Laboratory (DSTL)' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Defense Threat Reduction Agency (DTRA)' 'United States' '_pdbx_audit_support.funding_organization' 'Dementia Research Institute (DRI)' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Department of Defense (DOD, United States)' 'United States' '_pdbx_audit_support.funding_organization' 'Department of Energy (DOE, United States)' 'United States' '_pdbx_audit_support.funding_organization' 'Department of Biotechnology (DBT, India)' India '_pdbx_audit_support.funding_organization' 'Department of Health & Human Services (HHS)' 'United States' '_pdbx_audit_support.funding_organization' 'Department of Science & Technology (DST, India)' India '_pdbx_audit_support.funding_organization' 'DOC Fellowship of the Austrian Academy of Sciences' Austria '_pdbx_audit_support.funding_organization' 'Dutch Kidney Foundation' Netherlands '_pdbx_audit_support.funding_organization' 'EIPOD fellowship under Marie Sklodowska-Curie Actions COFUND' Germany '_pdbx_audit_support.funding_organization' 'Elite Network of Bavaria' Germany '_pdbx_audit_support.funding_organization' 'Engineering and Physical Sciences Research Council' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Enterprise Ireland' Ireland '_pdbx_audit_support.funding_organization' 'Estonian Research Council' Estonia '_pdbx_audit_support.funding_organization' 'European Commission' 'European Union' '_pdbx_audit_support.funding_organization' 'European Communitys Seventh Framework Programme' 'European Union' '_pdbx_audit_support.funding_organization' 'European Institute of Chemistry and Biology (IECB)' France '_pdbx_audit_support.funding_organization' 'European Molecular Biology Organization (EMBO)' 'European Union' '_pdbx_audit_support.funding_organization' 'European Regional Development Fund' 'European Union' '_pdbx_audit_support.funding_organization' 'European Research Council (ERC)' 'European Union' '_pdbx_audit_support.funding_organization' 'European Union (EU)' 'European Union' '_pdbx_audit_support.funding_organization' 'F. Hoffmann-La Roche LTD' Switzerland '_pdbx_audit_support.funding_organization' 'Fundacao para a Ciencia e a Tecnologia' Portugal '_pdbx_audit_support.funding_organization' 'Finnish Cultural Foundation' Finland '_pdbx_audit_support.funding_organization' 'Florence Instruct-ERIC Center' Italy '_pdbx_audit_support.funding_organization' 'Fondation ARC' France '_pdbx_audit_support.funding_organization' 'Foundation for Barnes-Jewish Hospital' 'United States' '_pdbx_audit_support.funding_organization' 'Foundation for Medical Research (France)' France '_pdbx_audit_support.funding_organization' 'Foundation for Polish Science' Poland '_pdbx_audit_support.funding_organization' 'Foundation for Science and Technology (FCT)' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Fondazione CARIPLO' Italy '_pdbx_audit_support.funding_organization' 'Fonds de Recherche du Quebec - Nature et Technologies (FRQNT)' Canada '_pdbx_audit_support.funding_organization' 'Fonds de Recherche du Quebec - Sante (FRQS)' Canada '_pdbx_audit_support.funding_organization' 'French Infrastructure for Integrated Structural Biology (FRISBI)' France '_pdbx_audit_support.funding_organization' 'French League Against Cancer' France '_pdbx_audit_support.funding_organization' 'French Ministry of Armed Forces' France '_pdbx_audit_support.funding_organization' 'French Muscular Dystrophy Association' France '_pdbx_audit_support.funding_organization' 'French National Institute of Agricultural Research (INRAE)' France '_pdbx_audit_support.funding_organization' 'French National Research Agency' France '_pdbx_audit_support.funding_organization' 'Friedreichs Ataxia Research Alliance (FARA)' 'United States' '_pdbx_audit_support.funding_organization' 'Future Leader Fellowship' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'General Secretariat for Research and Technology (GSRT)' 'European Union' '_pdbx_audit_support.funding_organization' 'German Federal Ministry for Economic Affairs and Energy' Germany '_pdbx_audit_support.funding_organization' 'German Federal Ministry for Education and Research' Germany '_pdbx_audit_support.funding_organization' 'German-Israeli Foundation for Research and Development' Germany '_pdbx_audit_support.funding_organization' 'German Research Foundation (DFG)' Germany '_pdbx_audit_support.funding_organization' 'GHR Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Global Challenges Research Fund' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Global Health Innovative Technology Fund' Japan '_pdbx_audit_support.funding_organization' 'Grant Agency of the Czech Republic' 'Czech Republic' '_pdbx_audit_support.funding_organization' 'Grenoble Alliance for Integrated Structural Cell Biology (GRAL)' France '_pdbx_audit_support.funding_organization' 'Grenoble Instruct-ERIC Center (ISBG)' France '_pdbx_audit_support.funding_organization' 'H2020 Marie Curie Actions of the European Commission' 'European Union' '_pdbx_audit_support.funding_organization' 'Health Research Council (HRC)' 'New Zealand' '_pdbx_audit_support.funding_organization' 'Hellenic Foundation for Research and Innovation (HFRI)' Greece '_pdbx_audit_support.funding_organization' 'Helmholtz Association' Germany '_pdbx_audit_support.funding_organization' 'Heritage Medical Research Institute' 'United States' '_pdbx_audit_support.funding_organization' 'Herman Frasch Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Hessian Ministry of Science, Higher Education and Art (HMWK)' Germany '_pdbx_audit_support.funding_organization' 'Higher Education Funding Council for England' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Howard Hughes Medical Institute (HHMI)' 'United States' '_pdbx_audit_support.funding_organization' 'Human Frontier Science Program (HFSP)' France '_pdbx_audit_support.funding_organization' 'Hungarian Academy of Sciences' Hungary '_pdbx_audit_support.funding_organization' 'Hungarian Ministry of Finance' Hungary '_pdbx_audit_support.funding_organization' 'Hungarian National Research, Development and Innovation Office' Hungary '_pdbx_audit_support.funding_organization' 'Imperial College London' 'United Kingdom' '_pdbx_audit_support.funding_organization' Innosuisse 'European Union' '_pdbx_audit_support.funding_organization' 'Innovative Medicines Initiative' Switzerland '_pdbx_audit_support.funding_organization' 'Institut Laue-Langevin' France '_pdbx_audit_support.funding_organization' 'Institute for Integrative Biology of the Cell (I2BC)' France '_pdbx_audit_support.funding_organization' 'Institute of Chemical Physics Russian Academy of Science' 'Russian Federation' '_pdbx_audit_support.funding_organization' 'International AIDS Vaccine Initiative' 'United States' '_pdbx_audit_support.funding_organization' 'Irish Research Council' Ireland '_pdbx_audit_support.funding_organization' 'Israel Ministry of Science and Technology' Israel '_pdbx_audit_support.funding_organization' 'Israel Science Foundation' Israel '_pdbx_audit_support.funding_organization' 'Italian Association for Cancer Research' Italy '_pdbx_audit_support.funding_organization' 'Italian Ministry of Education' Italy '_pdbx_audit_support.funding_organization' 'Italian Ministry of Health' Italy '_pdbx_audit_support.funding_organization' 'Italian Medicines Agency' Italy '_pdbx_audit_support.funding_organization' 'Italian National Research Council (CNR)' Italy '_pdbx_audit_support.funding_organization' 'Jack Ma Foundation' China '_pdbx_audit_support.funding_organization' 'Jane and Aatos Erkko Foundation' Finland '_pdbx_audit_support.funding_organization' 'Japan Agency for Medical Research and Development (AMED)' Japan '_pdbx_audit_support.funding_organization' 'Japan Science and Technology' Japan '_pdbx_audit_support.funding_organization' 'Japan Society for the Promotion of Science (JSPS)' Japan '_pdbx_audit_support.funding_organization' 'Joachim Herz Stiftung' Germany '_pdbx_audit_support.funding_organization' 'John Innes Foundation' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Joint Supercomputer Center of the Russian Academy of Sciences' 'Russian Federation' '_pdbx_audit_support.funding_organization' 'Kay Kendall Leukaemia Fund' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Knut and Alice Wallenberg Foundation' Sweden '_pdbx_audit_support.funding_organization' 'KU Leuven' Belgium '_pdbx_audit_support.funding_organization' 'La Caixa Foundation' Spain '_pdbx_audit_support.funding_organization' 'Laboratories of Excellence (LabEx)' France '_pdbx_audit_support.funding_organization' 'Leducq Foundation' France '_pdbx_audit_support.funding_organization' 'Leibniz Association' Germany '_pdbx_audit_support.funding_organization' 'Leukemia & Lymphoma Society' 'United States' '_pdbx_audit_support.funding_organization' 'Leverhulme Trust' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'LOreal-UNESCO' France '_pdbx_audit_support.funding_organization' 'Louis-Jeantet Foundation' Switzerland '_pdbx_audit_support.funding_organization' Lundbeckfonden Denmark '_pdbx_audit_support.funding_organization' 'Lustgarten Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Marie Sklodowska-Curie Actions, FragNET ITN' 'European Union' '_pdbx_audit_support.funding_organization' 'Marsden Fund' 'New Zealand' '_pdbx_audit_support.funding_organization' 'Max Planck Society' Germany '_pdbx_audit_support.funding_organization' 'Medical Research Council (MRC, Canada)' Canada '_pdbx_audit_support.funding_organization' 'Medical Research Council (MRC, United Kingdom)' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Michael J. Fox Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Minas Gerais State Agency for Research and Development (FAPEMIG)' Brazil '_pdbx_audit_support.funding_organization' 'Ministero dell Universita e della Ricerca' Italy '_pdbx_audit_support.funding_organization' 'Ministry of Business, Innovation and Employment (New Zealand)' 'New Zealand' '_pdbx_audit_support.funding_organization' 'Ministry of Economy and Competitiveness (MINECO)' Spain '_pdbx_audit_support.funding_organization' 'Ministry of Education (MoE, China)' China '_pdbx_audit_support.funding_organization' 'Ministry of Education (MoE, Czech Republic)' 'Czech Republic' '_pdbx_audit_support.funding_organization' 'Ministry of Education (MoE, Korea)' 'Korea, Republic Of' '_pdbx_audit_support.funding_organization' 'Ministry of Education (MoE, Singapore)' Singapore '_pdbx_audit_support.funding_organization' 'Ministry of Education and Science of the Russian Federation' 'Russian Federation' '_pdbx_audit_support.funding_organization' 'Ministry of Education, Culture, Sports, Science and Technology (Japan)' Japan '_pdbx_audit_support.funding_organization' 'Ministry of Education, Youth and Sports of the Czech Republic' 'Czech Republic' '_pdbx_audit_support.funding_organization' 'Ministry of Human Capacities' Hungary '_pdbx_audit_support.funding_organization' 'Ministry of Science and Higher Education of the Russian Federation' 'Russian Federation' '_pdbx_audit_support.funding_organization' 'Ministry of Science, Education and Sports of the Republic of Croatia' Croatia '_pdbx_audit_support.funding_organization' 'Ministry of Science, ICT and Future Planning (MSIP)' 'Korea, Republic Of' '_pdbx_audit_support.funding_organization' 'Ministry of Science, Technology and Innovation (MOSTI, Malaysia)' Malaysia '_pdbx_audit_support.funding_organization' 'Ministry of Science and Higher Education (Poland)' Poland '_pdbx_audit_support.funding_organization' 'Ministry of Science and Technology (MoST, China)' China '_pdbx_audit_support.funding_organization' 'Ministry of Science and Technology (MoST, Taiwan)' Taiwan '_pdbx_audit_support.funding_organization' 'Mizutani Foundation for Glycoscience' Japan '_pdbx_audit_support.funding_organization' 'Molecular and Cell Biology and Postgenomic Technologies' Hungary '_pdbx_audit_support.funding_organization' 'Monash Warwick Alliance' Australia '_pdbx_audit_support.funding_organization' 'Monash University/ARC Centre of Excellence in Advanced Molecular Imaging Alliance' Australia '_pdbx_audit_support.funding_organization' 'National Aeronautic Space Administration (NASA, United States)' 'United States' '_pdbx_audit_support.funding_organization' 'National Authority for Scientific Research in Romania (ANCS)' 'Romania' '_pdbx_audit_support.funding_organization' 'National Basic Research Program of China (973 Program)' China '_pdbx_audit_support.funding_organization' 'National Center for Genetic Engineering and Biotechnology (Thailand)' Thailand '_pdbx_audit_support.funding_organization' 'National Center for Research and Development (Poland)' Poland '_pdbx_audit_support.funding_organization' 'National Health and Medical Research Council (NHMRC, Australia)' 'Australia' '_pdbx_audit_support.funding_organization' 'National Institute of Food and Agriculture (NIFA, United States)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/Eunice Kennedy Shriver National Institute of Child Health & Human Development (NIH/NICHD)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/John E. Fogarty International Center (NIH/FIC)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Cancer Institute (NIH/NCI)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Center for Advancing Translational Sciences (NIH/NCATS)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Center for Complementary and Integrative Health (NIH/NCCIH)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Center for Research Resources (NIH/NCRR)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Eye Institute (NIH/NEI)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Heart, Lung, and Blood Institute (NIH/NHLBI)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Human Genome Research Institute (NIH/NHGRI)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute Of Allergy and Infectious Diseases (NIH/NIAID)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute of Arthritis and Musculoskeletal and Skin Diseases (NIH/NIAMS)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute on Alcohol Abuse and Alcoholism (NIH/NIAAA)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute of Biomedical Imaging and Bioengineering (NIH/NIBIB)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute of Dental and Craniofacial Research (NIH/NIDCR)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute of Diabetes and Digestive and Kidney Disease (NIH/NIDDK)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute of Environmental Health Sciences (NIH/NIEHS)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute of General Medical Sciences (NIH/NIGMS)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute of Mental Health (NIH/NIMH)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute on Minority Health and Health Disparities (NIH/NIMHD)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute of Neurological Disorders and Stroke (NIH/NINDS)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute on Deafness and Other Communication Disorders (NIH/NIDCD)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute on Drug Abuse (NIH/NIDA)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Library of Medicine (NIH/NLM)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/National Institute on Aging (NIH/NIA)' 'United States' '_pdbx_audit_support.funding_organization' 'National Institutes of Health/Office of the Director' 'United States' '_pdbx_audit_support.funding_organization' 'National Natural Science Foundation of China (NSFC)' China '_pdbx_audit_support.funding_organization' 'National Research Council (NRC, Argentina)' Argentina '_pdbx_audit_support.funding_organization' 'National Research Development and Innovation Office (NKFIH)' Hungary '_pdbx_audit_support.funding_organization' 'National Research Foundation (NRF, Korea)' 'Korea, Republic Of' '_pdbx_audit_support.funding_organization' 'National Research Foundation (NRF, Singapore)' Singapore '_pdbx_audit_support.funding_organization' 'National Research Foundation in South Africa' 'South Africa' '_pdbx_audit_support.funding_organization' 'National Science Council (NSC, Taiwan)' Taiwan '_pdbx_audit_support.funding_organization' 'National Science Foundation (NSF, China)' China '_pdbx_audit_support.funding_organization' 'National Science Foundation (NSF, United States)' 'United States' '_pdbx_audit_support.funding_organization' 'National Virtual Biotechnology Laboratory (NVBL)' 'United States' '_pdbx_audit_support.funding_organization' 'National Scientific and Technical Research Council (CONICET)' Argentina '_pdbx_audit_support.funding_organization' 'NATO Science for Peace and Security Program' Belgium '_pdbx_audit_support.funding_organization' 'Natural Environment Research Council (NERC)' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Natural Sciences and Engineering Research Council (NSERC, Canada)' Canada '_pdbx_audit_support.funding_organization' 'Netherlands Organisation for Scientific Research (NWO)' Netherlands '_pdbx_audit_support.funding_organization' 'New Energy and Industrial Technology Development Organization (NEDO)' Japan '_pdbx_audit_support.funding_organization' 'Norwegian Cancer Society' Norway '_pdbx_audit_support.funding_organization' 'Norwegian Research Council' Norway '_pdbx_audit_support.funding_organization' 'Not funded' . '_pdbx_audit_support.funding_organization' 'Novartis FreeNovation' . '_pdbx_audit_support.funding_organization' 'Novo Nordisk Foundation' Denmark '_pdbx_audit_support.funding_organization' 'Obel Family Foundation' Germany '_pdbx_audit_support.funding_organization' 'Office of Naval Research (ONR)' 'United States' '_pdbx_audit_support.funding_organization' 'Oncode Institute' Netherlands '_pdbx_audit_support.funding_organization' 'Ontario Early Researcher Awards' Canada '_pdbx_audit_support.funding_organization' 'Ontario Institute for Cancer Research' Canada '_pdbx_audit_support.funding_organization' 'Ontario Ministry of Colleges and Universities' Canada '_pdbx_audit_support.funding_organization' 'Ontario Research Fund' Canada '_pdbx_audit_support.funding_organization' OpenPlant 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Other government' . '_pdbx_audit_support.funding_organization' 'Other private' . '_pdbx_audit_support.funding_organization' 'Partnership for Structural Biology (PSB)' France '_pdbx_audit_support.funding_organization' 'Pasteur Institute' France '_pdbx_audit_support.funding_organization' 'Polish National Science Centre' Poland '_pdbx_audit_support.funding_organization' 'Programa de Apoyo a Proyectos de Investigacion e Innovacion Tecnologica (PAPIIT)' Mexico '_pdbx_audit_support.funding_organization' 'Promedica Siftung' Switzerland '_pdbx_audit_support.funding_organization' 'Qatar Foundation' Qatar '_pdbx_audit_support.funding_organization' 'Regione Lazio (Italy)' Italy '_pdbx_audit_support.funding_organization' 'Research Council of Lithuania' Lithuania '_pdbx_audit_support.funding_organization' 'Research Council of Norway' Norway '_pdbx_audit_support.funding_organization' 'Research Foundation - Flanders (FWO)' Belgium '_pdbx_audit_support.funding_organization' 'Robert A. Welch Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Royal Society' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Royal Society of New Zealand' 'New Zealand' '_pdbx_audit_support.funding_organization' 'Rural Development Administration' 'United States' '_pdbx_audit_support.funding_organization' 'Russian Foundation for Basic Research' 'Russian Federation' '_pdbx_audit_support.funding_organization' 'Russian Science Foundation' 'Russian Federation' '_pdbx_audit_support.funding_organization' 'Sao Paulo Research Foundation (FAPESP)' Brazil '_pdbx_audit_support.funding_organization' 'Sarcoma UK' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Saudi Ministry of Education' 'Saudi Arabia' '_pdbx_audit_support.funding_organization' 'Science and Engineering Research Board (SERB)' India '_pdbx_audit_support.funding_organization' 'Science Foundation Ireland' Ireland '_pdbx_audit_support.funding_organization' 'Science and Technology Funding Council' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Seneca Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Shirley Boyde Foundation' 'Hong Kong' '_pdbx_audit_support.funding_organization' 'Sigrid Juselius Foundation' Finland '_pdbx_audit_support.funding_organization' 'Simons Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Spanish Ministry of Economy and Competitiveness' Spain '_pdbx_audit_support.funding_organization' 'Spanish Ministry of Science, Innovation, and Universities' Spain '_pdbx_audit_support.funding_organization' 'Spanish National Research Council' Spain '_pdbx_audit_support.funding_organization' 'Spar Nord Foundation' Germany '_pdbx_audit_support.funding_organization' 'Slovenian Research Agency' Slovenia # '_pdbx_audit_support.funding_organization' "St. Jude Children's Research Hospital (ALSAC)" 'United States' '_pdbx_audit_support.funding_organization' 'Swedish Energy Agency' Sweden '_pdbx_audit_support.funding_organization' 'Swedish Research Council' Sweden '_pdbx_audit_support.funding_organization' 'Swiss Nanoscience Institute' Switzerland '_pdbx_audit_support.funding_organization' 'Swiss National Science Foundation' Switzerland '_pdbx_audit_support.funding_organization' 'Synchrotron Light Research Institute (SLRI)' Thailand '_pdbx_audit_support.funding_organization' 'Technology Agency of the Czech Republic' 'Czech Republic' '_pdbx_audit_support.funding_organization' 'TESS Research Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'The Carlsberg Foundation' Denmark '_pdbx_audit_support.funding_organization' 'The Carnegie Trust for the Universities of Scotland' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'The Comammox Research Platform' Austria '_pdbx_audit_support.funding_organization' 'The Francis Crick Institute' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'The Giovanni Armenise-Harvard Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'The G. Harold and Leila Y. Mathers Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'The Hospital For Sick Children Foundation' Canada '_pdbx_audit_support.funding_organization' 'The Mark Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'The Structural Genomics Consortium (SGC)' Canada '_pdbx_audit_support.funding_organization' 'The Swedish Foundation for Strategic Research' Sweden '_pdbx_audit_support.funding_organization' 'The Thailand Research Fund (TRF)' Thailand '_pdbx_audit_support.funding_organization' 'The Yanmar Environmental Sustainability Support Association' Japan '_pdbx_audit_support.funding_organization' 'The University Grants Committee, Research Grants Council (RGC)' 'Hong Kong' '_pdbx_audit_support.funding_organization' 'Tobacco-Related Disease Research Program (TRDRP)' 'United States' '_pdbx_audit_support.funding_organization' 'Tower Cancer Research Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Tuberous Sclerosis Association' 'United States' '_pdbx_audit_support.funding_organization' 'UK Research and Innovation (UKRI)' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'United States - Israel Binational Science Foundation (BSF)' 'United States' '_pdbx_audit_support.funding_organization' 'United States Department of Agriculture (USDA)' 'United States' '_pdbx_audit_support.funding_organization' 'University of Bologna' Italy '_pdbx_audit_support.funding_organization' 'University of Cambridge' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'University and Research - University of Milan' Italy '_pdbx_audit_support.funding_organization' 'University of Vienna Research Platform Comammox' Austria '_pdbx_audit_support.funding_organization' 'University of Warwick' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'University of Zurich' Switzerland '_pdbx_audit_support.funding_organization' 'Velux Stiftung' Switzerland '_pdbx_audit_support.funding_organization' 'Vidyasirimedhi Institute of Science and Technology (VISTEC)' Thailand '_pdbx_audit_support.funding_organization' 'Vienna Science and Technology Fund (WWTF)' Austria '_pdbx_audit_support.funding_organization' 'Vinnova' Sweden '_pdbx_audit_support.funding_organization' 'Volkswagen Foundation' Germany '_pdbx_audit_support.funding_organization' 'Walloon Excellence in Lifesciences & BIOtechnology (WELBIO)' Belgium '_pdbx_audit_support.funding_organization' 'Welch Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Wellcome Trust' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Wenner-Gren Foundation' 'United States' '_pdbx_audit_support.funding_organization' 'Wolfson Foundation' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'World Health Organization (WHO)' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Worldwide Cancer Research' 'United Kingdom' '_pdbx_audit_support.funding_organization' 'Yousef Jameel Scholarship' Egypt # save_ save__pdbx_audit_support.country _item_description.description ; The country/region providing the funding support for the entry. ; _item.name '_pdbx_audit_support.country' _item.category_id pdbx_audit_support _item.mandatory_code no _item_type.code line loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_audit_support.country" "United Kingdom" . "_pdbx_audit_support.country" "United States" . "_pdbx_audit_support.country" Japan . "_pdbx_audit_support.country" Afghanistan . "_pdbx_audit_support.country" "Aland Islands" . "_pdbx_audit_support.country" Albania . "_pdbx_audit_support.country" Algeria . "_pdbx_audit_support.country" "American Samoa" . "_pdbx_audit_support.country" Andorra . "_pdbx_audit_support.country" Angola . "_pdbx_audit_support.country" Anguilla . "_pdbx_audit_support.country" Antarctica . "_pdbx_audit_support.country" "Antigua And Barbuda" . "_pdbx_audit_support.country" Argentina . "_pdbx_audit_support.country" Armenia . "_pdbx_audit_support.country" Aruba . "_pdbx_audit_support.country" Australia . "_pdbx_audit_support.country" Austria . "_pdbx_audit_support.country" Azerbaijan . "_pdbx_audit_support.country" Bahamas . "_pdbx_audit_support.country" Bahrain . "_pdbx_audit_support.country" Bangladesh . "_pdbx_audit_support.country" Barbados . "_pdbx_audit_support.country" Belarus . "_pdbx_audit_support.country" Belgium . "_pdbx_audit_support.country" Belize . "_pdbx_audit_support.country" Benin . "_pdbx_audit_support.country" Bermuda . "_pdbx_audit_support.country" Bhutan . "_pdbx_audit_support.country" "Bolivia, Plurinational State Of" . "_pdbx_audit_support.country" "Bonaire, Sint Eustatius And Saba" . "_pdbx_audit_support.country" "Bosnia And Herzegovina" . "_pdbx_audit_support.country" Botswana . "_pdbx_audit_support.country" "Bouvet Island" . "_pdbx_audit_support.country" Brazil . "_pdbx_audit_support.country" "British Indian Ocean Territory" . "_pdbx_audit_support.country" "Brunei Darussalam" . "_pdbx_audit_support.country" Bulgaria . "_pdbx_audit_support.country" "Burkina Faso" . "_pdbx_audit_support.country" Burundi . "_pdbx_audit_support.country" Cambodia . "_pdbx_audit_support.country" Cameroon . "_pdbx_audit_support.country" Canada . "_pdbx_audit_support.country" "Cape Verde" . "_pdbx_audit_support.country" "Cayman Islands" . "_pdbx_audit_support.country" "Central African Republic" . "_pdbx_audit_support.country" Chad . "_pdbx_audit_support.country" Chile . "_pdbx_audit_support.country" China . "_pdbx_audit_support.country" "Christmas Island" . "_pdbx_audit_support.country" "Cocos (Keeling) Islands" . "_pdbx_audit_support.country" Colombia . "_pdbx_audit_support.country" Comoros . "_pdbx_audit_support.country" Congo . "_pdbx_audit_support.country" "Congo, The Democratic Republic Of The" . "_pdbx_audit_support.country" "Cook Islands" . "_pdbx_audit_support.country" "Costa Rica" . "_pdbx_audit_support.country" "Cote D'Ivoire" . "_pdbx_audit_support.country" Croatia . "_pdbx_audit_support.country" Cuba . "_pdbx_audit_support.country" Curacao . "_pdbx_audit_support.country" Cyprus . "_pdbx_audit_support.country" "Czech Republic" . "_pdbx_audit_support.country" Denmark . "_pdbx_audit_support.country" Djibouti . "_pdbx_audit_support.country" Dominica . "_pdbx_audit_support.country" "Dominican Republic" . "_pdbx_audit_support.country" Ecuador . "_pdbx_audit_support.country" Egypt . "_pdbx_audit_support.country" "El Salvador" . "_pdbx_audit_support.country" "Equatorial Guinea" . "_pdbx_audit_support.country" Eritrea . "_pdbx_audit_support.country" Estonia . "_pdbx_audit_support.country" Ethiopia . # While not a country, is a country like grouping that provides funding "_pdbx_audit_support.country" "European Union" . "_pdbx_audit_support.country" "Falkland Islands (Malvinas)" . "_pdbx_audit_support.country" "Faroe Islands" . "_pdbx_audit_support.country" Fiji . "_pdbx_audit_support.country" Finland . "_pdbx_audit_support.country" France . "_pdbx_audit_support.country" "French Guiana" . "_pdbx_audit_support.country" "French Polynesia" . "_pdbx_audit_support.country" "French Southern Territories" . "_pdbx_audit_support.country" Gabon . "_pdbx_audit_support.country" Gambia . "_pdbx_audit_support.country" Georgia . "_pdbx_audit_support.country" Germany . "_pdbx_audit_support.country" Ghana . "_pdbx_audit_support.country" Gibraltar . "_pdbx_audit_support.country" Greece . "_pdbx_audit_support.country" Greenland . "_pdbx_audit_support.country" Grenada . "_pdbx_audit_support.country" Guadeloupe . "_pdbx_audit_support.country" Guam . "_pdbx_audit_support.country" Guatemala . "_pdbx_audit_support.country" Guernsey . "_pdbx_audit_support.country" Guinea . "_pdbx_audit_support.country" Guinea-Bissau . "_pdbx_audit_support.country" Guyana . "_pdbx_audit_support.country" Haiti . "_pdbx_audit_support.country" "Heard Island And Mcdonald Islands" . "_pdbx_audit_support.country" "Holy See (Vatican City State)" . "_pdbx_audit_support.country" Honduras . "_pdbx_audit_support.country" "Hong Kong" . "_pdbx_audit_support.country" Hungary . "_pdbx_audit_support.country" Iceland . "_pdbx_audit_support.country" India . "_pdbx_audit_support.country" Indonesia . "_pdbx_audit_support.country" "Iran, Islamic Republic Of" . "_pdbx_audit_support.country" Iraq . "_pdbx_audit_support.country" Ireland . "_pdbx_audit_support.country" "Isle Of Man" . "_pdbx_audit_support.country" Israel . "_pdbx_audit_support.country" Italy . "_pdbx_audit_support.country" Jamaica . "_pdbx_audit_support.country" Jersey . "_pdbx_audit_support.country" Jordan . "_pdbx_audit_support.country" Kazakhstan . "_pdbx_audit_support.country" Kenya . "_pdbx_audit_support.country" Kiribati . "_pdbx_audit_support.country" "Korea, Democratic People's Republic Of" . "_pdbx_audit_support.country" "Korea, Republic Of" . "_pdbx_audit_support.country" Kuwait . "_pdbx_audit_support.country" Kyrgyzstan . "_pdbx_audit_support.country" "Lao People's Democratic Republic" . "_pdbx_audit_support.country" Latvia . "_pdbx_audit_support.country" Lebanon . "_pdbx_audit_support.country" Lesotho . "_pdbx_audit_support.country" Liberia . "_pdbx_audit_support.country" Libya . "_pdbx_audit_support.country" Liechtenstein . "_pdbx_audit_support.country" Lithuania . "_pdbx_audit_support.country" Luxembourg . "_pdbx_audit_support.country" Macao . "_pdbx_audit_support.country" Macedonia . "_pdbx_audit_support.country" Madagascar . "_pdbx_audit_support.country" Malawi . "_pdbx_audit_support.country" Malaysia . "_pdbx_audit_support.country" Maldives . "_pdbx_audit_support.country" Mali . "_pdbx_audit_support.country" Malta . "_pdbx_audit_support.country" "Marshall Islands" . "_pdbx_audit_support.country" Martinique . "_pdbx_audit_support.country" Mauritania . "_pdbx_audit_support.country" Mauritius . "_pdbx_audit_support.country" Mayotte . "_pdbx_audit_support.country" Mexico . "_pdbx_audit_support.country" "Micronesia, Federated States Of" . "_pdbx_audit_support.country" "Moldova, Republic Of" . "_pdbx_audit_support.country" Monaco . "_pdbx_audit_support.country" Mongolia . "_pdbx_audit_support.country" Montenegro . "_pdbx_audit_support.country" Montserrat . "_pdbx_audit_support.country" Morocco . "_pdbx_audit_support.country" Mozambique . "_pdbx_audit_support.country" Myanmar . "_pdbx_audit_support.country" Namibia . "_pdbx_audit_support.country" Nauru . "_pdbx_audit_support.country" Nepal . "_pdbx_audit_support.country" Netherlands . "_pdbx_audit_support.country" "New Caledonia" . "_pdbx_audit_support.country" "New Zealand" . "_pdbx_audit_support.country" Nicaragua . "_pdbx_audit_support.country" Niger . "_pdbx_audit_support.country" Nigeria . "_pdbx_audit_support.country" Niue . "_pdbx_audit_support.country" "Norfolk Island" . "_pdbx_audit_support.country" "Northern Mariana Islands" . "_pdbx_audit_support.country" Norway . "_pdbx_audit_support.country" Oman . "_pdbx_audit_support.country" Pakistan . "_pdbx_audit_support.country" Palau . "_pdbx_audit_support.country" "Palestinian Territory" . "_pdbx_audit_support.country" Panama . "_pdbx_audit_support.country" "Papua New Guinea" . "_pdbx_audit_support.country" Paraguay . "_pdbx_audit_support.country" Peru . "_pdbx_audit_support.country" Philippines . "_pdbx_audit_support.country" Pitcairn . "_pdbx_audit_support.country" Poland . "_pdbx_audit_support.country" Portugal . "_pdbx_audit_support.country" "Puerto Rico" . "_pdbx_audit_support.country" Qatar . "_pdbx_audit_support.country" Reunion . "_pdbx_audit_support.country" Romania . "_pdbx_audit_support.country" "Russian Federation" . "_pdbx_audit_support.country" Rwanda . "_pdbx_audit_support.country" "Saint Barthelemy" . "_pdbx_audit_support.country" "Saint Helena, Ascension And Tristan Da Cunha" . "_pdbx_audit_support.country" "Saint Kitts And Nevis" . "_pdbx_audit_support.country" "Saint Lucia" . "_pdbx_audit_support.country" "Saint Martin (French Part)" . "_pdbx_audit_support.country" "Saint Pierre And Miquelon" . "_pdbx_audit_support.country" "Saint Vincent And The Grenadines" . "_pdbx_audit_support.country" Samoa . "_pdbx_audit_support.country" "San Marino" . "_pdbx_audit_support.country" "Sao Tome And Principe" . "_pdbx_audit_support.country" "Saudi Arabia" . "_pdbx_audit_support.country" Senegal . "_pdbx_audit_support.country" Serbia . "_pdbx_audit_support.country" Seychelles . "_pdbx_audit_support.country" "Sierra Leone" . "_pdbx_audit_support.country" Singapore . "_pdbx_audit_support.country" "Sint Maarten (Dutch Part)" . "_pdbx_audit_support.country" Slovakia . "_pdbx_audit_support.country" Slovenia . "_pdbx_audit_support.country" "Solomon Islands" . "_pdbx_audit_support.country" Somalia . "_pdbx_audit_support.country" "South Africa" . "_pdbx_audit_support.country" "South Georgia And The South Sandwich Islands" . "_pdbx_audit_support.country" "South Sudan" . "_pdbx_audit_support.country" Spain . "_pdbx_audit_support.country" "Sri Lanka" . "_pdbx_audit_support.country" Sudan . "_pdbx_audit_support.country" Suriname . "_pdbx_audit_support.country" "Svalbard And Jan Mayen" . "_pdbx_audit_support.country" Swaziland . "_pdbx_audit_support.country" Sweden . "_pdbx_audit_support.country" Switzerland . "_pdbx_audit_support.country" "Syrian Arab Republic" . "_pdbx_audit_support.country" Taiwan . "_pdbx_audit_support.country" Tajikistan . "_pdbx_audit_support.country" "Tanzania, United Republic Of" . "_pdbx_audit_support.country" Thailand . "_pdbx_audit_support.country" Timor-Leste . "_pdbx_audit_support.country" Togo . "_pdbx_audit_support.country" Tokelau . "_pdbx_audit_support.country" Tonga . "_pdbx_audit_support.country" "Trinidad And Tobago" . "_pdbx_audit_support.country" Tunisia . "_pdbx_audit_support.country" Turkey . "_pdbx_audit_support.country" Turkmenistan . "_pdbx_audit_support.country" "Turks And Caicos Islands" . "_pdbx_audit_support.country" Tuvalu . "_pdbx_audit_support.country" Uganda . "_pdbx_audit_support.country" Ukraine . "_pdbx_audit_support.country" "United Arab Emirates" . "_pdbx_audit_support.country" "United States Minor Outlying Islands" . "_pdbx_audit_support.country" Uruguay . "_pdbx_audit_support.country" Uzbekistan . "_pdbx_audit_support.country" Vanuatu . "_pdbx_audit_support.country" "Venezuela, Bolivarian Republic Of" . "_pdbx_audit_support.country" "Viet Nam" . "_pdbx_audit_support.country" "Virgin Islands, British" . "_pdbx_audit_support.country" "Virgin Islands, U.S." . "_pdbx_audit_support.country" "Wallis And Futuna" . "_pdbx_audit_support.country" "Western Sahara" . "_pdbx_audit_support.country" Yemen . "_pdbx_audit_support.country" Zambia . "_pdbx_audit_support.country" Zimbabwe . # save_ save__pdbx_audit_support.grant_number _item_description.description ; The grant number associated with this source of support. ; _item.name '_pdbx_audit_support.grant_number' _item.category_id pdbx_audit_support _item.mandatory_code no _item_type.code line save_ save__pdbx_audit_support.details _item_description.description ; Additional details regarding the funding of this entry ; _item.name '_pdbx_audit_support.details' _item.category_id pdbx_audit_support _item.mandatory_code no _item_type.code line _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_audit_support.details' save_ save__pdbx_audit_support.ordinal _item_description.description ; A unique sequential integer identifier for each source of support for this entry. ; _item.name '_pdbx_audit_support.ordinal' _item.category_id pdbx_audit_support _item.mandatory_code yes _item_type.code int loop_ _item_examples.case 1 2 3 save_ ########################################################################### # # File: chem_comp_subcomponent_extension.dic (DRAFT) # Date 14-Dec-2012 J. Westbrook # # Draft extension dictionary for describing subcomponent organization. # # Updates: # 5-Feb-2013 Jdw Add linkage details # 6-Feb-2013 jdw include enumeration and data type updates from KH # ########################################################################### # save_pdbx_chem_comp_subcomponent_struct_conn _category.description ; Data items in the pdbx_chem_comp_subcomponent_struct_conn list the chemical interactions among the subcomponents in the chemical component. ; _category.id pdbx_chem_comp_subcomponent_struct_conn _category.mandatory_code no _category_key.name '_pdbx_chem_comp_subcomponent_struct_conn.id' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; # loop_ _pdbx_chem_comp_subcomponent_struct_conn.id _pdbx_chem_comp_subcomponent_struct_conn.type _pdbx_chem_comp_subcomponent_struct_conn.entity_id_1 _pdbx_chem_comp_subcomponent_struct_conn.comp_id_1 _pdbx_chem_comp_subcomponent_struct_conn.seq_id_1 _pdbx_chem_comp_subcomponent_struct_conn.atom_id_1 _pdbx_chem_comp_subcomponent_struct_conn.entity_id_2 _pdbx_chem_comp_subcomponent_struct_conn.comp_id_2 _pdbx_chem_comp_subcomponent_struct_conn.seq_id_2 _pdbx_chem_comp_subcomponent_struct_conn.atom_id_2 1 covale 1 BGC 1 " O4" 1 BGC 2 " C1" 2 covale 1 BGC 2 " O4" 1 BGC 3 " C1" 3 covale 1 BGC 3 " O4" 1 BGC 4 " C1" 4 covale 1 BGC 4 " O4" 1 BGC 5 " C1" 5 covale 1 BGC 5 " O4" 1 BGC 6 " C1" 6 covale 1 BGC 6 " O4" 1 BGC 7 " C1" 7 covale 1 BGC 7 " O4" 1 BGC 8 " C1" # ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_subcomponent_struct_conn.id _item_description.description ; Ordinal index for the interactions listed in this category. ; _item.name '_pdbx_chem_comp_subcomponent_struct_conn.id' _item.category_id pdbx_chem_comp_subcomponent_struct_conn _item.mandatory_code yes _item_type.code int save_ save__pdbx_chem_comp_subcomponent_struct_conn.type _item_description.description ; The chemical or structural type of the interaction. ; _item.name '_pdbx_chem_comp_subcomponent_struct_conn.type' _item.category_id pdbx_chem_comp_subcomponent_struct_conn _item.mandatory_code yes _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail covale 'covalent bond' disulf 'disulfide bridge' hydrog 'hydrogen bond' metalc 'metal coordination' mismat 'mismatched base pairs' saltbr 'ionic interaction' covale_base 'covalent modification of a nucleotide base' covale_sugar 'covalent modification of a nucleotide sugar' covale_phosphate 'covalent modification of a nucleotide phosphate' save_ save__pdbx_chem_comp_subcomponent_struct_conn.entity_id_1 _item_description.description ; The entity identifier for the first atom in the interaction. ; _item.name '_pdbx_chem_comp_subcomponent_struct_conn.entity_id_1' _item.category_id pdbx_chem_comp_subcomponent_struct_conn _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_chem_comp_subcomponent_struct_conn.entity_id_1' _item_linked.parent_name '_chem_comp_atom.pdbx_component_entity_id' save_ save__pdbx_chem_comp_subcomponent_struct_conn.entity_id_2 _item_description.description ; The entity identifier for the second atom in the interaction. ; _item.name '_pdbx_chem_comp_subcomponent_struct_conn.entity_id_2' _item.category_id pdbx_chem_comp_subcomponent_struct_conn _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_chem_comp_subcomponent_struct_conn.entity_id_2' _item_linked.parent_name '_chem_comp_atom.pdbx_component_entity_id' save_ save__pdbx_chem_comp_subcomponent_struct_conn.atom_id_1 _item_description.description ; The atom identifier for the first atom in the interaction. ; _item.name '_pdbx_chem_comp_subcomponent_struct_conn.atom_id_1' _item.category_id pdbx_chem_comp_subcomponent_struct_conn _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_chem_comp_subcomponent_struct_conn.atom_id_1' _item_linked.parent_name '_chem_comp_atom.pdbx_component_atom_id' save_ save__pdbx_chem_comp_subcomponent_struct_conn.atom_id_2 _item_description.description ; The atom identifier for the second atom in the interaction. ; _item.name '_pdbx_chem_comp_subcomponent_struct_conn.atom_id_2' _item.category_id pdbx_chem_comp_subcomponent_struct_conn _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_chem_comp_subcomponent_struct_conn.atom_id_2' _item_linked.parent_name '_chem_comp_atom.pdbx_component_atom_id' save_ save__pdbx_chem_comp_subcomponent_struct_conn.comp_id_1 _item_description.description ; The component identifier for the first atom in the interaction. ; _item.name '_pdbx_chem_comp_subcomponent_struct_conn.comp_id_1' _item.category_id pdbx_chem_comp_subcomponent_struct_conn _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_subcomponent_struct_conn.comp_id_1' _item_linked.parent_name '_chem_comp_atom.pdbx_component_comp_id' save_ save__pdbx_chem_comp_subcomponent_struct_conn.comp_id_2 _item_description.description ; The component identifier for the second atom in the interaction. ; _item.name '_pdbx_chem_comp_subcomponent_struct_conn.comp_id_2' _item.category_id pdbx_chem_comp_subcomponent_struct_conn _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_subcomponent_struct_conn.comp_id_2' _item_linked.parent_name '_chem_comp_atom.pdbx_component_comp_id' save_ save__pdbx_chem_comp_subcomponent_struct_conn.seq_id_1 _item_description.description ; The positional index for the first atom in the interaction. ; _item.name '_pdbx_chem_comp_subcomponent_struct_conn.seq_id_1' _item.category_id pdbx_chem_comp_subcomponent_struct_conn _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_chem_comp_subcomponent_struct_conn.seq_id_1' _item_linked.parent_name '_chem_comp_atom.pdbx_residue_numbering' save_ save__pdbx_chem_comp_subcomponent_struct_conn.seq_id_2 _item_description.description ; The positional index for the first atom in the interaction. ; _item.name '_pdbx_chem_comp_subcomponent_struct_conn.seq_id_2' _item.category_id pdbx_chem_comp_subcomponent_struct_conn _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_chem_comp_subcomponent_struct_conn.seq_id_2' _item_linked.parent_name '_chem_comp_atom.pdbx_residue_numbering' save_ save_pdbx_chem_comp_subcomponent_entity_list _category.description ; Data items in the pdbx_chem_comp_subcomponent_entity_list category list the constituent chemical entities and entity features in this chemical component. ; _category.id pdbx_chem_comp_subcomponent_entity_list _category.mandatory_code no _category_key.name '_pdbx_chem_comp_subcomponent_entity_list.id' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; # loop_ _pdbx_chem_comp_subcomponent_entity_list.id _pdbx_chem_comp_subcomponent_entity_list.parent_comp_id _pdbx_chem_comp_subcomponent_entity_list.class _pdbx_chem_comp_subcomponent_entity_list.type 1 CE8 polymer saccharide ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_subcomponent_entity_list.id _item_description.description ; Ordinal index for the entities listed in this category. ; _item.name '_pdbx_chem_comp_subcomponent_entity_list.id' _item.category_id pdbx_chem_comp_subcomponent_entity_list _item.mandatory_code yes _item_type.code int save_ save__pdbx_chem_comp_subcomponent_entity_list.parent_comp_id _item_description.description ; The parent component identifier corresponding to this entity. ; _item.name '_pdbx_chem_comp_subcomponent_entity_list.parent_comp_id' _item.category_id pdbx_chem_comp_subcomponent_entity_list _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_subcomponent_entity_list.parent_comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_chem_comp_subcomponent_entity_list.type _item_description.description ; Defines the type of the entity. ; _item.name '_pdbx_chem_comp_subcomponent_entity_list.type' _item.category_id pdbx_chem_comp_subcomponent_entity_list _item.mandatory_code yes _item_type.code uline loop_ _item_enumeration.value _item_enumeration.detail 'D-peptide linking' . 'L-peptide linking' . 'D-peptide NH3 amino terminus' . 'L-peptide NH3 amino terminus' . 'D-peptide COOH carboxy terminus' . 'L-peptide COOH carboxy terminus' . 'DNA linking' . 'RNA linking' . 'L-RNA linking' . 'L-DNA linking' . 'DNA OH 5 prime terminus' . 'RNA OH 5 prime terminus' . 'DNA OH 3 prime terminus' . 'RNA OH 3 prime terminus' . 'D-saccharide 1,4 and 1,4 linking' . 'L-saccharide 1,4 and 1,4 linking' . 'D-saccharide 1,4 and 1,6 linking' . 'L-saccharide 1,4 and 1,6 linking' . 'L-saccharide' . 'D-saccharide' . 'saccharide' . 'non-polymer' . 'peptide linking' . 'peptide-like' . 'L-gamma-peptide, C-delta linking' 'Iso-peptide linking L-gamma peptide' 'D-gamma-peptide, C-delta linking' 'Iso-peptide linking D-gamma peptide' 'L-beta-peptide, C-gamma linking' 'Iso-peptide linking L-beta peptide' 'D-beta-peptide, C-gamma linking' 'Iso-peptide linking D-beta peptide' 'other' . save_ save__pdbx_chem_comp_subcomponent_entity_list.class _item_description.description ; Defines the predominant linking type of the entity. ; _item.name '_pdbx_chem_comp_subcomponent_entity_list.class' _item.category_id pdbx_chem_comp_subcomponent_entity_list _item.mandatory_code yes _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail polymer 'entity is a polymer' non-polymer 'entity is not a polymer' macrolide 'entity is a macrolide' water 'water in the solvent model' save_ ## ## added to category CHEM_COMP_ATOM ## save__chem_comp_atom.pdbx_component_entity_id _item_description.description ; A reference to entity identifier in data category pdbx_chem_comp_subcomponent_entity_list. ; _item.name '_chem_comp_atom.pdbx_component_entity_id' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code int save_ ## ## added to category CHEM_COMP ## save__chem_comp.pdbx_number_subcomponents _item_description.description ; The number of subcomponents represented in this component. ; _item.name '_chem_comp.pdbx_number_subcomponents' _item.category_id chem_comp _item.mandatory_code no _item_type.code int save_ ## # File: entity-poly-multi-src-extension-v42.dic # Original: Aug 27, 2013 JDW # # Draft dictionary extension for describing polymeric molecules with derived from multiple biological sources. # # Updated: -- # # Aug 27, 2013 - jdw create a version 4 alternate dictionary with only the new attributes in this dictionary as optional # Apr 16, 2014 - jdw make the formally optional *_src_id items in earch source category implicitly mandatory with # default value=1 # Apr 22, 2014 -jdw Set mandatory codes for key extensions to 'yes' for PDBML compatibility. # # ## save_entity_src_nat _category.description ; Data items in the ENTITY_SRC_NAT category record details of the source from which the entity was obtained in cases where the entity was isolated directly from a natural tissue. ; _category.id entity_src_nat _category.mandatory_code no loop_ _category_key.name '_entity_src_nat.entity_id' '_entity_src_nat.pdbx_src_id' loop_ _category_group.id 'inclusive_group' 'entity_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _entity_src_nat.entity_id _entity_src_nat.pdbx_src_id _entity_src_nat.common_name _entity_src_nat.genus _entity_src_nat.species _entity_src_nat.details 2 1 'bacteria' 'Actinomycetes' '?' ; Acetyl-pepstatin was isolated by Dr. K. Oda, Osaka Prefecture University, and provided to us by Dr. Ben Dunn, University of Florida, and Dr. J. Kay, University of Wales. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save_entity_src_gen _category.description ; Data items in the ENTITY_SRC_GEN category record details of the source from which the entity was obtained in cases where the source was genetically manipulated. The following are treated separately: items pertaining to the tissue from which the gene was obtained, items pertaining to the host organism for gene expression and items pertaining to the actual producing organism (plasmid). ; _category.id entity_src_gen _category.mandatory_code no loop_ _category_key.name '_entity_src_gen.entity_id' '_entity_src_gen.pdbx_src_id' loop_ _category_group.id 'inclusive_group' 'entity_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - based on PDB entry 5HVP and laboratory records for the structure corresponding to PDB entry 5HVP. ; ; loop_ _entity_src_gen.entity_id _entity_src_gen.pdbx_src_id _entity_src_gen.gene_src_common_name _entity_src_gen.gene_src_genus _entity_src_gen.gene_src_species _entity_src_gen.gene_src_strain _entity_src_gen.host_org_common_name _entity_src_gen.host_org_genus _entity_src_gen.host_org_species _entity_src_gen.plasmid_name 1 1 'HIV-1' '?' '?' 'NY-5' 'bacteria' 'Escherichia' 'coli' 'pB322' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save_pdbx_entity_src_syn _category.description ; The data items in category PDBX_ENTITY_SRC_SYN record the source details about chemically synthesized molecules. ; _category.id pdbx_entity_src_syn _category.mandatory_code no loop_ _category_key.name '_pdbx_entity_src_syn.entity_id' '_pdbx_entity_src_syn.pdbx_src_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' save_ save__entity_src_gen.pdbx_src_id _item_description.description ; This data item is an ordinal identifier for entity_src_gen data records. ; _item.name '_entity_src_gen.pdbx_src_id' _item.category_id entity_src_gen _item.mandatory_code yes _item_type.code int _item_default.value 1 save_ save__entity_src_gen.pdbx_alt_source_flag _item_description.description ; This data item identifies cases in which an alternative source modeled. ; _item.name '_entity_src_gen.pdbx_alt_source_flag' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code code _item_default.value 'sample' loop_ _item_enumeration.value 'sample' 'model' save_ save__entity_src_gen.pdbx_seq_type _item_description.description ; This data item povides additional information about the sequence type. ; _item.name '_entity_src_gen.pdbx_seq_type' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value 'N-terminal tag' 'C-terminal tag' 'Biological sequence' 'Linker' save_ save__entity_src_gen.pdbx_beg_seq_num _item_description.description ; The beginning polymer sequence position for the polymer section corresponding to this source. A reference to the sequence position in the entity_poly category. ; _item.name '_entity_src_gen.pdbx_beg_seq_num' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code int save_ save__entity_src_gen.pdbx_end_seq_num _item_description.description ; The ending polymer sequence position for the polymer section corresponding to this source. A reference to the sequence position in the entity_poly category. ; _item.name '_entity_src_gen.pdbx_end_seq_num' _item.category_id entity_src_gen _item.mandatory_code no _item_type.code int save_ save__entity_src_nat.pdbx_src_id _item_description.description ; This data item is an ordinal identifier for entity_src_nat data records. ; _item.name '_entity_src_nat.pdbx_src_id' _item.category_id entity_src_nat _item.mandatory_code yes _item_type.code int _item_default.value 1 save_ save__entity_src_nat.pdbx_alt_source_flag _item_description.description ; This data item identifies cases in which an alternative source modeled. ; _item.name '_entity_src_nat.pdbx_alt_source_flag' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code code _item_default.value 'sample' loop_ _item_enumeration.value 'sample' 'model' save_ save__entity_src_nat.pdbx_beg_seq_num _item_description.description ; The beginning polymer sequence position for the polymer section corresponding to this source. A reference to the sequence position in the entity_poly category. ; _item.name '_entity_src_nat.pdbx_beg_seq_num' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code int save_ save__entity_src_nat.pdbx_end_seq_num _item_description.description ; The ending polymer sequence position for the polymer section corresponding to this source. A reference to the sequence position in the entity_poly category. ; _item.name '_entity_src_nat.pdbx_end_seq_num' _item.category_id entity_src_nat _item.mandatory_code no _item_type.code int save_ save__pdbx_entity_src_syn.pdbx_src_id _item_description.description ; This data item is an ordinal identifier for pdbx_entity_src_syn data records. ; _item.name '_pdbx_entity_src_syn.pdbx_src_id' _item.category_id pdbx_entity_src_syn _item.mandatory_code yes _item_type.code int _item_default.value 1 save_ save__pdbx_entity_src_syn.pdbx_alt_source_flag _item_description.description ; This data item identifies cases in which an alternative source modeled. ; _item.name '_pdbx_entity_src_syn.pdbx_alt_source_flag' _item.category_id pdbx_entity_src_syn _item.mandatory_code no _item_type.code code _item_default.value 'sample' loop_ _item_enumeration.value 'sample' 'model' save_ save__pdbx_entity_src_syn.pdbx_beg_seq_num _item_description.description ; The beginning polymer sequence position for the polymer section corresponding to this source. A reference to the sequence position in the entity_poly category. ; _item.name '_pdbx_entity_src_syn.pdbx_beg_seq_num' _item.category_id pdbx_entity_src_syn _item.mandatory_code no _item_type.code int save_ save__pdbx_entity_src_syn.pdbx_end_seq_num _item_description.description ; The ending polymer sequence position for the polymer section corresponding to this source. A reference to the sequence position in the entity_poly category. ; _item.name '_pdbx_entity_src_syn.pdbx_end_seq_num' _item.category_id pdbx_entity_src_syn _item.mandatory_code no _item_type.code int save_ ## save__entity_poly.pdbx_seq_one_letter_code_sample _item_description.description ; For cases in which the sample and model sequence differ this item contains the sample chemical sequence expressed as string of one-letter amino acid codes. Modified may be include as 'X' or with their 3-letter codes in parentheses. ; _item.name '_entity_poly.pdbx_seq_one_letter_code_sample' _item.category_id entity_poly _item.mandatory_code no _item_type.code text _item_examples.case ; A for alanine or adenine B for ambiguous asparagine/aspartic-acid R for arginine N for asparagine D for aspartic-acid C for cysteine or cystine or cytosine Q for glutamine E for glutamic-acid Z for ambiguous glutamine/glutamic acid G for glycine or guanine H for histidine I for isoleucine L for leucine K for lysine M for methionine F for phenylalanine P for proline S for serine T for threonine or thymine W for tryptophan Y for tyrosine V for valine U for uracil O for water X for other ; save_ # ---------------------------------------------------------------------------------------------------------------------------- # # File: entity-poly-comp-extention.dic # Original: 13-June-2012 Jdw # Updated: 26-June-2012 jdw # # Draft dictionary extension for representing polymers with explicitly enumerated linkages and # molecules as linked entities. # # PDBX_ENTITY_POLY_COMP_LINK_LIST - describes linkages among components within the polymer entity. # # PDBX_LINKED_ENTITY - top level description of molecules represented as linked entities. # # PDBX_LINKED_ENTITY_LIST - list of constituent entities within a linked entity # # PDBX_LINKED_ENTITY_LINK_LIST - link of linkages between the constituent entities of a molecule represented as # a linked entity. # # PDBS_LINKED_ENTITY_INSTANCE_LIST list of instances of molecules represented as linked entities. # # Updated: 13-Aug-2012 jdw # # PDBX_ENTITY_BRANCH_DESCRIPTOR - entity-level descriptors # # Added items: _entity_poly.pdbx_explicit_linking_flag and _pdbx_molecule.linked_entity_id # # # Updated: 18-Sep-2012 jdw # # Added categories: pdbx_reference_linked_entity, pdbx_reference_linked_entity_list, pdbx_reference_linked_entity_link # # Updated: 19-Sep-2012 jdw # # Rename categories to: pdbx_reference_linked_entity, pdbx_reference_linked_entity_comp_list, # pdbx_reference_linked_entity_link, and pdbx_reference_linked_entity_comp_link # and distinguish inter and intra entity linkages. # # Revised enumeration for _pdbx_reference_linked_entity.link_to_entity_type # ---------------------------------------------------------------------------------------------------------------------------- ##################################### ## PDBX_ENTITY_POLY_COMP_LINK_LIST ## ##################################### save_pdbx_entity_poly_comp_link_list _category.description ; Data items in the PDBX_ENTITY_POLY_COMP_LINK_LIST category enumerate the linkages between components within the polymer entity. ; _category.id pdbx_entity_poly_comp_link_list _category.mandatory_code no loop_ _category_key.name '_pdbx_entity_poly_comp_link_list.link_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_entity_poly_comp_link_list.link_id _pdbx_entity_poly_comp_link_list.entity_id _pdbx_entity_poly_comp_link_list.entity_comp_num_1 _pdbx_entity_poly_comp_link_list.comp_id_1 _pdbx_entity_poly_comp_link_list.atom_id_1 _pdbx_entity_poly_comp_link_list.leaving_atom_id_1 _pdbx_entity_poly_comp_link_list.atom_stereo_config_1 _pdbx_entity_poly_comp_link_list.entity_comp_num_2 _pdbx_entity_poly_comp_link_list.comp_id_2 _pdbx_entity_poly_comp_link_list.atom_id_2 _pdbx_entity_poly_comp_link_list.leaving_atom_id_2 _pdbx_entity_poly_comp_link_list.atom_stereo_config_2 _pdbx_entity_poly_comp_link_list.value_order 1 1 1 . . . . 2 . . . . 'sing' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_entity_poly_comp_link_list.link_id _item_description.description ; The value of _pdbx_entity_poly_comp_link_list.link_id uniquely identifies linkages within the branched entity. ; _item.name '_pdbx_entity_poly_comp_link_list.link_id' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_poly_comp_link_list.details _item_description.description ; A description of special aspects of this linkage. ; _item.name '_pdbx_entity_poly_comp_link_list.details' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_poly_comp_link_list.entity_id _item_description.description ; The entity id for this branched entity. This data item is a pointer to _entity_poly_seq.entity_id in the ENTITY_POLY_SEQ category. ; _item.name '_pdbx_entity_poly_comp_link_list.entity_id' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_entity_poly_comp_link_list.entity_id' _item_linked.parent_name '_entity_poly_seq.entity_id' save_ save__pdbx_entity_poly_comp_link_list.entity_comp_num_1 _item_description.description ; The component number for the first component making the linkage. This data item is a pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_pdbx_entity_poly_comp_link_list.entity_comp_num_1' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_entity_poly_comp_link_list.entity_comp_num_1' _item_linked.parent_name '_entity_poly_seq.num' save_ save__pdbx_entity_poly_comp_link_list.entity_comp_num_2 _item_description.description ; The component number for the second component making the linkage. This data item is a pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_pdbx_entity_poly_comp_link_list.entity_comp_num_2' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_entity_poly_comp_link_list.entity_comp_num_2' _item_linked.parent_name '_entity_poly_seq.num' save_ save__pdbx_entity_poly_comp_link_list.comp_id_1 _item_description.description ; The component identifier for the first component making the linkage. This data item is a pointer to _entity_poly_seq.mon_id in the ENTITY_POLY_SEQ category. ; _item.name '_pdbx_entity_poly_comp_link_list.comp_id_1' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_entity_poly_comp_link_list.comp_id_1' _item_linked.parent_name '_entity_poly_seq.mon_id' save_ save__pdbx_entity_poly_comp_link_list.comp_id_2 _item_description.description ; The component identifier for the second component making the linkage. This data item is a pointer to _entity_poly_seq.mon_id in the ENTITY_POLY_SEQ category. ; _item.name '_pdbx_entity_poly_comp_link_list.comp_id_2' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_entity_poly_comp_link_list.comp_id_2' _item_linked.parent_name '_entity_poly_seq.mon_id' save_ save__pdbx_entity_poly_comp_link_list.atom_id_1 _item_description.description ; The atom identifier/name for the first atom making the linkage. ; _item.name '_pdbx_entity_poly_comp_link_list.atom_id_1' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_entity_poly_comp_link_list.atom_id_1' _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__pdbx_entity_poly_comp_link_list.leaving_atom_id_1 _item_description.description ; The leaving atom identifier/name bonded to the first atom making the linkage. ; _item.name '_pdbx_entity_poly_comp_link_list.leaving_atom_id_1' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_entity_poly_comp_link_list.leaving_atom_id_1' _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__pdbx_entity_poly_comp_link_list.atom_stereo_config_1 _item_description.description ; The chiral configuration of the first atom making the linkage. ; _item.name '_pdbx_entity_poly_comp_link_list.atom_stereo_config_1' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code no _item_type.code ucode _item_default.value 'N' loop_ _item_enumeration.value _item_enumeration.detail R 'rectus - right handed configuration' S 'sinister - left handed configuration' N 'none' save_ save__pdbx_entity_poly_comp_link_list.atom_id_2 _item_description.description ; The atom identifier/name for the second atom making the linkage. ; _item.name '_pdbx_entity_poly_comp_link_list.atom_id_2' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_entity_poly_comp_link_list.atom_id_2' _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__pdbx_entity_poly_comp_link_list.leaving_atom_id_2 _item_description.description ; The leaving atom identifier/name bonded to the second atom making the linkage. ; _item.name '_pdbx_entity_poly_comp_link_list.leaving_atom_id_2' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_entity_poly_comp_link_list.leaving_atom_id_2' _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__pdbx_entity_poly_comp_link_list.atom_stereo_config_2 _item_description.description ; The chiral configuration of the second atom making the linkage. ; _item.name '_pdbx_entity_poly_comp_link_list.atom_stereo_config_2' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code no _item_type.code ucode _item_default.value 'N' loop_ _item_enumeration.value _item_enumeration.detail R 'rectus - right handed configuration' S 'sinister - left handed configuration' N 'none' save_ save__pdbx_entity_poly_comp_link_list.value_order _item_description.description ; The bond order target for the chemical linkage. ; _item.name '_pdbx_entity_poly_comp_link_list.value_order' _item.category_id pdbx_entity_poly_comp_link_list _item.mandatory_code no _item_default.value sing _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sing 'single bond' doub 'double bond' trip 'triple bond' quad 'quadruple bond' arom 'aromatic bond' poly 'polymeric bond' delo 'delocalised double bond' pi 'pi bond' save_ ######################## ## PDBX_LINKED_ENTITY ## ######################## save_pdbx_linked_entity _category.description ; Data items in the PDBX_LINKED_ENTITY category record information about molecules composed of linked entities. ; _category.id pdbx_linked_entity _category.mandatory_code no loop_ _category_key.name '_pdbx_linked_entity.linked_entity_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 Actinomycin ; ; loop_ _pdbx_linked_entity.linked_entity_id _pdbx_linked_entity.name _pdbx_linked_entity.type _pdbx_linked_entity.class _pdbx_linked_entity.prd_id L1 "Actinomycin D" "Antitumor Antibiotic" "polypeptide antibiotic" PRD_000001 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_linked_entity.linked_entity_id _item_description.description ; The value of _pdbx_linked_entity.linked_entity_id is the unique identifier for the molecule represented as a collection of linked entities. ; _item.name '_pdbx_linked_entity.linked_entity_id' _item.category_id pdbx_linked_entity _item.mandatory_code yes _item_type.code ucode save_ save__pdbx_linked_entity.type _item_description.description ; Defines the structural classification of this molecule. ; _item.name '_pdbx_linked_entity.type' _item.category_id pdbx_linked_entity _item.mandatory_code no _item_type.code uline loop_ _item_examples.case 'peptide-like' 'macrolide' save_ save__pdbx_linked_entity.class _item_description.description ; Broadly defines the function of this molecule. ; _item.name '_pdbx_linked_entity.class' _item.category_id pdbx_linked_entity _item.mandatory_code no _item_type.code text save_ save__pdbx_linked_entity.name _item_description.description ; A name of the molecule. ; _item.name '_pdbx_linked_entity.name' _item.category_id pdbx_linked_entity _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'thiostrepton' save_ save__pdbx_linked_entity.description _item_description.description ; Description of this molecule. ; _item.name '_pdbx_linked_entity.description' _item.category_id pdbx_linked_entity _item.mandatory_code no _item_type.code text # loop_ # _item_examples.case save_ save__pdbx_linked_entity.prd_id _item_description.description ; The identifier used by the PDB corresponding to the chemical definition for the molecule. ; _item.name '_pdbx_linked_entity.prd_id' _item.category_id pdbx_linked_entity _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case 'PRD_000001' save_ ###################################### ## PDBX_LINKED_ENTITY_INSTANCE_LIST ## ###################################### save_pdbx_linked_entity_instance_list _category.description ; Data items in the PDBX_LINKED_ENTITY_INSTANCE_LIST category identify instance molecules represented as linked entities within an entry. ; _category.id pdbx_linked_entity_instance_list _category.mandatory_code no loop_ _category_key.name '_pdbx_linked_entity_instance_list.linked_entity_id' '_pdbx_linked_entity_instance_list.instance_id' '_pdbx_linked_entity_instance_list.asym_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_linked_entity_instance_list.instance_id _pdbx_linked_entity_instance_list.linked_entity_id _pdbx_linked_entity_instance_list.asym_id 1 L1 X 1 L1 Y 1 L1 Z ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_linked_entity_instance_list.linked_entity_id _item_description.description ; The value of _pdbx_linked_entity_instance_list.linked_entity_id is a reference to the identifier for a molecule represented as a linked entity. ; _item.name '_pdbx_linked_entity_instance_list.linked_entity_id' _item.category_id pdbx_linked_entity_instance_list _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_linked_entity_instance_list.linked_entity_id' _item_linked.parent_name '_pdbx_linked_entity.linked_entity_id' save_ save__pdbx_linked_entity_instance_list.instance_id _item_description.description ; The value of _pdbx_linked_entity_instance_list.instance_id is identifies a particular molecule instance within an entry. ; _item.name '_pdbx_linked_entity_instance_list.instance_id' _item.category_id pdbx_linked_entity_instance_list _item.mandatory_code yes _item_type.code int save_ save__pdbx_linked_entity_instance_list.asym_id _item_description.description ; A reference to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_pdbx_linked_entity_instance_list.asym_id' _item.category_id pdbx_linked_entity_instance_list _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_linked_entity_instance_list.asym_id' _item_linked.parent_name '_struct_asym.id' loop_ _item_examples.case A B save_ ############################# ## PDBX_LINKED_ENTITY_LIST ## ############################# save_pdbx_linked_entity_list _category.description ; Data items in the PDBX_LINKED_ENTITY_LIST category record the list of entity constituents for this molecule. ; _category.id pdbx_linked_entity_list _category.mandatory_code no loop_ _category_key.name '_pdbx_linked_entity_list.linked_entity_id' '_pdbx_linked_entity_list.entity_id' '_pdbx_linked_entity_list.component_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example: 1 ; ; loop_ _pdbx_linked_entity_list.linked_entity_id _pdbx_linked_entity_list.entity_id _pdbx_linked_entity_list.component_id L1 1 1 L1 2 2 L1 3 3 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_linked_entity_list.linked_entity_id _item_description.description ; The value of _pdbx_linked_entity_list.linked_entity_id is a reference _pdbx_linked_entity.linked_entity_id in the PDBX_LINKED_ENTITY category. ; _item.name '_pdbx_linked_entity_list.linked_entity_id' _item.category_id pdbx_linked_entity_list _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_linked_entity_list.linked_entity_id' _item_linked.parent_name '_pdbx_linked_entity.linked_entity_id' save_ save__pdbx_linked_entity_list.entity_id _item_description.description ; The value of _pdbx_linked_entity_list.ref_entity_id is a unique identifier the a constituent entity within this reference molecule. ; _item.name '_pdbx_linked_entity_list.entity_id' _item.category_id pdbx_linked_entity_list _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_linked_entity_list.entity_id' _item_linked.parent_name '_entity.id' save_ save__pdbx_linked_entity_list.component_id _item_description.description ; The component number of this entity within the molecule. ; _item.name '_pdbx_linked_entity_list.component_id' _item.category_id pdbx_linked_entity_list _item.mandatory_code yes _item_type.code int save_ save__pdbx_linked_entity_list.details _item_description.description ; Additional details about this entity within this molecule. ; _item.name '_pdbx_linked_entity_list.details' _item.category_id pdbx_linked_entity_list _item.mandatory_code no _item_type.code text save_ ################################## ## PDBX_LINKED_ENTITY_LINK_LIST ## ################################## save_pdbx_linked_entity_link_list _category.description ; Data items in the PDBX_LINKED_ENTITY_LINK_LIST category give details about the linkages with molecules represented as linked entities. ; _category.id pdbx_linked_entity_link_list _category.mandatory_code no loop_ _category_key.name '_pdbx_linked_entity_link_list.linked_entity_id' '_pdbx_linked_entity_link_list.link_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - quinoxaline ; ; loop_ _pdbx_linked_entity_link_list.linked_entity_id _pdbx_linked_entity_link_list.link_id _pdbx_linked_entity_link_list.link_class _pdbx_linked_entity_link_list.entity_id_1 _pdbx_linked_entity_link_list.entity_seq_num_1 _pdbx_linked_entity_link_list.comp_id_1 _pdbx_linked_entity_link_list.atom_id_1 _pdbx_linked_entity_link_list.entity_id_2 _pdbx_linked_entity_link_list.entity_seq_num_2 _pdbx_linked_entity_link_list.comp_id_2 _pdbx_linked_entity_link_list.atom_id_2 _pdbx_linked_entity_link_list.value_order _pdbx_linked_entity_link_list.component_1 _pdbx_linked_entity_link_list.component_2 L1 1 PN 1 1 DSN N 2 . QUI C 'single' 1 2 L1 2 PN 1 5 DSN N 3 . QUI C 'single' 1 3 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_linked_entity_link_list.link_id _item_description.description ; The value of _pdbx_linked_entity_link_list.link_id uniquely identifies linkages between entities with a molecule. ; _item.name '_pdbx_linked_entity_link_list.link_id' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code yes _item_type.code int save_ save__pdbx_linked_entity_link_list.linked_entity_id _item_description.description ; The value of _pdbx_linked_entity_link_list.linked_entity_id is a reference _pdbx_linked_entity_list.linked_entity_id in the PDBX_LINKED_ENTITY_LIST category. ; _item.name '_pdbx_linked_entity_link_list.linked_entity_id' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_linked_entity_link_list.linked_entity_id' _item_linked.parent_name '_pdbx_linked_entity_list.linked_entity_id' save_ save__pdbx_linked_entity_link_list.details _item_description.description ; A description of special aspects of a linkage between these entities in this molecule. ; _item.name '_pdbx_linked_entity_link_list.details' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code no _item_type.code text save_ save__pdbx_linked_entity_link_list.entity_id_1 _item_description.description ; The entity id of the first of the two entities joined by the linkage. This data item is a pointer to _pdbx_linked_entity_list.entity_id in the PDBX_LINKED_ENTITY_LIST category. ; _item.name '_pdbx_linked_entity_link_list.entity_id_1' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_linked_entity_link_list.entity_id_1' _item_linked.parent_name '_pdbx_linked_entity_list.entity_id' save_ save__pdbx_linked_entity_link_list.entity_id_2 _item_description.description ; The entity id of the second of the two entities joined by the linkage. This data item is a pointer to _pdbx_linked_entity_list.entity_id in the PDBX_LINKED_ENTITY_LIST category. ; _item.name '_pdbx_linked_entity_link_list.entity_id_2' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_linked_entity_link_list.entity_id_2' _item_linked.parent_name '_pdbx_linked_entity_list.entity_id' save_ save__pdbx_linked_entity_link_list.entity_seq_num_1 _item_description.description ; For a polymer entity, the sequence number in the first of the two entities containing the linkage. This data item is a pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_pdbx_linked_entity_link_list.entity_seq_num_1' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_linked_entity_link_list.entity_seq_num_1' _item_linked.parent_name '_entity_poly_seq.num' save_ save__pdbx_linked_entity_link_list.entity_seq_num_2 _item_description.description ; For a polymer entity, the sequence number in the second of the two entities containing the linkage. This data item is a pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_pdbx_linked_entity_link_list.entity_seq_num_2' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_linked_entity_link_list.entity_seq_num_2' _item_linked.parent_name '_entity_poly_seq.num' save_ save__pdbx_linked_entity_link_list.comp_id_1 _item_description.description ; The component identifier in the first of the two entities containing the linkage. For polymer entities, this data item is a pointer to _entity_poly_seq.mon_id in the ENTITY_POLY_SEQ category. For non-polymer entities, this data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_pdbx_linked_entity_link_list.comp_id_1' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code yes _item_type.code code save_ save__pdbx_linked_entity_link_list.comp_id_2 _item_description.description ; The component identifier in the second of the two entities containing the linkage. For polymer entities, this data item is a pointer to _entity_poly_seq.mon_id in the ENTITY_POLY_SEQ category. For non-polymer entities, this data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_pdbx_linked_entity_link_list.comp_id_2' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code yes _item_type.code code save_ save__pdbx_linked_entity_link_list.atom_id_1 _item_description.description ; The atom identifier/name in the first of the two entities containing the linkage. ; _item.name '_pdbx_linked_entity_link_list.atom_id_1' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code yes _item_type.code atcode save_ save__pdbx_linked_entity_link_list.atom_id_2 _item_description.description ; The atom identifier/name in the second of the two entities containing the linkage. ; _item.name '_pdbx_linked_entity_link_list.atom_id_2' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code yes _item_type.code atcode save_ save__pdbx_linked_entity_link_list.value_order _item_description.description ; The bond order target for the chemical linkage. ; _item.name '_pdbx_linked_entity_link_list.value_order' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code no _item_default.value sing _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sing 'single bond' doub 'double bond' trip 'triple bond' quad 'quadruple bond' arom 'aromatic bond' poly 'polymeric bond' delo 'delocalised double bond' pi 'pi bond' save_ save__pdbx_linked_entity_link_list.component_1 _item_description.description ; The entity component identifier for the first of two entities containing the linkage. ; _item.name '_pdbx_linked_entity_link_list.component_1' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_linked_entity_link_list.component_1' _item_linked.parent_name '_pdbx_linked_entity_list.component_id' save_ save__pdbx_linked_entity_link_list.component_2 _item_description.description ; The entity component identifier for the second of two entities containing the linkage. ; _item.name '_pdbx_linked_entity_link_list.component_2' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_linked_entity_link_list.component_2' _item_linked.parent_name '_pdbx_linked_entity_list.component_id' save_ save__pdbx_linked_entity_link_list.link_class _item_description.description ; A code indicating the entity types involved in the linkage. ; _item.name '_pdbx_linked_entity_link_list.link_class' _item.category_id pdbx_linked_entity_link_list _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail PP 'polymer polymer' PN 'polymer non-polymer' NP 'non-polymer polymer' NN 'non-polymer non-polymer' save_ ## ## ################################### ## PDBX_ENTITY_BRANCH_DESCRIPTOR ## ################################### save_pdbx_entity_branch_descriptor _category.description ; Data items in the PDBX_ENTITY_BRANCH_DESCRIPTOR category provide string descriptors of entity chemical structure. ; _category.id pdbx_entity_branch_descriptor _category.mandatory_code no loop_ _category_key.name '_pdbx_entity_branch_descriptor.ordinal' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' 'branch_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_entity_branch_descriptor.ordinal _pdbx_entity_branch_descriptor.entity_id _pdbx_entity_branch_descriptor.descriptor _pdbx_entity_branch_descriptor.type _pdbx_entity_branch_descriptor.program _pdbx_entity_branch_descriptor.program_version 1 1 '[][Asn]{[(4+1)][b-D-GlcpNAc]{[(4+1)][b-D-GlcpNAc]{[(4+1)][b-D-Manp]{[(3+1)][a-D-Manp]{[(2+1)][a-D-Manp]{[(2+1)][a-D-Manp]{}}}[(6+1)][a-D-Manp]{[(3+1)][a-D-Manp]{[(2+1)][a-D-Manp]{}}[(6+1)][a-D-Manp]{[(2+1)][a-D-Manp]{}}}}}}}' LINUCS PDB-CARE Beta ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_entity_branch_descriptor.entity_id _item_description.description ; This data item is a pointer to _entity_poly.entity_id in the ENTITY category. ; _item.name '_pdbx_entity_branch_descriptor.entity_id' _item.category_id pdbx_entity_branch_descriptor _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_entity_branch_descriptor.entity_id' _item_linked.parent_name '_entity.id' save_ save__pdbx_entity_branch_descriptor.descriptor _item_description.description ; This data item contains the descriptor value for this entity. ; _item.name '_pdbx_entity_branch_descriptor.descriptor' _item.category_id pdbx_entity_branch_descriptor _item.mandatory_code yes _item_type.code text save_ save__pdbx_entity_branch_descriptor.type _item_description.description ; This data item contains the descriptor type. ; _item.name '_pdbx_entity_branch_descriptor.type' _item.category_id pdbx_entity_branch_descriptor _item.mandatory_code yes _item_type.code uline loop_ _item_enumeration.value _item_enumeration.detail LINUCS 'Linear Notation for unique description of an oligosaccharide entity' 'Glycam Condensed Sequence' 'Linear Notation for unique description of an oligosaccharide entity' 'Glycam Condensed Core Sequence' 'Linear Notation for Unique description of oligosaccharide core structure' WURCS 'Linear Notation for Web3 Unique Representation of Carbohydrate Structures' save_ save__pdbx_entity_branch_descriptor.program _item_description.description ; This data item contains the name of the program or library used to compute the descriptor. ; _item.name '_pdbx_entity_branch_descriptor.program' _item.category_id pdbx_entity_branch_descriptor _item.mandatory_code no _item_type.code line loop_ _item_examples.case _item_examples.detail PDB-CARE . OTHER 'Other program or library' GEMS . save_ save__pdbx_entity_branch_descriptor.program_version _item_description.description ; This data item contains the version of the program or library used to compute the descriptor. ; _item.name '_pdbx_entity_branch_descriptor.program_version' _item.category_id pdbx_entity_branch_descriptor _item.mandatory_code no _item_type.code line save_ save__pdbx_entity_branch_descriptor.ordinal _item_description.description ; Ordinal index for this category. ; _item.name '_pdbx_entity_branch_descriptor.ordinal' _item.category_id pdbx_entity_branch_descriptor _item.mandatory_code yes _item_type.code int save_ ## save__entity_poly.pdbx_explicit_linking_flag _item_description.description ; A flag to indicate that linking data is explicitly provided for this polymer in the PDBX_ENTITY_POLY_COMP_LINK_LIST category ; _item.name '_entity_poly.pdbx_explicit_linking_flag' _item.category_id entity_poly _item.mandatory_code no _item_type.code ucode _item_default.value 'N' loop_ _item_enumeration.value _item_enumeration.detail Y 'yes' N 'no' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity_poly.pdbx_explicit_linking_flag' save_ save__pdbx_molecule.linked_entity_id _item_description.description ; A reference to _pdbx_linked_entity.linked_entity_id in the PDBX_LINKED_ENTITY category. ; _item.name '_pdbx_molecule.linked_entity_id' _item.category_id pdbx_molecule _item.mandatory_code no _item_type.code code loop_ _item_examples.case 1 2 save_ #################################### ## PDBX_REFERENCE_LINKED_ENTITY ## #################################### save_pdbx_reference_linked_entity _category.description ; Data items in the pdbx_reference_linked_entity category describe common observed interaction patterns within linked entities. ; _category.id pdbx_reference_linked_entity _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_linked_entity.id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; # loop_ _pdbx_reference_linked_entity.id _pdbx_reference_linked_entity.class _pdbx_reference_linked_entity.name _pdbx_reference_linked_entity.link_to_entity_type _pdbx_reference_linked_entity.link_to_comp_id _pdbx_reference_linked_entity.link_from_entity_type _pdbx_reference_linked_entity.taxonomy_class _pdbx_reference_linked_entity.taxonomy_id 0 "N-linked-glycan" "basic" polypeptide ASN polysaccharide . . 1 "N-linked-glycan" "high-mannose simple" polypeptide ASN polysaccharide . . 2 "N-linked-glycan" "high-mannose" polypeptide ASN polysaccharide . . 3 "N-linked-glycan" "hybrid simple" polypeptide ASN polysaccharide . . 4 "N-linked-glycan" "hybrid" polypeptide ASN polysaccharide . . 5 "N-linked-glycan" "complex" polypeptide ASN polysaccharide Mammalia 40674 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_linked_entity.id _item_description.description ; The value of _pdbx_reference_linked_entity.id uniquely identifies examples in the list of observed linking patterns. ; _item.name '_pdbx_reference_linked_entity.id' _item.category_id pdbx_reference_linked_entity _item.mandatory_code yes _item_type.code int save_ save__pdbx_reference_linked_entity.class _item_description.description ; Broadly classifies of this linked entity example. ; _item.name '_pdbx_reference_linked_entity.class' _item.category_id pdbx_reference_linked_entity _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_linked_entity.name _item_description.description ; The name of the linked entity example. ; _item.name '_pdbx_reference_linked_entity.name' _item.category_id pdbx_reference_linked_entity _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'high mannose' 'basic' 'hybrid' 'hybrid simple' save_ save__pdbx_reference_linked_entity.taxonomy_id _item_description.description ; The NCBI taxonomy identifier of the organism for the linked entity example. ; _item.name '_pdbx_reference_linked_entity.taxonomy_id' _item.category_id pdbx_reference_linked_entity _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_linked_entity.taxonomy_class _item_description.description ; The NCBI taxonomy classification of the organism for this linked entity example. ; _item.name '_pdbx_reference_linked_entity.taxonomy_class' _item.category_id pdbx_reference_linked_entity _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Archaea' 'Bacteria' 'Eukaryota' 'Embryophyta' 'Fungi' 'Metazoa' 'Vertebrata' 'Mammalia' 'Rodentia' 'Primates' save_ save__pdbx_reference_linked_entity.link_to_entity_type _item_description.description ; The polymer linking type of the first partner entity in example linkage. ; _item.name '_pdbx_reference_linked_entity.link_to_entity_type' _item.category_id pdbx_reference_linked_entity _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value 'polypeptide' 'polydeoxyribonucleotide' 'polyribonucleotide' 'polysaccharide' 'lipid' 'General-Glycoside' 'other' save_ save__pdbx_reference_linked_entity.link_to_comp_id _item_description.description ; The component identifer for the component in the first partner of the example linkage. ; _item.name '_pdbx_reference_linked_entity.link_to_comp_id' _item.category_id pdbx_reference_linked_entity _item.mandatory_code no _item_type.code ucode save_ save__pdbx_reference_linked_entity.link_from_entity_type _item_description.description ; The polymer linking type of the second partner entity in example linkage. ; _item.name '_pdbx_reference_linked_entity.link_from_entity_type' _item.category_id pdbx_reference_linked_entity _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value 'polypeptide(D)' 'polypeptide(L)' 'polydeoxyribonucleotide' 'polyribonucleotide' 'polysaccharide(D)' 'polysaccharide(L)' 'polydeoxyribonucleotide/polyribonucleotide hybrid' 'cyclic-pseudo-peptide' 'other' save_ ############################################## ## PDBX_REFERENCE_LINKED_ENTITY_COMP_LIST ## ############################################## save_pdbx_reference_linked_entity_comp_list _category.description ; Data items in the pdbx_reference_linked_entity_comp_list category lists the constituents of common observed interaction patterns described in the pdbx_reference_linked_entity category. ; _category.id pdbx_reference_linked_entity_comp_list _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_linked_entity_comp_list.linked_entity_id' '_pdbx_reference_linked_entity_comp_list.list_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; # loop_ _pdbx_reference_linked_entity_comp_list.linked_entity_id _pdbx_reference_linked_entity_comp_list.list_id _pdbx_reference_linked_entity_comp_list.name _pdbx_reference_linked_entity_comp_list.comp_id 0 1 "N-acetyl glucosamine" NAG 0 2 "N-acetyl glucosamine" NAG 0 3 Mannose MAN 0 4 Mannose MAN 0 5 Mannose MAN ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_linked_entity_comp_list.linked_entity_id _item_description.description ; This data item is a pointer to _pdbx_reference_linked_entity.id in the pdbx_reference_linked_entity category. ; _item.name '_pdbx_reference_linked_entity_comp_list.linked_entity_id' _item.category_id pdbx_reference_linked_entity_comp_list _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_reference_linked_entity_comp_list.linked_entity_id' _item_linked.parent_name '_pdbx_reference_linked_entity.id' save_ save__pdbx_reference_linked_entity_comp_list.list_id _item_description.description ; This data item uniquely identifies a constituent of with the linked entity. ; _item.name '_pdbx_reference_linked_entity_comp_list.list_id' _item.category_id pdbx_reference_linked_entity_comp_list _item.mandatory_code yes _item_type.code int save_ save__pdbx_reference_linked_entity_comp_list.name _item_description.description ; The name of the constituent withing the linked entity. ; _item.name '_pdbx_reference_linked_entity_comp_list.name' _item.category_id pdbx_reference_linked_entity_comp_list _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'protein-Asparagine' 'N-acetyl glucosamine' save_ save__pdbx_reference_linked_entity_comp_list.comp_id _item_description.description ; The component identifer for the constituent within the linked entity.. ; _item.name '_pdbx_reference_linked_entity_comp_list.comp_id' _item.category_id pdbx_reference_linked_entity_comp_list _item.mandatory_code no _item_type.code ucode save_ ############################################ ## PDBX_REFERENCE_LINKED_ENTITY_COMP_LINK ## ############################################ save_pdbx_reference_linked_entity_comp_link _category.description ; Data items in the pdbx_reference_linked_entity_comp_link category enumerate inter-entity linkages between the components of common observed interaction patterns described in the pdbx_reference_linked_entity category. ; _category.id pdbx_reference_linked_entity_comp_link _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_linked_entity_comp_link.linked_entity_id' '_pdbx_reference_linked_entity_comp_link.link_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_reference_linked_entity_comp_link.linked_entity_id _pdbx_reference_linked_entity_comp_link.link_id _pdbx_reference_linked_entity_comp_link.list_id_1 _pdbx_reference_linked_entity_comp_link.comp_id_1 _pdbx_reference_linked_entity_comp_link.atom_id_1 _pdbx_reference_linked_entity_comp_link.leaving_atom_id_1 _pdbx_reference_linked_entity_comp_link.atom_stereo_config_1 _pdbx_reference_linked_entity_comp_link.list_id_2 _pdbx_reference_linked_entity_comp_link.comp_id_2 _pdbx_reference_linked_entity_comp_link.atom_id_2 _pdbx_reference_linked_entity_comp_link.leaving_atom_id_2 _pdbx_reference_linked_entity_comp_link.atom_stereo_config_2 _pdbx_reference_linked_entity_comp_link.value_order _pdbx_reference_linked_entity_comp_link.details 0 1 1 NAG O4 . N 2 NAG C1 O1 R sing "beta 1-->4" 0 2 2 NAG O4 . N 3 MAN C1 O1 S sing "beta 1-->4" 0 3 3 MAN O3 . N 4 MAN C1 O1 S sing "alpha 1-->3" 0 4 3 MAN O6 . N 5 MAN C1 O1 S sing "alpha 1-->6" # ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_linked_entity_comp_link.linked_entity_id _item_description.description ; The value of _pdbx_reference_linked_entity_comp_link.linked_entity_id is a reference _pdbx_reference_linked_entity_comp_list.linked_entity_id in the pdbx_reference_linked_entity_comp_list category. ; _item.name '_pdbx_reference_linked_entity_comp_link.linked_entity_id' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_reference_linked_entity_comp_link.linked_entity_id' _item_linked.parent_name '_pdbx_reference_linked_entity_comp_list.linked_entity_id' save_ save__pdbx_reference_linked_entity_comp_link.link_id _item_description.description ; The value of _pdbx_reference_linked_entity_comp_link.link_id uniquely identifies linkages within the linked entity. ; _item.name '_pdbx_reference_linked_entity_comp_link.link_id' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code yes _item_type.code int save_ save__pdbx_reference_linked_entity_comp_link.list_id_1 _item_description.description ; The value of _pdbx_reference_linked_entity_comp_link.list_id_1 is a reference _pdbx_reference_linked_entity_comp_list.list_id in the pdbx_reference_linked_entity_comp_list category. ; _item.name '_pdbx_reference_linked_entity_comp_link.list_id_1' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_reference_linked_entity_comp_link.list_id_1' _item_linked.parent_name '_pdbx_reference_linked_entity_comp_list.list_id' save_ save__pdbx_reference_linked_entity_comp_link.list_id_2 _item_description.description ; The value of _pdbx_reference_linked_entity_comp_link.list_id_2 is a reference _pdbx_reference_linked_entity_comp_list.list_id in the pdbx_reference_linked_entity_comp_list category. ; _item.name '_pdbx_reference_linked_entity_comp_link.list_id_2' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_reference_linked_entity_comp_link.list_id_2' _item_linked.parent_name '_pdbx_reference_linked_entity_comp_list.list_id' save_ save__pdbx_reference_linked_entity_comp_link.details _item_description.description ; A description of special aspects of a linkage between these constituents in this linked entity. ; _item.name '_pdbx_reference_linked_entity_comp_link.details' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_linked_entity_comp_link.comp_id_1 _item_description.description ; The component identifier in the first of the two constituents containing the linkage. ; _item.name '_pdbx_reference_linked_entity_comp_link.comp_id_1' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code yes _item_type.code code save_ save__pdbx_reference_linked_entity_comp_link.comp_id_2 _item_description.description ; The component identifier in the second of the two constituents containing the linkage. ; _item.name '_pdbx_reference_linked_entity_comp_link.comp_id_2' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code yes _item_type.code code save_ save__pdbx_reference_linked_entity_comp_link.atom_id_1 _item_description.description ; The atom identifier/name in the first of the two constituents containing the linkage. ; _item.name '_pdbx_reference_linked_entity_comp_link.atom_id_1' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code yes _item_type.code atcode save_ save__pdbx_reference_linked_entity_comp_link.atom_id_2 _item_description.description ; The atom identifier/name in the second of the two constituents containing the linkage. ; _item.name '_pdbx_reference_linked_entity_comp_link.atom_id_2' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code yes _item_type.code atcode save_ save__pdbx_reference_linked_entity_comp_link.leaving_atom_id_1 _item_description.description ; The leaving atom identifier/name bonded to the first atom making the linkage. ; _item.name '_pdbx_reference_linked_entity_comp_link.leaving_atom_id_1' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code yes _item_type.code atcode # _item_linked.child_name '_pdbx_reference_linked_entity_comp_link.leaving_atom_id_1' # _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__pdbx_reference_linked_entity_comp_link.atom_stereo_config_1 _item_description.description ; The chiral configuration of the first atom making the linkage. ; _item.name '_pdbx_reference_linked_entity_comp_link.atom_stereo_config_1' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code no _item_type.code ucode _item_default.value 'N' loop_ _item_enumeration.value _item_enumeration.detail R 'rectus - right handed configuration' S 'sinister - left handed configuration' N 'none' save_ save__pdbx_reference_linked_entity_comp_link.leaving_atom_id_2 _item_description.description ; The leaving atom identifier/name bonded to the second atom making the linkage. ; _item.name '_pdbx_reference_linked_entity_comp_link.leaving_atom_id_2' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code yes _item_type.code atcode # _item_linked.child_name '_pdbx_reference_linked_entity_comp_link.leaving_atom_id_2' # _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__pdbx_reference_linked_entity_comp_link.atom_stereo_config_2 _item_description.description ; The chiral configuration of the second atom making the linkage. ; _item.name '_pdbx_reference_linked_entity_comp_link.atom_stereo_config_2' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code no _item_type.code ucode _item_default.value 'N' loop_ _item_enumeration.value _item_enumeration.detail R 'rectus - right handed configuration' S 'sinister - left handed configuration' N 'none' save_ save__pdbx_reference_linked_entity_comp_link.value_order _item_description.description ; The bond order target for the chemical linkage. ; _item.name '_pdbx_reference_linked_entity_comp_link.value_order' _item.category_id pdbx_reference_linked_entity_comp_link _item.mandatory_code no _item_default.value sing _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sing 'single bond' doub 'double bond' trip 'triple bond' quad 'quadruple bond' arom 'aromatic bond' poly 'polymeric bond' delo 'delocalised double bond' pi 'pi bond' save_ ####################################### ## PDBX_REFERENCE_LINKED_ENTITY_LINK ## ####################################### save_pdbx_reference_linked_entity_link _category.description ; Data items in the pdbx_reference_linked_entity_link category enumerate linkages between the entities in common observed interaction patterns described in the pdbx_reference_linked_entity category. ; _category.id pdbx_reference_linked_entity_link _category.mandatory_code no loop_ _category_key.name '_pdbx_reference_linked_entity_link.linked_entity_id' '_pdbx_reference_linked_entity_link.link_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; # loop_ _pdbx_reference_linked_entity_link.linked_entity_id _pdbx_reference_linked_entity_link.link_id _pdbx_reference_linked_entity_link.to_comp_id _pdbx_reference_linked_entity_link.to_atom_id _pdbx_reference_linked_entity_link.from_list_id _pdbx_reference_linked_entity_link.from_comp_id _pdbx_reference_linked_entity_link.from_atom_id _pdbx_reference_linked_entity_link.from_leaving_atom_id _pdbx_reference_linked_entity_link.from_atom_stereo_config _pdbx_reference_linked_entity_link.value_order 0 1 ASN ND2 1 NAG C1 O1 R sing 1 1 ASN ND2 1 NAG C1 O1 R sing 2 1 ASN ND2 1 NAG C1 O1 R sing 3 1 ASN ND2 1 NAG C1 O1 R sing 4 1 ASN ND2 1 NAG C1 O1 R sing 5 1 ASN ND2 1 NAG C1 O1 R sing ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_reference_linked_entity_link.linked_entity_id _item_description.description ; The value of _pdbx_reference_linked_entity_link.linked_entity_id is a reference _pdbx_reference_linked_entity_comp_list.linked_entity_id in the pdbx_reference_linked_entity_comp_list category. ; _item.name '_pdbx_reference_linked_entity_link.linked_entity_id' _item.category_id pdbx_reference_linked_entity_link _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_reference_linked_entity_link.linked_entity_id' _item_linked.parent_name '_pdbx_reference_linked_entity_comp_list.linked_entity_id' save_ save__pdbx_reference_linked_entity_link.link_id _item_description.description ; The value of _pdbx_reference_linked_entity_link.link_id uniquely identifies linkages within the linked entity. ; _item.name '_pdbx_reference_linked_entity_link.link_id' _item.category_id pdbx_reference_linked_entity_link _item.mandatory_code yes _item_type.code int save_ save__pdbx_reference_linked_entity_link.from_list_id _item_description.description ; The value of _pdbx_reference_linked_entity_link.from_list_id is a reference _pdbx_reference_linked_entity_comp_list.list_id in the pdbx_reference_linked_entity_comp_list category. ; _item.name '_pdbx_reference_linked_entity_link.from_list_id' _item.category_id pdbx_reference_linked_entity_link _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_reference_linked_entity_link.from_list_id' _item_linked.parent_name '_pdbx_reference_linked_entity_comp_list.list_id' save_ save__pdbx_reference_linked_entity_link.details _item_description.description ; A description of special aspects of a linkage between these constituents in this linked entity. ; _item.name '_pdbx_reference_linked_entity_link.details' _item.category_id pdbx_reference_linked_entity_link _item.mandatory_code no _item_type.code text save_ save__pdbx_reference_linked_entity_link.to_comp_id _item_description.description ; The component identifier in the first of the two constituents containing the linkage. ; _item.name '_pdbx_reference_linked_entity_link.to_comp_id' _item.category_id pdbx_reference_linked_entity_link _item.mandatory_code yes _item_type.code code save_ save__pdbx_reference_linked_entity_link.from_comp_id _item_description.description ; The component identifier in the second of the two constituents containing the linkage. ; _item.name '_pdbx_reference_linked_entity_link.from_comp_id' _item.category_id pdbx_reference_linked_entity_link _item.mandatory_code yes _item_type.code code save_ save__pdbx_reference_linked_entity_link.to_atom_id _item_description.description ; The atom identifier/name in the first of the two constituents containing the linkage. ; _item.name '_pdbx_reference_linked_entity_link.to_atom_id' _item.category_id pdbx_reference_linked_entity_link _item.mandatory_code yes _item_type.code atcode save_ save__pdbx_reference_linked_entity_link.from_atom_id _item_description.description ; The atom identifier/name in the second of the two constituents containing the linkage. ; _item.name '_pdbx_reference_linked_entity_link.from_atom_id' _item.category_id pdbx_reference_linked_entity_link _item.mandatory_code yes _item_type.code atcode save_ save__pdbx_reference_linked_entity_link.from_leaving_atom_id _item_description.description ; The leaving atom identifier/name bonded to the second atom making the linkage. ; _item.name '_pdbx_reference_linked_entity_link.from_leaving_atom_id' _item.category_id pdbx_reference_linked_entity_link _item.mandatory_code yes _item_type.code atcode # _item_linked.child_name '_pdbx_reference_linked_entity_link.from_leaving_atom_id' # _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__pdbx_reference_linked_entity_link.from_atom_stereo_config _item_description.description ; The chiral configuration of the second atom making the linkage. ; _item.name '_pdbx_reference_linked_entity_link.from_atom_stereo_config' _item.category_id pdbx_reference_linked_entity_link _item.mandatory_code no _item_type.code ucode _item_default.value 'N' loop_ _item_enumeration.value _item_enumeration.detail R 'rectus - right handed configuration' S 'sinister - left handed configuration' N 'none' save_ save__pdbx_reference_linked_entity_link.value_order _item_description.description ; The bond order target for the chemical linkage. ; _item.name '_pdbx_reference_linked_entity_link.value_order' _item.category_id pdbx_reference_linked_entity_link _item.mandatory_code no _item_default.value sing _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sing 'single bond' doub 'double bond' trip 'triple bond' quad 'quadruple bond' arom 'aromatic bond' poly 'polymeric bond' delo 'delocalised double bond' pi 'pi bond' save_ ## # File: pdbx_related_data_set # Original: Dec 2013 jdw # # Update Jan 2014 jdw ## ############################## ## PDBX_RELATED_EXP_DATA_SET # ############################## save_pdbx_related_exp_data_set _category.description ; Data items in the PDBX_RELATED_DATA_SET category record references to experimental data sets related to the entry. ; _category.id pdbx_related_exp_data_set _category.mandatory_code no _category_key.name '_pdbx_related_exp_data_set.ordinal' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'database_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_related_exp_data_set.ordinal _pdbx_related_exp_data_set.data_reference _pdbx_related_exp_data_set.metadata_reference _pdbx_related_exp_data_set.data_set_type _pdbx_related_exp_data_set.details 1 '10.000/10002/image_data/cif' '10.000/10002/image_data/txt' 'diffraction image data' 'imgCIF data set containing 500 frames' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_related_exp_data_set.ordinal _item_description.description ; Ordinal identifier for each related experimental data set. ; _item.name '_pdbx_related_exp_data_set.ordinal' _item.category_id pdbx_related_exp_data_set _item.mandatory_code yes _item_type.code int save_ save__pdbx_related_exp_data_set.data_reference _item_description.description ; A DOI reference to the related data set. ; _item.name '_pdbx_related_exp_data_set.data_reference' _item.category_id pdbx_related_exp_data_set _item.mandatory_code yes _item_type.code exp_data_doi _pdbx_item.name "_pdbx_related_exp_data_set.data_reference" _pdbx_item.mandatory_code no loop_ _item_examples.case '10.000/10002/image_data/cif' save_ save__pdbx_related_exp_data_set.metadata_reference _item_description.description ; A DOI reference to the metadata decribing the related data set. ; _item.name '_pdbx_related_exp_data_set.metadata_reference' _item.category_id pdbx_related_exp_data_set _item.mandatory_code no _item_type.code exp_data_doi _pdbx_item.name "_pdbx_related_exp_data_set.metadata_reference" _pdbx_item.mandatory_code no loop_ _item_examples.case '10.000/10002/image_data/txt' save_ save__pdbx_related_exp_data_set.data_set_type _item_description.description ; The type of the experimenatal data set. ; _item.name '_pdbx_related_exp_data_set.data_set_type' _item.category_id pdbx_related_exp_data_set _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'diffraction image data' 'NMR free induction decay data' _pdbx_item.name "_pdbx_related_exp_data_set.data_set_type" _pdbx_item.mandatory_code no # # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_related_exp_data_set.data_set_type" "diffraction image data" . "_pdbx_related_exp_data_set.data_set_type" "small-angle scattering data" . "_pdbx_related_exp_data_set.data_set_type" EMPIAR . "_pdbx_related_exp_data_set.data_set_type" "NMR free induction decay data" . "_pdbx_related_exp_data_set.data_set_type" "other data" . # save_ save__pdbx_related_exp_data_set.details _item_description.description ; Additional details describing the content of the related data set and its application to the current investigation. ; _item.name '_pdbx_related_exp_data_set.details' _item.category_id pdbx_related_exp_data_set _item.mandatory_code no _item_type.code text _pdbx_item.name "_pdbx_related_exp_data_set.details" _pdbx_item.mandatory_code no save_ save__refine.overall_SU_B _item_description.description ; The overall standard uncertainty (estimated standard deviation) of the displacement parameters based on a maximum-likelihood residual. The overall standard uncertainty (sigma~B~)^2^ gives an idea of the uncertainty in the B values of averagely defined atoms (atoms with B values equal to the average B value). N~a~ (sigma~B~)^2^ = 8 ---------------------------------------------- sum~i~ {[1/Sigma - (E~o~)^2^ (1-m^2^)](SUM_AS)s^4^} N~a~ = number of atoms E~o~ = normalized structure factors m = figure of merit of phases of reflections included in the summation s = reciprocal-space vector SUM_AS = (sigma~A~)^2^/Sigma^2^ Sigma = (sigma~{E;exp}~)^2^ + epsilon [1-(sigma~A~)^2^] sigma~{E;exp}~ = experimental uncertainties of normalized structure factors sigma~A~ = SQRT(Sigma~P~/Sigma~N~) estimated using maximum likelihood Sigma~P~ = sum~{atoms in model}~ f^2^ Sigma~N~ = sum~{atoms in crystal}~ f^2^ f = atom form factor delta~x~ = expected error epsilon = multiplicity of diffracting plane summation is over all reflections included in refinement Ref: (sigma~A~ estimation) "Refinement of macromolecular structures by the maximum-likelihood method", Murshudov, G. N., Vagin, A. A. & Dodson, E. J. (1997). Acta Cryst. D53, 240-255. (SU B estimation) Murshudov, G. N. & Dodson, E. J. (1997). Simplified error estimation a la Cruickshank in macromolecular crystallography. CCP4 Newsletter on Protein Crystallography, No. 33, January 1997, pp. 31-39. http://www.ccp4.ac.uk/newsletters/newsletter33/murshudov.html ; _item.name '_refine.overall_SU_B' _item.category_id refine _item.mandatory_code no # _item_aliases.alias_name '_refine.ebi_Overall_ESU_B' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _pdbx_item_description.name "_refine.overall_SU_B" _pdbx_item_description.description "The overall standard uncertainty (estimated standard deviation) of the displacement parameters based on B factors." # # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.overall_SU_B" 0.1 0.1 "_refine.overall_SU_B" 0.1 42 "_refine.overall_SU_B" 42 42 # _item_type.code float save_ save__refine.overall_SU_ML _item_description.description ; The overall standard uncertainty (estimated standard deviation) of the positional parameters based on a maximum likelihood residual. The overall standard uncertainty (sigma~X~)^2^ gives an idea of the uncertainty in the position of averagely defined atoms (atoms with B values equal to average B value) 3 N~a~ (sigma~X~)^2^ = --------------------------------------------------------- 8 pi^2^ sum~i~ {[1/Sigma - (E~o~)^2^ (1-m^2^)](SUM_AS)s^2^} N~a~ = number of atoms E~o~ = normalized structure factors m = figure of merit of phases of reflections included in the summation s = reciprocal-space vector SUM_AS = (sigma~A~)^2^/Sigma^2^ Sigma = (sigma~{E;exp}~)^2^ + epsilon [1-(sigma~A~)^2^] sigma~{E;exp}~ = experimental uncertainties of normalized structure factors sigma~A~ = SQRT(Sigma~P~/Sigma~N~) estimated using maximum likelihood Sigma~P~ = sum~{atoms in model}~ f^2^ Sigma~N~ = sum~{atoms in crystal}~ f^2^ f = atom form factor delta~x~ = expected error epsilon = multiplicity of diffracting plane summation is over all reflections included in refinement Ref: (sigma_A estimation) "Refinement of macromolecular structures by the maximum-likelihood method", Murshudov, G. N., Vagin, A. A. & Dodson, E. J. (1997). Acta Cryst. D53, 240-255. (SU ML estimation) Murshudov, G. N. & Dodson, E. J. (1997). Simplified error estimation a la Cruickshank in macromolecular crystallography. CCP4 Newsletter on Protein Crystallography, No. 33, January 1997, pp. 31-39. http://www.ccp4.ac.uk/newsletters/newsletter33/murshudov.html ; _item.name '_refine.overall_SU_ML' _item.category_id refine _item.mandatory_code no _pdbx_item_description.name "_refine.overall_SU_ML" _pdbx_item_description.description "The overall standard uncertainty (estimated standard deviation) of the displacement parameters based on a maximum likelihood residual." loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.overall_SU_ML" 0 0 "_refine.overall_SU_ML" 0 0.6 "_refine.overall_SU_ML" 0.6 0.6 # _item_aliases.alias_name '_refine.ebi_Overall_ESU_ML' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _item_type.code float save_ save__refine.overall_SU_R_Cruickshank_DPI _item_description.description ; The overall standard uncertainty (estimated standard deviation) of the displacement parameters based on the crystallographic R value, expressed in a formalism known as the dispersion precision indicator (DPI). The overall standard uncertainty (sigma~B~) gives an idea of the uncertainty in the B values of averagely defined atoms (atoms with B values equal to the average B value). N~a~ (sigma~B~)^2^ = 0.65 ---------- (R~value~)^2^ (D~min~)^2^ C^-2/3^ (N~o~-N~p~) N~a~ = number of atoms included in refinement N~o~ = number of observations N~p~ = number of parameters refined R~value~ = conventional crystallographic R value D~min~ = maximum resolution C = completeness of data Ref: Cruickshank, D. W. J. (1999). Acta Cryst. D55, 583-601. Murshudov, G. N. & Dodson, E. J. (1997). Simplified error estimation a la Cruickshank in macromolecular crystallography. CCP4 Newsletter on Protein Crystallography, No. 33, January 1997, pp. 31-39. http://www.ccp4.ac.uk/newsletters/newsletter33/murshudov.html ; _item.name '_refine.overall_SU_R_Cruickshank_DPI' _item.category_id refine _item.mandatory_code no # _item_aliases.alias_name '_refine.ebi_Overall_ESU_R_Cruickshanks_DPI' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _pdbx_item_description.name "_refine.overall_SU_R_Cruickshank_DPI" _pdbx_item_description.description "The overall standard uncertainty (estimated standard deviation) of the displacement parameters based on the crystallographic R value, expressed in a formalism known as the dispersion precision indicator (DPI)" # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.overall_SU_R_Cruickshank_DPI" 0 0 "_refine.overall_SU_R_Cruickshank_DPI" 0 0.7 "_refine.overall_SU_R_Cruickshank_DPI" 0.7 0.7 _item_type.code float save_ save__refine.overall_SU_R_free _item_description.description ; The overall standard uncertainty (estimated standard deviation) of the displacement parameters based on the free R value. The overall standard uncertainty (sigma~B~) gives an idea of the uncertainty in the B values of averagely defined atoms (atoms with B values equal to the average B value). N~a~ (sigma~B~)^2^ = 0.65 ---------- (R~free~)^2^ (D~min~)^2^ C^-2/3^ (N~o~-N~p~) N~a~ = number of atoms included in refinement N~o~ = number of observations N~p~ = number of parameters refined R~free~ = conventional free crystallographic R value calculated using reflections not included in refinement D~min~ = maximum resolution C = completeness of data Ref: Cruickshank, D. W. J. (1999). Acta Cryst. D55, 583-601. Murshudov, G. N. & Dodson, E. J. (1997). Simplified error estimation a la Cruickshank in macromolecular crystallography. CCP4 Newsletter on Protein Crystallography, No. 33, January 1997, pp. 31-39. http://www.ccp4.ac.uk/newsletters/newsletter33/murshudov.html ; _item.name '_refine.overall_SU_R_free' _item.category_id refine _item.mandatory_code no loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_refine.overall_SU_R_free" 0 0 "_refine.overall_SU_R_free" 0 0.45 "_refine.overall_SU_R_free" 0.45 0.45 # # _item_aliases.alias_name '_refine.ebi_Overall_ESU_Rfree' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _item_type.code float save_ save__refine.overall_FOM_free_R_set _item_description.description ; Average figure of merit of phases of reflections not included in the refinement. This value is derived from the likelihood function. FOM = I~1~(X)/I~0~(X) I~0~, I~1~ = zero- and first-order modified Bessel functions of the first kind X = sigma~A~ |E~o~| |E~c~|/SIGMA E~o~, E~c~ = normalized observed and calculated structure factors sigma~A~ = SQRT(Sigma~P~/Sigma~N~) estimated using maximum likelihood Sigma~P~ = sum~{atoms in model}~ f^2^ Sigma~N~ = sum~{atoms in crystal}~ f^2^ f = form factor of atoms delta~x~ = expected error SIGMA = (sigma~{E;exp}~)^2^ + epsilon [1-(sigma~A~)^2^] sigma~{E;exp}~ = uncertainties of normalized observed structure factors epsilon = multiplicity of the diffracting plane Ref: Murshudov, G. N., Vagin, A. A. & Dodson, E. J. (1997). Acta Cryst. D53, 240-255. ; _item.name '_refine.overall_FOM_free_R_set' _item.category_id refine _item.mandatory_code no # _item_aliases.alias_name '_refine.ebi_overall_FOM_free_Rset' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _item_type.code float save_ save__refine.overall_FOM_work_R_set _item_description.description ; Average figure of merit of phases of reflections included in the refinement. This value is derived from the likelihood function. FOM = I~1~(X)/I~0~(X) I~0~, I~1~ = zero- and first-order modified Bessel functions of the first kind X = sigma~A~ |E~o~| |E~c~|/SIGMA E~o~, E~c~ = normalized observed and calculated structure factors sigma~A~ = SQRT(Sigma~P~/Sigma~N~) estimated using maximum likelihood Sigma~P~ = sum~{atoms in model}~ f^2^ Sigma~N~ = sum~{atoms in crystal}~ f^2^ f = form factor of atoms delta~x~ = expected error SIGMA = (sigma~{E;exp}~)^2^ + epsilon [1-(sigma~A~)^2^] sigma~{E;exp}~ = uncertainties of normalized observed structure factors epsilon = multiplicity of the diffracting plane Ref: Murshudov, G. N., Vagin, A. A. & Dodson, E. J. (1997). Acta Cryst. D53, 240-255. ; _item.name '_refine.overall_FOM_work_R_set' _item.category_id refine _item.mandatory_code no # _item_aliases.alias_name '_refine.ebi_overall_FOM_work_Rset' # _item_aliases.dictionary ebi_extensions # _item_aliases.version 1.0 _item_type.code float save_ ## ## refln-extension-20140903.txt ## From the PDBx/mmCIF Deposition working group ## save__refln.pdbx_r_free_flag _item_description.description ; The R-free flag originally assigned to the reflection. The convention used for labeling the work and test sets differs depending on choice of data processing software and refinement program. ; _item.name '_refln.pdbx_r_free_flag' _item.category_id refln _item.mandatory_code no _item_type.code int save_ # # File: reflns-extension-20140312.txt # Date: March 13, 2014 # # save__reflns.pdbx_CC_half _item_description.description ; The Pearson's correlation coefficient expressed as a decimal value between the average intensities from randomly selected half-datasets. Ref: Karplus & Diederichs (2012), Science 336, 1030-33 ; _item.name '_reflns.pdbx_CC_half' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_range.name _item_range.minimum _item_range.maximum "_reflns.pdbx_CC_half" 0 1 "_reflns.pdbx_CC_half" 1 1 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_reflns.pdbx_CC_half" 0.75 0.75 "_reflns.pdbx_CC_half" 0.75 1.00 "_reflns.pdbx_CC_half" 1.00 1.00 save_ save__reflns.pdbx_CC_star _item_description.description ; Estimates the value of CC_true, the true correlation coefficient between the average intensities from randomly selected half-datasets. CC_star = sqrt(2*CC_half/(1+CC_half)), where both CC_star and CC_half (CC1/2) Ref: Karplus & Diederichs (2012), Science 336, 1030-33 ; _item.name '_reflns.pdbx_CC_star' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_range.name _item_range.minimum _item_range.maximum "_reflns.pdbx_CC_star" 0 0 "_reflns.pdbx_CC_star" 0 1 "_reflns.pdbx_CC_star" 1 1 save_ save__reflns.pdbx_R_split _item_description.description ; R split measures the agreement between the sets of intensities created by merging odd- and even-numbered images from the overall data. Ref: T. A. White, R. A. Kirian, A. V. Martin, A. Aquila, K. Nass, A. Barty and H. N. Chapman (2012), J. Appl. Cryst. 45, 335-341 ; _item.name '_reflns.pdbx_R_split' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_range.maximum _item_range.minimum 2 0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_reflns.pdbx_R_split' 0.01 0.01 '_reflns.pdbx_R_split' 0.01 0.3 save_ save__reflns_shell.pdbx_CC_half _item_description.description ; The Pearson's correlation coefficient expressed as a decimal value between the average intensities from randomly selected half-datasets within the resolution shell. Ref: Karplus & Diederichs (2012), Science 336, 1030-33 ; _item.name '_reflns_shell.pdbx_CC_half' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float loop_ _item_range.name _item_range.minimum _item_range.maximum "_reflns_shell.pdbx_CC_half" 0 1 "_reflns_shell.pdbx_CC_half" 1 1 save_ save__reflns_shell.pdbx_CC_star _item_description.description ; Estimates the value of CC_true, the true correlation coefficient between the average intensities from randomly selected half-datasets within the resolution shell. CC_star = sqrt(2*CC_half/(1+CC_half)) Ref: Karplus & Diederichs (2012), Science 336, 1030-33 ; _item.name '_reflns_shell.pdbx_CC_star' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float loop_ _item_range.name _item_range.minimum _item_range.maximum "_reflns_shell.pdbx_CC_star" 0 0 "_reflns_shell.pdbx_CC_star" 0 1 "_reflns_shell.pdbx_CC_star" 1 1 save_ save__reflns_shell.pdbx_R_split _item_description.description ; R split measures the agreement between the sets of intensities created by merging odd- and even-numbered images from the data within the resolution shell. Ref: T. A. White, R. A. Kirian, A. V. Martin, A. Aquila, K. Nass, A. Barty and H. N. Chapman (2012), J. Appl. Cryst. 45, 335-341 ; _item.name '_reflns_shell.pdbx_R_split' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float loop_ _item_range.maximum _item_range.minimum 10 0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_reflns_shell.pdbx_R_split' 0.01 0.01 '_reflns_shell.pdbx_R_split' 0.01 3.2 save_ ########################################################################### # # File: database_status_history_extension.dic # Date 6-Jun-2014 J. Westbrook # # Draft extension dictionary for describing processing status history # # save_pdbx_database_status_history _category.description ; The pdbx_database_status_history category records the time evolution of entry processing status. ; _category.id 'pdbx_database_status_history' _category.mandatory_code no loop_ _category_key.name '_pdbx_database_status_history.ordinal' '_pdbx_database_status_history.entry_id' loop_ _category_group.id 'inclusive_group' 'database_group' 'pdbx_group' _category_examples.case ; _pdbx_database_status_history.entry_id 'D_0000000000' _pdbx_database_status_history.ordinal 1 _pdbx_database_status_history.date_begin 2014-01-01 _pdbx_database_status_history.date_end 2014-01-01 _pdbx_database_status_history.status_code PROC ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_database_status_history save_ save__pdbx_database_status_history.entry_id _item_description.description ; The value of _pdbx_database_status_history.entry_id identifies the entry data block. ; _item.name '_pdbx_database_status_history.entry_id' _item.category_id pdbx_database_status_history _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_database_status_history.entry_id' _item_linked.parent_name '_entry.id' _item_examples.case 'D_0000000000' save_ save__pdbx_database_status_history.ordinal _item_description.description ; Ordinal index for the status history list. ; _item.name '_pdbx_database_status_history.ordinal' _item.category_id pdbx_database_status_history _item.mandatory_code yes _item_type.code code _item_examples.case '1' save_ save__pdbx_database_status_history.date_begin _item_description.description ; This is the date of the start of the current processing status state. ; _item.name '_pdbx_database_status_history.date_begin' _item.category_id pdbx_database_status_history _item.mandatory_code yes _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 2014-01-29 save_ save__pdbx_database_status_history.date_end _item_description.description ; This is the date of the end of the current processing status state. ; _item.name '_pdbx_database_status_history.date_end' _item.category_id pdbx_database_status_history _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _item_examples.case 2014-01-30 save_ save__pdbx_database_status_history.status_code _item_description.description ; Current entry processing status. ; _item.name '_pdbx_database_status_history.status_code' _item.category_id pdbx_database_status_history _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail PROC 'To be processed' WAIT 'Processing started, waiting for author input to continue processing' REL 'Released' HOLD 'On hold until yyyy-mm-dd' HPUB 'On hold until publication' AUTH 'Processed, waiting for author review and approval' POLC 'Processing, waiting for a policy decision' REPL 'Author sent new coordinates to be incorporated' AUCO 'Author corrections pending review' loop_ _item_examples.case PROC WAIT save_ save__pdbx_database_status_history.details _item_description.description ; Special details about the current process status state. ; _item.name '_pdbx_database_status_history.details' _item.category_id pdbx_database_status_history _item.mandatory_code no _item_type.code text save_ ########################################################################### # # File: em-V5public.dic # # PDB Extension Dictionary for 3-Dimensional # Electron Microscopy # # ########################################################################### # updated with extensions for D&A system Cathy Lawson May 2015 # revised June 2015 CLL # # August 12, 2015: added _em_map.partition, added "half map" to _em_map.type # enumeration, obsoleted _em_3d_reconstruction.number_subtomograms_used, # added "OTHER" to _emd_angle_assignment.type CLL # # August 31, 2015: # added ETHANE-PROPANE to _cryogen name # adjusted _em_experiment.aggregation_state to have enumeration equivalent # to _emd_structure_determination.aggregation_state # _em_ctf_correction.type data type corrected from code to line # _em_buffer.name data type extended from line to text to accomodate # multi-line conversion instances # _em_euler_angle_assignment.proj_matching_num_projections made non-mandatory # October 22, 2015: # multiple updates to harmonize dictionary with D&A system # CLL # # September 2016: support for V5 public release added; flags enable # commenting out for either V4 or V5 specific lines ##V4 : indicates lines for V4 archive support version #V5 : indicates lines for V5 public release version # # October 2016: data item _em_3d_reconstruction.refinement_type added # in response to community input. Updates to vitrification and microscope # model enumerations. ########################################################################### ##############START: UPDATED (V4) CATEGORIES################ ################# ## EM_ASSEMBLY ## ################# # No direct translation with EMD; maintained for legacy compatibility save_em_assembly _category.description ; Data items in the EM_ASSEMBLY category record details about the imaged EM sample. ; _category.id em_assembly _category.mandatory_code no loop_ _category_key.name '_em_assembly.id' '_em_assembly.entry_id' loop_ _category_group.id 'inclusive_group' 'em_legacy_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; _em_assembly.id 1 _em_assembly.entry_id 1DYL _em_assembly.name virus _em_assembly.aggregation_state PARTICLE _em_assembly.composition virus _em_assembly.num_components 1 _em_assembly.mol_wt_exp . _em_assembly.mol_wt_theo . _em_assembly.mol_wt_method . _em_assembly.details . ; _pdbx_category_context.type WWPDB_LOCAL #V5 _pdbx_category_context.category_id em_assembly #V5 save_ save__em_assembly.id _item_description.description ; The value of _em_assembly.id must uniquely identify a collection of observed complexes. ; _item.name '_em_assembly.id' _item.category_id em_assembly _item.mandatory_code yes _item_type.code code save_ save__em_assembly.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_em_assembly.entry_id' _item.category_id em_assembly _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_assembly.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_assembly.name _item_description.description ; The name of the assembly of observed complexes. ; _item.name '_em_assembly.name' _item.category_id em_assembly _item.mandatory_code no _item_type.code text _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_assembly.name' #V5 _item_related.related_name '_em_entity_assembly.name' #V5 _item_related.function_code replacedby #V5 _item_examples.case 'MaB1 Fab Fragment bound to Human Rhinovirus' save_ save__em_assembly.aggregation_state # to be deprecated -- now collected in _em_experiment _item_description.description ; A description of the aggregation state of the assembly. ; _item.name '_em_assembly.aggregation_state' _item.category_id em_assembly _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value "2D CRYSTAL" "3D CRYSTAL" "INDIVIDUAL STRUCTURE" FILAMENT ICOSAHEDRAL PARTICLE TISSUE CELL _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_assembly.aggregation_state' #V5 _item_related.related_name '_em_experiment.aggregation_state' #V5 _item_related.function_code replacedby #V5 save_ save__em_assembly.composition _item_description.description ; The composition of the assembly. ; _item.name '_em_assembly.composition' _item.category_id em_assembly _item.mandatory_code no _item_type.code text loop_ _item_examples.case "Protein/DNA complex" Virus _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_assembly.composition' #V5 _item_related.related_name '_em_entity_assembly.oligomeric_details' #V5 _item_related.function_code replacedby #V5 save_ save__em_assembly.num_components _item_description.description ; The number of components of the biological assembly. ; _item.name '_em_assembly.num_components' _item.category_id em_assembly _item.mandatory_code no _item_type.code int _item_examples.case 3 save_ save__em_assembly.mol_wt_exp _item_description.description ; The value (in megadaltons) of the experimentally determined molecular weight of the assembly. ; _item.name '_em_assembly.mol_wt_exp' _item.category_id em_assembly _item.mandatory_code no _item_type.code float _item_units.code megadaltons _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_assembly.mol_wt_exp' #V5 loop_ #V5 _item_related.related_name #V5 _item_related.function_code #V5 '_em_entity_assembly_molwt.value' replacedby #V5 '_em_entity_assembly_molwt.units' replacedby #V5 '_em_entity_assembly_molwt.experimental_flag' replacedby #V5 _item_examples.case 3.5 save_ save__em_assembly.mol_wt_theo _item_description.description ; The value (in megadaltons) of the theoretically determined molecular weight of the assembly. ; _item.name '_em_assembly.mol_wt_theo' _item.category_id em_assembly _item.mandatory_code no _item_type.code float _item_units.code megadaltons _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_assembly.mol_wt_theo' #V5 loop_ #V5 _item_related.related_name #V5 _item_related.function_code #V5 '_em_entity_assembly_molwt.value' replacedby #V5 '_em_entity_assembly_molwt.units' replacedby #V5 '_em_entity_assembly_molwt.experimental_flag' replacedby #V5 _item_examples.case 3.5 save_ save__em_assembly.mol_wt_method _item_description.description ; The method used to determine the molecular weight. ; _item.name '_em_assembly.mol_wt_method' _item.category_id em_assembly _item.mandatory_code no _item_type.code text _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_assembly.mol_wt_method' #V5 _item_related.related_name '_em_entity_assembly_molwt.method' #V5 _item_related.function_code replacedby #V5 save_ save__em_assembly.details _item_description.description ; Any additional details describing the imaged sample. ; _item.name '_em_assembly.details' _item.category_id em_assembly _item.mandatory_code no _item_type.code text _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_assembly.details' #V5 _item_related.related_name '_em_entity_assembly.details' #V5 _item_related.function_code replacedby #V5 loop_ _item_examples.case ; The sample was monodisperse ; save_ ######################## ## EM_ENTITY_ASSEMBLY ## ######################## save_em_entity_assembly _category.description ; Data items in the EM_ENTITY_ASSEMBLY category record details about each component of the complex. ; _category.id em_entity_assembly _category.mandatory_code no _category_key.name '_em_entity_assembly.id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 -- based on PDB entry 1C2W ; ; # _em_entity_assembly.assembly_id 1 #V4 _em_entity_assembly.id 1 _em_entity_assembly.name '50S Ribosomal Subunit' _em_entity_assembly.type RIBOSOME _em_entity_assembly.parent_id 0 #V5 _em_entity_assembly.synonym ? _em_entity_assembly.details ? # _em_entity_assembly.go_id ? #V4 _em_entity_assembly.entity_id_list ? #V5 _em_entity_assembly.source ? #V5 ; ; Example 2 -- based on PDB entry 3IY7 ; ; loop_ # _em_entity_assembly.assembly_id #V4 _em_entity_assembly.id _em_entity_assembly.name _em_entity_assembly.type _em_entity_assembly.parent_id #V5 _em_entity_assembly.synonym _em_entity_assembly.details # 1 1 'Fab fragment from MAb F interacting with feline panleukopenia virus (FPV)' COMPLEX ? ? #V4 # 1 2 'feline panleukopenia virus' VIRUS FPV ? #V4 # 1 3 'Fab fragment from Mab F' COMPLEX Fab ? #V4 1 'Fab fragment from MAb F interacting with feline panleukopenia virus (FPV)' COMPLEX 0 ? ? #V5 2 'feline panleukopenia virus' VIRUS 1 FPV ? #V5 3 'Fab fragment from Mab F' COMPLEX 1 Fab ? #V5 ; save_ save__em_entity_assembly.id _item_description.description ; The value of _em_entity_assembly.id identifies one component of the complex. ; _item.name '_em_entity_assembly.id' _item.category_id em_entity_assembly _item.mandatory_code yes _item_type.code code save_ save__em_entity_assembly.assembly_id #legacy V4 compatibility _item_description.description ; This data item is a pointer to _em_assembly.id in the ASSEMBLY category. ; _item.name '_em_entity_assembly.assembly_id' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code code # _item_linked.child_name '_em_entity_assembly.assembly_id' #V4 # _item_linked.parent_name '_em_assembly.id' #V4 _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_entity_assembly.assembly_id' #V5 save_ save__em_entity_assembly.parent_id # new V5 item _item_description.description ; The parent of this assembly. This data item is an internal category pointer to _em_entity_assembly.id. By convention, the full assembly (top of hierarchy) is assigned parent id 0 (zero). ; _item.name '_em_entity_assembly.parent_id' _item.category_id em_entity_assembly # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # # _pdbx_item.name '_em_entity_assembly.parent_id' #V4 # _pdbx_item.mandatory_code yes #V4 # _item_type.code int loop_ _item_range.maximum _item_range.minimum . 0 0 0 # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_entity_assembly.parent_id' #V4 save_ save__em_entity_assembly.source # item needed for DepUI V5 _item_description.description ; The assembly type. ; _item.name '_em_entity_assembly.source' _item.category_id em_entity_assembly _item.mandatory_code no # _pdbx_item.name '_em_entity_assembly.source' _pdbx_item.mandatory_code yes # _item_type.code line loop_ _item_enumeration.value NATURAL RECOMBINANT 'MULTIPLE SOURCES' SYNTHETIC # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_entity_assembly.source' #V4 save_ save__em_entity_assembly.type _item_description.description ; A description of types of components of the assembly of the biological structure. ; _item.name '_em_entity_assembly.type' _item.category_id em_entity_assembly _item.mandatory_code no # _pdbx_item.name '_em_entity_assembly.type' _pdbx_item.mandatory_code yes # _item_type.code line # legacy enumeration # loop_ # _item_enumeration.value # VIRUS # PROTEIN # 'NUCLEIC ACID' # LIGAND # LABEL # 'CELLULAR COMPONENT' # RIBOSOME loop_ _pdbx_item_enumeration.value _pdbx_item_enumeration.detail TISSUE . CELL . 'ORGANELLE OR CELLULAR COMPONENT' . COMPLEX . VIRUS . RIBOSOME . save_ save__em_entity_assembly.name _item_description.description ; Name of this component in the observed assembly. ; _item.name '_em_entity_assembly.name' _item.category_id em_entity_assembly # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # # _pdbx_item.name '_em_entity_assembly.name' #V4 # _pdbx_item.mandatory_code yes #V4 # _item_type.code text loop_ _item_examples.case 'Ternary complex of alpha-tubulin with tubulin folding cofactors TBCE and TBCB' '80S Ribosome bound to emetine' 'messenger RNA' 'initiation factor 2' GroEL 'antibody Fab fragment' _item_related.related_name '_em_assembly.name' #V5 _item_related.function_code replaces #V5 save_ save__em_entity_assembly.details _item_description.description ; Additional details about the component. ; _item.name '_em_entity_assembly.details' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code text _item_examples.case 'Fab fragment generated by proteolytic cleavage of LA2 IgG antibody.' _item_related.related_name '_em_assembly.details' #V5 _item_related.function_code replaces #V5 save_ save__em_entity_assembly.go_id _item_description.description ; The Gene Ontology (GO) identifier for the component. The GO id is the appropriate identifier used by the Gene Ontology Consortium. Reference: Nature Genetics vol 25:25-29 (2000). ; _item.name '_em_entity_assembly.go_id' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'GO:0005876' 'GO:0015630' _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_entity_assembly.go_id' #V5 save_ save__em_entity_assembly.ipr_id _item_description.description ; The InterPro (IPR) identifier for the component. The IPR id is the appropriate identifier used by the Interpro Resource. Reference: Nucleic Acid Research vol 29(1):37-40(2001). ; _item.name '_em_entity_assembly.ipr_id' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code line loop_ _item_examples.case '001304' '002353' _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_entity_assembly.ipr_id' #V5 save_ save__em_entity_assembly.synonym _item_description.description ; Alternative name of the component. ; _item.name '_em_entity_assembly.synonym' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code line _item_examples.case 'FADV-1' save_ save__em_entity_assembly.number_of_copies _item_description.description ; number of copies ; _item.name '_em_entity_assembly.number_of_copies' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code int _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_entity_assembly.number_of_copies' #V5 save_ save__em_entity_assembly.oligomeric_details _item_description.description ; oligomeric details ; _item.name '_em_entity_assembly.oligomeric_details' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code text _item_related.related_name '_em_assembly.composition' #V5 _item_related.function_code replaces #V5 save_ save__em_entity_assembly.entity_id_list #new V5 _item_description.description ; macromolecules associated with this component, if defined as comma separated list of entity ids (integers). ; _item.name '_em_entity_assembly.entity_id_list' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code line # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_entity_assembly.entity_id_list' #V4 save_ #"ebi_" data items not used V4, collected in new categories V5 save__em_entity_assembly.ebi_organism_scientific _item_description.description ; The species of the natural organism from which the component was obtained. ; _item.name '_em_entity_assembly.ebi_organism_scientific' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code line _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_entity_assembly.ebi_organism_scientific' save_ save__em_entity_assembly.ebi_organism_common _item_description.description ; The common name of the species of the natural organism from which the component was obtained. ; _item.name '_em_entity_assembly.ebi_organism_common' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code text _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_entity_assembly.ebi_organism_common' save_ save__em_entity_assembly.ebi_strain _item_description.description ; The strain of the natural organism from which the component was obtained, if relevant. ; _item.name '_em_entity_assembly.ebi_strain' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'DH5a' 'BMH 71-18' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_entity_assembly.ebi_strain' save_ save__em_entity_assembly.ebi_tissue _item_description.description ; The tissue of the natural organism from which the component was obtained. ; _item.name '_em_entity_assembly.ebi_tissue' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'heart' 'liver' 'eye lens' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_entity_assembly.ebi_tissue' save_ save__em_entity_assembly.ebi_cell _item_description.description ; The cell from which the component was obtained. ; _item.name '_em_entity_assembly.ebi_cell' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'CHO' 'HELA' '3T3' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_entity_assembly.ebi_cell' save_ save__em_entity_assembly.ebi_organelle _item_description.description ; The organelle from which the component was obtained. ; _item.name '_em_entity_assembly.ebi_organelle' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'golgi' 'mitochondrion' 'cytoskeleton' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_entity_assembly.ebi_organelle' save_ save__em_entity_assembly.ebi_cellular_location _item_description.description ; The cellular location of the component. ; _item.name '_em_entity_assembly.ebi_cellular_location' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'cytoplasm' 'endoplasmic reticulum' 'plasma membrane' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_entity_assembly.ebi_cellular_location' save_ save__em_entity_assembly.ebi_engineered _item_description.description ; A flag to indicate whether the component is engineered. ; _item.name '_em_entity_assembly.ebi_engineered' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value YES NO _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_entity_assembly.ebi_engineered' save_ save__em_entity_assembly.ebi_expression_system _item_description.description ; The expression system used to produce the component. ; _item.name '_em_entity_assembly.ebi_expression_system' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'eschericia coli' 'saccharomyces cerevisiae' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_entity_assembly.ebi_expression_system' save_ save__em_entity_assembly.ebi_expression_system_plasmid _item_description.description ; The plasmid used to produce the component. ; _item.name '_em_entity_assembly.ebi_expression_system_plasmid' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'pBR322' 'pMB9' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_entity_assembly.ebi_expression_system_plasmid' save_ save__em_entity_assembly.mutant_flag _item_description.description ; mutant flag ; _item.name '_em_entity_assembly.mutant_flag' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value YES NO _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_entity_assembly.mutant_flag' save_ save__em_entity_assembly.chimera _item_description.description ; An indication if an assembly is contains a chimeric polymer ; _item.name '_em_entity_assembly.chimera' _item.category_id em_entity_assembly _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value YES NO _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_entity_assembly.chimera' save_ ##################### ## EM_VIRUS_ENTITY ## ##################### save_em_virus_entity _category.description ; Data items in the EM_VIRUS_ENTITY category record details of the icosahedral virus. ; _category.id em_virus_entity _category.mandatory_code no loop_ _category_key.name '_em_virus_entity.id' '_em_virus_entity.entity_assembly_id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; loop_ _em_virus_entity.id _em_virus_entity.virus_host_category _em_virus_entity.virus_host_species _em_virus_entity.virus_type _em_virus_entity.virus_isolate _em_virus_entity.ictvdb_id _em_virus_entity.entity_assembly_id _em_virus_entity.enveloped _em_virus_entity.empty 1 'VERTERBRATES' 'HOMO SAPIENS' 'VIRUS' 'STRAIN' '00.073.0.01.023' 1 'YES' 'NO' ; save_ save__em_virus_entity.id _item_description.description ; Is the unique identifier for VIRUS_ENTITY category. ; _item.name '_em_virus_entity.id' _item.category_id em_virus_entity _item.mandatory_code yes _item_type.code code save_ save__em_virus_entity.virus_host_category _item_description.description ; The host category description for the virus. ; _item.name '_em_virus_entity.virus_host_category' _item.category_id em_virus_entity _item.mandatory_code no _item_type.code line loop_ _item_examples.case ALGAE ARCHAEA 'BACTERIA(EUBACTERIA)' FUNGI INVERTEBRATES 'PLANTAE (HIGHER PLANTS)' PROTOZOA VERTEBRATES save_ save__em_virus_entity.virus_host_species _item_description.description ; The host species from which the virus was isolated. ; _item.name '_em_virus_entity.virus_host_species' _item.category_id em_virus_entity _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'homo sapiens' 'gallus gallus' _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_virus_entity.virus_host_species' #V5 _item_related.related_name '_em_virus_natural_host.organism' #V5 _item_related.function_code replacedby #V5 save_ save__em_virus_entity.virus_host_growth_cell _item_description.description ; The host cell from which the virus was isolated. ; _item.name '_em_virus_entity.virus_host_growth_cell' _item.category_id em_virus_entity _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'HELA' 'CHO' _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_virus_entity.virus_host_growth_cell' #V5 _item_related.related_name '_em_virus_natural_host.strain' #V5 _item_related.function_code replacedby #V5 save_ save__em_virus_entity.virus_type _item_description.description ; The type of virus. ; _item.name '_em_virus_entity.virus_type' _item.category_id em_virus_entity _item.mandatory_code no # _pdbx_item.name '_em_virus_entity.virus_type' _pdbx_item.mandatory_code yes # _item_type.code line loop_ # _pdbx_item_enumeration.name #V4 # _pdbx_item_enumeration.value #V4 # _pdbx_item_enumeration.detail #V4 _item_enumeration.name #V5 _item_enumeration.value #V5 _item_enumeration.detail #V5 '_em_virus_entity.virus_type' VIRION . '_em_virus_entity.virus_type' SATELLITE . '_em_virus_entity.virus_type' PRION . '_em_virus_entity.virus_type' VIROID . '_em_virus_entity.virus_type' 'VIRUS-LIKE PARTICLE' . save_ save__em_virus_entity.virus_isolate _item_description.description ; The isolate from which the virus was obtained. ; _item.name '_em_virus_entity.virus_isolate' _item.category_id em_virus_entity _item.mandatory_code no # _pdbx_item.name '_em_virus_entity.virus_isolate' _pdbx_item.mandatory_code yes # _item_type.code line loop_ _item_enumeration.value STRAIN SEROTYPE SEROCOMPLEX SUBSPECIES SPECIES OTHER save_ save__em_virus_entity.ictvdb_id _item_description.description ; The International Committee on Taxonomy of Viruses (ICTV) Taxon Identifier is the Virus Code used throughout the ICTV database (ICTVdb). The ICTVdb id is the appropriate identifier used by the International Committee on Taxonomy of Viruses Resource. Reference: Virus Taxonomy, Academic Press (1999). ISBN:0123702003. NOTE: ICTV no longer maintains ids; maintained for legacy only. ; _item.name '_em_virus_entity.ictvdb_id' _item.category_id em_virus_entity _item.mandatory_code no _item_type.code line _item_examples.case 'NL-54' _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_virus_entity.ictvdb_id' #V5 save_ save__em_virus_entity.entity_assembly_id _item_description.description ; This data item is a pointer to _em_virus_entity.id in the ENTITY_ASSEMBLY category. ; _item.name '_em_virus_entity.entity_assembly_id' _item.category_id em_virus_entity _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_virus_entity.entity_assembly_id' _item_linked.parent_name '_em_entity_assembly.id' save_ save__em_virus_entity.enveloped _item_description.description ; Flag to indicate if the virus is enveloped or not. ; _item.name '_em_virus_entity.enveloped' _item.category_id em_virus_entity _item.mandatory_code no # _pdbx_item.name '_em_virus_entity.enveloped' _pdbx_item.mandatory_code yes # _item_type.code code loop_ _item_enumeration.value YES NO save_ save__em_virus_entity.empty _item_description.description ; Flag to indicate if the virus is empty or not. ; _item.name '_em_virus_entity.empty' _item.category_id em_virus_entity _item.mandatory_code no # _pdbx_item.name '_em_virus_entity.empty' _pdbx_item.mandatory_code yes # _item_type.code code loop_ _item_enumeration.value YES NO save_ save__em_virus_entity.details _item_description.description ; Additional details about this virus entity ; _item.name '_em_virus_entity.details' _item.category_id em_virus_entity _item.mandatory_code no _item_type.code text save_ ########################### ## EM_SAMPLE_PREPARATION ## ########################### #kept for legacy save_em_sample_preparation _category.description ; Data items in the EM_SAMPLE_PREPARATION category record details of sample conditions prior to and upon loading onto grid support. ; _category.id em_sample_preparation _category.mandatory_code no loop_ _category_key.name '_em_sample_preparation.id' '_em_sample_preparation.entry_id' loop_ _category_group.id 'inclusive_group' 'em_legacy_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; _em_sample_preparation.entry_id 1DYL _em_sample_preparation.id 1 _em_sample_preparation.ph 7.6 _em_sample_preparation.buffer_id 1 _em_sample_preparation.sample_concentration 5 _em_sample_preparation.2d_crystal_grow_id . _em_sample_preparation.support_id 1 ; _pdbx_category_context.type WWPDB_LOCAL #V5 _pdbx_category_context.category_id em_sample_preparation #V5 save_ save__em_sample_preparation.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_em_sample_preparation.entry_id' _item.category_id em_sample_preparation _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_sample_preparation.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_sample_preparation.id _item_description.description ; The value of _em_sample_preparation.id must uniquely identify the sample preparation. ; _item.name '_em_sample_preparation.id' _item.category_id em_sample_preparation _item.mandatory_code yes _item_type.code code save_ save__em_sample_preparation.ph _item_description.description ; The pH value of the observed sample buffer. ; _item.name '_em_sample_preparation.ph' _item.category_id em_sample_preparation _item.mandatory_code no _item_type.code float _item_examples.case '5.5' _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_sample_preparation.ph' #V5 _item_related.related_name '_em_buffer.pH' #V5 _item_related.function_code replacedby #V5 save_ save__em_sample_preparation.buffer_id _item_description.description ; This data item is a pointer to _em_buffer.id in the BUFFER category. ; _item.name '_em_sample_preparation.buffer_id' _item.category_id em_sample_preparation _item.mandatory_code no _item_type.code code # _item_linked.child_name '_em_sample_preparation.buffer_id' #V4 # _item_linked.parent_name '_em_buffer.id' #V4 save_ save__em_sample_preparation.sample_concentration _item_description.description ; The value of the concentration (mg per milliliter) of the complex in the sample. ; _item.name '_em_sample_preparation.sample_concentration' _item.category_id em_sample_preparation _item.mandatory_code no _item_type.code float _item_units.code mg_per_ml _item_examples.case '1.35' _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_sample_preparation.sample_concentration' #V5 _item_related.related_name '_em_specimen.concentration' #V5 _item_related.function_code replacedby #V5 save_ save__em_sample_preparation.2d_crystal_grow_id _item_description.description ; This data item is a pointer to _em_2d_crystal_grow.id in the 2D_CRYSTAL_GROW category. ; _item.name '_em_sample_preparation.2d_crystal_grow_id' _item.category_id em_sample_preparation _item.mandatory_code no _item_type.code code save_ save__em_sample_preparation.support_id _item_description.description ; This data item is a pointer to _em_sample_support.id in the EM_SAMPLE_SUPPORT category. ; _item.name '_em_sample_preparation.support_id' _item.category_id em_sample_preparation _item.mandatory_code no _item_type.code code save_ save__em_sample_preparation.entity_assembly_id _item_description.description ; This data item is a pointer to _entity_assembly.id in the em_entity_assembly category. ; _item.name '_em_sample_preparation.entity_assembly_id' _item.category_id em_sample_preparation _item.mandatory_code no _item_type.code code # _item_linked.child_name '_em_sample_preparation.entity_assembly_id' #V4 # _item_linked.parent_name '_em_entity_assembly.id' #V4 save_ save__em_sample_preparation.details _item_description.description ; Details of the specimen preparation ; _item.name '_em_sample_preparation.details' _item.category_id em_sample_preparation _item.mandatory_code no _item_type.code text loop_ _item_examples.detail _item_examples.case 1 ; Detergent-solubilized particles eluted from the cation-exchange column were directly adsorbed for 1 min to parlodion carbon-coated copper grids rendered hydrophilic by glow discharge at low pressure in air. Grids were washed with 4 drops of double-distilled water and stained with 2 drops of 0.75% uranyl formate. ; 2 ; Selectively stained by injection of horseradish peroxidase, embedded in Spurr's resin and cut into 2-3 um thick sections. ; 3 ; S. cerevisiae PDC was purified to near homogeneity from baker's yeast by modification of a published procedure. Highly purified E1 was obtained by resolution of PDC with 2 M NaCl at pH 7.3 followed by FPLC on a Superdex 200 column. The weight-average molecular weight of the PDC was determined by light scattering measurement to be ~8 x 106. On the basis of the known molecular weight of the complex and its component enzymes and the experimentally determined polypeptide chain ratios of E2/BP/E3, we estimated that the subunit composition of the S. cerevisiae PDC is ~24 E1 tetramers, 60 E2 monomers, 12 BP monomers, and 8 E3 dimers. Sufficient E1 was added to a sample of the PDC preparation to increase the molar ratio of E1/E2 core to 60:1. ; 4 ; embedded in vitreous ice. ; _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_sample_preparation.details' #V5 _item_related.related_name '_em_specimen.details' #V5 _item_related.function_code replacedby #V5 save_ ####################### ## EM_SAMPLE_SUPPORT ## ####################### save_em_sample_support _category.description ; Data items in the EM_SAMPLE_SUPPORT category record details of the electron microscope grid type, grid support film and pretreatment of whole before sample is applied ; _category.id em_sample_support _category.mandatory_code no loop_ _category_key.name '_em_sample_support.id' '_em_sample_support.specimen_id' #V5 loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; _em_sample_support.id 1 _em_sample_support.film_material 'HOLEY CARBON' _em_sample_support.grid_material COPPER _em_sample_support.grid_mesh_size 400 _em_sample_support.details 'GLOW DISCHARGED 120 seconds' ; save_ save__em_sample_support.id _item_description.description ; The value of _em_sample_support.id must uniquely identify the sample support. ; _item.name '_em_sample_support.id' _item.category_id em_sample_support _item.mandatory_code yes _item_type.code code save_ save__em_sample_support.film_material _item_description.description ; The support material covering the em grid. ; _item.name '_em_sample_support.film_material' _item.category_id em_sample_support _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value CARBON 'FORMVAR PLUS CARBON' 'CELLULOSE ACETATE PLUS CARBON' 'PARLODION PLUS CARBON' 'HOLEY CARBON' save_ save__em_sample_support.method _item_description.description ; A description of the method used to produce the support film. ; _item.name '_em_sample_support.method' _item.category_id em_sample_support _item.mandatory_code no _item_type.code text _item_examples.case '1%formvar in chloroform cast on distilled water' save_ save__em_sample_support.grid_material _item_description.description ; The name of the material from which the grid is made. ; _item.name '_em_sample_support.grid_material' _item.category_id em_sample_support _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value COPPER COPPER/PALLADIUM COPPER/RHODIUM GOLD "GRAPHENE OXIDE" NICKEL NICKEL/TITANIUM PLATINUM "SILICON NITRIDE" TUNGSTEN TITANIUM MOLYBDENUM save_ save__em_sample_support.grid_mesh_size _item_description.description ; The value of the mesh size (divisions per inch) of the em grid. ; _item.name '_em_sample_support.grid_mesh_size' _item.category_id em_sample_support _item.mandatory_code no _item_type.code int _item_examples.case 400 _item_range.minimum 1 _item_range.maximum . save_ save__em_sample_support.grid_type _item_description.description ; A description of the grid type. ; _item.name '_em_sample_support.grid_type' _item.category_id em_sample_support _item.mandatory_code no _item_type.code line loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_em_sample_support.grid_type' 'PELCO Ultrathin Carbon with Lacey Carbon' . '_em_sample_support.grid_type' Quantifoil . '_em_sample_support.grid_type' 'Quantifoil R0.6/1' . '_em_sample_support.grid_type' 'Quantifoil R2/1' . '_em_sample_support.grid_type' 'Quantifoil R2/2' . '_em_sample_support.grid_type' 'Quantifoil R2/4' . '_em_sample_support.grid_type' 'Quantifoil R3/3' . '_em_sample_support.grid_type' 'Quantifoil R3.5/1' . '_em_sample_support.grid_type' 'Quantifoil R1.2/1.3' . '_em_sample_support.grid_type' UltrAuFoil . '_em_sample_support.grid_type' 'UltrAuFoil R0./1' . '_em_sample_support.grid_type' 'UltrAuFoil R1.2/1.3' . '_em_sample_support.grid_type' 'UltrAuFoil R2/2' . '_em_sample_support.grid_type' C-flat . '_em_sample_support.grid_type' C-flat-1.2/1.3 . '_em_sample_support.grid_type' C-flat-2/1 . '_em_sample_support.grid_type' C-flat-1/1 . '_em_sample_support.grid_type' C-flat-2/2 . '_em_sample_support.grid_type' Homemade . save_ save__em_sample_support.pretreatment _item_description.description ; A description of the grid plus support film pretreatment. ; _item.name '_em_sample_support.pretreatment' _item.category_id em_sample_support _item.mandatory_code no _item_type.code text _item_examples.case 'glow-discharged for 30 sec in argon' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_sample_support.pretreatment' save_ save__em_sample_support.details _item_description.description ; Any additional details concerning the sample support. ; _item.name '_em_sample_support.details' _item.category_id em_sample_support _item.mandatory_code no _item_type.code text _item_examples.case 'The grid was coated with gold prior to use' save_ save__em_sample_support.specimen_id # new V5 _item_description.description ; This data item is a pointer to _em_sample_preparation.id in the EM_SPECIMEN category. ; _item.name '_em_sample_support.specimen_id' _item.category_id em_sample_support # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 additional category key # _pdbx_item.name '_em_sample_support.specimen_id' _pdbx_item.mandatory_code yes # _item_linked.child_name '_em_sample_support.specimen_id' _item_linked.parent_name '_em_specimen.id' _item_type.code code # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_sample_support.specimen_id' #V4 save_ save__em_sample_support.citation_id _item_description.description ; This data item is a pointer to _citation.id in the CITATION category. ; _item.name '_em_sample_support.citation_id' _item.category_id em_sample_support _item.mandatory_code no _item_linked.child_name '_em_sample_support.citation_id' _item_linked.parent_name '_citation.id' _item_type.code code save_ ############### ## EM_BUFFER ## ############### save_em_buffer _category.description ; Data items in the BUFFER category record details of the sample buffer. ; _category.id em_buffer _category.mandatory_code no loop_ _category_key.name '_em_buffer.id' '_em_buffer.specimen_id' #V5 loop_ _category_group.id 'inclusive_group' 'em_group' save_ save__em_buffer.id _item_description.description ; The value of _em_buffer.id must uniquely identify the sample buffer. ; _item.name '_em_buffer.id' _item.category_id em_buffer _item.mandatory_code yes _item_type.code code save_ save__em_buffer.specimen_id #new for V5 _item_description.description ; pointer to _em_specimen.id ; _item.name '_em_buffer.specimen_id' _item.category_id em_buffer # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # _pdbx_item.name '_em_buffer.specimen_id' _pdbx_item.mandatory_code yes # _item_type.code code _item_linked.parent_name '_em_specimen.id' _item_linked.child_name '_em_buffer.specimen_id' # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_buffer.specimen_id' #V4 save_ save__em_buffer.name _item_description.description ; The name of the buffer. ; _item.name '_em_buffer.name' _item.category_id em_buffer _item.mandatory_code no # _item_type.code line _item_type.code text _item_examples.case 'Polymix buffer' save_ save__em_buffer.details _item_description.description ; Additional details about the buffer. ; _item.name '_em_buffer.details' _item.category_id em_buffer _item.mandatory_code no _item_type.code text _item_examples.case '20mM NaCl, 10mM Tris-HCL,1mM MgCl2,1mM EDTA' save_ save__em_buffer.pH #new for V5 _item_description.description ; The pH of the sample buffer. ; _item.name '_em_buffer.pH' _item.category_id em_buffer _item.mandatory_code no # _pdbx_item.name '_em_buffer.pH' _pdbx_item.mandatory_code yes # _item_type.code float # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_buffer.pH' #V4 _item_related.related_name '_em_sample_preparation.ph' #V5 _item_related.function_code replaces #V5 save_ ###################### ## EM_VITRIFICATION ## ###################### save_em_vitrification _category.description ; Data items in the EM_VITRIFICATION category record details about the method and cryogen used in rapid freezing of the sample on the grid prior to its insertion in the electron microscope ; _category.id em_vitrification _category.mandatory_code no loop_ _category_key.name '_em_vitrification.id' # '_em_vitrification.entry_id' #V4 '_em_vitrification.specimen_id' #V5 loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; _em_vitrification.entry_id 1DYL _em_vitrification.id 1 _em_vitrification.sample_preparation_id 1 _em_vitrification.cryogen_name "ETHANE" _em_vitrification.humidity 90 _em_vitrification.temp 95 _em_vitrification.instrument . _em_vitrification.method "PLUNGE VITRIFICATION" _em_vitrification.time_resolved_state . _em_vitrification.details ; SAMPLES WERE PREPARED AS THIN LAYERS OF VITREOUS ICE AND MAINTAINED AT NEAR LIQUID NITROGEN TEMPERATURE IN THE ELECTRON MICROSCOPE WITH A GATAN 626-0300 CRYOTRANSFER HOLDER. ; ; save_ save__em_vitrification.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_em_vitrification.entry_id' _item.category_id em_vitrification _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_vitrification.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_vitrification.id _item_description.description ; The value of _em_vitrification.id must uniquely identify the vitrification procedure. ; _item.name '_em_vitrification.id' _item.category_id em_vitrification _item.mandatory_code yes _item_type.code code save_ save__em_vitrification.sample_preparation_id #legacy V4 _item_description.description ; This data item is a pointer to _em_sample_preparation.id in the EM_SAMPLE_PREPARATION category. ; _item.name '_em_vitrification.sample_preparation_id' _item.category_id em_vitrification _item.mandatory_code no _item_type.code code # _item_linked.child_name '_em_vitrification.sample_preparation_id' #V4 # _item_linked.parent_name '_em_sample_preparation.id' #V4 _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_vitrification.sample_preparation_id' #V5 save_ save__em_vitrification.specimen_id #new V5 _item_description.description ; This data item is a pointer to _em_specimen.id ; _item.name '_em_vitrification.specimen_id' _item.category_id em_vitrification # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # _pdbx_item.name '_em_vitrification.specimen_id' #V4 # _pdbx_item.mandatory_code yes #V4 _item_type.code code _item_linked.child_name '_em_vitrification.specimen_id' _item_linked.parent_name '_em_specimen.id' # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_vitrification.specimen_id' #V4 save_ save__em_vitrification.cryogen_name _item_description.description ; This is the name of the cryogen. ; _item.name '_em_vitrification.cryogen_name' _item.category_id em_vitrification _item.mandatory_code no _pdbx_item.name '_em_vitrification.cryogen_name' _pdbx_item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value HELIUM NITROGEN PROPANE ETHANE 'ETHANE-PROPANE' METHANE 'FREON 22' 'FREON 12' OTHER save_ save__em_vitrification.humidity _item_description.description ; The humidity (%) in the vicinity of the vitrification process. ; _item.name '_em_vitrification.humidity' _item.category_id em_vitrification _item.mandatory_code no _item_type.code float _item_examples.case 90 loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 100.0 100.0 100.0 save_ save__em_vitrification.temp _item_description.description ; The vitrification temperature (in degrees Kelvin), e.g., temperature of the plunge instrument cryogen bath. ; _item.name '_em_vitrification.temp' _item.category_id em_vitrification _item.mandatory_code no _item_type.code float _item_units.code kelvins _item_examples.case 90 save_ save__em_vitrification.chamber_temperature #new V5 _item_description.description ; The temperature (in degrees Kelvin) of the sample just prior to vitrification. ; _item.name '_em_vitrification.chamber_temperature' _item.category_id em_vitrification _item.mandatory_code no _item_type.code float _item_units.code kelvins _item_examples.case 298 # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_vitrification.chamber_temperature' #V4 save_ save__em_vitrification.instrument _item_description.description ; The type of instrument used in the vitrification process. ; _item.name '_em_vitrification.instrument' _item.category_id em_vitrification _item.mandatory_code no _item_type.code line # for full enumeration see _emd_vitrification.instrument loop_ # _pdbx_item_enumeration.name #V4 # _pdbx_item_enumeration.value #V4 # _pdbx_item_enumeration.detail #V4 _item_enumeration.name #V5 _item_enumeration.value #V5 _item_enumeration.detail #V5 '_em_vitrification.instrument' "EMS-002 RAPID IMMERSION FREEZER" . '_em_vitrification.instrument' "FEI VITROBOT MARK I" . '_em_vitrification.instrument' "FEI VITROBOT MARK II" . '_em_vitrification.instrument' "FEI VITROBOT MARK III" . '_em_vitrification.instrument' "FEI VITROBOT MARK IV" . '_em_vitrification.instrument' "GATAN CRYOPLUNGE 3" . '_em_vitrification.instrument' "HOMEMADE PLUNGER" . '_em_vitrification.instrument' "LEICA PLUNGER" . '_em_vitrification.instrument' "LEICA EM GP" . '_em_vitrification.instrument' "LEICA EM CPC" . '_em_vitrification.instrument' "LEICA KF80" . '_em_vitrification.instrument' "REICHERT-JUNG PLUNGER" . '_em_vitrification.instrument' "SPOTITON" . '_em_vitrification.instrument' "ZEISS PLUNGE FREEZER CRYOBOX" . save_ save__em_vitrification.method _item_description.description ; The procedure for vitrification. ; _item.name '_em_vitrification.method' _item.category_id em_vitrification _item.mandatory_code no _item_type.code text _item_examples.case 'plunge freezing' save_ save__em_vitrification.time_resolved_state _item_description.description ; The length of time after an event effecting the sample that vitrification was induced and a description of the event. ; _item.name '_em_vitrification.time_resolved_state' _item.category_id em_vitrification _item.mandatory_code no _item_type.code text _item_examples.case 'plunge 30 msec after spraying with effector' save_ save__em_vitrification.citation_id _item_description.description ; This data item is a pointer to _citation.id in the CITATION category. ; _item.name '_em_vitrification.citation_id' _item.category_id em_vitrification _item.mandatory_code no _item_type.code code _item_linked.child_name '_em_vitrification.citation_id' _item_linked.parent_name '_citation.id' save_ save__em_vitrification.details _item_description.description ; Any additional details relating to vitrification. ; _item.name '_em_vitrification.details' _item.category_id em_vitrification _item.mandatory_code no _item_type.code text _item_examples.case 'Vitrification carried out in argon atmosphere.' save_ ################ ## EM_IMAGING ## ################ save_em_imaging _category.description ; Data items in the EM_IMAGING category record details about the parameters used in imaging the sample in the electron microscope. ; _category.id em_imaging _category.mandatory_code no loop_ _category_key.name '_em_imaging.entry_id' '_em_imaging.id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; _em_imaging.entry_id 1DYL _em_imaging.id 1 _em_imaging.sample_support_id 1 _em_imaging.microscope_model 'FEI/PHILIPS CM200 FEG' _em_imaging.specimen_holder_type 'cryotransfer' _em_imaging.specimen_holder_model 'gatan 626-0300' _em_imaging.details . _em_imaging.date 1998-15-06 _em_imaging.accelerating_voltage 200 _em_imaging.illumination_mode 'bright field' _em_imaging.mode 'low dose' _em_imaging.nominal_cs 2.0 _em_imaging.nominal_defocus_min 975 _em_imaging.nominal_defocus_max 7600 _em_imaging.tilt_angle_min 0 _em_imaging.tilt_angle_max 0 _em_imaging.nominal_magnification 50000 _em_imaging.calibrated_magnification . _em_imaging.electron_source 'FEG' _em_imaging.energy_filter . _em_imaging.energy_window . _em_imaging.temperature 95 _em_imaging.detector_distance . _em_imaging.recording_temperature_minimum . _em_imaging.recording_temperature_maximum . ; save_ save__em_imaging.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_em_imaging.entry_id' _item.category_id em_imaging _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_imaging.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_imaging.id _item_description.description ; The value of _em_imaging.id must uniquely identify each imaging experiment. ; _item.name '_em_imaging.id' _item.category_id em_imaging _item.mandatory_code yes _item_type.code code save_ save__em_imaging.astigmatism _item_description.description ; astigmatism ; _item.name '_em_imaging.astigmatism' _item.category_id em_imaging _item.mandatory_code no _item_type.code text save_ save__em_imaging.electron_beam_tilt_params _item_description.description ; electron beam tilt params ; _item.name '_em_imaging.electron_beam_tilt_params' _item.category_id em_imaging _item.mandatory_code no _item_type.code text save_ save__em_imaging.residual_tilt #new V5 _item_description.description ; residual tilt of the electron beam ; _item.name '_em_imaging.residual_tilt' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code milliradians # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_imaging.residual_tilt' #V4 save_ save__em_imaging.sample_support_id #legacy V4 _item_description.description ; This data item is a pointer to _em_sample_support.id in the EM_SAMPLE_SUPPORT category. ; _item.name '_em_imaging.sample_support_id' _item.category_id em_imaging _item.mandatory_code no _item_type.code code _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_imaging.sample_support_id' #V5 save_ save__em_imaging.detector_id #legacy V4 _item_description.description ; The value of _em_imaging.detector_id must uniquely identify the type of detector used in the experiment. ; _item.name '_em_imaging.detector_id' _item.category_id em_imaging _item.mandatory_code no _item_type.code code _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_imaging.detector_id' #V5 save_ save__em_imaging.scans_id #legacy V4 _item_description.description ; The value of _em_imaging.scans_id must uniquely identify the image_scans used in the experiment. ; _item.name '_em_imaging.scans_id' _item.category_id em_imaging _item.mandatory_code no _item_type.code code # _item_linked.child_name '_em_imaging.scans_id' #V4 # _item_linked.parent_name '_em_image_scans.id' #V4 _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_imaging.scans_id' #V5 save_ save__em_imaging.microscope_id #legacy V4 _item_description.description ; This data item is a pointer to _em_microscope.id in the EM_MICROSCOPE category. ; _item.name '_em_imaging.microscope_id' _item.category_id em_imaging _item.mandatory_code no _item_type.code code _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_imaging.microscope_id' #V5 save_ save__em_imaging.microscope_model _item_description.description ; The name of the model of microscope. ; _item.name '_em_imaging.microscope_model' _item.category_id em_imaging _item.mandatory_code yes #V5 _item_type.code line loop_ _item_enumeration.name #V5 _item_enumeration.value #V5 _item_enumeration.detail #V5 '_em_imaging.microscope_model' "FEI MORGAGNI" . '_em_imaging.microscope_model' "FEI POLARA 300" . '_em_imaging.microscope_model' "FEI TALOS ARCTICA" . '_em_imaging.microscope_model' "FEI TECNAI 10" . '_em_imaging.microscope_model' "FEI TECNAI 12" . '_em_imaging.microscope_model' "FEI TECNAI 20" . '_em_imaging.microscope_model' "FEI TECNAI F20" . '_em_imaging.microscope_model' "FEI TECNAI F30" . '_em_imaging.microscope_model' "FEI TECNAI ARCTICA" . '_em_imaging.microscope_model' "FEI TECNAI SPHERA" . '_em_imaging.microscope_model' "FEI TECNAI SPIRIT" . '_em_imaging.microscope_model' "FEI TITAN" . '_em_imaging.microscope_model' "FEI TITAN KRIOS" . '_em_imaging.microscope_model' "FEI/PHILIPS CM10" . '_em_imaging.microscope_model' "FEI/PHILIPS CM12" . '_em_imaging.microscope_model' "FEI/PHILIPS CM120T" . '_em_imaging.microscope_model' "FEI/PHILIPS CM200FEG" . '_em_imaging.microscope_model' "FEI/PHILIPS CM200FEG/SOPHIE" . '_em_imaging.microscope_model' "FEI/PHILIPS CM200FEG/ST" . '_em_imaging.microscope_model' "FEI/PHILIPS CM200FEG/UT" . '_em_imaging.microscope_model' "FEI/PHILIPS CM200T" . '_em_imaging.microscope_model' "FEI/PHILIPS CM300FEG/HE" . '_em_imaging.microscope_model' "FEI/PHILIPS CM300FEG/ST" . '_em_imaging.microscope_model' "FEI/PHILIPS CM300FEG/T" . '_em_imaging.microscope_model' "FEI/PHILIPS EM400" . '_em_imaging.microscope_model' "FEI/PHILIPS EM420" . '_em_imaging.microscope_model' "HITACHI EF2000" . '_em_imaging.microscope_model' "HITACHI EF3000" . '_em_imaging.microscope_model' "HITACHI H7600" . '_em_imaging.microscope_model' "HITACHI HF2000" . '_em_imaging.microscope_model' "HITACHI HF3000" . '_em_imaging.microscope_model' "HITACHI H3000 UHVEM" . '_em_imaging.microscope_model' "HITACHI H-9500SD" . '_em_imaging.microscope_model' "JEOL 100B" . '_em_imaging.microscope_model' "JEOL 100CX" . '_em_imaging.microscope_model' "JEOL 1000EES" . '_em_imaging.microscope_model' "JEOL 1010" . '_em_imaging.microscope_model' "JEOL 1200" . '_em_imaging.microscope_model' "JEOL 1200EX" . '_em_imaging.microscope_model' "JEOL 1200EXII" . '_em_imaging.microscope_model' "JEOL 1230" . '_em_imaging.microscope_model' "JEOL 1400" . '_em_imaging.microscope_model' "JEOL 2000EX" . '_em_imaging.microscope_model' "JEOL 2000EXII" . '_em_imaging.microscope_model' "JEOL 2010" . '_em_imaging.microscope_model' "JEOL 2010F" . '_em_imaging.microscope_model' "JEOL 2010HT" . '_em_imaging.microscope_model' "JEOL 2010HC" . '_em_imaging.microscope_model' "JEOL 2010UHR" . '_em_imaging.microscope_model' "JEOL 2011" . '_em_imaging.microscope_model' "JEOL 2100" . '_em_imaging.microscope_model' "JEOL 2100F" . '_em_imaging.microscope_model' "JEOL 2200FS" . '_em_imaging.microscope_model' "JEOL 2200FSC" . '_em_imaging.microscope_model' "JEOL 3000SFF" . '_em_imaging.microscope_model' "JEOL 3100FEF" . '_em_imaging.microscope_model' "JEOL 3100FFC" . '_em_imaging.microscope_model' "JEOL 3200FS" . '_em_imaging.microscope_model' "JEOL 3200FSC" . '_em_imaging.microscope_model' "JEOL KYOTO-3000SFF" . '_em_imaging.microscope_model' "JEOL 3200FSC" . '_em_imaging.microscope_model' "JEOL 4000" . '_em_imaging.microscope_model' "JEOL 4000EX" . '_em_imaging.microscope_model' "JEOL CRYO ARM 200" . '_em_imaging.microscope_model' "JEOL CRYO ARM 300" . '_em_imaging.microscope_model' "SIEMENS SULEIKA" . '_em_imaging.microscope_model' "TFS GLACIOS" . '_em_imaging.microscope_model' "TFS KRIOS" . '_em_imaging.microscope_model' "TFS TALOS" . '_em_imaging.microscope_model' "TFS TALOS F200C" . '_em_imaging.microscope_model' "TFS TALOS L120C" . '_em_imaging.microscope_model' "TFS TUNDRA" . '_em_imaging.microscope_model' "ZEISS LEO912" . '_em_imaging.microscope_model' "ZEISS LIBRA120PLUS" . save_ save__em_imaging.specimen_holder_type _item_description.description ; The type of specimen holder used during imaging. ; _item.name '_em_imaging.specimen_holder_type' _item.category_id em_imaging _item.mandatory_code no _item_type.code text _item_examples.case 'cryo' save_ save__em_imaging.specimen_holder_model _item_description.description ; The name of the model of specimen holder used during imaging. ; _item.name '_em_imaging.specimen_holder_model' _item.category_id em_imaging _item.mandatory_code no _item_type.code line # see _emd_microscopy.specimen_holder_model for full enumeration loop_ # _pdbx_item_enumeration.name #V4 # _pdbx_item_enumeration.value #V4 # _pdbx_item_enumeration.detail #V4 _item_enumeration.name #V5 _item_enumeration.value #V5 _item_enumeration.detail #V5 '_em_imaging.specimen_holder_model' 'FEI TITAN KRIOS AUTOGRID HOLDER' . '_em_imaging.specimen_holder_model' 'FISCHIONE 2550' . '_em_imaging.specimen_holder_model' 'FISCHIONE INSTRUMENTS DUAL AXIS TOMOGRAPHY HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN 626 SINGLE TILT LIQUID NITROGEN CRYO TRANSFER HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN 910 MULTI-SPECIMEN SINGLE TILT CRYO TRANSFER HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN 914 HIGH TILT LIQUID NITROGEN CRYO TRANSFER TOMOGRAPHY HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN 915 DOUBLE TILT LIQUID NITROGEN CRYO TRANSFER HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN CHDT 3504 DOUBLE TILT HIGH RESOLUTION NITROGEN COOLING HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN CT3500 SINGLE TILT LIQUID NITROGEN CRYO TRANSFER HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN CT3500TR SINGLE TILT ROTATION LIQUID NITROGEN CRYO TRANSFER HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN ELSA 698 SINGLE TILT LIQUID NITROGEN CRYO TRANSFER HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN HC 3500 SINGLE TILT HEATING/NITROGEN COOLING HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN HCHDT 3010 DOUBLE TILT HIGH RESOLUTION HELIUM COOLING HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN HCHST 3008 SINGLE TILT HIGH RESOLUTION HELIUM COOLING HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN HELIUM' . '_em_imaging.specimen_holder_model' 'GATAN LIQUID NITROGEN' . '_em_imaging.specimen_holder_model' 'GATAN UHRST 3500 SINGLE TILT ULTRA HIGH RESOLUTION NITROGEN COOLING HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN ULTDT ULTRA LOW TEMPERATURE DOUBLE TILT HELIUM COOLING HOLDER' . '_em_imaging.specimen_holder_model' 'GATAN ULTST ULTRA LOW TEMPERATURE SINGLE TILT HELIUM COOLING HOLDER' . '_em_imaging.specimen_holder_model' 'HOME BUILD' . '_em_imaging.specimen_holder_model' 'JEOL' . '_em_imaging.specimen_holder_model' 'JEOL CRYOSPECPORTER' . '_em_imaging.specimen_holder_model' 'JEOL 3200FSC CRYOHOLDER' . '_em_imaging.specimen_holder_model' 'PHILIPS ROTATION HOLDER' . '_em_imaging.specimen_holder_model' 'SIDE ENTRY, EUCENTRIC' . '_em_imaging.specimen_holder_model' OTHER . save_ save__em_imaging.details _item_description.description ; Any additional imaging details. ; _item.name '_em_imaging.details' _item.category_id em_imaging _item.mandatory_code no _item_type.code text _item_examples.case ; Preliminary grid screening was performed manually. ; save_ save__em_imaging.date _item_description.description ; Date (YYYY-MM-DD) of imaging experiment or the date at which a series of experiments began. ; _item.name '_em_imaging.date' _item.category_id em_imaging _item.mandatory_code no _item_type.code yyyy-mm-dd _item_examples.case '2001-05-08' save_ save__em_imaging.accelerating_voltage _item_description.description ; A value of accelerating voltage (in kV) used for imaging. ; _item.name '_em_imaging.accelerating_voltage' _item.category_id em_imaging _item.mandatory_code no _pdbx_item.name '_em_imaging.accelerating_voltage' _pdbx_item.mandatory_code yes _item_type.code int _item_units.code kilovolts _item_examples.case 300 loop_ _item_range.maximum _item_range.minimum 0 0 . 0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_em_imaging.accelerating_voltage' 0 0 '_em_imaging.accelerating_voltage' 0 400 '_em_imaging.accelerating_voltage' 400 400 save_ save__em_imaging.illumination_mode _item_description.description ; The mode of illumination. ; _item.name '_em_imaging.illumination_mode' _item.category_id em_imaging # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # # _pdbx_item.name '_em_imaging.illumination_mode' #V4 # _pdbx_item.mandatory_code yes #V4 # _item_type.code line loop_ # _pdbx_item_enumeration.name #V4 # _pdbx_item_enumeration.value #V4 # _pdbx_item_enumeration.detail #V4 _item_enumeration.name #V5 _item_enumeration.value #V5 _item_enumeration.detail #V5 '_em_imaging.illumination_mode' 'FLOOD BEAM' . '_em_imaging.illumination_mode' 'SPOT SCAN' . '_em_imaging.illumination_mode' OTHER . save_ save__em_imaging.mode _item_description.description ; The mode of imaging. ; _item.name '_em_imaging.mode' _item.category_id em_imaging # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # # _pdbx_item.name '_em_imaging.mode' #V4 # _pdbx_item.mandatory_code yes #V4 # _item_type.code line loop_ # _pdbx_item_enumeration.name #V4 # _pdbx_item_enumeration.value #V4 # _pdbx_item_enumeration.detail #V4 _item_enumeration.name #V5 _item_enumeration.value #V5 _item_enumeration.detail #V5 '_em_imaging.mode' 'BRIGHT FIELD' . '_em_imaging.mode' 'DARK FIELD' . '_em_imaging.mode' DIFFRACTION . '_em_imaging.mode' OTHER . save_ save__em_imaging.nominal_cs _item_description.description ; The spherical aberration coefficient (Cs) in millimeters, of the objective lens. ; _item.name '_em_imaging.nominal_cs' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code millimetres _item_examples.case 2.0 loop_ _item_range.minimum _item_range.maximum 0 0 0 20 20 20 save_ save__em_imaging.nominal_defocus_min _item_description.description ; The minimum defocus value of the objective lens (in nanometers) used to obtain the recorded images. ; _item.name '_em_imaging.nominal_defocus_min' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code nanometers _item_examples.case 1200 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_em_imaging.nominal_defocus_min' -20000 20000 save_ save__em_imaging.nominal_defocus_max _item_description.description ; The maximum defocus value of the objective lens (in nanometers) used to obtain the recorded images. ; _item.name '_em_imaging.nominal_defocus_max' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code nanometers _item_examples.case 5000 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_em_imaging.nominal_defocus_max' -20000 20000 save_ save__em_imaging.calibrated_defocus_min #new V5 _item_description.description ; The minimum defocus value of the objective lens (in nanometers) used to obtain the recorded images. ; _item.name '_em_imaging.calibrated_defocus_min' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code nanometers _item_examples.case 1200 # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_imaging.calibrated_defocus_min' #V4 save_ save__em_imaging.calibrated_defocus_max #new V5 _item_description.description ; The maximum defocus value of the objective lens (in nanometers) used to obtain the recorded images. ; _item.name '_em_imaging.calibrated_defocus_max' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code nanometers _item_examples.case 5000 loop_ _item_range.minimum _item_range.maximum -30000 -30000 -30000 30000 30000 30000 # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_imaging.calibrated_defocus_max' #V4 save_ save__em_imaging.tilt_angle_min _item_description.description ; The minimum angle at which the specimen was tilted to obtain recorded images. ; _item.name '_em_imaging.tilt_angle_min' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case -70 save_ save__em_imaging.tilt_angle_max _item_description.description ; The maximum angle at which the specimen was tilted to obtain recorded images. ; _item.name '_em_imaging.tilt_angle_max' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case 70 save_ save__em_imaging.nominal_magnification _item_description.description ; The magnification indicated by the microscope readout. ; _item.name '_em_imaging.nominal_magnification' _item.category_id em_imaging _item.mandatory_code no _item_type.code int _item_examples.case 60000 _item_range.minimum 1000 _item_range.maximum 500000 save_ save__em_imaging.calibrated_magnification _item_description.description ; The magnification value obtained for a known standard just prior to, during or just after the imaging experiment. ; _item.name '_em_imaging.calibrated_magnification' _item.category_id em_imaging _item.mandatory_code no _item_type.code int _item_examples.case 61200 _item_range.minimum 1 _item_range.maximum . save_ save__em_imaging.electron_source _item_description.description ; The source of electrons. The electron gun. ; _item.name '_em_imaging.electron_source' _item.category_id em_imaging _item.mandatory_code no # _pdbx_item.name '_em_imaging.electron_source' _pdbx_item.mandatory_code yes # _item_type.code line loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_em_imaging.electron_source' 'FIELD EMISSION GUN' . '_em_imaging.electron_source' LAB6 . '_em_imaging.electron_source' 'TUNGSTEN HAIRPIN' . '_em_imaging.electron_source' OTHER . save_ save__em_imaging.electron_dose #legacy V4--collected elsewhere _item_description.description ; The electron dose received by the specimen (electrons per square angstrom). ; _item.name '_em_imaging.electron_dose' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code electrons_angstrom_squared _item_examples.case 0.9 _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_imaging.electron_dose' #V5 _item_related.related_name '_em_image_recording.avg_electron_dose_per_image' #V5 _item_related.function_code replacedby #V5 save_ save__em_imaging.energy_filter _item_description.description ; The type of energy filter spectrometer apparatus. ; _item.name '_em_imaging.energy_filter' _item.category_id em_imaging _item.mandatory_code no _item_type.code line _item_examples.case 'FEI' _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_imaging.energy_filter' #V5 _item_related.related_name '_em_imaging_optics.energyfilter_name' #V5 _item_related.function_code replacedby #V5 save_ save__em_imaging.energy_window _item_description.description ; The energy filter range in electron volts (eV)set by spectrometer. ; _item.name '_em_imaging.energy_window' _item.category_id em_imaging _item.mandatory_code no _item_type.code line _item_units.code electron_volts _item_examples.case '0 - 15' _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_imaging.energy_window' #V5 loop_ #V5 _item_related.related_name #V5 _item_related.function_code #V5 '_em_imaging_optics.energyfilter_lower' replacedby #V5 '_em_imaging_optics.energyfilter_upper' replacedby #V5 save_ save__em_imaging.citation_id _item_description.description ; This data item is a pointer to _citation.id in the CITATION category. ; _item.name '_em_imaging.citation_id' _item.category_id em_imaging _item.mandatory_code no _item_linked.child_name '_em_imaging.citation_id' _item_linked.parent_name '_citation.id' _item_type.code code save_ save__em_imaging.temperature _item_description.description ; The mean specimen stage temperature (degrees Kelvin) during imaging in the microscope. ; _item.name '_em_imaging.temperature' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code kelvins _item_examples.case '70' save_ save__em_imaging.detector_distance _item_description.description ; The camera length (in millimeters). The camera length is the product of the objective focal length and the combined magnification of the intermediate and projector lenses when the microscope is operated in the diffraction mode. ; _item.name '_em_imaging.detector_distance' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code millimetres save_ save__em_imaging.recording_temperature_minimum _item_description.description ; The specimen temperature minimum (degrees Kelvin) for the duration of imaging. ; _item.name '_em_imaging.recording_temperature_minimum' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code kelvins save_ save__em_imaging.recording_temperature_maximum _item_description.description ; The specimen temperature maximum (degrees Kelvin) for the duration of imaging. ; _item.name '_em_imaging.recording_temperature_maximum' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code kelvins save_ save__em_imaging.alignment_procedure #new V5 _item_description.description ; microscope alignment procedure ; _item.name '_em_imaging.alignment_procedure' _item.category_id em_imaging _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value "NONE" "BASIC" "ZEMLIN TABLEAU" "COMA FREE" "OTHER" # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_imaging.alignment_procedure' #V4 save_ save__em_imaging.c2_aperture_diameter #new V5 _item_description.description ; The open diameter of the c2 condenser lens, in microns. ; _item.name '_em_imaging.c2_aperture_diameter' _item.category_id em_imaging _item.mandatory_code no _item_type.code float _item_units.code microns loop_ _item_range.minimum _item_range.maximum 1 1 1 150 150 150 # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_imaging.c2_aperture_diameter' #V4 save_ save__em_imaging.specimen_id #new V5 _item_description.description ; Foreign key to the EM_SPECIMEN category ; _item.name '_em_imaging.specimen_id' _item.category_id em_imaging # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # _pdbx_item.name '_em_imaging.specimen_id' #V4 # _pdbx_item.mandatory_code yes #V4 _item_type.code code _item_linked.child_name '_em_imaging.specimen_id' _item_linked.parent_name '_em_specimen.id' # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_imaging.specimen_id' #V4 save_ save__em_imaging.cryogen #new V5 _item_description.description ; Cryogen type used to maintain the specimen stage temperature during imaging in the microscope. ; _item.name '_em_imaging.cryogen' _item.category_id em_imaging _item.mandatory_code no _item_type.code text loop_ _item_enumeration.value NITROGEN HELIUM # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_imaging.cryogen' #V4 save_ ################# ## EM_DETECTOR ## ################# # V4 legacy save_em_detector _category.description ; Data items in the EM_DETECTOR category record details of the image detector type. ; _category.id em_detector _category.mandatory_code no loop_ _category_key.name '_em_detector.entry_id' '_em_detector.id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; _em_detector.entry_id 1DYL _em_detector.id 1 _em_detector.details . _em_detector.type 'KODAK SO163 FILM' _em_detector.detective_quantum_efficiency . ; _pdbx_category_context.type WWPDB_LOCAL #V5 _pdbx_category_context.category_id em_detector #V5 save_ save__em_detector.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_em_detector.entry_id' _item.category_id em_detector _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_detector.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_detector.id _item_description.description ; The value of _em_detector.id must uniquely identify the detector used for imaging. ; _item.name '_em_detector.id' _item.category_id em_detector _item.mandatory_code yes _item_type.code code save_ save__em_detector.details _item_description.description ; Any additional information about the detection system. ; _item.name '_em_detector.details' _item.category_id em_detector _item.mandatory_code no _item_type.code text _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_detector.details' #V5 _item_related.related_name '_em_image_recording.details' #V5 _item_related.function_code replacedby #V5 _item_examples.case 'Any other details regarding the detector.' save_ save__em_detector.type _item_description.description ; The detector type used for recording images. Usually film or CCD camera. ; _item.name '_em_detector.type' _item.category_id em_detector _item.mandatory_code no _item_type.code line _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_detector.type' #V5 _item_related.related_name '_em_image_recording.film_or_detector_model' #V5 _item_related.function_code replacedby #V5 save_ save__em_detector.detective_quantum_efficiency _item_description.description ; The detective_quantum_efficiency (DQE)is defined as the square of the signal-to-noise ratio in the recording device divided by the square of the signal-to-ratio in the electron beam: (SIGNAL/NOISE)2 recording device DQE = ------------------------------- (SIGNAL/NOISE)2 electron beam A DQE value of 1 indicates a perfect recorder. "DQE = 0.25" menas that the signal-to-noise ratio is reduced by half in the recording step. (0.5)**2 DQE = --------- = 0.25. (1.0)**2 ; _item.name '_em_detector.detective_quantum_efficiency' _item.category_id em_detector _item.mandatory_code no _item_type.code float _item_examples.case 0.25 save_ save__em_detector.mode _item_description.description ; The detector mode used during image recording. ; _item.name '_em_detector.mode' _item.category_id em_detector _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value COUNTING INTEGRATING SUPER-RESOLUTION OTHER # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_detector.mode' #V4 save_ #################### ## EM_IMAGE_SCANS ## #################### save_em_image_scans _category.description ; Data items in the EM_IMAGE_SCANS category record details of the image scanning device (microdensitometer) and parameters for digitization of the image. ; _category.id em_image_scans _category.mandatory_code no loop_ _category_key.name # '_em_image_scans.entry_id' #V4 '_em_image_scans.id' '_em_image_scans.image_recording_id' #V5 loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; _em_image_scans.entry_id 1DYL _em_image_scans.id 2 _em_image_scans.number_digital_images 48 _em_image_scans.details . _em_image_scans.scanner_model . _em_image_scans.sampling_size . _em_image_scans.od_range . _em_image_scans.quant_bit_size . ; save_ save__em_image_scans.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_em_image_scans.entry_id' _item.category_id em_image_scans _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_image_scans.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_image_scans.id _item_description.description ; The value of _em_image_scans.id must uniquely identify the images scanned. ; _item.name '_em_image_scans.id' _item.category_id em_image_scans _item.mandatory_code yes _item_type.code code save_ save__em_image_scans.number_digital_images _item_description.description ; The number of real images. ; _item.name '_em_image_scans.number_digital_images' _item.category_id em_image_scans _item.mandatory_code no _item_type.code int save_ save__em_image_scans.details _item_description.description ; Any additional details about image recording. ; _item.name '_em_image_scans.details' _item.category_id em_image_scans _item.mandatory_code no _item_type.code text save_ save__em_image_scans.scanner_model _item_description.description ; The scanner model. ; _item.name '_em_image_scans.scanner_model' _item.category_id em_image_scans _item.mandatory_code no # _pdbx_item.name '_em_image_scans.scanner_model' _pdbx_item.mandatory_code yes # _item_type.code line loop_ _item_enumeration.value 'ZEISS SCAI' 'EMIL 10' OPTRONICS 'PERKIN ELMER' TEMSCAN 'EIKONIX IEEE 488' 'NIKON COOLSCAN' 'NIKON SUPER COOLSCAN 9000' 'IMAGE SCIENCE PATCHWORK DENSITOMETER' PRIMESCAN OTHER save_ save__em_image_scans.sampling_size _item_description.description ; The sampling step size (microns) set on the scanner. ; _item.name '_em_image_scans.sampling_size' _item.category_id em_image_scans _item.mandatory_code no _item_type.code float _item_units.code microns # loop_ # _item_range.maximum # _item_range.minimum 50.0 0.0 # 0.0 0.0 # 50.0 50.0 save_ save__em_image_scans.od_range _item_description.description ; The optical density range (OD=-log 10 transmission). To the eye OD=1 appears light grey and OD=3 is opaque. ; _item.name '_em_image_scans.od_range' _item.category_id em_image_scans _item.mandatory_code no _item_type.code float _item_examples.case 1.4 save_ save__em_image_scans.quant_bit_size _item_description.description ; The number of bits per pixel. ; _item.name '_em_image_scans.quant_bit_size' _item.category_id em_image_scans _item.mandatory_code no _item_type.code int _item_examples.case 8 save_ save__em_image_scans.citation_id _item_description.description ; This data item is a pointer to _citation.id in the CITATION category. ; _item.name '_em_image_scans.citation_id' _item.category_id em_image_scans _item.mandatory_code no _item_type.code code _item_linked.child_name '_em_image_scans.citation_id' _item_linked.parent_name '_citation.id' save_ save__em_image_scans.dimension_height #new V5 _item_description.description ; height of scanned image ; _item.name '_em_image_scans.dimension_height' _item.category_id em_image_scans _item.mandatory_code no _item_type.code positive_int # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_image_scans.dimension_height' #V4 save_ save__em_image_scans.dimension_width #new V5 _item_description.description ; width of scanned image ; _item.name '_em_image_scans.dimension_width' _item.category_id em_image_scans _item.mandatory_code no _item_type.code positive_int # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_image_scans.dimension_width' #V4 save_ save__em_image_scans.frames_per_image #new V5 _item_description.description ; Total number of time-slice (movie) frames taken per image. ; _item.name '_em_image_scans.frames_per_image' _item.category_id em_image_scans _item.mandatory_code no _item_type.code positive_int _item_examples.case 10 # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_image_scans.frames_per_image' #V4 save_ save__em_image_scans.image_recording_id #new V5 _item_description.description ; foreign key linked to _em_image_recording ; _item.name '_em_image_scans.image_recording_id' _item.category_id em_image_scans # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # _pdbx_item.name '_em_image_scans.image_recording_id' #V4 # _pdbx_item.mandatory_code yes #V4 _item_type.code code _item_linked.child_name '_em_image_scans.image_recording_id' _item_linked.parent_name '_em_image_recording.id' # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_image_scans.image_recording_id' #V4 save_ save__em_image_scans.used_frames_per_image #new V5 _item_description.description ; Range of time-slice (movie) frames used for the reconstruction. ; _item.name '_em_image_scans.used_frames_per_image' _item.category_id em_image_scans _item.mandatory_code no _item_type.code int-range _item_examples.case 2-10 # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_image_scans.used_frames_per_image' #V4 save_ ################################ ## EM_2D_PROJECTION_SELECTION ## ################################ # kept for legacy compatibility save_em_2d_projection_selection _category.description ; Data items in the EM_2D_PROJECTION_SELECTION category record details of images from scanned micrographs and the number of particles selected from a scanned set of micrographs. ; _category.id em_2d_projection_selection _category.mandatory_code no _category_key.name '_em_2d_projection_selection.entry_id' loop_ _category_group.id 'inclusive_group' 'em_legacy_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_2d_projection_selection.entry_id 1ABC _em_2d_projection_selection.num_particles 52346 _em_2d_projection_selection.software_name 'EMAN2 BOXER' _em_2d_projection_selection.method INTERACTIVE _em_2d_projection_selection.details . ; _pdbx_category_context.type WWPDB_LOCAL #V5 _pdbx_category_context.category_id em_2d_projection_selection #V5 save_ save__em_2d_projection_selection.entry_id _item_description.description ; entry id ; _item.name '_em_2d_projection_selection.entry_id' _item.category_id em_2d_projection_selection _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_2d_projection_selection.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_2d_projection_selection.id _item_description.description ; unique identifier for each projection selection description ; _item.name '_em_2d_projection_selection.id' _item.category_id em_2d_projection_selection _item.mandatory_code yes _item_type.code code _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_2d_projection_selection.id' save_ save__em_2d_projection_selection.num_particles _item_description.description ; The number of particles selected from the projection set of images. ; _item.name '_em_2d_projection_selection.num_particles' _item.category_id em_2d_projection_selection _item.mandatory_code no _item_type.code int _item_examples.case 840 _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_2d_projection_selection.num_particles' #V5 _item_related.related_name '_em_particle_selection.num_particles_selected' #V5 _item_related.function_code replacedby #V5 save_ save__em_2d_projection_selection.software_name _item_description.description ; The software used to select 2d projections. ; _item.name '_em_2d_projection_selection.software_name' _item.category_id em_2d_projection_selection _item.mandatory_code no _item_type.code line _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_2d_projection_selection.software_name' #V5 _item_related.related_name '_em_software.name' #V5 _item_related.function_code replacedby #V5 save_ save__em_2d_projection_selection.method _item_description.description ; The method used for selecting observed assemblies. ; _item.name '_em_2d_projection_selection.method' _item.category_id em_2d_projection_selection _item.mandatory_code no _item_type.code text _item_examples.case 'particles picked interactively from monitor' _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_2d_projection_selection.method' #V5 _item_related.related_name '_em_particle_selection.method' #V5 _item_related.function_code replacedby #V5 save_ save__em_2d_projection_selection.details _item_description.description ; Any additional details used for selecting observed assemblies. ; _item.name '_em_2d_projection_selection.details' _item.category_id em_2d_projection_selection _item.mandatory_code no _item_type.code text _item_examples.case 'negative monitor contrast facilitated particle picking' save_ save__em_2d_projection_selection.citation_id _item_description.description ; This data item is a pointer to _citation.id in the CITATION category. ; _item.name '_em_2d_projection_selection.citation_id' _item.category_id em_2d_projection_selection _item.mandatory_code no _item_type.code code save_ ########################## ## EM_3D_RECONSTRUCTION ## ########################## save_em_3d_reconstruction _category.description ; Data items in the EM_3D_RECONSTRUCTION category record details of the 3D reconstruction procedure from 2D projections. ; _category.id em_3d_reconstruction _category.mandatory_code no loop_ _category_key.name # '_em_3d_reconstruction.entry_id' #V4 '_em_3d_reconstruction.id' '_em_3d_reconstruction.image_processing_id' #V5 loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; _em_3d_reconstruction.entry_id 1DYL _em_3d_reconstruction.id 1 _em_3d_reconstruction.method 'CROSS-COMMON LINES' _em_3d_reconstruction.details . _em_3d_reconstruction.resolution 9 _em_3d_reconstruction.resolution_method . _em_3d_reconstruction.ctf_correction_method . _em_3d_reconstruction.nominal_pixel_size 2.64 _em_3d_reconstruction.actual_pixel_size 2.52 ; save_ save__em_3d_reconstruction.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_em_3d_reconstruction.entry_id' _item.category_id em_3d_reconstruction _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_3d_reconstruction.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_3d_reconstruction.id _item_description.description ; The value of _em_3d_reconstruction.id must uniquely identify the 3d reconstruction. ; _item.name '_em_3d_reconstruction.id' _item.category_id em_3d_reconstruction _item.mandatory_code yes _item_type.code code save_ save__em_3d_reconstruction.method _item_description.description ; The algorithm method used for the 3d-reconstruction. ; _item.name '_em_3d_reconstruction.method' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'cross-common lines' 'polar Fourier transform (PFT)' save_ save__em_3d_reconstruction.algorithm #new V5 _item_description.description ; The algorithm used project from 2D orientations to 3D map. ; _item.name '_em_3d_reconstruction.algorithm' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code text # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_em_3d_reconstruction.algorithm' 'ALGEBRAIC (ARTS)' . '_em_3d_reconstruction.algorithm' 'SIMULTANEOUS ITERATIVE (SIRT)' . '_em_3d_reconstruction.algorithm' 'BACK PROJECTION' . '_em_3d_reconstruction.algorithm' 'EXACT BACK PROJECTION' . '_em_3d_reconstruction.algorithm' 'FOURIER SPACE' . # # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_3d_reconstruction.algorithm' #V4 save_ save__em_3d_reconstruction.citation_id _item_description.description ; This data item is a pointer to _citation.id in the CITATION category. ; _item.name '_em_3d_reconstruction.citation_id' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code code _item_linked.child_name '_em_3d_reconstruction.citation_id' _item_linked.parent_name '_citation.id' save_ save__em_3d_reconstruction.details _item_description.description ; Any additional details used in the 3d reconstruction. ; _item.name '_em_3d_reconstruction.details' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code text _item_examples.case ; a modified version of SPIDER program was used for the reconstruction ; save_ save__em_3d_reconstruction.resolution _item_description.description ; The final resolution (in Angstroms)of the 3D reconstruction. ; _item.name '_em_3d_reconstruction.resolution' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code float _item_units.code angstroms loop_ _item_examples.case '8.9' '10.0' save_ save__em_3d_reconstruction.resolution_method _item_description.description ; The method used to determine the final resolution of the 3d reconstruction. The Fourier Shell Correlation criterion as a measure of resolution is based on the concept of splitting the (2D) data set into two halves; averaging each and comparing them using the Fourier Ring Correlation (FRC) technique. ; _item.name '_em_3d_reconstruction.resolution_method' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code text _item_examples.case 'FSC at 0.5 cut-off' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_em_3d_reconstruction.resolution_method' 'FSC 0.5 CUT-OFF' . '_em_3d_reconstruction.resolution_method' 'FSC 0.33 CUT-OFF' . '_em_3d_reconstruction.resolution_method' 'FSC 0.143 CUT-OFF' . '_em_3d_reconstruction.resolution_method' 'FSC 3 SIGMA CUT-OFF' . '_em_3d_reconstruction.resolution_method' 'FSC 1/2 BIT CUT-OFF' . '_em_3d_reconstruction.resolution_method' 'DIFFRACTION PATTERN/LAYERLINES' . '_em_3d_reconstruction.resolution_method' 'OTHER' . save_ save__em_3d_reconstruction.magnification_calibration _item_description.description ; The magnification calibration method for the 3d reconstruction. ; _item.name '_em_3d_reconstruction.magnification_calibration' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code text _item_examples.case 'TMV images' save_ save__em_3d_reconstruction.ctf_correction_method _item_description.description ; The CTF-correction method. The Contrast Transfer Function CTF compensation for low contrast specimens (e.g. frozen-hydrated), for which phase contrast is the only significant mechanism, then higher defocus levels must be used to achieve any significant transfer, and several images at different focus levels must be combined to complete the information lost from the transfer gaps of any one image. The CTF correction can be applied to each extracted particle separately or to the whole micrograph after digitisation. The simplest level of compensation is to reverse phases at the negative lobes of the CTF. ; _item.name '_em_3d_reconstruction.ctf_correction_method' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code text _item_examples.case ; The volumes were CTF-corrected in defocus groups, with an average of approximately 999 individual images per group ; _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_3d_reconstruction.ctf_correction_method' #V5 _item_related.related_name '_em_ctf_correction.details' #V5 _item_related.function_code replacedby #V5 save_ save__em_3d_reconstruction.nominal_pixel_size _item_description.description ; The nominal pixel size of the projection set of images. ; _item.name '_em_3d_reconstruction.nominal_pixel_size' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code float loop_ _item_examples.case '3.11' '6.78' save_ save__em_3d_reconstruction.actual_pixel_size _item_description.description ; The actual pixel size of projection set of images. ; _item.name '_em_3d_reconstruction.actual_pixel_size' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code float loop_ _item_examples.case '2.8' '5.76' save_ save__em_3d_reconstruction.num_particles _item_description.description ; The number of 2D projections or 3D subtomograms used in the 3d reconstruction ; _item.name '_em_3d_reconstruction.num_particles' _item.category_id em_3d_reconstruction _item.mandatory_code no # _pdbx_item.name '_em_3d_reconstruction.num_particles' _pdbx_item.mandatory_code yes # _item_type.code int _item_range.maximum . _item_range.minimum 0 save_ save__em_3d_reconstruction.euler_angles_details _item_description.description ; euler angles details ; _item.name '_em_3d_reconstruction.euler_angles_details' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code text save_ save__em_3d_reconstruction.num_class_averages _item_description.description ; This item was correspondence to two type of em dataset processing_emDataSet_singleParticle.numClassAverages processing_emDataSet_icosahedral.numClassAverages ; _item.name '_em_3d_reconstruction.num_class_averages' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code int _item_range.maximum . _item_range.minimum 0 save_ save__em_3d_reconstruction.software _item_description.description ; software name ; _item.name '_em_3d_reconstruction.software' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code text _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_3d_reconstruction.software' #V5 _item_related.related_name '_em_software.name' #V5 _item_related.function_code replacedby #V5 save_ save__em_3d_reconstruction.fsc_type _item_description.description ; type of FSC curve used to determine map resolution ; _item.name '_em_3d_reconstruction.fsc_type' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code text _item_examples.case 'Gold standard' loop_ _item_enumeration.value 'EVEN/ODD MAPS REFINED TOTALLY INDEPENDENT (GOLD STANDARD)' 'EVEN/ODD MAPS REFINED AGAINST THE SAME MODEL (SEMI-INDEPENDENT)' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_em_3d_reconstruction.fsc_type' save_ save__em_3d_reconstruction.refinement_type _item_description.description ; type of refinement performed in order to determine map resolution ; _item.name '_em_3d_reconstruction.refinement_type' _item.category_id em_3d_reconstruction _item.mandatory_code no _item_type.code text _item_examples.case 'HALF-MAPS REFINED INDEPENDENTLY' loop_ _item_enumeration.value 'HALF-MAPS REFINED AGAINST SAME DATA' 'HALF-MAPS REFINED INDEPENDENTLY' 'HALF-MAPS REFINED WITH FREQUENCY RANGE OMITTED' 'HALF-MAPS REFINED INDEPENDENTLY WITH FREQUENCY RANGE OMITTED' OTHER # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_3d_reconstruction.refinement_type' #V4 save_ save__em_3d_reconstruction.image_processing_id #new V5 _item_description.description ; Foreign key to the EM_IMAGE_PROCESSING category ; _item.name '_em_3d_reconstruction.image_processing_id' _item.category_id em_3d_reconstruction # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # _pdbx_item.name '_em_3d_reconstruction.image_processing_id' #V4 # _pdbx_item.mandatory_code yes #V4 _item_linked.child_name '_em_3d_reconstruction.image_processing_id' _item_linked.parent_name '_em_image_processing.id' _item_type.code code # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_3d_reconstruction.image_processing_id' #V4 save_ save__em_3d_reconstruction.symmetry_type #new V5 # this item can be hard-coded for SP, helical, tomo, and X-tal, ask for subtomo _item_description.description ; The type of symmetry applied to the reconstruction ; _item.name '_em_3d_reconstruction.symmetry_type' _item.category_id em_3d_reconstruction _item.mandatory_code no # _pdbx_item.name '_em_3d_reconstruction.symmetry_type' _pdbx_item.mandatory_code yes # _item_type.code line loop_ _item_enumeration.value POINT HELICAL '2D CRYSTAL' '3D CRYSTAL' # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_3d_reconstruction.symmetry_type' #V4 save_ ################### ## EM_3D_FITTING ## ################### save_em_3d_fitting _category.description ; Data items in the 3D_FITTING category record details of the method of fitting atomic coordinates from a PDB file into a 3d-em volume map file ; _category.id em_3d_fitting _category.mandatory_code no loop_ _category_key.name '_em_3d_fitting.id' '_em_3d_fitting.entry_id' loop_ _category_group.id 'em_group' 'inclusive_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; _em_3d_fitting.id 1 _em_3d_fitting.entry_id 1DYL _em_3d_fitting.method AUTOMATIC _em_3d_fitting.target_criteria R-FACTOR _em_3d_fitting.software_name 1 _em_3d_fitting.overall_b_value . _em_3d_fitting.ref_space REAL _em_3d_fitting.ref_protocol 'RIGID BODY REFINEMENT' _em_3d_fitting.details ; THE CRYSTAL STRUCTURE OF THE CAPSID PROTEIN FROM CHOI ET AL (1997) PROTEINS 3 27:345-359 (SUBUNIT A OF PDB FILE 1VCQ) WAS PLACED INTO THE CRYO-EM DENSITY MAP. THE CAPSID PROTEIN WAS FIRST MANUALLY POSITIONED INTO THE CRYO-EM DENSITY CORRESPONDING TO POSITIONS OF THE FOUR INDEPENDENT MONOMER DENSITIES BETWEEN THE INNER LEAFLET OF THE BILAYER AND THE RNA. THESE POSITIONS WERE THEN REFINED BY RIGID BODY REFINEMENT IN REAL SPACE WITH THE PROGRAM EMFIT (CHENG ET AL. 1995, CELL 80, 621-630). THE QUALITY OF THE FIT CAN BE SEEN FROM THE MAP DENSITY WITHIN THE PROTEIN. ALL 4563 ATOMS ARE IN DENSITY OF AT LEAST 4 SIGMA (96.73) ABOVE THE AVERAGE (512.04), 1167 ATOMS ARE IN DENSITY BETWEEN 4 AND 5 SIGMA, 3174 ATOMS ARE IN DENSITY BETWEEN 5 AND 6 SIGMA, AND 222 ATOMS ARE IN DENSTY OF 6 SIGMA OR ABOVE. THE VARIATION IN DENSITY OVER THE FITTED PROTEIN CAN BE VISUALIZED WITH THE PSEUDO TEMPERATURE FACTOR. THE DENSITY VALUE AT EACH ATOM IS GIVEN IN THE 8TH COLUM (USUALLY THE OCCUPANCY) AS THE NUMBER OF STANDARD DEVIATION ABOVE BACKGROUND. COLUMN NINE (USUALLY THE TEMPERATURE FACTOR) CONTAINS THE VALUE OF THE RELATIVE DENSITY WITHIN THE FITTED PROTEIN SCALED LINEARLY SO THAT THE MINIMUM DENSITY IS 100.0 AND THE MAXIMUM DENSITY IS 1.0. THE ATOMS THAT LIE IN THE LOWER DENSITY REGIONS WILL HAVE THE HIGHEST PSEUDO TEMPERATURE FACTORS. ; ; save_ save__em_3d_fitting.id _item_description.description ; The value of _em_3d_fitting.id must uniquely identify a fitting procedure of atomic coordinates into 3dem reconstructed map volume. ; _item.name '_em_3d_fitting.id' _item.category_id em_3d_fitting _item.mandatory_code yes _item_type.code code save_ save__em_3d_fitting.entry_id _item_description.description ; This data item is a pointer to _entry_id in the ENTRY category. ; _item.name '_em_3d_fitting.entry_id' _item.category_id em_3d_fitting _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_3d_fitting.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_3d_fitting.method _item_description.description ; The method used to fit atomic coordinates into the 3dem reconstructed map. ; _item.name '_em_3d_fitting.method' _item.category_id em_3d_fitting _item.mandatory_code no _item_type.code line # _item_examples.case 'Local refinement, Flexible fitting' save_ save__em_3d_fitting.target_criteria _item_description.description ; The measure used to assess quality of fit of the atomic coordinates in the 3DEM map volume. ; _item.name '_em_3d_fitting.target_criteria' _item.category_id em_3d_fitting _item.mandatory_code no _item_type.code text _item_examples.case 'Cross-correlation coefficient' save_ save__em_3d_fitting.software_name _item_description.description ; The software used for fitting atomic coordinates to the map. ; _item.name '_em_3d_fitting.software_name' _item.category_id em_3d_fitting _item.mandatory_code no _item_type.code text _item_examples.case 'Situs, NMFF, YUP.scx, etc.' _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_3d_fitting.software_name' #V5 _item_related.related_name '_em_software.name' #V5 _item_related.function_code replacedby #V5 save_ save__em_3d_fitting.details _item_description.description ; Any additional details regarding fitting of atomic coordinates into the 3DEM volume, including data and considerations from other methods used in computation of the model. ; _item.name '_em_3d_fitting.details' _item.category_id em_3d_fitting _item.mandatory_code no _item_type.code text _item_examples.case ; Initial local fitting was done using Chimera and then NMFF was used for flexible fitting. ; save_ save__em_3d_fitting.overall_b_value _item_description.description ; The overall B (temperature factor) value for the 3d-em volume. ; _item.name '_em_3d_fitting.overall_b_value' _item.category_id em_3d_fitting _item.mandatory_code no _item_type.code float _item_examples.case '200' save_ save__em_3d_fitting.ref_space _item_description.description ; A flag to indicate whether fitting was carried out in real or reciprocal refinement space. ; _item.name '_em_3d_fitting.ref_space' _item.category_id em_3d_fitting _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value REAL RECIPROCAL save_ save__em_3d_fitting.ref_protocol _item_description.description ; The refinement protocol used. ; _item.name '_em_3d_fitting.ref_protocol' _item.category_id em_3d_fitting _item.mandatory_code no # _item_type.code text #V4 _item_type.code line #V5 _item_examples.case 'Local refinement, Flexible fitting' # loop_ # _pdbx_item_enumeration.name #V4 # _pdbx_item_enumeration.value #V4 # _pdbx_item_enumeration.detail #V4 _item_enumeration.name #V5 _item_enumeration.value #V5 _item_enumeration.detail #V5 "_em_3d_fitting.ref_protocol" "RIGID BODY FIT" . "_em_3d_fitting.ref_protocol" "FLEXIBLE FIT" . "_em_3d_fitting.ref_protocol" "BACKBONE TRACE" . "_em_3d_fitting.ref_protocol" "AB INITIO MODEL" . "_em_3d_fitting.ref_protocol" OTHER . save_ ######################## ## EM_3D_FITTING_LIST ## ######################## save_em_3d_fitting_list _category.description ; Data items in the 3D_FITTING_LIST category lists the methods of fitting atomic coordinates from a PDB file into a 3d-em volume map file ; _category.id em_3d_fitting_list _category.mandatory_code no loop_ _category_key.name '_em_3d_fitting_list.id' '_em_3d_fitting_list.3d_fitting_id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; _em_3d_fitting_list.id 1 _em_3d_fitting_list.3d_fitting_id l _em_3d_fitting_list.pdb_entry_id 1VCQ _em_3d_fitting_list.pdb_chain_id . ; save_ save__em_3d_fitting_list.id _item_description.description ; This data item is a unique identifier. ; _item.name '_em_3d_fitting_list.id' _item.category_id em_3d_fitting_list _item.mandatory_code yes _item_type.code code save_ save__em_3d_fitting_list.3d_fitting_id _item_description.description ; The value of _em_3d_fitting_list.3d_fitting_id is a pointer to _em_3d_fitting.id in the 3d_fitting category ; _item.name '_em_3d_fitting_list.3d_fitting_id' _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_3d_fitting_list.3d_fitting_id' _item_linked.parent_name '_em_3d_fitting.id' save_ save__em_3d_fitting_list.pdb_entry_id _item_description.description ; The PDB code for the entry used in fitting. ; _item.name '_em_3d_fitting_list.pdb_entry_id' _item.category_id em_3d_fitting_list _item.mandatory_code no # _item_type.code line #V4 _item_type.code pdb_id #V5 _item_examples.case 'PDB entry 1EHZ' save_ save__em_3d_fitting_list.pdb_chain_id _item_description.description ; The ID of the biopolymer chain used for fitting, e.g., A. Please note that only one chain can be specified per instance. If all chains of a particular structure have been used for fitting, this field can be left blank. ; _item.name '_em_3d_fitting_list.pdb_chain_id' _item.category_id em_3d_fitting_list _item.mandatory_code no _item_type.code asym_id save_ save__em_3d_fitting_list.pdb_chain_residue_range #new V5 _item_description.description ; The molecular entities represented in this fitting description. ; _item.name '_em_3d_fitting_list.pdb_chain_residue_range' _item.category_id em_3d_fitting_list _item.mandatory_code no _item_type.code int-range # # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_3d_fitting_list.pdb_chain_residue_range' #V4 save_ save__em_3d_fitting_list.details #new V5 _item_description.description ; Details about the model used in fitting. ; _item.name '_em_3d_fitting_list.details' _item.category_id em_3d_fitting_list _item.mandatory_code no _item_type.code text # # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_3d_fitting_list.details' #V4 save_ ####################### # EM_HELICAL_ENTITY # ####################### save_em_helical_entity _category.description ; Data items in the EM_HELICAL_ENTITY category record details for a helical or filament type of assembly component. ; _category.id em_helical_entity _category.mandatory_code no loop_ _category_key.name '_em_helical_entity.id' '_em_helical_entity.image_processing_id' #V5 loop_ _category_group.id 'inclusive_group' 'em_group' save_ save__em_helical_entity.id _item_description.description ; The value of _em_helical_entity.id must uniquely identify a set of the filament parameters for this assembly component. ; _item.name '_em_helical_entity.id' _item.category_id em_helical_entity _item.mandatory_code yes _item_type.code code save_ save__em_helical_entity.entity_assembly_id _item_description.description ; The value of _em_helical_entity.entity_assembly_id identifies a particular assembly component. This data item is a pointer to _em_entity_assembly.id in the EM_ENTITY_ASSEMBLY category. ; _item.name '_em_helical_entity.entity_assembly_id' _item.category_id em_helical_entity _item.mandatory_code no _item_type.code code # _item_linked.child_name '_em_helical_entity.entity_assembly_id' #V4 # _item_linked.parent_name '_em_entity_assembly.id' #V4 _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_helical_entity.entity_assembly_id' #V5 save_ save__em_helical_entity.image_processing_id #new V5 _item_description.description ; The value of _em_helical_entity.reconstruction_id identifies a particular reconstruction. This data item is a pointer to _em_image_processing.id. ; _item.name '_em_helical_entity.image_processing_id' _item.category_id em_helical_entity # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # # _pdbx_item.name '_em_helical_entity.image_processing_id' #V4 # _pdbx_item.mandatory_code yes #V4 # _item_type.code code _item_linked.child_name '_em_helical_entity.image_processing_id' _item_linked.parent_name '_em_image_processing.id' # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_helical_entity.image_processing_id' #V4 save_ save__em_helical_entity.details _item_description.description ; Any other details regarding the helical assembly ; _item.name '_em_helical_entity.details' _item.category_id em_helical_entity _item.mandatory_code no _item_type.code text _item_examples.case 'Dihedral symmetry' save_ save__em_helical_entity.dyad _item_description.description ; Value should be YES if a the filament has two-fold symmetry perpendicular to the helical axis. ; _item.name '_em_helical_entity.dyad' _item.category_id em_helical_entity _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value YES NO _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_helical_entity.dyad' #V5 _item_related.related_name '_em_helical_entity.axial_symmetry' #V5 _item_related.function_code replacedby #V5 save_ save__em_helical_entity.axial_symmetry _item_description.description ; Symmetry of the helical axis, either cyclic (Cn) or dihedral (Dn), where n>=1. ; _item.name '_em_helical_entity.axial_symmetry' _item.category_id em_helical_entity # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # # _pdbx_item.name '_em_helical_entity.axial_symmetry' #V4 # _pdbx_item.mandatory_code yes #V4 # _item_type.code point_group_helical # loop_ _item_examples.case 'C1' 'D2' 'C7' _item_related.related_name '_em_helical_entity.dyad' #V5 _item_related.function_code replaces #V5 save_ save__em_helical_entity.angular_rotation_per_subunit _item_description.description ; The angular rotation per helical subunit in degrees. ; _item.name '_em_helical_entity.angular_rotation_per_subunit' _item.category_id em_helical_entity _item.mandatory_code no # _pdbx_item.name '_em_helical_entity.angular_rotation_per_subunit' _pdbx_item.mandatory_code yes # _item_type.code float _item_units.code degrees _item_examples.case '-34.616000' loop_ _item_range.minimum _item_range.maximum -180.0 180.0 180.0 180.0 _item_related.related_name '_em_helical_entity.hand' #V5 _item_related.function_code replaces #V5 save_ save__em_helical_entity.axial_rise_per_subunit _item_description.description ; The axial rise per subunit in the helical assembly. ; _item.name '_em_helical_entity.axial_rise_per_subunit' _item.category_id em_helical_entity _item.mandatory_code no # _pdbx_item.name '_em_helical_entity.angular_rotation_per_subunit' _pdbx_item.mandatory_code yes # _item_type.code float _item_units.code 'angstroms' _item_examples.case '17.400000' _item_range.minimum 0.0 _item_range.maximum . save_ save__em_helical_entity.hand #use deprecated V5 _item_description.description ; Handedness of the helix: right handed or left handed ; _item.name '_em_helical_entity.hand' _item.category_id em_helical_entity _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Right' 'Left' _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_helical_entity.hand' #V5 _item_related.related_name '_em_helical_entity.angular_rotation_per_subunit' #V5 _item_related.function_code replacedby #V5 save_ ################### ## EM_EXPERIMENT ## ################### save_em_experiment _category.description ; Data items in the EM_EXPERIMENT category provide high-level classification of the EM experiment. ; _category.id em_experiment _category.mandatory_code no _category_key.name '_em_experiment.entry_id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1EG0 ; ; _em_experiment.entry_id 1EG0 _em_experiment.reconstruction_method "SINGLE PARTICLE" _em_experiment.aggregation_state "PARTICLE" _em_experiment.specimen_type "VITREOUS ICE (CRYO EM)" ; save_ save__em_experiment.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_em_experiment.entry_id' _item.category_id em_experiment _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_experiment.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_experiment.id _item_description.description ; Placeholder ID. ; _item.name '_em_experiment.id' _item.category_id em_experiment # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # # _pdbx_item.name '_em_experiment.id' #V4 # _pdbx_item.mandatory_code yes #V4 # # loop_ #V4 # _pdbx_item_enumeration.name #V4 # _pdbx_item_enumeration.value #V4 # _pdbx_item_enumeration.detail #V4 # '_em_experiment.id' 1 . #V4 # _item_type.code code # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_experiment.id' #V4 save_ save__em_experiment.reconstruction_method _item_description.description ; The reconstruction method used in the EM experiment. ; _item.name '_em_experiment.reconstruction_method' _item.category_id em_experiment # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # # _pdbx_item.name '_em_experiment.reconstruction_method' #V4 # _pdbx_item.mandatory_code yes #V4 # _item_type.code line loop_ _item_enumeration.value "SINGLE PARTICLE" HELICAL CRYSTALLOGRAPHY "SUBTOMOGRAM AVERAGING" TOMOGRAPHY save_ save__em_experiment.aggregation_state #new V5 (was collected in em_assembly) _item_description.description ; The aggregation/assembly state of the imaged specimen. ; _item.name '_em_experiment.aggregation_state' _item.category_id em_experiment # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # # _pdbx_item.name '_em_experiment.aggregation_state' #V4 # _pdbx_item.mandatory_code yes #V4 # _item_type.code line loop_ _item_enumeration.value "2D ARRAY" "3D ARRAY" "HELICAL ARRAY" FILAMENT PARTICLE TISSUE CELL # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_experiment.aggregation_state' #V4 _item_related.related_name '_em_assembly.aggregation_state' #V5 _item_related.function_code replaces #V5 save_ save__em_experiment.specimen_type _item_description.description ; The specimen type used in the EM experiment. ; _item.name '_em_experiment.specimen_type' _item.category_id em_experiment _item.mandatory_code no _item_type.code text loop_ _item_examples.case "VITREOUS ICE (CRYO EM)" "NEGATIVE STAIN" "FREEZE SUBSTITUTION" _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_experiment.specimen_type' #V5 loop_ #V5 _item_related.related_name #V5 _item_related.function_code #V5 '_em_specimen.vitrification_applied' replacedby #V5 '_em_specimen.staining_applied' replacedby #V5 '_em_specimen.embedding_applied' replacedby #V5 save_ save__em_experiment.entity_assembly_id _item_description.description ; Foreign key to the EM_ENTITY_ASSEMBLY category ; _item.name '_em_experiment.entity_assembly_id' _item.category_id em_experiment # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # # _pdbx_item.name '_em_experiment.entity_assembly_id' #V4 # _pdbx_item.mandatory_code yes #V4 # _item_type.code code # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_experiment.entity_assembly_id' #V4 save_ ############################### ## EM_SINGLE_PARTICLE_ENTITY ## ############################### save_em_single_particle_entity _category.description ; Data items in the EM_SINGLE_PARTICLE_ENTITY category provide the details of the symmetry for a single particle entity type. ; _category.id em_single_particle_entity _category.mandatory_code no loop_ _category_key.name # '_em_single_particle_entity.entry_id' #V4 '_em_single_particle_entity.id' #V5 '_em_single_particle_entity.image_processing_id' #V5 loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example ; ; # _em_single_particle_entity.entry_id 1ABC #V4 # _em_single_particle_entity.symmetry_type "MIXED SYMMETRY" #V4 _em_single_particle_entity.id 1 #V5 _em_single_particle_entity.image_processing_id 1 #V5 _em_single_particle_entity.point_symmetry I #V5 ; save_ save__em_single_particle_entity.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_em_single_particle_entity.entry_id' _item.category_id em_single_particle_entity _item.mandatory_code yes _item_type.code code # _item_linked.child_name '_em_single_particle_entity.entry_id' # _item_linked.parent_name '_entry.id' save_ save__em_single_particle_entity.id _item_description.description ; Unique category label. ; _item.name '_em_single_particle_entity.id' _item.category_id em_single_particle_entity # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # _pdbx_item.name '_em_single_particle_entity.id' #V4 # _pdbx_item.mandatory_code yes #V4 _item_type.code int # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_single_particle_entity.id' #V4 save_ save__em_single_particle_entity.symmetry_type _item_description.description ; The single particle symmetry type. ; _item.name '_em_single_particle_entity.symmetry_type' _item.category_id em_single_particle_entity _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value ASYMMETRIC CYCLIC DIHEDRAL TETRAHEDRAL OCTAHEDRAL ICOSAHEDRAL "MIXED SYMMETRY" _pdbx_item_context.type WWPDB_DEPRECATED #V5 _pdbx_item_context.item_name '_em_single_particle_entity.symmetry_type' #V5 _item_related.related_name '_em_single_particle_entity.point_symmetry' #V5 _item_related.function_code replacedby #V5 save_ save__em_single_particle_entity.image_processing_id #new V5 _item_description.description ; pointer to _em_image_processing.id. ; _item.name '_em_single_particle_entity.image_processing_id' _item.category_id em_single_particle_entity # _item.mandatory_code no #V4 _item.mandatory_code yes #V5 # # _pdbx_item.name '_em_single_particle_entity.image_processing_id' #V4 # _pdbx_item.mandatory_code yes #V4 # _item_type.code code _item_linked.child_name '_em_single_particle_entity.image_processing_id' _item_linked.parent_name '_em_3d_reconstruction.id' # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_single_particle_entity.image_processing_id' #V4 save_ save__em_single_particle_entity.point_symmetry #new V5 _item_description.description ; Point symmetry symbol, either Cn, Dn, T, O, or I ; _item.name '_em_single_particle_entity.point_symmetry' _item.category_id em_single_particle_entity _item.mandatory_code no _item_type.code point_group # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_single_particle_entity.point_symmetry' #V4 _item_related.related_name '_em_single_particle_entity.symmetry_type' #V5 _item_related.function_code replaces #V5 save_ ##############END: UPDATED (V4) CATEGORIES################ #######START NEW CATEGORIES FOR V5 ################### ############## ## EM_ADMIN ## ############## save_em_admin _category.description ; Administration-related data items ; _category.id em_admin _category.mandatory_code no _category_key.name '_em_admin.entry_id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case 'Example 1' ; _em_admin.entry_id D_100005 _em_admin.current_status REL _em_admin.last_update 2011-05-22 _em_admin.deposition_date 2008-12-01 _em_admin.map_release_date 2009-12-01 _em_admin.details . ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_admin save_ save__em_admin.current_status _item_description.description ; This data item indicates the current status of the EMDB entry. ; _item.name '_em_admin.current_status' _item.category_id em_admin _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail PROC "To be processed" WAIT "Processing started, waiting for author input to continue processing" AUTH "Processed, waiting for author review and approval" REUP "Upload of coordinates and/or structure factors and auxiliary files" REPL "Resubmission of coordinates and/or structure factors and auxiliary files" AUXU "Upload of auxiliary files" AUXS "Resubmission of auxiliary files" AUCO "Author corrections pending review" REFI "Re-refined entry" POLC "Processing, waiting for a policy decision" HPUB "On hold until publication" HOLD "On hold (1 year)" HOLD8W "On hold (8 weeks)" REL Released WDRN "Deposition has been withdrawn" OBS Obsoleted save_ save__em_admin.deposition_date _item_description.description ; date of the entry deposition ; _item.name '_em_admin.deposition_date' _item.category_id em_admin _item.mandatory_code yes _item_type.code yyyy-mm-dd save_ save__em_admin.deposition_site _item_description.description ; entry deposition site ; _item.name '_em_admin.deposition_site' _item.category_id em_admin _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value PDBE RCSB PDBJ PDBC save_ save__em_admin.details _item_description.description ; EMDB administration details ; _item.name '_em_admin.details' _item.category_id em_admin _item.mandatory_code no _item_type.code text save_ save__em_admin.entry_id _item_description.description ; This data item is a pointer to _entry.id. ; _item.name '_em_admin.entry_id' _item.category_id em_admin _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_admin.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_admin.last_update _item_description.description ; date of last update to the file ; _item.name '_em_admin.last_update' _item.category_id em_admin _item.mandatory_code yes _item_type.code yyyy-mm-dd save_ save__em_admin.map_release_date _item_description.description ; date of map release for this entry ; _item.name '_em_admin.map_release_date' _item.category_id em_admin _item.mandatory_code no _item_type.code yyyy-mm-dd save_ save__em_admin.map_hold_date _item_description.description ; date of the embargo expiration for this map entry ; _item.name '_em_admin.map_hold_date' _item.category_id em_admin _item.mandatory_code no _item_type.code yyyy-mm-dd save_ save__em_admin.header_release_date _item_description.description ; date of header information release for this entry ; _item.name '_em_admin.header_release_date' _item.category_id em_admin _item.mandatory_code no _item_type.code yyyy-mm-dd save_ save__em_admin.obsoleted_date _item_description.description ; date that map entry was obsoleted ; _item.name '_em_admin.obsoleted_date' _item.category_id em_admin _item.mandatory_code no _item_type.code yyyy-mm-dd save_ save__em_admin.replace_existing_entry_flag _item_description.description ; This item indicates that the current entry replaced a previously released structure. ; _item.name '_em_admin.replace_existing_entry_flag' _item.category_id em_admin _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value YES NO save_ save__em_admin.title _item_description.description ; Title for the EMDB entry. ; _item.name '_em_admin.title' _item.category_id em_admin _item.mandatory_code yes _item_type.code line save_ #################### ## EM_AUTHOR_LIST ## #################### save_em_author_list _category.description ; Category to collect the authors of this entry ; _category.id em_author_list _category.mandatory_code no loop_ _category_key.name '_em_author_list.ordinal' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; loop_ _em_author_list.ordinal _em_author_list.author 1 'Miller, A.' 2 'Smith, J.T.' ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_author_list save_ save__em_author_list.author _item_description.description ; Author of the EMDB entry in PDB format: Taylor, T.J. ; _item.name '_em_author_list.author' _item.category_id em_author_list _item.mandatory_code yes _item_type.code author _item_examples.case 'Taylor, D.J.' save_ save__em_author_list.identifier_ORCID _item_description.description ; The Open Researcher and Contributor ID (ORCID). ; _item.name '_em_author_list.identifier_ORCID' _item.category_id em_author_list _item.mandatory_code no _item_type.code orcid_id _item_examples.case '0000-0002-6681-547X' save_ save__em_author_list.ordinal _item_description.description ; ID 1 corresponds to the main author of the entry ; _item.name '_em_author_list.ordinal' _item.category_id em_author_list _item.mandatory_code yes _item_type.code positive_int save_ ##################### ## EM_DB_REFERENCE ## ##################### save_em_db_reference _category.description ; Category holds links to raw data sources for the entry, e.g., held by a remote server. ; _category.id em_db_reference _category.mandatory_code no _category_key.name '_em_db_reference.id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case 'Example 1' ; loop_ _em_db_reference.id _em_db_reference.access_code _em_db_reference.db_name 1 1ABC PDB ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_db_reference save_ save__em_db_reference.access_code _item_description.description ; Unique identifier for a provided link. ; _item.name '_em_db_reference.access_code' _item.category_id em_db_reference _item.mandatory_code yes _item_type.code code loop_ _item_examples.case 1ABC EMD-5002 save_ save__em_db_reference.db_name _item_description.description ; The name of the database containing the related entry. ; _item.name '_em_db_reference.db_name' _item.category_id em_db_reference _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value PDB EMDB save_ save__em_db_reference.details _item_description.description ; A description of the related entry. ; _item.name '_em_db_reference.details' _item.category_id em_db_reference _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'map derived from same data with D7 symmetry imposed' 'model derived from X-ray crystal structure 1ABC' save_ save__em_db_reference.id _item_description.description ; The name of the database containing the related entry. ; _item.name '_em_db_reference.id' _item.category_id em_db_reference _item.mandatory_code yes _item_type.code code save_ save__em_db_reference.relationship _item_description.description ; Indicates relationship of this entry with other entries in PDB and EMDB. ; _item.name '_em_db_reference.relationship' _item.category_id em_db_reference _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'IN FRAME' 'Same position/orientation as this map' 'OTHER' 'Other relationship' save_ ############################### ## EM_DB_REFERENCE_AUXILIARY ## ############################### save_em_db_reference_auxiliary _category.description ; Category holds links to raw data sources for the entry, e.g., held by a remote server. ; _category.id em_db_reference_auxiliary _category.mandatory_code no _category_key.name '_em_db_reference_auxiliary.id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case 'Example 1' ; loop_ _em_db_reference_auxiliary.id _em_db_reference_auxiliary.link _em_db_reference_auxiliary.link_type 1 http://www.ebi.ac.uk/pdbe/emdb/singleParticledir/SPIDER_FRANK_data '2D EM Data' ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_db_reference_auxiliary save_ save__em_db_reference_auxiliary.id _item_description.description ; Unique identifier for a provided link. ; _item.name '_em_db_reference_auxiliary.id' _item.category_id em_db_reference_auxiliary _item.mandatory_code yes _item_type.code code save_ save__em_db_reference_auxiliary.link _item_description.description ; Hyperlink to the auxiliary data. ; _item.name '_em_db_reference_auxiliary.link' _item.category_id em_db_reference_auxiliary _item.mandatory_code yes _item_type.code code save_ save__em_db_reference_auxiliary.link_type _item_description.description ; Type of auxiliary data stored at the indicated link. ; _item.name '_em_db_reference_auxiliary.link_type' _item.category_id em_db_reference_auxiliary _item.mandatory_code yes _item_type.code text loop_ _item_enumeration.value '2D EM DATA' 'CORRELATIVE LIGHT MICROSCOPY' save_ ############## ## EM_DEPUI ## ############## save_em_depui _category.description ; Some internal items to power the deposition interface ; _category.id em_depui _category.mandatory_code no loop_ _category_key.name '_em_depui.entry_id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_depui.depositor_hold_instructions HOLD _em_depui.entry_id 1ABC _em_depui.macromolecule_description YES _em_depui.obsolete_instructions . _em_depui.same_authors_as_pdb NO _em_depui.same_title_as_pdb NO ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_depui save_ save__em_depui.depositor_hold_instructions _item_description.description ; Choose the manner in which you would like the map and associated files (half maps, additional maps, masks, FSC curves, structure factors, layer lines, and images) to be released. Release of these files can be delayed either until publication of the associated primary citation or until one year after completion of the deposition. It is the responsibility of the depositor to notify the EMDB when the primary citation has been published. Please note that map-associated experimental information and metadata (header data) are made available to the public when an entry is placed on hold. ; _item.name '_em_depui.depositor_hold_instructions' _item.category_id em_depui _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value REL HOLD HOLD8W HPUB save_ save__em_depui.entry_id _item_description.description ; Primary key ; _item.name '_em_depui.entry_id' _item.category_id em_depui _item.mandatory_code yes _item_type.code code save_ save__em_depui.macromolecule_description _item_description.description ; Indicates whether the authors are providing a macromolecule level description of their sample ; _item.name '_em_depui.macromolecule_description' _item.category_id em_depui _item.mandatory_code yes _item_type.code ucode loop_ _item_enumeration.value YES NO save_ save__em_depui.obsolete_instructions _item_description.description ; Instruction for annotators on why a previous released entry should be obsoleted. Example of valid request: * Author wants to replace a map that has already been released, following discovery of a processing error Examples of invalid requests: * Someone other than the author wants to obsolete a map. * Legal conflict of interest Obsoletion is not required for the following actions: * to change released metadata info. * to update the map of an HPUB entry. * to change the hand of a released map. * to deposit an improved version of a released map. ; _item.name '_em_depui.obsolete_instructions' _item.category_id em_depui _item.mandatory_code no _item_type.code text save_ save__em_depui.same_authors_as_pdb _item_description.description ; Indicates whether the authors for the EMDB entry are the same as for the PDB entry in a joint map + model deposition ; _item.name '_em_depui.same_authors_as_pdb' _item.category_id em_depui _item.mandatory_code yes _item_type.code ucode loop_ _item_enumeration.value YES NO save_ save__em_depui.same_title_as_pdb _item_description.description ; Indicates whether the title for the EMDB entry is the same as for the PDB entry in a joint map + model deposition ; _item.name '_em_depui.same_title_as_pdb' _item.category_id em_depui _item.mandatory_code yes _item_type.code ucode loop_ _item_enumeration.value YES NO save_ ################# ## EM_OBSOLETE ## ################# save_em_obsolete _category.description ; List of EMD entries made obsolete by this entry. ; _category.id em_obsolete _category.mandatory_code no _category_key.name '_em_obsolete.id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_obsolete save_ save__em_obsolete.date _item_description.description ; Dated when the entry made obsolete the other entry ; _item.name '_em_obsolete.date' _item.category_id em_obsolete _item.mandatory_code yes _item_type.code yyyy-mm-dd save_ save__em_obsolete.details _item_description.description ; Details ; _item.name '_em_obsolete.details' _item.category_id em_obsolete _item.mandatory_code no _item_type.code text save_ save__em_obsolete.entry _item_description.description ; Entry made obsolete ; _item.name '_em_obsolete.entry' _item.category_id em_obsolete _item.mandatory_code yes _item_type.code emd_id save_ save__em_obsolete.id _item_description.description ; Primary key ; _item.name '_em_obsolete.id' _item.category_id em_obsolete _item.mandatory_code yes _item_type.code emd_id # _item_linked.child_name '_em_obsolete.id' # _item_linked.parent_name '_entry.id' save_ ################## ## EM_SUPERSEDE ## ################## save_em_supersede _category.description ; List of newer entries that replace this entry. ; _category.id em_supersede _category.mandatory_code no _category_key.name '_em_supersede.id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_supersede save_ save__em_supersede.date _item_description.description ; Dated when the entry made supersede the other entry ; _item.name '_em_supersede.date' _item.category_id em_supersede _item.mandatory_code yes _item_type.code yyyy-mm-dd save_ save__em_supersede.details _item_description.description ; Details ; _item.name '_em_supersede.details' _item.category_id em_supersede _item.mandatory_code no _item_type.code text save_ save__em_supersede.entry _item_description.description ; Newer entry that replaces this entry ; _item.name '_em_supersede.entry' _item.category_id em_supersede _item.mandatory_code yes _item_type.code emd_id save_ save__em_supersede.id _item_description.description ; Primary key ; _item.name '_em_supersede.id' _item.category_id em_supersede _item.mandatory_code yes _item_type.code emd_id # _item_linked.child_name '_em_supersede.id' # _item_linked.parent_name '_entry.id' save_ ############################## ## EM_ENTITY_ASSEMBLY_MOLWT ## ############################## save_em_entity_assembly_molwt _category.description ; Data items in this category record details about the molecular weight of an assembly component of the sample. ; _category.id em_entity_assembly_molwt _category.mandatory_code no loop_ _category_key.name '_em_entity_assembly_molwt.entity_assembly_id' '_em_entity_assembly_molwt.id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; loop_ _em_entity_assembly_molwt.entity_assembly_id _em_entity_assembly_molwt.id _em_entity_assembly_molwt.units _em_entity_assembly_molwt.value 1 1 MEGADALTONS 30.5 ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_entity_assembly_molwt #V4 save_ save__em_entity_assembly_molwt.entity_assembly_id _item_description.description ; A reference to _em_entity_assembly.id which uniquely identifies one assembly or assembly component of the imaged sample. ; _item.name '_em_entity_assembly_molwt.entity_assembly_id' _item.category_id em_entity_assembly_molwt _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_entity_assembly_molwt.entity_assembly_id' #V5 _item_linked.parent_name '_em_entity_assembly.id' #V5 save_ save__em_entity_assembly_molwt.experimental_flag _item_description.description ; Identifies whether the given molecular weight was derived experimentally. ; _item.name '_em_entity_assembly_molwt.experimental_flag' _item.category_id em_entity_assembly_molwt _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value YES NO loop_ #V5 _item_related.related_name #V5 _item_related.function_code #V5 '_em_assembly.mol_wt_exp' replaces #V5 '_em_assembly.mol_wt_theo' replaces #V5 save_ save__em_entity_assembly_molwt.id _item_description.description ; Ordinal key for the em_entity_assembly_molwt category. ; _item.name '_em_entity_assembly_molwt.id' _item.category_id em_entity_assembly_molwt _item.mandatory_code yes _item_type.code code save_ save__em_entity_assembly_molwt.units _item_description.description ; Molecular weight units. ; _item.name '_em_entity_assembly_molwt.units' _item.category_id em_entity_assembly_molwt _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value MEGADALTONS KILODALTONS/NANOMETER loop_ #V5 _item_related.related_name #V5 _item_related.function_code #V5 '_em_assembly.mol_wt_exp' replaces #V5 '_em_assembly.mol_wt_theo' replaces #V5 save_ save__em_entity_assembly_molwt.value _item_description.description ; The molecular weight of the assembly component. ; _item.name '_em_entity_assembly_molwt.value' _item.category_id em_entity_assembly_molwt _item.mandatory_code no _item_type.code float _item_examples.case 0.53 _item_range.minimum 0.0 _item_range.maximum . loop_ #V5 _item_related.related_name #V5 _item_related.function_code #V5 '_em_assembly.mol_wt_exp' replaces #V5 '_em_assembly.mol_wt_theo' replaces #V5 save_ save__em_entity_assembly_molwt.method #new location for values previously collected in _em_assembly.mol_wt_method _item_description.description ; The method used to determine the molecular weight. ; _item.name '_em_entity_assembly_molwt.method' _item.category_id em_entity_assembly_molwt _item.mandatory_code no _item_type.code text _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_entity_assembly_molwt.method' #V5 _item_related.related_name '_em_assembly.mol_wt_method' #V5 _item_related.function_code replaces #V5 save_ ###################################### ## EM_ENTITY_ASSEMBLY_NATURALSOURCE ## ###################################### save_em_entity_assembly_naturalsource _category.description ; Data items in this category record taxonomic details about the natural source for EM assemblies and assembly components. ; _category.id em_entity_assembly_naturalsource _category.mandatory_code no loop_ _category_key.name '_em_entity_assembly_naturalsource.id' '_em_entity_assembly_naturalsource.entity_assembly_id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; loop_ _em_entity_assembly_naturalsource.id _em_entity_assembly_naturalsource.entity_assembly_id _em_entity_assembly_naturalsource.ncbi_tax_id _em_entity_assembly_naturalsource.organism _em_entity_assembly_naturalsource.strain _em_entity_assembly_naturalsource.tissue _em_entity_assembly_naturalsource.organelle _em_entity_assembly_naturalsource.cellular_location _em_entity_assembly_naturalsource.organ 1 8333 'Escherichia coli' K12 . . cytoplasm . . ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_entity_assembly_naturalsource #V4 save_ save__em_entity_assembly_naturalsource.cell _item_description.description ; The cell type from which the component was obtained. ; _item.name '_em_entity_assembly_naturalsource.cell' _item.category_id em_entity_assembly_naturalsource _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'CHO' 'HELA' '3T3' save_ save__em_entity_assembly_naturalsource.cellular_location _item_description.description ; The cellular location of the component. ; _item.name '_em_entity_assembly_naturalsource.cellular_location' _item.category_id em_entity_assembly_naturalsource _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'cytoplasm' 'endoplasmic reticulum' 'plasma membrane' save_ save__em_entity_assembly_naturalsource.entity_assembly_id _item_description.description ; Pointer to the assembly component defined in the EM ENTITY ASSEMBLY category. ; _item.name '_em_entity_assembly_naturalsource.entity_assembly_id' _item.category_id em_entity_assembly_naturalsource _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_entity_assembly_naturalsource.entity_assembly_id' #V5 _item_linked.parent_name '_em_entity_assembly.id' #V5 save_ save__em_entity_assembly_naturalsource.id _item_description.description ; Ordinal key for the em_entity_assembly_naturalsource category. ; _item.name '_em_entity_assembly_naturalsource.id' _item.category_id em_entity_assembly_naturalsource _item.mandatory_code yes _item_type.code code save_ save__em_entity_assembly_naturalsource.ncbi_tax_id _item_description.description ; The NCBI taxonomy id for the natural organism source of the component. ; _item.name '_em_entity_assembly_naturalsource.ncbi_tax_id' _item.category_id em_entity_assembly_naturalsource _item.mandatory_code yes _item_type.code positive_int loop_ _item_examples.case '10804' '9606' save_ save__em_entity_assembly_naturalsource.organism _item_description.description ; The genus-species of the natural organism from which the component was obtained. ; _item.name '_em_entity_assembly_naturalsource.organism' _item.category_id em_entity_assembly_naturalsource _item.mandatory_code yes _item_type.code line _item_examples.case 'Escherichia coli' save_ save__em_entity_assembly_naturalsource.organelle _item_description.description ; The organelle from which the component was obtained. ; _item.name '_em_entity_assembly_naturalsource.organelle' _item.category_id em_entity_assembly_naturalsource _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Golgi' 'Mitochondrion' 'Cytoskeleton' save_ save__em_entity_assembly_naturalsource.organ _item_description.description ; The organ of the organism from which the component was obtained. ; _item.name '_em_entity_assembly_naturalsource.organ' _item.category_id em_entity_assembly_naturalsource _item.mandatory_code no _item_type.code line _item_examples.case 'Escherichia coli' save_ save__em_entity_assembly_naturalsource.strain _item_description.description ; The strain of the natural organism from which the component was obtained, if relevant. ; _item.name '_em_entity_assembly_naturalsource.strain' _item.category_id em_entity_assembly_naturalsource _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'DH5a' 'BMH 71-18' save_ save__em_entity_assembly_naturalsource.tissue _item_description.description ; The tissue of the natural organism from which the component was obtained. ; _item.name '_em_entity_assembly_naturalsource.tissue' _item.category_id em_entity_assembly_naturalsource _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Cartilage' 'Liver' 'Eye lens' save_ ################################## ## EM_ENTITY_ASSEMBLY_SYNTHETIC ## ################################## save_em_entity_assembly_synthetic _category.description ; Data items in this category record taxonomic details about the synthetic source for EM assemblies and assembly components. ; _category.id em_entity_assembly_synthetic _category.mandatory_code no loop_ _category_key.name '_em_entity_assembly_synthetic.id' '_em_entity_assembly_synthetic.entity_assembly_id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; loop_ _em_entity_assembly_synthetic.id _em_entity_assembly_synthetic.entity_assembly_id _em_entity_assembly_synthetic.ncbi_tax_id _em_entity_assembly_synthetic.organism _em_entity_assembly_synthetic.strain _em_entity_assembly_synthetic.tissue _em_entity_assembly_synthetic.organelle _em_entity_assembly_synthetic.cellular_location _em_entity_assembly_synthetic.organ 1 1 8333 'Escherichia coli' K12 . . . . ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_entity_assembly_synthetic #V4 save_ save__em_entity_assembly_synthetic.cell _item_description.description ; The cell type from which the component was obtained. ; _item.name '_em_entity_assembly_synthetic.cell' _item.category_id em_entity_assembly_synthetic _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'CHO' 'HELA' '3T3' save_ save__em_entity_assembly_synthetic.cellular_location _item_description.description ; The cellular location of the component. ; _item.name '_em_entity_assembly_synthetic.cellular_location' _item.category_id em_entity_assembly_synthetic _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'cytoplasm' 'endoplasmic reticulum' 'plasma membrane' save_ save__em_entity_assembly_synthetic.entity_assembly_id _item_description.description ; Pointer to the assembly component defined in the EM ENTITY ASSEMBLY category. ; _item.name '_em_entity_assembly_synthetic.entity_assembly_id' _item.category_id em_entity_assembly_synthetic _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_entity_assembly_synthetic.entity_assembly_id' #V5 _item_linked.parent_name '_em_entity_assembly.id' #V5 save_ save__em_entity_assembly_synthetic.id _item_description.description ; Ordinal key for the em_entity_assembly_synthetic category. ; _item.name '_em_entity_assembly_synthetic.id' _item.category_id em_entity_assembly_synthetic _item.mandatory_code yes _item_type.code code save_ save__em_entity_assembly_synthetic.ncbi_tax_id _item_description.description ; The NCBI taxonomy id for the synthetic organism source of the component. ; _item.name '_em_entity_assembly_synthetic.ncbi_tax_id' _item.category_id em_entity_assembly_synthetic _item.mandatory_code yes _item_type.code positive_int loop_ _item_examples.case '10804' '9606' save_ save__em_entity_assembly_synthetic.organism _item_description.description ; The genus-species of the synthetic organism from which the component was obtained. ; _item.name '_em_entity_assembly_synthetic.organism' _item.category_id em_entity_assembly_synthetic _item.mandatory_code yes _item_type.code line _item_examples.case 'Escherichia coli' save_ save__em_entity_assembly_synthetic.organelle _item_description.description ; The organelle from which the component was obtained. ; _item.name '_em_entity_assembly_synthetic.organelle' _item.category_id em_entity_assembly_synthetic _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Golgi' 'Mitochondrion' 'Cytoskeleton' save_ save__em_entity_assembly_synthetic.organ _item_description.description ; The organ of the organism from which the component was obtained. ; _item.name '_em_entity_assembly_synthetic.organ' _item.category_id em_entity_assembly_synthetic _item.mandatory_code no _item_type.code line _item_examples.case 'Escherichia coli' save_ save__em_entity_assembly_synthetic.strain _item_description.description ; The strain of the synthetic organism from which the component was obtained, if relevant. ; _item.name '_em_entity_assembly_synthetic.strain' _item.category_id em_entity_assembly_synthetic _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'DH5a' 'BMH 71-18' save_ save__em_entity_assembly_synthetic.tissue _item_description.description ; The tissue of the synthetic organism from which the component was obtained. ; _item.name '_em_entity_assembly_synthetic.tissue' _item.category_id em_entity_assembly_synthetic _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Cartilage' 'Liver' 'Eye lens' save_ #################################### ## EM_ENTITY_ASSEMBLY_RECOMBINANT ## #################################### save_em_entity_assembly_recombinant _category.description ; Data items in this category record details about recombinant expression of the assembly or assembly component. ; _category.id em_entity_assembly_recombinant _category.mandatory_code no loop_ _category_key.name '_em_entity_assembly_recombinant.id' '_em_entity_assembly_recombinant.entity_assembly_id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; loop_ _em_entity_assembly_recombinant.id _em_entity_assembly_recombinant.entity_assembly_id _em_entity_assembly_recombinant.organism _em_entity_assembly_recombinant.plasmid 1 1 'Escherichia coli' pET17c ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_entity_assembly_recombinant #V4 save_ save__em_entity_assembly_recombinant.cell _item_description.description ; The cell of the host organism from which the expressed component was obtained, if relevant. ; _item.name '_em_entity_assembly_recombinant.cell' _item.category_id em_entity_assembly_recombinant _item.mandatory_code no _item_type.code line _item_examples.case 'Potato root' save_ save__em_entity_assembly_recombinant.entity_assembly_id _item_description.description ; Pointer to the expressed component described in the EM ENTITY ASSEMBLY category. ; _item.name '_em_entity_assembly_recombinant.entity_assembly_id' _item.category_id em_entity_assembly_recombinant _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_entity_assembly_recombinant.entity_assembly_id' #V5 _item_linked.parent_name '_em_entity_assembly.id' #V5 save_ save__em_entity_assembly_recombinant.id _item_description.description ; Ordinal identifier ; _item.name '_em_entity_assembly_recombinant.id' _item.category_id em_entity_assembly_recombinant _item.mandatory_code yes _item_type.code code save_ save__em_entity_assembly_recombinant.ncbi_tax_id _item_description.description ; The NCBI taxonomy id of the expression host used to produce the component. ; _item.name '_em_entity_assembly_recombinant.ncbi_tax_id' _item.category_id em_entity_assembly_recombinant _item.mandatory_code yes _item_type.code positive_int save_ save__em_entity_assembly_recombinant.organism _item_description.description ; Expression system host organism used to produce the component. ; _item.name '_em_entity_assembly_recombinant.organism' _item.category_id em_entity_assembly_recombinant _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'escherichia coli' 'saccharomyces cerevisiae' save_ save__em_entity_assembly_recombinant.plasmid _item_description.description ; The plasmid used to produce the component in the expression system. ; _item.name '_em_entity_assembly_recombinant.plasmid' _item.category_id em_entity_assembly_recombinant _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'pBR322' 'pMB9' save_ save__em_entity_assembly_recombinant.strain _item_description.description ; The strain of the host organism from which the expresed component was obtained, if relevant. ; _item.name '_em_entity_assembly_recombinant.strain' _item.category_id em_entity_assembly_recombinant _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'DH5a' 'BMH 71-18' save_ ########################### ## EM_VIRUS_NATURAL_HOST ## ########################### save_em_virus_natural_host _category.description ; Data items in this category record details of a virus entity. ; _category.id em_virus_natural_host _category.mandatory_code no loop_ _category_key.name '_em_virus_natural_host.entity_assembly_id' '_em_virus_natural_host.id' loop_ _category_group.id 'inclusive_group' 'em_group' # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_virus_natural_host #V4 save_ save__em_virus_natural_host.entity_assembly_id _item_description.description ; Pointer to _em_entity_assembly.id. ; _item.name '_em_virus_natural_host.entity_assembly_id' _item.category_id em_virus_natural_host _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_virus_natural_host.entity_assembly_id' _item_linked.parent_name '_em_entity_assembly.id' save_ save__em_virus_natural_host.id _item_description.description ; Unique identifier for the virus natural host. ; _item.name '_em_virus_natural_host.id' _item.category_id em_virus_natural_host _item.mandatory_code yes _item_type.code code save_ save__em_virus_natural_host.ncbi_tax_id _item_description.description ; The NCBI taxonomy of the host species from which the virus was isolated. ; _item.name '_em_virus_natural_host.ncbi_tax_id' _item.category_id em_virus_natural_host _item.mandatory_code no _item_type.code positive_int save_ save__em_virus_natural_host.organism _item_description.description ; The host organism from which the virus was isolated. ; _item.name '_em_virus_natural_host.organism' _item.category_id em_virus_natural_host _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'Homo sapiens' 'Gallus gallus' _item_related.related_name '_em_virus_entity.virus_host_species' #V5 _item_related.function_code replaces #V5 save_ save__em_virus_natural_host.strain _item_description.description ; The strain of the host organism from which the virus was obtained, if relevant. ; _item.name '_em_virus_natural_host.strain' _item.category_id em_virus_natural_host _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'DH5a' 'BMH 71-18' _item_related.related_name '_em_virus_entity.virus_host_growth_cell' #V5 _item_related.function_code replaces #V5 save_ ######################## ## EM_VIRUS_SYNTHETIC ## ######################## save_em_virus_synthetic _category.description ; Data items in this category record details of a synthetic virus entity. ; _category.id em_virus_synthetic _category.mandatory_code no loop_ _category_key.name '_em_virus_synthetic.entity_assembly_id' '_em_virus_synthetic.id' loop_ _category_group.id 'inclusive_group' 'em_group' save_ save__em_virus_synthetic.entity_assembly_id _item_description.description ; Pointer to _em_entity_assembly.id. ; _item.name '_em_virus_synthetic.entity_assembly_id' _item.category_id em_virus_synthetic _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_virus_synthetic.entity_assembly_id' _item_linked.parent_name '_em_entity_assembly.id' save_ save__em_virus_synthetic.id _item_description.description ; Unique identifier for the virus natural host. ; _item.name '_em_virus_synthetic.id' _item.category_id em_virus_synthetic _item.mandatory_code yes _item_type.code code save_ save__em_virus_synthetic.organism _item_description.description ; The host organism from which the virus was isolated. ; _item.name '_em_virus_synthetic.organism' _item.category_id em_virus_synthetic _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'Homo sapiens' 'Gallus gallus' save_ save__em_virus_synthetic.ncbi_tax_id _item_description.description ; The NCBI taxonomy of the host species from which the virus was isolated. ; _item.name '_em_virus_synthetic.ncbi_tax_id' _item.category_id em_virus_synthetic _item.mandatory_code no _item_type.code positive_int save_ save__em_virus_synthetic.strain _item_description.description ; The strain of the host organism from which the virus was obtained, if relevant. ; _item.name '_em_virus_synthetic.strain' _item.category_id em_virus_synthetic _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'DH5a' 'BMH 71-18' save_ #################### ## EM_VIRUS_SHELL ## #################### save_em_virus_shell _category.description ; Data items in the EMD_VIRUS_SHELL category record details of the viral shell number, shell diameter, and icosahedral triangulation number. ; _category.id em_virus_shell _category.mandatory_code no loop_ _category_key.name '_em_virus_shell.entity_assembly_id' '_em_virus_shell.id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 -- Bluetongue Virus ; ; loop_ _em_virus_shell.entity_assembly_id _em_virus_shell.id _em_virus_shell.name _em_virus_shell.diameter _em_virus_shell.triangulation 1 1 'VP7 layer' 348 13 1 2 'VP3 layer' 348 2 ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_virus_shell #V4 save_ save__em_virus_shell.diameter _item_description.description ; The value of the diameter (in angstroms) for this virus shell. ; _item.name '_em_virus_shell.diameter' _item.category_id em_virus_shell _item.mandatory_code no _item_type.code float _item_units.code angstroms _item_examples.case 524.0 _item_range.minimum 0.0 _item_range.maximum . save_ save__em_virus_shell.entity_assembly_id _item_description.description ; The value of _em_virus_shell.entity_assembly_id is a pointer to _em_entity_assembly.id category. ; _item.name '_em_virus_shell.entity_assembly_id' _item.category_id em_virus_shell _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_virus_shell.entity_assembly_id' _item_linked.parent_name '_em_entity_assembly.id' save_ save__em_virus_shell.id _item_description.description ; The value of _em_em_virus_shell.id is a unique identifier for one virus shell. ; _item.name '_em_virus_shell.id' _item.category_id em_virus_shell _item.mandatory_code yes _item_type.code code save_ save__em_virus_shell.name _item_description.description ; The name for this virus shell. ; _item.name '_em_virus_shell.name' _item.category_id em_virus_shell _item.mandatory_code no _item_type.code line save_ save__em_virus_shell.triangulation _item_description.description ; The triangulation number (T number) is a geometric concept that refers to the organisation of subunits within the icosahedron. The triangulation number, T is given by the relationship T= h*2 + hk +k*2, where h and k are positive integers which define the position of the five-fold vertex on the original hexagonal net. ; _item.name '_em_virus_shell.triangulation' _item.category_id em_virus_shell _item.mandatory_code no _item_type.code positive_int loop_ _item_examples.case 27 save_ ################# ## EM_SPECIMEN ## ################# save_em_specimen _category.description ; Data items in the EMD_SPECIMEN category record details about specimens prepared for imaging by electron microscopy. ; _category.id em_specimen _category.mandatory_code no loop_ _category_key.name '_em_specimen.id' '_em_specimen.experiment_id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 -- based on PDB 2FL8 ; ; _em_specimen.experiment_id 1 _em_specimen.id 1 _em_specimen.concentration ? _em_specimen.vitrification_applied YES _em_specimen.staining_applied NO _em_specimen.embedding_applied NO _em_specimen.shadowing_applied NO _em_specimen.details ? ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_specimen #V4 save_ save__em_specimen.concentration _item_description.description ; The concentration (in milligrams per milliliter, mg/ml) of the complex in the sample. ; _item.name '_em_specimen.concentration' _item.category_id em_specimen _item.mandatory_code no _item_type.code float _item_units.code mg_per_ml _item_examples.case '1.35' _item_range.minimum 0.0 _item_range.maximum . _item_related.related_name '_em_sample_preparation.sample_concentration' #V5 _item_related.function_code replaces #V5 save_ save__em_specimen.details _item_description.description ; A description of any additional details of the specimen preparation. ; _item.name '_em_specimen.details' _item.category_id em_specimen _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'This sample was monodisperse.' 'Au was deposited at a 30 degree angle to 15 nm thickness.' 'Colloidal gold particles were deposited by dipping into dilute solution.' 'The specimen was frozen at high pressure using the bal-tec hpm 010 instrument.' 'The embedded sample was sectioned at 100 K to 50 nm final thickness.' _item_related.related_name '_em_sample_preparation.details' #V5 _item_related.function_code replaces #V5 save_ save__em_specimen.embedding_applied _item_description.description ; 'YES' indicates that the specimen has been embedded. ; _item.name '_em_specimen.embedding_applied' _item.category_id em_specimen _item.mandatory_code yes _item_type.code boolean loop_ _item_enumeration.value YES NO _item_related.related_name '_em_experiment.specimen_type' #V5 _item_related.function_code replaces #V5 save_ save__em_specimen.experiment_id _item_description.description ; Pointer to _em_experiment.id. ; _item.name '_em_specimen.experiment_id' _item.category_id em_specimen _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_specimen.experiment_id' #V5 _item_linked.parent_name '_em_experiment.id' #V5 save_ save__em_specimen.id _item_description.description ; The item _em_specimen.id uniquely identifies a specimen along with its preparation methods. ; _item.name '_em_specimen.id' _item.category_id em_specimen _item.mandatory_code yes _item_type.code code save_ save__em_specimen.shadowing_applied _item_description.description ; 'YES' indicates that the specimen has been shadowed. ; _item.name '_em_specimen.shadowing_applied' _item.category_id em_specimen _item.mandatory_code yes _item_type.code boolean loop_ _item_enumeration.value YES NO save_ save__em_specimen.staining_applied _item_description.description ; 'YES' indicates that the specimen has been stained. ; _item.name '_em_specimen.staining_applied' _item.category_id em_specimen _item.mandatory_code yes _item_type.code boolean loop_ _item_enumeration.value YES NO _item_related.related_name '_em_experiment.specimen_type' #V5 _item_related.function_code replaces #V5 save_ save__em_specimen.vitrification_applied _item_description.description ; 'YES' indicates that the specimen was vitrified by cryopreservation. ; _item.name '_em_specimen.vitrification_applied' _item.category_id em_specimen _item.mandatory_code yes _item_type.code boolean loop_ _item_enumeration.value YES NO _item_related.related_name '_em_experiment.specimen_type' #V5 _item_related.function_code replaces #V5 save_ ################## ## EM_EMBEDDING ## ################## save_em_embedding _category.description ; Sugar embedding category ; _category.id em_embedding _category.mandatory_code no _category_key.name '_em_embedding.id' loop_ _category_group.id 'inclusive_group' 'em_group' # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_embedding #V4 save_ save__em_embedding.details _item_description.description ; Staining procedure used in the specimen preparation. ; _item.name '_em_embedding.details' _item.category_id em_embedding _item.mandatory_code no _item_type.code text _item_examples.case ; The crystal suspension was injected into the lens of a drop of buffer containing 1 % tannin sitting on a carbon film supported by a molybdenum grid. An equal volume of 1% glucose was then added and the solution thoroughly but gently mixed. The grid was then blotted, air dried, and frozen in LN2. ; save_ save__em_embedding.id _item_description.description ; This data item is the primary key of the category. ; _item.name '_em_embedding.id' _item.category_id em_embedding _item.mandatory_code yes _item_type.code code save_ save__em_embedding.material _item_description.description ; The embedding material. ; _item.name '_em_embedding.material' _item.category_id em_embedding _item.mandatory_code yes _item_type.code line _item_examples.case 'tannin and glucose' save_ save__em_embedding.specimen_id _item_description.description ; Foreign key relationship to the EMD SPECIMEN category ; _item.name '_em_embedding.specimen_id' _item.category_id em_embedding _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_embedding.specimen_id' _item_linked.parent_name '_em_specimen.id' save_ ######################### ## EM_FIDUCIAL_MARKERS ## ######################### save_em_fiducial_markers _category.description ; Description of fiducial markers. ; _category.id em_fiducial_markers _category.mandatory_code no _category_key.name '_em_fiducial_markers.id' loop_ _category_group.id 'inclusive_group' 'emdb_extension_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_fiducial_markers save_ save__em_fiducial_markers.diameter _item_description.description ; Diameter of the fiducial markers ; _item.name '_em_fiducial_markers.diameter' _item.category_id em_fiducial_markers _item.mandatory_code yes _item_units.code nanometres _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.1 0.1 0.1 100 100 100 _item_examples.case 14 save_ save__em_fiducial_markers.em_tomography_specimen_id _item_description.description ; Foreign key relationship to the EMD SPECIMEN category ; _item.name '_em_fiducial_markers.em_tomography_specimen_id' _item.category_id em_fiducial_markers _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_fiducial_markers.em_tomography_specimen_id' _item_linked.parent_name '_em_tomography_specimen.id' save_ save__em_fiducial_markers.id _item_description.description ; This data item is the primary key of the category. ; _item.name '_em_fiducial_markers.id' _item.category_id em_fiducial_markers _item.mandatory_code yes _item_type.code code save_ save__em_fiducial_markers.manufacturer _item_description.description ; Manufacturer source for the fiducial markers ; _item.name '_em_fiducial_markers.manufacturer' _item.category_id em_fiducial_markers _item.mandatory_code yes _item_type.code line _item_examples.case nanoprobes save_ ######################### ## EM_FOCUSED_ION_BEAM ## ######################### save_em_focused_ion_beam _category.description ; Description of sectioning by focused_ion_beam ; _category.id em_focused_ion_beam _category.mandatory_code no _category_key.name '_em_focused_ion_beam.id' loop_ _category_group.id 'inclusive_group' 'emdb_extension_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_focused_ion_beam save_ save__em_focused_ion_beam.current _item_description.description ; Current of the ion beam, in nanoamperes (nA) ; _item.name '_em_focused_ion_beam.current' _item.category_id em_focused_ion_beam _item.mandatory_code yes # _item_units.code nanoamperes _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.001 0.001 0.001 20 20 20 save_ save__em_focused_ion_beam.details _item_description.description ; Additional details about FIB milling ; _item.name '_em_focused_ion_beam.details' _item.category_id em_focused_ion_beam _item.mandatory_code no _item_type.code text save_ save__em_focused_ion_beam.dose_rate _item_description.description ; ions per sq centimetre per second ; _item.name '_em_focused_ion_beam.dose_rate' _item.category_id em_focused_ion_beam _item.mandatory_code no _item_units.code ions_per_cm_squared_per_sec _item_type.code int _item_range.maximum . _item_range.minimum 0 save_ save__em_focused_ion_beam.duration _item_description.description ; Milling time in seconds (is seconds most appropriate unit?) ; _item.name '_em_focused_ion_beam.duration' _item.category_id em_focused_ion_beam _item.mandatory_code yes _item_units.code seconds _item_type.code float _item_range.maximum . _item_range.minimum 0.0 save_ save__em_focused_ion_beam.em_tomography_specimen_id _item_description.description ; Foreign key relationship to the EM TOMOGRAPHY SPECIMEN category ; _item.name '_em_focused_ion_beam.em_tomography_specimen_id' _item.category_id em_focused_ion_beam _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_focused_ion_beam.em_tomography_specimen_id' _item_linked.parent_name '_em_tomography_specimen.id' save_ save__em_focused_ion_beam.final_thickness _item_description.description ; Final sample thickness ; _item.name '_em_focused_ion_beam.final_thickness' _item.category_id em_focused_ion_beam _item.mandatory_code yes _item_units.code nanometers _item_type.code positive_int loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_em_focused_ion_beam.final_thickness' 10 10 '_em_focused_ion_beam.final_thickness' 10 300 '_em_focused_ion_beam.final_thickness' 300 300 save_ save__em_focused_ion_beam.id _item_description.description ; This data item is the primary key of the category. ; _item.name '_em_focused_ion_beam.id' _item.category_id em_focused_ion_beam _item.mandatory_code yes _item_type.code code save_ save__em_focused_ion_beam.initial_thickness _item_description.description ; Initial sample thickness ; _item.name '_em_focused_ion_beam.initial_thickness' _item.category_id em_focused_ion_beam _item.mandatory_code yes _item_units.code nanometers _item_type.code int loop_ _item_range.maximum _item_range.minimum 100000 100000 100000 10 10 10 # loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_em_focused_ion_beam.initial_thickness' 10 10 '_em_focused_ion_beam.initial_thickness' 10 1000 '_em_focused_ion_beam.initial_thickness' 1000 1000 save_ save__em_focused_ion_beam.instrument _item_description.description ; The instrument used for focused ion beam sectioning ; _item.name '_em_focused_ion_beam.instrument' _item.category_id em_focused_ion_beam _item.mandatory_code yes _item_type.code line _item_examples.case 'FEI Quanta FIB' save_ save__em_focused_ion_beam.ion _item_description.description ; The ion source used to ablate the specimen ; _item.name '_em_focused_ion_beam.ion' _item.category_id em_focused_ion_beam _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'gallium ion' 'gold ion' 'iridium ion' save_ save__em_focused_ion_beam.temperature _item_description.description ; Temperature of the sample during milling, in degrees Kelvin ; _item.name '_em_focused_ion_beam.temperature' _item.category_id em_focused_ion_beam _item.mandatory_code yes _item_units.code kelvins _item_type.code positive_int _item_examples.case 100 save_ save__em_focused_ion_beam.voltage _item_description.description ; Voltage applied to the ion source, in kilovolts ; _item.name '_em_focused_ion_beam.voltage' _item.category_id em_focused_ion_beam _item.mandatory_code yes _item_units.code kilovolts _item_type.code positive_int _item_examples.case 30 save_ ########################## ## EM_GRID_PRETREATMENT ## ########################## save_em_grid_pretreatment _category.description ; Data items describing glow discharge pretreatment for an EM grid ; _category.id em_grid_pretreatment _category.mandatory_code no _category_key.name '_em_grid_pretreatment.id' loop_ _category_group.id 'inclusive_group' 'emdb_extension_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_grid_pretreatment.id 1 _em_grid_pretreatment.sample_support_id 1 _em_grid_pretreatment.type 'GLOW DISCHARGE' _em_grid_pretreatment.time 12 ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_grid_pretreatment save_ save__em_grid_pretreatment.atmosphere _item_description.description ; The atmosphere used for glow discharge of the em grid. ; _item.name '_em_grid_pretreatment.atmosphere' _item.category_id em_grid_pretreatment _item.mandatory_code no _item_type.code line loop_ _item_examples.case AIR AMYLAMINE save_ save__em_grid_pretreatment.id _item_description.description ; This data item is the primary key of the category. ; _item.name '_em_grid_pretreatment.id' _item.category_id em_grid_pretreatment _item.mandatory_code yes _item_type.code code save_ save__em_grid_pretreatment.pressure _item_description.description 'Pressure of the glow discharge chamber, in pascals' _item.name '_em_grid_pretreatment.pressure' _item.category_id em_grid_pretreatment _item.mandatory_code no _item_range.maximum . _item_range.minimum 0.0 _item_type.code float # _item_units.code pascals save_ save__em_grid_pretreatment.sample_support_id _item_description.description ; Pointer to EM SAMPLE SUPPORT ; _item.name '_em_grid_pretreatment.sample_support_id' _item.category_id em_grid_pretreatment _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_grid_pretreatment.sample_support_id' _item_linked.parent_name '_em_sample_support.id' save_ save__em_grid_pretreatment.time _item_description.description 'Time period for glow discharge of the em grid, in seconds' _item.name '_em_grid_pretreatment.time' _item.category_id em_grid_pretreatment _item.mandatory_code no _item_type.code positive_int _item_units.code seconds save_ save__em_grid_pretreatment.type _item_description.description 'Type of grid pretreatment' _item.name '_em_grid_pretreatment.type' _item.category_id em_grid_pretreatment _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value 'GLOW DISCHARGE' 'PLASMA CLEANING' save_ ####################### ## EM_ULTRAMICROTOMY ## ####################### save_em_ultramicrotomy _category.description ; Description of sectioning by ultramicrotomy ; _category.id em_ultramicrotomy _category.mandatory_code no _category_key.name '_em_ultramicrotomy.id' loop_ _category_group.id 'inclusive_group' 'emdb_extension_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_ultramicrotomy save_ save__em_ultramicrotomy.details _item_description.description ; Additional details about the ultramicrotomy sample preparation ; _item.name '_em_ultramicrotomy.details' _item.category_id em_ultramicrotomy _item.mandatory_code no _item_type.code text save_ save__em_ultramicrotomy.em_tomography_specimen_id _item_description.description ; Foreign key relationship to the EMD SPECIMEN category ; _item.name '_em_ultramicrotomy.em_tomography_specimen_id' _item.category_id em_ultramicrotomy _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_ultramicrotomy.em_tomography_specimen_id' _item_linked.parent_name '_em_tomography_specimen.id' save_ save__em_ultramicrotomy.final_thickness _item_description.description ; Final thickness of the sectioned sample, in nanometers ; _item.name '_em_ultramicrotomy.final_thickness' _item.category_id em_ultramicrotomy _item.mandatory_code yes _item_units.code nanometers _item_type.code positive_int _item_examples.case 60 save_ save__em_ultramicrotomy.id _item_description.description ; This data item is the primary key of the category. ; _item.name '_em_ultramicrotomy.id' _item.category_id em_ultramicrotomy _item.mandatory_code yes _item_type.code code save_ save__em_ultramicrotomy.instrument _item_description.description ; Ultramicrotome instrument used for sectioning ; _item.name '_em_ultramicrotomy.instrument' _item.category_id em_ultramicrotomy _item.mandatory_code yes _item_type.code line _item_examples.case 'Leica EM UC7' save_ save__em_ultramicrotomy.temperature _item_description.description ; Temperature of the sample during microtome sectioning, in degrees Kelvin ; _item.name '_em_ultramicrotomy.temperature' _item.category_id em_ultramicrotomy _item.mandatory_code yes _item_units.code kelvins _item_type.code positive_int _item_examples.case 100 save_ ############################### ## EM_HIGH_PRESSURE_FREEZING ## ############################### save_em_high_pressure_freezing _category.description ; Description of high pressure freezing ; _category.id em_high_pressure_freezing _category.mandatory_code no _category_key.name '_em_high_pressure_freezing.id' loop_ _category_group.id 'inclusive_group' 'emdb_extension_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_high_pressure_freezing save_ save__em_high_pressure_freezing.details _item_description.description ; Additional details about high pressure freezing. ; _item.name '_em_high_pressure_freezing.details' _item.category_id em_high_pressure_freezing _item.mandatory_code no _item_type.code text _item_examples.case ; High pressure freezing chamber was 250 um thick, 3.0 mm diameter, with central cavities 1.5 mm x 0.5 mm x 200 um deep. The chamber was pre-coated with 0.5% lecithin in chloroform. ; save_ save__em_high_pressure_freezing.em_tomography_specimen_id _item_description.description ; Foreign key relationship to the EMD SPECIMEN category ; _item.name '_em_high_pressure_freezing.em_tomography_specimen_id' _item.category_id em_high_pressure_freezing _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_high_pressure_freezing.em_tomography_specimen_id' _item_linked.parent_name '_em_tomography_specimen.id' save_ save__em_high_pressure_freezing.id _item_description.description ; This data item is the primary key of the category. ; _item.name '_em_high_pressure_freezing.id' _item.category_id em_high_pressure_freezing _item.mandatory_code yes _item_type.code code save_ save__em_high_pressure_freezing.instrument _item_description.description ; The instrument used for high pressure freezing. ; _item.name '_em_high_pressure_freezing.instrument' _item.category_id em_high_pressure_freezing _item.mandatory_code yes _item_type.code line _item_examples.case 'Leica EM HP100' save_ ################## ## EM_SHADOWING ## ################## save_em_shadowing _category.description 'Data items related to shadowing of an EM specimen' _category.id em_shadowing _category.mandatory_code no loop_ _category_key.name '_em_shadowing.id' '_em_shadowing.specimen_id' loop_ _category_group.id 'inclusive_group' 'emdb_extension_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_shadowing.id 1 _em_shadowing.specimen_id 1 _em_shadowing.angle 45 _em_shadowing.thickness 3 _em_shadowing.material Platinum _em_shadowing.details 'shadowing was used to create a platinum replica' ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_shadowing save_ save__em_shadowing.angle _item_description.description 'The shadowing angle (degrees)' _item.name '_em_shadowing.angle' _item.category_id em_shadowing _item.mandatory_code yes _item_type.code float _item_units.code degrees _item_examples.case 20 _item_range.minimum 0.0 _item_range.maximum 90.0 save_ save__em_shadowing.details _item_description.description 'Additional details about specimen shadowing' _item.name '_em_shadowing.details' _item.category_id em_shadowing _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'rotary shadowing' 'directional shadowing' 'shadowing was used to create a carbon replica' save_ save__em_shadowing.id _item_description.description ; This data item is the primary key of the category. ; _item.name '_em_shadowing.id' _item.category_id em_shadowing _item.mandatory_code yes _item_type.code code save_ save__em_shadowing.material _item_description.description ; The material used in the shadowing. ; _item.name '_em_shadowing.material' _item.category_id em_shadowing _item.mandatory_code yes _item_type.code line _item_examples.case Platinum # loop_ #_item_enumeration.value TODO-enumeration save_ save__em_shadowing.specimen_id _item_description.description ; Foreign key relationship to the EMD SPECIMEN category ; _item.name '_em_shadowing.specimen_id' _item.category_id em_shadowing _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_shadowing.specimen_id' _item_linked.parent_name '_em_specimen.id' save_ save__em_shadowing.thickness _item_description.description 'Thickness of the deposited shadow coat, in Angstroms.' _item.name '_em_shadowing.thickness' _item.category_id em_shadowing _item.mandatory_code yes _item_range.maximum . _item_range.minimum 0.0 _item_type.code float _item_units.code angstroms save_ ############################ ## EM_TOMOGRAPHY_SPECIMEN ## ############################ save_em_tomography_specimen _category.description ; Description specimen preparation for imaging using tomography. ; _category.id em_tomography_specimen _category.mandatory_code no _category_key.name '_em_tomography_specimen.id' loop_ _category_group.id 'inclusive_group' 'emdb_extension_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_tomography_specimen save_ save__em_tomography_specimen.cryo_protectant _item_description.description ; The type of cryo-protectant used during specimen preparation. ; _item.name '_em_tomography_specimen.cryo_protectant' _item.category_id em_tomography_specimen _item.mandatory_code no _pdbx_item.name '_em_tomography_specimen.cryo_protectant' _pdbx_item.mandatory_code no _item_type.code line _item_examples.case '2% glycerol' save_ save__em_tomography_specimen.details _item_description.description ; Any additional details about specimen preparation. ; _item.name '_em_tomography_specimen.details' _item.category_id em_tomography_specimen _item.mandatory_code no _item_type.code text _item_examples.case ; Axonemes were mixed with 15-nm colloidal gold suspension conjugated with BSA. Suspended axonemes plus colloidal gold were loaded onto grids and plunge-frozen in liquid ethane with a Leica EM GP automated plunge-freezing device. ; save_ save__em_tomography_specimen.fiducial_markers _item_description.description ; 'YES' indicates that fiducial markers were used in the specimen preparation ; _item.name '_em_tomography_specimen.fiducial_markers' _item.category_id em_tomography_specimen _item.mandatory_code no _pdbx_item.name '_em_tomography_specimen.fiducial_markers' _pdbx_item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value YES NO save_ save__em_tomography_specimen.high_pressure_freezing _item_description.description ; 'YES' indicates that high pressure freezing was used in the specimen preparation ; _item.name '_em_tomography_specimen.high_pressure_freezing' _item.category_id em_tomography_specimen _item.mandatory_code no _pdbx_item.name '_em_tomography_specimen.high_pressure_freezing' _pdbx_item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value YES NO save_ save__em_tomography_specimen.id _item_description.description ; This data item is the primary key of the category. ; _item.name '_em_tomography_specimen.id' _item.category_id em_tomography_specimen _item.mandatory_code yes _item_type.code code save_ save__em_tomography_specimen.sectioning _item_description.description ; The type of sectioning performed during specimen preparation. ; _item.name '_em_tomography_specimen.sectioning' _item.category_id em_tomography_specimen _item.mandatory_code no _pdbx_item.name '_em_tomography_specimen.sectioning' _pdbx_item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'NO SECTIONING' ULTRAMICROTOMY 'FOCUSED ION BEAM' save_ save__em_tomography_specimen.specimen_id _item_description.description ; Foreign key relationship to the EMD SPECIMEN category ; _item.name '_em_tomography_specimen.specimen_id' _item.category_id em_tomography_specimen _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_tomography_specimen.specimen_id' _item_linked.parent_name '_em_specimen.id' save_ ########################## ## EM_CRYSTAL_FORMATION ## ########################## save_em_crystal_formation _category.description ; Description of growth of a 2D, 3D, or helical crystal array. ; _category.id em_crystal_formation _category.mandatory_code no _category_key.name '_em_crystal_formation.id' loop_ _category_group.id 'inclusive_group' 'em_group' # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_crystal_formation #V4 save_ save__em_crystal_formation.atmosphere _item_description.description ; The type of atmosphere in which crystals were grown ; _item.name '_em_crystal_formation.atmosphere' _item.category_id em_crystal_formation _item.mandatory_code no _item_type.code text _item_examples.case ; Crystallization was performed in an environmental chamber with constant nitrogen gas flow. ; save_ save__em_crystal_formation.details _item_description.description ; Description of growth of a 2D, 3D, or helical crystal array. ; _item.name '_em_crystal_formation.details' _item.category_id em_crystal_formation _item.mandatory_code no _item_type.code text _item_examples.case ; Lysozyme (200 mg/ml) was mixed 1 to 1 with precipitant solution (3.5M sodium chloride, 15% PEG5000, 50 mM sodium acetate pH 4.5). Microcrystals were grown by the hanging drop method. ; save_ save__em_crystal_formation.id _item_description.description ; This data item is the primary key of the category. ; _item.name '_em_crystal_formation.id' _item.category_id em_crystal_formation _item.mandatory_code yes _item_type.code code save_ save__em_crystal_formation.instrument _item_description.description ; Instrument used to prepare the crystalline array ; _item.name '_em_crystal_formation.instrument' _item.category_id em_crystal_formation _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'Langmuir trough' 'Gryphon LCP' save_ save__em_crystal_formation.lipid_mixture _item_description.description ; Description of the lipid mixture used for crystallization ; _item.name '_em_crystal_formation.lipid_mixture' _item.category_id em_crystal_formation _item.mandatory_code no _item_type.code text _item_examples.case 'monoolein and monopalmitolein were mixed 1:1' save_ save__em_crystal_formation.lipid_protein_ratio _item_description.description ; The molar ratio of lipid to protein in the crystallized sample ; _item.name '_em_crystal_formation.lipid_protein_ratio' _item.category_id em_crystal_formation _item.mandatory_code no _item_type.code float _item_examples.case 5.0 _item_range.minimum 0.0 _item_range.maximum . save_ save__em_crystal_formation.specimen_id _item_description.description ; Foreign key relationship to the EMD SPECIMEN category ; _item.name '_em_crystal_formation.specimen_id' _item.category_id em_crystal_formation _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_crystal_formation.specimen_id' _item_linked.parent_name '_em_specimen.id' save_ save__em_crystal_formation.temperature _item_description.description ; The value of the temperature in degrees Kelvin used for growing the crystals. ; _item.name '_em_crystal_formation.temperature' _item.category_id em_crystal_formation _item.mandatory_code no _item_units.code kelvins _item_type.code positive_int _item_examples.case 298 save_ save__em_crystal_formation.time _item_description.description ; Time period for array crystallization, in time unit indicated (min, hr, day, month, year) ; _item.name '_em_crystal_formation.time' _item.category_id em_crystal_formation _item.mandatory_code no _item_type.code positive_int _item_examples.case 50 save_ save__em_crystal_formation.time_unit _item_description.description ; Time unit for array crystallization ; _item.name '_em_crystal_formation.time_unit' _item.category_id em_crystal_formation _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value MINUTE HOUR DAY MONTH YEAR save_ ################# ## EM_STAINING ## ################# save_em_staining _category.description ; Staining category ; _category.id em_staining _category.mandatory_code no _category_key.name '_em_staining.id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_staining.id 1 _em_staining.specimen_id 1 _em_staining.material 'Uranyl Acetate' _em_staining.type NEGATIVE ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_staining #V4 save_ save__em_staining.details _item_description.description ; Staining procedure used in the specimen preparation. ; _item.name '_em_staining.details' _item.category_id em_staining _item.mandatory_code no _item_type.code text _item_examples.case ; Negatively stained EM specimens were prepared using a carbon-sandwich technique and uranyl-formate stain. ; save_ save__em_staining.id _item_description.description ; This data item is the primary key of the category. ; _item.name '_em_staining.id' _item.category_id em_staining _item.mandatory_code yes _item_type.code code save_ save__em_staining.material _item_description.description ; The staining material. ; _item.name '_em_staining.material' _item.category_id em_staining _item.mandatory_code yes _item_type.code line _item_examples.case 'Uranyl Acetate' save_ save__em_staining.specimen_id _item_description.description ; Foreign key relationship to the EMD SPECIMEN category ; _item.name '_em_staining.specimen_id' _item.category_id em_staining _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_staining.specimen_id' _item_linked.parent_name '_em_specimen.id' save_ save__em_staining.type _item_description.description 'type of staining' _item.name '_em_staining.type' _item.category_id em_staining _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value NEGATIVE POSITIVE NONE save_ ##################### ## EM_SUPPORT_FILM ## ##################### save_em_support_film _category.description 'Data items to describe films supporting the specimen' _category.id em_support_film _category.mandatory_code no _category_key.name '_em_support_film.id' loop_ _category_group.id 'inclusive_group' 'emdb_extension_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; _em_support_film.id 1 _em_support_film.material CARBON ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_support_film save_ save__em_support_film.id _item_description.description ; This data item is the primary key of the category. ; _item.name '_em_support_film.id' _item.category_id em_support_film _item.mandatory_code yes _item_type.code code save_ save__em_support_film.material _item_description.description ; The support material covering the em grid. ; _item.name '_em_support_film.material' _item.category_id em_support_film _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value CARBON 'FORMVAR' 'CELLULOSE ACETATE' 'PARLODION' GOLD GRAPHENE "GRAPHENE OXIDE" save_ save__em_support_film.sample_support_id _item_description.description ; Pointer to EM SAMPLE SUPPORT ; _item.name '_em_support_film.sample_support_id' _item.category_id em_support_film _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_support_film.sample_support_id' _item_linked.parent_name '_em_sample_support.id' save_ save__em_support_film.thickness _item_description.description 'Thickness of the support film, in Angstroms' _item.name '_em_support_film.thickness' _item.category_id em_support_film _item.mandatory_code no _item_range.maximum . _item_range.minimum 0.0 _item_type.code float _item_units.code angstroms save_ save__em_support_film.topology _item_description.description ; The topology of the material from which the grid is made. ; _item.name '_em_support_film.topology' _item.category_id em_support_film _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value CONTINUOUS LACEY HOLEY 'HOLEY ARRAY' save_ ######################### ## EM_BUFFER_COMPONENT ## ######################### save_em_buffer_component _category.description ; Buffer category ; _category.id em_buffer_component _category.mandatory_code no loop_ _category_key.name '_em_buffer_component.id' '_em_buffer_component.buffer_id' loop_ _category_group.id 'inclusive_group' 'em_group' # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_buffer_component #V4 save_ save__em_buffer_component.buffer_id _item_description.description ; Foreign key to the entry category. ; _item.name '_em_buffer_component.buffer_id' _item.category_id em_buffer_component _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_buffer_component.buffer_id' _item_linked.parent_name '_em_buffer.id' save_ save__em_buffer_component.concentration _item_description.description ; The concentration of the sample (arbitrary units). ; _item.name '_em_buffer_component.concentration' _item.category_id em_buffer_component _item.mandatory_code no _item_type.code float _item_examples.case '1.35' _item_range.minimum 0.0 _item_range.maximum . save_ save__em_buffer_component.concentration_units _item_description.description ; Units for the sample concentration value. ; _item.name '_em_buffer_component.concentration_units' _item.category_id em_buffer_component _item.mandatory_code no _item_type.code line _item_examples.case 'mg/mL' save_ save__em_buffer_component.formula _item_description.description 'formula for buffer component' _item.name '_em_buffer_component.formula' _item.category_id em_buffer_component _item.mandatory_code no _item_type.code code _item_examples.case 'NaCl' save_ save__em_buffer_component.id _item_description.description ; This data item is the primary key of the category. ; _item.name '_em_buffer_component.id' _item.category_id em_buffer_component _item.mandatory_code yes _item_type.code code save_ save__em_buffer_component.name _item_description.description 'name of the buffer component' _item.name '_em_buffer_component.name' _item.category_id em_buffer_component _item.mandatory_code no _item_type.code line _item_examples.case 'sodium chloride' save_ #################### ## EM_DIFFRACTION ## #################### save_em_diffraction _category.description ; Microscopy parameters relevant only for crystallography ; _category.id em_diffraction _category.mandatory_code no loop_ _category_key.name '_em_diffraction.id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; loop_ _em_diffraction.id _em_diffraction.imaging_id _em_diffraction.camera_length 1 1 800 2 2 750 ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_diffraction #V4 save_ save__em_diffraction.camera_length _item_description.description ; TODO ; _item.name '_em_diffraction.camera_length' _item.category_id em_diffraction _item.mandatory_code yes _item_type.code float _item_units.code millimetres _item_examples.case 800 _item_range.minimum 0.0 _item_range.maximum . save_ save__em_diffraction.id _item_description.description ; Primary key ; _item.name '_em_diffraction.id' _item.category_id em_diffraction _item.mandatory_code yes _item_type.code code save_ save__em_diffraction.imaging_id _item_description.description ; Foreign key to the EM_IMAGING category ; _item.name '_em_diffraction.imaging_id' _item.category_id em_diffraction _item.mandatory_code yes _item_type.code code save_ save__em_diffraction.tilt_angle_list _item_description.description ; Comma-separated list of tilt angles (in degrees) used in the electron diffraction experiment. ; _item.name '_em_diffraction.tilt_angle_list' _item.category_id em_diffraction _item.mandatory_code no _item_type.code line _item_examples.case '20,40,50,55' save_ ########################## ## EM_DIFFRACTION_SHELL ## ########################## save_em_diffraction_shell _category.description ; Statistical parameters for electron diffraction measurements within a resolution shell ; _category.id em_diffraction_shell _category.mandatory_code no loop_ _category_key.name '_em_diffraction_shell.id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; loop_ _em_diffraction_shell.id _em_diffraction_shell.high_resolution _em_diffraction_shell.low_resolution _em_diffraction_shell.multiplicity _em_diffraction_shell.fourier_space_coverage _em_diffraction_shell.num_structure_factors _em_diffraction_shell.phase_residual 1 7.5 45 2.3 93.0 327 13.5 ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_diffraction_shell #V4 save_ save__em_diffraction_shell.em_diffraction_stats_id _item_description.description ; Pointer to EM CRYSTALLOGRAPHY STATS ; _item.name '_em_diffraction_shell.em_diffraction_stats_id' _item.category_id em_diffraction_shell _item.mandatory_code no _item_type.code code save_ save__em_diffraction_shell.fourier_space_coverage _item_description.description ; Completeness of the structure factor data within this resolution shell, in percent ; _item.name '_em_diffraction_shell.fourier_space_coverage' _item.category_id em_diffraction_shell _item.mandatory_code yes _item_type.code float _item_examples.case 93.2 loop_ _item_range.minimum _item_range.maximum 0.0 100.0 100.0 100.0 save_ save__em_diffraction_shell.high_resolution _item_description.description ; High resolution limit for this shell (Angstroms) ; _item.name '_em_diffraction_shell.high_resolution' _item.category_id em_diffraction_shell _item.mandatory_code yes _item_type.code float _item_units.code angstroms _item_examples.case 3.0 _item_range.minimum 0.0 _item_range.maximum . save_ save__em_diffraction_shell.id _item_description.description ; Unique identifier for the category em_diffraction_shell ; _item.name '_em_diffraction_shell.id' _item.category_id em_diffraction_shell _item.mandatory_code yes _item_type.code code save_ save__em_diffraction_shell.low_resolution _item_description.description ; Low resolution limit for this shell (Angstroms) ; _item.name '_em_diffraction_shell.low_resolution' _item.category_id em_diffraction_shell _item.mandatory_code yes _item_type.code float _item_units.code angstroms _item_examples.case 5.5 _item_range.minimum 0.0 _item_range.maximum . save_ save__em_diffraction_shell.multiplicity _item_description.description ; Multiplicity (average number of measurements) for the structure factors in this resolution shell ; _item.name '_em_diffraction_shell.multiplicity' _item.category_id em_diffraction_shell _item.mandatory_code yes _item_type.code float _item_examples.case 2.5 _item_range.minimum 0.0 _item_range.maximum . save_ save__em_diffraction_shell.num_structure_factors _item_description.description ; Number of measured structure factors in this resolution shell ; _item.name '_em_diffraction_shell.num_structure_factors' _item.category_id em_diffraction_shell _item.mandatory_code yes _item_type.code positive_int _item_examples.case 244 save_ save__em_diffraction_shell.phase_residual _item_description.description ; Phase residual for this resolution shell, in degrees ; _item.name '_em_diffraction_shell.phase_residual' _item.category_id em_diffraction_shell _item.mandatory_code yes _item_type.code float _item_units.code degrees _item_examples.case 13.5 _item_range.minimum 0.0 _item_range.maximum 180.0 save_ ########################## ## EM_DIFFRACTION_STATS ## ########################## save_em_diffraction_stats _category.description ; Statistical parameters for electron diffraction measurements ; _category.id em_diffraction_stats _category.mandatory_code no loop_ _category_key.name '_em_diffraction_stats.id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_diffraction_stats.id 1 _em_diffraction_stats.fourier_space_coverage 92 _em_diffraction_stats.high_resolution 7.2 _em_diffraction_stats.num_intensities_measured 1524 _em_diffraction_stats.num_structure_factors 325 _em_diffraction_stats.overall_phase_error 18.6 _em_diffraction_stats.overall_phase_residual 9.5 _em_diffraction_stats.phase_error_rejection_criteria None _em_diffraction_stats.r_merge 19.5 _em_diffraction_stats.r_sym 23.2 ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_diffraction_stats #V4 save_ save__em_diffraction_stats.details _item_description.description ; Any addition details about the structure factor measurements ; _item.name '_em_diffraction_stats.details' _item.category_id em_diffraction_stats _item.mandatory_code no _item_type.code text _item_examples.case ; Phases were obtained from micrograph images of the 2D crystals ; save_ save__em_diffraction_stats.fourier_space_coverage _item_description.description ; Completeness of the structure factor data within the defined space group at the reported resolution (percent). ; _item.name '_em_diffraction_stats.fourier_space_coverage' _item.category_id em_diffraction_stats _item.mandatory_code yes _item_type.code float _item_examples.case 89.3 loop_ _item_range.minimum _item_range.maximum 0.0 100.0 100.0 100.0 save_ save__em_diffraction_stats.high_resolution _item_description.description ; High resolution limit of the structure factor data, in Angstroms ; _item.name '_em_diffraction_stats.high_resolution' _item.category_id em_diffraction_stats _item.mandatory_code yes _item_type.code float _item_units.code angstroms _item_examples.case 7.5 _item_range.minimum 0.0 _item_range.maximum . save_ save__em_diffraction_stats.id _item_description.description ; Identifier for this category ; _item.name '_em_diffraction_stats.id' _item.category_id em_diffraction_stats _item.mandatory_code yes _item_type.code code save_ save__em_diffraction_stats.image_processing_id _item_description.description ; Pointer to _em_image_processing.id ; _item.name '_em_diffraction_stats.image_processing_id' _item.category_id em_diffraction_stats _item.mandatory_code no _item_type.code code _item_linked.child_name '_em_diffraction_stats.image_processing_id' _item_linked.parent_name '_em_image_processing.id' save_ save__em_diffraction_stats.num_intensities_measured _item_description.description ; Total number of diffraction intensities measured (before averaging) ; _item.name '_em_diffraction_stats.num_intensities_measured' _item.category_id em_diffraction_stats _item.mandatory_code yes _item_type.code positive_int _item_examples.case 1590 save_ save__em_diffraction_stats.num_structure_factors _item_description.description ; Number of structure factors obtained (merged amplitudes + phases) ; _item.name '_em_diffraction_stats.num_structure_factors' _item.category_id em_diffraction_stats _item.mandatory_code yes _item_type.code positive_int _item_examples.case 325 save_ save__em_diffraction_stats.overall_phase_error #different from phase residual?? _item_description.description ; Overall phase error in degrees ; _item.name '_em_diffraction_stats.overall_phase_error' _item.category_id em_diffraction_stats _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case 17.5 loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 180.0 save_ save__em_diffraction_stats.overall_phase_residual _item_description.description ; Overall phase residual in degrees ; _item.name '_em_diffraction_stats.overall_phase_residual' _item.category_id em_diffraction_stats _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case 17.5 _item_range.minimum 0.0 _item_range.maximum 180.0 save_ save__em_diffraction_stats.phase_error_rejection_criteria _item_description.description ; Criteria used to reject phases ; _item.name '_em_diffraction_stats.phase_error_rejection_criteria' _item.category_id em_diffraction_stats _item.mandatory_code yes _item_type.code line _item_examples.case ; Structure factors with phase errors higher than 20 degrees were omitted from refinement ; save_ save__em_diffraction_stats.r_merge _item_description.description ; Rmerge value (percent) ; _item.name '_em_diffraction_stats.r_merge' _item.category_id em_diffraction_stats _item.mandatory_code yes _item_type.code float _item_examples.case 19.8 loop_ _item_range.minimum _item_range.maximum 0.0 100.0 100.0 100.0 save_ save__em_diffraction_stats.r_sym _item_description.description ; Rsym value (percent) ; _item.name '_em_diffraction_stats.r_sym' _item.category_id em_diffraction_stats _item.mandatory_code no _item_type.code float _item_examples.case 24.4 loop_ _item_range.minimum _item_range.maximum 0.0 100.0 100.0 100.0 save_ ################### ## EM_TOMOGRAPHY ## ################### save_em_tomography _category.description ; Microscopy parameters only relevant for tomography ; _category.id em_tomography _category.mandatory_code no loop_ _category_key.name '_em_tomography.id' '_em_tomography.imaging_id' loop_ _category_group.id 'inclusive_group' 'emdb_extension_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_tomography.id 1 _em_tomography.imaging_id 1 _em_tomography.dual_tilt_axis_rotation 90. _em_tomography.axis1_angle_increment 2 _em_tomography.axis1_min_angle -70. _em_tomography.axis1_max_angle 70. _em_tomography.axis2_angle_increment 2 _em_tomography.axis2_min_angle -70. _em_tomography.axis2_max_angle 70. ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_tomography save_ save__em_tomography.axis1_angle_increment _item_description.description ; The angle increment of specimen tilting to obtain the recorded images (axis 1). ; _item.name '_em_tomography.axis1_angle_increment' _item.category_id em_tomography _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case 2 _item_range.minimum 0.0 _item_range.maximum . save_ save__em_tomography.axis1_max_angle _item_description.description ; The maximum angle at which the specimen was tilted to obtain recorded images (axis 1). ; _item.name '_em_tomography.axis1_max_angle' _item.category_id em_tomography _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case 70 loop_ _item_range.minimum _item_range.maximum -90.0 -90.0 -90.0 90.0 90.0 90.0 save_ save__em_tomography.axis1_min_angle _item_description.description ; The minimum angle at which the specimen was tilted to obtain recorded images (axis 1). ; _item.name '_em_tomography.axis1_min_angle' _item.category_id em_tomography _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case -70 loop_ _item_range.minimum _item_range.maximum -90.0 -90.0 -90.0 90.0 90.0 90.0 save_ save__em_tomography.axis2_angle_increment _item_description.description ; The angle increment of specimen tilting to obtain the recorded images (axis 1). ; _item.name '_em_tomography.axis2_angle_increment' _item.category_id em_tomography _item.mandatory_code no _item_type.code float _item_range.minimum 0.0 _item_range.maximum . _item_units.code degrees _item_examples.case 2 save_ save__em_tomography.axis2_max_angle _item_description.description ; The maximum angle at which the specimen was tilted to obtain recorded images (axis 1). ; _item.name '_em_tomography.axis2_max_angle' _item.category_id em_tomography _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case 70 loop_ _item_range.minimum _item_range.maximum -90.0 -90.0 -90.0 90.0 90.0 90.0 save_ save__em_tomography.axis2_min_angle _item_description.description ; The minimum angle at which the specimen was tilted to obtain recorded images (axis 1). ; _item.name '_em_tomography.axis2_min_angle' _item.category_id em_tomography _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case -70 loop_ _item_range.minimum _item_range.maximum -90.0 -90.0 -90.0 90.0 90.0 90.0 save_ save__em_tomography.dual_tilt_axis_rotation _item_description.description ; Angular difference between axis1 and axis2 in degrees ; _item.name '_em_tomography.dual_tilt_axis_rotation' _item.category_id em_tomography _item.mandatory_code no _item_type.code float _item_units.code degrees _item_range.minimum 0.0 _item_range.maximum 180.0 save_ save__em_tomography.id _item_description.description ; Primary key ; _item.name '_em_tomography.id' _item.category_id em_tomography _item.mandatory_code yes _item_type.code code save_ save__em_tomography.imaging_id _item_description.description ; Foreign key to the EM IMAGING category ; _item.name '_em_tomography.imaging_id' _item.category_id em_tomography _item.mandatory_code yes _item_type.code code save_ ######################## ## EM_IMAGE_RECORDING ## ######################## save_em_image_recording _category.description ; Data items in the EM_IMAGE_RECORDING category record details of the image recording (either film/microdensitometer or electronic detector) and parameters for image digitization. ; _category.id em_image_recording _category.mandatory_code no loop_ _category_key.name '_em_image_recording.id' '_em_image_recording.imaging_id' #V5 loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - images collected on film ; ; _em_image_recording.id 1 _em_image_recording.imaging_id 1 _em_image_recording.film_or_detector_model 'GENERIC FILM' _em_image_recording.num_diffraction_images 48 _em_image_recording.avg_electron_dose_per_image 0.9 ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_image_recording #V4 save_ #save__em_image_recording.approximate_date # _item_description.description #; The date (start date, or approximate date) of the image recording. #; # _item.name '_em_image_recording.approximate_date' # _item.category_id em_image_recording # _item.mandatory_code no # _item_type.code yyyy-mm-dd # save_ save__em_image_recording.average_exposure_time _item_description.description ; The average exposure time for each image. ; _item.name '_em_image_recording.average_exposure_time' _item.category_id em_image_recording _item.mandatory_code no _item_type.code float _item_units.code seconds _item_examples.case 2.0 _item_range.minimum 0.0 _item_range.maximum 240.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_em_image_recording.average_exposure_time' 0 180 save_ save__em_image_recording.avg_electron_dose_per_subtomogram _item_description.description ; The average total electron dose received by the specimen for each subtomogram (electrons per square angstrom). ; _item.name '_em_image_recording.avg_electron_dose_per_subtomogram' _item.category_id em_image_recording _item.mandatory_code no _item_type.code float _item_units.code electrons_angstrom_squared loop_ _item_range.minimum _item_range.maximum 0.0 . 0.0 0.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_em_image_recording.avg_electron_dose_per_subtomogram' 0 0 '_em_image_recording.avg_electron_dose_per_subtomogram' 0 200 save_ save__em_image_recording.avg_electron_dose_per_image _item_description.description ; The electron dose received by the specimen per image (electrons per square angstrom). ; _item.name '_em_image_recording.avg_electron_dose_per_image' _item.category_id em_image_recording _pdbx_item.name '_em_image_recording.avg_electron_dose_per_image' _pdbx_item.mandatory_code yes _item.mandatory_code no _item_type.code float _item_units.code electrons_angstrom_squared _item_examples.case 30.0 _item_range.minimum 0.0 _item_range.maximum . loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_em_image_recording.avg_electron_dose_per_image" 1 1000 _item_related.related_name '_em_imaging.electron_dose' #V5 _item_related.function_code replaces #V5 save_ save__em_image_recording.details _item_description.description ; Any additional details about image recording. ; _item.name '_em_image_recording.details' _item.category_id em_image_recording _item.mandatory_code no _item_type.code text _item_examples.case ; Images were collected in movie-mode at 17 frames per second ; _item_related.related_name '_em_detector.details' #V5 _item_related.function_code replaces #V5 save_ save__em_image_recording.detector_mode _item_description.description ; The detector mode used during image recording. ; _item.name '_em_image_recording.detector_mode' _item.category_id em_image_recording _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value COUNTING INTEGRATING SUPER-RESOLUTION OTHER save_ save__em_image_recording.film_or_detector_model _item_description.description ; The detector type used for recording images. Usually film or CCD camera. ; _item.name '_em_image_recording.film_or_detector_model' _item.category_id em_image_recording _pdbx_item.name '_em_image_recording.film_or_detector_model' _pdbx_item.mandatory_code yes _item.mandatory_code no _item_type.code line loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_em_image_recording.film_or_detector_model' "AGFA SCIENTA FILM" . '_em_image_recording.film_or_detector_model' "KODAK 4489 FILM" . '_em_image_recording.film_or_detector_model' "KODAK SO-163 FILM" . '_em_image_recording.film_or_detector_model' "GENERIC FILM" . '_em_image_recording.film_or_detector_model' "GENERIC IMAGE PLATES" . '_em_image_recording.film_or_detector_model' "DIRECT ELECTRON DE-10 (5k x 4k)" . '_em_image_recording.film_or_detector_model' "DIRECT ELECTRON DE-12 (4k x 3k)" . '_em_image_recording.film_or_detector_model' "DIRECT ELECTRON DE-16 (4k x 4k)" . '_em_image_recording.film_or_detector_model' "DIRECT ELECTRON DE-20 (5k x 3k)" . '_em_image_recording.film_or_detector_model' "DIRECT ELECTRON DE-64 (8k x 8k)" . '_em_image_recording.film_or_detector_model' "FEI CETA (4k x 4k)" . '_em_image_recording.film_or_detector_model' "FEI EAGLE (2k x 2k)" . '_em_image_recording.film_or_detector_model' "FEI EAGLE (4k x 4k)" . '_em_image_recording.film_or_detector_model' "FEI FALCON I (4k x 4k)" . '_em_image_recording.film_or_detector_model' "FEI FALCON II (4k x 4k)" . '_em_image_recording.film_or_detector_model' "FEI FALCON III (4k x 4k)" . '_em_image_recording.film_or_detector_model' "FEI FALCON IV (4k x 4k)" . '_em_image_recording.film_or_detector_model' "GATAN MULTISCAN" . '_em_image_recording.film_or_detector_model' "GATAN ORIUS SC200 (2k x 2k)" . '_em_image_recording.film_or_detector_model' "GATAN ORIUS SC600 (2.7k x 2.7k)" . '_em_image_recording.film_or_detector_model' "GATAN ORIUS SC1000 (4k x 2.7k)" . '_em_image_recording.film_or_detector_model' "GATAN ULTRASCAN 1000 (2k x 2k)" . '_em_image_recording.film_or_detector_model' "GATAN ULTRASCAN 4000 (4k x 4k)" . '_em_image_recording.film_or_detector_model' "GATAN ULTRASCAN 10000 (10k x 10k)" . '_em_image_recording.film_or_detector_model' "GATAN K2 (4k x 4k)" . '_em_image_recording.film_or_detector_model' "GATAN K2 BASE (4k x 4k)" . '_em_image_recording.film_or_detector_model' "GATAN K2 IS (4k x 4k)" . '_em_image_recording.film_or_detector_model' "GATAN K2 QUANTUM (4k x 4k)" . '_em_image_recording.film_or_detector_model' "GATAN K3 (6k x 4k)" . '_em_image_recording.film_or_detector_model' "GATAN K3 BIOQUANTUM (6k x 4k)" . '_em_image_recording.film_or_detector_model' "GATAN K2 SUMMIT (4k x 4k)" . '_em_image_recording.film_or_detector_model' "GENERIC GATAN (2k x 2k)" . '_em_image_recording.film_or_detector_model' "GENERIC GATAN (4k x 4k)" . '_em_image_recording.film_or_detector_model' "GENERIC GATAN" . '_em_image_recording.film_or_detector_model' "PROSCAN TEM-PIV (2k x 2k)" . '_em_image_recording.film_or_detector_model' "SIA 15C (3k x 3k)" . '_em_image_recording.film_or_detector_model' "TVIPS TEMCAM-F816 (8k x 8k)" . '_em_image_recording.film_or_detector_model' "TVIPS TEMCAM-F415 (4k x 4k)" . '_em_image_recording.film_or_detector_model' "TVIPS TEMCAM-F416 (4k x 4k)" . '_em_image_recording.film_or_detector_model' "TVIPS TEMCAM-F216 (2k x 2k)" . '_em_image_recording.film_or_detector_model' "TVIPS TEMCAM-F224 (2k x 2k)" . '_em_image_recording.film_or_detector_model' "GENERIC TVIPS (2k x 2k)" . '_em_image_recording.film_or_detector_model' "GENERIC TVIPS (4k x 4k)" . '_em_image_recording.film_or_detector_model' "GENERIC TVIPS" . '_em_image_recording.film_or_detector_model' "GENERIC CCD (2k x 2k)" . '_em_image_recording.film_or_detector_model' "GENERIC CCD (4k x 4k)" . '_em_image_recording.film_or_detector_model' "GENERIC CCD" . '_em_image_recording.film_or_detector_model' "OTHER" . _item_related.related_name '_em_detector.type' #V5 _item_related.function_code replaces #V5 save_ save__em_image_recording.id _item_description.description ; The item _em_image_recording.id uniquely identifies a set of recorded images. ; _item.name '_em_image_recording.id' _item.category_id em_image_recording _item.mandatory_code yes _item_type.code code save_ save__em_image_recording.imaging_id _item_description.description ; This data item the id of the microscopy settings used in the imaging. ; _item.name '_em_image_recording.imaging_id' _item.category_id em_image_recording _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_image_recording.imaging_id' _item_linked.parent_name '_em_imaging.id' save_ save__em_image_recording.num_diffraction_images _item_description.description ; The number of diffraction images collected. ; _item.name '_em_image_recording.num_diffraction_images' _item.category_id em_image_recording _item.mandatory_code no _item_type.code positive_int save_ save__em_image_recording.num_grids_imaged _item_description.description ; Number of grids in the microscopy session ; _item.name '_em_image_recording.num_grids_imaged' _item.category_id em_image_recording _item.mandatory_code no _item_type.code positive_int save_ save__em_image_recording.num_real_images _item_description.description ; The number of micrograph images collected. ; _item.name '_em_image_recording.num_real_images' _item.category_id em_image_recording _item.mandatory_code no _item_type.code positive_int save_ ####################### ## EM_IMAGING_OPTICS ## ####################### save_em_imaging_optics _category.description ; Description of a few specialist optics apparatus ; _category.id em_imaging_optics _category.mandatory_code no loop_ _category_key.name '_em_imaging_optics.id' '_em_imaging_optics.imaging_id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_imaging_optics.id 1 _em_imaging_optics.imaging_id 1 _em_imaging_optics.chr_aberration_corrector 'CEOS manufactured Cc corrector' _em_imaging_optics.energyfilter_lower 0 _em_imaging_optics.energyfilter_upper 15 _em_imaging_optics.energyfilter_name FEI _em_imaging_optics.phase_plate ? _em_imaging_optics.sph_aberration_corrector ? ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_imaging_optics #V4 save_ save__em_imaging_optics.chr_aberration_corrector _item_description.description ; Chromatic aberration corrector information ; _item.name '_em_imaging_optics.chr_aberration_corrector' _item.category_id em_imaging_optics _item.mandatory_code no _item_type.code text _item_examples.case ; CEOS manufactured Cc corrector ; save_ save__em_imaging_optics.energyfilter_lower _item_description.description ; The energy filter range lower value in electron volts (eV) set by spectrometer. ; _item.name '_em_imaging_optics.energyfilter_lower' _item.category_id em_imaging_optics _item.mandatory_code no _item_type.code line _item_units.code electron_volts _item_examples.case '0' _item_related.related_name '_em_imaging.energy_window' #V5 _item_related.function_code replaces #V5 save_ save__em_imaging_optics.energyfilter_slit_width _item_description.description ; The energy filter range slit width in electron volts (eV). ; _item.name '_em_imaging_optics.energyfilter_slit_width' _item.category_id em_imaging_optics _item.mandatory_code no _item_type.code float _item_units.code electron_volts _item_examples.case 35 loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 1000.0 1000.0 1000.0 save_ save__em_imaging_optics.energyfilter_name _item_description.description ; The type of energy filter spectrometer ; _item.name '_em_imaging_optics.energyfilter_name' _item.category_id em_imaging_optics _item.mandatory_code no _item_type.code line _item_examples.case 'GIF 200' loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_em_imaging_optics.energyfilter_name' 'GIF Bioquantum' . '_em_imaging_optics.energyfilter_name' 'GIF Quantum ERS' . '_em_imaging_optics.energyfilter_name' 'GIF Quantum ER' . '_em_imaging_optics.energyfilter_name' 'GIF Quantum SE' . '_em_imaging_optics.energyfilter_name' 'GIF Quantum LS' . '_em_imaging_optics.energyfilter_name' 'GIF Tridiem 4K' . '_em_imaging_optics.energyfilter_name' 'GIF Tridiem 2K' . '_em_imaging_optics.energyfilter_name' 'GIF 2002' . '_em_imaging_optics.energyfilter_name' 'GIF 2000' . '_em_imaging_optics.energyfilter_name' 'GIF 200' . '_em_imaging_optics.energyfilter_name' 'In-column Omega Filter' . _item_related.related_name '_em_imaging.energy_filter' #V5 _item_related.function_code replaces #V5 save_ save__em_imaging_optics.energyfilter_upper _item_description.description ; The energy filter range upper value in electron volts (eV) set by spectrometer. ; _item.name '_em_imaging_optics.energyfilter_upper' _item.category_id em_imaging_optics _item.mandatory_code no _item_type.code line _item_units.code electron_volts _item_examples.case '15' _item_related.related_name '_em_imaging.energy_window' #V5 _item_related.function_code replaces #V5 save_ save__em_imaging_optics.id _item_description.description ; Primary key ; _item.name '_em_imaging_optics.id' _item.category_id em_imaging_optics _item.mandatory_code yes _item_type.code code save_ save__em_imaging_optics.imaging_id _item_description.description ; Foreign key to the EM IMAGING category ; _item.name '_em_imaging_optics.imaging_id' _item.category_id em_imaging_optics _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_imaging_optics.imaging_id' _item_linked.parent_name '_em_imaging.id' save_ save__em_imaging_optics.phase_plate _item_description.description ; Phase plate information ; _item.name '_em_imaging_optics.phase_plate' _item.category_id em_imaging_optics _item.mandatory_code no _item_type.code text _item_examples.case ; Zernike phase plate ; loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_em_imaging_optics.phase_plate' 'ZERNIKE PHASE PLATE' . '_em_imaging_optics.phase_plate' 'VOLTA PHASE PLATE' . '_em_imaging_optics.phase_plate' 'OTHER' . save_ save__em_imaging_optics.sph_aberration_corrector _item_description.description ; Spherical aberration corrector information ; _item.name '_em_imaging_optics.sph_aberration_corrector' _item.category_id em_imaging_optics _item.mandatory_code no _item_type.code text _item_examples.case ; Microscope was modified with a Cs corrector with two hexapole elements. ; save_ save__em_imaging_optics.details _item_description.description ; Details on the use of the phase plate specified in _em_imaging_optics.phase_plate ; _item.name '_em_imaging_optics.details' _item.category_id em_imaging_optics _item.mandatory_code no _item_type.code line _item_examples.case ; Phase plate evolution varied between different microscopes used to collect data but positions were shifted once phase evolution progressed past 120 degrees. ; save_ ############################# ## EM_FINAL_CLASSIFICATION ## ############################# save_em_final_classification _category.description ; Information about the final image classification ; _category.id em_final_classification _category.mandatory_code no loop_ _category_key.name '_em_final_classification.id' loop_ _category_group.id 'inclusive_group' 'emdb_extension_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_final_classification.id 1 _em_final_classification.image_processing_id 1 ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_final_classification save_ save__em_final_classification.avg_num_images_per_class _item_description.description ; The average number of images per class in the final 2D classification ; _item.name '_em_final_classification.avg_num_images_per_class' _item.category_id em_final_classification _item.mandatory_code no _item_type.code positive_int save_ save__em_final_classification.details _item_description.description ; Additional details about the final 2D classification ; _item.name '_em_final_classification.details' _item.category_id em_final_classification _item.mandatory_code no _item_type.code text _item_examples.case ; The final 2D classification had a highly asymmetric distribution owing to preferred orientations in the prepared specimen ; save_ save__em_final_classification.id _item_description.description ; Primary key ; _item.name '_em_final_classification.id' _item.category_id em_final_classification _item.mandatory_code yes _item_type.code code save_ save__em_final_classification.image_processing_id _item_description.description ; Foreign key to the EM_IMAGE_PROCESSING category ; _item.name '_em_final_classification.image_processing_id' _item.category_id em_final_classification _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_final_classification.image_processing_id' _item_linked.parent_name '_em_image_processing.id' save_ save__em_final_classification.num_classes _item_description.description ; The number of classes used in the final 2D classification ; _item.name '_em_final_classification.num_classes' _item.category_id em_final_classification _item.mandatory_code no _item_type.code positive_int save_ save__em_final_classification.type _item_description.description ; Space (2D/3D) for the classification. ; _item.name '_em_final_classification.type' _item.category_id em_final_classification _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value 2D 3D save_ #################### ## EM_START_MODEL ## #################### save_em_start_model _category.description ; The startup model employed to begin refinement of the parameters for a 3DEM reconstruction ; _category.id em_start_model _category.mandatory_code no loop_ _category_key.name '_em_start_model.id' '_em_start_model.image_processing_id' loop_ _category_group.id 'inclusive_group' 'emdb_extension_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 -- based on PDB 3IYD ; ; _em_start_model.id 1 _em_start_model.image_processing_id 1 _em_start_model.type "PDB ENTRY" _em_start_model.emdb_id ? _em_start_model.pdb_id 3DXJ _em_start_model.insilico_model ? _em_start_model.other ? _em_start_model.orthogonal_tilt_angle1 ? _em_start_model.orthogonal_tilt_angle2 ? _em_start_model.orthogonal_tilt_num_images ? _em_start_model.random_conical_tilt_angle ? _em_start_model.random_conical_tilt_num_images ? _em_start_model.details 'a map created from PDB entry 3DXJ was gaussian blurred to 60 Angstroms' ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_start_model save_ save__em_start_model.details _item_description.description ; Any additional details about generating the startup model ; _item.name '_em_start_model.details' _item.category_id em_start_model _item.mandatory_code no _item_type.code text save_ save__em_start_model.emdb_id _item_description.description ; EMDB id of the map used as the startup model ; _item.name '_em_start_model.emdb_id' _item.category_id em_start_model _item.mandatory_code no _item_type.code emd_id save_ save__em_start_model.id _item_description.description ; Primary key ; _item.name '_em_start_model.id' _item.category_id em_start_model _item.mandatory_code yes _item_type.code code save_ save__em_start_model.image_processing_id _item_description.description ; Foreign key to the EM_IMAGE_PROCESSING category ; _item.name '_em_start_model.image_processing_id' _item.category_id em_start_model _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_start_model.image_processing_id' _item_linked.parent_name '_em_image_processing.id' save_ save__em_start_model.insilico_model _item_description.description ; Description of the "in silico" model used to generate the startup model ; _item.name '_em_start_model.insilico_model' _item.category_id em_start_model _item.mandatory_code no _item_type.code text save_ save__em_start_model.orthogonal_tilt_angle1 _item_description.description ; Tilt angle for the 1st image set of the orthogonal tilt pairs ; _item.name '_em_start_model.orthogonal_tilt_angle1' _item.category_id em_start_model _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case '-45' _item_range.minimum -180.0 _item_range.maximum 180.0 save_ save__em_start_model.orthogonal_tilt_angle2 _item_description.description ; Tilt angle for the 2nd image set of the orthogonal tilt pairs ; _item.name '_em_start_model.orthogonal_tilt_angle2' _item.category_id em_start_model _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case '45' _item_range.minimum -180.0 _item_range.maximum 180.0 save_ save__em_start_model.orthogonal_tilt_num_images _item_description.description ; number of images used to generate the orthogonal tilt startup model ; _item.name '_em_start_model.orthogonal_tilt_num_images' _item.category_id em_start_model _item.mandatory_code no _item_type.code positive_int _item_examples.case 40 save_ save__em_start_model.other _item_description.description ; Description of other method/source used to generate the startup model ; _item.name '_em_start_model.other' _item.category_id em_start_model _item.mandatory_code no _item_type.code text save_ save__em_start_model.pdb_id _item_description.description ; PDB id of the model coordinates used to generate the startup model ; _item.name '_em_start_model.pdb_id' _item.category_id em_start_model _item.mandatory_code no _item_type.code pdb_id save_ save__em_start_model.random_conical_tilt_angle _item_description.description ; Angular difference between the conical tilt images used to generate the startup model ; _item.name '_em_start_model.random_conical_tilt_angle' _item.category_id em_start_model _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case 60 loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 180.0 180.0 180.0 save_ save__em_start_model.random_conical_tilt_num_images _item_description.description ; number of images used to generate the random conical tilt startup model ; _item.name '_em_start_model.random_conical_tilt_num_images' _item.category_id em_start_model _item.mandatory_code no _item_type.code positive_int _item_examples.case 40 save_ save__em_start_model.type _item_description.description ; Type of startup model (map density) used to initiate the reconstruction ; _item.name '_em_start_model.type' _item.category_id em_start_model _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value "RANDOM CONICAL TILT" "ORTHOGONAL TILT" "EMDB MAP" "PDB ENTRY" "INSILICO MODEL" "NONE" "OTHER" save_ ################# ## EM_SOFTWARE ## ################# save_em_software _category.description ; Description of the software that was used for data collection, data processing, data analysis, structure calculations and refinement. The description should include the name of the software, the author of the software and the version used. ; _category.id em_software _category.mandatory_code no loop_ _category_key.name '_em_software.id' #QUESTION: add 2nd key for experiment id instead of "soft" p/c's? loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; loop_ _em_software.id _em_software.name _em_software.version _em_software.category _em_software.details 1 Leginon 1.3 'IMAGE ACQUISITION' . 2 X3D . 'PARTICLE SELECTION' . 3 bsoft 1.1 'BACKGROUND MASKING' . 4 EM2DR2 3.2 RECONSTRUCTION 'em3dr2 -low 20' 5 erandom . 'EULER ASSIGNMENT' . 6 bctf . 'CTF CORRECTION' . 7 chimera 1.6 'MODEL FITTING' . ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_software #V4 save_ save__em_software.category _item_description.description ; The purpose of the software. ; _item.name '_em_software.category' _item.category_id em_software _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value 'IMAGE ACQUISITION' 'PARTICLE SELECTION' 'VOLUME SELECTION' 'CLASSIFICATION' 'MASKING' 'RECONSTRUCTION' 'INITIAL EULER ASSIGNMENT' 'FINAL EULER ASSIGNMENT' 'CTF CORRECTION' 'LAYERLINE INDEXING' 'DIFFRACTION INDEXING' 'MODEL FITTING' 'MODEL REFINEMENT' 'SERIES ALIGNMENT' 'MOLECULAR REPLACEMENT' 'LATTICE DISTORTION CORRECTION' 'SYMMETRY DETERMINATION' 'CRYSTALLOGRAPHY MERGING' OTHER save_ save__em_software.details _item_description.description ; Details about the software used. ; _item.name '_em_software.details' _item.category_id em_software _item.mandatory_code no _item_type.code text loop_ _item_examples.case ; EMAN2 e2boxer.py was used to automatically select particle images. ; save_ save__em_software.id _item_description.description ; Unique identifier for each software description. ; _item.name '_em_software.id' _item.category_id em_software _item.mandatory_code yes _item_type.code code save_ save__em_software.image_processing_id _item_description.description ; pointer to _em_image_processing.id in the EM_IMAGE_PROCESSING category. ; _item.name '_em_software.image_processing_id' _item.category_id em_software _item.mandatory_code no # _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_software.image_processing_id' _item_linked.parent_name '_em_image_processing.id' save_ save__em_software.fitting_id _item_description.description ; pointer to _em_3d_fitting.id in the EM_3D_FITTING category. ; _item.name '_em_software.fitting_id' _item.category_id em_software _item.mandatory_code no _item_type.code code _item_linked.child_name '_em_software.fitting_id' _item_linked.parent_name '_em_3d_fitting.id' save_ save__em_software.imaging_id _item_description.description ; pointer to _em_imaging.id in the EM_IMAGING category. ; _item.name '_em_software.imaging_id' _item.category_id em_software _item.mandatory_code no # _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_software.imaging_id' _item_linked.parent_name '_em_imaging.id' save_ save__em_software.name _item_description.description ; The name of the software package used, e.g., RELION. Depositors are strongly encouraged to provide a value in this field. ; _item.name '_em_software.name' _item.category_id em_software _item.mandatory_code no _item_type.code line loop_ _item_examples.case EMAN Imagic Spider Bsoft UCSF-Chimera loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_em_software.name' 3dmod . '_em_software.name' ADP_EM . '_em_software.name' AIMLESS . '_em_software.name' Amber . '_em_software.name' AmiraFPM . '_em_software.name' Appion . '_em_software.name' ARP/wARP . '_em_software.name' Auto3DEM . '_em_software.name' AV3 . '_em_software.name' Buccaneer . '_em_software.name' BUSTER . '_em_software.name' Bsoft . '_em_software.name' Build_Fspace . '_em_software.name' 'CCP4 package' . '_em_software.name' cisTEM . '_em_software.name' CNS . '_em_software.name' 'Confidence Maps' . '_em_software.name' Coot . '_em_software.name' Cow . '_em_software.name' crYOLO . '_em_software.name' cryoSPARC . '_em_software.name' CTFFIND . '_em_software.name' ctfit . '_em_software.name' CTFPHASEFLIP . '_em_software.name' CTFTILT . '_em_software.name' DE-IM . '_em_software.name' DIALS . '_em_software.name' DigitalMicrograph . '_em_software.name' DireX . '_em_software.name' DockEM . '_em_software.name' 'DoG Picker' . '_em_software.name' Dynamo . '_em_software.name' emClarity . '_em_software.name' EM-Menu . '_em_software.name' EM-Tools . '_em_software.name' EM3DR . '_em_software.name' EMAN . '_em_software.name' EMAN2 . '_em_software.name' EMPFT . '_em_software.name' EMfit . '_em_software.name' EPU . '_em_software.name' ERRASER . '_em_software.name' eTasED . '_em_software.name' ETHAN . '_em_software.name' eTomo . '_em_software.name' FindEM . '_em_software.name' FitCTF2 . '_em_software.name' Flex-EM . '_em_software.name' FOCUS . '_em_software.name' FREALIGN . '_em_software.name' FREALIX . '_em_software.name' Gautomatch . '_em_software.name' Gctf . '_em_software.name' Gorgon . '_em_software.name' HADDOCK . '_em_software.name' HARUSPEX . '_em_software.name' hsearch_lorentz . '_em_software.name' I-TASSER . '_em_software.name' ICON . '_em_software.name' IHRSR . '_em_software.name' IMAGIC . '_em_software.name' IMIRS . '_em_software.name' IMOD . '_em_software.name' iMODFIT . '_em_software.name' IMP . '_em_software.name' ISOLDE . '_em_software.name' J3DR . '_em_software.name' JADAS . '_em_software.name' JALIGN . '_em_software.name' jspr . '_em_software.name' JSUBTOMO . '_em_software.name' LAFTER . '_em_software.name' LIBG . '_em_software.name' Latitude . '_em_software.name' Leginon . '_em_software.name' MATLAB . '_em_software.name' MDFF . '_em_software.name' MODELLER . '_em_software.name' MOLREP . '_em_software.name' MPSA . '_em_software.name' 'MRC IMAGE PROCESSING PACKAGE' . '_em_software.name' MotionCorr2 . '_em_software.name' NAMD . '_em_software.name' NOVACTF . '_em_software.name' novaSTA . '_em_software.name' O . '_em_software.name' Pathwalking . '_em_software.name' PEET . '_em_software.name' PHENIX . '_em_software.name' POINTLESS . '_em_software.name' PowerFit . '_em_software.name' PRIISM/IVE . '_em_software.name' PRIME . '_em_software.name' PROTOMO . '_em_software.name' PyMOL . '_em_software.name' PyTom . '_em_software.name' RAPTOR . '_em_software.name' Refine_Fspace . '_em_software.name' REFMAC . '_em_software.name' ResMap . '_em_software.name' RELION . '_em_software.name' RSRef . '_em_software.name' RobEM . '_em_software.name' Rosetta . '_em_software.name' RosettaEM . '_em_software.name' Ruby-Helix . '_em_software.name' Scipion . '_em_software.name' Sculptor . '_em_software.name' SerialEM . '_em_software.name' SHELXD . '_em_software.name' Signature . '_em_software.name' SIMPLE . '_em_software.name' Situs . '_em_software.name' SPARX . '_em_software.name' SPHIRE . '_em_software.name' SPIDER . '_em_software.name' SPRING . '_em_software.name' subTOM . '_em_software.name' STOPGAP . '_em_software.name' SUPER . '_em_software.name' 'Super-sampling SART' . '_em_software.name' TEMPy . '_em_software.name' TOM . '_em_software.name' 'TOM Toolbox' . '_em_software.name' TOMO3D . '_em_software.name' TOMOCTF . '_em_software.name' Topaz . '_em_software.name' 'UCSF Chimera' . '_em_software.name' 'UCSF ChimeraX' . '_em_software.name' 'UCSF Tomography' . '_em_software.name' 'UCSFImage' . '_em_software.name' 'UCSFImage4' . '_em_software.name' URO . '_em_software.name' VMD . '_em_software.name' Warp . '_em_software.name' X-PLOR . '_em_software.name' X3D . '_em_software.name' Xmipp . loop_ #V5 _item_related.related_name #V5 _item_related.function_code #V5 '_em_2d_projection_selection.software_name' replaces #V5 '_em_3d_reconstruction.software' replaces #V5 '_em_3d_fitting.software_name' replaces #V5 save_ save__em_software.version _item_description.description ; The version of the software. ; _item.name '_em_software.version' _item.category_id em_software _item.mandatory_code no # _item.mandatory_code yes _item_type.code line loop_ _item_examples.case '9.03' '2.1' save_ ############################### ## EM_EULER_ANGLE_ASSIGNMENT ## ############################### save_em_euler_angle_assignment _category.description ; Category to describe the euler angle assignement ; _category.id em_euler_angle_assignment _category.mandatory_code no loop_ _category_key.name '_em_euler_angle_assignment.id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_euler_angle_assignment.id 1 _em_euler_angle_assignment.image_processing_id 1 _em_euler_angle_assignment.order FINAL _em_euler_angle_assignment.type 'COMMON LINE' ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_euler_angle_assignment save_ save__em_euler_angle_assignment.details _item_description.description ; Any additional details about euler angle assignment ; _item.name '_em_euler_angle_assignment.details' _item.category_id em_euler_angle_assignment _item.mandatory_code no _item_type.code text save_ save__em_euler_angle_assignment.id _item_description.description ; Primary key ; _item.name '_em_euler_angle_assignment.id' _item.category_id em_euler_angle_assignment _item.mandatory_code yes _item_type.code code save_ save__em_euler_angle_assignment.image_processing_id _item_description.description ; Foreign key to the EM_IMAGE_PROCESSING category ; _item.name '_em_euler_angle_assignment.image_processing_id' _item.category_id em_euler_angle_assignment _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_euler_angle_assignment.image_processing_id' _item_linked.parent_name '_em_image_processing.id' save_ save__em_euler_angle_assignment.order _item_description.description ; Stage of the reconstruction in which the angle assignments were made. ; _item.name '_em_euler_angle_assignment.order' _item.category_id em_euler_angle_assignment _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value "INITIAL" "FINAL" save_ save__em_euler_angle_assignment.proj_matching_angular_sampling _item_description.description ; Angular sampling of projection matching ; _item.name '_em_euler_angle_assignment.proj_matching_angular_sampling' _item.category_id em_euler_angle_assignment _item.mandatory_code no _item_type.code float _item_units.code degrees _item_examples.case 1.5 _item_range.minimum 0.0 _item_range.maximum . save_ save__em_euler_angle_assignment.proj_matching_merit_function _item_description.description ; Overall figure of merit for projection matching ; _item.name '_em_euler_angle_assignment.proj_matching_merit_function' _item.category_id em_euler_angle_assignment _item.mandatory_code no _item_type.code line save_ save__em_euler_angle_assignment.proj_matching_num_projections _item_description.description ; Number of reference projections used for euler angle assignment ; _item.name '_em_euler_angle_assignment.proj_matching_num_projections' _item.category_id em_euler_angle_assignment # _item.mandatory_code yes _item.mandatory_code no _item_type.code positive_int save_ save__em_euler_angle_assignment.type _item_description.description ; The procedure used to assigned euler angles. ; _item.name '_em_euler_angle_assignment.type' _item.category_id em_euler_angle_assignment _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value "PROJECTION MATCHING" "COMMON LINE" "ANGULAR RECONSTITUTION" "COMMON LINE" "RANDOM ASSIGNMENT" "NOT APPLICABLE" "MAXIMUM LIKELIHOOD" "OTHER" save_ ####################### ## EM_CTF_CORRECTION ## ####################### save_em_ctf_correction _category.description ; Description of the Contrast Transfer Function (CTF) correction ; _category.id em_ctf_correction _category.mandatory_code no loop_ _category_key.name '_em_ctf_correction.id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_ctf_correction.id 1 _em_ctf_correction.em_image_processing_id 1 _em_ctf_correction.type 'PHASE FLIPPING ONLY' ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_ctf_correction #V4 save_ save__em_ctf_correction.amplitude_correction _item_description.description ; Yes if CTF amplitude correction was performed ; _item.name '_em_ctf_correction.amplitude_correction' _item.category_id em_ctf_correction _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value YES NO _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_ctf_correction.amplitude_correction' #V5 save_ save__em_ctf_correction.amplitude_correction_factor _item_description.description ; Amplitude correction factor used in CTF correction ; _item.name '_em_ctf_correction.amplitude_correction_factor' _item.category_id em_ctf_correction _item.mandatory_code no _item_type.code float _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_ctf_correction.amplitude_correction_factor' #V5 save_ save__em_ctf_correction.amplitude_correction_space _item_description.description ; CTF amplitude correction space ; _item.name '_em_ctf_correction.amplitude_correction_space' _item.category_id em_ctf_correction _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value REAL RECIPROCAL _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_ctf_correction.amplitude_correction_space' #V5 save_ save__em_ctf_correction.correction_operation _item_description.description ; CTF correction operation ; _item.name '_em_ctf_correction.correction_operation' _item.category_id em_ctf_correction _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value MULTIPLICATION DIVISION _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_ctf_correction.correction_operation' #V5 save_ save__em_ctf_correction.details _item_description.description ; Any additional details about CTF correction ; _item.name '_em_ctf_correction.details' _item.category_id em_ctf_correction _item.mandatory_code no _item_type.code text _item_examples.case ; CTF amplitude correction was performed following 3D reconstruction ; _item_related.related_name '_em_3d_reconstruction.ctf_correction_method' #V5 _item_related.function_code replaces #V5 save_ save__em_ctf_correction.em_image_processing_id _item_description.description ; Foreign key to the EM_IMAGE_PROCESSING category ; _item.name '_em_ctf_correction.em_image_processing_id' _item.category_id em_ctf_correction _item.mandatory_code no _item_type.code code _item_linked.child_name '_em_ctf_correction.em_image_processing_id' _item_linked.parent_name '_em_image_processing.id' save_ save__em_ctf_correction.id _item_description.description ; Primary key ; _item.name '_em_ctf_correction.id' _item.category_id em_ctf_correction _item.mandatory_code yes _item_type.code code save_ save__em_ctf_correction.phase_reversal _item_description.description ; Yes if Phase reversal (flipping) was performed ; _item.name '_em_ctf_correction.phase_reversal' _item.category_id em_ctf_correction _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value YES NO _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_ctf_correction.phase_reversal' #V5 save_ save__em_ctf_correction.phase_reversal_anisotropic _item_description.description ; Yes if Anisotropic phase reversal (flipping) was performed ; _item.name '_em_ctf_correction.phase_reversal_anisotropic' _item.category_id em_ctf_correction _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value YES NO _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_ctf_correction.phase_reversal_anisotropic' #V5 save_ save__em_ctf_correction.phase_reversal_correction_space _item_description.description ; CTF phase reversal correction space ; _item.name '_em_ctf_correction.phase_reversal_correction_space' _item.category_id em_ctf_correction _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value REAL RECIPROCAL _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_ctf_correction.phase_reversal_correction_space' #V5 save_ save__em_ctf_correction.type _item_description.description ; Type of CTF correction applied ; _item.name '_em_ctf_correction.type' _item.category_id em_ctf_correction _item.mandatory_code no _pdbx_item.name '_em_ctf_correction.type' _pdbx_item.mandatory_code yes _item_type.code line loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail '_em_ctf_correction.type' 'PHASE FLIPPING ONLY' . '_em_ctf_correction.type' 'PHASE FLIPPING AND AMPLITUDE CORRECTION' . '_em_ctf_correction.type' 'NONE' . save_ ######################### ## EM_VOLUME_SELECTION ## ######################### save_em_volume_selection _category.description ; Volume selection in image processing ; _category.id em_volume_selection _category.mandatory_code no loop_ _category_key.name '_em_volume_selection.id' '_em_volume_selection.image_processing_id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; _em_volume_selection.id 1 _em_volume_selection.image_processing_id 1 _em_volume_selection.num_volumes_extracted 5267 _em_volume_selection.method 'INTERACTIVE' _em_volume_selection.details . ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_volume_selection #V4 save_ save__em_volume_selection.details _item_description.description ; Any additional details used for selecting volumes. ; _item.name '_em_volume_selection.details' _item.category_id em_volume_selection _item.mandatory_code no _item_type.code text _item_examples.case 'negative monitor contrast facilitated volume picking' save_ save__em_volume_selection.id _item_description.description ; Ordinal identifier ; _item.name '_em_volume_selection.id' _item.category_id em_volume_selection _item.mandatory_code yes _item_type.code code save_ save__em_volume_selection.image_processing_id _item_description.description ; The value of _em_volume_selection.image_processing_id points to the EM_IMAGE_PROCESSING category. ; _item.name '_em_volume_selection.image_processing_id' _item.category_id em_volume_selection _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_volume_selection.image_processing_id' _item_linked.parent_name '_em_image_processing.id' save_ save__em_volume_selection.method _item_description.description ; The method used for selecting volumes. ; _item.name '_em_volume_selection.method' _item.category_id em_volume_selection _item.mandatory_code no _item_type.code text _item_examples.case 'volumes picked interactively' save_ save__em_volume_selection.num_tomograms _item_description.description ; The number of tomograms used in the extraction/selection ; _item.name '_em_volume_selection.num_tomograms' _item.category_id em_volume_selection _item.mandatory_code yes _item_type.code positive_int _item_examples.case 20 save_ save__em_volume_selection.num_volumes_extracted _item_description.description ; The number of volumes selected from the projection set of images. ; _item.name '_em_volume_selection.num_volumes_extracted' _item.category_id em_volume_selection _item.mandatory_code yes _item_type.code positive_int _item_examples.case 840 save_ save__em_volume_selection.reference_model _item_description.description ; Description of reference model used for volume selection ; _item.name '_em_volume_selection.reference_model' _item.category_id em_volume_selection _item.mandatory_code no _item_type.code text save_ ########################## ## EM_3D_CRYSTAL_ENTITY ## ########################## save_em_3d_crystal_entity _category.description ; Data items in the EM_SYMMETRY_3DX category record 3D crystal symmetry parameters utilized in 3DEM reconstruction averaging. ; _category.id em_3d_crystal_entity _category.mandatory_code no loop_ _category_key.name '_em_3d_crystal_entity.id' '_em_3d_crystal_entity.image_processing_id' #V5 loop_ _category_group.id 'inclusive_group' 'em_group' # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_3d_crystal_entity #V4 save_ save__em_3d_crystal_entity.angle_alpha _item_description.description ; Unit-cell angle alpha in degrees. ; _item.name '_em_3d_crystal_entity.angle_alpha' _item.category_id em_3d_crystal_entity _item.mandatory_code yes _item_default.value 90.0 _item_range.maximum 180.0 _item_range.minimum 0.0 _item_type.code float _item_units.code degrees save_ save__em_3d_crystal_entity.angle_beta _item_description.description ; Unit-cell angle beta in degrees. ; _item.name '_em_3d_crystal_entity.angle_beta' _item.category_id em_3d_crystal_entity _item.mandatory_code yes _item_default.value 90.0 _item_range.maximum 180.0 _item_range.minimum 0.0 _item_type.code float _item_units.code degrees save_ save__em_3d_crystal_entity.angle_gamma _item_description.description ; Unit-cell angle gamma in degrees. ; _item.name '_em_3d_crystal_entity.angle_gamma' _item.category_id em_3d_crystal_entity _item.mandatory_code yes _item_default.value 90.0 _item_range.maximum 180.0 _item_range.minimum 0.0 _item_type.code float _item_units.code degrees save_ save__em_3d_crystal_entity.image_processing_id _item_description.description ; pointer to _em_image_processing.id in the EM_IMAGE_PROCESSING category. ; _item.name '_em_3d_crystal_entity.image_processing_id' _item.category_id em_3d_crystal_entity _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_3d_crystal_entity.image_processing_id' _item_linked.parent_name '_em_image_processing.id' save_ save__em_3d_crystal_entity.id _item_description.description ; Unique key for the em_3d_crystal_entity category. ; _item.name '_em_3d_crystal_entity.id' _item.category_id em_3d_crystal_entity _item.mandatory_code yes _item_type.code code save_ save__em_3d_crystal_entity.length_a _item_description.description ; Unit-cell length a in Angstroms. ; _item.name '_em_3d_crystal_entity.length_a' _item.category_id em_3d_crystal_entity _item.mandatory_code yes _item_range.maximum . _item_range.minimum 0.0 _item_type.code float _item_units.code angstroms save_ save__em_3d_crystal_entity.length_b _item_description.description ; Unit-cell length b in Angstroms. ; _item.name '_em_3d_crystal_entity.length_b' _item.category_id em_3d_crystal_entity _item.mandatory_code yes _item_range.maximum . _item_range.minimum 0.0 _item_type.code float _item_units.code angstroms save_ save__em_3d_crystal_entity.length_c _item_description.description ; Unit-cell length c in Angstroms. ; _item.name '_em_3d_crystal_entity.length_c' _item.category_id em_3d_crystal_entity _item.mandatory_code yes _item_range.maximum . _item_range.minimum 0.0 _item_type.code float _item_units.code angstroms save_ save__em_3d_crystal_entity.space_group_name _item_description.description ; Space group name. ; _item.name '_em_3d_crystal_entity.space_group_name' _item.category_id em_3d_crystal_entity _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'P 1' 'P 21 21 2' 'I 4' 'H 3' save_ save__em_3d_crystal_entity.space_group_num _item_description.description ; Space group number. ; _item.name '_em_3d_crystal_entity.space_group_num' _item.category_id em_3d_crystal_entity _item.mandatory_code yes loop_ _item_range.minimum _item_range.maximum 230 230 1 230 1 1 _item_type.code int save_ ########################## ## EM_2D_CRYSTAL_ENTITY ## ########################## save_em_2d_crystal_entity _category.description ; Data items in the EM_SYMMETRY_2DX category record 2D crystal symmetry parameters utilized in a 3DEM reconstruction. ; _category.id em_2d_crystal_entity _category.mandatory_code no loop_ _category_key.name '_em_2d_crystal_entity.id' '_em_2d_crystal_entity.image_processing_id' #V5 loop_ _category_group.id 'inclusive_group' 'em_group' save_ save__em_2d_crystal_entity.angle_gamma _item_description.description ; Unit-cell angle gamma in degrees. ; _item.name '_em_2d_crystal_entity.angle_gamma' _item.category_id em_2d_crystal_entity _item.mandatory_code yes _item_default.value 90.0 _item_range.maximum 180.0 _item_range.minimum 0.0 _item_type.code float _item_units.code degrees save_ save__em_2d_crystal_entity.c_sampling_length _item_description.description ; Length used to sample the reciprocal lattice lines in the c-direction. ; _item.name '_em_2d_crystal_entity.c_sampling_length' _item.category_id em_2d_crystal_entity _item.mandatory_code no # _pdbx_item.name "_em_2d_crystal_entity.c_sampling_length" _pdbx_item.mandatory_code yes # _item_range.maximum . _item_range.minimum 0.0 _item_type.code float _item_units.code angstroms # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_2d_crystal_entity.c_sampling_length' #V4 save_ save__em_2d_crystal_entity.image_processing_id _item_description.description ; pointer to _em_image_processing.id in the EM_IMAGE_PROCESSING category. ; _item.name '_em_2d_crystal_entity.image_processing_id' _item.category_id em_2d_crystal_entity _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_2d_crystal_entity.image_processing_id' _item_linked.parent_name '_em_image_processing.id' # _pdbx_item_context.type WWPDB_LOCAL #V4 # _pdbx_item_context.item_name '_em_2d_crystal_entity.image_processing_id' #V4 save_ save__em_2d_crystal_entity.id _item_description.description ; Unique key for the 2d_crystal_entity category. ; _item.name '_em_2d_crystal_entity.id' _item.category_id em_2d_crystal_entity _item.mandatory_code yes _item_type.code code save_ #deprecated V5 save__em_2d_crystal_entity.entity_assembly_id _item_description.description ; Corresponding key in _em_entity_assembly category. ; _item.name '_em_2d_crystal_entity.entity_assembly_id' _item.category_id em_2d_crystal_entity _item.mandatory_code no _item_type.code code _pdbx_item_context.type WWPDB_LOCAL #V5 _pdbx_item_context.item_name '_em_2d_crystal_entity.entity_assembly_id' #V5 save_ save__em_2d_crystal_entity.length_a _item_description.description ; Unit-cell length a in Angstroms. ; _item.name '_em_2d_crystal_entity.length_a' _item.category_id em_2d_crystal_entity _item.mandatory_code yes _item_range.maximum . _item_range.minimum 0.0 _item_type.code float _item_units.code angstroms save_ save__em_2d_crystal_entity.length_b _item_description.description ; Unit-cell length b in Angstroms. ; _item.name '_em_2d_crystal_entity.length_b' _item.category_id em_2d_crystal_entity _item.mandatory_code yes _item_range.maximum . _item_range.minimum 0.0 _item_type.code float _item_units.code angstroms save_ save__em_2d_crystal_entity.length_c _item_description.description ; Thickness of 2D crystal ; _item.name '_em_2d_crystal_entity.length_c' _item.category_id em_2d_crystal_entity _item.mandatory_code yes _item_range.maximum . _item_range.minimum 0.0 _item_type.code float _item_units.code angstroms save_ save__em_2d_crystal_entity.space_group_name_H-M _item_description.description ; There are 17 plane groups classified as oblique, rectangular, square, and hexagonal. To describe the symmetry of 2D crystals of biological molecules, plane groups are expanded to equivalent noncentrosymmetric space groups. The 2D crystal plane corresponds to the 'ab' plane of the space group. Enumerated space group descriptions include the plane group number in parentheses, the H-M plane group symbol, and the plane group class. ; _item.name '_em_2d_crystal_entity.space_group_name_H-M' _item.category_id em_2d_crystal_entity _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'P 1' '(1) p1, oblique' 'P 2' '(2) p2, oblique' 'P 1 2' '(3) pm, rectangular' 'P 1 21' '(4) pg, rectangular' 'C 1 2' '(5) cm, rectangular' 'P 2 2 2' '(6) 2mm, rectangular' 'P 2 2 21' '(7) p2mg, rectangular' 'P 2 21 21' '(8) p2gg, rectangular' 'C 2 2 2' '(9) c2mm, rectangular' 'P 4' '(10) p4, square' 'P 4 2 2' '(11) p4mm, square' 'P 4 21 2' '(12) p4gm, square' 'P 3' '(13) p3, hexagonal' 'P 3 1 2' '(14) p3m1, hexagonal' 'P 3 2 1' '(15) p31m, hexagonal' 'P 6' '(16) p6, hexagonal' 'P 6 2 2' '(17) p6mm, hexagonal' save_ ######################### ## EM_IMAGE_PROCESSING ## ######################### save_em_image_processing _category.description ; Data items in the EM_IMAGE_PROCESSING category record details of the EM image processing procedure. ; _category.id em_image_processing _category.mandatory_code no loop_ _category_key.name '_em_image_processing.image_recording_id' #V5 '_em_image_processing.id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_image_processing.id 1 _em_image_processing.image_recording_id 1 _em_image_processing.details 'The selected images were high-pass filtered and normalized' ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_image_processing #V4 save_ save__em_image_processing.details _item_description.description ; Method details. ; _item.name '_em_image_processing.details' _item.category_id em_image_processing _item.mandatory_code no _item_type.code text _item_examples.case ; The selected images were high-pass filtered and normalized ; save_ save__em_image_processing.id _item_description.description ; This data item provides a unique identifier for each data processing block. ; _item.name '_em_image_processing.id' _item.category_id em_image_processing _item.mandatory_code yes _item_type.code code save_ save__em_image_processing.image_recording_id _item_description.description ; Foreign key to the EM_IMAGE_RECORDING ; _item.name '_em_image_processing.image_recording_id' _item.category_id em_image_processing _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_image_processing.image_recording_id' _item_linked.parent_name '_em_image_recording.id' save_ ########################### ## EM_PARTICLE_SELECTION ## ########################### save_em_particle_selection _category.description ; Data items in this category record details of images from scanned micrographs and the number of particles selected from a scanned set of micrographs. ; _category.id em_particle_selection _category.mandatory_code no loop_ _category_key.name '_em_particle_selection.id' '_em_particle_selection.image_processing_id' loop_ _category_group.id 'inclusive_group' 'em_group' loop_ _category_examples.detail _category_examples.case ; Example 1 - based on PDB entry 1DYL and laboratory records for the structure corresponding to PDB entry 1DYL ; ; _em_particle_selection.id 1 _em_particle_selection.image_processing_id 1 _em_particle_selection.num_particles_selected 5267 _em_particle_selection.method 'INTERACTIVE' _em_particle_selection.details . ; # _pdbx_category_context.type WWPDB_LOCAL #V4 # _pdbx_category_context.category_id em_particle_selection #V4 save_ save__em_particle_selection.details _item_description.description ; Any additional details used for selecting particles ; _item.name '_em_particle_selection.details' _item.category_id em_particle_selection _item.mandatory_code no _item_type.code text _item_examples.case 'negative monitor contrast facilitated particle picking' save_ save__em_particle_selection.id _item_description.description ; Ordinal identifier ; _item.name '_em_particle_selection.id' _item.category_id em_particle_selection _item.mandatory_code yes _item_type.code code save_ save__em_particle_selection.image_processing_id _item_description.description ; The value of _em_particle_selection.image_processing_id points to the EM_IMAGE_PROCESSING category. ; _item.name '_em_particle_selection.image_processing_id' _item.category_id em_particle_selection _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_particle_selection.image_processing_id' _item_linked.parent_name '_em_image_processing.id' save_ save__em_particle_selection.method _item_description.description ; The method used for selecting particles ; _item.name '_em_particle_selection.method' _item.category_id em_particle_selection _item.mandatory_code no _item_type.code text _item_examples.case 'particles picked interactively from monitor' _item_related.related_name '_em_2d_projection_selection.method' #V5 _item_related.function_code replaces #V5 save_ save__em_particle_selection.num_particles_selected _item_description.description ; The number of particles selected from the projection set of images. ; _item.name '_em_particle_selection.num_particles_selected' _item.category_id em_particle_selection _item.mandatory_code no _item_type.code positive_int _item_examples.case 840 _item_related.related_name '_em_2d_projection_selection.num_particles' #V5 _item_related.function_code replaces #V5 save_ save__em_particle_selection.reference_model _item_description.description ; Description of reference model used for particle selection ; _item.name '_em_particle_selection.reference_model' _item.category_id em_particle_selection _item.mandatory_code no _item_type.code text save_ ############ ## EM_MAP ## ############ save_em_map _category.description ; Data items in the EMD_MAP category record parameters of the CCP4 binary-format map file header (see ftp://ftp.wwpdb.org/pub/emdb/doc/map_format/EMDB_mapFormat_v1.0.pdf), parameters derived from the map header, pixel size, contour level, and annotation details from the depositor. The map is a three-dimensional array of data-values of the same data-type. Important parameters are data-type and array size in three dimensions (i.e. the number of columns, rows and sections). Columns are the fastest changing, followed by rows and sections. ; _category.id em_map _category.mandatory_code no loop_ _category_key.name '_em_map.id' '_em_map.entry_id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case ;Example 1 - based on map entry EMD-5001 ; ; _em_map.id 1 _em_map.entry_id 1ABC _em_map.annotation_details 'D7 structure of Groel at 4.2 Angstrom resolution' _em_map.format CCP4 _em_map.size_kb 32002 _em_map.axis_order_fast X _em_map.axis_order_medium Y _em_map.axis_order_slow Z _em_map.cell_alpha 90.0 _em_map.cell_beta 90.0 _em_map.cell_gamma 90.0 _em_map.cell_a 212.0 _em_map.cell_b 212.0 _em_map.cell_c 212.0 _em_map.data_type 'Image stored as Reals' _em_map.dimensions_col 200 _em_map.dimensions_row 200 _em_map.dimensions_sec 200 _em_map.origin_col -100 _em_map.origin_row -100 _em_map.origin_sec -100 _em_map.pixel_spacing_x 1.06 _em_map.pixel_spacing_y 1.06 _em_map.pixel_spacing_z 1.06 _em_map.symmetry_space_group 1 _em_map.spacing_x 200 _em_map.spacing_y 200 _em_map.spacing_z 200 _em_map.statistics_minimum -0.965912 _em_map.statistics_maximum 2.42436 _em_map.statistics_average 0.0668982 _em_map.statistics_std 0.23771 ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_map save_ save__em_map.annotation_details _item_description.description ; map annotation details ; _item.name '_em_map.annotation_details' _item.category_id em_map _item.mandatory_code no _item_type.code text save_ save__em_map.axis_order_fast _item_description.description ; The map axis that corresponds to Columns. (CCP4 HEADER WORD 17 MAPC 1=x, 2=y, 3=z) ; _item.name '_em_map.axis_order_fast' _item.category_id em_map _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value X Y Z save_ save__em_map.axis_order_medium _item_description.description ; The map axis that corresponds to Rows. (CCP4 map header word 18 MAPR 1=x, 2=y, 3=z) ; _item.name '_em_map.axis_order_medium' _item.category_id em_map _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value X Y Z save_ save__em_map.axis_order_slow _item_description.description ; The map axis that corresponds to Sections. (CCP4 map header word 19 MAPS 1=x, 2=y, 3=z) ; _item.name '_em_map.axis_order_slow' _item.category_id em_map _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value X Y Z save_ save__em_map.cell_a _item_description.description ; Map unit cell length parameter a. (CCP4 map header word 11) ; _item.name '_em_map.cell_a' _item.category_id em_map _item.mandatory_code yes _item_type.code float _item_units.code angstroms _item_range.maximum . _item_range.minimum 0.0 save_ save__em_map.cell_b _item_description.description ; Map unit cell length parameter b. (CCP4 map header word 12) ; _item.name '_em_map.cell_b' _item.category_id em_map _item.mandatory_code yes _item_type.code float _item_units.code angstroms _item_range.maximum . _item_range.minimum 0.0 save_ save__em_map.cell_c _item_description.description ; Map unit cell length parameter c. (CCP4 map header word 13) ; _item.name '_em_map.cell_c' _item.category_id em_map _item.mandatory_code yes _item_type.code float _item_units.code angstroms _item_range.maximum . _item_range.minimum 0.0 save_ save__em_map.cell_alpha _item_description.description ; Value of map unit cell angle parameter alpha in degrees. (CCP4 map header word 14) ; _item.name '_em_map.cell_alpha' _item.category_id em_map _item.mandatory_code yes _item_type.code float _item_units.code degrees _item_range.maximum 180.0 _item_range.minimum 0.0 save_ save__em_map.cell_beta _item_description.description ; Value of map unit cell angle parameter beta in degrees. (CCP4 map header word 15) ; _item.name '_em_map.cell_beta' _item.category_id em_map _item.mandatory_code yes _item_type.code float _item_units.code degrees _item_range.maximum 180.0 _item_range.minimum 0.0 save_ save__em_map.cell_gamma _item_description.description ; Value of map unit cell angle parameter gamma in degrees. (CCP4 map header word 16) ; _item.name '_em_map.cell_gamma' _item.category_id em_map _item.mandatory_code yes _item_type.code float _item_units.code degrees _item_range.maximum 180.0 _item_range.minimum 0.0 save_ save__em_map.contour_level _item_description.description ; recommended contour level for viewing the map ; _item.name '_em_map.contour_level' _item.category_id em_map _item.mandatory_code no _item_type.code float save_ save__em_map.contour_level_source _item_description.description ; source of the recommended contour level ; _item.name '_em_map.contour_level_source' _item.category_id em_map _item.mandatory_code no _item_type.code line _item_examples.case author loop_ _item_enumeration.value "author" "emdb" "software" save_ save__em_map.data_type _item_description.description ; The map data_type describes the data structure of the map voxels. (CCP4 map header word 4 MODE) EMDB currently holds MODE=0,1,and 2 maps; the majority are MODE=2. MAPS with MODES other than 2 and 0 may not work in CCP4 programs. MODE = 0: 8 bits, density stored as a signed byte (-128 to 127, ISO/IEC 10967) MODE = 1: 16 bits, density stored as a signed integer (-32768 to 32767, ISO/IEC 10967) MODE = 2: 32 bits, density stored as a floating point number (IEEE 754) ; _item.name '_em_map.data_type' _item.category_id em_map _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'Image stored as signed byte' 'Image stored as signed integer (2 bytes)' 'Image stored as floating point number (4 bytes)' save_ save__em_map.dimensions_col _item_description.description ; The number of columns in the map. (CCP4 map header word 1 NC) ; _item.name '_em_map.dimensions_col' _item.category_id em_map _item.mandatory_code yes _item_type.code positive_int save_ save__em_map.dimensions_row _item_description.description ; The number of rows in the map. (CCP4 map header word 2 NR) ; _item.name '_em_map.dimensions_row' _item.category_id em_map _item.mandatory_code yes _item_type.code positive_int save_ save__em_map.dimensions_sec _item_description.description ; The number of sections in the map. (CCP4 map header word 3 NS) ; _item.name '_em_map.dimensions_sec' _item.category_id em_map _item.mandatory_code yes _item_type.code positive_int save_ save__em_map.endian_type _item_description.description ; map file endian type ; _item.name '_em_map.endian_type' _item.category_id em_map _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value big little save_ save__em_map.file _item_description.description ; Map file name. ; _item.name '_em_map.file' _item.category_id em_map _item.mandatory_code no _item_type.code line _item_examples.case 'emd_5470.map.gz' save_ save__em_map.format _item_description.description ; map format ; _item.name '_em_map.format' _item.category_id em_map _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value CCP4 save_ save__em_map.id _item_description.description ; Unique id for the EMD_MAP category. ; _item.name '_em_map.id' _item.category_id em_map _item.mandatory_code yes _item_type.code positive_int save_ save__em_map.partition _item_description.description ; Identifies the archive file partition number of a primary map, half map, additional map, or mask. ; _item.name '_em_map.partition' _item.category_id em_map _item.mandatory_code yes _item_type.code positive_int save_ save__em_map.entry_id _item_description.description ; This data item is a pointer to the ENTRY category. ; _item.name '_em_map.entry_id' _item.category_id em_map _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_map.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_map.label _item_description.description ; text stored in the label field of the CCP4 map header (WORDS 57-256) ; _item.name '_em_map.label' _item.category_id em_map _item.mandatory_code no _item_type.code text save_ save__em_map.limit_col _item_description.description ; The final column position of the map relative to the Cartesian coordinate origin in voxel grid units. (derived = .origin_col + .dimensions_col -1) ; _item.name '_em_map.limit_col' _item.category_id em_map _item.mandatory_code no _item_type.code int save_ save__em_map.limit_row _item_description.description ; The final row position of the map relative to the Cartesian coordinate origin in voxel grid units. (derived = .origin_row + .dimensions_row -1) ; _item.name '_em_map.limit_row' _item.category_id em_map _item.mandatory_code no _item_type.code int save_ save__em_map.limit_sec _item_description.description ; The final section position of the map relative to the Cartesian coordinate origin in voxel grid units. (derived -- .origin_sec + .dimensions_sec -1) ; _item.name '_em_map.limit_sec' _item.category_id em_map _item.mandatory_code no _item_type.code int save_ save__em_map.origin_col _item_description.description ; The position of the first column of the map relative to the Cartesian coordinate origin in voxel grid units. (CCP4 map header word 5 NCSTART) ; _item.name '_em_map.origin_col' _item.category_id em_map _item.mandatory_code yes _item_type.code int save_ save__em_map.origin_row _item_description.description ; The position of the first row of the map relative to the Cartesian coordinate origin in voxel grid units. (CCP4 map header word 6 NRSTART) ; _item.name '_em_map.origin_row' _item.category_id em_map _item.mandatory_code yes _item_type.code int save_ save__em_map.origin_sec _item_description.description ; The position of the first section of the map relative to the Cartesian coordinate origin in voxel grid units. (CCP4 map header word 7 NSSTART) ; _item.name '_em_map.origin_sec' _item.category_id em_map _item.mandatory_code yes _item_type.code int save_ save__em_map.pixel_spacing_x _item_description.description ; The length in Angstroms of one voxel along the X axis. ; _item.name '_em_map.pixel_spacing_x' _item.category_id em_map _item.mandatory_code yes _item_type.code float loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_em_map.pixel_spacing_x" 0.1 0.1 "_em_map.pixel_spacing_x" 0.1 5.0 "_em_map.pixel_spacing_x" 5.0 5.0 save_ save__em_map.pixel_spacing_y _item_description.description ; The length in Angstroms of one voxel along the Y axis. ; _item.name '_em_map.pixel_spacing_y' _item.category_id em_map _item.mandatory_code yes _item_type.code float loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_em_map.pixel_spacing_y" 0.1 0.1 "_em_map.pixel_spacing_y" 0.1 5.0 "_em_map.pixel_spacing_y" 5.0 5.0 save_ save__em_map.pixel_spacing_z _item_description.description ; The length in Angstroms of one voxel along the Z axis. ; _item.name '_em_map.pixel_spacing_z' _item.category_id em_map _item.mandatory_code yes _item_type.code float loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_em_map.pixel_spacing_z" 0.1 0.1 "_em_map.pixel_spacing_z" 0.1 5.0 "_em_map.pixel_spacing_z" 5.0 5.0 save_ save__em_map.size_kb _item_description.description ; map storage size in Kilobytes (before compression) ; _item.name '_em_map.size_kb' _item.category_id em_map _item.mandatory_code yes _item_type.code positive_int save_ save__em_map.spacing_x _item_description.description ; The number of intervals per cell repeat in X. (CCP4 map header word 8 NX) ; _item.name '_em_map.spacing_x' _item.category_id em_map _item.mandatory_code yes _item_type.code positive_int save_ save__em_map.spacing_y _item_description.description ; The number of intervals per cell repeat in Y. (CCP4 map header word 9 NY) ; _item.name '_em_map.spacing_y' _item.category_id em_map _item.mandatory_code yes _item_type.code positive_int save_ save__em_map.spacing_z _item_description.description ; The number of intervals per cell repeat in Z. (CCP4 map header word 10 NZ) ; _item.name '_em_map.spacing_z' _item.category_id em_map _item.mandatory_code yes _item_type.code positive_int save_ save__em_map.statistics_average _item_description.description ; Mean (average) density value of the map. ; _item.name '_em_map.statistics_average' _item.category_id em_map _item.mandatory_code no _item_type.code float save_ save__em_map.statistics_maximum _item_description.description ; Maximum density value of the map. ; _item.name '_em_map.statistics_maximum' _item.category_id em_map _item.mandatory_code no _item_type.code float save_ save__em_map.statistics_minimum _item_description.description ; Minimum density value of the map. ; _item.name '_em_map.statistics_minimum' _item.category_id em_map _item.mandatory_code no _item_type.code float save_ save__em_map.statistics_std _item_description.description ; The standard deviation of the map density values. ; _item.name '_em_map.statistics_std' _item.category_id em_map _item.mandatory_code no _item_type.code float save_ save__em_map.symmetry_space_group _item_description.description ; The space group number for the map. The value is 1 unless the sample is crystalline. (CCP4 map header word 23 ISPG) ; _item.name '_em_map.symmetry_space_group' _item.category_id em_map _item.mandatory_code yes _item_type.code int save_ save__em_map.type _item_description.description ; map format ; _item.name '_em_map.type' _item.category_id em_map _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value "primary map" "half map" "additional map" "mask" "raw map" "FSC half map mask" "FSC map-model mask" "alignment mask" "focused refinement mask" "3D classification map" "focus refinement map" "segmentation" save_ ################## ## EM_FSC_CURVE ## ################## save_em_fsc_curve _category.description ; Data items in the EMD_VALIDATION_FSC_CURVE category record details of the Fourier Shell Correlation (FSC) curve file. ; _category.id em_fsc_curve _category.mandatory_code no loop_ _category_key.name '_em_fsc_curve.id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_fsc_curve.id 1 _em_fsc_curve.file 'fsc_curve.txt' ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_fsc_curve save_ save__em_fsc_curve.details _item_description.description ; Details about the FSC file. ; _item.name '_em_fsc_curve.details' _item.category_id em_fsc_curve _item.mandatory_code no _item_type.code text save_ save__em_fsc_curve.file _item_description.description ; FSC file name. ; _item.name '_em_fsc_curve.file' _item.category_id em_fsc_curve _item.mandatory_code no _item_type.code line _item_examples.case 'emd-5470-fsc.txt' save_ save__em_fsc_curve.id _item_description.description ; This data item provides a unique identifier for each archived FSC curve. ; _item.name '_em_fsc_curve.id' _item.category_id em_fsc_curve _item.mandatory_code yes _item_type.code code save_ ######################### ## EM_INTERPRET_FIGURE ## ######################### save_em_interpret_figure _category.description ; Listing of all layer line files associated with the EM entry ; _category.id em_interpret_figure _category.mandatory_code no _category_key.name '_em_interpret_figure.id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_interpret_figure.id 1 _em_interpret_figure.file 'emd-1234.png' _em_interpret_figure.details . ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_interpret_figure save_ save__em_interpret_figure.details _item_description.description ; Details about the image file. ; _item.name '_em_interpret_figure.details' _item.category_id em_interpret_figure _item.mandatory_code no _item_type.code text save_ save__em_interpret_figure.file _item_description.description ; The name of the image file associated with the map entry ; _item.name '_em_interpret_figure.file' _item.category_id em_interpret_figure _item.mandatory_code yes _item_type.code line save_ save__em_interpret_figure.id _item_description.description ; This data item is the unique identifier for the image file. ; _item.name '_em_interpret_figure.id' _item.category_id em_interpret_figure _item.mandatory_code yes _item_type.code code save_ #################### ## EM_LAYER_LINES ## #################### save_em_layer_lines _category.description ; Listing of all layer line files associated with the EM entry ; _category.id em_layer_lines _category.mandatory_code no loop_ _category_key.name '_em_layer_lines.id' '_em_layer_lines.experiment_id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_layer_lines.experiment_id 1 _em_layer_lines.id 1 _em_layer_lines.file 'emd-1234-sf.cif' _em_layer_lines.details . ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_layer_lines save_ save__em_layer_lines.details _item_description.description ; Details about the layer line file. ; _item.name '_em_layer_lines.details' _item.category_id em_layer_lines _item.mandatory_code no _item_type.code text save_ save__em_layer_lines.experiment_id _item_description.description ; This data item is a pointer to the EM EXPERIMENT category. ; _item.name '_em_layer_lines.experiment_id' _item.category_id em_layer_lines _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_layer_lines.experiment_id' _item_linked.parent_name '_em_experiment.id' save_ save__em_layer_lines.file _item_description.description ; The name of the layer line file associated with the map entry ; _item.name '_em_layer_lines.file' _item.category_id em_layer_lines _item.mandatory_code yes _item_type.code line save_ save__em_layer_lines.id _item_description.description ; This data item is the unique identifier for the layer line file. ; _item.name '_em_layer_lines.id' _item.category_id em_layer_lines _item.mandatory_code yes _item_type.code code save_ ########################## ## EM_STRUCTURE_FACTORS ## ########################## save_em_structure_factors _category.description ; Listing of all structure factor files associated with the EM entry ; _category.id em_structure_factors _category.mandatory_code no loop_ _category_key.name '_em_structure_factors.id' '_em_structure_factors.experiment_id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_structure_factors.experiment_id 1 _em_structure_factors.id 1 _em_structure_factors.file 'emd-1234-sf.cif' _em_structure_factors.details . ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_structure_factors save_ save__em_structure_factors.details _item_description.description ; Details about the structure factor file. ; _item.name '_em_structure_factors.details' _item.category_id em_structure_factors _item.mandatory_code no _item_type.code text save_ save__em_structure_factors.experiment_id _item_description.description ; This data item is a pointer to the EM EXPERIMENT category. ; _item.name '_em_structure_factors.experiment_id' _item.category_id em_structure_factors _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_structure_factors.experiment_id' _item_linked.parent_name '_em_experiment.id' save_ save__em_structure_factors.file _item_description.description ; The name of the structure factor file associated with the map entry ; _item.name '_em_structure_factors.file' _item.category_id em_structure_factors _item.mandatory_code yes _item_type.code line save_ save__em_structure_factors.id _item_description.description ; This data item is the unique identifier for the structure factor file. ; _item.name '_em_structure_factors.id' _item.category_id em_structure_factors _item.mandatory_code yes _item_type.code code save_ ############END NEW CATEGORIES FOR V5###################### # ---------------------------------------------------------------------------------------------------------------------------- # # File: em-depositor_info-extension.dic # Date: 27-May-2014 CLL # # Extension for EM details captured at deposition time. # # ---------------------------------------------------------------------------------------------------------------------------- ######################## ## EM_DEPOSITOR_INFO ## ######################## save_em_depositor_info _category.description ; Data items in the EM_DEPOSITOR INFO category record parameters for EM depositions that are provided by the depositor ; _category.id em_depositor_info _category.mandatory_code no _category_key.name '_em_depositor_info.entry_id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case ;Example 1 ; ; _em_depositor_info.entry_id D_10005049 _em_depositor_info.em_method_selection yes _em_depositor_info.molecular_description_flag yes ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_depositor_info save_ save__em_depositor_info.entry_id _item_description.description ; This data item is a pointer to the ENTRY category. ; _item.name '_em_depositor_info.entry_id' _item.category_id em_depositor_info _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_depositor_info.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_depositor_info.em_method_selection _item_description.description ; The selected EM experimental method. ; _item.name '_em_depositor_info.em_method_selection' _item.category_id em_depositor_info _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value Helical 'Single particle' 'Subtomogram averaging' Tomography 'Electron Diffraction' save_ save__em_depositor_info.molecular_description_flag _item_description.description ; Records whether molecular/polymer entities of the EM sample will be described. ; _item.name '_em_depositor_info.molecular_description_flag' _item.category_id em_depositor_info _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value yes no save_ ############################ ## EM_MAP_DEPOSITOR_INFO ## ############################ save_em_map_depositor_info _category.description ; Data items in the EM_MAP_DEPOSITOR INFO category record map parameters that are provided by the depositor ; _category.id em_map_depositor_info _category.mandatory_code no loop_ _category_key.name '_em_map_depositor_info.entry_id' '_em_map_depositor_info.id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case ;Example 1 - based on map entry EMD-5001 ; ; _em_map_depositor_info.entry_id D_10005049 _em_map_depositor_info.id 1 _em_map_depositor_info.experiment_id . _em_map_depositor_info.map_type primary _em_map_depositor_info.upload_file_name GroelD7.mrc.gz _em_map_depositor_info.upload_format CCP4/MRC _em_map_depositor_info.annotation_details 'D7 structure of Groel at 4.2 Angstrom resolution' _em_map_depositor_info.contour_level 5.0 _em_map_depositor_info.pixel_spacing_x 1.06 _em_map_depositor_info.pixel_spacing_y 1.06 _em_map_depositor_info.pixel_spacing_z 1.06 ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_map_depositor_info save_ save__em_map_depositor_info.entry_id _item_description.description ; This data item is a pointer to the ENTRY category. ; _item.name '_em_map_depositor_info.entry_id' _item.category_id em_map_depositor_info _item.mandatory_code yes _item_type.code code _item_linked.child_name '_em_map_depositor_info.entry_id' _item_linked.parent_name '_entry.id' save_ save__em_map_depositor_info.experiment_id _item_description.description ; This data item optionally associates a map with a data item in the EM_EXPERIMENT category. ; _item.name '_em_map_depositor_info.experiment_id' _item.category_id em_map_depositor_info _item.mandatory_code no _item_type.code code _item_linked.child_name '_em_map_depositor_info.experiment_id' _item_linked.parent_name '_em_experiment.id' save_ save__em_map_depositor_info.id _item_description.description ; Unique identifier for each map listed. ; _item.name '_em_map_depositor_info.id' _item.category_id em_map_depositor_info _item.mandatory_code yes _item_type.code code save_ save__em_map_depositor_info.map_type _item_description.description ; Primary map or additional map classification. ; _item.name '_em_map_depositor_info.map_type' _item.category_id em_map_depositor_info _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value 'primary' 'additional' save_ save__em_map_depositor_info.upload_file_name _item_description.description ; The name of a file containing the map. ; _item.name '_em_map_depositor_info.upload_file_name' _item.category_id em_map_depositor_info _item.mandatory_code yes _item_type.code line save_ save__em_map_depositor_info.upload_format _item_description.description ; map format ; _item.name '_em_map_depositor_info.upload_format' _item.category_id em_map_depositor_info _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value CCP4/MRC SPIDER save_ save__em_map_depositor_info.contour_level _item_description.description ; recommended contour level for viewing the map ; _item.name '_em_map_depositor_info.contour_level' _item.category_id em_map_depositor_info _item.mandatory_code no _item_type.code float save_ save__em_map_depositor_info.annotation_details _item_description.description ; map annotation details ; _item.name '_em_map_depositor_info.annotation_details' _item.category_id em_map_depositor_info _item.mandatory_code no _item_type.code text save_ save__em_map_depositor_info.pixel_spacing_x _item_description.description ; The length in Angstroms of one voxel along the X axis. ; _item.name '_em_map_depositor_info.pixel_spacing_x' _item.category_id em_map_depositor_info _item.mandatory_code yes _item_type.code float loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_em_map_depositor_info.pixel_spacing_x" 0.1 0.1 "_em_map_depositor_info.pixel_spacing_x" 0.1 5.0 "_em_map_depositor_info.pixel_spacing_x" 5.0 5.0 save_ save__em_map_depositor_info.pixel_spacing_y _item_description.description ; The length in Angstroms of one voxel along the Y axis. ; _item.name '_em_map_depositor_info.pixel_spacing_y' _item.category_id em_map_depositor_info _item.mandatory_code yes _item_type.code float loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_em_map_depositor_info.pixel_spacing_y" 0.1 0.1 "_em_map_depositor_info.pixel_spacing_y" 0.1 5.0 "_em_map_depositor_info.pixel_spacing_y" 5.0 5.0 save_ save__em_map_depositor_info.pixel_spacing_z _item_description.description ; The length in Angstroms of one voxel along the Z axis. ; _item.name '_em_map_depositor_info.pixel_spacing_z' _item.category_id em_map_depositor_info _item.mandatory_code yes _item_type.code float loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_em_map_depositor_info.pixel_spacing_z" 0.1 0.1 "_em_map_depositor_info.pixel_spacing_z" 0.1 5.0 "_em_map_depositor_info.pixel_spacing_z" 5.0 5.0 save_ ############################# ## EM_MASK_DEPOSITOR_INFO ## ############################# save_em_mask_depositor_info _category.description ; Data items in the EM_MASK_DEPOSITOR_INFO category record mask parameters that are provided by the depositor ; _category.id em_mask_depositor_info _category.mandatory_code no _category_key.name '_em_mask_depositor_info.id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case ;Example 1 - based on map entry EMD-5001 ; ; _em_mask_depositor_info.id 1 _em_mask_depositor_info.upload_file_name GroelD7.mrc.gz _em_mask_depositor_info.upload_format CCP4/MRC _em_mask_depositor_info.annotation_details 'D7 structure of Groel at 4.2 Angstrom resolution' _em_mask_depositor_info.contour_level 5.0 _em_mask_depositor_info.pixel_spacing_x 1.06 _em_mask_depositor_info.pixel_spacing_y 1.06 _em_mask_depositor_info.pixel_spacing_z 1.06 ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_mask_depositor_info save_ save__em_mask_depositor_info.id _item_description.description ; Unique identifier for each map listed. ; _item.name '_em_mask_depositor_info.id' _item.category_id em_mask_depositor_info _item.mandatory_code yes _item_type.code code save_ save__em_mask_depositor_info.upload_file_name _item_description.description ; The name of a file containing the map. ; _item.name '_em_mask_depositor_info.upload_file_name' _item.category_id em_mask_depositor_info _item.mandatory_code yes _item_type.code line save_ save__em_mask_depositor_info.upload_format _item_description.description ; map format ; _item.name '_em_mask_depositor_info.upload_format' _item.category_id em_mask_depositor_info _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value CCP4/MRC SPIDER save_ save__em_mask_depositor_info.contour_level _item_description.description ; recommended contour level for viewing the map ; _item.name '_em_mask_depositor_info.contour_level' _item.category_id em_mask_depositor_info _item.mandatory_code no _item_type.code float save_ save__em_mask_depositor_info.annotation_details _item_description.description ; map annotation details ; _item.name '_em_mask_depositor_info.annotation_details' _item.category_id em_mask_depositor_info _item.mandatory_code no _item_type.code text save_ save__em_mask_depositor_info.pixel_spacing_x _item_description.description ; The length in Angstroms of one voxel along the X axis. ; _item.name '_em_mask_depositor_info.pixel_spacing_x' _item.category_id em_mask_depositor_info _item.mandatory_code yes _item_type.code float loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_em_mask_depositor_info.pixel_spacing_x" 0.1 0.1 "_em_mask_depositor_info.pixel_spacing_x" 0.1 5.0 "_em_mask_depositor_info.pixel_spacing_x" 5.0 5.0 save_ save__em_mask_depositor_info.pixel_spacing_y _item_description.description ; The length in Angstroms of one voxel along the Y axis. ; _item.name '_em_mask_depositor_info.pixel_spacing_y' _item.category_id em_mask_depositor_info _item.mandatory_code yes _item_type.code float loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_em_mask_depositor_info.pixel_spacing_y" 0.1 0.1 "_em_mask_depositor_info.pixel_spacing_y" 0.1 5.0 "_em_mask_depositor_info.pixel_spacing_y" 5.0 5.0 save_ save__em_mask_depositor_info.pixel_spacing_z _item_description.description ; The length in Angstroms of one voxel along the Z axis. ; _item.name '_em_mask_depositor_info.pixel_spacing_z' _item.category_id em_mask_depositor_info _item.mandatory_code yes _item_type.code float loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum "_em_mask_depositor_info.pixel_spacing_z" 0.1 0.1 "_em_mask_depositor_info.pixel_spacing_z" 0.1 5.0 "_em_mask_depositor_info.pixel_spacing_z" 5.0 5.0 save_ ############################## ## EM_FIGURE_DEPOSITOR_INFO ## ############################## save_em_figure_depositor_info _category.description ; Listing of image files (figures) associated with an EMDB entry ; _category.id em_figure_depositor_info _category.mandatory_code no _category_key.name '_em_figure_depositor_info.id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_figure_depositor_info.experiment_id 1 _em_figure_depositor_info.id 1 _em_figure_depositor_info.upload_file_name 'groel-chimera-image.png' _em_figure_depositor_info.details . ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_figure_depositor_info save_ save__em_figure_depositor_info.id _item_description.description ; This data item is the unique identifier for an image file. ; _item.name '_em_figure_depositor_info.id' _item.category_id em_figure_depositor_info _item.mandatory_code yes _item_type.code code save_ save__em_figure_depositor_info.experiment_id _item_description.description ; This data item optionally associates an image (figure) with an experiment. ; _item.name '_em_figure_depositor_info.experiment_id' _item.category_id em_figure_depositor_info _item.mandatory_code no _item_type.code code _item_linked.child_name '_em_figure_depositor_info.experiment_id' _item_linked.parent_name '_em_experiment.id' save_ save__em_figure_depositor_info.upload_file_name _item_description.description ; The name of the image file associated with the map entry ; _item.name '_em_figure_depositor_info.upload_file_name' _item.category_id em_figure_depositor_info _item.mandatory_code yes _item_type.code line save_ save__em_figure_depositor_info.details _item_description.description ; Details about the image file. ; _item.name '_em_figure_depositor_info.details' _item.category_id em_figure_depositor_info _item.mandatory_code no _item_type.code text save_ ################################### ## EM_LAYER_LINES_DEPOSITOR_INFO ## ################################### save_em_layer_lines_depositor_info _category.description ; Listing of layer line files associated with the EM entry ; _category.id em_layer_lines_depositor_info _category.mandatory_code no _category_key.name '_em_layer_lines_depositor_info.id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_layer_lines_depositor_info.experiment_id 1 _em_layer_lines_depositor_info.id 1 _em_layer_lines_depositor_info.upload_file_name 'emd-1234-ll.cif' _em_layer_lines_depositor_info.details . ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_layer_lines_depositor_info save_ save__em_layer_lines_depositor_info.id _item_description.description ; This data item is the unique identifier for the layer line file. ; _item.name '_em_layer_lines_depositor_info.id' _item.category_id em_layer_lines_depositor_info _item.mandatory_code yes _item_type.code code save_ save__em_layer_lines_depositor_info.experiment_id _item_description.description ; This data item is a pointer to the EMD_STRUCT category. ; _item.name '_em_layer_lines_depositor_info.experiment_id' _item.category_id em_layer_lines_depositor_info _item.mandatory_code no _item_type.code code _item_linked.child_name '_em_layer_lines_depositor_info.experiment_id' _item_linked.parent_name '_em_experiment.id' save_ save__em_layer_lines_depositor_info.upload_file_name _item_description.description ; The name of the layer line file associated with the map entry ; _item.name '_em_layer_lines_depositor_info.upload_file_name' _item.category_id em_layer_lines_depositor_info _item.mandatory_code yes _item_type.code line save_ save__em_layer_lines_depositor_info.details _item_description.description ; Details about the layer line file. ; _item.name '_em_layer_lines_depositor_info.details' _item.category_id em_layer_lines_depositor_info _item.mandatory_code no _item_type.code text save_ ######################################### ## EM_STRUCTURE_FACTORS_DEPOSITOR_INFO ## ######################################### save_em_structure_factors_depositor_info _category.description ; Structure factor files associated with the EM entry ; _category.id em_structure_factors_depositor_info _category.mandatory_code no _category_key.name '_em_structure_factors_depositor_info.id' loop_ _category_group.id 'inclusive_group' 'emdb_admin_group' loop_ _category_examples.detail _category_examples.case ; Example 1 ; ; _em_structure_factors_depositor_info.experiment_id 1 _em_structure_factors_depositor_info.id 1 _em_structure_factors_depositor_info.upload_file_name 'emd-1234-sf.cif' _em_structure_factors_depositor_info.details . ; _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id em_structure_factors_depositor_info save_ save__em_structure_factors_depositor_info.id _item_description.description ; This data item is the unique identifier for the structure factor file. ; _item.name '_em_structure_factors_depositor_info.id' _item.category_id em_structure_factors_depositor_info _item.mandatory_code yes _item_type.code code save_ save__em_structure_factors_depositor_info.experiment_id _item_description.description ; This data item is an optional pointer to the EM_EXPERIMENT category. ; _item.name '_em_structure_factors_depositor_info.experiment_id' _item.category_id em_structure_factors_depositor_info _item.mandatory_code no _item_type.code code _item_linked.child_name '_em_structure_factors_depositor_info.experiment_id' _item_linked.parent_name '_em_experiment.id' save_ save__em_structure_factors_depositor_info.upload_file_name _item_description.description ; The name of the structure factor file associated with the map entry ; _item.name '_em_structure_factors_depositor_info.upload_file_name' _item.category_id em_structure_factors_depositor_info _item.mandatory_code yes _item_type.code line save_ save__em_structure_factors_depositor_info.details _item_description.description ; Details about the structure factor file. ; _item.name '_em_structure_factors_depositor_info.details' _item.category_id em_structure_factors_depositor_info _item.mandatory_code no _item_type.code text save_ # File: chemical_shift_extensions_v5.dic # Date: 11-Feb-2014 # # Updated: 1-Feb-2015 jdw localize some items # # save__pdbx_nmr_refine.software_ordinal _item_description.description ; Pointer to _software.ordinal ; _item.name '_pdbx_nmr_refine.software_ordinal' _item.category_id 'pdbx_nmr_refine' _item.mandatory_code yes _item_type.code int _pdbx_item_description.name '_pdbx_nmr_refine.software_ordinal' _pdbx_item_description.description 'Previously specified software type used for refinement of the structure.' save_ save__pdbx_nmr_software.details _item_description.description ; Text description of the software. ; _item.name '_pdbx_nmr_software.details' _item.category_id 'pdbx_nmr_software' _item.mandatory_code no _item_type.code 'text' _pdbx_item_description.name "_pdbx_nmr_software.details" _pdbx_item_description.description "Further description of the software and procedure." # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_software.details' save_ save__pdbx_nmr_exptl_sample.concentration_err _item_description.description ; Estimate for the standard error associated with the concentration value of the sample component. ; _item.name '_pdbx_nmr_exptl_sample.concentration_err' _item.category_id 'pdbx_nmr_exptl_sample' _item.mandatory_code no _item_type.code 'float' _item_range.minimum 0 _item_range.maximum . loop_ _item_examples.case ; 0.2 ; _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_exptl_sample.concentration_err' save_ save__pdbx_nmr_spectrometer.name _item_description.description ; A label that uniquely identifies the NMR spectrometer from other spectrometers listed in the entry. ; _item.name '_pdbx_nmr_spectrometer.name' _item.category_id 'pdbx_nmr_spectrometer' _item.mandatory_code no _item_type.code 'line' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_spectrometer.name' save_ save__pdbx_nmr_spectral_dim.sweep_width_units _item_description.description ; The units for the sweep width value (Hz or ppm) ; _item.name '_pdbx_nmr_spectral_dim.sweep_width_units' _item.category_id 'pdbx_nmr_spectral_dim' _item.mandatory_code yes _item_type.code 'code' loop_ _item_enumeration.value _item_enumeration.detail Hz Hertz ppm 'parts per million' loop_ _item_examples.case Hz ppm save_ save__pdbx_nmr_spectral_dim.center_frequency_offset _item_description.description ; The center frequency offset for the spectral dimension specified. ; _item.name '_pdbx_nmr_spectral_dim.center_frequency_offset' _item.category_id 'pdbx_nmr_spectral_dim' _item.mandatory_code yes _item_type.code 'float' loop_ _item_examples.case ; 4.76 ; save_ save__pdbx_nmr_spectral_dim.under_sampling_type _item_description.description ; The type of spectral folding/aliasing that was used or occurred when the spectrum was collected. ; _item.name '_pdbx_nmr_spectral_dim.under_sampling_type' _item.category_id 'pdbx_nmr_spectral_dim' _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail aliased 'Under sampling that results in observed peaks that have circular chemical shift offsets' folded 'Under sampling that results in observed peaks that have chemical shift offsets that are folded relative to the left or right edge of the spectral window' 'not observed' 'Neither aliased nor folded peaks were observed' loop_ _item_examples.case aliased folded 'not observed' save_ save__pdbx_nmr_chem_shift_software.software_label _item_description.description ; Name given to the software. The name should match the name provided when the software was described in the software category. ; _item.name '_pdbx_nmr_chem_shift_software.software_label' _item.category_id 'pdbx_nmr_chem_shift_software' _item.mandatory_code no _item_type.code 'code' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_chem_shift_software.software_label' save_ # ---------------------------------------------------------------------------------------------------------------------------- # # File: depositor_info-extension.dic # Date: 11-June-2012 Jdw # # Draft dictionary extension for representing details to be captured at deposition time. # # Updated: # 27-Aug-2012 jdw added pdbx_solvent_atom_site_mapping # 11-Oct-2012 jdw added pdbx_chem_comp_instance_depositor_info # 13-Feb-2013 jdw added _pdbx_helical_symmetry_depositor_info.status_flag and _pdbx_point_symmetry_depositor_info.status_flag # added internal categories -depui_validation_status_flags, pdbx_depui_upload, pdbx_depui_status_flags # 20-Feb-2013 jdw added pdbx_chem_comp_upload_depositor_info category. # added _pdbx_depui_status_flags.prediction_target and category pdbx_depui_entity_status_flags # 04-Mar-2013 jdw consolidated pdbx_struct_ref_depositor_info into pdbx_struct_ref_seq_depositor_info # 27-Aug-2013 jdw add local category context to all categories -- # 29-Aug-2013 jdw add internal message management categories # 24-Feb-2016 ep,jw add _pdbx_database_status.auth_req_rel_date # 23-May-2016 ep clean up examples of pdbx_chem_comp_depositor_info and pdbx_chem_comp_instance_depositor_info, pdbx_depui_upload, pdbx_deposition_message_info, pdbx_deposition_message_file_reference, pdbx_struct_ref_seq_depositor_info # 18-Dec-2016 ep add auth_seq_num and auth_comp_id to pdbx_entity_instance_feature. Add full_matrices, at_unit_matrix, chain_id_list, helical_rotation and helical_rise to pdbx_struct_assembly_gen_info # 04-Jan-2017 ep add _pdbx_struct_assembly_gen_depositor_info.all_chains # 19-Jan-2017 ep make _pdbx_struct_assembly_gen_depositor_info.chain_id_list,_pdbx_struct_assembly_gen_depositor_info.full_matrices, # _pdbx_struct_assembly_gen_depositor_info.at_unit_matrix, non-mandatory for archive, but mandatory depui # 05-Feb-2017 ep add pdbx_struct_assembly_gen_depositor_info.symmetry_operation # 11-Feb-2017 ep add pdbx_struct_assembly_auth_evidence_depositor_info. Change parent of pdbx_struct_assembly_gen_depositor_info # to pdbx_struct_assembly_depositor_info # 28-Apr-2017 ep add _pdbx_depui_status_flags.has_sas_data and # _pdbx_depui_status_flags.is_sas_deposited # 30-Jun-2017 ep add _pdbx_depui_status_flags.use_sas_refine # 07-Jul-2017 ep make pdbx_depui_status_flags.is_grant_funded mandatory for deposition #------------------------------------------------------------------------------------------------------------------------------------ save__pdbx_database_status.auth_req_rel_date # _item_description.description ; The release date requested by the depositor. This is used when the depositor has provided the release hold date expiration or a one year hold interval. ; # _item.name '_pdbx_database_status.auth_req_rel_date' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code yyyy-mm-dd # _item_examples.case 2016-02-29 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.auth_req_rel_date' # save_ save__pdbx_contact_author.identifier_ORCID _item_description.description ; The Open Researcher and Contributor ID (ORCID). ; _item.name '_pdbx_contact_author.identifier_ORCID' _item.category_id pdbx_contact_author _item.mandatory_code no _pdbx_item.name '_pdbx_contact_author.identifier_ORCID' _pdbx_item.mandatory_code yes _item_type.code orcid_id _item_examples.case '0000-0002-6681-547X' save_ save__entity_poly.pdbx_sequence_evidence_code _item_description.description ; Evidence for the assignment of the polymer sequence. ; _item.name '_entity_poly.pdbx_sequence_evidence_code' _item.category_id entity_poly _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'depositor provided' . 'derived from coordinates' . _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity_poly.pdbx_sequence_evidence_code' save_ ################################# ## PDBX_SEQ_MAP_DEPOSITOR_INFO ## ################################# save_pdbx_seq_map_depositor_info _category.description ; Data items in the PDBX_SEQ_MAP_DEPOSITOR_INFO record the details about the mapping sample and coordinate sequences. ; _category.id pdbx_seq_map_depositor_info _category.mandatory_code no loop_ _category_key.name '_pdbx_seq_map_depositor_info.entity_id' '_pdbx_seq_map_depositor_info.auth_asym_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_seq_map_depositor_info.entity_id _pdbx_seq_map_depositor_info.auth_asym_id _pdbx_seq_map_depositor_info.one_letter_code _pdbx_seq_map_depositor_info.one_letter_code_mod 1 A 'AAAAAAAAAAAAAAAAA' 'AAAAAAAAAAAAAAAAA' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_seq_map_depositor_info save_ save__pdbx_seq_map_depositor_info.entity_id _item_description.description ; This data item is a pointer to _entity_poly.entity_id in the ENTITY_POLY category. ; _item.name '_pdbx_seq_map_depositor_info.entity_id' _item.category_id pdbx_seq_map_depositor_info _item.mandatory_code yes _item_type.code code save_ save__pdbx_seq_map_depositor_info.auth_asym_id _item_description.description ; This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_seq_map_depositor_info.auth_asym_id' _item.category_id pdbx_seq_map_depositor_info _item.mandatory_code yes _item_type.code code save_ save__pdbx_seq_map_depositor_info.one_letter_code _item_description.description ; Coordinate sequence expressed as string of one-letter residue codes. ; _item.name '_pdbx_seq_map_depositor_info.one_letter_code' _item.category_id pdbx_seq_map_depositor_info _item.mandatory_code yes _item_type.code text save_ save__pdbx_seq_map_depositor_info.one_letter_code_mod _item_description.description ; Coordinate sequence expressed as string of one-letter residue codes with nonstandard residues expressed as 3-letter codes in parentheses. ; _item.name '_pdbx_seq_map_depositor_info.one_letter_code_mod' _item.category_id pdbx_seq_map_depositor_info _item.mandatory_code no _item_type.code text save_ ################################### ## PDBX_CHEM_COMP_DEPOSITOR_INFO ## ################################### save_pdbx_chem_comp_depositor_info _category.description ; Data items in the PDBX_CHEM_COMP_DEPOSITOR_INFO category record additional details provided by depositors about deposited chemical components. ; _category.id pdbx_chem_comp_depositor_info _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_depositor_info.ordinal' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_depositor_info.ordinal _pdbx_chem_comp_depositor_info.comp_id _pdbx_chem_comp_depositor_info.name _pdbx_chem_comp_depositor_info.formula _pdbx_chem_comp_depositor_info.descriptor _pdbx_chem_comp_depositor_info.descriptor_type _pdbx_chem_comp_depositor_info.alt_comp_id 1 GNC "N-acetyl-beta-D-glucosamine" "C8 H15 N O6" "CC(=O)N[C@H]1[C@H](O)O[C@H](CO)[C@@H](O)[C@@H]1O" SMILES . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_chem_comp_depositor_info save_ save__pdbx_chem_comp_depositor_info.ordinal _item_description.description ; Ordinal index for this category. ; _item.name '_pdbx_chem_comp_depositor_info.ordinal' _item.category_id pdbx_chem_comp_depositor_info _item.mandatory_code yes _item_type.code int save_ save__pdbx_chem_comp_depositor_info.comp_id _item_description.description ; The chemical component identifier used by the depositor to represent this component. ; _item.name '_pdbx_chem_comp_depositor_info.comp_id' _item.category_id pdbx_chem_comp_depositor_info _item.mandatory_code yes _item_type.code ucode _pdbx_item_description.name "_pdbx_chem_comp_depositor_info.comp_id" _pdbx_item_description.description "Enter a three-letter code for the ligand from the wwPDB Chemical Component Dictionary, if known. Example: BEZ" save_ save__pdbx_chem_comp_depositor_info.alt_comp_id _item_description.description ; The alternate chemical component identifier matching the deposited chemical component. ; _item.name '_pdbx_chem_comp_depositor_info.alt_comp_id' _item.category_id pdbx_chem_comp_depositor_info _item.mandatory_code no _item_type.code ucode save_ save__pdbx_chem_comp_depositor_info.name _item_description.description ; The chemical name of the component. ; _item.name '_pdbx_chem_comp_depositor_info.name' _item.category_id pdbx_chem_comp_depositor_info _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'alanine' 'valine' 'adenine' 'cytosine' _pdbx_item_description.name "_pdbx_chem_comp_depositor_info.name" _pdbx_item_description.description "Enter chemical name of the ligand (systematic or trivial). If the ligand underwent a chemical reaction, enter a name for the starting material. Example: Benzoic Acid" save_ save__pdbx_chem_comp_depositor_info.formula _item_description.description ; The formula for the chemical component. Formulae are written according to the following rules: (1) Only recognized element symbols may be used. (2) Each element symbol is followed by a 'count' number. A count of '1' may be omitted. (3) A space or parenthesis must separate each cluster of (element symbol + count), but in general parentheses are not used. (4) The order of elements depends on whether carbon is present or not. If carbon is present, the order should be: C, then H, then the other elements in alphabetical order of their symbol. If carbon is not present, the elements are listed purely in alphabetic order of their symbol. This is the 'Hill' system used by Chemical Abstracts. ; _item.name '_pdbx_chem_comp_depositor_info.formula' _item.category_id pdbx_chem_comp_depositor_info _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'C18 H19 N7 O8 S' _pdbx_item_description.name "_pdbx_chem_comp_depositor_info.formula" _pdbx_item_description.description "Enter chemical formula of the complete ligand including unobserved atoms and those leaving due to a chemical reaction. Example: C7 H6 O2" save_ save__pdbx_chem_comp_depositor_info.type _item_description.description ; This data item contains the chemical component type. ; _item.name '_pdbx_chem_comp_depositor_info.type' _item.category_id pdbx_chem_comp_depositor_info _item.mandatory_code no _item_type.code line _pdbx_item_description.name "_pdbx_chem_comp_depositor_info.type" _pdbx_item_description.description "Chemical features/characteristics of the ligand (peptide-like molecule, carbohydrate, etc.)" loop_ _item_enumeration.value _item_enumeration.detail 'D-peptide linking' . 'L-peptide linking' . 'DNA linking' . 'RNA linking' . 'L-RNA linking' . 'L-DNA linking' . 'saccharide' . 'non-polymer' . 'peptide linking' . 'peptide-like' . 'other' . save_ save__pdbx_chem_comp_depositor_info.descriptor _item_description.description ; This data item contains the descriptor value for this component. ; _item.name '_pdbx_chem_comp_depositor_info.descriptor' _item.category_id pdbx_chem_comp_depositor_info _item.mandatory_code no _item_type.code text _pdbx_item_description.name '_pdbx_chem_comp_depositor_info.descriptor' _pdbx_item_description.description 'Provide a SMILES string. A SMILES string is a way to represent a 2D molecular graph as a 1D string.' save_ save__pdbx_chem_comp_depositor_info.descriptor_type _item_description.description ; This data item contains the descriptor type. ; _item.name '_pdbx_chem_comp_depositor_info.descriptor_type' _item.category_id pdbx_chem_comp_depositor_info _item.mandatory_code no _item_type.code uline loop_ _item_enumeration.value _item_enumeration.detail SMILES 'SMILES descriptor' InChI 'InChI descriptor' InChIKey 'InChI descriptor- hash key form' save_ save__pdbx_chem_comp_depositor_info.in_dictionary_flag _item_description.description ; A flag to indicate if the chemical component is defined in the chemical component dictionary. ; _item.name '_pdbx_chem_comp_depositor_info.in_dictionary_flag' _item.category_id pdbx_chem_comp_depositor_info _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_chem_comp_depositor_info.details _item_description.description ; This data item contains additional details about this component. ; _item.name '_pdbx_chem_comp_depositor_info.details' _item.category_id pdbx_chem_comp_depositor_info _item.mandatory_code no _item_type.code text save_ ## ## ######################################## ## PDBX_STRUCT_REF_SEQ_DEPOSITOR_INFO ## ######################################## save_pdbx_struct_ref_seq_depositor_info _category.description ; Data items in the PDBX_STRUCT_REF_SEQ_DEPOSITOR_INFO category capture depositor provided information related to the archival cateogory STRUCT_REF_SEQ. ; _category.id pdbx_struct_ref_seq_depositor_info _category.mandatory_code no _category_key.name '_pdbx_struct_ref_seq_depositor_info.ref_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'struct_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_struct_ref_seq_depositor_info.ref_id 1 _pdbx_struct_ref_seq_depositor_info.entity_id 1 _pdbx_struct_ref_seq_depositor_info.db_align_beg 18 _pdbx_struct_ref_seq_depositor_info.db_align_end 276 _pdbx_struct_ref_seq_depositor_info.db_code . _pdbx_struct_ref_seq_depositor_info.db_name . _pdbx_struct_ref_seq_depositor_info.db_accession . _pdbx_struct_ref_seq_depositor_info.db_seq_one_letter_code . _pdbx_struct_ref_seq_depositor_info.seq_align_begin . _pdbx_struct_ref_seq_depositor_info.seq_align_end . _pdbx_struct_ref_seq_depositor_info.details . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_struct_ref_seq_depositor_info save_ save__pdbx_struct_ref_seq_depositor_info.ref_id _item_description.description ; This data item is a unique identifier for reference sequence information. ; _item.name '_pdbx_struct_ref_seq_depositor_info.ref_id' _item.category_id pdbx_struct_ref_seq_depositor_info _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_ref_seq_depositor_info.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_pdbx_struct_ref_seq_depositor_info.entity_id' _item.category_id pdbx_struct_ref_seq_depositor_info _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_ref_seq_depositor_info.db_align_beg _item_description.description ; The sequence position in the referenced database entry at which the alignment begins. ; _item.name '_pdbx_struct_ref_seq_depositor_info.db_align_beg' _item.category_id pdbx_struct_ref_seq_depositor_info _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ save__pdbx_struct_ref_seq_depositor_info.db_align_end _item_description.description ; The sequence position in the referenced database entry at which the alignment ends. ; _item.name '_pdbx_struct_ref_seq_depositor_info.db_align_end' _item.category_id pdbx_struct_ref_seq_depositor_info _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ save__pdbx_struct_ref_seq_depositor_info.details _item_description.description ; A description of special aspects of the sequence alignment. ; _item.name '_pdbx_struct_ref_seq_depositor_info.details' _item.category_id pdbx_struct_ref_seq_depositor_info _item.mandatory_code no _item_type.code text save_ save__pdbx_struct_ref_seq_depositor_info.db_accession _item_description.description ; Accession code of the reference database. ; _item.name '_pdbx_struct_ref_seq_depositor_info.db_accession' _item.category_id pdbx_struct_ref_seq_depositor_info _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'P07617' save_ save__pdbx_struct_ref_seq_depositor_info.db_code _item_description.description ; The code for this entity or biological unit or for a closely related entity or biological unit in the named database. ; _item.name '_pdbx_struct_ref_seq_depositor_info.db_code' _item.category_id pdbx_struct_ref_seq_depositor_info _item.mandatory_code no _item_type.code line loop_ _item_examples.case '1ABC' 'ABCDEF' save_ save__pdbx_struct_ref_seq_depositor_info.db_name _item_description.description ; The name of the database containing reference information about this entity or biological unit. ; _item.name '_pdbx_struct_ref_seq_depositor_info.db_name' _item.category_id pdbx_struct_ref_seq_depositor_info _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'UNP' 'GB' loop_ _pdbx_item_enumeration.value _pdbx_item_enumeration.detail 'UNP' 'UniProt' 'GB' 'Genbank' save_ save__pdbx_struct_ref_seq_depositor_info.db_seq_one_letter_code _item_description.description ; Database chemical sequence expressed as string of one-letter residue codes. ; _item.name '_pdbx_struct_ref_seq_depositor_info.db_seq_one_letter_code' _item.category_id pdbx_struct_ref_seq_depositor_info _item.mandatory_code no # _item_type.code seq-one-letter-code _item_type.code text _item_examples.case ; A for alanine or adenine B for ambiguous asparagine/aspartic-acid R for arginine N for asparagine D for aspartic-acid C for cysteine or cystine or cytosine Q for glutamine E for glutamic-acid Z for ambiguous glutamine/glutamic acid G for glycine or guanine H for histidine I for isoleucine L for leucine K for lysine M for methionine F for phenylalanine P for proline S for serine T for threonine or thymine W for tryptophan Y for tyrosine V for valine U for uracil O for water X for other ; _pdbx_item_examples.name "_pdbx_struct_ref_seq_depositor_info.db_seq_one_letter_code" _pdbx_item_examples.case "HHHH(MSE)AKQRSG or AUCGGAAU'" _pdbx_item_examples.detail . save_ save__pdbx_struct_ref_seq_depositor_info.seq_align_begin _item_description.description ; Beginning index in the author provided chemical sequence. ; _item.name '_pdbx_struct_ref_seq_depositor_info.seq_align_begin' _item.category_id pdbx_struct_ref_seq_depositor_info _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' save_ save__pdbx_struct_ref_seq_depositor_info.seq_align_end _item_description.description ; Ending index in the author provided chemical sequence. ; _item.name '_pdbx_struct_ref_seq_depositor_info.seq_align_end' _item.category_id pdbx_struct_ref_seq_depositor_info _item.mandatory_code no _item_type.code code loop_ _item_examples.case '201' '451' save_ ############################################ ## PDBX_STRUCT_REF_SEQ_DIF_DEPOSITOR_INFO ## ############################################ save_pdbx_struct_ref_seq_dif_depositor_info _category.description ; Data items in the PDBX_STRUCT_REF_SEQ_DIF_DEPOSITOR_INFO category capture depositor provided information related to the archival cateogory STRUCT_REF_SEQ_DIF. ; _category.id pdbx_struct_ref_seq_dif_depositor_info _category.mandatory_code no _category_key.name '_pdbx_struct_ref_seq_dif_depositor_info.ordinal' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_struct_ref_seq_dif_depositor_info.ordinal 1 _pdbx_struct_ref_seq_dif_depositor_info.ref_id 1 _pdbx_struct_ref_seq_dif_depositor_info.auth_seq_id 181 _pdbx_struct_ref_seq_dif_depositor_info.auth_mon_id ALA _pdbx_struct_ref_seq_dif_depositor_info.db_mon_id GLU _pdbx_struct_ref_seq_dif_depositor_info.db_seq_id 301 _pdbx_struct_ref_seq_dif_depositor_info.details . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_struct_ref_seq_dif_depositor_info save_ save__pdbx_struct_ref_seq_dif_depositor_info.ordinal _item_description.description ; Ordinal index for this category. ; _item.name '_pdbx_struct_ref_seq_dif_depositor_info.ordinal' _item.category_id pdbx_struct_ref_seq_dif_depositor_info _item.mandatory_code yes _item_type.code int save_ save__pdbx_struct_ref_seq_dif_depositor_info.ref_id _item_description.description ; This data item is a pointer to _struct_ref_seq.ref_id in the STRUCT_REF_SEQ_DEPOSITOR_INFO category. ; _item.name '_pdbx_struct_ref_seq_dif_depositor_info.ref_id' _item.category_id pdbx_struct_ref_seq_dif_depositor_info _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_ref_seq_dif_depositor_info.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_pdbx_struct_ref_seq_dif_depositor_info.entity_id' _item.category_id pdbx_struct_ref_seq_dif_depositor_info _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_ref_seq_dif_depositor_info.db_mon_id _item_description.description ; The monomer type found at this position in the referenced database entry. This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_pdbx_struct_ref_seq_dif_depositor_info.db_mon_id' _item.category_id pdbx_struct_ref_seq_dif_depositor_info _item.mandatory_code no _item_type.code ucode save_ save__pdbx_struct_ref_seq_dif_depositor_info.db_seq_id _item_description.description ; The monomer position in the referenced database entry. ; _item.name '_pdbx_struct_ref_seq_dif_depositor_info.db_seq_id' _item.category_id pdbx_struct_ref_seq_dif_depositor_info _item.mandatory_code no _item_type.code int loop_ _item_range.maximum _item_range.minimum . 1 1 1 save_ save__pdbx_struct_ref_seq_dif_depositor_info.details _item_description.description ; A description of special aspects of the point differences between the sequence of the entity or biological unit described in the data block and that in the referenced database entry. ; _item.name '_pdbx_struct_ref_seq_dif_depositor_info.details' _item.category_id pdbx_struct_ref_seq_dif_depositor_info _item.mandatory_code no _item_type.code text save_ save__pdbx_struct_ref_seq_dif_depositor_info.auth_mon_id _item_description.description ; The monomer type found at this position in the sequence of the entity or biological unit provided by the depositor. ; _item.name '_pdbx_struct_ref_seq_dif_depositor_info.auth_mon_id' _item.category_id pdbx_struct_ref_seq_dif_depositor_info _item.mandatory_code no _item_type.code ucode save_ save__pdbx_struct_ref_seq_dif_depositor_info.auth_seq_id _item_description.description ; The monomer position in the author provided sequence. ; _item.name '_pdbx_struct_ref_seq_dif_depositor_info.auth_seq_id' _item.category_id pdbx_struct_ref_seq_dif_depositor_info _item.mandatory_code no _item_type.code int save_ save__pdbx_struct_ref_seq_dif_depositor_info.db_accession _item_description.description ; Accession code of the reference database. ; _item.name '_pdbx_struct_ref_seq_dif_depositor_info.db_accession' _item.category_id pdbx_struct_ref_seq_dif_depositor_info _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'P07617' save_ save__pdbx_struct_ref_seq_dif_depositor_info.db_code _item_description.description ; The code for this entity or biological unit or for a closely related entity or biological unit in the named database. ; _item.name '_pdbx_struct_ref_seq_dif_depositor_info.db_code' _item.category_id pdbx_struct_ref_seq_dif_depositor_info _item.mandatory_code no _item_type.code line loop_ _item_examples.case '1ABC' 'ABCDEF' save_ save__pdbx_struct_ref_seq_dif_depositor_info.db_name _item_description.description ; The name of the database containing reference information about this entity or biological unit. ; _item.name '_pdbx_struct_ref_seq_dif_depositor_info.db_name' _item.category_id pdbx_struct_ref_seq_dif_depositor_info _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'PDB' 'UniProt' 'Genbank' save_ save__pdbx_struct_ref_seq_dif_depositor_info.annotation _item_description.description ; The description of the sequence difference. ; _item.name '_pdbx_struct_ref_seq_dif_depositor_info.annotation' _item.category_id pdbx_struct_ref_seq_dif_depositor_info _item.mandatory_code no _item_type.code uline loop_ _item_enumeration.value 'engineered mutation' 'cloning artifact' variant 'expression tag' insertion deletion microheterogeneity chromophore linker conflict acetylation amidation 'initiating methionine' save_ ### ### save_pdbx_struct_assembly_prop_depositor_info _category.description ; Data items in the PDBX_STRUCT_ASSEMBLY_PROP_DEPOSITOR_INFO category capture depositor provided information related to the archival cateogory PDBX_STRUCT_ASSEMBLY_PROP. ; _category.id pdbx_struct_assembly_prop_depositor_info _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_assembly_prop_depositor_info.type' '_pdbx_struct_assembly_prop_depositor_info.biol_id' # loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_struct_assembly_prop_depositor_info.biol_id 1 _pdbx_struct_assembly_prop_depositor_info.type ABSA _pdbx_struct_assembly_prop_depositor_info.value 1456.7 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_struct_assembly_prop_depositor_info save_ save__pdbx_struct_assembly_prop_depositor_info.biol_id _item_description.description ; The identifier for the assembly used in category STRUCT_BIOL. ; _item.name '_pdbx_struct_assembly_prop_depositor_info.biol_id' _item.category_id 'pdbx_struct_assembly_prop_depositor_info' _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_assembly_prop_depositor_info.type _item_description.description ; The property type for the assembly. ; _item.name '_pdbx_struct_assembly_prop_depositor_info.type' _item.category_id 'pdbx_struct_assembly_prop_depositor_info' _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'ABSA (A^2)' 'SSA (A^2)' 'MORE' save_ save__pdbx_struct_assembly_prop_depositor_info.value _item_description.description ; The value of the assembly property. ; _item.name '_pdbx_struct_assembly_prop_depositor_info.value' _item.category_id 'pdbx_struct_assembly_prop_depositor_info' _item.mandatory_code yes _item_type.code text save_ save__pdbx_struct_assembly_prop_depositor_info.details _item_description.description ; Additional details about this assembly property. ; _item.name '_pdbx_struct_assembly_prop_depositor_info.details' _item.category_id 'pdbx_struct_assembly_prop_depositor_info' _item.mandatory_code no _item_type.code text save_ ## ######################################### ## PDBX_STRUCT_ASSEMBLY_DEPOSITOR_INFO ## ######################################### save_pdbx_struct_assembly_depositor_info _category.description ; Data items in the PDBX_STRUCT_ASSEMBLY_DEPOSITOR_INFO category capture depositor provided information related to the archival cateogory PDBX_STRUCT_ASSEMBLY. ; _category.id pdbx_struct_assembly_depositor_info _category.mandatory_code no _category_key.name '_pdbx_struct_assembly_depositor_info.id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_struct_assembly_depositor_info.id _pdbx_struct_assembly_depositor_info.details 1 ; The icosahedral virus particle. ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_struct_assembly_depositor_info save_ save__pdbx_struct_assembly_depositor_info.details _item_description.description ; A description of special aspects of the macromolecular assembly. ; _item.name '_pdbx_struct_assembly_depositor_info.details' _item.category_id pdbx_struct_assembly_depositor_info _item.mandatory_code no _pdbx_item.mandatory_code yes _item_type.code text _item_examples.case ; The icosahedral virus particle. ; save_ save__pdbx_struct_assembly_depositor_info.id _item_description.description ; The value of _pdbx_struct_assembly_depositor_info.id must uniquely identify a record in the PDBX_STRUCT_ASSEMBLY_DEPOSITOR_INFO list. ; _item.name '_pdbx_struct_assembly_depositor_info.id' _item.category_id pdbx_struct_assembly_depositor_info _item.mandatory_code yes _item_type.code line _pdbx_item_description.name '_pdbx_struct_assembly_depositor_info.id' _pdbx_item_description.description 'The unique identifier for this assembly' save_ save__pdbx_struct_assembly_depositor_info.method_details _item_description.description ; Provides details of the method used to determine or compute the assembly. ; _item.name '_pdbx_struct_assembly_depositor_info.method_details' _item.category_id pdbx_struct_assembly_depositor_info _item.mandatory_code no _item_type.code text save_ # save__pdbx_struct_assembly_depositor_info.oligomeric_details _item_description.description ; Provides the details of the oligomeric state of the assembly. ; _item.name '_pdbx_struct_assembly_depositor_info.oligomeric_details' _item.category_id pdbx_struct_assembly_depositor_info _item.mandatory_code no _item_type.code line loop_ _item_examples.case monomer octameric tetradecameric eicosameric 21-meric 60-meric 180-meric helical # # monomeric octameric pentadecameric # dimeric nonameric hexadecameric # trimeric decameric heptadecameric # tetrameric undecameric octadecameric # pentameric dodecameric nonadecameric # hexameric tridecameric eicosameric # heptameric tetradecameric # 21-meric 22-meric 23-meric 24-meric 25-meric 26-meric 27-meric 28-meric 29-meric 30-meric # 31-meric 32-meric 33-meric 34-meric 35-meric 36-meric 37-meric 38-meric 39-meric 40-meric # 41-meric 42-meric 43-meric 44-meric 45-meric 46-meric 47-meric 48-meric 49-meric 50-meric # 51-meric 52-meric 53-meric 54-meric 55-meric 56-meric 57-meric 58-meric 59-meric 60-meric # 62-meric 108-meric 120-meric 180-meric 240-meric # cyclic tetrahedral dihedral octahedral icosahedral # save_ save__pdbx_struct_assembly_depositor_info.oligomeric_count _item_description.description ; The number of polymer molecules in the assembly. ; _item.name '_pdbx_struct_assembly_depositor_info.oligomeric_count' _item.category_id pdbx_struct_assembly_depositor_info _item.mandatory_code no _item_type.code line _pdbx_item.name "_pdbx_struct_assembly_depositor_info.oligomeric_count" _pdbx_item.mandatory_code yes save_ save__pdbx_struct_assembly_depositor_info.matrix_flag _item_description.description ; A flag to indicate that the depositor has provided matrix records ; _item.name '_pdbx_struct_assembly_depositor_info.matrix_flag' _item.category_id pdbx_struct_assembly_depositor_info _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_struct_assembly_depositor_info.upload_file_name # Deprecated _item_description.description ; The name of a file containing matrix records. ; _item.name '_pdbx_struct_assembly_depositor_info.upload_file_name' _item.category_id pdbx_struct_assembly_depositor_info _item.mandatory_code no _item_type.code text save_ ############################################# ## PDBX_STRUCT_ASSEMBLY_GEN_DEPOSITOR_INFO ## ############################################# save_pdbx_struct_assembly_gen_depositor_info _category.description ; Data items in the PDBX_STRUCT_ASSEMBLY_GEN_DEPOSITOR_INFO category capture depositor provided information related to the archival cateogory PDBX_STRUCT_ASSEMBLY_GEN. ; _category.id pdbx_struct_assembly_gen_depositor_info _category.mandatory_code no _category_key.name '_pdbx_struct_assembly_gen_depositor_info.id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_struct_assembly_gen_depositor_info.id _pdbx_struct_assembly_gen_depositor_info.assembly_id _pdbx_struct_assembly_gen_depositor_info.asym_id_list _pdbx_struct_assembly_gen_depositor_info.oper_expression 1 1 A 1 2 1 B 1 3 2 A 2 4 2 B 2 5 2 C 2 6 3 A 3 7 3 B 3 8 3 D 3 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 2 - ; ; loop_ _pdbx_struct_assembly_gen_depositor_info.id _pdbx_struct_assembly_gen_depositor_info.assembly_id _pdbx_struct_assembly_gen_depositor_info.asym_id_list _pdbx_struct_assembly_gen_depositor_info.oper_expression 1 1 'A,B' 1 2 2 'A,B,C' 2 3 3 'A,B,D' 3 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_struct_assembly_gen_depositor_info save_ save__pdbx_struct_assembly_gen_depositor_info.id _item_description.description ; The value of _pdbx_struct_assembly_gen_depositor_info.id must uniquely identify a record in the PDBX_STRUCT_ASSEMBLY_GEN_DEPOSITOR_INFO list. ; _item.name '_pdbx_struct_assembly_gen_depositor_info.id' _item.category_id pdbx_struct_assembly_gen_depositor_info _item.mandatory_code yes _item_type.code line save_ save__pdbx_struct_assembly_gen_depositor_info.asym_id_list _item_description.description ; This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. This item may be expressed as a comma separated list of identifiers. ; _item.name '_pdbx_struct_assembly_gen_depositor_info.asym_id_list' _item.category_id pdbx_struct_assembly_gen_depositor_info _item.mandatory_code yes _item_type.code line save_ save__pdbx_struct_assembly_gen_depositor_info.assembly_id _item_description.description ; This data item is a pointer to _pdbx_struct_assembly.id in the PDBX_STRUCT_ASSEMBLY category. ; _item.name '_pdbx_struct_assembly_gen_depositor_info.assembly_id' _item.category_id pdbx_struct_assembly_gen_depositor_info _item.mandatory_code yes _item_type.code line _item_linked.child_name '_pdbx_struct_assembly_gen_depositor_info.assembly_id' _item_linked.parent_name '_pdbx_struct_assembly_depositor_info.id' save_ save__pdbx_struct_assembly_gen_depositor_info.oper_expression _item_description.description ; Identifies the operation of collection of operations from category PDBX_STRUCT_OPER_LIST. Operation expressions may have the forms: (1) the single operation 1 (1,2,5) the operations 1, 2, 5 (1-4) the operations 1,2,3 and 4 (1,2)(3,4) the combinations of operations 3 and 4 followed by 1 and 2 (i.e. the cartesian product of parenthetical groups applied from right to left) ; _item.name '_pdbx_struct_assembly_gen_depositor_info.oper_expression' _item.category_id pdbx_struct_assembly_gen_depositor_info _item.mandatory_code yes _item_type.code operation_expression loop_ _item_examples.case '(1)' '(1,2,5)' '(1-60)' '(1-60)(61)' save_ save__pdbx_struct_assembly_gen_depositor_info.full_matrices _item_description.description ; Transformation matrix as provided by depositor ; _item.name '_pdbx_struct_assembly_gen_depositor_info.full_matrices' _item.category_id pdbx_struct_assembly_gen_depositor_info _item.mandatory_code no _pdbx_item.mandatory_code yes #_item_type.code text _item_type.code 3x4_matrices _item_examples.case ; 1 0 0 0 0 1 0 0 0 0 1 0 ; save_ save__pdbx_struct_assembly_gen_depositor_info.symmetry_operation _item_description.description ; This item expresses the transformation on an X, Y and Z basis. ; _item.name '_pdbx_struct_assembly_gen_depositor_info.symmetry_operation' _item.category_id pdbx_struct_assembly_gen_depositor_info _item.mandatory_code no _pdbx_item.mandatory_code yes _item_type.code symmetry_operation _item_examples.case '1/2+x, 1/2-y, -z' save_ save__pdbx_struct_assembly_gen_depositor_info.at_unit_matrix _item_description.description ; Flag indicating unit matrix ; _item.name '_pdbx_struct_assembly_gen_depositor_info.at_unit_matrix' _item.category_id pdbx_struct_assembly_gen_depositor_info _item.mandatory_code no _pdbx_item.mandatory_code yes _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y save_ save__pdbx_struct_assembly_gen_depositor_info.chain_id_list _item_description.description ; This data item is the author provided chain names for the assembly This item may be expressed as a comma separated list of identifiers. ; _item.name '_pdbx_struct_assembly_gen_depositor_info.chain_id_list' _item.category_id pdbx_struct_assembly_gen_depositor_info _item.mandatory_code no _pdbx_item.mandatory_code yes #_item_type.code line _item_type.code id_list_spc loop_ _item_examples.case 'A,B,C' 'D,E,F,G,H' save_ save__pdbx_struct_assembly_gen_depositor_info.all_chains _item_description.description ; Flag indicating that all polymer chains are used in the assembly ; _item.name '_pdbx_struct_assembly_gen_depositor_info.all_chains' _item.category_id pdbx_struct_assembly_gen_depositor_info _item.mandatory_code no _pdbx_item.mandatory_code yes _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' _item_examples.case Y save_ save__pdbx_struct_assembly_gen_depositor_info.helical_rotation _item_description.description ; Angular rotation (degrees) along the helical axis ; _item.name '_pdbx_struct_assembly_gen_depositor_info.helical_rotation' _item.category_id pdbx_struct_assembly_gen_depositor_info _item.mandatory_code no _item_type.code float _item_units.code degrees _item_range.minimum -180.0 _item_range.maximum 180.0 _item_examples.case '-34.616000' save_ save__pdbx_struct_assembly_gen_depositor_info.helical_rise _item_description.description ; The axial rise per subunit in the helical assembly. ; _item.name '_pdbx_struct_assembly_gen_depositor_info.helical_rise' _item.category_id pdbx_struct_assembly_gen_depositor_info _item.mandatory_code no _item_type.code float _item_units.code angstroms _item_examples.case '17.400000' _item_range.minimum 0.0 _item_range.maximum . save_ ########################################## ## PDBX_STRUCT_OPER_LIST_DEPOSITOR_INFO ## ########################################## save_pdbx_struct_oper_list_depositor_info _category.description ; Data items in the PDBX_STRUCT_OPER_LIST_DEPOSITOR_INFO category capture depositor provided information related to the archival cateogory PDBX_STRUCT_OPER_LIST. ; _category.id pdbx_struct_oper_list_depositor_info _category.mandatory_code no _category_key.name '_pdbx_struct_oper_list_depositor_info.id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_struct_oper_list_depositor_info.id 2 _pdbx_struct_oper_list_depositor_info.matrix[1][1] 0.247 _pdbx_struct_oper_list_depositor_info.matrix[1][2] 0.935 _pdbx_struct_oper_list_depositor_info.matrix[1][3] 0.256 _pdbx_struct_oper_list_depositor_info.matrix[2][1] 0.929 _pdbx_struct_oper_list_depositor_info.matrix[2][2] 0.153 _pdbx_struct_oper_list_depositor_info.matrix[2][3] 0.337 _pdbx_struct_oper_list_depositor_info.matrix[3][1] 0.276 _pdbx_struct_oper_list_depositor_info.matrix[3][2] 0.321 _pdbx_struct_oper_list_depositor_info.matrix[3][3] -0.906 _pdbx_struct_oper_list_depositor_info.vector[1] -8.253 _pdbx_struct_oper_list_depositor_info.vector[2] -11.743 _pdbx_struct_oper_list_depositor_info.vector[3] -1.782 _pdbx_struct_oper_list_depositor_info.type 'point symmetry operation' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_struct_oper_list_depositor_info save_ save__pdbx_struct_oper_list_depositor_info.id _item_description.description ; This identifier code must uniquely identify a record in the PDBX_STRUCT_OPER_LIST_DEPOSITOR_INFO list. ; _item.name '_pdbx_struct_oper_list_depositor_info.id' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_oper_list_depositor_info.type _item_description.description ; A code to indicate the type of operator. ; _item.name '_pdbx_struct_oper_list_depositor_info.type' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'identity operation' 'point symmetry operation' 'helical symmetry operation' 'crystal symmetry operation' '3D crystal symmetry operation' '2D crystal symmetry operation' 'transform to point frame' 'transform to helical frame' 'transform to crystal frame' 'transform to 2D crystal frame' 'transform to 3D crystal frame' 'build point asymmetric unit' 'build helical asymmetric unit' 'build 2D crystal asymmetric unit' 'build 3D crystal asymmetric unit' save_ save__pdbx_struct_oper_list_depositor_info.name _item_description.description ; A descriptive name for the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.name' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_type.code line loop_ _item_examples.case '1_555' 'two-fold rotation' save_ save__pdbx_struct_oper_list_depositor_info.symmetry_operation _item_description.description ; The symmetry operation corresponding to the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.symmetry_operation' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'x,y,z' 'x+1/2,y,-z' save_ save__pdbx_struct_oper_list_depositor_info.matrix[1][1] _item_description.description ; The [1][1] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.matrix[1][1]' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list_depositor_info.matrix[1][2] _item_description.description ; The [1][2] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.matrix[1][2]' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list_depositor_info.matrix[1][3] _item_description.description ; The [1][3] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.matrix[1][3]' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list_depositor_info.matrix[2][1] _item_description.description ; The [2][1] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.matrix[2][1]' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list_depositor_info.matrix[2][2] _item_description.description ; The [2][2] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.matrix[2][2]' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list_depositor_info.matrix[2][3] _item_description.description ; The [2][3] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.matrix[2][3]' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list_depositor_info.matrix[3][1] _item_description.description ; The [3][1] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.matrix[3][1]' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list_depositor_info.matrix[3][2] _item_description.description ; The [3][2] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.matrix[3][2]' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list_depositor_info.matrix[3][3] _item_description.description ; The [3][3] element of the 3x3 matrix component of the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.matrix[3][3]' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__pdbx_struct_oper_list_depositor_info.vector[1] _item_description.description ; The [1] element of the three-element vector component of the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.vector[1]' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_sub_category.id vector _item_type.code float save_ save__pdbx_struct_oper_list_depositor_info.vector[2] _item_description.description ; The [2] element of the three-element vector component of the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.vector[2]' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_sub_category.id vector _item_type.code float save_ save__pdbx_struct_oper_list_depositor_info.vector[3] _item_description.description ; The [3] element of the three-element vector component of the transformation operation. ; _item.name '_pdbx_struct_oper_list_depositor_info.vector[3]' _item.category_id pdbx_struct_oper_list_depositor_info _item.mandatory_code no _item_sub_category.id vector _item_type.code float save_ ######################################## ## PDBX_POINT_SYMMETRY_DEPOSITOR_INFO ## ######################################## save_pdbx_point_symmetry_depositor_info _category.description ; Data items in the PDBX_POINT_SYMMETRY_DEPOSITOR_INFO category capture depositor provided information related to the archival cateogory PDBX_POINT_SYMMETRY. ; _category.id pdbx_point_symmetry_depositor_info _category.mandatory_code no _category_key.name '_pdbx_point_symmetry_depositor_info.entry_id' loop_ _category_group.id 'inclusive_group' 'symmetry_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_point_symmetry_depositor_info.entry_id 1ABC _pdbx_point_symmetry_depositor_info.Schoenflies_symbol I _pdbx_point_symmetry_depositor_info.H-M_notation 532 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_point_symmetry_depositor_info save_ save__pdbx_point_symmetry_depositor_info.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_pdbx_point_symmetry_depositor_info.entry_id' _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_point_symmetry_depositor_info.entry_id' _item_linked.parent_name '_entry.id' save_ save__pdbx_point_symmetry_depositor_info.Schoenflies_symbol _item_description.description ; The Schoenflies point symmetry symbol. ; _item.name '_pdbx_point_symmetry_depositor_info.Schoenflies_symbol' _item.category_id pdbx_point_symmetry_depositor_info _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value 'I' 'O' 'T' 'C' 'D' save_ save__pdbx_point_symmetry_depositor_info.circular_symmetry _item_description.description ; Rotational n-fold C and D point symmetry. ; _item.name '_pdbx_point_symmetry_depositor_info.circular_symmetry' _item.category_id pdbx_point_symmetry_depositor_info _item.mandatory_code no _item_type.code int loop_ _item_range.maximum _item_range.minimum . 1 1 1 save_ save__pdbx_point_symmetry_depositor_info.H-M_notation _item_description.description ; The Hermann-Mauguin notation for this point symmetry group. ; _item.name '_pdbx_point_symmetry_depositor_info.H-M_notation' _item.category_id pdbx_point_symmetry_depositor_info _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'I -> 532' 'O -> 432' 'T -> 23' 'Cn -> n (e.g. C5 -> 5)' 'Dn -> n22 (n even)' 'Dn -> n2 (n odd)' save_ save__pdbx_point_symmetry_depositor_info.status_flag _item_description.description ; A flag to indicate that this data is relevant to the current entry ; _item.name '_pdbx_point_symmetry_depositor_info.status_flag' _item.category_id pdbx_point_symmetry_depositor_info _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ ## ########################################## ## PDBX_HELICAL_SYMMETRY_DEPOSITOR_INFO ## ########################################## save_pdbx_helical_symmetry_depositor_info _category.description ; Data items in the PDBX_HELICAL_SYMMETRY_DEPOSITOR_INFO category capture depositor provided information related to the archival cateogory PDBX_HELICAL_SYMMETRY. ; _category.id pdbx_helical_symmetry_depositor_info _category.mandatory_code no _category_key.name '_pdbx_helical_symmetry_depositor_info.entry_id' loop_ _category_group.id 'inclusive_group' 'symmetry_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_helical_symmetry_depositor_info.entry_id '1ABC' _pdbx_helical_symmetry_depositor_info.number_of_operations 35 _pdbx_helical_symmetry_depositor_info.rotation_per_n_subunits 131.84 _pdbx_helical_symmetry_depositor_info.rise_per_n_subunits 6.10 _pdbx_helical_symmetry_depositor_info.n_subunits_divisor 1 _pdbx_helical_symmetry_depositor_info.dyad_axis no _pdbx_helical_symmetry_depositor_info.circular_symmetry 1 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_helical_symmetry_depositor_info save_ save__pdbx_helical_symmetry_depositor_info.entry_id _item_description.description ; This data item is a pointer to _entry.id in the ENTRY category. ; _item.name '_pdbx_helical_symmetry_depositor_info.entry_id' _item.category_id pdbx_helical_symmetry_depositor_info _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_helical_symmetry_depositor_info.entry_id' _item_linked.parent_name '_entry.id' save_ save__pdbx_helical_symmetry_depositor_info.number_of_operations _item_description.description ; Number of operations. ; _item.name '_pdbx_helical_symmetry_depositor_info.number_of_operations' _item.category_id pdbx_helical_symmetry_depositor_info _item.mandatory_code no _item_type.code int loop_ _item_range.maximum _item_range.minimum . 1 1 1 save_ save__pdbx_helical_symmetry_depositor_info.rotation_per_n_subunits _item_description.description ; Angular rotation (degrees) in N subunits ; _item.name '_pdbx_helical_symmetry_depositor_info.rotation_per_n_subunits' _item.category_id pdbx_helical_symmetry_depositor_info _item.mandatory_code no _item_type.code float _item_units.code degrees save_ save__pdbx_helical_symmetry_depositor_info.rise_per_n_subunits _item_description.description ; Angular rotation (degrees) in N subunits ; _item.name '_pdbx_helical_symmetry_depositor_info.rise_per_n_subunits' _item.category_id pdbx_helical_symmetry_depositor_info _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ save__pdbx_helical_symmetry_depositor_info.n_subunits_divisor _item_description.description ; Number of subunits used in the calculation of rise and rotation. ; _item.name '_pdbx_helical_symmetry_depositor_info.n_subunits_divisor' _item.category_id pdbx_helical_symmetry_depositor_info _item.mandatory_code no _item_type.code int loop_ _item_range.maximum _item_range.minimum . 1 1 1 save_ save__pdbx_helical_symmetry_depositor_info.dyad_axis _item_description.description ; Two-fold symmetry perpendicular to the helical axis. ; _item.name '_pdbx_helical_symmetry_depositor_info.dyad_axis' _item.category_id pdbx_helical_symmetry_depositor_info _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value 'no' 'yes' save_ save__pdbx_helical_symmetry_depositor_info.circular_symmetry _item_description.description ; Rotational n-fold symmetry about the helical axis. ; _item.name '_pdbx_helical_symmetry_depositor_info.circular_symmetry' _item.category_id pdbx_helical_symmetry_depositor_info _item.mandatory_code no _item_type.code int loop_ _item_range.maximum _item_range.minimum . 1 1 1 save_ save__pdbx_helical_symmetry_depositor_info.status_flag _item_description.description ; A flag to indicate that this data is relevant to the current entry ; _item.name '_pdbx_helical_symmetry_depositor_info.status_flag' _item.category_id pdbx_helical_symmetry_depositor_info _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ ####################################################### ## PDBX_STRUCT_ASSEMBLY_AUTH_EVIDENCE_DEPOSITOR_INFO ## ####################################################### save_pdbx_struct_assembly_auth_evidence_depositor_info _category.description ; Provides author supplied evidentiary support for assemblies in pdbx_struct_assembly. ; _category.id pdbx_struct_assembly_auth_evidence_depositor_info _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_assembly_auth_evidence_depositor_info.id' '_pdbx_struct_assembly_auth_evidence_depositor_info.assembly_id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_struct_assembly_auth_evidence_depositor_info.id _pdbx_struct_assembly_auth_evidence_depositor_info.assembly_id _pdbx_struct_assembly_auth_evidence_depositor_info.experimental_support _pdbx_struct_assembly_auth_evidence_depositor_info.details 1 1 'cross-linking' . 2 1 'gel filtration' 'Elutes as a dimer' 3 2 'cross-linking' . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_struct_assembly_auth_evidence_depositor_info save_ save__pdbx_struct_assembly_auth_evidence_depositor_info.id _item_description.description ; Identifies a unique record in pdbx_struct_assembly_auth_evidence_depositor_info. ; _item.name '_pdbx_struct_assembly_auth_evidence_depositor_info.id' _item.category_id pdbx_struct_assembly_auth_evidence_depositor_info _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_assembly_auth_evidence_depositor_info.assembly_id _item_description.description ; This item references an assembly in pdbx_struct_assembly ; _item.name '_pdbx_struct_assembly_auth_evidence_depositor_info.assembly_id' _item.category_id pdbx_struct_assembly_auth_evidence_depositor_info _item.mandatory_code yes _item_type.code line _item_linked.child_name '_pdbx_struct_assembly_auth_evidence_depositor_info.assembly_id' _item_linked.parent_name '_pdbx_struct_assembly_depositor_info.id' save_ save__pdbx_struct_assembly_auth_evidence_depositor_info.experimental_support _item_description.description ; Provides the experimental method to determine the state of this assembly ; _item.name '_pdbx_struct_assembly_auth_evidence_depositor_info.experimental_support' _item.category_id pdbx_struct_assembly_auth_evidence_depositor_info _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'gel filtration' 'light scattering' 'homology' 'equilibrium centrifugation' 'mass spectrometry' 'SAXS' 'immunoprecipitation' 'isothermal titration calorimetry' 'cross-linking' 'native gel electrophoresis' 'microscopy' 'assay for oligomerization' 'scanning transmission electron microscopy' 'surface plasmon resonance' 'fluorescence resonance energy transfer' 'NMR relaxation study' 'NMR Distance Restraints' 'electron microscopy' 'none' save_ save__pdbx_struct_assembly_auth_evidence_depositor_info.details _item_description.description ; Provides any additional information regarding the evidence of this assembly ; _item.name '_pdbx_struct_assembly_auth_evidence_depositor_info.details' _item.category_id pdbx_struct_assembly_auth_evidence_depositor_info _item.mandatory_code no _item_type.code text save_ ## ## #################################### ## PDBX_SOLVENT_ATOM_SITE_MAPPING ## #################################### save_pdbx_solvent_atom_site_mapping _category.description ; Data items in the PDBX_SOLVENT_ATOM_SITE_MAPPING category records mapping information between solvent atoms before and after symmetry repositioning. ; _category.id 'pdbx_solvent_atom_site_mapping' _category.mandatory_code no _category_key.name '_pdbx_solvent_atom_site_mapping.id' loop_ _category_group.id 'inclusive_group' 'atom_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example - ; ; loop_ _pdbx_solvent_atom_site_mapping.id _pdbx_solvent_atom_site_mapping.label_atom_id _pdbx_solvent_atom_site_mapping.label_comp_id _pdbx_solvent_atom_site_mapping.label_asym_id _pdbx_solvent_atom_site_mapping.label_seq_id _pdbx_solvent_atom_site_mapping.label_alt_id _pdbx_solvent_atom_site_mapping.auth_atom_id _pdbx_solvent_atom_site_mapping.auth_comp_id _pdbx_solvent_atom_site_mapping.auth_asym_id _pdbx_solvent_atom_site_mapping.auth_seq_id _pdbx_solvent_atom_site_mapping.auth_alt_id _pdbx_solvent_atom_site_mapping.Cartn_x _pdbx_solvent_atom_site_mapping.Cartn_y _pdbx_solvent_atom_site_mapping.Cartn_z _pdbx_solvent_atom_site_mapping.pre_auth_atom_id _pdbx_solvent_atom_site_mapping.pre_auth_comp_id _pdbx_solvent_atom_site_mapping.pre_auth_asym_id _pdbx_solvent_atom_site_mapping.pre_auth_seq_id _pdbx_solvent_atom_site_mapping.pre_auth_alt_id _pdbx_solvent_atom_site_mapping.pre_Cartn_x _pdbx_solvent_atom_site_mapping.pre_Cartn_y _pdbx_solvent_atom_site_mapping.pre_Cartn_z 1 . . . . . . . . . . . . . . . . . . . . . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_solvent_atom_site_mapping save_ save__pdbx_solvent_atom_site_mapping.id _item_description.description ; The value of pdbx_solvent_atom_site_mapping.id must uniquely identify a record in the PDBX_SOLVENT_ATOM_SITE_MAPPING list. Note that this item need not be a number; it can be any unique identifier. ; _item.name '_pdbx_solvent_atom_site_mapping.id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code yes _item_type.code code save_ save__pdbx_solvent_atom_site_mapping.label_alt_id _item_description.description ; A component of the atom_site identifier. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.label_alt_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_solvent_atom_site_mapping.label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_solvent_atom_site_mapping.label_asym_id _item_description.description ; A component of the atom_site identifier. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.label_asym_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_solvent_atom_site_mapping.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_solvent_atom_site_mapping.label_atom_id _item_description.description ; A component of the atom_site identifier. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.label_atom_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_pdbx_solvent_atom_site_mapping.label_atom_id' _item_linked.parent_name '_atom_site.label_atom_id' save_ save__pdbx_solvent_atom_site_mapping.label_comp_id _item_description.description ; A component of the atom_site identifier. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.label_comp_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code ucode _item_linked.child_name '_pdbx_solvent_atom_site_mapping.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_solvent_atom_site_mapping.label_seq_id _item_description.description ; A component of the atom_site identifier. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.label_seq_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code int _item_linked.child_name '_pdbx_solvent_atom_site_mapping.label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_solvent_atom_site_mapping.PDB_ins_code _item_description.description ; Optional atom_site identifier. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.PDB_ins_code' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_solvent_atom_site_mapping.PDB_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ ## ## save__pdbx_solvent_atom_site_mapping.pre_auth_asym_id _item_description.description ; A component of the prior atom_site identifier. This data item corresponds to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.pre_auth_asym_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code code save_ save__pdbx_solvent_atom_site_mapping.pre_auth_atom_id _item_description.description ; A component of the prior atom_site identifier. This data item corrresponds to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.pre_auth_atom_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code atcode save_ save__pdbx_solvent_atom_site_mapping.pre_auth_comp_id _item_description.description ; A component of the prior atom_site identifier. This data item corresponds to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.pre_auth_comp_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code code save_ save__pdbx_solvent_atom_site_mapping.pre_auth_seq_id _item_description.description ; A component of the prior atom_site identifier. This data item corresponds to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.pre_auth_seq_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code code save_ save__pdbx_solvent_atom_site_mapping.pre_PDB_ins_code _item_description.description ; A component of the prior atom_site identifier. This data item corresponds to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.pre_PDB_ins_code' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code code save_ save__pdbx_solvent_atom_site_mapping.pre_auth_alt_id _item_description.description ; A component of the prior atom_site identifier. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.pre_auth_alt_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code code save_ # save__pdbx_solvent_atom_site_mapping.auth_asym_id _item_description.description ; A component of the current atom_site identifier. This data item corresponds to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.auth_asym_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_solvent_atom_site_mapping.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_solvent_atom_site_mapping.auth_atom_id _item_description.description ; A component of the current atom_site identifier. This data item corrresponds to _atom_site.auth_atom_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.auth_atom_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_pdbx_solvent_atom_site_mapping.auth_atom_id' _item_linked.parent_name '_atom_site.auth_atom_id' save_ save__pdbx_solvent_atom_site_mapping.auth_comp_id _item_description.description ; A component of the current atom_site identifier. This data item corresponds to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.auth_comp_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_solvent_atom_site_mapping.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_solvent_atom_site_mapping.auth_seq_id _item_description.description ; A component of the current atom_site identifier. This data item corresponds to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_solvent_atom_site_mapping.auth_seq_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_solvent_atom_site_mapping.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_solvent_atom_site_mapping.auth_alt_id _item_description.description ; A component of the current atom_site identifier labeling alternate locations. ; _item.name '_pdbx_solvent_atom_site_mapping.auth_alt_id' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_solvent_atom_site_mapping.auth_alt_id' # _item_linked.parent_name '_atom_site.pdbx_auth_alt_id' save_ save__pdbx_solvent_atom_site_mapping.occupancy _item_description.description ; The fraction of the atom type present at the current atom site. ; _item.name '_pdbx_solvent_atom_site_mapping.occupancy' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code float save_ ## save__pdbx_solvent_atom_site_mapping.Cartn_x _item_description.description ; The x atom-site coordinate of the solvent position in angstroms. ; _item.name '_pdbx_solvent_atom_site_mapping.Cartn_x' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ save__pdbx_solvent_atom_site_mapping.Cartn_y _item_description.description ; The y atom-site coordinate of the solvent position in angstroms. ; _item.name '_pdbx_solvent_atom_site_mapping.Cartn_y' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ save__pdbx_solvent_atom_site_mapping.Cartn_z _item_description.description ; The z atom-site coordinate of the solvent position in angstroms. ; _item.name '_pdbx_solvent_atom_site_mapping.Cartn_z' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ ## save__pdbx_solvent_atom_site_mapping.pre_Cartn_x _item_description.description ; The prior x atom-site coordinate of the solvent position in angstroms. ; _item.name '_pdbx_solvent_atom_site_mapping.pre_Cartn_x' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ save__pdbx_solvent_atom_site_mapping.pre_Cartn_y _item_description.description ; The prior y atom-site coordinate of the solvent position in angstroms. ; _item.name '_pdbx_solvent_atom_site_mapping.pre_Cartn_y' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ save__pdbx_solvent_atom_site_mapping.pre_Cartn_z _item_description.description ; The prior z atom-site coordinate of the solvent position in angstroms. ; _item.name '_pdbx_solvent_atom_site_mapping.pre_Cartn_z' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code float _item_units.code angstroms save_ save__pdbx_solvent_atom_site_mapping.symmetry _item_description.description ; Describes the symmetry operation that should be applied to the target solvent atom ; _item.name '_pdbx_solvent_atom_site_mapping.symmetry' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_type.code symop loop_ _item_examples.case _item_examples.detail 7_645 '7th symm. posn.; +a on x; -b on y' save_ save__pdbx_solvent_atom_site_mapping.symmetry_as_xyz _item_description.description ; The symmetry applied to the target solvent atom. The symmetry equivalent position is given in the 'xyz' representation. ; _item.name '_pdbx_solvent_atom_site_mapping.symmetry_as_xyz' _item.category_id pdbx_solvent_atom_site_mapping _item.mandatory_code no _item_default.value 'x,y,z' _item_type.code line save_ ## ## ########################################### ## PDBX_MOLECULE_FEATURES_DEPOSITOR_INFO ## ########################################### save_pdbx_molecule_features_depositor_info _category.description ; Data items in the PDBX_MOLECULE_FEATURES_DEPOSITOR_INFO category capture depositor provided information related to the archival cateogory PDBX_MOLECULE_FEATURES. ; _category.id pdbx_molecule_features_depositor_info _category.mandatory_code no _category_key.name '_pdbx_molecule_features_depositor_info.entity_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_molecule_features_depositor_info.entity_id _pdbx_molecule_features_depositor_info.name _pdbx_molecule_features_depositor_info.type _pdbx_molecule_features_depositor_info.class 1 "Actinomycin D" "Antitumor Antibiotic" "polypeptide antibiotic" ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_molecule_features_depositor_info save_ save__pdbx_molecule_features_depositor_info.entity_id _item_description.description ; The value of _pdbx_molecule_features_depositor_info.entity_id is a reference to to the entity identifier for this molecule. ; _item.name '_pdbx_molecule_features_depositor_info.entity_id' _item.category_id pdbx_molecule_features_depositor_info _item.mandatory_code yes _item_type.code ucode save_ save__pdbx_molecule_features_depositor_info.class _item_description.description ; Broadly defines the function of the molecule. ; _item.name '_pdbx_molecule_features_depositor_info.class' _item.category_id pdbx_molecule_features_depositor_info _item.mandatory_code no _item_type.code uline loop_ _item_enumeration.value Antibiotic Inhibitor Antitumor 'Trypsin inhibitor' 'Thrombin inhibitor' Toxin 'Enzyme inhibitor' Anticancer Antimicrobial Antifungal Anthelmintic Antiviral Antineoplastic Antiparasitic Antiretroviral Antithrombotic Anticoagulant Chaperone binding Antiinflammatory 'CASPASE inhibitor' 'Metal transport' 'Growth factor' 'Oxidation-reduction' Receptor Immunosuppressant Antagonist Lantibiotics Metabolism Unknown save_ save__pdbx_molecule_features_depositor_info.type _item_description.description ; Defines the structural classification of the molecule. ; _item.name '_pdbx_molecule_features_depositor_info.type' _item.category_id pdbx_molecule_features_depositor_info _item.mandatory_code no _item_type.code uline loop_ _item_examples.case 'peptide-like' 'macrolide' loop_ _item_enumeration.value macrolide 'amino acid' 'non-polymer' 'peptide-like' aminoglycoside anthracycline oligosaccharide polysaccharide oligopeptide polypeptide lipopeptide glycopeptide ansamycin Quinolone thiolactone thiopeptide heterocyclic polycyclic 'cyclic depsipeptide' 'cyclic peptide' 'cyclic lipopeptide' chromophore chalkophore siderophore 'peptide-like' 'imino sugar' 'keto acid' 'lipoglycopeptide' 'nucleoside' 'peptaibol' 'anthraquinone' save_ save__pdbx_molecule_features_depositor_info.name _item_description.description ; A name of the molecule. ; _item.name '_pdbx_molecule_features_depositor_info.name' _item.category_id pdbx_molecule_features_depositor_info _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'thiostrepton' save_ save__pdbx_molecule_features_depositor_info.details _item_description.description ; Additional details describing the molecule. ; _item.name '_pdbx_molecule_features_depositor_info.details' _item.category_id pdbx_molecule_features_depositor_info _item.mandatory_code no _item_type.code text save_ ############################################ ## PDBX_CHEM_COMP_INSTANCE_DEPOSITOR_INFO ## ############################################ save_pdbx_chem_comp_instance_depositor_info _category.description ; Data items in the PDBX_CHEM_COMP_INSTANCE_DEPOSITOR_INFO category records depositor provided information about the chemical context of component instances. ; _category.id 'pdbx_chem_comp_instance_depositor_info' _category.mandatory_code no _category_key.name '_pdbx_chem_comp_instance_depositor_info.ordinal' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example - ; ; loop_ _pdbx_chem_comp_instance_depositor_info.ordinal _pdbx_chem_comp_instance_depositor_info.comp_id _pdbx_chem_comp_instance_depositor_info.auth_seq_id _pdbx_chem_comp_instance_depositor_info.auth_asym_id _pdbx_chem_comp_instance_depositor_info.PDB_ins_code _pdbx_chem_comp_instance_depositor_info.label_alt_id _pdbx_chem_comp_instance_depositor_info.author_provided_flag _pdbx_chem_comp_instance_depositor_info.in_polymer_flag 1 X78 102 W . . Y N ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_chem_comp_instance_depositor_info save_ save__pdbx_chem_comp_instance_depositor_info.ordinal _item_description.description ; The value of pdbx_chem_comp_instance_depositor_info.ordinal must uniquely identify a record in the PDBX_CHEM_COMP_INSTANCE_DEPOSITOR_INFO list. ; _item.name '_pdbx_chem_comp_instance_depositor_info.ordinal' _item.category_id pdbx_chem_comp_instance_depositor_info _item.mandatory_code yes _item_type.code int save_ save__pdbx_chem_comp_instance_depositor_info.label_alt_id _item_description.description ; An element of the chemical component instance identifier. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; _item.name '_pdbx_chem_comp_instance_depositor_info.label_alt_id' _item.category_id pdbx_chem_comp_instance_depositor_info _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_chem_comp_instance_depositor_info.label_alt_id' # _item_linked.parent_name '_atom_site.label_alt_id' save_ save__pdbx_chem_comp_instance_depositor_info.comp_id _item_description.description ; An element of the chemical component instance identifier. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_chem_comp_instance_depositor_info.comp_id' _item.category_id pdbx_chem_comp_instance_depositor_info _item.mandatory_code yes _item_type.code ucode # _item_linked.child_name '_pdbx_chem_comp_instance_depositor_info.comp_id' # _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_chem_comp_instance_depositor_info.PDB_ins_code _item_description.description ; Optional element of the chemical component instance identifier. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_chem_comp_instance_depositor_info.PDB_ins_code' _item.category_id pdbx_chem_comp_instance_depositor_info _item.mandatory_code no _item_type.code code # _item_linked.child_name '_pdbx_chem_comp_instance_depositor_info.PDB_ins_code' # _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ ## save__pdbx_chem_comp_instance_depositor_info.auth_asym_id _item_description.description ; An element of the chemical component instance identifier. This data item corresponds to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_chem_comp_instance_depositor_info.auth_asym_id' _item.category_id pdbx_chem_comp_instance_depositor_info _item.mandatory_code yes _item_type.code code # _item_linked.child_name '_pdbx_chem_comp_instance_depositor_info.auth_asym_id' # _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_chem_comp_instance_depositor_info.auth_seq_id _item_description.description ; An element of the chemical component instance identifier. This data item corresponds to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_chem_comp_instance_depositor_info.auth_seq_id' _item.category_id pdbx_chem_comp_instance_depositor_info _item.mandatory_code yes _item_type.code code # _item_linked.child_name '_pdbx_chem_comp_instance_depositor_info.auth_seq_id' # _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_chem_comp_instance_depositor_info.in_polymer_flag _item_description.description ; A flag to indicate if the chemical component instance is a part of a polymer molecule. ; _item.name '_pdbx_chem_comp_instance_depositor_info.in_polymer_flag' _item.category_id pdbx_chem_comp_instance_depositor_info _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_chem_comp_instance_depositor_info.author_provided_flag _item_description.description ; A flag to indicate if details about this chemical component instance have been provided by the depositor. ; _item.name '_pdbx_chem_comp_instance_depositor_info.author_provided_flag' _item.category_id pdbx_chem_comp_instance_depositor_info _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_chem_comp_instance_depositor_info.formula _item_description.description ; The observed formula for the chemical component in the deposited coordinates. Formulae are written according to the following rules: (1) Only recognized element symbols may be used. (2) Each element symbol is followed by a 'count' number. A count of '1' may be omitted. (3) A space or parenthesis must separate each cluster of (element symbol + count), but in general parentheses are not used. (4) The order of elements depends on whether carbon is present or not. If carbon is present, the order should be: C, then H, then the other elements in alphabetical order of their symbol. If carbon is not present, the elements are listed purely in alphabetic order of their symbol. This is the 'Hill' system used by Chemical Abstracts. ; _item.name '_pdbx_chem_comp_instance_depositor_info.formula' _item.category_id pdbx_chem_comp_instance_depositor_info _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'C18 H19 N7 O8 S' save_ ## ## save_pdbx_depui_status_flags _category.description ; Data items in the PDBX_DEPUI_STATUS_FLAGS category record status details used to maintain state within the wwPDB deposition system. ; _category.id pdbx_depui_status_flags _category.mandatory_code no loop_ _category_key.name '_pdbx_depui_status_flags.dep_dataset_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_depui_status_flags.dep_dataset_id D_000000 _pdbx_depui_status_flags.is_grant_funded Y _pdbx_depui_status_flags.has_ncs_data Y _pdbx_depui_status_flags.prediction_target N _pdbx_depui_status_flags.primary_citation_status N _pdbx_depui_status_flags.reference_citation_status N _pdbx_depui_status_flags.corresponding_author_status N ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_depui_status_flags save_ save__pdbx_depui_status_flags.dep_dataset_id _item_description.description ; The internal identifier assigned to each deposition. ; _item.name '_pdbx_depui_status_flags.dep_dataset_id' _item.category_id pdbx_depui_status_flags _item.mandatory_code yes _item_type.code code save_ save__pdbx_depui_status_flags.primary_citation_status _item_description.description ; A flag to indicate status about primary citation data. ; _item.name '_pdbx_depui_status_flags.primary_citation_status' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.corresponding_author_status _item_description.description ; A flag to indicate status about corresponding author data. ; _item.name '_pdbx_depui_status_flags.corresponding_author_status' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.reference_citation_status _item_description.description ; A flag to indicate status about reference citation data. ; _item.name '_pdbx_depui_status_flags.reference_citation_status' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.is_grant_funded _item_description.description ; A flag to indicate that the deposition was grant funded. ; _item.name '_pdbx_depui_status_flags.is_grant_funded' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _pdbx_item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.has_ncs_data _item_description.description ; A flag to indicate that the deposition includes NCS data. ; _item.name '_pdbx_depui_status_flags.has_ncs_data' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.prediction_target _item_description.description ; A flag to indicate that this entry is a candidate prediction target. ; _item.name '_pdbx_depui_status_flags.prediction_target' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.has_helical_symmetry _item_description.description ; A flag to indicate that this entry has helical symmetry ; _item.name '_pdbx_depui_status_flags.has_helical_symmetry' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.has_point_symmetry _item_description.description ; A flag to indicate that this entry has point symmetry ; _item.name '_pdbx_depui_status_flags.has_point_symmetry' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.has_cyclic_symmetry _item_description.description ; A flag to indicate that this entry has cyclic symmetry ; _item.name '_pdbx_depui_status_flags.has_cyclic_symmetry' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.has_accepted_terms_and_conditions _item_description.description ; A flag to indicate the acceptance of wwPDB deposition and annotation terms and conditions. ; _item.name '_pdbx_depui_status_flags.has_accepted_terms_and_conditions' _item.category_id pdbx_depui_status_flags _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.has_viewed_validation_report _item_description.description ; A flag to indicate the viewing the latest validation report. ; _item.name '_pdbx_depui_status_flags.has_viewed_validation_report' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code code _pdbx_item.name "_pdbx_depui_status_flags.has_viewed_validation_report" _pdbx_item.mandatory_code yes loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.validated_model_file_name _item_description.description ; The last validation report operation, the name of the model file last validated. ; _item.name '_pdbx_depui_status_flags.validated_model_file_name' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code line save_ save__pdbx_depui_status_flags.merge_prior_model_file_name _item_description.description ; For the last model merge operation, the name of the model file containing prior data for the current deposition session. ; _item.name '_pdbx_depui_status_flags.merge_prior_model_file_name' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code line save_ save__pdbx_depui_status_flags.merge_replace_model_file_name _item_description.description ; For the last model merge operation, the name of the model file containing user provided replacement coordinate and model data. ; _item.name '_pdbx_depui_status_flags.merge_replace_model_file_name' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code line save_ save__pdbx_depui_status_flags.merge_output_model_file_name _item_description.description ; For the last model merge operation, the name of the model file containing output from the merge operation. ; _item.name '_pdbx_depui_status_flags.merge_output_model_file_name' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code line save_ save__pdbx_depui_status_flags.is_ligand_processing_complete _item_description.description ; A flag to indicate that ligand processing is complete ; _item.name '_pdbx_depui_status_flags.is_ligand_processing_complete' _item.category_id pdbx_depui_status_flags _item.mandatory_code yes _item_type.code text save_ save__pdbx_depui_status_flags.sample_xyz_sequence_alignments_valid _item_description.description ; A flag to indicate that all sample coordinate sequence alignments are valid. ; _item.name '_pdbx_depui_status_flags.sample_xyz_sequence_alignments_valid' _item.category_id pdbx_depui_status_flags _item.mandatory_code yes _item_type.code text save_ save__pdbx_depui_status_flags.has_sas_data _item_description.description ; A flag to indicate whether the author has related SAXS/SANS data. ; _item.name '_pdbx_depui_status_flags.has_sas_data' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _pdbx_item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.is_sas_deposited _item_description.description ; A flag to indicate whether related SAXS/SANS data is already deposited elsewhere ; _item.name '_pdbx_depui_status_flags.is_sas_deposited' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _pdbx_item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.use_sas_refine _item_description.description ; A flag to indicate whether related SAXS/SANS data were used in refinement ; _item.name '_pdbx_depui_status_flags.use_sas_refine' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _pdbx_item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.merged_fail _item_description.description ; A flag to indicate that merging of new coordinates has failed. ; _item.name '_pdbx_depui_status_flags.merged_fail' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code code _pdbx_item.name "_pdbx_depui_status_flags.merged_fail" loop_ _item_enumeration.value Y N save_ save__pdbx_depui_status_flags.post_rel_replacement_reason _item_description.description ; Records reason for author initiated coordinate replacement ; _item.name '_pdbx_depui_status_flags.post_rel_replacement_reason' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code line _pdbx_item.name '_pdbx_depui_status_flags.post_rel_replacement_reason' _pdbx_item.mandatory_code yes loop_ _item_enumeration.value 'Chirality error' 'Polymer geometry' 'Ligand geometry' 'Ligand identity' 'Model completeness' 'Model orientation/position' 'Polymer backbone linkage' 'Atomic clashes' 'Sequence discrepancy' 'Atoms with unrealistic or zero occupancies' 'Real space R-factor' 'Occupancy of atoms on special symmetry positions' 'Missing anisotropic B-factor' save_ save__pdbx_depui_status_flags.post_rel_replacement_reason_details _item_description.description ; Records additional details for author initiated coordinate replacement ; _item.name '_pdbx_depui_status_flags.post_rel_replacement_reason_details' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code text save_ save__pdbx_depui_status_flags.has_accepted_assemblies _item_description.description ; A flag to indicate that depositor has accepted the presented assemblies. ; _item.name '_pdbx_depui_status_flags.has_accepted_assemblies' _item.category_id pdbx_depui_status_flags _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ ############################################## save_pdbx_depui_upload _category.description ; Data items in the PDBX_DEPUI_UPLOAD category record the details of uploaded data files. ; _category.id pdbx_depui_upload _category.mandatory_code no loop_ _category_key.name '_pdbx_depui_upload.ordinal' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_depui_upload.ordinal _pdbx_depui_upload.file_name _pdbx_depui_upload.file_type _pdbx_depui_upload.file_content_type _pdbx_depui_upload.file_size _pdbx_depui_upload.valid_flag _pdbx_depui_upload.diagnostic_message _pdbx_depui_upload.sequence_align 1 myfile.cif xs-cif 'PDBx/mmCIF model file' 34567 Y ? ? ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_depui_upload save_ save__pdbx_depui_upload.ordinal _item_description.description ; Ordinal identifier for each update record. ; _item.name '_pdbx_depui_upload.ordinal' _item.category_id pdbx_depui_upload _item.mandatory_code yes _item_type.code int save_ save__pdbx_depui_upload.file_content_type _item_description.description ; The content type of the uploaded file. ; _item.name '_pdbx_depui_upload.file_content_type' _item.category_id pdbx_depui_upload _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'PDBx/mmCIF model file' 'PDB model file' 'PDBx/mmCIF structure factor file' 'other' save_ save__pdbx_depui_upload.file_type _item_description.description ; The internal file type of the uploaded file. ; _item.name '_pdbx_depui_upload.file_type' _item.category_id pdbx_depui_upload _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'xs-cif' 'other' save_ save__pdbx_depui_upload.file_name _item_description.description ; The name of the uploaded file. ; _item.name '_pdbx_depui_upload.file_name' _item.category_id pdbx_depui_upload _item.mandatory_code no _item_type.code line save_ save__pdbx_depui_upload.file_size _item_description.description ; The size of the uploaded file in bytes. ; _item.name '_pdbx_depui_upload.file_size' _item.category_id pdbx_depui_upload _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 0 0 0 _item_type.code int save_ save__pdbx_depui_upload.valid_flag _item_description.description ; A flag to indicate if the uploaded data is satisfies a preliminary validation criteria. ; _item.name '_pdbx_depui_upload.valid_flag' _item.category_id pdbx_depui_upload _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_upload.diagnostic_message _item_description.description ; Text of any diagnostic messages asssociated with the upload processing of the input data. ; _item.name '_pdbx_depui_upload.diagnostic_message' _item.category_id pdbx_depui_upload _item.mandatory_code no _item_type.code text save_ save__pdbx_depui_upload.sequence_align _item_description.description ; Some text data item related sequene alignment. ; _item.name '_pdbx_depui_upload.sequence_align' _item.category_id pdbx_depui_upload _item.mandatory_code no _item_type.code text save_ # save_pdbx_depui_validation_status_flags _category.description ; Data items in the PDBX_DEPUI_VALIDATION_STATUS_FLAGS category record status details that assess the status of selected validation diagnostics. ; _category.id pdbx_depui_validation_status_flags _category.mandatory_code no loop_ _category_key.name '_pdbx_depui_validation_status_flags.dep_dataset_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_depui_validation_status_flags.dep_dataset_id D_000000 _pdbx_depui_validation_status_flags.occupancy_outliers_low 0 _pdbx_depui_validation_status_flags.occupancy_outliers_high 0 _pdbx_depui_validation_status_flags.adp_outliers_low 0 _pdbx_depui_validation_status_flags.solvent_outliers 0 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_depui_validation_status_flags save_ save__pdbx_depui_validation_status_flags.dep_dataset_id _item_description.description ; The internal identifier assigned to each deposition. ; _item.name '_pdbx_depui_validation_status_flags.dep_dataset_id' _item.category_id pdbx_depui_validation_status_flags _item.mandatory_code yes _item_type.code code save_ save__pdbx_depui_validation_status_flags.residual_B_factors_flag _item_description.description ; A flag to indicate if the uploaded data is contains residual B-values ; _item.name '_pdbx_depui_validation_status_flags.residual_B_factors_flag' _item.category_id pdbx_depui_validation_status_flags _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_validation_status_flags.occupancy_outliers_low _item_description.description ; Count of atoms with occupancy values less than 0 ; _item.name '_pdbx_depui_validation_status_flags.occupancy_outliers_low' _item.category_id pdbx_depui_validation_status_flags _item.mandatory_code no _item_type.code int loop_ _item_range.maximum _item_range.minimum . 0 0 0 save_ save__pdbx_depui_validation_status_flags.occupancy_outliers_high _item_description.description ; Count of atoms with occupancy values greater than 1 ; _item.name '_pdbx_depui_validation_status_flags.occupancy_outliers_high' _item.category_id pdbx_depui_validation_status_flags _item.mandatory_code no _item_type.code int loop_ _item_range.maximum _item_range.minimum . 0 0 0 save_ save__pdbx_depui_validation_status_flags.adp_outliers_low _item_description.description ; Count of atoms with ADP (B-values) values less than 0 ; _item.name '_pdbx_depui_validation_status_flags.adp_outliers_low' _item.category_id pdbx_depui_validation_status_flags _item.mandatory_code no _item_type.code int loop_ _item_range.maximum _item_range.minimum . 0 0 0 save_ save__pdbx_depui_validation_status_flags.solvent_outliers _item_description.description ; Count of solvent atoms with anonalous positions. ; _item.name '_pdbx_depui_validation_status_flags.solvent_outliers' _item.category_id pdbx_depui_validation_status_flags _item.mandatory_code no _item_type.code int loop_ _item_range.maximum _item_range.minimum . 0 0 0 save_ save__pdbx_depui_validation_status_flags.tls_no_aniso _item_description.description ; A flag to indicate if the uploaded model has TLS records but no anisotropic ones. ; _item.name '_pdbx_depui_validation_status_flags.tls_no_aniso' _item.category_id pdbx_depui_validation_status_flags _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_validation_status_flags.adp_outliers_zero _item_description.description ; A flag to indicate if any isotropic B factors are zero. ; _item.name '_pdbx_depui_validation_status_flags.adp_outliers_zero' _item.category_id pdbx_depui_validation_status_flags _item.mandatory_code no _item_type.code text save_ ## ########################################## ## PDBX_CHEM_COMP_UPLOAD_DEPOSITOR_INFO ## ########################################## save_pdbx_chem_comp_upload_depositor_info _category.description ; Data items in the PDBX_CHEM_COMP_UPLOAD_DEPOSITOR_INFO category record details of the uploaded files related to depositor provided chemical assignments. ; _category.id pdbx_chem_comp_upload_depositor_info _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_upload_depositor_info.ordinal' loop_ _category_group.id 'inclusive_group' 'chem_comp_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_upload_depositor_info.ordinal _pdbx_chem_comp_upload_depositor_info.comp_id _pdbx_chem_comp_upload_depositor_info.upload_file_name _pdbx_chem_comp_upload_depositor_info.upload_file_type 1 GNC GNC.gif gif ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_chem_comp_upload_depositor_info save_ save__pdbx_chem_comp_upload_depositor_info.ordinal _item_description.description ; Ordinal index for this category. ; _item.name '_pdbx_chem_comp_upload_depositor_info.ordinal' _item.category_id pdbx_chem_comp_upload_depositor_info _item.mandatory_code yes _item_type.code int save_ save__pdbx_chem_comp_upload_depositor_info.comp_id _item_description.description ; The chemical component identifier used by the depositor to represent this component. ; _item.name '_pdbx_chem_comp_upload_depositor_info.comp_id' _item.category_id pdbx_chem_comp_upload_depositor_info _item.mandatory_code yes _item_type.code ucode save_ save__pdbx_chem_comp_upload_depositor_info.upload_file_type _item_description.description ; The type of the uploaded file containing information about this component. ; _item.name '_pdbx_chem_comp_upload_depositor_info.upload_file_type' _item.category_id pdbx_chem_comp_upload_depositor_info _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'GIF' . 'JPEG' . 'PNG' . 'SVG' . 'TIFF' . 'other' . _pdbx_item_description.name "_pdbx_chem_comp_upload_depositor_info.upload_file_type" _pdbx_item_description.description "2D chemical drawing file type. Acceptable file formats include Chemdraw and all common image formats (GIF, JPEG, etc)." save_ save__pdbx_chem_comp_upload_depositor_info.upload_file_name _item_description.description ; The name of the uploaded file containing information about this component. ; _item.name '_pdbx_chem_comp_upload_depositor_info.upload_file_name' _item.category_id pdbx_chem_comp_upload_depositor_info _item.mandatory_code yes _item_type.code line save_ ## ## save_pdbx_depui_entity_status_flags _category.description ; Data items in the PDBX_DEPUI_ENTITY_STATUS_FLAGS category record status details related to individual entities. ; _category.id pdbx_depui_entity_status_flags _category.mandatory_code no loop_ _category_key.name '_pdbx_depui_entity_status_flags.dep_dataset_id' '_pdbx_depui_entity_status_flags.entity_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_depui_entity_status_flags.dep_dataset_id D_000000 _pdbx_depui_entity_status_flags.entity_id 1 _pdbx_depui_entity_status_flags.has_mutation Y ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_depui_entity_status_flags save_ save__pdbx_depui_entity_status_flags.dep_dataset_id _item_description.description ; The internal identifier assigned to each deposition. ; _item.name '_pdbx_depui_entity_status_flags.dep_dataset_id' _item.category_id pdbx_depui_entity_status_flags _item.mandatory_code yes _item_type.code code save_ save__pdbx_depui_entity_status_flags.entity_id _item_description.description ; A reference to the _entity.id in the ENTITY_POLY category ; _item.name '_pdbx_depui_entity_status_flags.entity_id' _item.category_id pdbx_depui_entity_status_flags _item.mandatory_code yes _item_type.code code save_ save__pdbx_depui_entity_status_flags.has_mutation _item_description.description ; A flag to indicate that the entity has a mutation. ; _item.name '_pdbx_depui_entity_status_flags.has_mutation' _item.category_id pdbx_depui_entity_status_flags _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value Y N save_ save__pdbx_depui_entity_status_flags.sample_xyz_sequence_alignments_valid _item_description.description ; A flag to indicate that sample and coordinate sequence alignments is valid for this entity ; _item.name '_pdbx_depui_entity_status_flags.sample_xyz_sequence_alignments_valid' _item.category_id pdbx_depui_entity_status_flags _item.mandatory_code yes _item_type.code text save_ ## save_pdbx_depui_entity_features _category.description ; Data items in the PDBX_DEPUI_ENTITY_FEATURES category record status details related to the features of individual entities. ; _category.id pdbx_depui_entity_features _category.mandatory_code no loop_ _category_key.name '_pdbx_depui_entity_features.dep_dataset_id' '_pdbx_depui_entity_features.entity_id' '_pdbx_depui_entity_features.type' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_depui_entity_features.dep_dataset_id D_000000 _pdbx_depui_entity_features.entity_id 1 _pdbx_depui_entity_features.type 'Antibiotic/inhibitor' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_depui_entity_features save_ save__pdbx_depui_entity_features.dep_dataset_id _item_description.description ; The internal identifier assigned to each deposition. ; _item.name '_pdbx_depui_entity_features.dep_dataset_id' _item.category_id pdbx_depui_entity_features _item.mandatory_code yes _item_type.code code save_ save__pdbx_depui_entity_features.entity_id _item_description.description ; A reference to the _entity.id in the ENTITY category ; _item.name '_pdbx_depui_entity_features.entity_id' _item.category_id pdbx_depui_entity_features _item.mandatory_code yes _item_type.code code save_ save__pdbx_depui_entity_features.type _item_description.description ; A flag to indicate the molecule class for the entity. ; _item.name '_pdbx_depui_entity_features.type' _item.category_id pdbx_depui_entity_features _item.mandatory_code yes _item_type.code uline loop_ _item_enumeration.value 'Chimera' 'Antibiotic/inhibitor' 'Carbohydrate' 'None of these' save_ ## save_pdbx_deposition_message_info _category.description ; Data items in the PDBX_DEPOSITION_MESSAGE_INFO category record internal messages within the depositon and annotation system. ; _category.id pdbx_deposition_message_info _category.mandatory_code no loop_ _category_key.name '_pdbx_deposition_message_info.ordinal' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; # loop_ _pdbx_deposition_message_info.ordinal _pdbx_deposition_message_info.message_id _pdbx_deposition_message_info.deposition_data_set_id _pdbx_deposition_message_info.timestamp _pdbx_deposition_message_info.sender _pdbx_deposition_message_info.content_type _pdbx_deposition_message_info.content_value _pdbx_deposition_message_info.parent_message_id _pdbx_deposition_message_info.message_subject _pdbx_deposition_message_info.message_text _pdbx_deposition_message_info.message_type _pdbx_deposition_message_info.send_status 1 83ae9530-194c-4360-93d2-90598491012a D_000000 "2013-08-15 12:49:26" depositor report validation 83ae9530-194c-4360-93d2-90598491012a "Response to validation report" ; All of the C-alpha and C-beta atom coordinates have gone missing. We looked all over the lab and could not find them. There were a few reflections that we misplaced earlier. We are hoping that we will find these data before the manuscript is reviewed. ; text draft ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_deposition_message_info save_ save__pdbx_deposition_message_info.ordinal _item_description.description ; Ordinal index for the each message. ; _item.name '_pdbx_deposition_message_info.ordinal' _item.category_id pdbx_deposition_message_info _item.mandatory_code yes _item_type.code int save_ save__pdbx_deposition_message_info.deposition_data_set_id _item_description.description ; The internal identifier assigned to each deposition. ; _item.name '_pdbx_deposition_message_info.deposition_data_set_id' _item.category_id pdbx_deposition_message_info _item.mandatory_code yes _item_type.code code save_ save__pdbx_deposition_message_info.message_id _item_description.description ; The internal identifier assigned to each message. ; _item.name '_pdbx_deposition_message_info.message_id' _item.category_id pdbx_deposition_message_info _item.mandatory_code yes _item_type.code code save_ save__pdbx_deposition_message_info.timestamp _item_description.description ; A the date and time of message creation. ; _item.name '_pdbx_deposition_message_info.timestamp' _item.category_id pdbx_deposition_message_info _item.mandatory_code yes _item_type.code line save_ save__pdbx_deposition_message_info.sender _item_description.description ; A the message creator. ; _item.name '_pdbx_deposition_message_info.sender' _item.category_id pdbx_deposition_message_info _item.mandatory_code yes _item_type.code line save_ save__pdbx_deposition_message_info.content_type _item_description.description ; A the message content type or class. ; _item.name '_pdbx_deposition_message_info.content_type' _item.category_id pdbx_deposition_message_info _item.mandatory_code yes _item_type.code line save_ save__pdbx_deposition_message_info.content_value _item_description.description ; A the specific value of the content type or class ; _item.name '_pdbx_deposition_message_info.content_value' _item.category_id pdbx_deposition_message_info _item.mandatory_code yes _item_type.code line save_ save__pdbx_deposition_message_info.parent_message_id _item_description.description ; The identifier of the parent message or the message to which the current message responds. ; _item.name '_pdbx_deposition_message_info.parent_message_id' _item.category_id pdbx_deposition_message_info _item.mandatory_code yes _item_type.code code save_ save__pdbx_deposition_message_info.message_subject _item_description.description ; The subject text of the message. ; _item.name '_pdbx_deposition_message_info.message_subject' _item.category_id pdbx_deposition_message_info _item.mandatory_code yes _item_type.code text save_ save__pdbx_deposition_message_info.message_text _item_description.description ; The body of the message. ; _item.name '_pdbx_deposition_message_info.message_text' _item.category_id pdbx_deposition_message_info _item.mandatory_code yes _item_type.code text save_ save__pdbx_deposition_message_info.message_type _item_description.description ; The message type. ; _item.name '_pdbx_deposition_message_info.message_type' _item.category_id pdbx_deposition_message_info _item.mandatory_code yes _item_type.code code _item_examples.case 'text' save_ save__pdbx_deposition_message_info.send_status _item_description.description ; The message status. ; _item.name '_pdbx_deposition_message_info.send_status' _item.category_id pdbx_deposition_message_info _item.mandatory_code yes _item_type.code code _item_examples.case 'draft' save_ ## save_pdbx_deposition_message_file_reference _category.description ; Data items in the PDBX_DEPOSITION_MESSAGE_FILE_REFERENCE category record details of files references associated with messages defined in the PDBX_DEPOSITION_MESSAGE_INFO data category. ; _category.id pdbx_deposition_message_file_reference _category.mandatory_code no loop_ _category_key.name '_pdbx_deposition_message_file_reference.ordinal' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; # loop_ _pdbx_deposition_message_file_reference.ordinal _pdbx_deposition_message_file_reference.message_id _pdbx_deposition_message_file_reference.deposition_data_set_id _pdbx_deposition_message_file_reference.content_type _pdbx_deposition_message_file_reference.content_format _pdbx_deposition_message_file_reference.partition_number _pdbx_deposition_message_file_reference.version_id _pdbx_deposition_message_file_reference.storage_type 1 8bf7a60b-066d-4fff-8ee9-c5b820e19b3c D_000000 model-annotate pdbx 1 1 archive 2 8bf7a60b-066d-4fff-8ee9-c5b820e19b3c D_000000 model-annotate pdbx 1 1 archive # ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_deposition_message_file_reference save_ save__pdbx_deposition_message_file_reference.ordinal _item_description.description ; Ordinal index for the each file reference. ; _item.name '_pdbx_deposition_message_file_reference.ordinal' _item.category_id pdbx_deposition_message_file_reference _item.mandatory_code yes _item_type.code int save_ save__pdbx_deposition_message_file_reference.deposition_data_set_id _item_description.description ; The internal identifier assigned to each deposition. ; _item.name '_pdbx_deposition_message_file_reference.deposition_data_set_id' _item.category_id pdbx_deposition_message_file_reference _item.mandatory_code yes _item_type.code code save_ save__pdbx_deposition_message_file_reference.message_id _item_description.description ; The internal identifier assigned to each message. ; _item.name '_pdbx_deposition_message_file_reference.message_id' _item.category_id pdbx_deposition_message_file_reference _item.mandatory_code yes _item_type.code code save_ save__pdbx_deposition_message_file_reference.content_type _item_description.description ; The content type of the referenced data file. ; _item.name '_pdbx_deposition_message_file_reference.content_type' _item.category_id pdbx_deposition_message_file_reference _item.mandatory_code yes _item_type.code code save_ save__pdbx_deposition_message_file_reference.content_format _item_description.description ; The content format of the referenced data file. ; _item.name '_pdbx_deposition_message_file_reference.content_format' _item.category_id pdbx_deposition_message_file_reference _item.mandatory_code yes _item_type.code line save_ save__pdbx_deposition_message_file_reference.partition_number _item_description.description ; The partition number of the referenced data file. ; _item.name '_pdbx_deposition_message_file_reference.partition_number' _item.category_id pdbx_deposition_message_file_reference _item.mandatory_code yes _item_type.code code save_ save__pdbx_deposition_message_file_reference.version_id _item_description.description ; The version identifier of the referenced data file. ; _item.name '_pdbx_deposition_message_file_reference.version_id' _item.category_id pdbx_deposition_message_file_reference _item.mandatory_code yes _item_type.code code save_ save__pdbx_deposition_message_file_reference.storage_type _item_description.description ; The storate type of the referenced data file. ; _item.name '_pdbx_deposition_message_file_reference.storage_type' _item.category_id pdbx_deposition_message_file_reference _item.mandatory_code yes _item_type.code code save_ ## ## ## save_pdbx_depui_entry_details _category.description ; Data items in the PDBX_DEPUI_ENTRY_DETAILS category record information required to identify the depositor and route deposition to an appropriate processing site. ; _category.id pdbx_depui_entry_details _category.mandatory_code no _category_key.name '_pdbx_depui_entry_details.dep_dataset_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_depui_entry_details.dep_dataset_id D_0000000000 _pdbx_depui_entry_details.validated_contact_email 'user@host' _pdbx_depui_entry_details.experimental_methods 'X-Ray Diffraction' _pdbx_depui_entry_details.requested_accession_types 'PDB' _pdbx_depui_entry_details.country 'United States' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_depui_entry_details save_ save__pdbx_depui_entry_details.dep_dataset_id _item_description.description ; The internal identifier assigned to each deposition. ; _item.name '_pdbx_depui_entry_details.dep_dataset_id' _item.category_id pdbx_depui_entry_details _item.mandatory_code yes _item_type.code code save_ save__pdbx_depui_entry_details.wwpdb_site_id _item_description.description ; The wwPDB internal site configuration identifier. ; _item.name '_pdbx_depui_entry_details.wwpdb_site_id' _item.category_id pdbx_depui_entry_details _item.mandatory_code no _item_type.code code loop_ _item_examples.case "WWPDB_DEPLOY_C5" "WWPDB_DEPLOY_STAGING_RU" "WWPDB_DEPLOY_ALPHA_RU" "WWPDB_DEPLOY_TEST_RU" "WWPDB_DEPLOY_INTERNAL_RU" "WWPDB_DEPLOY_PRODUCTION_PDBJ" "WWPDB_DEPLOY_VALSRV_RU" "WWPDB_DEPLOY_PRODUCTION_RU" "WWPDB_DEPLOY_PRODUCTION_UCSD" "WWPDB_DEPLOY_DEVEL_RU" "WWPDB_DEPLOY_MACOSX" "WWPDB_DEPLOY_TEST_RU" "PDBE" "BMRB" save_ save__pdbx_depui_entry_details.experimental_methods _item_description.description ; Comma separated list of supported experimental methods. ; _item.name '_pdbx_depui_entry_details.experimental_methods' _item.category_id pdbx_depui_entry_details _item.mandatory_code yes _item_type.code text loop_ _item_examples.case 'X-Ray Diffraction' 'Electron Microscopy' 'Solution NMR' 'Neutron Diffraction' 'Electron Crystallography' 'Solid-state NMR' 'Solution Scattering' 'Fiber Diffraction' save_ save__pdbx_depui_entry_details.requested_accession_types _item_description.description ; Comma separated list of requested accession code types. ; _item.name '_pdbx_depui_entry_details.requested_accession_types' _item.category_id pdbx_depui_entry_details _item.mandatory_code yes _item_type.code line loop_ _item_examples.case PDB EMDB BMRB save_ save__pdbx_depui_entry_details.validated_contact_email _item_description.description ; The validated contact e-mail address for the correponding depositor. ; _item.name '_pdbx_depui_entry_details.validated_contact_email' _item.category_id pdbx_depui_entry_details _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'user@domain' save_ save__pdbx_depui_entry_details.country _item_description.description ; The country/region location of the institution submitting the deposition. ; _item.name '_pdbx_depui_entry_details.country' _item.category_id pdbx_depui_entry_details _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'United States' 'United Kingdom' 'Japan' save_ save__pdbx_depui_entry_details.structural_genomics_flag _item_description.description ; A flag to indicate the that the deposition is a contribution from a structural genomics project. ; _item.name '_pdbx_depui_entry_details.structural_genomics_flag' _item.category_id pdbx_depui_entry_details _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'Y' 'N' save_ save__pdbx_depui_entry_details.related_database_name _item_description.description ; The name of the database associated with the related database code. ; _item.name '_pdbx_depui_entry_details.related_database_name' _item.category_id pdbx_depui_entry_details _item.mandatory_code no _item_type.code line loop_ _item_examples.case 'EMDB' 'PDB' 'BMRB' save_ save__pdbx_depui_entry_details.related_database_code _item_description.description ; A database code closely related to the current deposition. ; _item.name '_pdbx_depui_entry_details.related_database_code' _item.category_id pdbx_depui_entry_details _item.mandatory_code no _item_type.code line loop_ _item_examples.case '1ABC' save_ save__pdbx_depui_entry_details.replace_pdb_id _item_description.description ; The PDB ID code of the entry that is superseded by this entry. ; _item.name '_pdbx_depui_entry_details.replace_pdb_id' _item.category_id pdbx_depui_entry_details _item.mandatory_code no _item_type.code pdbx_PDB_obsoleted_db_id loop_ _item_examples.case '1ABC' save_ save_pdbx_data_processing_status _category.description ; Data items in the PDBX_DATA_PROCESSING_STATUS category record data processing instructions for workflow processing tasks. ; _category.id pdbx_data_processing_status _category.mandatory_code no loop_ _category_key.name '_pdbx_data_processing_status.task_name' '_pdbx_data_processing_status.status' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_data_processing_status.task_name _pdbx_data_processing_status.status 'site' 'skip' 'link' 'skip' 'helix' 'skip' 'solvent position' 'skip' 'ssbond' 'skip' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_data_processing_status save_ save__pdbx_data_processing_status.task_name _item_description.description ; A data processing workflow task name. ; _item.name '_pdbx_data_processing_status.task_name' _item.category_id pdbx_data_processing_status _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'site' 'link' 'helix' 'sheet' 'solvent position' # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_pdbx_data_processing_status.task_name" link . "_pdbx_data_processing_status.task_name" site . "_pdbx_data_processing_status.task_name" helix . "_pdbx_data_processing_status.task_name" sheet . "_pdbx_data_processing_status.task_name" "solvent position" . # save_ save__pdbx_data_processing_status.status _item_description.description ; A data processing workflow task status code. ; _item.name '_pdbx_data_processing_status.status' _item.category_id pdbx_data_processing_status _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'skip' save_ ## ## ################################### ## pdbx_entity_instance_feature ## ################################### save_pdbx_entity_instance_feature _category.description ; Data items in the pdbx_entity_instance_feature category records special features of selected entity instances. ; _category.id 'pdbx_entity_instance_feature' _category.mandatory_code no loop_ _category_key.name '_pdbx_entity_instance_feature.ordinal' # loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_entity_instance_feature.ordinal 1 _pdbx_entity_instance_feature.comp_id Q20 _pdbx_entity_instance_feature.auth_asym_id A _pdbx_entity_instance_feature.feature_type 'SUBJECT OF INVESTIGATION' _pdbx_entity_instance_feature.auth_seq_num 47 _pdbx_entity_instance_feature.auth_comp_id R77 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # _pdbx_category_context.type WWPDB_LOCAL # _pdbx_category_context.category_id pdbx_entity_instance_feature save_ save__pdbx_entity_instance_feature.details _item_description.description ; Special structural details about this entity instance. ; _item.name '_pdbx_entity_instance_feature.details' _item.category_id 'pdbx_entity_instance_feature' _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_instance_feature.feature_type _item_description.description ; A feature type associated with entity instance. ; _item.name '_pdbx_entity_instance_feature.feature_type' _item.category_id 'pdbx_entity_instance_feature' _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value 'SUBJECT OF INVESTIGATION' 'NO FUNCTIONAL ROLE' 'OTHER' save_ save__pdbx_entity_instance_feature.auth_asym_id _item_description.description ; Author instance identifier (formerly PDB Chain ID) ; _item.name '_pdbx_entity_instance_feature.auth_asym_id' _item.category_id pdbx_entity_instance_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_linked.child_name '_pdbx_entity_instance_feature.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_entity_instance_feature.asym_id _item_description.description ; Instance identifier for this entity. ; _item.name '_pdbx_entity_instance_feature.asym_id' _item.category_id pdbx_entity_instance_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'A' 'B' _item_linked.child_name '_pdbx_entity_instance_feature.asym_id' _item_linked.parent_name '_atom_site.label_asym_id' save_ save__pdbx_entity_instance_feature.auth_seq_num _item_description.description ; Author provided residue number. ; _item.name '_pdbx_entity_instance_feature.auth_seq_num' _item.category_id pdbx_entity_instance_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case '1' '2' save_ save__pdbx_entity_instance_feature.seq_num _item_description.description ; Position in the sequence. ; _item.name '_pdbx_entity_instance_feature.seq_num' _item.category_id pdbx_entity_instance_feature _item.mandatory_code no _item_type.code int loop_ _item_examples.case '1' '2' _item_linked.child_name '_pdbx_entity_instance_feature.seq_num' _item_linked.parent_name '_atom_site.label_seq_id' save_ save__pdbx_entity_instance_feature.comp_id _item_description.description ; Chemical component identifier ; _item.name '_pdbx_entity_instance_feature.comp_id' _item.category_id pdbx_entity_instance_feature _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case 'NAG' 'ATP' _item_linked.child_name '_pdbx_entity_instance_feature.comp_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_entity_instance_feature.auth_comp_id _item_description.description ; The author provided chemical component identifier ; _item.name '_pdbx_entity_instance_feature.auth_comp_id' _item.category_id pdbx_entity_instance_feature _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'NAG' 'ATP' _item_linked.child_name '_pdbx_entity_instance_feature.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_entity_instance_feature.ordinal _item_description.description ; An ordinal index for this category ; _item.name '_pdbx_entity_instance_feature.ordinal' _item.category_id pdbx_entity_instance_feature _item.mandatory_code yes _item_type.code int loop_ _item_examples.case 1 2 save_ # ## # File: entity-poly-multi-src-depositor-info-extension.dic # Original: Sep 20, 2012 - # # Draft dictionary extension for describing polymeric molecules with derived # from multiple biological sources. # # These source data supporting multiple sources per entity to capture data at deposition. # # # Update 7-Nov-2012 jdw: # # Added item _pdbx_entity_src_gen_depositor_info.entity_id # Removed item _pdbx_entity_src_gen_depositor_info.alt_source_flag and _pdbx_entity_src_gen_depositor_info.gene_src_strain # Items _pdbx_entity_src_gen_depositor_info.beg_seq_num and _pdbx_entity_src_gen_depositor_info.end_seq_num set to mandatory # Data types for _pdbx_entity_src_gen_depositor_info.host_org_ncbi_taxonomy_id set to int # ### ######################################## ## PDBX_ENTITY_SRC_GEN_DEPOSITOR_INFO ## ######################################## save_pdbx_entity_src_gen_depositor_info _category.description ; Data items in the PDBX_ENTITY_SRC_GEN_DEPOSITOR_INFO category record details of the source from which the entity was obtained in cases where the source was genetically manipulated. The following are treated separately: items pertaining to the tissue from which the gene was obtained, items pertaining to the host organism for gene expression and items pertaining to the actual producing organism (plasmid). ; _category.id pdbx_entity_src_gen_depositor_info _category.mandatory_code no _category_key.name '_pdbx_entity_src_gen_depositor_info.src_id' loop_ _category_group.id 'inclusive_group' 'entity_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example - Fusion protein case- 3L2J Fusion protein of maltose-binding periplasmic protein and parathyroid hormone/parathyroid hormone-related peptide receptor. ; ; loop_ _pdbx_entity_src_gen_depositor_info.src_id _pdbx_entity_src_gen_depositor_info.entity_id _pdbx_entity_src_gen_depositor_info.beg_seq_num _pdbx_entity_src_gen_depositor_info.end_seq_num _pdbx_entity_src_gen_depositor_info.gene_src_scientific_name _pdbx_entity_src_gen_depositor_info.gene_src_gene _pdbx_entity_src_gen_depositor_info.gene_src_ncbi_taxonomy_id _pdbx_entity_src_gen_depositor_info.host_org_scientific_name _pdbx_entity_src_gen_depositor_info.host_org_ncbi_taxonomy_id _pdbx_entity_src_gen_depositor_info.host_org_strain _pdbx_entity_src_gen_depositor_info.host_org_vector_type _pdbx_entity_src_gen_depositor_info.plasmid_name 1 1 1 364 'Escherichia coli' 'b4034, JW3994' 83333 'Escherichia coli' 562 ? plasmid pGEX6p-2RBS 2 1 365 370 'synthetic construct' ? 32630 'Escherichia coli' 562 ? plasmid pGEX6p-2RBS 3 1 371 529 'Homo sapiens' 'malE, PTHR1' 9606 'Escherichia coli' 562 ? plasmid pGEX6p-2RBS 4 1 530 535 'synthetic construct' ? 32630 'Escherichia coli' 562 ? plasmid pGEX6p-2RBS ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type RCSB_LOCAL _pdbx_category_context.category_id pdbx_entity_src_gen_depositor_info save_ save__pdbx_entity_src_gen_depositor_info.src_id _item_description.description ; This data item is an ordinal identifier for entity_src_gen data records. ; _item.name '_pdbx_entity_src_gen_depositor_info.src_id' _item.category_id pdbx_entity_src_gen_depositor_info _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_depositor_info.entity_id _item_description.description ; The entity id for this chimeric entity. This data item is a pointer to _entity_poly_seq.entity_id in the ENTITY_POLY_SEQ category. ; _item.name '_pdbx_entity_src_gen_depositor_info.entity_id' _item.category_id pdbx_entity_src_gen_depositor_info _item.mandatory_code yes _item_type.code code # _item_linked.child_name '_pdbx_entity_src_gen_depositor_info.entity_id' # _item_linked.parent_name '_entity_poly_seq.entity_id' save_ #save__pdbx_entity_src_gen_depositor_info.alt_source_flag # _item_description.description #; This data item identifies cases in which an alternative source # modeled. #; # _item.name '_pdbx_entity_src_gen_depositor_info.alt_source_flag' # _item.category_id pdbx_entity_src_gen_depositor_info # _item.mandatory_code no # _item_type.code code # _item_default.value 'sample' # loop_ # _item_enumeration.value 'sample' 'model' # save_ save__pdbx_entity_src_gen_depositor_info.seq_type _item_description.description ; This data item povides additional information about the sequence type. ; _item.name '_pdbx_entity_src_gen_depositor_info.seq_type' _item.category_id pdbx_entity_src_gen_depositor_info _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value 'N-terminal tag' 'C-terminal tag' 'Biological sequence' 'Linker' save_ save__pdbx_entity_src_gen_depositor_info.beg_seq_num _item_description.description ; The beginning polymer sequence position for the polymer section corresponding to this source. A reference to the sequence position in the entity_poly category. ; _item.name '_pdbx_entity_src_gen_depositor_info.beg_seq_num' _item.category_id pdbx_entity_src_gen_depositor_info _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_depositor_info.end_seq_num _item_description.description ; The ending polymer sequence position for the polymer section corresponding to this source. A reference to the sequence position in the entity_poly category. ; _item.name '_pdbx_entity_src_gen_depositor_info.end_seq_num' _item.category_id pdbx_entity_src_gen_depositor_info _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_src_gen_depositor_info.gene_src_gene _item_description.description ; Identifies the gene. ; _item.name '_pdbx_entity_src_gen_depositor_info.gene_src_gene' _item.category_id pdbx_entity_src_gen_depositor_info _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_src_gen_depositor_info.gene_src_scientific_name _item_description.description ; Scientific name of the organism. ; _item.name '_pdbx_entity_src_gen_depositor_info.gene_src_scientific_name' _item.category_id pdbx_entity_src_gen_depositor_info _item.mandatory_code no _item_type.code text _item_examples.case ; ESCHERICHIA COLI HOMO SAPIENS SACCHAROMYCES CEREVISIAE ; save_ #save__pdbx_entity_src_gen_depositor_info.gene_src_strain # _item_description.description #; The strain of the natural organism from which the gene was # obtained, if relevant. #; # _item.name '_pdbx_entity_src_gen_depositor_info.gene_src_strain' # _item.category_id pdbx_entity_src_gen_depositor_info # _item.mandatory_code no # _item_type.code text # loop_ # _item_examples.case 'DH5a' # 'BMH 71-18' # save_ save__pdbx_entity_src_gen_depositor_info.host_org_gene _item_description.description ; Specific gene which expressed the molecule. ; _item.name '_pdbx_entity_src_gen_depositor_info.host_org_gene' _item.category_id pdbx_entity_src_gen_depositor_info _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'HIV-1 POL' 'GLNS7' 'U1A (2-98, Y31H, Q36R)' save_ save__pdbx_entity_src_gen_depositor_info.host_org_scientific_name _item_description.description ; The scientific name of the organism that served as host for the production of the entity. Where full details of the protein production are available it would be expected that this item would be derived from _entity_src_gen_express.host_org_scientific_name or via _entity_src_gen_express.host_org_tax_id ; _item.name '_pdbx_entity_src_gen_depositor_info.host_org_scientific_name' _item.category_id pdbx_entity_src_gen_depositor_info _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'ESCHERICHIA COLI' 'SACCHAROMYCES CEREVISIAE' save_ save__pdbx_entity_src_gen_depositor_info.host_org_strain _item_description.description ; The strain of the organism in which the entity was expressed. ; _item.name '_pdbx_entity_src_gen_depositor_info.host_org_strain' _item.category_id pdbx_entity_src_gen_depositor_info _item.mandatory_code no _item_type.code text _item_examples.case 'AR120' save_ save__pdbx_entity_src_gen_depositor_info.gene_src_ncbi_taxonomy_id _item_description.description ; NCBI Taxonomy identifier for the gene source organism. Reference: Wheeler DL, Chappey C, Lash AE, Leipe DD, Madden TL, Schuler GD, Tatusova TA, Rapp BA (2000). Database resources of the National Center for Biotechnology Information. Nucleic Acids Res 2000 Jan 1;28(1):10-4 Benson DA, Karsch-Mizrachi I, Lipman DJ, Ostell J, Rapp BA, Wheeler DL (2000). GenBank. Nucleic Acids Res 2000 Jan 1;28(1):15-18. ; _item.name '_pdbx_entity_src_gen_depositor_info.gene_src_ncbi_taxonomy_id' _item.category_id 'pdbx_entity_src_gen_depositor_info' _item.mandatory_code no _item_type.code int save_ save__pdbx_entity_src_gen_depositor_info.host_org_ncbi_taxonomy_id _item_description.description ; NCBI Taxonomy identifier for the expression system organism. Reference: Wheeler DL, Chappey C, Lash AE, Leipe DD, Madden TL, Schuler GD, Tatusova TA, Rapp BA (2000). Database resources of the National Center for Biotechnology Information. Nucleic Acids Res 2000 Jan 1;28(1):10-4 Benson DA, Karsch-Mizrachi I, Lipman DJ, Ostell J, Rapp BA, Wheeler DL (2000). GenBank. Nucleic Acids Res 2000 Jan 1;28(1):15-18. ; _item.name '_pdbx_entity_src_gen_depositor_info.host_org_ncbi_taxonomy_id' _item.category_id 'pdbx_entity_src_gen_depositor_info' _item.mandatory_code no _item_type.code int save_ save__pdbx_entity_src_gen_depositor_info.host_org_vector_type _item_description.description ; Identifies the type of vector used (plasmid, virus, or cosmid). Where full details of the protein production are available it would be expected that this item would be derived from _entity_src_gen_express.vector_type. ; _item.name '_pdbx_entity_src_gen_depositor_info.host_org_vector_type' _item.category_id pdbx_entity_src_gen_depositor_info _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'COSMID' 'PLASMID' save_ save__pdbx_entity_src_gen_depositor_info.plasmid_name _item_description.description ; The name of the plasmid that produced the entity in the host organism. Where full details of the protein production are available it would be expected that this item would be derived from _pdbx_construct.name of the construct pointed to from _entity_src_gen_express.plasmid_id. ; _item.name '_pdbx_entity_src_gen_depositor_info.plasmid_name' _item.category_id pdbx_entity_src_gen_depositor_info _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'pET3C' 'pT123sab' save_ # save__atom_type.pdbx_scat_Cromer_Mann_a5 _item_description.description ; Scattering-factor coefficient a5, used to calculate electron elastic atomic scattering factors for the defined atom type. Electron Elastic Scattering Factors Ref: International Tables for X-ray Crystallography (2006). Vol. C, Table 4.3.2.2, pp. 282-283. Cromer_Mann equation Ref: International Tables for X-ray Crystallography (1974). Vol. IV, Table 2.2B or: International Tables for Crystallography (2004). Vol. C, Tables 6.1.1.4 and 6.1.1.5. ; _item.name '_atom_type.pdbx_scat_Cromer_Mann_a5' _item.category_id atom_type _item.mandatory_code no loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_b4' '_atom_type.pdbx_scat_Cromer_Mann_b5' '_atom_type.scat_Cromer_Mann_c' _item_type.code float save_ save__atom_type.pdbx_scat_Cromer_Mann_b5 _item_description.description ; Scattering-factor coefficient b5, used to calculate electron elastic atomic scattering factors for the defined atom type. Electron Elastic Scattering Factors Ref: International Tables for X-ray Crystallography (2006). Vol. C, Table 4.3.2.2, pp. 282-283. Cromer_Mann equation Ref: International Tables for X-ray Crystallography (1974). Vol. IV, Table 2.2B or: International Tables for Crystallography (2004). Vol. C, Tables 6.1.1.4 and 6.1.1.5. ; _item.name '_atom_type.pdbx_scat_Cromer_Mann_b5' _item.category_id atom_type _item.mandatory_code no loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.pdbx_scat_Cromer_Mann_a5' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_b4' '_atom_type.scat_Cromer_Mann_c' _item_type.code float save_ save__atom_type.pdbx_scat_Cromer_Mann_a6 _item_description.description ; Scattering-factor coefficient a6, used to calculate electron elastic atomic scattering factors for the defined atom type. Electron Elastic Scattering Factors Ref: International Tables for X-ray Crystallography (2006). Vol. C, Table 4.3.2.2, pp. 282-283. Cromer_Mann equation Ref: International Tables for X-ray Crystallography (1974). Vol. IV, Table 2.2B or: International Tables for Crystallography (2004). Vol. C, Tables 6.1.1.4 and 6.1.1.5. ; _item.name '_atom_type.pdbx_scat_Cromer_Mann_a6' _item.category_id atom_type _item.mandatory_code no loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_b4' '_atom_type.pdbx_scat_Cromer_Mann_a5' '_atom_type.pdbx_scat_Cromer_Mann_b5' '_atom_type.pdbx_scat_Cromer_Mann_b6' '_atom_type.scat_Cromer_Mann_c' _item_type.code float save_ save__atom_type.pdbx_scat_Cromer_Mann_b6 _item_description.description ; Scattering-factor coefficient b6, used to calculate electron elastic atomic scattering factors for the defined atom type. Electron Elastic Scattering Factors Ref: International Tables for X-ray Crystallography (2006). Vol. C, Table 4.3.2.2, pp. 282-283. Cromer_Mann equation Ref: International Tables for X-ray Crystallography (1974). Vol. IV, Table 2.2B or: International Tables for Crystallography (2004). Vol. C, Tables 6.1.1.4 and 6.1.1.5. ; _item.name '_atom_type.pdbx_scat_Cromer_Mann_b6' _item.category_id atom_type _item.mandatory_code no loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.pdbx_scat_Cromer_Mann_a5' '_atom_type.pdbx_scat_Cromer_Mann_a6' '_atom_type.pdbx_scat_Cromer_Mann_b5' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_b4' '_atom_type.scat_Cromer_Mann_c' _item_type.code float save_ save__atom_type.pdbx_scat_Z _item_description.description ; Atomic number of atom in scattering amplitude. ; _item.name '_atom_type.pdbx_scat_Z' _item.category_id atom_type _item.mandatory_code no loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_b4' '_atom_type.scat_Cromer_Mann_c' _item_type.code int save_ save__atom_type.pdbx_N_electrons _item_description.description ; Number of electrons in atom used in scattering factor ; _item.name '_atom_type.pdbx_N_electrons' _item.category_id atom_type _item.mandatory_code no loop_ _item_dependent.dependent_name '_atom_type.scat_Cromer_Mann_a1' '_atom_type.scat_Cromer_Mann_a2' '_atom_type.scat_Cromer_Mann_a3' '_atom_type.scat_Cromer_Mann_a4' '_atom_type.scat_Cromer_Mann_b1' '_atom_type.scat_Cromer_Mann_b2' '_atom_type.scat_Cromer_Mann_b3' '_atom_type.scat_Cromer_Mann_b4' '_atom_type.scat_Cromer_Mann_c' _item_type.code int save_ save__refine.pdbx_average_fsc_overall _item_description.description ; Overall average Fourier Shell Correlation (avgFSC) between model and observed structure factors for all reflections. The average FSC is a measure of the agreement between observed and calculated structure factors. sum(N~i~ FSC~i~) avgFSC = ---------------- sum(N~i~) N~i~ = the number of all reflections in the resolution shell i FSC~i~ = FSC for all reflections in the i-th resolution shell calculated as: (sum(|F~o~| |F~c~| fom cos(phi~c~-phi~o~))) FSC~i~ = ------------------------------------------- (sum(|F~o~|^2^) (sum(|F~c~|^2^)))^1/2^ |F~o~| = amplitude of observed structure factor |F~c~| = amplitude of calculated structure factor phi~o~ = phase of observed structure factor phi~c~ = phase of calculated structure factor fom = figure of merit of the experimental phases. Summation of FSC~i~ is carried over all reflections in the resolution shell. Summation of avgFSC is carried over all resolution shells. Ref: Rosenthal P.B., Henderson R. "Optimal determination of particle orientation, absolute hand, and contrast loss in single-particle electron cryomicroscopy. Journal of Molecular Biology. 2003;333(4):721-745, equation (A6). ; _item.name '_refine.pdbx_average_fsc_overall' _item.category_id refine _item.mandatory_code no _item_type.code float save_ save__refine.pdbx_average_fsc_work _item_description.description ; Average Fourier Shell Correlation (avgFSC) between model and observed structure factors for reflections included in refinement. The average FSC is a measure of the agreement between observed and calculated structure factors. sum(N~i~ FSC~work-i~) avgFSC~work~ = --------------------- sum(N~i~) N~i~ = the number of working reflections in the resolution shell i FSC~work-i~ = FSC for working reflections in the i-th resolution shell calculated as: (sum(|F~o~| |F~c~| fom cos(phi~c~-phi~o~))) FSC~work-i~ = ------------------------------------------- (sum(|F~o~|^2^) (sum(|F~c~|^2^)))^1/2^ |F~o~| = amplitude of observed structure factor |F~c~| = amplitude of calculated structure factor phi~o~ = phase of observed structure factor phi~c~ = phase of calculated structure factor fom = figure of merit of the experimental phases. Summation of FSC~work-i~ is carried over all working reflections in the resolution shell. Summation of avgFSC~work~ is carried over all resolution shells. Ref: Rosenthal P.B., Henderson R. "Optimal determination of particle orientation, absolute hand, and contrast loss in single-particle electron cryomicroscopy. Journal of Molecular Biology. 2003;333(4):721-745, equation (A6). ; _item.name '_refine.pdbx_average_fsc_work' _item.category_id refine _item.mandatory_code no _item_type.code float save_ save__refine.pdbx_average_fsc_free _item_description.description ; Average Fourier Shell Correlation (avgFSC) between model and observed structure factors for reflections not included in refinement. The average FSC is a measure of the agreement between observed and calculated structure factors. sum(N~i~ FSC~free-i~) avgFSC~free~ = --------------------- sum(N~i~) N~i~ = the number of free reflections in the resolution shell i FSC~free-i~ = FSC for free reflections in the i-th resolution shell calculated as: (sum(|F~o~| |F~c~| fom cos(phi~c~-phi~o~))) FSC~free-i~ = ------------------------------------------- (sum(|F~o~|^2^) (sum(|F~c~|^2^)))^1/2^ |F~o~| = amplitude of observed structure factor |F~c~| = amplitude of calculated structure factor phi~o~ = phase of observed structure factor phi~c~ = phase of calculated structure factor fom = figure of merit of the experimental phases. Summation of FSC~free-i~ is carried over all free reflections in the resolution shell. Summation of avgFSC~free~ is carried over all resolution shells. Ref: Rosenthal P.B., Henderson R. "Optimal determination of particle orientation, absolute hand, and contrast loss in single-particle electron cryomicroscopy. Journal of Molecular Biology. 2003;333(4):721-745, equation (A6). ; _item.name '_refine.pdbx_average_fsc_free' _item.category_id refine _item.mandatory_code no _item_type.code float save_ save__refine_ls_shell.pdbx_fsc_work _item_description.description ; Fourier Shell Correlation (FSC) between model and observed structure factors for reflections included in refinement. FSC is a measure of the agreement between observed and calculated structure factors as complex numbers. (sum(|F~o~| |F~c~| fom cos(phi~c~-phi~o~))) FSC~work~ = -------------------------------------- (sum(|F~o~|^2^) (sum(|F~c~|^2^)))^1/2^ |F~o~| = amplitude of observed structure factor |F~c~| = amplitude of calculated structure factor phi~o~ = phase of observed structure factor phi~c~ = phase of calculated structure factor fom = figure of merit of the experimental phases. Summation is carried over all working reflections in the resolution shell. Ref: Rosenthal P.B., Henderson R. "Optimal determination of particle orientation, absolute hand, and contrast loss in single-particle electron cryomicroscopy. Journal of Molecular Biology. 2003;333(4):721-745, equation (A6). ; _item.name '_refine_ls_shell.pdbx_fsc_work' _item.category_id refine_ls_shell _item.mandatory_code no _item_type.code float save_ save__refine_ls_shell.pdbx_fsc_free _item_description.description ; Fourier Shell Correlation (FSC) between model and observed structure factors for reflections not included in refinement. FSC is a measure of the agreement between observed and calculated structure factors as complex numbers. (sum(|F~o~| |F~c~| fom cos(phi~c~-phi~o~))) FSC~free~ = -------------------------------------- (sum(|F~o~|^2^) (sum(|F~c~|^2^)))^1/2^ |F~o~| = amplitude of observed structure factor |F~c~| = amplitude of calculated structure factor phi~o~ = phase of observed structure factor phi~c~ = phase of calculated structure factor fom = figure of merit of the experimental phases. Summation is carried over all free reflections in the resolution shell. Ref: Rosenthal P.B., Henderson R. "Optimal determination of particle orientation, absolute hand, and contrast loss in single-particle electron cryomicroscopy. Journal of Molecular Biology. 2003;333(4):721-745, equation (A6). ; _item.name '_refine_ls_shell.pdbx_fsc_free' _item.category_id refine_ls_shell _item.mandatory_code no _item_type.code float save_ ########################## ## PDBX_CHEM_COMP_MODEL ## ########################## save_pdbx_chem_comp_model _category.description ; Data items in the PDBX_CHEM_COMP_MODEL category give details about each of the chemical component model instances. ; _category.id pdbx_chem_comp_model _category.mandatory_code no _category_key.name '_pdbx_chem_comp_model.id' loop_ _category_group.id 'inclusive_group' 'chem_comp_model_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_model.id _pdbx_chem_comp_model.comp_id M_ZZV_00001 ZZV ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_model.id _item_description.description ; The value of _pdbx_chem_comp_model.id must uniquely identify each model instance the PDBX_CHEM_COMP_MODEL list. ; _item.name '_pdbx_chem_comp_model.id' _item.category_id pdbx_chem_comp_model _item.mandatory_code yes _item_type.code ucode _item_examples.case 'M_ABC_00001' save_ save__pdbx_chem_comp_model.comp_id _item_description.description ; An identifier for chemical component definition. ; _item.name '_pdbx_chem_comp_model.comp_id' _item.category_id pdbx_chem_comp_model _item.mandatory_code yes _item_type.code ucode _item_examples.case 'ABC' save_ ############################### ## PDBX_CHEM_COMP_MODEL_ATOM ## ############################### save_pdbx_chem_comp_model_atom _category.description ; Data items in the PDBX_CHEM_COMP_MODEL_ATOM category record coordinates for the chemical component model instance. ; _category.id pdbx_chem_comp_model_atom _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_model_atom.model_id' '_pdbx_chem_comp_model_atom.atom_id' loop_ _category_group.id 'inclusive_group' 'chem_comp_model_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_model_atom.model_id _pdbx_chem_comp_model_atom.atom_id _pdbx_chem_comp_model_atom.type_symbol _pdbx_chem_comp_model_atom.charge _pdbx_chem_comp_model_atom.model_Cartn_x _pdbx_chem_comp_model_atom.model_Cartn_y _pdbx_chem_comp_model_atom.model_Cartn_z _pdbx_chem_comp_model_atom.ordinal_id M_ZZV_00001 CAA C 0 2.180 6.561 8.402 1 M_ZZV_00001 CAB C 0 5.709 6.659 8.211 2 M_ZZV_00001 OAC O 0 1.912 12.185 12.303 3 M_ZZV_00001 OAD O 0 4.002 7.560 6.491 4 M_ZZV_00001 OAE O 0 4.992 9.134 8.117 5 M_ZZV_00001 OAF O 0 2.970 10.013 13.854 6 M_ZZV_00001 FAG F 0 -3.392 12.249 6.995 7 M_ZZV_00001 CAH C 0 4.361 5.472 12.379 8 M_ZZV_00001 CAI C 0 4.277 6.182 13.595 9 M_ZZV_00001 CAJ C 0 -2.132 12.408 8.958 10 M_ZZV_00001 CAK C 0 -1.112 12.651 6.807 11 M_ZZV_00001 CAL C 0 -0.902 12.579 9.557 12 M_ZZV_00001 CAM C 0 0.139 12.801 7.421 13 M_ZZV_00001 CAN C 0 4.004 6.101 11.237 14 # ------------abbreviated -------------- ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_model_atom.atom_id _item_description.description ; The value of _pdbx_chem_comp_model_atom.atom_id uniquely identifies each atom in the PDBX_CHEM_COMP_MODEL_ATOM list. ; _item.name '_pdbx_chem_comp_model_atom.atom_id' _item.category_id pdbx_chem_comp_model_atom _item.mandatory_code yes _item_type.code atcode save_ save__pdbx_chem_comp_model_atom.ordinal_id _item_description.description ; The value of _pdbx_chem_comp_model_atom.ordinal_id is an ordinal identifer for each atom in the PDBX_CHEM_COMP_MODEL_ATOM list. ; _item.name '_pdbx_chem_comp_model_atom.ordinal_id' _item.category_id pdbx_chem_comp_model_atom _item.mandatory_code yes _item_type.code int save_ save__pdbx_chem_comp_model_atom.model_id _item_description.description ; This data item is a pointer to _pdbx_chem_comp_model.id in the PDBX_CHEM_COMP_MODEL category. ; _item.name '_pdbx_chem_comp_model_atom.model_id' _item.category_id pdbx_chem_comp_model_atom _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_model_atom.model_id' _item_linked.parent_name '_pdbx_chem_comp_model.id' save_ save__pdbx_chem_comp_model_atom.charge _item_description.description ; The net integer charge assigned to this atom. This is the formal charge assignment normally found in chemical diagrams. ; _item.name '_pdbx_chem_comp_model_atom.charge' _item.category_id pdbx_chem_comp_model_atom _item.mandatory_code no _item_default.value 0 loop_ _item_range.maximum _item_range.minimum 8 8 8 -8 -8 -8 _item_type.code int loop_ _item_examples.case _item_examples.detail 1 'for an ammonium nitrogen' -1 'for a chloride ion' save_ save__pdbx_chem_comp_model_atom.model_Cartn_x _item_description.description ; The x component of the coordinates for this atom in this component model specified as orthogonal angstroms. ; _item.name '_pdbx_chem_comp_model_atom.model_Cartn_x' _item.category_id pdbx_chem_comp_model_atom _item.mandatory_code no loop_ _item_dependent.dependent_name '_pdbx_chem_comp_model_atom.model_Cartn_y' '_pdbx_chem_comp_model_atom.model_Cartn_z' _item_sub_category.id cartesian_coordinate _item_type.code float _item_units.code angstroms save_ save__pdbx_chem_comp_model_atom.model_Cartn_y _item_description.description ; The y component of the coordinates for this atom in this component model specified as orthogonal angstroms. ; _item.name '_pdbx_chem_comp_model_atom.model_Cartn_y' _item.category_id pdbx_chem_comp_model_atom _item.mandatory_code no loop_ _item_dependent.dependent_name '_pdbx_chem_comp_model_atom.model_Cartn_x' '_pdbx_chem_comp_model_atom.model_Cartn_z' _item_sub_category.id cartesian_coordinate _item_type.code float _item_units.code angstroms save_ save__pdbx_chem_comp_model_atom.model_Cartn_z _item_description.description ; The z component of the coordinates for this atom in this component model specified as orthogonal angstroms. ; _item.name '_pdbx_chem_comp_model_atom.model_Cartn_z' _item.category_id pdbx_chem_comp_model_atom _item.mandatory_code no loop_ _item_dependent.dependent_name '_pdbx_chem_comp_model_atom.model_Cartn_x' '_pdbx_chem_comp_model_atom.model_Cartn_y' _item_sub_category.id cartesian_coordinate _item_type.code float _item_units.code angstroms save_ save__pdbx_chem_comp_model_atom.type_symbol _item_description.description ; The code used to identify the atom species representing this atom type. Normally this code is the element symbol. ; _item.name '_pdbx_chem_comp_model_atom.type_symbol' _item.mandatory_code yes _item_type.code code loop_ _item_examples.case 'C' 'N' 'O' save_ ############################### ## PDBX_CHEM_COMP_MODEL_BOND ## ############################### save_pdbx_chem_comp_model_bond _category.description ; Data items in the PDBX_CHEM_COMP_MODEL_BOND category record details about the bonds between atoms in a chemical component model instance. ; _category.id pdbx_chem_comp_model_bond _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_model_bond.model_id' '_pdbx_chem_comp_model_bond.atom_id_1' '_pdbx_chem_comp_model_bond.atom_id_2' loop_ _category_group.id 'inclusive_group' 'chem_comp_model_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; # loop_ _pdbx_chem_comp_model_bond.model_id _pdbx_chem_comp_model_bond.atom_id_1 _pdbx_chem_comp_model_bond.atom_id_2 _pdbx_chem_comp_model_bond.value_order _pdbx_chem_comp_model_bond.ordinal_id M_ZZV_00001 CAA NBA SING 1 M_ZZV_00001 CAA HAA SING 2 M_ZZV_00001 CAA HAAA SING 3 M_ZZV_00001 CAA HAAB SING 4 M_ZZV_00001 CAB SBC SING 5 M_ZZV_00001 CAB HAB SING 6 M_ZZV_00001 CAB HABA SING 7 M_ZZV_00001 CAB HABB SING 8 M_ZZV_00001 OAC CAR DOUB 9 M_ZZV_00001 OAD SBC DOUB 10 M_ZZV_00001 OAE SBC DOUB 11 M_ZZV_00001 OAF CAU SING 12 M_ZZV_00001 OAF HOAF SING 13 M_ZZV_00001 FAG CAS SING 14 M_ZZV_00001 CAH CAI DOUB 15 M_ZZV_00001 CAH CAN SING 16 M_ZZV_00001 CAH HAH SING 17 M_ZZV_00001 CAI NAQ SING 18 M_ZZV_00001 CAI HAI SING 19 # --- abbreviated ---- ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_model_bond.atom_id_1 _item_description.description ; The ID of the first of the two atoms that define the bond. This data item is a pointer to _pdbx_chem_comp_model_atom.atom_id in the PDBX_CHEM_COMP_MODEL_ATOM category. ; _item.name '_pdbx_chem_comp_model_bond.atom_id_1' _item.mandatory_code yes _item_type.code atcode _item_dependent.dependent_name '_pdbx_chem_comp_model_bond.atom_id_2' _item_linked.child_name '_pdbx_chem_comp_model_bond.atom_id_1' _item_linked.parent_name '_pdbx_chem_comp_model_atom.atom_id' save_ save__pdbx_chem_comp_model_bond.atom_id_2 _item_description.description ; The ID of the second of the two atoms that define the bond. This data item is a pointer to _pdbx_chem_comp_model_atom.atom_id in the PDBX_CHEM_COMP_MODEL_ATOM category. ; _item.name '_pdbx_chem_comp_model_bond.atom_id_2' _item.mandatory_code yes _item_type.code atcode _item_dependent.dependent_name '_pdbx_chem_comp_model_bond.atom_id_1' _item_linked.child_name '_pdbx_chem_comp_model_bond.atom_id_2' _item_linked.parent_name '_pdbx_chem_comp_model_atom.atom_id' save_ save__pdbx_chem_comp_model_bond.model_id _item_description.description ; This data item is a pointer to _pdbx_chem_comp_model.id in the PDBX_CHEM_COMP_MODEL category. ; _item.name '_pdbx_chem_comp_model_bond.model_id' _item.category_id pdbx_chem_comp_model_bond _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_model_bond.model_id' _item_linked.parent_name '_pdbx_chem_comp_model.id' save_ save__pdbx_chem_comp_model_bond.value_order _item_description.description ; The value that should be taken as the target for the chemical bond associated with the specified atoms, expressed as a bond order. ; _item.name '_pdbx_chem_comp_model_bond.value_order' _item.category_id pdbx_chem_comp_model_bond _item.mandatory_code no _item_default.value sing _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail SING 'single bond' DOUB 'double bond' TRIP 'triple bond' QUAD 'quadruple bond' AROM 'aromatic bond' POLY 'polymeric bond' DELO 'delocalized double bond' PI 'pi bond' save_ save__pdbx_chem_comp_model_bond.ordinal_id _item_description.description ; The value of _pdbx_chem_comp_model_bond.ordinal_id is an ordinal identifer for each atom in the PDBX_CHEM_COMP_MODEL_BOND list. ; _item.name '_pdbx_chem_comp_model_bond.ordinal_id' _item.category_id pdbx_chem_comp_model_bond _item.mandatory_code yes _item_type.code int save_ ################################## ## PDBX_CHEM_COMP_MODEL_FEATURE ## ################################## save_pdbx_chem_comp_model_feature _category.description ; Additional features associated with the chemical component. ; _category.id 'pdbx_chem_comp_model_feature' _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_model_feature.model_id' '_pdbx_chem_comp_model_feature.feature_name' loop_ _category_group.id 'inclusive_group' 'chem_comp_model_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; # loop_ _pdbx_chem_comp_model_feature.model_id _pdbx_chem_comp_model_feature.feature_name _pdbx_chem_comp_model_feature.feature_value M_ZZV_00001 experiment_temperature 218.0 M_ZZV_00001 publication_doi 10.1016/j.bmcl.2008.01.018 M_ZZV_00001 r_factor 6.92 M_ZZV_00001 all_atoms_have_sites Y M_ZZV_00001 has_disorder Y # ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_model_feature.model_id _item_description.description ; The component model identifier for this feature. ; _item.name '_pdbx_chem_comp_model_feature.model_id' _item.category_id pdbx_chem_comp_model_feature _item.mandatory_code yes _item_type.code ucode loop_ _item_examples.case 'M_ABC_00001' 'M_ATP_00001' _item_linked.child_name '_pdbx_chem_comp_model_feature.model_id' _item_linked.parent_name '_pdbx_chem_comp_model.id' save_ save__pdbx_chem_comp_model_feature.feature_name _item_description.description ; The component model feature type. ; _item.name '_pdbx_chem_comp_model_feature.feature_name' _item.category_id pdbx_chem_comp_model_feature _item.mandatory_code yes _item_type.code line loop_ _item_examples.case experiment_temperature publication_doi r_factor all_atoms_have_sites has_disorder save_ save__pdbx_chem_comp_model_feature.feature_value _item_description.description ; The component feature value. ; _item.name '_pdbx_chem_comp_model_feature.feature_value' _item.category_id pdbx_chem_comp_model_feature _item.mandatory_code yes _item_type.code text save_ ##################################### ## PDBX_CHEM_COMP_MODEL_DESCRIPTOR ## ##################################### save_pdbx_chem_comp_model_descriptor _category.description ; Data items in the CHEM_COMP_MODEL_DESCRIPTOR category provide string descriptors for component model structures. ; _category.id pdbx_chem_comp_model_descriptor _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_model_descriptor.model_id' '_pdbx_chem_comp_model_descriptor.type' loop_ _category_group.id 'inclusive_group' 'chem_comp_model_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_model_descriptor.model_id _pdbx_chem_comp_model_descriptor.type _pdbx_chem_comp_model_descriptor.descriptor M_ZZV_00001 SMILES 'CN(c1c2cccnc2c(c3c1CN(C3=O)Cc4ccc(cc4)F)O)S(=O)(=O)C' M_ZZV_00001 SMILES_CANNONICAL 'CN(c1c2cccnc2c(c3c1CN(C3=O)Cc4ccc(cc4)F)O)S(=O)(=O)C' ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_model_descriptor.model_id _item_description.description ; This data item is a pointer to _pdbx_chem_comp_model.id in the PDBX_CHEM_COMP_MODEL category. ; _item.name '_pdbx_chem_comp_model_descriptor.model_id' _item.category_id pdbx_chem_comp_model_descriptor _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_model_descriptor.model_id' _item_linked.parent_name '_pdbx_chem_comp_model.id' save_ save__pdbx_chem_comp_model_descriptor.descriptor _item_description.description ; This data item contains the descriptor value for this component. ; _item.name '_pdbx_chem_comp_model_descriptor.descriptor' _item.category_id pdbx_chem_comp_model_descriptor _item.mandatory_code yes _item_type.code text save_ save__pdbx_chem_comp_model_descriptor.type _item_description.description ; This data item contains the descriptor type. ; _item.name '_pdbx_chem_comp_model_descriptor.type' _item.category_id pdbx_chem_comp_model_descriptor _item.mandatory_code yes _item_type.code uline loop_ _item_enumeration.value _item_enumeration.detail SMILES_CANONICAL 'Canonical SMILES descriptor' SMILES 'SMILES descriptor' InChI 'InChI descriptor' InChIKey 'InChI descriptor- hash key form' save_ ################################ ## PDBX_CHEM_COMP_MODEL_AUDIT ## ################################ save_pdbx_chem_comp_model_audit _category.description ; Data items in the PDBX_CHEM_COMP_MODEL_AUDIT category records the status and tracking information for this component model instance. ; _category.id pdbx_chem_comp_model_audit _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_model_audit.model_id' '_pdbx_chem_comp_model_audit.date' '_pdbx_chem_comp_model_audit.action_type' loop_ _category_group.id 'inclusive_group' 'chem_comp_model_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_chem_comp_model_audit.model_id M_ZZV_00001 _pdbx_chem_comp_model_audit.action_type 'Create component model' _pdbx_chem_comp_model_audit.date 2014-11-30 _pdbx_chem_comp_model_audit.processing_site RCSB _pdbx_chem_comp_model_audit.annotator JDW _pdbx_chem_comp_model_audit.details ? ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_model_audit.model_id _item_description.description ; This data item is a pointer to _pdbx_chem_comp_model.id in the PDBX_CHEM_COMP_MODEL category. ; _item.name '_pdbx_chem_comp_model_audit.model_id' _item.category_id pdbx_chem_comp_model_audit _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_model_audit.model_id' _item_linked.parent_name '_pdbx_chem_comp_model.id' save_ save__pdbx_chem_comp_model_audit.date _item_description.description ; The date associated with this audit record. ; _item.name '_pdbx_chem_comp_model_audit.date' _item.category_id pdbx_chem_comp_model_audit _item.mandatory_code yes _item_type.code yyyy-mm-dd save_ save__pdbx_chem_comp_model_audit.annotator _item_description.description ; The initials of the annotator creating of modifying the component. ; _item.name '_pdbx_chem_comp_model_audit.annotator' _item.category_id pdbx_chem_comp_model_audit _item.mandatory_code no _item_type.code code loop_ _item_examples.case 'JO' 'SJ' 'KB' save_ save__pdbx_chem_comp_model_audit.processing_site _item_description.description ; An identifier for the wwPDB site creating or modifying the component. ; _item.name '_pdbx_chem_comp_model_audit.processing_site' _item.category_id pdbx_chem_comp_model_audit _item.mandatory_code no _item_type.code code loop_ _item_examples.case RCSB PDBE PDBJ BMRB PDBC save_ save__pdbx_chem_comp_model_audit.details _item_description.description ; Additional details decribing this change. ; _item.name '_pdbx_chem_comp_model_audit.details' _item.category_id pdbx_chem_comp_model_audit _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Added C14 as a leaving atom.' save_ save__pdbx_chem_comp_model_audit.action_type _item_description.description ; The action associated with this audit record. ; _item.name '_pdbx_chem_comp_model_audit.action_type' _item.category_id pdbx_chem_comp_model_audit _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'Create component' . 'Modify formal charge' . 'Modify atom id' . 'Modify charge' . 'Modify component atom id' . 'Modify component comp_id' . 'Modify value order' . 'Modify descriptor' . 'Modify identifier' . 'Modify coordinates' . 'Other modification' . 'Obsolete model' . 'Initial release' . save_ #################################### ## PDBX_CHEM_COMP_MODEL_REFERENCE ## #################################### save_pdbx_chem_comp_model_reference _category.description ; Additional features associated with the chemical component. ; _category.id 'pdbx_chem_comp_model_reference' _category.mandatory_code no loop_ _category_key.name '_pdbx_chem_comp_model_reference.model_id' '_pdbx_chem_comp_model_reference.db_name' '_pdbx_chem_comp_model_reference.db_code' loop_ _category_group.id 'inclusive_group' 'chem_comp_model_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; # _pdbx_chem_comp_model_reference.model_id M_ZZV_00001 _pdbx_chem_comp_model_reference.db_name CSD _pdbx_chem_comp_model_reference.db_code PIWVIB # ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_chem_comp_model_reference.model_id _item_description.description ; The component model identifier for this feature. ; _item.name '_pdbx_chem_comp_model_reference.model_id' _item.category_id pdbx_chem_comp_model_reference _item.mandatory_code yes _item_type.code ucode loop_ _item_examples.case 'M_ABC_00001' 'M_ATP_00001' _item_linked.child_name '_pdbx_chem_comp_model_reference.model_id' _item_linked.parent_name '_pdbx_chem_comp_model.id' save_ save__pdbx_chem_comp_model_reference.db_name _item_description.description ; The component model feature type. ; _item.name '_pdbx_chem_comp_model_reference.db_name' _item.category_id pdbx_chem_comp_model_reference _item.mandatory_code yes _item_type.code line _item_examples.case 'CSD' save_ save__pdbx_chem_comp_model_reference.db_code _item_description.description ; The component feature value. ; _item.name '_pdbx_chem_comp_model_reference.db_code' _item.category_id pdbx_chem_comp_model_reference _item.mandatory_code yes _item_type.code line save_ # Updates: _pdbx_database_status.pdbx_annotator replaces _pdbx_database_status.rcsb_annotator # 2016-Sep-20 - jdw add alias for ndb_struct_na_base_pair.propeller # 2017-May-7 - ep move ndb_struct_na_base_pair.propeller to def-4 # save_pdbx_view_category_group # _category.description ; Data items in the PDBX_VIEW_CATEGORY_GROUP identify collections of related mmCIF categories. Views provide a vehicle for presenting different logical arrangements of dictionary contents. ; _category.id pdbx_view_category_group _category.mandatory_code no # _category_key.name '_pdbx_view_category_group.view_group_id' # loop_ _category_group.id inclusive_group view_group ndb_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_view_category_group # save_ # save__pdbx_view_category_group.view_group_id # _item_description.description 'The identifier for a collection of related mmCIF categories.' # loop_ _item.name _item.category_id _item.mandatory_code '_pdbx_view_category_group.view_group_id' pdbx_view_category_group yes '_pdbx_view_category.view_group_id' pdbx_view_category yes # _item_linked.child_name '_pdbx_view_category.view_group_id' _item_linked.parent_name '_pdbx_view_category_group.view_group_id' # _item_type.code code # _item_aliases.alias_name '_ndb_view_category_group.view_group_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_view_category_group.view_group_id' # save_ # save__pdbx_view_category_group.description # _item_description.description 'A description for this collection of categories.' # _item.name '_pdbx_view_category_group.description' _item.category_id pdbx_view_category_group _item.mandatory_code yes # _item_type.code text # _item_aliases.alias_name '_ndb_view_category_group.description' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_view_category_group.description' # save_ # save_pdbx_view_category # _category.description ; Data items in the PDBX_VIEW_CATEGORY specify the categories belonging to a category view group. An alias name for the mmCIF category may also be specified for the each category in the view. ; _category.id pdbx_view_category _category.mandatory_code no # _category_key.name '_pdbx_view_category.category_id' # loop_ _category_group.id inclusive_group view_group ndb_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_view_category # save_ # save__pdbx_view_category.view_group_id # _item_description.description 'A pointer to the view_group_id in the PDBX_VIEW_CATEGORY_GROUP category.' # _item.name '_pdbx_view_category.view_group_id' _item.category_id pdbx_view_category _item.mandatory_code yes # _item_aliases.alias_name '_ndb_view_category.view_group_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_view_category.view_group_id' # save_ # save__pdbx_view_category.category_id # _item_description.description 'The mmCIF category identifier.' # loop_ _item.name _item.category_id _item.mandatory_code '_pdbx_view_category.category_id' pdbx_view_category yes '_pdbx_view_item.category_id' pdbx_view_item yes # _item_linked.child_name '_pdbx_view_item.category_id' _item_linked.parent_name '_pdbx_view_category.category_id' # _item_type.code code # _item_aliases.alias_name '_ndb_view_category.category_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_view_category.category_id' # save_ # save__pdbx_view_category.category_view_name # _item_description.description 'An alias name for the mmCIF category in this view.' # _item.name '_pdbx_view_category.category_view_name' _item.category_id pdbx_view_category _item.mandatory_code yes # _item_type.code line # _item_aliases.alias_name '_ndb_view_category.category_view_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_view_category.category_view_name' # save_ # save_pdbx_view_item # _category.description ; Data items in the PDBX_VIEW_ITEM specify the mmCIF data items belonging to a view category. An alias name for the mmCIF item may be specified for the each item in the view category. The role of the item in the view category can be designated as mandatory, optional, or hidden. ; _category.id pdbx_view_item _category.mandatory_code no # _category_key.name '_pdbx_view_item.item_name' # loop_ _category_group.id inclusive_group view_group ndb_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_view_item # save_ # save__pdbx_view_item.item_name # _item_description.description 'The mmCIF item name.' # _item.name '_pdbx_view_item.item_name' _item.category_id pdbx_view_item _item.mandatory_code yes # _item_type.code name # _item_aliases.alias_name '_ndb_view_item.item_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_view_item.item_name' # save_ # save__pdbx_view_item.category_id # _item_description.description 'A pointer to the category_id in the PDBX_VIEW_CATEGORY category.' # _item.name '_pdbx_view_item.category_id' _item.category_id pdbx_view_item _item.mandatory_code yes # _item_aliases.alias_name '_ndb_view_item.category_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_view_item.category_id' # save_ # save__pdbx_view_item.item_view_name # _item_description.description 'An alias name for the mmCIF item in this view.' # _item.name '_pdbx_view_item.item_view_name' _item.category_id pdbx_view_item _item.mandatory_code yes # _item_type.code line # _item_aliases.alias_name '_ndb_view_item.item_view_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_view_item.item_view_name' # save_ # save__pdbx_view_item.item_view_mandatory_code # _item_description.description 'A code to indicate the role of the data item in the view.' # _item.name '_pdbx_view_item.item_view_mandatory_code' _item.category_id pdbx_view_item _item.mandatory_code yes # _item_type.code code # loop_ _item_enumeration.value _item_enumeration.detail Y 'Item must be specified in the view' N 'Item is optional in the view' H 'Item is hidden in the view' # _item_aliases.alias_name '_ndb_view_item.item_view_mandatory_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_view_item.item_view_mandatory_code' # save_ # save__pdbx_view_item.item_view_allow_alternate_value # _item_description.description ; A code to indicate if the view should permit alternatives to enumerated item values. ; # _item.name '_pdbx_view_item.item_view_allow_alternate_value' _item.category_id pdbx_view_item _item.mandatory_code no # _item_default.value N # _item_type.code code # loop_ _item_enumeration.value _item_enumeration.detail Y 'Accept alternate values' N 'Do not accept alternate values' # _item_aliases.alias_name '_ndb_view_item.item_view_allow_alternate_value' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_view_item.item_view_allow_alternate_value' # save_ # save_pdbx_coord # _category.description 'Gives information about what kind of coordinates are available.' _category.id pdbx_coord _category.mandatory_code no # _category_key.name '_pdbx_coord.entry_id' # loop_ _category_group.id inclusive_group database_group ndb_group atom_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_coord # save_ # save__pdbx_coord.entry_id # _item_description.description 'The entry identifier.' # _item.name '_pdbx_coord.entry_id' _item.category_id pdbx_coord _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_coord.entry_id' _item_linked.parent_name '_entry.id' # _item_aliases.alias_name '_ndb_coord.entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_coord.entry_id' # save_ # save__pdbx_coord.chain_atoms_Y_P # _item_description.description ; Gives information if the coordinates for the main chain atoms are available. ; # _item.name '_pdbx_coord.chain_atoms_Y_P' _item.category_id pdbx_coord _item.mandatory_code yes # _item_type.code code # loop_ _item_enumeration.value _item_enumeration.detail Y 'Coordinates are available' P 'Coordinates are in preparation' NA 'Coordinates are not available' # _item_examples.case Y # _item_aliases.alias_name '_ndb_coord.chain_atoms_Y_P' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_coord.chain_atoms_Y_P' # save_ # save__pdbx_coord.hydrogen_atoms_Y_N # _item_description.description ; Gives information if the coordinates for hydrogen atoms are available. ; # _item.name '_pdbx_coord.hydrogen_atoms_Y_N' _item.category_id pdbx_coord _item.mandatory_code yes # _item_type.code code # loop_ _item_enumeration.value _item_enumeration.detail Y 'Coordinates are available' N 'Coordinates are not available' # _item_examples.case Y # _item_aliases.alias_name '_ndb_coord.hydrogen_atoms_Y_N' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_coord.hydrogen_atoms_Y_N' # save_ # save__pdbx_coord.solvent_atoms_Y_N # _item_description.description ; Gives information if the coordinates for solvent atoms are available. ; # _item.name '_pdbx_coord.solvent_atoms_Y_N' _item.category_id pdbx_coord _item.mandatory_code yes # _item_type.code code # loop_ _item_enumeration.value _item_enumeration.detail Y 'Coordinates are available' N 'Coordinates are not available' # _item_examples.case Y # _item_aliases.alias_name '_ndb_coord.solvent_atoms_Y_N' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_coord.solvent_atoms_Y_N' # save_ # save__pdbx_coord.structure_factors_Y_N # _item_description.description ; Gives information if the structure factors for this entry are available. ; # _item.name '_pdbx_coord.structure_factors_Y_N' _item.category_id pdbx_coord _item.mandatory_code yes # _item_type.code code # loop_ _item_enumeration.value _item_enumeration.detail Y 'structure factors are available' P 'structure factors are in preparation' N 'structure factors are not available' H 'structure factors are on hold' # _item_examples.case Y # _item_aliases.alias_name '_ndb_coord.structure_factors_Y_N' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_coord.structure_factors_Y_N' # save_ # save_pdbx_connect # _category.description ; Local data items describing ligand and monomer chemical features. ; _category.id pdbx_connect _category.mandatory_code no # _category_key.name '_pdbx_connect.res_name' # loop_ _category_group.id inclusive_group ndb_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_connect # save_ # save__pdbx_connect.res_name # _item_description.description 'Unique (typically 3-letter code) identifier for chemical group.' # _item.name '_pdbx_connect.res_name' _item.category_id pdbx_connect _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_connect.res_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect.res_name' # save_ # save__pdbx_connect.hetgroup_name # _item_description.description 'Place-holder for PDB record HET' # _item.name '_pdbx_connect.hetgroup_name' _item.category_id pdbx_connect _item.mandatory_code no # _item_type.code line # _item_aliases.alias_name '_ndb_connect.hetgroup_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect.hetgroup_name' # save_ # save__pdbx_connect.formul # _item_description.description 'Place-holder for PDB record FORMUL' # _item.name '_pdbx_connect.formul' _item.category_id pdbx_connect _item.mandatory_code no # _item_type.code line # _item_aliases.alias_name '_ndb_connect.formul' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect.formul' # save_ # save__pdbx_connect.hetgroup_chemical_name # _item_description.description 'Place-holder for PDB record HETNAM' # _item.name '_pdbx_connect.hetgroup_chemical_name' _item.category_id pdbx_connect _item.mandatory_code no # _item_type.code text # _item_aliases.alias_name '_ndb_connect.hetgroup_chemical_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect.hetgroup_chemical_name' # save_ # save__pdbx_connect.parent_residue # _item_description.description 'Parent residue' # _item.name '_pdbx_connect.parent_residue' _item.category_id pdbx_connect _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_connect.parent_residue' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect.parent_residue' # save_ # save__pdbx_connect.formal_charge # _item_description.description 'Formal charge if nonzero' # _item.name '_pdbx_connect.formal_charge' _item.category_id pdbx_connect _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_connect.formal_charge' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect.formal_charge' # save_ # save__pdbx_connect.class_1 # _item_description.description 'Internal classification type 1.' # _item.name '_pdbx_connect.class_1' _item.category_id pdbx_connect _item.mandatory_code no # _item_type.code text # _item_aliases.alias_name '_ndb_connect.class_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect.class_1' # save_ # save__pdbx_connect.class_2 # _item_description.description 'Internal classification type 2.' # _item.name '_pdbx_connect.class_2' _item.category_id pdbx_connect _item.mandatory_code no # _item_type.code text # _item_aliases.alias_name '_ndb_connect.class_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect.class_2' # save_ # save__pdbx_connect.type # _item_description.description 'Approximately corresponds to _chem_comp.type' # _item.name '_pdbx_connect.type' _item.category_id pdbx_connect _item.mandatory_code no # _item_type.code text # _item_aliases.alias_name '_ndb_connect.type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect.type' # save_ # save__pdbx_connect.status # _item_description.description 'Release status associated with this component.' # _item.name '_pdbx_connect.status' _item.category_id pdbx_connect _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_connect.status' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect.status' # save_ # save__pdbx_connect.date # _item_description.description 'Date added.' # _item.name '_pdbx_connect.date' _item.category_id pdbx_connect _item.mandatory_code no # _item_type.code yyyy-mm-dd # _item_aliases.alias_name '_ndb_connect.date' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect.date' # save_ # save__pdbx_connect.modified_date # _item_description.description 'Date of last modification.' # _item.name '_pdbx_connect.modified_date' _item.category_id pdbx_connect _item.mandatory_code no # _item_type.code yyyy-mm-dd # _item_aliases.alias_name '_ndb_connect.modified_date' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect.modified_date' # save_ # save_pdbx_connect_type # _category.description ; Local data items describing ligand and monomer type information. ; _category.id pdbx_connect_type _category.mandatory_code no # _category_key.name '_pdbx_connect_type.res_name' # loop_ _category_group.id inclusive_group ndb_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_connect_type # save_ # save__pdbx_connect_type.res_name # _item_description.description 'Unique (typically 3-letter code) identifier for chemical group.' # _item.name '_pdbx_connect_type.res_name' _item.category_id pdbx_connect_type _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_connect_type.res_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect_type.res_name' # save_ # save__pdbx_connect_type.ndbTokenType # _item_description.description 'Internal chemical type identifier used by NDB.' # _item.name '_pdbx_connect_type.ndbTokenType' _item.category_id pdbx_connect_type _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_connect_type.ndbTokenType' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect_type.ndbTokenType' # save_ # save__pdbx_connect_type.modified # _item_description.description 'Indicates a modified chemical component.' # _item.name '_pdbx_connect_type.modified' _item.category_id pdbx_connect_type _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_connect_type.modified' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect_type.modified' # save_ # save_pdbx_connect_modification # _category.description ; Local data items describing ligand and monomer modifications. ; _category.id pdbx_connect_modification _category.mandatory_code no # _category_key.name '_pdbx_connect_modification.res_name' # loop_ _category_group.id inclusive_group ndb_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_connect_modification # save_ # save__pdbx_connect_modification.res_name # _item_description.description 'Unique (typically 3-letter code) identifier for chemical group.' # _item.name '_pdbx_connect_modification.res_name' _item.category_id pdbx_connect_modification _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_connect_modification.res_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect_modification.res_name' # save_ # save__pdbx_connect_modification.modification # _item_description.description 'Type of modification' # _item.name '_pdbx_connect_modification.modification' _item.category_id pdbx_connect_modification _item.mandatory_code yes # _item_type.code line # _item_aliases.alias_name '_ndb_connect_modification.modification' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect_modification.modification' # save_ # save_pdbx_connect_atom # _category.description ; Local data items describing ligand and monomer atom names and connectivity. ; _category.id pdbx_connect_atom _category.mandatory_code no # loop_ _category_key.name '_pdbx_connect_atom.res_name' '_pdbx_connect_atom.atom_name' '_pdbx_connect_atom.connect_to' # loop_ _category_group.id inclusive_group ndb_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_connect_atom # save_ # save__pdbx_connect_atom.res_name # _item_description.description 'Unique (typically 3-letter code) identifier for chemical group.' # _item.name '_pdbx_connect_atom.res_name' _item.category_id pdbx_connect_atom _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_connect_atom.res_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect_atom.res_name' # save_ # save__pdbx_connect_atom.atom_name # _item_description.description 'Uniquely identifies the atom within the component.' # _item.name '_pdbx_connect_atom.atom_name' _item.category_id pdbx_connect_atom _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_connect_atom.atom_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect_atom.atom_name' # save_ # save__pdbx_connect_atom.connect_to # _item_description.description 'Identifies a connected atom within the component.' # _item.name '_pdbx_connect_atom.connect_to' _item.category_id pdbx_connect_atom _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_connect_atom.connect_to' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect_atom.connect_to' # save_ # save__pdbx_connect_atom.type_symbol # _item_description.description 'Element symbol' # _item.name '_pdbx_connect_atom.type_symbol' _item.category_id pdbx_connect_atom _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_connect_atom.type_symbol' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect_atom.type_symbol' # save_ # save__pdbx_connect_atom.charge # _item_description.description Charge # _item.name '_pdbx_connect_atom.charge' _item.category_id pdbx_connect_atom _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_connect_atom.charge' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect_atom.charge' # save_ # save__pdbx_connect_atom.bond_type # _item_description.description 'Bond type.' # _item.name '_pdbx_connect_atom.bond_type' _item.category_id pdbx_connect_atom _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_connect_atom.bond_type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect_atom.bond_type' # save_ # save__pdbx_connect_atom.align_pos # _item_description.description 'Starting column of atom name in PDB atom field.' # _item.name '_pdbx_connect_atom.align_pos' _item.category_id pdbx_connect_atom _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_connect_atom.align_pos' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_connect_atom.align_pos' # save_ # save_pdbx_database_PDB_master # _category.description ; The PDBX_DATABASE_PDB_MASTER category provides placeholders for the count of various PDB record types. ; _category.id pdbx_database_PDB_master _category.mandatory_code no # _category_key.name '_pdbx_database_PDB_master.entry_id' # loop_ _category_group.id inclusive_group database_group ndb_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_database_PDB_master # save_ # save__pdbx_database_PDB_master.entry_id # _item_description.description ; A link to _ENTRY.id ; # _item.name '_pdbx_database_PDB_master.entry_id' _item.category_id pdbx_database_PDB_master _item.mandatory_code yes # _item_linked.child_name '_pdbx_database_PDB_master.entry_id' _item_linked.parent_name '_entry.id' # _item_aliases.alias_name '_ndb_database_PDB_master.entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_PDB_master.entry_id' # save_ # save__pdbx_database_PDB_master.num_remark # _item_description.description ; The number of PDB records of a particular type. ; # _item.name '_pdbx_database_PDB_master.num_remark' _item.category_id pdbx_database_PDB_master _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_database_PDB_master.num_remark' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_PDB_master.num_remark' # save_ # save__pdbx_database_PDB_master.num_ftnote # _item_description.description ; The number of PDB records of a particular type. ; # _item.name '_pdbx_database_PDB_master.num_ftnote' _item.category_id pdbx_database_PDB_master _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_database_PDB_master.num_ftnote' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_PDB_master.num_ftnote' # save_ # save__pdbx_database_PDB_master.num_het # _item_description.description ; The number of PDB records of a particular type. ; # _item.name '_pdbx_database_PDB_master.num_het' _item.category_id pdbx_database_PDB_master _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_database_PDB_master.num_het' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_PDB_master.num_het' # save_ # save__pdbx_database_PDB_master.num_helix # _item_description.description ; The number of PDB records of a particular type. ; # _item.name '_pdbx_database_PDB_master.num_helix' _item.category_id pdbx_database_PDB_master _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_database_PDB_master.num_helix' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_PDB_master.num_helix' # save_ # save__pdbx_database_PDB_master.num_sheet # _item_description.description ; The number of PDB records of a particular type. ; # _item.name '_pdbx_database_PDB_master.num_sheet' _item.category_id pdbx_database_PDB_master _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_database_PDB_master.num_sheet' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_PDB_master.num_sheet' # save_ # save__pdbx_database_PDB_master.num_turn # _item_description.description ; The number of PDB records of a particular type. ; # _item.name '_pdbx_database_PDB_master.num_turn' _item.category_id pdbx_database_PDB_master _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_database_PDB_master.num_turn' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_PDB_master.num_turn' # save_ # save__pdbx_database_PDB_master.num_site # _item_description.description ; The number of PDB records of a particular type. ; # _item.name '_pdbx_database_PDB_master.num_site' _item.category_id pdbx_database_PDB_master _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_database_PDB_master.num_site' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_PDB_master.num_site' # save_ # save__pdbx_database_PDB_master.num_trans # _item_description.description ; The number of PDB records of a particular type. ; # _item.name '_pdbx_database_PDB_master.num_trans' _item.category_id pdbx_database_PDB_master _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_database_PDB_master.num_trans' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_PDB_master.num_trans' # save_ # save__pdbx_database_PDB_master.num_coord # _item_description.description ; The number of PDB records of a particular type. ; # _item.name '_pdbx_database_PDB_master.num_coord' _item.category_id pdbx_database_PDB_master _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_database_PDB_master.num_coord' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_PDB_master.num_coord' # save_ # save__pdbx_database_PDB_master.num_ter # _item_description.description ; The number of PDB records of a particular type. ; # _item.name '_pdbx_database_PDB_master.num_ter' _item.category_id pdbx_database_PDB_master _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_database_PDB_master.num_ter' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_PDB_master.num_ter' # save_ # save__pdbx_database_PDB_master.num_conect # _item_description.description ; The number of PDB records of a particular type. ; # _item.name '_pdbx_database_PDB_master.num_conect' _item.category_id pdbx_database_PDB_master _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_database_PDB_master.num_conect' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_PDB_master.num_conect' # save_ # save__pdbx_database_PDB_master.num_seqres # _item_description.description ; The number of PDB records of a particular type. ; # _item.name '_pdbx_database_PDB_master.num_seqres' _item.category_id pdbx_database_PDB_master _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_database_PDB_master.num_seqres' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_PDB_master.num_seqres' # save_ # save_pdbx_database_pdb_omit # _category.description ; Data items in the PDBX_DATABASE_PDB_OMIT category record list PDB record names that should be omitted in the PDB format file. ; _category.id pdbx_database_pdb_omit _category.mandatory_code no # loop_ _category_key.name '_pdbx_database_pdb_omit.entry_id' '_pdbx_database_pdb_omit.record_name' # loop_ _category_group.id inclusive_group database_group ndb_group # _category_examples.case ; loop_ _pdbx_database_pdb_omit.entry_id _pdbx_database_pdb_omit.record_name RCSB00001 HELIX RCSB00001 'REMARK 500' ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_database_pdb_omit # save_ # save__pdbx_database_pdb_omit.entry_id # _item_description.description 'The value of _pdbx_database_pdb_omit.entry_id identifies the data block.' # _item.name '_pdbx_database_pdb_omit.entry_id' _item.category_id pdbx_database_pdb_omit _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_database_pdb_omit.entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_pdb_omit.entry_id' # save_ # save__pdbx_database_pdb_omit.record_name # _item_description.description 'PDB record or REMARK name to be omitted.' # _item.name '_pdbx_database_pdb_omit.record_name' _item.category_id pdbx_database_pdb_omit _item.mandatory_code yes # _item_type.code line # loop_ _item_related.related_name _item_related.function_code '_pdbx_database_status.skip_PDB_REMARK_500' replaces '_pdbx_database_status.skip_PDB_REMARK' replaces # _item_aliases.alias_name '_ndb_database_pdb_omit.record_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_pdb_omit.record_name' # save_ # save__pdbx_database_status.ndb_tid # _item_description.description 'Temporary NDB ID.' # _item.name '_pdbx_database_status.ndb_tid' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code code # _item_examples.case X96018 # _item_aliases.alias_name '_ndb_database_status.ndb_tid' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.ndb_tid' # save_ # save__pdbx_database_status.status_coordinates_in_NDB # _item_description.description 'Give information about status of coordinates of an entry in NDB.' # _item.name '_pdbx_database_status.status_coordinates_in_NDB' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code uchar1 # loop_ _item_enumeration.value _item_enumeration.detail Y 'Full release' P 'In preparation' N 'Not available' # _item_examples.case Y # _item_aliases.alias_name '_ndb_database_status.status_coordinates_in_NDB' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.status_coordinates_in_NDB' # save_ # save__pdbx_database_status.date_revised # _item_description.description ; The date of a revision. This corresponds to the date at which the entry was updated and a revision entry created. ; # _item.name '_pdbx_database_status.date_revised' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code yyyy-mm-dd # _item_examples.case 1983-06-27 # _item_aliases.alias_name '_ndb_database_status.date_revised' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_revised' # save_ # save__pdbx_database_status.replaced_entry_id # _item_description.description 'The NDB ID that this entry replaced.' # _item.name '_pdbx_database_status.replaced_entry_id' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code code # _item_examples.case P001 # _item_aliases.alias_name '_ndb_database_status.replaced_entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.replaced_entry_id' # save_ # save__pdbx_database_status.revision_id # _item_description.description 'The NDB ID for entry that replaces this entry.' # _item.name '_pdbx_database_status.revision_id' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code code # _item_examples.case P091 # _item_aliases.alias_name '_ndb_database_status.revision_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.revision_id' # save_ # save__pdbx_database_status.revision_description # _item_description.description 'A description of the revision to this entry.' # _item.name '_pdbx_database_status.revision_description' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code text # _item_examples.case 'NEW COORDINATES' # _item_aliases.alias_name '_ndb_database_status.revision_description' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.revision_description' # save_ # save__pdbx_database_status.pdbx_annotator # _item_description.description 'The initials of the annotator processing this entry.' # _item.name '_pdbx_database_status.pdbx_annotator' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case BS SJ KB # _item_aliases.alias_name '_ndb_database_status.rcsb_annotator' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.pdbx_annotator' # save_ # save__pdbx_database_status.date_of_NDB_release # _item_description.description ; The date of NDB/RCSB release. This corresponds to the date at which the entry is placed into the public archive. ; # _item.name '_pdbx_database_status.date_of_NDB_release' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code yyyy-mm-dd # _item_examples.case 1999-02-28 # _item_aliases.alias_name '_ndb_database_status.date_of_NDB_release' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_of_NDB_release' # save_ # save__pdbx_database_status.date_released_to_PDB # _item_description.description 'The date on which the entry is sent to PDB.' # _item.name '_pdbx_database_status.date_released_to_PDB' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code yyyy-mm-dd # _item_examples.case 1999-02-28 # _item_aliases.alias_name '_ndb_database_status.date_released_to_PDB' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_released_to_PDB' # save_ # save__pdbx_database_status.skip_PDB_REMARK_500 # _item_description.description ; This code indicates whether to skip production of PDB REMARK 500 for this file. ; # _item.name '_pdbx_database_status.skip_PDB_REMARK_500' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code uchar1 # _item_default.value N # loop_ _item_enumeration.value _item_enumeration.detail Y Yes N No # _item_examples.case Y # _item_related.related_name '_pdbx_database_pdb_omit.record_name' _item_related.function_code replacedby # _item_aliases.alias_name '_ndb_database_status.skip_PDB_REMARK_500' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.skip_PDB_REMARK_500' # save_ # save__pdbx_database_status.skip_PDB_REMARK # _item_description.description ; This code indicates whether to skip production of a PDB REMARK for this file. ; # _item.name '_pdbx_database_status.skip_PDB_REMARK' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code line # _item_examples.case 500 # _item_related.related_name '_pdbx_database_pdb_omit.record_name' _item_related.function_code replacedby # _item_aliases.alias_name '_ndb_database_status.skip_PDB_REMARK' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.skip_PDB_REMARK' # save_ # save__pdbx_database_status.title_suppression # _item_description.description 'This code indicates whether to suppress the entry title.' # _item.name '_pdbx_database_status.title_suppression' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code uchar1 # _item_default.value N # loop_ _item_enumeration.value _item_enumeration.detail Y Yes N No # _item_examples.case Y # _item_aliases.alias_name '_ndb_database_status.title_suppression' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.title_suppression' # save_ # save__pdbx_database_status.date_accepted_terms_and_conditions # _item_description.description 'The date on which the depositor accepted the PDB terms and conditions.' # _item.name '_pdbx_database_status.date_accepted_terms_and_conditions' _item.category_id pdbx_database_status _item.mandatory_code no # _item_type.code yyyy-mm-dd # _item_examples.case 2021-09-13 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_database_status.date_accepted_terms_and_conditions' # save_ # save_pdbx_dbref # _category.description ; These records are used in the DBREF record of a PDB file and are used as place holders for NDB ID's in PDB files. ; _category.id pdbx_dbref _category.mandatory_code no # loop_ _category_key.name '_pdbx_dbref.pdb_id_code' '_pdbx_dbref.chain_id' '_pdbx_dbref.begin_res_number' '_pdbx_dbref.end_res_number' '_pdbx_dbref.database_name' # loop_ _category_group.id inclusive_group database_group ndb_group # _category_examples.detail ; Example 1 - based on NDB entry BDLB58 ; _category_examples.case ; loop_ _pdbx_dbref.pdb_id_code _pdbx_dbref.chain_id _pdbx_dbref.begin_res_number _pdbx_dbref.begin_ins_code _pdbx_dbref.end_res_number _pdbx_dbref.end_ins_code _pdbx_dbref.database_name _pdbx_dbref.database_accession _pdbx_dbref.database_id_code _pdbx_dbref.database_begin_res_number _pdbx_dbref.database_begin_ins_code _pdbx_dbref.database_end_res_number _pdbx_dbref.database_end_ins_code 218D A 1 ? 12 ? NDB BDLB58 BDLB58 1 ? 12 ? 218D B 13 ? 24 ? NDB BDLB58 BDLB58 13 ? 24 ? ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_dbref # save_ # save__pdbx_dbref.pdb_id_code # _item_description.description 'PDB id code.' # _item.name '_pdbx_dbref.pdb_id_code' _item.category_id pdbx_dbref _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_dbref.pdb_id_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_dbref.pdb_id_code' # save_ # save__pdbx_dbref.chain_id # _item_description.description 'Chain id.' # _item.name '_pdbx_dbref.chain_id' _item.category_id pdbx_dbref _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_dbref.chain_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_dbref.chain_id' # save_ # save__pdbx_dbref.begin_res_number # _item_description.description 'First residue number.' # _item.name '_pdbx_dbref.begin_res_number' _item.category_id pdbx_dbref _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_dbref.begin_res_number' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_dbref.begin_res_number' # save_ # save__pdbx_dbref.begin_ins_code # _item_description.description 'Insertion code.' # _item.name '_pdbx_dbref.begin_ins_code' _item.category_id pdbx_dbref _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_dbref.begin_ins_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_dbref.begin_ins_code' # save_ # save__pdbx_dbref.end_res_number # _item_description.description 'Last residue number.' # _item.name '_pdbx_dbref.end_res_number' _item.category_id pdbx_dbref _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_dbref.end_res_number' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_dbref.end_res_number' # save_ # save__pdbx_dbref.end_ins_code # _item_description.description 'Insertion code.' # _item.name '_pdbx_dbref.end_ins_code' _item.category_id pdbx_dbref _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_dbref.end_ins_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_dbref.end_ins_code' # save_ # save__pdbx_dbref.database_name # _item_description.description 'Database name.' # _item.name '_pdbx_dbref.database_name' _item.category_id pdbx_dbref _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_dbref.database_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_dbref.database_name' # save_ # save__pdbx_dbref.database_accession # _item_description.description 'Database accession.' # _item.name '_pdbx_dbref.database_accession' _item.category_id pdbx_dbref _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_dbref.database_accession' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_dbref.database_accession' # save_ # save__pdbx_dbref.database_id_code # _item_description.description 'Database id code.' # _item.name '_pdbx_dbref.database_id_code' _item.category_id pdbx_dbref _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_dbref.database_id_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_dbref.database_id_code' # save_ # save__pdbx_dbref.database_begin_res_number # _item_description.description 'First residue number.' # _item.name '_pdbx_dbref.database_begin_res_number' _item.category_id pdbx_dbref _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_dbref.database_begin_res_number' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_dbref.database_begin_res_number' # save_ # save__pdbx_dbref.database_begin_ins_code # _item_description.description 'Insertion code.' # _item.name '_pdbx_dbref.database_begin_ins_code' _item.category_id pdbx_dbref _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_dbref.database_begin_ins_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_dbref.database_begin_ins_code' # save_ # save__pdbx_dbref.database_end_res_number # _item_description.description 'Last residue number.' # _item.name '_pdbx_dbref.database_end_res_number' _item.category_id pdbx_dbref _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_dbref.database_end_res_number' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_dbref.database_end_res_number' # save_ # save__pdbx_dbref.database_end_ins_code # _item_description.description 'Insertion code.' # _item.name '_pdbx_dbref.database_end_ins_code' _item.category_id pdbx_dbref _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_dbref.database_end_ins_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_dbref.database_end_ins_code' # save_ # save_pdbx_drug_info # _category.description ; Data items in the PDBX_DRUG_INFO category are still used until the 'entity' categories are entered into the database, even though the information is repeated. ; _category.id pdbx_drug_info _category.mandatory_code no # loop_ _category_key.name '_pdbx_drug_info.id' '_pdbx_drug_info.name' # loop_ _category_group.id inclusive_group struct_group ndb_group # _category_examples.detail ; Example 1 - based on NDB entry DDH048 ; _category_examples.case ; loop_ _pdbx_drug_info.id _pdbx_drug_info.name _pdbx_drug_info.num_per_asym_unit _pdbx_drug_info.num_of_whole_molecule _pdbx_drug_info.size_of_molecule_per_asym_unit 1 'ACTINOMYCIN D' 2 2 HALF ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_drug_info # save_ # save__pdbx_drug_info.id # _item_description.description 'Serial number.' # _item.name '_pdbx_drug_info.id' _item.category_id pdbx_drug_info _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_drug_info.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_drug_info.id' # save_ # save__pdbx_drug_info.name # _item_description.description 'Common name of drug.' # _item.name '_pdbx_drug_info.name' _item.category_id pdbx_drug_info _item.mandatory_code yes # _item_type.code line # _item_aliases.alias_name '_ndb_drug_info.name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_drug_info.name' # save_ # save__pdbx_drug_info.num_per_asym_unit # _item_description.description 'Number of drug molecules per asymmetric unit.' # _item.name '_pdbx_drug_info.num_per_asym_unit' _item.category_id pdbx_drug_info _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_drug_info.num_per_asym_unit' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_drug_info.num_per_asym_unit' # save_ # save__pdbx_drug_info.num_of_whole_molecule # _item_description.description 'Number of drug molecules per biological unit.' # _item.name '_pdbx_drug_info.num_of_whole_molecule' _item.category_id pdbx_drug_info _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_drug_info.num_of_whole_molecule' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_drug_info.num_of_whole_molecule' # save_ # save__pdbx_drug_info.size_of_molecule_per_asym_unit # _item_description.description 'Size of drug molecules per asymmetric unit.' # _item.name '_pdbx_drug_info.size_of_molecule_per_asym_unit' _item.category_id pdbx_drug_info _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case half whole quarter # _item_aliases.alias_name '_ndb_drug_info.size_of_molecule_per_asym_unit' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_drug_info.size_of_molecule_per_asym_unit' # save_ # save_pdbx_inhibitor_info # _category.description ; Data items in the PDBX_INHIBITOR_INFO category are still used until the 'entity' categories are entered into the database, even though the inhibitor is repeated. ; _category.id pdbx_inhibitor_info _category.mandatory_code no # _category_key.name '_pdbx_inhibitor_info.id' # loop_ _category_group.id inclusive_group struct_group ndb_group # _category_examples.detail ; Example 1 - based on NDB entry ... ; _category_examples.case ; loop_ _pdbx_inhibitor_info.id _pdbx_inhibitor_info.name _pdbx_inhibitor_info.num_per_asym_unit 1 'N-ACETYL-DEOXYTHYMIDINE' 1 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_inhibitor_info # save_ # save__pdbx_inhibitor_info.id # _item_description.description 'Serial number.' # _item.name '_pdbx_inhibitor_info.id' _item.category_id pdbx_inhibitor_info _item.mandatory_code yes # _item_examples.case 1 # _item_type.code int # _item_aliases.alias_name '_ndb_inhibitor_info.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_inhibitor_info.id' # save_ # save__pdbx_inhibitor_info.name # _item_description.description 'Name of inhibitor.' # _item.name '_pdbx_inhibitor_info.name' _item.category_id pdbx_inhibitor_info _item.mandatory_code yes # _item_type.code line # loop_ _item_examples.case N-ACETYL-DEOXYTHYMIDINE ADP # _item_aliases.alias_name '_ndb_inhibitor_info.name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_inhibitor_info.name' # save_ # save__pdbx_inhibitor_info.num_per_asym_unit # _item_description.description 'Number of inhibitor molecules per asymmetric unit.' # _item.name '_pdbx_inhibitor_info.num_per_asym_unit' _item.category_id pdbx_inhibitor_info _item.mandatory_code yes # _item_type.code int # _item_examples.case 1 # _item_aliases.alias_name '_ndb_inhibitor_info.num_per_asym_unit' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_inhibitor_info.num_per_asym_unit' # save_ # save_pdbx_ion_info # _category.description ; Data items in the PDBX_ION_INFO category are still used until the 'entity' categories are entered into the database, even though the information is repeated. ; _category.id pdbx_ion_info _category.mandatory_code no # _category_key.name '_pdbx_ion_info.id' # loop_ _category_group.id inclusive_group struct_group ndb_group # _category_examples.detail ; Example 1 - based on NDB entry DDH048 ; _category_examples.case ; loop_ _pdbx_ion_info.id _pdbx_ion_info.name _pdbx_ion_info.numb_per_asym_unit 1 MG 3 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_ion_info # save_ # save__pdbx_ion_info.id # _item_description.description 'Serial number.' # _item.name '_pdbx_ion_info.id' _item.category_id pdbx_ion_info _item.mandatory_code yes # _item_type.code code # _item_examples.case 1 # _item_aliases.alias_name '_ndb_ion_info.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_ion_info.id' # save_ # save__pdbx_ion_info.name # _item_description.description 'Name of ion.' # _item.name '_pdbx_ion_info.name' _item.category_id pdbx_ion_info _item.mandatory_code yes # _item_type.code line # _item_examples.case MG # _item_aliases.alias_name '_ndb_ion_info.name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_ion_info.name' # save_ # save__pdbx_ion_info.numb_per_asym_unit # _item_description.description 'Number of ion molecules per asymmetric unit.' # _item.name '_pdbx_ion_info.numb_per_asym_unit' _item.category_id pdbx_ion_info _item.mandatory_code yes # _item_type.code int # loop_ _item_examples.case 1 2 3 # _item_aliases.alias_name '_ndb_ion_info.numb_per_asym_unit' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_ion_info.numb_per_asym_unit' # save_ # save_pdbx_hybrid # _category.description ; Data items in the PDBX_HYBRID category are used to describe the chimeric characteristics of a DNA/RNA structure. ; _category.id pdbx_hybrid _category.mandatory_code no # _category_key.name '_pdbx_hybrid.id' # loop_ _category_group.id inclusive_group struct_group ndb_group # _category_examples.detail ; Example 1 - based on NDB entry AHJ068 ; _category_examples.case ; loop_ _pdbx_hybrid.id _pdbx_hybrid.sugar_name _pdbx_hybrid.strand_id _pdbx_hybrid.residue_names 1 R A 'G01 C02' 2 R B 'G01 C02' 3 D A 'G03 T04 A05 T06 A07 C08 G09 C10' 4 D B 'G03 T04 A05 T06 A07 C08 G09 C10' ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_hybrid # save_ # save__pdbx_hybrid.id # _item_description.description 'ID code.' # _item.name '_pdbx_hybrid.id' _item.category_id pdbx_hybrid _item.mandatory_code yes # _item_examples.case 1 # _item_type.code code # _item_aliases.alias_name '_ndb_hybrid.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_hybrid.id' # save_ # save__pdbx_hybrid.sugar_name # _item_description.description 'Name of sugar group of residue.' # _item.name '_pdbx_hybrid.sugar_name' _item.category_id pdbx_hybrid _item.mandatory_code yes # _item_type.code line # loop_ _item_examples.case _item_examples.detail D deoxyribonuclease R ribonuclease ARA arabinose # _item_aliases.alias_name '_ndb_hybrid.sugar_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_hybrid.sugar_name' # save_ # save__pdbx_hybrid.strand_id # _item_description.description 'Strand id.' # _item.name '_pdbx_hybrid.strand_id' _item.category_id pdbx_hybrid _item.mandatory_code yes # _item_type.code code # _item_examples.case A # _item_aliases.alias_name '_ndb_hybrid.strand_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_hybrid.strand_id' # save_ # save__pdbx_hybrid.residue_names # _item_description.description ; List of residues + number (see example) which have the same sugar group in a particular strand. ; # _item.name '_pdbx_hybrid.residue_names' _item.category_id pdbx_hybrid _item.mandatory_code yes # _item_type.code line # _item_examples.case 'C01 C02 C03' # _item_aliases.alias_name '_ndb_hybrid.residue_names' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_hybrid.residue_names' # save_ # save_pdbx_na_strand_info # _category.description ; Data items in the PDBX_NA_STRAND_INFO category are still used until the 'entity' categories are entered into the database, even though the information is repeated. ; _category.id pdbx_na_strand_info _category.mandatory_code no # _category_key.name '_pdbx_na_strand_info.id' # loop_ _category_group.id inclusive_group struct_group ndb_group # _category_examples.detail ; Example 1 - based on NDB entry DDH048 ; _category_examples.case ; loop_ _pdbx_na_strand_info.id _pdbx_na_strand_info.num_of_NA_strands_per_asym_unit _pdbx_na_strand_info.num_of_NA_strands_per_biol_unit _pdbx_na_strand_info.fract_NA_strand_per_asym_unit 1 2 2 half ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_na_strand_info # save_ # save__pdbx_na_strand_info.id # _item_description.description 'Serial number.' # _item.name '_pdbx_na_strand_info.id' _item.category_id pdbx_na_strand_info _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_na_strand_info.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_na_strand_info.id' # save_ # save__pdbx_na_strand_info.num_of_NA_strands_per_asym_unit # _item_description.description 'Number of na strands per asymmetric unit.' # _item.name '_pdbx_na_strand_info.num_of_NA_strands_per_asym_unit' _item.category_id pdbx_na_strand_info _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_na_strand_info.num_of_NA_strands_per_asym_unit' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_na_strand_info.num_of_NA_strands_per_asym_unit' # save_ # save__pdbx_na_strand_info.num_of_NA_strands_per_biol_unit # _item_description.description 'Number of na strands per biological unit.' # _item.name '_pdbx_na_strand_info.num_of_NA_strands_per_biol_unit' _item.category_id pdbx_na_strand_info _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_na_strand_info.num_of_NA_strands_per_biol_unit' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_na_strand_info.num_of_NA_strands_per_biol_unit' # save_ # save__pdbx_na_strand_info.fract_NA_strand_per_asym_unit # _item_description.description 'Size of drug molecules per asymmetric unit.' # _item.name '_pdbx_na_strand_info.fract_NA_strand_per_asym_unit' _item.category_id pdbx_na_strand_info _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case half whole quarter # _item_aliases.alias_name '_ndb_na_strand_info.fract_NA_strand_per_asym_unit' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_na_strand_info.fract_NA_strand_per_asym_unit' # save_ # save_pdbx_nonstandard_list # _category.description ; The information in this category is exclusively used to store the HET records of a PDB file. This record will be generated by the PROGRAM. ; _category.id pdbx_nonstandard_list _category.mandatory_code no # loop_ _category_key.name '_pdbx_nonstandard_list.id' '_pdbx_nonstandard_list.label_asym_id' '_pdbx_nonstandard_list.label_seq_id' # loop_ _category_group.id inclusive_group ndb_group # _category_examples.detail ; Example 1 - based on NDB entry DDLB57. ; _category_examples.case ; loop_ _pdbx_nonstandard_list.id _pdbx_nonstandard_list.label_asym_id _pdbx_nonstandard_list.label_seq_num _pdbx_nonstandard_list.ins_code _pdbx_nonstandard_list.number_atoms_nh BR A 3 ? 1 BR C 27 ? 1 CPT E 49 ? 3 CPT F 50 ? 3 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_nonstandard_list # save_ # save__pdbx_nonstandard_list.id # _item_description.description ; The value of _pdbx_nonstandard_list.id must uniquely identify each item in the PDBX_NONSTANDARD_LIST list. For protein polymer entities, this is the three-letter code for amino acids. For nucleic acid polymer entities, this is the one-letter code for the bases. ; # _item.name '_pdbx_nonstandard_list.id' _item.category_id pdbx_nonstandard_list _item.mandatory_code yes # _item_type.code code # loop_ _item_examples.case ala val A BR # _item_aliases.alias_name '_ndb_nonstandard_list.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nonstandard_list.id' # save_ # save__pdbx_nonstandard_list.auth_asym_id # _item_description.description ; Chain id of the nonstandard group used by the author. ; # _item.name '_pdbx_nonstandard_list.auth_asym_id' _item.category_id pdbx_nonstandard_list _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_nonstandard_list.auth_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nonstandard_list.auth_asym_id' # save_ # save__pdbx_nonstandard_list.auth_seq_id # _item_description.description ; Residue number of the nonstandard group used by the author. ; # _item.name '_pdbx_nonstandard_list.auth_seq_id' _item.category_id pdbx_nonstandard_list _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_nonstandard_list.auth_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nonstandard_list.auth_seq_id' # save_ # save__pdbx_nonstandard_list.label_asym_id # _item_description.description 'Chain ID of het group.' # _item.name '_pdbx_nonstandard_list.label_asym_id' _item.category_id pdbx_nonstandard_list _item.mandatory_code yes # _item_type.code code # loop_ _item_examples.case A B # _item_aliases.alias_name '_ndb_nonstandard_list.label_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nonstandard_list.label_asym_id' # save_ # save__pdbx_nonstandard_list.label_seq_num # _item_description.description 'Residue number of het group.' # _item.name '_pdbx_nonstandard_list.label_seq_num' _item.category_id pdbx_nonstandard_list _item.mandatory_code no # _item_type.code code # _item_examples.case 2 # _item_aliases.alias_name '_ndb_nonstandard_list.label_seq_num' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nonstandard_list.label_seq_num' # save_ # save__pdbx_nonstandard_list.label_seq_id # _item_description.description 'Residue id of het group.' # _item.name '_pdbx_nonstandard_list.label_seq_id' _item.category_id pdbx_nonstandard_list _item.mandatory_code yes # _item_type.code int # _item_examples.case 2 # _item_aliases.alias_name '_ndb_nonstandard_list.label_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nonstandard_list.label_seq_id' # save_ # save__pdbx_nonstandard_list.ins_code # _item_description.description 'Insertion code of het group.' # _item.name '_pdbx_nonstandard_list.ins_code' _item.category_id pdbx_nonstandard_list _item.mandatory_code no # _item_type.code code # _item_examples.case A # _item_aliases.alias_name '_ndb_nonstandard_list.ins_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nonstandard_list.ins_code' # save_ # save__pdbx_nonstandard_list.number_atoms_nh # _item_description.description 'The number of non-hydrogen atoms in the het group.' # _item.name '_pdbx_nonstandard_list.number_atoms_nh' _item.category_id pdbx_nonstandard_list _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_nonstandard_list.number_atoms_nh' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nonstandard_list.number_atoms_nh' # save_ # save_pdbx_pdb_compnd # _category.description 'This is a place holder for the PDB COMPND.' _category.id pdbx_pdb_compnd _category.mandatory_code no # _category_key.name '_pdbx_pdb_compnd.id' # loop_ _category_group.id 'inclusive_group' 'pdbx_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_pdb_compnd # save_ # save__pdbx_pdb_compnd.id # _item_description.description 'NDB ID.' # _item.name '_pdbx_pdb_compnd.id' _item.category_id pdbx_pdb_compnd _item.mandatory_code yes # _item_type.code code # _item_examples.case 1 # _item_aliases.alias_name '_ndb_pdb_compnd.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_pdb_compnd.id' # save_ # save__pdbx_pdb_compnd.text # _item_description.description 'PDB COMPND record.' # _item.name '_pdbx_pdb_compnd.text' _item.category_id pdbx_pdb_compnd _item.mandatory_code no # _item_type.code text # _item_examples.case ; BARNASE (G SPECIFIC ENDONUCLEASE) (E.C.3.1.27.-) MUTANT WITH SER 91 REPLACED BY ALA (S91A) ; # _item_aliases.alias_name '_ndb_pdb_compnd.text' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_pdb_compnd.text' # save_ # save_pdbx_pdb_source # _category.description 'This is a place holder for the PDB SOURCE.' _category.id pdbx_pdb_source _category.mandatory_code no # _category_key.name '_pdbx_pdb_source.id' # loop_ _category_group.id 'inclusive_group' 'pdbx_group' # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_pdb_source # save_ # save__pdbx_pdb_source.id # _item_description.description 'NDB ID.' # _item.name '_pdbx_pdb_source.id' _item.category_id pdbx_pdb_source _item.mandatory_code yes # _item_type.code code # _item_examples.case 1 # _item_aliases.alias_name '_ndb_pdb_source.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_pdb_source.id' # save_ # save__pdbx_pdb_source.text # _item_description.description 'PDB SOURCE record.' # _item.name '_pdbx_pdb_source.text' _item.category_id pdbx_pdb_source _item.mandatory_code no # _item_type.code text # _item_examples.case ; EXPRESSED IN (ESCHERICHIA COLI) ; # _item_aliases.alias_name '_ndb_pdb_source.text' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_pdb_source.text' # save_ # save_pdbx_protein_info # _category.description ; Data items in the PDBX_PROTEIN_INFO category are still used until the 'entity' categories are entered into the database, even though the information is repeated. ; _category.id pdbx_protein_info _category.mandatory_code no # _category_key.name '_pdbx_protein_info.id' # loop_ _category_group.id inclusive_group struct_group ndb_group # _category_examples.detail ; Example 1 - based on NDB entry PDE001 ; _category_examples.case ; loop_ _pdbx_protein_info.id _pdbx_protein_info.name _pdbx_protein_info.num_per_asym_unit 1 'ECO RI endonuclease' 1 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_protein_info # save_ # save__pdbx_protein_info.id # _item_description.description 'Serial number.' # _item.name '_pdbx_protein_info.id' _item.category_id pdbx_protein_info _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_protein_info.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_protein_info.id' # save_ # save__pdbx_protein_info.name # _item_description.description 'Name of protein.' # _item.name '_pdbx_protein_info.name' _item.category_id pdbx_protein_info _item.mandatory_code yes # _item_type.code line # _item_aliases.alias_name '_ndb_protein_info.name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_protein_info.name' # save_ # save__pdbx_protein_info.num_per_asym_unit # _item_description.description 'Number of protein molecules per asymmetric unit.' # _item.name '_pdbx_protein_info.num_per_asym_unit' _item.category_id pdbx_protein_info _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_protein_info.num_per_asym_unit' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_protein_info.num_per_asym_unit' # save_ # save__pdbx_refine.free_R_val_no_cutoff # _item_description.description 'Free R-value (no cutoff)' # _item.name '_pdbx_refine.free_R_val_no_cutoff' _item.category_id pdbx_refine _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_refine.free_R_val_no_cutoff' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_refine.free_R_val_no_cutoff' # save_ # save_pdbx_solvent_info # _category.description ; Data items in the PDBX_SOLVENT_INFO category are still used until the 'entity' categories are entered into the database, even though the information is repeated. ; _category.id pdbx_solvent_info _category.mandatory_code no # _category_key.name '_pdbx_solvent_info.id' # loop_ _category_group.id inclusive_group struct_group ndb_group # _category_examples.detail ; Example 1 - based on NDB entry DDH048 ; _category_examples.case ; loop_ _pdbx_solvent_info.id _pdbx_solvent_info.name _pdbx_solvent_info.numb_per_asym_unit 1 water 22 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_solvent_info # save_ # save__pdbx_solvent_info.id # _item_description.description 'Serial number.' # _item.name '_pdbx_solvent_info.id' _item.category_id pdbx_solvent_info _item.mandatory_code yes # _item_type.code code # _item_examples.case 1 # _item_aliases.alias_name '_ndb_solvent_info.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_solvent_info.id' # save_ # save__pdbx_solvent_info.name # _item_description.description 'Name of solvent.' # _item.name '_pdbx_solvent_info.name' _item.category_id pdbx_solvent_info _item.mandatory_code yes # _item_type.code line # _item_examples.case WATER # _item_aliases.alias_name '_ndb_solvent_info.name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_solvent_info.name' # save_ # save__pdbx_solvent_info.numb_per_asym_unit # _item_description.description 'Number of solvent molecules per asymmetric unit.' # _item.name '_pdbx_solvent_info.numb_per_asym_unit' _item.category_id pdbx_solvent_info _item.mandatory_code yes # _item_type.code int # _item_examples.case 22 # _item_aliases.alias_name '_ndb_solvent_info.numb_per_asym_unit' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_solvent_info.numb_per_asym_unit' # save_ # save_pdbx_source # _category.description ; Data item will still be used until the ENTITY category is fully adopted by NDBQuery. ; _category.id pdbx_source _category.mandatory_code no # loop_ _category_group.id inclusive_group ndb_group # _category_key.name '_pdbx_source.src_method' _category_examples.detail ; Example 1 - based on NDB entry BDL001 ; _category_examples.case ; loop_ _pdbx_source.src_method 'synthetic' ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_source # save_ # save__pdbx_source.src_method # _item_description.description 'Source of biological unit. Mostly: SYNTHETIC' # _item.name '_pdbx_source.src_method' _item.category_id pdbx_source _item.mandatory_code yes # _item_type.code text # _item_examples.case synthetic # _item_aliases.alias_name '_ndb_source.src_method' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_source.src_method' # save_ # save_pdbx_struct_biol_func # _category.description ; Data items in the PDBX_STRUCT_BIOL_FUNC category record details about the function of a particular biological assembly. ; _category.id pdbx_struct_biol_func _category.mandatory_code no # loop_ _category_key.name '_pdbx_struct_biol_func.id' '_pdbx_struct_biol_func.biol_id' # loop_ _category_group.id inclusive_group struct_group ndb_group # _category_examples.detail ; Example 1 - based on NDB entry NRT0001 ; _category_examples.case ; loop_ _pdbx_struct_biol_func.id _pdbx_struct_biol_func.biol_id _pdbx_struct_biol_func.function 1 1 'Oxygen Transport' ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_struct_biol_func # save_ # save__pdbx_struct_biol_func.id # _item_description.description ; A code which must uniquely identify each function assigned to a biological assembly. ; # _item.name '_pdbx_struct_biol_func.id' _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_struct_biol_func.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_biol_func.id' # save_ # save__pdbx_struct_biol_func.biol_id # _item_description.description ; This data item is a pointer to _struct_biol.id in the STRUCT_BIOL category. ; # _item.name '_pdbx_struct_biol_func.biol_id' _item.mandatory_code yes # _item_type.code line # _item_linked.child_name '_pdbx_struct_biol_func.biol_id' _item_linked.parent_name '_struct_biol.id' # _item_aliases.alias_name '_ndb_struct_biol_func.biol_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_biol_func.biol_id' # save_ # save__pdbx_struct_biol_func.function # _item_description.description 'The function assigned to the biological assembly.' # _item.name '_pdbx_struct_biol_func.function' _item.mandatory_code yes # _item_type.code text # _item_examples.case 'OXYGEN TRANSPORT' # _item_aliases.alias_name '_ndb_struct_biol_func.function' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_biol_func.function' # save_ # save_pdbx_struct_pack_gen # _category.description ; Data items in the PDBX_STRUCT_PACK_GEN category record details about the generation of the packing picture(s). ; _category.id pdbx_struct_pack_gen _category.mandatory_code no # loop_ _category_key.name '_pdbx_struct_pack_gen.id' '_pdbx_struct_pack_gen.asym_id' '_pdbx_struct_pack_gen.symmetry' # loop_ _category_group.id inclusive_group struct_group ndb_group # _category_examples.detail ; Example 1 - based on NDB entry ADJ066 ; _category_examples.case ; loop_ _pdbx_struct_pack_gen.id _pdbx_struct_pack_gen.asym_id _pdbx_struct_pack_gen.symmetry _pdbx_struct_pack_gen.color_red _pdbx_struct_pack_gen.color_green _pdbx_struct_pack_gen.color_blue 1 A 1_555 .2 .3 .4 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_struct_pack_gen # save_ # save__pdbx_struct_pack_gen.id # _item_description.description 'Ordinal identifier' # _item.name '_pdbx_struct_pack_gen.id' _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_struct_pack_gen.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_pack_gen.id' # save_ # save__pdbx_struct_pack_gen.asym_id # _item_description.description ; This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. ; # _item.name '_pdbx_struct_pack_gen.asym_id' _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_struct_pack_gen.asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_pack_gen.asym_id' # save_ # save__pdbx_struct_pack_gen.symmetry # _item_description.description ; Describes the symmetry operation that should be applied to the atom set specified by _pdbx_struct_pack_gen.asym_id to generate a packing picture. ; # _item.name '_pdbx_struct_pack_gen.symmetry' _item.category_id pdbx_struct_pack_gen _item.mandatory_code yes # _item_default.value 1_555 # _item_type.code symop # loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # _item_aliases.alias_name '_ndb_struct_pack_gen.symmetry' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_pack_gen.symmetry' # save_ # save__pdbx_struct_pack_gen.color_red # _item_description.description 'Gives rgb color code in order to produce atlas entry packing picture.' # _item.name '_pdbx_struct_pack_gen.color_red' _item.category_id pdbx_struct_pack_gen _item.mandatory_code no # _item_default.value ? # _item_type.code float # _item_examples.case 0.6 # _item_aliases.alias_name '_ndb_struct_pack_gen.color_red' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_pack_gen.color_red' # save_ # save__pdbx_struct_pack_gen.color_green # _item_description.description 'Gives rgb color code in order to produce atlas entry packing picture.' # _item.name '_pdbx_struct_pack_gen.color_green' _item.category_id pdbx_struct_pack_gen _item.mandatory_code no # _item_default.value ? # _item_type.code float # _item_examples.case 0.6 # _item_aliases.alias_name '_ndb_struct_pack_gen.color_green' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_pack_gen.color_green' # save_ # save__pdbx_struct_pack_gen.color_blue # _item_description.description 'Gives rgb color code in order to produce atlas entry packing picture.' # _item.name '_pdbx_struct_pack_gen.color_blue' _item.category_id pdbx_struct_pack_gen _item.mandatory_code no # _item_default.value ? # _item_type.code float # _item_examples.case 0.6 # _item_aliases.alias_name '_ndb_struct_pack_gen.color_blue' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_pack_gen.color_blue' # save_ # save__pdbx_struct_pack_gen.crystal_type # _item_description.description 'Crystal type' # _item.name '_pdbx_struct_pack_gen.crystal_type' _item.category_id pdbx_struct_pack_gen _item.mandatory_code no # _item_default.value ? # _item_type.code int # _item_aliases.alias_name '_ndb_struct_pack_gen.crystal_type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_pack_gen.crystal_type' # save_ # save__pdbx_struct_pack_gen.packing_type # _item_description.description 'Packing type' # _item.name '_pdbx_struct_pack_gen.packing_type' _item.category_id pdbx_struct_pack_gen _item.mandatory_code no # _item_default.value ? # _item_type.code int # _item_aliases.alias_name '_ndb_struct_pack_gen.packing_type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_pack_gen.packing_type' # save_ # save_pdbx_trna_info # _category.description ; Data items in the PDBX_TRNA_INFO category are still used until the 'entity' categories are entered into the database, even though the T-RNA is repeated. ; _category.id pdbx_trna_info _category.mandatory_code no # _category_key.name '_pdbx_trna_info.id' # loop_ _category_group.id inclusive_group struct_group ndb_group # _category_examples.detail ; Example 1 - based on NDB entry TRNA04 ; _category_examples.case ; loop_ _pdbx_trna_info.id _pdbx_trna_info.name _pdbx_trna_info.num_per_asym_unit 1 'Yeast Phenylalanine T-RNA' 1 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_trna_info # save_ # save__pdbx_trna_info.id # _item_description.description 'Serial number.' # _item.name '_pdbx_trna_info.id' _item.category_id pdbx_trna_info _item.mandatory_code yes # _item_type.code code # _item_examples.case 1 # _item_aliases.alias_name '_ndb_trna_info.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_trna_info.id' # save_ # save__pdbx_trna_info.name # _item_description.description 'Name of trna.' # _item.name '_pdbx_trna_info.name' _item.category_id pdbx_trna_info _item.mandatory_code yes # _item_type.code line # _item_examples.case 'Yeast Phenylalanine T-RNA' # _item_aliases.alias_name '_ndb_trna_info.name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_trna_info.name' # save_ # save__pdbx_trna_info.num_per_asym_unit # _item_description.description 'Number of trna molecules per asymmetric unit.' # _item.name '_pdbx_trna_info.num_per_asym_unit' _item.category_id pdbx_trna_info _item.mandatory_code yes # _item_type.code int # _item_examples.case 1 # _item_aliases.alias_name '_ndb_trna_info.num_per_asym_unit' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_trna_info.num_per_asym_unit' # save_ # save_pdbx_unpair # _category.description ; These records give information about residues which do not pair (h-bond) in the asymmetric unit. The records about Watson-Crick base pairing depend on these records. ; _category.id pdbx_unpair _category.mandatory_code no # loop_ _category_group.id inclusive_group struct_group ndb_group # _category_key.name '_pdbx_unpair.chain_id' # _category_examples.detail ; Example 1 - based on NDB entry PDR001 ; _category_examples.case ; loop_ _pdbx_unpair.chain_id _pdbx_unpair.residue_name _pdbx_unpair.residue_number A A 1 B T 21 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_unpair # save_ # save__pdbx_unpair.chain_id # _item_description.description 'Strand id.' # _item.name '_pdbx_unpair.chain_id' _item.mandatory_code yes # _item_type.code code # loop_ _item_examples.case A B # _item_aliases.alias_name '_ndb_unpair.chain_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_unpair.chain_id' # save_ # save__pdbx_unpair.residue_name # _item_description.description 'Name of residue which does not pair.' # _item.name '_pdbx_unpair.residue_name' _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case G U # _item_aliases.alias_name '_ndb_unpair.residue_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_unpair.residue_name' # save_ # save__pdbx_unpair.residue_number # _item_description.description 'Number of residue which does not pair.' # _item.name '_pdbx_unpair.residue_number' _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case 1 2 # _item_aliases.alias_name '_ndb_unpair.residue_number' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_unpair.residue_number' # save_ # save_pdbx_refine_ls_restr_ncs # _category.description ; Holds details of NCS restraints in cases where multiple conditions are provided for each domain. ; _category.id pdbx_refine_ls_restr_ncs _category.mandatory_code no _category_key.name '_pdbx_refine_ls_restr_ncs.dom_id' # _ndb_category_examples.detail . _ndb_category_examples.case ; loop_ _pdbx_refine_ls_restr_ncs.dom_id _pdbx_refine_ls_restr_ncs.type _pdbx_refine_ls_restr_ncs.number _pdbx_refine_ls_restr_ncs.rms_dev _pdbx_refine_ls_restr_ncs.weight 'd1' 'tight positional' 402 0.683 0.050 'd1' 'medium positional' 184 0.422 0.050 'd1' 'loose positional' 305 1.092 5.000 ; # loop_ _category_group.id inclusive_group pdbx_group refine_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_refine_ls_restr_ncs # save_ # save__pdbx_refine_ls_restr_ncs.dom_id # _item_description.description ; This data item is a pointer to _struct_ncs_dom.id in the STRUCT_NCS_DOM category. ; # _item.name '_pdbx_refine_ls_restr_ncs.dom_id' _item.category_id pdbx_refine_ls_restr_ncs _item.mandatory_code yes # _item_type.code line # _item_examples.case d1 # _item_aliases.alias_name '_rcsb_refine_ls_restr_ncs.dom_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_refine_ls_restr_ncs.dom_id' # save_ # save__pdbx_refine_ls_restr_ncs.type # _item_description.description ; The type of restraint applied to the domain specified by _pdbx_refine_ls_restr_ncs.dom_id and in the domains against which it was restrained. ; # _item.name '_pdbx_refine_ls_restr_ncs.type' _item.category_id pdbx_refine_ls_restr_ncs _item.mandatory_code no # _item_type.code line # _item_examples.case 0.49 # _item_aliases.alias_name '_rcsb_refine_ls_restr_ncs.type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_refine_ls_restr_ncs.type' # save_ # save__pdbx_refine_ls_restr_ncs.number # _item_description.description ; The number of this type of restraint applied to the domain specified by _pdbx_refine_ls_restr_ncs.dom_id and in the domains against which it was restrained. ; # _item.name '_pdbx_refine_ls_restr_ncs.number' _item.category_id pdbx_refine_ls_restr_ncs _item.mandatory_code no # _item_type.code int # _item_examples.case 402 # _item_aliases.alias_name '_rcsb_refine_ls_restr_ncs.number' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_refine_ls_restr_ncs.number' # save_ # save__pdbx_refine_ls_restr_ncs.rms_dev # _item_description.description ; The root-mean-square deviation in restraints for the domain specified by _pdbx_refine_ls_restr_ncs.dom_id and in the domains against which it was restrained. ; # _item.name '_pdbx_refine_ls_restr_ncs.rms_dev' _item.category_id pdbx_refine_ls_restr_ncs _item.mandatory_code no # _item_type.code float # _item_examples.case 0.49 # _item_aliases.alias_name '_rcsb_refine_ls_restr_ncs.rms_dev' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_refine_ls_restr_ncs.rms_dev' # save_ # save__pdbx_refine_ls_restr_ncs.weight # _item_description.description ; The value of the weighting coefficient used in non-crystalographic restaint in the domain specified by _pdbx_refine_ls_restr_ncs.dom_id to equivalent atomic positions in the domains against which it was restrained. ; # _item.name '_pdbx_refine_ls_restr_ncs.weight' _item.category_id pdbx_refine_ls_restr_ncs _item.mandatory_code no # _item_type.code float # _item_examples.case 0.50 # _item_aliases.alias_name '_rcsb_refine_ls_restr_ncs.weight' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_refine_ls_restr_ncs.weight' # save_ # save_pdbx_struct_ncs_virus_gen # _category.description ; Data items in the PDBX_STRUCT_NCS_VIRUS_GEN category record details about the generation of virus structures from NCS matrix operators. ; _category.id pdbx_struct_ncs_virus_gen _category.mandatory_code no # _category_key.name '_pdbx_struct_ncs_virus_gen.id' # loop_ _category_group.id inclusive_group struct_group ndb_group # _category_examples.detail ; Example 1 ; _category_examples.case ; loop_ _pdbx_struct_ncs_virus_gen.id _pdbx_struct_ncs_virus_gen.oper_id _pdbx_struct_ncs_virus_gen.asym_id _pdbx_struct_ncs_virus_gen.pdb_chain_id 1 1 A A 2 2 B B 3 3 C C ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_struct_ncs_virus_gen # save_ # save__pdbx_struct_ncs_virus_gen.id # _item_description.description 'Unique id for generator.' # _item.name '_pdbx_struct_ncs_virus_gen.id' _item.mandatory_code yes # _item_type.code code # _item_examples.case 1 # _item_aliases.alias_name '_rcsb_struct_ncs_virus_gen.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_ncs_virus_gen.id' # save_ # save__pdbx_struct_ncs_virus_gen.oper_id # _item_description.description 'Identifies the NCS operation (_struct_ncs_oper.id)' # _item.name '_pdbx_struct_ncs_virus_gen.oper_id' _item.mandatory_code yes # _item_type.code int # _item_examples.case 1 # _item_linked.child_name '_pdbx_struct_ncs_virus_gen.oper_id' _item_linked.parent_name '_struct_ncs_oper.id' # _item_aliases.alias_name '_rcsb_struct_ncs_virus_gen.oper_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_ncs_virus_gen.oper_id' # save_ # save__pdbx_struct_ncs_virus_gen.asym_id # _item_description.description ; The NCS operation is applied to the component of the asymmetric unit identified by this id. ; # _item.name '_pdbx_struct_ncs_virus_gen.asym_id' _item.mandatory_code yes # _item_type.code code # _item_examples.case A # _item_linked.child_name '_pdbx_struct_ncs_virus_gen.asym_id' _item_linked.parent_name '_struct_asym.id' # _item_aliases.alias_name '_rcsb_struct_ncs_virus_gen.asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_ncs_virus_gen.asym_id' # save_ # save__pdbx_struct_ncs_virus_gen.pdb_chain_id # _item_description.description ; The NCS operation is applied to the chain identified by this id. ; # _item.name '_pdbx_struct_ncs_virus_gen.pdb_chain_id' _item.mandatory_code yes # _item_type.code code # _item_examples.case A # _item_aliases.alias_name '_rcsb_struct_ncs_virus_gen.pdb_chain_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_ncs_virus_gen.pdb_chain_id' # save_ # save__atom_site.pdbx_group_NDB # _item_description.description 'The ATOM group code used by the NDB.' # _item.name '_atom_site.pdbx_group_NDB' _item.category_id atom_site _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_atom_site.ndb_group_NDB' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site.pdbx_group_NDB' # save_ # save__atom_site.pdbx_atom_group # _item_description.description 'The ATOM group code used by the NDB.' # _item.name '_atom_site.pdbx_atom_group' _item.category_id atom_site _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_atom_site.ndb_atom_group' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site.pdbx_atom_group' # save_ # save__atom_site.pdbx_label_seq_num # _item_description.description 'Sequential residue number used by NDB.' # _item.name '_atom_site.pdbx_label_seq_num' _item.category_id atom_site _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_atom_site.ndb_label_seq_num' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site.pdbx_label_seq_num' # save_ # save__atom_site.pdbx_not_in_asym # _item_description.description ;Will identify with a 'Y' that this strand got generated. ; # _item.name '_atom_site.pdbx_not_in_asym' _item.category_id atom_site _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_atom_site.ndb_not_in_asym' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site.pdbx_not_in_asym' # save_ # save__atom_site_anisotrop.pdbx_not_in_asym # _item_description.description ;Will identify with a 'Y' that this strand got generated. ; # _item.name '_atom_site_anisotrop.pdbx_not_in_asym' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_atom_site_anisotrop.ndb_not_in_asym' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site_anisotrop.pdbx_not_in_asym' # save_ # save__atom_site_anisotrop.pdbx_PDB_residue_no # _item_description.description 'PDB residue number.' # _item.name '_atom_site_anisotrop.pdbx_PDB_residue_no' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_atom_site_anisotrop.ndb_PDB_residue_no' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site_anisotrop.pdbx_PDB_residue_no' # save_ # save__atom_site_anisotrop.pdbx_PDB_residue_name # _item_description.description 'PDB residue name.' # _item.name '_atom_site_anisotrop.pdbx_PDB_residue_name' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_atom_site_anisotrop.ndb_PDB_residue_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site_anisotrop.pdbx_PDB_residue_name' # save_ # save__atom_site_anisotrop.pdbx_PDB_strand_id # _item_description.description 'PDB strand id.' # _item.name '_atom_site_anisotrop.pdbx_PDB_strand_id' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_atom_site_anisotrop.ndb_PDB_strand_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site_anisotrop.pdbx_PDB_strand_id' # save_ # save__atom_site_anisotrop.pdbx_PDB_atom_name # _item_description.description 'PDB atom name.' # _item.name '_atom_site_anisotrop.pdbx_PDB_atom_name' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_atom_site_anisotrop.ndb_PDB_atom_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site_anisotrop.pdbx_PDB_atom_name' # save_ # save__atom_site_anisotrop.pdbx_auth_atom_name # _item_description.description 'Author's atom name.' # _item.name '_atom_site_anisotrop.pdbx_auth_atom_name' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_atom_site_anisotrop.ndb_auth_atom_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site_anisotrop.pdbx_auth_atom_name' # save_ # save__atom_site_anisotrop.pdbx_label_ins_code # _item_description.description 'NDB INSERTION CODE' # _item.name '_atom_site_anisotrop.pdbx_label_ins_code' _item.category_id atom_site_anisotrop _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_atom_site_anisotrop.ndb_label_ins_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_atom_site_anisotrop.pdbx_label_ins_code' # save_ # save__chem_comp.pdbx_class_1 # _item_description.description ; Internal classifier used to organize ligand dictionary (broad chemical class). ; # _item.name '_chem_comp.pdbx_class_1' _item.category_id chem_comp _item.mandatory_code no # _item_type.code line # _item_examples.case 'HETEROCYCLIC AROMATIC COMPOUNDS' # _item_aliases.alias_name '_chem_comp.rcsb_class_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_chem_comp.pdbx_class_1' # save_ # save__chem_comp.pdbx_class_2 # _item_description.description ; Internal classifier used to organize ligand dictionary (notable chemical features). ; # _item.name '_chem_comp.pdbx_class_2' _item.category_id chem_comp _item.mandatory_code no # _item_type.code line # _item_examples.case 'COMPOUNDS WITH THIAZOLIDINE' # _item_aliases.alias_name '_chem_comp.rcsb_class_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_chem_comp.pdbx_class_2' # save_ # save__chem_comp.pdbx_comp_type # _item_description.description 'A type classification of this chemical component.' # _item.name '_chem_comp.pdbx_comp_type' _item.category_id chem_comp _item.mandatory_code no # _item_type.code line # loop_ _item_enumeration.value _item_enumeration.detail 'solvent' . 'organic ligand' . 'inorganic ligand' . 'organometalic ligand' . 'metal cation' . # _item_aliases.alias_name '_chem_comp.ndb_comp_type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_chem_comp.pdbx_comp_type' # save_ # save__chem_comp.pdbx_reserved_name # _item_description.description ; Previous chemical name used for this component if a name correction has been made. ; # _item.name '_chem_comp.pdbx_reserved_name' _item.category_id chem_comp _item.mandatory_code no # _item_type.code text # _item_aliases.alias_name '_chem_comp.rcsb_reserved_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_chem_comp.pdbx_reserved_name' # save_ # save__chem_comp.pdbx_status # _item_description.description 'Release status of component' # _item.name '_chem_comp.pdbx_status' _item.category_id chem_comp _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_chem_comp.rcsb_status' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_chem_comp.pdbx_status' # save_ # save__chem_comp.pdbx_type_modified # _item_description.description 'Modification flag.' # _item.name '_chem_comp.pdbx_type_modified' _item.category_id chem_comp _item.mandatory_code no # _item_type.code int # loop_ _item_range.maximum _item_range.minimum 1 1 1 0 0 0 # _item_aliases.alias_name '_chem_comp.rcsb_type_modified' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_chem_comp.pdbx_type_modified' # save_ # save__chem_comp.pdbx_casnum # _item_description.description 'Chemical Abstract Service identifier.' # _item.name '_chem_comp.pdbx_casnum' _item.category_id chem_comp _item.mandatory_code no # _item_type.code line # _item_aliases.alias_name '_chem_comp.rcsb_casnum' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_chem_comp.pdbx_casnum' # save_ # save__chem_comp.pdbx_smiles # _item_description.description 'SMILES code for component.' # _item.name '_chem_comp.pdbx_smiles' _item.category_id chem_comp _item.mandatory_code no # _item_type.code text # _item_aliases.alias_name '_chem_comp.rcsb_smiles' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_chem_comp.pdbx_smiles' # save_ # save__chem_comp.pdbx_nscnum # _item_description.description 'NSC identifier for component.' # _item.name '_chem_comp.pdbx_nscnum' _item.category_id chem_comp _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_chem_comp.rcsb_nscnum' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_chem_comp.pdbx_nscnum' # save_ # save__database.pdbx_code_NDB # _item_description.description ; The code assigned by the NDB. ; # _item.name '_database.pdbx_code_NDB' _item.category_id database _item.mandatory_code no # _item_type.code line # _item_examples.case BDL001 # _item_aliases.alias_name '_database.ndb_code_NDB' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_database.pdbx_code_NDB' # save_ # save__database.pdbx_code_PDB # _item_description.description ; The code assigned by the PDB. ; # _item.name '_database.pdbx_code_PDB' _item.category_id database _item.mandatory_code no # _item_type.code code # _item_examples.case 1BNA # _item_aliases.alias_name '_database.ndb_code_PDB' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_database.pdbx_code_PDB' # save_ # save__database.pdbx_related_codes_PDB # _item_description.description ; The codes of related PDB entries. ; # _item.name '_database.pdbx_related_codes_PDB' _item.category_id database _item.mandatory_code no # _item_type.code line # _item_examples.case 1NK1,1NK2 # _item_aliases.alias_name '_database.rcsb_related_codes_PDB' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_database.pdbx_related_codes_PDB' # save_ # save__database_PDB_rev.pdbx_record_revised_1 # _item_description.description ; The first PDB record name that was revised. OBSOLETE LOCAL ITEM -- Replaced by _database_PDB_rev_record.type ; # _item.name '_database_PDB_rev.pdbx_record_revised_1' _item.category_id database_PDB_rev _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case TITLE HEADER COMPND SOURCE # _item_aliases.alias_name '_database_PDB_rev.rcsb_record_revised_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_database_PDB_rev.pdbx_record_revised_1' # save_ # save__database_PDB_rev.pdbx_record_revised_2 # _item_description.description ; The second PDB record name that was revised. OBSOLETE LOCAL ITEM -- Replaced by _database_PDB_rev_record.type ; # _item.name '_database_PDB_rev.pdbx_record_revised_2' _item.category_id database_PDB_rev _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case TITLE HEADER COMPND SOURCE # _item_aliases.alias_name '_database_PDB_rev.rcsb_record_revised_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_database_PDB_rev.pdbx_record_revised_2' # save_ # save__database_PDB_rev.pdbx_record_revised_3 # _item_description.description ; The third PDB record name that was revised. OBSOLETE LOCAL ITEM -- Replaced by _database_PDB_rev_record.type ; # _item.name '_database_PDB_rev.pdbx_record_revised_3' _item.category_id database_PDB_rev _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case TITLE HEADER COMPND SOURCE # _item_aliases.alias_name '_database_PDB_rev.rcsb_record_revised_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_database_PDB_rev.pdbx_record_revised_3' # save_ # save__database_PDB_rev.pdbx_record_revised_4 # _item_description.description ; The fourth PDB record name that was revised. OBSOLETE LOCAL ITEM -- Replaced by _database_PDB_rev_record.type ; # _item.name '_database_PDB_rev.pdbx_record_revised_4' _item.category_id database_PDB_rev _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case TITLE HEADER COMPND SOURCE # _item_aliases.alias_name '_database_PDB_rev.rcsb_record_revised_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_database_PDB_rev.pdbx_record_revised_4' # save_ # save__diffrn_measurement.pdbx_date # _item_description.description 'The date of data measurement' # _item.name '_diffrn_measurement.pdbx_date' _item.category_id diffrn_measurement _item.mandatory_code no # _item_type.code yyyy-mm-dd # _item_examples.case yyyy-mm-dd # _item_aliases.alias_name '_diffrn_measurement.ndb_date' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_diffrn_measurement.pdbx_date' # save_ # save__diffrn_source.pdbx_synchrotron_y_n # _item_description.description 'Yes/No if synchrotron source was used or not.' # _item.name '_diffrn_source.pdbx_synchrotron_y_n' _item.category_id diffrn_source _item.mandatory_code no # _item_type.code text # loop_ _item_examples.case Y N # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_diffrn_source.pdbx_synchrotron_y_n" N . "_diffrn_source.pdbx_synchrotron_y_n" Y . # _item_aliases.alias_name '_diffrn_source.ndb_synchrotron_y_n' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_diffrn_source.pdbx_synchrotron_y_n' # save_ # save__diffrn_source.pdbx_source_specific_beamline # _item_description.description 'Beamline for synchrotron source.' # _item.name '_diffrn_source.pdbx_source_specific_beamline' _item.category_id diffrn_source _item.mandatory_code no # _item_type.code text # loop_ _item_examples.case 6A2 7.2 9.5 9.6 A-1 A1 BL-6A BW6 BW7B F-1 F1 PX7.2 PX9.6 UNDULATOR W32 WIGGLER X11 X12C X25 X26-C X31 X4A X8C # _item_aliases.alias_name '_diffrn_source.ndb_source_specific_beamline' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_diffrn_source.pdbx_source_specific_beamline' # save_ # save__entity.pdbx_entities_per_biological_unit # _item_description.description 'Number of entity molecules in the biological assembly.' # _item.name '_entity.pdbx_entities_per_biological_unit' _item.category_id entity _item.mandatory_code no # _item_type.code float # loop_ _item_examples.case 1 2 3 # _item_aliases.alias_name '_entity.bmcd_entities_per_biological_unit' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity.pdbx_entities_per_biological_unit' # save_ # save__entity_keywords.pdbx_antibody_isotype # _item_description.description 'PDB placeholder.' # _item.name '_entity_keywords.pdbx_antibody_isotype' _item.category_id entity_keywords _item.mandatory_code no # _item_type.code text # _item_aliases.alias_name '_entity_keywords.ndb_antibody_isotype' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity_keywords.pdbx_antibody_isotype' # save_ # save__entity_poly.pdbx_build_self_reference # _item_description.description ; A code to indicate that this sequence should be assigned a PDB sequence reference. ; # _item.name '_entity_poly.pdbx_build_self_reference' _item.category_id entity_poly _item.mandatory_code no # _item_type.code uchar1 # loop_ _item_enumeration.value _item_enumeration.detail Y Yes N No # _item_examples.case Y # _item_aliases.alias_name '_entity_poly.rcsb_build_self_reference' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity_poly.pdbx_build_self_reference' # save_ # save__entity_poly.pdbx_N_terminal_seq_one_letter_code # _item_description.description 'N-terminal cloning artifacts and/or HIS tag.' # _item.name '_entity_poly.pdbx_N_terminal_seq_one_letter_code' _item.category_id entity_poly _item.mandatory_code no # _item_type.code text # _item_examples.case HHHHHH # _item_aliases.alias_name '_entity_poly.rcsb_N_terminal_seq_one_letter_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity_poly.pdbx_N_terminal_seq_one_letter_code' # save_ # save__entity_poly.pdbx_C_terminal_seq_one_letter_code # _item_description.description 'C-terminal cloning artifacts and/or HIS tag.' # _item.name '_entity_poly.pdbx_C_terminal_seq_one_letter_code' _item.category_id entity_poly _item.mandatory_code no # _item_type.code text # _item_examples.case HHHHHH # _item_aliases.alias_name '_entity_poly.rcsb_C_terminal_seq_one_letter_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity_poly.pdbx_C_terminal_seq_one_letter_code' # save_ # save__entity_poly.pdbx_seq_three_letter_code # _item_description.description ; Chemical sequence expressed as string of three-letter amino acid codes. ; # _item.name '_entity_poly.pdbx_seq_three_letter_code' _item.category_id entity_poly _item.mandatory_code no # _item_type.code text # loop_ _item_examples.case _item_examples.detail ALA 'alanine' ARG 'arginine' ASN 'asparagine' ASP 'aspartic-acid' ASX 'ambiguous asparagine/aspartic-acid' CYS 'cysteine' GLN 'glutamine' GLU 'glutamic-acid' GLY 'glycine' GLX 'ambiguous glutamine/glutamic acid' HIS 'histidine' ILE 'isoleucine' LEU 'leucine' LYS 'lysine' MET 'methionine' PHE 'phenylalanine' PRO 'proline' SER 'serine' THR 'threonine' TRP 'tryptophan' TYR 'tyrosine' VAL 'valine' 1MA '1-methyladenosine' 5MC '5-methycytosine' OMC '2(prime)-O-methycytodine' 1MG '1-methyguanosine' 2MG 'N(2)-methyguanosine' M2G 'N(2)-dimethyguanosine' 7MG '7-methyguanosine' 0MG '2(prime)-O-methyguanosine' H2U 'diydrouridine' 5MU 'ribosylthymidine' PSU 'pseudouridine' ACE 'acetic acid' FOR 'formic acid' HOH 'water' UNK 'other' # _item_aliases.alias_name '_entity_poly.ndb_seq_three_letter_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity_poly.pdbx_seq_three_letter_code' # save_ # save__entity_poly.pdbx_seq_db_name # _item_description.description ; The name of the sequence data base containing a database entry for this sequence. ; # _item.name '_entity_poly.pdbx_seq_db_name' _item.category_id entity_poly _item.mandatory_code no # _item_type.code line # loop_ _item_enumeration.value EMBL GB PIR SWS UNP # loop_ _item_examples.case 'Enter UNP for a Uniport entry' 'Enter SWS for a Swiss-Prot entry' 'Enter GB for a GenBank entry' 'Enter EMBL for an European Molecular Biology Laboratory entry' 'Enter PIR for a Protein Information Resource entry' # _item_aliases.alias_name '_entity_poly.rcsb_seq_db_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity_poly.pdbx_seq_db_name' # save_ # save__entity_poly.pdbx_seq_db_id # _item_description.description 'The identifier for this sequence in the sequence data base.' # _item.name '_entity_poly.pdbx_seq_db_id' _item.category_id entity_poly _item.mandatory_code no # _item_type.code line # _item_examples.case P00730 # _item_aliases.alias_name '_entity_poly.rcsb_seq_db_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity_poly.pdbx_seq_db_id' # save_ # save__entity_poly.pdbx_seq_align_begin # _item_description.description ; The sequence position in the database sequence at which the alignment with your sequence begins. ; # _item.name '_entity_poly.pdbx_seq_align_begin' _item.category_id entity_poly _item.mandatory_code no # _item_type.code int # _item_examples.case 59 # _item_aliases.alias_name '_entity_poly.rcsb_seq_align_begin' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity_poly.pdbx_seq_align_begin' # save_ # save__entity_poly.pdbx_seq_align_end # _item_description.description ; The sequence position in the database sequence at which the alignment with your sequence ends. ; # _item.name '_entity_poly.pdbx_seq_align_end' _item.category_id entity_poly _item.mandatory_code no # _item_type.code int # _item_examples.case 685 # _item_aliases.alias_name '_entity_poly.rcsb_seq_align_end' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity_poly.pdbx_seq_align_end' # save_ # save__entity_src_gen.pdbx_gene_src_culture_collection # _item_description.description 'Culture collection identifier.' # _item.name '_entity_src_gen.pdbx_gene_src_culture_collection' _item.category_id entity_src_gen _item.mandatory_code no # _item_type.code text # _item_examples.case 6051 # _item_aliases.alias_name '_entity_src_gen.ndb_gene_src_culture_collection' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity_src_gen.pdbx_gene_src_culture_collection' # save_ # save__entity_src_nat.pdbx_culture_collection # _item_description.description 'Culture Collection identifier.' # _item.name '_entity_src_nat.pdbx_culture_collection' _item.category_id entity_src_nat _item.mandatory_code no # _item_type.code text # _item_examples.case 6051 # _item_aliases.alias_name '_entity_src_nat.ndb_culture_collection' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_entity_src_nat.pdbx_culture_collection' # save_ # save__exptl_crystal.pdbx_crystal_image # _item_description.description ; A code to indicate that a crystal image is available for this crystal. ; # _item.name '_exptl_crystal.pdbx_crystal_image' _item.category_id exptl_crystal _item.mandatory_code no # _item_type.code code # loop_ _item_enumeration.value _item_enumeration.detail Y Yes N No # _item_aliases.alias_name '_exptl_crystal.bmcd_crystal_image' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal.pdbx_crystal_image' # save_ # save__exptl_crystal.pdbx_x-ray_image # _item_description.description ; A code to indicate that an x-ray image is available for this crystal. ; # _item.name '_exptl_crystal.pdbx_x-ray_image' _item.category_id exptl_crystal _item.mandatory_code no # _item_type.code code # loop_ _item_enumeration.value _item_enumeration.detail Y Yes N No # _item_aliases.alias_name '_exptl_crystal.bmcd_x-ray_image' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal.pdbx_x-ray_image' # save_ # save__exptl_crystal.pdbx_x-ray_image_type # _item_description.description 'A description of the type of x-ray image for this crystal.' # _item.name '_exptl_crystal.pdbx_x-ray_image_type' _item.category_id exptl_crystal _item.mandatory_code no # _item_type.code text # _item_aliases.alias_name '_exptl_crystal.bmcd_x-ray_image_type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal.pdbx_x-ray_image_type' # save_ # save__exptl_crystal.pdbx_crystal_diffrn_limit # _item_description.description 'The measured diffraction limit for this crystal.' # _item.name '_exptl_crystal.pdbx_crystal_diffrn_limit' _item.category_id exptl_crystal _item.mandatory_code no # _item_type.code float # _item_units.code angstroms # _item_aliases.alias_name '_exptl_crystal.bmcd_crystal_diffrn_limit' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal.pdbx_crystal_diffrn_limit' # save_ # save__exptl_crystal.pdbx_crystal_diffrn_lifetime # _item_description.description 'The measured diffraction limit for this crystal.' # _item.name '_exptl_crystal.pdbx_crystal_diffrn_lifetime' _item.category_id exptl_crystal _item.mandatory_code no # _item_type.code float # _item_units.code hours # _item_aliases.alias_name '_exptl_crystal.bmcd_crystal_diffrn_lifetime' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal.pdbx_crystal_diffrn_lifetime' # save_ # save__exptl_crystal.pdbx_crystal_direction_1 # _item_description.description 'The crystal size along the first measured direction in millimeters.' # _item.name '_exptl_crystal.pdbx_crystal_direction_1' _item.category_id exptl_crystal _item.mandatory_code no # _item_type.code float # _item_units.code millimetres # _item_aliases.alias_name '_exptl_crystal.bmcd_crystal_direction_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal.pdbx_crystal_direction_1' # save_ # save__exptl_crystal.pdbx_crystal_direction_2 # _item_description.description 'The crystal size along the second measured direction in millimeters.' # _item.name '_exptl_crystal.pdbx_crystal_direction_2' _item.category_id exptl_crystal _item.mandatory_code no # _item_type.code float # _item_units.code millimetres # _item_aliases.alias_name '_exptl_crystal.bmcd_crystal_direction_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal.pdbx_crystal_direction_2' # save_ # save__exptl_crystal.pdbx_crystal_direction_3 # _item_description.description 'The crystal size along the third measured direction in millimeters.' # _item.name '_exptl_crystal.pdbx_crystal_direction_3' _item.category_id exptl_crystal _item.mandatory_code no # _item_type.code float # _item_units.code millimetres # _item_aliases.alias_name '_exptl_crystal.bmcd_crystal_direction_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal.pdbx_crystal_direction_3' # save_ # save__exptl_crystal_grow_comp.pdbx_conc_final # _item_description.description ; The concentration of this component in the final crystallization solution. This data item should include units of concentration. ; # _item.name '_exptl_crystal_grow_comp.pdbx_conc_final' _item.category_id exptl_crystal_grow_comp _item.mandatory_code no # _item_type.code line # _item_aliases.alias_name '_exptl_crystal_grow_comp.bmcd_conc_final' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal_grow_comp.pdbx_conc_final' # save_ # save__exptl_crystal_grow_comp.pdbx_bath # _item_description.description 'The identification of the cystallization bath.' # _item.name '_exptl_crystal_grow_comp.pdbx_bath' _item.category_id exptl_crystal_grow_comp _item.mandatory_code no # _item_type.code line # _item_aliases.alias_name '_exptl_crystal_grow_comp.ndb_bath' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal_grow_comp.pdbx_bath' # save_ # save__exptl_crystal_grow_comp.pdbx_salt # _item_description.description 'The identification of the crystallization salt.' # _item.name '_exptl_crystal_grow_comp.pdbx_salt' _item.category_id exptl_crystal_grow_comp _item.mandatory_code no # _item_type.code line # _item_aliases.alias_name '_exptl_crystal_grow_comp.ndb_salt' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal_grow_comp.pdbx_salt' # save_ # save__exptl_crystal_grow_comp.pdbx_soak_salt # _item_description.description 'The identification of the crystallization soaking salt.' # _item.name '_exptl_crystal_grow_comp.pdbx_soak_salt' _item.category_id exptl_crystal_grow_comp _item.mandatory_code no # _item_type.code line # _item_aliases.alias_name '_exptl_crystal_grow_comp.ndb_soak_salt' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal_grow_comp.pdbx_soak_salt' # save_ # save__exptl_crystal_grow_comp.pdbx_soak_solv # _item_description.description 'The identification of the crystallization soaking solvent' # _item.name '_exptl_crystal_grow_comp.pdbx_soak_solv' _item.category_id exptl_crystal_grow_comp _item.mandatory_code no # _item_type.code line # _item_aliases.alias_name '_exptl_crystal_grow_comp.ndb_soak_solv' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal_grow_comp.pdbx_soak_solv' # save_ # save__exptl_crystal_grow_comp.pdbx_solv # _item_description.description 'The identification of the crystallization solvent.' # _item.name '_exptl_crystal_grow_comp.pdbx_solv' _item.category_id exptl_crystal_grow_comp _item.mandatory_code no # _item_type.code line # _item_aliases.alias_name '_exptl_crystal_grow_comp.ndb_solv' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_exptl_crystal_grow_comp.pdbx_solv' # save_ # save__refine_B_iso.pdbx_residue_name # _item_description.description ; Residue name of those residues treated similarly for isotropic B (temperature) factor refinement. ; # _item.name '_refine_B_iso.pdbx_residue_name' _item.category_id refine_B_iso _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case G A # _item_aliases.alias_name '_refine_B_iso.ndb_residue_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_refine_B_iso.pdbx_residue_name' # save_ # save__refine_B_iso.pdbx_strand # _item_description.description ; Asym chain id of residues treated similarly for isotropic B (temperature) factor refinement. ; # _item.name '_refine_B_iso.pdbx_strand' _item.category_id refine_B_iso _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case A B # _item_aliases.alias_name '_refine_B_iso.ndb_strand' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_refine_B_iso.pdbx_strand' # save_ # save__refine_B_iso.pdbx_residue_num # _item_description.description ; Resiude number of residues treated similarly for isotropic B (temperature) factor refinement. ; # _item.name '_refine_B_iso.pdbx_residue_num' _item.category_id refine_B_iso _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case A B # _item_aliases.alias_name '_refine_B_iso.ndb_residue_num' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_refine_B_iso.pdbx_residue_num' # save_ # save__refine_hist.pdbx_number_atoms_solvent # _item_description.description 'Number of solvent atoms used in refinement' # _item.name '_refine_hist.pdbx_number_atoms_solvent' _item.category_id refine_hist _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_refine_hist.rcsb_number_atoms_solvent' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_refine_hist.pdbx_number_atoms_solvent' # save_ # save__refine_hist.pdbx_number_atoms_total # _item_description.description 'Number of atoms used in refinement' # _item.name '_refine_hist.pdbx_number_atoms_total' _item.category_id refine_hist _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_refine_hist.rcsb_number_atoms_total' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_refine_hist.pdbx_number_atoms_total' # save_ # save__refln.pdbx_anomalous_diff # _item_description.description 'The measured anomalous difference.' # _item.name '_refln.pdbx_anomalous_diff' _item.category_id refln _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_refln.ndb_anomalous_diff' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_refln.pdbx_anomalous_diff' # save_ # save__refln.pdbx_anomalous_diff_sigma # _item_description.description 'The standard deviation in the anomalous difference.' # _item.name '_refln.pdbx_anomalous_diff_sigma' _item.category_id refln _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_refln.ndb_anomalous_diff_sigma' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_refln.pdbx_anomalous_diff_sigma' # save_ # save__refln.pdbx_phase_cycle # _item_description.description 'The phasing cycle.' # _item.name '_refln.pdbx_phase_cycle' _item.category_id refln _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_refln.rcsb_phase_cycle' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_refln.pdbx_phase_cycle' # save_ # save__refln.pdbx_cos_phase_calc # _item_description.description 'The cosine of the calculated phase' # _item.name '_refln.pdbx_cos_phase_calc' _item.category_id refln _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_refln.rcsb_cos_phase_calc' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_refln.pdbx_cos_phase_calc' # save_ # save__refln.pdbx_sin_phase_calc # _item_description.description 'The sine of the calculated phase.' # _item.name '_refln.pdbx_sin_phase_calc' _item.category_id refln _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_refln.rcsb_sin_phase_calc' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_refln.pdbx_sin_phase_calc' # save_ # save__reflns.pdbx_redundancy_reflns_obs # _item_description.description 'The redundancy in set of observed reflections.' # _item.name '_reflns.pdbx_redundancy_reflns_obs' _item.category_id reflns _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_reflns.ndb_redundancy_reflns_obs' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_reflns.pdbx_redundancy_reflns_obs' # save_ # save__reflns_shell.pdbx_redundancy_reflns_obs # _item_description.description 'For this shell, the redundancy in the observed reflections.' # _item.name '_reflns_shell.pdbx_redundancy_reflns_obs' _item.category_id reflns_shell _item.mandatory_code no # _item_type.code float # _item_examples.case 3.1 # _item_aliases.alias_name '_reflns_shell.ndb_redundancy_reflns_obs' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_reflns_shell.pdbx_redundancy_reflns_obs' # save_ # save__struct.pdbx_details # _item_description.description ; Additional remarks related to this structure deposition that have not been included in details data items elsewhere. ; # _item.name '_struct.pdbx_details' _item.category_id struct _item.mandatory_code no # _item_type.code text # _item_examples.case ; Hydrogen bonds between peptide chains follow the Rich and Crick model II for collagen. ; # _item_aliases.alias_name '_struct.ndb_details' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct.pdbx_details' # save_ # save__struct.pdbx_title_text # _item_description.description ; A title for the experiment or analysis that is represented in the entry. The default value is the primary citation of the entry. ; # _item.name '_struct.pdbx_title_text' _item.category_id struct _item.mandatory_code no # _item_type.code text # _item_examples.case ; Structure of a B-DNA Dodecamer. Conformation and Dynamic. ; # _item_aliases.alias_name '_struct.ndb_title_text' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct.pdbx_title_text' # save_ # save__struct_asym.pdbx_PDB_id # _item_description.description ; This data item is a pointer to _atom_site.pdbx_PDB_strand_id the ATOM_SITE category. ; # _item.name '_struct_asym.pdbx_PDB_id' _item.category_id struct_asym _item.mandatory_code no # _item_type.code code # _item_examples.case 1ABC # _item_aliases.alias_name '_struct_asym.ndb_PDB_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_asym.pdbx_PDB_id' # save_ # save__struct_asym.pdbx_alt_id # _item_description.description ; This data item is a pointer to _atom_site.ndb_alias_strand_id the ATOM_SITE category. ; # _item.name '_struct_asym.pdbx_alt_id' _item.category_id struct_asym _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_struct_asym.ndb_alt_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_asym.pdbx_alt_id' # save_ # save__struct_asym.pdbx_type # _item_description.description ; This data item describes the general type of the structural elements in the ATOM_SITE category. ; # _item.name '_struct_asym.pdbx_type' _item.category_id struct_asym _item.mandatory_code no # _item_type.code ucode # loop_ _item_enumeration.value _item_enumeration.detail ATOMN 'nucleic acid' ATOMP 'protein' ATOMS 'sugar' HETAD 'drug' HETAS 'solvent' HETAI 'ion' HETAIN 'inhibitor' HETAC 'coenzyme' HETIC 'ion complex' # _item_aliases.alias_name '_struct_asym.ndb_type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_asym.pdbx_type' # save_ # save__struct_asym.pdbx_order # _item_description.description ; This data item gives the order of the structural elements in the ATOM_SITE category. ; # _item.name '_struct_asym.pdbx_order' _item.category_id struct_asym _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_struct_asym.ndb_order' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_asym.pdbx_order' # save_ # save__struct_asym.pdbx_fraction_per_asym_unit # _item_description.description ; This data item indicates wheather the structural elements exists only as part of its whole molecule in the asymmetric unit. ; # _item.name '_struct_asym.pdbx_fraction_per_asym_unit' _item.category_id struct_asym _item.mandatory_code no # _item_type.code text # _item_examples.case half # _item_aliases.alias_name '_struct_asym.ndb_fraction_per_asym_unit' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_asym.pdbx_fraction_per_asym_unit' # save_ # save__struct_asym.pdbx_missing_num_begin_of_chain_not_in_seqres # _item_description.description ; This data item provides the information of how many residues which do not appear in the SEQRES record are missing at the beginning of the strand. ; # _item.name '_struct_asym.pdbx_missing_num_begin_of_chain_not_in_seqres' _item.category_id struct_asym _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_struct_asym.ndb_missing_num_begin_of_chain_not_in_seqres' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_asym.pdbx_missing_num_begin_of_chain_not_in_seqres' # save_ # save__struct_asym.pdbx_missing_num_end_of_chain_not_in_seqres # _item_description.description ; This data item provides the information of how many residues which do not appear in the SEQRES record are missing at the end of the strand. ; # _item.name '_struct_asym.pdbx_missing_num_end_of_chain_not_in_seqres' _item.category_id struct_asym _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_struct_asym.ndb_missing_num_end_of_chain_not_in_seqres' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_asym.pdbx_missing_num_end_of_chain_not_in_seqres' # save_ # save__struct_asym.pdbx_missing_num_begin_of_chain_in_seqres # _item_description.description ; This data item provides the information of how many residues which do appear in the SEQRES record are missing at the beginning of the strand. ; # _item.name '_struct_asym.pdbx_missing_num_begin_of_chain_in_seqres' _item.category_id struct_asym _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_struct_asym.ndb_missing_num_begin_of_chain_in_seqres' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_asym.pdbx_missing_num_begin_of_chain_in_seqres' # save_ # save__struct_biol_gen.pdbx_new_asym_id # _item_description.description ; This category gives the NDB strand ids for the complete biomolecule after it is generated. ; # _item.name '_struct_biol_gen.pdbx_new_asym_id' _item.category_id struct_biol_gen _item.mandatory_code yes # _item_type.code code # loop_ _item_examples.case A B # _item_aliases.alias_name '_struct_biol_gen.ndb_new_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_biol_gen.pdbx_new_asym_id' # save_ # save__struct_biol_gen.pdbx_new_pdb_asym_id # _item_description.description ; This data item is the PDB strand ID of the strand which will be generated. ; # _item.name '_struct_biol_gen.pdbx_new_pdb_asym_id' _item.category_id struct_biol_gen _item.mandatory_code yes # _item_type.code code # loop_ _item_examples.case A B # _item_aliases.alias_name '_struct_biol_gen.ndb_new_pdb_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_biol_gen.pdbx_new_pdb_asym_id' # save_ # save__struct_biol_gen.pdbx_color_red # _item_description.description 'Gives rgb color code of this strand.' # _item.name '_struct_biol_gen.pdbx_color_red' _item.category_id struct_biol_gen _item.mandatory_code no # _item_default.value ? # _item_type.code float # _item_examples.case 0.6 # _item_aliases.alias_name '_struct_biol_gen.ndb_color_red' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_biol_gen.pdbx_color_red' # save_ # save__struct_biol_gen.pdbx_color_green # _item_description.description 'Gives rgb color code of this strand.' # _item.name '_struct_biol_gen.pdbx_color_green' _item.category_id struct_biol_gen _item.mandatory_code no # _item_default.value ? # _item_type.code float # _item_examples.case 0.6 # _item_aliases.alias_name '_struct_biol_gen.ndb_color_green' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_biol_gen.pdbx_color_green' # save_ # save__struct_biol_gen.pdbx_color_blue # _item_description.description 'Gives rgb color code of this strand.' # _item.name '_struct_biol_gen.pdbx_color_blue' _item.category_id struct_biol_gen _item.mandatory_code no # _item_default.value ? # _item_type.code float # _item_examples.case 0.6 # _item_aliases.alias_name '_struct_biol_gen.ndb_color_blue' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_biol_gen.pdbx_color_blue' # save_ # save__struct_biol_gen.pdbx_after_begin_residue_no # _item_description.description ; The new residue number after generation of portions of the biomolecule. ; # _item.name '_struct_biol_gen.pdbx_after_begin_residue_no' _item.category_id struct_biol_gen _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_struct_biol_gen.ndb_after_begin_residue_no' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_biol_gen.pdbx_after_begin_residue_no' # save_ # save__struct_biol_gen.pdbx_after_end_residue_no # _item_description.description ; The new residue number after generation of portions of the biomolecule. ; # _item.name '_struct_biol_gen.pdbx_after_end_residue_no' _item.category_id struct_biol_gen _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_struct_biol_gen.ndb_after_end_residue_no' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_biol_gen.pdbx_after_end_residue_no' # save_ # save__struct_biol_gen.pdbx_before_begin_residue_no # _item_description.description ; The number of the first residue to which the symmetry operations have to be applied to generate a portion of the biomolecule. ; # _item.name '_struct_biol_gen.pdbx_before_begin_residue_no' _item.category_id struct_biol_gen _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_struct_biol_gen.ndb_before_begin_residue_no' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_biol_gen.pdbx_before_begin_residue_no' # save_ # save__struct_biol_gen.pdbx_before_end_residue_no # _item_description.description ; The number of the last residue to which the symmetry operations have to be applied to generate a portion of the biomolecule. ; # _item.name '_struct_biol_gen.pdbx_before_end_residue_no' _item.category_id struct_biol_gen _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_struct_biol_gen.ndb_before_end_residue_no' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_biol_gen.pdbx_before_end_residue_no' # save_ # save__struct_biol_view.pdbx_vector[1] # _item_description.description 'translation vector[1]' # _item.name '_struct_biol_view.pdbx_vector[1]' _item.category_id struct_biol_view _item.mandatory_code no # _item_default.value 0.0 # _item_type.code float _item_sub_category.id vector # _item_aliases.alias_name '_struct_biol_view.ndb_vector[1]' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_biol_view.pdbx_vector[1]' # save_ # save__struct_biol_view.pdbx_vector[2] # _item_description.description 'translation vector[2]' # _item.name '_struct_biol_view.pdbx_vector[2]' _item.category_id struct_biol_view _item.mandatory_code no # _item_default.value 0.0 # _item_type.code float _item_sub_category.id vector # _item_aliases.alias_name '_struct_biol_view.ndb_vector[2]' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_biol_view.pdbx_vector[2]' # save_ # save__struct_biol_view.pdbx_vector[3] # _item_description.description 'translation vector[3]' # _item.name '_struct_biol_view.pdbx_vector[3]' _item.category_id struct_biol_view _item.mandatory_code no # _item_default.value 0.0 # _item_type.code float _item_sub_category.id vector # _item_aliases.alias_name '_struct_biol_view.ndb_vector[3]' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_biol_view.pdbx_vector[3]' # save_ # save__struct_conn.pdbx_ptnr1_mod_name # _item_description.description 'The abbreviation of the modifier group.' # _item.name '_struct_conn.pdbx_ptnr1_mod_name' _item.category_id struct_conn _item.mandatory_code no # _item_type.code line # loop_ _item_examples.case _item_examples.detail BR 'bromine atom' PT(NH3)2 'cis-platinum-(NH3)2' # _item_aliases.alias_name '_struct_conn.ndb_ptnr1_mod_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_conn.pdbx_ptnr1_mod_name' # save_ # save__struct_conn.pdbx_ptnr1_sugar_name # _item_description.description ; The abbreviation of the sugar modifier in the case it is a conformer of deoxyribose or ribose. ; # _item.name '_struct_conn.pdbx_ptnr1_sugar_name' _item.category_id struct_conn _item.mandatory_code no # _item_type.code line # _item_examples.case ARA _item_examples.detail arabinose # _item_aliases.alias_name '_struct_conn.ndb_ptnr1_sugar_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_conn.pdbx_ptnr1_sugar_name' # save_ # save__struct_conn.pdbx_ptnr1_replaced_atom # _item_description.description 'The name of the atom which got replaced by the modifier.' # _item.name '_struct_conn.pdbx_ptnr1_replaced_atom' _item.category_id struct_conn _item.mandatory_code no # _item_type.code code # _item_examples.case O4* # _item_aliases.alias_name '_struct_conn.ndb_ptnr1_replaced_atom' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_conn.pdbx_ptnr1_replaced_atom' # save_ # save__struct_conn.pdbx_ptnr3_auth_ins_code # _item_description.description ; A component of the identifier for partner 3 of the structure connection. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; # _item.name '_struct_conn.pdbx_ptnr3_auth_ins_code' _item.category_id struct_conn _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case 1 2 # _item_aliases.alias_name '_struct_conn.ndb_ptnr3_auth_ins_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_conn.pdbx_ptnr3_auth_ins_code' # save_ # save__struct_keywords.pdbx_details # _item_description.description ; Keywords describing this structure. This is constructed by the PROGRAM for the PDB KEYWRD record. ; # _item.name '_struct_keywords.pdbx_details' _item.category_id struct_keywords _item.mandatory_code no # _item_type.code text # loop_ _item_examples.case 'B-DNA, DOUBLE HELIX, MODIFIED' 'B-DNA, DOUBLE HELIX, FLIPPED OUT BASES' # _item_aliases.alias_name '_struct_keywords.ndb_details' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_keywords.pdbx_details' # save_ # save__struct_mon_prot_cis.pdbx_auth_ins_code # _item_description.description 'PDB Insertion code' # _item.name '_struct_mon_prot_cis.pdbx_auth_ins_code' _item.category_id struct_mon_prot_cis _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_struct_mon_prot_cis.ndb_auth_ins_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_mon_prot_cis.pdbx_auth_ins_code' # save_ # save__struct_mon_prot_cis.pdbx_auth_ins_code_2 # _item_description.description 'PDB Insertion code' # _item.name '_struct_mon_prot_cis.pdbx_auth_ins_code_2' _item.category_id struct_mon_prot_cis _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_struct_mon_prot_cis.ndb_auth_ins_code_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_struct_mon_prot_cis.pdbx_auth_ins_code_2' # save_ # save_pdbx_sequence_annotation # _category.description ; PDBX_SEQUENCE_ANNOTATION holds internal details about molecular sequences described in the context of PDB chains. ; _category.id pdbx_sequence_annotation _category.mandatory_code no # _category_key.name '_pdbx_sequence_annotation.pdb_chain_id' # loop_ _category_group.id inclusive_group pdbx_group # _category_examples.case ; _pdbx_sequence_annotation.pdb_chain_id A _pdbx_sequence_annotation.ncbi_taxid 188000 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_sequence_annotation # save_ # save__pdbx_sequence_annotation.pdb_chain_id # _item_description.description 'PDB chain ID.' # _item.name '_pdbx_sequence_annotation.pdb_chain_id' _item.category_id pdbx_sequence_annotation _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_sequence_annotation.pdb_chain_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sequence_annotation.pdb_chain_id' # save_ # save__pdbx_sequence_annotation.ncbi_taxid # _item_description.description 'NCBI TaxID' # _item.name '_pdbx_sequence_annotation.ncbi_taxid' _item.category_id pdbx_sequence_annotation _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_sequence_annotation.ncbi_taxid' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sequence_annotation.ncbi_taxid' # save_ # # save_pdbx_post_process_details # _category.description ; Data items in the PDBX_POST_PROCESS_DETAILS identify problems or errors encountered in the post-processing of this entry. ; _category.id pdbx_post_process_details _category.mandatory_code no # _category_key.name '_pdbx_post_process_details.entry_id' # loop_ _category_group.id inclusive_group pdbx_group # _category_examples.case ; _pdbx_post_process_details.entry_id RCSB001 _pdbx_post_process_details.text ; The missing SEQRES record for chain B was added ; ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_post_process_details # save_ # save__pdbx_post_process_details.entry_id # _item_description.description 'The value of _pdbx_post_process_details.entry_id identifies the data block.' # _item.name '_pdbx_post_process_details.entry_id' _item.category_id pdbx_post_process_details _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_post_process_details.entry_id' _item_linked.parent_name '_entry.id' # _item_aliases.alias_name '_rcsb_post_process_details.entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_post_process_details.entry_id' # save_ # save__pdbx_post_process_details.text # _item_description.description ; The text description of changes required to standardize this entry. This should include any errors detected or changes in nomenclature. ; # _item.name '_pdbx_post_process_details.text' _item.category_id pdbx_post_process_details _item.mandatory_code no # _item_type.code text # _item_aliases.alias_name '_rcsb_post_process_details.text' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_post_process_details.text' # save_ # save__pdbx_post_process_details.seq_details # _item_description.description ; Details concerning the standardization of the chemical sequence data in this entry. ; # _item.name '_pdbx_post_process_details.seq_details' _item.category_id pdbx_post_process_details _item.mandatory_code no # _item_type.code text # _item_aliases.alias_name '_rcsb_post_process_details.seq_details' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_post_process_details.seq_details' # save_ # save_pdbx_post_process_status # _category.description ; Data items in the PDBX_POST_PROCESS_DETAILS record the status of post-processed entries. ; _category.id pdbx_post_process_status _category.mandatory_code no # loop_ _category_key.name '_pdbx_post_process_status.entry_id' '_pdbx_post_process_status.cycle_id' # loop_ _category_group.id inclusive_group pdbx_group # _category_examples.case ; _pdbx_post_process_status.entry_id RCSB001 _pdbx_post_process_status.cycle_id 1 _pdbx_post_process_status.date_begin '1998-10-22' _pdbx_post_process_status.date_end '1998-10-22' _pdbx_post_process_status.details ; Fix ligand nomenclature ; ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_post_process_status # save_ # save__pdbx_post_process_status.entry_id # _item_description.description 'The value of _pdbx_post_process_status.entry_id identifies the data block.' # _item.name '_pdbx_post_process_status.entry_id' _item.category_id pdbx_post_process_status _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_post_process_status.entry_id' _item_linked.parent_name '_entry.id' # _item_aliases.alias_name '_rcsb_post_process_status.entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_post_process_status.entry_id' # save_ # save__pdbx_post_process_status.cycle_id # _item_description.description 'Identifier for the current cycle of post-processing.' # _item.name '_pdbx_post_process_status.cycle_id' _item.category_id pdbx_post_process_status _item.mandatory_code yes # _item_type.code code # loop_ _item_enumeration.value 1 2 3 4 5 6 7 8 9 # _item_examples.case '1 for the initial cycle' # _item_aliases.alias_name '_rcsb_post_process_status.cycle_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_post_process_status.cycle_id' # save_ # save__pdbx_post_process_status.date_begin # _item_description.description 'The starting date for the current post-processing cycle.' # _item.name '_pdbx_post_process_status.date_begin' _item.category_id pdbx_post_process_status _item.mandatory_code yes # _item_type.code yyyy-mm-dd:hh:mm # _item_examples.case 1998-10-22:09:30 # _item_aliases.alias_name '_rcsb_post_process_status.date_begin' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_post_process_status.date_begin' # save_ # save__pdbx_post_process_status.date_end # _item_description.description 'The completion date for the current post-processing cycle.' # _item.name '_pdbx_post_process_status.date_end' _item.category_id pdbx_post_process_status _item.mandatory_code yes # _item_type.code yyyy-mm-dd:hh:mm # _item_examples.case 1998-10-22:10:00 # _item_aliases.alias_name '_rcsb_post_process_status.date_end' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_post_process_status.date_end' # save_ # save__pdbx_post_process_status.details # _item_description.description 'A description of the current post-processing cycle.' # _item.name '_pdbx_post_process_status.details' _item.category_id pdbx_post_process_status _item.mandatory_code yes # _item_type.code text # _item_examples.case 'Fixing ligand nomenclature.' # _item_aliases.alias_name '_rcsb_post_process_status.details' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_post_process_status.details' # save_ # save__pdbx_post_process_status.annotator # _item_description.description 'The name of the annotator.' # _item.name '_pdbx_post_process_status.annotator' _item.category_id pdbx_post_process_status _item.mandatory_code yes # _item_type.code line # _item_examples.case 'Anke Gelbin' # _item_aliases.alias_name '_rcsb_post_process_status.annotator' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_post_process_status.annotator' # save_ # save_pdbx_struct_link # _category.description ; Data items in the PDBX_STRUCT_LINK category record details about covalent linkages in the structure. ; _category.id pdbx_struct_link _category.mandatory_code no # loop_ _category_key.name '_pdbx_struct_link.id' # '_pdbx_struct_link.vertex_id' # loop_ _category_group.id inclusive_group struct_group # _pdbx_category_description.id pdbx_struct_link _pdbx_category_description.description "Nonstandard residue linkage. The LINK records specify connectivity between residues that is not implied by the primary structure. Connectivity is expressed in terms of the atom names. This record supplements information given in CONECT records." # _category_examples.case ; # loop_ _pdbx_struct_link.id _pdbx_struct_link.type _pdbx_struct_link.ptnr1_label_alt_id _pdbx_struct_link.ptnr1_label_asym_id _pdbx_struct_link.ptnr1_label_atom_id _pdbx_struct_link.ptnr1_label_comp_id _pdbx_struct_link.ptnr1_label_seq_id _pdbx_struct_link.ptnr1_label_ins_code _pdbx_struct_link.ptnr1_symmetry _pdbx_struct_link.ptnr2_label_alt_id _pdbx_struct_link.ptnr2_label_asym_id _pdbx_struct_link.ptnr2_label_atom_id _pdbx_struct_link.ptnr2_label_comp_id _pdbx_struct_link.ptnr2_label_seq_id _pdbx_struct_link.ptnr2_label_ins_code _pdbx_struct_link.ptnr2_symmetry _pdbx_struct_link.details _pdbx_struct_link.pdbx_dist_value 1 metalc ? A CO B12 201 ? 1_555 ? A NE2 HIS 16 ? 1_555 ? 2.217 2 metalc ? C CO B12 201 ? 1_555 ? C NE2 HIS 16 ? 1_555 ? 2.222 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_struct_link # save_ # save__pdbx_struct_link.id # _item_description.description ; The value of _pdbx_struct_link.id must uniquely identify a record in the PDBX_STRUCT_LINK list. ; # _item.name '_pdbx_struct_link.id' _item.category_id pdbx_struct_link _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_struct_link.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.id' # save_ # save__pdbx_struct_link.type _item_description.description ; The chemical or structural type of the interaction. ; _item.name '_pdbx_struct_link.type' _item.category_id pdbx_struct_link _item.mandatory_code no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail covale 'covalent bond' disulf 'disulfide bridge' hydrog 'hydrogen bond' metalc 'metal coordination' mismat 'mismatched base pairs' saltbr 'ionic interaction' modres 'covalent residue modification' covale_base 'covalent modification of a nucleotide base' covale_sugar 'covalent modification of a nucleotide sugar' covale_phosphate 'covalent modification of a nucleotide phosphate' save_ # # save__pdbx_struct_link.ptnr1_label_alt_id # _item_description.description ; A component of the identifier for partner 1 of the structure connection. ; # _item.name '_pdbx_struct_link.ptnr1_label_alt_id' _item.category_id pdbx_struct_link _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_rcsb_struct_link.ptnr1_label_alt_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr1_label_alt_id' # save_ # save__pdbx_struct_link.ptnr1_label_asym_id # _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_struct_link.ptnr1_label_asym_id' _item.category_id pdbx_struct_link _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_struct_link.ptnr1_label_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr1_label_asym_id' # save_ # save__pdbx_struct_link.ptnr1_label_atom_id # _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; # _item.name '_pdbx_struct_link.ptnr1_label_atom_id' _item.category_id pdbx_struct_link _item.mandatory_code yes # _item_type.code atcode # _item_aliases.alias_name '_rcsb_struct_link.ptnr1_label_atom_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr1_label_atom_id' # save_ # save__pdbx_struct_link.ptnr1_label_comp_id # _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_struct_link.ptnr1_label_comp_id' _item.category_id pdbx_struct_link _item.mandatory_code yes # _item_type.code ucode # _item_aliases.alias_name '_rcsb_struct_link.ptnr1_label_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr1_label_comp_id' # save_ # save__pdbx_struct_link.ptnr1_label_seq_id # _item_description.description ; A component of the identifier for partner 1 of the structure connection. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_struct_link.ptnr1_label_seq_id' _item.category_id pdbx_struct_link _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_rcsb_struct_link.ptnr1_label_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr1_label_seq_id' # save_ # save__pdbx_struct_link.ptnr1_label_ins_code # _item_description.description ; A component of the identifier for partner 1 of the structure connection. ; # _item.name '_pdbx_struct_link.ptnr1_label_ins_code' _item.category_id pdbx_struct_link _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_rcsb_struct_link.ptnr1_label_ins_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr1_label_ins_code' # save_ # save__pdbx_struct_link.ptnr1_symmetry # _item_description.description ; Describes the symmetry operation that should be applied to the atom set specified by _pdbx_struct_link.ptnr1_label* to generate the first partner in the structure connection. ; # _item.name '_pdbx_struct_link.ptnr1_symmetry' _item.category_id pdbx_struct_link _item.mandatory_code no # _item_default.value 1_555 # _item_type.code symop # loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # _item_aliases.alias_name '_rcsb_struct_link.ptnr1_symmetry' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr1_symmetry' # save_ # save__pdbx_struct_link.ptnr2_label_alt_id # _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_sites_alt.id in the ATOM_SITES_ALT category. ; # _item.name '_pdbx_struct_link.ptnr2_label_alt_id' _item.category_id pdbx_struct_link _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_rcsb_struct_link.ptnr2_label_alt_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr2_label_alt_id' # save_ # save__pdbx_struct_link.ptnr2_label_asym_id # _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_struct_link.ptnr2_label_asym_id' _item.category_id pdbx_struct_link _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_struct_link.ptnr2_label_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr2_label_asym_id' # save_ # save__pdbx_struct_link.ptnr2_label_atom_id # _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; # _item.name '_pdbx_struct_link.ptnr2_label_atom_id' _item.category_id pdbx_struct_link _item.mandatory_code yes # _item_type.code atcode # _item_aliases.alias_name '_rcsb_struct_link.ptnr2_label_atom_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr2_label_atom_id' # save_ # save__pdbx_struct_link.ptnr2_label_comp_id # _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_struct_link.ptnr2_label_comp_id' _item.category_id pdbx_struct_link _item.mandatory_code yes # _item_type.code ucode # _item_aliases.alias_name '_rcsb_struct_link.ptnr2_label_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr2_label_comp_id' # save_ # save__pdbx_struct_link.ptnr2_label_seq_id # _item_description.description ; A component of the identifier for partner 2 of the structure connection. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_struct_link.ptnr2_label_seq_id' _item.category_id pdbx_struct_link _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_rcsb_struct_link.ptnr2_label_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr2_label_seq_id' # save_ # save__pdbx_struct_link.ptnr2_label_ins_code # _item_description.description ; A component of the identifier for partner 2 of the structure connection. ; # _item.name '_pdbx_struct_link.ptnr2_label_ins_code' _item.category_id pdbx_struct_link _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_rcsb_struct_link.ptnr2_label_ins_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr2_label_ins_code' # save_ # save__pdbx_struct_link.ptnr2_symmetry # _item_description.description ; Describes the symmetry operation that should be applied to the atom set specified by _pdbx_struct_link.ptnr2_label* to generate the second partner in the structure connection. ; # _item.name '_pdbx_struct_link.ptnr2_symmetry' _item.category_id pdbx_struct_link _item.mandatory_code no # _item_default.value 1_555 # _item_type.code symop # loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # _item_aliases.alias_name '_rcsb_struct_link.ptnr2_symmetry' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.ptnr2_symmetry' # save_ # save__pdbx_struct_link.details # _item_description.description ; Text description of the linkage. ; # _item.name '_pdbx_struct_link.details' _item.category_id pdbx_struct_link _item.mandatory_code no # _item_type.code line # _item_aliases.alias_name '_rcsb_struct_link.details' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.details' # save_ save__pdbx_struct_link.pdbx_dist_value # _item_description.description 'The linkage distance in angstroms.' # _item.name '_pdbx_struct_link.pdbx_dist_value' _item.category_id pdbx_struct_link _item.mandatory_code no # # loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 # _item_type.code float # _item_type_conditions.code esd # _item_units.code angstroms # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_struct_link.pdbx_dist_value' save_ # # save__refine.pdbx_overall_ESU_B # _item_description.description ; Overall estimated standard uncertainties of thermal parameters based on Maximum likelihood residual. Overall ESU gives an idea about uncertainties of B-values of averagely defined atoms (atoms with B-values equal to average B-value) N_a (sigma_B)^2 = 8 ---------------------------------------------- sum~i~ {(1/Sigma - (E_o)^2 (1-m^2)(SUM_AS)s^4} SUM_AS = (sigma_A)^2/Sigma^2) N_a = number of atoms Sigma = (sigma_{E;exp})^2 + epsilon (1-{sigma_A)^2) E_o = normalized structure factors sigma_{E;exp} = experimental uncertainties of normalized structure factors sigma_A = SQRT(Sigma_P/Sigma_N) estimated using maximum likelihood Sigma_P = sum_{atoms in model} f^2 Sigma_N = sum_{atoms in crystal} f^2 f = is form factor of atoms delta_x = expected error m = is figure of merit of phases of reflection included in summation delta_x expected error s = reciprocal space vector epsilon = multiplicity of diffracting plane summation is over all reflections included in refinement Reference for sigma_A estimation: "Refinement of Macromolecular Structures by the Maximum-Likelihood Method:" G.N. Murshudov, A.A.Vagin and E.J.Dodson,(1997) Acta Crystallogr. D53, 240-255 Reference for ESU_ML estimation: "Simplified error estimation a la Cruickshank in macromolecular crystallography", Murshudov G.N. & Dodson E.J. in the "CCP4 Newsletter on protein crystallography" Number 33 ed. M.Winn ; # _item.name '_refine.pdbx_overall_ESU_B' _item.category_id refine _item.mandatory_code no # _item_type.code float # _item_related.related_name '_refine.overall_SU_B' _item_related.function_code replacedby # _item_aliases.alias_name '_refine.ebi_overall_ESU_B' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_refine.pdbx_overall_ESU_B' # save_ # save__refine.pdbx_overall_ESU_ML # _item_description.description ; Overall estimated standard uncertainties of positional parameters based on Maximum likelihood residual. Overall ESU gives an idea about uncertainties in the position of averagely defined atoms (atoms with B-values equal to average B-value) 3 N_a (sigma_X)^2 = ----------------------------------------------------- 8 pi^2 sum~i~ {(1/Sigma - (E_o)^2 (1-m^2)(SUM_AS)s^2} SUM_AS = (sigma_A)^2/Sigma^2) N_a = number of atoms Sigma = (sigma_{E;exp})^2 + epsilon (1-{sigma_A)^2) E_o = normalized structure factors sigma_{E;exp} = experimental uncertainties of normalized structure factors sigma_A = SQRT(Sigma_P/Sigma_N) estimated using maximum likelihood Sigma_P = sum_{atoms in model} f^2 Sigma_N = sum_{atoms in crystal} f^2 f = is formfactor of atoms delta_x = expected error m = is figure of merit of phases of reflection included in summation delta_x expected error s = reciprocal space vector epsilon = multiplicity of diffracting plane summation is over all reflections included in refinement Reference for sigma_A estimation: "Refinement of Macromolecular Structures by the Maximum-Likelihood Method:" G.N. Murshudov, A.A.Vagin and E.J.Dodson,(1997) Acta Crystallogr. D53, 240-255 Reference for ESU_ML estimation: Simplified error estimation a la Cruickshank in macromolecular crystallograpy Murshudov G.N. & Dodson E.J. in the "CCP4 Newsletter on protein crystallography" Number 33 ed. M.Winn ; # _item.name '_refine.pdbx_overall_ESU_ML' _item.category_id refine _item.mandatory_code no # _item_type.code float # _item_related.related_name '_refine.overall_SU_ML' _item_related.function_code replacedby # _item_aliases.alias_name '_refine.ebi_overall_ESU_ML' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_refine.pdbx_overall_ESU_ML' # save_ # save_pdbx_missing_residue_list # _category.description 'Provides a place-holder for PDB REMARK 465 data.' _category.id pdbx_missing_residue_list _category.mandatory_code no # loop_ _category_key.name '_pdbx_missing_residue_list.pdb_chain_id' '_pdbx_missing_residue_list.pdb_residue_name' '_pdbx_missing_residue_list.pdb_residue_number' # loop_ _category_group.id inclusive_group pdbx_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_missing_residue_list # save_ # save__pdbx_missing_residue_list.pdb_model_id # _item_description.description 'PDB model ID.' # _item.name '_pdbx_missing_residue_list.pdb_model_id' _item.category_id pdbx_missing_residue_list _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_rcsb_missing_residue_list.pdb_model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_residue_list.pdb_model_id' # save_ # save__pdbx_missing_residue_list.pdb_chain_id # _item_description.description 'PDB chain ID.' # _item.name '_pdbx_missing_residue_list.pdb_chain_id' _item.category_id pdbx_missing_residue_list _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_missing_residue_list.pdb_chain_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_residue_list.pdb_chain_id' # save_ # save__pdbx_missing_residue_list.pdb_residue_name # _item_description.description 'PDB chain ID.' # _item.name '_pdbx_missing_residue_list.pdb_residue_name' _item.category_id pdbx_missing_residue_list _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_missing_residue_list.pdb_residue_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_residue_list.pdb_residue_name' # save_ # save__pdbx_missing_residue_list.pdb_residue_number # _item_description.description 'PDB chain ID.' # _item.name '_pdbx_missing_residue_list.pdb_residue_number' _item.category_id pdbx_missing_residue_list _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_missing_residue_list.pdb_residue_number' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_residue_list.pdb_residue_number' # save_ # save__pdbx_missing_residue_list.pdb_insertion_code # _item_description.description 'PDB chain ID.' # _item.name '_pdbx_missing_residue_list.pdb_insertion_code' _item.category_id pdbx_missing_residue_list _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_rcsb_missing_residue_list.pdb_insertion_code' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_residue_list.pdb_insertion_code' # save_ # save__pdbx_missing_residue_list.label_seq_id # _item_description.description 'An index in the sequence specified in category ENTITY_POLY_SEQ.' # _item.name '_pdbx_missing_residue_list.label_seq_id' _item.category_id pdbx_missing_residue_list _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_rcsb_missing_residue_list.label_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_residue_list.label_seq_id' # save_ # save_pdbx_data_processing_cell # _category.description 'Crystallographic cell specifications used in data processing.' _category.id pdbx_data_processing_cell _category.mandatory_code no # _category_key.name '_pdbx_data_processing_cell.entry_id' # loop_ _category_group.id inclusive_group pdbx_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_data_processing_cell # save_ # save__pdbx_data_processing_cell.entry_id # _item_description.description 'The value of _pdbx_data_processing_cell.entry_id identifies the data block.' # _item.name '_pdbx_data_processing_cell.entry_id' _item.category_id pdbx_data_processing_cell _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_data_processing_cell.entry_id' _item_linked.parent_name '_entry.id' # _item_aliases.alias_name '_rcsb_data_processing_cell.entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.entry_id' # save_ # save__pdbx_data_processing_cell.a # _item_description.description 'Unit cell length A' # _item.name '_pdbx_data_processing_cell.a' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 # _item_sub_category.id cell_length # _item_units.code angstroms # _item_examples.case 58.39 # _item_aliases.alias_name '_rcsb_data_processing_cell.a' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.a' # save_ # save__pdbx_data_processing_cell.a_tolerance # _item_description.description 'Tolerance in unit cell length A' # _item.name '_pdbx_data_processing_cell.a_tolerance' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # _item_examples.case 0.04 # loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 # _item_units.code angstroms # _item_aliases.alias_name '_rcsb_data_processing_cell.a_tolerance' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.a_tolerance' # save_ # save__pdbx_data_processing_cell.b # _item_description.description 'Unit cell length B' # _item.name '_pdbx_data_processing_cell.b' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 # _item_sub_category.id cell_length # _item_units.code angstroms # _item_examples.case 58.39 # _item_aliases.alias_name '_rcsb_data_processing_cell.b' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.b' # save_ # save__pdbx_data_processing_cell.b_tolerance # _item_description.description 'Tolerance in unit cell length B' # _item.name '_pdbx_data_processing_cell.b_tolerance' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 # _item_units.code angstroms # _item_examples.case 0.04 # _item_aliases.alias_name '_rcsb_data_processing_cell.b_tolerance' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.b_tolerance' # save_ # save__pdbx_data_processing_cell.c # _item_description.description 'Unit cell length C' # _item.name '_pdbx_data_processing_cell.c' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 # _item_sub_category.id cell_length # _item_units.code angstroms # _item_examples.case 58.39 # _item_aliases.alias_name '_rcsb_data_processing_cell.c' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.c' # save_ # save__pdbx_data_processing_cell.c_tolerance # _item_description.description 'Tolerance in unit cell length C' # _item.name '_pdbx_data_processing_cell.c_tolerance' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 # _item_units.code angstroms # _item_examples.case 0.04 # _item_aliases.alias_name '_rcsb_data_processing_cell.c_tolerance' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.c_tolerance' # save_ # save__pdbx_data_processing_cell.alpha # _item_description.description 'Unit cell angle alpha.' # _item.name '_pdbx_data_processing_cell.alpha' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # _item_units.code degrees # _item_examples.case 90.0 # _item_aliases.alias_name '_rcsb_data_processing_cell.alpha' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.alpha' # save_ # save__pdbx_data_processing_cell.alpha_tolerance # _item_description.description 'Tolerance in unit cell angle alpha.' # _item.name '_pdbx_data_processing_cell.alpha_tolerance' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # _item_units.code degrees # _item_examples.case 0.04 # _item_aliases.alias_name '_rcsb_data_processing_cell.alpha_tolerance' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.alpha_tolerance' # save_ # save__pdbx_data_processing_cell.beta # _item_description.description 'Unit cell angle beta.' # _item.name '_pdbx_data_processing_cell.beta' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # _item_units.code degrees # _item_examples.case 90.0 # _item_aliases.alias_name '_rcsb_data_processing_cell.beta' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.beta' # save_ # save__pdbx_data_processing_cell.beta_tolerance # _item_description.description 'Tolerance in unit cell angle beta.' # _item.name '_pdbx_data_processing_cell.beta_tolerance' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # _item_units.code degrees # _item_examples.case 0.04 # _item_aliases.alias_name '_rcsb_data_processing_cell.beta_tolerance' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.beta_tolerance' # save_ # save__pdbx_data_processing_cell.gamma # _item_description.description 'Unit cell angle gamma.' # _item.name '_pdbx_data_processing_cell.gamma' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # _item_units.code degrees # _item_examples.case 90.0 # _item_aliases.alias_name '_rcsb_data_processing_cell.gamma' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.gamma' # save_ # save__pdbx_data_processing_cell.gamma_tolerance # _item_description.description 'Tolerance in unit cell angle gamma.' # _item.name '_pdbx_data_processing_cell.gamma_tolerance' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # _item_units.code degrees # _item_examples.case 0.04 # _item_aliases.alias_name '_rcsb_data_processing_cell.gamma_tolerance' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.gamma_tolerance' # save_ # save__pdbx_data_processing_cell.volume # _item_description.description 'Unit cell volume.' # _item.name '_pdbx_data_processing_cell.volume' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 # _item_units.code angstroms_cubed # _item_examples.case 245543.0 # _item_aliases.alias_name '_rcsb_data_processing_cell.volume' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.volume' # save_ # save__pdbx_data_processing_cell.mosaicity # _item_description.description 'Unit cell mosaicity.' # _item.name '_pdbx_data_processing_cell.mosaicity' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code float # loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 # _item_units.code angstroms # _item_examples.case 1000.0 # _item_aliases.alias_name '_rcsb_data_processing_cell.mosaicity' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.mosaicity' # save_ # save__pdbx_data_processing_cell.resolution_range # _item_description.description 'Resolution range.' # _item.name '_pdbx_data_processing_cell.resolution_range' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code line # _item_examples.case '20.0 - edge' # _item_aliases.alias_name '_rcsb_data_processing_cell.resolution_range' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.resolution_range' # save_ # save__pdbx_data_processing_cell.space_group # _item_description.description 'Space group name.' # _item.name '_pdbx_data_processing_cell.space_group' _item.category_id pdbx_data_processing_cell _item.mandatory_code no # _item_type.code line # _item_examples.case 'P 21 21 21' # _item_aliases.alias_name '_rcsb_data_processing_cell.space_group' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_cell.space_group' # save_ # save_pdbx_data_processing_reflns # _category.description 'Details of reflections used in data processing.' _category.id pdbx_data_processing_reflns _category.mandatory_code no # _category_key.name '_pdbx_data_processing_reflns.entry_id' # loop_ _category_group.id inclusive_group pdbx_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_data_processing_reflns # save_ # save__pdbx_data_processing_reflns.entry_id # _item_description.description 'The value of _pdbx_data_processing_reflns.entry_id identifies the data block.' # _item.name '_pdbx_data_processing_reflns.entry_id' _item.category_id pdbx_data_processing_reflns _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_data_processing_reflns.entry_id' _item_linked.parent_name '_entry.id' # _item_aliases.alias_name '_rcsb_data_processing_reflns.entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_reflns.entry_id' # save_ # save__pdbx_data_processing_reflns.number_all # _item_description.description 'Total number of reflections used in data processing.' # _item.name '_pdbx_data_processing_reflns.number_all' _item.category_id pdbx_data_processing_reflns _item.mandatory_code no # _item_type.code int # _item_examples.case 9744 # _item_aliases.alias_name '_rcsb_data_processing_reflns.number_all' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_reflns.number_all' # save_ # save__pdbx_data_processing_reflns.number_marked_reject # _item_description.description 'Total number of reflections marked for rejection in data processing.' # _item.name '_pdbx_data_processing_reflns.number_marked_reject' _item.category_id pdbx_data_processing_reflns _item.mandatory_code no # _item_type.code int # _item_examples.case 30 # _item_aliases.alias_name '_rcsb_data_processing_reflns.number_marked_reject' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_reflns.number_marked_reject' # save_ # save__pdbx_data_processing_reflns.percent_marked_reject # _item_description.description 'Percent of reflections marked for rejection in data processing.' # _item.name '_pdbx_data_processing_reflns.percent_marked_reject' _item.category_id pdbx_data_processing_reflns _item.mandatory_code no # _item_type.code float # _item_examples.case 0.02 # _item_aliases.alias_name '_rcsb_data_processing_reflns.percent_marked_reject' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_reflns.percent_marked_reject' # save_ # save__pdbx_data_processing_reflns.percent_rejected # _item_description.description 'Percent of reflections rejected in data processing.' # _item.name '_pdbx_data_processing_reflns.percent_rejected' _item.category_id pdbx_data_processing_reflns _item.mandatory_code no # _item_type.code float # _item_examples.case 0.01 # _item_aliases.alias_name '_rcsb_data_processing_reflns.percent_rejected' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_reflns.percent_rejected' # save_ # save__pdbx_data_processing_reflns.R_factor_all_linear # _item_description.description 'Total linear R factor in data processing.' # _item.name '_pdbx_data_processing_reflns.R_factor_all_linear' _item.category_id pdbx_data_processing_reflns _item.mandatory_code no # _item_type.code float # _item_examples.case 0.021 # _item_aliases.alias_name '_rcsb_data_processing_reflns.R_factor_all_linear' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_reflns.R_factor_all_linear' # save_ # save_pdbx_data_processing_detector # _category.description 'Details of the detector used at data collection site.' _category.id pdbx_data_processing_detector _category.mandatory_code no # _category_key.name '_pdbx_data_processing_detector.entry_id' # loop_ _category_group.id inclusive_group pdbx_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_data_processing_detector # save_ # save__pdbx_data_processing_detector.entry_id # _item_description.description 'The value of _pdbx_data_processing_detector.entry_id identifies the data block.' # _item.name '_pdbx_data_processing_detector.entry_id' _item.category_id pdbx_data_processing_detector _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_data_processing_detector.entry_id' _item_linked.parent_name '_entry.id' # _item_aliases.alias_name '_rcsb_data_processing_detector.entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.entry_id' # save_ # save__pdbx_data_processing_detector.name # _item_description.description 'The name and type of detector.' # _item.name '_pdbx_data_processing_detector.name' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code line # _item_examples.case 'CCD Nonius binned' # _item_aliases.alias_name '_rcsb_data_processing_detector.name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.name' # save_ # save__pdbx_data_processing_detector.wavelength # _item_description.description 'The wavelength of data collection.' # _item.name '_pdbx_data_processing_detector.wavelength' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code float # _item_examples.case 0.71074 # _item_aliases.alias_name '_rcsb_data_processing_detector.wavelength' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.wavelength' # save_ # save__pdbx_data_processing_detector.polarization # _item_description.description 'The polarization measured in data collection.' # _item.name '_pdbx_data_processing_detector.polarization' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code float # _item_examples.case -0.03 # _item_aliases.alias_name '_rcsb_data_processing_detector.polarization' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.polarization' # save_ # save__pdbx_data_processing_detector.beam_position_x # _item_description.description 'The sample position in the beam in the X direction.' # _item.name '_pdbx_data_processing_detector.beam_position_x' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code float # _item_examples.case 28.026 # _item_aliases.alias_name '_rcsb_data_processing_detector.beam_position_x' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.beam_position_x' # save_ # save__pdbx_data_processing_detector.beam_position_y # _item_description.description 'The sample position in the beam in the Y direction.' # _item.name '_pdbx_data_processing_detector.beam_position_y' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code float # _item_examples.case 31.832 # _item_aliases.alias_name '_rcsb_data_processing_detector.beam_position_y' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.beam_position_y' # save_ # save__pdbx_data_processing_detector.cassette_rot_x # _item_description.description 'The cassette rotation about the X axis.' # _item.name '_pdbx_data_processing_detector.cassette_rot_x' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code float # _item_examples.case -0.192 # _item_aliases.alias_name '_rcsb_data_processing_detector.cassette_rot_x' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.cassette_rot_x' # save_ # save__pdbx_data_processing_detector.cassette_rot_y # _item_description.description 'The cassette rotation about the Y axis.' # _item.name '_pdbx_data_processing_detector.cassette_rot_y' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code float # _item_examples.case -0.238 # _item_aliases.alias_name '_rcsb_data_processing_detector.cassette_rot_y' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.cassette_rot_y' # save_ # save__pdbx_data_processing_detector.cassette_rot_z # _item_description.description 'The cassette rotation about the Z axis.' # _item.name '_pdbx_data_processing_detector.cassette_rot_z' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code float # _item_examples.case -0.053 # _item_aliases.alias_name '_rcsb_data_processing_detector.cassette_rot_z' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.cassette_rot_z' # save_ # save__pdbx_data_processing_detector.scale_y # _item_description.description 'The value applied to the Y direction.' # _item.name '_pdbx_data_processing_detector.scale_y' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code float # _item_examples.case 1.0 # _item_aliases.alias_name '_rcsb_data_processing_detector.scale_y' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.scale_y' # save_ # save__pdbx_data_processing_detector.skew # _item_description.description 'The skew value.' # _item.name '_pdbx_data_processing_detector.skew' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code float # _item_examples.case 0.0 # _item_aliases.alias_name '_rcsb_data_processing_detector.skew' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.skew' # save_ # save__pdbx_data_processing_detector.crossfire_x # _item_description.description 'The detector crossfire value in the X direction.' # _item.name '_pdbx_data_processing_detector.crossfire_x' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code float # _item_examples.case 0.572 # _item_aliases.alias_name '_rcsb_data_processing_detector.crossfire_x' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.crossfire_x' # save_ # save__pdbx_data_processing_detector.crossfire_y # _item_description.description 'The detector crossfire value in the Y direction.' # _item.name '_pdbx_data_processing_detector.crossfire_y' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code float # _item_examples.case 0.504 # _item_aliases.alias_name '_rcsb_data_processing_detector.crossfire_y' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.crossfire_y' # save_ # save__pdbx_data_processing_detector.crossfire_xy # _item_description.description 'The detector coupled crossfire value for XY.' # _item.name '_pdbx_data_processing_detector.crossfire_xy' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code float # _item_examples.case -0.019 # _item_aliases.alias_name '_rcsb_data_processing_detector.crossfire_xy' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.crossfire_xy' # save_ # save__pdbx_data_processing_detector.date # _item_description.description 'Data collection date.' # _item.name '_pdbx_data_processing_detector.date' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code line # _item_examples.case 'Nov 12, 1999' # _item_aliases.alias_name '_rcsb_data_processing_detector.date' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.date' # save_ # save__pdbx_data_processing_detector.experimentor # _item_description.description 'Name of experimentor.' # _item.name '_pdbx_data_processing_detector.experimentor' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code text # _item_examples.case 'Wladek Minor' # _item_aliases.alias_name '_rcsb_data_processing_detector.experimentor' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.experimentor' # save_ # save__pdbx_data_processing_detector.crystal_data_id # _item_description.description 'Identifier for crystal on which data was collected.' # _item.name '_pdbx_data_processing_detector.crystal_data_id' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code text # _item_examples.case s04f001.kcd # _item_aliases.alias_name '_rcsb_data_processing_detector.crystal_data_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.crystal_data_id' # save_ # save__pdbx_data_processing_detector.processing_path # _item_description.description 'File system path to processing data files.' # _item.name '_pdbx_data_processing_detector.processing_path' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code text # _item_examples.case /u8/wladek/nonius-CDW # _item_aliases.alias_name '_rcsb_data_processing_detector.processing_path' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.processing_path' # save_ # save__pdbx_data_processing_detector.processing_files # _item_description.description 'File system names for the data processing files.' # _item.name '_pdbx_data_processing_detector.processing_files' _item.category_id pdbx_data_processing_detector _item.mandatory_code no # _item_type.code text # _item_examples.case s04f001.kcd # _item_aliases.alias_name '_rcsb_data_processing_detector.processing_files' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_data_processing_detector.processing_files' # save_ # save_pdbx_chem_comp_nonstandard # _category.description ; Data items in the PDBX_CHEM_COMP_NONSTANDARD category describes common nucleotide modifications and nonstandard features. ; _category.id pdbx_chem_comp_nonstandard _category.mandatory_code no # loop_ _category_key.name '_pdbx_chem_comp_nonstandard.comp_id' '_pdbx_chem_comp_nonstandard.type' # loop_ _category_group.id inclusive_group chem_comp_group ndb_group # _ndb_category_examples.case ; loop_ _pdbx_chem_comp_nonstandard.comp_id _pdbx_chem_comp_nonstandard.type ASD 'sugar modification' ABC 'base modification' ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_chem_comp_nonstandard # save_ # save__pdbx_chem_comp_nonstandard.comp_id # _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; # _item.name '_pdbx_chem_comp_nonstandard.comp_id' _item.category_id pdbx_chem_comp_nonstandard _item.mandatory_code yes # _item_type.code ucode # _item_linked.child_name '_pdbx_chem_comp_nonstandard.comp_id' _item_linked.parent_name '_chem_comp.id' # _item_aliases.alias_name '_ndb_chem_comp_nonstandard.comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_chem_comp_nonstandard.comp_id' # save_ # save__pdbx_chem_comp_nonstandard.type # _item_description.description 'This data item describes modification type.' # _item.name '_pdbx_chem_comp_nonstandard.type' _item.category_id pdbx_chem_comp_nonstandard _item.mandatory_code yes # _item_type.code line # loop_ _item_enumeration.value _item_enumeration.detail 'base modification' . 'sugar modification' . 'phosphate modification' . # _item_aliases.alias_name '_ndb_chem_comp_nonstandard.type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_chem_comp_nonstandard.type' # save_ # save_pdbx_entity_poly_protein_class # _category.description ; Data items in the PDBX_ENTITY_POLY_PROTEIN_CLASS category provides a top-level protein classification. ; _category.id pdbx_entity_poly_protein_class _category.mandatory_code no # loop_ _category_key.name '_pdbx_entity_poly_protein_class.entity_id' '_pdbx_entity_poly_protein_class.class' # loop_ _category_group.id inclusive_group entity_group ndb_group # _ndb_category_examples.case ; loop_ _pdbx_entity_poly_protein_class.entity_id _pdbx_entity_poly_protein_class.class 1 'enzyme' 1 'structural' ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_entity_poly_protein_class # save_ # save__pdbx_entity_poly_protein_class.entity_id # _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; # _item.name '_pdbx_entity_poly_protein_class.entity_id' _item.category_id pdbx_entity_poly_protein_class _item.mandatory_code yes # _item_linked.child_name '_pdbx_entity_poly_protein_class.entity_id' _item_linked.parent_name '_entity.id' # _item_aliases.alias_name '_ndb_entity_poly_protein_class.entity_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_poly_protein_class.entity_id' # save_ # save__pdbx_entity_poly_protein_class.class # _item_description.description ; This data item provides a top-level classification of the polymer protein entity. ; # _item.name '_pdbx_entity_poly_protein_class.class' _item.category_id pdbx_entity_poly_protein_class _item.mandatory_code yes # _item_type.code line # loop_ _item_enumeration.value _item_enumeration.detail enzyme . regulatory . structural . other . # _item_aliases.alias_name '_ndb_entity_poly_protein_class.class' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_poly_protein_class.class' # save_ # save_pdbx_entity_name_taxonomy_tree # _category.description ; Data items in the PDBX_ENTITY_NAME_TAXONOMY_TREE category define the tree structure of the entity name taxonomy. ; _category.id pdbx_entity_name_taxonomy_tree _category.mandatory_code no # loop_ _category_key.name '_pdbx_entity_name_taxonomy_tree.id' '_pdbx_entity_name_taxonomy_tree.parent_id' # loop_ _category_group.id inclusive_group entity_group pdbx_group # _category_examples.case ; loop_ _pdbx_entity_name_taxonomy_tree.id _pdbx_entity_name_taxonomy_tree.parent_id 'Oxidoreductases' '-' 'alcohol dehydrogenase' 'Oxidoreductases' 'alcohol dehydrogenase (NADP)' 'Oxidoreductases' 'homoserine dehydrogenase' 'Oxidoreductases' 'Transferases' '-' 'nicotinamide N-methyltransferase' 'Transferases' 'glycine N-methyltransferase' 'Transferases' ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_entity_name_taxonomy_tree # save_ # save__pdbx_entity_name_taxonomy_tree.id # _item_description.description ; This data item identifies a node in the entity name taxonomy. ; # _item.name '_pdbx_entity_name_taxonomy_tree.id' _item.category_id pdbx_entity_name_taxonomy_tree _item.mandatory_code yes # _item_type.code text # _item_linked.child_name '_pdbx_entity_name_taxonomy_tree.id' _item_linked.parent_name '_pdbx_entity_name_taxonomy_tree.parent_id' # _item_aliases.alias_name '_rcsb_entity_name_taxonomy_tree.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_name_taxonomy_tree.id' # save_ # save__pdbx_entity_name_taxonomy_tree.parent_id # _item_description.description ; This data item identifies the nearest parent node in the entity name taxonomy. ; # _item.name '_pdbx_entity_name_taxonomy_tree.parent_id' _item.category_id pdbx_entity_name_taxonomy_tree _item.mandatory_code yes # _item_type.code text # _item_aliases.alias_name '_rcsb_entity_name_taxonomy_tree.parent_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_name_taxonomy_tree.parent_id' # save_ # save_pdbx_entity_name_taxonomy # _category.description ; Data items in the PDBX_ENTITY_NAME_TAXONOMY category define the names and synonyms of the entity name taxonomy. ; _category.id pdbx_entity_name_taxonomy _category.mandatory_code no # loop_ _category_key.name '_pdbx_entity_name_taxonomy.id' '_pdbx_entity_name_taxonomy.name' # loop_ _category_group.id inclusive_group entity_group pdbx_group # _category_examples.case ; loop_ _pdbx_entity_name_taxonomy.id _pdbx_entity_name_taxonomy.name _pdbx_entity_name_taxonomy.name_type 'alcohol dehydrogenase' 'alcohol dehydrogenase' STANDARD 'alcohol dehydrogenase' 'adhg' SYNONYM 'alcohol dehydrogenase' 'steroid active alcohol dehydrogenase' SUBCLASS 'alcohol dehydrogenase' '$ALCOHOL DEHYDROGENASE$' DEPRECATED ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_entity_name_taxonomy # save_ # save__pdbx_entity_name_taxonomy.id # _item_description.description ; This data item holds an node identifier in the entity name taxonomy tree. ; # _item.name '_pdbx_entity_name_taxonomy.id' _item.category_id pdbx_entity_name_taxonomy _item.mandatory_code yes # _item_type.code text # _item_linked.child_name '_pdbx_entity_name_taxonomy.id' _item_linked.parent_name '_pdbx_entity_name_taxonomy_tree.id' # _item_aliases.alias_name '_rcsb_entity_name_taxonomy.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_name_taxonomy.id' # save_ # save__pdbx_entity_name_taxonomy.name # _item_description.description 'This data item holds an entity name or synonym.' # _item.name '_pdbx_entity_name_taxonomy.name' _item.category_id pdbx_entity_name_taxonomy _item.mandatory_code yes # _item_type.code text # _item_aliases.alias_name '_rcsb_entity_name_taxonomy.name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_name_taxonomy.name' # save_ # save__pdbx_entity_name_taxonomy.name_type # _item_description.description ; This data item classifies the entity name within a taxonomic node. ; # _item.name '_pdbx_entity_name_taxonomy.name_type' _item.category_id pdbx_entity_name_taxonomy _item.mandatory_code yes # _item_type.code line # loop_ _item_enumeration.value _item_enumeration.detail STANDARD 'standard/prefered name' SYNONYM 'synonym term' SUBCLASS 'subclassification' DEPRECATED 'deprecated synonym' # _item_aliases.alias_name '_rcsb_entity_name_taxonomy.name_type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_name_taxonomy.name_type' # save_ # save_pdbx_entity_name_instance # _category.description ; Data items in the PDBX_ENTITY_NAME_INSTANCE category list names used to define entities with their associated database, entity, chain, and molecule identifiers. ; _category.id pdbx_entity_name_instance _category.mandatory_code no # loop_ _category_key.name '_pdbx_entity_name_instance.pdb_id' '_pdbx_entity_name_instance.name' '_pdbx_entity_name_instance.entity_id' # loop_ _category_group.id inclusive_group entity_group pdbx_group # _category_examples.case ; loop_ _pdbx_entity_name_instance.pdb_id _pdbx_entity_name_instance.rcsb_id _pdbx_entity_name_instance.name _pdbx_entity_name_instance.entity_id _pdbx_entity_name_instance.pdb_chain_id _pdbx_entity_name_instance.pdb_mol_id 1B2L RCSB000146 'ALCOHOL DEHYDROGENASE' 1 A 1 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_entity_name_instance # save_ # save__pdbx_entity_name_instance.name # _item_description.description 'This data item holds an entity name.' # _item.name '_pdbx_entity_name_instance.name' _item.category_id pdbx_entity_name_instance _item.mandatory_code yes # _item_type.code text # _item_linked.child_name '_pdbx_entity_name_instance.name' _item_linked.parent_name '_pdbx_entity_name_taxonomy.name' # _item_aliases.alias_name '_rcsb_entity_name_instance.name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_name_instance.name' # save_ # save__pdbx_entity_name_instance.pdb_id # _item_description.description 'This data item holds a PDB ID code' # _item.name '_pdbx_entity_name_instance.pdb_id' _item.category_id pdbx_entity_name_instance _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_entity_name_instance.pdb_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_name_instance.pdb_id' # save_ # save__pdbx_entity_name_instance.rcsb_id # _item_description.description 'This data item holds a RCSB ID code.' # _item.name '_pdbx_entity_name_instance.rcsb_id' _item.category_id pdbx_entity_name_instance _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_entity_name_instance.rcsb_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_name_instance.rcsb_id' # save_ # save__pdbx_entity_name_instance.entity_id # _item_description.description ; This data item holds the entity_id of this entity within the entry. ; # _item.name '_pdbx_entity_name_instance.entity_id' _item.category_id pdbx_entity_name_instance _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_entity_name_instance.entity_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_name_instance.entity_id' # save_ # save__pdbx_entity_name_instance.pdb_chain_id # _item_description.description ; This data item holds the PDB chain id of this entity within the entry. ; # _item.name '_pdbx_entity_name_instance.pdb_chain_id' _item.category_id pdbx_entity_name_instance _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_entity_name_instance.pdb_chain_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_name_instance.pdb_chain_id' # save_ # save__pdbx_entity_name_instance.pdb_mol_id # _item_description.description ; This data item holds the PDB molecule id of this entity within the entry. ; # _item.name '_pdbx_entity_name_instance.pdb_mol_id' _item.category_id pdbx_entity_name_instance _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_entity_name_instance.pdb_mol_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_name_instance.pdb_mol_id' # save_ # save_pdbx_tableinfo # _category.description . _category.id pdbx_tableinfo _category.mandatory_code no # _category_key.name '_pdbx_tableinfo.tablename' # loop_ _category_group.id inclusive_group pdbx_group # _category_examples.case ; loop_ _pdbx_tableinfo.tablename _pdbx_tableinfo.description _pdbx_tableinfo.type _pdbx_tableinfo.table_serial_no _pdbx_tableinfo.group_name _pdbx_tableinfo.WWW_Selection_Criteria _pdbx_tableinfo.WWW_Report_Criteria summary 'summary data' 1 1 STRUCTURE 1 1 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_tableinfo # save_ # save__pdbx_tableinfo.tablename # _item_description.description 'SQL table name.' # _item.name '_pdbx_tableinfo.tablename' _item.category_id pdbx_tableinfo _item.mandatory_code yes # _item_type.code code30 # _item_examples.case structure_summary # _item_aliases.alias_name '_rcsb_tableinfo.tablename' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_tableinfo.tablename' # save_ # save__pdbx_tableinfo.description # _item_description.description 'SQL table description.' # _item.name '_pdbx_tableinfo.description' _item.category_id pdbx_tableinfo _item.mandatory_code yes # _item_type.code text # _item_examples.case 'Table of solvent coordinates' # _item_aliases.alias_name '_rcsb_tableinfo.description' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_tableinfo.description' # save_ # save__pdbx_tableinfo.type # _item_description.description 'SQL table type.' # _item.name '_pdbx_tableinfo.type' _item.category_id pdbx_tableinfo _item.mandatory_code yes # _item_type.code int # _item_examples.case '0=general, 1=coordinate, 2=derived, 3=schema' # _item_aliases.alias_name '_rcsb_tableinfo.type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_tableinfo.type' # save_ # save__pdbx_tableinfo.table_serial_no # _item_description.description 'SQL table serial number.' # _item.name '_pdbx_tableinfo.table_serial_no' _item.category_id pdbx_tableinfo _item.mandatory_code yes # _item_type.code int # _item_examples.case 1,2,3,4,... # _item_aliases.alias_name '_rcsb_tableinfo.table_serial_no' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_tableinfo.table_serial_no' # save_ # save__pdbx_tableinfo.group_name # _item_description.description 'SQL table group name..' # _item.name '_pdbx_tableinfo.group_name' _item.category_id pdbx_tableinfo _item.mandatory_code yes # _item_type.code line # _item_examples.case 'STRUCTURE FEATURES, SOURCE ORGANISM' # _item_aliases.alias_name '_rcsb_tableinfo.group_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_tableinfo.group_name' # save_ # save__pdbx_tableinfo.WWW_Selection_Criteria # _item_description.description 'SQL table visibility in WWW selection querires.' # _item.name '_pdbx_tableinfo.WWW_Selection_Criteria' _item.category_id pdbx_tableinfo _item.mandatory_code yes # _item_type.code int # _item_examples.case '0=no, 1=yes' # _item_aliases.alias_name '_rcsb_tableinfo.WWW_Selection_Criteria' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_tableinfo.WWW_Selection_Criteria' # save_ # save__pdbx_tableinfo.WWW_Report_Criteria # _item_description.description 'SQL table visibility in WWW reports queries.' # _item.name '_pdbx_tableinfo.WWW_Report_Criteria' _item.category_id pdbx_tableinfo _item.mandatory_code yes # _item_type.code int # _item_examples.case '0=no, 1=yes' # _item_aliases.alias_name '_rcsb_tableinfo.WWW_Report_Criteria' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_tableinfo.WWW_Report_Criteria' # save_ # save_pdbx_columninfo # _category.description . _category.id pdbx_columninfo _category.mandatory_code no # loop_ _category_key.name '_pdbx_columninfo.tablename' '_pdbx_columninfo.columnname' # loop_ _category_group.id inclusive_group pdbx_group # _category_examples.case ; loop_ _pdbx_columninfo.tablename _pdbx_columninfo.columnname _pdbx_columninfo.description _pdbx_columninfo.example _pdbx_columninfo.type _pdbx_columninfo.table_serial_no _pdbx_columninfo.column_serial_no _pdbx_columninfo.WWW_Selection_Criteria _pdbx_columninfo.WWW_Report_Criteria summary id 'id code' 'id1, id2' 1 1 1 1 1 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_columninfo # save_ # save__pdbx_columninfo.columnname # _item_description.description 'SQL column name.' # _item.name '_pdbx_columninfo.columnname' _item.category_id pdbx_columninfo _item.mandatory_code yes # _item_type.code code30 # _item_examples.case id # _item_aliases.alias_name '_rcsb_columninfo.columnname' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_columninfo.columnname' # save_ # save__pdbx_columninfo.tablename # _item_description.description 'SQL table name.' # _item.name '_pdbx_columninfo.tablename' _item.category_id pdbx_columninfo _item.mandatory_code yes # _item_type.code code30 # _item_examples.case structure_summary # _item_aliases.alias_name '_rcsb_columninfo.tablename' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_columninfo.tablename' # save_ # save__pdbx_columninfo.description # _item_description.description 'SQL column description.' # _item.name '_pdbx_columninfo.description' _item.category_id pdbx_columninfo _item.mandatory_code yes # _item_type.code text # _item_examples.case 'Table of solvent coordinates' # _item_aliases.alias_name '_rcsb_columninfo.description' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_columninfo.description' # save_ # save__pdbx_columninfo.example # _item_description.description 'SQL column example.' # _item.name '_pdbx_columninfo.example' _item.category_id pdbx_columninfo _item.mandatory_code yes # _item_type.code text # _item_examples.case 'Table of solvent coordinates' # _item_aliases.alias_name '_rcsb_columninfo.example' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_columninfo.example' # save_ # save__pdbx_columninfo.type # _item_description.description 'SQL column type.' # _item.name '_pdbx_columninfo.type' _item.category_id pdbx_columninfo _item.mandatory_code yes # _item_type.code int # _item_examples.case ;1:integer, 2:float, 3:string-single-left, 4:string-single-right, 5:string-multi-left, 6:string-multi-right, 7:angle, 8:boolean, 9:single character, 10:author or atom name column, 11: Date ; # _item_aliases.alias_name '_rcsb_columninfo.type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_columninfo.type' # save_ # save__pdbx_columninfo.table_serial_no # _item_description.description 'SQL table serial number.' # _item.name '_pdbx_columninfo.table_serial_no' _item.category_id pdbx_columninfo _item.mandatory_code yes # _item_type.code int # _item_examples.case 1,2,3,4,... # _item_aliases.alias_name '_rcsb_columninfo.table_serial_no' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_columninfo.table_serial_no' # save_ # save__pdbx_columninfo.column_serial_no # _item_description.description 'SQL column serial number.' # _item.name '_pdbx_columninfo.column_serial_no' _item.category_id pdbx_columninfo _item.mandatory_code yes # _item_type.code int # _item_examples.case 1,2,3,4,... # _item_aliases.alias_name '_rcsb_columninfo.column_serial_no' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_columninfo.column_serial_no' # save_ # save__pdbx_columninfo.WWW_Selection_Criteria # _item_description.description 'SQL column visibility in WWW selection querires.' # _item.name '_pdbx_columninfo.WWW_Selection_Criteria' _item.category_id pdbx_columninfo _item.mandatory_code yes # _item_type.code int # _item_examples.case '0=no, 1=yes' # _item_aliases.alias_name '_rcsb_columninfo.WWW_Selection_Criteria' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_columninfo.WWW_Selection_Criteria' # save_ # save__pdbx_columninfo.WWW_Report_Criteria # _item_description.description 'SQL column visibility in WWW reports queries.' # _item.name '_pdbx_columninfo.WWW_Report_Criteria' _item.category_id pdbx_columninfo _item.mandatory_code yes # _item_type.code int # _item_examples.case '0=no, 1=yes' # _item_aliases.alias_name '_rcsb_columninfo.WWW_Report_Criteria' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_columninfo.WWW_Report_Criteria' # save_ # save_pdbx_val_angle # _category.description ; The PDBX_VAL_ANGLE category lists the covalent bond angles in this entry deviating by greater than 6*sigma from standard values. This is a completely derived category. Do not edit. ; _category.id pdbx_val_angle _category.mandatory_code no # _category_key.name '_pdbx_val_angle.id' # loop_ _category_group.id inclusive_group validate_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_val_angle # save_ # save__pdbx_val_angle.id # _item_description.description ; The value of _pdbx_val_angle.id must uniquely identify each item in the PDBX_VAL_ANGLE list. This is an integer serial number. ; # _item.name '_pdbx_val_angle.id' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_rcsb_val_angle.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.id' # save_ # save__pdbx_val_angle.model_id # _item_description.description 'The model number for the given angle' # _item.name '_pdbx_val_angle.model_id' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_val_angle.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_rcsb_val_angle.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.model_id' # save_ # save__pdbx_val_angle.auth_asym_id_1 # _item_description.description ; Identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.auth_asym_id_1' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_linked.child_name '_pdbx_val_angle.auth_asym_id_1' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_rcsb_val_angle.auth_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_asym_id_1' # save_ # save__pdbx_val_angle.auth_atom_id_1 # _item_description.description ; Identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.auth_atom_id_1' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_type.code atcode # _item_linked.child_name '_pdbx_val_angle.auth_atom_id_1' _item_linked.parent_name '_atom_site.auth_atom_id' # _item_aliases.alias_name '_rcsb_val_angle.auth_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_atom_id_1' # save_ # save__pdbx_val_angle.auth_comp_id_1 # _item_description.description ; Identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.auth_comp_id_1' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_angle.auth_comp_id_1' _item_linked.parent_name '_atom_site.auth_comp_id' # _item_aliases.alias_name '_rcsb_val_angle.auth_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_comp_id_1' # save_ # save__pdbx_val_angle.auth_seq_id_1 # _item_description.description ; Identifier of the first of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.auth_seq_id_1' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_angle.auth_seq_id_1' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_rcsb_val_angle.auth_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_seq_id_1' # save_ # save__pdbx_val_angle.auth_atom_id_2 # _item_description.description ; Identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.auth_atom_id_2' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_type.code atcode # _item_linked.child_name '_pdbx_val_angle.auth_atom_id_2' _item_linked.parent_name '_atom_site.auth_atom_id' # _item_aliases.alias_name '_rcsb_val_angle.auth_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_atom_id_2' # save_ # save__pdbx_val_angle.auth_asym_id_2 # _item_description.description ; Identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.auth_asym_id_2' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_linked.child_name '_pdbx_val_angle.auth_asym_id_2' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_rcsb_val_angle.auth_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_asym_id_2' # save_ # save__pdbx_val_angle.auth_comp_id_2 # _item_description.description ; Identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.auth_comp_id_2' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_angle.auth_comp_id_2' _item_linked.parent_name '_atom_site.auth_comp_id' # _item_aliases.alias_name '_rcsb_val_angle.auth_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_comp_id_2' # save_ # save__pdbx_val_angle.auth_seq_id_2 # _item_description.description ; Identifier of the second of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.auth_seq_id_2' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_angle.auth_seq_id_2' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_rcsb_val_angle.auth_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_seq_id_2' # save_ # save__pdbx_val_angle.auth_atom_id_3 # _item_description.description ; Identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.auth_atom_id_3' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_type.code atcode # _item_linked.child_name '_pdbx_val_angle.auth_atom_id_3' _item_linked.parent_name '_atom_site.auth_atom_id' # _item_aliases.alias_name '_rcsb_val_angle.auth_atom_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_atom_id_3' # save_ # save__pdbx_val_angle.auth_asym_id_3 # _item_description.description ; Identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.auth_asym_id_3' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_linked.child_name '_pdbx_val_angle.auth_asym_id_3' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_rcsb_val_angle.auth_asym_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_asym_id_3' # save_ # save__pdbx_val_angle.auth_comp_id_3 # _item_description.description ; Identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.auth_comp_id_3' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_angle.auth_comp_id_3' _item_linked.parent_name '_atom_site.auth_comp_id' # _item_aliases.alias_name '_rcsb_val_angle.auth_comp_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_comp_id_3' # save_ # save__pdbx_val_angle.auth_seq_id_3 # _item_description.description ; Identifier of the third of the three atom sites that define the angle. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.auth_seq_id_3' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_angle.auth_seq_id_3' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_rcsb_val_angle.auth_seq_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_seq_id_3' # save_ # save__pdbx_val_angle.auth_PDB_insert_id_1 # _item_description.description ; Optional identifier of the first of the three atom sites that define the angle. ; # _item.name '_pdbx_val_angle.auth_PDB_insert_id_1' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_linked.child_name '_pdbx_val_angle.auth_PDB_insert_id_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' # _item_aliases.alias_name '_rcsb_val_angle.auth_PDB_insert_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_PDB_insert_id_1' # save_ # save__pdbx_val_angle.auth_PDB_insert_id_2 # _item_description.description ; Optional identifier of the second of the three atom sites that define the angle. ; # _item.name '_pdbx_val_angle.auth_PDB_insert_id_2' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_linked.child_name '_pdbx_val_angle.auth_PDB_insert_id_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' # _item_aliases.alias_name '_rcsb_val_angle.auth_PDB_insert_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_PDB_insert_id_2' # save_ # save__pdbx_val_angle.auth_PDB_insert_id_3 # _item_description.description ; Optional identifier of the third of the three atom sites that define the angle. ; # _item.name '_pdbx_val_angle.auth_PDB_insert_id_3' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_linked.child_name '_pdbx_val_angle.auth_PDB_insert_id_3' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' # _item_aliases.alias_name '_rcsb_val_angle.auth_PDB_insert_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.auth_PDB_insert_id_3' # save_ # save__pdbx_val_angle.label_alt_id_1 # _item_description.description ; A component of the identifier for partner 1 of the angle connection. ; # _item.name '_pdbx_val_angle.label_alt_id_1' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_angle.label_alt_id_1' _item_linked.parent_name '_atom_site.label_alt_id' # _item_aliases.alias_name '_rcsb_val_angle.label_alt_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_alt_id_1' # save_ # save__pdbx_val_angle.label_asym_id_1 # _item_description.description ; A component of the identifier for partner 1 of the angle connection. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.label_asym_id_1' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_angle.label_asym_id_1' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_rcsb_val_angle.label_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_asym_id_1' # save_ # save__pdbx_val_angle.label_atom_id_1 # _item_description.description ; A component of the identifier for partner 1 of the angle connection. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; # _item.name '_pdbx_val_angle.label_atom_id_1' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code atcode # _item_linked.child_name '_pdbx_val_angle.label_atom_id_1' _item_linked.parent_name '_atom_site.label_atom_id' # _item_aliases.alias_name '_rcsb_val_angle.label_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_atom_id_1' # save_ # save__pdbx_val_angle.label_comp_id_1 # _item_description.description ; A component of the identifier for partner 1 of the angle connection. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.label_comp_id_1' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_val_angle.label_comp_id_1' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_rcsb_val_angle.label_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_comp_id_1' # save_ # save__pdbx_val_angle.label_seq_id_1 # _item_description.description ; A component of the identifier for partner 1 of the angle connection. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.label_seq_id_1' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code int # _item_linked.child_name '_pdbx_val_angle.label_seq_id_1' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_rcsb_val_angle.label_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_seq_id_1' # save_ # save__pdbx_val_angle.label_alt_id_2 # _item_description.description ; A component of the identifier for partner 2 of the angle connection. ; # _item.name '_pdbx_val_angle.label_alt_id_2' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_angle.label_alt_id_2' _item_linked.parent_name '_atom_site.label_alt_id' # _item_aliases.alias_name '_rcsb_val_angle.label_alt_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_alt_id_2' # save_ # save__pdbx_val_angle.label_asym_id_2 # _item_description.description ; A component of the identifier for partner 2 of the angle connection. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.label_asym_id_2' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_angle.label_asym_id_2' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_rcsb_val_angle.label_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_asym_id_2' # save_ # save__pdbx_val_angle.label_atom_id_2 # _item_description.description ; A component of the identifier for partner 2 of the angle connection. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; # _item.name '_pdbx_val_angle.label_atom_id_2' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code atcode # _item_linked.child_name '_pdbx_val_angle.label_atom_id_2' _item_linked.parent_name '_atom_site.label_atom_id' # _item_aliases.alias_name '_rcsb_val_angle.label_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_atom_id_2' # save_ # save__pdbx_val_angle.label_comp_id_2 # _item_description.description ; A component of the identifier for partner 2 of the angle connection. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.label_comp_id_2' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_val_angle.label_comp_id_2' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_rcsb_val_angle.label_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_comp_id_2' # save_ # save__pdbx_val_angle.label_seq_id_2 # _item_description.description ; A component of the identifier for partner 2 of the angle connection. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.label_seq_id_2' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code int # _item_linked.child_name '_pdbx_val_angle.label_seq_id_2' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_rcsb_val_angle.label_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_seq_id_2' # save_ # save__pdbx_val_angle.label_alt_id_3 # _item_description.description ; A component of the identifier for partner 3 of the angle connection. ; # _item.name '_pdbx_val_angle.label_alt_id_3' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_angle.label_alt_id_3' _item_linked.parent_name '_atom_site.label_alt_id' # _item_aliases.alias_name '_rcsb_val_angle.label_alt_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_alt_id_3' # save_ # save__pdbx_val_angle.label_asym_id_3 # _item_description.description ; A component of the identifier for partner 3 of the angle connection. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.label_asym_id_3' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_angle.label_asym_id_3' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_rcsb_val_angle.label_asym_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_asym_id_3' # save_ # save__pdbx_val_angle.label_atom_id_3 # _item_description.description ; A component of the identifier for partner 3 of the angle connection. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; # _item.name '_pdbx_val_angle.label_atom_id_3' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code atcode # _item_linked.child_name '_pdbx_val_angle.label_atom_id_3' _item_linked.parent_name '_atom_site.label_atom_id' # _item_aliases.alias_name '_rcsb_val_angle.label_atom_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_atom_id_3' # save_ # save__pdbx_val_angle.label_comp_id_3 # _item_description.description ; A component of the identifier for partner 3 of the angle connection. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.label_comp_id_3' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_val_angle.label_comp_id_3' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_rcsb_val_angle.label_comp_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_comp_id_3' # save_ # save__pdbx_val_angle.label_seq_id_3 # _item_description.description ; A component of the identifier for partner 3 of the angle connection. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_angle.label_seq_id_3' _item.category_id pdbx_val_angle _item.mandatory_code no # _item_type.code int # _item_linked.child_name '_pdbx_val_angle.label_seq_id_3' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_rcsb_val_angle.label_seq_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.label_seq_id_3' # save_ # save__pdbx_val_angle.angle # _item_description.description ; Value of the angle deviating by more than 6*RMSD from the expected dictionary value. ; # _item.name '_pdbx_val_angle.angle' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_type.code float # _item_units.code degrees # _item_aliases.alias_name '_rcsb_val_angle.angle' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.angle' # save_ # save__pdbx_val_angle.angle_deviation # _item_description.description ; Value of the deviation (in degrees) from 6*RMSD for the angle bounded by the three sites from the expected dictionary value ; # _item.name '_pdbx_val_angle.angle_deviation' _item.category_id pdbx_val_angle _item.mandatory_code yes # _item_type.code float # _item_units.code degrees # _item_aliases.alias_name '_rcsb_val_angle.angle_deviation' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_angle.angle_deviation' # save_ # save_pdbx_val_bond # _category.description ; The PDBX_VAL_BOND category lists the covalent bond angles in this entry deviating by greater than 6*sigma from standard values. This is a completely derived category. Do not edit. ; _category.id pdbx_val_bond _category.mandatory_code no # _category_key.name '_pdbx_val_bond.id' # loop_ _category_group.id inclusive_group validate_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_val_bond # save_ # save__pdbx_val_bond.id # _item_description.description ; The value of _pdbx_val_bond.id must uniquely identify each item in the PDBX_VAL_BOND list. This is an integer serial number. ; # _item.name '_pdbx_val_bond.id' _item.category_id pdbx_val_bond _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_rcsb_val_bond.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.id' # save_ # save__pdbx_val_bond.model_id # _item_description.description 'The model number for the given bond' # _item.name '_pdbx_val_bond.model_id' _item.category_id pdbx_val_bond _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_val_bond.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_rcsb_val_bond.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.model_id' # save_ # save__pdbx_val_bond.auth_asym_id_1 # _item_description.description ; identifier of the first of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.auth_asym_id_1' _item.category_id pdbx_val_bond _item.mandatory_code yes # _item_linked.child_name '_pdbx_val_bond.auth_asym_id_1' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_rcsb_val_bond.auth_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.auth_asym_id_1' # save_ # save__pdbx_val_bond.auth_atom_id_1 # _item_description.description ; identifier of the first of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.auth_atom_id_1' _item.category_id pdbx_val_bond _item.mandatory_code yes # _item_type.code atcode # _item_linked.child_name '_pdbx_val_bond.auth_atom_id_1' _item_linked.parent_name '_atom_site.auth_atom_id' # _item_aliases.alias_name '_rcsb_val_bond.auth_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.auth_atom_id_1' # save_ # save__pdbx_val_bond.auth_comp_id_1 # _item_description.description ; identifier of the first of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.auth_comp_id_1' _item.category_id pdbx_val_bond _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_bond.auth_comp_id_1' _item_linked.parent_name '_atom_site.auth_comp_id' # _item_aliases.alias_name '_rcsb_val_bond.auth_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.auth_comp_id_1' # save_ # save__pdbx_val_bond.auth_seq_id_1 # _item_description.description ; identifier of the first of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.auth_seq_id_1' _item.category_id pdbx_val_bond _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_bond.auth_seq_id_1' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_rcsb_val_bond.auth_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.auth_seq_id_1' # save_ # save__pdbx_val_bond.auth_atom_id_2 # _item_description.description ; identifier of the second of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.auth_atom_id_2' _item.category_id pdbx_val_bond _item.mandatory_code yes # _item_type.code atcode # _item_linked.child_name '_pdbx_val_bond.auth_atom_id_2' _item_linked.parent_name '_atom_site.auth_atom_id' # _item_aliases.alias_name '_rcsb_val_bond.auth_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.auth_atom_id_2' # save_ # save__pdbx_val_bond.auth_asym_id_2 # _item_description.description ; identifier of the second of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.auth_asym_id_2' _item.category_id pdbx_val_bond _item.mandatory_code yes # _item_linked.child_name '_pdbx_val_bond.auth_asym_id_2' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_rcsb_val_bond.auth_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.auth_asym_id_2' # save_ # save__pdbx_val_bond.auth_comp_id_2 # _item_description.description ; identifier of the second of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.auth_comp_id_2' _item.category_id pdbx_val_bond _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_bond.auth_comp_id_2' _item_linked.parent_name '_atom_site.auth_comp_id' # _item_aliases.alias_name '_rcsb_val_bond.auth_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.auth_comp_id_2' # save_ # save__pdbx_val_bond.auth_seq_id_2 # _item_description.description ; identifier of the second of the two atom sites that define the covalent bond. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.auth_seq_id_2' _item.category_id pdbx_val_bond _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_bond.auth_seq_id_2' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_rcsb_val_bond.auth_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.auth_seq_id_2' # save_ # save__pdbx_val_bond.auth_PDB_insert_id_1 # _item_description.description ; Optional identifier of the first of the two atom sites that define the covalent bond. ; # _item.name '_pdbx_val_bond.auth_PDB_insert_id_1' _item.category_id pdbx_val_bond _item.mandatory_code no # _item_linked.child_name '_pdbx_val_bond.auth_PDB_insert_id_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' # _item_aliases.alias_name '_rcsb_val_bond.auth_PDB_insert_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.auth_PDB_insert_id_1' # save_ # save__pdbx_val_bond.auth_PDB_insert_id_2 # _item_description.description ; Optional identifier of the second of the two atom sites that define the covalent bond. ; # _item.name '_pdbx_val_bond.auth_PDB_insert_id_2' _item.category_id pdbx_val_bond _item.mandatory_code no # _item_linked.child_name '_pdbx_val_bond.auth_PDB_insert_id_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' # _item_aliases.alias_name '_rcsb_val_bond.auth_PDB_insert_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.auth_PDB_insert_id_2' # save_ # save__pdbx_val_bond.label_alt_id_1 # _item_description.description ; A component of the identifier for partner 1 of the bond connection. ; # _item.name '_pdbx_val_bond.label_alt_id_1' _item.category_id pdbx_val_bond _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_bond.label_alt_id_1' _item_linked.parent_name '_atom_site.label_alt_id' # _item_aliases.alias_name '_rcsb_val_bond.label_alt_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.label_alt_id_1' # save_ # save__pdbx_val_bond.label_asym_id_1 # _item_description.description ; A component of the identifier for partner 1 of the bond connection. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.label_asym_id_1' _item.category_id pdbx_val_bond _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_bond.label_asym_id_1' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_rcsb_val_bond.label_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.label_asym_id_1' # save_ # save__pdbx_val_bond.label_atom_id_1 # _item_description.description ; A component of the identifier for partner 1 of the bond connection. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; # _item.name '_pdbx_val_bond.label_atom_id_1' _item.category_id pdbx_val_bond _item.mandatory_code no # _item_type.code atcode # _item_linked.child_name '_pdbx_val_bond.label_atom_id_1' _item_linked.parent_name '_atom_site.label_atom_id' # _item_aliases.alias_name '_rcsb_val_bond.label_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.label_atom_id_1' # save_ # save__pdbx_val_bond.label_comp_id_1 # _item_description.description ; A component of the identifier for partner 1 of the bond connection. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.label_comp_id_1' _item.category_id pdbx_val_bond _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_val_bond.label_comp_id_1' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_rcsb_val_bond.label_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.label_comp_id_1' # save_ # save__pdbx_val_bond.label_seq_id_1 # _item_description.description ; A component of the identifier for partner 1 of the bond connection. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.label_seq_id_1' _item.category_id pdbx_val_bond _item.mandatory_code no # _item_type.code int # _item_linked.child_name '_pdbx_val_bond.label_seq_id_1' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_rcsb_val_bond.label_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.label_seq_id_1' # save_ # save__pdbx_val_bond.label_alt_id_2 # _item_description.description ; A component of the identifier for partner 2 of the bond connection. ; # _item.name '_pdbx_val_bond.label_alt_id_2' _item.category_id pdbx_val_bond _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_bond.label_alt_id_2' _item_linked.parent_name '_atom_site.label_alt_id' # _item_aliases.alias_name '_rcsb_val_bond.label_alt_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.label_alt_id_2' # save_ # save__pdbx_val_bond.label_asym_id_2 # _item_description.description ; A component of the identifier for partner 2 of the bond connection. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.label_asym_id_2' _item.category_id pdbx_val_bond _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_bond.label_asym_id_2' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_rcsb_val_bond.label_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.label_asym_id_2' # save_ # save__pdbx_val_bond.label_atom_id_2 # _item_description.description ; A component of the identifier for partner 2 of the bond connection. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; # _item.name '_pdbx_val_bond.label_atom_id_2' _item.category_id pdbx_val_bond _item.mandatory_code no # _item_type.code atcode # _item_linked.child_name '_pdbx_val_bond.label_atom_id_2' _item_linked.parent_name '_atom_site.label_atom_id' # _item_aliases.alias_name '_rcsb_val_bond.label_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.label_atom_id_2' # save_ # save__pdbx_val_bond.label_comp_id_2 # _item_description.description ; A component of the identifier for partner 2 of the bond connection. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.label_comp_id_2' _item.category_id pdbx_val_bond _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_val_bond.label_comp_id_2' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_rcsb_val_bond.label_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.label_comp_id_2' # save_ # save__pdbx_val_bond.label_seq_id_2 # _item_description.description ; A component of the identifier for partner 2 of the bond connection. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_bond.label_seq_id_2' _item.category_id pdbx_val_bond _item.mandatory_code no # _item_type.code int # _item_linked.child_name '_pdbx_val_bond.label_seq_id_2' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_rcsb_val_bond.label_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.label_seq_id_2' # save_ # save__pdbx_val_bond.bond # _item_description.description ; The value of the bond distance deviating by more than 6*RMSD from the standard dictionary value. ; # _item.name '_pdbx_val_bond.bond' _item.category_id pdbx_val_bond _item.mandatory_code yes # _item_type.code float # _item_units.code angstroms # _item_aliases.alias_name '_rcsb_val_bond.bond' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.bond' # save_ # save__pdbx_val_bond.bond_deviation # _item_description.description ; The value of the deviation from ideal for the defined covalent bond for the two atoms defined. ; # _item.name '_pdbx_val_bond.bond_deviation' _item.category_id pdbx_val_bond _item.mandatory_code yes # _item_type.code float # _item_units.code angstroms # _item_aliases.alias_name '_rcsb_val_bond.bond_deviation' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_bond.bond_deviation' # save_ # save_pdbx_val_contact # _category.description ; The PDBX_VAL_CONTACT category lists non-bonded atoms within the assymetric unit of the entry that are in close contact. For those contacts not involving hydrogen a limit of 2.2 Angstroms is used. For contacts involving a hydrogen atom a cutoff of 1.6 Angstrom is used. This is a completely derived category. Do not edit. ; _category.id pdbx_val_contact _category.mandatory_code no # _category_key.name '_pdbx_val_contact.id' # loop_ _category_group.id inclusive_group validate_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_val_contact # save_ # save__pdbx_val_contact.id # _item_description.description ; The value of _pdbx_val_contact.id must uniquely identify each item in the PDBX_VAL_CONTACT list. This is an integer serial number. ; # _item.name '_pdbx_val_contact.id' _item.category_id pdbx_val_contact _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_rcsb_val_contact.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.id' # save_ # save__pdbx_val_contact.model_id # _item_description.description 'The model number for the given angle' # _item.name '_pdbx_val_contact.model_id' _item.category_id pdbx_val_contact _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_val_contact.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_rcsb_val_contact.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.model_id' # save_ # save__pdbx_val_contact.auth_asym_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.auth_asym_id_1' _item.category_id pdbx_val_contact _item.mandatory_code yes # _item_linked.child_name '_pdbx_val_contact.auth_asym_id_1' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_rcsb_val_contact.auth_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.auth_asym_id_1' # save_ # save__pdbx_val_contact.auth_atom_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.auth_atom_id_1' _item.category_id pdbx_val_contact _item.mandatory_code yes # _item_type.code atcode # _item_linked.child_name '_pdbx_val_contact.auth_atom_id_1' _item_linked.parent_name '_atom_site.auth_atom_id' # _item_aliases.alias_name '_rcsb_val_contact.auth_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.auth_atom_id_1' # save_ # save__pdbx_val_contact.auth_comp_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.auth_comp_id_1' _item.category_id pdbx_val_contact _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_contact.auth_comp_id_1' _item_linked.parent_name '_atom_site.auth_comp_id' # _item_aliases.alias_name '_rcsb_val_contact.auth_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.auth_comp_id_1' # save_ # save__pdbx_val_contact.auth_seq_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.auth_seq_id_1' _item.category_id pdbx_val_contact _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_contact.auth_seq_id_1' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_rcsb_val_contact.auth_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.auth_seq_id_1' # save_ # save__pdbx_val_contact.auth_atom_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.auth_atom_id_2' _item.category_id pdbx_val_contact _item.mandatory_code yes # _item_type.code atcode # _item_linked.child_name '_pdbx_val_contact.auth_atom_id_2' _item_linked.parent_name '_atom_site.auth_atom_id' # _item_aliases.alias_name '_rcsb_val_contact.auth_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.auth_atom_id_2' # save_ # save__pdbx_val_contact.auth_asym_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.auth_asym_id_2' _item.category_id pdbx_val_contact _item.mandatory_code yes # _item_linked.child_name '_pdbx_val_contact.auth_asym_id_2' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_rcsb_val_contact.auth_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.auth_asym_id_2' # save_ # save__pdbx_val_contact.auth_comp_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.auth_comp_id_2' _item.category_id pdbx_val_contact _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_contact.auth_comp_id_2' _item_linked.parent_name '_atom_site.auth_comp_id' # _item_aliases.alias_name '_rcsb_val_contact.auth_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.auth_comp_id_2' # save_ # save__pdbx_val_contact.auth_seq_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.auth_seq_id_2' _item.category_id pdbx_val_contact _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_contact.auth_seq_id_2' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_rcsb_val_contact.auth_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.auth_seq_id_2' # save_ # save__pdbx_val_contact.auth_PDB_insert_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.auth_PDB_insert_id_1' _item.category_id pdbx_val_contact _item.mandatory_code no # _item_linked.child_name '_pdbx_val_contact.auth_PDB_insert_id_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' # _item_aliases.alias_name '_rcsb_val_contact.auth_PDB_insert_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.auth_PDB_insert_id_1' # save_ # save__pdbx_val_contact.auth_PDB_insert_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.auth_PDB_insert_id_2' _item.category_id pdbx_val_contact _item.mandatory_code no # _item_linked.child_name '_pdbx_val_contact.auth_PDB_insert_id_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' # _item_aliases.alias_name '_rcsb_val_contact.auth_PDB_insert_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.auth_PDB_insert_id_2' # save_ # save__pdbx_val_contact.label_alt_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.label_alt_id_1' _item.category_id pdbx_val_contact _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_contact.label_alt_id_1' _item_linked.parent_name '_atom_site.label_alt_id' # _item_aliases.alias_name '_rcsb_val_contact.label_alt_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.label_alt_id_1' # save_ # save__pdbx_val_contact.label_asym_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.label_asym_id_1' _item.category_id pdbx_val_contact _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_contact.label_asym_id_1' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_rcsb_val_contact.label_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.label_asym_id_1' # save_ # save__pdbx_val_contact.label_atom_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; # _item.name '_pdbx_val_contact.label_atom_id_1' _item.category_id pdbx_val_contact _item.mandatory_code no # _item_type.code atcode # _item_linked.child_name '_pdbx_val_contact.label_atom_id_1' _item_linked.parent_name '_atom_site.label_atom_id' # _item_aliases.alias_name '_rcsb_val_contact.label_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.label_atom_id_1' # save_ # save__pdbx_val_contact.label_comp_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.label_comp_id_1' _item.category_id pdbx_val_contact _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_val_contact.label_comp_id_1' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_rcsb_val_contact.label_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.label_comp_id_1' # save_ # save__pdbx_val_contact.label_seq_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.label_seq_id_1' _item.category_id pdbx_val_contact _item.mandatory_code no # _item_type.code int # _item_linked.child_name '_pdbx_val_contact.label_seq_id_1' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_rcsb_val_contact.label_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.label_seq_id_1' # save_ # save__pdbx_val_contact.label_alt_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.label_alt_id_2' _item.category_id pdbx_val_contact _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_contact.label_alt_id_2' _item_linked.parent_name '_atom_site.label_alt_id' # _item_aliases.alias_name '_rcsb_val_contact.label_alt_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.label_alt_id_2' # save_ # save__pdbx_val_contact.label_asym_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.label_asym_id_2' _item.category_id pdbx_val_contact _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_contact.label_asym_id_2' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_rcsb_val_contact.label_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.label_asym_id_2' # save_ # save__pdbx_val_contact.label_atom_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; # _item.name '_pdbx_val_contact.label_atom_id_2' _item.category_id pdbx_val_contact _item.mandatory_code no # _item_type.code atcode # _item_linked.child_name '_pdbx_val_contact.label_atom_id_2' _item_linked.parent_name '_atom_site.label_atom_id' # _item_aliases.alias_name '_rcsb_val_contact.label_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.label_atom_id_2' # save_ # save__pdbx_val_contact.label_comp_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.label_comp_id_2' _item.category_id pdbx_val_contact _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_val_contact.label_comp_id_2' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_rcsb_val_contact.label_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.label_comp_id_2' # save_ # save__pdbx_val_contact.label_seq_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_contact.label_seq_id_2' _item.category_id pdbx_val_contact _item.mandatory_code no # _item_type.code int # _item_linked.child_name '_pdbx_val_contact.label_seq_id_2' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_rcsb_val_contact.label_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.label_seq_id_2' # save_ # save__pdbx_val_contact.dist # _item_description.description 'The value of the close contact for the two atoms defined.' # _item.name '_pdbx_val_contact.dist' _item.category_id pdbx_val_contact _item.mandatory_code yes # loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 # _item_type.code float # _item_units.code angstroms # _item_aliases.alias_name '_rcsb_val_contact.dist' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_contact.dist' # save_ # save_pdbx_val_sym_contact # _category.description ; The PDBX_VAL_SYM_CONTACT category lists symmetry related contacts amoung non-bonded atoms. For those contacts not involving hydrogen a limit of 2.2 Angstroms is used. For contacts involving a hydrogen atom a cutoff of 1.6 Angstrom is used. This is a completely derived category. Do not edit. ; _category.id pdbx_val_sym_contact _category.mandatory_code no # _category_key.name '_pdbx_val_sym_contact.id' # loop_ _category_group.id inclusive_group validate_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_val_sym_contact # save_ # save__pdbx_val_sym_contact.id # _item_description.description ; The value of _pdbx_val_sym_contact.id must uniquely identify each item in the PDBX_VAL_SYM_CONTACT list. This is an integer serial number. ; # _item.name '_pdbx_val_sym_contact.id' _item.category_id pdbx_val_sym_contact _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_rcsb_val_sym_contact.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.id' # save_ # save__pdbx_val_sym_contact.model_id # _item_description.description 'The model number for the given angle' # _item.name '_pdbx_val_sym_contact.model_id' _item.category_id pdbx_val_sym_contact _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_val_sym_contact.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_rcsb_val_sym_contact.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.model_id' # save_ # save__pdbx_val_sym_contact.auth_asym_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.auth_asym_id_1' _item.category_id pdbx_val_sym_contact _item.mandatory_code yes # _item_linked.child_name '_pdbx_val_sym_contact.auth_asym_id_1' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.auth_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.auth_asym_id_1' # save_ # save__pdbx_val_sym_contact.auth_atom_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.auth_atom_id_1' _item.category_id pdbx_val_sym_contact _item.mandatory_code yes # _item_type.code atcode # _item_linked.child_name '_pdbx_val_sym_contact.auth_atom_id_1' _item_linked.parent_name '_atom_site.auth_atom_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.auth_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.auth_atom_id_1' # save_ # save__pdbx_val_sym_contact.auth_comp_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.auth_comp_id_1' _item.category_id pdbx_val_sym_contact _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_sym_contact.auth_comp_id_1' _item_linked.parent_name '_atom_site.auth_comp_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.auth_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.auth_comp_id_1' # save_ # save__pdbx_val_sym_contact.auth_seq_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.auth_seq_id_1' _item.category_id pdbx_val_sym_contact _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_sym_contact.auth_seq_id_1' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.auth_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.auth_seq_id_1' # save_ # save__pdbx_val_sym_contact.auth_atom_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.auth_atom_id_2' _item.category_id pdbx_val_sym_contact _item.mandatory_code yes # _item_type.code atcode # _item_linked.child_name '_pdbx_val_sym_contact.auth_atom_id_2' _item_linked.parent_name '_atom_site.auth_atom_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.auth_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.auth_atom_id_2' # save_ # save__pdbx_val_sym_contact.auth_asym_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.auth_asym_id_2' _item.category_id pdbx_val_sym_contact _item.mandatory_code yes # _item_linked.child_name '_pdbx_val_sym_contact.auth_asym_id_2' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.auth_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.auth_asym_id_2' # save_ # save__pdbx_val_sym_contact.auth_comp_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.auth_comp_id_2' _item.category_id pdbx_val_sym_contact _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_sym_contact.auth_comp_id_2' _item_linked.parent_name '_atom_site.auth_comp_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.auth_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.auth_comp_id_2' # save_ # save__pdbx_val_sym_contact.auth_seq_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.auth_seq_id_2' _item.category_id pdbx_val_sym_contact _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_sym_contact.auth_seq_id_2' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.auth_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.auth_seq_id_2' # save_ # save__pdbx_val_sym_contact.auth_PDB_insert_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.auth_PDB_insert_id_1' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_linked.child_name '_pdbx_val_sym_contact.auth_PDB_insert_id_1' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' # _item_aliases.alias_name '_rcsb_val_sym_contact.auth_PDB_insert_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.auth_PDB_insert_id_1' # save_ # save__pdbx_val_sym_contact.auth_PDB_insert_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.auth_PDB_insert_id_2' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_linked.child_name '_pdbx_val_sym_contact.auth_PDB_insert_id_2' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' # _item_aliases.alias_name '_rcsb_val_sym_contact.auth_PDB_insert_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.auth_PDB_insert_id_2' # save_ # save__pdbx_val_sym_contact.label_alt_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.label_alt_id_1' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_sym_contact.label_alt_id_1' _item_linked.parent_name '_atom_site.label_alt_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.label_alt_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.label_alt_id_1' # save_ # save__pdbx_val_sym_contact.label_asym_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.label_asym_id_1' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_sym_contact.label_asym_id_1' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.label_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.label_asym_id_1' # save_ # save__pdbx_val_sym_contact.label_atom_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; # _item.name '_pdbx_val_sym_contact.label_atom_id_1' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_type.code atcode # _item_linked.child_name '_pdbx_val_sym_contact.label_atom_id_1' _item_linked.parent_name '_atom_site.label_atom_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.label_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.label_atom_id_1' # save_ # save__pdbx_val_sym_contact.label_comp_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.label_comp_id_1' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_val_sym_contact.label_comp_id_1' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.label_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.label_comp_id_1' # save_ # save__pdbx_val_sym_contact.label_seq_id_1 # _item_description.description ; A component of the identifier for partner 1 of the close contact. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.label_seq_id_1' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_type.code int # _item_linked.child_name '_pdbx_val_sym_contact.label_seq_id_1' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.label_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.label_seq_id_1' # save_ # save__pdbx_val_sym_contact.label_alt_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.label_alt_id_2' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_sym_contact.label_alt_id_2' _item_linked.parent_name '_atom_site.label_alt_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.label_alt_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.label_alt_id_2' # save_ # save__pdbx_val_sym_contact.label_asym_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.label_asym_id_2' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_sym_contact.label_asym_id_2' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.label_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.label_asym_id_2' # save_ # save__pdbx_val_sym_contact.label_atom_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _chem_comp_atom.atom_id in the CHEM_COMP_ATOM category. ; # _item.name '_pdbx_val_sym_contact.label_atom_id_2' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_type.code atcode # _item_linked.child_name '_pdbx_val_sym_contact.label_atom_id_2' _item_linked.parent_name '_atom_site.label_atom_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.label_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.label_atom_id_2' # save_ # save__pdbx_val_sym_contact.label_comp_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.label_comp_id_2' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_val_sym_contact.label_comp_id_2' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.label_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.label_comp_id_2' # save_ # save__pdbx_val_sym_contact.label_seq_id_2 # _item_description.description ; A component of the identifier for partner 2 of the close contact. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_sym_contact.label_seq_id_2' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_type.code int # _item_linked.child_name '_pdbx_val_sym_contact.label_seq_id_2' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_rcsb_val_sym_contact.label_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.label_seq_id_2' # save_ # save__pdbx_val_sym_contact.site_symmetry_1 # _item_description.description ; The symmetry operation applied to the first of the two atoms defining the close contact. The Symmetry equivalent position is given in the 'xyz' representation. ; # _item.name '_pdbx_val_sym_contact.site_symmetry_1' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_default.value 1_555 # _item_type.code code # _item_aliases.alias_name '_rcsb_val_sym_contact.site_symmetry_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.site_symmetry_1' # save_ # save__pdbx_val_sym_contact.site_symmetry_2 # _item_description.description ; The symmetry operation applied to the second of the two atoms defining the close contact. The Symmetry equivalent position is given in the 'xyz' representation. ; # _item.name '_pdbx_val_sym_contact.site_symmetry_2' _item.category_id pdbx_val_sym_contact _item.mandatory_code no # _item_default.value 1_555 # _item_type.code code # _item_aliases.alias_name '_rcsb_val_sym_contact.site_symmetry_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.site_symmetry_2' # save_ # save__pdbx_val_sym_contact.dist # _item_description.description 'The value of the close contact for the two atoms defined.' # _item.name '_pdbx_val_sym_contact.dist' _item.category_id pdbx_val_sym_contact _item.mandatory_code yes # loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 # _item_type.code float # _item_units.code angstroms # _item_aliases.alias_name '_rcsb_val_sym_contact.dist' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_sym_contact.dist' # save_ # save_pdbx_rmch_outlier # _category.description ; Data items in the PDBX_RMCH_OUTLIER category list the residues with torsion angles outside the expected Ramachandran regions. This is a completely derived category. Do not edit. ; _category.id pdbx_rmch_outlier _category.mandatory_code no # _category_key.name '_pdbx_rmch_outlier.id' # loop_ _category_group.id inclusive_group validate_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_rmch_outlier # save_ # save__pdbx_rmch_outlier.id # _item_description.description ; The value of _pdbx_rmch_outlier.id must uniquely identify each item in the PDBX_RMCH_OUTLIER list. This is an integer serial number. ; # _item.name '_pdbx_rmch_outlier.id' _item.category_id pdbx_rmch_outlier _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_rcsb_rmch_outlier.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rmch_outlier.id' # save_ # save__pdbx_rmch_outlier.model_id # _item_description.description 'The model number for the given residue' # _item.name '_pdbx_rmch_outlier.model_id' _item.category_id pdbx_rmch_outlier _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_rmch_outlier.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_rcsb_rmch_outlier.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rmch_outlier.model_id' # save_ # save__pdbx_rmch_outlier.auth_asym_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_rmch_outlier.auth_asym_id' _item.category_id pdbx_rmch_outlier _item.mandatory_code yes # _item_linked.child_name '_pdbx_rmch_outlier.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_rcsb_rmch_outlier.auth_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rmch_outlier.auth_asym_id' # save_ # save__pdbx_rmch_outlier.auth_comp_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_rmch_outlier.auth_comp_id' _item.category_id pdbx_rmch_outlier _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_rmch_outlier.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' # _item_aliases.alias_name '_rcsb_rmch_outlier.auth_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rmch_outlier.auth_comp_id' # save_ # save__pdbx_rmch_outlier.auth_seq_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_rmch_outlier.auth_seq_id' _item.category_id pdbx_rmch_outlier _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_rmch_outlier.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_rcsb_rmch_outlier.auth_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rmch_outlier.auth_seq_id' # save_ # save__pdbx_rmch_outlier.auth_PDB_insert_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; # _item.name '_pdbx_rmch_outlier.auth_PDB_insert_id' _item.category_id pdbx_rmch_outlier _item.mandatory_code no # _item_linked.child_name '_pdbx_rmch_outlier.auth_PDB_insert_id' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' # _item_aliases.alias_name '_rcsb_rmch_outlier.auth_PDB_insert_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rmch_outlier.auth_PDB_insert_id' # save_ # save__pdbx_rmch_outlier.label_asym_id # _item_description.description ; Identifier of the residue. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_rmch_outlier.label_asym_id' _item.category_id pdbx_rmch_outlier _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_rmch_outlier.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_rcsb_rmch_outlier.label_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rmch_outlier.label_asym_id' # save_ # save__pdbx_rmch_outlier.label_comp_id # _item_description.description ; Identifier of the residue. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_rmch_outlier.label_comp_id' _item.category_id pdbx_rmch_outlier _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_rmch_outlier.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_rcsb_rmch_outlier.label_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rmch_outlier.label_comp_id' # save_ # save__pdbx_rmch_outlier.label_seq_id # _item_description.description ; Identifier of the residue. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_rmch_outlier.label_seq_id' _item.category_id pdbx_rmch_outlier _item.mandatory_code no # _item_type.code int # _item_linked.child_name '_pdbx_rmch_outlier.label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_rcsb_rmch_outlier.label_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rmch_outlier.label_seq_id' # save_ # save__pdbx_rmch_outlier.phi # _item_description.description ; The phi value that for the residue that lies outside normal regions of the Rammachandran plot ; # _item.name '_pdbx_rmch_outlier.phi' _item.category_id pdbx_rmch_outlier _item.mandatory_code yes # loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 -180.0 -180.0 -180.0 # _item_type.code float # _item_units.code degrees # _item_aliases.alias_name '_rcsb_rmch_outlier.phi' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rmch_outlier.phi' # save_ # save__pdbx_rmch_outlier.psi # _item_description.description ; The Psi value that for the residue that lies outside of the normal region of the rammachandran plot ; # _item.name '_pdbx_rmch_outlier.psi' _item.category_id pdbx_rmch_outlier _item.mandatory_code yes # loop_ _item_range.maximum _item_range.minimum 180.0 180.0 180.0 -180.0 -180.0 -180.0 # _item_type.code float # _item_units.code degrees # _item_aliases.alias_name '_rcsb_rmch_outlier.psi' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rmch_outlier.psi' # save_ # save_pdbx_missing_atom_poly # _category.description ; Data items in the PDBX_MISSING_ATOM_POLY category lists atoms missing in polymer residues. This is a completely derived category. Do not edit. ; _category.id pdbx_missing_atom_poly _category.mandatory_code no # _category_key.name '_pdbx_missing_atom_poly.id' # loop_ _category_group.id inclusive_group validate_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_missing_atom_poly # save_ # save__pdbx_missing_atom_poly.id # _item_description.description ; The value of _pdbx_missing_atom_poly.id must uniquely identify each item in the PDBX_MISSING_ATOM_POLY list. This is an integer serial number. ; # _item.name '_pdbx_missing_atom_poly.id' _item.category_id pdbx_missing_atom_poly _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_rcsb_missing_atom_poly.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_poly.id' # save_ # save__pdbx_missing_atom_poly.model_id # _item_description.description 'The model number for the given residue' # _item.name '_pdbx_missing_atom_poly.model_id' _item.category_id pdbx_missing_atom_poly _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_missing_atom_poly.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_rcsb_missing_atom_poly.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_poly.model_id' # save_ # save__pdbx_missing_atom_poly.auth_asym_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_missing_atom_poly.auth_asym_id' _item.category_id pdbx_missing_atom_poly _item.mandatory_code yes # _item_linked.child_name '_pdbx_missing_atom_poly.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_rcsb_missing_atom_poly.auth_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_poly.auth_asym_id' # save_ # save__pdbx_missing_atom_poly.auth_comp_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_missing_atom_poly.auth_comp_id' _item.category_id pdbx_missing_atom_poly _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_missing_atom_poly.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' # _item_aliases.alias_name '_rcsb_missing_atom_poly.auth_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_poly.auth_comp_id' # save_ # save__pdbx_missing_atom_poly.auth_seq_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_missing_atom_poly.auth_seq_id' _item.category_id pdbx_missing_atom_poly _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_missing_atom_poly.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_rcsb_missing_atom_poly.auth_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_poly.auth_seq_id' # save_ # save__pdbx_missing_atom_poly.auth_PDB_insert_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; # _item.name '_pdbx_missing_atom_poly.auth_PDB_insert_id' _item.category_id pdbx_missing_atom_poly _item.mandatory_code no # _item_linked.child_name '_pdbx_missing_atom_poly.auth_PDB_insert_id' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' # _item_aliases.alias_name '_rcsb_missing_atom_poly.auth_PDB_insert_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_poly.auth_PDB_insert_id' # save_ # save__pdbx_missing_atom_poly.label_asym_id # _item_description.description ; Identifier of the residue. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_missing_atom_poly.label_asym_id' _item.category_id pdbx_missing_atom_poly _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_missing_atom_poly.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_rcsb_missing_atom_poly.label_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_poly.label_asym_id' # save_ # save__pdbx_missing_atom_poly.label_comp_id # _item_description.description ; Identifier of the residue. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_missing_atom_poly.label_comp_id' _item.category_id pdbx_missing_atom_poly _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_missing_atom_poly.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_rcsb_missing_atom_poly.label_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_poly.label_comp_id' # save_ # save__pdbx_missing_atom_poly.label_seq_id # _item_description.description ; Identifier of the residue. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_missing_atom_poly.label_seq_id' _item.category_id pdbx_missing_atom_poly _item.mandatory_code no # _item_type.code int # _item_linked.child_name '_pdbx_missing_atom_poly.label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_rcsb_missing_atom_poly.label_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_poly.label_seq_id' # save_ # save__pdbx_missing_atom_poly.atom_name # _item_description.description ; Identifier of missing atom. ; # _item.name '_pdbx_missing_atom_poly.atom_name' _item.category_id pdbx_missing_atom_poly _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_missing_atom_poly.atom_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_poly.atom_name' # save_ # save_pdbx_missing_atom_nonpoly # _category.description ; Data items in the PDBX_MISSING_ATOM_NONPOLY category list the atoms missing in nonpolymer residues. This is a completely derived category. Do not edit. ; _category.id pdbx_missing_atom_nonpoly _category.mandatory_code no # _category_key.name '_pdbx_missing_atom_nonpoly.id' # loop_ _category_group.id inclusive_group validate_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_missing_atom_nonpoly # save_ # save__pdbx_missing_atom_nonpoly.id # _item_description.description ; The value of _pdbx_missing_atom_nonpoly.id must uniquely identify each item in the PDBX_MISSING_ATOM_NONPOLY list. This is an integer serial number. ; # _item.name '_pdbx_missing_atom_nonpoly.id' _item.category_id pdbx_missing_atom_nonpoly _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_rcsb_missing_atom_nonpoly.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_nonpoly.id' # save_ # save__pdbx_missing_atom_nonpoly.model_id # _item_description.description 'The model number for the given residue' # _item.name '_pdbx_missing_atom_nonpoly.model_id' _item.category_id pdbx_missing_atom_nonpoly _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_missing_atom_nonpoly.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_rcsb_missing_atom_nonpoly.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_nonpoly.model_id' # save_ # save__pdbx_missing_atom_nonpoly.auth_asym_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_missing_atom_nonpoly.auth_asym_id' _item.category_id pdbx_missing_atom_nonpoly _item.mandatory_code yes # _item_linked.child_name '_pdbx_missing_atom_nonpoly.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_rcsb_missing_atom_nonpoly.auth_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_nonpoly.auth_asym_id' # save_ # save__pdbx_missing_atom_nonpoly.auth_comp_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_missing_atom_nonpoly.auth_comp_id' _item.category_id pdbx_missing_atom_nonpoly _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_missing_atom_nonpoly.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' # _item_aliases.alias_name '_rcsb_missing_atom_nonpoly.auth_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_nonpoly.auth_comp_id' # save_ # save__pdbx_missing_atom_nonpoly.auth_seq_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_missing_atom_nonpoly.auth_seq_id' _item.category_id pdbx_missing_atom_nonpoly _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_missing_atom_nonpoly.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_rcsb_missing_atom_nonpoly.auth_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_nonpoly.auth_seq_id' # save_ # save__pdbx_missing_atom_nonpoly.auth_PDB_insert_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; # _item.name '_pdbx_missing_atom_nonpoly.auth_PDB_insert_id' _item.category_id pdbx_missing_atom_nonpoly _item.mandatory_code no # _item_linked.child_name '_pdbx_missing_atom_nonpoly.auth_PDB_insert_id' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' # _item_aliases.alias_name '_rcsb_missing_atom_nonpoly.auth_PDB_insert_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_nonpoly.auth_PDB_insert_id' # save_ # save__pdbx_missing_atom_nonpoly.label_asym_id # _item_description.description ; Identifier of the residue. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_missing_atom_nonpoly.label_asym_id' _item.category_id pdbx_missing_atom_nonpoly _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_missing_atom_nonpoly.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_rcsb_missing_atom_nonpoly.label_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_nonpoly.label_asym_id' # save_ # save__pdbx_missing_atom_nonpoly.label_comp_id # _item_description.description ; Identifier of the residue. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_missing_atom_nonpoly.label_comp_id' _item.category_id pdbx_missing_atom_nonpoly _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_missing_atom_nonpoly.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_rcsb_missing_atom_nonpoly.label_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_nonpoly.label_comp_id' # save_ # save__pdbx_missing_atom_nonpoly.atom_name # _item_description.description ; Identifier of missing atom. ; # _item.name '_pdbx_missing_atom_nonpoly.atom_name' _item.category_id pdbx_missing_atom_nonpoly _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_missing_atom_nonpoly.atom_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_missing_atom_nonpoly.atom_name' # save_ # save_pdbx_val_chiral # _category.description ; Data items in the PDBX_VAL_CHIRAL category list the atoms with nonstandard chiralities. This is a completely derived category. Do not edit. ; _category.id pdbx_val_chiral _category.mandatory_code no # _category_key.name '_pdbx_val_chiral.id' # loop_ _category_group.id inclusive_group validate_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_val_chiral # save_ # save__pdbx_val_chiral.id # _item_description.description ; The value of _pdbx_val_chiral.id must uniquely identify each item in the PDBX_VAL_CHIRAL list. This is an integer serial number. ; # _item.name '_pdbx_val_chiral.id' _item.category_id pdbx_val_chiral _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_rcsb_val_chiral.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_chiral.id' # save_ # save__pdbx_val_chiral.model_id # _item_description.description 'The model number for the given residue' # _item.name '_pdbx_val_chiral.model_id' _item.category_id pdbx_val_chiral _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_val_chiral.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_rcsb_val_chiral.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_chiral.model_id' # save_ # save__pdbx_val_chiral.auth_asym_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_chiral.auth_asym_id' _item.category_id pdbx_val_chiral _item.mandatory_code yes # _item_linked.child_name '_pdbx_val_chiral.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_rcsb_val_chiral.auth_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_chiral.auth_asym_id' # save_ # save__pdbx_val_chiral.auth_comp_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_chiral.auth_comp_id' _item.category_id pdbx_val_chiral _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_chiral.auth_comp_id' _item_linked.parent_name '_atom_site.auth_comp_id' # _item_aliases.alias_name '_rcsb_val_chiral.auth_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_chiral.auth_comp_id' # save_ # save__pdbx_val_chiral.auth_seq_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_chiral.auth_seq_id' _item.category_id pdbx_val_chiral _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_val_chiral.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_rcsb_val_chiral.auth_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_chiral.auth_seq_id' # save_ # save__pdbx_val_chiral.auth_PDB_insert_id # _item_description.description ; Identifier of the residue This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; # _item.name '_pdbx_val_chiral.auth_PDB_insert_id' _item.category_id pdbx_val_chiral _item.mandatory_code no # _item_linked.child_name '_pdbx_val_chiral.auth_PDB_insert_id' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' # _item_aliases.alias_name '_rcsb_val_chiral.auth_PDB_insert_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_chiral.auth_PDB_insert_id' # save_ # save__pdbx_val_chiral.label_asym_id # _item_description.description ; Identifier of the residue. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_chiral.label_asym_id' _item.category_id pdbx_val_chiral _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_val_chiral.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_rcsb_val_chiral.label_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_chiral.label_asym_id' # save_ # save__pdbx_val_chiral.label_comp_id # _item_description.description ; Identifier of the residue. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_chiral.label_comp_id' _item.category_id pdbx_val_chiral _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_val_chiral.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_rcsb_val_chiral.label_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_chiral.label_comp_id' # save_ # save__pdbx_val_chiral.label_seq_id # _item_description.description ; Identifier of the residue. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_val_chiral.label_seq_id' _item.category_id pdbx_val_chiral _item.mandatory_code no # _item_type.code int # _item_linked.child_name '_pdbx_val_chiral.label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_rcsb_val_chiral.label_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_chiral.label_seq_id' # save_ # save__pdbx_val_chiral.chiral_center_atom_name # _item_description.description ; Identifier of chiral center atom. ; # _item.name '_pdbx_val_chiral.chiral_center_atom_name' _item.category_id pdbx_val_chiral _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_val_chiral.chiral_center_atom_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_chiral.chiral_center_atom_name' # save_ # save__pdbx_val_chiral.chiral_neighbor_atom_name # _item_description.description ; Identifier of chiral neighbor atom. ; # _item.name '_pdbx_val_chiral.chiral_neighbor_atom_name' _item.category_id pdbx_val_chiral _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_rcsb_val_chiral.chiral_neighbor_atom_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_chiral.chiral_neighbor_atom_name' # save_ # save__pdbx_val_chiral.chiral_center_atom_alt_id # _item_description.description ; Identifier of chiral center atom alt ID. ; # _item.name '_pdbx_val_chiral.chiral_center_atom_alt_id' _item.category_id pdbx_val_chiral _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_rcsb_val_chiral.chiral_center_atom_alt_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_chiral.chiral_center_atom_alt_id' # save_ # save__pdbx_val_chiral.chiral_neighbor_atom_alt_id # _item_description.description ; Identifier of chiral neighbor alt ID. ; # _item.name '_pdbx_val_chiral.chiral_neighbor_atom_alt_id' _item.category_id pdbx_val_chiral _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_rcsb_val_chiral.chiral_neighbor_atom_alt_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_val_chiral.chiral_neighbor_atom_alt_id' # save_ # save_pdbx_atlas # _category.description ; Gives information about the organization of the NDB Structural Atlas. ; _category.id pdbx_atlas _category.mandatory_code no # loop_ _category_key.name '_pdbx_atlas.entry_id' '_pdbx_atlas.page_id' # loop_ _category_group.id inclusive_group database_group ndb_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_atlas # save_ # save__pdbx_atlas.entry_id # _item_description.description 'Entry ID.' # _item.name '_pdbx_atlas.entry_id' _item.category_id pdbx_atlas _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_atlas.entry_id' _item_linked.parent_name '_entry.id' # _item_aliases.alias_name '_ndb_atlas.entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_atlas.entry_id' # save_ # save__pdbx_atlas.page_id # _item_description.description 'A unique identifier for a NDB ATLAS index page.' # _item.name '_pdbx_atlas.page_id' _item.category_id pdbx_atlas _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_atlas.page_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_atlas.page_id' # save_ # save__pdbx_atlas.page_name # _item_description.description 'Text of the Atlas index entry.' # _item.name '_pdbx_atlas.page_name' _item.category_id pdbx_atlas _item.mandatory_code yes # _item_type.code text # _item_aliases.alias_name '_ndb_atlas.page_name' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_atlas.page_name' # save_ # save_pdbx_summary_flags # _category.description ; Container category for a list of feature flags associated with each structure entry. ; _category.id pdbx_summary_flags _category.mandatory_code no # loop_ _category_key.name '_pdbx_summary_flags.entry_id' '_pdbx_summary_flags.flag_id' # loop_ _category_group.id inclusive_group database_group ndb_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_summary_flags # save_ # save__pdbx_summary_flags.entry_id # _item_description.description 'Entry ID.' # _item.name '_pdbx_summary_flags.entry_id' _item.category_id pdbx_summary_flags _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_summary_flags.entry_id' _item_linked.parent_name '_entry.id' # _item_aliases.alias_name '_ndb_summary_flags.entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_summary_flags.entry_id' # save_ # save__pdbx_summary_flags.flag_id # _item_description.description 'A feature flag name.' # _item.name '_pdbx_summary_flags.flag_id' _item.category_id pdbx_summary_flags _item.mandatory_code yes # _item_type.code line # loop_ _item_enumeration.value experimental_data_Y_N anisotropic_refinement_Y_N # _item_aliases.alias_name '_ndb_summary_flags.flag_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_summary_flags.flag_id' # save_ # save__pdbx_summary_flags.flag_value # _item_description.description 'A feature flag value' # _item.name '_pdbx_summary_flags.flag_value' _item.category_id pdbx_summary_flags _item.mandatory_code yes # _item_type.code code # loop_ _item_enumeration.value Y N # _item_aliases.alias_name '_ndb_summary_flags.flag_value' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_summary_flags.flag_value' # save_ # save_pdbx_entity_func_bind_mode # _category.description ; Data items in the PDBX_ENTITY_FUNC_BIND_MODE category describe characteristics of protein oligonucleotide binding. ; _category.id pdbx_entity_func_bind_mode _category.mandatory_code no # loop_ _category_key.name '_pdbx_entity_func_bind_mode.id' '_pdbx_entity_func_bind_mode.domain_id' '_pdbx_entity_func_bind_mode.entity_id' # loop_ _category_group.id inclusive_group entity_group ndb_group # _ndb_category_examples.case ; _pdbx_entity_func_bind_mode.domain_id is: ? _pdbx_entity_func_bind_mode.entity_id is: 2 _pdbx_entity_func_bind_mode.id 1 _pdbx_entity_func_bind_mode.protein_binds_to RNA _pdbx_entity_func_bind_mode.type ENZYME ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_entity_func_bind_mode # save_ # save__pdbx_entity_func_bind_mode.id # _item_description.description ; The value of _pdbx_entity_func_bind_mode.id is a unique identifier for a binding mode within a domain within an entity. Note that this item need not be a number; it can be any unique identifier. ; # loop_ _item.name _item.category_id _item.mandatory_code '_pdbx_entity_func_bind_mode.id' pdbx_entity_func_bind_mode yes '_pdbx_entity_func_enzyme.bind_mode_id' pdbx_entity_func_enzyme yes '_pdbx_entity_func_regulatory.bind_mode_id' pdbx_entity_func_regulatory yes '_pdbx_entity_func_structural.bind_mode_id' pdbx_entity_func_structural yes '_pdbx_entity_func_other.bind_mode_id' pdbx_entity_func_other yes # loop_ _item_linked.child_name _item_linked.parent_name '_pdbx_entity_func_enzyme.bind_mode_id' '_pdbx_entity_func_bind_mode.id' '_pdbx_entity_func_regulatory.bind_mode_id' '_pdbx_entity_func_bind_mode.id' '_pdbx_entity_func_structural.bind_mode_id' '_pdbx_entity_func_bind_mode.id' '_pdbx_entity_func_other.bind_mode_id' '_pdbx_entity_func_bind_mode.id' # _item_type.code code # _item_aliases.alias_name '_ndb_entity_func_bind_mode.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_func_bind_mode.id' # save_ # save__pdbx_entity_func_bind_mode.domain_id # _item_description.description ; This data item is a pointer to _pdbx_entity_poly_domain.id in the PDBX_ENTITY_POLY_DOMAIN category. ; # _item.name '_pdbx_entity_func_bind_mode.domain_id' _item.category_id pdbx_entity_func_bind_mode _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_entity_func_bind_mode.domain_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_func_bind_mode.domain_id' # save_ # save__pdbx_entity_func_bind_mode.entity_id # _item_description.description 'This data item is a pointer to _entity.id in the ENTITY category.' # _item.name '_pdbx_entity_func_bind_mode.entity_id' _item.category_id pdbx_entity_func_bind_mode _item.mandatory_code yes # _item_linked.child_name '_pdbx_entity_func_bind_mode.entity_id' _item_linked.parent_name '_entity.id' # _item_aliases.alias_name '_ndb_entity_func_bind_mode.entity_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_func_bind_mode.entity_id' # save_ # save__pdbx_entity_func_bind_mode.protein_binds_to # _item_description.description ; This data item identifies the type of oligonucleotide to which the protein binds. ; # _item.name '_pdbx_entity_func_bind_mode.protein_binds_to' _item.category_id pdbx_entity_func_bind_mode _item.mandatory_code yes # _item_type.code code # loop_ _item_enumeration.value _item_enumeration.detail DNA 'Protein-DNA binding' RNA 'Protein-RNA binding' # _item_aliases.alias_name '_ndb_entity_func_bind_mode.protein_binds_to' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_func_bind_mode.protein_binds_to' # save_ # save__pdbx_entity_func_bind_mode.type # _item_description.description ; This data item describes the functional type of the protein oligonucleotide binding interaction. ; # _item.name '_pdbx_entity_func_bind_mode.type' _item.category_id pdbx_entity_func_bind_mode _item.mandatory_code yes # _item_type.code ucode # loop_ _item_enumeration.value _item_enumeration.detail enzyme 'Enzymatic function' regulatory 'Regulatory function' structural 'Structural function' other 'Other function' # _item_aliases.alias_name '_ndb_entity_func_bind_mode.type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_func_bind_mode.type' # save_ # save_pdbx_entity_func_enzyme # _category.description ; Data items in the PDBX_ENTITY_FUNC_ENZYME category describe characteristics of protein oligonucleotide binding in which the binding mode is enzymatic. ; _category.id pdbx_entity_func_enzyme _category.mandatory_code no # _category_key.name '_pdbx_entity_func_enzyme.bind_mode_id' # loop_ _category_group.id inclusive_group entity_group ndb_group # _ndb_category_examples.case ; _pdbx_entity_func_enzyme.bind_mode_id 1 _pdbx_entity_func_enzyme.type 'RNA Polymerase' ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_entity_func_enzyme # save_ # save__pdbx_entity_func_enzyme.bind_mode_id # _item_description.description ; This data item is pointer to _pdbx_entity_func_bind_mode.id in the PDBX_ENTITY_FUNC_BIND_MODE category. ; # _item.name '_pdbx_entity_func_enzyme.bind_mode_id' _item.mandatory_code yes # _item_aliases.alias_name '_ndb_entity_func_enzyme.bind_mode_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_func_enzyme.bind_mode_id' # save_ # save__pdbx_entity_func_enzyme.type # _item_description.description 'This data item describes the type of enzyme function.' # _item.name '_pdbx_entity_func_enzyme.type' _item.category_id pdbx_entity_func_enzyme _item.mandatory_code yes # _item_type.code uline # loop_ _item_enumeration.value 'DNA Polymerase' 'DNA Polymerase/Reverse Transcriptase' 'RNA Polymerase' 'DNA Nuclease/Endonuclease' 'DNA Nuclease/Exonuclease' 'RNA Nuclease/Endonuclease' 'RNA Nuclease/Exonuclease' 'Glycosylase' 'Helicase' 'Ligase' 'Lyase' 'MRNA Capping' 'Kinase' 'Methylase or Methyltransferase' 'Phosphatase' 'Recombinase/Integrase' 'Recombinase/Resolvase' 'Recombinase/Invertase' 'Recombinase/Transposase' 'Recombinase/Other' 'DNA Repair' 'Synthetase' 'Thrombin' 'TRNA Modifying' 'Topoisomerase' 'Other' # _item_aliases.alias_name '_ndb_entity_func_enzyme.type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_func_enzyme.type' # save_ # save_pdbx_entity_func_regulatory # _category.description ; Data items in the PDBX_ENTITY_FUNC_REGULATORY category describe characteristics of protein oligonucleotide binding in which the binding mode is regulatory. ; _category.id pdbx_entity_func_regulatory _category.mandatory_code no # _category_key.name '_pdbx_entity_func_regulatory.bind_mode_id' # loop_ _category_group.id inclusive_group entity_group ndb_group # _ndb_category_examples.case ; _pdbx_entity_func_regulatory.bind_mode_id 1 _pdbx_entity_func_regulatory.type TRANSCRIPTION FACTOR/ACTIVATOR ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_entity_func_regulatory # save_ # save__pdbx_entity_func_regulatory.bind_mode_id # _item_description.description ; This data item is pointer to _pdbx_entity_func_bind_mode.id in the PDBX_ENTITY_FUNC_BIND_MODE category. ; # _item.name '_pdbx_entity_func_regulatory.bind_mode_id' _item.mandatory_code yes # _item_aliases.alias_name '_ndb_entity_func_regulatory.bind_mode_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_func_regulatory.bind_mode_id' # save_ # save__pdbx_entity_func_regulatory.type # _item_description.description 'This data item describes the type of regulatory function.' # _item.name '_pdbx_entity_func_regulatory.type' _item.category_id pdbx_entity_func_regulatory _item.mandatory_code yes # _item_type.code uline # loop_ _item_enumeration.value 'DNA Repair Activator' 'DNA Repair Repressor' 'Recombination Activator' 'Recombination Repressor' 'Replication Factor/Activator' 'Replication Factor/Repressor' 'Transcription Factor/Activator' 'Transcription Factor/Activator and Repressor' 'Transcription Factor/Coactivator' 'Transcription Factor/Corepressor' 'Transcription Factor/General' 'Transcription Factor/Repressor' 'Transcription Factor/Elongation' 'Transcription Factor/Termination' 'Translation Factor/Initiator' 'Translation Factor/Elongation' 'Translation Factor/Termination' 'Spliceosomal Protein' 'Other' # _item_aliases.alias_name '_ndb_entity_func_regulatory.type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_func_regulatory.type' # save_ # save_pdbx_entity_func_structural # _category.description ; Data items in the PDBX_ENTITY_FUNC_STRUCTURAL category describe characteristics of protein oligonucleotide binding in which the binding mode is structural. ; _category.id pdbx_entity_func_structural _category.mandatory_code no # _category_key.name '_pdbx_entity_func_structural.bind_mode_id' # loop_ _category_group.id inclusive_group entity_group ndb_group # _ndb_category_examples.case ; _pdbx_entity_func_structural.bind_mode_id 1 _pdbx_entity_func_structural.type VIRAL COAT ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_entity_func_structural # save_ # save__pdbx_entity_func_structural.bind_mode_id # _item_description.description ; This data item is pointer to _pdbx_entity_func_bind_mode.id in the PDBX_ENTITY_FUNC_BIND_MODE category. ; # _item.name '_pdbx_entity_func_structural.bind_mode_id' _item.mandatory_code yes # _item_aliases.alias_name '_ndb_entity_func_structural.bind_mode_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_func_structural.bind_mode_id' # save_ # save__pdbx_entity_func_structural.type # _item_description.description 'This data item describes the type of structural function.' # _item.name '_pdbx_entity_func_structural.type' _item.category_id pdbx_entity_func_structural _item.mandatory_code yes # _item_type.code uline # loop_ _item_enumeration.value 'Chromosomal' 'HMG' 'Histone' 'Telomere Binding' 'Viral Coat' 'Ribosomal Protein' 'Ribonucleoprotein' 'Signal Recognition Particle' 'Other' # _item_aliases.alias_name '_ndb_entity_func_structural.type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_func_structural.type' # save_ # save_pdbx_entity_func_other # _category.description ; Data items in the PDBX_ENTITY_FUNC_OTHER category describe characteristics of protein oligonucleotide binding in which the binding mode is not classified. ; _category.id pdbx_entity_func_other _category.mandatory_code no # _category_key.name '_pdbx_entity_func_other.bind_mode_id' # loop_ _category_group.id inclusive_group entity_group ndb_group # _ndb_category_examples.case ; _pdbx_entity_func_other.bind_mode_id 1 _pdbx_entity_func_other.type Antibody ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_entity_func_other # save_ # save__pdbx_entity_func_other.bind_mode_id # _item_description.description ; This data item is pointer to _pdbx_entity_func_bind_mode.id in the PDBX_ENTITY_FUNC_BIND_MODE category. ; # _item.name '_pdbx_entity_func_other.bind_mode_id' _item.mandatory_code yes # _item_aliases.alias_name '_ndb_entity_func_other.bind_mode_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_func_other.bind_mode_id' # save_ # save__pdbx_entity_func_other.type # _item_description.description 'This data item describes the type of structural function.' # _item.name '_pdbx_entity_func_other.type' _item.category_id pdbx_entity_func_other _item.mandatory_code yes # _item_type.code uline # loop_ _item_enumeration.value Antibiotic Antibody Other # _item_aliases.alias_name '_ndb_entity_func_other.type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_func_other.type' # save_ # save_pdbx_entity_poly_domain # _category.description ; Data items in the PDBX_ENTITY_POLY_DOMAIN category specify domains of monomers within a polymer. ; _category.id pdbx_entity_poly_domain _category.mandatory_code no # loop_ _category_key.name '_pdbx_entity_poly_domain.entity_id' '_pdbx_entity_poly_domain.id' # loop_ _category_group.id inclusive_group entity_group ndb_group # _ndb_category_examples.case ; _pdbx_entity_poly_domain.begin_mon_id _pdbx_entity_poly_domain.begin_seq_num _pdbx_entity_poly_domain.end_mon_id _pdbx_entity_poly_domain.end_seq_num _pdbx_entity_poly_domain.entity_id _pdbx_entity_poly_domain.id ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_entity_poly_domain # save_ # save__pdbx_entity_poly_domain.id # _item_description.description ; The value of _pdbx_entity_poly_domain.id must uniquely identify a domain within an entity. Note that this item need not be a number; it can be any unique identifier. ; # _item.name '_pdbx_entity_poly_domain.id' _item.category_id pdbx_entity_poly_domain _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_entity_poly_domain.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_poly_domain.id' # save_ # save__pdbx_entity_poly_domain.entity_id # _item_description.description 'This data item is a pointer to _entity.id in the ENTITY category.' # _item.name '_pdbx_entity_poly_domain.entity_id' _item.category_id pdbx_entity_poly_domain _item.mandatory_code yes # _item_linked.child_name '_pdbx_entity_poly_domain.entity_id' _item_linked.parent_name '_entity.id' # _item_aliases.alias_name '_ndb_entity_poly_domain.entity_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_poly_domain.entity_id' # save_ # save__pdbx_entity_poly_domain.begin_mon_id # _item_description.description ; The value of _pdbx_entity_poly_domain.begin_mon_id identifies the monomer at the beginning of the domain. This must correspond to a record in the ENTITY_POLY_SEQ list. ; # _item.name '_pdbx_entity_poly_domain.begin_mon_id' _item.category_id pdbx_entity_poly_domain _item.mandatory_code yes # _item_linked.child_name '_pdbx_entity_poly_domain.begin_mon_id' _item_linked.parent_name '_entity_poly_seq.mon_id' # _item_type.code ucode # _item_aliases.alias_name '_ndb_entity_poly_domain.begin_mon_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_poly_domain.begin_mon_id' # save_ # save__pdbx_entity_poly_domain.begin_seq_num # _item_description.description ; The value of _pdbx_entity_poly_domain.begin_seq_num identifies the sequence position of the beginning of the domain. This must correspond to a record in the ENTITY_POLY_SEQ list. ; # _item.name '_pdbx_entity_poly_domain.begin_seq_num' _item.category_id pdbx_entity_poly_domain _item.mandatory_code yes # _item_linked.child_name '_pdbx_entity_poly_domain.begin_seq_num' _item_linked.parent_name '_entity_poly_seq.num' # loop_ _item_range.maximum _item_range.minimum . 1 1 1 # _item_type.code int # _item_aliases.alias_name '_ndb_entity_poly_domain.begin_seq_num' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_poly_domain.begin_seq_num' # save_ # save__pdbx_entity_poly_domain.end_mon_id # _item_description.description ; The value of _pdbx_entity_poly_domain.begin_mon_id identifies the monomer at the end of the domain. This must correspond to a record in the ENTITY_POLY_SEQ list. ; # _item.name '_pdbx_entity_poly_domain.end_mon_id' _item.category_id pdbx_entity_poly_domain _item.mandatory_code yes # _item_linked.child_name '_pdbx_entity_poly_domain.end_mon_id' _item_linked.parent_name '_entity_poly_seq.mon_id' # _item_type.code ucode # _item_aliases.alias_name '_ndb_entity_poly_domain.end_mon_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_poly_domain.end_mon_id' # save_ # save__pdbx_entity_poly_domain.end_seq_num # _item_description.description ; The value of _pdbx_entity_poly_domain.begin_seq_num identifies the sequence position of the end of the domain. This must correspond to a record in the ENTITY_POLY_SEQ list. ; # _item.name '_pdbx_entity_poly_domain.end_seq_num' _item.category_id pdbx_entity_poly_domain _item.mandatory_code yes # _item_linked.child_name '_pdbx_entity_poly_domain.end_seq_num' _item_linked.parent_name '_entity_poly_seq.num' # loop_ _item_range.maximum _item_range.minimum . 1 1 1 # _item_type.code int # _item_aliases.alias_name '_ndb_entity_poly_domain.end_seq_num' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_poly_domain.end_seq_num' # save_ # save_pdbx_na_struct_keywds # _category.description ; Data items in the PDBX_NA_STRUCT_KEYWDS category record give details about structural features of the NA. ; _category.id pdbx_na_struct_keywds _category.mandatory_code no # _category_key.name '_pdbx_na_struct_keywds.entry_id' # loop_ _category_group.id inclusive_group struct_group ndb_group # _category_examples.detail ; Example 1 - based on NDB entry UDJ031 ; _category_examples.case ; _pdbx_na_struct_keywds.entry_id 'UDJ031' _pdbx_na_struct_keywds.conformation_type B _pdbx_na_struct_keywds.strand_description 'DOUBLE HELIX' _pdbx_na_struct_keywds.special_feature ; FLIPPED-OUT BASES, INTERMOLECULAR BASE TRIPLET ; ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_na_struct_keywds # save_ # save__pdbx_na_struct_keywds.entry_id # _item_description.description 'This data item is a pointer to _entry.id in the ENTRY category.' # _item.name '_pdbx_na_struct_keywds.entry_id' _item.mandatory_code yes # _item_linked.child_name '_pdbx_na_struct_keywds.entry_id' _item_linked.parent_name '_entry.id' # _item_aliases.alias_name '_ndb_na_struct_keywds.entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_na_struct_keywds.entry_id' # save_ # save__pdbx_na_struct_keywds.conformation_type # _item_description.description ; Provides overall idea about conformation type of NA. Also, it identifies tRNAs by assigning a 'T' here. ; # _item.name '_pdbx_na_struct_keywds.conformation_type' _item.category_id pdbx_na_struct_keywds _item.mandatory_code no # _item_type.code line # loop_ _item_enumeration.value _item_enumeration.detail A 'A-type conformation' B 'B-type conformation' Z 'Z-type conformation' RH 'Right-handed nucleic acid' U 'Unusual nucleic acid' T 'tRNA' # _item_examples.case A # _item_aliases.alias_name '_ndb_na_struct_keywds.conformation_type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_na_struct_keywds.conformation_type' # save_ # save__pdbx_na_struct_keywds.strand_description # _item_description.description 'Gives general structural description of NA.' # _item.name '_pdbx_na_struct_keywds.strand_description' _item.category_id pdbx_na_struct_keywds _item.mandatory_code no # _item_type.code line # loop_ _item_enumeration.value 'DOUBLE HELIX' 'TRIPLE HELIX' 'QUADRUPLE HELIX' 'SINGLE STRAND' # _item_examples.case 'DOUBLE HELIX' # _item_aliases.alias_name '_ndb_na_struct_keywds.strand_description' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_na_struct_keywds.strand_description' # save_ # save__pdbx_na_struct_keywds.special_feature # _item_description.description 'Describes special features of NA.' # _item.name '_pdbx_na_struct_keywds.special_feature' _item.category_id pdbx_na_struct_keywds _item.mandatory_code no # _item_type.code line # loop_ _item_examples.case ;LOOP ; ;LOOPS ; ;INTERNAL LOOP ; ;HAIRPIN LOOP ; ;BULGES ; ;FLIPPED-OUT BASES ; ;STICKY ENDS ; ;OVERHANGING BASES ; ; 5'-UU-OVERHANG ; ;CYCLIC ; ;PARALLEL HELIX ; ;CONTINUOUS HELIX ; ;HAMMERHEAD ; ;HAMMERHEAD DNA-RNA RIBOZYME ; ;RNA HAMMERHEAD RIBOZYME ; ;TETRAPLEX ; ;PARALLEL-STRANDED TETRAPLEX ; ;TETRAMERIC AGGREGATE ; ;BASE TRIPLET ; ;INTERMOLECULAR BASE TRIPLET ; ;NICKED ; ;SHIFTED BASE PAIRS ; ;OPEN HELIX ; ;OPEN ; ;CLOSED ; ;BASE INTERCALATED ; ;RACEMATE ; ;A-DNA LIKE CONFORMATION AT TERMINI ; ;Z-DNA STEM ; ; 2'-5' PHOSPHODIESTER BOND ; # _item_aliases.alias_name '_ndb_na_struct_keywds.special_feature' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_na_struct_keywds.special_feature' # save_ # save_pdbx_entity_poly_na_type # _category.description ; Data items in the PDBX_ENTITY_POLY_NA_TYPE category describe type of nucleic acid polymer entities. ; _category.id pdbx_entity_poly_na_type _category.mandatory_code no # loop_ _category_key.name '_pdbx_entity_poly_na_type.entity_id' '_pdbx_entity_poly_na_type.type' # loop_ _category_group.id inclusive_group entity_group ndb_group # _ndb_category_examples.case ; loop_ _pdbx_entity_poly_na_type.entity_id _pdbx_entity_poly_na_type.type 1 'RNA' 1 't-RNA' ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_entity_poly_na_type # save_ # save__pdbx_entity_poly_na_type.entity_id # _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; # _item.name '_pdbx_entity_poly_na_type.entity_id' _item.category_id pdbx_entity_poly_na_type _item.mandatory_code yes # _item_linked.child_name '_pdbx_entity_poly_na_type.entity_id' _item_linked.parent_name '_entity.id' # _item_aliases.alias_name '_ndb_entity_poly_na_type.entity_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_poly_na_type.entity_id' # save_ # save__pdbx_entity_poly_na_type.type # _item_description.description 'This data item describes the nucleic acid type.' # _item.name '_pdbx_entity_poly_na_type.type' _item.category_id pdbx_entity_poly_na_type _item.mandatory_code yes # _item_type.code line # loop_ _item_enumeration.value _item_enumeration.detail 'DNA' . 'RNA' . 'DNA/RNA hybrid' . 'Peptide NA' . 't-RNA' . 'Ribosomal RNA' . 'Ribozyme' . 'Aptamer' . 'Oligonucleotide fragment' . # _item_aliases.alias_name '_ndb_entity_poly_na_type.type' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_poly_na_type.type' # save_ # save_pdbx_entity_poly_na_nonstandard # _category.description ; Data items in the PDBX_ENTITY_POLY_NA_NONSTANDARD category describe the nonstandard features of the nucleic acid polymer entities. ; _category.id pdbx_entity_poly_na_nonstandard _category.mandatory_code no # loop_ _category_key.name '_pdbx_entity_poly_na_nonstandard.entity_id' '_pdbx_entity_poly_na_nonstandard.feature' # loop_ _category_group.id inclusive_group entity_group ndb_group # _ndb_category_examples.case ; loop_ _pdbx_entity_poly_na_nonstandard.entity_id _pdbx_entity_poly_na_nonstandard.feature 1 'base modification' 1 'sugar modification' ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_entity_poly_na_nonstandard # save_ # save__pdbx_entity_poly_na_nonstandard.entity_id # _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; # _item.name '_pdbx_entity_poly_na_nonstandard.entity_id' _item.category_id pdbx_entity_poly_na_nonstandard _item.mandatory_code yes # _item_linked.child_name '_pdbx_entity_poly_na_nonstandard.entity_id' _item_linked.parent_name '_entity.id' # _item_aliases.alias_name '_ndb_entity_poly_na_nonstandard.entity_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_poly_na_nonstandard.entity_id' # save_ # save__pdbx_entity_poly_na_nonstandard.feature # _item_description.description ; This data item describes the nonstandard feature of the nucleic acid polymer entity. ; # _item.name '_pdbx_entity_poly_na_nonstandard.feature' _item.category_id pdbx_entity_poly_na_nonstandard _item.mandatory_code yes # _item_type.code line # loop_ _item_enumeration.value _item_enumeration.detail 'base modification' . 'sugar modification' . 'phosphate modification' . 'cyclic nucleotide' . '2'-5'-phosphodiester linkage' . # _item_aliases.alias_name '_ndb_entity_poly_na_nonstandard.feature' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_entity_poly_na_nonstandard.feature' # save_ # # save_pdbx_virtual_angle # _category.description ; Data items in the PDBX_VIRTUAL_ANGLE category record details about the molecular virtual angles, as calculated from the contents of the ATOM, CELL, and SYMMETRY data. ; _category.id pdbx_virtual_angle _category.mandatory_code no # loop_ _category_key.name '_pdbx_virtual_angle.atom_site_id_1' '_pdbx_virtual_angle.atom_site_id_2' '_pdbx_virtual_angle.atom_site_id_3' '_pdbx_virtual_angle.model_id' '_pdbx_virtual_angle.site_symmetry_1' '_pdbx_virtual_angle.site_symmetry_2' '_pdbx_virtual_angle.site_symmetry_3' # loop_ _category_group.id inclusive_group ndb_group # _category_examples.detail ; Example 1 - ; _category_examples.case ; loop_ _pdbx_virtual_angle.atom_site_id_1 _pdbx_virtual_angle.atom_site_id_2 _pdbx_virtual_angle.atom_site_id_3 _pdbx_virtual_angle.model_id _pdbx_virtual_angle.value _pdbx_virtual_angle.site_symmetry_1 _pdbx_virtual_angle.site_symmetry_2 _pdbx_virtual_angle.site_symmetry_3 1 15 20 1 111.6 1_555 1_555 1_555 # - - - - data truncated for brevity - - - - ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_virtual_angle # save_ # save__pdbx_virtual_angle.model_id # _item_description.description 'The model number for the given angle' # _item.name '_pdbx_virtual_angle.model_id' _item.category_id pdbx_virtual_angle _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_virtual_angle.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_ndb_virtual_angle.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.model_id' # save_ # save__pdbx_virtual_angle.atom_site_id_1 # _item_description.description ; The identifier of the first of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_id_1' _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # loop_ _item_dependent.dependent_name '_pdbx_virtual_angle.atom_site_id_2' '_pdbx_virtual_angle.atom_site_id_3' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_id_1' # save_ # save__pdbx_virtual_angle.atom_site_label_alt_id_1 # _item_description.description ; An optional identifier of the first of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_alt_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_alt_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_alt_id_1' # save_ # save__pdbx_virtual_angle.atom_site_label_atom_id_1 # _item_description.description ; An optional identifier of the first of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_atom_id_1' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_atom_id_1' # save_ # save__pdbx_virtual_angle.atom_site_label_comp_id_1 # _item_description.description ; An optional identifier of the first of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_comp_id_1' _item.mandatory_code no # _item_type.code ucode # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_comp_id_1' # save_ # save__pdbx_virtual_angle.atom_site_label_seq_id_1 # _item_description.description ; An optional identifier of the first of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_seq_id_1' _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_seq_id_1' # save_ # save__pdbx_virtual_angle.atom_site_label_asym_id_1 # _item_description.description ; An optional identifier of the first of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_asym_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_asym_id_1' # save_ # save__pdbx_virtual_angle.atom_site_id_2 # _item_description.description ; The identifier of the second of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. The second atom is taken to be the apex of the angle. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_id_2' _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # loop_ _item_dependent.dependent_name '_pdbx_virtual_angle.atom_site_id_1' '_pdbx_virtual_angle.atom_site_id_3' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_id_2' # save_ # save__pdbx_virtual_angle.atom_site_label_alt_id_2 # _item_description.description ; An optional identifier of the second of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_alt_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_alt_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_alt_id_2' # save_ # save__pdbx_virtual_angle.atom_site_label_atom_id_2 # _item_description.description ; An optional identifier of the second of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_atom_id_2' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_atom_id_2' # save_ # save__pdbx_virtual_angle.atom_site_label_comp_id_2 # _item_description.description ; An optional identifier of the second of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_comp_id_2' _item.mandatory_code no # _item_type.code ucode # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_comp_id_2' # save_ # save__pdbx_virtual_angle.atom_site_label_seq_id_2 # _item_description.description ; An optional identifier of the second of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_seq_id_2' _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_seq_id_2' # save_ # save__pdbx_virtual_angle.atom_site_label_asym_id_2 # _item_description.description ; An optional identifier of the second of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_asym_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_asym_id_2' # save_ # save__pdbx_virtual_angle.atom_site_id_3 # _item_description.description ; The identifier of the third of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_id_3' _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # loop_ _item_dependent.dependent_name '_pdbx_virtual_angle.atom_site_id_1' '_pdbx_virtual_angle.atom_site_id_2' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_id_3' # save_ # save__pdbx_virtual_angle.atom_site_label_alt_id_3 # _item_description.description ; An optional identifier of the third of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_alt_id_3' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_alt_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_alt_id_3' # save_ # save__pdbx_virtual_angle.atom_site_label_atom_id_3 # _item_description.description ; An optional identifier of the third of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_atom_id_3' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_atom_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_atom_id_3' # save_ # save__pdbx_virtual_angle.atom_site_label_comp_id_3 # _item_description.description ; An optional identifier of the third of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_comp_id_3' _item.mandatory_code no # _item_type.code ucode # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_comp_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_comp_id_3' # save_ # save__pdbx_virtual_angle.atom_site_label_seq_id_3 # _item_description.description ; An optional identifier of the third of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_seq_id_3' _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_seq_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_seq_id_3' # save_ # save__pdbx_virtual_angle.atom_site_label_asym_id_3 # _item_description.description ; An optional identifier of the third of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_label_asym_id_3' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_label_asym_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_label_asym_id_3' # save_ # save__pdbx_virtual_angle.atom_site_auth_asym_id_1 # _item_description.description ; An optional identifier of the first of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_auth_asym_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_auth_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_auth_asym_id_1' # save_ # save__pdbx_virtual_angle.atom_site_auth_atom_id_1 # _item_description.description ; An optional identifier of the first of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_auth_atom_id_1' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_auth_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_auth_atom_id_1' # save_ # save__pdbx_virtual_angle.atom_site_auth_comp_id_1 # _item_description.description ; An optional identifier of the first of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_auth_comp_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_auth_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_auth_comp_id_1' # save_ # save__pdbx_virtual_angle.atom_site_auth_seq_id_1 # _item_description.description ; An optional identifier of the first of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_auth_seq_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_auth_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_auth_seq_id_1' # save_ # save__pdbx_virtual_angle.atom_site_auth_atom_id_2 # _item_description.description ; An optional identifier of the second of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_auth_atom_id_2' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_auth_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_auth_atom_id_2' # save_ # save__pdbx_virtual_angle.atom_site_auth_asym_id_2 # _item_description.description ; An optional identifier of the second of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_auth_asym_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_auth_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_auth_asym_id_2' # save_ # save__pdbx_virtual_angle.atom_site_auth_comp_id_2 # _item_description.description ; An optional identifier of the second of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_auth_comp_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_auth_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_auth_comp_id_2' # save_ # save__pdbx_virtual_angle.atom_site_auth_seq_id_2 # _item_description.description ; An optional identifier of the second of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_auth_seq_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_auth_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_auth_seq_id_2' # save_ # save__pdbx_virtual_angle.atom_site_auth_atom_id_3 # _item_description.description ; An optional identifier of the third of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_auth_atom_id_3' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_auth_atom_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_auth_atom_id_3' # save_ # save__pdbx_virtual_angle.atom_site_auth_asym_id_3 # _item_description.description ; An optional identifier of the third of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_auth_asym_id_3' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_auth_asym_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_auth_asym_id_3' # save_ # save__pdbx_virtual_angle.atom_site_auth_comp_id_3 # _item_description.description ; An optional identifier of the third of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_auth_comp_id_3' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_auth_comp_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_auth_comp_id_3' # save_ # save__pdbx_virtual_angle.atom_site_auth_seq_id_3 # _item_description.description ; An optional identifier of the third of the three atom sites that define the angle specified by _pdbx_virtual_angle.value. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_angle.atom_site_auth_seq_id_3' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_angle.atom_site_auth_seq_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.atom_site_auth_seq_id_3' # save_ # save__pdbx_virtual_angle.site_symmetry_1 # _item_description.description ; The symmetry code of the first of the three atom sites that define the angle specified by _pdbx_virtual_angle. ; # _item.name '_pdbx_virtual_angle.site_symmetry_1' _item.category_id pdbx_virtual_angle _item.mandatory_code yes # _item_aliases.alias_name '_ndb_virtual_angle.site_symmetry_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _item_default.value 1_555 # _item_type.code symop # loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.site_symmetry_1' # save_ # save__pdbx_virtual_angle.site_symmetry_2 # _item_description.description ; The symmetry code of the second of the three atom sites that define the angle specified by _pdbx_virtual_angle. ; # _item.name '_pdbx_virtual_angle.site_symmetry_2' _item.category_id pdbx_virtual_angle _item.mandatory_code yes # _item_aliases.alias_name '_ndb_virtual_angle.site_symmetry_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _item_default.value 1_555 # _item_type.code symop # loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.site_symmetry_2' # save_ # save__pdbx_virtual_angle.site_symmetry_3 # _item_description.description ; The symmetry code of the third of the three atom sites that define the angle specified by _pdbx_virtual_angle. ; # _item.name '_pdbx_virtual_angle.site_symmetry_3' _item.category_id pdbx_virtual_angle _item.mandatory_code yes # _item_aliases.alias_name '_ndb_virtual_angle.site_symmetry_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _item_default.value 1_555 # _item_type.code symop # loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.site_symmetry_3' # save_ # save__pdbx_virtual_angle.value # _item_description.description ; Angle in degrees bounded by the three sites _pdbx_virtual_angle.atom_site_id_1, _pdbx_virtual_angle.atom_site_id_2 and _pdbx_virtual_angle.atom_site_id_3. ; # _item.name '_pdbx_virtual_angle.value' _item.category_id pdbx_virtual_angle _item.mandatory_code no # _item_aliases.alias_name '_ndb_virtual_angle.value' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _item_related.related_name '_pdbx_virtual_angle.value_esd' _item_related.function_code associated_esd # _item_type.code float # _item_type_conditions.code esd # _item_units.code degrees # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.value' # save_ # save__pdbx_virtual_angle.value_esd # _item_description.description 'The estimated standard deviation of _pdbx_virtual_angle.value.' # _item.name '_pdbx_virtual_angle.value_esd' _item.category_id pdbx_virtual_angle _item.mandatory_code no # _item_default.value 0.0 # _item_related.related_name '_pdbx_virtual_angle.value' _item_related.function_code associated_value # _item_type.code float # _item_units.code degrees # _item_aliases.alias_name '_ndb_virtual_angle.value_esd' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_angle.value_esd' # save_ # save_pdbx_virtual_bond # _category.description ; Data items in the PDBX_VIRTUAL_BOND category record details about virtual bonds, as calculated from the contents of the ATOM, CELL, and SYMMETRY data. ; _category.id pdbx_virtual_bond _category.mandatory_code no # loop_ _category_key.name '_pdbx_virtual_bond.atom_site_id_1' '_pdbx_virtual_bond.atom_site_id_2' '_pdbx_virtual_bond.model_id' '_pdbx_virtual_bond.site_symmetry_1' '_pdbx_virtual_bond.site_symmetry_2' # loop_ _category_group.id inclusive_group ndb_group # _category_examples.detail ; Example 1 - ; _category_examples.case ; loop_ _pdbx_virtual_bond.atom_site_id_1 _pdbx_virtual_bond.atom_site_id_2 _pdbx_virtual_bond.model_id _pdbx_virtual_bond.dist _pdbx_virtual_bond.site_symmetry_1 _pdbx_virtual_bond.site_symmetry_2 1 5 1 3.40 1_555 1_555 # - - - - data truncated for brevity - - - - ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_virtual_bond # save_ # save__pdbx_virtual_bond.model_id # _item_description.description 'The model number for the given bond' # _item.name '_pdbx_virtual_bond.model_id' _item.category_id pdbx_virtual_bond _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_virtual_bond.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_ndb_virtual_bond.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.model_id' # save_ # save__pdbx_virtual_bond.atom_site_id_1 # _item_description.description ; The identifier of the first of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_id_1' _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _item_dependent.dependent_name '_pdbx_virtual_bond.atom_site_id_2' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_id_1' # save_ # save__pdbx_virtual_bond.atom_site_label_alt_id_1 # _item_description.description ; An optional identifier of the first of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_label_alt_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_label_alt_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_label_alt_id_1' # save_ # save__pdbx_virtual_bond.atom_site_label_atom_id_1 # _item_description.description ; An optional identifier of the first of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_label_atom_id_1' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_label_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_label_atom_id_1' # save_ # save__pdbx_virtual_bond.atom_site_label_comp_id_1 # _item_description.description ; An optional identifier of the first of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_label_comp_id_1' _item.mandatory_code no # _item_type.code ucode # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_label_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_label_comp_id_1' # save_ # save__pdbx_virtual_bond.atom_site_label_seq_id_1 # _item_description.description ; An optional identifier of the first of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_label_seq_id_1' _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_label_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_label_seq_id_1' # save_ # save__pdbx_virtual_bond.atom_site_label_asym_id_1 # _item_description.description ; An optional identifier of the first of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_label_asym_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_label_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_label_asym_id_1' # save_ # save__pdbx_virtual_bond.atom_site_id_2 # _item_description.description ; The identifier of the second of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_id_2' _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _item_dependent.dependent_name '_pdbx_virtual_bond.atom_site_id_1' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_id_2' # save_ # save__pdbx_virtual_bond.atom_site_label_alt_id_2 # _item_description.description ; An optional identifier of the second of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_label_alt_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_label_alt_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_label_alt_id_2' # save_ # save__pdbx_virtual_bond.atom_site_label_atom_id_2 # _item_description.description ; An optional identifier of the second of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_label_atom_id_2' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_label_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_label_atom_id_2' # save_ # save__pdbx_virtual_bond.atom_site_label_comp_id_2 # _item_description.description ; An optional identifier of the second of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_label_comp_id_2' _item.mandatory_code no # _item_type.code ucode # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_label_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_label_comp_id_2' # save_ # save__pdbx_virtual_bond.atom_site_label_seq_id_2 # _item_description.description ; An optional identifier of the second of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_label_seq_id_2' _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_label_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_label_seq_id_2' # save_ # save__pdbx_virtual_bond.atom_site_label_asym_id_2 # _item_description.description ; An optional identifier of the second of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_label_asym_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_label_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_label_asym_id_2' # save_ # save__pdbx_virtual_bond.atom_site_auth_atom_id_1 # _item_description.description ; An optional identifier of the first of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_auth_atom_id_1' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_auth_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_auth_atom_id_1' # save_ # save__pdbx_virtual_bond.atom_site_auth_asym_id_1 # _item_description.description ; An optional identifier of the first of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_auth_asym_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_auth_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_auth_asym_id_1' # save_ # save__pdbx_virtual_bond.atom_site_auth_comp_id_1 # _item_description.description ; An optional identifier of the first of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_auth_comp_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_auth_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_auth_comp_id_1' # save_ # save__pdbx_virtual_bond.atom_site_auth_seq_id_1 # _item_description.description ; An optional identifier of the first of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_auth_seq_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_auth_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_auth_seq_id_1' # save_ # save__pdbx_virtual_bond.atom_site_auth_atom_id_2 # _item_description.description ; An optional identifier of the second of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_auth_atom_id_2' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_auth_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_auth_atom_id_2' # save_ # save__pdbx_virtual_bond.atom_site_auth_asym_id_2 # _item_description.description ; An optional identifier of the second of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_auth_asym_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_auth_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_auth_asym_id_2' # save_ # save__pdbx_virtual_bond.atom_site_auth_comp_id_2 # _item_description.description ; An optional identifier of the second of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_auth_comp_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_auth_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_auth_comp_id_2' # save_ # save__pdbx_virtual_bond.atom_site_auth_seq_id_2 # _item_description.description ; An optional identifier of the second of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_bond.atom_site_auth_seq_id_2' _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_virtual_bond.atom_site_auth_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.atom_site_auth_seq_id_2' # save_ # save__pdbx_virtual_bond.dist # _item_description.description 'The intramolecular bond distance in angstroms.' # _item.name '_pdbx_virtual_bond.dist' _item.category_id pdbx_virtual_bond _item.mandatory_code no # _item_aliases.alias_name '_ndb_virtual_bond.dist' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # loop_ _item_range.maximum _item_range.minimum . 0.0 0.0 0.0 # _item_related.related_name '_pdbx_virtual_bond.dist_esd' _item_related.function_code associated_esd # _item_type.code float # _item_type_conditions.code esd # _item_units.code angstroms # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.dist' # save_ # save__pdbx_virtual_bond.dist_esd # _item_description.description 'The estimated standard deviation of _pdbx_virtual_bond.dist.' # _item.name '_pdbx_virtual_bond.dist_esd' _item.category_id pdbx_virtual_bond _item.mandatory_code no # _item_default.value 0.0 # _item_related.related_name '_pdbx_virtual_bond.dist' _item_related.function_code associated_value # _item_type.code float # _item_units.code angstroms # _item_aliases.alias_name '_ndb_virtual_bond.dist_esd' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.dist_esd' # save_ # save__pdbx_virtual_bond.site_symmetry_1 # _item_description.description ; The symmetry code of the first of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. ; # _item.name '_pdbx_virtual_bond.site_symmetry_1' _item.category_id pdbx_virtual_bond _item.mandatory_code yes # _item_aliases.alias_name '_ndb_virtual_bond.site_symmetry_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _item_default.value 1_555 # _item_type.code symop # loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.site_symmetry_1' # save_ # save__pdbx_virtual_bond.site_symmetry_2 # _item_description.description ; The symmetry code of the second of the two atom sites that define the bond specified by _pdbx_virtual_bond.dist. ; # _item.name '_pdbx_virtual_bond.site_symmetry_2' _item.category_id pdbx_virtual_bond _item.mandatory_code yes # _item_aliases.alias_name '_ndb_virtual_bond.site_symmetry_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _item_default.value 1_555 # _item_type.code symop # loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_bond.site_symmetry_2' # save_ # save_pdbx_virtual_torsion # _category.description ; Data items in the PDBX_VIRTUAL_TORSION category record details about virtual torsion angles, as calculated from the contents of the ATOM, CELL, and SYMMETRY data. ; _category.id pdbx_virtual_torsion _category.mandatory_code no # loop_ _category_key.name '_pdbx_virtual_torsion.atom_site_id_1' '_pdbx_virtual_torsion.atom_site_id_2' '_pdbx_virtual_torsion.atom_site_id_3' '_pdbx_virtual_torsion.atom_site_id_4' '_pdbx_virtual_torsion.model_id' '_pdbx_virtual_torsion.site_symmetry_1' '_pdbx_virtual_torsion.site_symmetry_2' '_pdbx_virtual_torsion.site_symmetry_3' '_pdbx_virtual_torsion.site_symmetry_4' # loop_ _category_group.id inclusive_group ndb_group # _category_examples.detail ; Example 1 - ; _category_examples.case ; loop_ _pdbx_virtual_torsion.atom_site_id_1 _pdbx_virtual_torsion.atom_site_id_2 _pdbx_virtual_torsion.atom_site_id_3 _pdbx_virtual_torsion.atom_site_id_4 _pdbx_virtual_torsion.model_id _pdbx_virtual_torsion.value _pdbx_virtual_torsion.site_symmetry_1 _pdbx_virtual_torsion.site_symmetry_2 _pdbx_virtual_torsion.site_symmetry_3 _pdbx_virtual_torsion.site_symmetry_4 1 2 5 9 1 71.8 1_555 1_555 1_555 1_555 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_virtual_torsion # save_ # save__pdbx_virtual_torsion.model_id # _item_description.description 'The model number for the given angle' # _item.name '_pdbx_virtual_torsion.model_id' _item.category_id pdbx_virtual_torsion _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_virtual_torsion.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_ndb_virtual_torsion.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.model_id' # save_ # save__pdbx_virtual_torsion.atom_site_id_1 # _item_description.description ; The identifier of the first of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_id_1' _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # loop_ _item_dependent.dependent_name '_pdbx_virtual_torsion.atom_site_id_2' '_pdbx_virtual_torsion.atom_site_id_3' '_pdbx_virtual_torsion.atom_site_id_4' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_id_1' # save_ # save__pdbx_virtual_torsion.atom_site_label_alt_id_1 # _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_alt_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_alt_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_alt_id_1' # save_ # save__pdbx_virtual_torsion.atom_site_label_atom_id_1 # _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_atom_id_1' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_atom_id_1' # save_ # save__pdbx_virtual_torsion.atom_site_label_comp_id_1 # _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_comp_id_1' _item.mandatory_code no # _item_type.code ucode # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_comp_id_1' # save_ # save__pdbx_virtual_torsion.atom_site_label_seq_id_1 # _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_seq_id_1' _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_seq_id_1' # save_ # save__pdbx_virtual_torsion.atom_site_label_asym_id_1 # _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_asym_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_asym_id_1' # save_ # save__pdbx_virtual_torsion.atom_site_id_2 # _item_description.description ; The identifier of the second of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_id_2' _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # loop_ _item_dependent.dependent_name '_pdbx_virtual_torsion.atom_site_id_1' '_pdbx_virtual_torsion.atom_site_id_3' '_pdbx_virtual_torsion.atom_site_id_4' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_id_2' # save_ # save__pdbx_virtual_torsion.atom_site_label_alt_id_2 # _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_alt_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_alt_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_alt_id_2' # save_ # save__pdbx_virtual_torsion.atom_site_label_atom_id_2 # _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_atom_id_2' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_atom_id_2' # save_ # save__pdbx_virtual_torsion.atom_site_label_comp_id_2 # _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_comp_id_2' _item.mandatory_code no # _item_type.code ucode # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_comp_id_2' # save_ # save__pdbx_virtual_torsion.atom_site_label_seq_id_2 # _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_seq_id_2' _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_seq_id_2' # save_ # save__pdbx_virtual_torsion.atom_site_label_asym_id_2 # _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_asym_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_asym_id_2' # save_ # save__pdbx_virtual_torsion.atom_site_id_3 # _item_description.description ; The identifier of the third of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_id_3' _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # loop_ _item_dependent.dependent_name '_pdbx_virtual_torsion.atom_site_id_1' '_pdbx_virtual_torsion.atom_site_id_2' '_pdbx_virtual_torsion.atom_site_id_4' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_id_3' # save_ # save__pdbx_virtual_torsion.atom_site_label_alt_id_3 # _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_alt_id_3' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_alt_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_alt_id_3' # save_ # save__pdbx_virtual_torsion.atom_site_label_atom_id_3 # _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_atom_id_3' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_atom_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_atom_id_3' # save_ # save__pdbx_virtual_torsion.atom_site_label_comp_id_3 # _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_comp_id_3' _item.mandatory_code no # _item_type.code ucode # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_comp_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_comp_id_3' # save_ # save__pdbx_virtual_torsion.atom_site_label_seq_id_3 # _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_seq_id_3' _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_seq_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_seq_id_3' # save_ # save__pdbx_virtual_torsion.atom_site_label_asym_id_3 # _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_asym_id_3' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_asym_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_asym_id_3' # save_ # save__pdbx_virtual_torsion.atom_site_id_4 # _item_description.description ; The identifier of the fourth of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_id_4' _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_id_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # loop_ _item_dependent.dependent_name '_pdbx_virtual_torsion.atom_site_id_1' '_pdbx_virtual_torsion.atom_site_id_2' '_pdbx_virtual_torsion.atom_site_id_3' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_id_4' # save_ # save__pdbx_virtual_torsion.atom_site_label_alt_id_4 # _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_alt_id_4' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_alt_id_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_alt_id_4' # save_ # save__pdbx_virtual_torsion.atom_site_label_atom_id_4 # _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_atom_id_4' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_atom_id_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_atom_id_4' # save_ # save__pdbx_virtual_torsion.atom_site_label_comp_id_4 # _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_comp_id_4' _item.mandatory_code no # _item_type.code ucode # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_comp_id_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_comp_id_4' # save_ # save__pdbx_virtual_torsion.atom_site_label_seq_id_4 # _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_seq_id_4' _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_seq_id_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_seq_id_4' # save_ # save__pdbx_virtual_torsion.atom_site_label_asym_id_4 # _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_label_asym_id_4' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_label_asym_id_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_label_asym_id_4' # save_ # save__pdbx_virtual_torsion.atom_site_auth_atom_id_1 # _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_atom_id_1' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_atom_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_atom_id_1' # save_ # save__pdbx_virtual_torsion.atom_site_auth_asym_id_1 # _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_asym_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_asym_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_asym_id_1' # save_ # save__pdbx_virtual_torsion.atom_site_auth_comp_id_1 # _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_comp_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_comp_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_comp_id_1' # save_ # save__pdbx_virtual_torsion.atom_site_auth_seq_id_1 # _item_description.description ; An optional identifier of the first of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_seq_id_1' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_seq_id_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_seq_id_1' # save_ # save__pdbx_virtual_torsion.atom_site_auth_atom_id_2 # _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_atom_id_2' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_atom_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_atom_id_2' # save_ # save__pdbx_virtual_torsion.atom_site_auth_asym_id_2 # _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_asym_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_asym_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_asym_id_2' # save_ # save__pdbx_virtual_torsion.atom_site_auth_comp_id_2 # _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_comp_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_comp_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_comp_id_2' # save_ # save__pdbx_virtual_torsion.atom_site_auth_seq_id_2 # _item_description.description ; An optional identifier of the second of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_seq_id_2' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_seq_id_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_seq_id_2' # save_ # save__pdbx_virtual_torsion.atom_site_auth_atom_id_3 # _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_atom_id_3' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_atom_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_atom_id_3' # save_ # save__pdbx_virtual_torsion.atom_site_auth_asym_id_3 # _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_asym_id_3' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_asym_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_asym_id_3' # save_ # save__pdbx_virtual_torsion.atom_site_auth_comp_id_3 # _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_comp_id_3' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_comp_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_comp_id_3' # save_ # save__pdbx_virtual_torsion.atom_site_auth_seq_id_3 # _item_description.description ; An optional identifier of the third of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_seq_id_3' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_seq_id_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_seq_id_3' # save_ # save__pdbx_virtual_torsion.atom_site_auth_atom_id_4 # _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_atom_id_4' _item.mandatory_code no # _item_type.code atcode # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_atom_id_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_atom_id_4' # save_ # save__pdbx_virtual_torsion.atom_site_auth_asym_id_4 # _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_asym_id_4' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_asym_id_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_asym_id_4' # save_ # save__pdbx_virtual_torsion.atom_site_auth_comp_id_4 # _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_comp_id_4' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_comp_id_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_comp_id_4' # save_ # save__pdbx_virtual_torsion.atom_site_auth_seq_id_4 # _item_description.description ; An optional identifier of the fourth of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_virtual_torsion.atom_site_auth_seq_id_4' _item.mandatory_code no # _item_type.code code # _item_aliases.alias_name '_ndb_virtual_torsion.atom_site_auth_seq_id_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.atom_site_auth_seq_id_4' # save_ # save__pdbx_virtual_torsion.site_symmetry_1 # _item_description.description ; The symmetry code of the first of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. ; # _item.name '_pdbx_virtual_torsion.site_symmetry_1' _item.category_id pdbx_virtual_torsion _item.mandatory_code yes # _item_aliases.alias_name '_ndb_virtual_torsion.site_symmetry_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _item_default.value 1_555 # _item_type.code symop # loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.site_symmetry_1' # save_ # save__pdbx_virtual_torsion.site_symmetry_2 # _item_description.description ; The symmetry code of the second of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. ; # _item.name '_pdbx_virtual_torsion.site_symmetry_2' _item.category_id pdbx_virtual_torsion _item.mandatory_code yes # _item_aliases.alias_name '_ndb_virtual_torsion.site_symmetry_2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _item_default.value 1_555 # _item_type.code symop # loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.site_symmetry_2' # save_ # save__pdbx_virtual_torsion.site_symmetry_3 # _item_description.description ; The symmetry code of the third of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. ; # _item.name '_pdbx_virtual_torsion.site_symmetry_3' _item.category_id pdbx_virtual_torsion _item.mandatory_code yes # _item_aliases.alias_name '_ndb_virtual_torsion.site_symmetry_3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _item_default.value 1_555 # _item_type.code symop # loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.site_symmetry_3' # save_ # save__pdbx_virtual_torsion.site_symmetry_4 # _item_description.description ; The symmetry code of the fourth of the four atom sites that define the torsion angle specified by _pdbx_virtual_torsion.value. ; # _item.name '_pdbx_virtual_torsion.site_symmetry_4' _item.category_id pdbx_virtual_torsion _item.mandatory_code yes # _item_aliases.alias_name '_ndb_virtual_torsion.site_symmetry_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _item_default.value 1_555 # _item_type.code symop # loop_ _item_examples.case _item_examples.detail 4 '4th symmetry operation applied' 7_645 '7th symm. posn.; +a on x; -b on y' # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.site_symmetry_4' # save_ # save__pdbx_virtual_torsion.value # _item_description.description 'The value of the torsion angle in degrees.' # _item.name '_pdbx_virtual_torsion.value' _item.category_id pdbx_virtual_torsion _item.mandatory_code no # _item_aliases.alias_name '_ndb_virtual_torsion.value' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _item_related.related_name '_pdbx_virtual_torsion.value_esd' _item_related.function_code associated_esd # _item_type.code float # _item_type_conditions.code esd # _item_units.code degrees # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.value' # save_ # save__pdbx_virtual_torsion.value_esd # _item_description.description 'The estimated standard deviation of _pdbx_virtual_torsion.value.' # _item.name '_pdbx_virtual_torsion.value_esd' _item.category_id pdbx_virtual_torsion _item.mandatory_code no # _item_default.value 0.0 # _item_related.related_name '_pdbx_virtual_torsion.value' _item_related.function_code associated_value # _item_type.code float # _item_units.code degrees # _item_aliases.alias_name '_ndb_virtual_torsion.value_esd' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_virtual_torsion.value_esd' # save_ # save_pdbx_sequence_pattern # _category.description ; Data items in the PDBX_SEQUENCE_PATTERN category record the number of occurences of common step sequence patterns (e.g. AA, CG, AT). ; _category.id pdbx_sequence_pattern _category.mandatory_code no # loop_ _category_key.name '_pdbx_sequence_pattern.label_asym_id' '_pdbx_sequence_pattern.sequence_pattern' # loop_ _category_group.id inclusive_group ndb_group # _category_examples.detail ; Example 1 - ; _category_examples.case ; loop_ _pdbx_sequence_pattern.label_asym_id _pdbx_sequence_pattern.sequence_pattern _pdbx_sequence_pattern.pattern_count A GC 2 B GC 2 # - - - - data truncated for brevity - - - - ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_sequence_pattern # save_ # save__pdbx_sequence_pattern.label_asym_id # _item_description.description ; The identifier of the asym_id of the strand containing the sequence pattern. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_sequence_pattern.label_asym_id' _item.category_id pdbx_sequence_pattern _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_sequence_pattern.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_ndb_sequence_pattern.label_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sequence_pattern.label_asym_id' # save_ # save__pdbx_sequence_pattern.auth_asym_id # _item_description.description ; The identifier of the author asym_id of the strand containing the sequence pattern. This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_sequence_pattern.auth_asym_id' _item.category_id pdbx_sequence_pattern _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_sequence_pattern.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_ndb_sequence_pattern.auth_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sequence_pattern.auth_asym_id' # save_ # save__pdbx_sequence_pattern.pattern_count # _item_description.description ; Number of occurences of the sequence pattern within the named strand. ; # _item.name '_pdbx_sequence_pattern.pattern_count' _item.category_id pdbx_sequence_pattern _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_sequence_pattern.pattern_count' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sequence_pattern.pattern_count' # save_ # save__pdbx_sequence_pattern.sequence_pattern # _item_description.description 'Sequence singlet or doublet.' # _item.name '_pdbx_sequence_pattern.sequence_pattern' _item.category_id pdbx_sequence_pattern _item.mandatory_code yes # _item_type.code code # _item_aliases.alias_name '_ndb_sequence_pattern.sequence_pattern' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sequence_pattern.sequence_pattern' # save_ # save_pdbx_stereochemistry # _category.description ; Data items in the PDBX_STEREOCHEMISTRY identify chiral centers and associated chiral volumes. ; _category.id pdbx_stereochemistry _category.mandatory_code no # _category_key.name '_pdbx_stereochemistry.id' # loop_ _category_group.id inclusive_group ndb_group # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_stereochemistry # save_ # save__pdbx_stereochemistry.id # _item_description.description ; The value of _pdbx_stereochemistry.id must uniquely identify each item in the PDBX_STEREOCHEMISTRY list. This is an integer serial number. ; # _item.name '_pdbx_stereochemistry.id' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_stereochemistry.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.id' # save_ # save__pdbx_stereochemistry.model_id # _item_description.description 'The model number for the given angle' # _item.name '_pdbx_stereochemistry.model_id' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_stereochemistry.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_ndb_stereochemistry.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.model_id' # save_ # save__pdbx_stereochemistry.auth_asym_id # _item_description.description ; This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_stereochemistry.auth_asym_id' _item.category_id pdbx_stereochemistry _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_stereochemistry.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_ndb_stereochemistry.auth_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.auth_asym_id' # save_ # save__pdbx_stereochemistry.label_asym_id # _item_description.description ; This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_stereochemistry.label_asym_id' _item.category_id pdbx_stereochemistry _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_stereochemistry.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_ndb_stereochemistry.label_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.label_asym_id' # save_ # save__pdbx_stereochemistry.label_comp_id # _item_description.description ; This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_stereochemistry.label_comp_id' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code ucode # _item_linked.child_name '_pdbx_stereochemistry.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_ndb_stereochemistry.label_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.label_comp_id' # save_ # save__pdbx_stereochemistry.auth_seq_id # _item_description.description ; This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_stereochemistry.auth_seq_id' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_stereochemistry.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_ndb_stereochemistry.auth_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.auth_seq_id' # save_ # save__pdbx_stereochemistry.label_seq_id # _item_description.description ; This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_stereochemistry.label_seq_id' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_stereochemistry.label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_ndb_stereochemistry.label_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.label_seq_id' # save_ # save__pdbx_stereochemistry.label_atom_id # _item_description.description ; This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_stereochemistry.label_atom_id' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code atcode # _item_linked.child_name '_pdbx_stereochemistry.label_atom_id' _item_linked.parent_name '_atom_site.label_atom_id' # _item_aliases.alias_name '_ndb_stereochemistry.label_atom_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.label_atom_id' # save_ # save__pdbx_stereochemistry.label_alt_id # _item_description.description ; This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_stereochemistry.label_alt_id' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_stereochemistry.label_alt_id' _item_linked.parent_name '_atom_site.label_alt_id' # _item_aliases.alias_name '_ndb_stereochemistry.label_alt_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.label_alt_id' # save_ # save__pdbx_stereochemistry.label_atom_id_u # _item_description.description ; Stereochemically related atom U. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_stereochemistry.label_atom_id_u' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code atcode # _item_linked.child_name '_pdbx_stereochemistry.label_atom_id_u' _item_linked.parent_name '_atom_site.label_atom_id' # _item_aliases.alias_name '_ndb_stereochemistry.label_atom_id_u' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.label_atom_id_u' # save_ # save__pdbx_stereochemistry.label_alt_id_u # _item_description.description ; Alt_id for stereochemically related atom U. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_stereochemistry.label_alt_id_u' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_stereochemistry.label_alt_id_u' _item_linked.parent_name '_atom_site.label_alt_id' # _item_aliases.alias_name '_ndb_stereochemistry.label_alt_id_u' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.label_alt_id_u' # save_ # save__pdbx_stereochemistry.label_atom_id_v # _item_description.description ; Stereochemically related atom V. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_stereochemistry.label_atom_id_v' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code atcode # _item_linked.child_name '_pdbx_stereochemistry.label_atom_id_v' _item_linked.parent_name '_atom_site.label_atom_id' # _item_aliases.alias_name '_ndb_stereochemistry.label_atom_id_v' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.label_atom_id_v' # save_ # save__pdbx_stereochemistry.label_alt_id_v # _item_description.description ; Alt_id for stereochemically related atom V. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_stereochemistry.label_alt_id_v' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_stereochemistry.label_alt_id_v' _item_linked.parent_name '_atom_site.label_alt_id' # _item_aliases.alias_name '_ndb_stereochemistry.label_alt_id_v' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.label_alt_id_v' # save_ # save__pdbx_stereochemistry.label_atom_id_w # _item_description.description ; Stereochemically related atom W. This data item is a pointer to _atom_site.label_atom_id in the ATOM_SITE category. ; # _item.name '_pdbx_stereochemistry.label_atom_id_w' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code atcode # _item_linked.child_name '_pdbx_stereochemistry.label_atom_id_w' _item_linked.parent_name '_atom_site.label_atom_id' # _item_aliases.alias_name '_ndb_stereochemistry.label_atom_id_w' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.label_atom_id_w' # save_ # save__pdbx_stereochemistry.label_alt_id_w # _item_description.description ; Alt_id for stereochemically related atom W. This data item is a pointer to _atom_site.label_alt_id in the ATOM_SITE category. ; # _item.name '_pdbx_stereochemistry.label_alt_id_w' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_stereochemistry.label_alt_id_w' _item_linked.parent_name '_atom_site.label_alt_id' # _item_aliases.alias_name '_ndb_stereochemistry.label_alt_id_w' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.label_alt_id_w' # save_ # save__pdbx_stereochemistry.volume3 # _item_description.description 'Chiral volume in degrees. (U x V) * W' # _item.name '_pdbx_stereochemistry.volume3' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code float # _item_aliases.alias_name '_ndb_stereochemistry.volume3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.volume3' # save_ # save__pdbx_stereochemistry.angle_out_of_plane # _item_description.description 'Out-of-plane angle for neighbor W' # _item.name '_pdbx_stereochemistry.angle_out_of_plane' _item.category_id pdbx_stereochemistry _item.mandatory_code yes # _item_type.code float # _item_aliases.alias_name '_ndb_stereochemistry.angle_out_of_plane' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_stereochemistry.angle_out_of_plane' # save_ # save_pdbx_rms_devs_covalent # _category.description ; Data items in the PDBX_RMS_DEVS_COVALENT record the summary RMS deviations for nucleic acid covalent geometry relative to small molecule crystal standards. ; _category.id pdbx_rms_devs_covalent _category.mandatory_code no # _category_key.name '_pdbx_rms_devs_covalent.entry_id' # loop_ _category_group.id inclusive_group ndb_group # _category_examples.detail ; Example 1 - ; _category_examples.case ; loop_ _pdbx_rms_devs_covalent.entry_id _pdbx_rms_devs_covalent.rms_bonds _pdbx_rms_devs_covalent.num_bonds 1ABC 0.89 100 # - - - - data truncated for brevity - - - - ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_rms_devs_covalent # save_ # save__pdbx_rms_devs_covalent.entry_id # _item_description.description 'Pointer to the entry id.' # _item.name '_pdbx_rms_devs_covalent.entry_id' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_rms_devs_covalent.entry_id' _item_linked.parent_name '_entry.id' # _item_aliases.alias_name '_ndb_rms_devs_covalent.entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.entry_id' # save_ # save__pdbx_rms_devs_covalent.rms_bonds # _item_description.description ; Total RMS deviation for all bonds in entry relative to small molecule crystal standards. ; # _item.name '_pdbx_rms_devs_covalent.rms_bonds' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code float # _item_aliases.alias_name '_ndb_rms_devs_covalent.rms_bonds' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.rms_bonds' # save_ # save__pdbx_rms_devs_covalent.num_bonds # _item_description.description 'Total number of bonds in calculation of _pdbx_rms_devs_covalent.rms_bonds.' # _item.name '_pdbx_rms_devs_covalent.num_bonds' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_rms_devs_covalent.num_bonds' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.num_bonds' # save_ # save__pdbx_rms_devs_covalent.rms_bonds_base # _item_description.description ; Total RMS deviation for all base bonds in entry relative to small molecule crystal standards. ; # _item.name '_pdbx_rms_devs_covalent.rms_bonds_base' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code float # _item_aliases.alias_name '_ndb_rms_devs_covalent.rms_bonds_base' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.rms_bonds_base' # save_ # save__pdbx_rms_devs_covalent.num_bonds_base # _item_description.description 'Total number of base bonds in calculation of _pdbx_rms_devs_covalent.rms_bonds_base.' # _item.name '_pdbx_rms_devs_covalent.num_bonds_base' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_rms_devs_covalent.num_bonds_base' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.num_bonds_base' # save_ # save__pdbx_rms_devs_covalent.rms_bonds_sugar # _item_description.description ; Total RMS deviation for all sugar bonds in entry relative to small molecule crystal standards. ; # _item.name '_pdbx_rms_devs_covalent.rms_bonds_sugar' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code float # _item_aliases.alias_name '_ndb_rms_devs_covalent.rms_bonds_sugar' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.rms_bonds_sugar' # save_ # save__pdbx_rms_devs_covalent.num_bonds_sugar # _item_description.description 'Total number of sugar bonds in calculation of _pdbx_rms_devs_covalent.rms_bonds_sugar.' # _item.name '_pdbx_rms_devs_covalent.num_bonds_sugar' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_rms_devs_covalent.num_bonds_sugar' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.num_bonds_sugar' # save_ # save__pdbx_rms_devs_covalent.rms_bonds_phosphate # _item_description.description ; Total RMS deviation for all phosphate bonds in entry relative to small molecule crystal standards. ; # _item.name '_pdbx_rms_devs_covalent.rms_bonds_phosphate' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code float # _item_aliases.alias_name '_ndb_rms_devs_covalent.rms_bonds_phosphate' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.rms_bonds_phosphate' # save_ # save__pdbx_rms_devs_covalent.num_bonds_phosphate # _item_description.description 'Total number of sugar bonds in calculation of _pdbx_rms_devs_covalent.rms_bonds_phosphate.' # _item.name '_pdbx_rms_devs_covalent.num_bonds_phosphate' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_rms_devs_covalent.num_bonds_phosphate' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.num_bonds_phosphate' # save_ # save__pdbx_rms_devs_covalent.rms_angles # _item_description.description ; Total RMS deviation for all angles in entry relative to small molecule crystal standards. ; # _item.name '_pdbx_rms_devs_covalent.rms_angles' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code float # _item_aliases.alias_name '_ndb_rms_devs_covalent.rms_angles' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.rms_angles' # save_ # save__pdbx_rms_devs_covalent.num_angles # _item_description.description 'Total number of angles in calculation of _pdbx_rms_devs_covalent.rms_angles.' # _item.name '_pdbx_rms_devs_covalent.num_angles' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_rms_devs_covalent.num_angles' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.num_angles' # save_ # save__pdbx_rms_devs_covalent.rms_angles_base # _item_description.description ; Total RMS deviation for all base angles in entry relative to small molecule crystal standards. ; # _item.name '_pdbx_rms_devs_covalent.rms_angles_base' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code float # _item_aliases.alias_name '_ndb_rms_devs_covalent.rms_angles_base' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.rms_angles_base' # save_ # save__pdbx_rms_devs_covalent.num_angles_base # _item_description.description 'Total number of base angles in calculation of _pdbx_rms_devs_covalent.rms_angles_base.' # _item.name '_pdbx_rms_devs_covalent.num_angles_base' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_rms_devs_covalent.num_angles_base' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.num_angles_base' # save_ # save__pdbx_rms_devs_covalent.rms_angles_sugar # _item_description.description ; Total RMS deviation for all sugar angles in entry relative to small molecule crystal standards. ; # _item.name '_pdbx_rms_devs_covalent.rms_angles_sugar' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code float # _item_aliases.alias_name '_ndb_rms_devs_covalent.rms_angles_sugar' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.rms_angles_sugar' # save_ # save__pdbx_rms_devs_covalent.num_angles_sugar # _item_description.description 'Total number of sugar angles in calculation of _pdbx_rms_devs_covalent.rms_angles_sugar.' # _item.name '_pdbx_rms_devs_covalent.num_angles_sugar' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_rms_devs_covalent.num_angles_sugar' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.num_angles_sugar' # save_ # save__pdbx_rms_devs_covalent.rms_angles_phosphate # _item_description.description ; Total RMS deviation for all phosphate angles in entry relative to small molecule crystal standards. ; # _item.name '_pdbx_rms_devs_covalent.rms_angles_phosphate' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code float # _item_aliases.alias_name '_ndb_rms_devs_covalent.rms_angles_phosphate' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.rms_angles_phosphate' # save_ # save__pdbx_rms_devs_covalent.num_angles_phosphate # _item_description.description 'Total number of sugar angles in calculation of _pdbx_rms_devs_covalent.rms_angles_phosphate.' # _item.name '_pdbx_rms_devs_covalent.num_angles_phosphate' _item.category_id pdbx_rms_devs_covalent _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_rms_devs_covalent.num_angles_phosphate' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_covalent.num_angles_phosphate' # save_ # save_pdbx_rms_devs_cov_by_monomer # _category.description ; Data items in the PDBX_RMS_DEVS_COV_BY_MONOMER record the RMS deviations covalent geometry for each momoner relative to small molecule crystal standards. ; _category.id pdbx_rms_devs_cov_by_monomer _category.mandatory_code no # _category_key.name '_pdbx_rms_devs_cov_by_monomer.id' # loop_ _category_group.id inclusive_group ndb_group # _category_examples.detail ; Example 1 - ; _category_examples.case ; loop_ _pdbx_rms_devs_cov_by_monomer.id _pdbx_rms_devs_cov_by_monomer.model_id _pdbx_rms_devs_cov_by_monomer.label_comp_id _pdbx_rms_devs_cov_by_monomer.label_seq_id _pdbx_rms_devs_cov_by_monomer.label_asym_id _pdbx_rms_devs_cov_by_monomer.auth_seq_id _pdbx_rms_devs_cov_by_monomer.auth_asym_id _pdbx_rms_devs_cov_by_monomer.rms_bonds _pdbx_rms_devs_cov_by_monomer.num_bonds 1 . A 1 A 1 A 0.05 12 # - - - - data truncated for brevity - - - - ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_rms_devs_cov_by_monomer # save_ # save__pdbx_rms_devs_cov_by_monomer.id # _item_description.description ; The value of _pdbx_rms_devs_cov_by_monomer.id must uniquely identify each item in the PDBX_RMS_DEVS_COV_BY_MONOMER list. This is an integer serial number. ; # _item.name '_pdbx_rms_devs_cov_by_monomer.id' _item.category_id pdbx_rms_devs_cov_by_monomer _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_rms_devs_cov_by_monomer.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_cov_by_monomer.id' # save_ # save__pdbx_rms_devs_cov_by_monomer.model_id # _item_description.description 'The model number' # _item.name '_pdbx_rms_devs_cov_by_monomer.model_id' _item.category_id pdbx_rms_devs_cov_by_monomer _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_rms_devs_cov_by_monomer.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_ndb_rms_devs_cov_by_monomer.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_cov_by_monomer.model_id' # save_ # save__pdbx_rms_devs_cov_by_monomer.auth_asym_id # _item_description.description ; This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_rms_devs_cov_by_monomer.auth_asym_id' _item.category_id pdbx_rms_devs_cov_by_monomer _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_rms_devs_cov_by_monomer.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_ndb_rms_devs_cov_by_monomer.auth_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_cov_by_monomer.auth_asym_id' # save_ # save__pdbx_rms_devs_cov_by_monomer.label_asym_id # _item_description.description ; This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_rms_devs_cov_by_monomer.label_asym_id' _item.category_id pdbx_rms_devs_cov_by_monomer _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_rms_devs_cov_by_monomer.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_ndb_rms_devs_cov_by_monomer.label_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_cov_by_monomer.label_asym_id' # save_ # save__pdbx_rms_devs_cov_by_monomer.label_comp_id # _item_description.description ; This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_rms_devs_cov_by_monomer.label_comp_id' _item.category_id pdbx_rms_devs_cov_by_monomer _item.mandatory_code yes # _item_type.code ucode # _item_linked.child_name '_pdbx_rms_devs_cov_by_monomer.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_ndb_rms_devs_cov_by_monomer.label_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_cov_by_monomer.label_comp_id' # save_ # save__pdbx_rms_devs_cov_by_monomer.auth_seq_id # _item_description.description ; This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_rms_devs_cov_by_monomer.auth_seq_id' _item.category_id pdbx_rms_devs_cov_by_monomer _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_rms_devs_cov_by_monomer.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_ndb_rms_devs_cov_by_monomer.auth_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_cov_by_monomer.auth_seq_id' # save_ # save__pdbx_rms_devs_cov_by_monomer.label_seq_id # _item_description.description ; This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_rms_devs_cov_by_monomer.label_seq_id' _item.category_id pdbx_rms_devs_cov_by_monomer _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_rms_devs_cov_by_monomer.label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_ndb_rms_devs_cov_by_monomer.label_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_cov_by_monomer.label_seq_id' # save_ # save__pdbx_rms_devs_cov_by_monomer.rms_bonds # _item_description.description ; RMS deviation for all bonds in this monomer relative to small molecule crystal standards. ; # _item.name '_pdbx_rms_devs_cov_by_monomer.rms_bonds' _item.category_id pdbx_rms_devs_cov_by_monomer _item.mandatory_code yes # _item_type.code float # _item_aliases.alias_name '_ndb_rms_devs_cov_by_monomer.rms_bonds' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_cov_by_monomer.rms_bonds' # save_ # save__pdbx_rms_devs_cov_by_monomer.num_bonds # _item_description.description 'Total number of bonds in calculation of _pdbx_rms_devs_cov_by_monomer.rms_bonds.' # _item.name '_pdbx_rms_devs_cov_by_monomer.num_bonds' _item.category_id pdbx_rms_devs_cov_by_monomer _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_rms_devs_cov_by_monomer.num_bonds' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_cov_by_monomer.num_bonds' # save_ # save__pdbx_rms_devs_cov_by_monomer.rms_angles # _item_description.description ; RMS deviation for all angles in this monomer relative to small molecule crystal standards. ; # _item.name '_pdbx_rms_devs_cov_by_monomer.rms_angles' _item.category_id pdbx_rms_devs_cov_by_monomer _item.mandatory_code yes # _item_type.code float # _item_aliases.alias_name '_ndb_rms_devs_cov_by_monomer.rms_angles' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_cov_by_monomer.rms_angles' # save_ # save__pdbx_rms_devs_cov_by_monomer.num_angles # _item_description.description 'Total number of angles in calculation of _pdbx_rms_devs_cov_by_monomer.rms_angles.' # _item.name '_pdbx_rms_devs_cov_by_monomer.num_angles' _item.category_id pdbx_rms_devs_cov_by_monomer _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_rms_devs_cov_by_monomer.num_angles' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_rms_devs_cov_by_monomer.num_angles' # save_ # save_pdbx_sugar_phosphate_geometry # _category.description ; Data items in the PDBX_SUGAR_PHOSPHATE_GEOMETRY record the RMS deviations covalent geometry for each momoner relative to small molecule crystal standards. ; _category.id pdbx_sugar_phosphate_geometry _category.mandatory_code no # _category_key.name '_pdbx_sugar_phosphate_geometry.id' # loop_ _category_group.id inclusive_group ndb_group # _category_examples.detail ; Example 1 - ; _category_examples.case ; loop_ _pdbx_sugar_phosphate_geometry.id _pdbx_sugar_phosphate_geometry.model_id _pdbx_sugar_phosphate_geometry.label_comp_id _pdbx_sugar_phosphate_geometry.label_seq_id _pdbx_sugar_phosphate_geometry.label_asym_id _pdbx_sugar_phosphate_geometry.auth_seq_id _pdbx_sugar_phosphate_geometry.auth_asym_id _pdbx_sugar_phosphate_geometry.o3_p_o5_c5 1 . A 1 A 1 A 140.1 # - - - - data truncated for brevity - - - - ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_sugar_phosphate_geometry # save_ # save__pdbx_sugar_phosphate_geometry.id # _item_description.description ; The value of _pdbx_sugar_phosphate_geometry.id must uniquely identify each item in the PDBX_SUGAR_PHOSPHATE_GEOMETRY list. This is an integer serial number. ; # _item.name '_pdbx_sugar_phosphate_geometry.id' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code yes # _item_type.code int # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.id' # save_ # save__pdbx_sugar_phosphate_geometry.model_id # _item_description.description 'The model number' # _item.name '_pdbx_sugar_phosphate_geometry.model_id' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_sugar_phosphate_geometry.model_id' _item_linked.parent_name '_atom_site.pdbx_PDB_model_num' # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.model_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.model_id' # save_ # save__pdbx_sugar_phosphate_geometry.auth_asym_id # _item_description.description ; This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_sugar_phosphate_geometry.auth_asym_id' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_sugar_phosphate_geometry.auth_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.auth_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.auth_asym_id' # save_ # save__pdbx_sugar_phosphate_geometry.label_asym_id # _item_description.description ; This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category. ; # _item.name '_pdbx_sugar_phosphate_geometry.label_asym_id' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_sugar_phosphate_geometry.label_asym_id' _item_linked.parent_name '_atom_site.label_asym_id' # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.label_asym_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.label_asym_id' # save_ # save__pdbx_sugar_phosphate_geometry.label_comp_id # _item_description.description ; This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_sugar_phosphate_geometry.label_comp_id' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code yes # _item_type.code ucode # _item_linked.child_name '_pdbx_sugar_phosphate_geometry.label_comp_id' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.label_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.label_comp_id' # save_ # save__pdbx_sugar_phosphate_geometry.auth_seq_id # _item_description.description ; This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_sugar_phosphate_geometry.auth_seq_id' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code code # _item_linked.child_name '_pdbx_sugar_phosphate_geometry.auth_seq_id' _item_linked.parent_name '_atom_site.auth_seq_id' # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.auth_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.auth_seq_id' # save_ # save__pdbx_sugar_phosphate_geometry.label_seq_id # _item_description.description ; This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; # _item.name '_pdbx_sugar_phosphate_geometry.label_seq_id' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code yes # _item_type.code int # _item_linked.child_name '_pdbx_sugar_phosphate_geometry.label_seq_id' _item_linked.parent_name '_atom_site.label_seq_id' # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.label_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.label_seq_id' # save_ # save__pdbx_sugar_phosphate_geometry.neighbor_comp_id_5prime # _item_description.description ; Neighbor component in the 5' direction. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_sugar_phosphate_geometry.neighbor_comp_id_5prime' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_sugar_phosphate_geometry.neighbor_comp_id_5prime' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.neighbor_comp_id_5prime' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.neighbor_comp_id_5prime' # save_ # save__pdbx_sugar_phosphate_geometry.neighbor_comp_id_3prime # _item_description.description ; Neighbor component in the 3' direction. This data item is a pointer to _atom_site.label_comp_id in the ATOM_SITE category. ; # _item.name '_pdbx_sugar_phosphate_geometry.neighbor_comp_id_3prime' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code ucode # _item_linked.child_name '_pdbx_sugar_phosphate_geometry.neighbor_comp_id_3prime' _item_linked.parent_name '_atom_site.label_comp_id' # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.neighbor_comp_id_3prime' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.neighbor_comp_id_3prime' # save_ # save__pdbx_sugar_phosphate_geometry.o3_p_o5_c5 # _item_description.description 'The o3_p_o5_c5 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o3_p_o5_c5' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o3_p_o5_c5' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o3_p_o5_c5' # save_ # save__pdbx_sugar_phosphate_geometry.p_o5_c5_c4 # _item_description.description 'The p_o5_c5_c4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.p_o5_c5_c4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.p_o5_c5_c4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.p_o5_c5_c4' # save_ # save__pdbx_sugar_phosphate_geometry.o5_c5_c4_c3 # _item_description.description 'The o5_c5_c4_c3 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o5_c5_c4_c3' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o5_c5_c4_c3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o5_c5_c4_c3' # save_ # save__pdbx_sugar_phosphate_geometry.c5_c4_c3_o3 # _item_description.description 'The c5_c4_c3_o3 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c5_c4_c3_o3' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c5_c4_c3_o3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c5_c4_c3_o3' # save_ # save__pdbx_sugar_phosphate_geometry.c4_c3_o3_p # _item_description.description 'The c4_c3_o3_p covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c4_c3_o3_p' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c4_c3_o3_p' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c4_c3_o3_p' # save_ # save__pdbx_sugar_phosphate_geometry.c3_o3_p_o5 # _item_description.description 'The c3_o3_p_o5 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c3_o3_p_o5' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c3_o3_p_o5' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c3_o3_p_o5' # save_ # save__pdbx_sugar_phosphate_geometry.c4_o4_c1_n1_9 # _item_description.description 'The c4_o4_c1_n1_9 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c4_o4_c1_n1_9' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c4_o4_c1_n1_9' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c4_o4_c1_n1_9' # save_ # save__pdbx_sugar_phosphate_geometry.o4_c1_n1_9_c2_4 # _item_description.description 'The o4_c1_n1_9_c2_4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o4_c1_n1_9_c2_4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o4_c1_n1_9_c2_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o4_c1_n1_9_c2_4' # save_ # save__pdbx_sugar_phosphate_geometry.o4_c1_n1_9_c6_8 # _item_description.description 'The o4_c1_n1_9_c6_8 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o4_c1_n1_9_c6_8' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o4_c1_n1_9_c6_8' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o4_c1_n1_9_c6_8' # save_ # save__pdbx_sugar_phosphate_geometry.c4_o4_c1_c2 # _item_description.description 'The c4_o4_c1_c2 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c4_o4_c1_c2' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c4_o4_c1_c2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c4_o4_c1_c2' # save_ # save__pdbx_sugar_phosphate_geometry.o4_c1_c2_c3 # _item_description.description 'The o4_c1_c2_c3 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o4_c1_c2_c3' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o4_c1_c2_c3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o4_c1_c2_c3' # save_ # save__pdbx_sugar_phosphate_geometry.c1_c2_c3_c4 # _item_description.description 'The c1_c2_c3_c4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c1_c2_c3_c4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c1_c2_c3_c4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c1_c2_c3_c4' # save_ # save__pdbx_sugar_phosphate_geometry.c2_c3_c4_o4 # _item_description.description 'The c2_c3_c4_o4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c2_c3_c4_o4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c2_c3_c4_o4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c2_c3_c4_o4' # save_ # save__pdbx_sugar_phosphate_geometry.c3_c4_o4_c1 # _item_description.description 'The c3_c4_o4_c1 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c3_c4_o4_c1' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c3_c4_o4_c1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c3_c4_o4_c1' # save_ # save__pdbx_sugar_phosphate_geometry.c5_c4_c3_c2 # _item_description.description 'The c5_c4_c3_c2 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c5_c4_c3_c2' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c5_c4_c3_c2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c5_c4_c3_c2' # save_ # save__pdbx_sugar_phosphate_geometry.o4_c4_c3_o3 # _item_description.description 'The o4_c4_c3_o3 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o4_c4_c3_o3' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o4_c4_c3_o3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o4_c4_c3_o3' # save_ # save__pdbx_sugar_phosphate_geometry.o3_c3_c2_o2 # _item_description.description 'The o3_c3_c2_o2 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o3_c3_c2_o2' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o3_c3_c2_o2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o3_c3_c2_o2' # save_ # save__pdbx_sugar_phosphate_geometry.o5_c5_c4_o4 # _item_description.description 'The o5_c5_c4_o4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o5_c5_c4_o4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o5_c5_c4_o4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o5_c5_c4_o4' # save_ # save__pdbx_sugar_phosphate_geometry.pseudorot # _item_description.description 'The pseudo rotation angle of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.pseudorot' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.pseudorot' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.pseudorot' # save_ # save__pdbx_sugar_phosphate_geometry.maxtorsion # _item_description.description 'The maximum torsion value sigma-m, c1_c2_c3_c4/cos(P) of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.maxtorsion' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.maxtorsion' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.maxtorsion' # save_ # save__pdbx_sugar_phosphate_geometry.next_label_comp_id # _item_description.description 'The next_label_comp_id covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.next_label_comp_id' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code ucode # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.next_label_comp_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.next_label_comp_id' # save_ # save__pdbx_sugar_phosphate_geometry.next_label_seq_id # _item_description.description 'The next_label_seq_id covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.next_label_seq_id' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code int # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.next_label_seq_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.next_label_seq_id' # save_ # save__pdbx_sugar_phosphate_geometry.next_o3_p_o5_c5 # _item_description.description 'The next_o3_p_o5_c5 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.next_o3_p_o5_c5' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.next_o3_p_o5_c5' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.next_o3_p_o5_c5' # save_ # save__pdbx_sugar_phosphate_geometry.next_p_o5_c5_c4 # _item_description.description 'The next_p_o5_c5_c4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.next_p_o5_c5_c4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.next_p_o5_c5_c4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.next_p_o5_c5_c4' # save_ # save__pdbx_sugar_phosphate_geometry.next_o5_c5_c4_c3 # _item_description.description 'The next_o5_c5_c4_c3 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.next_o5_c5_c4_c3' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.next_o5_c5_c4_c3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.next_o5_c5_c4_c3' # save_ # save__pdbx_sugar_phosphate_geometry.next_c5_c4_c3_o3 # _item_description.description 'The next_c5_c4_c3_o3 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.next_c5_c4_c3_o3' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.next_c5_c4_c3_o3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.next_c5_c4_c3_o3' # save_ # save__pdbx_sugar_phosphate_geometry.next_c4_c3_o3_p # _item_description.description 'The next_c4_c3_o3_p covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.next_c4_c3_o3_p' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.next_c4_c3_o3_p' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.next_c4_c3_o3_p' # save_ # save__pdbx_sugar_phosphate_geometry.next_c3_o3_p_o5 # _item_description.description 'The next_c3_o3_p_o5 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.next_c3_o3_p_o5' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.next_c3_o3_p_o5' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.next_c3_o3_p_o5' # save_ # save__pdbx_sugar_phosphate_geometry.next_c4_o4_c1_n1_9 # _item_description.description 'The next_c4_o4_c1_n1_9 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.next_c4_o4_c1_n1_9' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.next_c4_o4_c1_n1_9' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.next_c4_o4_c1_n1_9' # save_ # save__pdbx_sugar_phosphate_geometry.next_o4_c1_n1_9_c2_4 # _item_description.description 'The next_o4_c1_n1_9_c2_4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.next_o4_c1_n1_9_c2_4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.next_o4_c1_n1_9_c2_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.next_o4_c1_n1_9_c2_4' # save_ # save__pdbx_sugar_phosphate_geometry.c1_c2 # _item_description.description 'The c1_c2 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c1_c2' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c1_c2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c1_c2' # save_ # save__pdbx_sugar_phosphate_geometry.c2_c3 # _item_description.description 'The c2_c3 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c2_c3' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c2_c3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c2_c3' # save_ # save__pdbx_sugar_phosphate_geometry.c3_c4 # _item_description.description 'The c3_c4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c3_c4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c3_c4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c3_c4' # save_ # save__pdbx_sugar_phosphate_geometry.c4_o4 # _item_description.description 'The c4_o4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c4_o4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c4_o4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c4_o4' # save_ # save__pdbx_sugar_phosphate_geometry.o4_c1 # _item_description.description 'The o4_c1 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o4_c1' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o4_c1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o4_c1' # save_ # save__pdbx_sugar_phosphate_geometry.p_o5 # _item_description.description 'The p_o5 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.p_o5' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.p_o5' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.p_o5' # save_ # save__pdbx_sugar_phosphate_geometry.o5_c5 # _item_description.description 'The o5_c5 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o5_c5' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o5_c5' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o5_c5' # save_ # save__pdbx_sugar_phosphate_geometry.c5_c4 # _item_description.description 'The c5_c4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c5_c4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c5_c4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c5_c4' # save_ # save__pdbx_sugar_phosphate_geometry.c3_o3 # _item_description.description 'The c3_o3 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c3_o3' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c3_o3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c3_o3' # save_ # save__pdbx_sugar_phosphate_geometry.o3_p # _item_description.description 'The o3_p covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o3_p' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o3_p' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o3_p' # save_ # save__pdbx_sugar_phosphate_geometry.p_o1p # _item_description.description 'The p_o1p covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.p_o1p' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.p_o1p' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.p_o1p' # save_ # save__pdbx_sugar_phosphate_geometry.p_o2p # _item_description.description 'The p_o2p covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.p_o2p' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.p_o2p' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.p_o2p' # save_ # save__pdbx_sugar_phosphate_geometry.c1_n9_1 # _item_description.description 'The c1_n9_1 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c1_n9_1' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c1_n9_1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c1_n9_1' # save_ # save__pdbx_sugar_phosphate_geometry.n1_c2 # _item_description.description 'The n1_c2 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.n1_c2' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.n1_c2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.n1_c2' # save_ # save__pdbx_sugar_phosphate_geometry.n1_c6 # _item_description.description 'The n1_c6 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.n1_c6' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.n1_c6' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.n1_c6' # save_ # save__pdbx_sugar_phosphate_geometry.n9_c4 # _item_description.description 'The n9_c4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.n9_c4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.n9_c4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.n9_c4' # save_ # save__pdbx_sugar_phosphate_geometry.n9_c8 # _item_description.description 'The n9_c8 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.n9_c8' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.n9_c8' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.n9_c8' # save_ # save__pdbx_sugar_phosphate_geometry.c1_c2_c3 # _item_description.description 'The c1_c2_c3 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c1_c2_c3' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c1_c2_c3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c1_c2_c3' # save_ # save__pdbx_sugar_phosphate_geometry.c2_c3_c4 # _item_description.description 'The c2_c3_c4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c2_c3_c4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c2_c3_c4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c2_c3_c4' # save_ # save__pdbx_sugar_phosphate_geometry.c3_c4_o4 # _item_description.description 'The c3_c4_o4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c3_c4_o4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c3_c4_o4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c3_c4_o4' # save_ # save__pdbx_sugar_phosphate_geometry.c4_o4_c1 # _item_description.description 'The c4_o4_c1 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c4_o4_c1' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c4_o4_c1' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c4_o4_c1' # save_ # save__pdbx_sugar_phosphate_geometry.o4_c1_c2 # _item_description.description 'The o4_c1_c2 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o4_c1_c2' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o4_c1_c2' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o4_c1_c2' # save_ # save__pdbx_sugar_phosphate_geometry.p_o5_c5 # _item_description.description 'The p_o5_c5 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.p_o5_c5' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.p_o5_c5' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.p_o5_c5' # save_ # save__pdbx_sugar_phosphate_geometry.o5_c5_c4 # _item_description.description 'The o5_c5_c4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o5_c5_c4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o5_c5_c4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o5_c5_c4' # save_ # save__pdbx_sugar_phosphate_geometry.c5_c4_c3 # _item_description.description 'The c5_c4_c3 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c5_c4_c3' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c5_c4_c3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c5_c4_c3' # save_ # save__pdbx_sugar_phosphate_geometry.c4_c3_o3 # _item_description.description 'The c4_c3_o3 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c4_c3_o3' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c4_c3_o3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c4_c3_o3' # save_ # save__pdbx_sugar_phosphate_geometry.c3_o3_p # _item_description.description 'The c3_o3_p covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c3_o3_p' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c3_o3_p' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c3_o3_p' # save_ # save__pdbx_sugar_phosphate_geometry.o3_p_o5 # _item_description.description 'The o3_p_o5 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o3_p_o5' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o3_p_o5' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o3_p_o5' # save_ # save__pdbx_sugar_phosphate_geometry.o4_c1_n1_9 # _item_description.description 'The o4_c1_n1_9 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o4_c1_n1_9' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o4_c1_n1_9' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o4_c1_n1_9' # save_ # save__pdbx_sugar_phosphate_geometry.c1_n1_9_c2_4 # _item_description.description 'The c1_n1_9_c2_4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c1_n1_9_c2_4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c1_n1_9_c2_4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c1_n1_9_c2_4' # save_ # save__pdbx_sugar_phosphate_geometry.c5_c4_o4 # _item_description.description 'The c5_c4_o4 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c5_c4_o4' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c5_c4_o4' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c5_c4_o4' # save_ # save__pdbx_sugar_phosphate_geometry.c2_c3_o3 # _item_description.description 'The c2_c3_o3 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c2_c3_o3' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c2_c3_o3' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c2_c3_o3' # save_ # save__pdbx_sugar_phosphate_geometry.o1p_p_o2p # _item_description.description 'The o1p_p_o2p covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.o1p_p_o2p' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.o1p_p_o2p' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.o1p_p_o2p' # save_ # save__pdbx_sugar_phosphate_geometry.c2_c1_n1_9 # _item_description.description 'The c2_c1_n1_9 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c2_c1_n1_9' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c2_c1_n1_9' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c2_c1_n1_9' # save_ # save__pdbx_sugar_phosphate_geometry.c1_n1_9_c6_8 # _item_description.description 'The c1_n1_9_c6_8 covalent element of this monomer.' # _item.name '_pdbx_sugar_phosphate_geometry.c1_n1_9_c6_8' _item.category_id pdbx_sugar_phosphate_geometry _item.mandatory_code no # _item_type.code float # _item_aliases.alias_name '_ndb_sugar_phosphate_geometry.c1_n1_9_c6_8' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_sugar_phosphate_geometry.c1_n1_9_c6_8' # save_ # save_pdbx_nmr_computing # _category.description ; The table in this section is used to describe the software that was used for data collection, data processing, data analysis, structure calculations and refinement. The description should include both the name of the software and the version used. ; _category.id pdbx_nmr_computing _category.mandatory_code no # _category_key.name '_pdbx_nmr_computing.entry_id' # loop_ _category_group.id inclusive_group pdbx_group # _category_examples.detail ' This example describes the software used in the MCP-1 study.' _category_examples.case ; _pdbx_nmr_computing.entry_id 1ABC _pdbx_nmr_computing.collection UXNMR _pdbx_nmr_computing.collection_version 940501.3 _pdbx_nmr_computing.processing FELIX _pdbx_nmr_computing.processing_version 1.1 ; # _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_nmr_computing # save_ # save__pdbx_nmr_computing.entry_id # _item_description.description 'The entry ID for the structure determination.' # _item.name '_pdbx_nmr_computing.entry_id' _item.category_id pdbx_nmr_computing _item.mandatory_code yes # _item_type.code code # _item_linked.child_name '_pdbx_nmr_computing.entry_id' _item_linked.parent_name '_entry.id' # _item_aliases.alias_name '_rcsb_nmr_computing.entry_id' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_computing.entry_id' # save_ # save__pdbx_nmr_computing.collection # _item_description.description 'Enter the name of the software used for data collection.' # _item.name '_pdbx_nmr_computing.collection' _item.category_id pdbx_nmr_computing _item.mandatory_code no # _item_type.code line # loop_ _item_examples.case UXNMR XWINNMR # loop_ _item_enumeration.value XWINNMR UXNMR VNMR # _item_aliases.alias_name '_rcsb_nmr_computing.collection' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_computing.collection' # save_ # save__pdbx_nmr_computing.collection_version # _item_description.description 'Enter the version of the software used for data collection.' # _item.name '_pdbx_nmr_computing.collection_version' _item.category_id pdbx_nmr_computing _item.mandatory_code no # _item_type.code code # loop_ _item_examples.case 940501.3 2.1 # _item_aliases.alias_name '_rcsb_nmr_computing.collection_version' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_computing.collection_version' # save_ # save__pdbx_nmr_computing.processing # _item_description.description 'Enter the name of the software used for data processing.' # _item.name '_pdbx_nmr_computing.processing' _item.category_id pdbx_nmr_computing _item.mandatory_code no # _item_type.code line # loop_ _item_examples.case XWINNMR FELIX95 FELIX98 NMRPipe AZARA # loop_ _item_enumeration.value UXNMR XWINNMR FELIX FELIX95 FELIX98 NMRPipe AZARA FT_NMR # _item_aliases.alias_name '_rcsb_nmr_computing.processing' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_computing.processing' # save_ # save__pdbx_nmr_computing.processing_version # _item_description.description 'Enter the version of the software used for data processing.' # _item.name '_pdbx_nmr_computing.processing_version' _item.category_id pdbx_nmr_computing _item.mandatory_code no # _item_type.code code # _item_examples.case 2.1 # _item_aliases.alias_name '_rcsb_nmr_computing.processing_version' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_computing.processing_version' # save_ # save__pdbx_nmr_computing.data_analysis # _item_description.description 'Enter the name of the software used for data analysis.' # _item.name '_pdbx_nmr_computing.data_analysis' _item.category_id pdbx_nmr_computing _item.mandatory_code no # _item_type.code line # loop_ _item_examples.case AURELIA NMRPip? NMRCap? ANSIG # loop_ _item_enumeration.value ANSIG AURELIA # _item_aliases.alias_name '_rcsb_nmr_computing.data_analysis' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_computing.data_analysis' # save_ # save__pdbx_nmr_computing.data_analysis_version # _item_description.description 'Enter the version of the software used for data analysis.' # _item.name '_pdbx_nmr_computing.data_analysis_version' _item.category_id pdbx_nmr_computing _item.mandatory_code no # _item_type.code code # _item_examples.case 3.3 # _item_aliases.alias_name '_rcsb_nmr_computing.data_analysis_version' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_computing.data_analysis_version' # save_ # save__pdbx_nmr_computing.structure_solution # _item_description.description 'Enter the name of the software used to calculate the structure.' # _item.name '_pdbx_nmr_computing.structure_solution' _item.category_id pdbx_nmr_computing _item.mandatory_code no # _item_type.code line # loop_ _item_examples.case X-PLOR DIANA DSPACE DISGEO # loop_ _item_enumeration.value X-PLOR DIANA DYANA DSPACE DISGEO DGII DISMAN DINOSAUR # _item_aliases.alias_name '_rcsb_nmr_computing.structure_solution' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_computing.structure_solution' # save_ # save__pdbx_nmr_computing.structure_solution_version # _item_description.description 'Enter the version of the software used to calculate the structure.' # _item.name '_pdbx_nmr_computing.structure_solution_version' _item.category_id pdbx_nmr_computing _item.mandatory_code no # _item_type.code code # _item_examples.case 3.1 # _item_aliases.alias_name '_rcsb_nmr_computing.structure_solution_version' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_computing.structure_solution_version' # save_ # save__pdbx_nmr_computing.refinement # _item_description.description 'Enter the name of the software used for refinement.' # _item.name '_pdbx_nmr_computing.refinement' _item.category_id pdbx_nmr_computing _item.mandatory_code no # _item_type.code line # loop_ _item_examples.case DISCOVER GROMOS CHARMM # loop_ _item_enumeration.value X-PLOR DISCOVER GROMOS CHARMM SA # _item_aliases.alias_name '_rcsb_nmr_computing.refinement' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_computing.refinement' # save_ # save__pdbx_nmr_computing.refinement_version # _item_description.description 'Enter the version of the software used for refinement.' # _item.name '_pdbx_nmr_computing.refinement_version' _item.category_id pdbx_nmr_computing _item.mandatory_code no # _item_type.code code # _item_examples.case 3.1 # _item_aliases.alias_name '_rcsb_nmr_computing.refinement_version' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_computing.refinement_version' # save_ # save__pdbx_nmr_computing.iterative_relaxation_matrix # _item_description.description 'Enter the name of the software used for iterative relaxation matrix methods.' # _item.name '_pdbx_nmr_computing.iterative_relaxation_matrix' _item.category_id pdbx_nmr_computing _item.mandatory_code no # _item_type.code line # loop_ _item_examples.case IRMA CORMA MARDIGRAS # loop_ _item_enumeration.value IRMA CORMA MARDIGRAS X-PLOR # _item_aliases.alias_name '_rcsb_nmr_computing.iterative_relaxation_matrix' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_computing.iterative_relaxation_matrix' # save_ # save__pdbx_nmr_computing.iterative_relaxation_matrix_version # _item_description.description 'Enter the version of the software used for iterative relaxation matrix methods.' # _item.name '_pdbx_nmr_computing.iterative_relaxation_matrix_version' _item.category_id pdbx_nmr_computing _item.mandatory_code no # _item_type.code code # _item_examples.case 2.2 # _item_aliases.alias_name '_rcsb_nmr_computing.iterative_relaxation_matrix_version' _item_aliases.dictionary cif_rcsb.dic _item_aliases.version 1.1 # _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_nmr_computing.iterative_relaxation_matrix_version' # save_ # #### New category and item for D&A system ###### save_pdbx_audit_conform_extension _category.description ; Data items in the PDBX_AUDIT_CONFORM_EXTENSION category describe extension dictionary versions against which the data names appearing the current data block are conformant. ; _category.id pdbx_audit_conform_extension _category.mandatory_code no loop_ _category_key.name '_pdbx_audit_conform_extension.extension_dict_name' '_pdbx_audit_conform_extension.extension_dict_version' loop_ _category_group.id 'inclusive_group' 'audit_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Conforming to EMD V 1.0 extension dictionary. ; ; _pdbx_audit_conform_extension.extension_dict_name EMD _pdbx_audit_conform_extension.extension_dict_version 1.0 _pdbx_audit_conform_extension.extension_dict_location http://mmcif.wwpdb.org/dictionaries/ascii/mmcif_pdbx_v5_next.dic ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_audit_conform_extension save_ save__pdbx_audit_conform_extension.extension_dict_location _item_description.description ; A file name or uniform resource locator (URL) for the file containing the extension dictionary. ; _item.name '_pdbx_audit_conform_extension.extension_dict_location' _item.category_id pdbx_audit_conform_extension _item.mandatory_code no _item_type.code text _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_audit_conform_extension.extension_dict_location' save_ save__pdbx_audit_conform_extension.extension_dict_name _item_description.description ; An identifier for the extension dictionary to which the current data block conforms. ; _item.name '_pdbx_audit_conform_extension.extension_dict_name' _item.category_id pdbx_audit_conform_extension _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'EMD' 'EMDB extension dictionary' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_audit_conform_extension.extension_dict_name' save_ save__pdbx_audit_conform_extension.extension_dict_version _item_description.description ; The version number of the extension dictionary to which the currrent data block conforms. ; _item.name '_pdbx_audit_conform_extension.extension_dict_version' _item.category_id pdbx_audit_conform_extension _item.mandatory_code yes _item_type.code line _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_audit_conform_extension.extension_dict_version' save_ ######### Category=pdbx_dcc_mapman ####### save_pdbx_dcc_mapman _category.description ; Data items in the category record details from the output of mapman used by the DCC program. ; _category.id pdbx_dcc_mapman _category.mandatory_code no _category_key.name '_pdbx_dcc_mapman.pdbid' loop_ _category_group.id 'inclusive_group' 'dcc_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_dcc_mapman save_ save__pdbx_dcc_mapman.pdbid _item_description.description ; The PDB id code. ; _item.name '_pdbx_dcc_mapman.pdbid' _item.category_id pdbx_dcc_mapman _item.mandatory_code yes _item_type.code code save_ save__pdbx_dcc_mapman.details _item_description.description ; The details of the use of mapman by the DCC program. ; _item.name '_pdbx_dcc_mapman.details' _item.category_id pdbx_dcc_mapman _item.mandatory_code no _item_type.code text save_ ######### Category=pdbx_dcc_rscc_mapman ####### save_pdbx_dcc_rscc_mapman _category.description ; Data items in this category record residual map properties such as correlation, real space Rfactors and the Zscore calculated from refmac and mapman. ; _category.id pdbx_dcc_rscc_mapman _category.mandatory_code no _category_key.name '_pdbx_dcc_rscc_mapman.id' loop_ _category_group.id 'inclusive_group' 'dcc_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_dcc_rscc_mapman save_ save__pdbx_dcc_rscc_mapman.id _item_description.description ; The ordered number in the output list. ; _item.name '_pdbx_dcc_rscc_mapman.id' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code yes _item_type.code int save_ save__pdbx_dcc_rscc_mapman.model_id _item_description.description ; The component model identifier for this analysis. ; _item.name '_pdbx_dcc_rscc_mapman.model_id' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_rscc_mapman.pdb_id _item_description.description ; The PDB id code. ; _item.name '_pdbx_dcc_rscc_mapman.pdb_id' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_rscc_mapman.auth_asym_id _item_description.description ; The author provided chain id. ; _item.name '_pdbx_dcc_rscc_mapman.auth_asym_id' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_rscc_mapman.auth_comp_id _item_description.description ; The author provided compound ID (residue name). ; _item.name '_pdbx_dcc_rscc_mapman.auth_comp_id' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_rscc_mapman.auth_seq_id _item_description.description ; The author provided residue number. ; _item.name '_pdbx_dcc_rscc_mapman.auth_seq_id' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_rscc_mapman.label_alt_id _item_description.description ; The author provided alternate location identifier. ; _item.name '_pdbx_dcc_rscc_mapman.label_alt_id' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_rscc_mapman.label_ins_code _item_description.description ; PDB insertion code. ; _item.name '_pdbx_dcc_rscc_mapman.label_ins_code' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_rscc_mapman.correlation _item_description.description ; The real space electron density correlation coefficient (RSCC) for the residue. ; _item.name '_pdbx_dcc_rscc_mapman.correlation' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_rscc_mapman.real_space_R _item_description.description ; The Real Space Rfactor (RSR) for the residue. ; _item.name '_pdbx_dcc_rscc_mapman.real_space_R' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_rscc_mapman.weighted_real_space_R _item_description.description ; The weighted Real Space Rfactor (RSR/RSCC) for the residue. ; _item.name '_pdbx_dcc_rscc_mapman.weighted_real_space_R' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_rscc_mapman.real_space_Zscore _item_description.description ; The Zscore of the Real Space Rfactor (RSRZ) for the residue. ; _item.name '_pdbx_dcc_rscc_mapman.real_space_Zscore' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_rscc_mapman.Biso_mean _item_description.description ; The occupancy weighted average isotropic B factors for the residue. ; _item.name '_pdbx_dcc_rscc_mapman.Biso_mean' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_rscc_mapman.occupancy_mean _item_description.description ; The average occupancy for the residue. ; _item.name '_pdbx_dcc_rscc_mapman.occupancy_mean' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_rscc_mapman.flag _item_description.description ; Residue with density problem will be flagged as P. ; _item.name '_pdbx_dcc_rscc_mapman.flag' _item.category_id pdbx_dcc_rscc_mapman _item.mandatory_code no _item_type.code line save_ ######### Category=pdbx_dcc_rscc_mapman_overall ####### save_pdbx_dcc_rscc_mapman_overall _category.description ; Data items in the category record overall map properties such as correlation, real space Rfactors and the Zscore calculated from refmac and mapman. ; _category.id pdbx_dcc_rscc_mapman_overall _category.mandatory_code no _category_key.name '_pdbx_dcc_rscc_mapman_overall.pdbid' loop_ _category_group.id 'inclusive_group' 'dcc_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_dcc_rscc_mapman_overall save_ save__pdbx_dcc_rscc_mapman_overall.pdbid _item_description.description ; The PDB id code. ; _item.name '_pdbx_dcc_rscc_mapman_overall.pdbid' _item.category_id pdbx_dcc_rscc_mapman_overall _item.mandatory_code yes _item_type.code code save_ save__pdbx_dcc_rscc_mapman_overall.correlation _item_description.description ; The overall real space electron density correlation coefficient (RSCC) for the structure. ; _item.name '_pdbx_dcc_rscc_mapman_overall.correlation' _item.category_id pdbx_dcc_rscc_mapman_overall _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_rscc_mapman_overall.correlation_sigma _item_description.description ; The overall standard deviation of the real space electron density correlation coefficient (RSCC) for the structure. ; _item.name '_pdbx_dcc_rscc_mapman_overall.correlation_sigma' _item.category_id pdbx_dcc_rscc_mapman_overall _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_rscc_mapman_overall.real_space_R _item_description.description ; The overall Real Space Rfactor (RSR) for the structure. ; _item.name '_pdbx_dcc_rscc_mapman_overall.real_space_R' _item.category_id pdbx_dcc_rscc_mapman_overall _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_rscc_mapman_overall.real_space_R_sigma _item_description.description ; The overall standard deviation of the Real Space Rfactor (RSR) for the structure. ; _item.name '_pdbx_dcc_rscc_mapman_overall.real_space_R_sigma' _item.category_id pdbx_dcc_rscc_mapman_overall _item.mandatory_code no _item_type.code float save_ ######### Category=pdbx_dcc_density ####### save_pdbx_dcc_density _category.description ; Data items in the category record various overall metrics calculated by DCC and various wrapped programs (such as Xtriage, pointless, REFMAC ...). ; _category.id pdbx_dcc_density _category.mandatory_code no _category_key.name '_pdbx_dcc_density.pdbid' loop_ _category_group.id 'inclusive_group' 'dcc_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_dcc_density save_ save__pdbx_dcc_density.DCC_version _item_description.description ; The version of the DCC program. ; _item.name '_pdbx_dcc_density.DCC_version' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.pdbid _item_description.description ; The PDB id code. ; _item.name '_pdbx_dcc_density.pdbid' _item.category_id pdbx_dcc_density _item.mandatory_code yes _item_type.code code save_ save__pdbx_dcc_density.pdbtype _item_description.description ; The keywords of the structure (taken from _struct_keywords.pdbx_keywords). ; _item.name '_pdbx_dcc_density.pdbtype' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.unit_cell _item_description.description ; The unit cell parameters (a b c alpha beta gamma) separated by a space. ; _item.name '_pdbx_dcc_density.unit_cell' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.space_group_name_H-M _item_description.description ; Hermann-Mauguin space-group symbol reported in the model file. ; _item.name '_pdbx_dcc_density.space_group_name_H-M' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.space_group_pointless _item_description.description ; Hermann-Mauguin space-group symbol calculated by the POINTLESS program using the structure factor file. ; _item.name '_pdbx_dcc_density.space_group_pointless' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.ls_d_res_high _item_description.description ; The highest resolution limit reported in the model file. ; _item.name '_pdbx_dcc_density.ls_d_res_high' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.ls_d_res_high_sf _item_description.description ; The highest resolution limit calculated from the structure factor file. ; _item.name '_pdbx_dcc_density.ls_d_res_high_sf' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.ls_d_res_low_sf _item_description.description ; The lowest resolution limit calculated from the structure factor file. ; _item.name '_pdbx_dcc_density.ls_d_res_low_sf' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.R_value_R_work _item_description.description ; The Rwork reported in the model file. ; _item.name '_pdbx_dcc_density.R_value_R_work' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.R_value_R_free _item_description.description ; The Rfree reported in the model file. ; _item.name '_pdbx_dcc_density.R_value_R_free' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.working_set_count _item_description.description ; The number of unique reflections for refinement (working set) reported in the model file. ; _item.name '_pdbx_dcc_density.working_set_count' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_density.free_set_count _item_description.description ; The number of unique reflections for calculating Rfree (testing set) reported in the model file. ; _item.name '_pdbx_dcc_density.free_set_count' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_density.occupancy_min _item_description.description ; The minimum occupancy reported in the model file. ; _item.name '_pdbx_dcc_density.occupancy_min' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.occupancy_max _item_description.description ; The maximum occupancy reported in the model file. ; _item.name '_pdbx_dcc_density.occupancy_max' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.occupancy_mean _item_description.description ; The averaged occupancy reported in the model file. ; _item.name '_pdbx_dcc_density.occupancy_mean' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.Biso_min _item_description.description ; The minimum isotropic B factor reported in the model file. ; _item.name '_pdbx_dcc_density.Biso_min' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.Biso_max _item_description.description ; The maximum isotropic B factor reported in the model file. ; _item.name '_pdbx_dcc_density.Biso_max' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.Biso_mean _item_description.description ; The occupancy weighted mean isotropic B factor reported in the model file. ; _item.name '_pdbx_dcc_density.Biso_mean' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.B_wilson _item_description.description ; The estimated B factor from the structure factor file by the Wilson plot (from Xtriage). ; _item.name '_pdbx_dcc_density.B_wilson' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.B_wilson_scale _item_description.description ; The scale factor for calculating the B factor by the Wilson plot (from Xtriage). ; _item.name '_pdbx_dcc_density.B_wilson_scale' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.mean_I2_over_mean_I_square _item_description.description ; Value of /^2 calculated by Xtriage using acentric reflections.(untwinned: 2.000; perfect twin 1.500). ; _item.name '_pdbx_dcc_density.mean_I2_over_mean_I_square' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.mean_F_square_over_mean_F2 _item_description.description ; Value of ^2/ calculated by Xtriage using acentric reflections.(untwinned: 0.785; perfect twin 0.885). ; _item.name '_pdbx_dcc_density.mean_F_square_over_mean_F2' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.mean_E2_1_abs _item_description.description ; Value of <|E^2 - 1|> calculated by Xtriage using acentric reflections.(untwinned: 0.736; perfect twin 0.541). ; _item.name '_pdbx_dcc_density.mean_E2_1_abs' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.Padilla-Yeates_L_mean _item_description.description ; Value of <|L|> calculated by Xtriage using acentric reflections. (untwinned: 0.500; perfect twin: 0.375). ; _item.name '_pdbx_dcc_density.Padilla-Yeates_L_mean' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.Padilla-Yeates_L2_mean _item_description.description ; Value of calculated by Xtriage using acentric reflections. (untwinned: 0.333; perfect twin: 0.200). ; _item.name '_pdbx_dcc_density.Padilla-Yeates_L2_mean' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.Padilla-Yeates_L2_mean_pointless _item_description.description ; Value of calculated by Pointless using acentric reflections. (untwinned: 0.333; perfect twin: 0.200). ; _item.name '_pdbx_dcc_density.Padilla-Yeates_L2_mean_pointless' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.Z_score_L_test _item_description.description ; Multivariate Z score for the L-test calculated by Xtriage using acentric reflections. It is a quality measure of the given spread in intensities. Good to reasonable data are expected to have a Z score lower than 3.5. ; _item.name '_pdbx_dcc_density.Z_score_L_test' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.twin_type _item_description.description ; Type of twin (merohedral,Pseudo-merohedral or non-merohedral) determined by Xtriage. ; _item.name '_pdbx_dcc_density.twin_type' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.twin_operator_xtriage _item_description.description ; A list of the twin operators determined by Xtriage. ; _item.name '_pdbx_dcc_density.twin_operator_xtriage' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code text save_ save__pdbx_dcc_density.twin_fraction_xtriage _item_description.description ; The twin fraction determined by Xtriage. ; _item.name '_pdbx_dcc_density.twin_fraction_xtriage' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.twin_Rfactor _item_description.description ; The Rfactor calculated by Xtriage using the twin operator related data. (Smaller values indicate twins). ; _item.name '_pdbx_dcc_density.twin_Rfactor' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.I_over_sigI_resh _item_description.description ; The at the highest resolution bin calculated by Xtriage. ; _item.name '_pdbx_dcc_density.I_over_sigI_resh' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.I_over_sigI_diff _item_description.description ; The difference of the in the last two points of the plot of vs resolution (expected to be negative). ; _item.name '_pdbx_dcc_density.I_over_sigI_diff' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.I_over_sigI_mean _item_description.description ; The overall mean value of for the reflections. ; _item.name '_pdbx_dcc_density.I_over_sigI_mean' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.ice_ring _item_description.description ; Boolean whether ice ring exists (Y) or not (N) as determined by Xtriage. ; _item.name '_pdbx_dcc_density.ice_ring' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.anisotropy _item_description.description ; The anisotropy ( [MaxAnisoB-MinAnisoB]/[MaxAnisoB] ) calculated by Xtriage. ; _item.name '_pdbx_dcc_density.anisotropy' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.Z-score _item_description.description ; Z-scores are computed (by Xtriage) on the basis of a Bernoulli model assuming independence of weak reflections with respect to anisotropy. ; _item.name '_pdbx_dcc_density.Z-score' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.prob_peak_value _item_description.description ; The probability to tell the existence of translational pseudo symmetry. p_values smaller than 0.05 (1e-3) might indicate weak (strong) translational pseudo symmetry (by Xtriage). ; _item.name '_pdbx_dcc_density.prob_peak_value' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.translational_pseudo_symmetry _item_description.description ; Boolean whether translational pseudo symmetry exist (Y) or not (N) as determined by Xtriage. ; _item.name '_pdbx_dcc_density.translational_pseudo_symmetry' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.wavelength _item_description.description ; The wavelength reported from the model file. ; _item.name '_pdbx_dcc_density.wavelength' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.B_solvent _item_description.description ; One of the scale factors used in the bulk solvent correction (from REFMAC). ; _item.name '_pdbx_dcc_density.B_solvent' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.K_solvent _item_description.description ; One of the scale factors used in the bulk solvent correction (from REFMAC). ; _item.name '_pdbx_dcc_density.K_solvent' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.TLS_refinement_reported _item_description.description ; Whether TLS was used in refinement. Y for yes, and N for no. ; _item.name '_pdbx_dcc_density.TLS_refinement_reported' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.partial_B_value_correction_attempted _item_description.description ; Whether attempt to convert the partial to full B factors before validation. ; _item.name '_pdbx_dcc_density.partial_B_value_correction_attempted' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.partial_B_value_correction_success _item_description.description ; Whether the conversion of partial B to full B factor is successful (Y) or not (N). ; _item.name '_pdbx_dcc_density.partial_B_value_correction_success' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.reflection_status_archived _item_description.description ; Whether the status is of reflection is archived (Y) or not (N). ; _item.name '_pdbx_dcc_density.reflection_status_archived' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.reflection_status_used _item_description.description ; Whether the status of the reflection is used (Y) or not (N). ; _item.name '_pdbx_dcc_density.reflection_status_used' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.iso_B_value_type _item_description.description ; The type of B factors (partial or full) for the residue. ; _item.name '_pdbx_dcc_density.iso_B_value_type' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.reflns_twin _item_description.description ; Boolean (Y/N) whether the twin is reported. ; _item.name '_pdbx_dcc_density.reflns_twin' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.twin_by_xtriage _item_description.description ; Boolean (Y/N) whether twin is detected by Xtriage. ; _item.name '_pdbx_dcc_density.twin_by_xtriage' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.twin_operator _item_description.description ; Twin operators determined by REFMAC. ; _item.name '_pdbx_dcc_density.twin_operator' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.twin_fraction _item_description.description ; Twin fractions determined by REFMAC. ; _item.name '_pdbx_dcc_density.twin_fraction' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density.tls_group_number _item_description.description ; Number of TLS groups used in refinement. ; _item.name '_pdbx_dcc_density.tls_group_number' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_density.ncs_group_number _item_description.description ; Number of NCS groups used in refinement. ; _item.name '_pdbx_dcc_density.ncs_group_number' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_density.mtrix_number _item_description.description ; Number of matrix for the NCS groups used in refinement. ; _item.name '_pdbx_dcc_density.mtrix_number' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_density.Matthew_coeff _item_description.description ; The Matthew coefficient. ; _item.name '_pdbx_dcc_density.Matthew_coeff' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.solvent_content _item_description.description ; The solvent content. ; _item.name '_pdbx_dcc_density.solvent_content' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.Cruickshank_dpi_xyz _item_description.description ; The DPI on the model determined by REFMAC. ; _item.name '_pdbx_dcc_density.Cruickshank_dpi_xyz' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.dpi_free_R _item_description.description ; The DPI calculated based on the free set, determined by REFMAC. ; _item.name '_pdbx_dcc_density.dpi_free_R' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.fom _item_description.description ; The mean figure of merit after refinement. ; _item.name '_pdbx_dcc_density.fom' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.correlation_overall _item_description.description ; The overall electron density correlation coefficient. ; _item.name '_pdbx_dcc_density.correlation_overall' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.real_space_R_overall _item_description.description ; The overall real space R factor. ; _item.name '_pdbx_dcc_density.real_space_R_overall' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.mFo-DFc-3sigma_positive _item_description.description ; The number of electron density positive peaks larger than 3 sigma. ; _item.name '_pdbx_dcc_density.mFo-DFc-3sigma_positive' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_density.mFo-DFc-6sigma_positive _item_description.description ; The number of electron density positive peaks larger than 6 sigma. ; _item.name '_pdbx_dcc_density.mFo-DFc-6sigma_positive' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_density.mFo-DFc-3sigma_negative _item_description.description ; The number of electron density negative peaks less than 3 sigma. ; _item.name '_pdbx_dcc_density.mFo-DFc-3sigma_negative' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_density.mFo-DFc-6sigma_negative _item_description.description ; The number of electron density negative peaks less than 6 sigma. ; _item.name '_pdbx_dcc_density.mFo-DFc-6sigma_negative' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_density.Bmean-Bwilson _item_description.description ; The difference between the isotropic B factor and the Bfators from Wilson plot. ; _item.name '_pdbx_dcc_density.Bmean-Bwilson' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.Rfree-Rwork _item_description.description ; The difference between reported Rfree and reported Rwork. ; _item.name '_pdbx_dcc_density.Rfree-Rwork' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density.error _item_description.description ; Details of any error or warning messages. ; _item.name '_pdbx_dcc_density.error' _item.category_id pdbx_dcc_density _item.mandatory_code no _item_type.code text save_ ######### Category=pdbx_dcc_geometry ####### save_pdbx_dcc_geometry _category.description ; Data items in the category record the overall deviations about geometry (such as bond length, angle, dihedral, chirality, planarity). These data are calculated with the phenix module model_vs_data. ; _category.id pdbx_dcc_geometry _category.mandatory_code no _category_key.name '_pdbx_dcc_geometry.pdbid' loop_ _category_group.id 'inclusive_group' 'dcc_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_dcc_geometry save_ save__pdbx_dcc_geometry.pdbid _item_description.description ; The PDB id code. ; _item.name '_pdbx_dcc_geometry.pdbid' _item.category_id pdbx_dcc_geometry _item.mandatory_code yes _item_type.code code save_ save__pdbx_dcc_geometry.Ramachandran_outlier_percent _item_description.description ; Percentage of outliers in Ramachandran plot. ; _item.name '_pdbx_dcc_geometry.Ramachandran_outlier_percent' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.Ramachandran_outlier_number _item_description.description ; Number of outliers in Ramachandran plot. ; _item.name '_pdbx_dcc_geometry.Ramachandran_outlier_number' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_geometry.Ramachandran_allowed_percent _item_description.description ; Percentage of allowed residues in Ramachandran plot. ; _item.name '_pdbx_dcc_geometry.Ramachandran_allowed_percent' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.Ramachandran_allowed_number _item_description.description ; Number of allowed residues in Ramachandran plot. ; _item.name '_pdbx_dcc_geometry.Ramachandran_allowed_number' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_geometry.Ramachandran_favored_percent _item_description.description ; Percentage of favored residues in Ramachandran plot. ; _item.name '_pdbx_dcc_geometry.Ramachandran_favored_percent' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.Ramachandran_favored_number _item_description.description ; Number of favored residues in Ramachandran plot. ; _item.name '_pdbx_dcc_geometry.Ramachandran_favored_number' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_geometry.rotamer_outliers_percent _item_description.description ; Percentage of rotamer outliers. ; _item.name '_pdbx_dcc_geometry.rotamer_outliers_percent' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.rotamer_outliers_number _item_description.description ; Number of rotamer outliers. ; _item.name '_pdbx_dcc_geometry.rotamer_outliers_number' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_geometry.cbeta_deviations _item_description.description ; Number of Cbeta deviations >0.25A. ; _item.name '_pdbx_dcc_geometry.cbeta_deviations' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_geometry.all_atom_clashscore _item_description.description ; All atom score is determined by steric overlaps >0.4A per 1000 atoms. ; _item.name '_pdbx_dcc_geometry.all_atom_clashscore' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.overall_score _item_description.description ; The overall score for the geometry (the smaller the better). ; _item.name '_pdbx_dcc_geometry.overall_score' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.bond_overall_rms _item_description.description ; The overall root mean square deviation for bond lengths (all atoms). ; _item.name '_pdbx_dcc_geometry.bond_overall_rms' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.bond_overall_max _item_description.description ; The maximum root mean square deviation for bond lengths (all atoms). ; _item.name '_pdbx_dcc_geometry.bond_overall_max' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.bond_ligand_rms _item_description.description ; The overall root mean square deviation for bond lengths (ligand only). ; _item.name '_pdbx_dcc_geometry.bond_ligand_rms' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.bond_ligand_max _item_description.description ; The maximum root mean square deviation for bond lengths (ligand only). ; _item.name '_pdbx_dcc_geometry.bond_ligand_max' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.angle_overall_rms _item_description.description ; The overall root mean square deviation for bond angles (all atoms). ; _item.name '_pdbx_dcc_geometry.angle_overall_rms' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.angle_overall_max _item_description.description ; The maximum root mean square deviation for bond angles (all atoms). ; _item.name '_pdbx_dcc_geometry.angle_overall_max' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.angle_ligand_rms _item_description.description ; The overall root mean square deviation for bond angles (ligand only). ; _item.name '_pdbx_dcc_geometry.angle_ligand_rms' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.angle_ligand_max _item_description.description ; The maximum root mean square deviation for bond angles (ligand only). ; _item.name '_pdbx_dcc_geometry.angle_ligand_max' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.dihedral_overall_rms _item_description.description ; The overall root mean square deviation for dihedrals (all atoms). ; _item.name '_pdbx_dcc_geometry.dihedral_overall_rms' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.dihedral_overall_max _item_description.description ; The maximum root mean square deviation for dihedrals (all atoms). ; _item.name '_pdbx_dcc_geometry.dihedral_overall_max' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.chirality_overall_rms _item_description.description ; The overall root mean square deviation for chirality (all atoms). ; _item.name '_pdbx_dcc_geometry.chirality_overall_rms' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.chirality_overall_max _item_description.description ; The maximum root mean square deviation for chirality (all atoms). ; _item.name '_pdbx_dcc_geometry.chirality_overall_max' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.planarity_overall_rms _item_description.description ; The overall root mean square deviation for planarity (all atoms). ; _item.name '_pdbx_dcc_geometry.planarity_overall_rms' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.planarity_overall_max _item_description.description ; The maximum root mean square deviation for planarity (all atoms). ; _item.name '_pdbx_dcc_geometry.planarity_overall_max' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_geometry.non-bonded_rms _item_description.description ; The overall on-bonded distance (all atoms). ; _item.name '_pdbx_dcc_geometry.non-bonded_rms' _item.category_id pdbx_dcc_geometry _item.mandatory_code no _item_type.code float save_ ######### Category=pdbx_dcc_density_corr ####### save_pdbx_dcc_density_corr _category.description ; Data items in the category record calculated metrics from various programs (such as phenix, refmac, cns, sfcheck). ; _category.id pdbx_dcc_density_corr _category.mandatory_code no _category_key.name '_pdbx_dcc_density_corr.ordinal' loop_ _category_group.id 'inclusive_group' 'dcc_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_dcc_density_corr save_ save__pdbx_dcc_density_corr.ordinal _item_description.description ; The ordered number in the output list. ; _item.name '_pdbx_dcc_density_corr.ordinal' _item.category_id pdbx_dcc_density_corr _item.mandatory_code yes _item_type.code int save_ save__pdbx_dcc_density_corr.program _item_description.description ; The program used to calculate the metrics in this category. ; _item.name '_pdbx_dcc_density_corr.program' _item.category_id pdbx_dcc_density_corr _item.mandatory_code no _item_type.code line save_ save__pdbx_dcc_density_corr.ls_d_res_high _item_description.description ; The highest resolution limit in calculating the metrics in this category. ; _item.name '_pdbx_dcc_density_corr.ls_d_res_high' _item.category_id pdbx_dcc_density_corr _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density_corr.ls_d_res_low _item_description.description ; The lowest resolution limit in calculating the metrics in this category. ; _item.name '_pdbx_dcc_density_corr.ls_d_res_low' _item.category_id pdbx_dcc_density_corr _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density_corr.ls_R_factor_R_all _item_description.description ; The calculated Rfactor using all the data. ; _item.name '_pdbx_dcc_density_corr.ls_R_factor_R_all' _item.category_id pdbx_dcc_density_corr _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density_corr.ls_R_factor_R_work _item_description.description ; The calculated Rfactor using the working set data. ; _item.name '_pdbx_dcc_density_corr.ls_R_factor_R_work' _item.category_id pdbx_dcc_density_corr _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density_corr.ls_R_factor_R_free _item_description.description ; The calculated Rfree using the test set data. ; _item.name '_pdbx_dcc_density_corr.ls_R_factor_R_free' _item.category_id pdbx_dcc_density_corr _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density_corr.ls_number_reflns_obs _item_description.description ; The number of unique reflections (work+test sets). ; _item.name '_pdbx_dcc_density_corr.ls_number_reflns_obs' _item.category_id pdbx_dcc_density_corr _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_density_corr.ls_percent_reflns_obs _item_description.description ; The percentage of unique reflections (work+test sets). ; _item.name '_pdbx_dcc_density_corr.ls_percent_reflns_obs' _item.category_id pdbx_dcc_density_corr _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density_corr.ls_number_reflns_R_free _item_description.description ; The number of reflections for the test set only. ; _item.name '_pdbx_dcc_density_corr.ls_number_reflns_R_free' _item.category_id pdbx_dcc_density_corr _item.mandatory_code no _item_type.code int save_ save__pdbx_dcc_density_corr.correlation_coeff_Fo_to_Fc _item_description.description ; The correlations between the observed and calculated structure factors. ; _item.name '_pdbx_dcc_density_corr.correlation_coeff_Fo_to_Fc' _item.category_id pdbx_dcc_density_corr _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density_corr.real_space_R _item_description.description ; The overall real space R factor. ; _item.name '_pdbx_dcc_density_corr.real_space_R' _item.category_id pdbx_dcc_density_corr _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density_corr.correlation _item_description.description ; The overall real space density correlation coefficient. ; _item.name '_pdbx_dcc_density_corr.correlation' _item.category_id pdbx_dcc_density_corr _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_density_corr.details _item_description.description ; Any additional details of the calculations. ; _item.name '_pdbx_dcc_density_corr.details' _item.category_id pdbx_dcc_density_corr _item.mandatory_code no _item_type.code line save_ ######### Category=pdbx_dcc_map ####### save_pdbx_dcc_map _category.description ; Data items in the category record residual map properties such as Real Space electron density Correlation Coefficient (RSCC), real space R factors (RSR) and the Zscores for each residue, the main/side chains. ; _category.id pdbx_dcc_map _category.mandatory_code no _category_key.name '_pdbx_dcc_map.id' loop_ _category_group.id 'inclusive_group' 'dcc_group' _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_dcc_map save_ save__pdbx_dcc_map.id _item_description.description ; The ordered number of residue in the output list. ; _item.name '_pdbx_dcc_map.id' _item.category_id pdbx_dcc_map _item.mandatory_code yes _item_type.code int save_ save__pdbx_dcc_map.model_id _item_description.description ; The component model identifier for this analysis. ; _item.name '_pdbx_dcc_map.model_id' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_map.pdb_id _item_description.description ; The PDB id code (four characters). ; _item.name '_pdbx_dcc_map.pdb_id' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_map.auth_asym_id _item_description.description ; The author provided chain id. ; _item.name '_pdbx_dcc_map.auth_asym_id' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_map.auth_comp_id _item_description.description ; The author provided compound ID (residue name). ; _item.name '_pdbx_dcc_map.auth_comp_id' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_map.auth_seq_id _item_description.description ; The author provided residue number. ; _item.name '_pdbx_dcc_map.auth_seq_id' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_map.label_alt_id _item_description.description ; Author provided alternate location identifier. ; _item.name '_pdbx_dcc_map.label_alt_id' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_map.label_ins_code _item_description.description ; The PDB insertion code. ; _item.name '_pdbx_dcc_map.label_ins_code' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code code save_ save__pdbx_dcc_map.RSCC _item_description.description ; The Real Space electron density Correlation Coefficient for the residue. It is defined as RSCC=(-)/[sqrt(-**2)*sqrt(-**2)] where x is the observed density from the (2mFo-DFc) map and y is the calculated density from the Fc map ; _item.name '_pdbx_dcc_map.RSCC' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSR _item_description.description ; The Real space Rfactor (RSR) for the residue. It is defined as RSR=sum(|x-y|/x+y|) which is the summation over all grid points around the residue, where x is the observed density from the (2mFo-DFc) map and y is the calculated density from the Fc map. ; _item.name '_pdbx_dcc_map.RSR' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.weighted_RSR _item_description.description ; The weighted Real Space Rfactor (defined as RSR/RSCC) for the residue. ; _item.name '_pdbx_dcc_map.weighted_RSR' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSRZ _item_description.description ; Zscore of the Real Space Rfactor (RSRZ) for the residue. It is defined as (RSR-)/sigma_RSR, where and sigma_RSR are for the whole map, RSR is for the residue. ; _item.name '_pdbx_dcc_map.RSRZ' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.weighted_RSRZ _item_description.description ; Zscore of weighted Real Space Rfactor for the residue. It is defined as (wRSR-)/sigma_wRSR, where and sigma_wRSR are for the whole map, wRSR is for the residue. ; _item.name '_pdbx_dcc_map.weighted_RSRZ' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.Biso_mean _item_description.description ; The occupancy weighted average isotropic B factors for the residue. It is defined as (SUM B*Q)/(SUM Q), where B is the isotropic B factor for each atom and Q is the occupancy. ; _item.name '_pdbx_dcc_map.Biso_mean' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.occupancy_mean _item_description.description ; The averaged occupancy for the residue. ; _item.name '_pdbx_dcc_map.occupancy_mean' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSCC_main_chain _item_description.description ; The Real Space electron density Correlation Coefficient for the main chain atoms. ; _item.name '_pdbx_dcc_map.RSCC_main_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSR_main_chain _item_description.description ; The Real space Rfactor (RSR) for the main chain atoms. ; _item.name '_pdbx_dcc_map.RSR_main_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.wRSR_main_chain _item_description.description ; The weighted Real Space Rfactor (RSR/RSCC) for the main chain atoms. ; _item.name '_pdbx_dcc_map.wRSR_main_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSRZ_main_chain _item_description.description ; Zscore of the Real Space Rfactor (RSRZ) for the main chain atoms. ; _item.name '_pdbx_dcc_map.RSRZ_main_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.wRSRZ_main_chain _item_description.description ; Zscore of weighted Real Space Rfactor (RSR/RSCC) for the main chain atoms. ; _item.name '_pdbx_dcc_map.wRSRZ_main_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.Biso_mean_main_chain _item_description.description ; The occupancy weighted average isotropic B factors for the main chain atoms. ; _item.name '_pdbx_dcc_map.Biso_mean_main_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.occupancy_mean_main_chain _item_description.description ; The averaged occupancy forthe main chain atoms. ; _item.name '_pdbx_dcc_map.occupancy_mean_main_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSCC_side_chain _item_description.description ; The Real Space electron density Correlation Coefficient for the side chain atoms. ; _item.name '_pdbx_dcc_map.RSCC_side_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSR_side_chain _item_description.description ; The Real space Rfactor (RSR) for the side chain atoms. ; _item.name '_pdbx_dcc_map.RSR_side_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.wRSR_side_chain _item_description.description ; The weighted Real Space Rfactor (RSR/RSCC) for the side chain atoms. ; _item.name '_pdbx_dcc_map.wRSR_side_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSRZ_side_chain _item_description.description ; Zscore of the Real Space Rfactor (RSRZ) for the side chain atoms. ; _item.name '_pdbx_dcc_map.RSRZ_side_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.wRSRZ_side_chain _item_description.description ; Zscore of weighted Real Space Rfactor (RSR/RSCC) for the side chain atoms. ; _item.name '_pdbx_dcc_map.wRSRZ_side_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.Biso_mean_side_chain _item_description.description ; The occupancy weighted average isotropic B factors for the side chain atoms. ; _item.name '_pdbx_dcc_map.Biso_mean_side_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.occupancy_mean_side_chain _item_description.description ; The averaged occupancy forthe side chain atoms. ; _item.name '_pdbx_dcc_map.occupancy_mean_side_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSCC_phosphate_group _item_description.description ; The Real Space electron density Correlation Coefficient for the phosphate atoms. ; _item.name '_pdbx_dcc_map.RSCC_phosphate_group' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSR_phosphate_group _item_description.description ; The Real space Rfactor (RSR) for the phosphate atoms. ; _item.name '_pdbx_dcc_map.RSR_phosphate_group' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.wRSR_phosphate_group _item_description.description ; The weighted Real Space Rfactor (RSR/RSCC) for the phosphate atoms. ; _item.name '_pdbx_dcc_map.wRSR_phosphate_group' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSRZ_phosphate_group _item_description.description ; Zscore of the Real Space Rfactor (RSRZ) for the phosphate atoms. ; _item.name '_pdbx_dcc_map.RSRZ_phosphate_group' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.wRSRZ_phosphate_group _item_description.description ; Zscore of weighted Real Space Rfactor (RSR/RSCC) for the phosphate atoms. ; _item.name '_pdbx_dcc_map.wRSRZ_phosphate_group' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.Biso_mean_phosphate_group _item_description.description ; The occupancy weighted average isotropic B factors for the phosphate atoms. ; _item.name '_pdbx_dcc_map.Biso_mean_phosphate_group' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.occupancy_mean_phosphate_group _item_description.description ; The averaged occupancy forthe phosphate atoms. ; _item.name '_pdbx_dcc_map.occupancy_mean_phosphate_group' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.shift _item_description.description ; Defined in sfcheck (displacement/sigma_of_displacement). Displacement of atoms from electron density is estimated from the difference (Fobs - Fcal) map. The displacement vector is the ratio of the gradient of difference density to the curvature. The amplitude of the displacement vector is an indicator of the positional error. ; _item.name '_pdbx_dcc_map.shift' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.shift_main_chain _item_description.description ; The same as _pdbx_dcc_map.density_shift, but it is for main chain. ; _item.name '_pdbx_dcc_map.shift_main_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.shift_side_chain _item_description.description ; The same as _pdbx_dcc_map.density_shift, but it is for side chain. ; _item.name '_pdbx_dcc_map.shift_side_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.density_connectivity _item_description.description ; Defined in sfcheck. It is the product of the (2Fobs-Fcal) electron density values for the backbone atoms N, CA and C, and in the case of RNA/DNA, for P, O5', C5', C3', O3'. Low values of this index indicate breaks in the backbone electron density which may be due to flexibility of the chain or incorrect tracing. ; _item.name '_pdbx_dcc_map.density_connectivity' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.density_index_main_chain _item_description.description ; Defined in sfcheck. It is the mean density of the main chain atoms divided by the mean density of the map. ; _item.name '_pdbx_dcc_map.density_index_main_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.density_index_side_chain _item_description.description ; Defined in sfcheck. It is the mean density of the side chain atoms divided by the mean density of the map. ; _item.name '_pdbx_dcc_map.density_index_side_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSZD _item_description.description ; The real space difference density Z score (defined as Delta_rho/sigma(Delta_rho)) from Tickle (2012). It is related to the model accuracy. RSZD>3, significant extra positive density around the residue; RSZD<-3, significant extra negative density around the residue. ; _item.name '_pdbx_dcc_map.RSZD' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSZO _item_description.description ; The real space observed density Z score (defined as /sigma(Delta_rho)) from Tickle (2012). It is related to the model precision (B factors). Small or large value means weak or strong density for the residue. ; _item.name '_pdbx_dcc_map.RSZO' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSZO_Zscore _item_description.description ; The Zscore of RSZO (or the Zscore of /sigma(Delta_rho)). ; _item.name '_pdbx_dcc_map.RSZO_Zscore' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.LLDF _item_description.description ; It is the Ligand Local Density Function defined as the (_local - RsR_Ligand)/sigma_RsR, where _local is the mean RSR of polymer residues in 5 Angstrom (including the crystallographic symmetry) surrounding the ligand, and sigma_RsR is sigma value calculated from the surrounding residues. ; _item.name '_pdbx_dcc_map.LLDF' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSZD_main_chain _item_description.description ; The same as _pdbx_dcc_map.RSZD, use for the main chain atoms. ; _item.name '_pdbx_dcc_map.RSZD_main_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSZO_main_chain _item_description.description ; The same as _pdbx_dcc_map.RSZO, use for the main chain atoms. ; _item.name '_pdbx_dcc_map.RSZO_main_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSZD_side_chain _item_description.description ; The same as _pdbx_dcc_map.RSZD, use for the side chain atoms. ; _item.name '_pdbx_dcc_map.RSZD_side_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSZO_side_chain _item_description.description ; The same as _pdbx_dcc_map.RSZO, use for the side chain atoms. ; _item.name '_pdbx_dcc_map.RSZO_side_chain' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSZD_phosphate_group _item_description.description ; The same as _pdbx_dcc_map.RSZD, use for the phosphate atoms of nucleic acids. ; _item.name '_pdbx_dcc_map.RSZD_phosphate_group' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.RSZO_phosphate_group _item_description.description ; The same as _pdbx_dcc_map.RSZO, use for the phosphate atoms of nucleic acids. ; _item.name '_pdbx_dcc_map.RSZO_phosphate_group' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code float save_ save__pdbx_dcc_map.quality_indicator _item_description.description ; The value indicates any problems with this group of atoms. If given as 'd', it means there is problem of local model accuracy. If given as 'w', it means weak density (there is problem of local model precision). If given as 'dw', both then problems exist. ; _item.name '_pdbx_dcc_map.quality_indicator' _item.category_id pdbx_dcc_map _item.mandatory_code no _item_type.code line save_ ## File: deposit-group-extension.dic ## Date: 25-Mar-2016 ## ## save_pdbx_deposit_group _category.description ; Data items in the pdbx_deposit_group category provide identifiers and related information for groups of entries deposited in a collection. ; _category.id pdbx_deposit_group _category.mandatory_code no _category_key.name '_pdbx_deposit_group.group_id' loop_ _category_group.id 'inclusive_group' 'audit_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Deposition collection ; ; _pdbx_deposit_group.group_id B_0000000001 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_deposit_group.group_id _item_description.description ; A unique identifier for a group of entries deposited as a collection. ; _item.name '_pdbx_deposit_group.group_id' _item.category_id pdbx_deposit_group _item.mandatory_code yes _item_type.code code save_ # save__pdbx_deposit_group.group_title _item_description.description ; A title to describe the group of entries deposited in the collection. ; _item.name '_pdbx_deposit_group.group_title' _item.category_id pdbx_deposit_group _item.mandatory_code no _item_type.code text save_ # save__pdbx_deposit_group.group_description _item_description.description ; A description of the contents of entries in the collection. ; _item.name '_pdbx_deposit_group.group_description' _item.category_id pdbx_deposit_group _item.mandatory_code no _item_type.code text save_ # save__pdbx_deposit_group.group_type _item_description.description ; Text to describe a grouping of entries in multiple collections ; _item.name '_pdbx_deposit_group.group_type' _item.category_id pdbx_deposit_group _item.mandatory_code no _item_type.code text loop_ _item_enumeration.value _item_enumeration.detail 'changed state' . 'ground state' . 'undefined' . save_ ## ## save_pdbx_deposit_group_index _category.description ; Data items in the pdbx_deposit_group_index category provides details about the individual data files in the collection of deposited entries. ; _category.id pdbx_deposit_group_index _category.mandatory_code no loop_ _category_key.name '_pdbx_deposit_group_index.group_id' '_pdbx_deposit_group_index.ordinal_id' loop_ _category_group.id 'inclusive_group' 'audit_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Deposition collection ; ; loop_ _pdbx_deposit_group_index.ordinal_id _pdbx_deposit_group_index.group_id _pdbx_deposit_group_index.dep_set_id _pdbx_deposit_group_index.pdb_id_code _pdbx_deposit_group_index.group_file_name _pdbx_deposit_group_index.group_file_timestamp _pdbx_deposit_group_index.auth_file_label _pdbx_deposit_group_index.auth_file_content_type _pdbx_deposit_group_index.auth_file_format_type _pdbx_deposit_group_index.auth_file_name _pdbx_deposit_group_index.auth_file_size 1 B_1000000001 D_2000000001 1ABC myset.tar.gz 2016-01-02:10:02 model1 model cif model-file-1.cif 4000002 2 B_1000000001 D_2000000001 1ABC myset.tar.gz 2016-01-02:10:02 sf1 'structure factors' cif sf-file-1.cif 53000022 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_deposit_group_index save_ save__pdbx_deposit_group_index.group_id _item_description.description ; A unique identifier for a group of entries deposited as a collection. ; _item.name '_pdbx_deposit_group_index.group_id' _item.category_id pdbx_deposit_group_index _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_deposit_group_index.group_id' _item_linked.parent_name '_pdbx_deposit_group.group_id' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_deposit_group_index.group_id' save_ save__pdbx_deposit_group_index.ordinal_id _item_description.description ; A unique identifier for the index entry within the deposition group. ; _item.name '_pdbx_deposit_group_index.ordinal_id' _item.category_id pdbx_deposit_group_index _item.mandatory_code yes _item_type.code int _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_deposit_group_index.ordinal_id' save_ save__pdbx_deposit_group_index.dep_set_id _item_description.description ; An internal identifier for a deposited data set. ; _item.name '_pdbx_deposit_group_index.dep_set_id' _item.category_id pdbx_deposit_group_index _item.mandatory_code no _item_type.code code _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_deposit_group_index.dep_set_id' save_ save__pdbx_deposit_group_index.pdb_id_code _item_description.description ; A PDB accession code. ; _item.name '_pdbx_deposit_group_index.pdb_id_code' _item.category_id pdbx_deposit_group_index _item.mandatory_code no _item_type.code code _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_deposit_group_index.pdb_id_code' save_ save__pdbx_deposit_group_index.group_file_name _item_description.description ; A file name of the group of collected structures. ; _item.name '_pdbx_deposit_group_index.group_file_name' _item.category_id pdbx_deposit_group_index _item.mandatory_code no _item_type.code code _item_examples.case 'big-set.tar.gz' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_deposit_group_index.group_file_name' save_ save__pdbx_deposit_group_index.group_file_timestamp _item_description.description ; A file timestamp of the group of collected structures. ; _item.name '_pdbx_deposit_group_index.group_file_timestamp' _item.category_id pdbx_deposit_group_index _item.mandatory_code no _item_type.code yyyy-mm-dd:hh:mm _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_deposit_group_index.group_file_timestamp' save_ save__pdbx_deposit_group_index.auth_file_label _item_description.description ; A contributor label for this data file within the collection. ; _item.name '_pdbx_deposit_group_index.auth_file_label' _item.category_id pdbx_deposit_group_index _item.mandatory_code no _item_type.code line _item_examples.case 'file1' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_deposit_group_index.auth_file_label' save_ save__pdbx_deposit_group_index.auth_file_content_type _item_description.description ; The data content type for this data file within the collection. ; _item.name '_pdbx_deposit_group_index.auth_file_content_type' _item.category_id pdbx_deposit_group_index _item.mandatory_code no _item_type.code line _item_examples.case 'model' loop_ _item_enumeration.value _item_enumeration.detail 'model' 'coordinate model' 'structure factors' 'structure factor amplitudes or intensities' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_deposit_group_index.auth_file_content_type' save_ save__pdbx_deposit_group_index.auth_file_format_type _item_description.description ; The data format for this data file within the collection. ; _item.name '_pdbx_deposit_group_index.auth_file_format_type' _item.category_id pdbx_deposit_group_index _item.mandatory_code no _item_type.code code _item_examples.case 'mmcif' loop_ _item_enumeration.value _item_enumeration.detail 'cif' 'PDBx/mmCIF' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_deposit_group_index.auth_file_format_type' save_ save__pdbx_deposit_group_index.auth_file_name _item_description.description ; The file name for this data file within the collection. ; _item.name '_pdbx_deposit_group_index.auth_file_name' _item.category_id pdbx_deposit_group_index _item.mandatory_code no _item_type.code line _item_examples.case 'file-1.cif' _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_deposit_group_index.auth_file_name' save_ save__pdbx_deposit_group_index.auth_file_size _item_description.description ; The file size (bytes) for this data file within the collection. ; _item.name '_pdbx_deposit_group_index.auth_file_size' _item.category_id pdbx_deposit_group_index _item.mandatory_code no _item_type.code int _item_examples.case 15000232 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_deposit_group_index.auth_file_size' save_ ## File: struct-assembly-extension.dic ## ## save_pdbx_struct_assembly_auth_evidence _category.description ; Provides author supplied evidentiary support for assemblies in pdbx_struct_assembly. ; _category.id pdbx_struct_assembly_auth_evidence _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_assembly_auth_evidence.id' '_pdbx_struct_assembly_auth_evidence.assembly_id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_struct_assembly_auth_evidence.id _pdbx_struct_assembly_auth_evidence.assembly_id _pdbx_struct_assembly_auth_evidence.experimental_support _pdbx_struct_assembly_auth_evidence.details 1 1 'cross-linking' . 2 1 'gel filtration' 'Elutes as a dimer' 3 2 'cross-linking' . ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_assembly_auth_evidence.id _item_description.description ; Identifies a unique record in pdbx_struct_assembly_auth_evidence. ; _item.name '_pdbx_struct_assembly_auth_evidence.id' _item.category_id pdbx_struct_assembly_auth_evidence _item.mandatory_code yes _item_type.code code save_ save__pdbx_struct_assembly_auth_evidence.assembly_id _item_description.description ; This item references an assembly in pdbx_struct_assembly ; _item.name '_pdbx_struct_assembly_auth_evidence.assembly_id' _item.category_id pdbx_struct_assembly_auth_evidence _item.mandatory_code yes _item_type.code line _item_linked.child_name '_pdbx_struct_assembly_auth_evidence.assembly_id' _item_linked.parent_name '_pdbx_struct_assembly.id' save_ save__pdbx_struct_assembly_auth_evidence.experimental_support _item_description.description ; Provides the experimental method to determine the state of this assembly ; _item.name '_pdbx_struct_assembly_auth_evidence.experimental_support' _item.category_id pdbx_struct_assembly_auth_evidence _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'gel filtration' 'light scattering' 'homology' 'equilibrium centrifugation' 'mass spectrometry' 'SAXS' 'immunoprecipitation' 'isothermal titration calorimetry' 'cross-linking' 'native gel electrophoresis' 'microscopy' 'assay for oligomerization' 'scanning transmission electron microscopy' 'surface plasmon resonance' 'fluorescence resonance energy transfer' 'NMR relaxation study' 'NMR Distance Restraints' 'electron microscopy' 'none' save_ save__pdbx_struct_assembly_auth_evidence.details _item_description.description ; Provides any additional information regarding the evidence of this assembly ; _item.name '_pdbx_struct_assembly_auth_evidence.details' _item.category_id pdbx_struct_assembly_auth_evidence _item.mandatory_code no _pdbx_item.mandatory_code yes _item_type.code text save_ #### pdbx_struct_assembly_auth_classification save_pdbx_struct_assembly_auth_classification _category.description ; Provides reason a particular assembly in pdbx_struct_assembly is of interest. ; _category.id pdbx_struct_assembly_auth_classification _category.mandatory_code no loop_ _category_key.name '_pdbx_struct_assembly_auth_classification.assembly_id' loop_ _category_group.id 'inclusive_group' 'struct_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_struct_assembly_auth_classification.assembly_id _pdbx_struct_assembly_auth_classification.reason_for_interest 1 'biologically relevant' 2 designed ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_struct_assembly_auth_classification.assembly_id _item_description.description ; This item references an assembly in pdbx_struct_assembly ; _item.name '_pdbx_struct_assembly_auth_classification.assembly_id' _item.category_id pdbx_struct_assembly_auth_classification _item.mandatory_code yes _item_type.code line _item_linked.child_name '_pdbx_struct_assembly_auth_classification.assembly_id' _item_linked.parent_name '_pdbx_struct_assembly.id' save_ save__pdbx_struct_assembly_auth_classification.reason_for_interest _item_description.description ; Provides the reason that a particular assembly is being studied ; _item.name '_pdbx_struct_assembly_auth_classification.reason_for_interest' _item.category_id pdbx_struct_assembly_auth_classification _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'biologically relevant' 'crystal packing' 'designed' 'undetermined' save_ #### # Extensions added by pdb_extract #### ################################# # Extend pdbx_phasing_MR category ################################# save__pdbx_phasing_MR.d_res_high_fit _item_description.description ; The highest resolution limit used for rigid body refinement after molecular replacement (MR) solution. ; _item.name '_pdbx_phasing_MR.d_res_high_fit' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_phasing_MR.d_res_high_fit' save_ save__pdbx_phasing_MR.d_res_low_fit _item_description.description ; The lowest resolution limit used for rigid body refinement after molecular replacement (MR) solution. ; _item.name '_pdbx_phasing_MR.d_res_low_fit' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_phasing_MR.d_res_low_fit' save_ save__pdbx_phasing_MR.zscore_rotation _item_description.description ; It is computed by comparing the LLG values from the rotation search with LLG values for a set of random rotations. The mean and the RMS deviation from the mean are computed from the random set, then the Z-score for a search peak is defined as its LLG minus the mean, all divided by the RMS deviation. Read, R.J. (2001). "Pushing the boundaries of molecular replacement with maximum likelihood." Acta Cryst. D57, 1373-1382 ; _item.name '_pdbx_phasing_MR.zscore_rotation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_phasing_MR.zscore_rotation' save_ save__pdbx_phasing_MR.LL_gain_rotation _item_description.description ; The log-likelihood gain after rotation. Read, R.J. (2001). "Pushing the boundaries of molecular replacement with maximum likelihood." Acta Cryst. D57, 1373-1382 ; _item.name '_pdbx_phasing_MR.LL_gain_rotation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_phasing_MR.LL_gain_rotation' save_ save__pdbx_phasing_MR.zscore_translation _item_description.description ; It is computed by comparing the LLG values from the translation search with LLG values for a set of random translations. The mean and the RMS deviation from the mean are computed from the random set, then the Z-score for a search peak is defined as its LLG minus the mean, all divided by the RMS deviation. Read, R.J. (2001). "Pushing the boundaries of molecular replacement with maximum likelihood." Acta Cryst. D57, 1373-1382 ; _item.name '_pdbx_phasing_MR.zscore_translation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_phasing_MR.zscore_translation' save_ save__pdbx_phasing_MR.LL_gain_translation _item_description.description ; The log-likelihood gain after translation. Read, R.J. (2001). "Pushing the boundaries of molecular replacement with maximum likelihood." Acta Cryst. D57, 1373-1382 ; _item.name '_pdbx_phasing_MR.LL_gain_translation' _item.category_id pdbx_phasing_MR _item.mandatory_code no _item_type.code float _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_phasing_MR.LL_gain_translation' save_ ############################## # Extend reflns_shell category ############################## save__reflns_shell.pdbx_number_anomalous _item_description.description ; This item is a duplicate of _reflns_shell.number_unique_all, but only for the observed Friedel pairs. ; _item.name '_reflns_shell.pdbx_number_anomalous' _item.category_id reflns_shell _item.mandatory_code no _item_type.code int _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_reflns_shell.pdbx_number_anomalous' save_ save__reflns_shell.pdbx_Rrim_I_all_anomalous _item_description.description ; This item is the duplicate of _reflns_shell.pdbx_Rrim_I_all, but is limited to observed Friedel pairs. ; _item.name '_reflns_shell.pdbx_Rrim_I_all_anomalous' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float _item_range.minimum 0.0 _item_range.maximum . loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_reflns_shell.pdbx_Rrim_I_all_anomalous' 0 0.435 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_reflns_shell.pdbx_Rrim_I_all_anomalous' save_ save__reflns_shell.pdbx_Rpim_I_all_anomalous _item_description.description ; This item serves the same purpose as _reflns_shell.pdbx_Rpim_I_all, but applies to observed Friedel pairs only. ; _item.name '_reflns_shell.pdbx_Rpim_I_all_anomalous' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float _item_range.minimum 0.0 _item_range.maximum . loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_reflns_shell.pdbx_Rpim_I_all_anomalous' 0 1.0 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_reflns_shell.pdbx_Rpim_I_all_anomalous' save_ save__reflns_shell.pdbx_Rmerge_I_all_anomalous _item_description.description ; This item is the same as _reflns_shell.pdbx_Rmerge_I_all, but applies to observed Friedel pairs only. ; _item.name '_reflns_shell.pdbx_Rmerge_I_all_anomalous' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_reflns_shell.pdbx_Rmerge_I_all_anomalous' save_ save__reflns.pdbx_number_anomalous _item_description.description ; This item is the same as _reflns.number_obs, but applies to observed Friedel pairs only. ; _item.name '_reflns.pdbx_number_anomalous' _item.category_id reflns _item.mandatory_code no _item_type.code int _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_reflns.pdbx_number_anomalous' save_ save__reflns.pdbx_Rrim_I_all_anomalous _item_description.description ; This item is the same as _reflns.pdbx_Rrim_I_all, but applies to the observed Friedel pairs only. ; _item.name '_reflns.pdbx_Rrim_I_all_anomalous' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_range.minimum 0.0 _item_range.maximum . loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_reflns.pdbx_Rrim_I_all_anomalous' 0 0.435 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_reflns.pdbx_Rrim_I_all_anomalous' save_ save__reflns.pdbx_Rpim_I_all_anomalous _item_description.description ; This item is the same as _reflns.pdbx_Rpim_I_all, but applies only to observed Friedel pairs. ; _item.name '_reflns.pdbx_Rpim_I_all_anomalous' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_range.minimum 0.0 _item_range.maximum . loop_ _pdbx_item_range.name _pdbx_item_range.minimum _pdbx_item_range.maximum '_reflns.pdbx_Rpim_I_all_anomalous' 0 0.173 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_reflns.pdbx_Rpim_I_all_anomalous' save_ save__reflns.pdbx_Rmerge_I_anomalous _item_description.description ; This item is the same as _reflns.pdbx_Rmerge_I, but applies only to observed Friedel pairs. ; _item.name '_reflns.pdbx_Rmerge_I_anomalous' _item.category_id reflns _item.mandatory_code no _item_type.code float _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_reflns.pdbx_Rmerge_I_anomalous' save_ ######################## # pdbx_crystal_alignment ######################## save_pdbx_crystal_alignment _category.description ; Data in the PDBX_CRYSTAL_ALIGNMENT are produced by log files from programs during indexing ; _category.id pdbx_crystal_alignment _category.mandatory_code no _category_key.name '_pdbx_crystal_alignment.crystal_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' # loop_ # _category_examples.detail # _category_examples.case _pdbx_category_context.type WWPDB_LOCAL _pdbx_category_context.category_id pdbx_crystal_alignment save_ save__pdbx_crystal_alignment.crystal_id _item_description.description ; The identifer of the crystal. ; _item.name '_pdbx_crystal_alignment.crystal_id' _item.category_id pdbx_crystal_alignment _item.mandatory_code yes _item_type.code code save_ save__pdbx_crystal_alignment.oscillation_range _item_description.description ; The actual oscillation angle (normally <1.0 degree). ; _item.name '_pdbx_crystal_alignment.oscillation_range' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.oscillation_start _item_description.description ; Starting oscillation angle (in degrees) . ; _item.name '_pdbx_crystal_alignment.oscillation_start' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.oscillation_end _item_description.description ; Ending oscillation angle (in degrees) (default end = start + range). ; _item.name '_pdbx_crystal_alignment.oscillation_end' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.xbeam _item_description.description ; Distance (mm) from the edge of data to beam spot (in X direction). ; _item.name '_pdbx_crystal_alignment.xbeam' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.xbeam_esd _item_description.description ; The estimated deviation of xbeam (mm). ; _item.name '_pdbx_crystal_alignment.xbeam_esd' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.ybeam _item_description.description ; Distance from (mm) the edge of data to beam spot (in Y direction). ; _item.name '_pdbx_crystal_alignment.ybeam' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.ybeam_esd _item_description.description ; The estimated deviation of ybeam (mm). ; _item.name '_pdbx_crystal_alignment.ybeam_esd' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crysx_spindle _item_description.description ; Crystal mis-orientation angle (in degree) on x axis (spindle). ; _item.name '_pdbx_crystal_alignment.crysx_spindle' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crysx_spindle_esd _item_description.description ; The estimated deviation of orientation angle (in degree) on x axis. ; _item.name '_pdbx_crystal_alignment.crysx_spindle_esd' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crysy_vertical _item_description.description ; Crystal mis-orientation angle (in degree) on y axis (vertical). ; _item.name '_pdbx_crystal_alignment.crysy_vertical' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crysy_vertical_esd _item_description.description ; The estimated deviation of orientation angle (in degree) on y axis. ; _item.name '_pdbx_crystal_alignment.crysy_vertical_esd' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crysz_beam _item_description.description ; Crystal mis-orientation angle (in degree) on z axis (in beam). ; _item.name '_pdbx_crystal_alignment.crysz_beam' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crysz_beam_esd _item_description.description ; The estimated deviation of orientation angle (in degree) on yzaxis. ; _item.name '_pdbx_crystal_alignment.crysz_beam_esd' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crystal_to_detector_distance _item_description.description ; Distance (mm) from crystal to detector. ; _item.name '_pdbx_crystal_alignment.crystal_to_detector_distance' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crystal_to_detector_distance_esd _item_description.description ; The estimated deviation of distance (mm) from crystal to detector. ; _item.name '_pdbx_crystal_alignment.crystal_to_detector_distance_esd' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crossfire_x _item_description.description ; Angular spread (in degrees) of incident X-ray along the horizontal (x) direction. Default is 0. ; _item.name '_pdbx_crystal_alignment.crossfire_x' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crossfire_x_esd _item_description.description ; The estimated deviation of angular spread (in degrees) of incident X-ray along the horizontal (x) direction. ; _item.name '_pdbx_crystal_alignment.crossfire_x_esd' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crossfire_y _item_description.description ; Angular spread (in degrees) of incident X-ray along the vertical (y) direction. Default is 0. ; _item.name '_pdbx_crystal_alignment.crossfire_y' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crossfire_y_esd _item_description.description ; The estimated deviation of angular spread (in degrees) of incident X-ray along the vertical (y) direction. ; _item.name '_pdbx_crystal_alignment.crossfire_y_esd' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crossfire_xy _item_description.description ; Correlated xy component of the beam spread. This tends to be zero within error (in degrees^2). ; _item.name '_pdbx_crystal_alignment.crossfire_xy' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ save__pdbx_crystal_alignment.crossfire_xy_esd _item_description.description ; The estimated deviation of correlated xy component of the beam spread (in degrees^2). ; _item.name '_pdbx_crystal_alignment.crossfire_xy_esd' _item.category_id pdbx_crystal_alignment _item.mandatory_code no _item_type.code float save_ ############################## # PDBX_AUDIT_REVISION_HISTORY ############################## save_pdbx_audit_revision_history _category.description ; Data items in the PDBX_AUDIT_REVISION_HISTORY category record the revision history for a data entry. ; _category.id pdbx_audit_revision_history _category.mandatory_code no loop_ _category_key.name '_pdbx_audit_revision_history.ordinal' '_pdbx_audit_revision_history.data_content_type' loop_ _category_group.id 'inclusive_group' 'audit_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_audit_revision_history.ordinal _pdbx_audit_revision_history.data_content_type _pdbx_audit_revision_history.major_revision _pdbx_audit_revision_history.minor_revision _pdbx_audit_revision_history.revision_date _pdbx_audit_revision_history.internal_version _pdbx_audit_revision_history.internal_deposition_id 1 'Structure model' 1 0 2017-03-01 4 D_123456789 2 'Structure model' 1 1 2017-03-08 6 D_123456789 ; _pdbx_category_context.type CHEM_COMP_INT _pdbx_category_context.category_id pdbx_audit_revision_history save_ save__pdbx_audit_revision_history.ordinal _item_description.description ; A unique identifier for the pdbx_audit_revision_history record. ; _item.name '_pdbx_audit_revision_history.ordinal' _item.category_id pdbx_audit_revision_history _item.mandatory_code yes _item_type.code int _item_examples.case 1 save_ save__pdbx_audit_revision_history.data_content_type _item_description.description ; The type of file that the pdbx_audit_revision_history record refers to. ; _item.name '_pdbx_audit_revision_history.data_content_type' _item.category_id pdbx_audit_revision_history _item.mandatory_code yes _item_type.code line _item_examples.case 'Structure model' loop_ _item_enumeration.value _item_enumeration.detail 'Structure model' 'Coordinate model file' 'NMR restraints' 'NMR restraints file' 'NMR shifts' 'NMR chemical shifts file' 'Structure factors' 'Diffraction structure factors file' 'Chemical component' 'Chemical component definition file' save_ save__pdbx_audit_revision_history.major_revision _item_description.description ; The major version number of deposition release. ; _item.name '_pdbx_audit_revision_history.major_revision' _item.category_id pdbx_audit_revision_history _item.mandatory_code yes _item_type.code int _item_examples.case 1 _item_related.related_name '_pdbx_version.major_version' _item_related.function_code replaces save_ save__pdbx_audit_revision_history.minor_revision _item_description.description ; The minor version number of deposition release. ; _item.name '_pdbx_audit_revision_history.minor_revision' _item.category_id pdbx_audit_revision_history _item.mandatory_code yes _item_type.code int _item_examples.case 1 _item_related.related_name '_pdbx_version.minor_version' _item_related.function_code replaces save_ save__pdbx_audit_revision_history.revision_date _item_description.description ; The release date of the revision ; _item.name '_pdbx_audit_revision_history.revision_date' _item.category_id pdbx_audit_revision_history _item.mandatory_code yes _item_type.code yyyy-mm-dd _item_examples.case 2017-03-08 _item_related.related_name '_pdbx_version.revision_date' _item_related.function_code replaces save_ save__pdbx_audit_revision_history.internal_version _item_description.description ; An internal version number corresponding to millestone file ; _item.name '_pdbx_audit_revision_history.internal_version' _item.category_id pdbx_audit_revision_history _item.mandatory_code no _item_type.code int _item_examples.case 13 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_audit_revision_history.internal_version' save_ save__pdbx_audit_revision_history.internal_deposition_id _item_description.description ; The deposition id that corresponds to this millestone file ; _item.name '_pdbx_audit_revision_history.internal_deposition_id' _item.category_id pdbx_audit_revision_history _item.mandatory_code no _item_type.code code _item_examples.case D_123456789 _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_pdbx_audit_revision_history.internal_deposition_id' save_ ############################ # PDBX_AUDIT_REVISION_GROUP ############################ save_pdbx_audit_revision_group _category.description ; Data items in the PDBX_AUDIT_revision_group category report the content groups associated with a PDBX_AUDIT_REVISION_HISTORY record. ; _category.id pdbx_audit_revision_group _category.mandatory_code no loop_ _category_key.name '_pdbx_audit_revision_group.ordinal' '_pdbx_audit_revision_group.revision_ordinal' '_pdbx_audit_revision_group.data_content_type' loop_ _category_group.id 'inclusive_group' 'audit_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_audit_revision_group.ordinal _pdbx_audit_revision_group.revision_ordinal _pdbx_audit_revision_group.data_content_type _pdbx_audit_revision_group.group 1 2 'Structure Model' citation 2 3 'Structure Model' sample ; _pdbx_category_context.type CHEM_COMP_INT _pdbx_category_context.category_id pdbx_audit_revision_group save_ save__pdbx_audit_revision_group.ordinal _item_description.description ; A unique identifier for the pdbx_audit_revision_group record. ; _item.name '_pdbx_audit_revision_group.ordinal' _item.category_id pdbx_audit_revision_group _item.mandatory_code yes _item_type.code int _item_examples.case 1 save_ save__pdbx_audit_revision_group.revision_ordinal _item_description.description ; A pointer to _pdbx_audit_revision_history.ordinal ; _item.name '_pdbx_audit_revision_group.revision_ordinal' _item.category_id pdbx_audit_revision_group _item.mandatory_code yes _item_type.code int _item_examples.case 1 _item_linked.child_name '_pdbx_audit_revision_group.revision_ordinal' _item_linked.parent_name '_pdbx_audit_revision_history.ordinal' save_ save__pdbx_audit_revision_group.data_content_type _item_description.description ; The type of file that the pdbx_audit_revision_history record refers to. ; _item.name '_pdbx_audit_revision_group.data_content_type' _item.category_id pdbx_audit_revision_group _item.mandatory_code yes _item_type.code line _item_examples.case 'Structure model' loop_ _item_enumeration.value _item_enumeration.detail 'Structure model' 'Coordinate model file' 'NMR restraints' 'NMR restraints file' 'NMR shifts' 'NMR chemical shifts file' 'Structure factors' 'Diffraction structure factors file' 'Chemical component' 'Chemical component definition file' _item_linked.child_name '_pdbx_audit_revision_group.data_content_type' _item_linked.parent_name '_pdbx_audit_revision_history.data_content_type' save_ save__pdbx_audit_revision_group.group _item_description.description ; The collection of categories updated with this revision. ; _item.name '_pdbx_audit_revision_group.group' _item.category_id pdbx_audit_revision_group _item.mandatory_code yes _item_type.code line _item_examples.case citation loop_ _item_enumeration.value _item_enumeration.detail 'Advisory' 'Categories describing caveats and other validation outliers' 'Atomic model' 'Categories describing the model coordinates' 'Author supporting evidence' 'Categories supporting author provided experimental evidence' 'Data collection' 'Categories describing the data collection experiment and summary statistics' 'Data processing' 'Categories describing data processing' 'Database references' 'Categories describing citation and correspondences with related archives' 'Derived calculations' 'Categories describing secondary structurem linkages, binding sites and quaternary structure' 'Experimental data' 'Method-specific experimental data' 'Experimental preparation' 'Categories describing the experimental sample preparation' 'Initial release' 'Reports the initial release of the data contents' 'Non-polymer description' 'Categories describing non-polymer chemical description' 'Other' 'Unclassified categories (legacy)' 'Polymer sequence' 'Categories describing the polymer sample sequences' 'Refinement description' 'Categories pertaining to the refinement of the model' 'Structure summary' 'Categories that describe the title, authorship and molecular description' 'Source and taxonomy' 'Categories describing the sample source' 'Version format compliance' 'Categories to conform to the version of the mmCIF dictionary' _item_related.related_name '_pdbx_version.revision_type' _item_related.function_code replaces save_ ########################################### # PDBX_AUDIT_REVISION_CATEGORY ########################################### save_pdbx_audit_revision_category _category.description ; Data items in the PDBX_AUDIT_REVISION_CATEGORY category report the data categories associated with a PDBX_AUDIT_REVISION_HISTORY record. ; _category.id pdbx_audit_revision_category _category.mandatory_code no loop_ _category_key.name '_pdbx_audit_revision_category.ordinal' '_pdbx_audit_revision_category.revision_ordinal' '_pdbx_audit_revision_category.data_content_type' loop_ _category_group.id 'inclusive_group' 'audit_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_audit_revision_category.ordinal _pdbx_audit_revision_category.revision_ordinal _pdbx_audit_revision_category.data_content_type _pdbx_audit_revision_category.category 1 1 'Structure Model' 'audit_author' 2 1 'Structure Model' 'citation' 3 1 'Structure Model' 'citation_author' 4 2 'Structure Model' 'citation' ; _pdbx_category_context.type CHEM_COMP_INT _pdbx_category_context.category_id pdbx_audit_revision_category save_ save__pdbx_audit_revision_category.ordinal _item_description.description ; A unique identifier for the pdbx_audit_revision_category record. ; _item.name '_pdbx_audit_revision_category.ordinal' _item.category_id pdbx_audit_revision_category _item.mandatory_code yes _item_type.code int _item_examples.case 1 save_ save__pdbx_audit_revision_category.revision_ordinal _item_description.description ; A pointer to _pdbx_audit_revision_history.ordinal ; _item.name '_pdbx_audit_revision_category.revision_ordinal' _item.category_id pdbx_audit_revision_category _item.mandatory_code yes _item_type.code int _item_examples.case 1 _item_linked.child_name '_pdbx_audit_revision_category.revision_ordinal' _item_linked.parent_name '_pdbx_audit_revision_history.ordinal' save_ save__pdbx_audit_revision_category.data_content_type _item_description.description ; The type of file that the pdbx_audit_revision_history record refers to. ; _item.name '_pdbx_audit_revision_category.data_content_type' _item.category_id pdbx_audit_revision_category _item.mandatory_code yes _item_type.code line _item_examples.case 'Structure model' loop_ _item_enumeration.value _item_enumeration.detail 'Structure model' 'Coordinate model file' 'NMR restraints' 'NMR restraints file' 'NMR shifts' 'NMR chemical shifts file' 'Structure factors' 'Diffraction structure factors file' 'Chemical component' 'Chemical component definition file' _item_linked.child_name '_pdbx_audit_revision_category.data_content_type' _item_linked.parent_name '_pdbx_audit_revision_history.data_content_type' save_ save__pdbx_audit_revision_category.category _item_description.description ; The category updated in the pdbx_audit_revision_category record. ; _item.name '_pdbx_audit_revision_category.category' _item.category_id pdbx_audit_revision_category _item.mandatory_code yes _item_type.code code loop_ _item_examples.case 'audit_author' 'citation' save_ ############################## # PDBX_AUDIT_REVISION_DETAILS ############################## save_pdbx_audit_revision_details _category.description ; Data items in the PDBX_audit_revision_details category record descriptions of changes associated with PDBX_AUDIT_REVISION_HISTORY records. ; _category.id pdbx_audit_revision_details _category.mandatory_code no loop_ _category_key.name '_pdbx_audit_revision_details.ordinal' '_pdbx_audit_revision_details.revision_ordinal' '_pdbx_audit_revision_details.data_content_type' loop_ _category_group.id 'inclusive_group' 'audit_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_audit_revision_details.ordinal _pdbx_audit_revision_details.revision_ordinal _pdbx_audit_revision_details.data_content_type _pdbx_audit_revision_details.provider _pdbx_audit_revision_details.type _pdbx_audit_revision_details.description 1 1 'Structure Model' repository 'Initial release' ? 2 7 'Structure Model' author 'Coordinate replacement' 'Remodeling of inhibitor' ; _pdbx_category_context.type CHEM_COMP_INT _pdbx_category_context.category_id pdbx_audit_revision_details save_ save__pdbx_audit_revision_details.ordinal _item_description.description ; A unique identifier for the pdbx_audit_revision_details record. ; _item.name '_pdbx_audit_revision_details.ordinal' _item.category_id pdbx_audit_revision_details _item.mandatory_code yes _item_type.code int _item_examples.case 1 save_ save__pdbx_audit_revision_details.revision_ordinal _item_description.description ; A pointer to _pdbx_audit_revision_history.ordinal ; _item.name '_pdbx_audit_revision_details.revision_ordinal' _item.category_id pdbx_audit_revision_details _item.mandatory_code yes _item_type.code int _item_examples.case 1 _item_linked.child_name '_pdbx_audit_revision_details.revision_ordinal' _item_linked.parent_name '_pdbx_audit_revision_history.ordinal' save_ save__pdbx_audit_revision_details.data_content_type _item_description.description ; The type of file that the pdbx_audit_revision_history record refers to. ; _item.name '_pdbx_audit_revision_details.data_content_type' _item.category_id pdbx_audit_revision_details _item.mandatory_code yes _item_type.code line _item_examples.case 'Structure model' loop_ _item_enumeration.value _item_enumeration.detail 'Structure model' 'Coordinate model file' 'NMR restraints' 'NMR restraints file' 'NMR shifts' 'NMR chemical shifts file' 'Structure factors' 'Diffraction structure factors file' 'Chemical component' 'Chemical component definition file' _item_linked.child_name '_pdbx_audit_revision_details.data_content_type' _item_linked.parent_name '_pdbx_audit_revision_history.data_content_type' save_ save__pdbx_audit_revision_details.provider _item_description.description ; The provider of the revision. ; _item.name '_pdbx_audit_revision_details.provider' _item.category_id pdbx_audit_revision_details _item.mandatory_code no _pdbx_item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'repository' 'author' loop_ _item_examples.case 'repository' save_ save__pdbx_audit_revision_details.type _item_description.description ; A type classification of the revision ; _item.name '_pdbx_audit_revision_details.type' _item.category_id pdbx_audit_revision_details _item.mandatory_code no _pdbx_item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value 'Initial release' 'Coordinate replacement' 'Obsolete' 'Remediation' loop_ _item_examples.case 'Initial release' save_ save__pdbx_audit_revision_details.description _item_description.description ; Additional details describing the revision. ; _item.name '_pdbx_audit_revision_details.description' _item.category_id pdbx_audit_revision_details _item.mandatory_code no _item_type.code text _item_related.related_name '_pdbx_version.details' _item_related.function_code replaces save_ save__pdbx_audit_revision_details.details _item_description.description ; Further details describing the revision. ; _item.name '_pdbx_audit_revision_details.details' _item.category_id pdbx_audit_revision_details _item.mandatory_code no _item_type.code text save_ ########################################### # PDBX_AUDIT_REVISION_ITEM ########################################### save_pdbx_audit_revision_item _category.description ; Data items in the PDBX_AUDIT_REVISION_ITEM category report the data items associated with a PDBX_AUDIT_REVISION_HISTORY record. ; _category.id pdbx_audit_revision_item _category.mandatory_code no loop_ _category_key.name '_pdbx_audit_revision_item.ordinal' '_pdbx_audit_revision_item.revision_ordinal' '_pdbx_audit_revision_item.data_content_type' loop_ _category_group.id 'inclusive_group' 'audit_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; loop_ _pdbx_audit_revision_item.ordinal _pdbx_audit_revision_item.revision_ordinal _pdbx_audit_revision_item.data_content_type _pdbx_audit_revision_item.item 1 1 'Structure model' '_atom_site.type_symbol' ; _pdbx_category_context.type CHEM_COMP_INT _pdbx_category_context.category_id pdbx_audit_revision_item save_ save__pdbx_audit_revision_item.ordinal _item_description.description ; A unique identifier for the pdbx_audit_revision_item record. ; _item.name '_pdbx_audit_revision_item.ordinal' _item.category_id pdbx_audit_revision_item _item.mandatory_code yes _item_type.code int _item_examples.case 1 save_ save__pdbx_audit_revision_item.revision_ordinal _item_description.description ; A pointer to _pdbx_audit_revision_history.ordinal ; _item.name '_pdbx_audit_revision_item.revision_ordinal' _item.category_id pdbx_audit_revision_item _item.mandatory_code yes _item_type.code int _item_examples.case 1 _item_linked.child_name '_pdbx_audit_revision_item.revision_ordinal' _item_linked.parent_name '_pdbx_audit_revision_history.ordinal' save_ save__pdbx_audit_revision_item.data_content_type _item_description.description ; The type of file that the pdbx_audit_revision_history record refers to. ; _item.name '_pdbx_audit_revision_item.data_content_type' _item.category_id pdbx_audit_revision_item _item.mandatory_code yes _item_type.code line _item_examples.case 'Structure model' loop_ _item_enumeration.value _item_enumeration.detail 'Structure model' 'Coordinate model file' 'NMR restraints' 'NMR restraints file' 'NMR shifts' 'NMR chemical shifts file' 'Structure factors' 'Diffraction structure factors file' 'Chemical component' 'Chemical component definition file' _item_linked.child_name '_pdbx_audit_revision_item.data_content_type' _item_linked.parent_name '_pdbx_audit_revision_history.data_content_type' save_ save__pdbx_audit_revision_item.item _item_description.description ; A high level explanation the author has provided for submitting a revision. ; _item.name '_pdbx_audit_revision_item.item' _item.category_id pdbx_audit_revision_item _item.mandatory_code yes _item_type.code code _item_examples.case '_atom_site.type_symbol' save_ ## # File: pdbx_supporting_exp_data_set # Date: Mar 16, 2017 jdw # Update: Apr 29, 2017 ep ## ################################# ## PDBX_SUPPORTING_EXP_DATA_SET # ################################# save_pdbx_supporting_exp_data_set _category.description ; Data items in the PDBX_SUPPORTING_EXP_DATA_SET category record to experimental data set dependencies for this entry. ; _category.id pdbx_supporting_exp_data_set _category.mandatory_code no _category_key.name '_pdbx_supporting_exp_data_set.ordinal' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'database_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_supporting_exp_data_set.ordinal _pdbx_supporting_exp_data_set.data_content_type _pdbx_supporting_exp_data_set.data_version_major _pdbx_supporting_exp_data_set.data_version_minor _pdbx_supporting_exp_data_set.details 1 'X-ray structure factor amplitudes' 1 2 ? ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_supporting_exp_data_set.ordinal _item_description.description ; Ordinal identifier for each experimental data set. ; _item.name '_pdbx_supporting_exp_data_set.ordinal' _item.category_id pdbx_supporting_exp_data_set _item.mandatory_code yes _item_type.code int save_ save__pdbx_supporting_exp_data_set.data_content_type _item_description.description ; The type of the experimenatal data set. ; _item.name '_pdbx_supporting_exp_data_set.data_content_type' _item.category_id pdbx_supporting_exp_data_set _item.mandatory_code yes _item_type.code line loop_ _item_examples.case 'X-ray structure factor amplitudes' 'NMR chemical shifts' 'NMR restraints' save_ save__pdbx_supporting_exp_data_set.data_version_major _item_description.description ; The major version on data of the experimental data content on which this entry depends. ; _item.name '_pdbx_supporting_exp_data_set.data_version_major' _item.category_id pdbx_supporting_exp_data_set _item.mandatory_code no _item_type.code int loop_ _item_examples.case 2 1 save_ save__pdbx_supporting_exp_data_set.data_version_minor _item_description.description ; The major version on data of the experimental data content on which this entry depends. ; _item.name '_pdbx_supporting_exp_data_set.data_version_minor' _item.category_id pdbx_supporting_exp_data_set _item.mandatory_code no _item_type.code int loop_ _item_examples.case 1 2 save_ save__pdbx_supporting_exp_data_set.details _item_description.description ; Additional details describing the content of the supporting data set and its application to the current investigation. ; _item.name '_pdbx_supporting_exp_data_set.details' _item.category_id pdbx_supporting_exp_data_set _item.mandatory_code no _item_type.code text save_ ########################### save_pdbx_database_doi _category.description ; Data items in the PDBX_DATABASE_DOI category record the DOI of this entry. ; _category.id pdbx_database_doi _category.mandatory_code no loop_ _category_key.name '_pdbx_database_doi.db_name' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - pdbx_database_doi ; ; loop_ _pdbx_database_doi.db_name _pdbx_database_doi.db_DOI PDB 10.2210/pdb6YOX/pdb ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_database_doi.db_name _item_description.description ; An abbreviation that identifies the database. ; _item.name '_pdbx_database_doi.db_name' _item.category_id pdbx_database_doi _item.mandatory_code yes _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail EMDB "Electron Microscopy Data Bank" PDB "Protein Data Bank" BMRB "Biological Magnetic Reference Data Bank" _item_linked.child_name '_pdbx_database_doi.db_name' _item_linked.parent_name '_database_2.database_id' save_ save__pdbx_database_doi.db_DOI _item_description.description ; The DOI for the entry in the associated database. ; _item.name '_pdbx_database_doi.db_DOI' _item.category_id pdbx_database_doi _item.mandatory_code yes _item_type.code ucode _item_examples.case 10.2210/pdb6YOX/pdb save_ ######################## ## PDBX_AUDIT_CONFORM ## ######################## save_pdbx_audit_conform _category.description ; Data items in the PDBX_AUDIT_CONFORM category describe the dictionary versions against which the data names appearing in the current data block are conformant. ; _category.id pdbx_audit_conform _category.mandatory_code no loop_ _category_key.name '_pdbx_audit_conform.dict_name' '_pdbx_audit_conform.dict_version' loop_ _category_group.id 'inclusive_group' 'pdbx_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - Data file conforming to the current PDBx/mmCIF dictionary. ; ; _pdbx_audit_conform.dict_name mmcif_pdbx.dic _pdbx_audit_conform.dict_version 5.339 _pdbx_audit_conform.dict_location https://mmcif.wwpdb.org/dictionaries/ascii/mmcif_pdbx_v50.dic ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_audit_conform.dict_location _item_description.description ; A file name or uniform resource locator (URL) for the dictionary to which the current data block conforms. ; _item.name '_pdbx_audit_conform.dict_location' _item.category_id pdbx_audit_conform _item.mandatory_code no _item_type.code text save_ save__pdbx_audit_conform.dict_name _item_description.description ; The dictionary name defining data names used in this file. ; _item.name '_pdbx_audit_conform.dict_name' _item.category_id pdbx_audit_conform _item.mandatory_code yes _item_type.code text save_ save__pdbx_audit_conform.dict_version _item_description.description ; The version number of the dictionary to which the current data block conforms. ; _item.name '_pdbx_audit_conform.dict_version' _item.category_id pdbx_audit_conform _item.mandatory_code yes _item_type.code text save_ ## # File: xfel-extension.dic # Date: 08-Nov-2016 # # Data items and extensions items to support XFEL data collection and related # experiments. # # Updates: # 8-Nov-2016 Revised categories into independent pdbx_xfel categories # 3-Jan-2017 Updated with suggestions from Nicholas Sauter # 12-Jul-2017 Update type for _pdbx_xfel_detector.detector # 16-Jul-2017 Added Nicholas Sauters comments, _pdbx_xfel_data_reduction.lattices_indexed, # _pdbx_xfel_data_reduction.crystal_hits, _pdbx_xfel_data_reduction.droplet_hits. # Changed _pdbx_xfel_data_reduction.frames_hits to _pdbx_xfel_data_reduction.frame_hits. # 19-Jun-2018 Reorganization of category names # ################### # DIFFRN ################### save__diffrn.pdbx_serial_crystal_experiment _item_description.description ; Y/N if using serial crystallography experiment in which multiple crystals contribute to each diffraction frame in the experiment. ; # _item.name '_diffrn.pdbx_serial_crystal_experiment' _item.category_id diffrn _item.mandatory_code no # _item_type.code text # loop_ _item_examples.case Y N # loop_ _pdbx_item_enumeration.name _pdbx_item_enumeration.value _pdbx_item_enumeration.detail "_diffrn.pdbx_serial_crystal_experiment" N . "_diffrn.pdbx_serial_crystal_experiment" Y . # save_ ####################### # PDBX_SERIAL_CRYSTALLOGRAPHY_MEASUREMENT ####################### save_pdbx_serial_crystallography_measurement _category.description ; Data items in the PDBX_SERIAL_CRYSTALLOGRAPHY_MEASUREMENT category record details the beam that is impinging on the sample ; _category.id pdbx_serial_crystallography_measurement _category.mandatory_code no _category_key.name '_pdbx_serial_crystallography_measurement.diffrn_id' loop_ _category_group.id 'inclusive_group' 'xfel_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; _pdbx_serial_crystallography_measurement.diffrn_id 1 _pdbx_serial_crystallography_measurement.pulse_duration 45 _pdbx_serial_crystallography_measurement.photons_per_pulse 0.17 _pdbx_serial_crystallography_measurement.focal_spot_size 1.8 _pdbx_serial_crystallography_measurement.collection_time_total 16.95 ; save_ save__pdbx_serial_crystallography_measurement.diffrn_id _item_description.description ; The data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_pdbx_serial_crystallography_measurement.diffrn_id' _item.category_id pdbx_serial_crystallography_measurement _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_serial_crystallography_measurement.diffrn_id' _item_linked.parent_name '_diffrn.id' loop_ _item_examples.case '1' save_ save__pdbx_serial_crystallography_measurement.pulse_energy _item_description.description ; The energy/pulse of the X-ray pulse impacting the sample measured in microjoules. ; _item.name '_pdbx_serial_crystallography_measurement.pulse_energy' _item.category_id pdbx_serial_crystallography_measurement _item.mandatory_code no _item_type.code float _item_units.code microjoules _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_measurement.pulse_duration _item_description.description ; The average duration (femtoseconds) of the pulse energy measured at the sample. ; _item.name '_pdbx_serial_crystallography_measurement.pulse_duration' _item.category_id pdbx_serial_crystallography_measurement _item.mandatory_code no _item_type.code float _item_units.code femtoseconds _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_measurement.xfel_pulse_repetition_rate _item_description.description ; For FEL experiments, the pulse repetition rate measured in cycles per seconds. ; _item.name '_pdbx_serial_crystallography_measurement.xfel_pulse_repetition_rate' _item.category_id pdbx_serial_crystallography_measurement _item.mandatory_code no _item_type.code float _item_units.code hertz _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_measurement.pulse_photon_energy _item_description.description ; The photon energy of the X-ray pulse measured in KeV. ; _item.name '_pdbx_serial_crystallography_measurement.pulse_photon_energy' _item.category_id pdbx_serial_crystallography_measurement _item.mandatory_code no _item_type.code float _item_units.code kiloelectron_volts _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_measurement.photons_per_pulse _item_description.description ; The photons per pulse measured in (tera photons (10^(12)^)/pulse units). ; _item.name '_pdbx_serial_crystallography_measurement.photons_per_pulse' _item.category_id pdbx_serial_crystallography_measurement _item.mandatory_code no _item_type.code float _item_units.code teraphotons_per_pulse _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_measurement.source_size _item_description.description ; The dimension of the source beam measured at the source (micrometres squared). ; _item.name '_pdbx_serial_crystallography_measurement.source_size' _item.category_id pdbx_serial_crystallography_measurement _item.mandatory_code no _item_type.code float _item_units.code micrometres_squared _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_measurement.source_distance _item_description.description ; The distance from source to the sample along the optical axis (metres). ; _item.name '_pdbx_serial_crystallography_measurement.source_distance' _item.category_id pdbx_serial_crystallography_measurement _item.mandatory_code no _item_type.code float _item_units.code metres _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_measurement.focal_spot_size _item_description.description ; The focal spot size of the beam impinging on the sample (micrometres squared). ; _item.name '_pdbx_serial_crystallography_measurement.focal_spot_size' _item.category_id pdbx_serial_crystallography_measurement _item.mandatory_code no _item_type.code float _item_units.code micrometres_squared _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_measurement.collimation _item_description.description ; The collimation or type of focusing optics applied to the radiation. ; _item.name '_pdbx_serial_crystallography_measurement.collimation' _item.category_id pdbx_serial_crystallography_measurement _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'Kirkpatrick-Baez mirrors' 'Beryllium compound refractive lenses' 'Fresnel zone plates' save_ save__pdbx_serial_crystallography_measurement.collection_time_total _item_description.description ; The total number of hours required to measure this data set. ; _item.name '_pdbx_serial_crystallography_measurement.collection_time_total' _item.category_id pdbx_serial_crystallography_measurement _item.mandatory_code no _item_type.code float _item_units.code hours loop_ _item_examples.case 120.0 _item_range.maximum . _item_range.minimum 0.0 save_ ############################################### ## PDBX_SERIAL_CRYSTALLOGRAPHY_SAMPLE_DELIVERY ############################################### save_pdbx_serial_crystallography_sample_delivery _category.description ; Data items in the PDBX_SERIAL_CRYSTALLOGRAPHY_SAMPLE_DELIVERY category record general details about the sample delivery ; _category.id pdbx_serial_crystallography_sample_delivery _category.mandatory_code no _category_key.name '_pdbx_serial_crystallography_sample_delivery.diffrn_id' loop_ _category_group.id 'inclusive_group' 'xfel_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; _pdbx_serial_crystallography_sample_delivery.diffrn_id 1 _pdbx_serial_crystallography_sample_delivery.description 'LCP injector' ; save_ save__pdbx_serial_crystallography_sample_delivery.diffrn_id _item_description.description ; The data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_pdbx_serial_crystallography_sample_delivery.diffrn_id' _item.category_id pdbx_serial_crystallography_sample_delivery _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_serial_crystallography_sample_delivery.diffrn_id' _item_linked.parent_name '_diffrn.id' loop_ _item_examples.case 1 save_ save__pdbx_serial_crystallography_sample_delivery.description _item_description.description ; The description of the mechanism by which the specimen in placed in the path of the source. ; _item.name '_pdbx_serial_crystallography_sample_delivery.description' _item.category_id pdbx_serial_crystallography_sample_delivery _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'fixed target' 'electrospin' 'MESH' 'CoMESH' 'gas dynamic virtual nozzle' 'LCP injector' 'addressable microarray' save_ save__pdbx_serial_crystallography_sample_delivery.method _item_description.description ; The description of the mechanism by which the specimen in placed in the path of the source. ; _item.name '_pdbx_serial_crystallography_sample_delivery.method' _item.category_id pdbx_serial_crystallography_sample_delivery _item.mandatory_code yes _item_type.code text loop_ _item_enumeration.value 'fixed target' 'injection' save_ ######################################################### ## PDBX_SERIAL_CRYSTALLOGRAPHY_SAMPLE_DELIVERY_INJECTION ######################################################### save_pdbx_serial_crystallography_sample_delivery_injection _category.description ; Data items in the PDBX_SERIAL_CRYSTALLOGRAPHY_SAMPLE_DELIVERY_INJECTION category record details about sample delivery by injection ; _category.id pdbx_serial_crystallography_sample_delivery_injection _category.mandatory_code no _category_key.name '_pdbx_serial_crystallography_sample_delivery_injection.diffrn_id' loop_ _category_group.id 'inclusive_group' 'xfel_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; _pdbx_serial_crystallography_sample_delivery_injection.diffrn_id 1 _pdbx_serial_crystallography_sample_delivery_injection.description 'microextrusion injector' _pdbx_serial_crystallography_sample_delivery_injection.injector_diameter 50 _pdbx_serial_crystallography_sample_delivery_injection.flow_rate 0.22 _pdbx_serial_crystallography_sample_delivery_injection.carrier_solvent 'liquid' ; save_ save__pdbx_serial_crystallography_sample_delivery_injection.diffrn_id _item_description.description ; The data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_pdbx_serial_crystallography_sample_delivery_injection.diffrn_id' _item.category_id pdbx_serial_crystallography_sample_delivery_injection _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_serial_crystallography_sample_delivery_injection.diffrn_id' _item_linked.parent_name '_diffrn.id' loop_ _item_examples.case 1 save_ save__pdbx_serial_crystallography_sample_delivery_injection.description _item_description.description ; For continuous sample flow experiments, a description of the injector used to move the sample into the beam. ; _item.name '_pdbx_serial_crystallography_sample_delivery_injection.description' _item.category_id pdbx_serial_crystallography_sample_delivery_injection _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'microextrusion injector' save_ save__pdbx_serial_crystallography_sample_delivery_injection.injector_diameter _item_description.description ; For continuous sample flow experiments, the diameter of the injector in micrometres. ; _item.name '_pdbx_serial_crystallography_sample_delivery_injection.injector_diameter' _item.category_id pdbx_serial_crystallography_sample_delivery_injection _item.mandatory_code no _item_type.code float _item_units.code micrometres _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_sample_delivery_injection.injector_temperature _item_description.description ; For continuous sample flow experiments, the temperature in Kelvins of the speciman injected. This may be different from the temperature of the sample. ; _item.name '_pdbx_serial_crystallography_sample_delivery_injection.injector_temperature' _item.category_id pdbx_serial_crystallography_sample_delivery_injection _item.mandatory_code no _item_type.code float _item_type_conditions.code esd _item_units.code kelvins loop_ _item_range.maximum _item_range.minimum 100.0 100.0 370.0 100.0 370.0 370.0 save_ save__pdbx_serial_crystallography_sample_delivery_injection.injector_pressure _item_description.description ; For continuous sample flow experiments, the mean pressure in kilopascals at which the sample is injected into the beam. ; _item.name '_pdbx_serial_crystallography_sample_delivery_injection.injector_pressure' _item.category_id pdbx_serial_crystallography_sample_delivery_injection _item.mandatory_code no _item_type.code float _item_type_conditions.code esd _item_units.code kilopascals _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_sample_delivery_injection.flow_rate _item_description.description ; For continuous sample flow experiments, the flow rate of solution being injected measured in ul/min. ; _item.name '_pdbx_serial_crystallography_sample_delivery_injection.flow_rate' _item.category_id pdbx_serial_crystallography_sample_delivery_injection _item.mandatory_code no _item_type.code float _item_units.code microliters_per_min _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_sample_delivery_injection.carrier_solvent _item_description.description ; For continuous sample flow experiments, the carrier buffer used to move the sample into the beam. Should include protein concentration. ; _item.name '_pdbx_serial_crystallography_sample_delivery_injection.carrier_solvent' _item.category_id pdbx_serial_crystallography_sample_delivery_injection _item.mandatory_code no _item_type.code text loop_ _item_examples.case LCP grease liquid save_ save__pdbx_serial_crystallography_sample_delivery_injection.crystal_concentration _item_description.description ; For continuous sample flow experiments, the concentration of crystals in the solution being injected. The concentration is measured in million crystals/ml. ; _item.name '_pdbx_serial_crystallography_sample_delivery_injection.crystal_concentration' _item.category_id pdbx_serial_crystallography_sample_delivery_injection _item.mandatory_code no _item_type.code float #_item_units.code 'millions_per_ml' _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_sample_delivery_injection.preparation _item_description.description ; Details of crystal growth and preparation of the crystals ; _item.name '_pdbx_serial_crystallography_sample_delivery_injection.preparation' _item.category_id pdbx_serial_crystallography_sample_delivery_injection _item.mandatory_code no _item_type.code text _item_examples.case 'Crystals transfered to carrier solvent at room temperature' save_ save__pdbx_serial_crystallography_sample_delivery_injection.power_by _item_description.description ; Sample deliver driving force, e.g. Gas, Electronic Potential ; _item.name '_pdbx_serial_crystallography_sample_delivery_injection.power_by' _item.category_id pdbx_serial_crystallography_sample_delivery_injection _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'syringe' 'gas' 'electronic potential' save_ save__pdbx_serial_crystallography_sample_delivery_injection.injector_nozzle _item_description.description ; The type of nozzle to deliver and focus sample jet ; _item.name '_pdbx_serial_crystallography_sample_delivery_injection.injector_nozzle' _item.category_id pdbx_serial_crystallography_sample_delivery_injection _item.mandatory_code no _item_type.code text loop_ _item_examples.case 'gas' 'GDVN' save_ save__pdbx_serial_crystallography_sample_delivery_injection.jet_diameter _item_description.description ; Diameter in micrometres of jet stream of sample delivery ; _item.name '_pdbx_serial_crystallography_sample_delivery_injection.jet_diameter' _item.category_id pdbx_serial_crystallography_sample_delivery_injection _item.mandatory_code no _item_type.code float _item_units.code micrometres _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_sample_delivery_injection.filter_size _item_description.description ; The size of filter in micrometres in filtering crystals ; _item.name '_pdbx_serial_crystallography_sample_delivery_injection.filter_size' _item.category_id pdbx_serial_crystallography_sample_delivery_injection _item.mandatory_code no _item_type.code float _item_units.code micrometres _item_range.maximum . _item_range.minimum 0.0 save_ ############################################################ ## PDBX_SERIAL_CRYSTALLOGRAPHY_SAMPLE_DELIVERY_FIXED_TARGET ############################################################ save_pdbx_serial_crystallography_sample_delivery_fixed_target _category.description ; Data items in the PDBX_SERIAL_CRYSTALLOGRAPHY_SAMPLE_DELIVERY_FIXED_TARGET category record details about sample delivery using a fixed taget. ; _category.id pdbx_serial_crystallography_sample_delivery_fixed_target _category.mandatory_code no _category_key.name '_pdbx_serial_crystallography_sample_delivery_fixed_target.diffrn_id' loop_ _category_group.id 'inclusive_group' 'xfel_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; _pdbx_serial_crystallography_sample_delivery_fixed_target.diffrn_id 1 _pdbx_serial_crystallography_sample_delivery_fixed_target.sample_holding mesh _pdbx_serial_crystallography_sample_delivery_fixed_target.support_base goniometer _pdbx_serial_crystallography_sample_delivery_fixed_target.crystals_per_unit 7 ; save_ save__pdbx_serial_crystallography_sample_delivery_fixed_target.diffrn_id _item_description.description ; The data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_pdbx_serial_crystallography_sample_delivery_fixed_target.diffrn_id' _item.category_id pdbx_serial_crystallography_sample_delivery_fixed_target _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_serial_crystallography_sample_delivery_fixed_target.diffrn_id' _item_linked.parent_name '_diffrn.id' loop_ _item_examples.case 1 save_ save__pdbx_serial_crystallography_sample_delivery_fixed_target.description _item_description.description ; For a fixed target sample, a description of sample preparation ; _item.name '_pdbx_serial_crystallography_sample_delivery_fixed_target.description' _item.category_id pdbx_serial_crystallography_sample_delivery_fixed_target _item.mandatory_code no _item_type.code text save_ save__pdbx_serial_crystallography_sample_delivery_fixed_target.sample_holding _item_description.description ; For a fixed target sample, mechanism to hold sample in the beam ; _item.name '_pdbx_serial_crystallography_sample_delivery_fixed_target.sample_holding' _item.category_id pdbx_serial_crystallography_sample_delivery_fixed_target _item.mandatory_code no _item_type.code text loop_ _item_examples.case mesh loop grid save_ save__pdbx_serial_crystallography_sample_delivery_fixed_target.support_base _item_description.description ; Type of base holding the support ; _item.name '_pdbx_serial_crystallography_sample_delivery_fixed_target.support_base' _item.category_id pdbx_serial_crystallography_sample_delivery_fixed_target _item.mandatory_code no _item_type.code text _item_examples.case goniometer save_ save__pdbx_serial_crystallography_sample_delivery_fixed_target.sample_unit_size _item_description.description ; Size of pore in grid supporting sample. Diameter or length in micrometres, e.g. pore diameter ; _item.name '_pdbx_serial_crystallography_sample_delivery_fixed_target.sample_unit_size' _item.category_id pdbx_serial_crystallography_sample_delivery_fixed_target _item.mandatory_code no _item_type.code float _item_units.code micrometres _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_sample_delivery_fixed_target.crystals_per_unit _item_description.description ; The number of crystals per dropplet or pore in fixed target ; _item.name '_pdbx_serial_crystallography_sample_delivery_fixed_target.crystals_per_unit' _item.category_id pdbx_serial_crystallography_sample_delivery_fixed_target _item.mandatory_code no _item_type.code int _item_range.maximum . _item_range.minimum 0 save_ save__pdbx_serial_crystallography_sample_delivery_fixed_target.sample_solvent _item_description.description ; The sample solution content and concentration ; _item.name '_pdbx_serial_crystallography_sample_delivery_fixed_target.sample_solvent' _item.category_id pdbx_serial_crystallography_sample_delivery_fixed_target _item.mandatory_code no _item_type.code text save_ save__pdbx_serial_crystallography_sample_delivery_fixed_target.sample_dehydration_prevention _item_description.description ; Method to prevent dehydration of sample ; _item.name '_pdbx_serial_crystallography_sample_delivery_fixed_target.sample_dehydration_prevention' _item.category_id pdbx_serial_crystallography_sample_delivery_fixed_target _item.mandatory_code no _item_type.code line loop_ _item_examples.case seal 'humidifed gas' 'flash freezing' save_ save__pdbx_serial_crystallography_sample_delivery_fixed_target.motion_control _item_description.description ; Device used to control movement of the fixed sample ; _item.name '_pdbx_serial_crystallography_sample_delivery_fixed_target.motion_control' _item.category_id pdbx_serial_crystallography_sample_delivery_fixed_target _item.mandatory_code no _item_type.code line loop_ _item_examples.case DMC-4080 save_ save__pdbx_serial_crystallography_sample_delivery_fixed_target.velocity_horizontal _item_description.description ; Velocity of sample horizontally relative to a perpendicular beam in millimetres/second ; _item.name '_pdbx_serial_crystallography_sample_delivery_fixed_target.velocity_horizontal' _item.category_id pdbx_serial_crystallography_sample_delivery_fixed_target _item.mandatory_code no _item_type.code float _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_sample_delivery_fixed_target.velocity_vertical _item_description.description ; Velocity of sample vertically relative to a perpendicular beam in millimetres/second ; _item.name '_pdbx_serial_crystallography_sample_delivery_fixed_target.velocity_vertical' _item.category_id pdbx_serial_crystallography_sample_delivery_fixed_target _item.mandatory_code no _item_type.code float _item_range.maximum . _item_range.minimum 0.0 save_ save__pdbx_serial_crystallography_sample_delivery_fixed_target.details _item_description.description ; Any details pertinent to the fixed sample target ; _item.name '_pdbx_serial_crystallography_sample_delivery_fixed_target.details' _item.category_id pdbx_serial_crystallography_sample_delivery_fixed_target _item.mandatory_code no _item_type.code text save_ ##### # Extend diffrn_detector ##### save__diffrn_detector.pdbx_frequency _item_description.description ; The operating frequency of the detector (Hz) used in data collection. ; _item.name '_diffrn_detector.pdbx_frequency' _item.category_id diffrn_detector _item.mandatory_code no _item_type.code float _item_range.maximum . _item_range.minimum 0.0 save_ ############################## ## PDBX_SERIAL_CRYSTALLOGRAPHY_DATA_REDUCTION ############################## save_pdbx_serial_crystallography_data_reduction _category.description ; Data items in the PDBX_SERIAL_CRYSTALLOGRAPHY_DATA_REDUCTION category record details about data processing that are unique to XFEL experiments. These will compliment data recorded in category pdbx_diffrn_merge_stat. ; _category.id pdbx_serial_crystallography_data_reduction _category.mandatory_code no _category_key.name '_pdbx_serial_crystallography_data_reduction.diffrn_id' loop_ _category_group.id 'inclusive_group' 'xfel_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 ; ; _pdbx_serial_crystallography_data_reduction.diffrn_id 1 _pdbx_serial_crystallography_data_reduction.frames_total 7324430 _pdbx_serial_crystallography_data_reduction.crystal_hits 1797503 _pdbx_serial_crystallography_data_reduction.frames_indexed 578620 ; save_ save__pdbx_serial_crystallography_data_reduction.diffrn_id _item_description.description ; The data item is a pointer to _diffrn.id in the DIFFRN category. ; _item.name '_pdbx_serial_crystallography_data_reduction.diffrn_id' _item.category_id pdbx_serial_crystallography_data_reduction _item.mandatory_code yes _item_linked.child_name '_pdbx_serial_crystallography_data_reduction.diffrn_id' _item_linked.parent_name '_diffrn.id' _item_type.code code loop_ _item_examples.case 1 save_ save__pdbx_serial_crystallography_data_reduction.frames_total _item_description.description ; The total number of data frames collected for this data set. ; _item.name '_pdbx_serial_crystallography_data_reduction.frames_total' _item.category_id pdbx_serial_crystallography_data_reduction _item.mandatory_code no _item_type.code int loop_ _item_examples.case 20 100 _item_range.maximum . _item_range.minimum 0 save_ save__pdbx_serial_crystallography_data_reduction.xfel_pulse_events _item_description.description ; For FEL experiments, the number of pulse events in the dataset. ; _item.name '_pdbx_serial_crystallography_data_reduction.xfel_pulse_events' _item.category_id pdbx_serial_crystallography_data_reduction _item.mandatory_code no _item_type.code int _item_range.maximum . _item_range.minimum 0 save_ save__pdbx_serial_crystallography_data_reduction.frame_hits _item_description.description ; For experiments in which samples are provided in a continuous stream, the total number of data frames collected in which the sample was hit. ; _item.name '_pdbx_serial_crystallography_data_reduction.frame_hits' _item.category_id pdbx_serial_crystallography_data_reduction _item.mandatory_code no _item_type.code int loop_ _item_examples.case 1200 5750 _item_range.maximum . _item_range.minimum 0 save_ save__pdbx_serial_crystallography_data_reduction.crystal_hits _item_description.description ; For experiments in which samples are provided in a continuous stream, the total number of frames collected in which the crystal was hit. ; _item.name '_pdbx_serial_crystallography_data_reduction.crystal_hits' _item.category_id pdbx_serial_crystallography_data_reduction _item.mandatory_code no _item_type.code int loop_ _item_examples.case 1200 5750 _item_range.maximum . _item_range.minimum 0 save_ save__pdbx_serial_crystallography_data_reduction.droplet_hits _item_description.description ; For experiments in which samples are provided in a continuous stream, the total number of frames collected in which a droplet was hit. ; _item.name '_pdbx_serial_crystallography_data_reduction.droplet_hits' _item.category_id pdbx_serial_crystallography_data_reduction _item.mandatory_code no _item_type.code int loop_ _item_examples.case 1200 5750 _item_range.maximum . _item_range.minimum 0 save_ save__pdbx_serial_crystallography_data_reduction.frames_failed_index _item_description.description ; For experiments in which samples are provided in a continuous stream, the total number of data frames collected that contained a "hit" but failed to index. ; _item.name '_pdbx_serial_crystallography_data_reduction.frames_failed_index' _item.category_id pdbx_serial_crystallography_data_reduction _item.mandatory_code no _item_type.code int loop_ _item_examples.case 1200 5750 loop_ _item_range.maximum _item_range.minimum 0 0 . 0 save_ save__pdbx_serial_crystallography_data_reduction.frames_indexed _item_description.description ; For experiments in which samples are provided in a continuous stream, the total number of data frames collected that were indexed. ; _item.name '_pdbx_serial_crystallography_data_reduction.frames_indexed' _item.category_id pdbx_serial_crystallography_data_reduction _item.mandatory_code no _item_type.code int loop_ _item_examples.case 1200 5750 _item_range.maximum . _item_range.minimum 0 save_ save__pdbx_serial_crystallography_data_reduction.lattices_indexed _item_description.description ; For experiments in which samples are provided in a continuous stream, the total number of lattices indexed. ; _item.name '_pdbx_serial_crystallography_data_reduction.lattices_indexed' _item.category_id pdbx_serial_crystallography_data_reduction _item.mandatory_code no _item_type.code int loop_ _item_examples.case 1200 5750 _item_range.maximum . _item_range.minimum 0 save_ save__pdbx_serial_crystallography_data_reduction.xfel_run_numbers _item_description.description ; For FEL experiments, in which data collection was performed in batches, indicates which subset of the data collected were used in producing this dataset. ; _item.name '_pdbx_serial_crystallography_data_reduction.xfel_run_numbers' _item.category_id pdbx_serial_crystallography_data_reduction _item.mandatory_code no _item_type.code text save_ # # ---------------------------------------------------------------------------------------------------------------------------- # # File: entity_branch_extension.dic # Date: 8-May-2012 Jdw # Update: 1-Aug-2018 Ep # 16-Aug-2018 Ep Removal of pdbx_struct_binding_mode, extension of pdbx_branch_scheme # 20-Mar-2019 Ep Removal of enumeration from struct_conn.pdbx_role # 09-May-2019 Ep Add enumeration back to struct_conn.pdbx_role # # Draft dictionary extension for representing branched enities # # In category ENTITY - adds new _entity.type = branched # # STRUCT_CONN - adds stereo chemistry of atoms in link. # # PDBX_ENTITY_BRANCH_LIST - provides for a list of components within the branched entity. This is used to establish # unique numbering among the components within the branched entity. Provides for possible component level heterogeneity. # # PDBX_ENTITY_BRANCH_LINK - describes linkages among components within the branched entity. # # PDBX_ENTITY_BRANCH - describes the type of branched entity. # # PDBX_BRANCH_SCHEME - maps authors provided chemical components in pdbx_entity_branch to author provided nomenclature # # ENTITY_NAME_COM - add provenance # # ---------------------------------------------------------------------------------------------------------------------------- ################# ## STRUCT_CONN ## ################# save__struct_conn.pdbx_ptnr1_atom_stereo_config _item_description.description ; The chiral configuration of the first atom making the linkage. ; _item.name '_struct_conn.pdbx_ptnr1_atom_stereo_config' _item.category_id struct_conn _item.mandatory_code no _item_type.code ucode _item_default.value 'N' loop_ _item_enumeration.value _item_enumeration.detail R 'rectus - right handed configuration' S 'sinister - left handed configuration' N 'none' save_ save__struct_conn.pdbx_ptnr1_leaving_atom_id _item_description.description ; The leaving atom that is removed from first atom making the linkage. ; _item.name '_struct_conn.pdbx_ptnr1_leaving_atom_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_struct_conn.pdbx_ptnr1_leaving_atom_id' _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__struct_conn.pdbx_ptnr2_atom_stereo_config _item_description.description ; The chiral configuration of the second atom making the linkage. ; _item.name '_struct_conn.pdbx_ptnr2_atom_stereo_config' _item.category_id struct_conn _item.mandatory_code no _item_type.code ucode _item_default.value 'N' loop_ _item_enumeration.value _item_enumeration.detail R 'rectus - right handed configuration' S 'sinister - left handed configuration' N 'none' save_ save__struct_conn.pdbx_ptnr2_leaving_atom_id _item_description.description ; The leaving atom that is removed from second atom making the linkage. ; _item.name '_struct_conn.pdbx_ptnr2_leaving_atom_id' _item.category_id struct_conn _item.mandatory_code no _item_type.code atcode _item_linked.child_name '_struct_conn.pdbx_ptnr2_leaving_atom_id' _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__struct_conn.pdbx_role _item_description.description ; The chemical or structural role of the interaction ; _item.name '_struct_conn.pdbx_role' _item.category_id struct_conn _item.mandatory_code no _item_type.code uline loop_ _item_examples.case 'N-Glycosylation' 'O-Glycosylation' loop_ _item_enumeration.value _item_enumeration.detail 'N-Glycosylation' . 'O-Glycosylation' . 'S-Glycosylation' . 'C-Mannosylation' . save_ ############################# ## PDBX_ENTITY_BRANCH_LIST ## ############################# save_pdbx_entity_branch_list _category.description ; Data items in the PDBX_ENTITY_BRANCH_LIST category specify the list of monomers in a branched entity. Allowance is made for the possibility of microheterogeneity in a sample by allowing a given sequence number to be correlated with more than one monomer ID. The corresponding ATOM_SITE entries should reflect this heterogeneity. ; _category.id pdbx_entity_branch_list _category.mandatory_code no loop_ _category_key.name '_pdbx_entity_branch_list.entity_id' '_pdbx_entity_branch_list.num' '_pdbx_entity_branch_list.comp_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' 'branch_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_entity_branch_list.entity_id _pdbx_entity_branch_list.num _pdbx_entity_branch_list.comp_id _pdbx_entity_branch_list.hetero 2 1 NAG n 2 2 GAL n 2 3 FUC n 2 4 FUC n ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_entity_branch_list.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_pdbx_entity_branch_list.entity_id' _item.category_id pdbx_entity_branch_list _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_entity_branch_list.entity_id' _item_linked.parent_name '_entity.id' save_ save__pdbx_entity_branch_list.hetero _item_description.description ; A flag to indicate whether this monomer in the entity is heterogeneous in sequence. ; _item.name '_pdbx_entity_branch_list.hetero' _item.category_id pdbx_entity_branch_list _item.mandatory_code no _item_default.value no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no 'sequence is not heterogeneous at this monomer' n 'abbreviation for "no"' yes 'sequence is heterogeneous at this monomer' y 'abbreviation for "yes"' save_ save__pdbx_entity_branch_list.comp_id _item_description.description ; This data item is a pointer to _chem_comp.id in the CHEM_COMP category. ; _item.name '_pdbx_entity_branch_list.comp_id' _item.category_id pdbx_entity_branch_list _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_entity_branch_list.comp_id' _item_linked.parent_name '_chem_comp.id' save_ save__pdbx_entity_branch_list.num _item_description.description ; The value pair _pdbx_entity_branch_list.num and _pdbx_entity_branch_list.comp_id must uniquely identify a record in the PDBX_ENTITY_BRANCH_LIST list. ; _item.name '_pdbx_entity_branch_list.num' _item.category_id pdbx_entity_branch_list _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int save_ ############################# ## PDBX_ENTITY_BRANCH_LINK ## ############################# save_pdbx_entity_branch_link _category.description ; Data items in the PDBX_ENTITY_BRANCH_LINK category give details about the linkages between components within a branched entity. ; _category.id pdbx_entity_branch_link _category.mandatory_code no loop_ _category_key.name '_pdbx_entity_branch_link.link_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' 'branch_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - base on PDB entry 2WMG ; ; loop_ _pdbx_entity_branch_link.link_id _pdbx_entity_branch_link.entity_id _pdbx_entity_branch_link.entity_branch_list_num_1 _pdbx_entity_branch_link.comp_id_1 _pdbx_entity_branch_link.atom_id_1 _pdbx_entity_branch_link.leaving_atom_id_1 _pdbx_entity_branch_link.atom_stereo_config_1 _pdbx_entity_branch_link.entity_branch_list_num_2 _pdbx_entity_branch_link.comp_id_2 _pdbx_entity_branch_link.atom_id_2 _pdbx_entity_branch_link.leaving_atom_id_2 _pdbx_entity_branch_link.atom_stereo_config_2 _pdbx_entity_branch_link.value_order _pdbx_entity_branch_link.details 1 2 1 NAG O4 HO4 ? 2 GAL C1 O1 R sing ? 2 2 2 GAL O2 HO2 ? 3 FUC C1 O1 R sing ? 3 2 1 NAG O3 HO3 ? 4 FUC C1 O1 R sing ? ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_entity_branch_link.link_id _item_description.description ; The value of _pdbx_entity_branch_link.link_id uniquely identifies linkages within the branched entity. ; _item.name '_pdbx_entity_branch_link.link_id' _item.category_id pdbx_entity_branch_link _item.mandatory_code yes _item_type.code int save_ save__pdbx_entity_branch_link.details _item_description.description ; A description of special aspects of this linkage. ; _item.name '_pdbx_entity_branch_link.details' _item.category_id pdbx_entity_branch_link _item.mandatory_code no _item_type.code text save_ save__pdbx_entity_branch_link.entity_id _item_description.description ; The entity id for this branched entity. This data item is a pointer to _pdbx_entity_branch_list.entity_id in the PDBX_ENTITY_BRANCH_LIST category. ; _item.name '_pdbx_entity_branch_link.entity_id' _item.category_id pdbx_entity_branch_link _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_entity_branch_link.entity_id' _item_linked.parent_name '_pdbx_entity_branch_list.entity_id' save_ save__pdbx_entity_branch_link.entity_branch_list_num_1 _item_description.description ; The component number for the first component making the linkage. This data item is a pointer to _pdbx_entity_branch_list.num in the PDBX_ENTITY_BRANCH_LIST category. ; _item.name '_pdbx_entity_branch_link.entity_branch_list_num_1' _item.category_id pdbx_entity_branch_link _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_entity_branch_link.entity_branch_list_num_1' _item_linked.parent_name '_pdbx_entity_branch_list.num' save_ save__pdbx_entity_branch_link.entity_branch_list_num_2 _item_description.description ; The component number for the second component making the linkage. This data item is a pointer to _pdbx_entity_branch_list.num in the PDBX_ENTITY_BRANCH_LIST category. ; _item.name '_pdbx_entity_branch_link.entity_branch_list_num_2' _item.category_id pdbx_entity_branch_link _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_entity_branch_link.entity_branch_list_num_2' _item_linked.parent_name '_pdbx_entity_branch_list.num' save_ save__pdbx_entity_branch_link.comp_id_1 _item_description.description ; The component identifier for the first component making the linkage. This data item is a pointer to _pdbx_entity_branch_list.comp_id in the PDBX_ENTITY_BRANCH_LIST category. ; _item.name '_pdbx_entity_branch_link.comp_id_1' _item.category_id pdbx_entity_branch_link _item.mandatory_code yes _item_type.code code save_ save__pdbx_entity_branch_link.comp_id_2 _item_description.description ; The component identifier for the second component making the linkage. This data item is a pointer to _pdbx_entity_branch_list.comp_id in the PDBX_ENTITY_BRANCH_LIST category. ; _item.name '_pdbx_entity_branch_link.comp_id_2' _item.category_id pdbx_entity_branch_link _item.mandatory_code yes _item_type.code code save_ save__pdbx_entity_branch_link.atom_id_1 _item_description.description ; The atom identifier/name for the first atom making the linkage. ; _item.name '_pdbx_entity_branch_link.atom_id_1' _item.category_id pdbx_entity_branch_link _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_entity_branch_link.atom_id_1' _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__pdbx_entity_branch_link.leaving_atom_id_1 _item_description.description ; The leaving atom identifier/name bonded to the first atom making the linkage. ; _item.name '_pdbx_entity_branch_link.leaving_atom_id_1' _item.category_id pdbx_entity_branch_link _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_entity_branch_link.leaving_atom_id_1' _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__pdbx_entity_branch_link.atom_stereo_config_1 _item_description.description ; The chiral configuration of the first atom making the linkage. ; _item.name '_pdbx_entity_branch_link.atom_stereo_config_1' _item.category_id pdbx_entity_branch_link _item.mandatory_code no _item_type.code ucode _item_default.value 'N' loop_ _item_enumeration.value _item_enumeration.detail R 'rectus - right handed configuration' S 'sinister - left handed configuration' N 'none' save_ save__pdbx_entity_branch_link.atom_id_2 _item_description.description ; The atom identifier/name for the second atom making the linkage. ; _item.name '_pdbx_entity_branch_link.atom_id_2' _item.category_id pdbx_entity_branch_link _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_entity_branch_link.atom_id_2' _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__pdbx_entity_branch_link.leaving_atom_id_2 _item_description.description ; The leaving atom identifier/name bonded to the second atom making the linkage. ; _item.name '_pdbx_entity_branch_link.leaving_atom_id_2' _item.category_id pdbx_entity_branch_link _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_entity_branch_link.leaving_atom_id_2' _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__pdbx_entity_branch_link.atom_stereo_config_2 _item_description.description ; The chiral configuration of the second atom making the linkage. ; _item.name '_pdbx_entity_branch_link.atom_stereo_config_2' _item.category_id pdbx_entity_branch_link _item.mandatory_code no _item_type.code ucode _item_default.value 'N' loop_ _item_enumeration.value _item_enumeration.detail R 'rectus - right handed configuration' S 'sinister - left handed configuration' N 'none' save_ save__pdbx_entity_branch_link.value_order _item_description.description ; The bond order target for the chemical linkage. ; _item.name '_pdbx_entity_branch_link.value_order' _item.category_id pdbx_entity_branch_link _item.mandatory_code no _item_default.value sing _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail sing 'single bond' doub 'double bond' trip 'triple bond' quad 'quadruple bond' arom 'aromatic bond' poly 'polymeric bond' delo 'delocalised double bond' pi 'pi bond' save_ ######################## ## PDBX_ENTITY_BRANCH ## ######################## save_pdbx_entity_branch _category.description ; Data items in the PDBX_ENTITY_BRANCH category specify the list of branched entities and the type. ; _category.id pdbx_entity_branch _category.mandatory_code no loop_ _category_key.name '_pdbx_entity_branch.entity_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' 'branch_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_entity_branch.entity_id _pdbx_entity_branch.type 2 oligosaccharide ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_entity_branch.entity_id _item_description.description ; The entity id for this branched entity. This data item is a pointer to _entity.id ; _item.name '_pdbx_entity_branch.entity_id' _item.category_id pdbx_entity_branch _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_entity_branch.entity_id' _item_linked.parent_name '_entity.id' save_ save__pdbx_entity_branch.type _item_description.description ; The type of this branched oligosaccharide. ; _item.name '_pdbx_entity_branch.type' _item.category_id pdbx_entity_branch _item.mandatory_code yes _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail oligosaccharide . save_ ######################## ## PDBX_BRANCH_SCHEME ## ######################## save_pdbx_branch_scheme _category.description ; The PDBX_BRANCH_SCHEME category provides residue level nomenclature mapping for branch chain entities. ; _category.id pdbx_branch_scheme _category.mandatory_code no loop_ _category_key.name '_pdbx_branch_scheme.asym_id' '_pdbx_branch_scheme.entity_id' '_pdbx_branch_scheme.num' '_pdbx_branch_scheme.mon_id' loop_ _category_group.id 'inclusive_group' 'entity_group' 'pdbx_group' 'branch_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_branch_scheme.asym_id _pdbx_branch_scheme.entity_id _pdbx_branch_scheme.mon_id _pdbx_branch_scheme.num _pdbx_branch_scheme.pdb_asym_id _pdbx_branch_scheme.pdb_mon_id _pdbx_branch_scheme.pdb_seq_num _pdbx_branch_scheme.auth_mon_id _pdbx_branch_scheme.auth_asym_id _pdbx_branch_scheme.auth_seq_num _pdbx_branch_scheme.hetero B 2 NAG 1 B NAG 1 NAG A 1592 n B 2 GAL 2 B GAL 2 GAL A 1591 n B 2 FUC 3 B FUC 3 FUC A 1590 n B 2 FUC 4 B FUC 4 FUC A 1593 n ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__pdbx_branch_scheme.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_pdbx_branch_scheme.entity_id' _item.category_id pdbx_branch_scheme _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_branch_scheme.entity_id' _item_linked.parent_name '_entity.id' save_ save__pdbx_branch_scheme.hetero _item_description.description ; A flag to indicate whether this monomer in the entity is heterogeneous in sequence. ; _item.name '_pdbx_branch_scheme.hetero' _item.category_id pdbx_branch_scheme _item.mandatory_code no _item_default.value no _item_type.code ucode loop_ _item_enumeration.value _item_enumeration.detail no 'sequence is not heterogeneous at this monomer' n 'abbreviation for "no"' yes 'sequence is heterogeneous at this monomer' y 'abbreviation for "yes"' save_ save__pdbx_branch_scheme.asym_id _item_description.description ; Pointer to _atom_site.label_asym_id. ; _item.name '_pdbx_branch_scheme.asym_id' _item.category_id pdbx_branch_scheme _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_branch_scheme.asym_id' _item_linked.parent_name '_atom_site.label_asym_id' loop_ _item_examples.case '1' 'A' '2B3' save_ save__pdbx_branch_scheme.mon_id _item_description.description ; This data item is a pointer to _atom_site.label_comp_id in the PDBX_ENTITY_BRANCH_LIST category. ; _item.name '_pdbx_branch_scheme.mon_id' _item.category_id pdbx_branch_scheme _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_branch_scheme.mon_id' _item_linked.parent_name '_atom_site.label_comp_id' save_ save__pdbx_branch_scheme.num _item_description.description ; This data item is a pointer to _pdbx_entity_branch_list.num in the PDBX_ENTITY_BRANCH_LIST category. ; _item.name '_pdbx_branch_scheme.num' _item.category_id pdbx_branch_scheme _item.mandatory_code yes loop_ _item_range.maximum _item_range.minimum . 1 1 1 _item_type.code int _item_linked.child_name '_pdbx_branch_scheme.num' _item_linked.parent_name '_pdbx_entity_branch_list.num' save_ save__pdbx_branch_scheme.pdb_asym_id _item_description.description ; This data item is a pointer to _atom_site.auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_branch_scheme.pdb_asym_id' _item.category_id pdbx_branch_scheme _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_branch_scheme.pdb_asym_id' _item_linked.parent_name '_atom_site.auth_asym_id' save_ save__pdbx_branch_scheme.pdb_seq_num _item_description.description ; This data item is a pointer to _atom_site.auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_branch_scheme.pdb_seq_num' _item.category_id pdbx_branch_scheme _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_branch_scheme.pdb_seq_num' _item_linked.parent_name '_atom_site.auth_seq_id' save_ save__pdbx_branch_scheme.pdb_ins_code _item_description.description ; This data item is a pointer to _atom_site.pdbx_PDB_ins_code in the ATOM_SITE category. ; _item.name '_pdbx_branch_scheme.pdb_ins_code' _item.category_id pdbx_branch_scheme _item.mandatory_code no _item_type.code code _item_linked.child_name '_pdbx_branch_scheme.pdb_ins_code' _item_linked.parent_name '_atom_site.pdbx_PDB_ins_code' save_ save__pdbx_branch_scheme.pdb_mon_id _item_description.description ; This data item is a pointer to _atom_site.auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_branch_scheme.pdb_mon_id' _item.category_id pdbx_branch_scheme _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_branch_scheme.pdb_mon_id' _item_linked.parent_name '_atom_site.auth_comp_id' save_ save__pdbx_branch_scheme.auth_asym_id _item_description.description ; This data item is a pointer to _atom_site.pdbx_auth_asym_id in the ATOM_SITE category. ; _item.name '_pdbx_branch_scheme.auth_asym_id' _item.category_id pdbx_branch_scheme _item.mandatory_code no _item_type.code code # No links are parent not present in public model file save_ save__pdbx_branch_scheme.auth_seq_num _item_description.description ; This data item is a pointer to _atom_site.pdbx_auth_seq_id in the ATOM_SITE category. ; _item.name '_pdbx_branch_scheme.auth_seq_num' _item.category_id pdbx_branch_scheme _item.mandatory_code no _item_type.code code # No links are parent not present in public model file save_ save__pdbx_branch_scheme.auth_mon_id _item_description.description ; This data item is a pointer to _atom_site.pdbx_auth_comp_id in the ATOM_SITE category. ; _item.name '_pdbx_branch_scheme.auth_mon_id' _item.category_id pdbx_branch_scheme _item.mandatory_code no _item_type.code code # No links are parent not present in public model file save_ ##################### ## ENTITY_NAME_COM ## ##################### save__entity_name_com.pdbx_provenance _item_description.description ; Provides the provenance of the name in the _entity_name_com.name field ; _item.name '_entity_name_com.pdbx_provenance' _item.category_id entity_name_com _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail UNIPROT 'UniProt provided' AUTHOR 'Author provided' save_ # ---------------------------------------------------------------------------------------------------------------------------- # # File: chem_comp-extension.dic # Date: 1-Aug-2018 Ep # Update: 10-Oct-2018 # # Draft dictionary extensions for extending the chemical components definition to support carbohydrates # # PDBX_CHEM_COMP_RELATED - Describes relationship between monosaccaharide and # its core structure # # PDBX_CHEM_COMP_ATOM_RELATED - Describes the atom level nomenclature mapping between related components # # CHEM_COMP_ATOM - extended to provide IUPAC/IUBMB nomeclature # ---------------------------------------------------------------------------------------------------------------------------- ############################ ## PDBX_CHEM_COMP_RELATED ## ############################ save_pdbx_chem_comp_related # _category.description 'PDBX_CHEM_COMP_RELATED describes the relationship between two chemical components.' _category.id pdbx_chem_comp_related _category.mandatory_code no # loop_ _category_key.name '_pdbx_chem_comp_related.comp_id' '_pdbx_chem_comp_related.related_comp_id' '_pdbx_chem_comp_related.relationship_type' # loop_ _category_group.id inclusive_group pdbx_group chem_comp_group chem_comp_dictionary_group # loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_chem_comp_related.comp_id SGN _pdbx_chem_comp_related.related_comp_id GLC _pdbx_chem_comp_related.relationship_type "Carbohydrate core" _pdbx_chem_comp_related.details ? ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # save_ # # save__pdbx_chem_comp_related.comp_id # _item_description.description 'The chemical component for which this relationship applies.' # _item.name '_pdbx_chem_comp_related.comp_id' _item.category_id pdbx_chem_comp_related _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_related.comp_id' _item_linked.parent_name '_chem_comp.id' # save_ save__pdbx_chem_comp_related.related_comp_id # _item_description.description 'The related chemical component for which this chemical component is based.' # _item.name '_pdbx_chem_comp_related.related_comp_id' _item.category_id pdbx_chem_comp_related _item.mandatory_code yes _item_type.code ucode # save_ save__pdbx_chem_comp_related.relationship_type # _item_description.description 'Describes the type of relationship' # _item.name '_pdbx_chem_comp_related.relationship_type' _item.category_id pdbx_chem_comp_related _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'Carbohydrate core' 'References a common core carbohydrate structure' 'Precursor' 'The related component is a precursor for this one' # save_ save__pdbx_chem_comp_related.details # _item_description.description 'Describes the type of relationship' # _item.name '_pdbx_chem_comp_related.details' _item.category_id pdbx_chem_comp_related _item.mandatory_code no _item_type.code text # save_ ################################# ## PDBX_CHEM_COMP_ATOM_RELATED ## ################################# save_pdbx_chem_comp_atom_related # _category.description 'PDBX_CHEM_COMP_ATOM_RELATED provides atom level nomenclature mapping between two related chemical components.' _category.id pdbx_chem_comp_atom_related _category.mandatory_code no # loop_ _category_key.name '_pdbx_chem_comp_atom_related.comp_id' '_pdbx_chem_comp_atom_related.ordinal' '_pdbx_chem_comp_atom_related.related_comp_id' # loop_ _category_group.id inclusive_group pdbx_group chem_comp_group chem_comp_dictionary_group # loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; loop_ _pdbx_chem_comp_atom_related.ordinal _pdbx_chem_comp_atom_related.comp_id _pdbx_chem_comp_atom_related.atom_id _pdbx_chem_comp_atom_related.related_comp_id _pdbx_chem_comp_atom_related.related_atom_id _pdbx_chem_comp_atom_related.related_type 1 SGN C1 GLC C1 'Carbohydrate core' 2 SGN C2 GLC C2 'Carbohydrate core' 3 SGN C3 GLC C3 'Carbohydrate core' 4 SGN C4 GLC C4 'Carbohydrate core' 5 SGN C5 GLC C5 'Carbohydrate core' 6 SGN C6 GLC C6 'Carbohydrate core' 7 SGN N GLC ? 'Carbohydrate core' 8 SGN O1 GLC O1 'Carbohydrate core' 9 SGN O3 GLC O3 'Carbohydrate core' 10 SGN O4 GLC O4 'Carbohydrate core' 11 SGN O5 GLC O5 'Carbohydrate core' 12 SGN O6 GLC O6 'Carbohydrate core' 13 SGN S1 GLC ? 'Carbohydrate core' 14 SGN O1S GLC ? 'Carbohydrate core' 15 SGN O2S GLC ? 'Carbohydrate core' 16 SGN O3S GLC ? 'Carbohydrate core' 17 SGN S2 GLC ? 'Carbohydrate core' 18 SGN O4S GLC ? 'Carbohydrate core' 19 SGN O5S GLC ? 'Carbohydrate core' 20 SGN O6S GLC ? 'Carbohydrate core' 21 SGN H1 GLC H1 'Carbohydrate core' 22 SGN H2 GLC H2 'Carbohydrate core' 23 SGN H3 GLC H3 'Carbohydrate core' 24 SGN H4 GLC H4 'Carbohydrate core' 25 SGN H5 GLC H5 'Carbohydrate core' 26 SGN H61 GLC H61 'Carbohydrate core' 27 SGN H62 GLC H62 'Carbohydrate core' 28 SGN HN GLC ? 'Carbohydrate core' 29 SGN HO1 GLC HO1 'Carbohydrate core' 30 SGN HO3 GLC HO3 'Carbohydrate core' 31 SGN HO4 GLC HO4 'Carbohydrate core' 32 SGN HOS3 GLC ? 'Carbohydrate core' 33 SGN HOS6 GLC ? 'Carbohydrate core' # ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # save_ # # save__pdbx_chem_comp_atom_related.comp_id # _item_description.description 'The chemical component for which this relationship applies.' # _item.name '_pdbx_chem_comp_atom_related.comp_id' _item.category_id pdbx_chem_comp_atom_related _item.mandatory_code yes _item_type.code ucode _item_linked.child_name '_pdbx_chem_comp_atom_related.comp_id' _item_linked.parent_name '_chem_comp.id' # save_ save__pdbx_chem_comp_atom_related.related_comp_id # _item_description.description 'The related chemical component for which this chemical component is based.' # _item.name '_pdbx_chem_comp_atom_related.related_comp_id' _item.category_id pdbx_chem_comp_atom_related _item.mandatory_code yes _item_type.code ucode # save_ save__pdbx_chem_comp_atom_related.ordinal _item_description.description ; An ordinal index for this category ; _item.name '_pdbx_chem_comp_atom_related.ordinal' _item.category_id pdbx_chem_comp_atom_related _item.mandatory_code yes _item_type.code int loop_ _item_examples.case 1 2 save_ save__pdbx_chem_comp_atom_related.atom_id _item_description.description ; The atom identifier/name for the atom mapping ; _item.name '_pdbx_chem_comp_atom_related.atom_id' _item.category_id pdbx_chem_comp_atom_related _item.mandatory_code yes _item_type.code atcode _item_linked.child_name '_pdbx_chem_comp_atom_related.atom_id' _item_linked.parent_name '_chem_comp_atom.atom_id' save_ save__pdbx_chem_comp_atom_related.related_atom_id _item_description.description ; The atom identifier/name for the atom mapping in the related chemical component ; _item.name '_pdbx_chem_comp_atom_related.related_atom_id' _item.category_id pdbx_chem_comp_atom_related _item.mandatory_code no _item_type.code atcode save_ save__pdbx_chem_comp_atom_related.related_type # _item_description.description 'Describes the type of relationship' # _item.name '_pdbx_chem_comp_atom_related.related_type' _item.category_id pdbx_chem_comp_atom_related _item.mandatory_code yes _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'Carbohydrate core' 'References a core carbohydrate structure' 'Precursor' 'The related component is a precursor for this one' # _item_linked.child_name '_pdbx_chem_comp_atom_related.related_type' _item_linked.parent_name '_pdbx_chem_comp_related.relationship_type' save_ #################### ## CHEM_COMP_ATOM ## #################### save__chem_comp_atom.pdbx_stnd_atom_id _item_description.description ; A standard identifier for the atom. This data item is used when IUPAC/IUBMB nomenclature exists for labeling atoms. ; _item.name '_chem_comp_atom.pdbx_stnd_atom_id' _item.category_id chem_comp_atom _item.mandatory_code no _item_type.code line _pdbx_item_context.type WWPDB_LOCAL _pdbx_item_context.item_name '_chem_comp_atom.pdbx_stnd_atom_id' save_ # # Statistics relating to anisotropic diffraction # ##################### ## Category REFLNS ## ##################### save__reflns.pdbx_aniso_diffraction_limit_axis_1_ortho[1] _item_description.description ; Principal axis 1 (X component) of ellipsoid fitted to the diffraction cut-off surface. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_diffraction_limit_axis_1_ortho[1]' _item.category_id reflns _item.mandatory_code no _item_sub_category.id unit_vector _item_sub_category.pdbx_label aniso_axis_1 _item_type.code float loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_aniso_axis_1_ortho[1]' gphl-proc-extension.dic 0.0 '_reflns.gphl_aniso_diffraction_limit_axis_1_ortho[1]' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_aniso_diffraction_limit_axis_1_ortho[2] _item_description.description ; Principal axis 1 (Y component) of ellipsoid fitted to the diffraction cut-off surface. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_diffraction_limit_axis_1_ortho[2]' _item.category_id reflns _item.mandatory_code no _item_sub_category.id unit_vector _item_sub_category.pdbx_label aniso_axis_1 _item_type.code float loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_aniso_axis_1_ortho[2]' gphl-proc-extension.dic 0.0 '_reflns.gphl_aniso_diffraction_limit_axis_1_ortho[2]' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_aniso_diffraction_limit_axis_1_ortho[3] _item_description.description ; Principal axis 1 (Z component) of ellipsoid fitted to the diffraction cut-off surface. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_diffraction_limit_axis_1_ortho[3]' _item.category_id reflns _item.mandatory_code no _item_sub_category.id unit_vector _item_sub_category.pdbx_label aniso_axis_1 _item_type.code float loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_aniso_axis_1_ortho[3]' gphl-proc-extension.dic 0.0 '_reflns.gphl_aniso_diffraction_limit_axis_1_ortho[3]' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_aniso_diffraction_limit_axis_2_ortho[1] _item_description.description ; Principal axis 2 (X component) of ellipsoid fitted to the diffraction cut-off surface. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_diffraction_limit_axis_2_ortho[1]' _item.category_id reflns _item.mandatory_code no _item_sub_category.id unit_vector _item_sub_category.pdbx_label aniso_axis_2 _item_type.code float loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_aniso_axis_2_ortho[1]' gphl-proc-extension.dic 0.0 '_reflns.gphl_aniso_diffraction_limit_axis_2_ortho[1]' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_aniso_diffraction_limit_axis_2_ortho[2] _item_description.description ; Principal axis 2 (Y component) of ellipsoid fitted to the diffraction cut-off surface. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_diffraction_limit_axis_2_ortho[2]' _item.category_id reflns _item.mandatory_code no _item_sub_category.id unit_vector _item_sub_category.pdbx_label aniso_axis_2 _item_type.code float loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_aniso_axis_2_ortho[2]' gphl-proc-extension.dic 0.0 '_reflns.gphl_aniso_diffraction_limit_axis_2_ortho[2]' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_aniso_diffraction_limit_axis_2_ortho[3] _item_description.description ; Principal axis 2 (Z component) of ellipsoid fitted to the diffraction cut-off surface. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_diffraction_limit_axis_2_ortho[3]' _item.category_id reflns _item.mandatory_code no _item_sub_category.id unit_vector _item_sub_category.pdbx_label aniso_axis_2 _item_type.code float loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_aniso_axis_2_ortho[3]' gphl-proc-extension.dic 0.0 '_reflns.gphl_aniso_diffraction_limit_axis_2_ortho[3]' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_aniso_diffraction_limit_axis_3_ortho[1] _item_description.description ; Principal axis 3 (X component) of ellipsoid fitted to the diffraction cut-off surface. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_diffraction_limit_axis_3_ortho[1]' _item.category_id reflns _item.mandatory_code no _item_sub_category.id unit_vector _item_sub_category.pdbx_label aniso_axis_3 _item_type.code float loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_aniso_axis_3_ortho[1]' gphl-proc-extension.dic 0.0 '_reflns.gphl_aniso_diffraction_limit_axis_3_ortho[1]' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_aniso_diffraction_limit_axis_3_ortho[2] _item_description.description ; Principal axis 3 (Y component) of ellipsoid fitted to the diffraction cut-off surface. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_diffraction_limit_axis_3_ortho[2]' _item.category_id reflns _item.mandatory_code no _item_sub_category.id unit_vector _item_sub_category.pdbx_label aniso_axis_3 _item_type.code float loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_aniso_axis_3_ortho[2]' gphl-proc-extension.dic 0.0 '_reflns.gphl_aniso_diffraction_limit_axis_3_ortho[2]' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_aniso_diffraction_limit_axis_3_ortho[3] _item_description.description ; Principal axis 3 (Z component) of ellipsoid fitted to the diffraction cut-off surface. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_diffraction_limit_axis_3_ortho[3]' _item.category_id reflns _item.mandatory_code no _item_sub_category.id unit_vector _item_sub_category.pdbx_label aniso_axis_3 _item_type.code float loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_aniso_axis_3_ortho[3]' gphl-proc-extension.dic 0.0 '_reflns.gphl_aniso_diffraction_limit_axis_3_ortho[3]' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_aniso_diffraction_limit_1 _item_description.description ; Anisotropic diffraction limit along principal axis 1 (of ellipsoid fitted to the diffraction cut-off surface). ; _item.name '_reflns.pdbx_aniso_diffraction_limit_1' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_units.code angstroms _item_range.minimum 0.0 _item_range.maximum . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_aniso_diffrn_limit_1' gphl-proc-extension.dic 0.0 '_reflns.gphl_aniso_diffraction_limit_1' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_aniso_diffraction_limit_2 _item_description.description ; Anisotropic diffraction limit along principal axis 2 (of ellipsoid fitted to the diffraction cut-off surface) ; _item.name '_reflns.pdbx_aniso_diffraction_limit_2' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_units.code angstroms _item_range.minimum 0.0 _item_range.maximum . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_aniso_diffrn_limit_2' gphl-proc-extension.dic 0.0 '_reflns.gphl_aniso_diffraction_limit_2' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_aniso_diffraction_limit_3 _item_description.description ; Anisotropic diffraction limit along principal axis 3 (of ellipsoid fitted to the diffraction cut-off surface) ; _item.name '_reflns.pdbx_aniso_diffraction_limit_3' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_units.code angstroms _item_range.minimum 0.0 _item_range.maximum . loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_aniso_diffrn_limit_3' gphl-proc-extension.dic 0.0 '_reflns.gphl_aniso_diffraction_limit_3' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_aniso_B_tensor_eigenvector_1_ortho[1] _item_description.description ; X component of the first eigenvector of the diffraction anisotropy tensor. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_B_tensor_eigenvector_1_ortho[1]' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_sub_category.id _item_sub_category.pdbx_label unit_vector aniso_B_tensor_1 eigendecomposition aniso_B_tensor loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 _item_aliases.alias_name '_reflns.gphl_aniso_B_tensor_eigenvector_1_ortho[1]' _item_aliases.dictionary gphl-proc-aniso-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_aniso_B_tensor_eigenvector_1_ortho[2] _item_description.description ; Y component of the first eigenvector of the diffraction anisotropy tensor. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_B_tensor_eigenvector_1_ortho[2]' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_sub_category.id _item_sub_category.pdbx_label unit_vector aniso_B_tensor_1 eigendecomposition aniso_B_tensor loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 _item_aliases.alias_name '_reflns.gphl_aniso_B_tensor_eigenvector_1_ortho[2]' _item_aliases.dictionary gphl-proc-aniso-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_aniso_B_tensor_eigenvector_1_ortho[3] _item_description.description ; Z component of the first eigenvector of the diffraction anisotropy tensor. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_B_tensor_eigenvector_1_ortho[3]' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_sub_category.id _item_sub_category.pdbx_label unit_vector aniso_B_tensor_1 eigendecomposition aniso_B_tensor loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 _item_aliases.alias_name '_reflns.gphl_aniso_B_tensor_eigenvector_1_ortho[3]' _item_aliases.dictionary gphl-proc-aniso-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_aniso_B_tensor_eigenvector_2_ortho[1] _item_description.description ; X component of the second eigenvector of the diffraction anisotropy tensor. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_B_tensor_eigenvector_2_ortho[1]' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_sub_category.id _item_sub_category.pdbx_label unit_vector aniso_B_tensor_2 eigendecomposition aniso_B_tensor loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 _item_aliases.alias_name '_reflns.gphl_aniso_B_tensor_eigenvector_2_ortho[1]' _item_aliases.dictionary gphl-proc-aniso-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_aniso_B_tensor_eigenvector_2_ortho[2] _item_description.description ; Y component of the second eigenvector of the diffraction anisotropy tensor. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_B_tensor_eigenvector_2_ortho[2]' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_sub_category.id _item_sub_category.pdbx_label unit_vector aniso_B_tensor_2 eigendecomposition aniso_B_tensor loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 _item_aliases.alias_name '_reflns.gphl_aniso_B_tensor_eigenvector_2_ortho[2]' _item_aliases.dictionary gphl-proc-aniso-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_aniso_B_tensor_eigenvector_2_ortho[3] _item_description.description ; Z component of the second eigenvector of the diffraction anisotropy tensor. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_B_tensor_eigenvector_2_ortho[3]' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_sub_category.id _item_sub_category.pdbx_label unit_vector aniso_B_tensor_2 eigendecomposition aniso_B_tensor loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 _item_aliases.alias_name '_reflns.gphl_aniso_B_tensor_eigenvector_2_ortho[3]' _item_aliases.dictionary gphl-proc-aniso-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_aniso_B_tensor_eigenvector_3_ortho[1] _item_description.description ; X component of the third eigenvector of the diffraction anisotropy tensor. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_B_tensor_eigenvector_3_ortho[1]' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_sub_category.id _item_sub_category.pdbx_label unit_vector aniso_B_tensor_3 eigendecomposition aniso_B_tensor loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 _item_aliases.alias_name '_reflns.gphl_aniso_B_tensor_eigenvector_3_ortho[1]' _item_aliases.dictionary gphl-proc-aniso-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_aniso_B_tensor_eigenvector_3_ortho[2] _item_description.description ; Y component of the third eigenvector of the diffraction anisotropy tensor. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_B_tensor_eigenvector_3_ortho[2]' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_sub_category.id _item_sub_category.pdbx_label unit_vector aniso_B_tensor_3 eigendecomposition aniso_B_tensor loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 _item_aliases.alias_name '_reflns.gphl_aniso_B_tensor_eigenvector_3_ortho[2]' _item_aliases.dictionary gphl-proc-aniso-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_aniso_B_tensor_eigenvector_3_ortho[3] _item_description.description ; Z component of the third eigenvector of the diffraction anisotropy tensor. The applicable orthogonalization convention is that specified by _reflns.pdbx_orthogonalization_convention. ; _item.name '_reflns.pdbx_aniso_B_tensor_eigenvector_3_ortho[3]' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_sub_category.id _item_sub_category.pdbx_label unit_vector aniso_B_tensor_3 eigendecomposition aniso_B_tensor loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 _item_aliases.alias_name '_reflns.gphl_aniso_B_tensor_eigenvector_3_ortho[3]' _item_aliases.dictionary gphl-proc-aniso-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_aniso_B_tensor_eigenvalue_1 _item_description.description ; Eigen-B-factor along the first eigenvector of the diffraction anisotropy tensor ; _item.name '_reflns.pdbx_aniso_B_tensor_eigenvalue_1' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_units.code angstroms_squared _item_sub_category.id eigendecomposition _item_sub_category.pdbx_label aniso_B_tensor _item_range.minimum 0.0 _item_range.maximum . _item_aliases.alias_name '_reflns.gphl_aniso_B_tensor_eigenvalue_1' _item_aliases.dictionary gphl-proc-aniso-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_aniso_B_tensor_eigenvalue_2 _item_description.description ; Eigen-B-factor along the second eigenvector of the diffraction anisotropy tensor ; _item.name '_reflns.pdbx_aniso_B_tensor_eigenvalue_2' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_units.code angstroms_squared _item_sub_category.id eigendecomposition _item_sub_category.pdbx_label aniso_B_tensor _item_range.minimum 0.0 _item_range.maximum . _item_aliases.alias_name '_reflns.gphl_aniso_B_tensor_eigenvalue_2' _item_aliases.dictionary gphl-proc-aniso-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_aniso_B_tensor_eigenvalue_3 _item_description.description ; Eigen-B-factor along the third eigenvector of the diffraction anisotropy tensor ; _item.name '_reflns.pdbx_aniso_B_tensor_eigenvalue_3' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_units.code angstroms_squared _item_sub_category.id eigendecomposition _item_sub_category.pdbx_label aniso_B_tensor _item_range.minimum 0.0 _item_range.maximum . _item_aliases.alias_name '_reflns.gphl_aniso_B_tensor_eigenvalue_3' _item_aliases.dictionary gphl-proc-aniso-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_orthogonalization_convention _item_description.description ; Description of orthogonalization convention used. The notation can make use of unit cell axes "a", "b" and "c" and the reciprocal unit cell axes "astar", "bstar" and "cstar". Upper case letters "X", "Y" and "Z" denote the orthogonal axes, while lower case "x" stands for "cross product". ; _item.name '_reflns.pdbx_orthogonalization_convention' _item.category_id reflns _item.mandatory_code no _item_type.code code loop_ _item_enumeration.value _item_enumeration.detail pdb 'X along a, Y along (cstar x a), Z along cstar, with origins conincident' _item_aliases.alias_name '_reflns.gphl_orthogonalization_convention' _item_aliases.dictionary gphl-proc-aniso-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_percent_possible_ellipsoidal _item_description.description ; Completeness (as a percentage) of symmetry-unique data within the intersection of (1) a sphere (defined by the diffraction limits, _reflns.d_resolution_high and _reflns.d_resolution_low) and (2) the ellipsoid (described by __reflns.pdbx_aniso_diffraction_limit_* items), relative to all possible symmetry-unique reflections within that intersection. ; _item.name '_reflns.pdbx_percent_possible_ellipsoidal' _item.category_id reflns _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 100.0 100.0 100.0 0.0 0.0 0.0 _item_type.code float loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_percent_possible_ellipsoidal_obs' gphl-proc-extension.dic 0.0 '_reflns.gphl_percent_possible_ellipsoidal_obs' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_percent_possible_spherical _item_description.description ; Completeness (as a percentage) of symmetry-unique data within the sphere defined by the diffraction limits (_reflns.d_resolution_high and _reflns.d_resolution_low) relative to all possible symmetry-unique reflections within that sphere. In the absence of an anisotropy description this is identical to _reflns.percent_possible_obs. ; _item.name '_reflns.pdbx_percent_possible_spherical' _item.category_id reflns _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 100.0 100.0 100.0 0.0 0.0 0.0 _item_type.code float loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_percent_possible_spherical_obs' gphl-proc-extension.dic 0.0 '_reflns.gphl_percent_possible_spherical' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_percent_possible_ellipsoidal_anomalous _item_description.description ; Completeness (as a percentage) of symmetry-unique anomalous difference data within the intersection of (1) a sphere (defined by the diffraction limits, _reflns.d_resolution_high and _reflns.d_resolution_low) and (2) the ellipsoid (described by __reflns.pdbx_aniso_diffraction_limit_* items), relative to all possible symmetry-unique anomalous difference data within that intersection. ; _item.name '_reflns.pdbx_percent_possible_ellipsoidal_anomalous' _item.category_id reflns _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 100.0 100.0 100.0 0.0 0.0 0.0 _item_type.code float loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_percent_possible_ellipsoidal_obs_anomalous' gphl-proc-extension.dic 0.0 '_reflns.gphl_percent_possible_ellipsoidal_anomalous' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns.pdbx_percent_possible_spherical_anomalous _item_description.description ; Completeness (as a percentage) of symmetry-unique anomalous difference data within the sphere defined by the diffraction limits (_reflns.d_resolution_high and _reflns.d_resolution_low) relative to all possible symmetry-unique anomalous difference data within that sphere. In the absence of an anisotropy description this is identical to _reflns.pdbx_percent_possible_anomalous. ; _item.name '_reflns.pdbx_percent_possible_spherical_anomalous' _item.category_id reflns _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 100.0 100.0 100.0 0.0 0.0 0.0 _item_type.code float loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_percent_possible_spherical_obs_anomalous' gphl-proc-extension.dic 0.0 '_reflns.gphl_percent_possible_spherical_anomalous' gphl-proc-aniso-extension.dic 0.0 save_ ########################### ## Category REFLNS_SHELL ## ########################### save__reflns_shell.pdbx_percent_possible_ellipsoidal _item_description.description ; Completeness (as a percentage) of symmetry-unique data within the intersection of (1) a spherical shell (defined by its diffraction limits, _reflns_shell.d_resolution_high and _reflns_shell.d_resolution_low) and (2) the ellipsoid (described by __reflns.pdbx_aniso_diffraction_limit_* items), relative to all possible symmetry-unique reflections within that intersection. ; _item.name '_reflns_shell.pdbx_percent_possible_ellipsoidal' _item.category_id reflns_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 100.0 100.0 100.0 0.0 0.0 0.0 _item_type.code float loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_shell.gphl_percent_possible_ellipsoidal_all' gphl-proc-extension.dic 0.0 '_reflns_shell.gphl_percent_possible_ellipsoidal' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns_shell.pdbx_percent_possible_spherical _item_description.description ; Completeness (as a percentage) of symmetry-unique data within the spherical shell defined by its diffraction limits (_reflns_shell.d_resolution_high and _reflns_shell.d_resolution_low) relative to all possible symmetry-unique reflections within that shell. In the absence of an anisotropy description this is identical to _reflns_shell.percent_possible_all. ; _item.name '_reflns_shell.pdbx_percent_possible_spherical' _item.category_id reflns_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 100.0 100.0 100.0 0.0 0.0 0.0 _item_type.code float loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_shell.gphl_percent_possible_spherical_all' gphl-proc-extension.dic 0.0 '_reflns_shell.gphl_percent_possible_spherical' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns_shell.pdbx_percent_possible_ellipsoidal_anomalous _item_description.description ; Completeness (as a percentage) of symmetry-unique anomalous difference data within the intersection of (1) a spherical shell (defined by its diffraction limits, _reflns_shell.d_resolution_high and _reflns_shell.d_resolution_low) and (2) the ellipsoid (described by __reflns.pdbx_aniso_diffraction_limit_* items), relative to all possible symmetry-unique anomalous difference data within that intersection. ; _item.name '_reflns_shell.pdbx_percent_possible_ellipsoidal_anomalous' _item.category_id reflns_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 100.0 100.0 100.0 0.0 0.0 0.0 _item_type.code float loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_shell.gphl_percent_possible_ellipsoidal_obs_anomalous' gphl-proc-extension.dic 0.0 '_reflns_shell.gphl_percent_possible_ellipsoidal_anomalous' gphl-proc-aniso-extension.dic 0.0 save_ save__reflns_shell.pdbx_percent_possible_spherical_anomalous _item_description.description ; Completeness (as a percentage) of symmetry-unique anomalous difference data within the spherical shell defined by its diffraction limits (_reflns_shell.d_resolution_high and _reflns_shell.d_resolution_low) relative to all possible symmetry-unique anomalous difference data within that shell. In the absence of an anisotropy description this is identical to _reflns.pdbx_percent_possible_anomalous. ; _item.name '_reflns_shell.pdbx_percent_possible_spherical_anomalous' _item.category_id reflns_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 100.0 100.0 100.0 0.0 0.0 0.0 _item_type.code float loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_shell.gphl_percent_possible_spherical_obs_anomalous' gphl-proc-extension.dic 0.0 '_reflns_shell.gphl_percent_possible_spherical' gphl-proc-aniso-extension.dic 0.0 save_ # # Statistics relating to isotropic, anomalous diffraction # ##################### ## Category REFLNS ## ##################### save__reflns.pdbx_redundancy_anomalous _item_description.description ; The overall redundancy of anomalous difference data within the sphere defined by the diffraction limits (_reflns.d_resolution_high and _reflns.d_resolution_low), i.e. data for which intensities for both instances of a Friedel pair are available for an acentric reflection. ; _item.name '_reflns.pdbx_redundancy_anomalous' _item.category_id reflns _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1.0 1.0 1.0 _item_type.code float _item_aliases.alias_name '_reflns.gphl_redundancy_anomalous' _item_aliases.dictionary gphl-proc-anomalous-stats-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_CC_half_anomalous _item_description.description ; The overall correlation coefficient between two randomly chosen half-sets of anomalous intensity differences, I(+)-I(-) for anomalous data within the sphere defined by the diffraction limits (_reflns.d_resolution_high and _reflns.d_resolution_low), i.e. data for which intensities for both instances of a Friedel pair are available for an acentric reflection. ; _item.name '_reflns.pdbx_CC_half_anomalous' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 _item_aliases.alias_name '_reflns.gphl_CC_half_anomalous' _item_aliases.dictionary gphl-proc-anomalous-stats-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_absDiff_over_sigma_anomalous _item_description.description ; The overall mean ratio of absolute anomalous intensity differences to their standard deviation within the sphere defined by the diffraction limits (_reflns.d_resolution_high and _reflns.d_resolution_low) and using data for which intensities for both instances of a Friedel pair are available for an acentric reflection. |Dano| ------------- sigma(Dano) with Dano = I(+) - I(-) sigma(Dano) = sqrt( sigma(I(+))^2 + sigma(I(-))^2 ) ; _item.name '_reflns.pdbx_absDiff_over_sigma_anomalous' _item.category_id reflns _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_aliases.alias_name '_reflns.gphl_absDiff_over_sigma_anomalous' _item_aliases.dictionary gphl-proc-anomalous-stats-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_percent_possible_anomalous _item_description.description ; Completeness (as a percentage) of symmetry-unique anomalous difference data within the sphere defined by the diffraction limits (_reflns.d_resolution_high and _reflns.d_resolution_low) relative to all possible symmetry-unique anomalous difference data within that sphere. ; _item.name '_reflns.pdbx_percent_possible_anomalous' _item.category_id reflns _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 100.0 100.0 100.0 0.0 0.0 0.0 _item_type.code float loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns.gphl_percent_possible_obs_anomalous' gphl-proc-extension.dic 0.0 '_reflns.gphl_percent_possible_anomalous' gphl-proc-anomalous-stats-extension.dic 0.0 save_ ########################### ## Category REFLNS_SHELL ## ########################### save__reflns_shell.pdbx_redundancy_anomalous _item_description.description ; The redundancy of anomalous difference data within the spherical shell (defined by its diffraction limits _reflns_shell.d_resolution_high and _reflns_shell.d_resolution_low), i.e. data for which intensities for both instances of a Friedel pair are available for an acentric reflection. ; _item.name '_reflns_shell.pdbx_redundancy_anomalous' _item.category_id reflns_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum . 1.0 1.0 1.0 _item_type.code float _item_aliases.alias_name '_reflns_shell.gphl_redundancy_anomalous' _item_aliases.dictionary gphl-proc-anomalous-stats-extension.dic _item_aliases.version 0.0 save_ save__reflns_shell.pdbx_CC_half_anomalous _item_description.description ; The correlation coefficient within the spherical shell (defined by its diffraction limits _reflns_shell.d_resolution_high and _reflns_shell.d_resolution_low) between two randomly chosen half-sets of anomalous intensity differences, I(+)-I(-) for anomalous data, i.e. data for which intensities for both instances of a Friedel pair are available for an acentric reflection. ; _item.name '_reflns_shell.pdbx_CC_half_anomalous' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum -1.0 -1.0 -1.0 1.0 1.0 1.0 _item_aliases.alias_name '_reflns_shell.gphl_CC_half_anomalous' _item_aliases.dictionary gphl-proc-anomalous-stats-extension.dic _item_aliases.version 0.0 save_ save__reflns_shell.pdbx_absDiff_over_sigma_anomalous _item_description.description ; The mean ratio of absolute anomalous intensity differences to their standard deviation within the spherical shell (defined by its diffraction limits _reflns_shell.d_resolution_high and _reflns_shell.d_resolution_low). |Dano| ------------- sigma(Dano) with Dano = I(+) - I(-) sigma(Dano) = sqrt( sigma(I(+))^2 + sigma(I(-))^2 ) ; _item.name '_reflns_shell.pdbx_absDiff_over_sigma_anomalous' _item.category_id reflns_shell _item.mandatory_code no _item_type.code float loop_ _item_range.minimum _item_range.maximum 0.0 0.0 0.0 . _item_aliases.alias_name '_reflns_shell.gphl_absDiff_over_sigma_anomalous' _item_aliases.dictionary gphl-proc-anomalous-stats-extension.dic _item_aliases.version 0.0 save_ save__reflns_shell.pdbx_percent_possible_anomalous _item_description.description ; Completeness (as a percentage) of symmetry-unique anomalous difference data within the spherical shell defined by its diffraction limits (_reflns_shell.d_resolution_high and _reflns_shell.d_resolution_low) relative to all possible symmetry-unique anomalous difference data within that shell. ; _item.name '_reflns_shell.pdbx_percent_possible_anomalous' _item.category_id reflns_shell _item.mandatory_code no loop_ _item_range.maximum _item_range.minimum 100.0 100.0 100.0 0.0 0.0 0.0 _item_type.code float loop_ _item_aliases.alias_name _item_aliases.dictionary _item_aliases.version '_reflns_shell.gphl_percent_possible_obs_anomalous' gphl-proc-extension.dic 0.0 '_reflns_shell.gphl_percent_possible_anomalous' gphl-proc-anomalous-stats-extension.dic 0.0 save_ # # Items relating to an application-defined per-reflection signal and its use # in defining a cut-off surface between observed and unobserved reflections # ##################### ## Category REFLNS ## ##################### save__reflns.pdbx_observed_signal_threshold _item_description.description ; The threshold value for _refln.pdbx_signal as used to define the status of an individual reflection according to the description in _refln.pdbx_signal_status. ; _item.name '_reflns.pdbx_observed_signal_threshold' _item.category_id reflns _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_reflns.gphl_observed_signal_threshold' _item_aliases.dictionary gphl-proc-signal-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_signal_type _item_description.description ; Type of signal used for _reflns.pdbx_observed_signal_threshold and _refln.pdbx_signal In the enumeration details: Imean is the inverse-variance weighted mean intensity of all measurements for a given symmetry-unique reflection Ihalf is the inverse-variance weighted mean intensity of a random half-selection of all measurements for a given symmetry-unique reflection ; _item.name '_reflns.pdbx_signal_type' _item.category_id reflns _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'local ' 'Local weighted average Imean/sigma(Imean)' 'local wCC_half' 'Local weighted Pearson product-moment correlation coefficient of Ihalf/sigma(Imean) values' _item_aliases.alias_name '_reflns.gphl_signal_type' _item_aliases.dictionary gphl-proc-signal-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_signal_details _item_description.description ; Further details about the calculation of the values assigned to _refln.pdbx_signal ; _item.name '_reflns.pdbx_signal_details' _item.category_id reflns _item.mandatory_code no _item_type.code text _item_aliases.alias_name '_reflns.gphl_signal_details' _item_aliases.dictionary gphl-proc-signal-extension.dic _item_aliases.version 0.0 save_ save__reflns.pdbx_signal_software_id _item_description.description ; The software used to calculate the values of _refln.pdbx_signal ; _item.name '_reflns.pdbx_signal_software_id' _item.category_id reflns _item.mandatory_code no _item_type.code text _item_linked.child_name '_reflns.pdbx_signal_software_id' _item_linked.parent_name '_software.name' _item_aliases.alias_name '_reflns.gphl_signal_details' _item_aliases.dictionary gphl-proc-signal-extension.dic _item_aliases.version 0.0 save_ ######################################## ## Category PDBX_REFLN_SIGNAL_BINNING ## ######################################## save_pdbx_refln_signal_binning _category.description ; The binning of the per-reflection signal generated by the software specified by _reflns.pdbx_signal_software_id. If any reflections have a signal >= to the highest threshold specified, an additional bin should be inferred to hold them. ; _category.id pdbx_refln_signal_binning _category.mandatory_code no _category_key.name '_pdbx_refln_signal_binning.ordinal' loop_ _category_group.id 'inclusive_group' 'refln_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Examples 1 - based on an internal STARANISO run ; ; loop_ _pdbx_refln_signal_binning.ordinal _pdbx_refln_signal_binning.upper_threshold 1 1.20 2 7.22 3 19.00 4 36.81 5 48.87 6 53.84 7 57.69 ; save_ save__pdbx_refln_signal_binning.ordinal _item_description.description ; The ordinal number of the bin, ordered from lowest signal to highest. ; _item.name '_pdbx_refln_signal_binning.ordinal' _item.category_id pdbx_refln_signal_binning _item.mandatory_code yes _item_type.code int _item_range.minimum 0 _item_range.maximum . _item_aliases.alias_name '_gphl_refln_signal_binning.ordinal' _item_aliases.dictionary gphl-proc-signal-extension.dic _item_aliases.version 0.0 save_ save__pdbx_refln_signal_binning.upper_threshold _item_description.description ; The upper (exclusive) threshold of the bin. ; _item.name '_pdbx_refln_signal_binning.upper_threshold' _item.category_id pdbx_refln_signal_binning _item.mandatory_code yes _item_type.code float _item_aliases.alias_name '_gphl_refln_signal_binning.upper_threshold' _item_aliases.dictionary gphl-proc-signal-extension.dic _item_aliases.version 0.0 save_ #################### ## Category REFLN ## #################### save__refln.pdbx_signal _item_description.description ; The signal value for this reflection as defined by _reflns.pdbx_signal_type and _reflns.pdbx_signal_details as calculated by _reflns.pdbx_signal_software_id. ; _item.name '_refln.pdbx_signal' _item.category_id refln _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_refln.gphl_signal' _item_aliases.dictionary gphl-proc-signal-extension.dic _item_aliases.version 0.0 save_ save__refln.pdbx_signal_status _item_description.description ; The status of a reflection related to _refln.pdbx_signal. A measured reflection counts as observed if: _refln.pdbx_signal >= _reflns.pdbx_observed_signal_threshold and unobserved if: _refln.pdbx_signal < _reflns.pdbx_observed_signal_threshold An unmeasured but observable reflection is one that has not been measured, but the data processing has determined that it would have been expected to be observed had it been measured. An unmeasured and unobservable reflection is one that the data processing has determined would not have been expected to be observed. In datasets in which _refln.pdbx_signal has been populated, a null (?) value for this item indicates an unmeasured reflection for which it is not known whether it is observable or not. ; _item.name '_refln.pdbx_signal_status' _item.category_id refln _item.mandatory_code no _item_type.code code _pdbx_item_enumeration_details.closed_flag 'yes' loop_ _item_enumeration.value _item_enumeration.detail m 'Measured reflection' o 'Unmeasured but observable reflection' u 'Unmeasured and unobservable reflection' _item_aliases.alias_name '_refln.gphl_signal' _item_aliases.dictionary gphl-proc-signal-extension.dic _item_aliases.version 0.0 save_ # # Information about individual unmerged reflections # ########################### ## Category DIFFRN_REFLN ## ########################### save__diffrn_refln.pdbx_detector_x _item_description.description ; Detector coordinate (in pixels) along the X-direction for this reflection. This is often the position where the calculated reflection centroid is predicted to occur. The detector X-direction is most often along the fast changing array index of the 2D diffraction array, while the Y-coordinate is along the slow changing array index. ; _item.name '_diffrn_refln.pdbx_detector_x' _item.category_id diffrn_refln _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_diffrn_refln.gphl_detector_x' _item_aliases.dictionary gphl-proc-unmerged-extension.dic _item_aliases.version 0.0 save_ save__diffrn_refln.pdbx_detector_y _item_description.description ; Detector coordinate (in pixels) along the Y-direction for this reflection. This is often the position where the calculated reflection centroid is predicted to occur. The detector X-direction is most often along the fast changing array index of the 2D diffraction array, while the Y-coordinate is along the slow changing array index. ; _item.name '_diffrn_refln.pdbx_detector_y' _item.category_id diffrn_refln _item.mandatory_code no _item_type.code float _item_aliases.alias_name '_diffrn_refln.gphl_detector_y' _item_aliases.dictionary gphl-proc-unmerged-extension.dic _item_aliases.version 0.0 save_ save__diffrn_refln.pdbx_rotation_angle _item_description.description ; The value of the angle around the scan axis for this reflection. This is often the scan angle at which the calculated reflection centroid is predicted to occur. ; _item.name '_diffrn_refln.pdbx_rotation_angle' _item.category_id diffrn_refln _item.mandatory_code no _item_type.code float _item_units.code degrees _item_aliases.alias_name '_diffrn_refln.gphl_rotation_angle' _item_aliases.dictionary gphl-proc-unmerged-extension.dic _item_aliases.version 0.0 save_ save__diffrn_refln.pdbx_scale_value _item_description.description ; The scale factor applied to an individual reflection intensity at the last scaling step before merging all measurements belonging to symmetry-unique reflections into a merged intensity. ; _item.name '_diffrn_refln.pdbx_scale_value' _item.category_id diffrn_refln _item.mandatory_code no _item_type.code float _item_range.maximum . _item_range.minimum 0.0 _item_aliases.alias_name '_diffrn_refln.gphl_scale_value' _item_aliases.dictionary gphl-proc-unmerged-extension.dic _item_aliases.version 0.0 save_ ## File: sifts-extension.dic ## Date: 28-Apr-2021 ## # Items relating to the Structure Integration with Function, Taxonomy and Sequence (SIFTS) project. # # ############################ ## Category pdbx_sifts_xref_db ## ############################ save_pdbx_sifts_xref_db # _category.description 'pdbx_sifts_xref_db describes residue-level cross-references to external databases.' _category.id pdbx_sifts_xref_db _category.mandatory_code no # loop_ _category_key.name '_pdbx_sifts_xref_db.entity_id' '_pdbx_sifts_xref_db.asym_id' '_pdbx_sifts_xref_db.seq_id_ordinal' '_pdbx_sifts_xref_db.seq_id' loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'reference_sequence_group' # loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_sifts_xref_db.entity_id 1 _pdbx_sifts_xref_db.asym_id A _pdbx_sifts_xref_db.seq_id_ordinal 1 _pdbx_sifts_xref_db.seq_id 254 _pdbx_sifts_xref_db.mon_id ILE _pdbx_sifts_xref_db.mon_id_one_letter_code I _pdbx_sifts_xref_db.unp_res I _pdbx_sifts_xref_db.unp_num 50 _pdbx_sifts_xref_db.unp_acc P00720 _pdbx_sifts_xref_db.unp_segment_id 1 _pdbx_sifts_xref_db.unp_instance_id 1 _pdbx_sifts_xref_db.res_type . _pdbx_sifts_xref_db.observed 1 _pdbx_sifts_xref_db.mh_id 1 _pdbx_sifts_xref_db.xref_db_name Pfam _pdbx_sifts_xref_db.xref_db_acc PF14843 _pdbx_sifts_xref_db.xref_domain_name . _pdbx_sifts_xref_db.xref_db_segment_id 1 _pdbx_sifts_xref_db.xref_db_instance_id 1 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # save_ # # save__pdbx_sifts_xref_db.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_pdbx_sifts_xref_db.entity_id' _item.category_id pdbx_sifts_xref_db _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_sifts_xref_db.entity_id' _item_linked.parent_name '_entity.id' save_ save__pdbx_sifts_xref_db.asym_id _item_description.description ; This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_pdbx_sifts_xref_db.asym_id' _item.category_id pdbx_sifts_xref_db _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_sifts_xref_db.asym_id' _item_linked.parent_name '_struct_asym.id' loop_ _item_examples.case '1' 'A' '2B3' save_ save__pdbx_sifts_xref_db.seq_id_ordinal _item_description.description ; The value of pdbx_sifts_xref_db.seq_id_ordinal identifies a distinct residue specific cross-reference record in the _pdbx_sifts_xref_db category. ; _item.name '_pdbx_sifts_xref_db.seq_id_ordinal' _item.category_id pdbx_sifts_xref_db _item.mandatory_code yes _item_type.code int save_ save__pdbx_sifts_xref_db.seq_id _item_description.description ; This data item is an effective pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_pdbx_sifts_xref_db.seq_id' _item.category_id pdbx_sifts_xref_db _item.mandatory_code yes _item_type.code int save_ save__pdbx_sifts_xref_db.mon_id _item_description.description ; This data item is an effective pointer to _entity_poly_seq.mon_id. ; _item.name '_pdbx_sifts_xref_db.mon_id' _item.category_id pdbx_sifts_xref_db _item.mandatory_code yes _item_type.code ucode save_ save__pdbx_sifts_xref_db.mon_id_one_letter_code _item_description.description ; Describes the standard polymer component of _pdbx_sifts_xref_db.mon_id as one-letter code ; _item.name '_pdbx_sifts_xref_db.mon_id_one_letter_code' _item.category_id pdbx_sifts_xref_db _item.mandatory_code yes _item_type.code ucode loop_ _item_examples.case _item_examples.detail A 'alanine' R 'arginine' N 'asparagine' D 'aspartic acid' C 'cysteine' Q 'glutamine' E 'glutamic acid' G 'glycine' H 'histidine' I 'isoleucine' L 'leucine' K 'lysine' M 'methionine' F 'phenylalanine' P 'proline' O 'pyrrolysine' U 'selenocysteine' S 'serine' T 'threonine' W 'tryptophan' Y 'tyrosine' V 'valine' X 'other' save_ save__pdbx_sifts_xref_db.unp_res _item_description.description ; Describes the residue type, in one-letter code, at the corresponding residue position of the related UniProt match ; _item.name '_pdbx_sifts_xref_db.unp_res' _item.category_id pdbx_sifts_xref_db _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case _item_examples.detail A 'alanine' R 'arginine' N 'asparagine' D 'aspartic acid' C 'cysteine' Q 'glutamine' E 'glutamic acid' G 'glycine' H 'histidine' I 'isoleucine' L 'leucine' K 'lysine' M 'methionine' F 'phenylalanine' P 'proline' U 'selenocysteine' S 'serine' T 'threonine' W 'tryptophan' Y 'tyrosine' V 'valine' X 'other' save_ save__pdbx_sifts_xref_db.unp_num _item_description.description ; The sequence position of the UniProt entry that corresponds to the residue mapping. ; _item.name '_pdbx_sifts_xref_db.unp_num' _item.category_id pdbx_sifts_xref_db _item.mandatory_code no _item_type.code int save_ save__pdbx_sifts_xref_db.unp_acc _item_description.description ; The UniProt accession code for the mapped entry ; _item.name '_pdbx_sifts_xref_db.unp_acc' _item.category_id pdbx_sifts_xref_db _item.mandatory_code no _item_type.code line save_ save__pdbx_sifts_xref_db.unp_segment_id _item_description.description ; The pdbx_sifts_xref_db UniProt segment ID refers to the distinct contiguous residue-range segments with a UniProt residue mapping. ; _item.name '_pdbx_sifts_xref_db.unp_segment_id' _item.category_id pdbx_sifts_xref_db _item.mandatory_code no _item_type.code int save_ save__pdbx_sifts_xref_db.unp_instance_id _item_description.description ; The pdbx_sifts_xref_db UniProt instance ID refers to distinct UniProt residue mappings for a given position (i.e. the same segment, residue, asym, & entity). ; _item.name '_pdbx_sifts_xref_db.unp_instance_id' _item.category_id pdbx_sifts_xref_db _item.mandatory_code no _item_type.code int save_ save__pdbx_sifts_xref_db.res_type _item_description.description ; A description of the difference between the entity sequence position residue type and that in the mapped UniProt entry. ; _item.name '_pdbx_sifts_xref_db.res_type' _item.category_id pdbx_sifts_xref_db _item.mandatory_code no _item_type.code line loop_ _item_enumeration.value _item_enumeration.detail 'engineered mutation' . 'cloning artifact' . 'variant' . 'expression tag' . 'insertion' . 'deletion' . 'chromophore' . 'linker' . 'conflict' . 'acetylation' . 'amidation' . 'initiating methionine' . 'modified residue' . 'microheterogeneity' . 'microheterogeneity/modified residue' . save_ save__pdbx_sifts_xref_db.observed _item_description.description ; Describes whether or not a reside has atomic coordinates in the corresponding model. ; _item.name '_pdbx_sifts_xref_db.observed' _item.category_id pdbx_sifts_xref_db _item.mandatory_code yes _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' save_ save__pdbx_sifts_xref_db.mh_id _item_description.description ; An index value corresponding to the instance of microheterogeneity per residue ; _item.name '_pdbx_sifts_xref_db.mh_id' _item.category_id pdbx_sifts_xref_db _item.mandatory_code no _item_type.code int save_ save__pdbx_sifts_xref_db.xref_db_name _item_description.description ; The name of additional external databases with residue level mapping. ; _item.name '_pdbx_sifts_xref_db.xref_db_name' _item.category_id pdbx_sifts_xref_db _item.mandatory_code no _item_type.code code save_ save__pdbx_sifts_xref_db.xref_db_acc _item_description.description ; The accession code related to the additional external database entry. ; _item.name '_pdbx_sifts_xref_db.xref_db_acc' _item.category_id pdbx_sifts_xref_db _item.mandatory_code no _item_type.code code save_ save__pdbx_sifts_xref_db.xref_domain_name _item_description.description ; The domain name defined by the external database. ; _item.name '_pdbx_sifts_xref_db.xref_domain_name' _item.category_id pdbx_sifts_xref_db _item.mandatory_code no _item_type.code line save_ save__pdbx_sifts_xref_db.xref_db_segment_id _item_description.description ; The pdbx_sifts_xref_db xref segment ID refers to a distinct contiguous residue-range segment for a mapping to a specific external database. ; _item.name '_pdbx_sifts_xref_db.xref_db_segment_id' _item.category_id pdbx_sifts_xref_db _item.mandatory_code no _item_type.code int save_ save__pdbx_sifts_xref_db.xref_db_instance_id _item_description.description ; The instance identifier defined by the external database. ; _item.name '_pdbx_sifts_xref_db.xref_db_instance_id' _item.category_id pdbx_sifts_xref_db _item.mandatory_code no _item_type.code int save_ ###################################### ## Category pdbx_sifts_xref_db_segments ## ###################################### save_pdbx_sifts_xref_db_segments # _category.description 'pdbx_sifts_xref_db_segments describes residue-range based cross-references to external databases.' _category.id pdbx_sifts_xref_db_segments _category.mandatory_code no # loop_ _category_key.name '_pdbx_sifts_xref_db_segments.entity_id' '_pdbx_sifts_xref_db_segments.asym_id' '_pdbx_sifts_xref_db_segments.xref_db' '_pdbx_sifts_xref_db_segments.xref_db_acc' '_pdbx_sifts_xref_db_segments.segment_id' '_pdbx_sifts_xref_db_segments.instance_id' # loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'reference_sequence_group' # loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_sifts_xref_db_segments.entity_id 1 _pdbx_sifts_xref_db_segments.asym_id A _pdbx_sifts_xref_db_segments.xref_db SCOP2B _pdbx_sifts_xref_db_segments.xref_db_acc 8102030 _pdbx_sifts_xref_db_segments.domain_name SF _pdbx_sifts_xref_db_segments.segment_id 1 _pdbx_sifts_xref_db_segments.instance_id 1 _pdbx_sifts_xref_db_segments.seq_id_start 26 _pdbx_sifts_xref_db_segments.seq_id_end 252 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # save_ # # save__pdbx_sifts_xref_db_segments.entity_id _item_description.description ; This data item is a pointer to _entity.id in the ENTITY category. ; _item.name '_pdbx_sifts_xref_db_segments.entity_id' _item.category_id pdbx_sifts_xref_db_segments _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_sifts_xref_db_segments.entity_id' _item_linked.parent_name '_entity.id' save_ save__pdbx_sifts_xref_db_segments.asym_id _item_description.description ; This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_pdbx_sifts_xref_db_segments.asym_id' _item.category_id pdbx_sifts_xref_db_segments _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_sifts_xref_db_segments.asym_id' _item_linked.parent_name '_struct_asym.id' loop_ _item_examples.case '1' 'A' '2B3' save_ save__pdbx_sifts_xref_db_segments.xref_db _item_description.description ; The name of additional external databases with range level mapping. ; _item.name '_pdbx_sifts_xref_db_segments.xref_db' _item.category_id pdbx_sifts_xref_db_segments _item.mandatory_code yes _item_type.code line save_ save__pdbx_sifts_xref_db_segments.xref_db_acc _item_description.description ; The accession code related to the external database entry. ; _item.name '_pdbx_sifts_xref_db_segments.xref_db_acc' _item.category_id pdbx_sifts_xref_db_segments _item.mandatory_code yes _item_type.code code save_ save__pdbx_sifts_xref_db_segments.domain_name _item_description.description ; The domain name defined by the external database. ; _item.name '_pdbx_sifts_xref_db_segments.domain_name' _item.category_id pdbx_sifts_xref_db_segments _item.mandatory_code no _item_type.code line save_ save__pdbx_sifts_xref_db_segments.segment_id _item_description.description ; The segment identifier defined by the external database. ; _item.name '_pdbx_sifts_xref_db_segments.segment_id' _item.category_id pdbx_sifts_xref_db_segments _item.mandatory_code yes _item_type.code int save_ save__pdbx_sifts_xref_db_segments.instance_id _item_description.description ; The instance identifier defined by the external database. ; _item.name '_pdbx_sifts_xref_db_segments.instance_id' _item.category_id pdbx_sifts_xref_db_segments _item.mandatory_code yes _item_type.code int save_ save__pdbx_sifts_xref_db_segments.seq_id_start _item_description.description ; The sequence position in the entity or biological unit described in the data block at which the segment alignment begins. This data item is a pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_pdbx_sifts_xref_db_segments.seq_id_start' _item.category_id pdbx_sifts_xref_db_segments _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_sifts_xref_db_segments.seq_id_start' _item_linked.parent_name '_entity_poly_seq.num' save_ save__pdbx_sifts_xref_db_segments.seq_id_end _item_description.description ; The sequence position in the entity or biological unit described in the data block at which the segment alignment ends. This data item is a pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_pdbx_sifts_xref_db_segments.seq_id_end' _item.category_id pdbx_sifts_xref_db_segments _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_sifts_xref_db_segments.seq_id_end' _item_linked.parent_name '_entity_poly_seq.num' save_ ###################################### ### Category pdbx_sifts_unp_segments ### ###################################### save_pdbx_sifts_unp_segments # _category.description 'pdbx_sifts_unp_segments describes residue-range based cross-references specific to UniProt.' _category.id pdbx_sifts_unp_segments _category.mandatory_code no # loop_ _category_key.name '_pdbx_sifts_unp_segments.entity_id' '_pdbx_sifts_unp_segments.asym_id' '_pdbx_sifts_unp_segments.unp_acc' '_pdbx_sifts_unp_segments.segment_id' '_pdbx_sifts_unp_segments.instance_id' # loop_ _category_group.id 'inclusive_group' 'pdbx_group' 'reference_sequence_group' # loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - ; ; _pdbx_sifts_unp_segments.entity_id 1 _pdbx_sifts_unp_segments.asym_id A _pdbx_sifts_unp_segments.unp_acc A0A5J6CYR6 _pdbx_sifts_unp_segments.segment_id 1 _pdbx_sifts_unp_segments.instance_id 1 _pdbx_sifts_unp_segments.unp_start 2 _pdbx_sifts_unp_segments.unp_end 238 _pdbx_sifts_unp_segments.seq_id_start 26 _pdbx_sifts_unp_segments.seq_id_end 260 _pdbx_sifts_unp_segments.best_mapping y _pdbx_sifts_unp_segments.identity 0.95 ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # save_ # # save__pdbx_sifts_unp_segments.entity_id _item_description.description ; This data item is a pointer to _entity_poly_seq.entity_id in the ENTITY_POLY_SEQ category. ; _item.name '_pdbx_sifts_unp_segments.entity_id' _item.category_id pdbx_sifts_unp_segments _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_sifts_unp_segments.entity_id' _item_linked.parent_name '_entity_poly_seq.entity_id' save_ save__pdbx_sifts_unp_segments.asym_id _item_description.description ; This data item is a pointer to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_pdbx_sifts_unp_segments.asym_id' _item.category_id pdbx_sifts_unp_segments _item.mandatory_code yes _item_type.code code _item_linked.child_name '_pdbx_sifts_unp_segments.asym_id' _item_linked.parent_name '_struct_asym.id' loop_ _item_examples.case '1' 'A' '2B3' save_ save__pdbx_sifts_unp_segments.unp_acc _item_description.description ; The UniProt accession code related to the SIFTS segment mapping. ; _item.name '_pdbx_sifts_unp_segments.unp_acc' _item.category_id pdbx_sifts_unp_segments _item.mandatory_code yes _item_type.code line save_ save__pdbx_sifts_unp_segments.segment_id _item_description.description ; The UniProt segment defined by the external database. ; _item.name '_pdbx_sifts_unp_segments.segment_id' _item.category_id pdbx_sifts_unp_segments _item.mandatory_code yes _item_type.code int save_ save__pdbx_sifts_unp_segments.instance_id _item_description.description ; The UniProt instance identifier. ; _item.name '_pdbx_sifts_unp_segments.instance_id' _item.category_id pdbx_sifts_unp_segments _item.mandatory_code yes _item_type.code int save_ save__pdbx_sifts_unp_segments.unp_start _item_description.description ; The sequence position in the related UniProt entry at which the mapping alignment begins. ; _item.name '_pdbx_sifts_unp_segments.unp_start' _item.category_id pdbx_sifts_unp_segments _item.mandatory_code yes _item_type.code int save_ save__pdbx_sifts_unp_segments.unp_end _item_description.description ; The sequence position in the related UniProt entry at which the mapping alignment ends. ; _item.name '_pdbx_sifts_unp_segments.unp_end' _item.category_id pdbx_sifts_unp_segments _item.mandatory_code yes _item_type.code int save_ save__pdbx_sifts_unp_segments.seq_id_start _item_description.description ; The sequence position in the entity or biological unit described in the data block at which the UniProt alignment begins. ; _item.name '_pdbx_sifts_unp_segments.seq_id_start' _item.category_id pdbx_sifts_unp_segments _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_sifts_unp_segments.seq_id_start' _item_linked.parent_name '_entity_poly_seq.num' save_ save__pdbx_sifts_unp_segments.seq_id_end _item_description.description ; The sequence position in the entity or biological unit described in the data block at which the UniProt alignment ends. This data item is a pointer to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_pdbx_sifts_unp_segments.seq_id_end' _item.category_id pdbx_sifts_unp_segments _item.mandatory_code yes _item_type.code int _item_linked.child_name '_pdbx_sifts_unp_segments.seq_id_end' _item_linked.parent_name '_entity_poly_seq.num' save_ save__pdbx_sifts_unp_segments.best_mapping _item_description.description ; This code indicates whether the SIFTS UniProt accession and residue range was the best-scoring sequence match. ; _item.name '_pdbx_sifts_unp_segments.best_mapping' _item.category_id pdbx_sifts_unp_segments _item.mandatory_code yes _item_type.code uchar1 loop_ _item_enumeration.value _item_enumeration.detail Y 'Yes' N 'No' save_ save__pdbx_sifts_unp_segments.identity _item_description.description ; The identity score reports on the sequence identity for the sequence defined by the entity start and end range compared to the sequence defined by start and end range of the related UniProt accession. ; _item.name '_pdbx_sifts_unp_segments.identity' _item.category_id pdbx_sifts_unp_segments _item.mandatory_code yes _item_type.code float loop_ _item_range.maximum _item_range.minimum 1.0 1.0 1.0 0.0 0.0 0.0 save_ ######################### ####### ATOM_SITE ####### ######################### save__atom_site.pdbx_label_index _item_description.description ; This data item is an ordinal which identifies distinct chemical components in the atom_site category, both polymeric and non-polymeric. ; _item.name '_atom_site.pdbx_label_index' _item.category_id atom_site _item.mandatory_code no _item_type.code int save_ save__atom_site.pdbx_sifts_xref_db_name _item_description.description ; The name of additional external databases with residue level mapping. ; _item.name '_atom_site.pdbx_sifts_xref_db_name' _item.category_id atom_site _item.mandatory_code no _item_type.code code save_ save__atom_site.pdbx_sifts_xref_db_acc _item_description.description ; The accession code related to the additional external database entry. ; _item.name '_atom_site.pdbx_sifts_xref_db_acc' _item.category_id atom_site _item.mandatory_code no _item_type.code code save_ save__atom_site.pdbx_sifts_xref_db_num _item_description.description ; The sequence position of the external database entry that corresponds to the residue mapping defined by the SIFTS process. ; _item.name '_atom_site.pdbx_sifts_xref_db_num' _item.category_id atom_site _item.mandatory_code no _item_type.code code save_ save__atom_site.pdbx_sifts_xref_db_res _item_description.description ; Describes the residue type of the given UniProt match ; _item.name '_atom_site.pdbx_sifts_xref_db_res' _item.category_id atom_site _item.mandatory_code no _item_type.code ucode loop_ _item_examples.case _item_examples.detail A 'alanine' R 'arginine' N 'asparagine' D 'aspartic acid' C 'cysteine' Q 'glutamine' E 'glutamic acid' G 'glycine' H 'histidine' I 'isoleucine' L 'leucine' K 'lysine' M 'methionine' F 'phenylalanine' P 'proline' U 'selenocysteine' S 'serine' T 'threonine' W 'tryptophan' Y 'tyrosine' V 'valine' O 'pyrrolysine' X 'other' save_ # loop_ _pdbx_item_linked_group.category_id _pdbx_item_linked_group.link_group_id _pdbx_item_linked_group.label _pdbx_item_linked_group.context _pdbx_item_linked_group.condition_id #atom_site 1 atom_site:atom_sites_alt:1 . . atom_site 2 atom_site:atom_sites_footnote:2 . . atom_site 3 atom_site:atom_type:3 . . atom_site 4 atom_site:chem_comp:4 . . atom_site 5 atom_site:chem_comp_atom:5 . . atom_site 6 atom_site:chemical_conn_atom:6 . . atom_site 7 atom_site:entity:7 . . atom_site 8 atom_site:entity_poly_seq:8 . . atom_site 9 atom_site:pdbx_poly_seq_scheme:9 . . atom_site 10 atom_site:pdbx_refine_tls:10 . . atom_site 11 atom_site:struct_asym:11 . . atom_site 12 atom_site:struct_ncs_dom:12 . . atom_site_anisotrop 1 atom_site_anisotrop:atom_site:1 . . atom_site_anisotrop 2 atom_site_anisotrop:atom_type:2 . . atom_sites 1 atom_sites:entry:1 . . # atom_sites_alt 1 atom_sites_alt:atom_site:1 . . # atom_sites_alt_gen 1 atom_sites_alt_gen:atom_sites_alt:1 . . atom_sites_alt_gen 2 atom_sites_alt_gen:atom_sites_alt_ens:2 . . cell 1 cell:entry:1 . . cell_measurement 1 cell_measurement:entry:1 . . chem_comp_angle 1 chem_comp_angle:chem_comp_atom:1 . . chem_comp_angle 2 chem_comp_angle:chem_comp_atom:2 . . chem_comp_angle 3 chem_comp_angle:chem_comp_atom:3 . . #chem_comp_atom 1 chem_comp_atom:atom_type:1 . . chem_comp_atom 2 chem_comp_atom:chem_comp:2 . . chem_comp_bond 1 chem_comp_bond:chem_comp_atom:1 . . chem_comp_bond 2 chem_comp_bond:chem_comp_atom:2 . . chem_comp_bond 2 chem_comp_bond:chem_comp:3 . . chem_comp_chir 1 chem_comp_chir:chem_comp:1 . . chem_comp_chir 2 chem_comp_chir:chem_comp_atom:2 . . chem_comp_chir_atom 1 chem_comp_chir_atom:chem_comp:1 . . chem_comp_chir_atom 2 chem_comp_chir_atom:chem_comp_atom:2 . . chem_comp_chir_atom 3 chem_comp_chir_atom:chem_comp_chir:3 . . chem_comp_link 1 chem_comp_link:chem_comp:1 . . chem_comp_link 2 chem_comp_link:chem_comp:2 . . chem_comp_link 3 chem_comp_link:chem_link:3 . . chem_comp_plane 1 chem_comp_plane:chem_comp:1 . . chem_comp_plane_atom 1 chem_comp_plane_atom:chem_comp:1 . . chem_comp_plane_atom 2 chem_comp_plane_atom:chem_comp_atom:2 . . chem_comp_plane_atom 3 chem_comp_plane_atom:chem_comp_plane:3 . . chem_comp_tor 1 chem_comp_tor:chem_comp_atom:1 . . chem_comp_tor 2 chem_comp_tor:chem_comp_atom:2 . . chem_comp_tor 3 chem_comp_tor:chem_comp_atom:3 . . chem_comp_tor 4 chem_comp_tor:chem_comp_atom:4 . . chem_comp_tor_value 1 chem_comp_tor_value:chem_comp_atom:1 . . chem_comp_tor_value 2 chem_comp_tor_value:chem_comp_tor:2 . . chem_link_angle 1 chem_link_angle:chem_link:1 . . chem_link_bond 1 chem_link_bond:chem_link:1 . . chem_link_chir 1 chem_link_chir:chem_link:1 . . chem_link_chir_atom 1 chem_link_chir_atom:chem_link_chir:1 . . chem_link_plane 1 chem_link_plane:chem_link:1 . . chem_link_plane_atom 1 chem_link_plane_atom:chem_link_plane:1 . . chem_link_tor 1 chem_link_tor:chem_link:1 . . chem_link_tor_value 1 chem_link_tor_value:chem_link_tor:1 . . chemical 1 chemical:entry:1 . . chemical_conn_atom 1 chemical_conn_atom:atom_type:1 . . chemical_conn_bond 1 chemical_conn_bond:chemical_conn_atom:1 . . chemical_conn_bond 2 chemical_conn_bond:chemical_conn_atom:2 . . chemical_formula 1 chemical_formula:entry:1 . . citation_author 1 citation_author:citation:1 . . citation_editor 1 citation_editor:citation:1 . . computing 1 computing:entry:1 . . database 1 database:entry:1 . . database_PDB_matrix 1 database_PDB_matrix:entry:1 . . database_PDB_rev_record 1 database_PDB_rev_record:database_PDB_rev:1 . . diffrn 1 diffrn:exptl_crystal:1 . . diffrn_detector 1 diffrn_detector:diffrn:1 . . diffrn_measurement 1 diffrn_measurement:diffrn:1 . . diffrn_orient_matrix 1 diffrn_orient_matrix:diffrn:1 . . diffrn_orient_refln 1 diffrn_orient_refln:diffrn:1 . . diffrn_radiation 1 diffrn_radiation:diffrn:1 . . diffrn_radiation 2 diffrn_radiation:diffrn_radiation_wavelength:2 . . diffrn_refln 1 diffrn_refln:diffrn:1 . . diffrn_refln 2 diffrn_refln:diffrn_attenuator:2 . . diffrn_refln 3 diffrn_refln:diffrn_radiation_wavelength:3 . . diffrn_refln 4 diffrn_refln:diffrn_scale_group:4 . . diffrn_refln 5 diffrn_refln:diffrn_standard_refln:5 . . diffrn_reflns 1 diffrn_reflns:diffrn:1 . . diffrn_source 1 diffrn_source:diffrn:1 . . diffrn_standard_refln 1 diffrn_standard_refln:diffrn:1 . . diffrn_standards 1 diffrn_standards:diffrn:1 . . # EM related em_2d_crystal_entity 1 em_2d_crystal_entity:em_image_processing:1 . . em_2d_projection_selection 1 em_2d_projection_selection:entry:1 . . em_3d_crystal_entity 1 em_3d_crystal_entity:em_image_processing:1 . . em_3d_fitting 1 em_3d_fitting:entry:1 . . em_3d_fitting_list 1 em_3d_fitting_list:em_3d_fitting:1 . . em_3d_reconstruction 1 em_3d_reconstruction:citation:1 . . em_3d_reconstruction 2 em_3d_reconstruction:entry:2 . . em_3d_reconstruction 3 em_3d_reconstruction:em_image_processing:3 . . em_admin 1 em_admin:entry:1 . . em_assembly 1 em_assembly:entry:1 . . em_buffer 1 em_buffer:em_specimen:1 . . em_buffer_component 1 em_buffer_component:em_buffer:1 . . em_crystal_formation 1 em_crystal_formation:em_specimen:1 . . em_ctf_correction 1 em_ctf_correction:em_image_processing:1 . . em_depositor_info 1 em_depositor_info:entry:1 . . em_detector 1 em_detector:entry:1 . . em_diffraction_stats 1 em_diffraction_stats:em_image_processing:1 . . em_embedding 1 em_embedding:em_specimen:1 . . em_entity_assembly_molwt 1 em_entity_assembly_molwt:em_entity_assembly:1 . . em_entity_assembly_naturalsource 1 em_entity_assembly_naturalsource:em_entity_assembly:1 . . em_entity_assembly_recombinant 1 em_entity_assembly_recombinant:em_entity_assembly:1 . . em_entity_assembly_synthetic 1 em_entity_assembly_synthetic:em_entity_assembly:1 . . em_euler_angle_assignment 1 em_euler_angle_assignment:em_image_processing:1 . . em_experiment 1 em_experiment:entry:1 . . em_fiducial_markers 1 em_fiducial_markers:em_tomography_specimen:1 . . em_figure_depositor_info 1 em_figure_depositor_info:em_experiment:1 . . em_final_classification 1 em_final_classification:em_image_processing:1 . . em_focused_ion_beam 1 em_focused_ion_beam:em_tomography_specimen:1 . . em_grid_pretreatment 1 em_grid_pretreatment:em_sample_support:1 . . em_helical_entity 1 em_helical_entity:em_image_processing:1 . . em_high_pressure_freezing 1 em_high_pressure_freezing:em_tomography_specimen:1 . . em_image_processing 1 em_image_processing:em_image_recording:1 . . em_image_recording 1 em_image_recording:em_imaging:1 . . em_image_scans 1 em_image_scans:citation:1 . . em_image_scans 2 em_image_scans:entry:2 . . em_image_scans 3 em_image_scans:em_image_recording:3 . . em_imaging 1 em_imaging:citation:1 . . em_imaging 2 em_imaging:entry:2 . . em_imaging 3 em_imaging:em_specimen:3 . . em_imaging_optics 1 em_imaging_optics:em_imaging:1 . . em_layer_lines 1 em_layer_lines:em_experiment:1 . . em_layer_lines_depositor_info 1 em_layer_lines_depositor_info:em_experiment:1 . . em_map 1 em_map:entry:1 . . em_map_depositor_info 1 em_map_depositor_info:entry:1 . . em_map_depositor_info 2 em_map_depositor_info:em_experiment:2 . . em_particle_selection 1 em_particle_selection:em_image_processing:1 . . em_sample_preparation 1 em_sample_preparation:entry:1 . . em_sample_support 1 em_sample_support:citation:1 . . em_sample_support 2 em_sample_support:em_specimen:2 . . em_shadowing 1 em_shadowing:em_specimen:1 . . em_single_particle_entity 1 em_single_particle_entity:em_3d_reconstruction:1 . . em_software 1 em_software:em_3d_fitting:1 . . em_software 2 em_software:em_image_processing:2 . . em_software 3 em_software:em_imaging:3 . . em_specimen 1 em_specimen:em_experiment:1 . . em_staining 1 em_staining:em_specimen:1 . . em_start_model 1 em_start_model:em_image_processing:1 . . em_structure_factors 1 em_structure_factors:em_experiment:1 . . em_structure_factors_depositor_info 1 em_structure_factors_depositor_info:em_experiment:1 . . em_support_film 1 em_support_film:em_sample_support:1 . . em_tomography_specimen 1 em_tomography_specimen:em_specimen:1 . . em_ultramicrotomy 1 em_ultramicrotomy:em_tomography_specimen:1 . . em_virus_entity 1 em_virus_entity:em_entity_assembly:1 . . em_virus_natural_host 1 em_virus_natural_host:em_entity_assembly:1 . . em_virus_synthetic 1 em_virus_synthetic:em_entity_assembly:1 . . em_virus_shell 1 em_virus_shell:em_entity_assembly:1 . . em_vitrification 1 em_vitrification:citation:1 . . em_vitrification 2 em_vitrification:entry:2 . . em_vitrification 3 em_vitrification:em_specimen:3 . . em_volume_selection 1 em_volume_selection:em_image_processing:1 . . # entity 1 entity:entity:1 . . entity_keywords 1 entity_keywords:entity:1 . . entity_link 1 entity_link:chem_link:1 . . entity_link 2 entity_link:entity:2 . . entity_link 3 entity_link:entity:3 . . entity_link 4 entity_link:entity_poly_seq:4 . . entity_link 5 entity_link:entity_poly_seq:5 . . entity_name_com 1 entity_name_com:entity:1 . . entity_name_sys 1 entity_name_sys:entity:1 . . entity_poly 1 entity_poly:entity:1 . . entity_poly_seq 1 entity_poly_seq:chem_comp:1 . . entity_poly_seq 2 entity_poly_seq:entity_poly:2 . . entity_src_gen 1 entity_src_gen:entity:1 . . entity_src_gen 2 entity_src_gen:pdbx_construct:2 . . entity_src_nat 1 entity_src_nat:entity:1 . . entry_link 1 entry_link:entry:1 . . exptl 1 exptl:entry:1 . . exptl_crystal_face 1 exptl_crystal_face:exptl_crystal:1 . . exptl_crystal_grow 1 exptl_crystal_grow:exptl_crystal:1 . . exptl_crystal_grow_comp 1 exptl_crystal_grow_comp:exptl_crystal:1 . . geom 1 geom:entry:1 . . geom_angle 1 geom_angle:atom_site:1 . . geom_angle 2 geom_angle:atom_site:2 . . geom_angle 3 geom_angle:atom_site:3 . . geom_bond 1 geom_bond:atom_site:1 . . geom_bond 2 geom_bond:atom_site:2 . . geom_contact 1 geom_contact:atom_site:1 . . geom_contact 2 geom_contact:atom_site:2 . . geom_hbond 1 geom_hbond:atom_site:1 . . geom_hbond 2 geom_hbond:atom_site:2 . . geom_hbond 3 geom_hbond:atom_site:3 . . geom_torsion 1 geom_torsion:atom_site:1 . . geom_torsion 2 geom_torsion:atom_site:2 . . geom_torsion 3 geom_torsion:atom_site:3 . . geom_torsion 4 geom_torsion:atom_site:4 . . journal 1 journal:entry:1 . . ndb_struct_conf_na 1 ndb_struct_conf_na:entry:1 . . ndb_struct_feature_na 1 ndb_struct_feature_na:entry:1 . . ndb_struct_na_base_pair 1 ndb_struct_na_base_pair:atom_site:1 . . ndb_struct_na_base_pair 2 ndb_struct_na_base_pair:atom_site:2 . . ndb_struct_na_base_pair_step 1 ndb_struct_na_base_pair_step:atom_site:1 . . ndb_struct_na_base_pair_step 2 ndb_struct_na_base_pair_step:atom_site:2 . . ndb_struct_na_base_pair_step 3 ndb_struct_na_base_pair_step:atom_site:3 . . ndb_struct_na_base_pair_step 4 ndb_struct_na_base_pair_step:atom_site:4 . . pdbx_atom_site_aniso_tls 1 pdbx_atom_site_aniso_tls:atom_site:1 . . pdbx_atom_site_aniso_tls 2 pdbx_atom_site_aniso_tls:atom_sites_alt:2 . . pdbx_atom_site_aniso_tls 3 pdbx_atom_site_aniso_tls:pdbx_refine_tls:3 . . pdbx_audit 1 pdbx_audit:audit:1 . . pdbx_audit 2 pdbx_audit:entry:2 . . pdbx_audit_revision_category 1 pdbx_audit_revision_category:pdbx_audit_revision_history:1 . . pdbx_audit_revision_details 1 pdbx_audit_revision_details:pdbx_audit_revision_history:1 . . pdbx_audit_revision_group 1 pdbx_audit_revision_group:pdbx_audit_revision_history:1 . . pdbx_audit_revision_item 1 pdbx_audit_revision_item:pdbx_audit_revision_history:1 . . # Carbo pdbx_branch_scheme 1 pdbx_branch_scheme:atom_site:1 . . pdbx_branch_scheme 2 pdbx_branch_scheme:entity:2 . . pdbx_branch_scheme 3 pdbx_branch_scheme:pdbx_entity_branch_list:3 . . pdbx_buffer_components 1 pdbx_buffer_components:pdbx_buffer:1 . . pdbx_chem_comp_atom_edit 1 pdbx_chem_comp_atom_edit:pdbx_chem_comp_import:1 . . pdbx_chem_comp_audit 1 pdbx_chem_comp_audit:chem_comp:1 . . pdbx_chem_comp_bond_edit 1 pdbx_chem_comp_bond_edit:pdbx_chem_comp_import:1 . . pdbx_chem_comp_descriptor 1 pdbx_chem_comp_descriptor:chem_comp:1 . . pdbx_chem_comp_feature 1 pdbx_chem_comp_feature:chem_comp:1 . . pdbx_chem_comp_identifier 1 pdbx_chem_comp_identifier:chem_comp:1 . . pdbx_chem_comp_import 1 pdbx_chem_comp_import:chem_comp:1 . . pdbx_chem_comp_model_atom 1 pdbx_chem_comp_model_atom:pdbx_chem_comp_model:1 . . pdbx_chem_comp_model_audit 1 pdbx_chem_comp_model_audit:pdbx_chem_comp_model_atom:1 . . pdbx_chem_comp_model_bond 1 pdbx_chem_comp_model_bond:pdbx_chem_comp_model_atom:1 . . pdbx_chem_comp_model_descriptor 1 pdbx_chem_comp_model_descriptor:pdbx_chem_comp_model:1 . . pdbx_chem_comp_model_feature 1 pdbx_chem_comp_model_feature:pdbx_chem_comp_model:1 . . pdbx_chem_comp_model_reference 1 pdbx_chem_comp_model_reference:pdbx_chem_comp_model:1 . . # pdbx_chem_comp_related 1 pdbx_chem_comp_related:chem_comp:1 . . pdbx_chem_comp_atom_related 1 pdbx_chem_comp_atom_related:chem_comp:1 . . pdbx_chem_comp_atom_related 2 pdbx_chem_comp_atom_related:chem_comp_atom:2 . . pdbx_chem_comp_atom_related 2 pdbx_chem_comp_atom_related:pdbx_chem_comp_related:3 . . # pdbx_construct 1 pdbx_construct:entity:1 . . pdbx_construct 2 pdbx_construct:entry:2 . . pdbx_construct 3 pdbx_construct:pdbx_robot_system:3 . . pdbx_construct_feature 1 pdbx_construct_feature:entry:1 . . pdbx_construct_feature 2 pdbx_construct_feature:pdbx_construct:2 . . pdbx_coordinate_model 1 pdbx_coordinate_model:struct_asym:1 . . pdbx_database_doi 1 pdbx_database_doi:database_2:1 . . pdbx_database_message 1 pdbx_database_message:entry:1 . . pdbx_database_proc 1 pdbx_database_proc:entry:1 . . pdbx_database_status 1 pdbx_database_status:entry:1 . . pdbx_database_status_history 1 pdbx_database_status_history:entry:1 . . pdbx_deposit_group_index 1 pdbx_deposit_group_index:pdbx_deposit_group:1 . . pdbx_diffrn_reflns_shell 1 pdbx_diffrn_reflns_shell:diffrn:1 . . pdbx_domain_range 1 pdbx_domain_range:atom_site:1 . . pdbx_domain_range 2 pdbx_domain_range:atom_site:2 . . pdbx_domain_range 3 pdbx_domain_range:pdbx_domain:3 . . #pdbx_entity_annotation 1 pdbx_entity_annotation:entity:1 . . pdbx_entity_assembly 1 pdbx_entity_assembly:entity:1 . . pdbx_entity_assembly 2 pdbx_entity_assembly:struct_biol:2 . . pdbx_entity_branch 1 pdbx_entity_branch:entity:1 . . pdbx_entity_branch_link 1 pdbx_entity_branch_link:chem_comp_atom:1 . . pdbx_entity_branch_link 2 pdbx_entity_branch_link:chem_comp_atom:2 . . pdbx_entity_branch_link 3 pdbx_entity_branch_link:pdbx_entity_branch_list:3 . . pdbx_entity_branch_list 1 pdbx_entity_branch_list:chem_comp:1 . . pdbx_entity_branch_list 2 pdbx_entity_branch_list:entity:2 . . pdbx_entity_instance_feature 1 pdbx_entity_instance_feature:atom_site:1 , , pdbx_entity_name 1 pdbx_entity_name:entity:1 . . pdbx_entity_nonpoly 1 pdbx_entity_nonpoly:chem_comp:1 . . pdbx_entity_nonpoly 2 pdbx_entity_nonpoly:entity:2 . . pdbx_entity_nonpoly 3 pdbx_entity_nonpoly:pdbx_nonpoly_scheme:3 . . pdbx_entity_prod_protocol 1 pdbx_entity_prod_protocol:entity:1 . . pdbx_entity_prod_protocol 2 pdbx_entity_prod_protocol:entry:2 . . pdbx_entity_src_gen_character 1 pdbx_entity_src_gen_character:entity:1 . . pdbx_entity_src_gen_character 2 pdbx_entity_src_gen_character:entry:2 . . pdbx_entity_src_gen_character 3 pdbx_entity_src_gen_character:pdbx_robot_system:3 . . pdbx_entity_src_gen_chrom 1 pdbx_entity_src_gen_chrom:entity:1 . . pdbx_entity_src_gen_chrom 2 pdbx_entity_src_gen_chrom:entry:2 . . pdbx_entity_src_gen_chrom 3 pdbx_entity_src_gen_chrom:pdbx_buffer:3 . . pdbx_entity_src_gen_chrom 4 pdbx_entity_src_gen_chrom:pdbx_buffer:4 . . pdbx_entity_src_gen_chrom 5 pdbx_entity_src_gen_chrom:pdbx_construct:5 . . pdbx_entity_src_gen_chrom 6 pdbx_entity_src_gen_chrom:pdbx_robot_system:6 . . pdbx_entity_src_gen_clone 1 pdbx_entity_src_gen_clone:entity:1 . . pdbx_entity_src_gen_clone 2 pdbx_entity_src_gen_clone:entry:2 . . pdbx_entity_src_gen_clone 3 pdbx_entity_src_gen_clone:pdbx_construct:3 . . pdbx_entity_src_gen_clone 4 pdbx_entity_src_gen_clone:pdbx_robot_system:4 . . pdbx_entity_src_gen_clone_ligation 1 pdbx_entity_src_gen_clone_ligation:pdbx_entity_src_gen_clone:1 . . pdbx_entity_src_gen_clone_recombination 1 pdbx_entity_src_gen_clone_recombination:pdbx_entity_src_gen_clone:1 . . pdbx_entity_src_gen_express 1 pdbx_entity_src_gen_express:entity:1 . . pdbx_entity_src_gen_express 2 pdbx_entity_src_gen_express:entry:2 . . pdbx_entity_src_gen_express 3 pdbx_entity_src_gen_express:pdbx_construct:3 . . pdbx_entity_src_gen_express 4 pdbx_entity_src_gen_express:pdbx_construct:4 . . pdbx_entity_src_gen_express 5 pdbx_entity_src_gen_express:pdbx_robot_system:5 . . pdbx_entity_src_gen_express_timepoint 1 pdbx_entity_src_gen_express_timepoint:pdbx_entity_src_gen_express:1 . . pdbx_entity_src_gen_fract 1 pdbx_entity_src_gen_fract:entity:1 . . pdbx_entity_src_gen_fract 2 pdbx_entity_src_gen_fract:entry:2 . . pdbx_entity_src_gen_fract 3 pdbx_entity_src_gen_fract:pdbx_construct:3 . . pdbx_entity_src_gen_fract 4 pdbx_entity_src_gen_fract:pdbx_robot_system:4 . . pdbx_entity_src_gen_lysis 1 pdbx_entity_src_gen_lysis:entity:1 . . pdbx_entity_src_gen_lysis 2 pdbx_entity_src_gen_lysis:entry:2 . . pdbx_entity_src_gen_lysis 3 pdbx_entity_src_gen_lysis:pdbx_buffer:3 . . pdbx_entity_src_gen_lysis 4 pdbx_entity_src_gen_lysis:pdbx_construct:4 . . pdbx_entity_src_gen_lysis 5 pdbx_entity_src_gen_lysis:pdbx_robot_system:5 . . pdbx_entity_src_gen_prod_digest 1 pdbx_entity_src_gen_prod_digest:entity:1 . . pdbx_entity_src_gen_prod_digest 2 pdbx_entity_src_gen_prod_digest:entry:2 . . pdbx_entity_src_gen_prod_digest 3 pdbx_entity_src_gen_prod_digest:pdbx_construct:3 . . pdbx_entity_src_gen_prod_digest 4 pdbx_entity_src_gen_prod_digest:pdbx_robot_system:4 . . pdbx_entity_src_gen_prod_other 1 pdbx_entity_src_gen_prod_other:entity:1 . . pdbx_entity_src_gen_prod_other 2 pdbx_entity_src_gen_prod_other:entry:2 . . pdbx_entity_src_gen_prod_other 3 pdbx_entity_src_gen_prod_other:pdbx_construct:3 . . pdbx_entity_src_gen_prod_other 4 pdbx_entity_src_gen_prod_other:pdbx_robot_system:4 . . pdbx_entity_src_gen_prod_other_parameter 1 pdbx_entity_src_gen_prod_other_parameter:pdbx_entity_src_gen_prod_other:1 . . pdbx_entity_src_gen_prod_pcr 1 pdbx_entity_src_gen_prod_pcr:entity:1 . . pdbx_entity_src_gen_prod_pcr 2 pdbx_entity_src_gen_prod_pcr:entry:2 . . pdbx_entity_src_gen_prod_pcr 3 pdbx_entity_src_gen_prod_pcr:pdbx_construct:3 . . pdbx_entity_src_gen_prod_pcr 4 pdbx_entity_src_gen_prod_pcr:pdbx_construct:4 . . pdbx_entity_src_gen_prod_pcr 5 pdbx_entity_src_gen_prod_pcr:pdbx_construct:5 . . pdbx_entity_src_gen_prod_pcr 6 pdbx_entity_src_gen_prod_pcr:pdbx_robot_system:6 . . pdbx_entity_src_gen_proteolysis 1 pdbx_entity_src_gen_proteolysis:entity:1 . . pdbx_entity_src_gen_proteolysis 2 pdbx_entity_src_gen_proteolysis:entry:2 . . pdbx_entity_src_gen_proteolysis 3 pdbx_entity_src_gen_proteolysis:pdbx_buffer:3 . . pdbx_entity_src_gen_proteolysis 4 pdbx_entity_src_gen_proteolysis:pdbx_construct:4 . . pdbx_entity_src_gen_proteolysis 5 pdbx_entity_src_gen_proteolysis:pdbx_robot_system:5 . . pdbx_entity_src_gen_pure 1 pdbx_entity_src_gen_pure:entity:1 . . pdbx_entity_src_gen_pure 2 pdbx_entity_src_gen_pure:entry:2 . . pdbx_entity_src_gen_pure 3 pdbx_entity_src_gen_pure:pdbx_buffer:3 . . pdbx_entity_src_gen_pure 4 pdbx_entity_src_gen_pure:pdbx_robot_system:4 . . pdbx_entity_src_gen_refold 1 pdbx_entity_src_gen_refold:entity:1 . . pdbx_entity_src_gen_refold 2 pdbx_entity_src_gen_refold:entry:2 . . pdbx_entity_src_gen_refold 3 pdbx_entity_src_gen_refold:pdbx_buffer:3 . . pdbx_entity_src_gen_refold 4 pdbx_entity_src_gen_refold:pdbx_buffer:4 . . pdbx_entity_src_gen_refold 5 pdbx_entity_src_gen_refold:pdbx_buffer:5 . . pdbx_entity_src_gen_refold 6 pdbx_entity_src_gen_refold:pdbx_construct:6 . . pdbx_entity_src_gen_refold 7 pdbx_entity_src_gen_refold:pdbx_robot_system:7 . . pdbx_entity_src_syn 1 pdbx_entity_src_syn:entity:1 . . pdbx_entry_details 1 pdbx_entry_details:entry:1 . . pdbx_exptl_crystal_cryo_treatment 1 pdbx_exptl_crystal_cryo_treatment:exptl_crystal:1 . . pdbx_exptl_crystal_grow_comp 1 pdbx_exptl_crystal_grow_comp:exptl_crystal:1 . . pdbx_exptl_crystal_grow_comp 2 pdbx_exptl_crystal_grow_comp:pdbx_exptl_crystal_grow_sol:2 . . pdbx_exptl_crystal_grow_sol 1 pdbx_exptl_crystal_grow_sol:exptl_crystal:1 . . pdbx_exptl_pd 1 pdbx_exptl_pd:entry:1 . . pdbx_feature_assembly 1 pdbx_feature_assembly:citation:1 . . pdbx_feature_assembly 2 pdbx_feature_assembly:software:2 . . pdbx_feature_assembly 3 pdbx_feature_assembly:struct_biol:3 . . pdbx_feature_domain 1 pdbx_feature_domain:citation:1 . . pdbx_feature_domain 2 pdbx_feature_domain:pdbx_domain:2 . . pdbx_feature_domain 3 pdbx_feature_domain:software:3 . . pdbx_feature_entry 1 pdbx_feature_entry:citation:1 . . pdbx_feature_entry 2 pdbx_feature_entry:software:2 . . pdbx_feature_monomer 1 pdbx_feature_monomer:atom_site:1 . . pdbx_feature_monomer 2 pdbx_feature_monomer:citation:2 . . pdbx_feature_monomer 3 pdbx_feature_monomer:software:3 . . pdbx_feature_sequence_range 1 pdbx_feature_sequence_range:citation:1 . . pdbx_feature_sequence_range 2 pdbx_feature_sequence_range:pdbx_sequence_range:2 . . pdbx_feature_sequence_range 3 pdbx_feature_sequence_range:software:3 . . pdbx_helical_symmetry 1 pdbx_helical_symmetry:entry:1 . . pdbx_nmr_constraints 1 pdbx_nmr_constraints:entry:1 . . pdbx_nmr_details 1 pdbx_nmr_details:entry:1 . . pdbx_nmr_ensemble 1 pdbx_nmr_ensemble:entry:1 . . pdbx_nmr_ensemble_rms 1 pdbx_nmr_ensemble_rms:entry:1 . . pdbx_nmr_force_constants 1 pdbx_nmr_force_constants:entry:1 . . pdbx_nmr_refine 1 pdbx_nmr_refine:entry:1 . . pdbx_nmr_representative 1 pdbx_nmr_representative:entry:1 . . pdbx_nonpoly_scheme 1 pdbx_nonpoly_scheme:atom_site:1 . . pdbx_nonpoly_scheme 2 pdbx_nonpoly_scheme:struct_asym:2 . . pdbx_phasing_MR 1 pdbx_phasing_MR:phasing_set:1 . . pdbx_point_symmetry 1 pdbx_point_symmetry:entry:1 . . pdbx_poly_seq_scheme 1 pdbx_poly_seq_scheme:entity_poly_seq:1 . . pdbx_poly_seq_scheme 2 pdbx_poly_seq_scheme:struct_asym:2 . . pdbx_prerelease_seq 1 pdbx_prerelease_seq:entity:1 . . pdbx_refine 1 pdbx_refine:entry:1 . . pdbx_refine 2 pdbx_refine:refine:2 . . pdbx_refine_aux_file 1 pdbx_refine_aux_file:refine:1 . . pdbx_refine_component 1 pdbx_refine_component:atom_site:1 . . pdbx_refine_tls 1 pdbx_refine_tls:refine:1 . . pdbx_refine_tls_group 1 pdbx_refine_tls_group:pdbx_refine_tls:1 . . pdbx_refine_tls_group 2 pdbx_refine_tls_group:refine:2 . . pdbx_refine_tls_group 3 pdbx_refine_tls_group:struct_asym:3 . . pdbx_refine_tls_group 4 pdbx_refine_tls_group:struct_asym:4 . . #pdbx_refine_tls_group 5 pdbx_refine_tls_group:atom_site:5 . . #pdbx_refine_tls_group 6 pdbx_refine_tls_group:atom_site:6 . . pdbx_sequence_range 1 pdbx_sequence_range:atom_site:1 . . pdbx_sequence_range 2 pdbx_sequence_range:atom_site:2 . . pdbx_serial_crystallography_data_reduction 1 pdbx_xfel_data_reduction:diffrn:1 . . pdbx_serial_crystallography_measurement 1 pdbx_xfel_measurement:diffrn:1 . . pdbx_serial_crystallography_sample_delivery 1 pdbx_xfel_sample_delivery:diffrn:1 . . pdbx_serial_crystallography_sample_delivery_injection 1 pdbx_xfel_sample_delivery_injection:diffrn:1 . . pdbx_serial_crystallography_sample_delivery_fixed_target 1 pdbx_xfel_sample_delivery_fixed_target:diffrn:1 . . pdbx_soln_scatter 1 pdbx_soln_scatter:entry:1 . . pdbx_soln_scatter_model 1 pdbx_soln_scatter_model:pdbx_soln_scatter:1 . . pdbx_struct_assembly_auth_classification 1 pdbx_struct_asssembly_auth_classification:pdbx_struct_assembly:1 . . pdbx_struct_assembly_auth_evidence 1 pdbx_struct_asssembly_auth_evidence:pdbx_struct_assembly:1 . . pdbx_struct_assembly_auth_evidence_depositor_info 1 pdbx_struct_asssembly_auth_evidence_depositor_info:pdbx_struct_assembly_depositor_info:1 . . pdbx_struct_assembly_gen 1 pdbx_struct_assembly_gen:pdbx_struct_assembly:1 . . pdbx_struct_assembly_gen_depositor_info 1 pdbx_struct_assembly_gen_depositor_info:pdbx_struct_assembly_depositor_info:1 . . pdbx_struct_asym_gen 1 pdbx_struct_asym_gen:pdbx_struct_entity_inst:1 . . pdbx_struct_asym_gen 2 pdbx_struct_asym_gen:struct_asym:2 . . pdbx_struct_chem_comp_diagnostics 1 pdbx_struct_chem_comp_diagnostics:atom_site:1 . . pdbx_struct_chem_comp_feature 1 pdbx_struct_chem_comp_feature:atom_site:1 . . pdbx_struct_conn_angle 1 pdbx_struct_conn_angle:atom_site:1 . . pdbx_struct_conn_angle 2 pdbx_struct_conn_angle:atom_site:2 . . pdbx_struct_conn_angle 3 pdbx_struct_conn_angle:atom_site:3 . . pdbx_struct_entity_inst 1 pdbx_struct_entity_inst:entity:1 . . pdbx_struct_mod_residue 1 pdbx_struct_mod_residue:atom_site:1 . . pdbx_struct_msym_gen 1 pdbx_struct_msym_gen:pdbx_struct_entity_inst:1 . . pdbx_struct_ref_seq_deletion 1 pdbx_struct_ref_seq_deletion:pdbx_poly_seq_scheme:1 . . pdbx_struct_ref_seq_feature_prop 1 pdbx_struct_ref_seq_feature_prop:pdbx_struct_ref_seq_feature:1 . . pdbx_struct_ref_seq_insertion 1 pdbx_struct_ref_seq_insertion:pdbx_poly_seq_scheme:1 . . pdbx_struct_sheet_hbond 1 pdbx_struct_sheet_hbond:atom_site:1 . . pdbx_struct_sheet_hbond 2 pdbx_struct_sheet_hbond:atom_site:2 . . pdbx_struct_sheet_hbond 3 pdbx_struct_sheet_hbond:struct_sheet:3 . . pdbx_struct_sheet_hbond 4 pdbx_struct_sheet_hbond:struct_sheet_range:4 . . pdbx_struct_sheet_hbond 5 pdbx_struct_sheet_hbond:struct_sheet_range:5 . . pdbx_unobs_or_zero_occ_atoms 1 pdbx_unobs_or_zero_occ_atoms:atom_site:1 . . pdbx_unobs_or_zero_occ_atoms 2 pdbx_unobs_or_zero_occ_atoms:chem_comp:2 . . pdbx_unobs_or_zero_occ_atoms 3 pdbx_unobs_or_zero_occ_atoms:chem_comp:3 . . pdbx_unobs_or_zero_occ_atoms 4 pdbx_unobs_or_zero_occ_atoms:struct_asym:4 . . pdbx_unobs_or_zero_occ_residues 1 pdbx_unobs_or_zero_occ_residues:atom_site:1 . . pdbx_unobs_or_zero_occ_residues 2 pdbx_unobs_or_zero_occ_residues:chem_comp:2 . . pdbx_unobs_or_zero_occ_residues 3 pdbx_unobs_or_zero_occ_residues:chem_comp:3 . . pdbx_unobs_or_zero_occ_residues 4 pdbx_unobs_or_zero_occ_residues:struct_asym:4 . . pdbx_validate_chiral 1 pdbx_validate_chiral:atom_site:1 . . pdbx_validate_close_contact 1 pdbx_validate_close_contact:atom_site:1 . . pdbx_validate_close_contact 2 pdbx_validate_close_contact:atom_site:2 . . pdbx_validate_polymer_linkage 1 pdbx_validate_polymer_linkage:atom_site:1 . . pdbx_validate_polymer_linkage 2 pdbx_validate_polymer_linkage:atom_site:2 . . pdbx_validate_main_chain_plane 1 pdbx_validate_main_chain_plane:atom_site:1 . . pdbx_validate_peptide_omega 1 pdbx_validate_peptide_omega:atom_site:1 . . pdbx_validate_peptide_omega 2 pdbx_validate_peptide_omega:atom_site:2 . . pdbx_validate_planes 1 pdbx_validate_planes:atom_site:1 . . pdbx_validate_planes_atom 1 pdbx_validate_planes_atom:atom_site:1 . . pdbx_validate_planes_atom 2 pdbx_validate_planes_atom:pdbx_validate_planes:2 . . pdbx_validate_rmsd_angle 1 pdbx_validate_rmsd_angle:atom_site:1 . . pdbx_validate_rmsd_angle 2 pdbx_validate_rmsd_angle:atom_site:2 . . pdbx_validate_rmsd_angle 3 pdbx_validate_rmsd_angle:atom_site:3 . . pdbx_validate_rmsd_bond 1 pdbx_validate_rmsd_bond:atom_site:1 . . pdbx_validate_rmsd_bond 2 pdbx_validate_rmsd_bond:atom_site:2 . . pdbx_validate_symm_contact 1 pdbx_validate_symm_contact:atom_site:1 . . pdbx_validate_symm_contact 2 pdbx_validate_symm_contact:atom_site:2 . . pdbx_validate_torsion 1 pdbx_validate_torsion:atom_site:1 . . pdbx_version 1 pdbx_version:entry:1 . . pdbx_xplor_file 1 pdbx_xplor_file:refine:1 . . phasing_MAD 1 phasing_MAD:entry:1 . . phasing_MAD_clust 1 phasing_MAD_clust:phasing_MAD_expt:1 . . phasing_MAD_ratio 1 phasing_MAD_ratio:phasing_MAD_clust:1 . . phasing_MAD_ratio 2 phasing_MAD_ratio:phasing_MAD_expt:2 . . phasing_MAD_ratio 3 phasing_MAD_ratio:phasing_MAD_set:3 . . phasing_MAD_ratio 4 phasing_MAD_ratio:phasing_MAD_set:4 . . phasing_MAD_set 1 phasing_MAD_set:phasing_MAD_clust:1 . . phasing_MAD_set 2 phasing_MAD_set:phasing_MAD_expt:2 . . phasing_MAD_set 3 phasing_MAD_set:phasing_set:3 . . phasing_MIR 1 phasing_MIR:entry:1 . . phasing_MIR_der 1 phasing_MIR_der:phasing_set:1 . . phasing_MIR_der 2 phasing_MIR_der:phasing_set:2 . . phasing_MIR_der_refln 1 phasing_MIR_der_refln:phasing_MIR_der:1 . . phasing_MIR_der_refln 2 phasing_MIR_der_refln:phasing_set:2 . . phasing_MIR_der_shell 1 phasing_MIR_der_shell:phasing_MIR_der:1 . . phasing_MIR_der_site 1 phasing_MIR_der_site:phasing_MIR_der:1 . . phasing_averaging 1 phasing_averaging:entry:1 . . phasing_isomorphous 1 phasing_isomorphous:entry:1 . . phasing_set_refln 1 phasing_set_refln:phasing_set:1 . . publ 1 publ:entry:1 . . publ_manuscript_incl 1 publ_manuscript_incl:entry:1 . . refine 1 refine:entry:1 . . refine_B_iso 1 refine_B_iso:refine:1 . . refine_analyze 1 refine_analyze:entry:1 . . refine_analyze 2 refine_analyze:refine:2 . . refine_funct_minimized 1 refine_funct_minimized:refine:1 . . refine_ls_restr 1 refine_ls_restr:refine:1 . . refine_ls_restr_ncs 1 refine_ls_restr_ncs:refine:1 . . refine_ls_restr_ncs 2 refine_ls_restr_ncs:struct_asym:2 . . refine_ls_restr_ncs 3 refine_ls_restr_ncs:struct_ncs_dom:3 . . refine_ls_restr_ncs 4 refine_ls_restr_ncs:atom_site:4 . . refine_ls_restr_type 1 refine_ls_restr_type:refine_ls_restr:1 . . refine_ls_shell 1 refine_ls_shell:refine:1 . . refine_occupancy 1 refine_occupancy:refine:1 . . # refln 1 refln:diffrn_radiation_wavelength:1 . . refln 2 refln:exptl_crystal:2 . . refln 3 refln:reflns_scale:3 . . refln 4 refln:diffrn:4 . . # reflns 1 reflns:entry:1 . . software 1 software:citation:1 . . pdbx_sifts_unp_segments 1 pdbx_sifts_unp_segments:struct_asym:1 . . pdbx_sifts_unp_segments 2 pdbx_sifts_unp_segments:entity_poly_seq:2 . . pdbx_sifts_unp_segments 3 pdbx_sifts_unp_segments:entity_poly_seq:3 . . pdbx_sifts_unp_segments 4 pdbx_sifts_unp_segments:entity_poly_seq:4 . . pdbx_sifts_xref_db 1 pdbx_sifts_xref_db:entity_poly_seq:1 . . pdbx_sifts_xref_db 2 pdbx_sifts_xref_db:struct_asym:2 . . pdbx_sifts_xref_db_segments 1 pdbx_sifts_xref_db_segments:entity_poly_seq:1 . . pdbx_sifts_xref_db_segments 2 pdbx_sifts_xref_db_segments:entity_poly_seq:2 . . pdbx_sifts_xref_db_segments 3 pdbx_sifts_xref_db_segments:entity_poly_seq:3 . . pdbx_sifts_xref_db_segments 4 pdbx_sifts_xref_db_segments:struct_asym:4 . . struct 1 struct:entry:1 . . struct_asym 1 struct_asym:entity:1 . . struct_biol 1 struct_biol:struct_biol:1 . . struct_biol_gen 1 struct_biol_gen:struct_asym:1 . . struct_biol_gen 2 struct_biol_gen:struct_biol:2 . . struct_biol_keywords 1 struct_biol_keywords:struct_biol:1 . . struct_biol_view 1 struct_biol_view:struct_biol:1 . . struct_conf 1 struct_conf:atom_site:1 . . struct_conf 2 struct_conf:atom_site:2 . . struct_conf 3 struct_conf:struct_conf_type:3 . . struct_conn 1 struct_conn:atom_site:1 . . struct_conn 2 struct_conn:atom_site:2 . . struct_conn 3 struct_conn:atom_site:3 . . struct_conn 4 struct_conn:atom_site:4 . . #Carbohydrate struct_conn 5 struct_conn:chem_comp_atom:5 . . struct_conn 6 struct_conn:chem_comp_atom:6 . . struct_keywords 1 struct_keywords:entry:1 . . struct_mon_details 1 struct_mon_details:entry:1 . . struct_mon_nucl 1 struct_mon_nucl:atom_site:1 . . struct_mon_prot 1 struct_mon_prot:atom_site:1 . . struct_mon_prot_cis 1 struct_mon_prot_cis:atom_site:1 . . struct_mon_prot_cis 2 struct_mon_prot_cis:atom_site:2 . . struct_ncs_dom 1 struct_ncs_dom:struct_ncs_ens:1 . . struct_ncs_dom_lim 1 struct_ncs_dom_lim:struct_asym:1 . . struct_ncs_dom_lim 2 struct_ncs_dom_lim:struct_asym:2 . . struct_ncs_dom_lim 3 struct_ncs_dom_lim:struct_ncs_dom:3 . . struct_ncs_ens_gen 1 struct_ncs_ens_gen:struct_ncs_dom:1 . . struct_ncs_ens_gen 2 struct_ncs_ens_gen:struct_ncs_dom:2 . . struct_ncs_ens_gen 3 struct_ncs_ens_gen:struct_ncs_ens:3 . . struct_ncs_ens_gen 4 struct_ncs_ens_gen:struct_ncs_oper:4 . . struct_ref 1 struct_ref:entity:1 . . struct_ref 2 struct_ref:struct_biol:2 . . struct_ref_seq 1 struct_ref_seq:entity_poly_seq:1 . . struct_ref_seq 2 struct_ref_seq:entity_poly_seq:2 . . struct_ref_seq 3 struct_ref_seq:pdbx_poly_seq_scheme:3 . . struct_ref_seq 4 struct_ref_seq:pdbx_poly_seq_scheme:4 . . struct_ref_seq 5 struct_ref_seq:struct_ref:5 . . #struct_ref_seq_dif 1 struct_ref_seq_dif:chem_comp:1 . . struct_ref_seq_dif 2 struct_ref_seq_dif:entity_poly_seq:2 . . struct_ref_seq_dif 3 struct_ref_seq_dif:pdbx_poly_seq_scheme:3 . . struct_ref_seq_dif 4 struct_ref_seq_dif:struct_ref_seq:4 . . struct_sheet_hbond 1 struct_sheet_hbond:atom_site:1 . . struct_sheet_hbond 2 struct_sheet_hbond:atom_site:2 . . struct_sheet_hbond 3 struct_sheet_hbond:atom_site:3 . . struct_sheet_hbond 4 struct_sheet_hbond:atom_site:4 . . struct_sheet_hbond 5 struct_sheet_hbond:struct_sheet:5 . . struct_sheet_hbond 6 struct_sheet_hbond:struct_sheet_range:6 . . struct_sheet_hbond 7 struct_sheet_hbond:struct_sheet_range:7 . . struct_sheet_order 1 struct_sheet_order:struct_sheet:1 . . struct_sheet_order 2 struct_sheet_order:struct_sheet_range:2 . . struct_sheet_order 3 struct_sheet_order:struct_sheet_range:3 . . struct_sheet_range 1 struct_sheet_range:atom_site:1 . . struct_sheet_range 2 struct_sheet_range:atom_site:2 . . struct_sheet_range 3 struct_sheet_range:struct_sheet:3 . . struct_sheet_topology 1 struct_sheet_topology:struct_sheet:1 . . struct_sheet_topology 2 struct_sheet_topology:struct_sheet_range:2 . . struct_sheet_topology 3 struct_sheet_topology:struct_sheet_range:3 . . struct_site_gen 1 struct_site_gen:atom_site:1 . . struct_site_gen 2 struct_site_gen:struct_site:2 . . struct_site_keywords 1 struct_site_keywords:struct_site:1 . . struct_site_view 1 struct_site_view:struct_site:1 . . symmetry 1 symmetry:entry:1 . . # # pdbx_remediation_atom_site_mapping 1 pdbx_remediation_atom_site_mapping:atom_site:1 . . pdbx_remediation_atom_site_mapping 2 pdbx_remediation_atom_site_mapping:atom_site:2 . . # # pdbx_chem_comp_atom_feature 1 pdbx_chem_comp_atom_feature:chem_comp_atom:1 . . # #pdbx_struct_comp_nstd_link 1 pdbx_struct_comp_nstd_link:atom_site:1 . . # pdbx_struct_group_components 1 pdbx_struct_group_components:pdbx_struct_group_list:1 . . pdbx_struct_group_components 2 pdbx_struct_group_components:atom_site:2 . . pdbx_struct_group_component_range 1 pdbx_struct_group_component_range:pdbx_struct_group_list:1 . . pdbx_struct_group_component_range 2 pdbx_struct_group_component_range:atom_site:2 . . pdbx_struct_group_component_range 3 pdbx_struct_group_component_range:atom_site:3 . . ## ## #pdbx_entity_group_components 1 pdbx_entity_group_components:pdbx_entity_group_list:1 . . #pdbx_entity_group_components 2 pdbx_entity_group_components:entity:2 . . #pdbx_entity_group_components 3 pdbx_entity_group_components:entity_poly_seq:3 . . #pdbx_entity_group_components 4 pdbx_entity_group_components:entity_poly_seq:4 . . #pdbx_entity_group_instances 1 pdbx_entity_group_instances:pdbx_struct_group_list:1 . . #pdbx_entity_group_instances 2 pdbx_entity_group_instances:pdbx_entity_group_list:1 . . ### ### ## ## RCSB/NDB items -- ## pdbx_nmr_computing 1 pdbx_nmr_computing:entry:1 . . pdbx_atlas 1 pdbx_atlas:entry:1 . . pdbx_chem_comp_nonstandard 1 pdbx_chem_comp_nonstandard:chem_comp:1 . . pdbx_coord 1 pdbx_coord:entry:1 . . pdbx_database_PDB_master 1 pdbx_database_PDB_master:entry:1 . . pdbx_entity_func_bind_mode 1 pdbx_entity_func_bind_mode:entity:1 . . pdbx_entity_func_enzyme 1 pdbx_entity_func_enzyme:pdbx_entity_func_bind_mode:1 . . pdbx_entity_func_other 1 pdbx_entity_func_other:pdbx_entity_func_bind_mode:1 . . pdbx_entity_func_regulatory 1 pdbx_entity_func_regulatory:pdbx_entity_func_bind_mode:1 . . pdbx_entity_func_structural 1 pdbx_entity_func_structural:pdbx_entity_func_bind_mode:1 . . pdbx_entity_poly_domain 1 pdbx_entity_poly_domain:entity:1 . . pdbx_entity_poly_domain 2 pdbx_entity_poly_domain:entity_poly_seq:2 . . pdbx_entity_poly_domain 3 pdbx_entity_poly_domain:entity_poly_seq:3 . . pdbx_entity_poly_na_nonstandard 1 pdbx_entity_poly_na_nonstandard:entity:1 . . pdbx_entity_poly_na_type 1 pdbx_entity_poly_na_type:entity:1 . . pdbx_entity_poly_protein_class 1 pdbx_entity_poly_protein_class:entity:1 . . pdbx_na_struct_keywds 1 pdbx_na_struct_keywds:entry:1 . . pdbx_rms_devs_cov_by_monomer 1 pdbx_rms_devs_cov_by_monomer:atom_site:1 . . pdbx_rms_devs_covalent 1 pdbx_rms_devs_covalent:entry:1 . . pdbx_sequence_pattern 1 pdbx_sequence_pattern:atom_site:1 . . pdbx_stereochemistry 1 pdbx_stereochemistry:atom_site:1 . . pdbx_stereochemistry 2 pdbx_stereochemistry:atom_site:2 . . pdbx_stereochemistry 3 pdbx_stereochemistry:atom_site:3 . . pdbx_stereochemistry 4 pdbx_stereochemistry:atom_site:4 . . pdbx_struct_biol_func 1 pdbx_struct_biol_func:struct_biol:1 . . pdbx_sugar_phosphate_geometry 1 pdbx_sugar_phosphate_geometry:atom_site:1 . . pdbx_sugar_phosphate_geometry 2 pdbx_sugar_phosphate_geometry:atom_site:2 . . pdbx_sugar_phosphate_geometry 3 pdbx_sugar_phosphate_geometry:atom_site:3 . . pdbx_summary_flags 1 pdbx_summary_flags:entry:1 . . pdbx_view_category 1 pdbx_view_category:pdbx_view_category_group:1 . . pdbx_view_item 1 pdbx_view_item:pdbx_view_category:1 . . pdbx_virtual_angle 1 pdbx_virtual_angle:atom_site:1 . . pdbx_virtual_bond 1 pdbx_virtual_bond:atom_site:1 . . pdbx_virtual_torsion 1 pdbx_virtual_torsion:atom_site:1 . . #### #### pdbx_data_processing_cell 1 pdbx_data_processing_cell:entry:1 . . pdbx_data_processing_detector 1 pdbx_data_processing_detector:entry:1 . . pdbx_data_processing_reflns 1 pdbx_data_processing_reflns:entry:1 . . pdbx_entity_name_instance 1 pdbx_entity_name_instance:pdbx_entity_name_taxonomy:1 . . pdbx_entity_name_taxonomy 1 pdbx_entity_name_taxonomy:pdbx_entity_name_taxonomy_tree:1 . . pdbx_entity_name_taxonomy_tree 1 pdbx_entity_name_taxonomy_tree:pdbx_entity_name_taxonomy_tree:1 . . pdbx_missing_atom_nonpoly 1 pdbx_missing_atom_nonpoly:atom_site:1 . . pdbx_missing_atom_poly 1 pdbx_missing_atom_poly:atom_site:1 . . pdbx_post_process_details 1 pdbx_post_process_details:entry:1 . . pdbx_post_process_status 1 pdbx_post_process_status:entry:1 . . pdbx_rmch_outlier 1 pdbx_rmch_outlier:atom_site:1 . . pdbx_struct_ncs_virus_gen 1 pdbx_struct_ncs_virus_gen:struct_asym:1 . . pdbx_struct_ncs_virus_gen 2 pdbx_struct_ncs_virus_gen:struct_ncs_oper:2 . . pdbx_val_angle 1 pdbx_val_angle:atom_site:1 . . pdbx_val_angle 2 pdbx_val_angle:atom_site:2 . . pdbx_val_angle 3 pdbx_val_angle:atom_site:3 . . # pdbx_val_bond 1 pdbx_val_bond:atom_site:1 . . pdbx_val_bond 2 pdbx_val_bond:atom_site:2 . . pdbx_val_chiral 1 pdbx_val_chiral:atom_site:1 . . pdbx_val_contact 1 pdbx_val_contact:atom_site:1 . . pdbx_val_contact 2 pdbx_val_contact:atom_site:2 . . pdbx_val_sym_contact 1 pdbx_val_sym_contact:atom_site:1 . . pdbx_val_sym_contact 2 pdbx_val_sym_contact:atom_site:2 . . ## ## ## ## ------ PRD V5 items ------- ## pdbx_prd_audit 1 pdbx_prd_audit:pdbx_reference_molecule:1 . . pdbx_family_prd_audit 1 pdbx_family_prd_audit:pdbx_reference_molecule_family:1 . . pdbx_reference_molecule_list 1 pdbx_reference_molecule_list:pdbx_reference_molecule_family:1 . . pdbx_reference_molecule_annotation 1 pdbx_reference_molecule_annotation:pdbx_reference_molecule_list:1 . . pdbx_reference_molecule_details 1 pdbx_reference_molecule_details:pdbx_reference_molecule_list:1 . . pdbx_reference_molecule_synonyms 1 pdbx_reference_molecule_synonyms:pdbx_reference_molecule_list:1 . . pdbx_reference_molecule_features 1 pdbx_reference_molecule_features:pdbx_reference_molecule_list:1 . . #pdbx_reference_molecule_features 2 pdbx_reference_molecule_features:citation:2 . . pdbx_reference_molecule_related_structures 1 pdbx_reference_molecule_related_structures:pdbx_reference_molecule_list:1 . . pdbx_reference_molecule_related_structures 2 pdbx_reference_molecule_related_structures:citation:2 . . #pdbx_reference_molecule_instances 1 pdbx_reference_molecule_instances:pdbx_reference_molecule_list:1 . . #pdbx_reference_entity_group 1 pdbx_reference_entity_group:pdbx_reference_molecule:1 . . #pdbx_reference_entity_group_components 1 pdbx_reference_entity_group_components:pdbx_reference_molecule:1 . . #pdbx_reference_entity_group_components 2 pdbx_reference_entity_group_components:pdbx_reference_entity_group:2 . . #pdbx_reference_entity_grouping 1 pdbx_reference_entity_grouping:pdbx_reference_entity:1 . . # pdbx_reference_entity_subcomponents 1 pdbx_reference_entity_subcomponents:pdbx_reference_molecule:1 . . pdbx_reference_entity_poly 1 pdbx_reference_entity_poly:pdbx_reference_entity_list:1 . . pdbx_reference_entity_poly_seq 1 pdbx_reference_entity_poly_seq:pdbx_reference_entity_list:1 . . pdbx_reference_entity_src_nat 1 pdbx_reference_entity_src_nat:pdbx_reference_entity_list:1 . . pdbx_reference_entity_sequence 1 pdbx_reference_entity_sequence:pdbx_reference_entity_list:1 . . pdbx_reference_entity_nonpoly 1 pdbx_reference_entity_nonpoly:pdbx_reference_entity_list:1 . . pdbx_reference_entity_list 1 pdbx_reference_entity_list:pdbx_reference_molecule:1 . . # pdbx_reference_entity_link 1 pdbx_reference_entity_link:pdbx_reference_entity_list:1 . . pdbx_reference_entity_link 2 pdbx_reference_entity_link:pdbx_reference_entity_list:2 . . pdbx_reference_entity_link 3 pdbx_reference_entity_link:pdbx_reference_entity_list:3 . . pdbx_reference_entity_link 4 pdbx_reference_entity_link:pdbx_reference_entity_poly_seq:4 . . pdbx_reference_entity_link 5 pdbx_reference_entity_link:pdbx_reference_entity_poly_seq:5 . . # pdbx_reference_entity_poly_link 1 pdbx_reference_entity_poly_link:pdbx_reference_entity_poly:1 . . pdbx_reference_entity_poly_link 2 pdbx_reference_entity_poly_link:pdbx_reference_entity_poly_seq:2 . . pdbx_reference_entity_poly_link 3 pdbx_reference_entity_poly_link:pdbx_reference_entity_poly_seq:3 . . pdbx_reference_entity_poly_link 4 pdbx_reference_entity_poly_link:pdbx_reference_entity_list:4 . . pdbx_molecule 1 pdbx_molecule:struct_asym:1 . . # ## pdbx_distant_solvent_atoms 1 pdbx_distant_solvent_atoms:atom_site:1 . . pdbx_distant_solvent_atoms 2 pdbx_distant_solvent_atoms:chem_comp:2 . . pdbx_distant_solvent_atoms 3 pdbx_distant_solvent_atoms:chem_comp:3 . . pdbx_distant_solvent_atoms 4 pdbx_distant_solvent_atoms:struct_asym:4 . . pdbx_chem_comp_subcomponent_struct_conn 1 pdbx_chem_comp_subcomponent_struct_conn:chem_comp_atom:1 . . pdbx_chem_comp_subcomponent_struct_conn 2 pdbx_chem_comp_subcomponent_struct_conn:chem_comp_atom:2 . . # pdbx_chem_comp_subcomponent_entity_list 1 pdbx_chem_comp_subcomponent_entity_list:chem_comp:1 . . # pdbx_chem_comp_synonyms 1 pdbx_chem_comp_synonyms:chem_comp:1 . . pdbx_struct_special_symmetry 1 pdbx_struct_special_symmetry:chem_comp:1 . . pdbx_struct_special_symmetry 2 pdbx_struct_special_symmetry:struct_asym:2 . . pdbx_struct_special_symmetry 3 pdbx_struct_special_symmetry:atom_site:3 . . # pdbx_nmr_chem_shift_experiment 1 pdbx_nmr_chem_shift_experiment:pdbx_nmr_assigned_chem_shift_list:1 . . pdbx_nmr_chem_shift_software 1 pdbx_nmr_chem_shift_software:pdbx_nmr_assigned_chem_shift_list:1 . . pdbx_nmr_spectral_dim 1 pdbx_nmr_spectral_dim:pdbx_nmr_spectral_peak_list:1 . . pdbx_nmr_spectral_peak_software 1 pdbx_nmr_spectral_peak_software:pdbx_nmr_spectral_peak_list:1 . . pdbx_nmr_systematic_chem_shift_offset 1 pdbx_nmr_systematic_chem_shift_offset:pdbx_nmr_assigned_chem_shift_list:1 . . # #pdbx_chem_comp_instance_depositor_info 1 pdbx_chem_comp_instance_depositor_info:atom_site:1 . . pdbx_entity_poly_comp_link_list 1 pdbx_entity_poly_comp_link_list:chem_comp_atom:1 . . pdbx_entity_poly_comp_link_list 2 pdbx_entity_poly_comp_link_list:chem_comp_atom:2 . . pdbx_entity_poly_comp_link_list 3 pdbx_entity_poly_comp_link_list:chem_comp_atom:3 . . pdbx_entity_poly_comp_link_list 4 pdbx_entity_poly_comp_link_list:chem_comp_atom:4 . . pdbx_entity_poly_comp_link_list 5 pdbx_entity_poly_comp_link_list:entity_poly_seq:5 . . pdbx_entity_poly_comp_link_list 6 pdbx_entity_poly_comp_link_list:entity_poly_seq:6 . . pdbx_linked_entity_instance_list 1 pdbx_linked_entity_instance_list:pdbx_linked_entity:1 . . pdbx_linked_entity_instance_list 2 pdbx_linked_entity_instance_list:struct_asym:2 . . pdbx_linked_entity_link_list 1 pdbx_linked_entity_link_list:entity_poly_seq:1 . . pdbx_linked_entity_link_list 2 pdbx_linked_entity_link_list:entity_poly_seq:2 . . pdbx_linked_entity_link_list 3 pdbx_linked_entity_link_list:pdbx_linked_entity_list:3 . . pdbx_linked_entity_link_list 4 pdbx_linked_entity_link_list:pdbx_linked_entity_list:4 . . pdbx_linked_entity_list 1 pdbx_linked_entity_list:entity:1 . . pdbx_linked_entity_list 2 pdbx_linked_entity_list:pdbx_linked_entity:2 . . pdbx_point_symmetry_depositor_info 1 pdbx_point_symmetry_depositor_info:entry:1 . . pdbx_reference_linked_entity_comp_link 1 pdbx_reference_linked_entity_comp_link:pdbx_reference_linked_entity_comp_list:1 . . pdbx_reference_linked_entity_comp_link 2 pdbx_reference_linked_entity_comp_link:pdbx_reference_linked_entity_comp_list:2 . . pdbx_reference_linked_entity_comp_list 1 pdbx_reference_linked_entity_comp_list:pdbx_reference_linked_entity:1 . . pdbx_reference_linked_entity_link 1 pdbx_reference_linked_entity_link:pdbx_reference_linked_entity_comp_list:1 . . pdbx_solvent_atom_site_mapping 1 pdbx_solvent_atom_site_mapping:atom_site:1 . . pdbx_entity_branch_descriptor 1 pdbx_entity_branch_descriptor:entity:1 . . pdbx_helical_symmetry_depositor_info 1 pdbx_helical_symmetry_depositor_info:entry:1 . . # # loop_ _pdbx_item_linked_group_list.child_category_id _pdbx_item_linked_group_list.link_group_id _pdbx_item_linked_group_list.child_name _pdbx_item_linked_group_list.parent_name _pdbx_item_linked_group_list.parent_category_id #atom_site 1 '_atom_site.label_alt_id' '_atom_sites_alt.id' atom_sites_alt atom_site 2 '_atom_site.footnote_id' '_atom_sites_footnote.id' atom_sites_footnote atom_site 3 '_atom_site.type_symbol' '_atom_type.symbol' atom_type atom_site 4 '_atom_site.label_comp_id' '_chem_comp.id' chem_comp atom_site 5 '_atom_site.label_atom_id' '_chem_comp_atom.atom_id' chem_comp_atom atom_site 6 '_atom_site.chemical_conn_number' '_chemical_conn_atom.number' chemical_conn_atom atom_site 7 '_atom_site.label_entity_id' '_entity.id' entity atom_site 8 '_atom_site.label_comp_id' '_entity_poly_seq.mon_id' entity_poly_seq atom_site 8 '_atom_site.label_entity_id' '_entity_poly_seq.entity_id' entity_poly_seq atom_site 8 '_atom_site.label_seq_id' '_entity_poly_seq.num' entity_poly_seq atom_site 9 '_atom_site.auth_asym_id' '_pdbx_poly_seq_scheme.pdb_strand_id' pdbx_poly_seq_scheme atom_site 9 '_atom_site.auth_comp_id' '_pdbx_poly_seq_scheme.pdb_mon_id' pdbx_poly_seq_scheme atom_site 9 '_atom_site.auth_seq_id' '_pdbx_poly_seq_scheme.pdb_seq_num' pdbx_poly_seq_scheme atom_site 9 '_atom_site.label_asym_id' '_pdbx_poly_seq_scheme.asym_id' pdbx_poly_seq_scheme atom_site 9 '_atom_site.label_comp_id' '_pdbx_poly_seq_scheme.mon_id' pdbx_poly_seq_scheme atom_site 9 '_atom_site.label_entity_id' '_pdbx_poly_seq_scheme.entity_id' pdbx_poly_seq_scheme atom_site 9 '_atom_site.label_seq_id' '_pdbx_poly_seq_scheme.seq_id' pdbx_poly_seq_scheme atom_site 9 '_atom_site.pdbx_PDB_ins_code' '_pdbx_poly_seq_scheme.pdb_ins_code' pdbx_poly_seq_scheme atom_site 10 '_atom_site.pdbx_tls_group_id' '_pdbx_refine_tls.id' pdbx_refine_tls atom_site 11 '_atom_site.label_asym_id' '_struct_asym.id' struct_asym atom_site 11 '_atom_site.label_entity_id' '_struct_asym.entity_id' struct_asym atom_site 12 '_atom_site.pdbx_ncs_dom_id' '_struct_ncs_dom.id' struct_ncs_dom atom_site_anisotrop 1 '_atom_site_anisotrop.id' '_atom_site.id' atom_site atom_site_anisotrop 1 '_atom_site_anisotrop.pdbx_auth_seq_id' '_atom_site.auth_seq_id' atom_site atom_site_anisotrop 1 '_atom_site_anisotrop.pdbx_auth_alt_id' '_atom_site.pdbx_auth_alt_id' atom_site atom_site_anisotrop 1 '_atom_site_anisotrop.pdbx_auth_asym_id' '_atom_site.auth_asym_id' atom_site atom_site_anisotrop 1 '_atom_site_anisotrop.pdbx_auth_atom_id' '_atom_site.auth_atom_id' atom_site atom_site_anisotrop 1 '_atom_site_anisotrop.pdbx_auth_comp_id' '_atom_site.auth_comp_id' atom_site atom_site_anisotrop 1 '_atom_site_anisotrop.pdbx_label_seq_id' '_atom_site.label_seq_id' atom_site atom_site_anisotrop 1 '_atom_site_anisotrop.pdbx_label_alt_id' '_atom_site.label_alt_id' atom_site atom_site_anisotrop 1 '_atom_site_anisotrop.pdbx_label_asym_id' '_atom_site.label_asym_id' atom_site atom_site_anisotrop 1 '_atom_site_anisotrop.pdbx_label_atom_id' '_atom_site.label_atom_id' atom_site atom_site_anisotrop 1 '_atom_site_anisotrop.pdbx_label_comp_id' '_atom_site.label_comp_id' atom_site atom_site_anisotrop 1 '_atom_site_anisotrop.pdbx_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site atom_site_anisotrop 1 '_atom_site_anisotrop.pdbx_PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site atom_site_anisotrop 2 '_atom_site_anisotrop.type_symbol' '_atom_type.symbol' atom_type atom_sites 1 '_atom_sites.entry_id' '_entry.id' entry # atom_sites_alt 1 '_atom_sites_alt.id' '_atom_site.label_alt_id' atom_site atom_sites_alt_gen 1 '_atom_sites_alt_gen.alt_id' '_atom_sites_alt.id' atom_sites_alt atom_sites_alt_gen 2 '_atom_sites_alt_gen.ens_id' '_atom_sites_alt_ens.id' atom_sites_alt_ens cell 1 '_cell.entry_id' '_entry.id' entry cell_measurement 1 '_cell_measurement.entry_id' '_entry.id' entry chem_comp_angle 1 '_chem_comp_angle.comp_id' '_chem_comp_atom.comp_id' chem_comp_atom chem_comp_angle 1 '_chem_comp_angle.atom_id_1' '_chem_comp_atom.atom_id' chem_comp_atom chem_comp_angle 2 '_chem_comp_angle.atom_id_2' '_chem_comp_atom.atom_id' chem_comp_atom chem_comp_angle 3 '_chem_comp_angle.atom_id_3' '_chem_comp_atom.atom_id' chem_comp_atom #chem_comp_atom 1 '_chem_comp_atom.type_symbol' '_atom_type.symbol' atom_type chem_comp_atom 2 '_chem_comp_atom.comp_id' '_chem_comp.id' chem_comp # chem_comp_bond 1 '_chem_comp_bond.comp_id' '_chem_comp_atom.comp_id' chem_comp_atom chem_comp_bond 1 '_chem_comp_bond.atom_id_1' '_chem_comp_atom.atom_id' chem_comp_atom chem_comp_bond 2 '_chem_comp_bond.comp_id' '_chem_comp_atom.comp_id' chem_comp_atom chem_comp_bond 2 '_chem_comp_bond.atom_id_2' '_chem_comp_atom.atom_id' chem_comp_atom chem_comp_bond 3 '_chem_comp_bond.comp_id' '_chem_comp.id' chem_comp # chem_comp_chir 1 '_chem_comp_chir.comp_id' '_chem_comp.id' chem_comp chem_comp_chir 2 '_chem_comp_chir.atom_id' '_chem_comp_atom.atom_id' chem_comp_atom chem_comp_chir_atom 1 '_chem_comp_chir_atom.comp_id' '_chem_comp.id' chem_comp chem_comp_chir_atom 2 '_chem_comp_chir_atom.atom_id' '_chem_comp_atom.atom_id' chem_comp_atom chem_comp_chir_atom 3 '_chem_comp_chir_atom.chir_id' '_chem_comp_chir.id' chem_comp_chir chem_comp_link 1 '_chem_comp_link.type_comp_1' '_chem_comp.type' chem_comp chem_comp_link 2 '_chem_comp_link.type_comp_2' '_chem_comp.type' chem_comp chem_comp_link 3 '_chem_comp_link.link_id' '_chem_link.id' chem_link chem_comp_plane 1 '_chem_comp_plane.comp_id' '_chem_comp.id' chem_comp chem_comp_plane_atom 1 '_chem_comp_plane_atom.comp_id' '_chem_comp.id' chem_comp chem_comp_plane_atom 2 '_chem_comp_plane_atom.atom_id' '_chem_comp_atom.atom_id' chem_comp_atom chem_comp_plane_atom 3 '_chem_comp_plane_atom.plane_id' '_chem_comp_plane.id' chem_comp_plane chem_comp_tor 1 '_chem_comp_tor.comp_id' '_chem_comp_atom.comp_id' chem_comp_atom chem_comp_tor 1 '_chem_comp_tor.atom_id_1' '_chem_comp_atom.atom_id' chem_comp_atom chem_comp_tor 2 '_chem_comp_tor.atom_id_2' '_chem_comp_atom.atom_id' chem_comp_atom chem_comp_tor 3 '_chem_comp_tor.atom_id_3' '_chem_comp_atom.atom_id' chem_comp_atom chem_comp_tor 4 '_chem_comp_tor.atom_id_4' '_chem_comp_atom.atom_id' chem_comp_atom chem_comp_tor_value 1 '_chem_comp_tor_value.comp_id' '_chem_comp_atom.comp_id' chem_comp_atom chem_comp_tor_value 2 '_chem_comp_tor_value.tor_id' '_chem_comp_tor.id' chem_comp_tor chem_link_angle 1 '_chem_link_angle.link_id' '_chem_link.id' chem_link chem_link_bond 1 '_chem_link_bond.link_id' '_chem_link.id' chem_link chem_link_chir 1 '_chem_link_chir.link_id' '_chem_link.id' chem_link chem_link_chir_atom 1 '_chem_link_chir_atom.chir_id' '_chem_link_chir.id' chem_link_chir chem_link_plane 1 '_chem_link_plane.link_id' '_chem_link.id' chem_link chem_link_plane_atom 1 '_chem_link_plane_atom.plane_id' '_chem_link_plane.id' chem_link_plane chem_link_tor 1 '_chem_link_tor.link_id' '_chem_link.id' chem_link chem_link_tor_value 1 '_chem_link_tor_value.tor_id' '_chem_link_tor.id' chem_link_tor chemical 1 '_chemical.entry_id' '_entry.id' entry chemical_conn_atom 1 '_chemical_conn_atom.type_symbol' '_atom_type.symbol' atom_type chemical_conn_bond 1 '_chemical_conn_bond.atom_1' '_chemical_conn_atom.number' chemical_conn_atom chemical_conn_bond 2 '_chemical_conn_bond.atom_2' '_chemical_conn_atom.number' chemical_conn_atom chemical_formula 1 '_chemical_formula.entry_id' '_entry.id' entry citation_author 1 '_citation_author.citation_id' '_citation.id' citation citation_editor 1 '_citation_editor.citation_id' '_citation.id' citation computing 1 '_computing.entry_id' '_entry.id' entry database 1 '_database.entry_id' '_entry.id' entry database_PDB_matrix 1 '_database_PDB_matrix.entry_id' '_entry.id' entry database_PDB_rev_record 1 '_database_PDB_rev_record.rev_num' '_database_PDB_rev.num' database_PDB_rev diffrn 1 '_diffrn.crystal_id' '_exptl_crystal.id' exptl_crystal diffrn_detector 1 '_diffrn_detector.diffrn_id' '_diffrn.id' diffrn diffrn_measurement 1 '_diffrn_measurement.diffrn_id' '_diffrn.id' diffrn diffrn_orient_matrix 1 '_diffrn_orient_matrix.diffrn_id' '_diffrn.id' diffrn diffrn_orient_refln 1 '_diffrn_orient_refln.diffrn_id' '_diffrn.id' diffrn diffrn_radiation 1 '_diffrn_radiation.diffrn_id' '_diffrn.id' diffrn diffrn_radiation 2 '_diffrn_radiation.wavelength_id' '_diffrn_radiation_wavelength.id' diffrn_radiation_wavelength diffrn_refln 1 '_diffrn_refln.diffrn_id' '_diffrn.id' diffrn diffrn_refln 2 '_diffrn_refln.attenuator_code' '_diffrn_attenuator.code' diffrn_attenuator diffrn_refln 3 '_diffrn_refln.wavelength_id' '_diffrn_radiation_wavelength.id' diffrn_radiation_wavelength diffrn_refln 4 '_diffrn_refln.scale_group_code' '_diffrn_scale_group.code' diffrn_scale_group diffrn_refln 5 '_diffrn_refln.standard_code' '_diffrn_standard_refln.code' diffrn_standard_refln diffrn_reflns 1 '_diffrn_reflns.diffrn_id' '_diffrn.id' diffrn diffrn_source 1 '_diffrn_source.diffrn_id' '_diffrn.id' diffrn diffrn_standard_refln 1 '_diffrn_standard_refln.diffrn_id' '_diffrn.id' diffrn diffrn_standards 1 '_diffrn_standards.diffrn_id' '_diffrn.id' diffrn # EM related em_2d_crystal_entity 1 '_em_2d_crystal_entity.image_processing_id' '_em_image_processing.id' em_image_processing em_2d_projection_selection 1 '_em_2d_projection_selection.entry_id' '_entry.id' entry em_3d_crystal_entity 1 '_em_3d_crystal_entity.image_processing_id' '_em_image_processing.id' em_image_processing em_3d_fitting 1 '_em_3d_fitting.entry_id' '_entry.id' entry em_3d_fitting_list 1 '_em_3d_fitting_list.3d_fitting_id' '_em_3d_fitting.id' em_3d_fitting em_3d_reconstruction 1 '_em_3d_reconstruction.citation_id' '_citation.id' citation em_3d_reconstruction 2 '_em_3d_reconstruction.entry_id' '_entry.id' entry em_3d_reconstruction 3 '_em_3d_reconstruction.image_processing_id' '_em_image_processing.id' em_image_processing em_admin 1 '_em_admin.entry_id' '_entry.id' entry em_assembly 1 '_em_assembly.entry_id' '_entry.id' entry em_buffer 1 '_em_buffer.specimen_id' '_em_specimen.id' em_specimen em_buffer_component 1 '_em_buffer_component.buffer_id' '_em_buffer.id' em_buffer em_crystal_formation 1 '_em_crystal_formation.specimen_id' '_em_specimen.id' em_specimen em_ctf_correction 1 '_em_ctf_correction.em_image_processing_id' '_em_image_processing.id' em_image_processing em_depositor_info 1 '_em_depositor_info.entry_id' '_entry.id' entry em_detector 1 '_em_detector.entry_id' '_entry.id' entry em_diffraction_stats 1 '_em_diffraction_stats.image_processing_id' '_em_image_processing.id' em_image_processing em_embedding 1 '_em_embedding.specimen_id' '_em_specimen.id' em_specimen em_entity_assembly_molwt 1 '_em_entity_assembly_molwt.entity_assembly_id' '_em_entity_assembly.id' em_entity_assembly em_entity_assembly_naturalsource 1 '_em_entity_assembly_naturalsource.entity_assembly_id' '_em_entity_assembly.id' em_entity_assembly em_entity_assembly_recombinant 1 '_em_entity_assembly_recombinant.entity_assembly_id' '_em_entity_assembly.id' em_entity_assembly em_entity_assembly_synthetic 1 '_em_entity_assembly_synthetic.entity_assembly_id' '_em_entity_assembly.id' em_entity_assembly em_euler_angle_assignment 1 '_em_euler_angle_assignment.image_processing_id' '_em_image_processing.id' em_image_processing em_experiment 1 '_em_experiment.entry_id' '_entry.id' entry em_fiducial_markers 1 '_em_fiducial_markers.em_tomography_specimen_id' '_em_tomography_specimen.id' em_tomography_specimen em_figure_depositor_info 1 '_em_figure_depositor_info.experiment_id' '_em_experiment.id' em_experiment em_final_classification 1 '_em_final_classification.image_processing_id' '_em_image_processing.id' em_image_processing em_focused_ion_beam 1 '_em_focused_ion_beam.em_tomography_specimen_id' '_em_tomography_specimen.id' em_tomography_specimen em_grid_pretreatment 1 '_em_grid_pretreatment.sample_support_id' '_em_sample_support.id' em_sample_support em_helical_entity 1 '_em_helical_entity.image_processing_id' '_em_image_processing.id' em_image_processing em_high_pressure_freezing 1 '_em_high_pressure_freezing.em_tomography_specimen_id' '_em_tomography_specimen.id' em_tomography_specimen em_image_processing 1 '_em_image_processing.image_recording_id' '_em_image_recording.id' em_image_recording em_image_recording 1 '_em_image_recording.imaging_id' '_em_imaging.id' em_imaging em_image_scans 1 '_em_image_scans.citation_id' '_citation.id' citation em_image_scans 2 '_em_image_scans.entry_id' '_entry.id' entry em_image_scans 3 '_em_image_scans.image_recording_id' '_em_image_recording.id' em_image_recording em_imaging 1 '_em_imaging.citation_id' '_citation.id' citation em_imaging 2 '_em_imaging.entry_id' '_entry.id' entry em_imaging 3 '_em_imaging.specimen_id' '_em_specimen.id' em_specimen em_imaging_optics 1 '_em_imaging_optics.imaging_id' '_em_imaging.id' em_imaging em_layer_lines 1 '_em_layer_lines.experiment_id' '_em_experiment.id' em_experiment em_layer_lines_depositor_info 1 '_em_layer_lines_depositor_info.experiment_id' '_em_experiment.id' em_experiment em_map 1 '_em_map.entry_id' '_entry.id' entry em_map_depositor_info 1 '_em_map_depositor_info.entry_id' '_entry.id' entry em_map_depositor_info 2 '_em_map_depositor_info.experiment_id' '_em_experiment.id' em_experiment em_particle_selection 1 '_em_particle_selection.image_processing_id' '_em_image_processing.id' em_image_processing em_sample_preparation 1 '_em_sample_preparation.entry_id' '_entry.id' entry em_sample_support 1 '_em_sample_support.citation_id' '_citation.id' citation em_sample_support 2 '_em_sample_support.specimen_id' '_em_specimen.id' em_specimen em_shadowing 1 '_em_shadowing.specimen_id' '_em_specimen.id' em_specimen em_single_particle_entity 1 '_em_single_particle_entity.image_processing_id' '_em_3d_reconstruction.id' em_3d_reconstruction em_software 1 '_em_software.fitting_id' '_em_3d_fitting.id' em_3d_fitting em_software 2 '_em_software.image_processing_id' '_em_image_processing.id' em_image_processing em_software 3 '_em_software.imaging_id' '_em_imaging.id' em_imaging em_specimen 1 '_em_specimen.experiment_id' '_em_experiment.id' em_experiment em_staining 1 '_em_staining.specimen_id' '_em_specimen.id' em_specimen em_start_model 1 '_em_start_model.image_processing_id' '_em_image_processing.id' em_image_processing em_structure_factors 1 '_em_structure_factors.experiment_id' '_em_experiment.id' em_experiment em_structure_factors_depositor_info 1 '_em_structure_factors_depositor_info.experiment_id' '_em_experiment.id' em_experiment em_support_film 1 '_em_support_film.sample_support_id' '_em_sample_support.id' em_sample_support em_tomography_specimen 1 '_em_tomography_specimen.specimen_id' '_em_specimen.id' em_specimen em_ultramicrotomy 1 '_em_ultramicrotomy.em_tomography_specimen_id' '_em_tomography_specimen.id' em_tomography_specimen em_virus_entity 1 '_em_virus_entity.entity_assembly_id' '_em_entity_assembly.id' em_entity_assembly em_virus_natural_host 1 '_em_virus_natural_host.entity_assembly_id' '_em_entity_assembly.id' em_entity_assembly em_virus_shell 1 '_em_virus_shell.entity_assembly_id' '_em_entity_assembly.id' em_entity_assembly em_virus_synthetic 1 '_em_virus_synthetic.entity_assembly_id' '_em_entity_assembly.id' em_entity_assembly em_vitrification 1 '_em_vitrification.citation_id' '_citation.id' citation em_vitrification 2 '_em_vitrification.entry_id' '_entry.id' entry em_vitrification 3 '_em_vitrification.specimen_id' '_em_specimen.id' em_specimen em_volume_selection 1 '_em_volume_selection.image_processing_id' '_em_image_processing.id' em_image_processing # entity 1 '_entity.pdbx_parent_entity_id' '_entity.id' entity entity_keywords 1 '_entity_keywords.entity_id' '_entity.id' entity entity_link 1 '_entity_link.link_id' '_chem_link.id' chem_link entity_link 2 '_entity_link.entity_id_1' '_entity.id' entity entity_link 3 '_entity_link.entity_id_2' '_entity.id' entity entity_link 4 '_entity_link.entity_seq_num_1' '_entity_poly_seq.num' entity_poly_seq entity_link 5 '_entity_link.entity_seq_num_2' '_entity_poly_seq.num' entity_poly_seq entity_name_com 1 '_entity_name_com.entity_id' '_entity.id' entity entity_name_sys 1 '_entity_name_sys.entity_id' '_entity.id' entity entity_poly 1 '_entity_poly.entity_id' '_entity.id' entity entity_poly_seq 1 '_entity_poly_seq.mon_id' '_chem_comp.id' chem_comp entity_poly_seq 2 '_entity_poly_seq.entity_id' '_entity_poly.entity_id' entity_poly entity_src_gen 1 '_entity_src_gen.entity_id' '_entity.id' entity entity_src_gen 2 '_entity_src_gen.start_construct_id' '_pdbx_construct.id' pdbx_construct entity_src_nat 1 '_entity_src_nat.entity_id' '_entity.id' entity entry_link 1 '_entry_link.entry_id' '_entry.id' entry exptl 1 '_exptl.entry_id' '_entry.id' entry exptl_crystal_face 1 '_exptl_crystal_face.crystal_id' '_exptl_crystal.id' exptl_crystal exptl_crystal_grow 1 '_exptl_crystal_grow.crystal_id' '_exptl_crystal.id' exptl_crystal exptl_crystal_grow_comp 1 '_exptl_crystal_grow_comp.crystal_id' '_exptl_crystal.id' exptl_crystal geom 1 '_geom.entry_id' '_entry.id' entry geom_angle 1 '_geom_angle.atom_site_auth_asym_id_1' '_atom_site.auth_asym_id' atom_site geom_angle 1 '_geom_angle.atom_site_auth_atom_id_1' '_atom_site.auth_atom_id' atom_site geom_angle 1 '_geom_angle.atom_site_auth_comp_id_1' '_atom_site.auth_comp_id' atom_site geom_angle 1 '_geom_angle.atom_site_auth_seq_id_1' '_atom_site.auth_seq_id' atom_site geom_angle 1 '_geom_angle.atom_site_id_1' '_atom_site.id' atom_site geom_angle 1 '_geom_angle.atom_site_label_alt_id_1' '_atom_site.label_alt_id' atom_site geom_angle 1 '_geom_angle.atom_site_label_comp_id_1' '_atom_site.label_comp_id' atom_site geom_angle 1 '_geom_angle.atom_site_label_atom_id_1' '_atom_site.label_atom_id' atom_site geom_angle 1 '_geom_angle.atom_site_label_seq_id_1' '_atom_site.label_seq_id' atom_site geom_angle 1 '_geom_angle.atom_site_label_asym_id_1' '_atom_site.label_asym_id' atom_site geom_angle 1 '_geom_angle.pdbx_atom_site_PDB_ins_code_1' '_atom_site.pdbx_PDB_ins_code' atom_site geom_angle 1 '_geom_angle.pdbx_PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site geom_angle 2 '_geom_angle.atom_site_auth_asym_id_2' '_atom_site.auth_asym_id' atom_site geom_angle 2 '_geom_angle.atom_site_auth_atom_id_2' '_atom_site.auth_atom_id' atom_site geom_angle 2 '_geom_angle.atom_site_auth_comp_id_2' '_atom_site.auth_comp_id' atom_site geom_angle 2 '_geom_angle.atom_site_auth_seq_id_2' '_atom_site.auth_seq_id' atom_site geom_angle 2 '_geom_angle.atom_site_id_2' '_atom_site.id' atom_site geom_angle 2 '_geom_angle.atom_site_label_alt_id_2' '_atom_site.label_alt_id' atom_site geom_angle 2 '_geom_angle.atom_site_label_comp_id_2' '_atom_site.label_comp_id' atom_site geom_angle 2 '_geom_angle.atom_site_label_atom_id_2' '_atom_site.label_atom_id' atom_site geom_angle 2 '_geom_angle.atom_site_label_seq_id_2' '_atom_site.label_seq_id' atom_site geom_angle 2 '_geom_angle.atom_site_label_asym_id_2' '_atom_site.label_asym_id' atom_site geom_angle 2 '_geom_angle.pdbx_atom_site_PDB_ins_code_2' '_atom_site.pdbx_PDB_ins_code' atom_site geom_angle 3 '_geom_angle.atom_site_auth_asym_id_3' '_atom_site.auth_asym_id' atom_site geom_angle 3 '_geom_angle.atom_site_auth_atom_id_3' '_atom_site.auth_atom_id' atom_site geom_angle 3 '_geom_angle.atom_site_auth_comp_id_3' '_atom_site.auth_comp_id' atom_site geom_angle 3 '_geom_angle.atom_site_auth_seq_id_3' '_atom_site.auth_seq_id' atom_site geom_angle 3 '_geom_angle.atom_site_id_3' '_atom_site.id' atom_site geom_angle 3 '_geom_angle.atom_site_label_alt_id_3' '_atom_site.label_alt_id' atom_site geom_angle 3 '_geom_angle.atom_site_label_comp_id_3' '_atom_site.label_comp_id' atom_site geom_angle 3 '_geom_angle.atom_site_label_atom_id_3' '_atom_site.label_atom_id' atom_site geom_angle 3 '_geom_angle.atom_site_label_seq_id_3' '_atom_site.label_seq_id' atom_site geom_angle 3 '_geom_angle.atom_site_label_asym_id_3' '_atom_site.label_asym_id' atom_site geom_angle 3 '_geom_angle.pdbx_atom_site_PDB_ins_code_3' '_atom_site.pdbx_PDB_ins_code' atom_site geom_bond 1 '_geom_bond.atom_site_auth_asym_id_1' '_atom_site.auth_asym_id' atom_site geom_bond 1 '_geom_bond.atom_site_auth_atom_id_1' '_atom_site.auth_atom_id' atom_site geom_bond 1 '_geom_bond.atom_site_auth_comp_id_1' '_atom_site.auth_comp_id' atom_site geom_bond 1 '_geom_bond.atom_site_auth_seq_id_1' '_atom_site.auth_seq_id' atom_site geom_bond 1 '_geom_bond.atom_site_id_1' '_atom_site.id' atom_site geom_bond 1 '_geom_bond.atom_site_label_alt_id_1' '_atom_site.label_alt_id' atom_site geom_bond 1 '_geom_bond.atom_site_label_comp_id_1' '_atom_site.label_comp_id' atom_site geom_bond 1 '_geom_bond.atom_site_label_atom_id_1' '_atom_site.label_atom_id' atom_site geom_bond 1 '_geom_bond.atom_site_label_seq_id_1' '_atom_site.label_seq_id' atom_site geom_bond 1 '_geom_bond.atom_site_label_asym_id_1' '_atom_site.label_asym_id' atom_site geom_bond 1 '_geom_bond.pdbx_atom_site_PDB_ins_code_1' '_atom_site.pdbx_PDB_ins_code' atom_site geom_bond 1 '_geom_bond.pdbx_PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site geom_bond 2 '_geom_bond.atom_site_auth_asym_id_2' '_atom_site.auth_asym_id' atom_site geom_bond 2 '_geom_bond.atom_site_auth_atom_id_2' '_atom_site.auth_atom_id' atom_site geom_bond 2 '_geom_bond.atom_site_auth_comp_id_2' '_atom_site.auth_comp_id' atom_site geom_bond 2 '_geom_bond.atom_site_auth_seq_id_2' '_atom_site.auth_seq_id' atom_site geom_bond 2 '_geom_bond.atom_site_id_2' '_atom_site.id' atom_site geom_bond 2 '_geom_bond.atom_site_label_alt_id_2' '_atom_site.label_alt_id' atom_site geom_bond 2 '_geom_bond.atom_site_label_comp_id_2' '_atom_site.label_comp_id' atom_site geom_bond 2 '_geom_bond.atom_site_label_atom_id_2' '_atom_site.label_atom_id' atom_site geom_bond 2 '_geom_bond.atom_site_label_seq_id_2' '_atom_site.label_seq_id' atom_site geom_bond 2 '_geom_bond.atom_site_label_asym_id_2' '_atom_site.label_asym_id' atom_site geom_bond 2 '_geom_bond.pdbx_atom_site_PDB_ins_code_2' '_atom_site.pdbx_PDB_ins_code' atom_site geom_contact 1 '_geom_contact.atom_site_auth_asym_id_1' '_atom_site.auth_asym_id' atom_site geom_contact 1 '_geom_contact.atom_site_auth_atom_id_1' '_atom_site.auth_atom_id' atom_site geom_contact 1 '_geom_contact.atom_site_auth_comp_id_1' '_atom_site.auth_comp_id' atom_site geom_contact 1 '_geom_contact.atom_site_auth_seq_id_1' '_atom_site.auth_seq_id' atom_site geom_contact 1 '_geom_contact.atom_site_id_1' '_atom_site.id' atom_site geom_contact 1 '_geom_contact.atom_site_label_alt_id_1' '_atom_site.label_alt_id' atom_site geom_contact 1 '_geom_contact.atom_site_label_comp_id_1' '_atom_site.label_comp_id' atom_site geom_contact 1 '_geom_contact.atom_site_label_atom_id_1' '_atom_site.label_atom_id' atom_site geom_contact 1 '_geom_contact.atom_site_label_seq_id_1' '_atom_site.label_seq_id' atom_site geom_contact 1 '_geom_contact.atom_site_label_asym_id_1' '_atom_site.label_asym_id' atom_site geom_contact 1 '_geom_contact.pdbx_atom_site_PDB_ins_code_1' '_atom_site.pdbx_PDB_ins_code' atom_site geom_contact 1 '_geom_contact.pdbx_PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site geom_contact 2 '_geom_contact.atom_site_auth_asym_id_2' '_atom_site.auth_asym_id' atom_site geom_contact 2 '_geom_contact.atom_site_auth_atom_id_2' '_atom_site.auth_atom_id' atom_site geom_contact 2 '_geom_contact.atom_site_auth_comp_id_2' '_atom_site.auth_comp_id' atom_site geom_contact 2 '_geom_contact.atom_site_auth_seq_id_2' '_atom_site.auth_seq_id' atom_site geom_contact 2 '_geom_contact.atom_site_id_2' '_atom_site.id' atom_site geom_contact 2 '_geom_contact.atom_site_label_alt_id_2' '_atom_site.label_alt_id' atom_site geom_contact 2 '_geom_contact.atom_site_label_comp_id_2' '_atom_site.label_comp_id' atom_site geom_contact 2 '_geom_contact.atom_site_label_atom_id_2' '_atom_site.label_atom_id' atom_site geom_contact 2 '_geom_contact.atom_site_label_seq_id_2' '_atom_site.label_seq_id' atom_site geom_contact 2 '_geom_contact.atom_site_label_asym_id_2' '_atom_site.label_asym_id' atom_site geom_contact 2 '_geom_contact.pdbx_atom_site_PDB_ins_code_2' '_atom_site.pdbx_PDB_ins_code' atom_site geom_hbond 1 '_geom_hbond.atom_site_auth_asym_id_A' '_atom_site.auth_asym_id' atom_site geom_hbond 1 '_geom_hbond.atom_site_auth_atom_id_A' '_atom_site.auth_atom_id' atom_site geom_hbond 1 '_geom_hbond.atom_site_auth_comp_id_A' '_atom_site.auth_comp_id' atom_site geom_hbond 1 '_geom_hbond.atom_site_auth_seq_id_A' '_atom_site.auth_seq_id' atom_site geom_hbond 1 '_geom_hbond.atom_site_id_A' '_atom_site.id' atom_site geom_hbond 1 '_geom_hbond.atom_site_label_alt_id_A' '_atom_site.label_alt_id' atom_site geom_hbond 1 '_geom_hbond.atom_site_label_comp_id_A' '_atom_site.label_comp_id' atom_site geom_hbond 1 '_geom_hbond.atom_site_label_atom_id_A' '_atom_site.label_atom_id' atom_site geom_hbond 1 '_geom_hbond.atom_site_label_seq_id_A' '_atom_site.label_seq_id' atom_site geom_hbond 1 '_geom_hbond.atom_site_label_asym_id_A' '_atom_site.label_asym_id' atom_site geom_hbond 2 '_geom_hbond.atom_site_auth_asym_id_D' '_atom_site.auth_asym_id' atom_site geom_hbond 2 '_geom_hbond.atom_site_auth_atom_id_D' '_atom_site.auth_atom_id' atom_site geom_hbond 2 '_geom_hbond.atom_site_auth_comp_id_D' '_atom_site.auth_comp_id' atom_site geom_hbond 2 '_geom_hbond.atom_site_auth_seq_id_D' '_atom_site.auth_seq_id' atom_site geom_hbond 2 '_geom_hbond.atom_site_id_D' '_atom_site.id' atom_site geom_hbond 2 '_geom_hbond.atom_site_label_alt_id_D' '_atom_site.label_alt_id' atom_site geom_hbond 2 '_geom_hbond.atom_site_label_comp_id_D' '_atom_site.label_comp_id' atom_site geom_hbond 2 '_geom_hbond.atom_site_label_atom_id_D' '_atom_site.label_atom_id' atom_site geom_hbond 2 '_geom_hbond.atom_site_label_seq_id_D' '_atom_site.label_seq_id' atom_site geom_hbond 2 '_geom_hbond.atom_site_label_asym_id_D' '_atom_site.label_asym_id' atom_site geom_hbond 3 '_geom_hbond.atom_site_auth_asym_id_H' '_atom_site.auth_asym_id' atom_site geom_hbond 3 '_geom_hbond.atom_site_auth_atom_id_H' '_atom_site.auth_atom_id' atom_site geom_hbond 3 '_geom_hbond.atom_site_auth_comp_id_H' '_atom_site.auth_comp_id' atom_site geom_hbond 3 '_geom_hbond.atom_site_auth_seq_id_H' '_atom_site.auth_seq_id' atom_site geom_hbond 3 '_geom_hbond.atom_site_id_H' '_atom_site.id' atom_site geom_hbond 3 '_geom_hbond.atom_site_label_alt_id_H' '_atom_site.label_alt_id' atom_site geom_hbond 3 '_geom_hbond.atom_site_label_comp_id_H' '_atom_site.label_comp_id' atom_site geom_hbond 3 '_geom_hbond.atom_site_label_atom_id_H' '_atom_site.label_atom_id' atom_site geom_hbond 3 '_geom_hbond.atom_site_label_seq_id_H' '_atom_site.label_seq_id' atom_site geom_hbond 3 '_geom_hbond.atom_site_label_asym_id_H' '_atom_site.label_asym_id' atom_site geom_torsion 1 '_geom_torsion.atom_site_auth_asym_id_1' '_atom_site.auth_asym_id' atom_site geom_torsion 1 '_geom_torsion.atom_site_auth_atom_id_1' '_atom_site.auth_atom_id' atom_site geom_torsion 1 '_geom_torsion.atom_site_auth_comp_id_1' '_atom_site.auth_comp_id' atom_site geom_torsion 1 '_geom_torsion.atom_site_auth_seq_id_1' '_atom_site.auth_seq_id' atom_site geom_torsion 1 '_geom_torsion.atom_site_id_1' '_atom_site.id' atom_site geom_torsion 1 '_geom_torsion.atom_site_label_alt_id_1' '_atom_site.label_alt_id' atom_site geom_torsion 1 '_geom_torsion.atom_site_label_comp_id_1' '_atom_site.label_comp_id' atom_site geom_torsion 1 '_geom_torsion.atom_site_label_atom_id_1' '_atom_site.label_atom_id' atom_site geom_torsion 1 '_geom_torsion.atom_site_label_seq_id_1' '_atom_site.label_seq_id' atom_site geom_torsion 1 '_geom_torsion.atom_site_label_asym_id_1' '_atom_site.label_asym_id' atom_site geom_torsion 1 '_geom_torsion.pdbx_atom_site_PDB_ins_code_1' '_atom_site.pdbx_PDB_ins_code' atom_site geom_torsion 1 '_geom_torsion.pdbx_PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site geom_torsion 2 '_geom_torsion.atom_site_auth_asym_id_2' '_atom_site.auth_asym_id' atom_site geom_torsion 2 '_geom_torsion.atom_site_auth_atom_id_2' '_atom_site.auth_atom_id' atom_site geom_torsion 2 '_geom_torsion.atom_site_auth_comp_id_2' '_atom_site.auth_comp_id' atom_site geom_torsion 2 '_geom_torsion.atom_site_auth_seq_id_2' '_atom_site.auth_seq_id' atom_site geom_torsion 2 '_geom_torsion.atom_site_id_2' '_atom_site.id' atom_site geom_torsion 2 '_geom_torsion.atom_site_label_alt_id_2' '_atom_site.label_alt_id' atom_site geom_torsion 2 '_geom_torsion.atom_site_label_comp_id_2' '_atom_site.label_comp_id' atom_site geom_torsion 2 '_geom_torsion.atom_site_label_atom_id_2' '_atom_site.label_atom_id' atom_site geom_torsion 2 '_geom_torsion.atom_site_label_seq_id_2' '_atom_site.label_seq_id' atom_site geom_torsion 2 '_geom_torsion.atom_site_label_asym_id_2' '_atom_site.label_asym_id' atom_site geom_torsion 2 '_geom_torsion.pdbx_atom_site_PDB_ins_code_2' '_atom_site.pdbx_PDB_ins_code' atom_site geom_torsion 3 '_geom_torsion.atom_site_auth_asym_id_3' '_atom_site.auth_asym_id' atom_site geom_torsion 3 '_geom_torsion.atom_site_auth_atom_id_3' '_atom_site.auth_atom_id' atom_site geom_torsion 3 '_geom_torsion.atom_site_auth_comp_id_3' '_atom_site.auth_comp_id' atom_site geom_torsion 3 '_geom_torsion.atom_site_auth_seq_id_3' '_atom_site.auth_seq_id' atom_site geom_torsion 3 '_geom_torsion.atom_site_id_3' '_atom_site.id' atom_site geom_torsion 3 '_geom_torsion.atom_site_label_alt_id_3' '_atom_site.label_alt_id' atom_site geom_torsion 3 '_geom_torsion.atom_site_label_comp_id_3' '_atom_site.label_comp_id' atom_site geom_torsion 3 '_geom_torsion.atom_site_label_atom_id_3' '_atom_site.label_atom_id' atom_site geom_torsion 3 '_geom_torsion.atom_site_label_seq_id_3' '_atom_site.label_seq_id' atom_site geom_torsion 3 '_geom_torsion.atom_site_label_asym_id_3' '_atom_site.label_asym_id' atom_site geom_torsion 3 '_geom_torsion.pdbx_atom_site_PDB_ins_code_3' '_atom_site.pdbx_PDB_ins_code' atom_site geom_torsion 4 '_geom_torsion.atom_site_auth_asym_id_4' '_atom_site.auth_asym_id' atom_site geom_torsion 4 '_geom_torsion.atom_site_auth_atom_id_4' '_atom_site.auth_atom_id' atom_site geom_torsion 4 '_geom_torsion.atom_site_auth_comp_id_4' '_atom_site.auth_comp_id' atom_site geom_torsion 4 '_geom_torsion.atom_site_auth_seq_id_4' '_atom_site.auth_seq_id' atom_site geom_torsion 4 '_geom_torsion.atom_site_id_4' '_atom_site.id' atom_site geom_torsion 4 '_geom_torsion.atom_site_label_alt_id_4' '_atom_site.label_alt_id' atom_site geom_torsion 4 '_geom_torsion.atom_site_label_comp_id_4' '_atom_site.label_comp_id' atom_site geom_torsion 4 '_geom_torsion.atom_site_label_atom_id_4' '_atom_site.label_atom_id' atom_site geom_torsion 4 '_geom_torsion.atom_site_label_seq_id_4' '_atom_site.label_seq_id' atom_site geom_torsion 4 '_geom_torsion.atom_site_label_asym_id_4' '_atom_site.label_asym_id' atom_site geom_torsion 4 '_geom_torsion.pdbx_atom_site_PDB_ins_code_4' '_atom_site.pdbx_PDB_ins_code' atom_site journal 1 '_journal.entry_id' '_entry.id' entry ndb_struct_conf_na 1 '_ndb_struct_conf_na.entry_id' '_entry.id' entry ndb_struct_feature_na 1 '_ndb_struct_feature_na.entry_id' '_entry.id' entry ndb_struct_na_base_pair 1 '_ndb_struct_na_base_pair.model_number' '_atom_site.pdbx_PDB_model_num' atom_site ndb_struct_na_base_pair 1 '_ndb_struct_na_base_pair.i_label_asym_id' '_atom_site.label_asym_id' atom_site ndb_struct_na_base_pair 1 '_ndb_struct_na_base_pair.i_label_comp_id' '_atom_site.label_comp_id' atom_site ndb_struct_na_base_pair 1 '_ndb_struct_na_base_pair.i_label_seq_id' '_atom_site.label_seq_id' atom_site ndb_struct_na_base_pair 1 '_ndb_struct_na_base_pair.i_auth_asym_id' '_atom_site.auth_asym_id' atom_site ndb_struct_na_base_pair 1 '_ndb_struct_na_base_pair.i_auth_seq_id' '_atom_site.auth_seq_id' atom_site ndb_struct_na_base_pair 2 '_ndb_struct_na_base_pair.j_label_asym_id' '_atom_site.label_asym_id' atom_site ndb_struct_na_base_pair 2 '_ndb_struct_na_base_pair.j_label_comp_id' '_atom_site.label_comp_id' atom_site ndb_struct_na_base_pair 2 '_ndb_struct_na_base_pair.j_label_seq_id' '_atom_site.label_seq_id' atom_site ndb_struct_na_base_pair 2 '_ndb_struct_na_base_pair.j_auth_asym_id' '_atom_site.auth_asym_id' atom_site ndb_struct_na_base_pair 2 '_ndb_struct_na_base_pair.j_auth_seq_id' '_atom_site.auth_seq_id' atom_site ndb_struct_na_base_pair_step 1 '_ndb_struct_na_base_pair_step.model_number' '_atom_site.pdbx_PDB_model_num' atom_site ndb_struct_na_base_pair_step 1 '_ndb_struct_na_base_pair_step.i_label_asym_id_1' '_atom_site.label_asym_id' atom_site ndb_struct_na_base_pair_step 1 '_ndb_struct_na_base_pair_step.i_label_comp_id_1' '_atom_site.label_comp_id' atom_site ndb_struct_na_base_pair_step 1 '_ndb_struct_na_base_pair_step.i_label_seq_id_1' '_atom_site.label_seq_id' atom_site ndb_struct_na_base_pair_step 1 '_ndb_struct_na_base_pair_step.i_auth_asym_id_1' '_atom_site.auth_asym_id' atom_site ndb_struct_na_base_pair_step 1 '_ndb_struct_na_base_pair_step.i_auth_seq_id_1' '_atom_site.auth_seq_id' atom_site ndb_struct_na_base_pair_step 2 '_ndb_struct_na_base_pair_step.j_label_asym_id_1' '_atom_site.label_asym_id' atom_site ndb_struct_na_base_pair_step 2 '_ndb_struct_na_base_pair_step.j_label_comp_id_1' '_atom_site.label_comp_id' atom_site ndb_struct_na_base_pair_step 2 '_ndb_struct_na_base_pair_step.j_label_seq_id_1' '_atom_site.label_seq_id' atom_site ndb_struct_na_base_pair_step 2 '_ndb_struct_na_base_pair_step.j_auth_asym_id_1' '_atom_site.auth_asym_id' atom_site ndb_struct_na_base_pair_step 2 '_ndb_struct_na_base_pair_step.j_auth_seq_id_1' '_atom_site.auth_seq_id' atom_site ndb_struct_na_base_pair_step 3 '_ndb_struct_na_base_pair_step.i_label_asym_id_2' '_atom_site.label_asym_id' atom_site ndb_struct_na_base_pair_step 3 '_ndb_struct_na_base_pair_step.i_label_comp_id_2' '_atom_site.label_comp_id' atom_site ndb_struct_na_base_pair_step 3 '_ndb_struct_na_base_pair_step.i_label_seq_id_2' '_atom_site.label_seq_id' atom_site ndb_struct_na_base_pair_step 3 '_ndb_struct_na_base_pair_step.i_auth_asym_id_2' '_atom_site.auth_asym_id' atom_site ndb_struct_na_base_pair_step 3 '_ndb_struct_na_base_pair_step.i_auth_seq_id_2' '_atom_site.auth_seq_id' atom_site ndb_struct_na_base_pair_step 4 '_ndb_struct_na_base_pair_step.j_label_asym_id_2' '_atom_site.label_asym_id' atom_site ndb_struct_na_base_pair_step 4 '_ndb_struct_na_base_pair_step.j_label_comp_id_2' '_atom_site.label_comp_id' atom_site ndb_struct_na_base_pair_step 4 '_ndb_struct_na_base_pair_step.j_label_seq_id_2' '_atom_site.label_seq_id' atom_site ndb_struct_na_base_pair_step 4 '_ndb_struct_na_base_pair_step.j_auth_asym_id_2' '_atom_site.auth_asym_id' atom_site ndb_struct_na_base_pair_step 4 '_ndb_struct_na_base_pair_step.j_auth_seq_id_2' '_atom_site.auth_seq_id' atom_site pdbx_atom_site_aniso_tls 1 '_pdbx_atom_site_aniso_tls.id' '_atom_site.id' atom_site pdbx_atom_site_aniso_tls 1 '_pdbx_atom_site_aniso_tls.type_symbol' '_atom_site.type_symbol' atom_site pdbx_atom_site_aniso_tls 1 '_pdbx_atom_site_aniso_tls.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_atom_site_aniso_tls 1 '_pdbx_atom_site_aniso_tls.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_atom_site_aniso_tls 1 '_pdbx_atom_site_aniso_tls.auth_atom_id' '_atom_site.auth_atom_id' atom_site pdbx_atom_site_aniso_tls 1 '_pdbx_atom_site_aniso_tls.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_atom_site_aniso_tls 1 '_pdbx_atom_site_aniso_tls.PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_atom_site_aniso_tls 1 '_pdbx_atom_site_aniso_tls.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_atom_site_aniso_tls 1 '_pdbx_atom_site_aniso_tls.label_atom_id' '_atom_site.label_atom_id' atom_site pdbx_atom_site_aniso_tls 1 '_pdbx_atom_site_aniso_tls.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_atom_site_aniso_tls 1 '_pdbx_atom_site_aniso_tls.label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_atom_site_aniso_tls 2 '_pdbx_atom_site_aniso_tls.label_alt_id' '_atom_sites_alt.id' atom_sites_alt pdbx_atom_site_aniso_tls 3 '_pdbx_atom_site_aniso_tls.tls_group_id' '_pdbx_refine_tls.id' pdbx_refine_tls pdbx_audit 1 '_pdbx_audit.current_version' '_audit.revision_id' audit pdbx_audit 2 '_pdbx_audit.entry_id' '_entry.id' entry pdbx_audit_revision_category 1 '_pdbx_audit_revision_category.data_content_type' '_pdbx_audit_revision_history.data_content_type' pdbx_audit_revision_history pdbx_audit_revision_category 1 '_pdbx_audit_revision_category.revision_ordinal' '_pdbx_audit_revision_history.ordinal' pdbx_audit_revision_history pdbx_audit_revision_details 1 '_pdbx_audit_revision_details.data_content_type' '_pdbx_audit_revision_history.data_content_type' pdbx_audit_revision_history pdbx_audit_revision_details 1 '_pdbx_audit_revision_details.revision_ordinal' '_pdbx_audit_revision_history.ordinal' pdbx_audit_revision_history pdbx_audit_revision_group 1 '_pdbx_audit_revision_group.data_content_type' '_pdbx_audit_revision_history.data_content_type' pdbx_audit_revision_history pdbx_audit_revision_group 1 '_pdbx_audit_revision_group.revision_ordinal' '_pdbx_audit_revision_history.ordinal' pdbx_audit_revision_history pdbx_audit_revision_item 1 '_pdbx_audit_revision_item.data_content_type' '_pdbx_audit_revision_history.data_content_type' pdbx_audit_revision_history pdbx_audit_revision_item 1 '_pdbx_audit_revision_item.revision_ordinal' '_pdbx_audit_revision_history.ordinal' pdbx_audit_revision_history # Carbo pdbx_branch_scheme 1 '_pdbx_branch_scheme.asym_id' '_atom_site.label_asym_id' atom_site pdbx_branch_scheme 1 '_pdbx_branch_scheme.mon_id' '_atom_site.label_comp_id' atom_site pdbx_branch_scheme 1 '_pdbx_branch_scheme.pdb_mon_id' '_atom_site.auth_comp_id' atom_site pdbx_branch_scheme 1 '_pdbx_branch_scheme.pdb_seq_num' '_atom_site.auth_seq_id' atom_site pdbx_branch_scheme 1 '_pdbx_branch_scheme.pdb_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_branch_scheme 1 '_pdbx_branch_scheme.pdb_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_branch_scheme 2 '_pdbx_branch_scheme.entity_id' '_entity.id' entity pdbx_branch_scheme 3 '_pdbx_branch_scheme.num' '_pdbx_entity_branch_list.num' pdbx_entity_branch_list # pdbx_buffer_components 1 '_pdbx_buffer_components.buffer_id' '_pdbx_buffer.id' pdbx_buffer pdbx_chem_comp_atom_edit 1 '_pdbx_chem_comp_atom_edit.comp_id' '_pdbx_chem_comp_import.comp_id' pdbx_chem_comp_import pdbx_chem_comp_audit 1 '_pdbx_chem_comp_audit.comp_id' '_chem_comp.id' chem_comp pdbx_chem_comp_bond_edit 1 '_pdbx_chem_comp_bond_edit.comp_id' '_pdbx_chem_comp_import.comp_id' pdbx_chem_comp_import pdbx_chem_comp_descriptor 1 '_pdbx_chem_comp_descriptor.comp_id' '_chem_comp.id' chem_comp pdbx_chem_comp_feature 1 '_pdbx_chem_comp_feature.comp_id' '_chem_comp.id' chem_comp pdbx_chem_comp_identifier 1 '_pdbx_chem_comp_identifier.comp_id' '_chem_comp.id' chem_comp pdbx_chem_comp_import 1 '_pdbx_chem_comp_import.comp_id' '_chem_comp.id' chem_comp pdbx_chem_comp_model_atom 1 '_pdbx_chem_comp_model_atom.model_id' '_pdbx_chem_comp_model.id' pdbx_chem_comp_model pdbx_chem_comp_model_audit 1 '_pdbx_chem_comp_model_audit.model_id' '_pdbx_chem_comp_model_atom.model_id' pdbx_chem_comp_model_atom pdbx_chem_comp_model_bond 1 '_pdbx_chem_comp_model_bond.atom_id_1' '_pdbx_chem_comp_model_atom.atom_id' pdbx_chem_comp_model_atom pdbx_chem_comp_model_bond 1 '_pdbx_chem_comp_model_bond.atom_id_2' '_pdbx_chem_comp_model_atom.atom_id' pdbx_chem_comp_model_atom pdbx_chem_comp_model_bond 1 '_pdbx_chem_comp_model_bond.model_id' '_pdbx_chem_comp_model_atom.model_id' pdbx_chem_comp_model_atom pdbx_chem_comp_model_descriptor 1 '_pdbx_chem_comp_model_descriptor.model_id' '_pdbx_chem_comp_model.id' pdbx_chem_comp_model pdbx_chem_comp_model_feature 1 '_pdbx_chem_comp_model_feature.model_id' '_pdbx_chem_comp_model.id' pdbx_chem_comp_model pdbx_chem_comp_model_reference 1 '_pdbx_chem_comp_model_reference.model_id' '_pdbx_chem_comp_model.id' pdbx_chem_comp_model # pdbx_chem_comp_related 1 '_pdbx_chem_comp_related.comp_id' '_chem_comp.id' chem_comp pdbx_chem_comp_atom_related 1 '_pdbx_chem_comp_atom_related.comp_id' '_chem_comp.id' chem_comp pdbx_chem_comp_atom_related 2 '_pdbx_chem_comp_atom_related.atom_id' '_chem_comp_atom.atom_id' chem_comp_atom pdbx_chem_comp_atom_related 3 '_pdbx_chem_comp_atom_related.related_type' '_pdbx_chem_comp_related.relationship_type' pdbx_chem_comp_related # pdbx_construct 1 '_pdbx_construct.entity_id' '_entity.id' entity pdbx_construct 2 '_pdbx_construct.entry_id' '_entry.id' entry pdbx_construct 3 '_pdbx_construct.robot_id' '_pdbx_robot_system.id' pdbx_robot_system pdbx_construct_feature 1 '_pdbx_construct_feature.entry_id' '_entry.id' entry pdbx_construct_feature 2 '_pdbx_construct_feature.construct_id' '_pdbx_construct.id' pdbx_construct pdbx_coordinate_model 1 '_pdbx_coordinate_model.asym_id' '_struct_asym.id' struct_asym pdbx_database_doi 1 '_pdbx_database_doi.db_name' '_database_2.database_id' database_2 pdbx_database_message 1 '_pdbx_database_message.entry_id' '_entry.id' entry pdbx_database_proc 1 '_pdbx_database_proc.entry_id' '_entry.id' entry pdbx_database_status 1 '_pdbx_database_status.entry_id' '_entry.id' entry pdbx_database_status_history 1 '_pdbx_database_status_history.entry_id' '_entry.id' entry pdbx_deposit_group_index 1 '_pdbx_deposit_group_index.group_id' '_pdbx_deposit_group.group_id' pdbx_deposit_group pdbx_diffrn_reflns_shell 1 '_pdbx_diffrn_reflns_shell.diffrn_id' '_diffrn.id' diffrn pdbx_domain_range 1 '_pdbx_domain_range.beg_label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_domain_range 1 '_pdbx_domain_range.beg_label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_domain_range 1 '_pdbx_domain_range.beg_label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_domain_range 1 '_pdbx_domain_range.beg_label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_domain_range 1 '_pdbx_domain_range.beg_auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_domain_range 1 '_pdbx_domain_range.beg_auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_domain_range 1 '_pdbx_domain_range.beg_auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_domain_range 2 '_pdbx_domain_range.end_label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_domain_range 2 '_pdbx_domain_range.end_label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_domain_range 2 '_pdbx_domain_range.end_label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_domain_range 2 '_pdbx_domain_range.end_label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_domain_range 2 '_pdbx_domain_range.end_auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_domain_range 2 '_pdbx_domain_range.end_auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_domain_range 2 '_pdbx_domain_range.end_auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_domain_range 3 '_pdbx_domain_range.domain_id' '_pdbx_domain.id' pdbx_domain #pdbx_entity_annotation 1 '_pdbx_entity_annotation.entity_id' '_entity.id' entity pdbx_entity_assembly 1 '_pdbx_entity_assembly.entity_id' '_entity.id' entity pdbx_entity_assembly 2 '_pdbx_entity_assembly.biol_id' '_struct_biol.id' struct_biol # Carbo pdbx_entity_branch 1 '_pdbx_entity_branch.entity_id' '_entity.id' entity # Hand crafted - keep 1 and 2 separate pdbx_entity_branch_link 1 '_pdbx_entity_branch_link.atom_id_1' '_chem_comp_atom.atom_id' chem_comp_atom pdbx_entity_branch_link 1 '_pdbx_entity_branch_link.entity_branch_list_num_1' '_pdbx_entity_branch_list.num' pdbx_entity_branch_list pdbx_entity_branch_link 1 '_pdbx_entity_branch_link.leaving_atom_id_1' '_chem_comp_atom.atom_id' chem_comp_atom pdbx_entity_branch_link 1 '_pdbx_entity_branch_link.entity_id' '_pdbx_entity_branch_list.entity_id' pdbx_entity_branch_list pdbx_entity_branch_link 2 '_pdbx_entity_branch_link.atom_id_2' '_chem_comp_atom.atom_id' chem_comp_atom pdbx_entity_branch_link 2 '_pdbx_entity_branch_link.entity_branch_list_num_2' '_pdbx_entity_branch_list.num' pdbx_entity_branch_list pdbx_entity_branch_link 2 '_pdbx_entity_branch_link.leaving_atom_id_2' '_chem_comp_atom.atom_id' chem_comp_atom pdbx_entity_branch_link 3 '_pdbx_entity_branch_link.entity_id' '_pdbx_entity_branch_list.entity_id' pdbx_entity_branch_list pdbx_entity_branch_list 1 '_pdbx_entity_branch_list.comp_id' '_chem_comp.id' chem_comp pdbx_entity_branch_list 2 '_pdbx_entity_branch_list.entity_id' '_entity.id' entity # pdbx_entity_instance_feature 1 '_pdbx_entity_instance_feature.asym_id' '_atom_site.label_asym_id' atom_site pdbx_entity_instance_feature 1 '_pdbx_entity_instance_feature.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_entity_instance_feature 1 '_pdbx_entity_instance_feature.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_entity_instance_feature 1 '_pdbx_entity_instance_feature.comp_id' '_atom_site.label_comp_id' atom_site pdbx_entity_instance_feature 1 '_pdbx_entity_instance_feature.seq_num' '_atom_site.label_seq_id' atom_site pdbx_entity_name 1 '_pdbx_entity_name.entity_id' '_entity.id' entity pdbx_entity_nonpoly 1 '_pdbx_entity_nonpoly.comp_id' '_chem_comp.id' chem_comp pdbx_entity_nonpoly 2 '_pdbx_entity_nonpoly.entity_id' '_entity.id' entity pdbx_entity_nonpoly 3 '_pdbx_entity_nonpoly.entity_id' '_pdbx_nonpoly_scheme.entity_id' pdbx_nonpoly_scheme pdbx_entity_nonpoly 3 '_pdbx_entity_nonpoly.comp_id' '_pdbx_nonpoly_scheme.mon_id' pdbx_nonpoly_scheme pdbx_entity_prod_protocol 1 '_pdbx_entity_prod_protocol.entity_id' '_entity.id' entity pdbx_entity_prod_protocol 2 '_pdbx_entity_prod_protocol.entry_id' '_entry.id' entry pdbx_entity_src_gen_character 1 '_pdbx_entity_src_gen_character.entity_id' '_entity.id' entity pdbx_entity_src_gen_character 2 '_pdbx_entity_src_gen_character.entry_id' '_entry.id' entry pdbx_entity_src_gen_character 3 '_pdbx_entity_src_gen_character.robot_id' '_pdbx_robot_system.id' pdbx_robot_system pdbx_entity_src_gen_chrom 1 '_pdbx_entity_src_gen_chrom.entity_id' '_entity.id' entity pdbx_entity_src_gen_chrom 2 '_pdbx_entity_src_gen_chrom.entry_id' '_entry.id' entry pdbx_entity_src_gen_chrom 3 '_pdbx_entity_src_gen_chrom.equilibration_buffer_id' '_pdbx_buffer.id' pdbx_buffer pdbx_entity_src_gen_chrom 4 '_pdbx_entity_src_gen_chrom.elution_buffer_id' '_pdbx_buffer.id' pdbx_buffer pdbx_entity_src_gen_chrom 5 '_pdbx_entity_src_gen_chrom.end_construct_id' '_pdbx_construct.id' pdbx_construct pdbx_entity_src_gen_chrom 6 '_pdbx_entity_src_gen_chrom.robot_id' '_pdbx_robot_system.id' pdbx_robot_system pdbx_entity_src_gen_clone 1 '_pdbx_entity_src_gen_clone.entity_id' '_entity.id' entity pdbx_entity_src_gen_clone 2 '_pdbx_entity_src_gen_clone.entry_id' '_entry.id' entry pdbx_entity_src_gen_clone 3 '_pdbx_entity_src_gen_clone.end_construct_id' '_pdbx_construct.id' pdbx_construct pdbx_entity_src_gen_clone 4 '_pdbx_entity_src_gen_clone.robot_id' '_pdbx_robot_system.id' pdbx_robot_system pdbx_entity_src_gen_clone_ligation 1 '_pdbx_entity_src_gen_clone_ligation.entry_id' '_pdbx_entity_src_gen_clone.entry_id' pdbx_entity_src_gen_clone pdbx_entity_src_gen_clone_ligation 1 '_pdbx_entity_src_gen_clone_ligation.entity_id' '_pdbx_entity_src_gen_clone.entity_id' pdbx_entity_src_gen_clone pdbx_entity_src_gen_clone_ligation 1 '_pdbx_entity_src_gen_clone_ligation.step_id' '_pdbx_entity_src_gen_clone.step_id' pdbx_entity_src_gen_clone pdbx_entity_src_gen_clone_recombination 1 '_pdbx_entity_src_gen_clone_recombination.entry_id' '_pdbx_entity_src_gen_clone.entry_id' pdbx_entity_src_gen_clone pdbx_entity_src_gen_clone_recombination 1 '_pdbx_entity_src_gen_clone_recombination.entity_id' '_pdbx_entity_src_gen_clone.entity_id' pdbx_entity_src_gen_clone pdbx_entity_src_gen_clone_recombination 1 '_pdbx_entity_src_gen_clone_recombination.step_id' '_pdbx_entity_src_gen_clone.step_id' pdbx_entity_src_gen_clone pdbx_entity_src_gen_express 1 '_pdbx_entity_src_gen_express.entity_id' '_entity.id' entity pdbx_entity_src_gen_express 2 '_pdbx_entity_src_gen_express.entry_id' '_entry.id' entry pdbx_entity_src_gen_express 3 '_pdbx_entity_src_gen_express.end_construct_id' '_pdbx_construct.id' pdbx_construct pdbx_entity_src_gen_express 4 '_pdbx_entity_src_gen_express.plasmid_id' '_pdbx_construct.id' pdbx_construct pdbx_entity_src_gen_express 5 '_pdbx_entity_src_gen_express.robot_id' '_pdbx_robot_system.id' pdbx_robot_system pdbx_entity_src_gen_express_timepoint 1 '_pdbx_entity_src_gen_express_timepoint.entry_id' '_pdbx_entity_src_gen_express.entry_id' pdbx_entity_src_gen_express pdbx_entity_src_gen_express_timepoint 1 '_pdbx_entity_src_gen_express_timepoint.entity_id' '_pdbx_entity_src_gen_express.entity_id' pdbx_entity_src_gen_express pdbx_entity_src_gen_express_timepoint 1 '_pdbx_entity_src_gen_express_timepoint.step_id' '_pdbx_entity_src_gen_express.step_id' pdbx_entity_src_gen_express pdbx_entity_src_gen_fract 1 '_pdbx_entity_src_gen_fract.entity_id' '_entity.id' entity pdbx_entity_src_gen_fract 2 '_pdbx_entity_src_gen_fract.entry_id' '_entry.id' entry pdbx_entity_src_gen_fract 3 '_pdbx_entity_src_gen_fract.end_construct_id' '_pdbx_construct.id' pdbx_construct pdbx_entity_src_gen_fract 4 '_pdbx_entity_src_gen_fract.robot_id' '_pdbx_robot_system.id' pdbx_robot_system pdbx_entity_src_gen_lysis 1 '_pdbx_entity_src_gen_lysis.entity_id' '_entity.id' entity pdbx_entity_src_gen_lysis 2 '_pdbx_entity_src_gen_lysis.entry_id' '_entry.id' entry pdbx_entity_src_gen_lysis 3 '_pdbx_entity_src_gen_lysis.buffer_id' '_pdbx_buffer.id' pdbx_buffer pdbx_entity_src_gen_lysis 4 '_pdbx_entity_src_gen_lysis.end_construct_id' '_pdbx_construct.id' pdbx_construct pdbx_entity_src_gen_lysis 5 '_pdbx_entity_src_gen_lysis.robot_id' '_pdbx_robot_system.id' pdbx_robot_system pdbx_entity_src_gen_prod_digest 1 '_pdbx_entity_src_gen_prod_digest.entity_id' '_entity.id' entity pdbx_entity_src_gen_prod_digest 2 '_pdbx_entity_src_gen_prod_digest.entry_id' '_entry.id' entry pdbx_entity_src_gen_prod_digest 3 '_pdbx_entity_src_gen_prod_digest.end_construct_id' '_pdbx_construct.id' pdbx_construct pdbx_entity_src_gen_prod_digest 4 '_pdbx_entity_src_gen_prod_digest.robot_id' '_pdbx_robot_system.id' pdbx_robot_system pdbx_entity_src_gen_prod_other 1 '_pdbx_entity_src_gen_prod_other.entity_id' '_entity.id' entity pdbx_entity_src_gen_prod_other 2 '_pdbx_entity_src_gen_prod_other.entry_id' '_entry.id' entry pdbx_entity_src_gen_prod_other 3 '_pdbx_entity_src_gen_prod_other.end_construct_id' '_pdbx_construct.id' pdbx_construct pdbx_entity_src_gen_prod_other 4 '_pdbx_entity_src_gen_prod_other.robot_id' '_pdbx_robot_system.id' pdbx_robot_system pdbx_entity_src_gen_prod_other_parameter 1 '_pdbx_entity_src_gen_prod_other_parameter.entry_id' '_pdbx_entity_src_gen_prod_other.entry_id' pdbx_entity_src_gen_prod_other pdbx_entity_src_gen_prod_other_parameter 1 '_pdbx_entity_src_gen_prod_other_parameter.entity_id' '_pdbx_entity_src_gen_prod_other.entity_id' pdbx_entity_src_gen_prod_other pdbx_entity_src_gen_prod_other_parameter 1 '_pdbx_entity_src_gen_prod_other_parameter.step_id' '_pdbx_entity_src_gen_prod_other.step_id' pdbx_entity_src_gen_prod_other pdbx_entity_src_gen_prod_pcr 1 '_pdbx_entity_src_gen_prod_pcr.entity_id' '_entity.id' entity pdbx_entity_src_gen_prod_pcr 2 '_pdbx_entity_src_gen_prod_pcr.entry_id' '_entry.id' entry pdbx_entity_src_gen_prod_pcr 3 '_pdbx_entity_src_gen_prod_pcr.end_construct_id' '_pdbx_construct.id' pdbx_construct pdbx_entity_src_gen_prod_pcr 4 '_pdbx_entity_src_gen_prod_pcr.forward_primer_id' '_pdbx_construct.id' pdbx_construct pdbx_entity_src_gen_prod_pcr 5 '_pdbx_entity_src_gen_prod_pcr.reverse_primer_id' '_pdbx_construct.id' pdbx_construct pdbx_entity_src_gen_prod_pcr 6 '_pdbx_entity_src_gen_prod_pcr.robot_id' '_pdbx_robot_system.id' pdbx_robot_system pdbx_entity_src_gen_proteolysis 1 '_pdbx_entity_src_gen_proteolysis.entity_id' '_entity.id' entity pdbx_entity_src_gen_proteolysis 2 '_pdbx_entity_src_gen_proteolysis.entry_id' '_entry.id' entry pdbx_entity_src_gen_proteolysis 3 '_pdbx_entity_src_gen_proteolysis.cleavage_buffer_id' '_pdbx_buffer.id' pdbx_buffer pdbx_entity_src_gen_proteolysis 4 '_pdbx_entity_src_gen_proteolysis.end_construct_id' '_pdbx_construct.id' pdbx_construct pdbx_entity_src_gen_proteolysis 5 '_pdbx_entity_src_gen_proteolysis.robot_id' '_pdbx_robot_system.id' pdbx_robot_system pdbx_entity_src_gen_pure 1 '_pdbx_entity_src_gen_pure.entity_id' '_entity.id' entity pdbx_entity_src_gen_pure 2 '_pdbx_entity_src_gen_pure.entry_id' '_entry.id' entry pdbx_entity_src_gen_pure 3 '_pdbx_entity_src_gen_pure.storage_buffer_id' '_pdbx_buffer.id' pdbx_buffer pdbx_entity_src_gen_pure 4 '_pdbx_entity_src_gen_pure.conc_device_id' '_pdbx_robot_system.id' pdbx_robot_system pdbx_entity_src_gen_refold 1 '_pdbx_entity_src_gen_refold.entity_id' '_entity.id' entity pdbx_entity_src_gen_refold 2 '_pdbx_entity_src_gen_refold.entry_id' '_entry.id' entry pdbx_entity_src_gen_refold 3 '_pdbx_entity_src_gen_refold.denature_buffer_id' '_pdbx_buffer.id' pdbx_buffer pdbx_entity_src_gen_refold 4 '_pdbx_entity_src_gen_refold.refold_buffer_id' '_pdbx_buffer.id' pdbx_buffer pdbx_entity_src_gen_refold 5 '_pdbx_entity_src_gen_refold.storage_buffer_id' '_pdbx_buffer.id' pdbx_buffer pdbx_entity_src_gen_refold 6 '_pdbx_entity_src_gen_refold.end_construct_id' '_pdbx_construct.id' pdbx_construct pdbx_entity_src_gen_refold 7 '_pdbx_entity_src_gen_refold.robot_id' '_pdbx_robot_system.id' pdbx_robot_system pdbx_entity_src_syn 1 '_pdbx_entity_src_syn.entity_id' '_entity.id' entity pdbx_entry_details 1 '_pdbx_entry_details.entry_id' '_entry.id' entry pdbx_exptl_crystal_cryo_treatment 1 '_pdbx_exptl_crystal_cryo_treatment.crystal_id' '_exptl_crystal.id' exptl_crystal pdbx_exptl_crystal_grow_comp 1 '_pdbx_exptl_crystal_grow_comp.crystal_id' '_exptl_crystal.id' exptl_crystal pdbx_exptl_crystal_grow_comp 2 '_pdbx_exptl_crystal_grow_comp.sol_id' '_pdbx_exptl_crystal_grow_sol.sol_id' pdbx_exptl_crystal_grow_sol pdbx_exptl_crystal_grow_sol 1 '_pdbx_exptl_crystal_grow_sol.crystal_id' '_exptl_crystal.id' exptl_crystal pdbx_exptl_pd 1 '_pdbx_exptl_pd.entry_id' '_entry.id' entry pdbx_feature_assembly 1 '_pdbx_feature_assembly.feature_citation_id' '_citation.id' citation pdbx_feature_assembly 2 '_pdbx_feature_assembly.feature_software_id' '_software.name' software pdbx_feature_assembly 3 '_pdbx_feature_assembly.assembly_id' '_struct_biol.id' struct_biol pdbx_feature_domain 1 '_pdbx_feature_domain.feature_citation_id' '_citation.id' citation pdbx_feature_domain 2 '_pdbx_feature_domain.domain_id' '_pdbx_domain.id' pdbx_domain pdbx_feature_domain 3 '_pdbx_feature_domain.feature_software_id' '_software.name' software pdbx_feature_entry 1 '_pdbx_feature_entry.feature_citation_id' '_citation.id' citation pdbx_feature_entry 2 '_pdbx_feature_entry.feature_software_id' '_software.name' software pdbx_feature_monomer 1 '_pdbx_feature_monomer.label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_feature_monomer 1 '_pdbx_feature_monomer.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_feature_monomer 1 '_pdbx_feature_monomer.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_feature_monomer 1 '_pdbx_feature_monomer.label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_feature_monomer 1 '_pdbx_feature_monomer.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_feature_monomer 1 '_pdbx_feature_monomer.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_feature_monomer 1 '_pdbx_feature_monomer.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_feature_monomer 2 '_pdbx_feature_monomer.feature_citation_id' '_citation.id' citation pdbx_feature_monomer 3 '_pdbx_feature_monomer.feature_software_id' '_software.name' software pdbx_feature_sequence_range 1 '_pdbx_feature_sequence_range.feature_citation_id' '_citation.id' citation pdbx_feature_sequence_range 2 '_pdbx_feature_sequence_range.seq_range_id' '_pdbx_sequence_range.seq_range_id' pdbx_sequence_range pdbx_feature_sequence_range 3 '_pdbx_feature_sequence_range.feature_software_id' '_software.name' software pdbx_helical_symmetry 1 '_pdbx_helical_symmetry.entry_id' '_entry.id' entry pdbx_nmr_constraints 1 '_pdbx_nmr_constraints.entry_id' '_entry.id' entry pdbx_nmr_details 1 '_pdbx_nmr_details.entry_id' '_entry.id' entry pdbx_nmr_ensemble 1 '_pdbx_nmr_ensemble.entry_id' '_entry.id' entry pdbx_nmr_ensemble_rms 1 '_pdbx_nmr_ensemble_rms.entry_id' '_entry.id' entry pdbx_nmr_force_constants 1 '_pdbx_nmr_force_constants.entry_id' '_entry.id' entry pdbx_nmr_refine 1 '_pdbx_nmr_refine.entry_id' '_entry.id' entry pdbx_nmr_representative 1 '_pdbx_nmr_representative.entry_id' '_entry.id' entry pdbx_nonpoly_scheme 1 '_pdbx_nonpoly_scheme.asym_id' '_atom_site.label_asym_id' atom_site pdbx_nonpoly_scheme 1 '_pdbx_nonpoly_scheme.entity_id' '_atom_site.label_entity_id' atom_site pdbx_nonpoly_scheme 1 '_pdbx_nonpoly_scheme.mon_id' '_atom_site.label_comp_id' atom_site pdbx_nonpoly_scheme 1 '_pdbx_nonpoly_scheme.pdb_strand_id' '_atom_site.auth_asym_id' atom_site pdbx_nonpoly_scheme 1 '_pdbx_nonpoly_scheme.pdb_seq_num' '_atom_site.auth_seq_id' atom_site pdbx_nonpoly_scheme 1 '_pdbx_nonpoly_scheme.pdb_mon_id' '_atom_site.auth_comp_id' atom_site pdbx_nonpoly_scheme 1 '_pdbx_nonpoly_scheme.pdb_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_nonpoly_scheme 2 '_pdbx_nonpoly_scheme.asym_id' '_struct_asym.id' struct_asym pdbx_nonpoly_scheme 2 '_pdbx_nonpoly_scheme.entity_id' '_struct_asym.entity_id' struct_asym pdbx_phasing_MR 1 '_pdbx_phasing_MR.native_set_id' '_phasing_set.id' phasing_set pdbx_point_symmetry 1 '_pdbx_point_symmetry.entry_id' '_entry.id' entry pdbx_poly_seq_scheme 1 '_pdbx_poly_seq_scheme.entity_id' '_entity_poly_seq.entity_id' entity_poly_seq pdbx_poly_seq_scheme 1 '_pdbx_poly_seq_scheme.seq_id' '_entity_poly_seq.num' entity_poly_seq #pdbx_poly_seq_scheme 1 '_pdbx_poly_seq_scheme.hetero' '_entity_poly_seq.hetero' entity_poly_seq pdbx_poly_seq_scheme 1 '_pdbx_poly_seq_scheme.mon_id' '_entity_poly_seq.mon_id' entity_poly_seq pdbx_poly_seq_scheme 2 '_pdbx_poly_seq_scheme.asym_id' '_struct_asym.id' struct_asym pdbx_poly_seq_scheme 2 '_pdbx_poly_seq_scheme.entity_id' '_struct_asym.entity_id' struct_asym pdbx_prerelease_seq 1 '_pdbx_prerelease_seq.entity_id' '_entity.id' entity pdbx_refine 1 '_pdbx_refine.entry_id' '_entry.id' entry pdbx_refine 2 '_pdbx_refine.pdbx_refine_id' '_refine.pdbx_refine_id' refine pdbx_refine_aux_file 1 '_pdbx_refine_aux_file.pdbx_refine_id' '_refine.pdbx_refine_id' refine pdbx_refine_component 1 '_pdbx_refine_component.label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_refine_component 1 '_pdbx_refine_component.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_refine_component 1 '_pdbx_refine_component.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_refine_component 1 '_pdbx_refine_component.label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_refine_component 1 '_pdbx_refine_component.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_refine_component 1 '_pdbx_refine_component.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_refine_component 1 '_pdbx_refine_component.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_refine_tls 1 '_pdbx_refine_tls.pdbx_refine_id' '_refine.pdbx_refine_id' refine pdbx_refine_tls_group 1 '_pdbx_refine_tls_group.refine_tls_id' '_pdbx_refine_tls.id' pdbx_refine_tls pdbx_refine_tls_group 2 '_pdbx_refine_tls_group.pdbx_refine_id' '_refine.pdbx_refine_id' refine pdbx_refine_tls_group 3 '_pdbx_refine_tls_group.beg_label_asym_id' '_struct_asym.id' struct_asym pdbx_refine_tls_group 4 '_pdbx_refine_tls_group.end_label_asym_id' '_struct_asym.id' struct_asym #pdbx_refine_tls_group 5 '_pdbx_refine_tls_group.beg_auth_asym_id' '_atom_site.auth_asym_id' atom_site #pdbx_refine_tls_group 5 '_pdbx_refine_tls_group.beg_auth_seq_id' '_atom_site.auth_seq_id' atom_site #pdbx_refine_tls_group 5 '_pdbx_refine_tls_group.beg_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site #pdbx_refine_tls_group 6 '_pdbx_refine_tls_group.end_auth_asym_id' '_atom_site.auth_asym_id' atom_site #pdbx_refine_tls_group 6 '_pdbx_refine_tls_group.end_auth_seq_id' '_atom_site.auth_seq_id' atom_site #pdbx_refine_tls_group 6 '_pdbx_refine_tls_group.end_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_sequence_range 1 '_pdbx_sequence_range.beg_label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_sequence_range 1 '_pdbx_sequence_range.beg_label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_sequence_range 1 '_pdbx_sequence_range.beg_label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_sequence_range 1 '_pdbx_sequence_range.beg_label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_sequence_range 1 '_pdbx_sequence_range.beg_auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_sequence_range 1 '_pdbx_sequence_range.beg_auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_sequence_range 1 '_pdbx_sequence_range.beg_auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_sequence_range 2 '_pdbx_sequence_range.end_label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_sequence_range 2 '_pdbx_sequence_range.end_label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_sequence_range 2 '_pdbx_sequence_range.end_label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_sequence_range 2 '_pdbx_sequence_range.end_label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_sequence_range 2 '_pdbx_sequence_range.end_auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_sequence_range 2 '_pdbx_sequence_range.end_auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_sequence_range 2 '_pdbx_sequence_range.end_auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_serial_crystallography_data_reduction 1 '_pdbx_serial_crystallography_data_reduction.diffrn_id' '_diffrn.id' diffrn pdbx_serial_crystallography_measurement 1 '_pdbx_serial_crystallography_measurement.diffrn_id' '_diffrn.id' diffrn pdbx_serial_crystallography_sample_delivery 1 '_pdbx_serial_crystallography_sample_delivery.diffrn_id' '_diffrn.id' diffrn pdbx_serial_crystallography_sample_delivery_injection 1 '_pdbx_serial_crystallography_sample_delivery_injection.diffrn_id' '_diffrn.id' diffrn pdbx_serial_crystallography_sample_delivery_fixed_target 1 '_pdbx_serial_crystallography_sample_delivery_fixed_target.diffrn_id' '_diffrn.id' diffrn pdbx_soln_scatter 1 '_pdbx_soln_scatter.entry_id' '_entry.id' entry pdbx_soln_scatter_model 1 '_pdbx_soln_scatter_model.scatter_id' '_pdbx_soln_scatter.id' pdbx_soln_scatter pdbx_struct_assembly_auth_classification 1 '_pdbx_struct_assembly_auth_classification.assembly_id' '_pdbx_struct_assembly.id' pdbx_struct_assembly pdbx_struct_assembly_auth_evidence 1 '_pdbx_struct_assembly_auth_evidence.assembly_id' '_pdbx_struct_assembly.id' pdbx_struct_assembly pdbx_struct_assembly_auth_evidence_depositor_info 1 '_pdbx_struct_assembly_auth_evidence_depositor_info.assembly_id' '_pdbx_struct_assembly_depositor_info.id' pdbx_struct_assembly_depositor_info pdbx_struct_assembly_gen 1 '_pdbx_struct_assembly_gen.assembly_id' '_pdbx_struct_assembly.id' pdbx_struct_assembly pdbx_struct_assembly_gen_depositor_info 1 '_pdbx_struct_assembly_gen_depositor_info.assembly_id' '_pdbx_struct_assembly_depositor_info.id' pdbx_struct_assembly_depositor_info pdbx_struct_asym_gen 1 '_pdbx_struct_asym_gen.entity_inst_id' '_pdbx_struct_entity_inst.id' pdbx_struct_entity_inst pdbx_struct_asym_gen 2 '_pdbx_struct_asym_gen.asym_id' '_struct_asym.id' struct_asym pdbx_struct_chem_comp_diagnostics 1 '_pdbx_struct_chem_comp_diagnostics.pdb_strand_id' '_atom_site.auth_asym_id' atom_site pdbx_struct_chem_comp_diagnostics 1 '_pdbx_struct_chem_comp_diagnostics.asym_id' '_atom_site.label_asym_id' atom_site pdbx_struct_chem_comp_diagnostics 1 '_pdbx_struct_chem_comp_diagnostics.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_struct_chem_comp_diagnostics 1 '_pdbx_struct_chem_comp_diagnostics.seq_num' '_atom_site.label_seq_id' atom_site pdbx_struct_chem_comp_diagnostics 1 '_pdbx_struct_chem_comp_diagnostics.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_struct_chem_comp_feature 1 '_pdbx_struct_chem_comp_feature.pdb_strand_id' '_atom_site.auth_asym_id' atom_site pdbx_struct_chem_comp_feature 1 '_pdbx_struct_chem_comp_feature.asym_id' '_atom_site.label_asym_id' atom_site pdbx_struct_chem_comp_feature 1 '_pdbx_struct_chem_comp_feature.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_struct_chem_comp_feature 1 '_pdbx_struct_chem_comp_feature.seq_num' '_atom_site.label_seq_id' atom_site pdbx_struct_chem_comp_feature 1 '_pdbx_struct_chem_comp_feature.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_struct_conn_angle 1 '_pdbx_struct_conn_angle.ptnr1_label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_struct_conn_angle 1 '_pdbx_struct_conn_angle.ptnr1_label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_struct_conn_angle 1 '_pdbx_struct_conn_angle.ptnr1_label_atom_id' '_atom_site.label_atom_id' atom_site pdbx_struct_conn_angle 1 '_pdbx_struct_conn_angle.ptnr1_label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_struct_conn_angle 1 '_pdbx_struct_conn_angle.ptnr1_label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_struct_conn_angle 1 '_pdbx_struct_conn_angle.ptnr1_auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_struct_conn_angle 1 '_pdbx_struct_conn_angle.ptnr1_auth_atom_id' '_atom_site.auth_atom_id' atom_site pdbx_struct_conn_angle 1 '_pdbx_struct_conn_angle.ptnr1_auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_struct_conn_angle 1 '_pdbx_struct_conn_angle.ptnr1_auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_struct_conn_angle 1 '_pdbx_struct_conn_angle.ptnr1_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_struct_conn_angle 2 '_pdbx_struct_conn_angle.ptnr2_label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_struct_conn_angle 2 '_pdbx_struct_conn_angle.ptnr2_label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_struct_conn_angle 2 '_pdbx_struct_conn_angle.ptnr2_label_atom_id' '_atom_site.label_atom_id' atom_site pdbx_struct_conn_angle 2 '_pdbx_struct_conn_angle.ptnr2_label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_struct_conn_angle 2 '_pdbx_struct_conn_angle.ptnr2_label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_struct_conn_angle 2 '_pdbx_struct_conn_angle.ptnr2_auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_struct_conn_angle 2 '_pdbx_struct_conn_angle.ptnr2_auth_atom_id' '_atom_site.auth_atom_id' atom_site pdbx_struct_conn_angle 2 '_pdbx_struct_conn_angle.ptnr2_auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_struct_conn_angle 2 '_pdbx_struct_conn_angle.ptnr2_auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_struct_conn_angle 2 '_pdbx_struct_conn_angle.ptnr2_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_struct_conn_angle 3 '_pdbx_struct_conn_angle.ptnr3_auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_struct_conn_angle 3 '_pdbx_struct_conn_angle.ptnr3_auth_atom_id' '_atom_site.auth_atom_id' atom_site pdbx_struct_conn_angle 3 '_pdbx_struct_conn_angle.ptnr3_auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_struct_conn_angle 3 '_pdbx_struct_conn_angle.ptnr3_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_struct_conn_angle 3 '_pdbx_struct_conn_angle.ptnr3_auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_struct_conn_angle 3 '_pdbx_struct_conn_angle.ptnr3_label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_struct_conn_angle 3 '_pdbx_struct_conn_angle.ptnr3_label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_struct_conn_angle 3 '_pdbx_struct_conn_angle.ptnr3_label_atom_id' '_atom_site.label_atom_id' atom_site pdbx_struct_conn_angle 3 '_pdbx_struct_conn_angle.ptnr3_label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_struct_conn_angle 3 '_pdbx_struct_conn_angle.ptnr3_label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_struct_entity_inst 1 '_pdbx_struct_entity_inst.entity_id' '_entity.id' entity pdbx_struct_mod_residue 1 '_pdbx_struct_mod_residue.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_struct_mod_residue 1 '_pdbx_struct_mod_residue.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_struct_mod_residue 1 '_pdbx_struct_mod_residue.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_struct_mod_residue 1 '_pdbx_struct_mod_residue.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_struct_mod_residue 1 '_pdbx_struct_mod_residue.PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_struct_mod_residue 1 '_pdbx_struct_mod_residue.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_struct_mod_residue 1 '_pdbx_struct_mod_residue.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_struct_mod_residue 1 '_pdbx_struct_mod_residue.label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_struct_msym_gen 1 '_pdbx_struct_msym_gen.entity_inst_id' '_pdbx_struct_entity_inst.id' pdbx_struct_entity_inst pdbx_struct_ref_seq_deletion 1 '_pdbx_struct_ref_seq_deletion.asym_id' '_pdbx_poly_seq_scheme.asym_id' pdbx_poly_seq_scheme pdbx_struct_ref_seq_feature_prop 1 '_pdbx_struct_ref_seq_feature_prop.feature_id' '_pdbx_struct_ref_seq_feature.feature_id' pdbx_struct_ref_seq_feature pdbx_struct_ref_seq_insertion 1 '_pdbx_struct_ref_seq_insertion.comp_id' '_pdbx_poly_seq_scheme.mon_id' pdbx_poly_seq_scheme pdbx_struct_ref_seq_insertion 1 '_pdbx_struct_ref_seq_insertion.asym_id' '_pdbx_poly_seq_scheme.asym_id' pdbx_poly_seq_scheme pdbx_struct_ref_seq_insertion 1 '_pdbx_struct_ref_seq_insertion.auth_asym_id' '_pdbx_poly_seq_scheme.pdb_strand_id' pdbx_poly_seq_scheme pdbx_struct_ref_seq_insertion 1 '_pdbx_struct_ref_seq_insertion.auth_seq_id' '_pdbx_poly_seq_scheme.auth_seq_num' pdbx_poly_seq_scheme pdbx_struct_ref_seq_insertion 1 '_pdbx_struct_ref_seq_insertion.seq_id' '_pdbx_poly_seq_scheme.seq_id' pdbx_poly_seq_scheme pdbx_struct_ref_seq_insertion 1 '_pdbx_struct_ref_seq_insertion.PDB_ins_code' '_pdbx_poly_seq_scheme.pdb_ins_code' pdbx_poly_seq_scheme pdbx_struct_sheet_hbond 1 '_pdbx_struct_sheet_hbond.range_1_label_atom_id' '_atom_site.label_atom_id' atom_site pdbx_struct_sheet_hbond 1 '_pdbx_struct_sheet_hbond.range_1_label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_struct_sheet_hbond 1 '_pdbx_struct_sheet_hbond.range_1_label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_struct_sheet_hbond 1 '_pdbx_struct_sheet_hbond.range_1_label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_struct_sheet_hbond 1 '_pdbx_struct_sheet_hbond.range_1_auth_atom_id' '_atom_site.auth_atom_id' atom_site pdbx_struct_sheet_hbond 1 '_pdbx_struct_sheet_hbond.range_1_auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_struct_sheet_hbond 1 '_pdbx_struct_sheet_hbond.range_1_auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_struct_sheet_hbond 1 '_pdbx_struct_sheet_hbond.range_1_auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_struct_sheet_hbond 1 '_pdbx_struct_sheet_hbond.range_1_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_struct_sheet_hbond 2 '_pdbx_struct_sheet_hbond.range_2_label_atom_id' '_atom_site.label_atom_id' atom_site pdbx_struct_sheet_hbond 2 '_pdbx_struct_sheet_hbond.range_2_label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_struct_sheet_hbond 2 '_pdbx_struct_sheet_hbond.range_2_label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_struct_sheet_hbond 2 '_pdbx_struct_sheet_hbond.range_2_label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_struct_sheet_hbond 2 '_pdbx_struct_sheet_hbond.range_2_auth_atom_id' '_atom_site.auth_atom_id' atom_site pdbx_struct_sheet_hbond 2 '_pdbx_struct_sheet_hbond.range_2_auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_struct_sheet_hbond 2 '_pdbx_struct_sheet_hbond.range_2_auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_struct_sheet_hbond 2 '_pdbx_struct_sheet_hbond.range_2_auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_struct_sheet_hbond 2 '_pdbx_struct_sheet_hbond.range_2_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_struct_sheet_hbond 3 '_pdbx_struct_sheet_hbond.sheet_id' '_struct_sheet.id' struct_sheet pdbx_struct_sheet_hbond 4 '_pdbx_struct_sheet_hbond.range_id_1' '_struct_sheet_range.id' struct_sheet_range pdbx_struct_sheet_hbond 5 '_pdbx_struct_sheet_hbond.range_id_2' '_struct_sheet_range.id' struct_sheet_range pdbx_unobs_or_zero_occ_atoms 1 '_pdbx_unobs_or_zero_occ_atoms.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_unobs_or_zero_occ_atoms 2 '_pdbx_unobs_or_zero_occ_atoms.auth_comp_id' '_chem_comp.id' chem_comp pdbx_unobs_or_zero_occ_atoms 3 '_pdbx_unobs_or_zero_occ_atoms.label_comp_id' '_chem_comp.id' chem_comp pdbx_unobs_or_zero_occ_atoms 4 '_pdbx_unobs_or_zero_occ_atoms.label_asym_id' '_struct_asym.id' struct_asym pdbx_unobs_or_zero_occ_residues 1 '_pdbx_unobs_or_zero_occ_residues.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_unobs_or_zero_occ_residues 2 '_pdbx_unobs_or_zero_occ_residues.auth_comp_id' '_chem_comp.id' chem_comp pdbx_unobs_or_zero_occ_residues 3 '_pdbx_unobs_or_zero_occ_residues.label_comp_id' '_chem_comp.id' chem_comp pdbx_unobs_or_zero_occ_residues 4 '_pdbx_unobs_or_zero_occ_residues.label_asym_id' '_struct_asym.id' struct_asym pdbx_validate_chiral 1 '_pdbx_validate_chiral.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_validate_chiral 1 '_pdbx_validate_chiral.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_validate_chiral 1 '_pdbx_validate_chiral.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_validate_chiral 1 '_pdbx_validate_chiral.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_validate_chiral 1 '_pdbx_validate_chiral.PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_chiral 1 '_pdbx_validate_chiral.auth_atom_id' '_atom_site.auth_atom_id' atom_site pdbx_validate_chiral 1 '_pdbx_validate_chiral.label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_validate_close_contact 1 '_pdbx_validate_close_contact.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_validate_close_contact 1 '_pdbx_validate_close_contact.auth_asym_id_1' '_atom_site.auth_asym_id' atom_site pdbx_validate_close_contact 1 '_pdbx_validate_close_contact.auth_atom_id_1' '_atom_site.auth_atom_id' atom_site pdbx_validate_close_contact 1 '_pdbx_validate_close_contact.auth_comp_id_1' '_atom_site.auth_comp_id' atom_site pdbx_validate_close_contact 1 '_pdbx_validate_close_contact.auth_seq_id_1' '_atom_site.auth_seq_id' atom_site pdbx_validate_close_contact 1 '_pdbx_validate_close_contact.PDB_ins_code_1' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_close_contact 1 '_pdbx_validate_close_contact.label_alt_id_1' '_atom_site.label_alt_id' atom_site pdbx_validate_close_contact 2 '_pdbx_validate_close_contact.auth_atom_id_2' '_atom_site.auth_atom_id' atom_site pdbx_validate_close_contact 2 '_pdbx_validate_close_contact.auth_asym_id_2' '_atom_site.auth_asym_id' atom_site pdbx_validate_close_contact 2 '_pdbx_validate_close_contact.auth_comp_id_2' '_atom_site.auth_comp_id' atom_site pdbx_validate_close_contact 2 '_pdbx_validate_close_contact.auth_seq_id_2' '_atom_site.auth_seq_id' atom_site pdbx_validate_close_contact 2 '_pdbx_validate_close_contact.PDB_ins_code_2' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_close_contact 2 '_pdbx_validate_close_contact.label_alt_id_2' '_atom_site.label_alt_id' atom_site pdbx_validate_main_chain_plane 1 '_pdbx_validate_main_chain_plane.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_validate_main_chain_plane 1 '_pdbx_validate_main_chain_plane.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_validate_main_chain_plane 1 '_pdbx_validate_main_chain_plane.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_validate_main_chain_plane 1 '_pdbx_validate_main_chain_plane.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_validate_main_chain_plane 1 '_pdbx_validate_main_chain_plane.PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_main_chain_plane 1 '_pdbx_validate_main_chain_plane.label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_validate_peptide_omega 1 '_pdbx_validate_peptide_omega.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_validate_peptide_omega 1 '_pdbx_validate_peptide_omega.auth_asym_id_1' '_atom_site.auth_asym_id' atom_site pdbx_validate_peptide_omega 1 '_pdbx_validate_peptide_omega.auth_comp_id_1' '_atom_site.auth_comp_id' atom_site pdbx_validate_peptide_omega 1 '_pdbx_validate_peptide_omega.auth_seq_id_1' '_atom_site.auth_seq_id' atom_site pdbx_validate_peptide_omega 1 '_pdbx_validate_peptide_omega.PDB_ins_code_1' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_peptide_omega 1 '_pdbx_validate_peptide_omega.label_alt_id_1' '_atom_site.label_alt_id' atom_site pdbx_validate_peptide_omega 2 '_pdbx_validate_peptide_omega.auth_asym_id_2' '_atom_site.auth_asym_id' atom_site pdbx_validate_peptide_omega 2 '_pdbx_validate_peptide_omega.auth_comp_id_2' '_atom_site.auth_comp_id' atom_site pdbx_validate_peptide_omega 2 '_pdbx_validate_peptide_omega.auth_seq_id_2' '_atom_site.auth_seq_id' atom_site pdbx_validate_peptide_omega 2 '_pdbx_validate_peptide_omega.PDB_ins_code_2' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_peptide_omega 2 '_pdbx_validate_peptide_omega.label_alt_id_2' '_atom_site.label_alt_id' atom_site pdbx_validate_planes 1 '_pdbx_validate_planes.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_validate_planes 1 '_pdbx_validate_planes.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_validate_planes 1 '_pdbx_validate_planes.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_validate_planes 1 '_pdbx_validate_planes.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_validate_planes 1 '_pdbx_validate_planes.PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_planes 1 '_pdbx_validate_planes.label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_validate_planes_atom 1 '_pdbx_validate_planes_atom.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_validate_planes_atom 1 '_pdbx_validate_planes_atom.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_validate_planes_atom 1 '_pdbx_validate_planes_atom.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_validate_planes_atom 1 '_pdbx_validate_planes_atom.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_validate_planes_atom 1 '_pdbx_validate_planes_atom.PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_planes_atom 1 '_pdbx_validate_planes_atom.auth_atom_id' '_atom_site.auth_atom_id' atom_site pdbx_validate_planes_atom 2 '_pdbx_validate_planes_atom.plane_id' '_pdbx_validate_planes.id' pdbx_validate_planes pdbx_validate_rmsd_angle 1 '_pdbx_validate_rmsd_angle.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_validate_rmsd_angle 1 '_pdbx_validate_rmsd_angle.auth_asym_id_1' '_atom_site.auth_asym_id' atom_site pdbx_validate_rmsd_angle 1 '_pdbx_validate_rmsd_angle.auth_atom_id_1' '_atom_site.auth_atom_id' atom_site pdbx_validate_rmsd_angle 1 '_pdbx_validate_rmsd_angle.auth_comp_id_1' '_atom_site.auth_comp_id' atom_site pdbx_validate_rmsd_angle 1 '_pdbx_validate_rmsd_angle.auth_seq_id_1' '_atom_site.auth_seq_id' atom_site pdbx_validate_rmsd_angle 1 '_pdbx_validate_rmsd_angle.PDB_ins_code_1' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_rmsd_angle 1 '_pdbx_validate_rmsd_angle.label_alt_id_1' '_atom_site.label_alt_id' atom_site pdbx_validate_rmsd_angle 2 '_pdbx_validate_rmsd_angle.auth_atom_id_2' '_atom_site.auth_atom_id' atom_site pdbx_validate_rmsd_angle 2 '_pdbx_validate_rmsd_angle.auth_asym_id_2' '_atom_site.auth_asym_id' atom_site pdbx_validate_rmsd_angle 2 '_pdbx_validate_rmsd_angle.auth_comp_id_2' '_atom_site.auth_comp_id' atom_site pdbx_validate_rmsd_angle 2 '_pdbx_validate_rmsd_angle.auth_seq_id_2' '_atom_site.auth_seq_id' atom_site pdbx_validate_rmsd_angle 2 '_pdbx_validate_rmsd_angle.PDB_ins_code_2' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_rmsd_angle 2 '_pdbx_validate_rmsd_angle.label_alt_id_2' '_atom_site.label_alt_id' atom_site pdbx_validate_rmsd_angle 3 '_pdbx_validate_rmsd_angle.auth_atom_id_3' '_atom_site.auth_atom_id' atom_site pdbx_validate_rmsd_angle 3 '_pdbx_validate_rmsd_angle.auth_asym_id_3' '_atom_site.auth_asym_id' atom_site pdbx_validate_rmsd_angle 3 '_pdbx_validate_rmsd_angle.auth_comp_id_3' '_atom_site.auth_comp_id' atom_site pdbx_validate_rmsd_angle 3 '_pdbx_validate_rmsd_angle.auth_seq_id_3' '_atom_site.auth_seq_id' atom_site pdbx_validate_rmsd_angle 3 '_pdbx_validate_rmsd_angle.PDB_ins_code_3' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_rmsd_angle 3 '_pdbx_validate_rmsd_angle.label_alt_id_3' '_atom_site.label_alt_id' atom_site pdbx_validate_rmsd_bond 1 '_pdbx_validate_rmsd_bond.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_validate_rmsd_bond 1 '_pdbx_validate_rmsd_bond.auth_asym_id_1' '_atom_site.auth_asym_id' atom_site pdbx_validate_rmsd_bond 1 '_pdbx_validate_rmsd_bond.auth_atom_id_1' '_atom_site.auth_atom_id' atom_site pdbx_validate_rmsd_bond 1 '_pdbx_validate_rmsd_bond.auth_comp_id_1' '_atom_site.auth_comp_id' atom_site pdbx_validate_rmsd_bond 1 '_pdbx_validate_rmsd_bond.auth_seq_id_1' '_atom_site.auth_seq_id' atom_site pdbx_validate_rmsd_bond 1 '_pdbx_validate_rmsd_bond.PDB_ins_code_1' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_rmsd_bond 1 '_pdbx_validate_rmsd_bond.label_alt_id_1' '_atom_site.label_alt_id' atom_site pdbx_validate_rmsd_bond 2 '_pdbx_validate_rmsd_bond.auth_atom_id_2' '_atom_site.auth_atom_id' atom_site pdbx_validate_rmsd_bond 2 '_pdbx_validate_rmsd_bond.auth_asym_id_2' '_atom_site.auth_asym_id' atom_site pdbx_validate_rmsd_bond 2 '_pdbx_validate_rmsd_bond.auth_comp_id_2' '_atom_site.auth_comp_id' atom_site pdbx_validate_rmsd_bond 2 '_pdbx_validate_rmsd_bond.auth_seq_id_2' '_atom_site.auth_seq_id' atom_site pdbx_validate_rmsd_bond 2 '_pdbx_validate_rmsd_bond.PDB_ins_code_2' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_rmsd_bond 2 '_pdbx_validate_rmsd_bond.label_alt_id_2' '_atom_site.label_alt_id' atom_site pdbx_validate_symm_contact 1 '_pdbx_validate_symm_contact.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_validate_symm_contact 1 '_pdbx_validate_symm_contact.auth_asym_id_1' '_atom_site.auth_asym_id' atom_site pdbx_validate_symm_contact 1 '_pdbx_validate_symm_contact.auth_atom_id_1' '_atom_site.auth_atom_id' atom_site pdbx_validate_symm_contact 1 '_pdbx_validate_symm_contact.auth_comp_id_1' '_atom_site.auth_comp_id' atom_site pdbx_validate_symm_contact 1 '_pdbx_validate_symm_contact.auth_seq_id_1' '_atom_site.auth_seq_id' atom_site pdbx_validate_symm_contact 1 '_pdbx_validate_symm_contact.PDB_ins_code_1' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_symm_contact 1 '_pdbx_validate_symm_contact.label_alt_id_1' '_atom_site.label_alt_id' atom_site pdbx_validate_symm_contact 2 '_pdbx_validate_symm_contact.auth_atom_id_2' '_atom_site.auth_atom_id' atom_site pdbx_validate_symm_contact 2 '_pdbx_validate_symm_contact.auth_asym_id_2' '_atom_site.auth_asym_id' atom_site pdbx_validate_symm_contact 2 '_pdbx_validate_symm_contact.auth_comp_id_2' '_atom_site.auth_comp_id' atom_site pdbx_validate_symm_contact 2 '_pdbx_validate_symm_contact.auth_seq_id_2' '_atom_site.auth_seq_id' atom_site pdbx_validate_symm_contact 2 '_pdbx_validate_symm_contact.PDB_ins_code_2' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_symm_contact 2 '_pdbx_validate_symm_contact.label_alt_id_2' '_atom_site.label_alt_id' atom_site pdbx_validate_torsion 1 '_pdbx_validate_torsion.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_validate_torsion 1 '_pdbx_validate_torsion.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_validate_torsion 1 '_pdbx_validate_torsion.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_validate_torsion 1 '_pdbx_validate_torsion.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_validate_torsion 1 '_pdbx_validate_torsion.PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_torsion 1 '_pdbx_validate_torsion.label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_version 1 '_pdbx_version.entry_id' '_entry.id' entry pdbx_xplor_file 1 '_pdbx_xplor_file.pdbx_refine_id' '_refine.pdbx_refine_id' refine phasing_MAD 1 '_phasing_MAD.entry_id' '_entry.id' entry phasing_MAD_clust 1 '_phasing_MAD_clust.expt_id' '_phasing_MAD_expt.id' phasing_MAD_expt phasing_MAD_ratio 1 '_phasing_MAD_ratio.clust_id' '_phasing_MAD_clust.id' phasing_MAD_clust phasing_MAD_ratio 2 '_phasing_MAD_ratio.expt_id' '_phasing_MAD_expt.id' phasing_MAD_expt phasing_MAD_ratio 3 '_phasing_MAD_ratio.wavelength_1' '_phasing_MAD_set.wavelength' phasing_MAD_set phasing_MAD_ratio 4 '_phasing_MAD_ratio.wavelength_2' '_phasing_MAD_set.wavelength' phasing_MAD_set phasing_MAD_set 1 '_phasing_MAD_set.clust_id' '_phasing_MAD_clust.id' phasing_MAD_clust phasing_MAD_set 2 '_phasing_MAD_set.expt_id' '_phasing_MAD_expt.id' phasing_MAD_expt phasing_MAD_set 3 '_phasing_MAD_set.set_id' '_phasing_set.id' phasing_set phasing_MIR 1 '_phasing_MIR.entry_id' '_entry.id' entry phasing_MIR_der 1 '_phasing_MIR_der.der_set_id' '_phasing_set.id' phasing_set phasing_MIR_der 2 '_phasing_MIR_der.native_set_id' '_phasing_set.id' phasing_set phasing_MIR_der_refln 1 '_phasing_MIR_der_refln.der_id' '_phasing_MIR_der.id' phasing_MIR_der phasing_MIR_der_refln 2 '_phasing_MIR_der_refln.set_id' '_phasing_set.id' phasing_set phasing_MIR_der_shell 1 '_phasing_MIR_der_shell.der_id' '_phasing_MIR_der.id' phasing_MIR_der phasing_MIR_der_site 1 '_phasing_MIR_der_site.der_id' '_phasing_MIR_der.id' phasing_MIR_der phasing_averaging 1 '_phasing_averaging.entry_id' '_entry.id' entry phasing_isomorphous 1 '_phasing_isomorphous.entry_id' '_entry.id' entry phasing_set_refln 1 '_phasing_set_refln.set_id' '_phasing_set.id' phasing_set publ 1 '_publ.entry_id' '_entry.id' entry publ_manuscript_incl 1 '_publ_manuscript_incl.entry_id' '_entry.id' entry refine 1 '_refine.entry_id' '_entry.id' entry refine_B_iso 1 '_refine_B_iso.pdbx_refine_id' '_refine.pdbx_refine_id' refine refine_analyze 1 '_refine_analyze.entry_id' '_entry.id' entry refine_analyze 2 '_refine_analyze.pdbx_refine_id' '_refine.pdbx_refine_id' refine refine_funct_minimized 1 '_refine_funct_minimized.pdbx_refine_id' '_refine.pdbx_refine_id' refine refine_ls_restr 1 '_refine_ls_restr.pdbx_refine_id' '_refine.pdbx_refine_id' refine refine_ls_restr_ncs 1 '_refine_ls_restr_ncs.pdbx_refine_id' '_refine.pdbx_refine_id' refine refine_ls_restr_ncs 2 '_refine_ls_restr_ncs.pdbx_asym_id' '_struct_asym.id' struct_asym refine_ls_restr_ncs 3 '_refine_ls_restr_ncs.pdbx_ens_id' '_struct_ncs_dom.pdbx_ens_id' struct_ncs_dom refine_ls_restr_ncs 4 '_refine_ls_restr_ncs.pdbx_auth_asym_id' '_atom_site.auth_asym_id' atom_site refine_ls_restr_type 1 '_refine_ls_restr_type.type' '_refine_ls_restr.type' refine_ls_restr refine_ls_shell 1 '_refine_ls_shell.pdbx_refine_id' '_refine.pdbx_refine_id' refine refine_occupancy 1 '_refine_occupancy.pdbx_refine_id' '_refine.pdbx_refine_id' refine # refln 1 '_refln.wavelength_id' '_diffrn_radiation_wavelength.id' diffrn_radiation_wavelength refln 2 '_refln.crystal_id' '_exptl_crystal.id' exptl_crystal refln 3 '_refln.scale_group_code' '_reflns_scale.group_code' reflns_scale refln 4 '_refln.pdbx_diffrn_id' '_diffrn.id' diffrn # reflns 1 '_reflns.entry_id' '_entry.id' entry pdbx_sifts_unp_segments 1 '_pdbx_sifts_unp_segments.asym_id' '_struct_asym.id' struct_asym pdbx_sifts_unp_segments 2 '_pdbx_sifts_unp_segments.seq_id_start' '_entity_poly_seq.num' entity_poly_seq pdbx_sifts_unp_segments 3 '_pdbx_sifts_unp_segments.seq_id_end' '_entity_poly_seq.num' entity_poly_seq pdbx_sifts_unp_segments 4 '_pdbx_sifts_unp_segments.entity_id' '_entity_poly_seq.entity_id' entity_poly_seq pdbx_sifts_xref_db 1 '_pdbx_sifts_xref_db.entity_id' '_entity_poly_seq.entity_id' entity_poly_seq pdbx_sifts_xref_db 2 '_pdbx_sifts_xref_db.asym_id' '_struct_asym.id' struct_asym pdbx_sifts_xref_db_segments 1 '_pdbx_sifts_xref_db_segments.entity_id' '_entity_poly_seq.entity_id' entity_poly_seq pdbx_sifts_xref_db_segments 2 '_pdbx_sifts_xref_db_segments.seq_id_start' '_entity_poly_seq.num' entity_poly_seq pdbx_sifts_xref_db_segments 3 '_pdbx_sifts_xref_db_segments.seq_id_end' '_entity_poly_seq.num' entity_poly_seq pdbx_sifts_xref_db_segments 4 '_pdbx_sifts_xref_db_segments.asym_id' '_struct_asym.id' struct_asym reflns 2 '_reflns.pdbx_signal_software_id' '_software.name' software software 1 '_software.citation_id' '_citation.id' citation struct 1 '_struct.entry_id' '_entry.id' entry struct_asym 1 '_struct_asym.entity_id' '_entity.id' entity struct_biol 1 '_struct_biol.pdbx_parent_biol_id' '_struct_biol.id' struct_biol struct_biol_gen 1 '_struct_biol_gen.asym_id' '_struct_asym.id' struct_asym struct_biol_gen 2 '_struct_biol_gen.biol_id' '_struct_biol.id' struct_biol struct_biol_keywords 1 '_struct_biol_keywords.biol_id' '_struct_biol.id' struct_biol struct_biol_view 1 '_struct_biol_view.biol_id' '_struct_biol.id' struct_biol struct_conf 1 '_struct_conf.beg_auth_asym_id' '_atom_site.auth_asym_id' atom_site struct_conf 1 '_struct_conf.beg_auth_comp_id' '_atom_site.auth_comp_id' atom_site struct_conf 1 '_struct_conf.beg_auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_conf 1 '_struct_conf.beg_label_comp_id' '_atom_site.label_comp_id' atom_site struct_conf 1 '_struct_conf.beg_label_seq_id' '_atom_site.label_seq_id' atom_site struct_conf 1 '_struct_conf.beg_label_asym_id' '_atom_site.label_asym_id' atom_site struct_conf 1 '_struct_conf.pdbx_beg_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site struct_conf 2 '_struct_conf.end_auth_asym_id' '_atom_site.auth_asym_id' atom_site struct_conf 2 '_struct_conf.end_auth_comp_id' '_atom_site.auth_comp_id' atom_site struct_conf 2 '_struct_conf.end_auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_conf 2 '_struct_conf.end_label_comp_id' '_atom_site.label_comp_id' atom_site struct_conf 2 '_struct_conf.end_label_seq_id' '_atom_site.label_seq_id' atom_site struct_conf 2 '_struct_conf.end_label_asym_id' '_atom_site.label_asym_id' atom_site struct_conf 2 '_struct_conf.pdbx_end_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site struct_conf 3 '_struct_conf.conf_type_id' '_struct_conf_type.id' struct_conf_type struct_conn 1 '_struct_conn.ptnr1_auth_asym_id' '_atom_site.auth_asym_id' atom_site struct_conn 1 '_struct_conn.ptnr1_auth_atom_id' '_atom_site.auth_atom_id' atom_site struct_conn 1 '_struct_conn.ptnr1_auth_comp_id' '_atom_site.auth_comp_id' atom_site struct_conn 1 '_struct_conn.ptnr1_auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_conn 1 '_struct_conn.ptnr1_label_alt_id' '_atom_site.label_alt_id' atom_site struct_conn 1 '_struct_conn.ptnr1_label_comp_id' '_atom_site.label_comp_id' atom_site struct_conn 1 '_struct_conn.ptnr1_label_atom_id' '_atom_site.label_atom_id' atom_site struct_conn 1 '_struct_conn.ptnr1_label_seq_id' '_atom_site.label_seq_id' atom_site struct_conn 1 '_struct_conn.ptnr1_label_asym_id' '_atom_site.label_asym_id' atom_site struct_conn 1 '_struct_conn.pdbx_ptnr1_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site struct_conn 1 '_struct_conn.pdbx_ptnr1_auth_alt_id' '_atom_site.pdbx_auth_alt_id' atom_site struct_conn 1 '_struct_conn.pdbx_ptnr1_label_alt_id' '_atom_site.label_alt_id' atom_site struct_conn 2 '_struct_conn.ptnr2_auth_asym_id' '_atom_site.auth_asym_id' atom_site struct_conn 2 '_struct_conn.ptnr2_auth_atom_id' '_atom_site.auth_atom_id' atom_site struct_conn 2 '_struct_conn.ptnr2_auth_comp_id' '_atom_site.auth_comp_id' atom_site struct_conn 2 '_struct_conn.ptnr2_auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_conn 2 '_struct_conn.ptnr2_label_alt_id' '_atom_site.label_alt_id' atom_site struct_conn 2 '_struct_conn.ptnr2_label_comp_id' '_atom_site.label_comp_id' atom_site struct_conn 2 '_struct_conn.ptnr2_label_atom_id' '_atom_site.label_atom_id' atom_site struct_conn 2 '_struct_conn.ptnr2_label_seq_id' '_atom_site.label_seq_id' atom_site struct_conn 2 '_struct_conn.ptnr2_label_asym_id' '_atom_site.label_asym_id' atom_site struct_conn 2 '_struct_conn.pdbx_ptnr2_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site struct_conn 2 '_struct_conn.pdbx_ptnr2_auth_alt_id' '_atom_site.pdbx_auth_alt_id' atom_site struct_conn 2 '_struct_conn.pdbx_ptnr2_label_alt_id' '_atom_site.label_alt_id' atom_site struct_conn 3 '_struct_conn.pdbx_ptnr3_auth_alt_id' '_atom_site.pdbx_auth_alt_id' atom_site struct_conn 3 '_struct_conn.pdbx_ptnr3_auth_asym_id' '_atom_site.auth_asym_id' atom_site struct_conn 3 '_struct_conn.pdbx_ptnr3_auth_atom_id' '_atom_site.auth_atom_id' atom_site struct_conn 3 '_struct_conn.pdbx_ptnr3_auth_comp_id' '_atom_site.auth_comp_id' atom_site struct_conn 3 '_struct_conn.pdbx_ptnr3_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site struct_conn 3 '_struct_conn.pdbx_ptnr3_auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_conn 3 '_struct_conn.pdbx_ptnr3_label_asym_id' '_atom_site.label_asym_id' atom_site struct_conn 3 '_struct_conn.pdbx_ptnr3_label_atom_id' '_atom_site.label_atom_id' atom_site struct_conn 3 '_struct_conn.pdbx_ptnr3_label_comp_id' '_atom_site.label_comp_id' atom_site struct_conn 3 '_struct_conn.pdbx_ptnr3_label_seq_id' '_atom_site.label_seq_id' atom_site struct_conn 3 '_struct_conn.pdbx_ptnr3_label_alt_id' '_atom_site.label_alt_id' atom_site struct_conn 4 '_struct_conn.conn_type_id' '_struct_conn_type.id' struct_conn_type # Carbohydrate struct_conn 5 '_struct_conn.pdbx_ptnr1_leaving_atom_id' '_chem_comp_atom.atom_id' chem_comp_atom struct_conn 6 '_struct_conn.pdbx_ptnr2_leaving_atom_id' '_chem_comp_atom.atom_id' chem_comp_atom struct_keywords 1 '_struct_keywords.entry_id' '_entry.id' entry struct_mon_details 1 '_struct_mon_details.entry_id' '_entry.id' entry struct_mon_nucl 1 '_struct_mon_nucl.auth_asym_id' '_atom_site.auth_asym_id' atom_site struct_mon_nucl 1 '_struct_mon_nucl.auth_comp_id' '_atom_site.auth_comp_id' atom_site struct_mon_nucl 1 '_struct_mon_nucl.auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_mon_nucl 1 '_struct_mon_nucl.label_alt_id' '_atom_site.label_alt_id' atom_site struct_mon_nucl 1 '_struct_mon_nucl.label_comp_id' '_atom_site.label_comp_id' atom_site struct_mon_nucl 1 '_struct_mon_nucl.label_seq_id' '_atom_site.label_seq_id' atom_site struct_mon_nucl 1 '_struct_mon_nucl.label_asym_id' '_atom_site.label_asym_id' atom_site struct_mon_prot 1 '_struct_mon_prot.auth_asym_id' '_atom_site.auth_asym_id' atom_site struct_mon_prot 1 '_struct_mon_prot.auth_comp_id' '_atom_site.auth_comp_id' atom_site struct_mon_prot 1 '_struct_mon_prot.auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_mon_prot 1 '_struct_mon_prot.label_alt_id' '_atom_site.label_alt_id' atom_site struct_mon_prot 1 '_struct_mon_prot.label_comp_id' '_atom_site.label_comp_id' atom_site struct_mon_prot 1 '_struct_mon_prot.label_seq_id' '_atom_site.label_seq_id' atom_site struct_mon_prot 1 '_struct_mon_prot.label_asym_id' '_atom_site.label_asym_id' atom_site struct_mon_prot_cis 1 '_struct_mon_prot_cis.auth_asym_id' '_atom_site.auth_asym_id' atom_site struct_mon_prot_cis 1 '_struct_mon_prot_cis.auth_comp_id' '_atom_site.auth_comp_id' atom_site struct_mon_prot_cis 1 '_struct_mon_prot_cis.auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_mon_prot_cis 1 '_struct_mon_prot_cis.label_alt_id' '_atom_site.label_alt_id' atom_site struct_mon_prot_cis 1 '_struct_mon_prot_cis.label_comp_id' '_atom_site.label_comp_id' atom_site struct_mon_prot_cis 1 '_struct_mon_prot_cis.label_seq_id' '_atom_site.label_seq_id' atom_site struct_mon_prot_cis 1 '_struct_mon_prot_cis.label_asym_id' '_atom_site.label_asym_id' atom_site struct_mon_prot_cis 1 '_struct_mon_prot_cis.pdbx_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site struct_mon_prot_cis 1 '_struct_mon_prot_cis.pdbx_PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site struct_mon_prot_cis 2 '_struct_mon_prot_cis.pdbx_auth_asym_id_2' '_atom_site.auth_asym_id' atom_site struct_mon_prot_cis 2 '_struct_mon_prot_cis.pdbx_auth_comp_id_2' '_atom_site.auth_comp_id' atom_site struct_mon_prot_cis 2 '_struct_mon_prot_cis.pdbx_auth_seq_id_2' '_atom_site.auth_seq_id' atom_site struct_mon_prot_cis 2 '_struct_mon_prot_cis.pdbx_label_asym_id_2' '_atom_site.label_asym_id' atom_site struct_mon_prot_cis 2 '_struct_mon_prot_cis.pdbx_label_comp_id_2' '_atom_site.label_comp_id' atom_site struct_mon_prot_cis 2 '_struct_mon_prot_cis.pdbx_label_seq_id_2' '_atom_site.label_seq_id' atom_site struct_mon_prot_cis 2 '_struct_mon_prot_cis.pdbx_PDB_ins_code_2' '_atom_site.pdbx_PDB_ins_code' atom_site struct_ncs_dom 1 '_struct_ncs_dom.pdbx_ens_id' '_struct_ncs_ens.id' struct_ncs_ens struct_ncs_dom_lim 1 '_struct_ncs_dom_lim.beg_label_asym_id' '_struct_asym.id' struct_asym struct_ncs_dom_lim 2 '_struct_ncs_dom_lim.end_label_asym_id' '_struct_asym.id' struct_asym struct_ncs_dom_lim 3 '_struct_ncs_dom_lim.dom_id' '_struct_ncs_dom.id' struct_ncs_dom struct_ncs_dom_lim 3 '_struct_ncs_dom_lim.pdbx_ens_id' '_struct_ncs_dom.pdbx_ens_id' struct_ncs_dom struct_ncs_ens_gen 1 '_struct_ncs_ens_gen.dom_id_1' '_struct_ncs_dom.id' struct_ncs_dom struct_ncs_ens_gen 2 '_struct_ncs_ens_gen.dom_id_2' '_struct_ncs_dom.id' struct_ncs_dom struct_ncs_ens_gen 3 '_struct_ncs_ens_gen.ens_id' '_struct_ncs_ens.id' struct_ncs_ens struct_ncs_ens_gen 4 '_struct_ncs_ens_gen.oper_id' '_struct_ncs_oper.id' struct_ncs_oper struct_ref 1 '_struct_ref.entity_id' '_entity.id' entity struct_ref 2 '_struct_ref.biol_id' '_struct_biol.id' struct_biol struct_ref_seq 1 '_struct_ref_seq.seq_align_beg' '_entity_poly_seq.num' entity_poly_seq struct_ref_seq 2 '_struct_ref_seq.seq_align_end' '_entity_poly_seq.num' entity_poly_seq struct_ref_seq 3 '_struct_ref_seq.seq_align_beg' '_pdbx_poly_seq_scheme.seq_id' pdbx_poly_seq_scheme struct_ref_seq 3 '_struct_ref_seq.pdbx_strand_id' '_pdbx_poly_seq_scheme.pdb_strand_id' pdbx_poly_seq_scheme struct_ref_seq 3 '_struct_ref_seq.pdbx_auth_seq_align_beg' '_pdbx_poly_seq_scheme.pdb_seq_num' pdbx_poly_seq_scheme struct_ref_seq 3 '_struct_ref_seq.pdbx_seq_align_beg_ins_code' '_pdbx_poly_seq_scheme.pdb_ins_code' pdbx_poly_seq_scheme struct_ref_seq 4 '_struct_ref_seq.pdbx_strand_id' '_pdbx_poly_seq_scheme.pdb_strand_id' pdbx_poly_seq_scheme struct_ref_seq 4 '_struct_ref_seq.seq_align_end' '_pdbx_poly_seq_scheme.seq_id' pdbx_poly_seq_scheme struct_ref_seq 4 '_struct_ref_seq.pdbx_auth_seq_align_end' '_pdbx_poly_seq_scheme.pdb_seq_num' pdbx_poly_seq_scheme struct_ref_seq 4 '_struct_ref_seq.pdbx_seq_align_end_ins_code' '_pdbx_poly_seq_scheme.pdb_ins_code' pdbx_poly_seq_scheme struct_ref_seq 5 '_struct_ref_seq.ref_id' '_struct_ref.id' struct_ref #struct_ref_seq_dif 1 '_struct_ref_seq_dif.db_mon_id' '_chem_comp.id' chem_comp struct_ref_seq_dif 2 '_struct_ref_seq_dif.mon_id' '_entity_poly_seq.mon_id' entity_poly_seq struct_ref_seq_dif 2 '_struct_ref_seq_dif.seq_num' '_entity_poly_seq.num' entity_poly_seq struct_ref_seq_dif 3 '_struct_ref_seq_dif.mon_id' '_pdbx_poly_seq_scheme.mon_id' pdbx_poly_seq_scheme struct_ref_seq_dif 3 '_struct_ref_seq_dif.seq_num' '_pdbx_poly_seq_scheme.seq_id' pdbx_poly_seq_scheme struct_ref_seq_dif 3 '_struct_ref_seq_dif.pdbx_pdb_strand_id' '_pdbx_poly_seq_scheme.pdb_strand_id' pdbx_poly_seq_scheme struct_ref_seq_dif 3 '_struct_ref_seq_dif.pdbx_pdb_ins_code' '_pdbx_poly_seq_scheme.pdb_ins_code' pdbx_poly_seq_scheme struct_ref_seq_dif 3 '_struct_ref_seq_dif.pdbx_auth_seq_num' '_pdbx_poly_seq_scheme.pdb_seq_num' pdbx_poly_seq_scheme struct_ref_seq_dif 4 '_struct_ref_seq_dif.align_id' '_struct_ref_seq.align_id' struct_ref_seq struct_sheet_hbond 1 '_struct_sheet_hbond.range_1_beg_auth_atom_id' '_atom_site.auth_atom_id' atom_site struct_sheet_hbond 1 '_struct_sheet_hbond.range_1_beg_auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_sheet_hbond 1 '_struct_sheet_hbond.range_1_beg_label_atom_id' '_atom_site.label_atom_id' atom_site struct_sheet_hbond 1 '_struct_sheet_hbond.range_1_beg_label_seq_id' '_atom_site.label_seq_id' atom_site struct_sheet_hbond 1 '_struct_sheet_hbond.pdbx_range_1_beg_auth_comp_id' '_atom_site.auth_comp_id' atom_site struct_sheet_hbond 1 '_struct_sheet_hbond.pdbx_range_1_beg_auth_asym_id' '_atom_site.auth_asym_id' atom_site struct_sheet_hbond 1 '_struct_sheet_hbond.pdbx_range_1_beg_label_comp_id' '_atom_site.label_comp_id' atom_site struct_sheet_hbond 1 '_struct_sheet_hbond.pdbx_range_1_beg_label_asym_id' '_atom_site.label_asym_id' atom_site struct_sheet_hbond 1 '_struct_sheet_hbond.pdbx_range_1_beg_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site struct_sheet_hbond 2 '_struct_sheet_hbond.range_1_end_auth_atom_id' '_atom_site.auth_atom_id' atom_site struct_sheet_hbond 2 '_struct_sheet_hbond.range_1_end_auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_sheet_hbond 2 '_struct_sheet_hbond.range_1_end_label_atom_id' '_atom_site.label_atom_id' atom_site struct_sheet_hbond 2 '_struct_sheet_hbond.range_1_end_label_seq_id' '_atom_site.label_seq_id' atom_site struct_sheet_hbond 2 '_struct_sheet_hbond.pdbx_range_1_end_auth_comp_id' '_atom_site.auth_comp_id' atom_site struct_sheet_hbond 2 '_struct_sheet_hbond.pdbx_range_1_end_auth_asym_id' '_atom_site.auth_asym_id' atom_site struct_sheet_hbond 2 '_struct_sheet_hbond.pdbx_range_1_end_label_comp_id' '_atom_site.label_comp_id' atom_site struct_sheet_hbond 2 '_struct_sheet_hbond.pdbx_range_1_end_label_asym_id' '_atom_site.label_asym_id' atom_site struct_sheet_hbond 2 '_struct_sheet_hbond.pdbx_range_1_end_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site struct_sheet_hbond 3 '_struct_sheet_hbond.range_2_beg_auth_atom_id' '_atom_site.auth_atom_id' atom_site struct_sheet_hbond 3 '_struct_sheet_hbond.range_2_beg_auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_sheet_hbond 3 '_struct_sheet_hbond.range_2_beg_label_atom_id' '_atom_site.label_atom_id' atom_site struct_sheet_hbond 3 '_struct_sheet_hbond.range_2_beg_label_seq_id' '_atom_site.label_seq_id' atom_site struct_sheet_hbond 3 '_struct_sheet_hbond.pdbx_range_2_beg_label_comp_id' '_atom_site.label_comp_id' atom_site struct_sheet_hbond 3 '_struct_sheet_hbond.pdbx_range_2_beg_label_asym_id' '_atom_site.label_asym_id' atom_site struct_sheet_hbond 3 '_struct_sheet_hbond.pdbx_range_2_beg_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site struct_sheet_hbond 4 '_struct_sheet_hbond.range_2_end_auth_atom_id' '_atom_site.auth_atom_id' atom_site struct_sheet_hbond 4 '_struct_sheet_hbond.range_2_end_auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_sheet_hbond 4 '_struct_sheet_hbond.range_2_end_label_atom_id' '_atom_site.label_atom_id' atom_site struct_sheet_hbond 4 '_struct_sheet_hbond.range_2_end_label_seq_id' '_atom_site.label_seq_id' atom_site struct_sheet_hbond 4 '_struct_sheet_hbond.pdbx_range_2_end_label_comp_id' '_atom_site.label_comp_id' atom_site struct_sheet_hbond 4 '_struct_sheet_hbond.pdbx_range_2_end_label_asym_id' '_atom_site.label_asym_id' atom_site struct_sheet_hbond 5 '_struct_sheet_hbond.sheet_id' '_struct_sheet.id' struct_sheet struct_sheet_hbond 6 '_struct_sheet_hbond.range_id_1' '_struct_sheet_range.id' struct_sheet_range struct_sheet_hbond 7 '_struct_sheet_hbond.range_id_2' '_struct_sheet_range.id' struct_sheet_range struct_sheet_order 1 '_struct_sheet_order.sheet_id' '_struct_sheet.id' struct_sheet struct_sheet_order 2 '_struct_sheet_order.range_id_1' '_struct_sheet_range.id' struct_sheet_range struct_sheet_order 3 '_struct_sheet_order.range_id_2' '_struct_sheet_range.id' struct_sheet_range struct_sheet_range 1 '_struct_sheet_range.beg_auth_asym_id' '_atom_site.auth_asym_id' atom_site struct_sheet_range 1 '_struct_sheet_range.beg_auth_comp_id' '_atom_site.auth_comp_id' atom_site struct_sheet_range 1 '_struct_sheet_range.beg_auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_sheet_range 1 '_struct_sheet_range.beg_label_comp_id' '_atom_site.label_comp_id' atom_site struct_sheet_range 1 '_struct_sheet_range.beg_label_seq_id' '_atom_site.label_seq_id' atom_site struct_sheet_range 1 '_struct_sheet_range.beg_label_asym_id' '_atom_site.label_asym_id' atom_site struct_sheet_range 1 '_struct_sheet_range.pdbx_beg_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site struct_sheet_range 2 '_struct_sheet_range.end_auth_asym_id' '_atom_site.auth_asym_id' atom_site struct_sheet_range 2 '_struct_sheet_range.end_auth_comp_id' '_atom_site.auth_comp_id' atom_site struct_sheet_range 2 '_struct_sheet_range.end_auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_sheet_range 2 '_struct_sheet_range.end_label_comp_id' '_atom_site.label_comp_id' atom_site struct_sheet_range 2 '_struct_sheet_range.end_label_seq_id' '_atom_site.label_seq_id' atom_site struct_sheet_range 2 '_struct_sheet_range.end_label_asym_id' '_atom_site.label_asym_id' atom_site struct_sheet_range 2 '_struct_sheet_range.pdbx_end_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site struct_sheet_range 3 '_struct_sheet_range.sheet_id' '_struct_sheet.id' struct_sheet struct_sheet_topology 1 '_struct_sheet_topology.sheet_id' '_struct_sheet.id' struct_sheet struct_sheet_topology 2 '_struct_sheet_topology.range_id_1' '_struct_sheet_range.id' struct_sheet_range struct_sheet_topology 3 '_struct_sheet_topology.range_id_2' '_struct_sheet_range.id' struct_sheet_range struct_site_gen 1 '_struct_site_gen.auth_asym_id' '_atom_site.auth_asym_id' atom_site struct_site_gen 1 '_struct_site_gen.auth_atom_id' '_atom_site.auth_atom_id' atom_site struct_site_gen 1 '_struct_site_gen.auth_comp_id' '_atom_site.auth_comp_id' atom_site struct_site_gen 1 '_struct_site_gen.auth_seq_id' '_atom_site.auth_seq_id' atom_site struct_site_gen 1 '_struct_site_gen.label_alt_id' '_atom_site.label_alt_id' atom_site struct_site_gen 1 '_struct_site_gen.label_comp_id' '_atom_site.label_comp_id' atom_site struct_site_gen 1 '_struct_site_gen.label_atom_id' '_atom_site.label_atom_id' atom_site struct_site_gen 1 '_struct_site_gen.label_seq_id' '_atom_site.label_seq_id' atom_site struct_site_gen 1 '_struct_site_gen.label_asym_id' '_atom_site.label_asym_id' atom_site struct_site_gen 2 '_struct_site_gen.site_id' '_struct_site.id' struct_site struct_site_keywords 1 '_struct_site_keywords.site_id' '_struct_site.id' struct_site struct_site_view 1 '_struct_site_view.site_id' '_struct_site.id' struct_site symmetry 1 '_symmetry.entry_id' '_entry.id' entry # # pdbx_remediation_atom_site_mapping 1 '_pdbx_remediation_atom_site_mapping.label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_remediation_atom_site_mapping 1 '_pdbx_remediation_atom_site_mapping.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_remediation_atom_site_mapping 1 '_pdbx_remediation_atom_site_mapping.label_atom_id' '_atom_site.label_atom_id' atom_site pdbx_remediation_atom_site_mapping 1 '_pdbx_remediation_atom_site_mapping.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_remediation_atom_site_mapping 1 '_pdbx_remediation_atom_site_mapping.label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_remediation_atom_site_mapping 1 '_pdbx_remediation_atom_site_mapping.PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site # #pdbx_remediation_atom_site_mapping 2 '_pdbx_remediation_atom_site_mapping.auth_alt_id' '_atom_site.pdbx_auth_alt_id' atom_site pdbx_remediation_atom_site_mapping 2 '_pdbx_remediation_atom_site_mapping.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_remediation_atom_site_mapping 2 '_pdbx_remediation_atom_site_mapping.auth_atom_id' '_atom_site.auth_atom_id' atom_site pdbx_remediation_atom_site_mapping 2 '_pdbx_remediation_atom_site_mapping.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_remediation_atom_site_mapping 2 '_pdbx_remediation_atom_site_mapping.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_remediation_atom_site_mapping 2 '_pdbx_remediation_atom_site_mapping.PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site # # # pdbx_chem_comp_atom_feature 1 '_pdbx_chem_comp_atom_feature.comp_id' '_chem_comp_atom.comp_id' chem_comp_atom pdbx_chem_comp_atom_feature 1 '_pdbx_chem_comp_atom_feature.atom_id' '_chem_comp_atom.atom_id' chem_comp_atom # # pdbx_struct_group_components 1 '_pdbx_struct_group_components.struct_group_id' '_pdbx_struct_group_list.struct_group_id' pdbx_struct_group_list pdbx_struct_group_components 2 '_pdbx_struct_group_components.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_struct_group_components 2 '_pdbx_struct_group_components.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_struct_group_components 2 '_pdbx_struct_group_components.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_struct_group_components 2 '_pdbx_struct_group_components.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_struct_group_components 2 '_pdbx_struct_group_components.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_struct_group_components 2 '_pdbx_struct_group_components.label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_struct_group_components 2 '_pdbx_struct_group_components.PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_struct_group_components 2 '_pdbx_struct_group_components.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_struct_group_components 2 '_pdbx_struct_group_components.label_alt_id' '_atom_site.label_alt_id' atom_site # # pdbx_struct_group_component_range 1 '_pdbx_struct_group_component_range.struct_group_id' '_pdbx_struct_group_list.struct_group_id' pdbx_struct_group_list pdbx_struct_group_component_range 2 '_pdbx_struct_group_component_range.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_struct_group_component_range 2 '_pdbx_struct_group_component_range.beg_auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_struct_group_component_range 2 '_pdbx_struct_group_component_range.beg_auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_struct_group_component_range 2 '_pdbx_struct_group_component_range.beg_auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_struct_group_component_range 2 '_pdbx_struct_group_component_range.beg_label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_struct_group_component_range 2 '_pdbx_struct_group_component_range.beg_label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_struct_group_component_range 2 '_pdbx_struct_group_component_range.beg_label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_struct_group_component_range 2 '_pdbx_struct_group_component_range.beg_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_struct_group_component_range 2 '_pdbx_struct_group_component_range.beg_label_alt_id' '_atom_site.label_alt_id' atom_site # pdbx_struct_group_component_range 3 '_pdbx_struct_group_component_range.end_auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_struct_group_component_range 3 '_pdbx_struct_group_component_range.end_auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_struct_group_component_range 3 '_pdbx_struct_group_component_range.end_auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_struct_group_component_range 3 '_pdbx_struct_group_component_range.end_label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_struct_group_component_range 3 '_pdbx_struct_group_component_range.end_label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_struct_group_component_range 3 '_pdbx_struct_group_component_range.end_label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_struct_group_component_range 3 '_pdbx_struct_group_component_range.end_PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_struct_group_component_range 3 '_pdbx_struct_group_component_range.end_label_alt_id' '_atom_site.label_alt_id' atom_site # # #pdbx_entity_group_components 1 '_pdbx_entity_group_components.entity_group_id' '_pdbx_entity_group_list.entity_group_id' pdbx_entity_group_list #pdbx_entity_group_components 2 '_pdbx_entity_group_components.entity_id' '_entity.id' entity #pdbx_entity_group_components 3 '_pdbx_entity_group_components.beg_seq_id' '_entity_poly_seq.num' entity_poly_seq #pdbx_entity_group_components 4 '_pdbx_entity_group_components.end_seq_id' '_entity_poly_seq.num' entity_poly_seq #pdbx_entity_group_instances 1 '_pdbx_entity_group_instances.struct_group_id' '_pdbx_struct_group_list.struct_group_id' pdbx_struct_group_list #pdbx_entity_group_instances 2 '_pdbx_entity_group_instances.entity_group_id' '_pdbx_entity_group_list.entity_group_id' pdbx_entity_group_list # # ### NDB/RCSB renamed items --- ### pdbx_nmr_computing 1 '_pdbx_nmr_computing.entry_id' '_entry.id' entry pdbx_atlas 1 '_pdbx_atlas.entry_id' '_entry.id' entry pdbx_chem_comp_nonstandard 1 '_pdbx_chem_comp_nonstandard.comp_id' '_chem_comp.id' chem_comp pdbx_coord 1 '_pdbx_coord.entry_id' '_entry.id' entry pdbx_database_PDB_master 1 '_pdbx_database_PDB_master.entry_id' '_entry.id' entry #pdbx_database_message 1 '_pdbx_database_message.entry_id' '_entry.id' entry #pdbx_database_proc 1 '_pdbx_database_proc.entry_id' '_entry.id' entry #pdbx_database_status 1 '_pdbx_database_status.entry_id' '_entry.id' entry pdbx_entity_func_bind_mode 1 '_pdbx_entity_func_bind_mode.entity_id' '_entity.id' entity pdbx_entity_func_enzyme 1 '_pdbx_entity_func_enzyme.bind_mode_id' '_pdbx_entity_func_bind_mode.id' pdbx_entity_func_bind_mode pdbx_entity_func_other 1 '_pdbx_entity_func_other.bind_mode_id' '_pdbx_entity_func_bind_mode.id' pdbx_entity_func_bind_mode pdbx_entity_func_regulatory 1 '_pdbx_entity_func_regulatory.bind_mode_id' '_pdbx_entity_func_bind_mode.id' pdbx_entity_func_bind_mode pdbx_entity_func_structural 1 '_pdbx_entity_func_structural.bind_mode_id' '_pdbx_entity_func_bind_mode.id' pdbx_entity_func_bind_mode pdbx_entity_poly_domain 1 '_pdbx_entity_poly_domain.entity_id' '_entity.id' entity pdbx_entity_poly_domain 2 '_pdbx_entity_poly_domain.begin_mon_id' '_entity_poly_seq.mon_id' entity_poly_seq pdbx_entity_poly_domain 2 '_pdbx_entity_poly_domain.begin_seq_num' '_entity_poly_seq.num' entity_poly_seq pdbx_entity_poly_domain 3 '_pdbx_entity_poly_domain.end_mon_id' '_entity_poly_seq.mon_id' entity_poly_seq pdbx_entity_poly_domain 3 '_pdbx_entity_poly_domain.end_seq_num' '_entity_poly_seq.num' entity_poly_seq pdbx_entity_poly_na_nonstandard 1 '_pdbx_entity_poly_na_nonstandard.entity_id' '_entity.id' entity pdbx_entity_poly_na_type 1 '_pdbx_entity_poly_na_type.entity_id' '_entity.id' entity pdbx_entity_poly_protein_class 1 '_pdbx_entity_poly_protein_class.entity_id' '_entity.id' entity pdbx_na_struct_keywds 1 '_pdbx_na_struct_keywds.entry_id' '_entry.id' entry #pdbx_refine 1 '_pdbx_refine.entry_id' '_entry.id' entry #pdbx_refine 2 '_pdbx_refine.pdbx_refine_id' '_refine.pdbx_refine_id' refine pdbx_rms_devs_cov_by_monomer 1 '_pdbx_rms_devs_cov_by_monomer.model_id' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_rms_devs_cov_by_monomer 1 '_pdbx_rms_devs_cov_by_monomer.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_rms_devs_cov_by_monomer 1 '_pdbx_rms_devs_cov_by_monomer.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_rms_devs_cov_by_monomer 1 '_pdbx_rms_devs_cov_by_monomer.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_rms_devs_cov_by_monomer 1 '_pdbx_rms_devs_cov_by_monomer.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_rms_devs_cov_by_monomer 1 '_pdbx_rms_devs_cov_by_monomer.label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_rms_devs_covalent 1 '_pdbx_rms_devs_covalent.entry_id' '_entry.id' entry pdbx_sequence_pattern 1 '_pdbx_sequence_pattern.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_sequence_pattern 1 '_pdbx_sequence_pattern.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_stereochemistry 1 '_pdbx_stereochemistry.model_id' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_stereochemistry 1 '_pdbx_stereochemistry.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_stereochemistry 1 '_pdbx_stereochemistry.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_stereochemistry 1 '_pdbx_stereochemistry.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_stereochemistry 1 '_pdbx_stereochemistry.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_stereochemistry 1 '_pdbx_stereochemistry.label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_stereochemistry 1 '_pdbx_stereochemistry.label_atom_id' '_atom_site.label_atom_id' atom_site pdbx_stereochemistry 1 '_pdbx_stereochemistry.label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_stereochemistry 2 '_pdbx_stereochemistry.label_atom_id_u' '_atom_site.label_atom_id' atom_site pdbx_stereochemistry 2 '_pdbx_stereochemistry.label_alt_id_u' '_atom_site.label_alt_id' atom_site pdbx_stereochemistry 3 '_pdbx_stereochemistry.label_atom_id_v' '_atom_site.label_atom_id' atom_site pdbx_stereochemistry 3 '_pdbx_stereochemistry.label_alt_id_v' '_atom_site.label_alt_id' atom_site pdbx_stereochemistry 4 '_pdbx_stereochemistry.label_atom_id_w' '_atom_site.label_atom_id' atom_site pdbx_stereochemistry 4 '_pdbx_stereochemistry.label_alt_id_w' '_atom_site.label_alt_id' atom_site pdbx_struct_biol_func 1 '_pdbx_struct_biol_func.biol_id' '_struct_biol.id' struct_biol pdbx_sugar_phosphate_geometry 1 '_pdbx_sugar_phosphate_geometry.model_id' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_sugar_phosphate_geometry 1 '_pdbx_sugar_phosphate_geometry.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_sugar_phosphate_geometry 1 '_pdbx_sugar_phosphate_geometry.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_sugar_phosphate_geometry 1 '_pdbx_sugar_phosphate_geometry.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_sugar_phosphate_geometry 1 '_pdbx_sugar_phosphate_geometry.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_sugar_phosphate_geometry 1 '_pdbx_sugar_phosphate_geometry.label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_sugar_phosphate_geometry 2 '_pdbx_sugar_phosphate_geometry.neighbor_comp_id_5prime' '_atom_site.label_comp_id' atom_site pdbx_sugar_phosphate_geometry 3 '_pdbx_sugar_phosphate_geometry.neighbor_comp_id_3prime' '_atom_site.label_comp_id' atom_site pdbx_summary_flags 1 '_pdbx_summary_flags.entry_id' '_entry.id' entry pdbx_view_category 1 '_pdbx_view_category.view_group_id' '_pdbx_view_category_group.view_group_id' pdbx_view_category_group pdbx_view_item 1 '_pdbx_view_item.category_id' '_pdbx_view_category.category_id' pdbx_view_category pdbx_virtual_angle 1 '_pdbx_virtual_angle.model_id' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_virtual_bond 1 '_pdbx_virtual_bond.model_id' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_virtual_torsion 1 '_pdbx_virtual_torsion.model_id' '_atom_site.pdbx_PDB_model_num' atom_site #pdbx_xplor_file 1 '_pdbx_xplor_file.pdbx_refine_id' '_refine.pdbx_refine_id' refine # ######### pdbx_data_processing_cell 1 '_pdbx_data_processing_cell.entry_id' '_entry.id' entry pdbx_data_processing_detector 1 '_pdbx_data_processing_detector.entry_id' '_entry.id' entry pdbx_data_processing_reflns 1 '_pdbx_data_processing_reflns.entry_id' '_entry.id' entry pdbx_entity_name_instance 1 '_pdbx_entity_name_instance.name' '_pdbx_entity_name_taxonomy.name' pdbx_entity_name_taxonomy pdbx_entity_name_taxonomy 1 '_pdbx_entity_name_taxonomy.id' '_pdbx_entity_name_taxonomy_tree.id' pdbx_entity_name_taxonomy_tree pdbx_entity_name_taxonomy_tree 1 '_pdbx_entity_name_taxonomy_tree.id' '_pdbx_entity_name_taxonomy_tree.parent_id' pdbx_entity_name_taxonomy_tree pdbx_missing_atom_nonpoly 1 '_pdbx_missing_atom_nonpoly.model_id' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_missing_atom_nonpoly 1 '_pdbx_missing_atom_nonpoly.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_missing_atom_nonpoly 1 '_pdbx_missing_atom_nonpoly.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_missing_atom_nonpoly 1 '_pdbx_missing_atom_nonpoly.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_missing_atom_nonpoly 1 '_pdbx_missing_atom_nonpoly.auth_PDB_insert_id' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_missing_atom_nonpoly 1 '_pdbx_missing_atom_nonpoly.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_missing_atom_nonpoly 1 '_pdbx_missing_atom_nonpoly.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_missing_atom_poly 1 '_pdbx_missing_atom_poly.model_id' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_missing_atom_poly 1 '_pdbx_missing_atom_poly.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_missing_atom_poly 1 '_pdbx_missing_atom_poly.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_missing_atom_poly 1 '_pdbx_missing_atom_poly.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_missing_atom_poly 1 '_pdbx_missing_atom_poly.auth_PDB_insert_id' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_missing_atom_poly 1 '_pdbx_missing_atom_poly.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_missing_atom_poly 1 '_pdbx_missing_atom_poly.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_missing_atom_poly 1 '_pdbx_missing_atom_poly.label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_post_process_details 1 '_pdbx_post_process_details.entry_id' '_entry.id' entry pdbx_post_process_status 1 '_pdbx_post_process_status.entry_id' '_entry.id' entry pdbx_rmch_outlier 1 '_pdbx_rmch_outlier.model_id' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_rmch_outlier 1 '_pdbx_rmch_outlier.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_rmch_outlier 1 '_pdbx_rmch_outlier.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_rmch_outlier 1 '_pdbx_rmch_outlier.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_rmch_outlier 1 '_pdbx_rmch_outlier.auth_PDB_insert_id' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_rmch_outlier 1 '_pdbx_rmch_outlier.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_rmch_outlier 1 '_pdbx_rmch_outlier.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_rmch_outlier 1 '_pdbx_rmch_outlier.label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_struct_ncs_virus_gen 1 '_pdbx_struct_ncs_virus_gen.asym_id' '_struct_asym.id' struct_asym pdbx_struct_ncs_virus_gen 2 '_pdbx_struct_ncs_virus_gen.oper_id' '_struct_ncs_oper.id' struct_ncs_oper pdbx_val_angle 1 '_pdbx_val_angle.model_id' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_val_angle 1 '_pdbx_val_angle.auth_asym_id_1' '_atom_site.auth_asym_id' atom_site pdbx_val_angle 1 '_pdbx_val_angle.auth_atom_id_1' '_atom_site.auth_atom_id' atom_site pdbx_val_angle 1 '_pdbx_val_angle.auth_comp_id_1' '_atom_site.auth_comp_id' atom_site pdbx_val_angle 1 '_pdbx_val_angle.auth_seq_id_1' '_atom_site.auth_seq_id' atom_site pdbx_val_angle 1 '_pdbx_val_angle.auth_PDB_insert_id_1' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_val_angle 1 '_pdbx_val_angle.label_alt_id_1' '_atom_site.label_alt_id' atom_site pdbx_val_angle 1 '_pdbx_val_angle.label_asym_id_1' '_atom_site.label_asym_id' atom_site pdbx_val_angle 1 '_pdbx_val_angle.label_atom_id_1' '_atom_site.label_atom_id' atom_site pdbx_val_angle 1 '_pdbx_val_angle.label_comp_id_1' '_atom_site.label_comp_id' atom_site pdbx_val_angle 1 '_pdbx_val_angle.label_seq_id_1' '_atom_site.label_seq_id' atom_site pdbx_val_angle 2 '_pdbx_val_angle.auth_atom_id_2' '_atom_site.auth_atom_id' atom_site pdbx_val_angle 2 '_pdbx_val_angle.auth_asym_id_2' '_atom_site.auth_asym_id' atom_site pdbx_val_angle 2 '_pdbx_val_angle.auth_comp_id_2' '_atom_site.auth_comp_id' atom_site pdbx_val_angle 2 '_pdbx_val_angle.auth_seq_id_2' '_atom_site.auth_seq_id' atom_site pdbx_val_angle 2 '_pdbx_val_angle.auth_PDB_insert_id_2' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_val_angle 2 '_pdbx_val_angle.label_alt_id_2' '_atom_site.label_alt_id' atom_site pdbx_val_angle 2 '_pdbx_val_angle.label_asym_id_2' '_atom_site.label_asym_id' atom_site pdbx_val_angle 2 '_pdbx_val_angle.label_atom_id_2' '_atom_site.label_atom_id' atom_site pdbx_val_angle 2 '_pdbx_val_angle.label_comp_id_2' '_atom_site.label_comp_id' atom_site pdbx_val_angle 2 '_pdbx_val_angle.label_seq_id_2' '_atom_site.label_seq_id' atom_site pdbx_val_angle 3 '_pdbx_val_angle.auth_atom_id_3' '_atom_site.auth_atom_id' atom_site pdbx_val_angle 3 '_pdbx_val_angle.auth_asym_id_3' '_atom_site.auth_asym_id' atom_site pdbx_val_angle 3 '_pdbx_val_angle.auth_comp_id_3' '_atom_site.auth_comp_id' atom_site pdbx_val_angle 3 '_pdbx_val_angle.auth_seq_id_3' '_atom_site.auth_seq_id' atom_site pdbx_val_angle 3 '_pdbx_val_angle.auth_PDB_insert_id_3' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_val_angle 3 '_pdbx_val_angle.label_alt_id_3' '_atom_site.label_alt_id' atom_site pdbx_val_angle 3 '_pdbx_val_angle.label_asym_id_3' '_atom_site.label_asym_id' atom_site pdbx_val_angle 3 '_pdbx_val_angle.label_atom_id_3' '_atom_site.label_atom_id' atom_site pdbx_val_angle 3 '_pdbx_val_angle.label_comp_id_3' '_atom_site.label_comp_id' atom_site pdbx_val_angle 3 '_pdbx_val_angle.label_seq_id_3' '_atom_site.label_seq_id' atom_site pdbx_val_bond 1 '_pdbx_val_bond.model_id' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_val_bond 1 '_pdbx_val_bond.auth_asym_id_1' '_atom_site.auth_asym_id' atom_site pdbx_val_bond 1 '_pdbx_val_bond.auth_atom_id_1' '_atom_site.auth_atom_id' atom_site pdbx_val_bond 1 '_pdbx_val_bond.auth_comp_id_1' '_atom_site.auth_comp_id' atom_site pdbx_val_bond 1 '_pdbx_val_bond.auth_seq_id_1' '_atom_site.auth_seq_id' atom_site pdbx_val_bond 1 '_pdbx_val_bond.auth_PDB_insert_id_1' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_val_bond 1 '_pdbx_val_bond.label_alt_id_1' '_atom_site.label_alt_id' atom_site pdbx_val_bond 1 '_pdbx_val_bond.label_asym_id_1' '_atom_site.label_asym_id' atom_site pdbx_val_bond 1 '_pdbx_val_bond.label_atom_id_1' '_atom_site.label_atom_id' atom_site pdbx_val_bond 1 '_pdbx_val_bond.label_comp_id_1' '_atom_site.label_comp_id' atom_site pdbx_val_bond 1 '_pdbx_val_bond.label_seq_id_1' '_atom_site.label_seq_id' atom_site pdbx_val_bond 2 '_pdbx_val_bond.auth_atom_id_2' '_atom_site.auth_atom_id' atom_site pdbx_val_bond 2 '_pdbx_val_bond.auth_asym_id_2' '_atom_site.auth_asym_id' atom_site pdbx_val_bond 2 '_pdbx_val_bond.auth_comp_id_2' '_atom_site.auth_comp_id' atom_site pdbx_val_bond 2 '_pdbx_val_bond.auth_seq_id_2' '_atom_site.auth_seq_id' atom_site pdbx_val_bond 2 '_pdbx_val_bond.auth_PDB_insert_id_2' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_val_bond 2 '_pdbx_val_bond.label_alt_id_2' '_atom_site.label_alt_id' atom_site pdbx_val_bond 2 '_pdbx_val_bond.label_asym_id_2' '_atom_site.label_asym_id' atom_site pdbx_val_bond 2 '_pdbx_val_bond.label_atom_id_2' '_atom_site.label_atom_id' atom_site pdbx_val_bond 2 '_pdbx_val_bond.label_comp_id_2' '_atom_site.label_comp_id' atom_site pdbx_val_bond 2 '_pdbx_val_bond.label_seq_id_2' '_atom_site.label_seq_id' atom_site pdbx_val_chiral 1 '_pdbx_val_chiral.model_id' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_val_chiral 1 '_pdbx_val_chiral.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_val_chiral 1 '_pdbx_val_chiral.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_val_chiral 1 '_pdbx_val_chiral.auth_seq_id' '_atom_site.auth_seq_id' atom_site pdbx_val_chiral 1 '_pdbx_val_chiral.auth_PDB_insert_id' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_val_chiral 1 '_pdbx_val_chiral.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_val_chiral 1 '_pdbx_val_chiral.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_val_chiral 1 '_pdbx_val_chiral.label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_val_contact 1 '_pdbx_val_contact.model_id' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_val_contact 1 '_pdbx_val_contact.auth_asym_id_1' '_atom_site.auth_asym_id' atom_site pdbx_val_contact 1 '_pdbx_val_contact.auth_atom_id_1' '_atom_site.auth_atom_id' atom_site pdbx_val_contact 1 '_pdbx_val_contact.auth_comp_id_1' '_atom_site.auth_comp_id' atom_site pdbx_val_contact 1 '_pdbx_val_contact.auth_seq_id_1' '_atom_site.auth_seq_id' atom_site pdbx_val_contact 1 '_pdbx_val_contact.auth_PDB_insert_id_1' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_val_contact 1 '_pdbx_val_contact.label_alt_id_1' '_atom_site.label_alt_id' atom_site pdbx_val_contact 1 '_pdbx_val_contact.label_asym_id_1' '_atom_site.label_asym_id' atom_site pdbx_val_contact 1 '_pdbx_val_contact.label_atom_id_1' '_atom_site.label_atom_id' atom_site pdbx_val_contact 1 '_pdbx_val_contact.label_comp_id_1' '_atom_site.label_comp_id' atom_site pdbx_val_contact 1 '_pdbx_val_contact.label_seq_id_1' '_atom_site.label_seq_id' atom_site pdbx_val_contact 2 '_pdbx_val_contact.auth_atom_id_2' '_atom_site.auth_atom_id' atom_site pdbx_val_contact 2 '_pdbx_val_contact.auth_asym_id_2' '_atom_site.auth_asym_id' atom_site pdbx_val_contact 2 '_pdbx_val_contact.auth_comp_id_2' '_atom_site.auth_comp_id' atom_site pdbx_val_contact 2 '_pdbx_val_contact.auth_seq_id_2' '_atom_site.auth_seq_id' atom_site pdbx_val_contact 2 '_pdbx_val_contact.auth_PDB_insert_id_2' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_val_contact 2 '_pdbx_val_contact.label_alt_id_2' '_atom_site.label_alt_id' atom_site pdbx_val_contact 2 '_pdbx_val_contact.label_asym_id_2' '_atom_site.label_asym_id' atom_site pdbx_val_contact 2 '_pdbx_val_contact.label_atom_id_2' '_atom_site.label_atom_id' atom_site pdbx_val_contact 2 '_pdbx_val_contact.label_comp_id_2' '_atom_site.label_comp_id' atom_site pdbx_val_contact 2 '_pdbx_val_contact.label_seq_id_2' '_atom_site.label_seq_id' atom_site pdbx_val_sym_contact 1 '_pdbx_val_sym_contact.model_id' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_val_sym_contact 1 '_pdbx_val_sym_contact.auth_asym_id_1' '_atom_site.auth_asym_id' atom_site pdbx_val_sym_contact 1 '_pdbx_val_sym_contact.auth_atom_id_1' '_atom_site.auth_atom_id' atom_site pdbx_val_sym_contact 1 '_pdbx_val_sym_contact.auth_comp_id_1' '_atom_site.auth_comp_id' atom_site pdbx_val_sym_contact 1 '_pdbx_val_sym_contact.auth_seq_id_1' '_atom_site.auth_seq_id' atom_site pdbx_val_sym_contact 1 '_pdbx_val_sym_contact.auth_PDB_insert_id_1' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_val_sym_contact 1 '_pdbx_val_sym_contact.label_alt_id_1' '_atom_site.label_alt_id' atom_site pdbx_val_sym_contact 1 '_pdbx_val_sym_contact.label_asym_id_1' '_atom_site.label_asym_id' atom_site pdbx_val_sym_contact 1 '_pdbx_val_sym_contact.label_atom_id_1' '_atom_site.label_atom_id' atom_site pdbx_val_sym_contact 1 '_pdbx_val_sym_contact.label_comp_id_1' '_atom_site.label_comp_id' atom_site pdbx_val_sym_contact 1 '_pdbx_val_sym_contact.label_seq_id_1' '_atom_site.label_seq_id' atom_site pdbx_val_sym_contact 2 '_pdbx_val_sym_contact.auth_atom_id_2' '_atom_site.auth_atom_id' atom_site pdbx_val_sym_contact 2 '_pdbx_val_sym_contact.auth_asym_id_2' '_atom_site.auth_asym_id' atom_site pdbx_val_sym_contact 2 '_pdbx_val_sym_contact.auth_comp_id_2' '_atom_site.auth_comp_id' atom_site pdbx_val_sym_contact 2 '_pdbx_val_sym_contact.auth_seq_id_2' '_atom_site.auth_seq_id' atom_site pdbx_val_sym_contact 2 '_pdbx_val_sym_contact.auth_PDB_insert_id_2' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_val_sym_contact 2 '_pdbx_val_sym_contact.label_alt_id_2' '_atom_site.label_alt_id' atom_site pdbx_val_sym_contact 2 '_pdbx_val_sym_contact.label_asym_id_2' '_atom_site.label_asym_id' atom_site pdbx_val_sym_contact 2 '_pdbx_val_sym_contact.label_atom_id_2' '_atom_site.label_atom_id' atom_site pdbx_val_sym_contact 2 '_pdbx_val_sym_contact.label_comp_id_2' '_atom_site.label_comp_id' atom_site pdbx_val_sym_contact 2 '_pdbx_val_sym_contact.label_seq_id_2' '_atom_site.label_seq_id' atom_site #pdbx_version 1 '_pdbx_version.entry_id' '_entry.id' entry # #pdbx_struct_comp_nstd_link 2 '_pdbx_struct_comp_nstd_link.auth_asym_id' '_atom_site.auth_asym_id' atom_site #pdbx_struct_comp_nstd_link 2 '_pdbx_struct_comp_nstd_link.auth_comp_id' '_atom_site.auth_comp_id' atom_site #pdbx_struct_comp_nstd_link 2 '_pdbx_struct_comp_nstd_link.auth_seq_id' '_atom_site.auth_seq_id' atom_site #pdbx_struct_comp_nstd_link 1 '_pdbx_struct_comp_nstd_link.label_alt_id' '_atom_site.label_alt_id' atom_site #pdbx_struct_comp_nstd_link 1 '_pdbx_struct_comp_nstd_link.label_asym_id' '_atom_site.label_asym_id' atom_site #pdbx_struct_comp_nstd_link 1 '_pdbx_struct_comp_nstd_link.label_comp_id' '_atom_site.label_comp_id' atom_site #pdbx_struct_comp_nstd_link 1 '_pdbx_struct_comp_nstd_link.label_seq_id' '_atom_site.label_seq_id' atom_site #pdbx_struct_comp_nstd_link 1 '_pdbx_struct_comp_nstd_link.PDB_model_num' '_atom_site.ndb_model' atom_site #pdbx_struct_comp_nstd_link 2 '_pdbx_struct_comp_nstd_link.auth_alt_id' '_atom_site.pdbx_auth_alt_id' atom_site #pdbx_struct_comp_nstd_link 1 '_pdbx_struct_comp_nstd_link.PDB_ins_code' '_atom_site.ndb_ins_code' atom_site # -- PRD V5 relationships --- pdbx_family_prd_audit 1 '_pdbx_family_prd_audit.family_prd_id' '_pdbx_reference_molecule_family.family_prd_id' pdbx_reference_molecule_family pdbx_prd_audit 1 '_pdbx_prd_audit.prd_id' '_pdbx_reference_molecule.prd_id' pdbx_reference_molecule pdbx_reference_molecule_list 1 '_pdbx_reference_molecule_list.family_prd_id' '_pdbx_reference_molecule_family.family_prd_id' pdbx_reference_molecule_family # pdbx_reference_molecule_annotation 1 '_pdbx_reference_molecule_annotation.family_prd_id' '_pdbx_reference_molecule_list.family_prd_id' pdbx_reference_molecule_list pdbx_reference_molecule_annotation 1 '_pdbx_reference_molecule_annotation.prd_id' '_pdbx_reference_molecule_list.prd_id' pdbx_reference_molecule_list pdbx_reference_molecule_details 1 '_pdbx_reference_molecule_details.family_prd_id' '_pdbx_reference_molecule_list.family_prd_id' pdbx_reference_molecule_list pdbx_reference_molecule_details 1 '_pdbx_reference_molecule_details.prd_id' '_pdbx_reference_molecule_list.prd_id' pdbx_reference_molecule_list pdbx_reference_molecule_synonyms 1 '_pdbx_reference_molecule_synonyms.family_prd_id' '_pdbx_reference_molecule_list.family_prd_id' pdbx_reference_molecule_list pdbx_reference_molecule_synonyms 1 '_pdbx_reference_molecule_synonyms.prd_id' '_pdbx_reference_molecule_list.prd_id' pdbx_reference_molecule_list #pdbx_reference_entity_subcomponents 1 '_pdbx_reference_entity_subcomponents.family_prd_id' '_pdbx_reference_molecule_list.family_prd_id' pdbx_reference_molecule_list pdbx_reference_entity_subcomponents 1 '_pdbx_reference_entity_subcomponents.prd_id' '_pdbx_reference_molecule.prd_id' pdbx_reference_molecule pdbx_reference_molecule_features 1 '_pdbx_reference_molecule_features.family_prd_id' '_pdbx_reference_molecule_list.family_prd_id' pdbx_reference_molecule_list pdbx_reference_molecule_features 1 '_pdbx_reference_molecule_features.prd_id' '_pdbx_reference_molecule_list.prd_id' pdbx_reference_molecule_list #pdbx_reference_molecule_features 2 '_pdbx_reference_molecule_features.citation_id' '_citation.id' citation #pdbx_reference_molecule_instances 1 '_pdbx_reference_molecule_instances.family_prd_id' '_pdbx_reference_molecule_list.family_prd_id' pdbx_reference_molecule_list #pdbx_reference_molecule_instances 1 '_pdbx_reference_molecule_instances.prd_id' '_pdbx_reference_molecule_list.prd_id' pdbx_reference_molecule_list pdbx_reference_molecule_related_structures 1 '_pdbx_reference_molecule_related_structures.family_prd_id' '_pdbx_reference_molecule_list.family_prd_id' pdbx_reference_molecule_list pdbx_reference_molecule_related_structures 2 '_pdbx_reference_molecule_related_structures.citation_id' '_citation.id' citation ## ## #pdbx_reference_entity_list 1 '_pdbx_reference_entity_list.family_prd_id' '_pdbx_reference_entity.family_prd_id' pdbx_reference_entity pdbx_reference_entity_list 1 '_pdbx_reference_entity_list.prd_id' '_pdbx_reference_molecule.prd_id' pdbx_reference_molecule #pdbx_reference_entity_nonpoly 1 '_pdbx_reference_entity_nonpoly.family_prd_id' '_pdbx_reference_entity_list.family_prd_id' pdbx_reference_entity_list pdbx_reference_entity_nonpoly 1 '_pdbx_reference_entity_nonpoly.prd_id' '_pdbx_reference_entity_list.prd_id' pdbx_reference_entity_list pdbx_reference_entity_nonpoly 1 '_pdbx_reference_entity_nonpoly.ref_entity_id' '_pdbx_reference_entity_list.ref_entity_id' pdbx_reference_entity_list #pdbx_reference_entity_poly 1 '_pdbx_reference_entity_poly.family_prd_id' '_pdbx_reference_entity_list.family_prd_id' pdbx_reference_entity_list pdbx_reference_entity_poly 1 '_pdbx_reference_entity_poly.prd_id' '_pdbx_reference_entity_list.prd_id' pdbx_reference_entity_list pdbx_reference_entity_poly 1 '_pdbx_reference_entity_poly.ref_entity_id' '_pdbx_reference_entity_list.ref_entity_id' pdbx_reference_entity_list # #pdbx_reference_entity_poly_seq 1 '_pdbx_reference_entity_poly_seq.family_prd_id' '_pdbx_reference_entity_poly.family_prd_id' pdbx_reference_entity_poly pdbx_reference_entity_poly_seq 1 '_pdbx_reference_entity_poly_seq.prd_id' '_pdbx_reference_entity_poly.prd_id' pdbx_reference_entity_poly pdbx_reference_entity_poly_seq 1 '_pdbx_reference_entity_poly_seq.ref_entity_id' '_pdbx_reference_entity_poly.ref_entity_id' pdbx_reference_entity_poly #pdbx_reference_entity_src_nat 1 '_pdbx_reference_entity_src_nat.family_prd_id' '_pdbx_reference_entity_list.family_prd_id' pdbx_reference_entity_list pdbx_reference_entity_src_nat 1 '_pdbx_reference_entity_src_nat.prd_id' '_pdbx_reference_entity_list.prd_id' pdbx_reference_entity_list pdbx_reference_entity_src_nat 1 '_pdbx_reference_entity_src_nat.ref_entity_id' '_pdbx_reference_entity_list.ref_entity_id' pdbx_reference_entity_list #pdbx_reference_entity_sequence 1 '_pdbx_reference_entity_sequence.family_prd_id' '_pdbx_reference_entity_list.family_prd_id' pdbx_reference_entity_list pdbx_reference_entity_sequence 1 '_pdbx_reference_entity_sequence.prd_id' '_pdbx_reference_entity_list.prd_id' pdbx_reference_entity_list pdbx_reference_entity_sequence 1 '_pdbx_reference_entity_sequence.ref_entity_id' '_pdbx_reference_entity_list.ref_entity_id' pdbx_reference_entity_list # # #pdbx_reference_entity_link 1 '_pdbx_reference_entity_link.family_prd_id' '_pdbx_reference_entity_list.family_prd_id' pdbx_reference_entity_list pdbx_reference_entity_link 1 '_pdbx_reference_entity_link.prd_id' '_pdbx_reference_entity_list.prd_id' pdbx_reference_entity_list pdbx_reference_entity_link 2 '_pdbx_reference_entity_link.ref_entity_id_1' '_pdbx_reference_entity_list.ref_entity_id' pdbx_reference_entity_list pdbx_reference_entity_link 2 '_pdbx_reference_entity_link.component_1' '_pdbx_reference_entity_list.component_id' pdbx_reference_entity_list pdbx_reference_entity_link 3 '_pdbx_reference_entity_link.ref_entity_id_2' '_pdbx_reference_entity_list.ref_entity_id' pdbx_reference_entity_list pdbx_reference_entity_link 3 '_pdbx_reference_entity_link.component_2' '_pdbx_reference_entity_list.component_id' pdbx_reference_entity_list pdbx_reference_entity_link 4 '_pdbx_reference_entity_link.entity_seq_num_1' '_pdbx_reference_entity_poly_seq.num' pdbx_reference_entity_poly_seq pdbx_reference_entity_link 5 '_pdbx_reference_entity_link.entity_seq_num_2' '_pdbx_reference_entity_poly_seq.num' pdbx_reference_entity_poly_seq # #pdbx_reference_entity_group 1 '_pdbx_reference_entity_group.prd_id' '_pdbx_reference_entity.prd_id' pdbx_reference_entity #pdbx_reference_entity_group 1 '_pdbx_reference_entity_group.family_prd_id' '_pdbx_reference_entity.family_prd_id' pdbx_reference_entity #pdbx_reference_entity_group_components 1 '_pdbx_reference_entity_group_components.prd_id' '_pdbx_reference_entity.prd_id' pdbx_reference_entity #pdbx_reference_entity_group_components 1 '_pdbx_reference_entity_group_components.family_prd_id' '_pdbx_reference_entity.family_prd_id' pdbx_reference_entity #pdbx_reference_entity_group_components 2 '_pdbx_reference_entity_group_components.group_id' '_pdbx_reference_entity_group.id' pdbx_reference_entity_group #pdbx_reference_entity_grouping 1 '_pdbx_reference_entity_grouping.prd_id' '_pdbx_reference_entity.prd_id' pdbx_reference_entity #pdbx_reference_entity_grouping 1 '_pdbx_reference_entity_grouping.family_prd_id' '_pdbx_reference_entity.family_prd_id' pdbx_reference_entity # # pdbx_reference_entity_poly_link 1 '_pdbx_reference_entity_poly_link.prd_id' '_pdbx_reference_entity_poly.prd_id' pdbx_reference_entity_poly pdbx_reference_entity_poly_link 1 '_pdbx_reference_entity_poly_link.ref_entity_id' '_pdbx_reference_entity_poly.ref_entity_id' pdbx_reference_entity_poly pdbx_reference_entity_poly_link 2 '_pdbx_reference_entity_poly_link.ref_entity_id' '_pdbx_reference_entity_poly_seq.ref_entity_id' pdbx_reference_entity_poly_seq pdbx_reference_entity_poly_link 2 '_pdbx_reference_entity_poly_link.entity_seq_num_1' '_pdbx_reference_entity_poly_seq.num' pdbx_reference_entity_poly_seq pdbx_reference_entity_poly_link 2 '_pdbx_reference_entity_poly_link.comp_id_1' '_pdbx_reference_entity_poly_seq.mon_id' pdbx_reference_entity_poly_seq pdbx_reference_entity_poly_link 3 '_pdbx_reference_entity_poly_link.ref_entity_id' '_pdbx_reference_entity_poly_seq.ref_entity_id' pdbx_reference_entity_poly_seq pdbx_reference_entity_poly_link 3 '_pdbx_reference_entity_poly_link.entity_seq_num_2' '_pdbx_reference_entity_poly_seq.num' pdbx_reference_entity_poly_seq pdbx_reference_entity_poly_link 3 '_pdbx_reference_entity_poly_link.comp_id_2' '_pdbx_reference_entity_poly_seq.mon_id' pdbx_reference_entity_poly_seq #pdbx_reference_entity_poly_link 4 '_pdbx_reference_entity_poly_link.family_prd_id' '_pdbx_reference_entity_list.family_prd_id' pdbx_reference_entity_list pdbx_reference_entity_poly_link 4 '_pdbx_reference_entity_poly_link.prd_id' '_pdbx_reference_entity_list.prd_id' pdbx_reference_entity_list pdbx_reference_entity_poly_link 4 '_pdbx_reference_entity_poly_link.ref_entity_id' '_pdbx_reference_entity_list.ref_entity_id' pdbx_reference_entity_list pdbx_reference_entity_poly_link 4 '_pdbx_reference_entity_poly_link.component_id' '_pdbx_reference_entity_list.component_id' pdbx_reference_entity_list # pdbx_molecule 1 '_pdbx_molecule.asym_id' '_struct_asym.id' struct_asym # pdbx_distant_solvent_atoms 1 '_pdbx_distant_solvent_atoms.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_distant_solvent_atoms 2 '_pdbx_distant_solvent_atoms.auth_comp_id' '_chem_comp.id' chem_comp pdbx_distant_solvent_atoms 3 '_pdbx_distant_solvent_atoms.label_comp_id' '_chem_comp.id' chem_comp pdbx_distant_solvent_atoms 4 '_pdbx_distant_solvent_atoms.label_asym_id' '_struct_asym.id' struct_asym # pdbx_validate_polymer_linkage 1 '_pdbx_validate_polymer_linkage.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site pdbx_validate_polymer_linkage 1 '_pdbx_validate_polymer_linkage.auth_asym_id_1' '_atom_site.auth_asym_id' atom_site pdbx_validate_polymer_linkage 1 '_pdbx_validate_polymer_linkage.auth_atom_id_1' '_atom_site.auth_atom_id' atom_site pdbx_validate_polymer_linkage 1 '_pdbx_validate_polymer_linkage.auth_comp_id_1' '_atom_site.auth_comp_id' atom_site pdbx_validate_polymer_linkage 1 '_pdbx_validate_polymer_linkage.auth_seq_id_1' '_atom_site.auth_seq_id' atom_site pdbx_validate_polymer_linkage 1 '_pdbx_validate_polymer_linkage.PDB_ins_code_1' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_polymer_linkage 1 '_pdbx_validate_polymer_linkage.label_alt_id_1' '_atom_site.label_alt_id' atom_site pdbx_validate_polymer_linkage 2 '_pdbx_validate_polymer_linkage.auth_atom_id_2' '_atom_site.auth_atom_id' atom_site pdbx_validate_polymer_linkage 2 '_pdbx_validate_polymer_linkage.auth_asym_id_2' '_atom_site.auth_asym_id' atom_site pdbx_validate_polymer_linkage 2 '_pdbx_validate_polymer_linkage.auth_comp_id_2' '_atom_site.auth_comp_id' atom_site pdbx_validate_polymer_linkage 2 '_pdbx_validate_polymer_linkage.auth_seq_id_2' '_atom_site.auth_seq_id' atom_site pdbx_validate_polymer_linkage 2 '_pdbx_validate_polymer_linkage.PDB_ins_code_2' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_validate_polymer_linkage 2 '_pdbx_validate_polymer_linkage.label_alt_id_2' '_atom_site.label_alt_id' atom_site # pdbx_chem_comp_subcomponent_struct_conn 1 '_pdbx_chem_comp_subcomponent_struct_conn.entity_id_1' '_chem_comp_atom.pdbx_component_entity_id' chem_comp_atom pdbx_chem_comp_subcomponent_struct_conn 1 '_pdbx_chem_comp_subcomponent_struct_conn.atom_id_1' '_chem_comp_atom.pdbx_component_atom_id' chem_comp_atom pdbx_chem_comp_subcomponent_struct_conn 1 '_pdbx_chem_comp_subcomponent_struct_conn.comp_id_1' '_chem_comp_atom.pdbx_component_comp_id' chem_comp_atom pdbx_chem_comp_subcomponent_struct_conn 1 '_pdbx_chem_comp_subcomponent_struct_conn.seq_id_1' '_chem_comp_atom.pdbx_residue_numbering' chem_comp_atom # pdbx_chem_comp_subcomponent_struct_conn 2 '_pdbx_chem_comp_subcomponent_struct_conn.atom_id_2' '_chem_comp_atom.pdbx_component_atom_id' chem_comp_atom pdbx_chem_comp_subcomponent_struct_conn 2 '_pdbx_chem_comp_subcomponent_struct_conn.entity_id_2' '_chem_comp_atom.pdbx_component_entity_id' chem_comp_atom pdbx_chem_comp_subcomponent_struct_conn 2 '_pdbx_chem_comp_subcomponent_struct_conn.comp_id_2' '_chem_comp_atom.pdbx_component_comp_id' chem_comp_atom pdbx_chem_comp_subcomponent_struct_conn 2 '_pdbx_chem_comp_subcomponent_struct_conn.seq_id_2' '_chem_comp_atom.pdbx_residue_numbering' chem_comp_atom # pdbx_chem_comp_subcomponent_entity_list 1 '_pdbx_chem_comp_subcomponent_entity_list.parent_comp_id' '_chem_comp.id' chem_comp # pdbx_chem_comp_synonyms 1 '_pdbx_chem_comp_synonyms.comp_id' '_chem_comp.id' chem_comp pdbx_struct_special_symmetry 1 '_pdbx_struct_special_symmetry.auth_comp_id' '_chem_comp.id' chem_comp pdbx_struct_special_symmetry 1 '_pdbx_struct_special_symmetry.label_comp_id' '_chem_comp.id' chem_comp pdbx_struct_special_symmetry 2 '_pdbx_struct_special_symmetry.label_asym_id' '_struct_asym.id' struct_asym pdbx_struct_special_symmetry 3 '_pdbx_struct_special_symmetry.PDB_model_num' '_atom_site.pdbx_PDB_model_num' atom_site # pdbx_nmr_chem_shift_experiment 1 '_pdbx_nmr_chem_shift_experiment.assigned_chem_shift_list_id' '_pdbx_nmr_assigned_chem_shift_list.id' pdbx_nmr_assigned_chem_shift_list pdbx_nmr_chem_shift_software 1 '_pdbx_nmr_chem_shift_software.assigned_chem_shift_list_id' '_pdbx_nmr_assigned_chem_shift_list.id' pdbx_nmr_assigned_chem_shift_list pdbx_nmr_spectral_dim 1 '_pdbx_nmr_spectral_dim.spectral_peak_list_id' '_pdbx_nmr_spectral_peak_list.id' pdbx_nmr_spectral_peak_list pdbx_nmr_spectral_peak_software 1 '_pdbx_nmr_spectral_peak_software.spectral_peak_list_id' '_pdbx_nmr_spectral_peak_list.id' pdbx_nmr_spectral_peak_list pdbx_nmr_systematic_chem_shift_offset 1 '_pdbx_nmr_systematic_chem_shift_offset.assigned_chem_shift_list_id' '_pdbx_nmr_assigned_chem_shift_list.id' pdbx_nmr_assigned_chem_shift_list # ## #pdbx_chem_comp_instance_depositor_info 1 '_pdbx_chem_comp_instance_depositor_info.label_alt_id' '_atom_site.label_alt_id' atom_site #pdbx_chem_comp_instance_depositor_info 1 '_pdbx_chem_comp_instance_depositor_info.comp_id' '_atom_site.label_comp_id' atom_site #pdbx_chem_comp_instance_depositor_info 1 '_pdbx_chem_comp_instance_depositor_info.PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site #pdbx_chem_comp_instance_depositor_info 1 '_pdbx_chem_comp_instance_depositor_info.auth_asym_id' '_atom_site.auth_asym_id' atom_site #pdbx_chem_comp_instance_depositor_info 1 '_pdbx_chem_comp_instance_depositor_info.auth_seq_id' '_atom_site.auth_seq_id' atom_site # pdbx_entity_poly_comp_link_list 1 '_pdbx_entity_poly_comp_link_list.atom_id_1' '_chem_comp_atom.atom_id' chem_comp_atom pdbx_entity_poly_comp_link_list 2 '_pdbx_entity_poly_comp_link_list.leaving_atom_id_1' '_chem_comp_atom.atom_id' chem_comp_atom pdbx_entity_poly_comp_link_list 3 '_pdbx_entity_poly_comp_link_list.atom_id_2' '_chem_comp_atom.atom_id' chem_comp_atom pdbx_entity_poly_comp_link_list 4 '_pdbx_entity_poly_comp_link_list.leaving_atom_id_2' '_chem_comp_atom.atom_id' chem_comp_atom pdbx_entity_poly_comp_link_list 5 '_pdbx_entity_poly_comp_link_list.entity_id' '_entity_poly_seq.entity_id' entity_poly_seq pdbx_entity_poly_comp_link_list 5 '_pdbx_entity_poly_comp_link_list.entity_comp_num_1' '_entity_poly_seq.num' entity_poly_seq pdbx_entity_poly_comp_link_list 5 '_pdbx_entity_poly_comp_link_list.comp_id_1' '_entity_poly_seq.mon_id' entity_poly_seq pdbx_entity_poly_comp_link_list 6 '_pdbx_entity_poly_comp_link_list.entity_comp_num_2' '_entity_poly_seq.num' entity_poly_seq pdbx_entity_poly_comp_link_list 6 '_pdbx_entity_poly_comp_link_list.comp_id_2' '_entity_poly_seq.mon_id' entity_poly_seq # pdbx_linked_entity_instance_list 1 '_pdbx_linked_entity_instance_list.linked_entity_id' '_pdbx_linked_entity.linked_entity_id' pdbx_linked_entity pdbx_linked_entity_instance_list 2 '_pdbx_linked_entity_instance_list.asym_id' '_struct_asym.id' struct_asym pdbx_linked_entity_link_list 1 '_pdbx_linked_entity_link_list.entity_seq_num_1' '_entity_poly_seq.num' entity_poly_seq pdbx_linked_entity_link_list 2 '_pdbx_linked_entity_link_list.entity_seq_num_2' '_entity_poly_seq.num' entity_poly_seq pdbx_linked_entity_link_list 3 '_pdbx_linked_entity_link_list.linked_entity_id' '_pdbx_linked_entity_list.linked_entity_id' pdbx_linked_entity_list pdbx_linked_entity_link_list 3 '_pdbx_linked_entity_link_list.entity_id_1' '_pdbx_linked_entity_list.entity_id' pdbx_linked_entity_list pdbx_linked_entity_link_list 3 '_pdbx_linked_entity_link_list.component_1' '_pdbx_linked_entity_list.component_id' pdbx_linked_entity_list pdbx_linked_entity_link_list 4 '_pdbx_linked_entity_link_list.entity_id_2' '_pdbx_linked_entity_list.entity_id' pdbx_linked_entity_list pdbx_linked_entity_link_list 4 '_pdbx_linked_entity_link_list.component_2' '_pdbx_linked_entity_list.component_id' pdbx_linked_entity_list pdbx_linked_entity_list 1 '_pdbx_linked_entity_list.entity_id' '_entity.id' entity pdbx_linked_entity_list 2 '_pdbx_linked_entity_list.linked_entity_id' '_pdbx_linked_entity.linked_entity_id' pdbx_linked_entity # pdbx_point_symmetry_depositor_info 1 '_pdbx_point_symmetry_depositor_info.entry_id' '_entry.id' entry # pdbx_reference_linked_entity_comp_link 1 '_pdbx_reference_linked_entity_comp_link.linked_entity_id' '_pdbx_reference_linked_entity_comp_list.linked_entity_id' pdbx_reference_linked_entity_comp_list pdbx_reference_linked_entity_comp_link 1 '_pdbx_reference_linked_entity_comp_link.list_id_1' '_pdbx_reference_linked_entity_comp_list.list_id' pdbx_reference_linked_entity_comp_list pdbx_reference_linked_entity_comp_link 2 '_pdbx_reference_linked_entity_comp_link.list_id_2' '_pdbx_reference_linked_entity_comp_list.list_id' pdbx_reference_linked_entity_comp_list pdbx_reference_linked_entity_comp_list 1 '_pdbx_reference_linked_entity_comp_list.linked_entity_id' '_pdbx_reference_linked_entity.id' pdbx_reference_linked_entity pdbx_reference_linked_entity_link 1 '_pdbx_reference_linked_entity_link.linked_entity_id' '_pdbx_reference_linked_entity_comp_list.linked_entity_id' pdbx_reference_linked_entity_comp_list pdbx_reference_linked_entity_link 1 '_pdbx_reference_linked_entity_link.from_list_id' '_pdbx_reference_linked_entity_comp_list.list_id' pdbx_reference_linked_entity_comp_list # pdbx_solvent_atom_site_mapping 1 '_pdbx_solvent_atom_site_mapping.label_alt_id' '_atom_site.label_alt_id' atom_site pdbx_solvent_atom_site_mapping 1 '_pdbx_solvent_atom_site_mapping.label_asym_id' '_atom_site.label_asym_id' atom_site pdbx_solvent_atom_site_mapping 1 '_pdbx_solvent_atom_site_mapping.label_atom_id' '_atom_site.label_atom_id' atom_site pdbx_solvent_atom_site_mapping 1 '_pdbx_solvent_atom_site_mapping.label_comp_id' '_atom_site.label_comp_id' atom_site pdbx_solvent_atom_site_mapping 1 '_pdbx_solvent_atom_site_mapping.label_seq_id' '_atom_site.label_seq_id' atom_site pdbx_solvent_atom_site_mapping 1 '_pdbx_solvent_atom_site_mapping.PDB_ins_code' '_atom_site.pdbx_PDB_ins_code' atom_site pdbx_solvent_atom_site_mapping 1 '_pdbx_solvent_atom_site_mapping.auth_asym_id' '_atom_site.auth_asym_id' atom_site pdbx_solvent_atom_site_mapping 1 '_pdbx_solvent_atom_site_mapping.auth_atom_id' '_atom_site.auth_atom_id' atom_site pdbx_solvent_atom_site_mapping 1 '_pdbx_solvent_atom_site_mapping.auth_comp_id' '_atom_site.auth_comp_id' atom_site pdbx_solvent_atom_site_mapping 1 '_pdbx_solvent_atom_site_mapping.auth_seq_id' '_atom_site.auth_seq_id' atom_site # pdbx_helical_symmetry_depositor_info 1 '_pdbx_helical_symmetry_depositor_info.entry_id' '_entry.id' entry pdbx_entity_branch_descriptor 1 '_pdbx_entity_branch_descriptor.entity_id' '_entity.id' entity # libcifpp-2.0.5/src/0000775000175000017500000000000014200173347013740 5ustar maartenmaartenlibcifpp-2.0.5/src/AtomType.cpp0000664000175000017500000026064614200173347016224 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include "cif++/AtomType.hpp" #include "cif++/Cif++.hpp" namespace mmcif { namespace data { const float kNA = std::nanf("1"); const AtomTypeInfo kKnownAtoms[] = { { Nn, "Unknown", "Nn", 0, false, { kNA, kNA, kNA, kNA, kNA, kNA, kNA } }, // 0 Nn Unknown { H, "Hydrogen", "H", 1.008f, false, { 53, 25, 37, 32, kNA, kNA, 120 } }, // 1 H Hydro­gen { He, "Helium", "He", 4.0026f, false, { 31, kNA, 32, 46, kNA, kNA, 140 } }, // 2 He He­lium { Li, "Lithium", "Li", 6.94f, true, { 167, 145, 134, 133, 124, kNA, 182 } }, // 3 Li Lith­ium { Be, "Beryllium", "Be", 9.0122f, true, { 112, 105, 90, 102, 90, 85, kNA } }, // 4 Be Beryl­lium { B, "Boron", "B", 10.81f, true, { 87, 85, 82, 85, 78, 73, kNA } }, // 5 B Boron { C, "Carbon", "C", 12.011f, false, { 67, 70, 77, 75, 67, 60, 170 } }, // 6 C Carbon { N, "Nitrogen", "N", 14.007f, false, { 56, 65, 75, 71, 60, 54, 155 } }, // 7 N Nitro­gen { O, "Oxygen", "O", 15.999f, false, { 48, 60, 73, 63, 57, 53, 152 } }, // 8 O Oxy­gen { F, "Fluorine", "F", 18.998f, false, { 42, 50, 71, 64, 59, 53, 147 } }, // 9 F Fluor­ine { Ne, "Neon", "Ne", 20.180f, false, { 38, kNA, 69, 67, 96, kNA, 154 } }, // 10 Ne Neon { Na, "Sodium", "Na", 22.990f, true, { 190, 180, 154, 155, 160, kNA, 227 } }, // 11 Na So­dium { Mg, "Magnesium", "Mg", 24.305f, true, { 145, 150, 130, 139, 132, 127, 173 } }, // 12 Mg Magne­sium { Al, "Aluminium", "Al", 26.982f, true, { 118, 125, 118, 126, 113, 111, kNA } }, // 13 Al Alumin­ium { Si, "Silicon", "Si", 28.085f, true, { 111, 110, 111, 116, 107, 102, 210 } }, // 14 Si Sili­con { P, "Phosphorus", "P", 30.974f, false, { 98, 100, 106, 111, 102, 94, 180 } }, // 15 P Phos­phorus { S, "Sulfur", "S", 32.06f, false, { 88, 100, 102, 103, 94, 95, 180 } }, // 16 S Sulfur { Cl, "Chlorine", "Cl", 35.45f, false, { 79, 100, 99, 99, 95, 93, 175 } }, // 17 Cl Chlor­ine { Ar, "Argon", "Ar", 39.948f, false, { 71, kNA, 97, 96, 107, 96, 188 } }, // 18 Ar Argon { K, "Potassium", "K", 39.098f, true, { 243, 220, 196, 196, 193, kNA, 275 } }, // 19 K Potas­sium { Ca, "Calcium", "Ca", 40.078f, true, { 194, 180, 174, 171, 147, 133, kNA } }, // 20 Ca Cal­cium { Sc, "Scandium", "Sc", 44.956f, true, { 184, 160, 144, 148, 116, 114, kNA } }, // 21 Sc Scan­dium { Ti, "Titanium", "Ti", 47.867f, true, { 176, 140, 136, 136, 117, 108, kNA } }, // 22 Ti Tita­nium { V, "Vanadium", "V", 50.942f, true, { 171, 135, 125, 134, 112, 106, kNA } }, // 23 V Vana­dium { Cr, "Chromium", "Cr", 51.996f, true, { 166, 140, 127, 122, 111, 103, kNA } }, // 24 Cr Chrom­ium { Mn, "Manganese", "Mn", 54.938f, true, { 161, 140, 139, 119, 105, 103, kNA } }, // 25 Mn Manga­nese { Fe, "Iron", "Fe", 55.845f, true, { 156, 140, 125, 116, 109, 102, kNA } }, // 26 Fe Iron { Co, "Cobalt", "Co", 58.933f, true, { 152, 135, 126, 111, 103, 96, kNA } }, // 27 Co Cobalt { Ni, "Nickel", "Ni", 58.693f, true, { 149, 135, 121, 110, 101, 101, 163 } }, // 28 Ni Nickel { Cu, "Copper", "Cu", 63.546f, true, { 145, 135, 138, 112, 115, 120, 140 } }, // 29 Cu Copper { Zn, "Zinc", "Zn", 65.38f, true, { 142, 135, 131, 118, 120, kNA, 139 } }, // 30 Zn Zinc { Ga, "Gallium", "Ga", 69.723f, true, { 136, 130, 126, 124, 117, 121, 187 } }, // 31 Ga Gallium { Ge, "Germanium", "Ge", 72.630f, true, { 125, 125, 122, 121, 111, 114, kNA } }, // 32 Ge Germa­nium { As, "Arsenic", "As", 74.922f, true, { 114, 115, 119, 121, 114, 106, 185 } }, // 33 As Arsenic { Se, "Selenium", "Se", 78.971f, false, { 103, 115, 116, 116, 107, 107, 190 } }, // 34 Se Sele­nium { Br, "Bromine", "Br", 79.904f, false, { 94, 115, 114, 114, 109, 110, 185 } }, // 35 Br Bromine { Kr, "Krypton", "Kr", 83.798f, false, { 88, kNA, 110, 117, 121, 108, 202 } }, // 36 Kr Kryp­ton { Rb, "Rubidium", "Rb", 85.468f, true, { 265, 235, 211, 210, 202, kNA, kNA } }, // 37 Rb Rubid­ium { Sr, "Strontium", "Sr", 87.62f, true, { 219, 200, 192, 185, 157, 139, kNA } }, // 38 Sr Stront­ium { Y, "Yttrium", "Y", 88.906f, true, { 212, 180, 162, 163, 130, 124, kNA } }, // 39 Y Yttrium { Zr, "Zirconium", "Zr", 91.224f, true, { 206, 155, 148, 154, 127, 121, kNA } }, // 40 Zr Zirco­nium { Nb, "Niobium", "Nb", 92.906f, true, { 198, 145, 137, 147, 125, 116, kNA } }, // 41 Nb Nio­bium { Mo, "Molybdenum", "Mo", 95.95f, true, { 190, 145, 145, 138, 121, 113, kNA } }, // 42 Mo Molyb­denum { Tc, "Technetium", "Tc", 98, true, { 183, 135, 156, 128, 120, 110, kNA } }, // 43 Tc Tech­netium { Ru, "Ruthenium", "Ru", 101.07f, true, { 178, 130, 126, 125, 114, 103, kNA } }, // 44 Ru Ruthe­nium { Rh, "Rhodium", "Rh", 102.91f, true, { 173, 135, 135, 125, 110, 106, kNA } }, // 45 Rh Rho­dium { Pd, "Palladium", "Pd", 106.42f, true, { 169, 140, 131, 120, 117, 112, 163 } }, // 46 Pd Pallad­ium { Ag, "Silver", "Ag", 107.87f, true, { 165, 160, 153, 128, 139, 137, 172 } }, // 47 Ag Silver { Cd, "Cadmium", "Cd", 112.41f, true, { 161, 155, 148, 136, 144, kNA, 158 } }, // 48 Cd Cad­mium { In, "Indium", "In", 114.82f, true, { 156, 155, 144, 142, 136, 146, 193 } }, // 49 In Indium { Sn, "Tin", "Sn", 118.71f, true, { 145, 145, 141, 140, 130, 132, 217 } }, // 50 Sn Tin { Sb, "Antimony", "Sb", 121.76f, false, { 133, 145, 138, 140, 133, 127, kNA } }, // 51 Sb Anti­mony { Te, "Tellurium", "Te", 127.60f, false, { 123, 140, 135, 136, 128, 121, 206 } }, // 52 Te Tellurium { I, "Iodine", "I", 126.90f, false, { 115, 140, 133, 133, 129, 125, 198 } }, // 53 I Iodine { Xe, "Xenon", "Xe", 131.29f, false, { 108, kNA, 130, 131, 135, 122, 216 } }, // 54 Xe Xenon { Cs, "Caesium", "Cs", 132.91f, true, { 298, 260, 225, 232, 209, kNA, kNA } }, // 55 Cs Cae­sium { Ba, "Barium", "Ba", 137.33f, true, { 253, 215, 198, 196, 161, 149, kNA } }, // 56 Ba Ba­rium { La, "Lanthanum", "La", 138.91f, true, { kNA, 195, 169, 180, 139, 139, kNA } }, // 57 La Lan­thanum { Ce, "Cerium", "Ce", 140.12f, true, { kNA, 185, kNA, 163, 137, 131, kNA } }, // 58 Ce Cerium { Pr, "Praseodymium", "Pr", 140.91f, true, { 247, 185, kNA, 176, 138, 128, kNA } }, // 59 Pr Praseo­dymium { Nd, "Neodymium", "Nd", 144.24f, true, { 206, 185, kNA, 174, 137, kNA, kNA } }, // 60 Nd Neo­dymium { Pm, "Promethium", "Pm", 145, true, { 205, 185, kNA, 173, 135, kNA, kNA } }, // 61 Pm Prome­thium { Sm, "Samarium", "Sm", 150.36f, true, { 238, 185, kNA, 172, 134, kNA, kNA } }, // 62 Sm Sama­rium { Eu, "Europium", "Eu", 151.96f, true, { 231, 185, kNA, 168, 134, kNA, kNA } }, // 63 Eu Europ­ium { Gd, "Gadolinium", "Gd", 157.25f, true, { 233, 180, kNA, 169, 135, 132, kNA } }, // 64 Gd Gadolin­ium { Tb, "Terbium", "Tb", 158.93f, true, { 225, 175, kNA, 168, 135, kNA, kNA } }, // 65 Tb Ter­bium { Dy, "Dysprosium", "Dy", 162.50f, true, { 228, 175, kNA, 167, 133, kNA, kNA } }, // 66 Dy Dyspro­sium { Ho, "Holmium", "Ho", 164.93f, true, { 226, 175, kNA, 166, 133, kNA, kNA } }, // 67 Ho Hol­mium { Er, "Erbium", "Er", 167.26f, true, { 226, 175, kNA, 165, 133, kNA, kNA } }, // 68 Er Erbium { Tm, "Thulium", "Tm", 168.93f, true, { 222, 175, kNA, 164, 131, kNA, kNA } }, // 69 Tm Thulium { Yb, "Ytterbium", "Yb", 173.05f, true, { 222, 175, kNA, 170, 129, kNA, kNA } }, // 70 Yb Ytter­bium { Lu, "Lutetium", "Lu", 174.97f, true, { 217, 175, 160, 162, 131, 131, kNA } }, // 71 Lu Lute­tium { Hf, "Hafnium", "Hf", 178.49f, true, { 208, 155, 150, 152, 128, 122, kNA } }, // 72 Hf Haf­nium { Ta, "Tantalum", "Ta", 180.95f, true, { 200, 145, 138, 146, 126, 119, kNA } }, // 73 Ta Tanta­lum { W, "Tungsten", "W", 183.84f, true, { 193, 135, 146, 137, 120, 115, kNA } }, // 74 W Tung­sten { Re, "Rhenium", "Re", 186.21f, true, { 188, 135, 159, 131, 119, 110, kNA } }, // 75 Re Rhe­nium { Os, "Osmium", "Os", 190.23f, true, { 185, 130, 128, 129, 116, 109, kNA } }, // 76 Os Os­mium { Ir, "Iridium", "Ir", 192.22f, true, { 180, 135, 137, 122, 115, 107, kNA } }, // 77 Ir Iridium { Pt, "Platinum", "Pt", 195.08f, true, { 177, 135, 128, 123, 112, 110, 175 } }, // 78 Pt Plat­inum { Au, "Gold", "Au", 196.97f, true, { 174, 135, 144, 124, 121, 123, 166 } }, // 79 Au Gold { Hg, "Mercury", "Hg", 200.59f, true, { 171, 150, 149, 133, 142, kNA, 155 } }, // 80 Hg Mer­cury { Tl, "Thallium", "Tl", 204.38f, true, { 156, 190, 148, 144, 142, 150, 196 } }, // 81 Tl Thallium { Pb, "Lead", "Pb", 207.2f, true, { 154, 180, 147, 144, 135, 137, 202 } }, // 82 Pb Lead { Bi, "Bismuth", "Bi", 208.98f, true, { 143, 160, 146, 151, 141, 135, kNA } }, // 83 Bi Bis­muth { Po, "Polonium", "Po", 209, true, { 135, 190, kNA, 145, 135, 129, kNA } }, // 84 Po Polo­nium { At, "Astatine", "At", 210, false, { 127, kNA, kNA, 147, 138, 138, kNA } }, // 85 At Asta­tine { Rn, "Radon", "Rn", 222, false, { 120, kNA, 145, 142, 145, 133, kNA } }, // 86 Rn Radon { Fr, "Francium", "Fr", 223, true, { kNA, kNA, kNA, 223, 218, kNA, kNA } }, // 87 Fr Fran­cium { Ra, "Radium", "Ra", 226, true, { kNA, 215, kNA, 201, 173, 159, kNA } }, // 88 Ra Ra­dium { Ac, "Actinium", "Ac", 227, true, { kNA, 195, kNA, 186, 153, 140, kNA } }, // 89 Ac Actin­ium { Th, "Thorium", "Th", 232.04f, true, { kNA, 180, kNA, 175, 143, 136, kNA } }, // 90 Th Thor­ium { Pa, "Protactinium", "Pa", 231.04f, true, { kNA, 180, kNA, 169, 138, 129, kNA } }, // 91 Pa Protac­tinium { U, "Uranium", "U", 238.03f, true, { kNA, 175, kNA, 170, 134, 118, 186 } }, // 92 U Ura­nium { Np, "Neptunium", "Np", 237, true, { kNA, 175, kNA, 171, 136, 116, kNA } }, // 93 Np Neptu­nium { Pu, "Plutonium", "Pu", 244, true, { kNA, 175, kNA, 172, 135, kNA, kNA } }, // 94 Pu Pluto­nium { Am, "Americium", "Am", 243, true, { kNA, 175, kNA, 166, 135, kNA, kNA } }, // 95 Am Ameri­cium { Cm, "Curium", "Cm", 247, true, { kNA, kNA, kNA, 166, 136, kNA, kNA } }, // 96 Cm Curium { Bk, "Berkelium", "Bk", 247, true, { kNA, kNA, kNA, 168, 139, kNA, kNA } }, // 97 Bk Berkel­ium { Cf, "Californium", "Cf", 251, true, { kNA, kNA, kNA, 168, 140, kNA, kNA } }, // 98 Cf Califor­nium { Es, "Einsteinium", "Es", 252, true, { kNA, kNA, kNA, 165, 140, kNA, kNA } }, // 99 Es Einstei­nium { Fm, "Fermium", "Fm", 257, true, { kNA, kNA, kNA, 167, kNA, kNA, kNA } }, // 100 Fm Fer­mium { Md, "Mendelevium", "Md", 258, true, { kNA, kNA, kNA, 173, 139, kNA, kNA } }, // 101 Md Mende­levium { No, "Nobelium", "No", 259, true, { kNA, kNA, kNA, 176, kNA, kNA, kNA } }, // 102 No Nobel­ium { Lr, "Lawrencium", "Lr", 266, true, { kNA, kNA, kNA, 161, 141, kNA, kNA } }, // 103 Lr Lawren­cium { Rf, "Rutherfordium", "Rf", 267, true, { kNA, kNA, kNA, 157, 140, 131, kNA } }, // 104 Rf Ruther­fordium { Db, "Dubnium", "Db", 268, true, { kNA, kNA, kNA, 149, 136, 126, kNA } }, // 105 Db Dub­nium { Sg, "Seaborgium", "Sg", 269, true, { kNA, kNA, kNA, 143, 128, 121, kNA } }, // 106 Sg Sea­borgium { Bh, "Bohrium", "Bh", 270, true, { kNA, kNA, kNA, 141, 128, 119, kNA } }, // 107 Bh Bohr­ium { Hs, "Hassium", "Hs", 277, true, { kNA, kNA, kNA, 134, 125, 118, kNA } }, // 108 Hs Has­sium { Mt, "Meitnerium", "Mt", 278, true, { kNA, kNA, kNA, 129, 125, 113, kNA } }, // 109 Mt Meit­nerium { Ds, "Darmstadtium", "Ds", 281, true, { kNA, kNA, kNA, 128, 116, 112, kNA } }, // 110 Ds Darm­stadtium { Rg, "Roentgenium", "Rg", 282, true, { kNA, kNA, kNA, 121, 116, 118, kNA } }, // 111 Rg Roent­genium { Cn, "Copernicium", "Cn", 285, true, { kNA, kNA, kNA, 122, 137, 130, kNA } }, // 112 Cn Coper­nicium { Nh, "Nihonium", "Nh", 286, true, { kNA, kNA, kNA, 136, kNA, kNA, kNA } }, // 113 Nh Nihon­ium { Fl, "Flerovium", "Fl", 289, true, { kNA, kNA, kNA, 143, kNA, kNA, kNA } }, // 114 Fl Flerov­ium { Mc, "Moscovium", "Mc", 290, true, { kNA, kNA, kNA, 162, kNA, kNA, kNA } }, // 115 Mc Moscov­ium { Lv, "Livermorium", "Lv", 293, true, { kNA, kNA, kNA, 175, kNA, kNA, kNA } }, // 116 Lv Liver­morium { Ts, "Tennessine", "Ts", 294, true, { kNA, kNA, kNA, 165, kNA, kNA, kNA } }, // 117 Ts Tenness­ine { Og, "Oganesson", "Og", 294, true, { kNA, kNA, kNA, 157, kNA, kNA, kNA } }, // 118 Og Oga­nesson { D, "Deuterium", "D", 2.014f, false, { 53, 25, 37, 32, kNA, kNA, 120 } }, // 1 D Deuterium }; uint32_t kKnownAtomsCount = sizeof(kKnownAtoms) / sizeof(AtomTypeInfo); // -------------------------------------------------------------------- // The coefficients from Waasmaier & Kirfel (1995), Acta Cryst. A51, 416-431. struct SFDataArrayElement { AtomType symbol; int8_t charge; AtomTypeTraits::SFData sf; }; SFDataArrayElement kWKSFData[] = { //{ H, 0, {{ 0.493002, 0.322912, 0.140191, 0.040810, 0.003038 }, // { 10.510900, 26.125700, 3.142360, 57.799698, 0.000000 }}}, ////{ D, 0, {{ 0.493002, 0.322912, 0.140191, 0.040810, 0.003038 }, //// { 10.510900, 26.125700, 3.142360, 57.799698, 0.000000 }}}, //{ H, -1, {{ 0.897661, 0.565616, 0.415815, 0.116973, 0.002389 }, // { 53.136799, 15.187000, 186.575989, 3.567090, 0.000000 }}}, //{ He, 0, {{ 0.873400, 0.630900, 0.311200, 0.178000, 0.006400 }, // { 9.103700, 3.356800, 22.927601, 0.982100, 0.000000 }}}, //{ Li, 0, {{ 1.128200, 0.750800, 0.617500, 0.465300, 0.037700 }, // { 3.954600, 1.052400, 85.390503, 168.261002, 0.000000 }}}, //{ Li, +1, {{ 0.696800, 0.788800, 0.341400, 0.156300, 0.016700 }, // { 4.623700, 1.955700, 0.631600, 10.095300, 0.000000 }}}, //{ Be, 0, {{ 1.591900, 1.127800, 0.539100, 0.702900, 0.038500 }, // { 43.642700, 1.862300, 103.483002, 0.542000, 0.000000 }}}, //{ Be, +2, {{ 6.260300, 0.884900, 0.799300, 0.164700, -6.109200 }, // { 0.002700, 0.831300, 2.275800, 5.114600, 0.000000 }}}, //{ B, 0, {{ 2.054500, 1.332600, 1.097900, 0.706800, -0.193200 }, // { 23.218500, 1.021000, 60.349800, 0.140300, 0.000000 }}}, //{ C, 0, {{ 2.310000, 1.020000, 1.588600, 0.865000, 0.215600 }, // { 20.843899, 10.207500, 0.568700, 51.651199, 0.000000 }}}, //{ C, AtomTypeTraits::kWKSFVal, // {{ 2.260690, 1.561650, 1.050750, 0.839259, 0.286977 }, // { 22.690701, 0.656665, 9.756180, 55.594898, 0.000000 }}}, //{ N, 0, {{ 12.212600, 3.132200, 2.012500, 1.166300, -11.528999 }, // { 0.005700, 9.893300, 28.997499, 0.582600, 0.000000 }}}, //{ O, 0, {{ 3.048500, 2.286800, 1.546300, 0.867000, 0.250800 }, // { 13.277100, 5.701100, 0.323900, 32.908897, 0.000000 }}}, //{ O, -1, {{ 4.191600, 1.639690, 1.526730, -20.306999, 21.941200 }, // { 12.857300, 4.172360, 47.017899, -0.014040, 0.000000 }}}, //{ F, 0, {{ 3.539200, 2.641200, 1.517000, 1.024300, 0.277600 }, // { 10.282499, 4.294400, 0.261500, 26.147600, 0.000000 }}}, //{ F, -1, {{ 3.632200, 3.510570, 1.260640, 0.940706, 0.653396 }, // { 5.277560, 14.735300, 0.442258, 47.343700, 0.000000 }}}, //{ Ne, 0, {{ 3.955300, 3.112500, 1.454600, 1.125100, 0.351500 }, // { 8.404200, 3.426200, 0.230600, 21.718399, 0.000000 }}}, //{ Na, 0, {{ 4.762600, 3.173600, 1.267400, 1.112800, 0.676000 }, // { 3.285000, 8.842199, 0.313600, 129.423996, 0.000000 }}}, //{ Na, +1, {{ 3.256500, 3.936200, 1.399800, 1.003200, 0.404000 }, // { 2.667100, 6.115300, 0.200100, 14.039000, 0.000000 }}}, //{ Mg, 0, {{ 5.420400, 2.173500, 1.226900, 2.307300, 0.858400 }, // { 2.827500, 79.261101, 0.380800, 7.193700, 0.000000 }}}, //{ Mg, +2, {{ 3.498800, 3.837800, 1.328400, 0.849700, 0.485300 }, // { 2.167600, 4.754200, 0.185000, 10.141100, 0.000000 }}}, //{ Al, 0, {{ 6.420200, 1.900200, 1.593600, 1.964600, 1.115100 }, // { 3.038700, 0.742600, 31.547199, 85.088600, 0.000000 }}}, //{ Al, +3, {{ 4.174480, 3.387600, 1.202960, 0.528137, 0.706786 }, // { 1.938160, 4.145530, 0.228753, 8.285240, 0.000000 }}}, //{ Si, 0, {{ 6.291500, 3.035300, 1.989100, 1.541000, 1.140700 }, // { 2.438600, 32.333698, 0.678500, 81.693695, 0.000000 }}}, //{ Si, AtomTypeTraits::kWKSFVal, // {{ 5.662690, 3.071640, 2.624460, 1.393200, 1.247070 }, // { 2.665200, 38.663399, 0.916946, 93.545799, 0.000000 }}}, //{ Si, +4, {{ 4.439180, 3.203450, 1.194530, 0.416530, 0.746297 }, // { 1.641670, 3.437570, 0.214900, 6.653650, 0.000000 }}}, //{ P, 0, {{ 6.434500, 4.179100, 1.780000, 1.490800, 1.114900 }, // { 1.906700, 27.157000, 0.526000, 68.164497, 0.000000 }}}, //{ S, 0, {{ 6.905300, 5.203400, 1.437900, 1.586300, 0.866900 }, // { 1.467900, 22.215099, 0.253600, 56.172001, 0.000000 }}}, //{ Cl, 0, {{ 11.460400, 7.196400, 6.255600, 1.645500, -9.557400 }, // { 0.010400, 1.166200, 18.519400, 47.778400, 0.000000 }}}, //{ Cl, -1, {{ 18.291500, 7.208400, 6.533700, 2.338600, -16.378000 }, // { 0.006600, 1.171700, 19.542400, 60.448601, 0.000000 }}}, //{ Ar, 0, {{ 7.484500, 6.772300, 0.653900, 1.644200, 1.444500 }, // { 0.907200, 14.840700, 43.898300, 33.392899, 0.000000 }}}, //{ K, 0, {{ 8.218599, 7.439800, 1.051900, 0.865900, 1.422800 }, // { 12.794900, 0.774800, 213.186996, 41.684097, 0.000000 }}}, //{ K, +1, {{ 7.957800, 7.491700, 6.359000, 1.191500, -4.997800 }, // { 12.633100, 0.767400, -0.002000, 31.912800, 0.000000 }}}, //{ Ca, 0, {{ 8.626600, 7.387300, 1.589900, 1.021100, 1.375100 }, // { 10.442100, 0.659900, 85.748398, 178.436996, 0.000000 }}}, //{ Ca, +2, {{ 15.634800, 7.951800, 8.437200, 0.853700, -14.875000 }, // { -0.007400, 0.608900, 10.311600, 25.990499, 0.000000 }}}, //{ Sc, 0, {{ 9.189000, 7.367900, 1.640900, 1.468000, 1.332900 }, // { 9.021299, 0.572900, 136.108002, 51.353100, 0.000000 }}}, //{ Sc, +3, {{ 13.400800, 8.027300, 1.659430, 1.579360, -6.666700 }, // { 0.298540, 7.962900, -0.286040, 16.066200, 0.000000 }}}, //{ Ti, 0, {{ 9.759500, 7.355800, 1.699100, 1.902100, 1.280700 }, // { 7.850800, 0.500000, 35.633801, 116.104996, 0.000000 }}}, //{ Ti, +2, {{ 9.114230, 7.621740, 2.279300, 0.087899, 0.897155 }, // { 7.524300, 0.457585, 19.536100, 61.655800, 0.000000 }}}, //{ Ti, +3, {{ 17.734400, 8.738160, 5.256910, 1.921340, -14.652000 }, // { 0.220610, 7.047160, -0.157620, 15.976800, 0.000000 }}}, //{ Ti, +4, {{ 19.511400, 8.234730, 2.013410, 1.520800, -13.280000 }, // { 0.178847, 6.670180, -0.292630, 12.946400, 0.000000 }}}, //{ V, 0, {{ 10.297100, 7.351100, 2.070300, 2.057100, 1.219900 }, // { 6.865700, 0.438500, 26.893799, 102.477997, 0.000000 }}}, //{ V, +2, {{ 10.106000, 7.354100, 2.288400, 0.022300, 1.229800 }, // { 6.881800, 0.440900, 20.300400, 115.122002, 0.000000 }}}, //{ V, +3, {{ 9.431410, 7.741900, 2.153430, 0.016865, 0.656565 }, // { 6.395350, 0.383349, 15.190800, 63.969002, 0.000000 }}}, //{ V, +5, {{ 15.688700, 8.142080, 2.030810, -9.576000, 1.714300 }, // { 0.679003, 5.401350, 9.972780, 0.940464, 0.000000 }}}, //{ Cr, 0, {{ 10.640600, 7.353700, 3.324000, 1.492200, 1.183200 }, // { 6.103800, 0.392000, 20.262600, 98.739899, 0.000000 }}}, //{ Cr, +2, {{ 9.540340, 7.750900, 3.582740, 0.509107, 0.616898 }, // { 5.660780, 0.344261, 13.307500, 32.422401, 0.000000 }}}, //{ Cr, +3, {{ 9.680900, 7.811360, 2.876030, 0.113575, 0.518275 }, // { 5.594630, 0.334393, 12.828800, 32.876099, 0.000000 }}}, //{ Mn, 0, {{ 11.281900, 7.357300, 3.019300, 2.244100, 1.089600 }, // { 5.340900, 0.343200, 17.867399, 83.754303, 0.000000 }}}, //{ Mn, +2, {{ 10.806100, 7.362000, 3.526800, 0.218400, 1.087400 }, // { 5.279600, 0.343500, 14.343000, 41.323502, 0.000000 }}}, //{ Mn, +3, {{ 9.845210, 7.871940, 3.565310, 0.323613, 0.393974 }, // { 4.917970, 0.294393, 10.817100, 24.128099, 0.000000 }}}, //{ Mn, +4, {{ 9.962530, 7.970570, 2.760670, 0.054447, 0.251877 }, // { 4.848500, 0.283303, 10.485200, 27.573000, 0.000000 }}}, //{ Fe, 0, {{ 11.769500, 7.357300, 3.522200, 2.304500, 1.036900 }, // { 4.761100, 0.307200, 15.353500, 76.880501, 0.000000 }}}, //{ Fe, +2, {{ 11.042400, 7.374000, 4.134600, 0.439900, 1.009700 }, // { 4.653800, 0.305300, 12.054600, 31.280899, 0.000000 }}}, //{ Fe, +3, {{ 11.176400, 7.386300, 3.394800, 0.072400, 0.970700 }, // { 4.614700, 0.300500, 11.672900, 38.556599, 0.000000 }}}, //{ Co, 0, {{ 12.284100, 7.340900, 4.003400, 2.348800, 1.011800 }, // { 4.279100, 0.278400, 13.535900, 71.169197, 0.000000 }}}, //{ Co, +2, {{ 11.229600, 7.388300, 4.739300, 0.710800, 0.932400 }, // { 4.123100, 0.272600, 10.244300, 25.646599, 0.000000 }}}, //{ Co, +3, {{ 10.337999, 7.881730, 4.767950, 0.725591, 0.286667 }, // { 3.909690, 0.238668, 8.355830, 18.349100, 0.000000 }}}, //{ Ni, 0, {{ 12.837600, 7.292000, 4.443800, 2.380000, 1.034100 }, // { 3.878500, 0.256500, 12.176300, 66.342102, 0.000000 }}}, //{ Ni, +2, {{ 11.416600, 7.400500, 5.344200, 0.977300, 0.861400 }, // { 3.676600, 0.244900, 8.873000, 22.162600, 0.000000 }}}, //{ Ni, +3, {{ 10.780600, 7.758680, 5.227460, 0.847114, 0.386044 }, // { 3.547700, 0.223140, 7.644680, 16.967300, 0.000000 }}}, //{ Cu, 0, {{ 13.337999, 7.167600, 5.615800, 1.673500, 1.191000 }, // { 3.582800, 0.247000, 11.396600, 64.812599, 0.000000 }}}, //{ Cu, +1, {{ 11.947500, 7.357300, 6.245500, 1.557800, 0.890000 }, // { 3.366900, 0.227400, 8.662500, 25.848700, 0.000000 }}}, //{ Cu, +2, {{ 11.816800, 7.111810, 5.781350, 1.145230, 1.144310 }, // { 3.374840, 0.244078, 7.987600, 19.896999, 0.000000 }}}, //{ Zn, 0, {{ 14.074300, 7.031800, 5.162500, 2.410000, 1.304100 }, // { 3.265500, 0.233300, 10.316299, 58.709702, 0.000000 }}}, //{ Zn, +2, {{ 11.971900, 7.386200, 6.466800, 1.394000, 0.780700 }, // { 2.994600, 0.203100, 7.082600, 18.099499, 0.000000 }}}, //{ Ga, 0, {{ 15.235400, 6.700600, 4.359100, 2.962300, 1.718900 }, // { 3.066900, 0.241200, 10.780500, 61.413498, 0.000000 }}}, //{ Ga, +3, {{ 12.691999, 6.698830, 6.066920, 1.006600, 1.535450 }, // { 2.812620, 0.227890, 6.364410, 14.412200, 0.000000 }}}, //{ Ge, 0, {{ 16.081600, 6.374700, 3.706800, 3.683000, 2.131300 }, // { 2.850900, 0.251600, 11.446800, 54.762501, 0.000000 }}}, //{ Ge, +4, {{ 12.917200, 6.700030, 6.067910, 0.859041, 1.455720 }, // { 2.537180, 0.205855, 5.479130, 11.603000, 0.000000 }}}, //{ As, 0, {{ 16.672300, 6.070100, 3.431300, 4.277900, 2.531000 }, // { 2.634500, 0.264700, 12.947900, 47.797199, 0.000000 }}}, //{ Se, 0, {{ 17.000599, 5.819600, 3.973100, 4.354300, 2.840900 }, // { 2.409800, 0.272600, 15.237200, 43.816299, 0.000000 }}}, //{ Br, 0, {{ 17.178900, 5.235800, 5.637700, 3.985100, 2.955700 }, // { 2.172300, 16.579599, 0.260900, 41.432800, 0.000000 }}}, //{ Br, -1, {{ 17.171799, 6.333800, 5.575400, 3.727200, 3.177600 }, // { 2.205900, 19.334499, 0.287100, 58.153500, 0.000000 }}}, //{ Kr, 0, {{ 17.355499, 6.728600, 5.549300, 3.537500, 2.825000 }, // { 1.938400, 16.562300, 0.226100, 39.397202, 0.000000 }}}, //{ Rb, 0, {{ 17.178400, 9.643499, 5.139900, 1.529200, 3.487300 }, // { 1.788800, 17.315100, 0.274800, 164.933990, 0.000000 }}}, //{ Rb, +1, {{ 17.581600, 7.659800, 5.898100, 2.781700, 2.078200 }, // { 1.713900, 14.795700, 0.160300, 31.208700, 0.000000 }}}, //{ Sr, 0, {{ 17.566299, 9.818399, 5.422000, 2.669400, 2.506400 }, // { 1.556400, 14.098800, 0.166400, 132.376007, 0.000000 }}}, //{ Sr, +2, {{ 18.087400, 8.137300, 2.565400, -34.193001, 41.402500 }, // { 1.490700, 12.696300, 24.565100, -0.013800, 0.000000 }}}, //{ Y, 0, {{ 17.775999, 10.294600, 5.726290, 3.265880, 1.912130 }, // { 1.402900, 12.800600, 0.125599, 104.353996, 0.000000 }}}, //{ Y, +3, {{ 17.926800, 9.153100, 1.767950, -33.108002, 40.260201 }, // { 1.354170, 11.214500, 22.659901, -0.013190, 0.000000 }}}, //{ Zr, 0, {{ 17.876499, 10.948000, 5.417320, 3.657210, 2.069290 }, // { 1.276180, 11.916000, 0.117622, 87.662697, 0.000000 }}}, //{ Zr, +4, {{ 18.166800, 10.056200, 1.011180, -2.647900, 9.414539 }, // { 1.214800, 10.148300, 21.605400, -0.102760, 0.000000 }}}, //{ Nb, 0, {{ 17.614201, 12.014400, 4.041830, 3.533460, 3.755910 }, // { 1.188650, 11.766000, 0.204785, 69.795700, 0.000000 }}}, //{ Nb, +3, {{ 19.881199, 18.065300, 11.017700, 1.947150, -12.912000 }, // { 0.019175, 1.133050, 10.162100, 28.338900, 0.000000 }}}, //{ Nb, +5, {{ 17.916300, 13.341700, 10.799000, 0.337905, -6.393400 }, // { 1.124460, 0.028781, 9.282060, 25.722799, 0.000000 }}}, //{ Mo, 0, {{ 3.702500, 17.235600, 12.887600, 3.742900, 4.387500 }, // { 0.277200, 1.095800, 11.004000, 61.658401, 0.000000 }}}, //{ Mo, +3, {{ 21.166401, 18.201700, 11.742300, 2.309510, -14.421000 }, // { 0.014734, 1.030310, 9.536590, 26.630699, 0.000000 }}}, //{ Mo, +5, {{ 21.014900, 18.099199, 11.463200, 0.740625, -14.316000 }, // { 0.014345, 1.022380, 8.788090, 23.345200, 0.000000 }}}, //{ Mo, +6, {{ 17.887100, 11.175000, 6.578910, 0.000000, 0.344941 }, // { 1.036490, 8.480610, 0.058881, 0.000000, 0.000000 }}}, //{ Tc, 0, {{ 19.130100, 11.094800, 4.649010, 2.712630, 5.404280 }, // { 0.864132, 8.144870, 21.570700, 86.847198, 0.000000 }}}, //{ Ru, 0, {{ 19.267399, 12.918200, 4.863370, 1.567560, 5.378740 }, // { 0.808520, 8.434669, 24.799700, 94.292801, 0.000000 }}}, //{ Ru, +3, {{ 18.563801, 13.288500, 9.326019, 3.009640, -3.189200 }, // { 0.847329, 8.371640, 0.017662, 22.886999, 0.000000 }}}, //{ Ru, +4, {{ 18.500299, 13.178699, 4.713040, 2.185350, 1.423570 }, // { 0.844582, 8.125340, 0.364950, 20.850399, 0.000000 }}}, //{ Rh, 0, {{ 19.295700, 14.350100, 4.734250, 1.289180, 5.328000 }, // { 0.751536, 8.217580, 25.874901, 98.606201, 0.000000 }}}, //{ Rh, +3, {{ 18.878500, 14.125900, 3.325150, -6.198900, 11.867800 }, // { 0.764252, 7.844380, 21.248699, -0.010360, 0.000000 }}}, //{ Rh, +4, {{ 18.854500, 13.980600, 2.534640, -5.652600, 11.283500 }, // { 0.760825, 7.624360, 19.331699, -0.010200, 0.000000 }}}, //{ Pd, 0, {{ 19.331900, 15.501699, 5.295370, 0.605844, 5.265930 }, // { 0.698655, 7.989290, 25.205200, 76.898598, 0.000000 }}}, //{ Pd, +2, {{ 19.170099, 15.209600, 4.322340, 0.000000, 5.291600 }, // { 0.696219, 7.555730, 22.505699, 0.000000, 0.000000 }}}, //{ Pd, +4, {{ 19.249300, 14.790000, 2.892890, -7.949200, 13.017400 }, // { 0.683839, 7.148330, 17.914400, 0.005127, 0.000000 }}}, //{ Ag, 0, {{ 19.280800, 16.688499, 4.804500, 1.046300, 5.179000 }, // { 0.644600, 7.472600, 24.660500, 99.815598, 0.000000 }}}, //{ Ag, +1, {{ 19.181200, 15.971900, 5.274750, 0.357534, 5.215720 }, // { 0.646179, 7.191230, 21.732599, 66.114700, 0.000000 }}}, //{ Ag, +2, {{ 19.164299, 16.245600, 4.370900, 0.000000, 5.214040 }, // { 0.645643, 7.185440, 21.407200, 0.000000, 0.000000 }}}, //{ Cd, 0, {{ 19.221399, 17.644400, 4.461000, 1.602900, 5.069400 }, // { 0.594600, 6.908900, 24.700800, 87.482498, 0.000000 }}}, //{ Cd, +2, {{ 19.151400, 17.253500, 4.471280, 0.000000, 5.119370 }, // { 0.597922, 6.806390, 20.252100, 0.000000, 0.000000 }}}, //{ In, 0, {{ 19.162399, 18.559601, 4.294800, 2.039600, 4.939100 }, // { 0.547600, 6.377600, 25.849899, 92.802902, 0.000000 }}}, //{ In, +3, {{ 19.104500, 18.110800, 3.788970, 0.000000, 4.996350 }, // { 0.551522, 6.324700, 17.359501, 0.000000, 0.000000 }}}, //{ Sn, 0, {{ 19.188900, 19.100500, 4.458500, 2.466300, 4.782100 }, // { 5.830300, 0.503100, 26.890900, 83.957100, 0.000000 }}}, //{ Sn, +2, {{ 19.109400, 19.054800, 4.564800, 0.487000, 4.786100 }, // { 0.503600, 5.837800, 23.375200, 62.206100, 0.000000 }}}, //{ Sn, +4, {{ 18.933300, 19.713100, 3.418200, 0.019300, 3.918200 }, // { 5.764000, 0.465500, 14.004900, -0.758300, 0.000000 }}}, //{ Sb, 0, {{ 19.641800, 19.045500, 5.037100, 2.682700, 4.590900 }, // { 5.303400, 0.460700, 27.907400, 75.282501, 0.000000 }}}, //{ Sb, +3, {{ 18.975500, 18.932999, 5.107890, 0.288753, 4.696260 }, // { 0.467196, 5.221260, 19.590200, 55.511299, 0.000000 }}}, //{ Sb, +5, {{ 19.868500, 19.030199, 2.412530, 0.000000, 4.692630 }, // { 5.448530, 0.467973, 14.125900, 0.000000, 0.000000 }}}, //{ Te, 0, {{ 19.964399, 19.013800, 6.144870, 2.523900, 4.352000 }, // { 4.817420, 0.420885, 28.528400, 70.840302, 0.000000 }}}, //{ I, 0, {{ 20.147200, 18.994900, 7.513800, 2.273500, 4.071200 }, // { 4.347000, 0.381400, 27.765999, 66.877602, 0.000000 }}}, //{ I, -1, {{ 20.233200, 18.997000, 7.806900, 2.886800, 4.071400 }, // { 4.357900, 0.381500, 29.525900, 84.930397, 0.000000 }}}, //{ Xe, 0, {{ 20.293301, 19.029800, 8.976700, 1.990000, 3.711800 }, // { 3.928200, 0.344000, 26.465900, 64.265800, 0.000000 }}}, //{ Cs, 0, {{ 20.389200, 19.106199, 10.662000, 1.495300, 3.335200 }, // { 3.569000, 0.310700, 24.387899, 213.903992, 0.000000 }}}, //{ Cs, +1, {{ 20.352400, 19.127800, 10.282100, 0.961500, 3.279100 }, // { 3.552000, 0.308600, 23.712799, 59.456497, 0.000000 }}}, //{ Ba, 0, {{ 20.336100, 19.297001, 10.888000, 2.695900, 2.773100 }, // { 3.216000, 0.275600, 20.207300, 167.201996, 0.000000 }}}, //{ Ba, +2, {{ 20.180700, 19.113600, 10.905399, 0.776340, 3.029020 }, // { 3.213670, 0.283310, 20.055799, 51.745998, 0.000000 }}}, //{ La, 0, {{ 20.577999, 19.598999, 11.372700, 3.287190, 2.146780 }, // { 2.948170, 0.244475, 18.772600, 133.123993, 0.000000 }}}, //{ La, +3, {{ 20.248899, 19.376301, 11.632299, 0.336048, 2.408600 }, // { 2.920700, 0.250698, 17.821100, 54.945297, 0.000000 }}}, //{ Ce, 0, {{ 21.167099, 19.769501, 11.851299, 3.330490, 1.862640 }, // { 2.812190, 0.226836, 17.608299, 127.112999, 0.000000 }}}, //{ Ce, +3, {{ 20.803600, 19.559000, 11.936900, 0.612376, 2.090130 }, // { 2.776910, 0.231540, 16.540800, 43.169201, 0.000000 }}}, //{ Ce, +4, {{ 20.323500, 19.818600, 12.123300, 0.144583, 1.591800 }, // { 2.659410, 0.218850, 15.799200, 62.235500, 0.000000 }}}, //{ Pr, 0, {{ 22.043999, 19.669701, 12.385600, 2.824280, 2.058300 }, // { 2.773930, 0.222087, 16.766899, 143.643997, 0.000000 }}}, //{ Pr, +3, {{ 21.372700, 19.749100, 12.132900, 0.975180, 1.771320 }, // { 2.645200, 0.214299, 15.323000, 36.406502, 0.000000 }}}, //{ Pr, +4, {{ 20.941299, 20.053900, 12.466800, 0.296689, 1.242850 }, // { 2.544670, 0.202481, 14.813700, 45.464298, 0.000000 }}}, //{ Nd, 0, {{ 22.684500, 19.684700, 12.774000, 2.851370, 1.984860 }, // { 2.662480, 0.210628, 15.885000, 137.903000, 0.000000 }}}, //{ Nd, +3, {{ 21.961000, 19.933899, 12.120000, 1.510310, 1.475880 }, // { 2.527220, 0.199237, 14.178300, 30.871700, 0.000000 }}}, //{ Pm, 0, {{ 23.340500, 19.609501, 13.123500, 2.875160, 2.028760 }, // { 2.562700, 0.202088, 15.100900, 132.720993, 0.000000 }}}, //{ Pm, +3, {{ 22.552700, 20.110800, 12.067100, 2.074920, 1.194990 }, // { 2.417400, 0.185769, 13.127500, 27.449100, 0.000000 }}}, //{ Sm, 0, {{ 24.004200, 19.425800, 13.439600, 2.896040, 2.209630 }, // { 2.472740, 0.196451, 14.399600, 128.007004, 0.000000 }}}, //{ Sm, +3, {{ 23.150400, 20.259899, 11.920200, 2.714880, 0.954586 }, // { 2.316410, 0.174081, 12.157100, 24.824200, 0.000000 }}}, //{ Eu, 0, {{ 24.627399, 19.088600, 13.760300, 2.922700, 2.574500 }, // { 2.387900, 0.194200, 13.754600, 123.173996, 0.000000 }}}, //{ Eu, +2, {{ 24.006300, 19.950399, 11.803400, 3.872430, 1.363890 }, // { 2.277830, 0.173530, 11.609600, 26.515600, 0.000000 }}}, //{ Eu, +3, {{ 23.749699, 20.374500, 11.850900, 3.265030, 0.759344 }, // { 2.222580, 0.163940, 11.311000, 22.996599, 0.000000 }}}, //{ Gd, 0, {{ 25.070900, 19.079800, 13.851800, 3.545450, 2.419600 }, // { 2.253410, 0.181951, 12.933100, 101.397995, 0.000000 }}}, //{ Gd, +3, {{ 24.346600, 20.420799, 11.870800, 3.714900, 0.645089 }, // { 2.135530, 0.155525, 10.578199, 21.702900, 0.000000 }}}, //{ Tb, 0, {{ 25.897600, 18.218500, 14.316700, 2.953540, 3.582240 }, // { 2.242560, 0.196143, 12.664800, 115.362000, 0.000000 }}}, //{ Tb, +3, {{ 24.955900, 20.327099, 12.247100, 3.773000, 0.691967 }, // { 2.056010, 0.149525, 10.049900, 21.277300, 0.000000 }}}, //{ Dy, 0, {{ 26.507000, 17.638300, 14.559600, 2.965770, 4.297280 }, // { 2.180200, 0.202172, 12.189899, 111.874001, 0.000000 }}}, //{ Dy, +3, {{ 25.539499, 20.286100, 11.981200, 4.500730, 0.689690 }, // { 1.980400, 0.143384, 9.349720, 19.580999, 0.000000 }}}, //{ Ho, 0, {{ 26.904900, 17.293999, 14.558300, 3.638370, 4.567960 }, // { 2.070510, 0.197940, 11.440700, 92.656601, 0.000000 }}}, //{ Ho, +3, {{ 26.129601, 20.099400, 11.978800, 4.936760, 0.852795 }, // { 1.910720, 0.139358, 8.800180, 18.590799, 0.000000 }}}, //{ Er, 0, {{ 27.656300, 16.428499, 14.977900, 2.982330, 5.920460 }, // { 2.073560, 0.223545, 11.360400, 105.703003, 0.000000 }}}, //{ Er, +3, {{ 26.722000, 19.774799, 12.150600, 5.173790, 1.176130 }, // { 1.846590, 0.137290, 8.362249, 17.897400, 0.000000 }}}, //{ Tm, 0, {{ 28.181900, 15.885099, 15.154200, 2.987060, 6.756210 }, // { 2.028590, 0.238849, 10.997499, 102.960999, 0.000000 }}}, //{ Tm, +3, {{ 27.308300, 19.332001, 12.333900, 5.383480, 1.639290 }, // { 1.787110, 0.136974, 7.967780, 17.292200, 0.000000 }}}, //{ Yb, 0, {{ 28.664101, 15.434500, 15.308700, 2.989630, 7.566720 }, // { 1.988900, 0.257119, 10.664700, 100.417000, 0.000000 }}}, //{ Yb, +2, {{ 28.120899, 17.681700, 13.333500, 5.146570, 3.709830 }, // { 1.785030, 0.159970, 8.183040, 20.389999, 0.000000 }}}, //{ Yb, +3, {{ 27.891700, 18.761400, 12.607200, 5.476470, 2.260010 }, // { 1.732720, 0.138790, 7.644120, 16.815300, 0.000000 }}}, //{ Lu, 0, {{ 28.947599, 15.220800, 15.100000, 3.716010, 7.976280 }, // { 1.901820, 9.985189, 0.261033, 84.329803, 0.000000 }}}, //{ Lu, +3, {{ 28.462799, 18.121000, 12.842899, 5.594150, 2.975730 }, // { 1.682160, 0.142292, 7.337270, 16.353500, 0.000000 }}}, //{ Hf, 0, {{ 29.143999, 15.172600, 14.758600, 4.300130, 8.581540 }, // { 1.832620, 9.599899, 0.275116, 72.028999, 0.000000 }}}, //{ Hf, +4, {{ 28.813099, 18.460100, 12.728500, 5.599270, 2.396990 }, // { 1.591360, 0.128903, 6.762320, 14.036600, 0.000000 }}}, //{ Ta, 0, {{ 29.202400, 15.229300, 14.513500, 4.764920, 9.243540 }, // { 1.773330, 9.370460, 0.295977, 63.364399, 0.000000 }}}, //{ Ta, +5, {{ 29.158699, 18.840700, 12.826799, 5.386950, 1.785550 }, // { 1.507110, 0.116741, 6.315240, 12.424400, 0.000000 }}}, //{ W, 0, {{ 29.081800, 15.430000, 14.432700, 5.119820, 9.887500 }, // { 1.720290, 9.225900, 0.321703, 57.056000, 0.000000 }}}, //{ W, +6, {{ 29.493599, 19.376301, 13.054399, 5.064120, 1.010740 }, // { 1.427550, 0.104621, 5.936670, 11.197200, 0.000000 }}}, //{ Re, 0, {{ 28.762100, 15.718900, 14.556400, 5.441740, 10.472000 }, // { 1.671910, 9.092270, 0.350500, 52.086098, 0.000000 }}}, //{ Os, 0, {{ 28.189400, 16.154999, 14.930500, 5.675890, 11.000500 }, // { 1.629030, 8.979480, 0.382661, 48.164700, 0.000000 }}}, //{ Os, +4, {{ 30.418999, 15.263700, 14.745800, 5.067950, 6.498040 }, // { 1.371130, 6.847060, 0.165191, 18.003000, 0.000000 }}}, //{ Ir, 0, {{ 27.304899, 16.729599, 15.611500, 5.833770, 11.472200 }, // { 1.592790, 8.865530, 0.417916, 45.001099, 0.000000 }}}, //{ Ir, +3, {{ 30.415600, 15.862000, 13.614500, 5.820080, 8.279030 }, // { 1.343230, 7.109090, 0.204633, 20.325399, 0.000000 }}}, //{ Ir, +4, {{ 30.705799, 15.551200, 14.232600, 5.536720, 6.968240 }, // { 1.309230, 6.719830, 0.167252, 17.491100, 0.000000 }}}, //{ Pt, 0, {{ 27.005899, 17.763901, 15.713100, 5.783700, 11.688300 }, // { 1.512930, 8.811740, 0.424593, 38.610298, 0.000000 }}}, //{ Pt, +2, {{ 29.842899, 16.722401, 13.215300, 6.352340, 9.853290 }, // { 1.329270, 7.389790, 0.263297, 22.942600, 0.000000 }}}, //{ Pt, +4, {{ 30.961201, 15.982900, 13.734800, 5.920340, 7.395340 }, // { 1.248130, 6.608340, 0.168640, 16.939199, 0.000000 }}}, //{ Au, 0, {{ 16.881901, 18.591299, 25.558201, 5.860000, 12.065800 }, // { 0.461100, 8.621600, 1.482600, 36.395599, 0.000000 }}}, //{ Au, +1, {{ 28.010899, 17.820400, 14.335899, 6.580770, 11.229900 }, // { 1.353210, 7.739500, 0.356752, 26.404301, 0.000000 }}}, //{ Au, +3, {{ 30.688599, 16.902901, 12.780100, 6.523540, 9.096800 }, // { 1.219900, 6.828720, 0.212867, 18.659000, 0.000000 }}}, //{ Hg, 0, {{ 20.680901, 19.041700, 21.657499, 5.967600, 12.608900 }, // { 0.545000, 8.448400, 1.572900, 38.324600, 0.000000 }}}, //{ Hg, +1, {{ 25.085300, 18.497299, 16.888300, 6.482160, 12.020500 }, // { 1.395070, 7.651050, 0.443378, 28.226200, 0.000000 }}}, //{ Hg, +2, {{ 29.564100, 18.059999, 12.837400, 6.899120, 10.626800 }, // { 1.211520, 7.056390, 0.284738, 20.748199, 0.000000 }}}, //{ Tl, 0, {{ 27.544600, 19.158400, 15.538000, 5.525930, 13.174600 }, // { 0.655150, 8.707510, 1.963470, 45.814899, 0.000000 }}}, //{ Tl, +1, {{ 21.398500, 20.472300, 18.747799, 6.828470, 12.525800 }, // { 1.471100, 0.517394, 7.434630, 28.848200, 0.000000 }}}, //{ Tl, +3, {{ 30.869499, 18.384100, 11.932800, 7.005740, 9.802700 }, // { 1.100800, 6.538520, 0.219074, 17.211399, 0.000000 }}}, //{ Pb, 0, {{ 31.061699, 13.063700, 18.441999, 5.969600, 13.411800 }, // { 0.690200, 2.357600, 8.618000, 47.257900, 0.000000 }}}, //{ Pb, +2, {{ 21.788601, 19.568199, 19.140600, 7.011070, 12.473400 }, // { 1.336600, 0.488383, 6.772700, 23.813200, 0.000000 }}}, //{ Pb, +4, {{ 32.124397, 18.800301, 12.017500, 6.968860, 8.084280 }, // { 1.005660, 6.109260, 0.147041, 14.714000, 0.000000 }}}, //{ Bi, 0, {{ 33.368900, 12.951000, 16.587700, 6.469200, 13.578199 }, // { 0.704000, 2.923800, 8.793700, 48.009300, 0.000000 }}}, //{ Bi, +3, {{ 21.805300, 19.502600, 19.105301, 7.102950, 12.471100 }, // { 1.235600, 6.241490, 0.469999, 20.318501, 0.000000 }}}, //{ Bi, +5, {{ 33.536400, 25.094601, 19.249699, 6.915550, -6.799400 }, // { 0.916540, 0.390420, 5.714140, 12.828500, 0.000000 }}}, //{ Po, 0, {{ 34.672600, 15.473300, 13.113800, 7.025880, 13.677000 }, // { 0.700999, 3.550780, 9.556419, 47.004501, 0.000000 }}}, //{ At, 0, {{ 35.316299, 19.021099, 9.498870, 7.425180, 13.710800 }, // { 0.685870, 3.974580, 11.382400, 45.471500, 0.000000 }}}, //{ Rn, 0, {{ 35.563099, 21.281601, 8.003700, 7.443300, 13.690500 }, // { 0.663100, 4.069100, 14.042200, 44.247299, 0.000000 }}}, //{ Fr, 0, {{ 35.929901, 23.054699, 12.143900, 2.112530, 13.724700 }, // { 0.646453, 4.176190, 23.105200, 150.644989, 0.000000 }}}, //{ Ra, 0, {{ 35.763000, 22.906399, 12.473900, 3.210970, 13.621099 }, // { 0.616341, 3.871350, 19.988701, 142.324997, 0.000000 }}}, //{ Ra, +2, {{ 35.215000, 21.670000, 7.913420, 7.650780, 13.543100 }, // { 0.604909, 3.576700, 12.601000, 29.843599, 0.000000 }}}, //{ Ac, 0, {{ 35.659698, 23.103199, 12.597700, 4.086550, 13.526600 }, // { 0.589092, 3.651550, 18.598999, 117.019997, 0.000000 }}}, //{ Ac, +3, {{ 35.173599, 22.111200, 8.192160, 7.055450, 13.463699 }, // { 0.579689, 3.414370, 12.918700, 25.944300, 0.000000 }}}, //{ Th, 0, {{ 35.564499, 23.421900, 12.747300, 4.807030, 13.431400 }, // { 0.563359, 3.462040, 17.830900, 99.172195, 0.000000 }}}, //{ Th, +4, {{ 35.100700, 22.441799, 9.785540, 5.294440, 13.375999 }, // { 0.555054, 3.244980, 13.466100, 23.953300, 0.000000 }}}, //{ Pa, 0, {{ 35.884701, 23.294800, 14.189100, 4.172870, 13.428699 }, // { 0.547751, 3.415190, 16.923500, 105.250999, 0.000000 }}}, //{ U, 0, {{ 36.022800, 23.412800, 14.949100, 4.188000, 13.396600 }, // { 0.529300, 3.325300, 16.092699, 100.612999, 0.000000 }}}, //{ U, +3, {{ 35.574699, 22.525900, 12.216499, 5.370730, 13.309200 }, // { 0.520480, 3.122930, 12.714800, 26.339399, 0.000000 }}}, //{ U, +4, {{ 35.371498, 22.532600, 12.029100, 4.798400, 13.267099 }, // { 0.516598, 3.050530, 12.572300, 23.458200, 0.000000 }}}, //{ U, +6, {{ 34.850899, 22.758400, 14.009900, 1.214570, 13.166500 }, // { 0.507079, 2.890300, 13.176700, 25.201700, 0.000000 }}}, //{ Np, 0, {{ 36.187401, 23.596399, 15.640200, 4.185500, 13.357300 }, // { 0.511929, 3.253960, 15.362200, 97.490799, 0.000000 }}}, //{ Np, +3, {{ 35.707397, 22.612999, 12.989799, 5.432270, 13.254400 }, // { 0.502322, 3.038070, 12.144899, 25.492800, 0.000000 }}}, //{ Np, +4, {{ 35.510300, 22.578699, 12.776600, 4.921590, 13.211599 }, // { 0.498626, 2.966270, 11.948400, 22.750200, 0.000000 }}}, //{ Np, +6, {{ 35.013599, 22.728600, 14.388400, 1.756690, 13.113000 }, // { 0.489810, 2.810990, 12.330000, 22.658100, 0.000000 }}}, //{ Pu, 0, {{ 36.525398, 23.808300, 16.770700, 3.479470, 13.381200 }, // { 0.499384, 3.263710, 14.945499, 105.979996, 0.000000 }}}, //{ Pu, +3, {{ 35.840000, 22.716900, 13.580700, 5.660160, 13.199100 }, // { 0.484936, 2.961180, 11.533100, 24.399200, 0.000000 }}}, //{ Pu, +4, {{ 35.649300, 22.646000, 13.359500, 5.188310, 13.155500 }, // { 0.481422, 2.890200, 11.316000, 21.830099, 0.000000 }}}, //{ Pu, +6, {{ 35.173599, 22.718100, 14.763500, 2.286780, 13.058200 }, // { 0.473204, 2.738480, 11.552999, 20.930300, 0.000000 }}}, //{ Am, 0, {{ 36.670601, 24.099199, 17.341499, 3.493310, 13.359200 }, // { 0.483629, 3.206470, 14.313600, 102.272995, 0.000000 }}}, //{ Cm, 0, {{ 36.648800, 24.409599, 17.399000, 4.216650, 13.288700 }, // { 0.465154, 3.089970, 13.434600, 88.483398, 0.000000 }}}, //{ Bk, 0, {{ 36.788101, 24.773600, 17.891899, 4.232840, 13.275400 }, // { 0.451018, 3.046190, 12.894600, 86.002998, 0.000000 }}}, //{ Cf, 0, {{ 36.918499, 25.199499, 18.331699, 4.243910, 13.267400 }, // { 0.437533, 3.007750, 12.404400, 83.788101, 0.000000}}}, { H, 0, {{ 0.413048, 0.294953, 0.187491, 0.080701, 0.023736, 0.000049}, { 15.569946, 32.398468, 5.711404, 61.889874, 1.334118, 0.000000}}}, { He, 0, {{ 0.732354, 0.753896, 0.283819, 0.190003, 0.039139, 0.000487}, { 11.553918, 4.595831, 1.546299, 26.463964, 0.377523, 0.000000}}}, { Li, 0, {{ 0.974637, 0.158472, 0.811855, 0.262416, 0.790108, 0.002542}, { 4.334946, 0.342451, 97.102966,201.363831, 1.409234, 0.000000}}}, { Be, 0, {{ 1.533712, 0.638283, 0.601052, 0.106139, 1.118414, 0.002511}, { 42.662079, 0.595420, 99.106499, 0.151340, 1.843093, 0.000000}}}, { B, 0, {{ 2.085185, 1.064580, 1.062788, 0.140515, 0.641784, 0.003823}, { 23.494068, 1.137894, 61.238976, 0.114886, 0.399036, 0.000000}}}, { C, 0, {{ 2.657506, 1.078079, 1.490909, -4.241070, 0.713791, 4.297983}, { 14.780758, 0.776775, 42.086842, -0.000294, 0.239535, 0.000000}}}, { N, 0, {{ 11.893780, 3.277479, 1.858092, 0.858927, 0.912985,-11.804902}, { 0.000158, 10.232723, 30.344690, 0.656065, 0.217287, 0.000000}}}, { O, 0, {{ 2.960427, 2.508818, 0.637853, 0.722838, 1.142756, 0.027014}, { 14.182259, 5.936858, 0.112726, 34.958481, 0.390240, 0.000000}}}, { F, 0, {{ 3.511943, 2.772244, 0.678385, 0.915159, 1.089261, 0.032557}, { 10.687859, 4.380466, 0.093982, 27.255203, 0.313066, 0.000000}}}, { Ne, 0, {{ 4.183749, 2.905726, 0.520513, 1.135641, 1.228065, 0.025576}, { 8.175457, 3.252536, 0.063295, 21.813910, 0.224952, 0.000000}}}, { Na, 0, {{ 4.910127, 3.081783, 1.262067, 1.098938, 0.560991, 0.079712}, { 3.281434, 9.119178, 0.102763,132.013947, 0.405878, 0.000000}}}, { Mg, 0, {{ 4.708971, 1.194814, 1.558157, 1.170413, 3.239403, 0.126842}, { 4.875207,108.506081, 0.111516, 48.292408, 1.928171, 0.000000}}}, { Al, 0, {{ 4.730796, 2.313951, 1.541980, 1.117564, 3.154754, 0.139509}, { 3.628931, 43.051167, 0.095960,108.932388, 1.555918, 0.000000}}}, { Si, 0, {{ 5.275329, 3.191038, 1.511514, 1.356849, 2.519114, 0.145073}, { 2.631338, 33.730728, 0.081119, 86.288643, 1.170087, 0.000000}}}, { P, 0, {{ 1.950541, 4.146930, 1.494560, 1.522042, 5.729711, 0.155233}, { 0.908139, 27.044952, 0.071280, 67.520187, 1.981173, 0.000000}}}, { S, 0, {{ 6.372157, 5.154568, 1.473732, 1.635073, 1.209372, 0.154722}, { 1.514347, 22.092527, 0.061373, 55.445175, 0.646925, 0.000000}}}, { Cl, 0, {{ 1.446071, 6.870609, 6.151801, 1.750347, 0.634168, 0.146773}, { 0.052357, 1.193165, 18.343416, 46.398396, 0.401005, 0.000000}}}, { Ar, 0, {{ 7.188004, 6.638454, 0.454180, 1.929593, 1.523654, 0.265954}, { 0.956221, 15.339877, 15.339862, 39.043823, 0.062409, 0.000000}}}, { K, 0, {{ 8.163991, 7.146945, 1.070140, 0.877316, 1.486434, 0.253614}, { 12.816323, 0.808945,210.327011, 39.597652, 0.052821, 0.000000}}}, { Ca, 0, {{ 8.593655, 1.477324, 1.436254, 1.182839, 7.113258, 0.196255}, { 10.460644, 0.041891, 81.390381,169.847839, 0.688098, 0.000000}}}, { Sc, 0, {{ 1.476566, 1.487278, 1.600187, 9.177463, 7.099750, 0.157765}, { 53.131023, 0.035325,137.319489, 9.098031, 0.602102, 0.000000}}}, { Ti, 0, {{ 9.818524, 1.522646, 1.703101, 1.768774, 7.082555, 0.102473}, { 8.001879, 0.029763, 39.885422,120.157997, 0.532405, 0.000000}}}, { V, 0, {{ 10.473575, 1.547881, 1.986381, 1.865616, 7.056250, 0.067744}, { 7.081940, 0.026040, 31.909672,108.022842, 0.474882, 0.000000}}}, { Cr, 0, {{ 11.007069, 1.555477, 2.985293, 1.347855, 7.034779, 0.065510}, { 6.366281, 0.023987, 23.244839,105.774498, 0.429369, 0.000000}}}, { Mn, 0, {{ 11.709542, 1.733414, 2.673141, 2.023368, 7.003180, -0.147293}, { 5.597120, 0.017800, 21.788420, 89.517914, 0.383054, 0.000000}}}, { Fe, 0, {{ 12.311098, 1.876623, 3.066177, 2.070451, 6.975185, -0.304931}, { 5.009415, 0.014461, 18.743040, 82.767876, 0.346506, 0.000000}}}, { Co, 0, {{ 12.914510, 2.481908, 3.466894, 2.106351, 6.960892, -0.936572}, { 4.507138, 0.009126, 16.438129, 76.987320, 0.314418, 0.000000}}}, { Ni, 0, {{ 13.521865, 6.947285, 3.866028, 2.135900, 4.284731, -2.762697}, { 4.077277, 0.286763, 14.622634, 71.966080, 0.004437, 0.000000}}}, { Cu, 0, {{ 14.014192, 4.784577, 5.056806, 1.457971, 6.932996, -3.254477}, { 3.738280, 0.003744, 13.034982, 72.554794, 0.265666, 0.000000}}}, { Zn, 0, {{ 14.741002, 6.907748, 4.642337, 2.191766, 38.424042,-36.915829}, { 3.388232, 0.243315, 11.903689, 63.312130, 0.000397, 0.000000}}}, { Ga, 0, {{ 15.758946, 6.841123, 4.121016, 2.714681, 2.395246, -0.847395}, { 3.121754, 0.226057, 12.482196, 66.203621, 0.007238, 0.000000}}}, { Ge, 0, {{ 16.540613, 1.567900, 3.727829, 3.345098, 6.785079, 0.018726}, { 2.866618, 0.012198, 13.432163, 58.866047, 0.210974, 0.000000}}}, { As, 0, {{ 17.025642, 4.503441, 3.715904, 3.937200, 6.790175, -2.984117}, { 2.597739, 0.003012, 14.272119, 50.437996, 0.193015, 0.000000}}}, { Se, 0, {{ 17.354071, 4.653248, 4.259489, 4.136455, 6.749163, -3.160982}, { 2.349787, 0.002550, 15.579460, 45.181202, 0.177432, 0.000000}}}, { Br, 0, {{ 17.550570, 5.411882, 3.937180, 3.880645, 6.707793, -2.492088}, { 2.119226, 16.557184, 0.002481, 42.164009, 0.162121, 0.000000}}}, { Kr, 0, {{ 17.655279, 6.848105, 4.171004, 3.446760, 6.685200, -2.810592}, { 1.908231, 16.606236, 0.001598, 39.917473, 0.146896, 0.000000}}}, { Rb, 0, {{ 8.123134, 2.138042, 6.761702, 1.156051, 17.679546, 1.139548}, { 15.142385, 33.542667, 0.129372,224.132507, 1.713368, 0.000000}}}, { Sr, 0, {{ 17.730219, 9.795867, 6.099763, 2.620025, 0.600053, 1.140251}, { 1.563060, 14.310868, 0.120574,135.771317, 0.120574, 0.000000}}}, { Y, 0, {{ 17.792040, 10.253252, 5.714949, 3.170516, 0.918251, 1.131787}, { 1.429691, 13.132816, 0.112173,108.197029, 0.112173, 0.000000}}}, { Zr, 0, {{ 17.859772, 10.911038, 5.821115, 3.512513, 0.746965, 1.124859}, { 1.310692, 12.319285, 0.104353, 91.777542, 0.104353, 0.000000}}}, { Nb, 0, {{ 17.958399, 12.063054, 5.007015, 3.287667, 1.531019, 1.123452}, { 1.211590, 12.246687, 0.098615, 75.011948, 0.098615, 0.000000}}}, { Mo, 0, {{ 6.236218, 17.987711, 12.973127, 3.451426, 0.210899, 1.108770}, { 0.090780, 1.108310, 11.468720, 66.684151, 0.090780, 0.000000}}}, { Tc, 0, {{ 17.840963, 3.428236, 1.373012, 12.947364, 6.335469, 1.074784}, { 1.005729, 41.901382,119.320541, 9.781542, 0.083391, 0.000000}}}, { Ru, 0, {{ 6.271624, 17.906738, 14.123269, 3.746008, 0.908235, 1.043992}, { 0.077040, 0.928222, 9.555345, 35.860680,123.552246, 0.000000}}}, { Rh, 0, {{ 6.216648, 17.919739, 3.854252, 0.840326, 15.173498, 0.995452}, { 0.070789, 0.856121, 33.889484,121.686691, 9.029517, 0.000000}}}, { Pd, 0, {{ 6.121511, 4.784063, 16.631683, 4.318258, 13.246773, 0.883099}, { 0.062549, 0.784031, 8.751391, 34.489983, 0.784031, 0.000000}}}, { Ag, 0, {{ 6.073874, 17.155437, 4.173344, 0.852238, 17.988686, 0.756603}, { 0.055333, 7.896512, 28.443739,110.376106, 0.716809, 0.000000}}}, { Cd, 0, {{ 6.080986, 18.019468, 4.018197, 1.303510, 17.974669, 0.603504}, { 0.048990, 7.273646, 29.119284, 95.831207, 0.661231, 0.000000}}}, { In, 0, {{ 6.196477, 18.816183, 4.050479, 1.638929, 17.962912, 0.333097}, { 0.042072, 6.695665, 31.009790,103.284348, 0.610714, 0.000000}}}, { Sn, 0, {{ 19.325171, 6.281571, 4.498866, 1.856934, 17.917318, 0.119024}, { 6.118104, 0.036915, 32.529045, 95.037186, 0.565651, 0.000000}}}, { Sb, 0, {{ 5.394956, 6.549570, 19.650681, 1.827820, 17.867832, -0.290506}, { 33.326523, 0.030974, 5.564929, 87.130966, 0.523992, 0.000000}}}, { Te, 0, {{ 6.660302, 6.940756, 19.847015, 1.557175, 17.802427, -0.806668}, { 33.031654, 0.025750, 5.065547, 84.101616, 0.487660, 0.000000}}}, { I, 0, {{ 19.884502, 6.736593, 8.110516, 1.170953, 17.548716, -0.448811}, { 4.628591, 0.027754, 31.849096, 84.406387, 0.463550, 0.000000}}}, { Xe, 0, {{ 19.978920, 11.774945, 9.332182, 1.244749, 17.737501, -6.065902}, { 4.143356, 0.010142, 28.796200, 75.280685, 0.413616, 0.000000}}}, { Cs, 0, {{ 17.418674, 8.314444, 10.323193, 1.383834, 19.876251, -2.322802}, { 0.399828, 0.016872, 25.605827,233.339676, 3.826915, 0.000000}}}, { Ba, 0, {{ 19.747343, 17.368477, 10.465718, 2.592602, 11.003653, -5.183497}, { 3.481823, 0.371224, 21.226641,173.834274, 0.010719, 0.000000}}}, { La, 0, {{ 19.966019, 27.329655, 11.018425, 3.086696, 17.335455,-21.745489}, { 3.197408, 0.003446, 19.955492,141.381973, 0.341817, 0.000000}}}, { Ce, 0, {{ 17.355122, 43.988499, 20.546650, 3.130670, 11.353665,-38.386017}, { 0.328369, 0.002047, 3.088196,134.907654, 18.832960, 0.000000}}}, { Pr, 0, {{ 21.551311, 17.161730, 11.903859, 2.679103, 9.564197, -3.871068}, { 2.995675, 0.312491, 17.716705,152.192825, 0.010468, 0.000000}}}, { Nd, 0, {{ 17.331244, 62.783924, 12.160097, 2.663483, 22.239950,-57.189842}, { 0.300269, 0.001320, 17.026001,148.748993, 2.910268, 0.000000}}}, { Pm, 0, {{ 17.286388, 51.560162, 12.478557, 2.675515, 22.960947,-45.973682}, { 0.286620, 0.001550, 16.223755,143.984512, 2.796480, 0.000000}}}, { Sm, 0, {{ 23.700363, 23.072214, 12.777782, 2.684217, 17.204367,-17.452166}, { 2.689539, 0.003491, 15.495437,139.862473, 0.274536, 0.000000}}}, { Eu, 0, {{ 17.186195, 37.156837, 13.103387, 2.707246, 24.419271,-31.586687}, { 0.261678, 0.001995, 14.787360,134.816299, 2.581883, 0.000000}}}, { Gd, 0, {{ 24.898117, 17.104952, 13.222581, 3.266152, 48.995213,-43.505684}, { 2.435028, 0.246961, 13.996325,110.863091, 0.001383, 0.000000}}}, { Tb, 0, {{ 25.910013, 32.344139, 13.765117, 2.751404, 17.064405,-26.851971}, { 2.373912, 0.002034, 13.481969,125.836510, 0.236916, 0.000000}}}, { Dy, 0, {{ 26.671785, 88.687576, 14.065445, 2.768497, 17.067781,-83.279831}, { 2.282593, 0.000665, 12.920230,121.937187, 0.225531, 0.000000}}}, { Ho, 0, {{ 27.150190, 16.999819, 14.059334, 3.386979, 46.546471,-41.165253}, { 2.169660, 0.215414, 12.213148,100.506783, 0.001211, 0.000000}}}, { Er, 0, {{ 28.174887, 82.493271, 14.624002, 2.802756, 17.018515,-77.135223}, { 2.120995, 0.000640, 11.915256,114.529938, 0.207519, 0.000000}}}, { Tm, 0, {{ 28.925894, 76.173798, 14.904704, 2.814812, 16.998117,-70.839813}, { 2.046203, 0.000656, 11.465375,111.411980, 0.199376, 0.000000}}}, { Yb, 0, {{ 29.676760, 65.624069, 15.160854, 2.830288, 16.997850,-60.313812}, { 1.977630, 0.000720, 11.044622,108.139153, 0.192110, 0.000000}}}, { Lu, 0, {{ 30.122866, 15.099346, 56.314899, 3.540980, 16.943729,-51.049416}, { 1.883090, 10.342764, 0.000780, 89.559250, 0.183849, 0.000000}}}, { Hf, 0, {{ 30.617033, 15.145351, 54.933548, 4.096253, 16.896156,-49.719837}, { 1.795613, 9.934469, 0.000739, 76.189705, 0.175914, 0.000000}}}, { Ta, 0, {{ 31.066359, 15.341823, 49.278297, 4.577665, 16.828321,-44.119026}, { 1.708732, 9.618455, 0.000760, 66.346199, 0.168002, 0.000000}}}, { W, 0, {{ 31.507900, 15.682498, 37.960129, 4.885509, 16.792112,-32.864574}, { 1.629485, 9.446448, 0.000898, 59.980675, 0.160798, 0.000000}}}, { Re, 0, {{ 31.888456, 16.117104, 42.390297, 5.211669, 16.767591,-37.412682}, { 1.549238, 9.233474, 0.000689, 54.516373, 0.152815, 0.000000}}}, { Os, 0, {{ 32.210297, 16.678440, 48.559906, 5.455839, 16.735533,-43.677956}, { 1.473531, 9.049695, 0.000519, 50.210201, 0.145771, 0.000000}}}, { Ir, 0, {{ 32.004436, 1.975454, 17.070105, 15.939454, 5.990003, 4.018893}, { 1.353767, 81.014175, 0.128093, 7.661196, 26.659403, 0.000000}}}, { Pt, 0, {{ 31.273891, 18.445440, 17.063745, 5.555933, 1.575270, 4.050394}, { 1.316992, 8.797154, 0.124741, 40.177994, 1.316997, 0.000000}}}, { Au, 0, {{ 16.777390, 19.317156, 32.979683, 5.595453, 10.576854, -6.279078}, { 0.122737, 8.621570, 1.256902, 38.008820, 0.000601, 0.000000}}}, { Hg, 0, {{ 16.839890, 20.023823, 28.428564, 5.881564, 4.714706, 4.076478}, { 0.115905, 8.256927, 1.195250, 39.247227, 1.195250, 0.000000}}}, { Tl, 0, {{ 16.630795, 19.386616, 32.808571, 1.747191, 6.356862, 4.066939}, { 0.110704, 7.181401, 1.119730, 90.660263, 26.014978, 0.000000}}}, { Pb, 0, {{ 16.419567, 32.738590, 6.530247, 2.342742, 19.916475, 4.049824}, { 0.105499, 1.055049, 25.025890, 80.906593, 6.664449, 0.000000}}}, { Bi, 0, {{ 16.282274, 32.725136, 6.678302, 2.694750, 20.576559, 4.040914}, { 0.101180, 1.002287, 25.714146, 77.057549, 6.291882, 0.000000}}}, { Po, 0, {{ 16.289164, 32.807171, 21.095163, 2.505901, 7.254589, 4.046556}, { 0.098121, 0.966265, 6.046622, 76.598068, 28.096128, 0.000000}}}, { At, 0, {{ 16.011461, 32.615547, 8.113899, 2.884082, 21.377867, 3.995684}, { 0.092639, 0.904416, 26.543257, 68.372963, 5.499512, 0.000000}}}, { Rn, 0, {{ 16.070229, 32.641106, 21.489658, 2.299218, 9.480184, 4.020977}, { 0.090437, 0.876409, 5.239687, 69.188477, 27.632641, 0.000000}}}, { Fr, 0, {{ 16.007385, 32.663830, 21.594351, 1.598497, 11.121192, 4.003472}, { 0.087031, 0.840187, 4.954467,199.805801, 26.905106, 0.000000}}}, { Ra, 0, {{ 32.563690, 21.396671, 11.298093, 2.834688, 15.914965, 3.981773}, { 0.801980, 4.590666, 22.758972,160.404388, 0.083544, 0.000000}}}, { Ac, 0, {{ 15.914053, 32.535042, 21.553976, 11.433394, 3.612409, 3.939212}, { 0.080511, 0.770669, 4.352206, 21.381622,130.500748, 0.000000}}}, { Th, 0, {{ 15.784024, 32.454899, 21.849222, 4.239077, 11.736191, 3.922533}, { 0.077067, 0.735137, 4.097976,109.464111, 20.512138, 0.000000}}}, { Pa, 0, {{ 32.740208, 21.973675, 12.957398, 3.683832, 15.744058, 3.886066}, { 0.709545, 4.050881, 19.231543,117.255005, 0.074040, 0.000000}}}, { U, 0, {{ 15.679275, 32.824306, 13.660459, 3.687261, 22.279434, 3.854444}, { 0.071206, 0.681177, 18.236156,112.500038, 3.930325, 0.000000}}}, { Np, 0, {{ 32.999901, 22.638077, 14.219973, 3.672950, 15.683245, 3.769391}, { 0.657086, 3.854918, 17.435474,109.464485, 0.068033, 0.000000}}}, { Pu, 0, {{ 33.281178, 23.148544, 15.153755, 3.031492, 15.704215, 3.664200}, { 0.634999, 3.856168, 16.849735,121.292038, 0.064857, 0.000000}}}, { Am, 0, {{ 33.435162, 23.657259, 15.576339, 3.027023, 15.746100, 3.541160}, { 0.612785, 3.792942, 16.195778,117.757004, 0.061755, 0.000000}}}, { Cm, 0, {{ 15.804837, 33.480801, 24.150198, 3.655563, 15.499866, 3.390840}, { 0.058619, 0.590160, 3.674720,100.736191, 15.408296, 0.000000}}}, { Bk, 0, {{ 15.889072, 33.625286, 24.710381, 3.707139, 15.839268, 3.213169}, { 0.055503, 0.569571, 3.615472, 97.694786, 14.754303, 0.000000}}}, { Cf, 0, {{ 33.794075, 25.467693, 16.048487, 3.657525, 16.008982, 3.005326}, { 0.550447, 3.581973, 14.357388, 96.064972, 0.052450, 0.000000}}}, { H, -1, {{ 0.702260, 0.763666, 0.248678, 0.261323, 0.023017, 0.000425}, { 23.945604, 74.897919, 6.773289,233.583450, 1.337531, 0.000000}}}, { Li, +1, {{ 0.432724, 0.549257, 0.376575, -0.336481, 0.976060, 0.001764}, { 0.260367, 1.042836, 7.885294, 0.260368, 3.042539, 0.000000}}}, { Be, +2, {{ 3.055430, -2.372617, 1.044914, 0.544233, 0.381737, -0.653773}, { 0.001226, 0.001227, 1.542106, 0.456279, 4.047479, 0.000000}}}, { C, AtomTypeTraits::kWKSFVal, {{ 1.258489, 0.728215, 1.119856, 2.168133, 0.705239, 0.019722}, { 10.683769, 0.208177, 0.836097, 24.603704, 58.954273, 0.000000}}}, { O, -1, {{ 3.106934, 3.235142, 1.148886, 0.783981, 0.676953, 0.046136}, { 19.868080, 6.960252, 0.170043, 65.693512, 0.630757, 0.000000}}}, { O, -2, {{ 3.990247, 2.300563, 0.607200, 1.907882, 1.167080, 0.025429}, { 16.639956, 5.636819, 0.108493, 47.299709, 0.379984, 0.000000}}}, { F, -1, {{ 0.457649, 3.841561, 1.432771, 0.801876, 3.395041, 0.069525}, { 0.917243, 5.507803, 0.164955, 51.076206, 15.821679, 0.000000}}}, { Na, +1, {{ 3.148690, 4.073989, 0.767888, 0.995612, 0.968249, 0.045300}, { 2.594987, 6.046925, 0.070139, 14.122657, 0.217037, 0.000000}}}, { Mg, +2, {{ 3.062918, 4.135106, 0.853742, 1.036792, 0.852520, 0.058851}, { 2.015803, 4.417941, 0.065307, 9.669710, 0.187818, 0.000000}}}, { Al, +3, {{ 4.132015, 0.912049, 1.102425, 0.614876, 3.219136, 0.019397}, { 3.528641, 7.378344, 0.133708, 0.039065, 1.644728, 0.000000}}}, { Si, AtomTypeTraits::kWKSFVal, {{ 2.879033, 3.072960, 1.515981, 1.390030, 4.995051, 0.146030}, { 1.239713, 38.706276, 0.081481, 93.616333, 2.770293, 0.000000}}}, { Si, +4, {{ 3.676722, 3.828496, 1.258033, 0.419024, 0.720421, 0.097266}, { 1.446851, 3.013144, 0.064397, 0.206254, 5.970222, 0.000000}}}, { Cl, -1, {{ 1.061802, 7.139886, 6.524271, 2.355626, 35.829403,-34.916603}, { 0.144727, 1.171795, 19.467655, 60.320301, 0.000436, 0.000000}}}, { K, +1, {{-17.609339, 1.494873, 7.150305, 10.899569, 15.808228, 0.257164}, { 18.840979, 0.053453, 0.812940, 22.264105, 14.351593, 0.000000}}}, { Ca, +2, {{ 8.501441, 12.880483, 9.765095, 7.156669, 0.711160,-21.013187}, { 10.525848, -0.004033, 0.010692, 0.684443, 27.231771, 0.000000}}}, { Sc, +3, {{ 7.104348, 1.511488,-53.669773, 38.404816, 24.532240, 0.118642}, { 0.601957, 0.033386, 12.572138, 10.859736, 14.125230, 0.000000}}}, { Ti, +2, {{ 7.040119, 1.496285, 9.657304, 0.006534, 1.649561, 0.150362}, { 0.537072, 0.031914, 8.009958,201.800293, 24.039482, 0.000000}}}, { Ti, +3, {{ 36.587933, 7.230255, -9.086077, 2.084594, 17.294008,-35.111282}, { 0.000681, 0.522262, 5.262317, 15.881716, 6.149805, 0.000000}}}, { Ti, +4, {{ 45.355537, 7.092900, 7.483858,-43.498817, 1.678915, -0.110628}, { 9.252186, 0.523046, 13.082852, 10.193876, 0.023064, 0.000000}}}, { V, +2, {{ 7.754356, 2.064100, 2.576998, 2.011404, 7.126177, -0.533379}, { 7.066315, 0.014993, 7.066308, 22.055786, 0.467568, 0.000000}}}, { V, +3, {{ 9.958480, 1.596350, 1.483442,-10.846044, 17.332867, 0.474921}, { 6.763041, 0.056895, 17.750029, 0.328826, 0.388013, 0.000000}}}, { V, +5, {{ 15.575018, 8.448095, 1.612040, -9.721855, 1.534029, 0.552676}, { 0.682708, 5.566640, 10.527077, 0.907961, 0.066667, 0.000000}}}, { Cr, +2, {{ 10.598877, 1.565858, 2.728280, 0.098064, 6.959321, 0.049870}, { 6.151846, 0.023519, 17.432816, 54.002388, 0.426301, 0.000000}}}, { Cr, +3, {{ 7.989310, 1.765079, 2.627125, 1.829380, 6.980908, -0.192123}, { 6.068867, 0.018342, 6.068887, 16.309284, 0.420864, 0.000000}}}, { Mn, +2, {{ 11.287712, 26.042414, 3.058096, 0.090258, 7.088306,-24.566132}, { 5.506225, 0.000774, 16.158575, 54.766354, 0.375580, 0.000000}}}, { Mn, +3, {{ 6.926972, 2.081342, 11.128379, 2.375107, -0.419287, -0.093713}, { 0.378315, 0.015054, 5.379957, 14.429586, 0.004939, 0.000000}}}, { Mn, +4, {{ 12.409131, 7.466993, 1.809947,-12.138477, 10.780248, 0.672146}, { 0.300400, 0.112814, 12.520756, 0.168653, 5.173237, 0.000000}}}, { Fe, +2, {{ 11.776765, 11.165097, 3.533495, 0.165345, 7.036932, -9.676919}, { 4.912232, 0.001748, 14.166556, 42.381958, 0.341324, 0.000000}}}, { Fe, +3, {{ 9.721638, 63.403847, 2.141347, 2.629274, 7.033846,-61.930725}, { 4.869297, 0.000293, 4.867602, 13.539076, 0.338520, 0.000000}}}, { Co, +2, {{ 6.993840, 26.285812, 12.254289, 0.246114, 4.017407,-24.796852}, { 0.310779, 0.000684, 4.400528, 35.741447, 12.536393, 0.000000}}}, { Co, +3, {{ 6.861739, 2.678570, 12.281889, 3.501741, -0.179384, -1.147345}, { 0.309794, 0.008142, 4.331703, 11.914167, 11.914167, 0.000000}}}, { Ni, +2, {{ 12.519017, 37.832058, 4.387257, 0.661552, 6.949072,-36.344471}, { 3.933053, 0.000442, 10.449184, 23.860998, 0.283723, 0.000000}}}, { Ni, +3, {{ 13.579366, 1.902844, 12.859268, 3.811005, -6.838595, -0.317618}, { 0.313140, 0.012621, 3.906407, 10.894311, 0.344379, 0.000000}}}, { Cu, +1, {{ 12.960763, 16.342150, 1.110102, 5.520682, 6.915452,-14.849320}, { 3.576010, 0.000975, 29.523218, 10.114283, 0.261326, 0.000000}}}, { Cu, +2, {{ 11.895569, 16.344978, 5.799817, 1.048804, 6.789088,-14.878383}, { 3.378519, 0.000924, 8.133653, 20.526524, 0.254741, 0.000000}}}, { Zn, +2, {{ 13.340772, 10.428857, 5.544489, 0.762295, 6.869172, -8.945248}, { 3.215913, 0.001413, 8.542680, 21.891756, 0.239215, 0.000000}}}, { Ga, +3, {{ 13.123875, 35.288189, 6.126979, 0.611551, 6.724807,-33.875122}, { 2.809960, 0.000323, 6.831534, 16.784311, 0.212002, 0.000000}}}, { Ge, +4, {{ 6.876636, 6.779091, 9.969591, 3.135857, 0.152389, 1.086542}, { 2.025174, 0.176650, 3.573822, 7.685848, 16.677574, 0.000000}}}, { Br, -1, {{ 17.714310, 6.466926, 6.947385, 4.402674, -0.697279, 1.152674}, { 2.122554, 19.050768, 0.152708, 58.690361, 58.690372, 0.000000}}}, { Rb, +1, {{ 17.684320, 7.761588, 6.680874, 2.668883, 0.070974, 1.133263}, { 1.710209, 14.919863, 0.128542, 31.654478, 0.128543, 0.000000}}}, { Sr, +2, {{ 17.694973, 1.275762, 6.154252, 9.234786, 0.515995, 1.125309}, { 1.550888, 30.133041, 0.118774, 13.821799, 0.118774, 0.000000}}}, { Y, +3, {{ 46.660366, 10.369686, 4.623042,-62.170834, 17.471146, 19.023842}, { -0.019971, 13.180257, 0.176398, -0.016727, 1.467348, 0.000000}}}, { Zr, +4, {{ 6.802956, 17.699253, 10.650647, -0.248108, 0.250338, 0.827902}, { 0.096228, 1.296127, 11.240715, -0.219259, -0.219021, 0.000000}}}, { Nb, +3, {{ 17.714323, 1.675213, 7.483963, 8.322464, 11.143573, -8.339573}, { 1.172419, 30.102791, 0.080255, -0.002983, 10.456687, 0.000000}}}, { Nb, +5, {{ 17.580206, 7.633277, 10.793497, 0.180884, 67.837921,-68.024780}, { 1.165852, 0.078558, 9.507652, 31.621656, -0.000438, 0.000000}}}, { Mo, +3, {{ 7.447050, 17.778122, 11.886068, 1.997905, 1.789626, -1.898764}, { 0.072000, 1.073145, 9.834720, 28.221746, -0.011674, 0.000000}}}, { Mo, +5, {{ 7.929879, 17.667669, 11.515987, 0.500402, 77.444084,-78.056595}, { 0.068856, 1.068064, 9.046229, 26.558945, -0.000473, 0.000000}}}, { Mo, +6, {{ 34.757683, 9.653037, 6.584769,-18.628115, 2.490594, 1.141916}, { 1.301770, 7.123843, 0.094097, 1.617443, 12.335434, 0.000000}}}, { Ru, +3, {{ 17.894758, 13.579529, 10.729251, 2.474095, 48.227997,-51.905243}, { 0.902827, 8.740579, 0.045125, 24.764954, -0.001699, 0.000000}}}, { Ru, +4, {{ 17.845776, 13.455084, 10.229087, 1.653524, 14.059795,-17.241762}, { 0.901070, 8.482392, 0.045972, 23.015272, -0.004889, 0.000000}}}, { Rh, +3, {{ 17.758621, 14.569813, 5.298320, 2.533579, 0.879753, 0.960843}, { 0.841779, 8.319533, 0.069050, 23.709131, 0.069050, 0.000000}}}, { Rh, +4, {{ 17.716188, 14.446654, 5.185801, 1.703448, 0.989992, 0.959941}, { 0.840572, 8.100647, 0.068995, 22.357307, 0.068995, 0.000000}}}, { Pd, +2, {{ 6.122282, 15.651012, 3.513508, 9.060790, 8.771199, 0.879336}, { 0.062424, 8.018296, 24.784275, 0.776457, 0.776457, 0.000000}}}, { Pd, +4, {{ 6.152421,-96.069023, 31.622141, 81.578255, 17.801403, 0.915874}, { 0.063951, 11.090354, 13.466152, 9.758302, 0.783014, 0.000000}}}, { Ag, +1, {{ 6.091192, 4.019526, 16.948174, 4.258638, 13.889437, 0.785127}, { 0.056305, 0.719340, 7.758938, 27.368349, 0.719340, 0.000000}}}, { Ag, +2, {{ 6.401808, 48.699802, 4.799859,-32.332523, 16.356710, 1.068247}, { 0.068167, 0.942270, 20.639496, 1.100365, 6.883131, 0.000000}}}, { Cd, +2, {{ 6.093711, 43.909691, 17.041306,-39.675117, 17.958918, 0.664795}, { 0.050624, 8.654143, 15.621396, 11.082067, 0.667591, 0.000000}}}, { In, +3, {{ 6.206277, 18.497746, 3.078131, 10.524613, 7.401234, 0.293677}, { 0.041357, 6.605563, 18.792250, 0.608082, 0.608082, 0.000000}}}, { Sn, +2, {{ 6.353672, 4.770377, 14.672025, 4.235959, 18.002131, -0.042519}, { 0.034720, 6.167891, 6.167879, 29.006456, 0.561774, 0.000000}}}, { Sn, +4, {{ 15.445732, 6.420892, 4.562980, 1.713385, 18.033537, -0.172219}, { 6.280898, 0.033144, 6.280899, 17.983601, 0.557980, 0.000000}}}, { Sb, +3, {{ 10.189171, 57.461918, 19.356573, 4.862206,-45.394096, 1.516108}, { 0.089485, 0.375256, 5.357987, 22.153736, 0.297768, 0.000000}}}, { Sb, +5, {{ 17.920622, 6.647932, 12.724075, 1.555545, 7.600591, -0.445371}, { 0.522315, 0.029487, 5.718210, 16.433775, 5.718204, 0.000000}}}, { I, -1, {{ 20.010330, 17.835524, 8.104130, 2.231118, 9.158548, -3.341004}, { 4.565931, 0.444266, 32.430672, 95.149040, 0.014906, 0.000000}}}, { Cs, +1, {{ 19.939056, 24.967621, 10.375884, 0.454243, 17.660248,-19.394306}, { 3.770511, 0.004040, 25.311275, 76.537766, 0.384730, 0.000000}}}, { Ba, +2, {{ 19.750200, 17.513683, 10.884892, 0.321585, 65.149834,-59.618172}, { 3.430748, 0.361590, 21.358307, 70.309402, 0.001418, 0.000000}}}, { La, +3, {{ 19.688887, 17.345703, 11.356296, 0.099418, 82.358124,-76.846909}, { 3.146211, 0.339586, 18.753832, 90.345459, 0.001072, 0.000000}}}, { Ce, +3, {{ 26.593231, 85.866432, -6.677695, 12.111847, 17.401903,-80.313423}, { 3.280381, 0.001012, 4.313575, 17.868504, 0.326962, 0.000000}}}, { Ce, +4, {{ 17.457533, 25.659941, 11.691037, 19.695251,-16.994749, -3.515096}, { 0.311812, -0.003793, 16.568687, 2.886395, -0.008931, 0.000000}}}, { Pr, +3, {{ 20.879841, 36.035797, 12.135341, 0.283103, 17.167803,-30.500784}, { 2.870897, 0.002364, 16.615236, 53.909359, 0.306993, 0.000000}}}, { Pr, +4, {{ 17.496082, 21.538509, 20.403114, 12.062211, -7.492043, -9.016722}, { 0.294457, -0.002742, 2.772886, 15.804613, -0.013556, 0.000000}}}, { Nd, +3, {{ 17.120077, 56.038139, 21.468307, 10.000671, 2.905866,-50.541992}, { 0.291295, 0.001421, 2.743681, 14.581367, 22.485098, 0.000000}}}, { Pm, +3, {{ 22.221066, 17.068142, 12.805423, 0.435687, 52.238770,-46.767181}, { 2.635767, 0.277039, 14.927315, 45.768017, 0.001455, 0.000000}}}, { Sm, +3, {{ 15.618565, 19.538092, 13.398946, -4.358811, 24.490461, -9.714854}, { 0.006001, 0.306379, 14.979594, 0.748825, 2.454492, 0.000000}}}, { Eu, +2, {{ 23.899035, 31.657497, 12.955752, 1.700576, 16.992199,-26.204315}, { 2.467332, 0.002230, 13.625002, 35.089481, 0.253136, 0.000000}}}, { Eu, +3, {{ 17.758327, 33.498665, 24.067188, 13.436883, -9.019134,-19.768026}, { 0.244474, -0.003901, 2.487526, 14.568011, -0.015628, 0.000000}}}, { Gd, +3, {{ 24.344999, 16.945311, 13.866931, 0.481674, 93.506378,-88.147179}, { 2.333971, 0.239215, 12.982995, 43.876347, 0.000673, 0.000000}}}, { Tb, +3, {{ 24.878252, 16.856016, 13.663937, 1.279671, 39.271294,-33.950317}, { 2.223301, 0.227290, 11.812528, 29.910065, 0.001527, 0.000000}}}, { Dy, +3, {{ 16.864344, 90.383461, 13.675473, 1.687078, 25.540651,-85.150650}, { 0.216275, 0.000593, 11.121207, 26.250975, 2.135930, 0.000000}}}, { Ho, +3, {{ 16.837524, 63.221336, 13.703766, 2.061602, 26.202621,-58.026505}, { 0.206873, 0.000796, 10.500283, 24.031883, 2.055060, 0.000000}}}, { Er, +3, {{ 16.810127, 22.681061, 13.864114, 2.294506, 26.864477,-17.513460}, { 0.198293, 0.002126, 9.973341, 22.836388, 1.979442, 0.000000}}}, { Tm, +3, {{ 16.787500, 15.350905, 14.182357, 2.299111, 27.573771,-10.192087}, { 0.190852, 0.003036, 9.602934, 22.526880, 1.912862, 0.000000}}}, { Yb, +2, {{ 28.443794, 16.849527, 14.165081, 3.445311, 28.308853,-23.214935}, { 1.863896, 0.183811, 9.225469, 23.691355, 0.001463, 0.000000}}}, { Yb, +3, {{ 28.191629, 16.828087, 14.167848, 2.744962, 23.171774,-18.103676}, { 1.842889, 0.182788, 9.045957, 20.799847, 0.001759, 0.000000}}}, { Lu, +3, {{ 28.828693, 16.823227, 14.247617, 3.079559, 25.647667,-20.626528}, { 1.776641, 0.175560, 8.575531, 19.693701, 0.001453, 0.000000}}}, { Hf, +4, {{ 29.267378, 16.792543, 14.785310, 2.184128, 23.791996,-18.820383}, { 1.697911, 0.168313, 8.190025, 18.277578, 0.001431, 0.000000}}}, { Ta, +5, {{ 29.539469, 16.741854, 15.182070, 1.642916, 16.437447,-11.542459}, { 1.612934, 0.160460, 7.654408, 17.070732, 0.001858, 0.000000}}}, { W, +6, {{ 29.729357, 17.247808, 15.184488, 1.154652, 0.739335, 3.945157}, { 1.501648, 0.140803, 6.880573, 14.299601, 14.299618, 0.000000}}}, { Os, +4, {{ 17.113485, 15.792370, 23.342392, 4.090271, 7.671292, 3.988390}, { 0.131850, 7.288542, 1.389307, 19.629425, 1.389307, 0.000000}}}, { Ir, +3, {{ 31.537575, 16.363338, 15.597141, 5.051404, 1.436935, 4.009459}, { 1.334144, 7.451918, 0.127514, 21.705648, 0.127515, 0.000000}}}, { Ir, +4, {{ 30.391249, 16.146996, 17.019068, 4.458904, 0.975372, 4.006865}, { 1.328519, 7.181766, 0.127337, 19.060146, 1.328519, 0.000000}}}, { Pt, +2, {{ 31.986849, 17.249048, 15.269374, 5.760234, 1.694079, 4.032512}, { 1.281143, 7.625512, 0.123571, 24.190826, 0.123571, 0.000000}}}, { Pt, +4, {{ 41.932713, 16.339224, 17.653894, 6.012420,-12.036877, 4.094551}, { 1.111409, 6.466086, 0.128917, 16.954155, 0.778721, 0.000000}}}, { Au, +1, {{ 32.124306, 16.716476, 16.814100, 7.311565, 0.993064, 4.040792}, { 1.216073, 7.165378, 0.118715, 20.442486, 53.095985, 0.000000}}}, { Au, +3, {{ 31.704271, 17.545767, 16.819551, 5.522640, 0.361725, 4.042679}, { 1.215561, 7.220506, 0.118812, 20.050970, 1.215562, 0.000000}}}, { Hg, +1, {{ 28.866837, 19.277540, 16.776051, 6.281459, 3.710289, 4.068430}, { 1.173967, 7.583842, 0.115351, 29.055994, 1.173968, 0.000000}}}, { Hg, +2, {{ 32.411079, 18.690371, 16.711773, 9.974835, -3.847611, 4.052869}, { 1.162980, 7.329806, 0.114518, 22.009489, 22.009493, 0.000000}}}, { Tl, +1, {{ 32.295044, 16.570049, 17.991013, 1.535355, 7.554591, 4.054030}, { 1.101544, 0.110020, 6.528559, 52.495068, 20.338634, 0.000000}}}, { Tl, +3, {{ 32.525639, 19.139185, 17.100321, 5.891115, 12.599463, -9.256075}, { 1.094966, 6.900992, 0.103667, 18.489614, -0.001401, 0.000000}}}, { Pb, +2, {{ 27.392647, 16.496822, 19.984501, 6.813923, 5.233910, 4.065623}, { 1.058874, 0.106305, 6.708123, 24.395554, 1.058874, 0.000000}}}, { Pb, +4, {{ 32.505657, 20.014240, 14.645661, 5.029499, 1.760138, 4.044678}, { 1.047035, 6.670321, 0.105279, 16.525040, 0.105279, 0.000000}}}, { Bi, +3, {{ 32.461437, 19.438683, 16.302486, 7.322662, 0.431704, 4.043703}, { 0.997930, 6.038867, 0.101338, 18.371586, 46.361046, 0.000000}}}, { Bi, +5, {{ 16.734028, 20.580494, 9.452623, 61.155834,-34.041023, 4.113663}, { 0.105076, 4.773282, 11.762162, 1.211775, 1.619408, 0.000000}}}, { Ra, +2, {{ 4.986228, 32.474945, 21.947443, 11.800013, 10.807292, 3.956572}, { 0.082597, 0.791468, 4.608034, 24.792431, 0.082597, 0.000000}}}, { Ac, +3, {{ 15.584983, 32.022125, 21.456327, 0.757593, 12.341252, 3.838984}, { 0.077438, 0.739963, 4.040735, 47.525002, 19.406845, 0.000000}}}, { Th, +4, {{ 15.515445, 32.090691, 13.996399, 12.918157, 7.635514, 3.831122}, { 0.074499, 0.711663, 3.871044, 18.596891, 3.871044, 0.000000}}}, { U, +3, {{ 15.360309, 32.395657, 21.961290, 1.325894, 14.251453, 3.706622}, { 0.067815, 0.654643, 3.643409, 39.604965, 16.330570, 0.000000}}}, { U, +4, {{ 15.355091, 32.235306, 0.557745, 14.396367, 21.751173, 3.705863}, { 0.067789, 0.652613, 42.354237, 15.908239, 3.553231, 0.000000}}}, { U, +6, {{ 15.333844, 31.770849, 21.274414, 13.872636, 0.048519, 3.700591}, { 0.067644, 0.646384, 3.317894, 14.650250, 75.339699, 0.000000}}}, { Np, +3, {{ 15.378152, 32.572132, 22.206125, 1.413295, 14.828381, 3.603370}, { 0.064613, 0.631420, 3.561936, 37.875511, 15.546129, 0.000000}}}, { Np, +4, {{ 15.373926, 32.423019, 21.969994, 0.662078, 14.969350, 3.603039}, { 0.064597, 0.629658, 3.476389, 39.438942, 15.135764, 0.000000}}}, { Np, +6, {{ 15.359986, 31.992825, 21.412458, 0.066574, 14.568174, 3.600942}, { 0.064528, 0.624505, 3.253441, 67.658318, 13.980832, 0.000000}}}, { Pu, +3, {{ 15.356004, 32.769127, 22.680210, 1.351055, 15.416232, 3.428895}, { 0.060590, 0.604663, 3.491509, 37.260635, 14.981921, 0.000000}}}, { Pu, +4, {{ 15.416219, 32.610569, 22.256662, 0.719495, 15.518152, 3.480408}, { 0.061456, 0.607938, 3.411848, 37.628792, 14.464360, 0.000000}}}, { Pu, +6, {{ 15.436506, 32.289719, 14.726737, 15.012391, 7.024677, 3.502325}, { 0.061815, 0.606541, 3.245363, 13.616438, 3.245364, 0.000000}}} }; SFDataArrayElement kELSFData[] = { {H, 0, {{ 0.034900, 0.120100, 0.197000, 0.057300, 0.119500 }, { 0.534700, 3.586700, 12.347100, 18.952499, 38.626900 }}}, {He, 0, {{ 0.031700, 0.083800, 0.152600, 0.133400, 0.016400 }, { 0.250700, 1.475100, 4.493800, 12.664600, 31.165300 }}}, {Li, 0, {{ 0.075000, 0.224900, 0.554800, 1.495400, 0.935400 }, { 0.386400, 2.938300, 15.382900, 53.554501, 138.733704 }}}, {Be, 0, {{ 0.078000, 0.221000, 0.674000, 1.386700, 0.692500 }, { 0.313100, 2.238100, 10.151700, 30.906099, 78.327301 }}}, {B, 0, {{ 0.090900, 0.255100, 0.773800, 1.213600, 0.460600 }, { 0.299500, 2.115500, 8.381600, 24.129200, 63.131401 }}}, {C, 0, {{ 0.089300, 0.256300, 0.757000, 1.048700, 0.357500 }, { 0.246500, 1.710000, 6.409400, 18.611300, 50.252300 }}}, {N, 0, {{ 0.102200, 0.321900, 0.798200, 0.819700, 0.171500 }, { 0.245100, 1.748100, 6.192500, 17.389400, 48.143101 }}}, {O, 0, {{ 0.097400, 0.292100, 0.691000, 0.699000, 0.203900 }, { 0.206700, 1.381500, 4.694300, 12.710500, 32.472599 }}}, {F, 0, {{ 0.108300, 0.317500, 0.648700, 0.584600, 0.142100 }, { 0.205700, 1.343900, 4.278800, 11.393200, 28.788099 }}}, {Ne, 0, {{ 0.126900, 0.353500, 0.558200, 0.467400, 0.146000 }, { 0.220000, 1.377900, 4.020300, 9.493400, 23.127800 }}}, {Na, 0, {{ 0.214200, 0.685300, 0.769200, 1.658900, 1.448200 }, { 0.333400, 2.344600, 10.083000, 48.303699, 138.270004 }}}, {Mg, 0, {{ 0.231400, 0.686600, 0.967700, 2.188200, 1.133900 }, { 0.327800, 2.272000, 10.924100, 39.289799, 101.974800 }}}, {Al, 0, {{ 0.239000, 0.657300, 1.201100, 2.558600, 1.231200 }, { 0.313800, 2.106300, 10.416300, 34.455200, 98.534401 }}}, {Si, 0, {{ 0.251900, 0.637200, 1.379500, 2.508200, 1.050000 }, { 0.307500, 2.017400, 9.674600, 29.374399, 80.473198 }}}, {P, 0, {{ 0.254800, 0.610600, 1.454100, 2.320400, 0.847700 }, { 0.290800, 1.874000, 8.517600, 24.343399, 63.299599 }}}, {S, 0, {{ 0.249700, 0.562800, 1.389900, 2.186500, 0.771500 }, { 0.268100, 1.671100, 7.026700, 19.537701, 50.388802 }}}, {Cl, 0, {{ 0.244300, 0.539700, 1.391900, 2.019700, 0.662100 }, { 0.246800, 1.524200, 6.153700, 16.668699, 42.308601 }}}, {Ar, 0, {{ 0.238500, 0.501700, 1.342800, 1.889900, 0.607900 }, { 0.228900, 1.369400, 5.256100, 14.092800, 35.536098 }}}, {K, 0, {{ 0.411500, 1.403100, 2.278400, 2.674200, 2.216200 }, { 0.370300, 3.387400, 13.102900, 68.959198, 194.432907 }}}, {Ca, 0, {{ 0.405400, 1.388000, 2.160200, 3.753200, 2.206300 }, { 0.349900, 3.099100, 11.960800, 53.935299, 142.389206 }}}, {Sc, 0, {{ 0.378700, 1.218100, 2.059400, 3.261800, 2.387000 }, { 0.313300, 2.585600, 9.581300, 41.768799, 116.728203 }}}, {Ti, 0, {{ 0.382500, 1.259800, 2.000800, 3.061700, 2.069400 }, { 0.304000, 2.486300, 9.278300, 39.075100, 109.458298 }}}, {V, 0, {{ 0.387600, 1.275000, 1.910900, 2.831400, 1.897900 }, { 0.296700, 2.378000, 8.798100, 35.952801, 101.720100 }}}, {Cr, 0, {{ 0.404600, 1.369600, 1.894100, 2.080000, 1.219600 }, { 0.298600, 2.395800, 9.140600, 37.470100, 113.712097 }}}, {Mn, 0, {{ 0.379600, 1.209400, 1.781500, 2.542000, 1.593700 }, { 0.269900, 2.045500, 7.472600, 31.060400, 91.562202 }}}, {Fe, 0, {{ 0.394600, 1.272500, 1.703100, 2.314000, 1.479500 }, { 0.271700, 2.044300, 7.600700, 29.971399, 86.226501 }}}, {Co, 0, {{ 0.411800, 1.316100, 1.649300, 2.193000, 1.283000 }, { 0.274200, 2.037200, 7.720500, 29.968000, 84.938301 }}}, {Ni, 0, {{ 0.386000, 1.176500, 1.545100, 2.073000, 1.381400 }, { 0.247800, 1.766000, 6.310700, 25.220400, 74.314598 }}}, {Cu, 0, {{ 0.431400, 1.320800, 1.523600, 1.467100, 0.856200 }, { 0.269400, 1.922300, 7.347400, 28.989201, 90.624603 }}}, {Zn, 0, {{ 0.428800, 1.264600, 1.447200, 1.829400, 1.093400 }, { 0.259300, 1.799800, 6.750000, 25.586000, 73.528397 }}}, {Ga, 0, {{ 0.481800, 1.403200, 1.656100, 2.460500, 1.105400 }, { 0.282500, 1.978500, 8.754600, 32.523800, 98.552299 }}}, {Ge, 0, {{ 0.465500, 1.301400, 1.608800, 2.699800, 1.300300 }, { 0.264700, 1.792600, 7.607100, 26.554100, 77.523804 }}}, {As, 0, {{ 0.451700, 1.222900, 1.585200, 2.795800, 1.263800 }, { 0.249300, 1.643600, 6.815400, 22.368099, 62.039001 }}}, {Se, 0, {{ 0.447700, 1.167800, 1.584300, 2.808700, 1.195600 }, { 0.240500, 1.544200, 6.323100, 19.461000, 52.023300 }}}, {Br, 0, {{ 0.479800, 1.194800, 1.869500, 2.695300, 0.820300 }, { 0.250400, 1.596300, 6.965300, 19.849199, 50.323299 }}}, {Kr, 0, {{ 0.454600, 1.099300, 1.769600, 2.706800, 0.867200 }, { 0.230900, 1.427900, 5.944900, 16.675200, 42.224300 }}}, {Rb, 0, {{ 1.016000, 2.852800, 3.546600, -7.780400, 12.114800 }, { 0.485300, 5.092500, 25.785101, 130.451508, 138.677505 }}}, {Sr, 0, {{ 0.670300, 1.492600, 3.336800, 4.460000, 3.150100 }, { 0.319000, 2.228700, 10.350400, 52.329102, 151.221603 }}}, {Y, 0, {{ 0.689400, 1.547400, 3.245000, 4.212600, 2.976400 }, { 0.318900, 2.290400, 10.006200, 44.077099, 125.012001 }}}, {Zr, 0, {{ 0.671900, 1.468400, 3.166800, 3.955700, 2.892000 }, { 0.303600, 2.124900, 8.923600, 36.845798, 108.204903 }}}, {Nb, 0, {{ 0.612300, 1.267700, 3.034800, 3.384100, 2.368300 }, { 0.270900, 1.768300, 7.248900, 27.946501, 98.562401 }}}, {Mo, 0, {{ 0.677300, 1.479800, 3.178800, 3.082400, 1.838400 }, { 0.292000, 2.060600, 8.112900, 30.533600, 100.065804 }}}, {Tc, 0, {{ 0.708200, 1.639200, 3.199300, 3.432700, 1.871100 }, { 0.297600, 2.210600, 8.524600, 33.145599, 96.637703 }}}, {Ru, 0, {{ 0.673500, 1.493400, 3.096600, 2.725400, 1.559700 }, { 0.277300, 1.971600, 7.324900, 26.689100, 90.558098 }}}, {Rh, 0, {{ 0.641300, 1.369000, 2.985400, 2.695200, 1.543300 }, { 0.258000, 1.772100, 6.385400, 23.254900, 85.151703 }}}, {Pd, 0, {{ 0.590400, 1.177500, 2.651900, 2.287500, 0.868900 }, { 0.232400, 1.501900, 5.159100, 15.542800, 46.821301 }}}, {Ag, 0, {{ 0.637700, 1.379000, 2.829400, 2.363100, 1.455300 }, { 0.246600, 1.697400, 5.765600, 20.094299, 76.737198 }}}, {Cd, 0, {{ 0.636400, 1.424700, 2.780200, 2.597300, 1.788600 }, { 0.240700, 1.682300, 5.658800, 20.721901, 69.110901 }}}, {In, 0, {{ 0.676800, 1.658900, 2.774000, 3.183500, 2.132600 }, { 0.252200, 1.854500, 6.293600, 25.145700, 84.544800 }}}, {Sn, 0, {{ 0.722400, 1.961000, 2.716100, 3.560300, 1.897200 }, { 0.265100, 2.060400, 7.301100, 27.549299, 81.334900 }}}, {Sb, 0, {{ 0.710600, 1.924700, 2.614900, 3.832200, 1.889900 }, { 0.256200, 1.964600, 6.885200, 24.764799, 68.916801 }}}, {Te, 0, {{ 0.694700, 1.869000, 2.535600, 4.001300, 1.895500 }, { 0.245900, 1.854200, 6.441100, 22.173000, 59.220600 }}}, {I, 0, {{ 0.704700, 1.948400, 2.594000, 4.152600, 1.505700 }, { 0.245500, 1.863800, 6.763900, 21.800699, 56.439499 }}}, {Xe, 0, {{ 0.673700, 1.790800, 2.412900, 4.210000, 1.705800 }, { 0.230500, 1.689000, 5.821800, 18.392799, 47.249599 }}}, {Cs, 0, {{ 1.270400, 3.801800, 5.661800, 0.920500, 4.810500 }, { 0.435600, 4.205800, 23.434200, 136.778305, 171.756104 }}}, {Ba, 0, {{ 0.904900, 2.607600, 4.849800, 5.160300, 4.738800 }, { 0.306600, 2.436300, 12.182100, 54.613499, 161.997803 }}}, {La, 0, {{ 0.840500, 2.386300, 4.613900, 5.151400, 4.794900 }, { 0.279100, 2.141000, 10.340000, 41.914799, 132.020401 }}}, {Ce, 0, {{ 0.855100, 2.391500, 4.577200, 5.027800, 4.511800 }, { 0.280500, 2.120000, 10.180800, 42.063301, 130.989304 }}}, {Pr, 0, {{ 0.909600, 2.531300, 4.526600, 4.637600, 4.369000 }, { 0.293900, 2.247100, 10.826600, 48.884201, 147.602005 }}}, {Nd, 0, {{ 0.880700, 2.418300, 4.444800, 4.685800, 4.172500 }, { 0.280200, 2.083600, 10.035700, 47.450600, 146.997604 }}}, {Pm, 0, {{ 0.947100, 2.546300, 4.352300, 4.478900, 3.908000 }, { 0.297700, 2.227600, 10.576200, 49.361900, 145.358002 }}}, {Sm, 0, {{ 0.969900, 2.583700, 4.277800, 4.457500, 3.598500 }, { 0.300300, 2.244700, 10.648700, 50.799400, 146.417892 }}}, {Eu, 0, {{ 0.869400, 2.241300, 3.919600, 3.969400, 4.549800 }, { 0.265300, 1.859000, 8.399800, 36.739700, 125.708900 }}}, {Gd, 0, {{ 0.967300, 2.470200, 4.114800, 4.497200, 3.209900 }, { 0.290900, 2.101400, 9.706700, 43.426998, 125.947403 }}}, {Tb, 0, {{ 0.932500, 2.367300, 3.879100, 3.967400, 3.799600 }, { 0.276100, 1.951100, 8.929600, 41.593700, 131.012207 }}}, {Dy, 0, {{ 0.950500, 2.370500, 3.821800, 4.047100, 3.445100 }, { 0.277300, 1.946900, 8.886200, 43.093800, 133.139603 }}}, {Ho, 0, {{ 0.924800, 2.242800, 3.618200, 3.791000, 3.791200 }, { 0.266000, 1.818300, 7.965500, 33.112900, 101.813904 }}}, {Er, 0, {{ 1.037300, 2.482400, 3.655800, 3.892500, 3.005600 }, { 0.294400, 2.079700, 9.415600, 45.805599, 132.772003 }}}, {Tm, 0, {{ 1.007500, 2.378700, 3.544000, 3.693200, 3.175900 }, { 0.281600, 1.948600, 8.716200, 41.841999, 125.031998 }}}, {Yb, 0, {{ 1.034700, 2.391100, 3.461900, 3.655600, 3.005200 }, { 0.285500, 1.967900, 8.761900, 42.330399, 125.649902 }}}, {Lu, 0, {{ 0.992700, 2.243600, 3.355400, 3.781300, 3.099400 }, { 0.270100, 1.807300, 7.811200, 34.484901, 103.352600 }}}, {Hf, 0, {{ 1.029500, 2.291100, 3.411000, 3.949700, 2.492500 }, { 0.276100, 1.862500, 8.096100, 34.271198, 98.529503 }}}, {Ta, 0, {{ 1.019000, 2.229100, 3.409700, 3.925200, 2.267900 }, { 0.269400, 1.796200, 7.694400, 31.094200, 91.108902 }}}, {W, 0, {{ 0.985300, 2.116700, 3.357000, 3.798100, 2.279800 }, { 0.256900, 1.674500, 7.009800, 26.923401, 81.390999 }}}, {Re, 0, {{ 0.991400, 2.085800, 3.453100, 3.881200, 1.852600 }, { 0.254800, 1.651800, 6.884500, 26.723400, 81.721497 }}}, {Os, 0, {{ 0.981300, 2.032200, 3.366500, 3.623500, 1.974100 }, { 0.248700, 1.597300, 6.473700, 23.281700, 70.925400 }}}, {Ir, 0, {{ 1.019400, 2.064500, 3.442500, 3.491400, 1.697600 }, { 0.255400, 1.647500, 6.596600, 23.226900, 70.027199 }}}, {Pt, 0, {{ 0.914800, 1.809600, 3.213400, 3.295300, 1.575400 }, { 0.226300, 1.381300, 5.324300, 17.598700, 60.017101 }}}, {Au, 0, {{ 0.967400, 1.891600, 3.399300, 3.052400, 1.260700 }, { 0.235800, 1.471200, 5.675800, 18.711901, 61.528599 }}}, {Hg, 0, {{ 1.003300, 1.946900, 3.439600, 3.154800, 1.418000 }, { 0.241300, 1.529800, 5.800900, 19.452000, 60.575298 }}}, {Tl, 0, {{ 1.068900, 2.103800, 3.603900, 3.492700, 1.828300 }, { 0.254000, 1.671500, 6.350900, 23.153099, 78.709900 }}}, {Pb, 0, {{ 1.089100, 2.186700, 3.616000, 3.803100, 1.899400 }, { 0.255200, 1.717400, 6.513100, 23.917000, 74.703903 }}}, {Bi, 0, {{ 1.100700, 2.230600, 3.568900, 4.154900, 2.038200 }, { 0.254600, 1.735100, 6.494800, 23.646400, 70.377998 }}}, {Po, 0, {{ 1.156800, 2.435300, 3.645900, 4.406400, 1.717900 }, { 0.264800, 1.878600, 7.174900, 25.176600, 69.282097 }}}, {At, 0, {{ 1.090900, 2.197600, 3.383100, 4.670000, 2.127700 }, { 0.246600, 1.670700, 6.019700, 20.765699, 57.266300 }}}, {Rn, 0, {{ 1.075600, 2.163000, 3.317800, 4.885200, 2.048900 }, { 0.240200, 1.616900, 5.764400, 19.456800, 52.500900 }}}, {Fr, 0, {{ 1.428200, 3.508100, 5.676700, 4.196400, 3.894600 }, { 0.318300, 2.688900, 13.481600, 54.386600, 200.832108 }}}, {Ra, 0, {{ 1.312700, 3.124300, 5.298800, 5.389100, 5.413300 }, { 0.288700, 2.289700, 10.827600, 43.538898, 145.610901 }}}, {Ac, 0, {{ 1.312800, 3.102100, 5.338500, 5.961100, 4.756200 }, { 0.286100, 2.250900, 10.528700, 41.779598, 128.297302 }}}, {Th, 0, {{ 1.255300, 2.917800, 5.086200, 6.120600, 4.712200 }, { 0.270100, 2.063600, 9.305100, 34.597698, 107.919998 }}}, {Pa, 0, {{ 1.321800, 3.144400, 5.437100, 5.644400, 4.010700 }, { 0.282700, 2.225000, 10.245400, 41.116199, 124.444901 }}}, {U, 0, {{ 1.338200, 3.204300, 5.455800, 5.483900, 3.634200 }, { 0.283800, 2.245200, 10.251900, 41.725101, 124.902298 }}}, {Np, 0, {{ 1.519300, 4.005300, 6.532700, -0.140200, 6.748900 }, { 0.321300, 2.820600, 14.887800, 68.910301, 81.725700 }}}, {Pu, 0, {{ 1.351700, 3.293700, 5.321300, 4.646600, 3.571400 }, { 0.281300, 2.241800, 9.995200, 42.793900, 132.173904 }}}, {Am, 0, {{ 1.213500, 2.796200, 4.754500, 4.573100, 4.478600 }, { 0.248300, 1.843700, 7.542100, 29.384100, 112.457901 }}}, {Cm, 0, {{ 1.293700, 3.110000, 5.039300, 4.754600, 3.503100 }, { 0.263800, 2.034100, 8.710100, 35.299198, 109.497200 }}}, {Bk, 0, {{ 1.291500, 3.102300, 4.930900, 4.600900, 3.466100 }, { 0.261100, 2.002300, 8.437700, 34.155899, 105.891098 }}}, {Cf, 0, {{ 1.208900, 2.739100, 4.348200, 4.004700, 4.649700 }, { 0.242100, 1.748700, 6.726200, 23.215300, 80.310799 }}} }; } // namespace data // -------------------------------------------------------------------- // AtomTypeTraits AtomTypeTraits::AtomTypeTraits(const std::string& symbol) : mInfo(nullptr) { for (auto& i: data::kKnownAtoms) { if (cif::iequals(i.symbol, symbol)) { mInfo = &i; break; } } if (mInfo == nullptr) throw std::invalid_argument("Not a known element: " + symbol); } AtomTypeTraits::AtomTypeTraits(AtomType t) { if (t < H or t >= data::kKnownAtomsCount) throw std::invalid_argument("atomType out of range"); mInfo = &data::kKnownAtoms[t]; assert(mInfo->type == t); } bool AtomTypeTraits::isElement(const std::string& symbol) { bool result = false; for (auto& i: data::kKnownAtoms) { if (cif::iequals(i.symbol, symbol)) { result = true; break; } } return result; } bool AtomTypeTraits::isMetal(const std::string& symbol) { bool result = false; for (auto& i: data::kKnownAtoms) { if (cif::iequals(i.symbol, symbol)) { result = i.metal; break; } } return result; } auto AtomTypeTraits::wksf(int charge) const -> const SFData& { for (auto& sf: data::kWKSFData) { if (sf.symbol == mInfo->type and sf.charge == charge) return sf.sf; } throw std::runtime_error("No scattering factor found for " + name() + std::to_string(charge)); } auto AtomTypeTraits::elsf() const -> const SFData& { for (auto& sf: data::kELSFData) { if (sf.symbol == mInfo->type) return sf.sf; } throw std::runtime_error("No scattering factor found for " + name()); } } libcifpp-2.0.5/src/BondMap.cpp0000664000175000017500000003601514200173347015771 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include "cif++/Cif++.hpp" #include "cif++/Compound.hpp" #include "cif++/CifUtils.hpp" #include "cif++/BondMap.hpp" namespace mmcif { namespace { union IDType { IDType() : id_n(0){} IDType(const IDType& rhs) : id_n(rhs.id_n) {} IDType(const std::string& s) : IDType() { assert(s.length() <= 4); if (s.length() > 4) throw BondMapException("Atom ID '" + s + "' is too long"); std::copy(s.begin(), s.end(), id_s); } IDType& operator=(const IDType& rhs) { id_n = rhs.id_n; return *this; } IDType& operator=(const std::string& s) { id_n = 0; assert(s.length() <= 4); if (s.length() > 4) throw BondMapException("Atom ID '" + s + "' is too long"); std::copy(s.begin(), s.end(), id_s); return *this; } bool operator<(const IDType& rhs) const { return id_n < rhs.id_n; } bool operator<=(const IDType& rhs) const { return id_n <= rhs.id_n; } bool operator==(const IDType& rhs) const { return id_n == rhs.id_n; } bool operator!=(const IDType& rhs) const { return id_n != rhs.id_n; } char id_s[4]; uint32_t id_n; }; static_assert(sizeof(IDType) == 4, "atom_id_type should be 4 bytes"); } // // -------------------------------------------------------------------- // void createBondInfoFile(const fs::path& components, const fs::path& infofile) // { // std::ofstream outfile(infofile.string() + ".tmp", std::ios::binary); // if (not outfile.is_open()) // throw BondMapException("Could not create bond info file " + infofile.string() + ".tmp"); // cif::File infile(components); // std::set atomIDs; // std::vector compoundIDs; // for (auto& db: infile) // { // auto chem_comp_bond = db.get("chem_comp_bond"); // if (not chem_comp_bond) // { // if (cif::VERBOSE > 1) // std::cerr << "Missing chem_comp_bond category in data block " << db.getName() << std::endl; // continue; // } // for (const auto& [atom_id_1, atom_id_2]: chem_comp_bond->rows({"atom_id_1", "atom_id_2"})) // { // atomIDs.insert(atom_id_1); // atomIDs.insert(atom_id_2); // } // compoundIDs.push_back({ db.getName() }); // } // if (cif::VERBOSE) // std::cout << "Number of unique atom names is " << atomIDs.size() << std::endl // << "Number of unique residue names is " << compoundIDs.size() << std::endl; // CompoundBondInfoFileHeader header = {}; // header.indexEntries = compoundIDs.size(); // header.atomEntries = atomIDs.size(); // outfile << header; // for (auto atomID: atomIDs) // outfile << atomID; // auto dataOffset = outfile.tellp(); // std::vector entries; // entries.reserve(compoundIDs.size()); // std::map atomIDMap; // for (auto& atomID: atomIDs) // atomIDMap[atomID] = atomIDMap.size(); // for (auto& db: infile) // { // auto chem_comp_bond = db.get("chem_comp_bond"); // if (not chem_comp_bond) // continue; // std::set bondedAtoms; // for (const auto& [atom_id_1, atom_id_2]: chem_comp_bond->rows({"atom_id_1", "atom_id_2"})) // { // bondedAtoms.insert(atomIDMap[atom_id_1]); // bondedAtoms.insert(atomIDMap[atom_id_2]); // } // std::map bondedAtomMap; // for (auto id: bondedAtoms) // bondedAtomMap[id] = static_cast(bondedAtomMap.size()); // CompoundBondInfo info = { // db.getName(), // static_cast(bondedAtomMap.size()), // outfile.tellp() - dataOffset // }; // entries.push_back(info); // // An now first write the array of atom ID's in this compound // for (uint16_t id: bondedAtoms) // write(outfile, id); // // And then the symmetric matrix with bonds // size_t N = bondedAtoms.size(); // size_t M = (N * (N - 1)) / 2; // size_t K = M / 8; // if (M % 8) // K += 1; // std::vector m(K); // for (const auto& [atom_id_1, atom_id_2]: chem_comp_bond->rows({"atom_id_1", "atom_id_2"})) // { // auto a = bondedAtomMap[atomIDMap[atom_id_1]]; // auto b = bondedAtomMap[atomIDMap[atom_id_2]]; // assert(a != b); // assert((int)b < (int)N); // if (a > b) // std::swap(a, b); // size_t ix = ((b - 1) * b) / 2 + a; // assert(ix < M); // auto Bix = ix / 8; // auto bix = ix % 8; // m[Bix] |= 1 << bix; // } // outfile.write(reinterpret_cast(m.data()), m.size()); // } // header.dataSize = outfile.tellp() - dataOffset; // std::sort(entries.begin(), entries.end(), [](CompoundBondInfo& a, CompoundBondInfo& b) // { // return a.id < b.id; // }); // for (auto& info: entries) // outfile << info; // outfile.seekp(0); // outfile << header; // // compress // outfile.close(); // std::ifstream in(infofile.string() + ".tmp", std::ios::binary); // std::ofstream out(infofile, std::ios::binary); // { // io::filtering_stream os; // os.push(io::gzip_compressor()); // os.push(out); // io::copy(in, os); // } // in.close(); // out.close(); // fs::remove(infofile.string() + ".tmp"); // } // -------------------------------------------------------------------- struct CompoundBondInfo { IDType mID; std::set> mBonded; bool bonded(uint32_t a1, uint32_t a2) const { return mBonded.count({ a1, a2 }) > 0; } }; // -------------------------------------------------------------------- class CompoundBondMap { public: static CompoundBondMap &instance() { static std::unique_ptr s_instance(new CompoundBondMap); return *s_instance; } bool bonded(const std::string& compoundID, const std::string& atomID1, const std::string& atomID2); private: CompoundBondMap() {} uint32_t getAtomID(const std::string& atomID) { IDType id(atomID); uint32_t result; auto i = mAtomIDIndex.find(id); if (i == mAtomIDIndex.end()) { result = uint32_t(mAtomIDIndex.size()); mAtomIDIndex[id] = result; } else result = i->second; return result; } std::map mAtomIDIndex; std::vector mCompounds; std::mutex mMutex; }; bool CompoundBondMap::bonded(const std::string &compoundID, const std::string& atomID1, const std::string& atomID2) { std::lock_guard lock(mMutex); using namespace std::literals; IDType id(compoundID); uint32_t a1 = getAtomID(atomID1); uint32_t a2 = getAtomID(atomID2); if (a1 > a2) std::swap(a1, a2); for (auto &bi: mCompounds) { if (bi.mID != id) continue; return bi.bonded(a1, a2); } bool result = false; // not found in our cache, calculate CompoundBondInfo bondInfo{ id }; auto compound = mmcif::CompoundFactory::instance().create(compoundID); if (not compound) std::cerr << "Missing compound bond info for " << compoundID << std::endl; else { for (auto &atom: compound->bonds()) { uint32_t ca1 = getAtomID(atom.atomID[0]); uint32_t ca2 = getAtomID(atom.atomID[1]); if (ca1 > ca2) std::swap(ca1, ca2); bondInfo.mBonded.insert({ca1, ca2}); result = result or (a1 == ca1 and a2 == ca2); } } mCompounds.push_back(bondInfo); return result; } // -------------------------------------------------------------------- BondMap::BondMap(const Structure& p) { auto& compoundBondInfo = CompoundBondMap::instance(); auto atoms = p.atoms(); dim = uint32_t(atoms.size()); // bond = std::vector(dim * (dim - 1), false); for (auto& atom: atoms) index[atom.id()] = uint32_t(index.size()); auto bindAtoms = [this](const std::string& a, const std::string& b) { uint32_t ixa = index[a]; uint32_t ixb = index[b]; bond.insert(key(ixa, ixb)); }; auto linkAtoms = [this,&bindAtoms](const std::string& a, const std::string& b) { bindAtoms(a, b); link[a].insert(b); link[b].insert(a); }; cif::Datablock& db = p.getFile().data(); // collect all compounds first std::set compounds; for (auto c: db["chem_comp"]) compounds.insert(c["id"].as()); // make sure we also have all residues in the polyseq for (auto m: db["entity_poly_seq"]) { std::string c = m["mon_id"].as(); if (compounds.count(c)) continue; if (cif::VERBOSE > 1) std::cerr << "Warning: mon_id " << c << " is missing in the chem_comp category" << std::endl; compounds.insert(c); } cif::Progress progress(compounds.size(), "Creating bond map"); // some helper indices to speed things up a bit std::map,std::string> atomMapByAsymSeqAndAtom; for (auto& a: p.atoms()) { auto key = make_tuple(a.labelAsymID(), a.labelSeqID(), a.labelAtomID()); atomMapByAsymSeqAndAtom[key] = a.id(); } // first link all residues in a polyseq std::string lastAsymID; int lastSeqID = 0; for (auto r: db["pdbx_poly_seq_scheme"]) { std::string asymID; int seqID; cif::tie(asymID, seqID) = r.get("asym_id", "seq_id"); if (asymID != lastAsymID) // first in a new sequece { lastAsymID = asymID; lastSeqID = seqID; continue; } auto c = atomMapByAsymSeqAndAtom[make_tuple(asymID, lastSeqID, "C")]; auto n = atomMapByAsymSeqAndAtom[make_tuple(asymID, seqID, "N")]; if (not (c.empty() or n.empty())) bindAtoms(c, n); lastSeqID = seqID; } for (auto l: db["struct_conn"]) { std::string asym1, asym2, atomId1, atomId2; int seqId1 = 0, seqId2 = 0; cif::tie(asym1, asym2, atomId1, atomId2, seqId1, seqId2) = l.get("ptnr1_label_asym_id", "ptnr2_label_asym_id", "ptnr1_label_atom_id", "ptnr2_label_atom_id", "ptnr1_label_seq_id", "ptnr2_label_seq_id"); std::string a = atomMapByAsymSeqAndAtom[make_tuple(asym1, seqId1, atomId1)]; std::string b = atomMapByAsymSeqAndAtom[make_tuple(asym2, seqId2, atomId2)]; if (not (a.empty() or b.empty())) linkAtoms(a, b); } // then link all atoms in the compounds for (auto c: compounds) { if (c == "HOH" or c == "H2O" or c == "WAT") { if (cif::VERBOSE) std::cerr << "skipping water in bond map calculation" << std::endl; continue; } auto bonded = [c, &compoundBondInfo](const Atom& a, const Atom& b) { auto label_a = a.labelAtomID(); auto label_b = b.labelAtomID(); return compoundBondInfo.bonded(c, label_a, label_b); }; // loop over poly_seq_scheme for (auto r: db["pdbx_poly_seq_scheme"].find(cif::Key("mon_id") == c)) { std::string asymID; int seqID; cif::tie(asymID, seqID) = r.get("asym_id", "seq_id"); std::vector rAtoms; copy_if(atoms.begin(), atoms.end(), back_inserter(rAtoms), [&](auto& a) { return a.labelAsymID() == asymID and a.labelSeqID() == seqID; }); for (uint32_t i = 0; i + 1 < rAtoms.size(); ++i) { for (uint32_t j = i + 1; j < rAtoms.size(); ++j) { if (bonded(rAtoms[i], rAtoms[j])) bindAtoms(rAtoms[i].id(), rAtoms[j].id()); } } } // loop over pdbx_nonpoly_scheme for (auto r: db["pdbx_nonpoly_scheme"].find(cif::Key("mon_id") == c)) { std::string asymID; cif::tie(asymID) = r.get("asym_id"); std::vector rAtoms; copy_if(atoms.begin(), atoms.end(), back_inserter(rAtoms), [&](auto& a) { return a.labelAsymID() == asymID; }); for (uint32_t i = 0; i + 1 < rAtoms.size(); ++i) { for (uint32_t j = i + 1; j < rAtoms.size(); ++j) { if (bonded(rAtoms[i], rAtoms[j])) { uint32_t ixa = index[rAtoms[i].id()]; uint32_t ixb = index[rAtoms[j].id()]; bond.insert(key(ixa, ixb)); } } } } // loop over pdbx_branch_scheme for (auto r: db["pdbx_branch_scheme"].find(cif::Key("mon_id") == c)) { std::string asymID; cif::tie(asymID) = r.get("asym_id"); std::vector rAtoms; copy_if(atoms.begin(), atoms.end(), back_inserter(rAtoms), [&](auto& a) { return a.labelAsymID() == asymID; }); for (uint32_t i = 0; i + 1 < rAtoms.size(); ++i) { for (uint32_t j = i + 1; j < rAtoms.size(); ++j) { if (bonded(rAtoms[i], rAtoms[j])) { uint32_t ixa = index[rAtoms[i].id()]; uint32_t ixb = index[rAtoms[j].id()]; bond.insert(key(ixa, ixb)); } } } } } // start by creating an index for single bonds std::multimap b1_2; for (auto& bk: bond) { uint32_t a, b; std::tie(a, b) = dekey(bk); b1_2.insert({ a, b }); b1_2.insert({ b, a }); } std::multimap b1_3; for (uint32_t i = 0; i < dim; ++i) { auto a = b1_2.equal_range(i); std::vector s; for (auto j = a.first; j != a.second; ++j) s.push_back(j->second); for (size_t si1 = 0; si1 + 1 < s.size(); ++si1) { for (size_t si2 = si1 + 1; si2 < s.size(); ++si2) { uint32_t x = s[si1]; uint32_t y = s[si2]; if (isBonded(x, y)) continue; b1_3.insert({ x, y }); b1_3.insert({ y, x }); } } } for (uint32_t i = 0; i < dim; ++i) { auto a1 = b1_2.equal_range(i); auto a2 = b1_3.equal_range(i); for (auto ai1 = a1.first; ai1 != a1.second; ++ai1) { for (auto ai2 = a2.first; ai2 != a2.second; ++ai2) { uint32_t b1 = ai1->second; uint32_t b2 = ai2->second; if (isBonded(b1, b2)) continue; bond_1_4.insert(key(b1, b2)); } } } } std::vector BondMap::linked(const Atom& a) const { auto i = link.find(a.id()); std::vector result; if (i != link.end()) result = std::vector(i->second.begin(), i->second.end()); return result; } std::vector BondMap::atomIDsForCompound(const std::string& compoundID) { std::vector result; auto* compound = mmcif::CompoundFactory::instance().create(compoundID); if (compound == nullptr) throw BondMapException("Missing bond information for compound " + compoundID); for (auto& compAtom: compound->atoms()) result.push_back(compAtom.id); return result; } } libcifpp-2.0.5/src/Cif++.cpp0000664000175000017500000022575214200173347015310 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include "cif++/Cif++.hpp" #include "cif++/CifParser.hpp" #include "cif++/CifUtils.hpp" #include "cif++/CifValidator.hpp" namespace ba = boost::algorithm; namespace io = boost::iostreams; namespace fs = std::filesystem; namespace cif { CIFPP_EXPORT int VERBOSE = 0; static const char *kEmptyResult = ""; // -------------------------------------------------------------------- // most internal data structures are stored as linked lists // Item values are stored in a simple struct. They should be const anyway struct ItemValue { ItemValue *mNext; uint32_t mColumnIndex; char mText[4]; ItemValue(const char *v, size_t columnIndex); ~ItemValue(); bool empty() const { return mText[0] == 0 or ((mText[0] == '.' or mText[0] == '?') and mText[1] == 0); } bool null() const { return mText[0] == '.' and mText[1] == 0; } bool unknown() const { return mText[0] == '?' and mText[1] == 0; } void *operator new(size_t size, size_t dataSize); void operator delete(void *p); void operator delete(void *p, size_t dataSize); }; // -------------------------------------------------------------------- ItemValue::ItemValue(const char *value, size_t columnIndex) : mNext(nullptr) , mColumnIndex(uint32_t(columnIndex)) { assert(columnIndex < std::numeric_limits::max()); strcpy(mText, value); } ItemValue::~ItemValue() { // remove recursion (and be paranoid) while (mNext != nullptr and mNext != this) { auto n = mNext; mNext = n->mNext; n->mNext = nullptr; delete n; } } void *ItemValue::operator new(size_t size, size_t dataSize) { return malloc(size - 4 + dataSize + 1); } void ItemValue::operator delete(void *p) { free(p); } void ItemValue::operator delete(void *p, size_t dataSize) { free(p); } // -------------------------------------------------------------------- // itemColumn contains info about a column or field in a Category struct ItemColumn { std::string mName; // store lower-case, for optimization const ValidateItem *mValidator; }; // itemRow contains the actual values for a Row in a Category struct ItemRow { ~ItemRow(); void drop(size_t columnIx); const char *c_str(size_t columnIx) const; std::string str() const { std::stringstream s; s << '{'; for (auto v = mValues; v != nullptr; v = v->mNext) { s << mCategory->getColumnName(v->mColumnIndex) << ':' << v->mText; if (v->mNext != nullptr) s << ", "; } s << '}'; return s.str(); } ItemRow *mNext; Category *mCategory; ItemValue *mValues; uint32_t mLineNr = 0; }; std::ostream &operator<<(std::ostream &os, const ItemRow &r) { os << r.mCategory->name() << '['; for (auto iv = r.mValues; iv != nullptr; iv = iv->mNext) { os << iv->mText; if (iv->mNext) os << ','; } os << ']'; return os; } // -------------------------------------------------------------------- ItemRow::~ItemRow() { // remove recursive while (mNext != nullptr and mNext != this) { auto n = mNext; mNext = n->mNext; n->mNext = nullptr; delete n; } delete mValues; } void ItemRow::drop(size_t columnIx) { if (mValues != nullptr and mValues->mColumnIndex == columnIx) { auto v = mValues; mValues = mValues->mNext; v->mNext = nullptr; delete v; } else { for (auto v = mValues; v->mNext != nullptr; v = v->mNext) { if (v->mNext->mColumnIndex == columnIx) { auto vn = v->mNext; v->mNext = vn->mNext; vn->mNext = nullptr; delete vn; break; } } } #if DEBUG for (auto iv = mValues; iv != nullptr; iv = iv->mNext) assert(iv != iv->mNext and (iv->mNext == nullptr or iv != iv->mNext->mNext)); #endif } const char *ItemRow::c_str(size_t columnIx) const { const char *result = kEmptyResult; for (auto v = mValues; v != nullptr; v = v->mNext) { if (v->mColumnIndex == columnIx) { result = v->mText; break; } } return result; } // -------------------------------------------------------------------- namespace detail { ItemReference &ItemReference::operator=(const std::string &value) { if (mConst) throw std::logic_error("Attempt to write to a constant row"); if (mRow.mData == nullptr) throw std::logic_error("Attempt to write to an uninitialized row"); mRow.assign(mName, value, false); return *this; } const char *ItemReference::c_str() const { const char *result = kEmptyResult; if (mRow.mData != nullptr /* and mRow.mData->mCategory != nullptr*/) { // assert(mRow.mData->mCategory); for (auto iv = mRow.mData->mValues; iv != nullptr; iv = iv->mNext) { if (iv->mColumnIndex == mColumn) { if (iv->mText[0] != '.' or iv->mText[1] != 0) result = iv->mText; break; } } } return result; } const char *ItemReference::c_str(const char *defaultValue) const { const char *result = defaultValue; if (mRow.mData != nullptr and mRow.mData->mCategory != nullptr) { for (auto iv = mRow.mData->mValues; iv != nullptr; iv = iv->mNext) { if (iv->mColumnIndex == mColumn) { // only really non-empty values if (iv->mText[0] != 0 and ((iv->mText[0] != '.' and iv->mText[0] != '?') or iv->mText[1] != 0)) result = iv->mText; break; } } if (result == defaultValue and mColumn < mRow.mData->mCategory->mColumns.size()) // not found, perhaps the category has a default defined? { auto iv = mRow.mData->mCategory->mColumns[mColumn].mValidator; if (iv != nullptr and not iv->mDefault.empty()) result = iv->mDefault.c_str(); } } return result; } bool ItemReference::empty() const { return c_str() == kEmptyResult; } bool ItemReference::is_null() const { boost::tribool result; if (mRow.mData != nullptr and mRow.mData->mCategory != nullptr) { for (auto iv = mRow.mData->mValues; iv != nullptr; iv = iv->mNext) { if (iv->mColumnIndex == mColumn) { result = iv->mText[0] == '.' and iv->mText[1] == 0; break; } } if (result == boost::indeterminate and mColumn < mRow.mData->mCategory->mColumns.size()) // not found, perhaps the category has a default defined? { auto iv = mRow.mData->mCategory->mColumns[mColumn].mValidator; if (iv != nullptr) result = iv->mDefaultIsNull; } } return result ? true : false; } void ItemReference::swap(ItemReference &b) { Row::swap(mColumn, mRow.mData, b.mRow.mData); } std::ostream &operator<<(std::ostream &os, ItemReference &item) { os << item.c_str(); return os; } } // namespace detail // -------------------------------------------------------------------- // Datablock implementation Datablock::Datablock(const std::string &name) : mName(name) , mValidator(nullptr) , mNext(nullptr) { } Datablock::~Datablock() { delete mNext; } std::string Datablock::firstItem(const std::string &tag) const { std::string result; std::string catName, itemName; std::tie(catName, itemName) = splitTagName(tag); for (auto &cat : mCategories) { if (iequals(cat.name(), catName)) { for (auto row : cat) { result = row[itemName].as(); break; } break; } } return result; } auto Datablock::emplace(const std::string &name) -> std::tuple { bool isNew = false; iterator i = find_if(begin(), end(), [name](const Category &cat) -> bool { return iequals(cat.name(), name); }); if (i == end()) { isNew = true; i = mCategories.emplace(end(), *this, name, mValidator); } return std::make_tuple(i, isNew); } Category &Datablock::operator[](const std::string &name) { iterator i; std::tie(i, std::ignore) = emplace(name); return *i; } Category *Datablock::get(const std::string &name) { auto i = find_if(begin(), end(), [name](const Category &cat) -> bool { return iequals(cat.name(), name); }); return i == end() ? nullptr : &*i; } const Category *Datablock::get(const std::string &name) const { auto i = find_if(begin(), end(), [name](const Category &cat) -> bool { return iequals(cat.name(), name); }); return i == end() ? nullptr : &*i; } bool Datablock::isValid() { if (mValidator == nullptr) throw std::runtime_error("Validator not specified"); bool result = true; for (auto &cat : *this) result = cat.isValid() and result; return result; } void Datablock::validateLinks() const { for (auto &cat : *this) cat.validateLinks(); } void Datablock::setValidator(Validator *v) { mValidator = v; for (auto &cat : *this) cat.setValidator(v); } void Datablock::add_software(const std::string &name, const std::string &classification, const std::string &versionNr, const std::string &versionDate) { Category &cat = operator[]("software"); auto ordNr = cat.size() + 1; // TODO: should we check this ordinal number??? cat.emplace({{"pdbx_ordinal", ordNr}, {"name", name}, {"version", versionNr}, {"date", versionDate}, {"classification", classification}}); } void Datablock::getTagOrder(std::vector &tags) const { for (auto &cat : *this) cat.getTagOrder(tags); } void Datablock::write(std::ostream &os) { os << "data_" << mName << std::endl << "# " << std::endl; // mmcif support, sort of. First write the 'entry' Category // and if it exists, _AND_ we have a Validator, write out the // audit_conform record. for (auto &cat : mCategories) { if (cat.name() == "entry") { cat.write(os); if (mValidator != nullptr) { Category auditConform(*this, "audit_conform", nullptr); auditConform.emplace({{"dict_name", mValidator->dictName()}, {"dict_version", mValidator->dictVersion()}}); auditConform.write(os); } break; } } for (auto &cat : mCategories) { if (cat.name() != "entry" and cat.name() != "audit_conform") cat.write(os); } } void Datablock::write(std::ostream &os, const std::vector &order) { os << "data_" << mName << std::endl << "# " << std::endl; std::vector catOrder; for (auto &o : order) { std::string cat, Item; std::tie(cat, Item) = splitTagName(o); if (find_if(catOrder.rbegin(), catOrder.rend(), [cat](const std::string &s) -> bool { return iequals(cat, s); }) == catOrder.rend()) catOrder.push_back(cat); } for (auto &c : catOrder) { auto cat = get(c); if (cat == nullptr) continue; std::vector items; for (auto &o : order) { std::string catName, Item; std::tie(catName, Item) = splitTagName(o); if (catName == c) items.push_back(Item); } cat->write(os, items); } // for any Category we missed in the catOrder for (auto &cat : mCategories) { if (find_if(catOrder.begin(), catOrder.end(), [&](const std::string &s) -> bool { return iequals(cat.name(), s); }) != catOrder.end()) continue; cat.write(os); } // // mmcif support, sort of. First write the 'entry' Category // // and if it exists, _AND_ we have a Validator, write out the // // auditConform record. // // for (auto& cat: mCategories) // { // if (cat.name() == "entry") // { // cat.write(os); // // if (mValidator != nullptr) // { // Category auditConform(*this, "audit_conform", nullptr); // auditConform.emplace({ // { "dict_name", mValidator->dictName() }, // { "dict_version", mValidator->dictVersion() } // }); // auditConform.write(os); // } // // break; // } // } // // for (auto& cat: mCategories) // { // if (cat.name() != "entry" and cat.name() != "audit_conform") // cat.write(os); // } } bool operator==(const cif::Datablock &dbA, const cif::Datablock &dbB) { std::vector catA, catB; for (auto &cat : dbA) { if (not cat.empty()) catA.push_back(cat.name()); } sort(catA.begin(), catA.end()); for (auto &cat : dbB) { if (not cat.empty()) catB.push_back(cat.name()); } sort(catB.begin(), catB.end()); // loop over categories twice, to group output // First iteration is to list missing categories. std::vector missingA, missingB; auto catA_i = catA.begin(), catB_i = catB.begin(); while (catA_i != catA.end() and catB_i != catB.end()) { if (not iequals(*catA_i, *catB_i)) return false; ++catA_i, ++catB_i; } if (catA_i != catA.end() or catB_i != catB.end()) return false; // Second loop, now compare category values catA_i = catA.begin(), catB_i = catB.begin(); while (catA_i != catA.end() and catB_i != catB.end()) { std::string nA = *catA_i; ba::to_lower(nA); std::string nB = *catB_i; ba::to_lower(nB); int d = nA.compare(nB); if (d > 0) ++catB_i; else if (d < 0) ++catA_i; else { if (not (*dbA.get(*catA_i) == *dbB.get(*catB_i))) return false; ++catA_i; ++catB_i; } } return true; } std::ostream& operator<<(std::ostream &os, const Datablock &data) { // whoohoo... this sucks! const_cast(data).write(os); return os; } // -------------------------------------------------------------------- // namespace detail { void KeyCompareConditionImpl::prepare(const Category &c) { mItemIx = c.getColumnIndex(mItemTag); auto cv = c.getCatValidator(); if (cv) { auto iv = cv->getValidatorForItem(mItemTag); if (iv != nullptr and iv->mType != nullptr) { auto type = iv->mType; mCaseInsensitive = type->mPrimitiveType == DDL_PrimitiveType::UChar; } } } void KeyIsEmptyConditionImpl::prepare(const Category &c) { mItemIx = c.getColumnIndex(mItemTag); } void KeyMatchesConditionImpl::prepare(const Category &c) { mItemIx = c.getColumnIndex(mItemTag); } } // namespace detail // -------------------------------------------------------------------- // // class to compare two rows based on their keys. class RowComparator { public: RowComparator(Category *cat) : RowComparator(cat, cat->getCatValidator()->mKeys.begin(), cat->getCatValidator()->mKeys.end()) { } template RowComparator(Category *cat, KeyIter b, KeyIter e); int operator()(const ItemRow *a, const ItemRow *b) const; int operator()(const Row &a, const Row &b) const { return operator()(a.mData, b.mData); } private: typedef std::function compareFunc; typedef std::tuple keyComp; std::vector mComp; }; template RowComparator::RowComparator(Category *cat, KeyIter b, KeyIter e) { auto cv = cat->getCatValidator(); for (auto ki = b; ki != e; ++ki) { std::string k = *ki; size_t ix = cat->getColumnIndex(k); auto iv = cv->getValidatorForItem(k); if (iv == nullptr) throw std::runtime_error("Incomplete dictionary, no Item Validator for Key " + k); auto tv = iv->mType; if (tv == nullptr) throw std::runtime_error("Incomplete dictionary, no type Validator for Item " + k); using namespace std::placeholders; mComp.emplace_back(ix, std::bind(&ValidateType::compare, tv, _1, _2)); } } int RowComparator::operator()(const ItemRow *a, const ItemRow *b) const { assert(a); assert(b); int d = 0; for (auto &c : mComp) { size_t k; compareFunc f; std::tie(k, f) = c; const char *ka = a->c_str(k); const char *kb = b->c_str(k); d = f(ka, kb); if (d != 0) break; } return d; } // -------------------------------------------------------------------- // // class to keep an index on the keys of a Category. This is a red/black // tree implementation. class CatIndex { public: CatIndex(Category *cat); ~CatIndex(); ItemRow *find(ItemRow *k) const; void insert(ItemRow *r); void erase(ItemRow *r); // batch create void reconstruct(); // reorder the ItemRow's and returns new head and tail std::tuple reorder() { std::tuple result = std::make_tuple(nullptr, nullptr); if (mRoot != nullptr) { entry *head = findMin(mRoot); entry *tail = reorder(mRoot); tail->mRow->mNext = nullptr; result = std::make_tuple(head->mRow, tail->mRow); } return result; } size_t size() const; // bool isValid() const; private: struct entry { entry(ItemRow *r) : mRow(r) , mLeft(nullptr) , mRight(nullptr) , mRed(true) { } ~entry() { delete mLeft; delete mRight; } ItemRow *mRow; entry *mLeft; entry *mRight; bool mRed; }; entry *insert(entry *h, ItemRow *v); entry *erase(entry *h, ItemRow *k); // void validate(entry* h, bool isParentRed, uint32_t blackDepth, uint32_t& minBlack, uint32_t& maxBlack) const; entry *rotateLeft(entry *h) { entry *x = h->mRight; h->mRight = x->mLeft; x->mLeft = h; x->mRed = h->mRed; h->mRed = true; return x; } entry *rotateRight(entry *h) { entry *x = h->mLeft; h->mLeft = x->mRight; x->mRight = h; x->mRed = h->mRed; h->mRed = true; return x; } void flipColour(entry *h) { h->mRed = not h->mRed; if (h->mLeft != nullptr) h->mLeft->mRed = not h->mLeft->mRed; if (h->mRight != nullptr) h->mRight->mRed = not h->mRight->mRed; } bool isRed(entry *h) const { return h != nullptr and h->mRed; } entry *moveRedLeft(entry *h) { flipColour(h); if (h->mRight != nullptr and isRed(h->mRight->mLeft)) { h->mRight = rotateRight(h->mRight); h = rotateLeft(h); flipColour(h); } return h; } entry *moveRedRight(entry *h) { flipColour(h); if (h->mLeft != nullptr and isRed(h->mLeft->mLeft)) { h = rotateRight(h); flipColour(h); } return h; } entry *fixUp(entry *h) { if (isRed(h->mRight)) h = rotateLeft(h); if (isRed(h->mLeft) and isRed(h->mLeft->mLeft)) h = rotateRight(h); if (isRed(h->mLeft) and isRed(h->mRight)) flipColour(h); return h; } entry *findMin(entry *h) { while (h->mLeft != nullptr) h = h->mLeft; return h; } entry *eraseMin(entry *h) { if (h->mLeft == nullptr) { delete h; h = nullptr; } else { if (not isRed(h->mLeft) and not isRed(h->mLeft->mLeft)) h = moveRedLeft(h); h->mLeft = eraseMin(h->mLeft); h = fixUp(h); } return h; } // Fix mNext fields for rows in order of this index entry *reorder(entry *e) { auto result = e; if (e->mLeft != nullptr) { auto l = reorder(e->mLeft); l->mRow->mNext = e->mRow; } if (e->mRight != nullptr) { auto mr = findMin(e->mRight); e->mRow->mNext = mr->mRow; result = reorder(e->mRight); } return result; } Category &mCat; RowComparator mComp; entry *mRoot; }; CatIndex::CatIndex(Category *cat) : mCat(*cat) , mComp(cat) , mRoot(nullptr) { } CatIndex::~CatIndex() { delete mRoot; } ItemRow *CatIndex::find(ItemRow *k) const { const entry *r = mRoot; while (r != nullptr) { int d = mComp(k, r->mRow); if (d < 0) r = r->mLeft; else if (d > 0) r = r->mRight; else break; } return r ? r->mRow : nullptr; } void CatIndex::insert(ItemRow *k) { mRoot = insert(mRoot, k); mRoot->mRed = false; } CatIndex::entry *CatIndex::insert(entry *h, ItemRow *v) { if (h == nullptr) return new entry(v); int d = mComp(v, h->mRow); if (d < 0) h->mLeft = insert(h->mLeft, v); else if (d > 0) h->mRight = insert(h->mRight, v); else throw std::runtime_error("Duplicate Key violation, cat: " + mCat.name() + " values: " + v->str()); if (isRed(h->mRight) and not isRed(h->mLeft)) h = rotateLeft(h); if (isRed(h->mLeft) and isRed(h->mLeft->mLeft)) h = rotateRight(h); if (isRed(h->mLeft) and isRed(h->mRight)) flipColour(h); return h; } void CatIndex::erase(ItemRow *k) { mRoot = erase(mRoot, k); if (mRoot != nullptr) mRoot->mRed = false; } CatIndex::entry *CatIndex::erase(entry *h, ItemRow *k) { if (mComp(k, h->mRow) < 0) { if (h->mLeft != nullptr) { if (not isRed(h->mLeft) and not isRed(h->mLeft->mLeft)) h = moveRedLeft(h); h->mLeft = erase(h->mLeft, k); } } else { if (isRed(h->mLeft)) h = rotateRight(h); if (mComp(k, h->mRow) == 0 and h->mRight == nullptr) { delete h; return nullptr; } if (h->mRight != nullptr) { if (not isRed(h->mRight) and not isRed(h->mRight->mLeft)) h = moveRedRight(h); if (mComp(k, h->mRow) == 0) { h->mRow = findMin(h->mRight)->mRow; h->mRight = eraseMin(h->mRight); } else h->mRight = erase(h->mRight, k); } } return fixUp(h); } void CatIndex::reconstruct() { delete mRoot; mRoot = nullptr; for (auto r : mCat) insert(r.mData); // maybe reconstruction can be done quicker by using the following commented code. // however, I've not had the time to think of a way to std::set the red/black flag correctly in that case. // std::vector rows; // transform(mCat.begin(), mCat.end(), backInserter(rows), // [](Row r) -> ItemRow* { assert(r.mData); return r.mData; }); // // assert(std::find(rows.begin(), rows.end(), nullptr) == rows.end()); // // // don't use sort here, it will run out of the stack of something. // // quicksort is notorious for using excessive recursion. // // Besides, most of the time, the data is ordered already anyway. // // stable_sort(rows.begin(), rows.end(), [this](ItemRow* a, ItemRow* b) -> bool { return this->mComp(a, b) < 0; }); // // for (size_t i = 0; i < rows.size() - 1; ++i) // assert(mComp(rows[i], rows[i + 1]) < 0); // // deque e; // transform(rows.begin(), rows.end(), back_inserter(e), // [](ItemRow* r) -> entry* { return new entry(r); }); // // while (e.size() > 1) // { // deque ne; // // while (not e.empty()) // { // entry* a = e.front(); // e.pop_front(); // // if (e.empty()) // ne.push_back(a); // else // { // entry* b = e.front(); // b->mLeft = a; // // assert(mComp(a->mRow, b->mRow) < 0); // // e.pop_front(); // // if (not e.empty()) // { // entry* c = e.front(); // e.pop_front(); // // assert(mComp(b->mRow, c->mRow) < 0); // // b->mRight = c; // } // // ne.push_back(b); // // if (not e.empty()) // { // ne.push_back(e.front()); // e.pop_front(); // } // } // } // // swap (e, ne); // } // // assert(e.size() == 1); // mRoot = e.front(); } size_t CatIndex::size() const { std::stack s; s.push(mRoot); size_t result = 0; while (not s.empty()) { entry *e = s.top(); s.pop(); if (e == nullptr) continue; ++result; s.push(e->mLeft); s.push(e->mRight); } return result; } //bool CatIndex::isValid() const //{ // bool result = true; // // if (mRoot != nullptr) // { // uint32_t minBlack = numeric_limits::max(); // uint32_t maxBlack = 0; // // assert(not mRoot->mRed); // // result = isValid(mRoot, false, 0, minBlack, maxBlack); // assert(minBlack == maxBlack); // } // // return result; //} // //bool CatIndex::validate(entry* h, bool isParentRed, uint32_t blackDepth, uint32_t& minBlack, uint32_t& maxBlack) const //{ // bool result = true; // // if (h->mRed) // assert(not isParentRed); // else // ++blackDepth; // // if (isParentRed) // assert(not h->mRed); // // if (h->mLeft != nullptr and h->mRight != nullptr) // { // if (isRed(h->mLeft)) // assert(not isRed(h->mRight)); // if (isRed(h->mRight)) // assert(not isRed(h->mLeft)); // } // // if (h->mLeft != nullptr) // { // assert(mComp(h->mLeft->mRow, h->mRow) < 0); // validate(h->mLeft, h->mRed, blackDepth, minBlack, maxBlack); // } // else // { // if (minBlack > blackDepth) // minBlack = blackDepth; // if (maxBlack < blackDepth) // maxBlack = blackDepth; // } // // if (h->mRight != nullptr) // { // assert(mComp(h->mRight->mRow, h->mRow) > 0); // validate(h->mRight, h->mRight, blackDepth, minBlack, maxBlack); // } // else // { // if (minBlack > blackDepth) // minBlack = blackDepth; // if (maxBlack < blackDepth) // maxBlack = blackDepth; // } //} // -------------------------------------------------------------------- RowSet::RowSet(Category &cat) : mCat(&cat) // , mCond(nullptr) { } RowSet::RowSet(Category &cat, Condition &&cond) : mCat(&cat) // , mCond(new Condition(std::forward(cond))) { cond.prepare(cat); for (auto r : cat) { if (cond(cat, r)) mItems.push_back(r.mData); } } RowSet::RowSet(const RowSet &rhs) : mCat(rhs.mCat) , mItems(rhs.mItems) // , mCond(nullptr) { } RowSet::RowSet(RowSet &&rhs) : mCat(rhs.mCat) , mItems(std::move(rhs.mItems)) // , mCond(rhs.mCond) { // rhs.mCond = nullptr; } RowSet::~RowSet() { // delete mCond; } RowSet &RowSet::operator=(const RowSet &rhs) { if (this != &rhs) { mItems = rhs.mItems; mCat = rhs.mCat; } return *this; } RowSet &RowSet::operator=(RowSet &&rhs) { if (this != &rhs) { std::swap(mItems, rhs.mItems); mCat = rhs.mCat; } return *this; } RowSet &RowSet::orderBy(std::initializer_list items) { RowComparator c(mCat, items.begin(), items.end()); stable_sort(mItems.begin(), mItems.end(), c); return *this; } // -------------------------------------------------------------------- Category::Category(Datablock &db, const std::string &name, Validator *Validator) : mDb(db) , mName(name) , mValidator(Validator) , mHead(nullptr) , mTail(nullptr) , mIndex(nullptr) { if (mName.empty()) throw ValidationError("invalid empty name for Category"); if (mValidator != nullptr) { mCatValidator = mValidator->getValidatorForCategory(mName); if (mCatValidator != nullptr) { // make sure all required columns are added for (auto &k : mCatValidator->mKeys) addColumn(k); for (auto &k : mCatValidator->mMandatoryFields) addColumn(k); mIndex = new CatIndex(this); } } } Category::~Category() { delete mHead; delete mIndex; } void Category::setValidator(Validator *v) { mValidator = v; if (mIndex != nullptr) { delete mIndex; mIndex = nullptr; } if (mValidator != nullptr) { mCatValidator = mValidator->getValidatorForCategory(mName); if (mCatValidator != nullptr) { mIndex = new CatIndex(this); mIndex->reconstruct(); //#if DEBUG // assert(mIndex->size() == size()); // mIndex->validate(); //#endif } } else mCatValidator = nullptr; } bool Category::hasColumn(const std::string &name) const { return getColumnIndex(name) < mColumns.size(); } size_t Category::getColumnIndex(const std::string &name) const { size_t result; for (result = 0; result < mColumns.size(); ++result) { if (iequals(name, mColumns[result].mName)) break; } if (VERBOSE and result == mColumns.size() and mCatValidator != nullptr) // validate the name, if it is known at all (since it was not found) { auto iv = mCatValidator->getValidatorForItem(name); if (iv == nullptr) std::cerr << "Invalid name used '" + name + "' is not a known column in " + mName << std::endl; } return result; } const std::string &Category::getColumnName(size_t columnIx) const { return mColumns.at(columnIx).mName; } std::vector Category::getColumnNames() const { std::vector result; for (auto &c : mColumns) result.push_back(c.mName); return result; } size_t Category::addColumn(const std::string &name) { size_t result = getColumnIndex(name); if (result == mColumns.size()) { const ValidateItem *itemValidator = nullptr; if (mCatValidator != nullptr) { itemValidator = mCatValidator->getValidatorForItem(name); if (itemValidator == nullptr) mValidator->reportError("tag " + name + " not allowed in Category " + mName, false); } mColumns.push_back({name, itemValidator}); } return result; } // RowSet Category::find(Condition&& cond) // { // RowSet result(*this); // cond.prepare(*this); // for (auto r: *this) // { // if (cond(*this, r)) // result.push_back(r); // } // return result; // } void Category::reorderByIndex() { if (mIndex != nullptr) std::tie(mHead, mTail) = mIndex->reorder(); } void Category::sort(std::function comparator) { if (mHead == nullptr) return; std::vector rows; for (auto itemRow = mHead; itemRow != nullptr; itemRow = itemRow->mNext) rows.push_back(itemRow); std::stable_sort(rows.begin(), rows.end(), [&comparator](ItemRow *ia, ItemRow *ib) { Row ra(ia); Row rb(ib); return comparator(ra, rb) < 0; }); mHead = rows.front(); mTail = rows.back(); auto r = mHead; for (size_t i = 1; i < rows.size(); ++i) r = r->mNext = rows[i]; r->mNext = nullptr; assert(r == mTail); assert(size() == rows.size()); } std::string Category::getUniqueID(std::function generator) { using namespace cif::literals; std::string key = "id"; if (mCatValidator != nullptr and mCatValidator->mKeys.size() == 1) key = mCatValidator->mKeys.front(); size_t nr = size(); for (;;) { std::string result = generator(int(nr++)); if (exists(Key(key) == result)) continue; return result; } } size_t Category::size() const { size_t result = 0; for (auto pi = mHead; pi != nullptr; pi = pi->mNext) ++result; return result; } bool Category::empty() const { return mHead == nullptr or mHead->mValues == nullptr; } void Category::drop(const std::string &field) { using namespace std::placeholders; auto ci = find_if(mColumns.begin(), mColumns.end(), [field](ItemColumn &c) -> bool { return iequals(c.mName, field); }); if (ci != mColumns.end()) { size_t columnIx = ci - mColumns.begin(); for (auto pi = mHead; pi != nullptr; pi = pi->mNext) pi->drop(columnIx); mColumns.erase(ci); } } Row Category::operator[](Condition &&cond) { Row result; cond.prepare(*this); for (auto r : *this) { if (cond(*this, r)) { result = r; break; } } return result; } // RowSet Category::find(Condition&& cond) // { // // return RowSet(*this, std::forward(cond)); // RowSet result(*this); // cond.prepare(*this); // for (auto r: *this) // { // if (cond(*this, r)) // result.insert(result.end(), r); // } // return result; // } bool Category::exists(Condition &&cond) const { bool result = false; cond.prepare(*this); for (auto r : *this) { if (cond(*this, r)) { result = true; break; } } return result; } RowSet Category::orderBy(std::initializer_list items) { RowSet result(*this); result.insert(result.begin(), begin(), end()); return result.orderBy(items); } void Category::clear() { delete mHead; mHead = mTail = nullptr; if (mIndex != nullptr) { delete mIndex; mIndex = new CatIndex(this); } } template std::tuple Category::emplace(Iter b, Iter e) { // First, make sure all mandatory fields are supplied Row result; bool isNew = true; if (mCatValidator != nullptr and b != e) { for (auto &col : mColumns) { auto iv = mCatValidator->getValidatorForItem(col.mName); if (iv == nullptr) continue; bool seen = false; for (auto v = b; v != e; ++v) { if (iequals(v->name(), col.mName)) { seen = true; break; } } if (not seen and iv->mMandatory) throw std::runtime_error("missing mandatory field " + col.mName + " for Category " + mName); } if (mIndex != nullptr) { std::unique_ptr nr(new ItemRow{nullptr, this, nullptr}); Row r(nr.get()); auto keys = keyFields(); for (auto v = b; v != e; ++v) { if (keys.count(v->name())) r.assign(v->name(), v->value(), true); } auto test = mIndex->find(nr.get()); if (test != nullptr) { if (VERBOSE > 1) std::cerr << "Not inserting new record in " << mName << " (duplicate Key)" << std::endl; result = test; isNew = false; } } } if (isNew) { auto nr = new ItemRow{nullptr, this, nullptr}; Row r(nr); for (auto v = b; v != e; ++v) r.assign(*v, true); // if (isOrphan(r)) // throw std::runtime_error("Cannot insert row in category " + mName + " since it would be an orphan"); if (mHead == nullptr) { assert(mTail == nullptr); mHead = mTail = nr; } else { assert(mTail != nullptr); assert(mHead != nullptr); mTail->mNext = nr; mTail = nr; } result = r; if (mIndex != nullptr) mIndex->insert(nr); } return {result, isNew}; } std::tuple Category::emplace(Row r) { return emplace(r.begin(), r.end()); } size_t Category::erase(Condition &&cond) { size_t result = 0; cond.prepare(*this); auto ri = begin(); while (ri != end()) { if (cond(*this, *ri)) { ri = erase(ri); ++result; } else ++ri; } return result; } size_t Category::erase(Condition &&cond, std::function &&verbose) { size_t result = 0; cond.prepare(*this); auto ri = begin(); while (ri != end()) { if (cond(*this, *ri)) { verbose(*ri); ri = erase(ri); ++result; } else ++ri; } return result; } void Category::eraseOrphans(Condition &&cond) { std::vector remove; cond.prepare(*this); for (auto r : *this) { if (cond(*this, r) and isOrphan(r)) { if (VERBOSE > 1) std::cerr << "Removing orphaned record: " << std::endl << r << std::endl << std::endl; remove.push_back(r.mData); } } for (auto r : remove) erase(iterator(r)); } void Category::erase(Row r) { erase(iterator(r.mData)); } auto Category::erase(iterator pos) -> iterator { auto r = *pos; iterator result = ++pos; iset keys; if (mCatValidator) keys = iset(mCatValidator->mKeys.begin(), mCatValidator->mKeys.end()); if (mHead == nullptr) throw std::runtime_error("erase"); if (mIndex != nullptr) mIndex->erase(r.mData); if (r == mHead) { mHead = mHead->mNext; r.mData->mNext = nullptr; } else { for (auto pi = mHead; pi != nullptr; pi = pi->mNext) { if (pi->mNext == r.mData) { pi->mNext = r.mData->mNext; r.mData->mNext = nullptr; break; } } } // links are created based on the _pdbx_item_linked_group_list entries // in mmcif_pdbx_v50.dic dictionary. // // For each link group in _pdbx_item_linked_group_list // a std::set of keys from one category is mapped to another. // If all values in a child are the same as the specified parent ones // the child is removed as well, recursively of course. if (mValidator != nullptr) { for (auto &link : mValidator->getLinksForParent(mName)) { auto childCat = mDb.get(link->mChildCategory); if (childCat == nullptr) continue; Condition cond; for (size_t ix = 0; ix < link->mParentKeys.size(); ++ix) { const char *value = r[link->mParentKeys[ix]].c_str(); cond = std::move(cond) && (Key(link->mChildKeys[ix]) == value); } childCat->eraseOrphans(std::move(cond)); } } delete r.mData; // reset mTail, if needed if (r == mTail) { mTail = mHead; if (mTail != nullptr) while (mTail->mNext != nullptr) mTail = mTail->mNext; } return result; } Row Category::copyRow(const Row &row) { // copy the values std::vector items; std::copy(row.begin(), row.end(), std::back_inserter(items)); if (mCatValidator and mCatValidator->mKeys.size() == 1) { auto key = mCatValidator->mKeys.front(); auto kv = mCatValidator->getValidatorForItem(key); for (auto &item : items) { if (item.name() != key) continue; if (kv->mType->mPrimitiveType == DDL_PrimitiveType::Numb) item.value(getUniqueID("")); else item.value(getUniqueID(mName + "_id_")); break; } } auto &&[result, inserted] = emplace(items.begin(), items.end()); // assert(inserted); return result; } void Category::getTagOrder(std::vector &tags) const { for (auto &c : mColumns) tags.push_back("_" + mName + "." + c.mName); } Category::iterator Category::begin() { return iterator(mHead); } Category::iterator Category::end() { return iterator(); } Category::const_iterator Category::cbegin() const { return const_iterator(mHead); } Category::const_iterator Category::cend() const { return const_iterator(); } Category::const_iterator Category::begin() const { return const_iterator(mHead); } Category::const_iterator Category::end() const { return const_iterator(); } bool Category::hasParent(Row r, const Category &parentCat, const ValidateLink &link) const { assert(mValidator != nullptr); assert(mCatValidator != nullptr); bool result = true; Condition cond; for (size_t ix = 0; ix < link.mChildKeys.size(); ++ix) { auto &name = link.mChildKeys[ix]; auto field = r[name]; if (field.empty()) { if (mCatValidator->mMandatoryFields.count(name) and field.is_null()) cond = std::move(cond) and (Key(link.mParentKeys[ix]) == Empty()); } else { const char *value = field.c_str(); cond = std::move(cond) and (Key(link.mParentKeys[ix]) == value); } } if (result and not cond.empty()) { result = parentCat.exists(std::move(cond)); // if (VERBOSE > 3 or (result == false and VERBOSE > 2)) // std::cerr << "result = " << std::boolalpha << result << " for: '" << cond << "' in parent category " << link.mParentCategory << " for child cat " << mName << std::endl; } // else if (VERBOSE > 3 and cond.empty()) // std::cerr << "Condition is empty due to missing data in parent category " << link.mParentCategory << " for child cat " << mName << std::endl; return result; } bool Category::isOrphan(Row r) { // be safe if (mCatValidator == nullptr) return false; bool isOrphan = true; for (auto &link : mValidator->getLinksForChild(mName)) { auto parentCat = mDb.get(link->mParentCategory); if (parentCat == nullptr) continue; Condition cond; for (size_t ix = 0; ix < link->mChildKeys.size(); ++ix) { const char *value = r[link->mChildKeys[ix]].c_str(); cond = std::move(cond) && (Key(link->mParentKeys[ix]) == value); } // if (VERBOSE > 2) // std::cerr << "Check condition '" << cond << "' in parent category " << link->mParentCategory << " for child cat " << mName << std::endl; if (parentCat->exists(std::move(cond))) { if (VERBOSE > 2) std::cerr << "Not removing because row has a parent in category " << link->mParentCategory << std::endl; isOrphan = false; break; } } return isOrphan; } bool Category::hasChildren(Row r) const { assert(mValidator != nullptr); assert(mCatValidator != nullptr); bool result = false; for (auto &link : mValidator->getLinksForParent(mName)) { auto childCat = mDb.get(link->mChildCategory); if (childCat == nullptr) continue; Condition cond; for (size_t ix = 0; ix < link->mParentKeys.size(); ++ix) { const char *value = r[link->mParentKeys[ix]].c_str(); cond = std::move(cond) && (Key(link->mChildKeys[ix]) == value); } result = not childCat->find(std::move(cond)).empty(); if (result) break; } return result; } bool Category::hasParents(Row r) const { assert(mValidator != nullptr); assert(mCatValidator != nullptr); bool result = false; for (auto &link : mValidator->getLinksForChild(mName)) { auto parentCat = mDb.get(link->mParentCategory); if (parentCat == nullptr) continue; Condition cond; for (size_t ix = 0; ix < link->mChildKeys.size(); ++ix) { const char *value = r[link->mChildKeys[ix]].c_str(); cond = std::move(cond) && (Key(link->mParentKeys[ix]) == value); } result = not parentCat->find(std::move(cond)).empty(); if (result) break; } return result; } RowSet Category::getChildren(Row r, const char *childCat) { return getChildren(r, mDb[childCat]); } RowSet Category::getChildren(Row r, Category &childCat) { assert(mValidator != nullptr); assert(mCatValidator != nullptr); RowSet result(childCat); for (auto &link : mValidator->getLinksForParent(mName)) { if (link->mChildCategory != childCat.mName) continue; Condition cond; for (size_t ix = 0; ix < link->mParentKeys.size(); ++ix) { const char *value = r[link->mParentKeys[ix]].c_str(); cond = std::move(cond) && (Key(link->mChildKeys[ix]) == value); } auto children = childCat.find(std::move(cond)); result.insert(result.end(), children.begin(), children.end()); } // remove duplicates result.make_unique(); return result; } RowSet Category::getParents(Row r, const char *parentCat) { return getParents(r, mDb[parentCat]); } RowSet Category::getParents(Row r, Category &parentCat) { assert(mValidator != nullptr); assert(mCatValidator != nullptr); RowSet result(parentCat); for (auto &link : mValidator->getLinksForChild(mName)) { if (link->mParentCategory != parentCat.mName) continue; Condition cond; for (size_t ix = 0; ix < link->mChildKeys.size(); ++ix) { const char *value = r[link->mChildKeys[ix]].c_str(); cond = std::move(cond) && (Key(link->mParentKeys[ix]) == value); } auto parents = parentCat.find(std::move(cond)); result.insert(result.end(), parents.begin(), parents.end()); } // remove duplicates result.make_unique(); return result; } RowSet Category::getLinked(Row r, const char *cat) { return getLinked(r, mDb[cat]); } RowSet Category::getLinked(Row r, Category &cat) { RowSet result = getChildren(r, cat); if (result.empty()) result = getParents(r, cat); return result; } bool Category::isValid() { bool result = true; if (mValidator == nullptr) throw std::runtime_error("no Validator specified"); if (empty()) { if (VERBOSE > 2) std::cerr << "Skipping validation of empty Category " << mName << std::endl; return true; } if (mCatValidator == nullptr) { mValidator->reportError("undefined Category " + mName, false); return false; } auto mandatory = mCatValidator->mMandatoryFields; for (auto &col : mColumns) { auto iv = mCatValidator->getValidatorForItem(col.mName); if (iv == nullptr) { mValidator->reportError("Field " + col.mName + " is not valid in Category " + mName, false); result = false; } col.mValidator = iv; mandatory.erase(col.mName); } if (not mandatory.empty()) { mValidator->reportError("In Category " + mName + " the following mandatory fields are missing: " + ba::join(mandatory, ", "), false); result = false; } //#if not defined(NDEBUG) // // check index? // if (mIndex) // { // mIndex->validate(); // for (auto r: *this) // { // if (mIndex->find(r.mData) != r.mData) // mValidator->reportError("Key not found in index for Category " + mName); // } // } //#endif // validate all values mandatory = mCatValidator->mMandatoryFields; for (auto ri = mHead; ri != nullptr; ri = ri->mNext) { for (size_t cix = 0; cix < mColumns.size(); ++cix) { bool seen = false; auto iv = mColumns[cix].mValidator; if (iv == nullptr) { mValidator->reportError("invalid field " + mColumns[cix].mName + " for Category " + mName, false); result = false; continue; } for (auto vi = ri->mValues; vi != nullptr; vi = vi->mNext) { if (vi->mColumnIndex == cix) { seen = true; try { (*iv)(vi->mText); } catch (const std::exception &e) { mValidator->reportError("Error validating " + mColumns[cix].mName + ": " + e.what(), false); continue; } } } if (seen or ri != mHead) continue; if (iv != nullptr and iv->mMandatory) { mValidator->reportError("missing mandatory field " + mColumns[cix].mName + " for Category " + mName, false); result = false; } } } return result; } void Category::validateLinks() const { auto &validator = getValidator(); for (auto linkValidator : validator.getLinksForChild(mName)) { auto parent = mDb.get(linkValidator->mParentCategory); if (parent == nullptr) continue; size_t missing = 0; for (auto r : *this) if (not hasParent(r, *parent, *linkValidator)) ++missing; if (missing) { std::cerr << "Links for " << linkValidator->mLinkGroupLabel << " are incomplete" << std::endl << " There are " << missing << " items in " << mName << " that don't have matching parent items in " << parent->mName << std::endl; } } } const Validator &Category::getValidator() const { if (mValidator == nullptr) throw std::runtime_error("no Validator defined yet"); return *mValidator; } iset Category::fields() const { if (mValidator == nullptr) throw std::runtime_error("No Validator specified"); if (mCatValidator == nullptr) mValidator->reportError("undefined Category", true); iset result; for (auto &iv : mCatValidator->mItemValidators) result.insert(iv.mTag); return result; } iset Category::mandatoryFields() const { if (mValidator == nullptr) throw std::runtime_error("No Validator specified"); if (mCatValidator == nullptr) mValidator->reportError("undefined Category", true); return mCatValidator->mMandatoryFields; } iset Category::keyFields() const { if (mValidator == nullptr) throw std::runtime_error("No Validator specified"); if (mCatValidator == nullptr) mValidator->reportError("undefined Category", true); return iset{mCatValidator->mKeys.begin(), mCatValidator->mKeys.end()}; } std::set Category::keyFieldsByIndex() const { if (mValidator == nullptr) throw std::runtime_error("No Validator specified"); if (mCatValidator == nullptr) mValidator->reportError("undefined Category", true); std::set result; for (auto &k : mCatValidator->mKeys) result.insert(getColumnIndex(k)); return result; } bool operator==(const Category &a, const Category &b) { using namespace std::placeholders; // set tagsA(a.fields()), tagsB(b.fields()); // // if (tagsA != tagsB) // std::cout << "Unequal number of fields" << std::endl; auto& validator = a.getValidator(); auto catValidator = validator.getValidatorForCategory(a.name()); if (catValidator == nullptr) throw std::runtime_error("missing cat validator"); typedef std::function compType; std::vector> tags; auto keys = catValidator->mKeys; std::vector keyIx; for (auto& tag: a.fields()) { auto iv = catValidator->getValidatorForItem(tag); if (iv == nullptr) throw std::runtime_error("missing item validator"); auto tv = iv->mType; if (tv == nullptr) throw std::runtime_error("missing type validator"); tags.push_back(std::make_tuple(tag, std::bind(&cif::ValidateType::compare, tv, std::placeholders::_1, std::placeholders::_2))); auto pred = [tag](const std::string& s) -> bool { return cif::iequals(tag, s) == 0; }; if (find_if(keys.begin(), keys.end(), pred) == keys.end()) keyIx.push_back(tags.size() - 1); } // a.reorderByIndex(); // b.reorderByIndex(); auto rowEqual = [&](const cif::Row& a, const cif::Row& b) { int d = 0; for (auto kix: keyIx) { std::string tag; compType compare; std::tie(tag, compare) = tags[kix]; d = compare(a[tag].c_str(), b[tag].c_str()); if (d != 0) break; } return d == 0; }; auto ai = a.begin(), bi = b.begin(); while (ai != a.end() or bi != b.end()) { if (ai == a.end() or bi == b.end()) return false; cif::Row ra = *ai, rb = *bi; if (not rowEqual(ra, rb)) return false; std::vector missingA, missingB, different; for (auto& tt: tags) { std::string tag; compType compare; std::tie(tag, compare) = tt; // make it an option to compare unapplicable to empty or something const char* ta = ra[tag].c_str(); if (strcmp(ta, ".") == 0 or strcmp(ta, "?") == 0) ta = ""; const char* tb = rb[tag].c_str(); if (strcmp(tb, ".") == 0 or strcmp(tb, "?") == 0) tb = ""; if (compare(ta, tb) != 0) return false; } ++ai; ++bi; } return true; } // auto Category::iterator::operator++() -> iterator& // { // mCurrent = Row(mCurrent.data()->mNext); // return *this; // } // auto Category::const_iterator::operator++() -> const_iterator& // { // mCurrent = Row(mCurrent.data()->mNext); // return *this; // } namespace detail { size_t writeValue(std::ostream &os, std::string value, size_t offset, size_t width) { if (value.find('\n') != std::string::npos or width == 0 or value.length() >= 132) // write as text field { ba::replace_all(value, "\n;", "\n\\;"); if (offset > 0) os << std::endl; os << ';' << value; if (not ba::ends_with(value, "\n")) os << std::endl; os << ';' << std::endl; offset = 0; } else if (isUnquotedString(value.c_str())) { os << value; if (value.length() < width) { os << std::string(width - value.length(), ' '); offset += width; } else { os << ' '; offset += value.length() + 1; } } else { bool done = false; for (char q : {'\'', '"'}) { auto p = value.find(q); // see if we can use the quote character while (p != std::string::npos and isNonBlank(value[p + 1]) and value[p + 1] != q) p = value.find(q, p + 1); if (p != std::string::npos) continue; os << q << value << q; if (value.length() + 2 < width) { os << std::string(width - value.length() - 2, ' '); offset += width; } else { os << ' '; offset += value.length() + 1; } done = true; break; } if (not done) { if (offset > 0) os << std::endl; os << ';' << value << std::endl << ';' << std::endl; offset = 0; } } return offset; } } // namespace detail void Category::write(std::ostream &os, const std::vector &order, bool includeEmptyColumns) { if (empty()) return; // If the first Row has a next, we need a loop_ bool needLoop = (mHead->mNext != nullptr); if (needLoop) { os << "loop_" << std::endl; std::vector columnWidths; for (auto cix : order) { auto &col = mColumns[cix]; os << '_' << mName << '.' << col.mName << ' ' << std::endl; columnWidths.push_back(2); } for (auto Row = mHead; Row != nullptr; Row = Row->mNext) { for (auto v = Row->mValues; v != nullptr; v = v->mNext) { if (strchr(v->mText, '\n') == nullptr) { size_t l = strlen(v->mText); if (not isUnquotedString(v->mText)) l += 2; if (l >= 132) continue; if (columnWidths[v->mColumnIndex] < l + 1) columnWidths[v->mColumnIndex] = l + 1; } } } for (auto Row = mHead; Row != nullptr; Row = Row->mNext) // loop over rows { size_t offset = 0; for (size_t cix : order) { size_t w = columnWidths[cix]; std::string s; for (auto iv = Row->mValues; iv != nullptr; iv = iv->mNext) { if (iv->mColumnIndex == cix) { s = iv->mText; break; } } if (s.empty()) s = "?"; size_t l = s.length(); if (not isUnquotedString(s.c_str())) l += 2; if (l < w) l = w; if (offset + l >= 132 and offset > 0) { os << std::endl; offset = 0; } offset = detail::writeValue(os, s, offset, w); if (offset >= 132) { os << std::endl; offset = 0; } } if (offset > 0) os << std::endl; } } else { // first find the indent level size_t l = 0; for (auto &col : mColumns) { std::string tag = '_' + mName + '.' + col.mName; if (l < tag.length()) l = tag.length(); } l += 3; for (size_t cix : order) { auto &col = mColumns[cix]; os << '_' << mName << '.' << col.mName << std::string(l - col.mName.length() - mName.length() - 2, ' '); std::string s; for (auto iv = mHead->mValues; iv != nullptr; iv = iv->mNext) { if (iv->mColumnIndex == cix) { s = iv->mText; break; } } if (s.empty()) s = "?"; size_t offset = l; if (s.length() + l >= kMaxLineLength) { os << std::endl; offset = 0; } if (detail::writeValue(os, s, offset, 1) != 0) os << std::endl; } } os << "# " << std::endl; } void Category::write(std::ostream &os) { std::vector order(mColumns.size()); iota(order.begin(), order.end(), 0); write(os, order, false); } void Category::write(std::ostream &os, const std::vector &columns) { // make sure all columns are present for (auto &c : columns) addColumn(c); std::vector order; order.reserve(mColumns.size()); for (auto &c : columns) order.push_back(getColumnIndex(c)); for (size_t i = 0; i < mColumns.size(); ++i) { if (std::find(order.begin(), order.end(), i) == order.end()) order.push_back(i); } write(os, order, true); } // -------------------------------------------------------------------- void Category::update_value(RowSet &&rows, const std::string &tag, const std::string &value) { if (rows.empty()) return; auto colIx = getColumnIndex(tag); if (colIx >= mColumns.size()) throw std::runtime_error("Invalid column " + value + " for " + mName); auto &col = mColumns[colIx]; // check the value if (col.mValidator) (*col.mValidator)(value); // first some sanity checks, what was the old value and is it the same for all rows? std::string oldValue = rows.front()[tag].c_str(); for (auto &row : rows) { if (oldValue != row[tag].c_str()) throw std::runtime_error("Inconsistent old values in update_value"); } if (oldValue == value) // no need to do anything return; // update rows, but do not cascade for (auto &row : rows) row.assign(colIx, value, true); // see if we need to update any child categories that depend on this value auto &validator = getValidator(); auto &db = mDb; for (auto parent : rows) { for (auto linked : validator.getLinksForParent(mName)) { auto childCat = db.get(linked->mChildCategory); if (childCat == nullptr) continue; if (std::find(linked->mParentKeys.begin(), linked->mParentKeys.end(), tag) == linked->mParentKeys.end()) continue; Condition cond; std::string childTag; for (size_t ix = 0; ix < linked->mParentKeys.size(); ++ix) { std::string pk = linked->mParentKeys[ix]; std::string ck = linked->mChildKeys[ix]; // TODO add code to *NOT* test mandatory fields for Empty if (pk == tag) { childTag = ck; cond = std::move(cond) && Key(ck) == oldValue; } else cond = std::move(cond) && Key(ck) == parent[pk].c_str(); } auto children = RowSet{*childCat, std::move(cond)}; if (children.empty()) continue; // now be careful. If we search back from child to parent and still find a valid parent row // we cannot simply rename the child but will have to create a new child. Unless that new // child already exists of course. RowSet process(*childCat); for (auto child : children) { Condition cond_c; for (size_t ix = 0; ix < linked->mParentKeys.size(); ++ix) { std::string pk = linked->mParentKeys[ix]; std::string ck = linked->mChildKeys[ix]; // TODO add code to *NOT* test mandatory fields for Empty cond_c = std::move(cond_c) && Key(pk) == child[ck].c_str(); } auto parents = find(std::move(cond_c)); if (parents.empty()) { process.push_back(child); continue; } // oops, we need to split this child, unless a row already exists for the new value Condition check; for (size_t ix = 0; ix < linked->mParentKeys.size(); ++ix) { std::string pk = linked->mParentKeys[ix]; std::string ck = linked->mChildKeys[ix]; // TODO add code to *NOT* test mandatory fields for Empty if (pk == tag) check = std::move(check) && Key(ck) == value; else check = std::move(check) && Key(ck) == parent[pk].c_str(); } if (childCat->exists(std::move(check))) // phew..., narrow escape continue; // create the actual copy, if we can... if (childCat->mCatValidator != nullptr and childCat->mCatValidator->mKeys.size() == 1) { auto copy = childCat->copyRow(child); if (copy != child) { process.push_back(child); continue; } } // cannot update this... if (cif::VERBOSE) std::cerr << "Cannot update child " << childCat->mName << "." << childTag << " with value " << value << std::endl; } // finally, update the children if (not process.empty()) childCat->update_value(std::move(process), childTag, value); } } } // -------------------------------------------------------------------- Row::Row(const Row &rhs) : mData(rhs.mData) , mCascade(rhs.mCascade) { } Row::Row(Row &&rhs) : mData(rhs.mData) , mCascade(rhs.mCascade) { rhs.mData = nullptr; } Row::~Row() { } void Row::next() const { if (mData != nullptr) mData = mData->mNext; } Row &Row::operator=(Row &&rhs) { mData = rhs.mData; rhs.mData = nullptr; mCascade = rhs.mCascade; return *this; } Row &Row::operator=(const Row &rhs) { mData = rhs.mData; mCascade = rhs.mCascade; return *this; } void Row::assign(const std::vector &values) { auto cat = mData->mCategory; std::map> changed; for (auto &value : values) { auto columnIx = cat->addColumn(value.name()); auto &col = cat->mColumns[columnIx]; std::string tag = col.mValidator ? col.mValidator->mTag : std::to_string(columnIx); changed[tag] = std::make_tuple(columnIx, operator[](columnIx).c_str(), value.value()); assign(columnIx, value.value(), true); } // see if we need to update any child categories that depend on these values // auto iv = col.mValidator; if (mCascade) { auto &validator = cat->getValidator(); auto &db = cat->db(); for (auto linked : validator.getLinksForParent(cat->mName)) { auto childCat = db.get(linked->mChildCategory); if (childCat == nullptr) continue; // if (find(linked->mParentKeys.begin(), linked->mParentKeys.end(), iv->mTag) == linked->mParentKeys.end()) // continue; Condition cond; std::string childTag; std::vector newValues; for (size_t ix = 0; ix < linked->mParentKeys.size(); ++ix) { std::string pk = linked->mParentKeys[ix]; std::string ck = linked->mChildKeys[ix]; if (changed.count(pk) > 0) { childTag = ck; cond = std::move(cond) && (Key(ck) == std::get<1>(changed[pk])); newValues.emplace_back(ck, std::get<2>(changed[pk])); } else { const char *value = (*this)[pk].c_str(); cond = std::move(cond) && (Key(ck) == value); } } auto rows = childCat->find(std::move(cond)); for (auto &cr : rows) cr.assign(newValues); } } } void Row::assign(const Item &value, bool skipUpdateLinked) { assign(value.name(), value.value(), skipUpdateLinked); } void Row::assign(const std::string &name, const std::string &value, bool skipUpdateLinked) { try { auto cat = mData->mCategory; assign(cat->addColumn(name), value, skipUpdateLinked); } catch (const std::exception &ex) { std::cerr << "Could not assign value '" << value << "' to column _" << mData->mCategory->name() << '.' << name << std::endl; throw; } } void Row::assign(size_t column, const std::string &value, bool skipUpdateLinked) { if (mData == nullptr) throw std::logic_error("invalid Row, no data assigning value '" + value + "' to column with index " + std::to_string(column)); auto cat = mData->mCategory; auto &col = cat->mColumns[column]; const char *oldValue = nullptr; for (auto iv = mData->mValues; iv != nullptr; iv = iv->mNext) { assert(iv != iv->mNext and (iv->mNext == nullptr or iv != iv->mNext->mNext)); if (iv->mColumnIndex == column) { oldValue = iv->mText; break; } } if (oldValue != nullptr and value == oldValue) // no need to update return; std::string oldStrValue = oldValue ? oldValue : ""; // check the value if (col.mValidator) (*col.mValidator)(value); // If the field is part of the Key for this Category, remove it from the index // before updating bool reinsert = false; if (not skipUpdateLinked and // an update of an Item's value cat->mIndex != nullptr and cat->keyFieldsByIndex().count(column)) { reinsert = cat->mIndex->find(mData); if (reinsert) cat->mIndex->erase(mData); } // first remove old value with cix if (mData->mValues == nullptr) ; // nothing to do else if (mData->mValues->mColumnIndex == column) { auto iv = mData->mValues; mData->mValues = iv->mNext; iv->mNext = nullptr; delete iv; } else { for (auto iv = mData->mValues; iv->mNext != nullptr; iv = iv->mNext) { if (iv->mNext->mColumnIndex == column) { auto nv = iv->mNext; iv->mNext = nv->mNext; nv->mNext = nullptr; delete nv; break; } } } if (not value.empty()) { auto nv = new (value.length()) ItemValue(value.c_str(), column); if (mData->mValues == nullptr) mData->mValues = nv; else { auto iv = mData->mValues; while (iv->mNext != nullptr) iv = iv->mNext; iv->mNext = nv; } } if (reinsert) cat->mIndex->insert(mData); // see if we need to update any child categories that depend on this value auto iv = col.mValidator; if (not skipUpdateLinked and iv != nullptr and mCascade) { auto &validator = cat->getValidator(); auto &db = cat->db(); for (auto linked : validator.getLinksForParent(cat->mName)) { auto childCat = db.get(linked->mChildCategory); if (childCat == nullptr) continue; if (find(linked->mParentKeys.begin(), linked->mParentKeys.end(), iv->mTag) == linked->mParentKeys.end()) continue; Condition cond; std::string childTag; for (size_t ix = 0; ix < linked->mParentKeys.size(); ++ix) { std::string pk = linked->mParentKeys[ix]; std::string ck = linked->mChildKeys[ix]; // TODO add code to *NOT* test mandatory fields for Empty if (pk == iv->mTag) { childTag = ck; cond = std::move(cond) && Key(ck) == oldStrValue; } else { const char *pk_value = (*this)[pk].c_str(); if (*pk_value == 0) cond = std::move(cond) && Key(ck) == Empty(); else cond = std::move(cond) && ((Key(ck) == pk_value) or Key(ck) == Empty()); } } auto rows = childCat->find(std::move(cond)); if (rows.empty()) continue; // if (cif::VERBOSE > 2) // { // std::cerr << "Parent: " << linked->mParentCategory << " Child: " << linked->mChildCategory << std::endl // << cond << std::endl; // } // Now, suppose there are already rows in child that conform to the new value, // we then skip this renam Condition cond_n; for (size_t ix = 0; ix < linked->mParentKeys.size(); ++ix) { std::string pk = linked->mParentKeys[ix]; std::string ck = linked->mChildKeys[ix]; // TODO add code to *NOT* test mandatory fields for Empty if (pk == iv->mTag) cond_n = std::move(cond_n) && Key(ck) == value; else { const char *pk_value = (*this)[pk].c_str(); if (*pk_value == 0) cond_n = std::move(cond_n) && Key(ck) == Empty(); else cond_n = std::move(cond_n) && ((Key(ck) == pk_value) or Key(ck) == Empty()); } } auto rows_n = childCat->find(std::move(cond_n)); if (not rows_n.empty()) { if (cif::VERBOSE) std::cerr << "Will not rename in child category since there are already rows that link to the parent" << std::endl; continue; } for (auto &cr : rows) cr.assign(childTag, value, false); } } } void Row::swap(size_t cix, ItemRow *a, ItemRow *b) { if (a == nullptr or b == nullptr) throw std::logic_error("invalid Rows in swap"); assert(a->mCategory == b->mCategory); if (a->mCategory != b->mCategory) throw std::logic_error("Categories not same in swap"); auto cat = a->mCategory; // If the field is part of the Key for this Category, remove it from the index // before updating bool reinsert = false; if (cat->mIndex != nullptr and cat->keyFieldsByIndex().count(cix)) { reinsert = true; cat->mIndex->erase(a); cat->mIndex->erase(b); } ItemValue *ap = nullptr; // parent of ai ItemValue *ai = nullptr; ItemValue *bp = nullptr; // parent of bi ItemValue *bi = nullptr; if (a->mValues == nullptr) ; else if (a->mValues->mColumnIndex == cix) ai = a->mValues; else { ap = a->mValues; while (ap->mNext != nullptr) { if (ap->mNext->mColumnIndex == cix) { ai = ap->mNext; ap->mNext = ai->mNext; ai->mNext = nullptr; break; } ap = ap->mNext; } } if (b->mValues == nullptr) ; else if (b->mValues->mColumnIndex == cix) bi = b->mValues; else { bp = b->mValues; while (bp->mNext != nullptr) { if (bp->mNext->mColumnIndex == cix) { bi = bp->mNext; bp->mNext = bi->mNext; bi->mNext = nullptr; break; } bp = bp->mNext; } } if (ai != nullptr) { if (bp == nullptr) b->mValues = ai; else { ai->mNext = bp->mNext; bp->mNext = ai; } } if (bi != nullptr) { if (ap == nullptr) a->mValues = bi; else { bi->mNext = ap->mNext; ap->mNext = bi; } } if (reinsert) { cat->mIndex->insert(a); cat->mIndex->insert(b); } if ((ai != nullptr or bi != nullptr)) { auto parentColName = cat->getColumnName(cix); // see if we need to update any child categories that depend on these values auto &validator = cat->getValidator(); auto parentCatValidator = cat->getCatValidator(); for (auto &link : validator.getLinksForParent(cat->mName)) { if (find(link->mParentKeys.begin(), link->mParentKeys.end(), parentColName) == link->mParentKeys.end()) continue; auto childCat = cat->db().get(link->mChildCategory); if (childCat == nullptr or childCat->empty()) continue; auto childCatValidator = childCat->getCatValidator(); if (childCatValidator == nullptr) continue; std::string linkChildColName; Condition cond[2]; for (size_t ab = 0; ab < 2; ++ab) { auto i = ab == 0 ? ai : bi; auto r = ab == 0 ? a : b; for (size_t ix = 0; ix < link->mChildKeys.size(); ++ix) { assert(ix < link->mParentKeys.size()); auto pcix = cat->getColumnIndex(link->mParentKeys[ix]); auto childColName = link->mChildKeys[ix]; bool mandatory = find(childCatValidator->mMandatoryFields.begin(), childCatValidator->mMandatoryFields.end(), childColName) != childCatValidator->mMandatoryFields.end() or find(parentCatValidator->mMandatoryFields.begin(), parentCatValidator->mMandatoryFields.end(), link->mParentKeys[ix]) != parentCatValidator->mMandatoryFields.end(); std::string childValue; if (pcix == cix) { linkChildColName = childColName; if (not(i == nullptr or strcmp(i->mText, ".") == 0 or strcmp(i->mText, "?") == 0)) childValue = i->mText; } else { std::string ps = r->c_str(pcix); if (not(ps.empty() or ps == "." or ps == "?")) childValue = ps; } if (not childValue.empty()) { if (mandatory or pcix == cix) cond[ab] = std::move(cond[ab]) and Key(childColName) == childValue; else cond[ab] = std::move(cond[ab]) and (Key(childColName) == childValue or Key(childColName) == Empty()); } else cond[ab] = std::move(cond[ab]) and Key(childColName) == Empty(); } } std::vector> rs; // first find the respective rows, then flip values, otherwise you won't find them anymore! for (size_t ab = 0; ab < 2; ++ab) { if (cond[ab].empty()) continue; // if (VERBOSE > 1) // std::cerr << "Fixing link from " << cat->mName << " to " << childCat->mName << " with " << std::endl // << cond[ab] << std::endl; rs.push_back(childCat->find(std::move(cond[ab]))); } for (size_t ab = 0; ab < 2; ++ab) { auto i = ab == 0 ? bi : ai; for (auto r : rs[ab]) { // now due to the way links are defined, we might have found a row // that contains an empty value for all child columns... // Now, that's not a real hit, is it? size_t n = 0; for (auto c : link->mChildKeys) if (r[c].empty()) ++n; if (n == link->mChildKeys.size()) { if (VERBOSE > 1) std::cerr << "All empty columns, skipping" << std::endl; } else { if (VERBOSE) std::cerr << "In " << childCat->mName << " changing " << linkChildColName << ": " << r[linkChildColName].as() << " => " << (i ? i->mText : "") << std::endl; r[linkChildColName] = i ? i->mText : ""; } } } } } } size_t Row::ColumnForItemTag(const char *itemTag) const { size_t result = 0; if (mData != nullptr) { auto cat = mData->mCategory; result = cat->getColumnIndex(itemTag); } return result; } bool Row::empty() const { return mData == nullptr or mData->mValues == nullptr; } auto Row::begin() const -> const_iterator { return const_iterator(mData, mData ? mData->mValues : nullptr); } auto Row::end() const -> const_iterator { return const_iterator(mData, nullptr); } uint32_t Row::lineNr() const { return mData ? mData->mLineNr : 0; } void Row::lineNr(uint32_t l) { if (mData) mData->mLineNr = l; } Row::const_iterator::const_iterator(ItemRow *data, ItemValue *ptr) : mData(data) , mPtr(ptr) { if (mPtr != nullptr) fetch(); } Row::const_iterator &Row::const_iterator::operator++() { if (mPtr != nullptr) mPtr = mPtr->mNext; if (mPtr != nullptr) fetch(); return *this; } void Row::const_iterator::fetch() { mCurrent = Item( mData->mCategory->getColumnName(mPtr->mColumnIndex), mPtr->mText); } std::ostream &operator<<(std::ostream &os, const Row &row) { auto category = row.mData->mCategory; std::string catName = category->name(); for (auto item = row.mData->mValues; item != nullptr; item = item->mNext) { std::string tagName = category->getColumnName(item->mColumnIndex); os << '_' << catName << '.' << tagName << ' ' << item->mText << std::endl; } return os; } // -------------------------------------------------------------------- File::File() : mHead(nullptr) , mValidator(nullptr) { } File::File(std::istream &is, bool validate) : File() { load(is); } File::File(const std::filesystem::path &path, bool validate) : File() { try { load(path); } catch (const std::exception &ex) { std::cerr << "Error while loading file " << path << std::endl; throw; } } File::File(File &&rhs) : mHead(nullptr) , mValidator(nullptr) { std::swap(mHead, rhs.mHead); std::swap(mValidator, rhs.mValidator); } File::~File() { delete mHead; delete mValidator; } void File::append(Datablock *e) { e->setValidator(mValidator); if (mHead == nullptr) mHead = e; else { auto ie = mHead; for (;;) { if (iequals(ie->getName(), e->getName())) throw ValidationError("Datablock " + e->getName() + " already defined in File"); if (ie->mNext == nullptr) { ie->mNext = e; break; } ie = ie->mNext; } } } void File::load(const std::filesystem::path &p) { fs::path path(p); std::ifstream inFile(p, std::ios_base::in | std::ios_base::binary); if (not inFile.is_open()) throw std::runtime_error("Could not open file: " + path.string()); io::filtering_stream in; std::string ext; if (path.extension() == ".gz") { in.push(io::gzip_decompressor()); ext = path.stem().extension().string(); } in.push(inFile); try { load(in); } catch (const std::exception &ex) { std::cerr << "Error loading file " << path << std::endl; throw; } } void File::save(const std::filesystem::path &p) { fs::path path(p); std::ofstream outFile(p, std::ios_base::out | std::ios_base::binary); io::filtering_stream out; if (path.extension() == ".gz") { out.push(io::gzip_compressor()); path = path.stem(); } out.push(outFile); save(out); } void File::load(std::istream &is) { Validator *saved = mValidator; setValidator(nullptr); Parser p(is, *this); p.parseFile(); if (saved != nullptr) { setValidator(saved); (void)isValid(); } } void File::load(std::istream &is, const std::string &datablock) { Validator *saved = mValidator; setValidator(nullptr); Parser p(is, *this); p.parseSingleDatablock(datablock); if (saved != nullptr) { setValidator(saved); (void)isValid(); } } void File::save(std::ostream &os) { Datablock *e = mHead; while (e != nullptr) { e->write(os); e = e->mNext; } } void File::write(std::ostream &os, const std::vector &order) { Datablock *e = mHead; while (e != nullptr) { e->write(os, order); e = e->mNext; } } Datablock *File::get(const std::string &name) const { const Datablock *result = mHead; while (result != nullptr and not iequals(result->mName, name)) result = result->mNext; return const_cast(result); } Datablock &File::operator[](const std::string &name) { Datablock *result = mHead; while (result != nullptr and not iequals(result->mName, name)) result = result->mNext; if (result == nullptr) throw std::runtime_error("Datablock " + name + " does not exist"); return *result; } bool File::isValid() { if (mValidator == nullptr) { if (VERBOSE) std::cerr << "No dictionary loaded explicitly, loading default" << std::endl; loadDictionary(); } bool result = true; for (auto d = mHead; d != nullptr; d = d->mNext) result = d->isValid() and result; return result; } void File::validateLinks() const { for (auto d = mHead; d != nullptr; d = d->mNext) d->validateLinks(); } const Validator &File::getValidator() const { if (mValidator == nullptr) throw std::runtime_error("no Validator defined yet"); return *mValidator; } void File::loadDictionary() { loadDictionary("mmcif_ddl"); } void File::loadDictionary(const char *dict) { fs::path dict_name(dict); auto data = loadResource(dict); if (not data and dict_name.extension().string() != ".dic") data = loadResource(dict_name.parent_path() / (dict_name.filename().string() + ".dic")); if (data) loadDictionary(*data); else { // might be a compressed dictionary on disk fs::path p = dict; if (p.extension() == ".dic") p = p.parent_path() / (p.filename().string() + ".gz"); else p = p.parent_path() / (p.filename().string() + ".dic.gz"); #if defined(CACHE_DIR) and defined(DATA_DIR) if (not fs::exists(p)) { for (const char *dir : {CACHE_DIR, DATA_DIR}) { auto p2 = fs::path(dir) / p; if (fs::exists(p2)) { swap(p, p2); break; } } } #endif if (fs::exists(p)) { std::ifstream file(p, std::ios::binary); if (not file.is_open()) throw std::runtime_error("Could not open dictionary (" + p.string() + ")"); io::filtering_stream in; in.push(io::gzip_decompressor()); in.push(file); loadDictionary(in); } else throw std::runtime_error("Dictionary not found or defined (" + dict_name.string() + ")"); } } void File::loadDictionary(std::istream &is) { std::unique_ptr v(new Validator()); DictParser p(*v, is); p.loadDictionary(); setValidator(v.release()); } void File::setValidator(Validator *v) { mValidator = v; for (auto d = mHead; d != nullptr; d = d->mNext) d->setValidator(mValidator); } void File::getTagOrder(std::vector &tags) const { for (auto d = mHead; d != nullptr; d = d->mNext) d->getTagOrder(tags); } auto File::iterator::operator++() -> iterator & { mCurrent = mCurrent->mNext; return *this; } auto File::begin() const -> iterator { return iterator(mHead); } auto File::end() const -> iterator { return iterator(nullptr); } } // namespace cif libcifpp-2.0.5/src/Cif2PDB.cpp0000664000175000017500000051230314200173347015561 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include #include #include #include #include #include // output_filter #include // put #include "cif++/Cif2PDB.hpp" #include "cif++/AtomType.hpp" #include "cif++/Compound.hpp" namespace ba = boost::algorithm; namespace io = boost::iostreams; using cif::Datablock; using cif::Category; using cif::Row; // -------------------------------------------------------------------- // FillOutLineFilter is used to make sure all lines in PDB files // are at filled out with spaces to be as much as 80 characters wide. class FillOutLineFilter : public io::output_filter { public: FillOutLineFilter() : mLineCount(0), mColumnCount(0) {} template bool put(Sink& dest, int c) { bool result = true; if (c == '\n') { for (int i = mColumnCount; result and i < 80; ++i) result = io::put(dest, ' '); } if (result) result = io::put(dest, c); if (result) { if (c == '\n') { mColumnCount = 0; ++mLineCount; } else ++mColumnCount; } return result; } template void close(Sink&) { mLineCount = 0; mColumnCount = 0; } int GetLineCount() const { return mLineCount; } private: int mLineCount; int mColumnCount; }; // -------------------------------------------------------------------- // conversion routines between cif and pdb format std::string cif2pdbDate(const std::string& d) { const std::regex rx(R"((\d{4})-(\d{2})(?:-(\d{2}))?)"); const char* kMonths[12] = { "JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" }; std::smatch m; std::string result; if (std::regex_match(d, m, rx)) { int year = std::stoi(m[1].str()); int month = std::stoi(m[2].str()); if (m[3].matched) result = (boost::format("%02.2d-%3.3s-%02.2d") % stoi(m[3].str()) % kMonths[month - 1] % (year % 100)).str(); else result = (boost::format("%3.3s-%02.2d") % kMonths[month - 1] % (year % 100)).str(); } return result; } std::string cif2pdbAuth(std::string name) { const std::regex rx(R"(([^,]+), (\S+))"); std::smatch m; if (std::regex_match(name, m, rx)) name = m[2].str() + m[1].str(); return name; } std::string cif2pdbSymmetry(std::string s) { auto i = s.rfind('_'); if (i != std::string::npos) s.erase(i, 1); return s; } std::string cif2pdbAtomName(std::string name, std::string resName, Datablock& db) { if (name.length() < 4) { for (auto r: db["atom_site"].find(cif::Key("label_atom_id") == name and cif::Key("label_comp_id") == resName)) { std::string element = r["type_symbol"].as(); if (element.length() == 1 or not cif::iequals(name, element)) name.insert(name.begin(), ' '); break; } } return name; } enum SoftwareType { eRefinement, eDataScaling, eDataExtraction, eDataReduction, ePhasing }; std::string cifSoftware(Datablock& db, SoftwareType sw) { std::string result = "NULL"; try { switch (sw) { case eRefinement: result = db["computing"][cif::Key("entry_id") == db.getName()]["structure_refinement"].as(); break; case eDataScaling: result = db["computing"][cif::Key("entry_id") == db.getName()]["pdbx_data_reduction_ds"].as(); break; case eDataReduction: result = db["computing"][cif::Key("entry_id") == db.getName()]["pdbx_data_reduction_ii"].as(); break; default: break; } if (result.empty() or result == "NULL") { auto& software = db["software"]; Row r; switch (sw) { case eRefinement: r = software[cif::Key("classification") == "refinement"]; break; case eDataScaling: r = software[cif::Key("classification") == "data scaling"]; break; case eDataExtraction: r = software[cif::Key("classification") == "data extraction"]; break; case eDataReduction: r = software[cif::Key("classification") == "data reduction"]; break; case ePhasing: r = software[cif::Key("classification") == "phasing"]; break; } result = r["name"].as() + " " + r["version"].as(); } ba::trim(result); ba::to_upper(result); if (result.empty()) result = "NULL"; } catch (...) {} return result; } // Map asym ID's back to PDB Chain ID's std::vector MapAsymIDs2ChainIDs(const std::vector& asymIDs, Datablock& db) { std::set result; for (auto asym: asymIDs) { for (auto r: db["pdbx_poly_seq_scheme"].find(cif::Key("asym_id") == asym)) { result.insert(r["pdb_strand_id"].as()); break; } for (auto r: db["pdbx_nonpoly_scheme"].find(cif::Key("asym_id") == asym)) { result.insert(r["pdb_strand_id"].as()); break; } } return { result.begin(), result.end() }; } // support for wrapping text using a 'continuation marker' size_t WriteContinuedLine(std::ostream& pdbFile, std::string header, int& count, int cLen, std::string text, std::string::size_type lStart = 0) { if (lStart == 0) { if (cLen == 0) lStart = header.length() + 1; else lStart = header.length() + cLen; } std::string::size_type maxLength = 80 - lStart - 1; std::vector lines = cif::wordWrap(text, maxLength); for (auto& line: lines) { ba::to_upper(line); pdbFile << header; if (++count <= 1 or cLen == 0) { pdbFile << std::string(lStart - header.length(), ' '); if (count == 1) lStart = header.length() + cLen + 1; } else pdbFile << std::fixed << std::setw(cLen) << std::right << count << ' '; pdbFile << line << std::endl; } return lines.size(); } size_t WriteOneContinuedLine(std::ostream& pdbFile, std::string header, int cLen, std::string line, int lStart = 0) { int count = 0; return WriteContinuedLine(pdbFile, header, count, cLen, line, lStart); } size_t WriteCitation(std::ostream& pdbFile, Datablock& db, Row r, int reference) { size_t result = 0; std::string s1; if (reference > 0) { pdbFile << "REMARK 1 REFERENCE " << std::to_string(reference) << std::endl; result = 1; s1 = "REMARK 1 "; } else s1 = "JRNL "; std::string id, title, pubname, volume, astm, country, issn, csd, publ, pmid, doi, pageFirst, pageLast, year; cif::tie(id, title, pubname, volume, astm, country, issn, csd, publ, pmid, doi, pageFirst, pageLast, year) = r.get("id", "title", "journal_abbrev", "journal_volume", "journal_id_ASTM", "country", "journal_id_ISSN", "journal_id_CSD", "book_publisher", "pdbx_database_id_PubMed", "pdbx_database_id_DOI", "page_first", "page_last", "year"); std::vector authors; for (auto r1: db["citation_author"].find(cif::Key("citation_id") == id)) authors.push_back(cif2pdbAuth(r1["name"].as())); if (not authors.empty()) result += WriteOneContinuedLine(pdbFile, s1 + "AUTH", 2, ba::join(authors, ","), 19); result += WriteOneContinuedLine(pdbFile, s1 + "TITL", 2, title, 19); if (not pubname.empty()) { ba::to_upper(pubname); const std::string kRefHeader = s1 + "REF %2.2d %-28.28s %2.2s%4.4d %5.5d %4.4d"; pdbFile << (boost::format(kRefHeader) % "" // continuation % pubname % (volume.empty() ? "" : "V.") % volume % pageFirst % year).str() << std::endl; ++result; } if (not issn.empty()) { const std::string kRefHeader = s1 + "REFN ISSN %-25.25s"; pdbFile << (boost::format(kRefHeader) % issn).str() << std::endl; ++result; } // if (not issn.empty() or astm.empty()) // { //// 0 1 2 3 4 5 6 7 8 //// HEADER xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxDDDDDDDDD IIII //const char kRefHeader[] = // "REMARK 1 REFN %4.4s %-6.6s %2.2s %-25.25s"; // // pdbFile << (boost::format(kRefHeader) // % (astm.empty() ? "" : "ASTN") // % astm // % country // % issn).str() // << std::endl; // } if (not pmid.empty()) { const std::string kPMID = s1 + "PMID %-60.60s "; pdbFile << (boost::format(kPMID) % pmid).str() << std::endl; ++result; } if (not doi.empty()) { const std::string kDOI = s1 + "DOI %-60.60s "; pdbFile << (boost::format(kDOI) % doi).str() << std::endl; ++result; } return result; } void WriteHeaderLines(std::ostream& pdbFile, Datablock& db) { // 0 1 2 3 4 5 6 7 8 // HEADER xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxDDDDDDDDD IIII const char kHeader[] = "HEADER %1$-40.40s" "%2$-9.9s"" %3$-4.4s"; // HEADER std::string keywords; auto& cat1 = db["struct_keywords"]; for (auto r: cat1) { keywords = r["pdbx_keywords"].as(); break; } std::string date; for (auto r: db["pdbx_database_status"]) { date = r["recvd_initial_deposition_date"].as(); if (date.empty()) continue; date = cif2pdbDate(date); break; } if (date.empty()) { for (auto r: db["database_PDB_rev"]) { date = r["date_original"].as(); if (date.empty()) continue; date = cif2pdbDate(date); break; } } pdbFile << (boost::format(kHeader) % keywords % date % db.getName()).str() << std::endl; // TODO: implement // OBSLTE (skip for now) // TITLE for (auto r: db["struct"]) { std::string title = r["title"].as(); ba::trim(title); WriteOneContinuedLine(pdbFile, "TITLE ", 2, title); break; } // COMPND using namespace std::placeholders; int molID = 0; std::vector cmpnd; for (auto r: db["entity"]) { if (r["type"] != "polymer") continue; std::string entityID = r["id"].as(); ++molID; cmpnd.push_back("MOL_ID: " + std::to_string(molID)); std::string molecule = r["pdbx_description"].as(); cmpnd.push_back("MOLECULE: " + molecule); auto poly = db["entity_poly"].find(cif::Key("entity_id") == entityID); if (not poly.empty()) { std::string chains = poly.front()["pdbx_strand_id"].as(); ba::replace_all(chains, ",", ", "); cmpnd.push_back("CHAIN: " + chains); } std::string fragment = r["pdbx_fragment"].as(); if (not fragment.empty()) cmpnd.push_back("FRAGMENT: " + fragment); for (auto sr: db["entity_name_com"].find(cif::Key("entity_id") == entityID)) { std::string syn = sr["name"].as(); if (not syn.empty()) cmpnd.push_back("SYNONYM: " + syn); } std::string mutation = r["pdbx_mutation"].as(); if (not mutation.empty()) cmpnd.push_back("MUTATION: " + mutation); std::string ec = r["pdbx_ec"].as(); if (not ec.empty()) cmpnd.push_back("EC: " + ec); if (r["src_method"] == "man" or r["src_method"] == "syn") cmpnd.push_back("ENGINEERED: YES"); std::string details = r["details"].as(); if (not details.empty()) cmpnd.push_back("OTHER_DETAILS: " + details); } WriteOneContinuedLine(pdbFile, "COMPND ", 3, ba::join(cmpnd, ";\n")); // SOURCE molID = 0; std::vector source; for (auto r: db["entity"]) { if (r["type"] != "polymer") continue; std::string entityID = r["id"].as(); ++molID; source.push_back("MOL_ID: " + std::to_string(molID)); if (r["src_method"] == "syn") source.push_back("SYNTHETIC: YES"); auto& gen = db["entity_src_gen"]; const std::pair kGenSourceMapping[] = { { "gene_src_common_name", "ORGANISM_COMMON" }, { "pdbx_gene_src_gene", "GENE" }, { "gene_src_strain", "STRAIN" }, { "pdbx_gene_src_cell_line", "CELL_LINE" }, { "pdbx_gene_src_organelle", "ORGANELLE" }, { "pdbx_gene_src_cellular_location","CELLULAR_LOCATION" }, { "pdbx_gene_src_scientific_name", "ORGANISM_SCIENTIFIC" }, { "pdbx_gene_src_ncbi_taxonomy_id", "ORGANISM_TAXID" }, { "pdbx_host_org_scientific_name", "EXPRESSION_SYSTEM" }, { "pdbx_host_org_ncbi_taxonomy_id", "EXPRESSION_SYSTEM_TAXID" }, { "pdbx_host_org_strain", "EXPRESSION_SYSTEM_STRAIN" }, { "pdbx_host_org_variant", "EXPRESSION_SYSTEM_VARIANT" }, { "pdbx_host_org_cellular_location","EXPRESSION_SYSTEM_CELLULAR_LOCATION" }, { "pdbx_host_org_vector_type", "EXPRESSION_SYSTEM_VECTOR_TYPE" }, { "pdbx_host_org_vector", "EXPRESSION_SYSTEM_VECTOR" }, { "pdbx_host_org_gene", "EXPRESSION_SYSTEM_GENE" }, { "plasmid_name", "EXPRESSION_SYSTEM_PLASMID" }, { "details", "OTHER_DETAILS" } }; for (auto gr: gen.find(cif::Key("entity_id") == entityID)) { for (auto m: kGenSourceMapping) { std::string cname, sname; tie(cname, sname) = m; std::string s = gr[cname].as(); if (not s.empty()) source.push_back(sname + ": " + s); } } auto& nat = db["entity_src_nat"]; const std::pair kNatSourceMapping[] = { { "common_name", "ORGANISM_COMMON" }, { "strain", "STRAIN" }, { "pdbx_organism_scientific", "ORGANISM_SCIENTIFIC" }, { "pdbx_ncbi_taxonomy_id", "ORGANISM_TAXID" }, { "pdbx_cellular_location", "CELLULAR_LOCATION" }, { "pdbx_plasmid_name", "PLASMID" }, { "pdbx_organ", "ORGAN" }, { "details", "OTHER_DETAILS" } }; for (auto nr: nat.find(cif::Key("entity_id") == entityID)) { for (auto m: kNatSourceMapping) { std::string cname, sname; tie(cname, sname) = m; std::string s = nr[cname].as(); if (not s.empty()) source.push_back(sname + ": " + s); } } } WriteOneContinuedLine(pdbFile, "SOURCE ", 3, ba::join(source, ";\n")); // KEYWDS keywords.clear(); for (auto r: cat1) { if (not r["text"].empty()) keywords += r["text"].as(); else keywords += r["pdbx_keywords"].as(); } if (not keywords.empty()) WriteOneContinuedLine(pdbFile, "KEYWDS ", 2, keywords); // EXPDTA auto& dbexpt = db["exptl"]; if (not dbexpt.empty()) { std::vector method; for (auto r: dbexpt) method.push_back(r["method"].as()); if (not method.empty()) WriteOneContinuedLine(pdbFile, "EXPDTA ", 2, ba::join(method, "; ")); } // NUMMDL // TODO... // MDLTYP // TODO... // AUTHOR std::vector authors; for (auto r: db["audit_author"]) authors.push_back(cif2pdbAuth(r["name"].as())); if (not authors.empty()) WriteOneContinuedLine(pdbFile, "AUTHOR ", 2, ba::join(authors, ",")); } void WriteTitle(std::ostream& pdbFile, Datablock& db) { WriteHeaderLines(pdbFile, db); // REVDAT boost::format kRevDat("REVDAT %3.3d%2.2s %9.9s %4.4s %1.1d "); auto& cat2 = db["database_PDB_rev"]; std::vector rev(cat2.begin(), cat2.end()); sort(rev.begin(), rev.end(), [](Row a, Row b) -> bool { return a["num"].as() > b["num"].as(); }); for (auto r: rev) { int revNum, modType; std::string date, replaces; cif::tie(revNum, modType, date, replaces) = r.get("num", "mod_type", "date", "replaces"); date = cif2pdbDate(date); std::vector types; for (auto r1: db["database_PDB_rev_record"].find(cif::Key("rev_num") == revNum)) types.push_back(r1["type"].as()); int continuation = 0; do { std::string cs = ++continuation > 1 ? std::to_string(continuation) : std::string(); pdbFile << (kRevDat % revNum % cs % date % db.getName() % modType).str(); for (size_t i = 0; i < 4; ++i) pdbFile << (boost::format(" %-6.6s") % (i < types.size() ? types[i] : std::string())).str(); pdbFile << std::endl; if (types.size() > 4) types.erase(types.begin(), types.begin() + 4); else types.clear(); } while (types.empty() == false); } // SPRSDE // TODO... // JRNL for (auto r: db["citation"]) { WriteCitation(pdbFile, db, r, 0); break; } } void WriteRemark1(std::ostream& pdbFile, Datablock& db) { int reference = 0; for (auto r: db["citation"]) { if (reference > 0) { if (reference == 1) pdbFile << "REMARK 1" << std::endl; WriteCitation(pdbFile, db, r, reference); } ++reference; } } void WriteRemark2(std::ostream& pdbFile, Datablock& db) { auto& refine = db["refine"]; if (refine.empty()) { pdbFile << "REMARK 2" << std::endl << "REMARK 2 RESOLUTION. NOT APPLICABLE." << std::endl; } else { try { float resHigh = refine.front()["ls_d_res_high"].as(); boost::format kREMARK2("REMARK 2 RESOLUTION. %7.2f ANGSTROMS."); pdbFile << "REMARK 2" << std::endl << (kREMARK2 % resHigh) << std::endl; } catch (...) { /* skip it */ } } } // -------------------------------------------------------------------- // Code to help format RERMARK 3 data class FBase { public: virtual ~FBase() {} virtual void out(std::ostream& os) = 0; protected: FBase(Row r, const char* f) : mRow(r), mField(f) {} FBase(Category& cat, cif::Condition&& cond, const char* f) : mField(f) { auto r = cat.find(std::move(cond)); if (not r.empty()) mRow = r.front(); } Row mRow; const char* mField; }; class Fi : public FBase { public: Fi(Row r, const char* f) : FBase(r, f) {} Fi(Category& cat, cif::Condition&& cond, const char* f) : FBase(cat, std::move(cond), f) {} virtual void out(std::ostream& os) { std::string s = mRow[mField].as(); if (s.empty()) { os << "NULL"; if (os.width() > 4) os << std::string(os.width() - 4, ' '); } else os << stol(s); } }; class Ff : public FBase { public: Ff(Row r, const char* f) : FBase(r, f) {} Ff(Category& cat, cif::Condition&& cond, const char* f) : FBase(cat, std::move(cond), f) {} virtual void out(std::ostream& os) { std::string s = mRow[mField].as(); if (s.empty()) { os << "NULL"; if (os.width() > 4) os << std::string(os.width() - 4, ' '); } else { try { os << std::stod(s); } catch (const std::exception& ex) { std::cerr << "Failed to write '" << s << "' as a double, this indicates an error in the code for writing PDB files" << std::endl; os << s; } } } }; class Fs : public FBase { public: Fs(Row r, const char* f, int remarkNr = 3) : FBase(r, f), mNr(remarkNr) {} Fs(Category& cat, cif::Condition&& cond, const char* f, int remarkNr = 3) : FBase(cat, std::move(cond), f), mNr(remarkNr) {} virtual void out(std::ostream& os) { std::string s = mRow[mField].as(); size_t width = os.width(); if (s.empty()) { os << "NULL"; if (os.width() > 4) os << std::string(width - 4, ' '); } else if (width == 0 or s.length() <= width) os << s; else { os << std::endl; std::stringstream ss; ss << "REMARK " << std::setw(3) << std::right << mNr << ' '; WriteOneContinuedLine(os, ss.str(), 0, s); } } int mNr = 3; }; std::ostream& operator<<(std::ostream& os, FBase&& fld) { fld.out(os); return os; } template struct RM { RM(const char* desc, int width = 0, int precision = 6) : mDesc(desc), mWidth(width), mPrecision(precision) {} const char* mDesc; int mWidth, mPrecision; }; typedef RM<3> RM3; template std::ostream& operator<<(std::ostream& os, RM&& rm) { os << "REMARK " << std::setw(3) << std::right << N << " " << rm.mDesc << (rm.mWidth > 0 ? std::left : std::right) << std::fixed << std::setw(abs(rm.mWidth)) << std::setprecision(rm.mPrecision); return os; } struct SEP { SEP(const char* txt, int width, int precision = 6) : mText(txt), mWidth(width), mPrecision(precision) {} const char* mText; int mWidth, mPrecision; }; std::ostream& operator<<(std::ostream& os, SEP&& sep) { os << sep.mText << (sep.mWidth > 0 ? std::left : std::right) << std::fixed << std::setw(abs(sep.mWidth)) << std::setprecision(sep.mPrecision); return os; } // -------------------------------------------------------------------- void WriteRemark3BusterTNT(std::ostream& pdbFile, Datablock& db) { auto refine = db["refine"].front(); auto ls_shell = db["refine_ls_shell"].front(); auto hist = db["refine_hist"].front(); auto reflns = db["reflns"].front(); auto analyze = db["refine_analyze"].front(); auto& ls_restr = db["refine_ls_restr"]; // auto ls_restr_ncs = db["refine_ls_restr_ncs"].front(); // auto pdbx_xplor_file = db["pdbx_xplor_file"].front(); // auto pdbx_refine = db["pdbx_refine"].front(); pdbFile << RM3("") << std::endl << RM3(" DATA USED IN REFINEMENT.") << std::endl << RM3(" RESOLUTION RANGE HIGH (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_high") << std::endl << RM3(" RESOLUTION RANGE LOW (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_low") << std::endl << RM3(" DATA CUTOFF (SIGMA(F)) : ", 6, 3) << Ff(refine, "pdbx_ls_sigma_F") << std::endl << RM3(" COMPLETENESS FOR RANGE (%) : ", 6, 1) << Ff(refine, "ls_percent_reflns_obs") << std::endl << RM3(" NUMBER OF REFLECTIONS : ", 12, 6) << Fi(refine, "ls_number_reflns_obs") << std::endl << RM3("") << std::endl << RM3(" FIT TO DATA USED IN REFINEMENT.") << std::endl << RM3(" CROSS-VALIDATION METHOD : ") << Fs(refine, "pdbx_ls_cross_valid_method") << std::endl << RM3(" FREE R VALUE TEST SET SELECTION : ") << Fs(refine, "pdbx_R_Free_selection_details") << std::endl << RM3(" R VALUE (WORKING + TEST SET) : ", 7, 3) << Ff(refine, "ls_R_factor_obs") << std::endl << RM3(" R VALUE (WORKING SET) : ", 7, 3) << Ff(refine, "ls_R_factor_R_work") << std::endl << RM3(" FREE R VALUE : ", 7, 3) << Ff(refine, "ls_R_factor_R_free") << std::endl << RM3(" FREE R VALUE TEST SET SIZE (%) : ", 7, 3) << Ff(refine, "ls_percent_reflns_R_free") << std::endl << RM3(" FREE R VALUE TEST SET COUNT : ", 12, 6) << Fi(refine, "ls_number_reflns_R_free") << std::endl << RM3(" ESTIMATED ERROR OF FREE R VALUE : ", 7, 3) << Ff(refine, "ls_R_factor_R_free_error") << std::endl << RM3("") << std::endl << RM3(" FIT IN THE HIGHEST RESOLUTION BIN.") << std::endl << RM3(" TOTAL NUMBER OF BINS USED : ", 12, 6) << Fi(ls_shell, "pdbx_total_number_of_bins_used") << std::endl << RM3(" BIN RESOLUTION RANGE HIGH (ANGSTROMS) : ", 5, 2) << Ff(ls_shell, "d_res_high") << std::endl << RM3(" BIN RESOLUTION RANGE LOW (ANGSTROMS) : ", 5, 2) << Ff(ls_shell, "d_res_low") << std::endl << RM3(" BIN COMPLETENESS (WORKING+TEST) (%) : ", 6, 2) << Ff(ls_shell, "percent_reflns_obs") << std::endl << RM3(" REFLECTIONS IN BIN (WORKING + TEST SET) : ", 12, 6) << Fi(ls_shell, "number_reflns_all") << std::endl << RM3(" BIN R VALUE (WORKING + TEST SET) : ", 8, 4) << Ff(ls_shell, "R_factor_all") << std::endl << RM3(" REFLECTIONS IN BIN (WORKING SET) : ", 12, 6) << Fi(ls_shell, "number_reflns_R_work") << std::endl << RM3(" BIN R VALUE (WORKING SET) : ", 8, 4) << Ff(ls_shell, "R_factor_R_work") << std::endl << RM3(" BIN FREE R VALUE : ", 8, 4) << Ff(ls_shell, "R_factor_R_free") << std::endl << RM3(" BIN FREE R VALUE TEST SET SIZE (%) : ", 6, 2) << Ff(ls_shell, "percent_reflns_R_free") << std::endl << RM3(" BIN FREE R VALUE TEST SET COUNT : ", 12, 7) << Fi(ls_shell, "number_reflns_R_free") << std::endl << RM3(" ESTIMATED ERROR OF BIN FREE R VALUE : ", 7, 3) << Ff(ls_shell, "R_factor_R_free_error") << std::endl << RM3("") << std::endl << RM3(" NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT.") << std::endl << RM3(" PROTEIN ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_protein") << std::endl << RM3(" NUCLEIC ACID ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_nucleic_acid") << std::endl << RM3(" HETEROGEN ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_ligand") << std::endl << RM3(" SOLVENT ATOMS : ", 12, 6) << Fi(hist, "number_atoms_solvent") << std::endl << RM3("") << std::endl << RM3(" B VALUES.") << std::endl // << RM3(" B VALUE TYPE : ") << Fs(refine, "pdbx_TLS_residual_ADP_flag") << std::endl << RM3(" FROM WILSON PLOT (A**2) : ", 7, 2) << Ff(reflns, "B_iso_Wilson_estimate") << std::endl << RM3(" MEAN B VALUE (OVERALL, A**2) : ", 7, 2) << Ff(refine, "B_iso_mean") << std::endl << RM3(" OVERALL ANISOTROPIC B VALUE.") << std::endl << RM3(" B11 (A**2) : ", -8, 5) << Ff(refine, "aniso_B[1][1]") << std::endl << RM3(" B22 (A**2) : ", -8, 5) << Ff(refine, "aniso_B[2][2]") << std::endl << RM3(" B33 (A**2) : ", -8, 5) << Ff(refine, "aniso_B[3][3]") << std::endl << RM3(" B12 (A**2) : ", -8, 5) << Ff(refine, "aniso_B[1][2]") << std::endl << RM3(" B13 (A**2) : ", -8, 5) << Ff(refine, "aniso_B[1][3]") << std::endl << RM3(" B23 (A**2) : ", -8, 5) << Ff(refine, "aniso_B[2][3]") << std::endl << RM3("") << std::endl << RM3(" ESTIMATED COORDINATE ERROR.") << std::endl << RM3(" ESD FROM LUZZATI PLOT (A) : ", 7, 3) << Ff(analyze, "Luzzati_coordinate_error_obs") << std::endl << RM3(" DPI (BLOW EQ-10) BASED ON R VALUE (A) : ", 5, 3) << Ff(refine, "pdbx_overall_SU_R_Blow_DPI") << std::endl << RM3(" DPI (BLOW EQ-9) BASED ON FREE R VALUE (A) : ", 5, 3) << Ff(refine, "pdbx_overall_SU_R_free_Blow_DPI") << std::endl << RM3(" DPI (CRUICKSHANK) BASED ON R VALUE (A) : ", 5, 3) << Ff(refine, "overall_SU_R_Cruickshank_DPI") << std::endl << RM3(" DPI (CRUICKSHANK) BASED ON FREE R VALUE (A) : ", 5, 3) << Ff(refine, "pdbx_overall_SU_R_free_Cruickshank_DPI") << std::endl << RM3("") << std::endl << RM3(" REFERENCES: BLOW, D. (2002) ACTA CRYST D58, 792-797") << std::endl << RM3(" CRUICKSHANK, D.W.J. (1999) ACTA CRYST D55, 583-601") << std::endl << RM3("") << std::endl << RM3(" CORRELATION COEFFICIENTS.") << std::endl << RM3(" CORRELATION COEFFICIENT FO-FC : ", 5, 3) << Ff(refine, "correlation_coeff_Fo_to_Fc") << std::endl << RM3(" CORRELATION COEFFICIENT FO-FC FREE : ", 5, 3) << Ff(refine, "correlation_coeff_Fo_to_Fc_free") << std::endl << RM3("") << std::endl << RM3(" NUMBER OF GEOMETRIC FUNCTION TERMS DEFINED : 15") << std::endl << RM3(" TERM COUNT WEIGHT FUNCTION.") << std::endl << RM3(" BOND LENGTHS : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_bond_d", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_bond_d", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_bond_d", "pdbx_restraint_function") << std::endl << RM3(" BOND ANGLES : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_angle_deg", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_angle_deg", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_angle_deg", "pdbx_restraint_function") << std::endl << RM3(" TORSION ANGLES : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_dihedral_angle_d", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_dihedral_angle_d", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_dihedral_angle_d", "pdbx_restraint_function") << std::endl << RM3(" TRIGONAL CARBON PLANES : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_trig_c_planes", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_trig_c_planes", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_trig_c_planes", "pdbx_restraint_function") << std::endl << RM3(" GENERAL PLANES : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_gen_planes", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_gen_planes", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_gen_planes", "pdbx_restraint_function") << std::endl << RM3(" ISOTROPIC THERMAL FACTORS : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_it", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_it", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_it", "pdbx_restraint_function") << std::endl << RM3(" BAD NON-BONDED CONTACTS : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_nbd", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_nbd", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_nbd", "pdbx_restraint_function") << std::endl << RM3(" IMPROPER TORSIONS : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_improper_torsion", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_improper_torsion", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_improper_torsion", "pdbx_restraint_function") << std::endl << RM3(" PSEUDOROTATION ANGLES : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_pseud_angle", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_pseud_angle", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_pseud_angle", "pdbx_restraint_function") << std::endl << RM3(" CHIRAL IMPROPER TORSION : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_chiral_improper_torsion", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_chiral_improper_torsion", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_chiral_improper_torsion", "pdbx_restraint_function") << std::endl << RM3(" SUM OF OCCUPANCIES : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_sum_occupancies", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_sum_occupancies", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_sum_occupancies", "pdbx_restraint_function") << std::endl << RM3(" UTILITY DISTANCES : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_utility_distance", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_utility_distance", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_utility_distance", "pdbx_restraint_function") << std::endl << RM3(" UTILITY ANGLES : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_utility_angle", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_utility_angle", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_utility_angle", "pdbx_restraint_function") << std::endl << RM3(" UTILITY TORSION : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_utility_torsion", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_utility_torsion", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_utility_torsion", "pdbx_restraint_function") << std::endl << RM3(" IDEAL-DIST CONTACT TERM : ", 7, 0) << Ff(ls_restr, cif::Key("type") == "t_ideal_dist_contact", "number") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_ideal_dist_contact", "weight") << SEP("; ", 12) << Fs(ls_restr, cif::Key("type") == "t_ideal_dist_contact", "pdbx_restraint_function") << std::endl << RM3("") << std::endl << RM3(" RMS DEVIATIONS FROM IDEAL VALUES.") << std::endl << RM3(" BOND LENGTHS (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "t_bond_d", "dev_ideal") << std::endl << RM3(" BOND ANGLES (DEGREES) : ", 7, 2) << Ff(ls_restr, cif::Key("type") == "t_angle_deg", "dev_ideal") << std::endl << RM3(" PEPTIDE OMEGA TORSION ANGLES (DEGREES) : ", 7, 2) << Ff(ls_restr, cif::Key("type") == "t_omega_torsion", "dev_ideal") << std::endl << RM3(" OTHER TORSION ANGLES (DEGREES) : ", 7, 2) << Ff(ls_restr, cif::Key("type") == "t_other_torsion", "dev_ideal") << std::endl; auto& tls = db["pdbx_refine_tls"]; pdbFile << RM3("") << std::endl << RM3(" TLS DETAILS") << std::endl << RM3(" NUMBER OF TLS GROUPS : ") << (tls.size() ? std::to_string(tls.size()) : "NULL") << std::endl; for (auto t: tls) { std::string id = t["id"].as(); auto g = db["pdbx_refine_tls_group"][cif::Key("refine_tls_id") == id]; pdbFile << RM3("") << std::endl << RM3(" TLS GROUP : ") << id << std::endl << RM3(" SELECTION: ") << Fs(g, "selection_details") << std::endl; pdbFile << RM3(" ORIGIN FOR THE GROUP (A):", -9, 4) << Ff(t, "origin_x") << SEP("", -9, 4) << Ff(t, "origin_y") << SEP("", -9, 4) << Ff(t, "origin_z") << std::endl << RM3(" T TENSOR") << std::endl << RM3(" T11:", -9, 4) << Ff(t, "T[1][1]") << SEP(" T22:", -9, 4) << Ff(t, "T[2][2]") << std::endl << RM3(" T33:", -9, 4) << Ff(t, "T[3][3]") << SEP(" T12:", -9, 4) << Ff(t, "T[1][2]") << std::endl << RM3(" T13:", -9, 4) << Ff(t, "T[1][3]") << SEP(" T23:", -9, 4) << Ff(t, "T[2][3]") << std::endl << RM3(" L TENSOR") << std::endl << RM3(" L11:", -9, 4) << Ff(t, "L[1][1]") << SEP(" L22:", -9, 4) << Ff(t, "L[2][2]") << std::endl << RM3(" L33:", -9, 4) << Ff(t, "L[3][3]") << SEP(" L12:", -9, 4) << Ff(t, "L[1][2]") << std::endl << RM3(" L13:", -9, 4) << Ff(t, "L[1][3]") << SEP(" L23:", -9, 4) << Ff(t, "L[2][3]") << std::endl << RM3(" S TENSOR") << std::endl << RM3(" S11:", -9, 4) << Ff(t, "S[1][1]") << SEP(" S12:", -9, 4) << Ff(t, "S[1][2]") << SEP(" S13:", -9, 4) << Ff(t, "S[1][3]") << std::endl << RM3(" S21:", -9, 4) << Ff(t, "S[2][1]") << SEP(" S22:", -9, 4) << Ff(t, "S[2][2]") << SEP(" S23:", -9, 4) << Ff(t, "S[2][3]") << std::endl << RM3(" S31:", -9, 4) << Ff(t, "S[3][1]") << SEP(" S32:", -9, 4) << Ff(t, "S[3][2]") << SEP(" S33:", -9, 4) << Ff(t, "S[3][3]") << std::endl; } pdbFile << RM3("") << std::endl; } // -------------------------------------------------------------------- void WriteRemark3CNS(std::ostream& pdbFile, Datablock& db) { auto refine = db["refine"].front(); auto ls_shell = db["refine_ls_shell"].front(); auto hist = db["refine_hist"].front(); auto reflns = db["reflns"].front(); auto analyze = db["refine_analyze"].front(); auto& ls_restr = db["refine_ls_restr"]; auto ls_restr_ncs = db["refine_ls_restr_ncs"].front(); // auto pdbx_xplor_file = db["pdbx_xplor_file"].front(); // auto pdbx_refine = db["pdbx_refine"].front(); pdbFile << RM3("") << std::endl << RM3("REFINEMENT TARGET : ") << Fs(refine, "pdbx_stereochemistry_target_values") << std::endl << RM3("") << std::endl << RM3(" DATA USED IN REFINEMENT.") << std::endl << RM3(" RESOLUTION RANGE HIGH (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_high") << std::endl << RM3(" RESOLUTION RANGE LOW (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_low") << std::endl << RM3(" DATA CUTOFF (SIGMA(F)) : ", 6, 3) << Ff(refine, "pdbx_ls_sigma_F") << std::endl << RM3(" DATA CUTOFF HIGH (ABS(F)) : ", 6, 3) << Ff(refine, "pdbx_data_cutoff_high_absF") << std::endl << RM3(" DATA CUTOFF LOW (ABS(F)) : ", 7, 4) << Ff(refine, "pdbx_data_cutoff_low_absF") << std::endl << RM3(" COMPLETENESS (WORKING+TEST) (%) : ", 4, 1) << Ff(refine, "ls_percent_reflns_obs") << std::endl << RM3(" NUMBER OF REFLECTIONS : ", 12, 6) << Fi(refine, "ls_number_reflns_obs") << std::endl << RM3("") << std::endl << RM3(" FIT TO DATA USED IN REFINEMENT.") << std::endl << RM3(" CROSS-VALIDATION METHOD : ") << Fs(refine, "pdbx_ls_cross_valid_method") << std::endl << RM3(" FREE R VALUE TEST SET SELECTION : ") << Fs(refine, "pdbx_R_Free_selection_details") << std::endl // << RM3(" R VALUE (WORKING + TEST SET) : ", 7, 5) << Ff(refine, "ls_R_factor_obs") << std::endl << RM3(" R VALUE (WORKING SET) : ", 7, 3) << Ff(refine, "ls_R_factor_R_work") << std::endl << RM3(" FREE R VALUE : ", 7, 3) << Ff(refine, "ls_R_factor_R_free") << std::endl << RM3(" FREE R VALUE TEST SET SIZE (%) : ", 7, 3) << Ff(refine, "ls_percent_reflns_R_free") << std::endl << RM3(" FREE R VALUE TEST SET COUNT : ", 12, 6) << Fi(refine, "ls_number_reflns_R_free") << std::endl << RM3(" ESTIMATED ERROR OF FREE R VALUE : ", 7, 3) << Ff(refine, "ls_R_factor_R_free_error") << std::endl // << RM3("") << std::endl // << RM3(" FIT/AGREEMENT OF MODEL WITH ALL DATA.") << std::endl // << RM3(" R VALUE (WORKING + TEST SET, NO CUTOFF) : ", 7, 3) << Ff(pdbx_refine, "R_factor_all_no_cutoff") << std::endl // << RM3(" R VALUE (WORKING SET, NO CUTOFF) : ", 7, 3) << Ff(pdbx_refine, "R_factor_obs_no_cutoff") << std::endl // << RM3(" FREE R VALUE (NO CUTOFF) : ", 7, 3) << Ff(pdbx_refine, "free_R_factor_no_cutoff") << std::endl // << RM3(" FREE R VALUE TEST SET SIZE (%, NO CUTOFF) : ", 7, 3) << Ff(pdbx_refine, "free_R_val_test_set_size_perc_no_cutoff") << std::endl // << RM3(" FREE R VALUE TEST SET COUNT (NO CUTOFF) : ", 12, 6) << Fi(pdbx_refine, "free_R_val_test_set_ct_no_cutoff") << std::endl // << RM3(" TOTAL NUMBER OF REFLECTIONS (NO CUTOFF) : ", 12, 6) << Fi(refine, "ls_number_reflns_all") << std::endl << RM3("") << std::endl << RM3(" FIT IN THE HIGHEST RESOLUTION BIN.") << std::endl << RM3(" TOTAL NUMBER OF BINS USED : ", 12, 6) << Fi(ls_shell, "pdbx_total_number_of_bins_used") << std::endl << RM3(" BIN RESOLUTION RANGE HIGH (A) : ", 5, 2) << Ff(ls_shell, "d_res_high") << std::endl << RM3(" BIN RESOLUTION RANGE LOW (A) : ", 5, 2) << Ff(ls_shell, "d_res_low") << std::endl << RM3(" BIN COMPLETENESS (WORKING+TEST) (%) : ", 6, 2) << Ff(ls_shell, "percent_reflns_obs") << std::endl << RM3(" REFLECTIONS IN BIN (WORKING SET) : ", 12, 6) << Fi(ls_shell, "number_reflns_R_work") << std::endl << RM3(" BIN R VALUE (WORKING SET) : ", 8, 4) << Ff(ls_shell, "R_factor_R_work") << std::endl << RM3(" BIN FREE R VALUE : ", 8, 4) << Ff(ls_shell, "R_factor_R_free") << std::endl << RM3(" BIN FREE R VALUE TEST SET SIZE (%) : ", 6, 2) << Ff(ls_shell, "percent_reflns_R_free") << std::endl << RM3(" BIN FREE R VALUE TEST SET COUNT : ", 12, 7) << Fi(ls_shell, "number_reflns_R_free") << std::endl << RM3(" ESTIMATED ERROR OF BIN FREE R VALUE : ", 7, 3) << Ff(ls_shell, "R_factor_R_free_error") << std::endl << RM3("") << std::endl << RM3(" NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT.") << std::endl << RM3(" PROTEIN ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_protein") << std::endl << RM3(" NUCLEIC ACID ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_nucleic_acid") << std::endl << RM3(" HETEROGEN ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_ligand") << std::endl << RM3(" SOLVENT ATOMS : ", 12, 6) << Fi(hist, "number_atoms_solvent") << std::endl << RM3("") << std::endl << RM3(" B VALUES.") << std::endl << RM3(" B VALUE TYPE : ") << Fs(refine, "pdbx_TLS_residual_ADP_flag") << std::endl << RM3(" FROM WILSON PLOT (A**2) : ", 7, 2) << Ff(reflns, "B_iso_Wilson_estimate") << std::endl << RM3(" MEAN B VALUE (OVERALL, A**2) : ", 7, 2) << Ff(refine, "B_iso_mean") << std::endl << RM3(" OVERALL ANISOTROPIC B VALUE.") << std::endl << RM3(" B11 (A**2) : ", -8, 5) << Ff(refine, "aniso_B[1][1]") << std::endl << RM3(" B22 (A**2) : ", -8, 5) << Ff(refine, "aniso_B[2][2]") << std::endl << RM3(" B33 (A**2) : ", -8, 5) << Ff(refine, "aniso_B[3][3]") << std::endl << RM3(" B12 (A**2) : ", -8, 5) << Ff(refine, "aniso_B[1][2]") << std::endl << RM3(" B13 (A**2) : ", -8, 5) << Ff(refine, "aniso_B[1][3]") << std::endl << RM3(" B23 (A**2) : ", -8, 5) << Ff(refine, "aniso_B[2][3]") << std::endl << RM3("") << std::endl << RM3(" ESTIMATED COORDINATE ERROR.") << std::endl << RM3(" ESD FROM LUZZATI PLOT (A) : ", 7, 2) << Ff(analyze, "Luzzati_coordinate_error_obs") << std::endl << RM3(" ESD FROM SIGMAA (A) : ", 7, 2) << Ff(analyze, "Luzzati_sigma_a_obs") << std::endl << RM3(" LOW RESOLUTION CUTOFF (A) : ", 7, 2) << Ff(analyze, "Luzzati_d_res_low_obs") << std::endl << RM3("") << std::endl << RM3(" CROSS-VALIDATED ESTIMATED COORDINATE ERROR.") << std::endl << RM3(" ESD FROM C-V LUZZATI PLOT (A) : ", 7, 2) << Ff(analyze, "Luzzati_coordinate_error_free") << std::endl << RM3(" ESD FROM C-V SIGMAA (A) : ", 7, 2) << Ff(analyze, "Luzzati_sigma_a_free") << std::endl << RM3("") << std::endl << RM3(" RMS DEVIATIONS FROM IDEAL VALUES.") << std::endl << RM3(" BOND LENGTHS (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "c_bond_d", "dev_ideal") << std::endl << RM3(" BOND ANGLES (DEGREES) : ", 7, 2) << Ff(ls_restr, cif::Key("type") == "c_angle_deg", "dev_ideal") << std::endl << RM3(" DIHEDRAL ANGLES (DEGREES) : ", 7, 2) << Ff(ls_restr, cif::Key("type") == "c_dihedral_angle_d", "dev_ideal") << std::endl << RM3(" IMPROPER ANGLES (DEGREES) : ", 7, 2) << Ff(ls_restr, cif::Key("type") == "c_improper_angle_d", "dev_ideal") << std::endl << RM3("") << std::endl << RM3(" ISOTROPIC THERMAL MODEL : ") << Fs(refine, "pdbx_isotropic_thermal_model") << std::endl << RM3("") << std::endl << RM3(" ISOTROPIC THERMAL FACTOR RESTRAINTS. RMS SIGMA") << std::endl << RM3(" MAIN-CHAIN BOND (A**2) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "c_mcbond_it", "dev_ideal") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "c_mcbond_it", "dev_ideal_target") << std::endl << RM3(" MAIN-CHAIN ANGLE (A**2) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "c_mcangle_it", "dev_ideal") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "c_mcangle_it", "dev_ideal_target") << std::endl << RM3(" SIDE-CHAIN BOND (A**2) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "c_scbond_it", "dev_ideal") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "c_scbond_it", "dev_ideal_target") << std::endl << RM3(" SIDE-CHAIN ANGLE (A**2) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "c_scangle_it", "dev_ideal") << SEP("; ", 7, 3) << Ff(ls_restr, cif::Key("type") == "c_scangle_it", "dev_ideal_target") << std::endl << RM3("") << std::endl << RM3(" BULK SOLVENT MODELING.") << std::endl << RM3(" METHOD USED : ") << Fs(refine, "solvent_model_details") << std::endl << RM3(" KSOL : ", 5, 2) << Ff(refine, "solvent_model_param_ksol") << std::endl << RM3(" BSOL : ", 5, 2) << Ff(refine, "solvent_model_param_bsol") << std::endl << RM3("") << std::endl << RM3(" NCS MODEL : ") << Fs(ls_restr_ncs, "ncs_model_details") << std::endl << RM3("") << std::endl << RM3(" NCS RESTRAINTS. RMS SIGMA/WEIGHT") << std::endl // TODO: using only group 1 here, should this be fixed??? << RM3(" GROUP 1 POSITIONAL (A) : ", 4, 2) << Ff(ls_restr_ncs, "rms_dev_position") << SEP("; ", 6, 2) << Ff(ls_restr_ncs, "weight_position") << SEP("; ", 6, 2) << std::endl << RM3(" GROUP 1 B-FACTOR (A**2) : ", 4, 2) << Ff(ls_restr_ncs, "rms_dev_B_iso") << SEP("; ", 6, 2) << Ff(ls_restr_ncs, "weight_B_iso") << SEP("; ", 6, 2) << std::endl // TODO: using only files from serial_no 1 here // << RM3("") << std::endl // << RM3(" PARAMETER FILE 1 : ") << Fs(pdbx_xplor_file, "param_file") << std::endl // << RM3(" TOPOLOGY FILE 1 : ") << Fs(pdbx_xplor_file, "topol_file") << std::endl << RM3("") << std::endl; } // -------------------------------------------------------------------- void WriteRemark3Refmac(std::ostream& pdbFile, Datablock& db) { auto refine = db["refine"].front(); auto ls_shell = db["refine_ls_shell"].front(); auto hist = db["refine_hist"].front(); auto reflns = db["reflns"].front(); // auto analyze = db["refine_analyze"].front(); auto& ls_restr = db["refine_ls_restr"]; // auto pdbx_xplor_file = db["pdbx_xplor_file"].front(); auto c = [](const char* t) -> cif::Condition { return cif::Key("type") == t; }; pdbFile << RM3("") << std::endl << RM3("REFINEMENT TARGET : ") << Fs(refine, "pdbx_stereochemistry_target_values") << std::endl << RM3("") << std::endl << RM3(" DATA USED IN REFINEMENT.") << std::endl << RM3(" RESOLUTION RANGE HIGH (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_high") << std::endl << RM3(" RESOLUTION RANGE LOW (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_low") << std::endl << RM3(" DATA CUTOFF (SIGMA(F)) : ", 6, 3) << Ff(refine, "pdbx_ls_sigma_F") << std::endl << RM3(" COMPLETENESS FOR RANGE (%) : ", 5, 2) << Ff(refine, "ls_percent_reflns_obs") << std::endl << RM3(" NUMBER OF REFLECTIONS : ", 12, 6) << Fi(refine, "ls_number_reflns_obs") << std::endl << RM3("") << std::endl << RM3(" FIT TO DATA USED IN REFINEMENT.") << std::endl << RM3(" CROSS-VALIDATION METHOD : ") << Fs(refine, "pdbx_ls_cross_valid_method") << std::endl << RM3(" FREE R VALUE TEST SET SELECTION : ") << Fs(refine, "pdbx_R_Free_selection_details") << std::endl << RM3(" R VALUE (WORKING + TEST SET) : ", 7, 5) << Ff(refine, "ls_R_factor_obs") << std::endl << RM3(" R VALUE (WORKING SET) : ", 7, 5) << Ff(refine, "ls_R_factor_R_work") << std::endl << RM3(" FREE R VALUE : ", 7, 5) << Ff(refine, "ls_R_factor_R_free") << std::endl << RM3(" FREE R VALUE TEST SET SIZE (%) : ", 7, 1) << Ff(refine, "ls_percent_reflns_R_free") << std::endl << RM3(" FREE R VALUE TEST SET COUNT : ", 12, 6) << Fi(refine, "ls_number_reflns_R_free") << std::endl << RM3(" ESTIMATED ERROR OF FREE R VALUE : ", 7, 3) << Ff(refine, "ls_R_factor_R_free_error") << std::endl << RM3("") << std::endl << RM3(" FIT IN THE HIGHEST RESOLUTION BIN.") << std::endl << RM3(" TOTAL NUMBER OF BINS USED : ") << Fi(ls_shell, "pdbx_total_number_of_bins_used") << std::endl << RM3(" BIN RESOLUTION RANGE HIGH (A) : ", 5, 3) << Ff(ls_shell, "d_res_high") << std::endl << RM3(" BIN RESOLUTION RANGE LOW (A) : ", 5, 3) << Ff(ls_shell, "d_res_low") << std::endl << RM3(" REFLECTION IN BIN (WORKING SET) : ") << Fi(ls_shell, "number_reflns_R_work") << std::endl << RM3(" BIN COMPLETENESS (WORKING+TEST) (%) : ", 5, 2) << Ff(ls_shell, "percent_reflns_obs") << std::endl << RM3(" BIN R VALUE (WORKING SET) : ", 7, 3) << Ff(ls_shell, "R_factor_R_work") << std::endl << RM3(" BIN FREE R VALUE SET COUNT : ") << Fi(ls_shell, "number_reflns_R_free") << std::endl << RM3(" BIN FREE R VALUE : ", 7, 3) << Ff(ls_shell, "R_factor_R_free") << std::endl << RM3("") << std::endl << RM3(" NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT.") << std::endl << RM3(" PROTEIN ATOMS : ") << Fi(hist, "pdbx_number_atoms_protein") << std::endl << RM3(" NUCLEIC ACID ATOMS : ") << Fi(hist, "pdbx_number_atoms_nucleic_acid") << std::endl << RM3(" HETEROGEN ATOMS : ") << Fi(hist, "pdbx_number_atoms_ligand") << std::endl << RM3(" SOLVENT ATOMS : ") << Fi(hist, "number_atoms_solvent") << std::endl << RM3("") << std::endl << RM3(" B VALUES.") << std::endl << RM3(" B VALUE TYPE : ") << Fs(refine, "pdbx_TLS_residual_ADP_flag") << std::endl << RM3(" FROM WILSON PLOT (A**2) : ", 8, 3) << Ff(reflns, "B_iso_Wilson_estimate") << std::endl << RM3(" MEAN B VALUE (OVERALL, A**2) : ", 8, 3) << Ff(refine, "B_iso_mean") << std::endl << RM3(" OVERALL ANISOTROPIC B VALUE.") << std::endl << RM3(" B11 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][1]") << std::endl << RM3(" B22 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[2][2]") << std::endl << RM3(" B33 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[3][3]") << std::endl << RM3(" B12 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][2]") << std::endl << RM3(" B13 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][3]") << std::endl << RM3(" B23 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[2][3]") << std::endl << RM3("") << std::endl << RM3(" ESTIMATED OVERALL COORDINATE ERROR.") << std::endl << RM3(" ESU BASED ON R VALUE (A): ", 6, 3) << Ff(refine, "pdbx_overall_ESU_R") << std::endl << RM3(" ESU BASED ON FREE R VALUE (A): ", 6, 3) << Ff(refine, "pdbx_overall_ESU_R_Free") << std::endl << RM3(" ESU BASED ON MAXIMUM LIKELIHOOD (A): ", 6, 3) << Ff(refine, "overall_SU_ML") << std::endl << RM3(" ESU FOR B VALUES BASED ON MAXIMUM LIKELIHOOD (A**2): ", 6, 3) << Ff(refine, "overall_SU_B") << std::endl << RM3("") << std::endl << RM3(" CORRELATION COEFFICIENTS.") << std::endl << RM3(" CORRELATION COEFFICIENT FO-FC : ", 6, 3) << Ff(refine, "correlation_coeff_Fo_to_Fc") << std::endl << RM3(" CORRELATION COEFFICIENT FO-FC FREE : ", 6, 3) << Ff(refine, "correlation_coeff_Fo_to_Fc_free") << std::endl << RM3("") << std::endl << RM3(" RMS DEVIATIONS FROM IDEAL VALUES COUNT RMS WEIGHT") << std::endl << RM3(" BOND LENGTHS REFINED ATOMS (A): ", -5) << Fi(ls_restr, c("r_bond_refined_d" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_bond_refined_d" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_bond_refined_d" ), "dev_ideal_target") << std::endl << RM3(" BOND LENGTHS OTHERS (A): ", -5) << Fi(ls_restr, c("r_bond_other_d" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_bond_other_d" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_bond_other_d" ), "dev_ideal_target") << std::endl << RM3(" BOND ANGLES REFINED ATOMS (DEGREES): ", -5) << Fi(ls_restr, c("r_angle_refined_deg" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_angle_refined_deg" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_angle_refined_deg" ), "dev_ideal_target") << std::endl << RM3(" BOND ANGLES OTHERS (DEGREES): ", -5) << Fi(ls_restr, c("r_angle_other_deg" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_angle_other_deg" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_angle_other_deg" ), "dev_ideal_target") << std::endl << RM3(" TORSION ANGLES, PERIOD 1 (DEGREES): ", -5) << Fi(ls_restr, c("r_dihedral_angle_1_deg" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_dihedral_angle_1_deg" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_dihedral_angle_1_deg" ), "dev_ideal_target") << std::endl << RM3(" TORSION ANGLES, PERIOD 2 (DEGREES): ", -5) << Fi(ls_restr, c("r_dihedral_angle_2_deg" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_dihedral_angle_2_deg" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_dihedral_angle_2_deg" ), "dev_ideal_target") << std::endl << RM3(" TORSION ANGLES, PERIOD 3 (DEGREES): ", -5) << Fi(ls_restr, c("r_dihedral_angle_3_deg" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_dihedral_angle_3_deg" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_dihedral_angle_3_deg" ), "dev_ideal_target") << std::endl << RM3(" TORSION ANGLES, PERIOD 4 (DEGREES): ", -5) << Fi(ls_restr, c("r_dihedral_angle_4_deg" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_dihedral_angle_4_deg" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_dihedral_angle_4_deg" ), "dev_ideal_target") << std::endl << RM3(" CHIRAL-CENTER RESTRAINTS (A**3): ", -5) << Fi(ls_restr, c("r_chiral_restr" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_chiral_restr" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_chiral_restr" ), "dev_ideal_target") << std::endl << RM3(" GENERAL PLANES REFINED ATOMS (A): ", -5) << Fi(ls_restr, c("r_gen_planes_refined" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_gen_planes_refined" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_gen_planes_refined" ), "dev_ideal_target") << std::endl << RM3(" GENERAL PLANES OTHERS (A): ", -5) << Fi(ls_restr, c("r_gen_planes_other" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_gen_planes_other" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_gen_planes_other" ), "dev_ideal_target") << std::endl << RM3(" NON-BONDED CONTACTS REFINED ATOMS (A): ", -5) << Fi(ls_restr, c("r_nbd_refined" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_nbd_refined" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_nbd_refined" ), "dev_ideal_target") << std::endl << RM3(" NON-BONDED CONTACTS OTHERS (A): ", -5) << Fi(ls_restr, c("r_nbd_other" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_nbd_other" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_nbd_other" ), "dev_ideal_target") << std::endl << RM3(" NON-BONDED TORSION REFINED ATOMS (A): ", -5) << Fi(ls_restr, c("r_nbtor_refined" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_nbtor_refined" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_nbtor_refined" ), "dev_ideal_target") << std::endl << RM3(" NON-BONDED TORSION OTHERS (A): ", -5) << Fi(ls_restr, c("r_nbtor_other" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_nbtor_other" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_nbtor_other" ), "dev_ideal_target") << std::endl << RM3(" H-BOND (X...Y) REFINED ATOMS (A): ", -5) << Fi(ls_restr, c("r_xyhbond_nbd_refined" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_xyhbond_nbd_refined" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_xyhbond_nbd_refined" ), "dev_ideal_target") << std::endl << RM3(" H-BOND (X...Y) OTHERS (A): ", -5) << Fi(ls_restr, c("r_xyhbond_nbd_other" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_xyhbond_nbd_other" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_xyhbond_nbd_other" ), "dev_ideal_target") << std::endl << RM3(" POTENTIAL METAL-ION REFINED ATOMS (A): ", -5) << Fi(ls_restr, c("r_metal_ion_refined" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_metal_ion_refined" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_metal_ion_refined" ), "dev_ideal_target") << std::endl << RM3(" POTENTIAL METAL-ION OTHERS (A): ", -5) << Fi(ls_restr, c("r_metal_ion_other" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_metal_ion_other" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_metal_ion_other" ), "dev_ideal_target") << std::endl << RM3(" SYMMETRY VDW REFINED ATOMS (A): ", -5) << Fi(ls_restr, c("r_symmetry_vdw_refined" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_symmetry_vdw_refined" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_symmetry_vdw_refined" ), "dev_ideal_target") << std::endl << RM3(" SYMMETRY VDW OTHERS (A): ", -5) << Fi(ls_restr, c("r_symmetry_vdw_other" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_symmetry_vdw_other" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_symmetry_vdw_other" ), "dev_ideal_target") << std::endl << RM3(" SYMMETRY H-BOND REFINED ATOMS (A): ", -5) << Fi(ls_restr, c("r_symmetry_hbond_refined" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_symmetry_hbond_refined" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_symmetry_hbond_refined" ), "dev_ideal_target") << std::endl << RM3(" SYMMETRY H-BOND OTHERS (A): ", -5) << Fi(ls_restr, c("r_symmetry_hbond_other" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_symmetry_hbond_other" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_symmetry_hbond_other" ), "dev_ideal_target") << std::endl << RM3(" SYMMETRY METAL-ION REFINED ATOMS (A): ", -5) << Fi(ls_restr, c("r_symmetry_metal_ion_refined" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_symmetry_metal_ion_refined" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_symmetry_metal_ion_refined" ), "dev_ideal_target") << std::endl << RM3(" SYMMETRY METAL-ION OTHERS (A): ", -5) << Fi(ls_restr, c("r_symmetry_metal_ion_other" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_symmetry_metal_ion_other" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_symmetry_metal_ion_other" ), "dev_ideal_target") << std::endl << RM3("") << std::endl << RM3(" ISOTROPIC THERMAL FACTOR RESTRAINTS. COUNT RMS WEIGHT") << std::endl << RM3(" MAIN-CHAIN BOND REFINED ATOMS (A**2): ", -5) << Fi(ls_restr, c("r_mcbond_it" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_mcbond_it" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_mcbond_it" ), "dev_ideal_target") << std::endl << RM3(" MAIN-CHAIN BOND OTHER ATOMS (A**2): ", -5) << Fi(ls_restr, c("r_mcbond_other" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_mcbond_other" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_mcbond_other" ), "dev_ideal_target") << std::endl << RM3(" MAIN-CHAIN ANGLE REFINED ATOMS (A**2): ", -5) << Fi(ls_restr, c("r_mcangle_it" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_mcangle_it" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_mcangle_it" ), "dev_ideal_target") << std::endl << RM3(" MAIN-CHAIN ANGLE OTHER ATOMS (A**2): ", -5) << Fi(ls_restr, c("r_mcangle_other" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_mcangle_other" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_mcangle_other" ), "dev_ideal_target") << std::endl << RM3(" SIDE-CHAIN BOND REFINED ATOMS (A**2): ", -5) << Fi(ls_restr, c("r_scbond_it" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_scbond_it" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_scbond_it" ), "dev_ideal_target") << std::endl << RM3(" SIDE-CHAIN BOND OTHER ATOMS (A**2): ", -5) << Fi(ls_restr, c("r_scbond_other" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_scbond_other" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_scbond_other" ), "dev_ideal_target") << std::endl << RM3(" SIDE-CHAIN ANGLE REFINED ATOMS (A**2): ", -5) << Fi(ls_restr, c("r_scangle_it" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_scangle_it" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_scangle_it" ), "dev_ideal_target") << std::endl << RM3(" SIDE-CHAIN ANGLE OTHER ATOMS (A**2): ", -5) << Fi(ls_restr, c("r_scangle_other" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_scangle_other" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_scangle_other" ), "dev_ideal_target") << std::endl << RM3(" LONG RANGE B REFINED ATOMS (A**2): ", -5) << Fi(ls_restr, c("r_long_range_B_refined" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_long_range_B_refined" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_long_range_B_refined" ), "dev_ideal_target") << std::endl << RM3(" LONG RANGE B OTHER ATOMS (A**2): ", -5) << Fi(ls_restr, c("r_long_range_B_other" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_long_range_B_other" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_long_range_B_other" ), "dev_ideal_target") << std::endl << RM3("") << std::endl << RM3(" ANISOTROPIC THERMAL FACTOR RESTRAINTS. COUNT RMS WEIGHT") << std::endl << RM3(" RIGID-BOND RESTRAINTS (A**2): ", -5) << Fi(ls_restr, c("r_rigid_bond_restr" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_rigid_bond_restr" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_rigid_bond_restr" ), "dev_ideal_target") << std::endl << RM3(" SPHERICITY; FREE ATOMS (A**2): ", -5) << Fi(ls_restr, c("r_sphericity_free" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_sphericity_free" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_sphericity_free" ), "dev_ideal_target") << std::endl << RM3(" SPHERICITY; BONDED ATOMS (A**2): ", -5) << Fi(ls_restr, c("r_sphericity_bonded" ), "number") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_sphericity_bonded" ), "dev_ideal") << SEP(" ;", -6, 3) << Ff(ls_restr, c("r_sphericity_bonded" ), "dev_ideal_target") << std::endl << RM3("") << std::endl << RM3(" NCS RESTRAINTS STATISTICS") << std::endl; auto& ncs_dom = db["struct_ncs_dom"]; if (ncs_dom.empty()) pdbFile << RM3(" NUMBER OF DIFFERENT NCS GROUPS : NULL") << std::endl; else { std::set ncs_groups; for (auto i: ncs_dom) ncs_groups.insert(i["pdbx_ens_id"].as()); pdbFile << RM3(" NUMBER OF DIFFERENT NCS GROUPS : ") << ncs_groups.size() << std::endl; for (auto ens_id: ncs_groups) { auto lim = db["struct_ncs_dom_lim"].find(cif::Key("pdbx_ens_id") == ens_id); std::set chains; std::set component_ids; for (auto l: lim) { chains.insert(l["beg_auth_asym_id"].as()); component_ids.insert(l["pdbx_component_id"].as()); } pdbFile << RM3("") << std::endl << RM3(" NCS GROUP NUMBER : ") << ens_id << std::endl << RM3(" CHAIN NAMES : ") << ba::join(chains, " ") << std::endl << RM3(" NUMBER OF COMPONENTS NCS GROUP : ") << component_ids.size() << std::endl << RM3(" COMPONENT C SSSEQI TO C SSSEQI CODE") << std::endl; for (auto l: lim) { pdbFile << RM3(" ", -2) << Fi(l, "pdbx_component_id") << SEP(" ", -5) << Fs(l, "beg_auth_asym_id") << SEP(" ", -5) << Fi(l, "beg_auth_seq_id") << SEP(" ", -5) << Fs(l, "end_auth_asym_id") << SEP(" ", -5) << Fi(l, "end_auth_seq_id") << SEP(" ", -5) << Fs(l, "pdbx_refine_code") << std::endl; } pdbFile << RM3(" GROUP CHAIN COUNT RMS WEIGHT") << std::endl; for (auto l: db["refine_ls_restr_ncs"].find(cif::Key("pdbx_ens_id") == ens_id)) { std::string type = l["pdbx_type"].as(); ba::to_upper(type); std::string unit; if (ba::ends_with(type, "POSITIONAL")) unit = " (A): "; else if (ba::ends_with(type, "THERMAL")) unit = " (A**2): "; else unit = " : "; pdbFile << RM3(" ", 18) << type << SEP("", -2) << Fi(l, "pdbx_ens_id") << SEP(" ", 1) << Fs(l, "pdbx_auth_asym_id") << SEP(unit.c_str(), -6) << Fi(l, "pdbx_number") << SEP(" ;", -6, 3) << Ff(l, "rms_dev_position") << SEP(" ;", -6, 3) << Ff(l, "weight_position") << std::endl; } } } // TODO: add twin information // { R"(TWIN DETAILS)", "", {} }, // { R"(NUMBER OF TWIN DOMAINS)", "", {} }, auto& tls = db["pdbx_refine_tls"]; pdbFile << RM3("") << std::endl << RM3(" TLS DETAILS") << std::endl << RM3(" NUMBER OF TLS GROUPS : ") << (tls.size() ? std::to_string(tls.size()) : "NULL") << std::endl; for (auto t: tls) { std::string id = t["id"].as(); auto g = db["pdbx_refine_tls_group"].find(cif::Key("refine_tls_id") == id); pdbFile << RM3("") << std::endl << RM3(" TLS GROUP : ") << id << std::endl << RM3(" NUMBER OF COMPONENTS GROUP : ") << g.size() << std::endl << RM3(" COMPONENTS C SSSEQI TO C SSSEQI") << std::endl; for (auto gi: g) { pdbFile << RM3(" RESIDUE RANGE : ") << Fs(gi, "beg_auth_asym_id") << SEP("", -6) << Fi(gi, "beg_auth_seq_id") << SEP("", -9) << Fs(gi, "end_auth_asym_id") << SEP("", -6) << Fi(gi, "end_auth_seq_id") << std::endl; } pdbFile << RM3(" ORIGIN FOR THE GROUP (A):", -9, 4) << Ff(t, "origin_x") << SEP("", -9, 4) << Ff(t, "origin_y") << SEP("", -9, 4) << Ff(t, "origin_z") << std::endl << RM3(" T TENSOR") << std::endl << RM3(" T11:", -9, 4) << Ff(t, "T[1][1]") << SEP(" T22:", -9, 4) << Ff(t, "T[2][2]") << std::endl << RM3(" T33:", -9, 4) << Ff(t, "T[3][3]") << SEP(" T12:", -9, 4) << Ff(t, "T[1][2]") << std::endl << RM3(" T13:", -9, 4) << Ff(t, "T[1][3]") << SEP(" T23:", -9, 4) << Ff(t, "T[2][3]") << std::endl << RM3(" L TENSOR") << std::endl << RM3(" L11:", -9, 4) << Ff(t, "L[1][1]") << SEP(" L22:", -9, 4) << Ff(t, "L[2][2]") << std::endl << RM3(" L33:", -9, 4) << Ff(t, "L[3][3]") << SEP(" L12:", -9, 4) << Ff(t, "L[1][2]") << std::endl << RM3(" L13:", -9, 4) << Ff(t, "L[1][3]") << SEP(" L23:", -9, 4) << Ff(t, "L[2][3]") << std::endl << RM3(" S TENSOR") << std::endl << RM3(" S11:", -9, 4) << Ff(t, "S[1][1]") << SEP(" S12:", -9, 4) << Ff(t, "S[1][2]") << SEP(" S13:", -9, 4) << Ff(t, "S[1][3]") << std::endl << RM3(" S21:", -9, 4) << Ff(t, "S[2][1]") << SEP(" S22:", -9, 4) << Ff(t, "S[2][2]") << SEP(" S23:", -9, 4) << Ff(t, "S[2][3]") << std::endl << RM3(" S31:", -9, 4) << Ff(t, "S[3][1]") << SEP(" S32:", -9, 4) << Ff(t, "S[3][2]") << SEP(" S33:", -9, 4) << Ff(t, "S[3][3]") << std::endl; } pdbFile << RM3("") << std::endl << RM3(" BULK SOLVENT MODELLING.") << std::endl << RM3(" METHOD USED : ") << Fs(refine, "solvent_model_details") << std::endl << RM3(" PARAMETERS FOR MASK CALCULATION") << std::endl << RM3(" VDW PROBE RADIUS : ", 5, 2) << Ff(refine, "pdbx_solvent_vdw_probe_radii") << std::endl << RM3(" ION PROBE RADIUS : ", 5, 2) << Ff(refine, "pdbx_solvent_ion_probe_radii") << std::endl << RM3(" SHRINKAGE RADIUS : ", 5, 2) << Ff(refine, "pdbx_solvent_shrinkage_radii") << std::endl << RM3("") << std::endl; } void WriteRemark3Shelxl(std::ostream& pdbFile, Datablock& db) { auto refine = db["refine"].front(); // auto ls_shell = db["refine_ls_shell"].front(); auto refine_hist = db["refine_hist"].front(); // auto reflns = db["reflns"].front(); auto refine_analyze = db["refine_analyze"].front(); auto& ls_restr = db["refine_ls_restr"]; // auto pdbx_xplor_file = db["pdbx_xplor_file"].front(); auto pdbx_refine = db["pdbx_refine"].front(); auto c = [](const char* t) -> cif::Condition { return cif::Key("type") == t; }; pdbFile << RM3("") << std::endl << RM3(" DATA USED IN REFINEMENT.") << std::endl << RM3(" RESOLUTION RANGE HIGH (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_high") << std::endl << RM3(" RESOLUTION RANGE LOW (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_low") << std::endl << RM3(" DATA CUTOFF (SIGMA(F)) : ", 6, 3) << Ff(refine, "pdbx_ls_sigma_F") << std::endl << RM3(" COMPLETENESS FOR RANGE (%) : ", 5, 2) << Ff(refine, "ls_percent_reflns_obs") << std::endl << RM3(" CROSS-VALIDATION METHOD : ") << Fs(refine, "pdbx_ls_cross_valid_method") << std::endl << RM3(" FREE R VALUE TEST SET SELECTION : ") << Fs(refine, "pdbx_R_Free_selection_details") << std::endl << RM3("") << std::endl << RM3(" FIT TO DATA USED IN REFINEMENT (NO CUTOFF).") << std::endl << RM3(" R VALUE (WORKING + TEST SET, NO CUTOFF) : ", 7, 3) << Ff(pdbx_refine, "R_factor_all_no_cutoff") << std::endl << RM3(" R VALUE (WORKING SET, NO CUTOFF) : ", 7, 3) << Ff(pdbx_refine, "R_factor_obs_no_cutoff") << std::endl << RM3(" FREE R VALUE (NO CUTOFF) : ", 7, 3) << Ff(pdbx_refine, "free_R_factor_no_cutoff") << std::endl << RM3(" FREE R VALUE TEST SET SIZE (%, NO CUTOFF) : ", 7, 3) << Ff(pdbx_refine, "free_R_val_test_set_size_perc_no_cutoff") << std::endl << RM3(" FREE R VALUE TEST SET COUNT (NO CUTOFF) : ", 12, 6) << Fi(pdbx_refine, "free_R_val_test_set_ct_no_cutoff") << std::endl << RM3(" TOTAL NUMBER OF REFLECTIONS (NO CUTOFF) : ", 12, 6) << Fi(refine, "ls_number_reflns_all") << std::endl << RM3("") << std::endl << RM3(" FIT/AGREEMENT OF MODEL FOR DATA WITH F>4SIG(F).") << std::endl << RM3(" R VALUE (WORKING + TEST SET, F>4SIG(F)) : ", 7, 3) << Ff(pdbx_refine, "R_factor_all_4sig_cutoff") << std::endl << RM3(" R VALUE (WORKING SET, F>4SIG(F)) : ", 7, 3) << Ff(pdbx_refine, "R_factor_obs_4sig_cutoff") << std::endl << RM3(" FREE R VALUE (F>4SIG(F)) : ", 7, 3) << Ff(pdbx_refine, "free_R_factor_4sig_cutoff") << std::endl << RM3(" FREE R VALUE TEST SET SIZE (%, F>4SIG(F)) : ", 7, 3) << Ff(pdbx_refine, "free_R_val_test_set_size_perc_4sig_cutoff") << std::endl << RM3(" FREE R VALUE TEST SET COUNT (F>4SIG(F)) : ") << Fi(pdbx_refine, "free_R_val_test_set_ct_4sig_cutoff") << std::endl << RM3(" TOTAL NUMBER OF REFLECTIONS (F>4SIG(F)) : ") << Fi(pdbx_refine, "number_reflns_obs_4sig_cutoff") << std::endl << RM3("") << std::endl << RM3(" NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT.") << std::endl << RM3(" PROTEIN ATOMS : ") << Fi(refine_hist, "pdbx_number_atoms_protein") << std::endl << RM3(" NUCLEIC ACID ATOMS : ") << Fi(refine_hist, "pdbx_number_atoms_nucleic_acid") << std::endl << RM3(" HETEROGEN ATOMS : ") << Fi(refine_hist, "pdbx_number_atoms_ligand") << std::endl << RM3(" SOLVENT ATOMS : ") << Fi(refine_hist, "number_atoms_solvent") << std::endl << RM3("") << std::endl << RM3(" MODEL REFINEMENT.") << std::endl << RM3(" OCCUPANCY SUM OF NON-HYDROGEN ATOMS : ", 7, 3) << Ff(refine_analyze, "occupancy_sum_non_hydrogen") << std::endl << RM3(" OCCUPANCY SUM OF HYDROGEN ATOMS : ", 7, 3) << Ff(refine_analyze, "occupancy_sum_hydrogen") << std::endl << RM3(" NUMBER OF DISCRETELY DISORDERED RESIDUES : ") << Fi(refine_analyze, "number_disordered_residues") << std::endl << RM3(" NUMBER OF LEAST-SQUARES PARAMETERS : ") << Fi(refine, "ls_number_parameters") << std::endl << RM3(" NUMBER OF RESTRAINTS : ") << Fi(refine, "ls_number_restraints") << std::endl << RM3("") << std::endl << RM3(" RMS DEVIATIONS FROM RESTRAINT TARGET VALUES.") << std::endl << RM3(" BOND LENGTHS (A) : ", 7, 3) << Ff(ls_restr, c("s_bond_d"), "dev_ideal") << std::endl << RM3(" ANGLE DISTANCES (A) : ", 7, 3) << Ff(ls_restr, c("s_angle_d"), "dev_ideal") << std::endl << RM3(" SIMILAR DISTANCES (NO TARGET VALUES) (A) : ", 7, 3) << Ff(ls_restr, c("s_similar_dist"), "dev_ideal") << std::endl << RM3(" DISTANCES FROM RESTRAINT PLANES (A) : ", 7, 3) << Ff(ls_restr, c("s_from_restr_planes"), "dev_ideal") << std::endl << RM3(" ZERO CHIRAL VOLUMES (A**3) : ", 7, 3) << Ff(ls_restr, c("s_zero_chiral_vol"), "dev_ideal") << std::endl << RM3(" NON-ZERO CHIRAL VOLUMES (A**3) : ", 7, 3) << Ff(ls_restr, c("s_non_zero_chiral_vol"), "dev_ideal") << std::endl << RM3(" ANTI-BUMPING DISTANCE RESTRAINTS (A) : ", 7, 3) << Ff(ls_restr, c("s_anti_bump_dis_restr"), "dev_ideal") << std::endl << RM3(" RIGID-BOND ADP COMPONENTS (A**2) : ", 7, 3) << Ff(ls_restr, c("s_rigid_bond_adp_cmpnt"), "dev_ideal") << std::endl << RM3(" SIMILAR ADP COMPONENTS (A**2) : ", 7, 3) << Ff(ls_restr, c("s_similar_adp_cmpnt"), "dev_ideal") << std::endl << RM3(" APPROXIMATELY ISOTROPIC ADPS (A**2) : ", 7, 3) << Ff(ls_restr, c("s_approx_iso_adps"), "dev_ideal") << std::endl << RM3("") << std::endl << RM3(" BULK SOLVENT MODELING.") << std::endl << RM3(" METHOD USED: ") << Fs(refine, "solvent_model_details") << std::endl << RM3("") << std::endl << RM3(" STEREOCHEMISTRY TARGET VALUES : ") << Fs(refine, "pdbx_stereochemistry_target_values") << std::endl << RM3(" SPECIAL CASE: ") << Fs(refine, "pdbx_stereochem_target_val_spec_case") << std::endl << RM3("") << std::endl; } void WriteRemark3Phenix(std::ostream& pdbFile, Datablock& db) { auto refine = db["refine"].front(); // auto ls_shell = db["refine_ls_shell"].front(); // auto hist = db["refine_hist"].front(); auto reflns = db["reflns"].front(); // auto analyze = db["refine_analyze"].front(); auto& ls_restr = db["refine_ls_restr"]; // auto pdbx_xplor_file = db["pdbx_xplor_file"].front(); auto pdbx_reflns_twin = db["pdbx_reflns_twin"].front(); auto c = [](const char* t) -> cif::Condition { return cif::Key("type") == t; }; pdbFile << RM3("") << std::endl << RM3(" REFINEMENT TARGET : ") << Fs(refine, "pdbx_stereochemistry_target_values") << std::endl << RM3("") << std::endl << RM3(" DATA USED IN REFINEMENT.") << std::endl << RM3(" RESOLUTION RANGE HIGH (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_high") << std::endl << RM3(" RESOLUTION RANGE LOW (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_low") << std::endl << RM3(" MIN(FOBS/SIGMA_FOBS) : ", 6, 3) << Ff(refine, "pdbx_ls_sigma_F") << std::endl << RM3(" COMPLETENESS FOR RANGE (%) : ", 5, 2) << Ff(refine, "ls_percent_reflns_obs") << std::endl << RM3(" NUMBER OF REFLECTIONS : ", 12, 6) << Fi(refine, "ls_number_reflns_obs") << std::endl << RM3("") << std::endl << RM3(" FIT TO DATA USED IN REFINEMENT.") << std::endl << RM3(" R VALUE (WORKING + TEST SET) : ", 7, 5) << Ff(refine, "ls_R_factor_obs") << std::endl << RM3(" R VALUE (WORKING SET) : ", 7, 5) << Ff(refine, "ls_R_factor_R_work") << std::endl << RM3(" FREE R VALUE : ", 7, 5) << Ff(refine, "ls_R_factor_R_free") << std::endl << RM3(" FREE R VALUE TEST SET SIZE (%) : ", 7, 3) << Ff(refine, "ls_percent_reflns_R_free") << std::endl << RM3(" FREE R VALUE TEST SET COUNT : ", 12, 6) << Fi(refine, "ls_number_reflns_R_free") << std::endl << RM3("") << std::endl << RM3(" FIT TO DATA USED IN REFINEMENT (IN BINS).") << std::endl << RM3(" BIN RESOLUTION RANGE COMPL. NWORK NFREE RWORK RFREE") << std::endl; int bin = 1; std::vector bins; for (auto r: db["refine_ls_shell"]) bins.push_back(r); // reverse(bins.begin(), bins.end()); try { sort(bins.begin(), bins.end(), [](Row a, Row b) -> bool { return a["d_res_high"].as() > b["d_res_high"].as(); }); } catch (...) {} for (auto r: bins) { boost::format fmt("%3.3d %7.4f - %7.4f %4.2f %8.8d %5.5d %6.4f %6.4f"); float d_res_low, d_res_high, percent_reflns_obs, R_factor_R_work, R_factor_R_free; int number_reflns_R_work, number_reflns_R_free; cif::tie(d_res_low, d_res_high, percent_reflns_obs, number_reflns_R_work, number_reflns_R_free, R_factor_R_work, R_factor_R_free) = r.get("d_res_low", "d_res_high", "percent_reflns_obs", "number_reflns_R_work", "number_reflns_R_free", "R_factor_R_work", "R_factor_R_free"); percent_reflns_obs /= 100; pdbFile << RM3(" ") << fmt % bin++ % d_res_low % d_res_high % percent_reflns_obs % number_reflns_R_work % number_reflns_R_free % R_factor_R_work % R_factor_R_free << std::endl; } pdbFile << RM3("") << std::endl << RM3(" BULK SOLVENT MODELLING.") << std::endl << RM3(" METHOD USED : ") << Fs(refine, "solvent_model_details") << std::endl << RM3(" SOLVENT RADIUS : ", 5, 2) << Ff(refine, "pdbx_solvent_vdw_probe_radii") << std::endl << RM3(" SHRINKAGE RADIUS : ", 5, 2) << Ff(refine, "pdbx_solvent_shrinkage_radii") << std::endl << RM3(" K_SOL : ", 5, 2) << Ff(refine, "solvent_model_param_ksol") << std::endl << RM3(" B_SOL : ", 5, 2) << Ff(refine, "solvent_model_param_bsol") << std::endl << RM3("") << std::endl << RM3(" ERROR ESTIMATES.") << std::endl << RM3(" COORDINATE ERROR (MAXIMUM-LIKELIHOOD BASED) : ", 6, 3) << Ff(refine, "overall_SU_ML") << std::endl << RM3(" PHASE ERROR (DEGREES, MAXIMUM-LIKELIHOOD BASED) : ", 6, 3) << Ff(refine, "pdbx_overall_phase_error") << std::endl << RM3("") << std::endl << RM3(" B VALUES.") << std::endl << RM3(" B VALUE TYPE : ") << Fs(refine, "pdbx_TLS_residual_ADP_flag") << std::endl << RM3(" FROM WILSON PLOT (A**2) : ", 7, 4) << Ff(reflns, "B_iso_Wilson_estimate") << std::endl << RM3(" MEAN B VALUE (OVERALL, A**2) : ", 7, 4) << Ff(refine, "B_iso_mean") << std::endl << RM3(" OVERALL ANISOTROPIC B VALUE.") << std::endl << RM3(" B11 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][1]") << std::endl << RM3(" B22 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[2][2]") << std::endl << RM3(" B33 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[3][3]") << std::endl << RM3(" B12 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][2]") << std::endl << RM3(" B13 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][3]") << std::endl << RM3(" B23 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[2][3]") << std::endl << RM3("") << std::endl << RM3(" TWINNING INFORMATION.") << std::endl << RM3(" FRACTION: ") << Fs(pdbx_reflns_twin, "fraction") << std::endl << RM3(" OPERATOR: ") << Fs(pdbx_reflns_twin, "operator") << std::endl << RM3("") << std::endl << RM3(" DEVIATIONS FROM IDEAL VALUES.") << std::endl << RM3(" RMSD COUNT") << std::endl << RM3(" BOND : ", -6, 3) << Ff(ls_restr, c("f_bond_d" ), "dev_ideal") << SEP(" ", -7) << Fi(ls_restr, c("f_bond_d" ), "number") << std::endl << RM3(" ANGLE : ", -6, 3) << Ff(ls_restr, c("f_angle_d" ), "dev_ideal") << SEP(" ", -7) << Fi(ls_restr, c("f_angle_d" ), "number") << std::endl << RM3(" CHIRALITY : ", -6, 3) << Ff(ls_restr, c("f_chiral_restr" ), "dev_ideal") << SEP(" ", -7) << Fi(ls_restr, c("f_chiral_restr" ), "number") << std::endl << RM3(" PLANARITY : ", -6, 3) << Ff(ls_restr, c("f_plane_restr" ), "dev_ideal") << SEP(" ", -7) << Fi(ls_restr, c("f_plane_restr" ), "number") << std::endl << RM3(" DIHEDRAL : ", -6, 3) << Ff(ls_restr, c("f_dihedral_angle_d" ), "dev_ideal") << SEP(" ", -7) << Fi(ls_restr, c("f_dihedral_angle_d" ), "number") << std::endl; auto& tls = db["pdbx_refine_tls"]; pdbFile << RM3("") << std::endl << RM3(" TLS DETAILS") << std::endl << RM3(" NUMBER OF TLS GROUPS : ") << (tls.size() ? std::to_string(tls.size()) : "NULL") << std::endl; for (auto t: tls) { std::string id = t["id"].as(); auto pdbx_refine_tls_group = db["pdbx_refine_tls_group"][cif::Key("refine_tls_id") == id]; pdbFile << RM3(" TLS GROUP : ") << id << std::endl << RM3(" SELECTION: ") << Fs(pdbx_refine_tls_group, "selection_details") << std::endl << RM3(" ORIGIN FOR THE GROUP (A):", -9, 4) << Ff(t, "origin_x") << SEP("", -9, 4) << Ff(t, "origin_y") << SEP("", -9, 4) << Ff(t, "origin_z") << std::endl << RM3(" T TENSOR") << std::endl << RM3(" T11:", -9, 4) << Ff(t, "T[1][1]") << SEP(" T22:", -9, 4) << Ff(t, "T[2][2]") << std::endl << RM3(" T33:", -9, 4) << Ff(t, "T[3][3]") << SEP(" T12:", -9, 4) << Ff(t, "T[1][2]") << std::endl << RM3(" T13:", -9, 4) << Ff(t, "T[1][3]") << SEP(" T23:", -9, 4) << Ff(t, "T[2][3]") << std::endl << RM3(" L TENSOR") << std::endl << RM3(" L11:", -9, 4) << Ff(t, "L[1][1]") << SEP(" L22:", -9, 4) << Ff(t, "L[2][2]") << std::endl << RM3(" L33:", -9, 4) << Ff(t, "L[3][3]") << SEP(" L12:", -9, 4) << Ff(t, "L[1][2]") << std::endl << RM3(" L13:", -9, 4) << Ff(t, "L[1][3]") << SEP(" L23:", -9, 4) << Ff(t, "L[2][3]") << std::endl << RM3(" S TENSOR") << std::endl << RM3(" S11:", -9, 4) << Ff(t, "S[1][1]") << SEP(" S12:", -9, 4) << Ff(t, "S[1][2]") << SEP(" S13:", -9, 4) << Ff(t, "S[1][3]") << std::endl << RM3(" S21:", -9, 4) << Ff(t, "S[2][1]") << SEP(" S22:", -9, 4) << Ff(t, "S[2][2]") << SEP(" S23:", -9, 4) << Ff(t, "S[2][3]") << std::endl << RM3(" S31:", -9, 4) << Ff(t, "S[3][1]") << SEP(" S32:", -9, 4) << Ff(t, "S[3][2]") << SEP(" S33:", -9, 4) << Ff(t, "S[3][3]") << std::endl; } pdbFile << RM3("") << std::endl << RM3(" NCS DETAILS") << std::endl; auto& ncs_dom = db["struct_ncs_dom"]; if (ncs_dom.empty()) pdbFile << RM3(" NUMBER OF NCS GROUPS : NULL") << std::endl; else { std::set ncs_groups; for (auto i: ncs_dom) ncs_groups.insert(i["pdbx_ens_id"].as()); pdbFile << RM3(" NUMBER OF NCS GROUPS : ") << ncs_groups.size() << std::endl; // // for (auto ens_id: ncs_groups) // { // auto lim = db["struct_ncs_dom_lim"].find(cif::Key("pdbx_ens_id") == ens_id); // // set chains; // set component_ids; // // for (auto l: lim) // { // chains.insert(l["beg_auth_asym_id"]); // component_ids.insert(l["pdbx_component_id"].as()); // } // // pdbFile << RM3("") << std::endl // << RM3(" NCS GROUP NUMBER : ") << ens_id << std::endl // << RM3(" CHAIN NAMES : ") << ba::join(chains, " ") << std::endl // << RM3(" NUMBER OF COMPONENTS NCS GROUP : ") << component_ids.size() << std::endl // << RM3(" COMPONENT C SSSEQI TO C SSSEQI CODE") << std::endl; // // for (auto l: lim) // { // pdbFile << RM3(" ", -2) << Fi(l, "pdbx_component_id") // << SEP(" ", -5) << Fs(l, "beg_auth_asym_id") // << SEP(" ", -5) << Fi(l, "beg_auth_seq_id") // << SEP(" ", -5) << Fs(l, "end_auth_asym_id") // << SEP(" ", -5) << Fi(l, "end_auth_seq_id") // << SEP(" ", -5) << Fs(l, "pdbx_refine_code") // << std::endl; // } // // pdbFile << RM3(" GROUP CHAIN COUNT RMS WEIGHT") << std::endl; // for (auto l: db["refine_ls_restr_ncs"].find(cif::Key("pdbx_ens_id") == ens_id)) // { // std::string type = l["pdbx_type"]; // ba::to_upper(type); // // std::string unit; // if (ba::ends_with(type, "POSITIONAL")) // unit = " (A): "; // else if (ba::ends_with(type, "THERMAL")) // unit = " (A**2): "; // else // unit = " : "; // // pdbFile << RM3(" ", 18) << type // << SEP("", -2) << Fi(l, "pdbx_ens_id") // << SEP(" ", 1) << Fs(l, "pdbx_auth_asym_id") // << SEP(unit.c_str(), -6) << Fi(l, "pdbx_number") // << SEP(" ;", -6, 3) << Ff(l, "rms_dev_position") // << SEP(" ;", -6, 3) << Ff(l, "weight_position") // << std::endl; // } // } } // pdbFile << RM3("") << std::endl // << RM3(" BULK SOLVENT MODELLING.") << std::endl // << RM3(" METHOD USED : ") << Fs(refine, "solvent_model_details") << std::endl // << RM3(" PARAMETERS FOR MASK CALCULATION") << std::endl // << RM3(" VDW PROBE RADIUS : ", 5, 2) << Ff(refine, "pdbx_solvent_vdw_probe_radii") << std::endl // << RM3(" ION PROBE RADIUS : ", 5, 2) << Ff(refine, "pdbx_solvent_ion_probe_radii") << std::endl // << RM3(" SHRINKAGE RADIUS : ", 5, 2) << Ff(refine, "pdbx_solvent_shrinkage_radii") << std::endl // // << RM3("") << std::endl; pdbFile << RM3("") << std::endl; } void WriteRemark3XPlor(std::ostream& pdbFile, Datablock& db) { auto refine = db["refine"].front(); auto ls_shell = db["refine_ls_shell"].front(); auto hist = db["refine_hist"].front(); auto reflns = db["reflns"].front(); auto analyze = db["refine_analyze"].front(); auto& ls_restr = db["refine_ls_restr"]; auto ls_restr_ncs = db["refine_ls_restr_ncs"].front(); auto pdbx_xplor_file = db["pdbx_xplor_file"].front(); pdbFile << RM3("") << std::endl << RM3(" DATA USED IN REFINEMENT.") << std::endl << RM3(" RESOLUTION RANGE HIGH (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_high") << std::endl << RM3(" RESOLUTION RANGE LOW (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_low") << std::endl << RM3(" DATA CUTOFF (SIGMA(F)) : ", 6, 3) << Ff(refine, "pdbx_ls_sigma_F") << std::endl << RM3(" DATA CUTOFF HIGH (ABS(F)) : ", 6, 3) << Ff(refine, "pdbx_data_cutoff_high_absF") << std::endl << RM3(" DATA CUTOFF LOW (ABS(F)) : ", 6, 3) << Ff(refine, "pdbx_data_cutoff_low_absF") << std::endl << RM3(" COMPLETENESS (WORKING+TEST) (%) : ", 5, 2) << Ff(refine, "ls_percent_reflns_obs") << std::endl << RM3(" NUMBER OF REFLECTIONS : ", 12, 6) << Fi(refine, "ls_number_reflns_obs") << std::endl << RM3("") << std::endl << RM3(" FIT TO DATA USED IN REFINEMENT.") << std::endl << RM3(" CROSS-VALIDATION METHOD : ") << Fs(refine, "pdbx_ls_cross_valid_method") << std::endl << RM3(" FREE R VALUE TEST SET SELECTION : ") << Fs(refine, "pdbx_R_Free_selection_details") << std::endl << RM3(" R VALUE (WORKING SET) : ", 7, 3) << Ff(refine, "ls_R_factor_R_work") << std::endl << RM3(" FREE R VALUE : ", 7, 3) << Ff(refine, "ls_R_factor_R_free") << std::endl << RM3(" FREE R VALUE TEST SET SIZE (%) : ", 7, 3) << Ff(refine, "ls_percent_reflns_R_free") << std::endl << RM3(" FREE R VALUE TEST SET COUNT : ", 12, 6) << Fi(refine, "ls_number_reflns_R_free") << std::endl << RM3(" ESTIMATED ERROR OF FREE R VALUE : ", 7, 3) << Ff(refine, "ls_R_factor_R_free_error") << std::endl << RM3("") << std::endl << RM3(" FIT IN THE HIGHEST RESOLUTION BIN.") << std::endl << RM3(" TOTAL NUMBER OF BINS USED : ", 12, 6) << Fi(ls_shell, "pdbx_total_number_of_bins_used") << std::endl << RM3(" BIN RESOLUTION RANGE HIGH (A) : ", 5, 2) << Ff(ls_shell, "d_res_high") << std::endl << RM3(" BIN RESOLUTION RANGE LOW (A) : ", 5, 2) << Ff(ls_shell, "d_res_low") << std::endl << RM3(" BIN COMPLETENESS (WORKING+TEST) (%) : ", 5, 1) << Ff(ls_shell, "percent_reflns_obs") << std::endl << RM3(" REFLECTIONS IN BIN (WORKING SET) : ", 12, 6) << Fi(ls_shell, "number_reflns_R_work") << std::endl << RM3(" BIN R VALUE (WORKING SET) : ", 7, 3) << Ff(ls_shell, "R_factor_R_work") << std::endl << RM3(" BIN FREE R VALUE : ", 7, 3) << Ff(ls_shell, "R_factor_R_free") << std::endl << RM3(" BIN FREE R VALUE TEST SET SIZE (%) : ", 5, 1) << Ff(ls_shell, "percent_reflns_R_free") << std::endl << RM3(" BIN FREE R VALUE TEST SET COUNT : ", 12, 6) << Fi(ls_shell, "number_reflns_R_free") << std::endl << RM3(" ESTIMATED ERROR OF BIN FREE R VALUE : ", 7, 3) << Ff(ls_shell, "R_factor_R_free_error") << std::endl << RM3("") << std::endl << RM3(" NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT.") << std::endl << RM3(" PROTEIN ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_protein") << std::endl << RM3(" NUCLEIC ACID ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_nucleic_acid") << std::endl << RM3(" HETEROGEN ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_ligand") << std::endl << RM3(" SOLVENT ATOMS : ", 12, 6) << Fi(hist, "number_atoms_solvent") << std::endl << RM3("") << std::endl << RM3(" B VALUES.") << std::endl << RM3(" FROM WILSON PLOT (A**2) : ", 7, 2) << Ff(reflns, "B_iso_Wilson_estimate") << std::endl << RM3(" MEAN B VALUE (OVERALL, A**2) : ", 7, 2) << Ff(refine, "B_iso_mean") << std::endl << RM3(" OVERALL ANISOTROPIC B VALUE.") << std::endl << RM3(" B11 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][1]") << std::endl << RM3(" B22 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[2][2]") << std::endl << RM3(" B33 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[3][3]") << std::endl << RM3(" B12 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][2]") << std::endl << RM3(" B13 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][3]") << std::endl << RM3(" B23 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[2][3]") << std::endl << RM3("") << std::endl << RM3(" ESTIMATED COORDINATE ERROR.") << std::endl << RM3(" ESD FROM LUZZATI PLOT (A) : ", 7, 2) << Ff(analyze, "Luzzati_coordinate_error_obs") << std::endl << RM3(" ESD FROM SIGMAA (A) : ", 7, 2) << Ff(analyze, "Luzzati_sigma_a_obs") << std::endl << RM3(" LOW RESOLUTION CUTOFF (A) : ", 7, 2) << Ff(analyze, "Luzzati_d_res_low_obs") << std::endl << RM3("") << std::endl << RM3(" CROSS-VALIDATED ESTIMATED COORDINATE ERROR.") << std::endl << RM3(" ESD FROM C-V LUZZATI PLOT (A) : ", 7, 2) << Ff(analyze, "Luzzati_coordinate_error_free") << std::endl << RM3(" ESD FROM C-V SIGMAA (A) : ", 7, 2) << Ff(analyze, "Luzzati_sigma_a_free") << std::endl << RM3("") << std::endl << RM3(" RMS DEVIATIONS FROM IDEAL VALUES.") << std::endl << RM3(" BOND LENGTHS (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "x_bond_d", "dev_ideal") << std::endl << RM3(" BOND ANGLES (DEGREES) : ", 7, 2) << Ff(ls_restr, cif::Key("type") == "x_angle_deg", "dev_ideal") << std::endl << RM3(" DIHEDRAL ANGLES (DEGREES) : ", 7, 2) << Ff(ls_restr, cif::Key("type") == "x_dihedral_angle_d", "dev_ideal") << std::endl << RM3(" IMPROPER ANGLES (DEGREES) : ", 7, 2) << Ff(ls_restr, cif::Key("type") == "x_improper_angle_d", "dev_ideal") << std::endl << RM3("") << std::endl << RM3(" ISOTROPIC THERMAL MODEL : ") << Fs(refine, "pdbx_isotropic_thermal_model") << std::endl << RM3("") << std::endl << RM3(" ISOTROPIC THERMAL FACTOR RESTRAINTS. RMS SIGMA") << std::endl << RM3(" MAIN-CHAIN BOND (A**2) : ", 6, 2) << Ff(ls_restr, cif::Key("type") == "x_mcbond_it", "dev_ideal") << SEP("; ", 6, 2) << Ff(ls_restr, cif::Key("type") == "x_mcbond_it", "dev_ideal_target") << std::endl << RM3(" MAIN-CHAIN ANGLE (A**2) : ", 6, 2) << Ff(ls_restr, cif::Key("type") == "x_mcangle_it", "dev_ideal") << SEP("; ", 6, 2) << Ff(ls_restr, cif::Key("type") == "x_mcangle_it", "dev_ideal_target") << std::endl << RM3(" SIDE-CHAIN BOND (A**2) : ", 6, 2) << Ff(ls_restr, cif::Key("type") == "x_scbond_it", "dev_ideal") << SEP("; ", 6, 2) << Ff(ls_restr, cif::Key("type") == "x_scbond_it", "dev_ideal_target") << std::endl << RM3(" SIDE-CHAIN ANGLE (A**2) : ", 6, 2) << Ff(ls_restr, cif::Key("type") == "x_scangle_it", "dev_ideal") << SEP("; ", 6, 2) << Ff(ls_restr, cif::Key("type") == "x_scangle_it", "dev_ideal_target") << std::endl << RM3("") << std::endl << RM3(" NCS MODEL : ") << Fs(ls_restr_ncs, "ncs_model_details") << std::endl << RM3("") << std::endl << RM3(" NCS RESTRAINTS. RMS SIGMA/WEIGHT") << std::endl // TODO: using only group 1 here, should this be fixed??? << RM3(" GROUP 1 POSITIONAL (A) : ", 4, 2) << Ff(ls_restr_ncs, "rms_dev_position") << SEP("; ", 6, 2) << Ff(ls_restr_ncs, "weight_position") << SEP("; ", 6, 2) << std::endl << RM3(" GROUP 1 B-FACTOR (A**2) : ", 4, 2) << Ff(ls_restr_ncs, "rms_dev_B_iso") << SEP("; ", 6, 2) << Ff(ls_restr_ncs, "weight_B_iso") << SEP("; ", 6, 2) << std::endl // TODO: using only files from serial_no 1 here << RM3("") << std::endl << RM3(" PARAMETER FILE 1 : ") << Fs(pdbx_xplor_file, "param_file") << std::endl << RM3(" TOPOLOGY FILE 1 : ") << Fs(pdbx_xplor_file, "topol_file") << std::endl << RM3("") << std::endl; } void WriteRemark3NuclSQ(std::ostream& pdbFile, Datablock& db) { auto refine = db["refine"].front(); auto pdbx_refine = db["pdbx_refine"].front(); auto hist = db["refine_hist"].front(); auto reflns = db["reflns"].front(); auto analyze = db["refine_analyze"].front(); auto& ls_restr = db["refine_ls_restr"]; pdbFile << RM3("") << std::endl << RM3(" DATA USED IN REFINEMENT.") << std::endl << RM3(" RESOLUTION RANGE HIGH (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_high") << std::endl << RM3(" RESOLUTION RANGE LOW (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_low") << std::endl << RM3(" DATA CUTOFF (SIGMA(F)) : ", 6, 3) << Ff(refine, "pdbx_ls_sigma_F") << std::endl << RM3(" COMPLETENESS FOR RANGE (%) : ", 5, 2) << Ff(refine, "ls_percent_reflns_obs") << std::endl << RM3(" NUMBER OF REFLECTIONS : ", 12, 6) << Fi(refine, "ls_number_reflns_obs") << std::endl << RM3("") << std::endl << RM3(" FIT TO DATA USED IN REFINEMENT.") << std::endl << RM3(" CROSS-VALIDATION METHOD : ") << Fs(refine, "pdbx_ls_cross_valid_method") << std::endl << RM3(" FREE R VALUE TEST SET SELECTION : ") << Fs(refine, "pdbx_R_Free_selection_details") << std::endl << RM3(" R VALUE (WORKING + TEST SET) : ", 7, 3) << Ff(refine, "ls_R_factor_obs") << std::endl << RM3(" R VALUE (WORKING SET) : ", 7, 3) << Ff(refine, "ls_R_factor_R_work") << std::endl << RM3(" FREE R VALUE : ", 7, 3) << Ff(refine, "ls_R_factor_R_free") << std::endl << RM3(" FREE R VALUE TEST SET SIZE (%) : ", 7, 3) << Ff(refine, "ls_percent_reflns_R_free") << std::endl << RM3(" FREE R VALUE TEST SET COUNT : ", 12, 6) << Fi(refine, "ls_number_reflns_R_free") << std::endl << RM3("") << std::endl << RM3(" FIT/AGREEMENT OF MODEL WITH ALL DATA.") << std::endl << RM3(" R VALUE (WORKING + TEST SET, NO CUTOFF) : ") << Fs(refine, "ls_R_factor_all") << std::endl << RM3(" R VALUE (WORKING SET, NO CUTOFF) : ") << Fs(pdbx_refine, "R_factor_obs_no_cutoff") << std::endl << RM3(" FREE R VALUE (NO CUTOFF) : ") << Fs(pdbx_refine, "free_R_factor_no_cutoff") << std::endl << RM3(" FREE R VALUE TEST SET SIZE (%, NO CUTOFF) : ") << Fs(pdbx_refine, "free_R_val_test_set_size_perc_no_cutoff") << std::endl << RM3(" FREE R VALUE TEST SET COUNT (NO CUTOFF) : ") << Fs(pdbx_refine, "free_R_val_test_set_ct_no_cutoff") << std::endl << RM3(" TOTAL NUMBER OF REFLECTIONS (NO CUTOFF) : ") << Fs(refine, "ls_number_reflns_all") << std::endl << RM3("") << std::endl << RM3(" NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT.") << std::endl << RM3(" PROTEIN ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_protein") << std::endl << RM3(" NUCLEIC ACID ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_nucleic_acid") << std::endl << RM3(" HETEROGEN ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_ligand") << std::endl << RM3(" SOLVENT ATOMS : ", 12, 6) << Fi(hist, "number_atoms_solvent") << std::endl // << RM3(" ALL ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_protein") << std::endl << RM3("") << std::endl << RM3(" B VALUES.") << std::endl // << RM3(" B VALUE TYPE : ", 7, 2) << Fs(refine, "pdbx_TLS_residual_ADP_flag") << std::endl << RM3(" FROM WILSON PLOT (A**2) : ", 7, 2) << Ff(reflns, "B_iso_Wilson_estimate") << std::endl << RM3(" MEAN B VALUE (OVERALL, A**2) : ", 7, 2) << Ff(refine, "B_iso_mean") << std::endl << RM3(" OVERALL ANISOTROPIC B VALUE.") << std::endl << RM3(" B11 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][1]") << std::endl << RM3(" B22 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[2][2]") << std::endl << RM3(" B33 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[3][3]") << std::endl << RM3(" B12 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][2]") << std::endl << RM3(" B13 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][3]") << std::endl << RM3(" B23 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[2][3]") << std::endl << RM3("") << std::endl << RM3(" ESTIMATED COORDINATE ERROR.") << std::endl << RM3(" ESD FROM LUZZATI PLOT (A) : ", 7, 2) << Ff(analyze, "Luzzati_coordinate_error_obs") << std::endl << RM3(" ESD FROM SIGMAA (A) : ", 7, 2) << Ff(analyze, "Luzzati_sigma_a_obs") << std::endl << RM3(" LOW RESOLUTION CUTOFF (A) : ", 7, 2) << Ff(analyze, "Luzzati_d_res_low_obs") << std::endl << RM3("") << std::endl << RM3(" RMS DEVIATIONS FROM IDEAL VALUES.") << std::endl << RM3(" DISTANCE RESTRAINTS. RMS SIGMA") << std::endl << RM3(" SUGAR-BASE BOND DISTANCE (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "n_sugar_bond_d", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "n_sugar_bond_d", "dev_ideal_target") << std::endl << RM3(" SUGAR-BASE BOND ANGLE DISTANCE (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "n_sugar_bond_angle_d", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "n_sugar_bond_angle_d", "dev_ideal_target") << std::endl << RM3(" PHOSPHATE BONDS DISTANCE (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "n_phos_bond_d", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "n_phos_bond_d", "dev_ideal_target") << std::endl << RM3(" PHOSPHATE BOND ANGLE, H-BOND (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "n_phos_bond_angle_d", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "n_phos_bond_angle_d", "dev_ideal_target") << std::endl << RM3("") << std::endl << RM3(" PLANE RESTRAINT (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "n_plane_restr", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "n_plane_restr", "dev_ideal_target") << std::endl << RM3(" CHIRAL-CENTER RESTRAINT (A**3) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "n_chiral_restr", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "n_chiral_restr", "dev_ideal_target") << std::endl << RM3("") << std::endl << RM3(" NON-BONDED CONTACT RESTRAINTS.") << std::endl << RM3(" SINGLE TORSION CONTACT (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "n_singtor_nbd", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "n_singtor_nbd", "dev_ideal_target") << std::endl << RM3(" MULTIPLE TORSION CONTACT (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "n_multtor_nbd", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "n_multtor_nbd", "dev_ideal_target") << std::endl << RM3("") << std::endl << RM3(" ISOTROPIC THERMAL FACTOR RESTRAINTS. RMS SIGMA") << std::endl << RM3(" SUGAR-BASE BONDS (A**2) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "n_sugar_bond_it", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "n_sugar_bond_it", "dev_ideal_target") << std::endl << RM3(" SUGAR-BASE ANGLES (A**2) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "n_sugar_angle_it", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "n_sugar_angle_it", "dev_ideal_target") << std::endl << RM3(" PHOSPHATE BONDS (A**2) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "n_phos_bond_it", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "n_phos_bond_it", "dev_ideal_target") << std::endl << RM3(" PHOSPHATE BOND ANGLE, H-BOND (A**2) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "n_phos_angle_it", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "n_phos_angle_it", "dev_ideal_target") << std::endl << RM3("") << std::endl; } void WriteRemark3ProlSQ(std::ostream& pdbFile, Datablock& db) { auto refine = db["refine"].front(); auto pdbx_refine = db["pdbx_refine"].front(); auto hist = db["refine_hist"].front(); auto reflns = db["reflns"].front(); auto analyze = db["refine_analyze"].front(); auto& ls_restr = db["refine_ls_restr"]; pdbFile << RM3("") << std::endl << RM3(" DATA USED IN REFINEMENT.") << std::endl << RM3(" RESOLUTION RANGE HIGH (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_high") << std::endl << RM3(" RESOLUTION RANGE LOW (ANGSTROMS) : ", 5, 2) << Ff(refine, "ls_d_res_low") << std::endl << RM3(" DATA CUTOFF (SIGMA(F)) : ", 6, 3) << Ff(refine, "pdbx_ls_sigma_F") << std::endl << RM3(" COMPLETENESS FOR RANGE (%) : ", 5, 2) << Ff(refine, "ls_percent_reflns_obs") << std::endl << RM3(" NUMBER OF REFLECTIONS : ", 12, 6) << Fi(refine, "ls_number_reflns_obs") << std::endl << RM3("") << std::endl << RM3(" FIT TO DATA USED IN REFINEMENT.") << std::endl << RM3(" CROSS-VALIDATION METHOD : ") << Fs(refine, "pdbx_ls_cross_valid_method") << std::endl << RM3(" FREE R VALUE TEST SET SELECTION : ") << Fs(refine, "pdbx_R_Free_selection_details") << std::endl << RM3(" R VALUE (WORKING + TEST SET) : ", 7, 3) << Ff(refine, "ls_R_factor_obs") << std::endl << RM3(" R VALUE (WORKING SET) : ", 7, 3) << Ff(refine, "ls_R_factor_R_work") << std::endl << RM3(" FREE R VALUE : ", 7, 3) << Ff(refine, "ls_R_factor_R_free") << std::endl << RM3(" FREE R VALUE TEST SET SIZE (%) : ", 7, 3) << Ff(refine, "ls_percent_reflns_R_free") << std::endl << RM3(" FREE R VALUE TEST SET COUNT : ", 12, 6) << Fi(refine, "ls_number_reflns_R_free") << std::endl << RM3("") << std::endl << RM3(" FIT/AGREEMENT OF MODEL WITH ALL DATA.") << std::endl << RM3(" R VALUE (WORKING + TEST SET, NO CUTOFF) : ") << Fs(refine, "ls_R_factor_all") << std::endl << RM3(" R VALUE (WORKING SET, NO CUTOFF) : ") << Fs(pdbx_refine, "R_factor_obs_no_cutoff") << std::endl << RM3(" FREE R VALUE (NO CUTOFF) : ") << Fs(pdbx_refine, "free_R_factor_no_cutoff") << std::endl << RM3(" FREE R VALUE TEST SET SIZE (%, NO CUTOFF) : ") << Fs(pdbx_refine, "free_R_val_test_set_size_perc_no_cutoff") << std::endl << RM3(" FREE R VALUE TEST SET COUNT (NO CUTOFF) : ") << Fs(pdbx_refine, "free_R_val_test_set_ct_no_cutoff") << std::endl << RM3(" TOTAL NUMBER OF REFLECTIONS (NO CUTOFF) : ") << Fs(refine, "ls_number_reflns_all") << std::endl << RM3("") << std::endl << RM3(" NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT.") << std::endl << RM3(" PROTEIN ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_protein") << std::endl << RM3(" NUCLEIC ACID ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_nucleic_acid") << std::endl << RM3(" HETEROGEN ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_ligand") << std::endl << RM3(" SOLVENT ATOMS : ", 12, 6) << Fi(hist, "number_atoms_solvent") << std::endl // << RM3(" ALL ATOMS : ", 12, 6) << Fi(hist, "pdbx_number_atoms_protein") << std::endl << RM3("") << std::endl << RM3(" B VALUES.") << std::endl // << RM3(" B VALUE TYPE : ", 7, 2) << Fs(refine, "pdbx_TLS_residual_ADP_flag") << std::endl << RM3(" FROM WILSON PLOT (A**2) : ", 7, 2) << Ff(reflns, "B_iso_Wilson_estimate") << std::endl << RM3(" MEAN B VALUE (OVERALL, A**2) : ", 7, 2) << Ff(refine, "B_iso_mean") << std::endl << RM3(" OVERALL ANISOTROPIC B VALUE.") << std::endl << RM3(" B11 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][1]") << std::endl << RM3(" B22 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[2][2]") << std::endl << RM3(" B33 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[3][3]") << std::endl << RM3(" B12 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][2]") << std::endl << RM3(" B13 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[1][3]") << std::endl << RM3(" B23 (A**2) : ", -7, 2) << Ff(refine, "aniso_B[2][3]") << std::endl << RM3("") << std::endl << RM3(" ESTIMATED COORDINATE ERROR.") << std::endl << RM3(" ESD FROM LUZZATI PLOT (A) : ", 7, 2) << Ff(analyze, "Luzzati_coordinate_error_obs") << std::endl << RM3(" ESD FROM SIGMAA (A) : ", 7, 2) << Ff(analyze, "Luzzati_sigma_a_obs") << std::endl << RM3(" LOW RESOLUTION CUTOFF (A) : ", 7, 2) << Ff(analyze, "Luzzati_d_res_low_obs") << std::endl << RM3("") << std::endl << RM3(" RMS DEVIATIONS FROM IDEAL VALUES.") << std::endl << RM3(" DISTANCE RESTRAINTS. RMS SIGMA") << std::endl << RM3(" BOND LENGTH (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_bond_d", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_bond_d", "dev_ideal_target") << std::endl << RM3(" ANGLE DISTANCE (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_angle_d", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_angle_d", "dev_ideal_target") << std::endl << RM3(" INTRAPLANAR 1-4 DISTANCE (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_planar_d", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_planar_d", "dev_ideal_target") << std::endl << RM3(" H-BOND OR METAL COORDINATION (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_hb_or_metal_coord", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_hb_or_metal_coord", "dev_ideal_target") << std::endl << RM3("") << std::endl << RM3(" PLANE RESTRAINT (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_plane_restr", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_plane_restr", "dev_ideal_target") << std::endl << RM3(" CHIRAL-CENTER RESTRAINT (A**3) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_chiral_restr", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_chiral_restr", "dev_ideal_target") << std::endl << RM3("") << std::endl << RM3(" NON-BONDED CONTACT RESTRAINTS.") << std::endl << RM3(" SINGLE TORSION (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_singtor_nbd", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_singtor_nbd", "dev_ideal_target") << std::endl << RM3(" MULTIPLE TORSION (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_multtor_nbd", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_multtor_nbd", "dev_ideal_target") << std::endl << RM3(" H-BOND (X...Y) (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_xyhbond_nbd", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_xyhbond_nbd", "dev_ideal_target") << std::endl << RM3(" H-BOND (X-H...Y) (A) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_xhyhbond_nbd", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_xhyhbond_nbd", "dev_ideal_target") << std::endl << RM3("") << std::endl << RM3(" CONFORMATIONAL TORSION ANGLE RESTRAINTS.") << std::endl << RM3(" SPECIFIED (DEGREES) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_special_tor", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_special_tor", "dev_ideal_target") << std::endl << RM3(" PLANAR (DEGREES) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_planar_tor", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_planar_tor", "dev_ideal_target") << std::endl << RM3(" STAGGERED (DEGREES) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_staggered_tor", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_staggered_tor", "dev_ideal_target") << std::endl << RM3(" TRANSVERSE (DEGREES) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_transverse_tor", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_transverse_tor", "dev_ideal_target") << std::endl << RM3("") << std::endl << RM3(" ISOTROPIC THERMAL FACTOR RESTRAINTS. RMS SIGMA") << std::endl << RM3(" MAIN-CHAIN BOND (A**2) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_mcbond_it", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_mcbond_it", "dev_ideal_target") << std::endl << RM3(" MAIN-CHAIN ANGLE (A**2) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_mcangle_it", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_mcangle_it", "dev_ideal_target") << std::endl << RM3(" SIDE-CHAIN BOND (A**2) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_scbond_it", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_scbond_it", "dev_ideal_target") << std::endl << RM3(" SIDE-CHAIN ANGLE (A**2) : ", 7, 3) << Ff(ls_restr, cif::Key("type") == "p_scangle_it", "dev_ideal") << " ; " << Ff(ls_restr, cif::Key("type") == "p_scangle_it", "dev_ideal_target") << std::endl << RM3("") << std::endl; } void WriteRemark3(std::ostream& pdbFile, Datablock& db) { std::string program, authors; if (not db["pdbx_nmr_software"].empty()) { auto software = db["pdbx_nmr_software"].find(cif::Key("classification") == "refinement"); if (software.size() == 1) cif::tie(program, authors) = software.front().get("name", "authors"); else if (software.size() > 1) { for (auto r: software) { if (program.empty() == false) { program += ", "; authors += ", "; } program += r["name"].as(); authors += r["authors"].as() + " (" + r["name"].as() + ")"; } } } if (program.empty()) program = cifSoftware(db, eRefinement); if (authors.empty()) authors = "NULL"; if (not program.empty()) { pdbFile << RM3("") << std::endl << RM3("REFINEMENT.") << std::endl; int l = 0; for (auto s: cif::wordWrap(program, 52)) pdbFile << RM3(++l == 1 ? " PROGRAM : " : " ") << s << std::endl; l = 0; for (auto s: cif::wordWrap(authors, 52)) pdbFile << RM3(++l == 1 ? " AUTHORS : " : " ") << s << std::endl; } if (not db["refine"].empty()) { auto s = program.find(' '); if (s != std::string::npos) program.erase(s, std::string::npos); if (cif::iequals(program, "BUSTER") or cif::iequals(program, "BUSTER-TNT") or cif::iequals(program, "TNT")) WriteRemark3BusterTNT(pdbFile, db); else if (cif::iequals(program, "CNS") or cif::iequals(program, "CNX")) WriteRemark3CNS(pdbFile, db); else if (cif::iequals(program, "X-PLOR")) WriteRemark3XPlor(pdbFile, db); else if (cif::iequals(program, "REFMAC")) WriteRemark3Refmac(pdbFile, db); else if (cif::iequals(program, "SHELXL")) WriteRemark3Shelxl(pdbFile, db); else if (cif::iequals(program, "PHENIX")) WriteRemark3Phenix(pdbFile, db); else if (cif::iequals(program, "NUCLSQ")) WriteRemark3NuclSQ(pdbFile, db); else if (cif::iequals(program, "PROLSQ")) WriteRemark3ProlSQ(pdbFile, db); } for (auto r: db["refine"]) { std::string remarks = r["details"].as(); if (remarks.empty()) remarks = "NULL"; WriteOneContinuedLine(pdbFile, "REMARK 3 ", 0, "OTHER REFINEMENT REMARKS: " + remarks); break; } } void WriteRemark200(std::ostream& pdbFile, Datablock& db) { typedef RM<200> RM; try { for (auto diffrn: db["diffrn"]) { std::string diffrn_id = diffrn["id"].as(); std::string crystal_id = diffrn["crystal_id"].as(); auto diffrn_radiation = db["diffrn_radiation"][cif::Key("diffrn_id") == diffrn_id]; auto diffrn_radiation_wavelength = db["diffrn_radiation_wavelength"][cif::Key("id") == diffrn_radiation["wavelength_id"].as()]; auto diffrn_source = db["diffrn_source"][cif::Key("diffrn_id") == diffrn_id]; auto diffrn_detector = db["diffrn_detector"][cif::Key("diffrn_id") == diffrn_id]; auto exptl = db["exptl"][cif::Key("entry_id") == db.getName()]; auto exptl_crystal = db["exptl_crystal"][cif::Key("id") == crystal_id]; auto exptl_crystal_grow = db["exptl_crystal_grow"][cif::Key("crystal_id") == crystal_id]; auto computing = db["computing"][cif::Key("entry_id") == db.getName()]; auto reflns = db["reflns"][cif::Key("entry_id") == db.getName()]; std::string pdbx_diffrn_id = reflns["pdbx_diffrn_id"].as(); auto reflns_shell = db["reflns_shell"][cif::Key("pdbx_diffrn_id") == pdbx_diffrn_id]; auto refine = db["refine"][cif::Key("pdbx_diffrn_id") == pdbx_diffrn_id]; std::string date = diffrn_detector["pdbx_collection_date"].as(); if (date.empty()) date = "NULL"; else date = cif2pdbDate(date); std::string iis = cifSoftware(db, eDataReduction); std::string dss = cifSoftware(db, eDataScaling); std::string source = diffrn_source["source"].as(); std::string synchrotron, type; if (source.empty()) synchrotron = "NULL"; else if (cif::iequals(source, "SYNCHROTRON")) { synchrotron = "Y"; source = diffrn_source["pdbx_synchrotron_site"].as(); if (source.empty()) source = "NULL"; type = "NULL"; } else { synchrotron = "N"; type = diffrn_source["type"].as(); if (type.empty()) type = "NULL"; } if (source.empty()) source = "NULL"; if (type.empty()) type = "NULL"; pdbFile << RM("") << std::endl << RM("EXPERIMENTAL DETAILS") << std::endl << RM(" EXPERIMENT TYPE : ") << Fs(exptl, "method") << std::endl << RM(" DATE OF DATA COLLECTION : ") << date << std::endl << RM(" TEMPERATURE (KELVIN) : ", 5, 1) << Ff(diffrn, "ambient_temp") << std::endl << RM(" PH : ", 4, 1) << Ff(exptl_crystal_grow, "ph") << std::endl << RM(" NUMBER OF CRYSTALS USED : ") << Fi(exptl, "crystals_number") << std::endl << RM("") << std::endl << RM(" SYNCHROTRON (Y/N) : ") << synchrotron << std::endl << RM(" RADIATION SOURCE : ") << source << std::endl << RM(" BEAMLINE : ") << Fs(diffrn_source, "pdbx_synchrotron_beamline") << std::endl << RM(" X-RAY GENERATOR MODEL : ") << type << std::endl << RM(" MONOCHROMATIC OR LAUE (M/L) : ") << Fs(diffrn_radiation, "pdbx_monochromatic_or_laue_m_l") << std::endl << RM(" WAVELENGTH OR RANGE (A) : ", 7, 4) << Ff(diffrn_radiation_wavelength, "wavelength") << std::endl << RM(" MONOCHROMATOR : ") << Fs(diffrn_radiation, "monochromator") << std::endl << RM(" OPTICS : ") << Fs(diffrn_detector, "details") << std::endl << RM("") << std::endl << RM(" DETECTOR TYPE : ") << Fs(diffrn_detector, "detector") << std::endl << RM(" DETECTOR MANUFACTURER : ") << Fs(diffrn_detector, "type") << std::endl << RM(" INTENSITY-INTEGRATION SOFTWARE : ") << iis << std::endl << RM(" DATA SCALING SOFTWARE : ") << dss << std::endl << RM(" ") << std::endl << RM(" NUMBER OF UNIQUE REFLECTIONS : ") << Fi(reflns, "number_obs") << std::endl << RM(" RESOLUTION RANGE HIGH (A) : ", 7, 3) << Ff(reflns, "d_resolution_high") << std::endl << RM(" RESOLUTION RANGE LOW (A) : ", 7, 3) << Ff(reflns, "d_resolution_low") << std::endl << RM(" REJECTION CRITERIA (SIGMA(I)) : ", 7, 3) << Ff(reflns, "observed_criterion_sigma_I") << std::endl << RM("") << std::endl << RM("OVERALL.") << std::endl << RM(" COMPLETENESS FOR RANGE (%) : ", 7, 1) << Ff(reflns, "percent_possible_obs") << std::endl << RM(" DATA REDUNDANCY : ", 7, 3) << Ff(reflns, "pdbx_redundancy") << std::endl << RM(" R MERGE (I) : ", 7, 5) << Ff(reflns, "pdbx_Rmerge_I_obs") << std::endl << RM(" R SYM (I) : ", 7, 5) << Ff(reflns, "pdbx_Rsym_value") << std::endl << RM(" FOR THE DATA SET : ", 7, 4) << Ff(reflns, "pdbx_netI_over_sigmaI") << std::endl << RM("") << std::endl << RM("IN THE HIGHEST RESOLUTION SHELL.") << std::endl << RM(" HIGHEST RESOLUTION SHELL, RANGE HIGH (A) : ", 7, 2) << Ff(reflns_shell, "d_res_high") << std::endl << RM(" HIGHEST RESOLUTION SHELL, RANGE LOW (A) : ", 7, 2) << Ff(reflns_shell, "d_res_low") << std::endl << RM(" COMPLETENESS FOR SHELL (%) : ", 7, 1) << Ff(reflns_shell, "percent_possible_all") << std::endl << RM(" DATA REDUNDANCY IN SHELL : ", 7, 2) << Ff(reflns_shell, "pdbx_redundancy") << std::endl << RM(" R MERGE FOR SHELL (I) : ", 7, 5) << Ff(reflns_shell, "Rmerge_I_obs") << std::endl << RM(" R SYM FOR SHELL (I) : ", 7, 5) << Ff(reflns_shell, "pdbx_Rsym_value") << std::endl << RM(" FOR SHELL : ", 7, 3) << Ff(reflns_shell, "meanI_over_sigI_obs") << std::endl << RM("") << std::endl; struct { Row r; const char* field; const char* dst; } kTail[] = { { diffrn_radiation, "pdbx_diffrn_protocol", "DIFFRACTION PROTOCOL: "}, { refine, "pdbx_method_to_determine_struct", "METHOD USED TO DETERMINE THE STRUCTURE: "}, { computing, "structure_solution", "SOFTWARE USED: "}, { refine, "pdbx_starting_model", "STARTING MODEL: "}, { exptl_crystal, "description", "\nREMARK: " } }; for (auto& t: kTail) { std::string s = t.r[t.field].as(); if (s.empty()) { if (strcmp(t.field, "structure_solution") == 0) s = cifSoftware(db, ePhasing); else s = "NULL"; } WriteOneContinuedLine(pdbFile, "REMARK 200", 0, t.dst + s); } break; } } catch (const std::exception& ex) { std::cerr << ex.what() << std::endl; } } void WriteRemark280(std::ostream& pdbFile, Datablock& db) { typedef RM<280> RM; try { for (auto exptl_crystal: db["exptl_crystal"]) { std::string crystal_id = exptl_crystal["id"].as(); auto exptl_crystal_grow = db["exptl_crystal_grow"][cif::Key("crystal_id") == crystal_id]; pdbFile << RM("") << std::endl << RM("CRYSTAL") << std::endl << RM("SOLVENT CONTENT, VS (%): ", 6, 2) << Ff(exptl_crystal, "density_percent_sol") << std::endl << RM("MATTHEWS COEFFICIENT, VM (ANGSTROMS**3/DA): ", 6, 2) << Ff(exptl_crystal, "density_Matthews") << std::endl << RM("") << std::endl; std::vector conditions; auto add = [&conditions](const std::string c) { if (find(conditions.begin(), conditions.end(), c) == conditions.end()) conditions.push_back(c); }; const char* keys[] = { "pdbx_details", "ph", "method", "temp" }; for (size_t i = 0; i < (sizeof(keys) / sizeof(const char*)); ++i) { const char* c = keys[i]; std::string v = exptl_crystal_grow[c].as(); if (not v.empty()) { ba::to_upper(v); switch (i) { case 1: add("PH " + v); break; case 3: add("TEMPERATURE " + v + "K"); break; default: for (std::string::size_type b = 0, e = v.find(", "); b != std::string::npos; b = (e == std::string::npos ? e : e + 2), e = v.find(", ", b)) add(v.substr(b, e - b)); break; } } } WriteOneContinuedLine(pdbFile, "REMARK 280", 0, "CRYSTALLIZATION CONDITIONS: " + (conditions.empty() ? "NULL" : ba::join(conditions, ", "))); break; } } catch (const std::exception& ex) { std::cerr << ex.what() << std::endl; } } void WriteRemark350(std::ostream& pdbFile, Datablock& db) { auto& c1 = db["pdbx_struct_assembly"]; if (c1.empty()) return; std::vector biomolecules, details; for (auto bm: c1) { std::string id = bm["id"].as(); biomolecules.push_back(id); for (auto r: db["struct_biol"].find(cif::Key("id") == id)) { std::string s = r["details"].as(); if (not s.empty()) details.push_back(s); } } // write out the mandatory REMARK 300 first pdbFile << RM<300>("") << std::endl << RM<300>("BIOMOLECULE: ") << ba::join(biomolecules, ", ") << std::endl << RM<300>("SEE REMARK 350 FOR THE AUTHOR PROVIDED AND/OR PROGRAM") << std::endl << RM<300>("GENERATED ASSEMBLY INFORMATION FOR THE STRUCTURE IN") << std::endl << RM<300>("THIS ENTRY. THE REMARK MAY ALSO PROVIDE INFORMATION ON") << std::endl << RM<300>("BURIED SURFACE AREA.") << std::endl; if (not details.empty()) { pdbFile << RM<300>("REMARK:") << std::endl; for (auto detail: details) WriteOneContinuedLine(pdbFile, "REMARK 300", 0, detail); } typedef RM<350> RM; pdbFile << RM("") << std::endl << RM("COORDINATES FOR A COMPLETE MULTIMER REPRESENTING THE KNOWN") << std::endl << RM("BIOLOGICALLY SIGNIFICANT OLIGOMERIZATION STATE OF THE") << std::endl << RM("MOLECULE CAN BE GENERATED BY APPLYING BIOMT TRANSFORMATIONS") << std::endl << RM("GIVEN BELOW. BOTH NON-CRYSTALLOGRAPHIC AND") << std::endl << RM("CRYSTALLOGRAPHIC OPERATIONS ARE GIVEN.") << std::endl; for (auto bm: c1) { std::string id, detail, method, oligomer; cif::tie(id, detail, method, oligomer) = bm.get("id", "details", "method_details", "oligomeric_details"); pdbFile << RM("") << std::endl << RM("BIOMOLECULE: ") << id << std::endl; ba::to_upper(oligomer); if (detail == "author_defined_assembly" or detail == "author_and_software_defined_assembly") pdbFile << RM("AUTHOR DETERMINED BIOLOGICAL UNIT: ") << oligomer << std::endl; if (detail == "software_defined_assembly" or detail == "author_and_software_defined_assembly") pdbFile << RM("SOFTWARE DETERMINED QUATERNARY STRUCTURE: ") << oligomer << std::endl; if (not method.empty()) pdbFile << RM("SOFTWARE USED: ") << method << std::endl; for (std::string type: { "ABSA (A^2)", "SSA (A^2)", "MORE" }) { for (auto prop: db["pdbx_struct_assembly_prop"].find(cif::Key("biol_id") == id and cif::Key("type") == type)) { std::string value = prop["value"].as(); if (cif::iequals(type, "ABSA (A^2)")) pdbFile << RM("TOTAL BURIED SURFACE AREA: ") << value << " ANGSTROM**2" << std::endl; else if (cif::iequals(type, "SSA (A^2)")) pdbFile << RM("SURFACE AREA OF THE COMPLEX: ") << value << " ANGSTROM**2" << std::endl; else if (cif::iequals(type, "MORE")) pdbFile << RM("CHANGE IN SOLVENT FREE ENERGY: ") << value << " KCAL/MOL" << std::endl; } } auto gen = db["pdbx_struct_assembly_gen"][cif::Key("assembly_id") == id]; std::vector asyms; std::string asym_id_list, oper_id_list; cif::tie(asym_id_list, oper_id_list) = gen.get("asym_id_list", "oper_expression"); ba::split(asyms, asym_id_list, ba::is_any_of(",")); std::vector chains = MapAsymIDs2ChainIDs(asyms, db); pdbFile << RM("APPLY THE FOLLOWING TO CHAINS: ") << ba::join(chains, ", ") << std::endl; for (auto i = make_split_iterator(oper_id_list, ba::token_finder(ba::is_any_of(","), ba::token_compress_on)); not i.eof(); ++i) { std::string oper_id{ i->begin(), i->end() }; auto r = db["pdbx_struct_oper_list"][cif::Key("id") == oper_id]; pdbFile << RM(" BIOMT1 ", -3) << Fs(r, "id") << SEP(" ", -9, 6) << Ff(r, "matrix[1][1]") << SEP(" ", -9, 6) << Ff(r, "matrix[1][2]") << SEP(" ", -9, 6) << Ff(r, "matrix[1][3]") << SEP(" ", -14, 5) << Ff(r, "vector[1]") << std::endl << RM(" BIOMT2 ", -3) << Fs(r, "id") << SEP(" ", -9, 6) << Ff(r, "matrix[2][1]") << SEP(" ", -9, 6) << Ff(r, "matrix[2][2]") << SEP(" ", -9, 6) << Ff(r, "matrix[2][3]") << SEP(" ", -14, 5) << Ff(r, "vector[2]") << std::endl << RM(" BIOMT3 ", -3) << Fs(r, "id") << SEP(" ", -9, 6) << Ff(r, "matrix[3][1]") << SEP(" ", -9, 6) << Ff(r, "matrix[3][2]") << SEP(" ", -9, 6) << Ff(r, "matrix[3][3]") << SEP(" ", -14, 5) << Ff(r, "vector[3]") << std::endl; } } } void WriteRemark400(std::ostream& pdbFile, Datablock& db) { for (auto& r: db["pdbx_entry_details"]) { std::string compound_details = r["compound_details"].as(); if (not compound_details.empty()) WriteOneContinuedLine(pdbFile, "REMARK 400", 0, "\nCOMPOUND\n" + compound_details); } } void WriteRemark450(std::ostream& pdbFile, Datablock& db) { for (auto& r: db["pdbx_entry_details"]) { std::string source_details = r["source_details"].as(); if (not source_details.empty()) WriteOneContinuedLine(pdbFile, "REMARK 450", 0, "\nSOURCE\n" + source_details, 11); break; } } void WriteRemark465(std::ostream& pdbFile, Datablock& db) { bool first = true; typedef RM<465> RM; boost::format fmt("REMARK 465 %3.3s %3.3s %1.1s %5.5d%1.1s"); auto& c = db["pdbx_unobs_or_zero_occ_residues"]; std::vector missing(c.begin(), c.end()); stable_sort(missing.begin(), missing.end(), [](Row a, Row b) -> bool { int modelNrA, seqIDA, modelNrB, seqIDB; std::string asymIDA, asymIDB; cif::tie(modelNrA, asymIDA, seqIDA) = a.get("PDB_model_num", "auth_asym_id", "auth_seq_id"); cif::tie(modelNrB, asymIDB, seqIDB) = b.get("PDB_model_num", "auth_asym_id", "auth_seq_id"); int d = modelNrA - modelNrB; if (d == 0) d = asymIDA.compare(asymIDB); if (d == 0) d = seqIDA - seqIDB; return d < 0; }); for (auto r: missing) { if (first) { pdbFile << RM("") << std::endl << RM("MISSING RESIDUES") << std::endl << RM("THE FOLLOWING RESIDUES WERE NOT LOCATED IN THE") << std::endl << RM("EXPERIMENT. (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN") << std::endl << RM("IDENTIFIER; SSSEQ=SEQUENCE NUMBER; I=INSERTION CODE.)") << std::endl << RM("") << std::endl << RM(" M RES C SSSEQI") << std::endl; first = false; } std::string modelNr, resName, chainID, iCode; int seqNr; cif::tie(modelNr, resName, chainID, iCode, seqNr) = r.get("PDB_model_num", "auth_comp_id", "auth_asym_id", "PDB_ins_code", "auth_seq_id"); pdbFile << fmt % modelNr % resName % chainID % seqNr % iCode << std::endl; } } void WriteRemark470(std::ostream& pdbFile, Datablock& db) { typedef RM<470> RM; boost::format fmt("REMARK 470 %3.3s %3.3s %1.1s%4.4d%1.1s "); // wow... typedef std::tuple key_type; std::map> data; for (auto r: db["pdbx_unobs_or_zero_occ_atoms"]) { std::string modelNr, resName, chainID, iCode, atomID; int seqNr; cif::tie(modelNr, resName, chainID, iCode, seqNr, atomID) = r.get("PDB_model_num", "auth_comp_id", "auth_asym_id", "PDB_ins_code", "auth_seq_id", "auth_atom_id"); key_type k{ modelNr, chainID, seqNr, iCode, resName }; auto i = data.find(k); if (i == data.end()) data[k] = std::deque{ atomID }; else i->second.push_back(atomID); } if (not data.empty()) { pdbFile << RM("") << std::endl << RM("MISSING ATOM") << std::endl << RM("THE FOLLOWING RESIDUES HAVE MISSING ATOMS (M=MODEL NUMBER;") << std::endl << RM("RES=RESIDUE NAME; C=CHAIN IDENTIFIER; SSEQ=SEQUENCE NUMBER;") << std::endl << RM("I=INSERTION CODE):") << std::endl << RM(" M RES CSSEQI ATOMS") << std::endl; for (auto& a: data) { std::string modelNr, resName, chainID, iCode; int seqNr; tie(modelNr, chainID, seqNr, iCode, resName) = a.first; while (not a.second.empty()) { pdbFile << fmt % modelNr % resName % chainID % seqNr % iCode << " "; for (size_t i = 0; i < 6 and not a.second.empty(); ++i) { pdbFile << cif2pdbAtomName(a.second.front(), resName, db) << ' '; a.second.pop_front(); } pdbFile << std::endl; } } } } void WriteRemark610(std::ostream& pdbFile, Datablock& db) { // #warning("unimplemented!"); } void WriteRemark800(std::ostream& pdbFile, Datablock& db) { int nr = 0; for (auto r: db["struct_site"]) { pdbFile << "REMARK 800" << std::endl; if (++nr == 1) { pdbFile << "REMARK 800 SITE" << std::endl; ++nr; } std::string ident, code, desc; cif::tie(ident, code, desc) = r.get("id", "pdbx_evidence_code", "details"); ba::to_upper(code); for (auto l: { "SITE_IDENTIFIER: " + ident, "EVIDENCE_CODE: " + code, "SITE_DESCRIPTION: " + desc }) { for (auto s: cif::wordWrap(l, 69)) pdbFile << "REMARK 800 " << s << std::endl; }; } } void WriteRemark999(std::ostream& pdbFile, Datablock& db) { for (auto& r: db["pdbx_entry_details"]) { std::string sequence_details = r["sequence_details"].as(); if (not sequence_details.empty()) WriteOneContinuedLine(pdbFile, "REMARK 999", 0, "\nSEQUENCE\n" + sequence_details, 11); break; } } void WriteRemarks(std::ostream& pdbFile, Datablock& db) { WriteRemark1(pdbFile, db); WriteRemark2(pdbFile, db); WriteRemark3(pdbFile, db); WriteRemark200(pdbFile, db); WriteRemark280(pdbFile, db); WriteRemark350(pdbFile, db); WriteRemark400(pdbFile, db); WriteRemark465(pdbFile, db); WriteRemark470(pdbFile, db); WriteRemark610(pdbFile, db); WriteRemark800(pdbFile, db); WriteRemark999(pdbFile, db); } int WritePrimaryStructure(std::ostream& pdbFile, Datablock& db) { int numSeq = 0; // DBREF for (auto r: db["struct_ref"]) { std::string id, db_name, db_code; cif::tie(id, db_name, db_code) = r.get("id", "db_name", "db_code"); for (auto r1: db["struct_ref_seq"].find(cif::Key("ref_id") == id)) { std::string idCode, chainID, insertBegin, insertEnd, dbAccession, dbinsBeg, dbinsEnd; std::string seqBegin, seqEnd, dbseqBegin, dbseqEnd; cif::tie(idCode, chainID, seqBegin, insertBegin, seqEnd, insertEnd, dbAccession, dbseqBegin, dbinsBeg, dbseqEnd, dbinsEnd) = r1.get("pdbx_PDB_id_code", "pdbx_strand_id", "pdbx_auth_seq_align_beg", "pdbx_seq_align_beg_ins_code", "pdbx_auth_seq_align_end", "pdbx_seq_align_end_ins_code", "pdbx_db_accession", "db_align_beg", "pdbx_db_align_beg_ins_code", "db_align_end", "pdbx_db_align_end_ins_code"); if (dbAccession.length() > 8 or db_code.length() > 12 or atoi(dbseqEnd.c_str()) >= 100000) pdbFile << (boost::format( "DBREF1 %4.4s %1.1s %4.4s%1.1s %4.4s%1.1s %-6.6s %-20.20s") % idCode % chainID % seqBegin % insertBegin % seqEnd % insertEnd % db_name % db_code ).str() << std::endl << (boost::format( "DBREF2 %4.4s %1.1s %-22.22s %10.10s %10.10s") % idCode % chainID % dbAccession % dbseqBegin % dbseqEnd).str() << std::endl; else pdbFile << (boost::format( "DBREF %4.4s %1.1s %4.4s%1.1s %4.4s%1.1s %-6.6s %-8.8s %-12.12s %5.5s%1.1s %5.5s%1.1s") % idCode % chainID % seqBegin % insertBegin % seqEnd % insertEnd % db_name % dbAccession % db_code % dbseqBegin % dbinsBeg % dbseqEnd % dbinsEnd).str() << std::endl; } } // SEQADV for (auto r: db["struct_ref_seq_dif"]) { std::string idCode, resName, chainID, seqNum, iCode, database, dbAccession, dbRes, dbSeq, conflict; cif::tie(idCode, resName, chainID, seqNum, iCode, database, dbAccession, dbRes, dbSeq, conflict) = r.get("pdbx_PDB_id_code", "mon_id", "pdbx_pdb_strand_id", "pdbx_auth_seq_num", "pdbx_pdb_ins_code", "pdbx_seq_db_name", "pdbx_seq_db_accession_code", "db_mon_id", "pdbx_seq_db_seq_num", "details"); ba::to_upper(conflict); pdbFile << (boost::format( "SEQADV %4.4s %3.3s %1.1s %4.4s%1.1s %-4.4s %-9.9s %3.3s %5.5s %-21.21s") % idCode % resName % chainID % seqNum % iCode % database % dbAccession % dbRes % dbSeq % conflict).str() << std::endl; } // SEQRES std::map> seqres; std::map seqresl; for (auto r: db["pdbx_poly_seq_scheme"]) { std::string chainID, res; cif::tie(chainID, res) = r.get("pdb_strand_id", "mon_id"); if (chainID.empty() or res.length() > 3 or res.length() < 1) throw std::runtime_error("invalid pdbx_poly_seq_scheme record, chain: " + chainID + " res: " + res); seqres[chainID[0]].push_back(std::string(3 - res.length(), ' ') + res); ++seqresl[chainID[0]]; } for (auto s: seqres) { char chainID; std::vector seq; tie(chainID, seq) = s; int n = 1; while (seq.empty() == false) { auto t = seq.size(); if (t > 13) t = 13; auto r = boost::make_iterator_range(seq.begin(), seq.begin() + t); pdbFile << (boost::format( "SEQRES %3.3d %c %4.4d %-51.51s ") % n++ % chainID % seqresl[chainID] % ba::join(r, " ")).str() << std::endl; ++numSeq; seq.erase(seq.begin(), seq.begin() + t); } } // MODRES for (auto r: db["pdbx_struct_mod_residue"]) { std::string chainID, seqNum, resName, iCode, stdRes, comment; cif::tie(chainID, seqNum, resName, iCode, stdRes, comment) = r.get("auth_asym_id", "auth_seq_id", "auth_comp_id", "PDB_ins_code", "parent_comp_id", "details"); pdbFile << (boost::format( "MODRES %4.4s %3.3s %1.1s %4.4s%1.1s %3.3s %-41.41s") % db.getName() % resName % chainID % seqNum % iCode % stdRes % comment).str() << std::endl; } return numSeq; } int WriteHeterogen(std::ostream& pdbFile, Datablock& db) { int numHet = 0; std::string water_entity_id, water_comp_id; for (auto r: db["entity"].find(cif::Key("type") == std::string("water"))) { water_entity_id = r["id"].as(); break; } std::map het; for (auto r: db["chem_comp"]) { std::string id, name, mon_nstd_flag; cif::tie(id, name, mon_nstd_flag) = r.get("id", "name", "mon_nstd_flag"); if (mon_nstd_flag == "y") continue; het[id] = name; } for (auto r: db["pdbx_entity_nonpoly"]) { std::string entity_id, name, comp_id; cif::tie(entity_id, name, comp_id) = r.get("entity_id", "name", "comp_id"); if (entity_id == water_entity_id) water_comp_id = comp_id; if (het.count(comp_id) == 0) het[comp_id] = name; } struct HET { bool water; std::string hetID; char chainID; int seqNum; char iCode; int numHetAtoms; std::string text; // ignored }; std::vector hets; // // construct component number map // map component_nr; // std::string lChainID, lCompID, lICode; // int lSeqNum; // // for (auto r: db["atom_site"]) // { // std::string chainID, compID, iCode; // int seqNum; // // cif::tie(seqNum, comp_id, chain_id, iCode) = // r.get("auth_seq_id", "auth_comp_id", "auth_asym_id", "pdbx_PDB_ins_code"); // // if (chainID != lChainID or compID != lCompID or seqNum != lSeqNum or iCode != lICode) // // } // count the HETATM's // for (auto r: db["atom_site"].find(cif::Key("group_PDB") == std::string("HETATM"))) std::set missingHetNames; for (auto r: db["atom_site"]) { int seqNum; std::string entity_id, comp_id, chain_id, iCode, modelNr; cif::tie(entity_id, seqNum, comp_id, chain_id, iCode, modelNr) = r.get("label_entity_id", "auth_seq_id", "auth_comp_id", "auth_asym_id", "pdbx_PDB_ins_code", "pdbx_PDB_model_num"); if (mmcif::kAAMap.count(comp_id) or mmcif::kBaseMap.count(comp_id)) continue; if (chain_id.length() != 1) throw std::runtime_error("Cannot produce PDB file, auth_asym_id not valid"); if (entity_id != water_entity_id and het.count(comp_id) == 0) missingHetNames.insert(comp_id); auto h = find_if(hets.begin(), hets.end(), [=](const HET& het) -> bool { return het.hetID == comp_id and het.chainID == chain_id[0] and het.seqNum == seqNum; }); if (h == hets.end()) { hets.push_back({entity_id == water_entity_id, comp_id, chain_id[0], seqNum, (iCode.empty() ? ' ' : iCode[0]), 1 }); } else h->numHetAtoms += 1; } if (cif::VERBOSE > 1 and not missingHetNames.empty()) std::cerr << "Missing het name(s) for " << ba::join(missingHetNames, ", ") << std::endl; boost::format kHET("HET %3.3s %1.1s%4.4d%1.1s %5.5d"); for (auto h: hets) { if (h.water) continue; pdbFile << (kHET % h.hetID % h.chainID % h.seqNum % h.iCode % h.numHetAtoms) << std::endl; ++numHet; } for (auto n: het) { std::string id, name; tie(id, name) = n; if (id == water_comp_id) continue; ba::to_upper(name); int c = 1; boost::format kHETNAM("HETNAM %2.2s %3.3s "); for (;;) { pdbFile << (kHETNAM % (c > 1 ? std::to_string(c) : std::string()) % id); ++c; if (name.length() > 55) { bool done = false; for (auto e = name.begin() + 54; e != name.begin(); --e) { if (ispunct(*e)) { pdbFile << std::string(name.begin(), e) << std::endl; name.erase(name.begin(), e); done = true; break; } } if (not done) { pdbFile << std::string(name.begin(), name.begin() + 55) << std::endl; name.erase(name.begin(), name.begin() + 55); } continue; } pdbFile << name << std::endl; break; } } for (auto n: het) { std::string id, name; tie(id, name) = n; if (id == water_comp_id) continue; std::string syn = db["chem_comp"][cif::Key("id") == id]["pdbx_synonyms"].as(); if (syn.empty()) continue; WriteOneContinuedLine(pdbFile, "HETSYN", 4, id + ' ' + syn, 11); } // FORMUL std::vector formulas; boost::format kFORMUL("FORMUL %2.2d %3.3s %2.2s%c"); for (auto h: het) { std::string hetID = h.first; int componentNr = 0; std::string first_het_asym_id; for (auto p: db["pdbx_poly_seq_scheme"].find(cif::Key("mon_id") == hetID)) { first_het_asym_id = p["asym_id"].as(); break; } if (first_het_asym_id.empty()) { for (auto p: db["pdbx_nonpoly_scheme"].find(cif::Key("mon_id") == hetID)) { first_het_asym_id = p["asym_id"].as(); break; } } if (not first_het_asym_id.empty()) { for (auto a: db["struct_asym"]) { ++componentNr; if (a["id"] == first_het_asym_id) break; } } auto nr = count_if(hets.begin(), hets.end(), [hetID](auto& h) -> bool { return h.hetID == hetID; }); for (auto r: db["chem_comp"].find(cif::Key("id") == hetID)) { std::string formula = r["formula"].as(); if (nr > 1) formula = std::to_string(nr) + '(' + formula + ')'; int c = 1; for (;;) { std::stringstream fs; fs << (kFORMUL % componentNr % hetID % (c > 1 ? std::to_string(c) : std::string()) % (hetID == water_comp_id ? '*' : ' ')); ++c; if (formula.length() > 51) { bool done = false; for (auto e = formula.begin() + 50; e != formula.begin(); --e) { if (ispunct(*e)) { pdbFile << std::string(formula.begin(), e) << std::endl; formula.erase(formula.begin(), e); done = true; break; } } if (not done) { pdbFile << std::string(formula.begin(), formula.begin() + 55) << std::endl; formula.erase(formula.begin(), formula.begin() + 55); } continue; } fs << formula << std::endl; formulas.push_back(fs.str()); break; } break; } } sort(formulas.begin(), formulas.end(), [](const std::string& a, const std::string& b) -> bool { return stoi(a.substr(8, 2)) < stoi(b.substr(8, 2)); }); for (auto& f: formulas) pdbFile << f; return numHet; } std::tuple WriteSecondaryStructure(std::ostream& pdbFile, Datablock& db) { int numHelix = 0, numSheet = 0; // HELIX boost::format kHELIX("HELIX %3.3d %3.3s %3.3s %c %4.4d%1.1s %3.3s %c %4.4d%1.1s%2.2d%-30.30s %5.5d"); for (auto r: db["struct_conf"].find(cif::Key("conf_type_id") == "HELX_P")) { std::string pdbx_PDB_helix_id, beg_label_comp_id, pdbx_beg_PDB_ins_code, end_label_comp_id, pdbx_end_PDB_ins_code, beg_auth_comp_id, beg_auth_asym_id, end_auth_comp_id, end_auth_asym_id, details; int pdbx_PDB_helix_class, pdbx_PDB_helix_length, beg_auth_seq_id, end_auth_seq_id; cif::tie(pdbx_PDB_helix_id, beg_label_comp_id, pdbx_beg_PDB_ins_code, end_label_comp_id, pdbx_end_PDB_ins_code, beg_auth_comp_id, beg_auth_asym_id, end_auth_comp_id, end_auth_asym_id, details, pdbx_PDB_helix_class, pdbx_PDB_helix_length, beg_auth_seq_id, end_auth_seq_id) = r.get("pdbx_PDB_helix_id", "beg_label_comp_id", "pdbx_beg_PDB_ins_code", "end_label_comp_id", "pdbx_end_PDB_ins_code", "beg_auth_comp_id", "beg_auth_asym_id", "end_auth_comp_id", "end_auth_asym_id", "details", "pdbx_PDB_helix_class", "pdbx_PDB_helix_length", "beg_auth_seq_id", "end_auth_seq_id"); ++numHelix; pdbFile << (kHELIX % numHelix % pdbx_PDB_helix_id % beg_label_comp_id % beg_auth_asym_id % beg_auth_seq_id % pdbx_beg_PDB_ins_code % end_label_comp_id % end_auth_asym_id % end_auth_seq_id % pdbx_end_PDB_ins_code % pdbx_PDB_helix_class % details % pdbx_PDB_helix_length) << std::endl; } // SHEET boost::format kSHEET0("SHEET %3.3d %3.3s%2.2d %3.3s %1.1s%4.4d%1.1s %3.3s %1.1s%4.4d%1.1s%2.2d"), kSHEET1("SHEET %3.3d %3.3s%2.2d %3.3s %1.1s%4.4d%1.1s %3.3s %1.1s%4.4d%1.1s%2.2d " "%-4.4s%3.3s %1.1s%4.4d%1.1s %-4.4s%3.3s %1.1s%4.4d%1.1s"); for (auto r: db["struct_sheet"]) { std::string sheetID; int numStrands = 0; cif::tie(sheetID, numStrands) = r.get("id", "number_strands"); bool first = true; for (auto o: db["struct_sheet_order"].find(cif::Key("sheet_id") == sheetID)) { int sense = 0; std::string s, rangeID1, rangeID2; cif::tie(s, rangeID1, rangeID2) = o.get("sense", "range_id_1", "range_id_2"); if (s == "anti-parallel") sense = -1; else if (s == "parallel") sense = 1; if (first) { std::string initResName, initChainID, initICode, endResName, endChainID, endICode; int initSeqNum, endSeqNum; auto r1 = db["struct_sheet_range"][cif::Key("sheet_id") == sheetID and cif::Key("id") == rangeID1]; cif::tie(initResName, initICode, endResName, endICode, initResName, initChainID, initSeqNum, endResName, endChainID, endSeqNum) = r1.get("beg_label_comp_id", "pdbx_beg_PDB_ins_code", "end_label_comp_id", "pdbx_end_PDB_ins_code", "beg_auth_comp_id", "beg_auth_asym_id", "beg_auth_seq_id", "end_auth_comp_id", "end_auth_asym_id", "end_auth_seq_id"); pdbFile << (kSHEET0 % rangeID1 % sheetID % numStrands % initResName % initChainID % initSeqNum % initICode % endResName % endChainID % endSeqNum % endICode % 0) << std::endl; first = false; } std::string initResName, initChainID, initICode, endResName, endChainID, endICode, curAtom, curResName, curChainID, curICode, prevAtom, prevResName, prevChainID, prevICode; int initSeqNum, endSeqNum, curResSeq, prevResSeq; auto r2 = db["struct_sheet_range"][cif::Key("sheet_id") == sheetID and cif::Key("id") == rangeID2]; cif::tie(initResName, initICode, endResName, endICode, initResName, initChainID, initSeqNum, endResName, endChainID, endSeqNum) = r2.get("beg_label_comp_id", "pdbx_beg_PDB_ins_code", "end_label_comp_id", "pdbx_end_PDB_ins_code", "beg_auth_comp_id", "beg_auth_asym_id", "beg_auth_seq_id", "end_auth_comp_id", "end_auth_asym_id", "end_auth_seq_id"); auto h = db["pdbx_struct_sheet_hbond"].find(cif::Key("sheet_id") == sheetID and cif::Key("range_id_1") == rangeID1 and cif::Key("range_id_2") == rangeID2); if (h.empty()) { pdbFile << (kSHEET0 % rangeID2 % sheetID % numStrands % initResName % initChainID % initSeqNum % initICode % endResName % endChainID % endSeqNum % endICode % sense) << std::endl; } else { std::string compID[2]; cif::tie(compID[0], compID[1]) = h.front().get("range_2_label_comp_id", "range_1_label_comp_id"); cif::tie(curAtom, curResName, curResSeq, curChainID, curICode, prevAtom, prevResName, prevResSeq, prevChainID, prevICode) = h.front().get("range_2_auth_atom_id", "range_2_auth_comp_id", "range_2_auth_seq_id", "range_2_auth_asym_id", "range_2_PDB_ins_code", "range_1_auth_atom_id", "range_1_auth_comp_id", "range_1_auth_seq_id", "range_1_auth_asym_id", "range_1_PDB_ins_code"); curAtom = cif2pdbAtomName(curAtom, compID[0], db); prevAtom = cif2pdbAtomName(prevAtom, compID[1], db); pdbFile << (kSHEET1 % rangeID2 % sheetID % numStrands % initResName % initChainID % initSeqNum % initICode % endResName % endChainID % endSeqNum % endICode % sense % curAtom % curResName % curChainID % curResSeq % curICode % prevAtom % prevResName % prevChainID % prevResSeq % prevICode) << std::endl; } ++numSheet; } } return std::make_tuple(numHelix, numSheet); } void WriteConnectivity(std::ostream& pdbFile, cif::Datablock& db) { // SSBOND // have to filter out alts std::set> ssSeen; int nr = 1; boost::format kSSBOND("SSBOND %3.3d CYS %1.1s %4.4d%1.1s CYS %1.1s %4.4d%1.1s %6.6s %6.6s %5.2f"); for (auto r: db["struct_conn"].find(cif::Key("conn_type_id") == "disulf")) { std::string chainID1, icode1, chainID2, icode2, sym1, sym2; float Length; int seqNum1, seqNum2; cif::tie( chainID1, seqNum1, icode1, chainID2, seqNum2, icode2, sym1, sym2, Length) = r.get("ptnr1_auth_asym_id", "ptnr1_auth_seq_id", "pdbx_ptnr1_PDB_ins_code", "ptnr2_auth_asym_id", "ptnr2_auth_seq_id", "pdbx_ptnr2_PDB_ins_code", "ptnr1_symmetry", "ptnr2_symmetry", "pdbx_dist_value"); auto n = ssSeen.emplace(chainID1[0], seqNum1, icode1[0], chainID2[0], seqNum2, icode2[0]); if (n.second == false) continue; sym1 = cif2pdbSymmetry(sym1); sym2 = cif2pdbSymmetry(sym2); pdbFile << (kSSBOND % nr % chainID1 % seqNum1 % icode1 % chainID2 % seqNum2 % icode2 % sym1 % sym2 % Length) << std::endl; ++nr; } // LINK boost::format kLINK("LINK %-4.4s%1.1s%3.3s %1.1s%4.4d%1.1s %-4.4s%1.1s%3.3s %1.1s%4.4d%1.1s %6.6s %6.6s"); for (auto r: db["struct_conn"].find(cif::Key("conn_type_id") == "metalc" or cif::Key("conn_type_id") == "covale")) { std::string name1, altLoc1, resName1, chainID1, iCode1, name2, altLoc2, resName2, chainID2, iCode2, sym1, sym2, Length; int resSeq1, resSeq2; cif::tie(name1, altLoc1, resName1, chainID1, resSeq1, iCode1, name2, altLoc2, resName2, chainID2, resSeq2, iCode2, sym1, sym2, Length) = r.get("ptnr1_label_atom_id", "pdbx_ptnr1_label_alt_id", "ptnr1_label_comp_id", "ptnr1_auth_asym_id", "ptnr1_auth_seq_id", "pdbx_ptnr1_PDB_ins_code", "ptnr2_label_atom_id", "pdbx_ptnr2_label_alt_id", "ptnr2_label_comp_id", "ptnr2_auth_asym_id", "ptnr2_auth_seq_id", "pdbx_ptnr2_PDB_ins_code", "ptnr1_symmetry", "ptnr2_symmetry", "pdbx_dist_value"); std::string compID[2]; cif::tie(compID[0], compID[1]) = r.get("ptnr1_label_comp_id", "ptnr2_label_comp_id"); name1 = cif2pdbAtomName(name1, compID[0], db); name2 = cif2pdbAtomName(name2, compID[1], db); sym1 = cif2pdbSymmetry(sym1); sym2 = cif2pdbSymmetry(sym2); pdbFile << (kLINK % name1 % altLoc1 % resName1 % chainID1 % resSeq1 % iCode1 % name2 % altLoc2 % resName2 % chainID2 % resSeq2 % iCode2 % sym1 % sym2); if (not Length.empty()) pdbFile << boost::format(" %5.2f") % stod(Length); pdbFile << std::endl; } // CISPEP boost::format kCISPEP("CISPEP %3.3d %3.3s %1.1s %4.4d%1.1s %3.3s %1.1s %4.4d%1.1s %3.3d %6.2f"); for (auto r: db["struct_mon_prot_cis"]) { std::string serNum, pep1, chainID1, icode1, pep2, chainID2, icode2, modNum; int seqNum1, seqNum2; float measure; cif::tie(serNum, pep1, chainID1, seqNum1, icode1, pep2, chainID2, seqNum2, icode2, modNum, measure) = r.get("pdbx_id", "label_comp_id", "auth_asym_id", "auth_seq_id", "pdbx_PDB_ins_code", "pdbx_label_comp_id_2", "pdbx_auth_asym_id_2", "pdbx_auth_seq_id_2", "pdbx_PDB_ins_code_2", "pdbx_PDB_model_num", "pdbx_omega_angle"); pdbFile << (kCISPEP % serNum % pep1 % chainID1 % seqNum1 % icode1 % pep2 % chainID2 % seqNum2 % icode2 % modNum % measure) << std::endl; } } int WriteMiscellaneousFeatures(std::ostream& pdbFile, Datablock& db) { int numSite = 0; // SITE std::map> sites; boost::format kSITERES("%3.3s %1.1s%4.4d%1.1s "); for (auto r: db["struct_site_gen"]) { std::string siteID, resName, chainID, iCode; int seq; cif::tie(siteID, resName, chainID, seq, iCode) = r.get("site_id", "auth_comp_id", "auth_asym_id", "auth_seq_id", "pdbx_auth_ins_code"); sites[siteID].push_back((kSITERES % resName % chainID % seq % iCode).str()); } boost::format kSITE("SITE %3.3d %3.3s %2.2d "); for (auto s: sites) { std::string siteID = std::get<0>(s); std::deque& res = std::get<1>(s); size_t numRes = res.size(); int nr = 1; while (res.empty() == false) { pdbFile << (kSITE % nr % siteID % numRes); for (int i = 0; i < 4; ++i) { if (not res.empty()) { pdbFile << res.front(); res.pop_front(); } else pdbFile << std::string(11, ' '); } pdbFile << std::endl; ++nr; ++numSite; } } return numSite; } void WriteCrystallographic(std::ostream& pdbFile, Datablock& db) { auto r = db["symmetry"][cif::Key("entry_id") == db.getName()]; std::string symmetry = r["space_group_name_H-M"].as(); r = db["cell"][cif::Key("entry_id") == db.getName()]; boost::format kCRYST1("CRYST1%9.3f%9.3f%9.3f%7.2f%7.2f%7.2f %-11.11s%4.4d"); pdbFile << (kCRYST1 % r["length_a"].as() % r["length_b"].as() % r["length_c"].as() % r["angle_alpha"].as() % r["angle_beta"].as() % r["angle_gamma"].as() % symmetry % r["Z_PDB"].as()) << std::endl; } int WriteCoordinateTransformation(std::ostream& pdbFile, Datablock& db) { int result = 0; for (auto r: db["database_PDB_matrix"]) { boost::format kORIGX("ORIGX%1.1d %10.6f%10.6f%10.6f %10.5f"); pdbFile << (kORIGX % 1 % r["origx[1][1]"].as() % r["origx[1][2]"].as() % r["origx[1][3]"].as() % r["origx_vector[1]"].as()) << std::endl; pdbFile << (kORIGX % 2 % r["origx[2][1]"].as() % r["origx[2][2]"].as() % r["origx[2][3]"].as() % r["origx_vector[2]"].as()) << std::endl; pdbFile << (kORIGX % 3 % r["origx[3][1]"].as() % r["origx[3][2]"].as() % r["origx[3][3]"].as() % r["origx_vector[3]"].as()) << std::endl; result += 3; break; } for (auto r: db["atom_sites"]) { boost::format kSCALE("SCALE%1.1d %10.6f%10.6f%10.6f %10.5f"); pdbFile << (kSCALE % 1 % r["fract_transf_matrix[1][1]"].as() % r["fract_transf_matrix[1][2]"].as() % r["fract_transf_matrix[1][3]"].as() % r["fract_transf_vector[1]"].as()) << std::endl; pdbFile << (kSCALE % 2 % r["fract_transf_matrix[2][1]"].as() % r["fract_transf_matrix[2][2]"].as() % r["fract_transf_matrix[2][3]"].as() % r["fract_transf_vector[2]"].as()) << std::endl; pdbFile << (kSCALE % 3 % r["fract_transf_matrix[3][1]"].as() % r["fract_transf_matrix[3][2]"].as() % r["fract_transf_matrix[3][3]"].as() % r["fract_transf_vector[3]"].as()) << std::endl; result += 3; break; } int nr = 1; boost::format kMTRIX("MTRIX%1.1d %3.3d%10.6f%10.6f%10.6f %10.5f %1.1s"); for (auto r: db["struct_ncs_oper"]) { std::string given = r["code"] == "given" ? "1" : ""; pdbFile << (kMTRIX % 1 % nr % r["matrix[1][1]"].as() % r["matrix[1][2]"].as() % r["matrix[1][3]"].as() % r["vector[1]"].as() % given) << std::endl; pdbFile << (kMTRIX % 2 % nr % r["matrix[2][1]"].as() % r["matrix[2][2]"].as() % r["matrix[2][3]"].as() % r["vector[2]"].as() % given) << std::endl; pdbFile << (kMTRIX % 3 % nr % r["matrix[3][1]"].as() % r["matrix[3][2]"].as() % r["matrix[3][3]"].as() % r["vector[3]"].as() % given) << std::endl; ++nr; result += 3; } return result; } std::tuple WriteCoordinatesForModel(std::ostream& pdbFile, Datablock& db, const std::map>& last_resseq_for_chain_map, std::set& TERminatedChains, int model_nr) { int numCoord = 0, numTer = 0; boost::format kATOM( "%-6.6s%5.5d %-4.4s%1.1s%3.3s %1.1s%4.4d%1.1s %8.3f%8.3f%8.3f%6.2f%6.2f %2.2s%2.2s"), kANISOU( "ANISOU%5.5d %-4.4s%1.1s%3.3s %1.1s%4.4d%1.1s %7.7d%7.7d%7.7d%7.7d%7.7d%7.7d %2.2s%2.2s"), kTER( "TER %5.5d %3.3s %1.1s%4.4d%1.1s"); auto& atom_site = db["atom_site"]; auto& atom_site_anisotrop = db["atom_site_anisotrop"]; int serial = 1; auto ri = atom_site.begin(); std::string id, group, name, altLoc, resName, chainID, iCode, element; int resSeq = 0, charge; for (;;) { std::string nextResName, nextChainID, nextICode, modelNum; int nextResSeq = 0; if (ri != atom_site.end()) cif::tie(nextResName, nextChainID, nextICode, nextResSeq, modelNum) = ri->get("label_comp_id", "auth_asym_id", "pdbx_PDB_ins_code", "auth_seq_id", "pdbx_PDB_model_num"); if (modelNum.empty() == false and stol(modelNum) != model_nr) { ++ri; continue; } if (chainID.empty() == false and TERminatedChains.count(chainID) == 0) { bool terminate = nextChainID != chainID; if (not terminate) terminate = (nextResSeq != resSeq or iCode != nextICode) and (last_resseq_for_chain_map.count(chainID) == false or last_resseq_for_chain_map.at(chainID) == make_tuple(resName, resSeq, iCode)); if (terminate) { pdbFile << (kTER % serial % resName % chainID % resSeq % iCode) << std::endl; ++serial; TERminatedChains.insert(chainID); ++numTer; } } if (ri == atom_site.end()) break; auto r = *ri++; try { if (r["pdbx_PDB_model_num"].as() != model_nr) continue; } catch (...) { /* perhaps no model number here */ } float x, y, z, occupancy, tempFactor; cif::tie(id, group, name, altLoc, resName, chainID, resSeq, iCode, x, y, z, occupancy, tempFactor, element, charge) = r.get("id", "group_PDB", "label_atom_id", "label_alt_id", "auth_comp_id", "auth_asym_id", "auth_seq_id", "pdbx_PDB_ins_code", "Cartn_x", "Cartn_y", "Cartn_z", "occupancy", "B_iso_or_equiv", "type_symbol", "pdbx_formal_charge"); if (name.length() < 4 and (element.length() == 1 or std::toupper(name[0]) != std::toupper(element[0]) or std::toupper(name[1]) != std::toupper(element[1]))) name.insert(name.begin(), ' '); std::string sCharge; if (charge != 0) sCharge = std::to_string(charge) + (charge > 0 ? '+' : '-'); pdbFile << (kATOM % group % serial % name % altLoc % resName % chainID % resSeq % iCode % x % y % z % occupancy % tempFactor % element % sCharge) << std::endl; ++numCoord; auto ai = atom_site_anisotrop[cif::Key("id") == id]; if (not ai.empty()) // // auto ai = find_if(atom_site_anisotrop.begin(), atom_site_anisotrop.end(), [id](Row r) -> bool { return r["id"] == id; }); // if (ai != atom_site_anisotrop.end()) { float u11, u22, u33, u12, u13, u23; cif::tie(u11, u22, u33, u12, u13, u23) = ai.get("U[1][1]", "U[2][2]", "U[3][3]", "U[1][2]", "U[1][3]", "U[2][3]"); pdbFile << (kANISOU % serial % name % altLoc % resName % chainID % resSeq % iCode % std::lrintf(u11 * 10000) % std::lrintf(u22 * 10000) % std::lrintf(u33 * 10000) % std::lrintf(u12 * 10000) % std::lrintf(u13 * 10000) % std::lrintf(u23 * 10000) % element % sCharge) << std::endl; } ++serial; } return std::make_tuple(numCoord, numTer); } std::tuple WriteCoordinate(std::ostream& pdbFile, Datablock& db) { // residues known from seqres // map,std::string> res2chain_map; std::map> last_resseq_for_chain_map; for (auto r: db["pdbx_poly_seq_scheme"]) { std::string chainID, resName, iCode; int resSeq; if (r["auth_seq_num"].empty()) continue; cif::tie(chainID, resName, resSeq, iCode) = r.get("pdb_strand_id", "pdb_mon_id", "auth_seq_num", "pdb_ins_code"); last_resseq_for_chain_map[chainID] = make_tuple(resName, resSeq, iCode); // res2chain_map[make_tuple(resName, resSeq, iCode)] = chainID; } // collect known model numbers std::set models; try { for (auto r: db["atom_site"]) models.insert(r["pdbx_PDB_model_num"].as()); } catch (...) { } std::tuple result; if (models.empty() or models == std::set{ 0 }) { std::set TERminatedChains; result = WriteCoordinatesForModel(pdbFile, db, last_resseq_for_chain_map, TERminatedChains, 0); } else { boost::format kModel("MODEL %4.4d"); for (int model_nr: models) { if (models.size() > 1) pdbFile << (kModel % model_nr) << std::endl; std::set TERminatedChains; auto n = WriteCoordinatesForModel(pdbFile, db, last_resseq_for_chain_map, TERminatedChains, model_nr); if (model_nr == 1) result = n; if (models.size() > 1) pdbFile << "ENDMDL" << std::endl; } } return result; } void WritePDBFile(std::ostream& pdbFile, cif::File& cifFile) { io::filtering_ostream out; out.push(FillOutLineFilter()); out.push(pdbFile); auto filter = out.component(0); assert(filter); auto& db = cifFile.firstDatablock(); int numRemark = 0, numHet = 0, numHelix = 0, numSheet = 0, numTurn = 0, numSite = 0, numXform = 0, numCoord = 0, numTer = 0, numConect = 0, numSeq = 0; WriteTitle(out, db); int savedLineCount = filter->GetLineCount(); // numRemark = WriteRemarks(out, db); WriteRemarks(out, db); numRemark = filter->GetLineCount() - savedLineCount; numSeq = WritePrimaryStructure(out, db); numHet = WriteHeterogen(out, db); std::tie(numHelix, numSheet) = WriteSecondaryStructure(out, db); WriteConnectivity(out, db); numSite = WriteMiscellaneousFeatures(out, db); WriteCrystallographic(out, db); numXform = WriteCoordinateTransformation(out, db); std::tie(numCoord, numTer) = WriteCoordinate(out, db); boost::format kMASTER("MASTER %5.5d 0%5.5d%5.5d%5.5d%5.5d%5.5d%5.5d%5.5d%5.5d%5.5d%5.5d"); out << (kMASTER % numRemark % numHet % numHelix % numSheet % numTurn % numSite % numXform % numCoord % numTer % numConect % numSeq) << std::endl << "END" << std::endl; } void WritePDBHeaderLines(std::ostream& os, cif::File& cifFile) { // io::filtering_ostream out; // out.push(FillOutLineFilter()); // out.push(os); // auto filter = out.component(0); // assert(filter); auto& db = cifFile.firstDatablock(); WriteHeaderLines(os, db); } std::string FixStringLength(const std::string& s, std::string::size_type l) { auto result = s; if (result.length() > l) result = result.substr(0, l - 4) + "... "; else if (result.length() < l) result.append(l - result.length(), ' '); return result; } std::string GetPDBHEADERLine(cif::File& cifFile, std::string::size_type truncate_at) { auto& db = cifFile.firstDatablock(); // 0 1 2 3 4 5 6 7 8 // HEADER xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxDDDDDDDDD IIII const char kHeader[] = "HEADER %1$-40.40s" "%2$-9.9s"" %3$-4.4s"; // HEADER std::string keywords; auto& cat1 = db["struct_keywords"]; for (auto r: cat1) { keywords = r["pdbx_keywords"].as(); if (keywords.length() > truncate_at - 40) keywords = keywords.substr(0, truncate_at - 44) + " ..."; } std::string date; for (auto r: db["pdbx_database_status"]) { date = r["recvd_initial_deposition_date"].as(); if (date.empty()) continue; date = cif2pdbDate(date); break; } if (date.empty()) { for (auto r: db["database_PDB_rev"]) { date = r["date_original"].as(); if (date.empty()) continue; date = cif2pdbDate(date); break; } } return FixStringLength((boost::format(kHeader) % keywords % date % db.getName()).str(), truncate_at); } std::string GetPDBCOMPNDLine(cif::File& cifFile, std::string::size_type truncate_at) { auto& db = cifFile.firstDatablock(); // COMPND using namespace std::placeholders; int molID = 0; std::vector cmpnd; for (auto r: db["entity"]) { if (r["type"] != "polymer") continue; std::string entityID = r["id"].as(); ++molID; cmpnd.push_back("MOL_ID: " + std::to_string(molID)); std::string molecule = r["pdbx_description"].as(); cmpnd.push_back("MOLECULE: " + molecule); auto poly = db["entity_poly"].find(cif::Key("entity_id") == entityID); if (not poly.empty()) { std::string chains = poly.front()["pdbx_strand_id"].as(); ba::replace_all(chains, ",", ", "); cmpnd.push_back("CHAIN: " + chains); } std::string fragment = r["pdbx_fragment"].as(); if (not fragment.empty()) cmpnd.push_back("FRAGMENT: " + fragment); for (auto sr: db["entity_name_com"].find(cif::Key("entity_id") == entityID)) { std::string syn = sr["name"].as(); if (not syn.empty()) cmpnd.push_back("SYNONYM: " + syn); } std::string mutation = r["pdbx_mutation"].as(); if (not mutation.empty()) cmpnd.push_back("MUTATION: " + mutation); std::string ec = r["pdbx_ec"].as(); if (not ec.empty()) cmpnd.push_back("EC: " + ec); if (r["src_method"] == "man" or r["src_method"] == "syn") cmpnd.push_back("ENGINEERED: YES"); std::string details = r["details"].as(); if (not details.empty()) cmpnd.push_back("OTHER_DETAILS: " + details); } return FixStringLength("COMPND " + ba::join(cmpnd, "; "), truncate_at); } std::string GetPDBSOURCELine(cif::File& cifFile, std::string::size_type truncate_at) { auto& db = cifFile.firstDatablock(); // SOURCE int molID = 0; std::vector source; for (auto r: db["entity"]) { if (r["type"] != "polymer") continue; std::string entityID = r["id"].as(); ++molID; source.push_back("MOL_ID: " + std::to_string(molID)); if (r["src_method"] == "syn") source.push_back("SYNTHETIC: YES"); auto& gen = db["entity_src_gen"]; const std::pair kGenSourceMapping[] = { { "gene_src_common_name", "ORGANISM_COMMON" }, { "pdbx_gene_src_gene", "GENE" }, { "gene_src_strain", "STRAIN" }, { "pdbx_gene_src_cell_line", "CELL_LINE" }, { "pdbx_gene_src_organelle", "ORGANELLE" }, { "pdbx_gene_src_cellular_location","CELLULAR_LOCATION" }, { "pdbx_gene_src_scientific_name", "ORGANISM_SCIENTIFIC" }, { "pdbx_gene_src_ncbi_taxonomy_id", "ORGANISM_TAXID" }, { "pdbx_host_org_scientific_name", "EXPRESSION_SYSTEM" }, { "pdbx_host_org_ncbi_taxonomy_id", "EXPRESSION_SYSTEM_TAXID" }, { "pdbx_host_org_strain", "EXPRESSION_SYSTEM_STRAIN" }, { "pdbx_host_org_variant", "EXPRESSION_SYSTEM_VARIANT" }, { "pdbx_host_org_cellular_location","EXPRESSION_SYSTEM_CELLULAR_LOCATION" }, { "pdbx_host_org_vector_type", "EXPRESSION_SYSTEM_VECTOR_TYPE" }, { "pdbx_host_org_vector", "EXPRESSION_SYSTEM_VECTOR" }, { "pdbx_host_org_gene", "EXPRESSION_SYSTEM_GENE" }, { "plasmid_name", "EXPRESSION_SYSTEM_PLASMID" } }; for (auto gr: gen.find(cif::Key("entity_id") == entityID)) { for (auto m: kGenSourceMapping) { std::string cname, sname; tie(cname, sname) = m; std::string s = gr[cname].as(); if (not s.empty()) source.push_back(sname + ": " + s); } } auto& nat = db["entity_src_nat"]; const std::pair kNatSourceMapping[] = { { "common_name", "ORGANISM_COMMON" }, { "strain", "STRAIN" }, { "pdbx_organism_scientific", "ORGANISM_SCIENTIFIC" }, { "pdbx_ncbi_taxonomy_id", "ORGANISM_TAXID" }, { "pdbx_cellular_location", "CELLULAR_LOCATION" }, { "pdbx_plasmid_name", "PLASMID" }, { "pdbx_organ", "ORGAN" }, { "details", "OTHER_DETAILS" } }; for (auto nr: nat.find(cif::Key("entity_id") == entityID)) { for (auto m: kNatSourceMapping) { std::string cname, sname; tie(cname, sname) = m; std::string s = nr[cname].as(); if (not s.empty()) source.push_back(sname + ": " + s); } } } return FixStringLength("SOURCE " + ba::join(source, "; "), truncate_at); } std::string GetPDBAUTHORLine(cif::File& cifFile, std::string::size_type truncate_at) { auto& db = cifFile.firstDatablock(); // AUTHOR std::vector author; for (auto r: db["audit_author"]) author.push_back(cif2pdbAuth(r["name"].as())); return FixStringLength("AUTHOR " + ba::join(author, "; "), truncate_at); } libcifpp-2.0.5/src/CifParser.cpp0000664000175000017500000007204514200173347016332 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include "cif++/Cif++.hpp" #include "cif++/CifParser.hpp" #include "cif++/CifValidator.hpp" namespace ba = boost::algorithm; extern int VERBOSE; namespace cif { const uint32_t kMaxLineLength = 132; const uint8_t kCharTraitsTable[128] = { // 0 1 2 3 4 5 6 7 8 9 a b c d e f 14, 15, 14, 14, 14, 15, 15, 14, 15, 15, 15, 15, 15, 15, 15, 15, // 2 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 10, 15, 15, 15, 15, // 3 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, // 4 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 14, 15, 14, // 5 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, // 6 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, // 7 }; // -------------------------------------------------------------------- CifParserError::CifParserError(uint32_t lineNr, const std::string& message) : std::runtime_error("parse error at line " + std::to_string(lineNr) + ": " + message) { } // -------------------------------------------------------------------- const char* SacParser::kTokenName[] = { "unknown", "EOF", "DATA", "LOOP", "GLOBAL", "SAVE", "STOP", "Tag", "Value" }; const char* SacParser::kValueName[] = { "Int", "Float", "Numeric", "String", "TextField", "Inapplicable", "Unknown" }; // -------------------------------------------------------------------- SacParser::SacParser(std::istream& is, bool init) : mData(is) { mValidate = true; mLineNr = 1; mBol = true; if (init) mLookahead = getNextToken(); } void SacParser::error(const std::string& msg) { throw CifParserError(mLineNr, msg); } // getNextChar takes a char from the buffer, or if it is empty // from the istream. This function also does carriage/linefeed // translation. int SacParser::getNextChar() { int result; if (mBuffer.empty()) result = mData.get(); else { result = mBuffer.top(); mBuffer.pop(); } // very simple CR/LF translation into LF if (result == '\r') { int lookahead = mData.get(); if (lookahead != '\n') mBuffer.push(lookahead); result = '\n'; } mTokenValue += static_cast(result); if (result == '\n') ++mLineNr; if (VERBOSE >= 6) { std::cerr << "getNextChar => "; if (iscntrl(result) or not isprint(result)) std::cerr << int(result) << std::endl; else std::cerr << char(result) << std::endl; } return result; } void SacParser::retract() { assert(not mTokenValue.empty()); char ch = mTokenValue.back(); if (ch == '\n') --mLineNr; mBuffer.push(ch); mTokenValue.pop_back(); } void SacParser::restart() { while (not mTokenValue.empty()) retract(); switch (mStart) { case eStateStart: mState = mStart = eStateFloat; break; case eStateFloat: mState = mStart = eStateInt; break; case eStateInt: mState = mStart = eStateValue; break; default: error("Invalid state in SacParser"); } mBol = false; } void SacParser::match(SacParser::CIFToken t) { if (mLookahead != t) error(std::string("Unexpected token, expected ") + kTokenName[t] + " but found " + kTokenName[mLookahead]); mLookahead = getNextToken(); } SacParser::CIFToken SacParser::getNextToken() { const auto kEOF = std::char_traits::eof(); CIFToken result = eCIFTokenUnknown; int quoteChar = 0; mState = mStart = eStateStart; mBol = false; mTokenValue.clear(); mTokenType = eCIFValueUnknown; while (result == eCIFTokenUnknown) { auto ch = getNextChar(); switch (mState) { case eStateStart: if (ch == kEOF) result = eCIFTokenEOF; else if (ch == '\n') { mBol = true; mState = eStateWhite; } else if (ch == ' ' or ch == '\t') mState = eStateWhite; else if (ch == '#') mState = eStateComment; else if (ch == '.') mState = eStateDot; else if (ch == '_') mState = eStateTag; else if (ch == ';' and mBol) mState = eStateTextField; else if (ch == '\'' or ch == '"') { quoteChar = ch; mState = eStateQuotedString; } else if (ch == '?') mState = eStateQuestionMark; else restart(); break; case eStateWhite: if (ch == kEOF) result = eCIFTokenEOF; else if (not isspace(ch)) { mState = eStateStart; retract(); mTokenValue.clear(); } else mBol = (ch == '\n'); break; case eStateComment: if (ch == '\n') { mState = eStateStart; mBol = true; mTokenValue.clear(); } else if (ch == kEOF) result = eCIFTokenEOF; else if (not isAnyPrint(ch)) error("invalid character in comment"); break; case eStateQuestionMark: if (isNonBlank(ch)) mState = eStateValue; else { retract(); result = eCIFTokenValue; mTokenValue.clear(); mTokenType = eCIFValueUnknown; } break; case eStateDot: if (isdigit(ch)) mState = eStateFloat + 2; else if (isspace(ch)) { retract(); result = eCIFTokenValue; mTokenType = eCIFValueInapplicable; } else mState = eStateValue; break; case eStateTextField: if (ch == '\n') mState = eStateTextField + 1; else if (ch == kEOF) error("unterminated textfield"); else if (not isAnyPrint(ch)) // error("invalid character in text field '" + string({ static_cast(ch) }) + "' (" + to_string((int)ch) + ")"); std::cerr << "invalid character in text field '" << std::string({ static_cast(ch) }) << "' (" << ch << ") line: " << mLineNr << std::endl; break; case eStateTextField + 1: if (isTextLead(ch) or ch == ' ' or ch == '\t') mState = eStateTextField; else if (ch == ';') { assert(mTokenValue.length() >= 2); mTokenValue = mTokenValue.substr(1, mTokenValue.length() - 3); mTokenType = eCIFValueTextField; result = eCIFTokenValue; } else if (ch == kEOF) error("unterminated textfield"); else if (ch != '\n') error("invalid character in text field"); break; case eStateQuotedString: if (ch == kEOF) error("unterminated quoted string"); else if (ch == quoteChar) mState = eStateQuotedStringQuote; else if (not isAnyPrint(ch)) error("invalid character in quoted string"); break; case eStateQuotedStringQuote: if (isWhite(ch)) { retract(); result = eCIFTokenValue; mTokenType = eCIFValueString; assert(mTokenValue.length() >= 3); mTokenValue = mTokenValue.substr(1, mTokenValue.length() - 2); } else if (ch == quoteChar) ; else if (isAnyPrint(ch)) mState = eStateQuotedString; else if (ch == kEOF) error("unterminated quoted string"); else error("invalid character in quoted string"); break; case eStateTag: if (not isNonBlank(ch)) { retract(); result = eCIFTokenTag; } break; case eStateFloat: if (ch == '+' or ch == '-') { mState = eStateFloat + 1; } else if (isdigit(ch)) mState = eStateFloat + 1; else restart(); break; case eStateFloat + 1: // if (ch == '(') // numeric??? // mState = eStateNumericSuffix; // else if (ch == '.') mState = eStateFloat + 2; else if (tolower(ch) == 'e') mState = eStateFloat + 3; else if (isWhite(ch) or ch == kEOF) { retract(); result = eCIFTokenValue; mTokenType = eCIFValueInt; } else restart(); break; // parsed '.' case eStateFloat + 2: // if (ch == '(') // numeric??? // mState = eStateNumericSuffix; // else if (tolower(ch) == 'e') mState = eStateFloat + 3; else if (isWhite(ch) or ch == kEOF) { retract(); result = eCIFTokenValue; mTokenType = eCIFValueFloat; } else restart(); break; // parsed 'e' case eStateFloat + 3: if (ch == '-' or ch == '+') mState = eStateFloat + 4; else if (isdigit(ch)) mState = eStateFloat + 5; else restart(); break; case eStateFloat + 4: if (isdigit(ch)) mState = eStateFloat + 5; else restart(); break; case eStateFloat + 5: // if (ch == '(') // mState = eStateNumericSuffix; // else if (isWhite(ch) or ch == kEOF) { retract(); result = eCIFTokenValue; mTokenType = eCIFValueFloat; } else restart(); break; case eStateInt: if (isdigit(ch) or ch == '+' or ch == '-') mState = eStateInt + 1; else restart(); break; case eStateInt + 1: if (isWhite(ch) or ch == kEOF) { retract(); result = eCIFTokenValue; mTokenType = eCIFValueInt; } else restart(); break; // case eStateNumericSuffix: // if (isdigit(ch)) // mState = eStateNumericSuffix + 1; // else // restart(); // break; // // case eStateNumericSuffix + 1: // if (ch == ')') // { // result = eCIFTokenValue; // mTokenType = eCIFValueNumeric; // } // else if (not isdigit(ch)) // restart(); // break; case eStateValue: if (isNonBlank(ch)) mState = eStateValue + 1; else error("invalid character at this position"); break; case eStateValue + 1: if (ch == '_') // first _, check for keywords { std::string s = toLowerCopy(mTokenValue); if (s == "global_") result = eCIFTokenGLOBAL; else if (s == "stop_") result = eCIFTokenSTOP; else if (s == "loop_") result = eCIFTokenLOOP; else if (s == "data_" or s == "save_") mState = eStateValue + 2; } else if (not isNonBlank(ch)) { retract(); result = eCIFTokenValue; mTokenType = eCIFValueString; } break; case eStateValue + 2: if (not isNonBlank(ch)) { retract(); if (tolower(mTokenValue[0]) == 'd') result = eCIFTokenDATA; else result = eCIFTokenSAVE; mTokenValue.erase(mTokenValue.begin(), mTokenValue.begin() + 5); } break; default: assert(false); error("Invalid state in getNextToken"); break; } } if (VERBOSE >= 5) { std::cerr << kTokenName[result]; if (mTokenType != eCIFValueUnknown) std::cerr << ' ' << kValueName[mTokenType]; if (result != eCIFTokenEOF) std::cerr << " '" << mTokenValue << '\''; std::cerr << std::endl; } return result; } DatablockIndex SacParser::indexDatablocks() { DatablockIndex index; // first locate the start, as fast as we can auto &sb = *mData.rdbuf(); enum { start, comment, string, string_quote, qstring, data, data_name } state = start; int quote = 0; bool bol = true; const char dblk[] = "data_"; std::string::size_type si = 0; std::string datablock; for (auto ch = sb.sbumpc(); ch != std::streambuf::traits_type::eof(); ch = sb.sbumpc()) { switch (state) { case start: switch (ch) { case '#': state = comment; break; case 'd': case 'D': state = data; si = 1; break; case '\'': case '"': state = string; quote = ch; break; case ';': if (bol) state = qstring; break; } break; case comment: if (ch == '\n') state = start; break; case string: if (ch == quote) state = string_quote; break; case string_quote: if (std::isspace(ch)) state = start; else state = string; break; case qstring: if (ch == ';' and bol) state = start; break; case data: if (dblk[si] == 0 and isNonBlank(ch)) { datablock = { static_cast(ch) }; state = data_name; } else if (dblk[si++] != ch) state = start; break; case data_name: if (isNonBlank(ch)) datablock.insert(datablock.end(), char(ch)); else if (isspace(ch)) { if (not datablock.empty()) index[datablock] = mData.tellg(); state = start; } else state = start; break; } bol = (ch == '\n'); } return index; } bool SacParser::parseSingleDatablock(const std::string& datablock) { // first locate the start, as fast as we can auto &sb = *mData.rdbuf(); enum { start, comment, string, string_quote, qstring, data } state = start; int quote = 0; bool bol = true; std::string dblk = "data_" + datablock; std::string::size_type si = 0; bool found = false; for (auto ch = sb.sbumpc(); not found and ch != std::streambuf::traits_type::eof(); ch = sb.sbumpc()) { switch (state) { case start: switch (ch) { case '#': state = comment; break; case 'd': case 'D': state = data; si = 1; break; case '\'': case '"': state = string; quote = ch; break; case ';': if (bol) state = qstring; break; } break; case comment: if (ch == '\n') state = start; break; case string: if (ch == quote) state = string_quote; break; case string_quote: if (std::isspace(ch)) state = start; else state = string; break; case qstring: if (ch == ';' and bol) state = start; break; case data: if (isspace(ch) and dblk[si] == 0) found = true; else if (dblk[si++] != ch) state = start; break; } bol = (ch == '\n'); } if (found) { produceDatablock(datablock); mLookahead = getNextToken(); parseDataBlock(); } return found; } bool SacParser::parseSingleDatablock(const std::string& datablock, const DatablockIndex &index) { bool result = false; auto i = index.find(datablock); if (i != index.end()) { mData.seekg(i->second); produceDatablock(datablock); mLookahead = getNextToken(); parseDataBlock(); result = true; } return result; } void SacParser::parseFile() { while (mLookahead != eCIFTokenEOF) { switch (mLookahead) { case eCIFTokenGLOBAL: parseGlobal(); break; case eCIFTokenDATA: produceDatablock(mTokenValue); match(eCIFTokenDATA); parseDataBlock(); break; default: error("This file does not seem to be an mmCIF file"); break; } } } void SacParser::parseGlobal() { match(eCIFTokenGLOBAL); while (mLookahead == eCIFTokenTag) { match(eCIFTokenTag); match(eCIFTokenValue); } } void SacParser::parseDataBlock() { std::string cat; while (mLookahead == eCIFTokenLOOP or mLookahead == eCIFTokenTag or mLookahead == eCIFTokenSAVE) { switch (mLookahead) { case eCIFTokenLOOP: { cat.clear(); // should start a new category match(eCIFTokenLOOP); std::vector tags; while (mLookahead == eCIFTokenTag) { std::string catName, itemName; std::tie(catName, itemName) = splitTagName(mTokenValue); if (cat.empty()) { produceCategory(catName); cat = catName; } else if (not iequals(cat, catName)) error("inconsistent categories in loop_"); tags.push_back(itemName); match(eCIFTokenTag); } while (mLookahead == eCIFTokenValue) { produceRow(); for (auto tag: tags) { produceItem(cat, tag, mTokenValue); match(eCIFTokenValue); } } cat.clear(); break; } case eCIFTokenTag: { std::string catName, itemName; std::tie(catName, itemName) = splitTagName(mTokenValue); if (not iequals(cat, catName)) { produceCategory(catName); cat = catName; produceRow(); } match(eCIFTokenTag); produceItem(cat, itemName, mTokenValue); match(eCIFTokenValue); break; } case eCIFTokenSAVE: parseSaveFrame(); break; default: assert(false); break; } } } void SacParser::parseSaveFrame() { error("A regular CIF file should not contain a save frame"); } // -------------------------------------------------------------------- Parser::Parser(std::istream& is, File& f, bool init) : SacParser(is, init), mFile(f), mDataBlock(nullptr) { } void Parser::produceDatablock(const std::string& name) { mDataBlock = new Datablock(name); mFile.append(mDataBlock); } void Parser::produceCategory(const std::string& name) { if (VERBOSE >= 4) std::cerr << "producing category " << name << std::endl; std::tie(mCat, std::ignore) = mDataBlock->emplace(name); } void Parser::produceRow() { if (VERBOSE >= 4) std::cerr << "producing row for category " << mCat->name() << std::endl; mCat->emplace({}); mRow = mCat->back(); mRow.lineNr(mLineNr); } void Parser::produceItem(const std::string& category, const std::string& item, const std::string& value) { if (VERBOSE >= 4) std::cerr << "producing _" << category << '.' << item << " -> " << value << std::endl; if (not iequals(category, mCat->name())) error("inconsistent categories in loop_"); mRow[item] = mTokenValue; } // -------------------------------------------------------------------- struct DictParserDataImpl { // temporary values for constructing dictionaries std::vector mCategoryValidators; std::map> mItemValidators; std::set> mLinkedItems; }; DictParser::DictParser(Validator& validator, std::istream& is) : Parser(is, mFile), mValidator(validator), mImpl(new DictParserDataImpl) { } DictParser::~DictParser() { delete mImpl; } void DictParser::parseSaveFrame() { if (not mCollectedItemTypes) mCollectedItemTypes = collectItemTypes(); std::string saveFrameName = mTokenValue; if (saveFrameName.empty()) error("Invalid save frame, should contain more than just 'save_' here"); bool isCategorySaveFrame = mTokenValue[0] != '_'; Datablock dict(mTokenValue); Datablock::iterator cat = dict.end(); match(eCIFTokenSAVE); while (mLookahead == eCIFTokenLOOP or mLookahead == eCIFTokenTag) { if (mLookahead == eCIFTokenLOOP) { cat = dict.end(); // should start a new category match(eCIFTokenLOOP); std::vector tags; while (mLookahead == eCIFTokenTag) { std::string catName, itemName; std::tie(catName, itemName) = splitTagName(mTokenValue); if (cat == dict.end()) std::tie(cat, std::ignore) = dict.emplace(catName); else if (not iequals(cat->name(), catName)) error("inconsistent categories in loop_"); tags.push_back(itemName); match(eCIFTokenTag); } while (mLookahead == eCIFTokenValue) { cat->emplace({}); auto row = cat->back(); for (auto tag: tags) { row[tag] = mTokenValue; match(eCIFTokenValue); } } cat = dict.end(); } else { std::string catName, itemName; std::tie(catName, itemName) = splitTagName(mTokenValue); if (cat == dict.end() or not iequals(cat->name(), catName)) std::tie(cat, std::ignore) = dict.emplace(catName); match(eCIFTokenTag); if (cat->empty()) cat->emplace({}); cat->back()[itemName] = mTokenValue; match(eCIFTokenValue); } } match(eCIFTokenSAVE); if (isCategorySaveFrame) { std::string category = dict.firstItem("_category.id"); std::vector keys; for (auto k: dict["category_key"]) keys.push_back(std::get<1>(splitTagName(k["name"].as()))); iset groups; for (auto g: dict["category_group"]) groups.insert(g["id"].as()); mImpl->mCategoryValidators.push_back(ValidateCategory{category, keys, groups}); } else { // if the type code is missing, this must be a pointer, just skip it std::string typeCode = dict.firstItem("_item_type.code"); const ValidateType* tv = nullptr; if (not (typeCode.empty() or typeCode == "?")) tv = mValidator.getValidatorForType(typeCode); iset ess; for (auto e: dict["item_enumeration"]) ess.insert(e["value"].as()); std::string defaultValue = dict.firstItem("_item_default.value"); bool defaultIsNull = false; if (defaultValue.empty()) { for (auto& r: dict["_item_default"]) { defaultIsNull = r["value"].is_null(); break; } } // collect the dict from our dataBlock and construct validators for (auto i: dict["item"]) { std::string tagName, category, mandatory; cif::tie(tagName, category, mandatory) = i.get("name", "category_id", "mandatory_code"); std::string catName, itemName; std::tie(catName, itemName) = splitTagName(tagName); if (catName.empty() or itemName.empty()) error("Invalid tag name in _item.name " + tagName); if (not iequals(category, catName) and not (category.empty() or category == "?")) error("specified category id does match the implicit category name for tag '" + tagName + '\''); else category = catName; auto& ivs = mImpl->mItemValidators[category]; auto vi = find(ivs.begin(), ivs.end(), ValidateItem{itemName}); if (vi == ivs.end()) ivs.push_back(ValidateItem{itemName, iequals(mandatory, "yes"), tv, ess, defaultValue, defaultIsNull}); else { // need to update the itemValidator? if (vi->mMandatory != (iequals(mandatory, "yes"))) { if (VERBOSE > 2) { std::cerr << "inconsistent mandatory value for " << tagName << " in dictionary" << std::endl; if (iequals(tagName, saveFrameName)) std::cerr << "choosing " << mandatory << std::endl; else std::cerr << "choosing " << (vi->mMandatory ? "Y" : "N") << std::endl; } if (iequals(tagName, saveFrameName)) vi->mMandatory = (iequals(mandatory, "yes")); } if (vi->mType != nullptr and tv != nullptr and vi->mType != tv) { if (VERBOSE > 1) std::cerr << "inconsistent type for " << tagName << " in dictionary" << std::endl; } // vi->mMandatory = (iequals(mandatory, "yes")); if (vi->mType == nullptr) vi->mType = tv; vi->mEnums.insert(ess.begin(), ess.end()); // anything else yet? // ... } } // collect the dict from our dataBlock and construct validators for (auto i: dict["item_linked"]) { std::string childTagName, parentTagName; cif::tie(childTagName, parentTagName) = i.get("child_name", "parent_name"); mImpl->mLinkedItems.emplace(childTagName, parentTagName); } } } void DictParser::linkItems() { if (not mDataBlock) error("no datablock"); auto& dict = *mDataBlock; // links are identified by a parent category, a child category and a group ID using key_type = std::tuple; std::map linkIndex; // Each link group consists of a set of keys std::vector,std::vector>> linkKeys; auto addLink = [&](size_t ix, const std::string& pk, const std::string& ck) { auto&& [pkeys, ckeys] = linkKeys.at(ix); bool found = false; for (size_t i = 0; i < pkeys.size(); ++i) { if (pkeys[i] == pk and ckeys[i] == ck) { found = true; break; } } if (not found) { pkeys.push_back(pk); ckeys.push_back(ck); } }; auto& linkedGroupList = dict["pdbx_item_linked_group_list"]; for (auto gl: linkedGroupList) { std::string child, parent; int link_group_id; cif::tie(child, parent, link_group_id) = gl.get("child_name", "parent_name", "link_group_id"); auto civ = mValidator.getValidatorForItem(child); if (civ == nullptr) error("in pdbx_item_linked_group_list, item '" + child + "' is not specified"); auto piv = mValidator.getValidatorForItem(parent); if (piv == nullptr) error("in pdbx_item_linked_group_list, item '" + parent + "' is not specified"); key_type key{ piv->mCategory->mName, civ->mCategory->mName, link_group_id }; if (not linkIndex.count(key)) { linkIndex[key] = linkKeys.size(); linkKeys.push_back({}); } size_t ix = linkIndex.at(key); addLink(ix, piv->mTag, civ->mTag); } // Only process inline linked items if the linked group list is absent if (linkedGroupList.empty()) { // for links recorded in categories but not in pdbx_item_linked_group_list for (auto li: mImpl->mLinkedItems) { std::string child, parent; std::tie(child, parent) = li; auto civ = mValidator.getValidatorForItem(child); if (civ == nullptr) error("in pdbx_item_linked_group_list, item '" + child + "' is not specified"); auto piv = mValidator.getValidatorForItem(parent); if (piv == nullptr) error("in pdbx_item_linked_group_list, item '" + parent + "' is not specified"); key_type key{ piv->mCategory->mName, civ->mCategory->mName, 0 }; if (not linkIndex.count(key)) { linkIndex[key] = linkKeys.size(); linkKeys.push_back({}); } size_t ix = linkIndex.at(key); addLink(ix, piv->mTag, civ->mTag); } } auto& linkedGroup = dict["pdbx_item_linked_group"]; // now store the links in the validator for (auto& kv: linkIndex) { ValidateLink link = {}; std::tie(link.mParentCategory, link.mChildCategory, link.mLinkGroupID) = kv.first; std::tie(link.mParentKeys, link.mChildKeys) = linkKeys[kv.second]; // look up the label for (auto r: linkedGroup.find(cif::Key("category_id") == link.mChildCategory and cif::Key("link_group_id") == link.mLinkGroupID)) { link.mLinkGroupLabel = r["label"].as(); break; } mValidator.addLinkValidator(std::move(link)); } // now make sure the itemType is specified for all itemValidators for (auto& cv: mValidator.mCategoryValidators) { for (auto& iv: cv.mItemValidators) { if (iv.mType == nullptr) std::cerr << "Missing item_type for " << iv.mTag << std::endl; } } } void DictParser::loadDictionary() { std::unique_ptr dict; Datablock* savedDatablock = mDataBlock; try { while (mLookahead != eCIFTokenEOF) { switch (mLookahead) { case eCIFTokenGLOBAL: parseGlobal(); break; default: { dict.reset(new Datablock(mTokenValue)); // dummy datablock, for constructing the validator only mDataBlock = dict.get(); match(eCIFTokenDATA); parseDataBlock(); break; } } } } catch (const std::exception&) { std::cerr << "Error parsing dictionary" << std::endl; throw; } // store all validators for (auto& ic: mImpl->mCategoryValidators) mValidator.addCategoryValidator(std::move(ic)); mImpl->mCategoryValidators.clear(); for (auto& iv: mImpl->mItemValidators) { auto cv = mValidator.getValidatorForCategory(iv.first); if (cv == nullptr) error("Undefined category '" + iv.first); for (auto& v: iv.second) const_cast(cv)->addItemValidator(std::move(v)); } // check all item validators for having a typeValidator if (dict) linkItems(); // store meta information Datablock::iterator info; bool n; std::tie(info, n) = mDataBlock->emplace("dictionary"); if (n) { auto r = info->front(); mValidator.dictName(r["title"].as()); mValidator.dictVersion(r["version"].as()); } mDataBlock = savedDatablock; mImpl->mItemValidators.clear(); } bool DictParser::collectItemTypes() { bool result = false; if (not mDataBlock) error("no datablock"); auto& dict = *mDataBlock; for (auto& t: dict["item_type_list"]) { std::string code, primitiveCode, construct; cif::tie(code, primitiveCode, construct) = t.get("code", "primitive_code", "construct"); ba::replace_all(construct, "\\n", "\n"); ba::replace_all(construct, "\\t", "\t"); ba::replace_all(construct, "\\\n", ""); try { ValidateType v = { code, mapToPrimitiveType(primitiveCode), boost::regex(construct, boost::regex::extended | boost::regex::optimize) }; mValidator.addTypeValidator(std::move(v)); } catch (const std::exception&) { throw_with_nested(CifParserError(t.lineNr(), "error in regular expression")); } // Do not replace an already defined type validator, this won't work with pdbx_v40 // as it has a name that is too strict for its own names :-) // if (mFileImpl.mTypeValidators.count(v)) // mFileImpl.mTypeValidators.erase(v); if (VERBOSE >= 5) std::cerr << "Added type " << code << " (" << primitiveCode << ") => " << construct << std::endl; result = true; } return result; } } libcifpp-2.0.5/src/CifUtils.cpp0000664000175000017500000010053714200173347016174 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if defined(_MSC_VER) #define TERM_WIDTH 80 #else #include #include #endif #include #include "cif++/CifUtils.hpp" #include "revision.hpp" namespace ba = boost::algorithm; namespace fs = std::filesystem; // -------------------------------------------------------------------- namespace cif { extern int VERBOSE; // -------------------------------------------------------------------- std::string get_version_nr() { std::ostringstream s; write_version_string(s, false); return s.str(); } // -------------------------------------------------------------------- // This really makes a difference, having our own tolower routines const uint8_t kCharToLowerMap[256] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff}; // -------------------------------------------------------------------- bool iequals(const std::string &a, const std::string &b) { bool result = a.length() == b.length(); for (auto ai = a.begin(), bi = b.begin(); result and ai != a.end() and bi != b.end(); ++ai, ++bi) result = tolower(*ai) == tolower(*bi); return result; } bool iequals(const char *a, const char *b) { bool result = true; for (; result and *a and *b; ++a, ++b) result = tolower(*a) == tolower(*b); return result and *a == *b; } int icompare(const std::string &a, const std::string &b) { int d = 0; auto ai = a.begin(), bi = b.begin(); for (; d == 0 and ai != a.end() and bi != b.end(); ++ai, ++bi) d = tolower(*ai) - tolower(*bi); if (d == 0) { if (ai != a.end()) d = 1; else if (bi != b.end()) d = -1; } return d; } int icompare(const char *a, const char *b) { int d = 0; for (; d == 0 and *a != 0 and *b != 0; ++a, ++b) d = tolower(*a) - tolower(*b); if (d == 0) { if (*a != 0) d = 1; else if (*b != 0) d = -1; } return d; } void toLower(std::string &s) { for (auto &c : s) c = tolower(c); } std::string toLowerCopy(const std::string &s) { std::string result(s); for (auto &c : result) c = tolower(c); return result; } // -------------------------------------------------------------------- std::tuple splitTagName(const std::string &tag) { if (tag.empty()) throw std::runtime_error("empty tag"); if (tag[0] != '_') throw std::runtime_error("tag does not start with underscore"); auto s = tag.find('.'); if (s == std::string::npos) throw std::runtime_error("tag does not contain dot"); return std::tuple{ tag.substr(1, s - 1), tag.substr(s + 1)}; } // -------------------------------------------------------------------- std::string cifIdForNumber(int number) { std::string result; if (number >= 26 * 26 * 26) result = 'L' + std::to_string(number); else { if (number >= 26 * 26) { int v = number / (26 * 26); result += char('A' - 1 + v); number %= (26 * 26); } if (number >= 26) { int v = number / 26; result += char('A' - 1 + v); number %= 26; } result += char('A' + number); } assert(not result.empty()); return result; } // -------------------------------------------------------------------- // Simplified line breaking code taken from a decent text editor. // In this case, simplified means it only supports ASCII. enum LineBreakClass { kLBC_OpenPunctuation, kLBC_ClosePunctuation, kLBC_CloseParenthesis, kLBC_Quotation, kLBC_NonBreaking, kLBC_Nonstarter, kLBC_Exlamation, kLBC_SymbolAllowingBreakAfter, kLBC_InfixNumericSeparator, kLBC_PrefixNumeric, kLBC_PostfixNumeric, kLBC_Numeric, kLBC_Alphabetic, kLBC_Ideographic, kLBC_Inseperable, kLBC_Hyphen, kLBC_BreakAfter, kLBC_BreakBefor, kLBC_BreakOpportunityBeforeAndAfter, kLBC_ZeroWidthSpace, kLBC_CombiningMark, kLBC_WordJoiner, kLBC_HangulLVSyllable, kLBC_HangulLVTSyllable, kLBC_HangulLJamo, kLBC_HangulVJamo, kLBC_HangulTJamo, kLBC_MandatoryBreak, kLBC_CarriageReturn, kLBC_LineFeed, kLBC_NextLine, kLBC_Surrogate, kLBC_Space, kLBC_ContigentBreakOpportunity, kLBC_Ambiguous, kLBC_ComplexContext, kLBC_Unknown }; const LineBreakClass kASCII_LBTable[128] = { kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_BreakAfter, kLBC_LineFeed, kLBC_MandatoryBreak, kLBC_MandatoryBreak, kLBC_CarriageReturn, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_CombiningMark, kLBC_Space, kLBC_Exlamation, kLBC_Quotation, kLBC_Alphabetic, kLBC_PrefixNumeric, kLBC_PostfixNumeric, kLBC_Alphabetic, kLBC_Quotation, kLBC_OpenPunctuation, kLBC_CloseParenthesis, kLBC_Alphabetic, kLBC_PrefixNumeric, // comma treated differently here, it is not a numeric separator in PDB kLBC_SymbolAllowingBreakAfter /* kLBC_InfixNumericSeparator */, kLBC_Hyphen, kLBC_InfixNumericSeparator, kLBC_SymbolAllowingBreakAfter, kLBC_Numeric, kLBC_Numeric, kLBC_Numeric, kLBC_Numeric, kLBC_Numeric, kLBC_Numeric, kLBC_Numeric, kLBC_Numeric, kLBC_Numeric, kLBC_Numeric, kLBC_InfixNumericSeparator, kLBC_InfixNumericSeparator, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Exlamation, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_OpenPunctuation, kLBC_PrefixNumeric, kLBC_CloseParenthesis, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_Alphabetic, kLBC_OpenPunctuation, kLBC_BreakAfter, kLBC_ClosePunctuation, kLBC_Alphabetic, kLBC_CombiningMark}; std::string::const_iterator nextLineBreak(std::string::const_iterator text, std::string::const_iterator end) { if (text == end) return text; enum breakAction { DBK = 0, // direct break (blank in table) IBK, // indirect break (% in table) PBK, // prohibited break (^ in table) CIB, // combining indirect break CPB // combining prohibited break }; const breakAction brkTable[27][27] = { // OP CL CP QU GL NS EX SY IS PR PO NU AL ID IN HY BA BB B2 ZW CM WJ H2 H3 JL JV JT /* OP */ {PBK, PBK, PBK, PBK, PBK, PBK, PBK, PBK, PBK, PBK, PBK, PBK, PBK, PBK, PBK, PBK, PBK, PBK, PBK, PBK, CPB, PBK, PBK, PBK, PBK, PBK, PBK}, /* CL */ {DBK, PBK, PBK, IBK, IBK, PBK, PBK, PBK, PBK, IBK, IBK, DBK, DBK, DBK, DBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* CP */ {DBK, PBK, PBK, IBK, IBK, PBK, PBK, PBK, PBK, IBK, IBK, IBK, IBK, DBK, DBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* QU */ {PBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, PBK, CIB, PBK, IBK, IBK, IBK, IBK, IBK}, /* GL */ {IBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, PBK, CIB, PBK, IBK, IBK, IBK, IBK, IBK}, /* NS */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, DBK, DBK, DBK, DBK, DBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* EX */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, DBK, DBK, DBK, DBK, DBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* SY */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, DBK, IBK, DBK, DBK, DBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* IS */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, DBK, IBK, IBK, DBK, DBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* PR */ {IBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, DBK, IBK, IBK, IBK, DBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, IBK, IBK, IBK, IBK, IBK}, /* PO */ {IBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, DBK, IBK, IBK, DBK, DBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* NU */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, IBK, IBK, IBK, IBK, DBK, IBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* AL */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, DBK, IBK, IBK, DBK, IBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* ID */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, IBK, DBK, DBK, DBK, IBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* IN */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, DBK, DBK, DBK, DBK, IBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* HY */ {DBK, PBK, PBK, IBK, DBK, IBK, PBK, PBK, PBK, DBK, DBK, IBK, DBK, DBK, DBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* BA */ {DBK, PBK, PBK, IBK, DBK, IBK, PBK, PBK, PBK, DBK, DBK, DBK, DBK, DBK, DBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* BB */ {IBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, PBK, CIB, PBK, IBK, IBK, IBK, IBK, IBK}, /* B2 */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, DBK, DBK, DBK, DBK, DBK, IBK, IBK, DBK, PBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* ZW */ {DBK, DBK, DBK, DBK, DBK, DBK, DBK, DBK, DBK, DBK, DBK, DBK, DBK, DBK, DBK, DBK, DBK, DBK, DBK, PBK, DBK, DBK, DBK, DBK, DBK, DBK, DBK}, /* CM */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, DBK, IBK, IBK, DBK, IBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, DBK}, /* WJ */ {IBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, IBK, PBK, CIB, PBK, IBK, IBK, IBK, IBK, IBK}, /* H2 */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, IBK, DBK, DBK, DBK, IBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, IBK, IBK}, /* H3 */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, IBK, DBK, DBK, DBK, IBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, IBK}, /* JL */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, IBK, DBK, DBK, DBK, IBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, IBK, IBK, IBK, IBK, DBK}, /* JV */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, IBK, DBK, DBK, DBK, IBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, IBK, IBK}, /* JT */ {DBK, PBK, PBK, IBK, IBK, IBK, PBK, PBK, PBK, DBK, IBK, DBK, DBK, DBK, IBK, IBK, IBK, DBK, DBK, PBK, CIB, PBK, DBK, DBK, DBK, DBK, IBK}, }; uint8_t ch = static_cast(*text); LineBreakClass cls; if (ch == '\n') cls = kLBC_MandatoryBreak; else if (ch < 128) { cls = kASCII_LBTable[ch]; if (cls > kLBC_MandatoryBreak and cls != kLBC_Space) // duh... cls = kLBC_Alphabetic; } else cls = kLBC_Unknown; if (cls == kLBC_Space) cls = kLBC_WordJoiner; LineBreakClass ncls = cls; while (++text != end and cls != kLBC_MandatoryBreak) { ch = *text; LineBreakClass lcls = ncls; if (ch == '\n') { ++text; break; } ncls = kASCII_LBTable[ch]; if (ncls == kLBC_Space) continue; breakAction brk = brkTable[cls][ncls]; if (brk == DBK or (brk == IBK and lcls == kLBC_Space)) break; cls = ncls; } return text; } std::vector wrapLine(const std::string &text, size_t width) { std::vector result; std::vector offsets = {0}; auto b = text.begin(); while (b != text.end()) { auto e = nextLineBreak(b, text.end()); offsets.push_back(e - text.begin()); b = e; } size_t count = offsets.size() - 1; std::vector minima(count + 1, 1000000); minima[0] = 0; std::vector breaks(count + 1, 0); for (size_t i = 0; i < count; ++i) { size_t j = i + 1; while (j <= count) { size_t w = offsets[j] - offsets[i]; if (w > width) break; while (w > 0 and isspace(text[offsets[i] + w - 1])) --w; size_t cost = minima[i]; if (j < count) // last line may be shorter cost += (width - w) * (width - w); if (cost < minima[j]) { minima[j] = cost; breaks[j] = i; } ++j; } } size_t j = count; while (j > 0) { size_t i = breaks[j]; result.push_back(text.substr(offsets[i], offsets[j] - offsets[i])); j = i; } reverse(result.begin(), result.end()); return result; } std::vector wordWrap(const std::string &text, size_t width) { std::vector paragraphs; ba::split(paragraphs, text, ba::is_any_of("\n")); std::vector result; for (auto &p : paragraphs) { if (p.empty()) { result.push_back(""); continue; } auto lines = wrapLine(p, width); result.insert(result.end(), lines.begin(), lines.end()); } return result; } // -------------------------------------------------------------------- #ifdef _MSC_VER } #include #include #include #include namespace cif { uint32_t get_terminal_width() { return TERM_WIDTH; } std::string GetExecutablePath() { WCHAR buffer[4096]; DWORD n = ::GetModuleFileNameW(nullptr, buffer, sizeof(buffer) / sizeof(WCHAR)); if (n == 0) throw std::runtime_error("could not get exe path"); std::wstring ws(buffer); // convert from utf16 to utf8 std::wstring_convert> conv1; std::string u8str = conv1.to_bytes(ws); return u8str; } #else uint32_t get_terminal_width() { uint32_t result = 80; if (isatty(STDOUT_FILENO)) { struct winsize w; ioctl(0, TIOCGWINSZ, &w); result = w.ws_col; } return result; } std::string get_executable_path() { using namespace std::literals; char path[PATH_MAX] = ""; if (readlink("/proc/self/exe", path, sizeof(path)) == -1) throw std::runtime_error("could not get exe path "s + strerror(errno)); return {path}; } #endif // -------------------------------------------------------------------- struct ProgressImpl { ProgressImpl(int64_t inMax, const std::string &inAction) : mMax(inMax) , mConsumed(0) , mAction(inAction) , mMessage(inAction) , mThread(std::bind(&ProgressImpl::Run, this)) { } void Run(); void Stop() { mStop = true; if (mThread.joinable()) mThread.join(); } void PrintProgress(); void PrintDone(); int64_t mMax; std::atomic mConsumed; int64_t mLastConsumed = 0; int mSpinnerIndex = 0; std::string mAction, mMessage; std::mutex mMutex; std::thread mThread; std::chrono::time_point mStart = std::chrono::system_clock::now(); bool mStop = false; }; void ProgressImpl::Run() { bool printedAny = false; try { for (;;) { std::this_thread::sleep_for(std::chrono::milliseconds(100)); std::unique_lock lock(mMutex); if (mStop or mConsumed == mMax) break; auto elapsed = std::chrono::system_clock::now() - mStart; if (elapsed < std::chrono::seconds(5)) continue; PrintProgress(); printedAny = true; } } catch (...) { } if (printedAny) PrintDone(); } void ProgressImpl::PrintProgress() { // const char* kBlocks[] = { // " ", // 0 // u8"\u258F", // 1 // u8"\u258E", // 2 // u8"\u258D", // 3 // u8"\u258C", // 4 // u8"\u258B", // 5 // u8"\u258A", // 6 // u8"\u2589", // 7 // u8"\u2588", // 8 // }; const char *kBlocks[] = { " ", // 0 " ", // 1 " ", // 2 "-", // 3 "-", // 4 "-", // 5 "=", // 6 "=", // 7 "=", // 8 }; uint32_t width = get_terminal_width(); std::string msg; msg.reserve(width + 1); if (mMessage.length() <= 20) { msg = mMessage; if (msg.length() < 20) msg.append(20 - msg.length(), ' '); } else msg = mMessage.substr(0, 17) + "..."; msg += " |"; int64_t consumed = mConsumed; float progress = static_cast(consumed) / mMax; int pi = static_cast(std::ceil(progress * 33 * 8)); // int tw = width - 28; // int twd = static_cast(tw * progress + 0.5f); // msg.append(twd, '='); // msg.append(tw - twd, ' '); for (int i = 0; i < 33; ++i) { if (pi <= 0) msg += kBlocks[0]; else if (pi >= 8) msg += kBlocks[8]; else msg += kBlocks[pi]; pi -= 8; } msg.append("| "); // const char kSpinner[] = { '|', '/', '-', '\\' }; const char kSpinner[] = {' ', '.', 'o', 'O', '0', 'O', 'o', '.'}; const size_t kSpinnerCount = sizeof(kSpinner); if (mLastConsumed < consumed) { mLastConsumed = consumed; mSpinnerIndex = (mSpinnerIndex + 1) % kSpinnerCount; } const char spinner[2] = {kSpinner[mSpinnerIndex], 0}; msg.append(spinner); // int perc = static_cast(100 * progress); // if (perc < 100) // msg += ' '; // if (perc < 10) // msg += ' '; // msg += to_string(perc); // msg += '%'; std::cout << '\r' << msg; std::cout.flush(); } namespace { std::ostream &operator<<(std::ostream &os, const std::chrono::duration &t) { uint64_t s = static_cast(std::trunc(t.count())); if (s > 24 * 60 * 60) { auto days = s / (24 * 60 * 60); os << days << "d "; s %= 24 * 60 * 60; } if (s > 60 * 60) { auto hours = s / (60 * 60); os << hours << "h "; s %= 60 * 60; } if (s > 60) { auto minutes = s / 60; os << minutes << "m "; s %= 60; } double ss = s + 1e-6 * (t.count() - s); os << std::fixed << std::setprecision(1) << ss << 's'; return os; } } // namespace void ProgressImpl::PrintDone() { std::chrono::duration elapsed = std::chrono::system_clock::now() - mStart; std::ostringstream msgstr; msgstr << mAction << " done in " << elapsed << " cpu / %ws wall"; auto msg = msgstr.str(); uint32_t width = get_terminal_width(); if (msg.length() < width) msg += std::string(width - msg.length(), ' '); std::cout << '\r' << msg << std::endl; } Progress::Progress(int64_t inMax, const std::string &inAction) : mImpl(nullptr) { if (isatty(STDOUT_FILENO)) mImpl = new ProgressImpl(inMax, inAction); } Progress::~Progress() { if (mImpl != nullptr) mImpl->Stop(); delete mImpl; } void Progress::consumed(int64_t inConsumed) { if (mImpl != nullptr and (mImpl->mConsumed += inConsumed) >= mImpl->mMax) { mImpl->Stop(); } } void Progress::progress(int64_t inProgress) { if (mImpl != nullptr and (mImpl->mConsumed = inProgress) >= mImpl->mMax) { mImpl->Stop(); } } void Progress::message(const std::string &inMessage) { if (mImpl != nullptr) { std::unique_lock lock(mImpl->mMutex); mImpl->mMessage = inMessage; } } } // namespace cif // -------------------------------------------------------------------- // // Try to find a named resource. Can be either a local file with this name, // a file located in our cache directory or a resource linked in with mrc. // // We have a special, private version of mrsrc here. To be able to create // shared libraries and still be able to link when there's no mrc used. namespace mrsrc { /// \brief Internal data structure as generated by mrc struct rsrc_imp { unsigned int m_next; unsigned int m_child; unsigned int m_name; unsigned int m_size; unsigned int m_data; }; } // namespace mrsrc #if _MSC_VER extern "C" const mrsrc::rsrc_imp* gResourceIndexDefault[1] = {}; extern "C" const char* gResourceDataDefault[1] = {}; extern "C" const char* gResourceNameDefault[1] = {}; extern "C" const mrsrc::rsrc_imp gResourceIndex[]; extern "C" const char gResourceData[]; extern "C" const char gResourceName[]; #pragma comment(linker, "/alternatename:gResourceIndex=gResourceIndexDefault") #pragma comment(linker, "/alternatename:gResourceData=gResourceDataDefault") #pragma comment(linker, "/alternatename:gResourceName=gResourceNameDefault") #else extern const __attribute__((weak)) mrsrc::rsrc_imp gResourceIndex[]; extern const __attribute__((weak)) char gResourceData[]; extern const __attribute__((weak)) char gResourceName[]; const mrsrc::rsrc_imp gResourceIndex[1] = {}; const char gResourceData[1] = {}; const char gResourceName[1] = {}; #endif namespace mrsrc { class rsrc_data { public: static rsrc_data &instance() { static rsrc_data s_instance; return s_instance; } const rsrc_imp *index() const { return m_index; } const char *data(unsigned int offset) const { return m_data + offset; } const char *name(unsigned int offset) const { return m_name + offset; } private: rsrc_data() { if (gResourceIndex and (gResourceIndex[0].m_child > 0 or gResourceIndex[0].m_size > 0) and gResourceIndex and gResourceName) { m_index = gResourceIndex; m_data = gResourceData; m_name = gResourceName; } } rsrc_imp m_dummy = {}; const rsrc_imp *m_index = &m_dummy; const char *m_data = ""; const char *m_name = ""; }; /// \brief Class mrsrc::rsrc contains a pointer to the data in the /// resource, as well as offering an iterator interface to its /// children. class rsrc { public: rsrc() : m_impl(rsrc_data::instance().index()) { } rsrc(const rsrc &other) : m_impl(other.m_impl) { } rsrc &operator=(const rsrc &other) { m_impl = other.m_impl; return *this; } rsrc(std::filesystem::path path); std::string name() const { return rsrc_data::instance().name(m_impl->m_name); } const char *data() const { return rsrc_data::instance().data(m_impl->m_data); } unsigned long size() const { return m_impl->m_size; } explicit operator bool() const { return m_impl != NULL and m_impl->m_size > 0; } template class iterator_t { public: using iterator_category = std::input_iterator_tag; using value_type = RSRC; using difference_type = std::ptrdiff_t; using pointer = value_type *; using reference = value_type &; iterator_t(const rsrc_imp *cur) : m_cur(cur) { } iterator_t(const iterator_t &i) : m_cur(i.m_cur) { } iterator_t &operator=(const iterator_t &i) { m_cur = i.m_cur; return *this; } reference operator*() { return m_cur; } pointer operator->() { return &m_cur; } iterator_t &operator++() { if (m_cur.m_impl->m_next) m_cur.m_impl = rsrc_data::instance().index() + m_cur.m_impl->m_next; else m_cur.m_impl = nullptr; return *this; } iterator_t operator++(int) { auto tmp(*this); this->operator++(); return tmp; } bool operator==(const iterator_t &rhs) const { return m_cur.m_impl == rhs.m_cur.m_impl; } bool operator!=(const iterator_t &rhs) const { return m_cur.m_impl != rhs.m_cur.m_impl; } private: value_type m_cur; }; using iterator = iterator_t; iterator begin() const { const rsrc_imp *impl = nullptr; if (m_impl and m_impl->m_child) impl = rsrc_data::instance().index() + m_impl->m_child; return iterator(impl); } iterator end() const { return iterator(nullptr); } private: rsrc(const rsrc_imp *imp) : m_impl(imp) { } const rsrc_imp *m_impl; }; inline rsrc::rsrc(std::filesystem::path p) { m_impl = rsrc_data::instance().index(); // using std::filesytem::path would have been natural here of course... auto pb = p.begin(); auto pe = p.end(); while (m_impl != nullptr and pb != pe) { auto name = *pb++; const rsrc_imp *impl = nullptr; for (rsrc child : *this) { if (child.name() == name) { impl = child.m_impl; break; } } m_impl = impl; } if (pb != pe) // not found m_impl = nullptr; } // -------------------------------------------------------------------- template class basic_streambuf : public std::basic_streambuf { public: typedef CharT char_type; typedef Traits traits_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; /// \brief constructor taking a \a path to the resource in memory basic_streambuf(const std::string &path) : m_rsrc(path) { init(); } /// \brief constructor taking a \a rsrc basic_streambuf(const rsrc &rsrc) : m_rsrc(rsrc) { init(); } basic_streambuf(const basic_streambuf &) = delete; basic_streambuf(basic_streambuf &&rhs) : basic_streambuf(rhs.m_rsrc) { } basic_streambuf &operator=(const basic_streambuf &) = delete; basic_streambuf &operator=(basic_streambuf &&rhs) { swap(rhs); return *this; } void swap(basic_streambuf &rhs) { std::swap(m_begin, rhs.m_begin); std::swap(m_end, rhs.m_end); std::swap(m_current, rhs.m_current); } private: void init() { m_begin = reinterpret_cast(m_rsrc.data()); m_end = reinterpret_cast(m_rsrc.data() + m_rsrc.size()); m_current = m_begin; } int_type underflow() { if (m_current == m_end) return traits_type::eof(); return traits_type::to_int_type(*m_current); } int_type uflow() { if (m_current == m_end) return traits_type::eof(); return traits_type::to_int_type(*m_current++); } int_type pbackfail(int_type ch) { if (m_current == m_begin or (ch != traits_type::eof() and ch != m_current[-1])) return traits_type::eof(); return traits_type::to_int_type(*--m_current); } std::streamsize showmanyc() { assert(std::less_equal()(m_current, m_end)); return m_end - m_current; } pos_type seekoff(off_type off, std::ios_base::seekdir dir, std::ios_base::openmode which) { switch (dir) { case std::ios_base::beg: m_current = m_begin + off; break; case std::ios_base::end: m_current = m_end + off; break; case std::ios_base::cur: m_current += off; break; default: break; } if (m_current < m_begin) m_current = m_begin; if (m_current > m_end) m_current = m_end; return m_current - m_begin; } pos_type seekpos(pos_type pos, std::ios_base::openmode which) { m_current = m_begin + pos; if (m_current < m_begin) m_current = m_begin; if (m_current > m_end) m_current = m_end; return m_current - m_begin; } private: rsrc m_rsrc; const char_type *m_begin; const char_type *m_end; const char_type *m_current; }; using streambuf = basic_streambuf>; // -------------------------------------------------------------------- // class mrsrc::istream template class basic_istream : public std::basic_istream { public: typedef CharT char_type; typedef Traits traits_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; private: using __streambuf_type = basic_streambuf; using __istream_type = std::basic_istream; __streambuf_type m_buffer; public: basic_istream(const std::string &path) : __istream_type(&m_buffer) , m_buffer(path) { this->init(&m_buffer); } basic_istream(rsrc &resource) : __istream_type(&m_buffer) , m_buffer(resource) { this->init(&m_buffer); } basic_istream(const basic_istream &) = delete; basic_istream(basic_istream &&rhs) : __istream_type(std::move(rhs)) , m_buffer(std::move(rhs.m_buffer)) { __istream_type::set_rdbuf(&m_buffer); } basic_istream &operator=(const basic_istream &) = delete; basic_istream &operator=(basic_istream &&rhs) { __istream_type::operator=(std::move(rhs)); m_buffer = std::move(rhs.m_buffer); return *this; } void swap(basic_istream &rhs) { __istream_type::swap(rhs); m_buffer.swap(rhs.m_buffer); } __streambuf_type *rdbuf() const { return const_cast<__streambuf_type *>(&m_buffer); } }; using istream = basic_istream>; } // namespace mrsrc // -------------------------------------------------------------------- namespace cif { // -------------------------------------------------------------------- std::map gLocalResources; std::filesystem::path gDataDir; void addDataDirectory(std::filesystem::path dataDir) { if (VERBOSE and not fs::exists(dataDir)) std::cerr << "The specified data directory " << dataDir << " does not exist" << std::endl; gDataDir = dataDir; } void addFileResource(const std::string &name, std::filesystem::path dataFile) { if (not fs::exists(dataFile)) throw std::runtime_error("Attempt to add a file resource for " + name + " that does not exist: " + dataFile.string()); gLocalResources[name] = dataFile; } std::unique_ptr loadResource(std::filesystem::path name) { std::unique_ptr result; fs::path p = name; if (gLocalResources.count(name.string())) { std::unique_ptr file(new std::ifstream(gLocalResources[name.string()], std::ios::binary)); if (file->is_open()) result.reset(file.release()); } if (not result and not fs::exists(p) and not gDataDir.empty()) p = gDataDir / name; #if defined(CACHE_DIR) if (not result and not fs::exists(p)) { auto p2 = fs::path(CACHE_DIR) / p; if (fs::exists(p2)) swap(p, p2); } #endif #if defined(DATA_DIR) if (not result and not fs::exists(p)) { auto p2 = fs::path(DATA_DIR) / p; if (fs::exists(p2)) swap(p, p2); } #endif if (not result and fs::exists(p)) { std::unique_ptr file(new std::ifstream(p, std::ios::binary)); if (file->is_open()) result.reset(file.release()); } if (not result and gResourceData) { mrsrc::rsrc rsrc(name); if (rsrc) result.reset(new mrsrc::istream(rsrc)); } return result; } } // namespace cif libcifpp-2.0.5/src/CifValidator.cpp0000664000175000017500000002225314200173347017017 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include "cif++/Cif++.hpp" #include "cif++/CifParser.hpp" #include "cif++/CifValidator.hpp" namespace ba = boost::algorithm; extern int VERBOSE; namespace cif { ValidationError::ValidationError(const std::string& msg) : mMsg(msg) { } ValidationError::ValidationError(const std::string& cat, const std::string& item, const std::string& msg) : mMsg("When validating _" + cat + '.' + item + ": " + msg) { } // -------------------------------------------------------------------- DDL_PrimitiveType mapToPrimitiveType(const std::string& s) { DDL_PrimitiveType result; if (iequals(s, "char")) result = DDL_PrimitiveType::Char; else if (iequals(s, "uchar")) result = DDL_PrimitiveType::UChar; else if (iequals(s, "numb")) result = DDL_PrimitiveType::Numb; else throw ValidationError("Not a known primitive type"); return result; } // -------------------------------------------------------------------- int ValidateType::compare(const char* a, const char* b) const { int result = 0; if (*a == 0) result = *b == 0 ? 0 : -1; else if (*b == 0) result = *a == 0 ? 0 : +1; else { try { switch (mPrimitiveType) { case DDL_PrimitiveType::Numb: { double da = strtod(a, nullptr); double db = strtod(b, nullptr); auto d = da - db; if (std::abs(d) > std::numeric_limits::epsilon()) { if (d > 0) result = 1; else if (d < 0) result = -1; } break; } case DDL_PrimitiveType::UChar: case DDL_PrimitiveType::Char: { // CIF is guaranteed to have ascii only, therefore this primitive code will do // also, we're collapsing spaces auto ai = a, bi = b; for (;;) { if (*ai == 0) { if (*bi != 0) result = -1; break; } else if (*bi == 0) { result = 1; break; } char ca = *ai; char cb = *bi; if (mPrimitiveType == DDL_PrimitiveType::UChar) { ca = tolower(ca); cb = tolower(cb); } result = ca - cb; if (result != 0) break; if (ca == ' ') { while (ai[1] == ' ') ++ai; while (bi[1] == ' ') ++bi; } ++ai; ++bi; } break; } } } catch (const std::invalid_argument& ex) { result = 1; } } return result; } // -------------------------------------------------------------------- //void ValidateItem::addLinked(ValidateItem* parent, const std::string& parentItem, const std::string& childItem) //{ //// if (mParent != nullptr and VERBOSE) //// cerr << "replacing parent in " << mCategory->mName << " from " << mParent->mCategory->mName << " to " << parent->mCategory->mName << endl; //// mParent = parent; // // if (mType == nullptr and parent != nullptr) // mType = parent->mType; // // if (parent != nullptr) // { // mLinked.push_back({parent, parentItem, childItem}); // // parent->mChildren.insert(this); //// //// if (mCategory->mKeys == std::vector{mTag}) //// parent->mForeignKeys.insert(this); // } //} void ValidateItem::operator()(std::string value) const { if (not value.empty() and value != "?" and value != ".") { if (mType != nullptr and not regex_match(value, mType->mRx)) throw ValidationError(mCategory->mName, mTag, "Value '" + value + "' does not match type expression for type " + mType->mName); if (not mEnums.empty()) { if (mEnums.count(value) == 0) throw ValidationError(mCategory->mName, mTag, "Value '" + value + "' is not in the list of allowed values"); } } } // -------------------------------------------------------------------- void ValidateCategory::addItemValidator(ValidateItem&& v) { if (v.mMandatory) mMandatoryFields.insert(v.mTag); v.mCategory = this; auto r = mItemValidators.insert(std::move(v)); if (not r.second and VERBOSE >= 4) std::cout << "Could not add validator for item " << v.mTag << " to category " << mName << std::endl; } const ValidateItem* ValidateCategory::getValidatorForItem(std::string tag) const { const ValidateItem* result = nullptr; auto i = mItemValidators.find(ValidateItem{tag}); if (i != mItemValidators.end()) result = &*i; else if (VERBOSE > 4) std::cout << "No validator for tag " << tag << std::endl; return result; } // -------------------------------------------------------------------- Validator::Validator() { } Validator::~Validator() { } void Validator::addTypeValidator(ValidateType&& v) { auto r = mTypeValidators.insert(std::move(v)); if (not r.second and VERBOSE > 4) std::cout << "Could not add validator for type " << v.mName << std::endl; } const ValidateType* Validator::getValidatorForType(std::string typeCode) const { const ValidateType* result = nullptr; auto i = mTypeValidators.find(ValidateType{ typeCode, DDL_PrimitiveType::Char, boost::regex() }); if (i != mTypeValidators.end()) result = &*i; else if (VERBOSE > 4) std::cout << "No validator for type " << typeCode << std::endl; return result; } void Validator::addCategoryValidator(ValidateCategory&& v) { auto r = mCategoryValidators.insert(std::move(v)); if (not r.second and VERBOSE > 4) std::cout << "Could not add validator for category " << v.mName << std::endl; } const ValidateCategory* Validator::getValidatorForCategory(std::string category) const { const ValidateCategory* result = nullptr; auto i = mCategoryValidators.find(ValidateCategory{category}); if (i != mCategoryValidators.end()) result = &*i; else if (VERBOSE > 4) std::cout << "No validator for category " << category << std::endl; return result; } ValidateItem* Validator::getValidatorForItem(std::string tag) const { ValidateItem* result = nullptr; std::string cat, item; std::tie(cat, item) = splitTagName(tag); auto* cv = getValidatorForCategory(cat); if (cv != nullptr) result = const_cast(cv->getValidatorForItem(item)); if (result == nullptr and VERBOSE > 4) std::cout << "No validator for item " << tag << std::endl; return result; } void Validator::addLinkValidator(ValidateLink&& v) { assert(v.mParentKeys.size() == v.mChildKeys.size()); if (v.mParentKeys.size() != v.mChildKeys.size()) throw std::runtime_error("unequal number of keys for parent and child in link"); auto pcv = getValidatorForCategory(v.mParentCategory); auto ccv = getValidatorForCategory(v.mChildCategory); if (pcv == nullptr) throw std::runtime_error("unknown parent category " + v.mParentCategory); if (ccv == nullptr) throw std::runtime_error("unknown child category " + v.mChildCategory); for (size_t i = 0; i < v.mParentKeys.size(); ++i) { auto piv = pcv->getValidatorForItem(v.mParentKeys[i]); if (piv == nullptr) throw std::runtime_error("unknown parent tag _" + v.mParentCategory + '.' + v.mParentKeys[i]); auto civ = ccv->getValidatorForItem(v.mChildKeys[i]); if (civ == nullptr) throw std::runtime_error("unknown child tag _" + v.mChildCategory + '.' + v.mChildKeys[i]); if (civ->mType == nullptr and piv->mType != nullptr) const_cast(civ)->mType = piv->mType; } mLinkValidators.emplace_back(std::move(v)); } std::vector Validator::getLinksForParent(const std::string& category) const { std::vector result; for (auto& l: mLinkValidators) { if (l.mParentCategory == category) result.push_back(&l); } return result; } std::vector Validator::getLinksForChild(const std::string& category) const { std::vector result; for (auto& l: mLinkValidators) { if (l.mChildCategory == category) result.push_back(&l); } return result; } void Validator::reportError(const std::string& msg, bool fatal) { if (mStrict or fatal) throw ValidationError(msg); else if (VERBOSE) std::cerr << msg << std::endl; } } libcifpp-2.0.5/src/Compound.cpp0000664000175000017500000004615514200173347016243 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include #include #include #include #include "cif++/Cif++.hpp" #include "cif++/CifParser.hpp" #include "cif++/CifUtils.hpp" #include "cif++/Compound.hpp" #include "cif++/Point.hpp" namespace ba = boost::algorithm; namespace fs = std::filesystem; namespace mmcif { // -------------------------------------------------------------------- std::string to_string(BondType bondType) { switch (bondType) { case BondType::sing: return "sing"; case BondType::doub: return "doub"; case BondType::trip: return "trip"; case BondType::quad: return "quad"; case BondType::arom: return "arom"; case BondType::poly: return "poly"; case BondType::delo: return "delo"; case BondType::pi: return "pi"; } throw std::invalid_argument("Invalid bondType"); } BondType from_string(const std::string &bondType) { if (cif::iequals(bondType, "sing")) return BondType::sing; if (cif::iequals(bondType, "doub")) return BondType::doub; if (cif::iequals(bondType, "trip")) return BondType::trip; if (cif::iequals(bondType, "quad")) return BondType::quad; if (cif::iequals(bondType, "arom")) return BondType::arom; if (cif::iequals(bondType, "poly")) return BondType::poly; if (cif::iequals(bondType, "delo")) return BondType::delo; if (cif::iequals(bondType, "pi")) return BondType::pi; throw std::invalid_argument("Invalid bondType: " + bondType); } // -------------------------------------------------------------------- // Compound helper classes struct CompoundAtomLess { bool operator()(const CompoundAtom &a, const CompoundAtom &b) const { int d = a.id.compare(b.id); if (d == 0) d = a.typeSymbol - b.typeSymbol; return d < 0; } }; struct CompoundBondLess { bool operator()(const CompoundBond &a, const CompoundBond &b) const { int d = a.atomID[0].compare(b.atomID[0]); if (d == 0) d = a.atomID[1].compare(b.atomID[1]); if (d == 0) d = static_cast(a.type) - static_cast(b.type); return d < 0; } }; // -------------------------------------------------------------------- // Compound Compound::Compound(cif::Datablock &db) { auto &chemComp = db["chem_comp"]; if (chemComp.size() != 1) throw std::runtime_error("Invalid compound file, chem_comp should contain a single row"); cif::tie(mID, mName, mType, mFormula, mFormulaWeight, mFormalCharge) = chemComp.front().get("id", "name", "type", "formula", "formula_weight", "pdbx_formal_charge"); // The name should not contain newline characters since that triggers validation errors later on ba::replace_all(mName, "\n", ""); auto &chemCompAtom = db["chem_comp_atom"]; for (auto row : chemCompAtom) { CompoundAtom atom; std::string typeSymbol; cif::tie(atom.id, typeSymbol, atom.charge, atom.aromatic, atom.leavingAtom, atom.stereoConfig, atom.x, atom.y, atom.z) = row.get("atom_id", "type_symbol", "charge", "pdbx_aromatic_flag", "pdbx_leaving_atom_flag", "pdbx_stereo_config", "model_Cartn_x", "model_Cartn_y", "model_Cartn_z"); atom.typeSymbol = AtomTypeTraits(typeSymbol).type(); mAtoms.push_back(std::move(atom)); } auto &chemCompBond = db["chem_comp_bond"]; for (auto row : chemCompBond) { CompoundBond bond; std::string valueOrder; cif::tie(bond.atomID[0], bond.atomID[1], valueOrder, bond.aromatic, bond.stereoConfig) = row.get("atom_id_1", "atom_id_2", "value_order", "pdbx_aromatic_flag", "pdbx_stereo_config"); bond.type = from_string(valueOrder); mBonds.push_back(std::move(bond)); } } Compound::Compound(cif::Datablock &db, const std::string &id, const std::string &name, const std::string &type) : mID(id) , mName(name) , mType(type) { auto &chemCompAtom = db["chem_comp_atom"]; for (auto row : chemCompAtom) { CompoundAtom atom; std::string typeSymbol; cif::tie(atom.id, typeSymbol, atom.charge, atom.x, atom.y, atom.z) = row.get("atom_id", "type_symbol", "charge", "x", "y", "z"); atom.typeSymbol = AtomTypeTraits(typeSymbol).type(); mFormalCharge += atom.charge; mFormulaWeight += AtomTypeTraits(atom.typeSymbol).weight(); mAtoms.push_back(std::move(atom)); } auto &chemCompBond = db["chem_comp_bond"]; for (auto row : chemCompBond) { CompoundBond bond; std::string btype; cif::tie(bond.atomID[0], bond.atomID[1], btype, bond.aromatic) = row.get("atom_id_1", "atom_id_2", "type", "aromatic"); using cif::iequals; if (iequals(btype, "single")) bond.type = BondType::sing; else if (iequals(btype, "double")) bond.type = BondType::doub; else if (iequals(btype, "triple")) bond.type = BondType::trip; else if (iequals(btype, "deloc") or iequals(btype, "aromat") or iequals(btype, "aromatic")) bond.type = BondType::delo; else { if (cif::VERBOSE) std::cerr << "Unimplemented chem_comp_bond.type " << btype << " in " << id << std::endl; bond.type = BondType::sing; } mBonds.push_back(std::move(bond)); } } CompoundAtom Compound::getAtomByID(const std::string &atomID) const { CompoundAtom result = {}; for (auto &a : mAtoms) { if (a.id == atomID) { result = a; break; } } if (result.id != atomID) throw std::out_of_range("No atom " + atomID + " in Compound " + mID); return result; } bool Compound::atomsBonded(const std::string &atomId_1, const std::string &atomId_2) const { auto i = find_if(mBonds.begin(), mBonds.end(), [&](const CompoundBond &b) { return (b.atomID[0] == atomId_1 and b.atomID[1] == atomId_2) or (b.atomID[0] == atomId_2 and b.atomID[1] == atomId_1); }); return i != mBonds.end(); } // -------------------------------------------------------------------- // a factory class to generate compounds CIFPP_EXPORT const std::map kAAMap{ {"ALA", 'A'}, {"ARG", 'R'}, {"ASN", 'N'}, {"ASP", 'D'}, {"CYS", 'C'}, {"GLN", 'Q'}, {"GLU", 'E'}, {"GLY", 'G'}, {"HIS", 'H'}, {"ILE", 'I'}, {"LEU", 'L'}, {"LYS", 'K'}, {"MET", 'M'}, {"PHE", 'F'}, {"PRO", 'P'}, {"SER", 'S'}, {"THR", 'T'}, {"TRP", 'W'}, {"TYR", 'Y'}, {"VAL", 'V'}, {"GLX", 'Z'}, {"ASX", 'B'}}; CIFPP_EXPORT const std::map kBaseMap{ {"A", 'A'}, {"C", 'C'}, {"G", 'G'}, {"T", 'T'}, {"U", 'U'}, {"DA", 'A'}, {"DC", 'C'}, {"DG", 'G'}, {"DT", 'T'}}; // -------------------------------------------------------------------- class CompoundFactoryImpl : public std::enable_shared_from_this { public: CompoundFactoryImpl(std::shared_ptr next); CompoundFactoryImpl(const std::filesystem::path &file, std::shared_ptr next); virtual ~CompoundFactoryImpl() { for (auto c: mCompounds) delete c; } Compound *get(std::string id) { std::shared_lock lock(mMutex); ba::to_upper(id); Compound *result = nullptr; // walk the list, see if any of us has the compound already for (auto impl = shared_from_this(); impl; impl = impl->mNext) { for (auto cmp : impl->mCompounds) { if (cmp->id() == id) { result = cmp; break; } } if (result) break; } if (result == nullptr and mMissing.count(id) == 0) { for (auto impl = shared_from_this(); impl; impl = impl->mNext) { result = impl->create(id); if (result != nullptr) break; } if (result == nullptr) mMissing.insert(id); } return result; } std::shared_ptr next() const { return mNext; } bool isKnownPeptide(const std::string &resName) { return mKnownPeptides.count(resName) or (mNext and mNext->isKnownPeptide(resName)); } bool isKnownBase(const std::string &resName) { return mKnownBases.count(resName) or (mNext and mNext->isKnownBase(resName)); } protected: virtual Compound *create(const std::string &id) { // For the base class we assume every compound is preloaded return nullptr; } std::shared_timed_mutex mMutex; std::vector mCompounds; std::set mKnownPeptides; std::set mKnownBases; std::set mMissing; std::shared_ptr mNext; }; // -------------------------------------------------------------------- CompoundFactoryImpl::CompoundFactoryImpl(std::shared_ptr next) : mNext(next) { for (const auto &[key, value] : kAAMap) mKnownPeptides.insert(key); for (const auto &[key, value] : kBaseMap) mKnownBases.insert(key); } CompoundFactoryImpl::CompoundFactoryImpl(const std::filesystem::path &file, std::shared_ptr next) : mNext(next) { cif::File cifFile(file); auto compList = cifFile.get("comp_list"); if (compList) // So this is a CCP4 restraints file, special handling { auto &chemComp = (*compList)["chem_comp"]; for (const auto &[id, name, group] : chemComp.rows("id", "name", "group")) { std::string type; // known groups are (counted from ccp4 monomer dictionary) // D-pyranose // DNA // L-PEPTIDE LINKING // L-SACCHARIDE // L-peptide // L-pyranose // M-peptide // NON-POLYMER // P-peptide // RNA // furanose // non-polymer // non_polymer // peptide // pyranose // saccharide if (cif::iequals(id, "gly")) type = "peptide linking"; else if (cif::iequals(group, "l-peptide") or cif::iequals(group, "L-peptide linking") or cif::iequals(group, "peptide")) type = "L-peptide linking"; else if (cif::iequals(group, "DNA")) type = "DNA linking"; else if (cif::iequals(group, "RNA")) type = "RNA linking"; else type = "non-polymer"; auto &db = cifFile["comp_" + id]; mCompounds.push_back(new Compound(db, id, name, type)); } } else { // A CCD components file, validate it first cifFile.loadDictionary("mmcif_pdbx_v50"); if (not cifFile.isValid()) throw std::runtime_error("Invalid compound file"); for (auto &db : cifFile) mCompounds.push_back(new Compound(db)); } } // -------------------------------------------------------------------- // Version for the default compounds, based on the cached components.cif file from CCD class CCDCompoundFactoryImpl : public CompoundFactoryImpl { public: CCDCompoundFactoryImpl(std::shared_ptr next, const fs::path& file) : CompoundFactoryImpl(next) , mCompoundsFile(file) { } CCDCompoundFactoryImpl(std::shared_ptr next) : CompoundFactoryImpl(next) { } Compound *create(const std::string &id) override; cif::DatablockIndex mIndex; fs::path mCompoundsFile; }; Compound *CCDCompoundFactoryImpl::create(const std::string &id) { Compound *result = nullptr; std::unique_ptr ccd; if (mCompoundsFile.empty()) { ccd = cif::loadResource("components.cif"); if (not ccd) throw std::runtime_error("Could not locate the CCD components.cif file, please make sure the software is installed properly and/or use the update-libcifpp-data to fetch the data."); } else ccd.reset(new std::ifstream(mCompoundsFile)); cif::File file; if (mIndex.empty()) { if (cif::VERBOSE > 1) { std::cout << "Creating component index " << "..."; std::cout.flush(); } cif::Parser parser(*ccd, file, false); mIndex = parser.indexDatablocks(); if (cif::VERBOSE > 1) std::cout << " done" << std::endl; // reload the resource, perhaps this should be improved... if (mCompoundsFile.empty()) { ccd = cif::loadResource("components.cif"); if (not ccd) throw std::runtime_error("Could not locate the CCD components.cif file, please make sure the software is installed properly and/or use the update-libcifpp-data to fetch the data."); } else ccd.reset(new std::ifstream(mCompoundsFile)); } if (cif::VERBOSE > 1) { std::cout << "Loading component " << id << "..."; std::cout.flush(); } cif::Parser parser(*ccd, file, false); parser.parseSingleDatablock(id, mIndex); if (cif::VERBOSE > 1) std::cout << " done" << std::endl; if (not file.empty()) { auto &db = file.firstDatablock(); if (db.getName() == id) { result = new Compound(db); std::shared_lock lock(mMutex); mCompounds.push_back(result); } } if (result == nullptr and cif::VERBOSE) std::cerr << "Could not locate compound " << id << " in the CCD components file" << std::endl; return result; } // -------------------------------------------------------------------- // Version for the default compounds, based on the data found in CCP4's monomers lib class CCP4CompoundFactoryImpl : public CompoundFactoryImpl { public: CCP4CompoundFactoryImpl(const fs::path &clibd_mon, std::shared_ptr next = nullptr); Compound *create(const std::string &id) override; private: cif::File mFile; fs::path mCLIBD_MON; }; CCP4CompoundFactoryImpl::CCP4CompoundFactoryImpl(const fs::path &clibd_mon, std::shared_ptr next) : CompoundFactoryImpl(next) , mFile((clibd_mon / "list" / "mon_lib_list.cif").string()) , mCLIBD_MON(clibd_mon) { const std::regex peptideRx("(?:[lmp]-)?peptide", std::regex::icase); auto &chemComps = mFile["comp_list"]["chem_comp"]; for (const auto &[group, threeLetterCode] : chemComps.rows("group", "three_letter_code")) { if (std::regex_match(group, peptideRx)) mKnownPeptides.insert(threeLetterCode); else if (ba::iequals(group, "DNA") or ba::iequals(group, "RNA")) mKnownBases.insert(threeLetterCode); } } Compound *CCP4CompoundFactoryImpl::create(const std::string &id) { Compound *result = nullptr; auto &cat = mFile["comp_list"]["chem_comp"]; auto rs = cat.find(cif::Key("three_letter_code") == id); if (rs.size() == 1) { auto row = rs.front(); std::string name, group; uint32_t numberAtomsAll, numberAtomsNh; cif::tie(name, group, numberAtomsAll, numberAtomsNh) = row.get("name", "group", "number_atoms_all", "number_atoms_nh"); fs::path resFile = mCLIBD_MON / ba::to_lower_copy(id.substr(0, 1)) / (id + ".cif"); if (not fs::exists(resFile) and (id == "COM" or id == "CON" or "PRN")) // seriously... resFile = mCLIBD_MON / ba::to_lower_copy(id.substr(0, 1)) / (id + '_' + id + ".cif"); if (fs::exists(resFile)) { cif::File cf(resFile.string()); // locate the datablock auto &db = cf["comp_" + id]; std::string type; // known groups are (counted from ccp4 monomer dictionary) // D-pyranose // DNA // L-PEPTIDE LINKING // L-SACCHARIDE // L-peptide // L-pyranose // M-peptide // NON-POLYMER // P-peptide // RNA // furanose // non-polymer // non_polymer // peptide // pyranose // saccharide if (cif::iequals(id, "gly")) type = "peptide linking"; else if (cif::iequals(group, "l-peptide") or cif::iequals(group, "L-peptide linking") or cif::iequals(group, "peptide")) type = "L-peptide linking"; else if (cif::iequals(group, "DNA")) type = "DNA linking"; else if (cif::iequals(group, "RNA")) type = "RNA linking"; else type = "non-polymer"; mCompounds.push_back(new Compound(db, id, name, type)); result = mCompounds.back(); } } return result; } // -------------------------------------------------------------------- std::unique_ptr CompoundFactory::sInstance; thread_local std::unique_ptr CompoundFactory::tlInstance; bool CompoundFactory::sUseThreadLocalInstance; void CompoundFactory::init(bool useThreadLocalInstanceOnly) { sUseThreadLocalInstance = useThreadLocalInstanceOnly; } CompoundFactory::CompoundFactory() : mImpl(nullptr) { auto ccd = cif::loadResource("components.cif"); if (ccd) mImpl.reset(new CCDCompoundFactoryImpl(mImpl)); else if (cif::VERBOSE) std::cerr << "CCD components.cif file was not found" << std::endl; const char *clibd_mon = getenv("CLIBD_MON"); if (clibd_mon != nullptr and fs::is_directory(clibd_mon)) mImpl.reset(new CCP4CompoundFactoryImpl(clibd_mon)); else if (cif::VERBOSE) std::cerr << "CCP4 monomers library not found, CLIBD_MON is not defined" << std::endl; } CompoundFactory::~CompoundFactory() { } CompoundFactory &CompoundFactory::instance() { if (sUseThreadLocalInstance) { if (not tlInstance) tlInstance.reset(new CompoundFactory()); return *tlInstance; } else { if (not sInstance) sInstance.reset(new CompoundFactory()); return *sInstance; } } void CompoundFactory::clear() { if (sUseThreadLocalInstance) tlInstance.reset(nullptr); else sInstance.reset(); } void CompoundFactory::setDefaultDictionary(const std::filesystem::path &inDictFile) { if (not fs::exists(inDictFile)) throw std::runtime_error("file not found: " + inDictFile.string()); try { mImpl.reset(new CCDCompoundFactoryImpl(mImpl, inDictFile)); } catch (const std::exception &) { std::cerr << "Error loading dictionary " << inDictFile << std::endl; throw; } } void CompoundFactory::pushDictionary(const std::filesystem::path &inDictFile) { if (not fs::exists(inDictFile)) throw std::runtime_error("file not found: " + inDictFile.string()); // ifstream file(inDictFile); // if (not file.is_open()) // throw std::runtime_error("Could not open peptide list " + inDictFile); try { mImpl.reset(new CompoundFactoryImpl(inDictFile, mImpl)); } catch (const std::exception &) { std::cerr << "Error loading dictionary " << inDictFile << std::endl; throw; } } void CompoundFactory::popDictionary() { if (mImpl) mImpl = mImpl->next(); } const Compound *CompoundFactory::create(std::string id) { // static bool warned = false; // if (mImpl and warned == false) // { // std::cerr << "Warning: no compound information library was found, resulting data may be incorrect or incomplete" << std::endl; // warned = true; // } return mImpl ? mImpl->get(id) : nullptr; } bool CompoundFactory::isKnownPeptide(const std::string &resName) const { return mImpl ? mImpl->isKnownPeptide(resName) : kAAMap.count(resName) > 0; } bool CompoundFactory::isKnownBase(const std::string &resName) const { return mImpl ? mImpl->isKnownBase(resName) : kBaseMap.count(resName) > 0; } } // namespace mmcif libcifpp-2.0.5/src/Config-cmake.hpp.in0000664000175000017500000000050614200173347017342 0ustar maartenmaarten/* Define to the name of this package. */ #cmakedefine PACKAGE_NAME "@PACKAGE_NAME@" /* Define to the version of this package. */ #cmakedefine PACKAGE_VERSION "@PACKAGE_VERSION@" /* Define the complete package string */ #cmakedefine PACKAGE_STRING "@PACKAGE_STRING@" /* Using resources? */ #cmakedefine USE_RSRC @USE_RSRC@ libcifpp-2.0.5/src/Config.hpp.in0000664000175000017500000000567514200173347016300 0ustar maartenmaarten/* src/Config.hpp.in. Generated from configure.ac by autoheader. */ /* define if the Boost library is available */ #undef HAVE_BOOST /* define if the Boost::Date_Time library is available */ #undef HAVE_BOOST_DATE_TIME /* define if the Boost::IOStreams library is available */ #undef HAVE_BOOST_IOSTREAMS /* define if the Boost::Regex library is available */ #undef HAVE_BOOST_REGEX /* define if the compiler supports basic C++17 syntax */ #undef HAVE_CXX17 /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the `floor' function. */ #undef HAVE_FLOOR /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `pow' function. */ #undef HAVE_POW /* Define if you have POSIX threads libraries and header files. */ #undef HAVE_PTHREAD /* Have PTHREAD_PRIO_INHERIT. */ #undef HAVE_PTHREAD_PRIO_INHERIT /* Define to 1 if the system has the type `ptrdiff_t'. */ #undef HAVE_PTRDIFF_T /* Define to 1 if you have the `rint' function. */ #undef HAVE_RINT /* Define to 1 if you have the `sqrt' function. */ #undef HAVE_SQRT /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR /* Define to 1 if you have the `strerror' function. */ #undef HAVE_STRERROR /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_IOCTL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_TERMIOS_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL /* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to necessary symbol if this constant uses a non-standard name on your system. */ #undef PTHREAD_CREATE_JOINABLE /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Use mrc to store resources */ #undef USE_RSRC libcifpp-2.0.5/src/PDB2Cif.cpp0000664000175000017500000053653014200173347015571 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include #include #include #include #include #include "cif++/AtomType.hpp" #include "cif++/CifUtils.hpp" #include "cif++/Compound.hpp" #include "cif++/PDB2Cif.hpp" #include "cif++/PDB2CifRemark3.hpp" #include "cif++/Point.hpp" #include "cif++/Symmetry.hpp" namespace ba = boost::algorithm; using cif::Category; using cif::Datablock; using cif::iequals; using cif::Key; using cif::Row; using mmcif::CompoundFactory; // -------------------------------------------------------------------- // attempt to come up with better error handling namespace error { enum pdbErrors { residueNotFound = 1000, invalidDate }; namespace detail { class pdbCategory : public std::error_category { public: const char *name() const noexcept { return "pdb"; } std::string message(int value) const { switch (value) { case residueNotFound: return "Residue not found"; case invalidDate: return "Invalid date"; default: return "Error in PDB format"; } } }; } // namespace detail std::error_category &pdbCategory() { static detail::pdbCategory impl; return impl; } inline std::error_code make_error_code(pdbErrors e) { return std::error_code(static_cast(e), pdbCategory()); } } // namespace error namespace std { template <> struct is_error_code_enum { static const bool value = true; }; } // namespace std // -------------------------------------------------------------------- const std::map kMonths{ {"JAN", 1}, {"FEB", 2}, {"MAR", 3}, {"APR", 4}, {"MAY", 5}, {"JUN", 6}, {"JUL", 7}, {"AUG", 8}, {"SEP", 9}, {"OCT", 10}, {"NOV", 11}, {"DEC", 12}, }; const std::set kSupportedRecords{ "HEADER", "OBSLTE", "TITLE ", "SPLIT ", "CAVEAT", "COMPND", "SOURCE", "KEYWDS", "EXPDTA", "NUMMDL", "MDLTYP", "AUTHOR", "REVDAT", "SPRSDE", "JRNL ", "REMARK", "DBREF ", "DBREF1", "DBREF2", "SEQADV", "SEQRES", "MODRES", "HET ", "HETNAM", "HETSYN", "FORMUL", "HELIX ", "SHEET ", "SSBOND", "LINK ", "CISPEP", "SITE ", "CRYST1", "ORIGX1", "SCALE1", "MTRIX1", "ORIGX2", "SCALE2", "MTRIX2", "ORIGX3", "SCALE3", "MTRIX3", "MODEL ", "ATOM ", "ANISOU", "TER ", "HETATM", "ENDMDL", "CONECT", "MASTER", "END ", // bah... "LINKR "}; bool isWater(const std::string &resname) { return resname == "HOH" or resname == "H2O" or resname == "OH2" or resname == "WAT" or resname == "DOD" or resname == "WAT"; } // -------------------------------------------------------------------- // Unfortunately, parsing a PDB file requires several passes over the // data. Therefore we first obtain all records where a record has the // value flattened out for continuation. PDBRecord::PDBRecord(uint32_t lineNr, const std::string &name, const std::string &value) : mNext(nullptr) , mLineNr(lineNr) , mVlen(value.length()) { assert(name.length() <= 10); strcpy(mName, name.c_str()); strcpy(mValue, value.c_str()); } PDBRecord::~PDBRecord() { } void *PDBRecord::operator new(size_t size, size_t vLen) { return malloc(size + vLen + 1); } void PDBRecord::operator delete(void *p) { free(p); } void PDBRecord::operator delete(void *p, size_t vLen) { free(p); } bool PDBRecord::is(const char *name) const { return iequals(mName, name); } char PDBRecord::vC(size_t column) { char result = ' '; if (column - 7 < mVlen) result = mValue[column - 7]; return result; } std::string PDBRecord::vS(size_t columnFirst, size_t columnLast) { std::string result; if (columnLast > mVlen + 6) columnLast = mVlen + 6; if (columnFirst < mVlen + 7) { result = std::string{mValue + columnFirst - 7, mValue + columnLast - 7 + 1}; ba::trim(result); } return result; } int PDBRecord::vI(int columnFirst, int columnLast) { int result = 0; const char *e = mValue + mVlen; if (e > mValue + columnLast - 7 + 1) e = mValue + columnLast - 7 + 1; enum { start, digit, tail } state = start; bool negate = false; try { for (const char *p = mValue + columnFirst - 7; p < e; ++p) { switch (state) { case start: if (*p == '+') state = digit; else if (*p == '-') { negate = true; state = digit; } else if (isdigit(*p)) { result = *p - '0'; state = digit; } else if (not isspace(*p)) throw std::runtime_error("Not a valid integer in PDB record"); break; case digit: if (isspace(*p)) state = tail; else if (not isdigit(*p)) throw std::runtime_error("Not a valid integer in PDB record"); else result = result * 10 + *p - '0'; break; case tail: if (not isspace(*p)) throw std::runtime_error("Not a valid integer in PDB record"); break; } } } catch (const std::exception &ex) { std::cerr << "Trying to parse '" << std::string(mValue + columnFirst - 7, mValue + columnLast - 7) << '\'' << std::endl; throw; } if (negate) result = -result; return result; } std::string PDBRecord::vF(size_t columnFirst, size_t columnLast) { // for now... TODO: check format? return vS(columnFirst, columnLast); } // -------------------------------------------------------------------- class SpecificationListParser { public: SpecificationListParser(const std::string &text) : mText(text) , mP(mText.begin()) { } std::tuple GetNextSpecification(); private: std::string mText; std::string::iterator mP; }; std::tuple SpecificationListParser::GetNextSpecification() { std::string id, value; std::string::iterator start = mP, backup; enum { eStart, eID, eColon, eValue, eNL, eNL_ID, eSemiColon, eError, eDone } state = eStart; while (mP != mText.end() and state != eDone) { char ch = *mP++; switch (state) { case eStart: if (isalnum(ch) or ch == '_') { id = {ch}; value.clear(); state = eID; start = mP; } else if (not isspace(ch)) { if (cif::VERBOSE) std::cerr << "skipping invalid character in SOURCE ID: " << ch << std::endl; } break; case eID: if (isalnum(ch) or ch == '_') id += ch; else if (ch == ':') state = eColon; else state = eError; break; case eColon: if (ch == ';') { if (cif::VERBOSE) std::cerr << "Empty value for SOURCE: " << id << std::endl; state = eStart; } else if (not isspace(ch)) { value = {ch}; state = eValue; } break; case eValue: if (ch == '\n') { backup = mP; state = eNL; } else if (ch == ';') { backup = mP; state = eSemiColon; } else value += ch; break; case eSemiColon: if (ch == '\n') state = eDone; else if (ch != ' ') { value.insert(value.end(), backup, mP); state = eValue; } break; case eNL: if (isalnum(ch)) { value += ' '; state = eNL_ID; } else if (isspace(ch)) state = eValue; break; case eNL_ID: if (ch == ':') { mP = backup; state = eDone; } else if (ch == ';') state = eSemiColon; else if (not(isalnum(ch) or ch == '_')) { value.insert(value.end(), backup, mP); state = eValue; } break; case eError: if (ch == ';') { if (cif::VERBOSE) std::cerr << "Skipping invalid header line: '" << std::string(start, mP) << std::endl; state = eStart; } break; case eDone: break; // keep compiler happy } } ba::trim(value); return std::make_tuple(id, value); } // -------------------------------------------------------------------- class PDBFileParser { public: PDBFileParser() : mData(nullptr) , mRec(nullptr) { } ~PDBFileParser() { PDBRecord *r = mData; while (r != nullptr) { PDBRecord *d = r; r = d->mNext; delete d; } } void Parse(std::istream &is, cif::File &result); private: // ---------------------------------------------------------------- struct DBREF { std::string PDBIDCode; char chainID; int seqBegin; char insertBegin = ' '; int seqEnd; char insertEnd = ' '; std::string database; std::string dbAccession; std::string dbIdCode; int dbSeqBegin; char dbinsBeg; int dbSeqEnd; char dbinsEnd; }; struct HET { std::string hetID; char chainID; int seqNum; char iCode; int numHetAtoms = 0; std::string text; std::string asymID; std::vector atoms; bool processed = false; bool branch = false; PDBRecord *asn = nullptr; HET(const std::string &hetID, char chainID, int seqNum, char iCode, int numHetAtoms = 0, const std::string &text = {}) : hetID(hetID) , chainID(chainID) , seqNum(seqNum) , iCode(iCode) , numHetAtoms(numHetAtoms) , text(text) { } }; struct UNOBS { int modelNr; std::string res; char chain; int seq; char iCode; std::vector atoms; }; struct ATOM_REF { std::string name; std::string resName; int resSeq; char chainID; char iCode; char altLoc; bool operator==(const ATOM_REF &rhs) const { return name == rhs.name and resName == rhs.resName and resSeq == rhs.resSeq and (altLoc == rhs.altLoc or altLoc == ' ' or rhs.altLoc == ' ') and chainID == rhs.chainID and iCode == rhs.iCode; } bool operator!=(const ATOM_REF &rhs) const { return not operator==(rhs); } bool operator<(const ATOM_REF &rhs) const { int d = chainID - rhs.chainID; if (d == 0) d = resSeq - rhs.resSeq; if (d == 0) d = iCode - rhs.iCode; // if (d == 0) d = resName.compare(rhs.resName); if (d == 0) d = name.compare(rhs.name); if (d == 0 and altLoc != ' ' and rhs.altLoc != ' ') d = altLoc - rhs.altLoc; return d < 0; } friend std::ostream &operator<<(std::ostream &os, const ATOM_REF &a) { os << a.name << ' ' << a.resName << ' ' << a.chainID << ' ' << a.resSeq << (a.iCode == ' ' ? "" : std::string{a.iCode}) << (a.altLoc != ' ' ? std::string{' ', a.altLoc} : ""); return os; } }; struct LINK { ATOM_REF a, b; std::string symOpA, symOpB; float distance; }; struct SUGAR { ATOM_REF c1; int leaving_o; ATOM_REF next; }; class SUGAR_TREE : public std::vector { public: std::string entityName() const { return empty() ? "" : entityName(begin()); } private: std::string entityName(const_iterator sugar) const { std::string result; for (auto i = begin(); i != end(); ++i) { if (i->next != sugar->c1) continue; auto n = entityName(i) + "-(1-" + std::to_string(i->leaving_o) + ")"; if (result.empty()) result = n; else result += "-[" + n + ']'; } if (not result.empty() and result.back() != ']') result += '-'; auto compound = CompoundFactory::instance().create(sugar->c1.resName); if (compound) result += compound->name(); else if (sugar->c1.resName == "MAN") result += "alpha-D-mannopyranose"; else if (sugar->c1.resName == "BMA") result += "beta-D-mannopyranose"; else if (sugar->c1.resName == "NAG") result += "2-acetamido-2-deoxy-beta-D-glucopyranose"; else if (sugar->c1.resName == "NDG") result += "2-acetamido-2-deoxy-alpha-D-glucopyranose"; else if (sugar->c1.resName == "FUC") result += "alpha-L-fucopyranose"; else if (sugar->c1.resName == "FUL") result += "beta-L-fucopyranose"; else result += sugar->c1.resName; return result; } }; // ---------------------------------------------------------------- /* To get from PDB chains to CIF entity and poly records we take the following steps: First check if there is a Primary Structure Section. If there is, it should contain a valid DBREF/SEQRES pair that allows the reconstruction of numbering of residues. If that fails, we fall back to: 1. Collect the chains from the PDB file. 2. For each chain, split out the residues and waters, assign those to new entities 3. If there are multiple chains containing residues, align those to find unique polymers 4. Annotate the entity records with available information in the PDB file (COMPND e.g.) 5. Create the mapping structures from PDB numbering to CIF numbering. */ struct PDBCompound { int mMolID; std::string mTitle; std::set mChains; std::map mInfo; std::map mSource; int mCount = 0; }; struct PDBSeqRes { std::string mMonID; int mSeqNum; char mIcode; int mDbSeqNum; bool mSeen = false; std::set mAlts; bool operator==(const PDBSeqRes &rhs) const { return mSeqNum == rhs.mSeqNum and mMonID == rhs.mMonID and mIcode == rhs.mIcode; } }; struct PDBChain { PDBChain(const std::string &structureID, char chainID, int molID) : mDbref{structureID, chainID} , mWaters(0) , mTerIndex(0) , mMolID(molID) , mNextSeqNum(1) , mNextDbSeqNum(1) { } DBREF mDbref; std::vector mSeqres, mHet; int mWaters; int mTerIndex; int mMolID; // scratch values for reading SEQRES records int mNextSeqNum; int mNextDbSeqNum; // scratch value for aligning struct AtomRes { std::string mMonID; int mSeqNum; char mIcode; bool operator==(const AtomRes &rhs) const { return mSeqNum == rhs.mSeqNum and mIcode == rhs.mIcode; } bool operator!=(const AtomRes &rhs) const { return mSeqNum != rhs.mSeqNum or mIcode != rhs.mIcode; } }; std::vector mResiduesSeen; int AlignResToSeqRes(); bool SameSequence(const PDBChain &rhs) const; }; // ---------------------------------------------------------------- PDBCompound &GetOrCreateCompound(int molID) { auto i = std::find_if(mCompounds.begin(), mCompounds.end(), [molID](PDBCompound &comp) -> bool { return comp.mMolID == molID; }); if (i == mCompounds.end()) { mCompounds.push_back(PDBCompound{molID}); mMolID2EntityID[molID] = std::to_string(mNextEntityNr++); i = prev(mCompounds.end()); } return *i; } // locate the PDBChain record for a chain ID, or create it with dummy data if missing PDBChain &GetChainForID(char chainID, int numRes = 0) { auto i = std::find_if(mChains.begin(), mChains.end(), [chainID](PDBChain &ch) -> bool { return ch.mDbref.chainID == chainID; }); if (i == mChains.end()) { // locate the compound for this chain, if any (does that happen?) int molID = 0; for (auto &cmp : mCompounds) { if (cmp.mChains.count(chainID) > 0) { molID = cmp.mMolID; break; } } mChains.emplace_back(mStructureID, chainID, molID); i = prev(mChains.end()); } return *i; }; void InsertChemComp(const std::string &chemComp) { if (find(mChemComp.begin(), mChemComp.end(), chemComp) == mChemComp.end()) mChemComp.push_back(chemComp); } void InsertAtomType(const std::string &atomType) { if (find(mAtomTypes.begin(), mAtomTypes.end(), atomType) == mAtomTypes.end()) mAtomTypes.push_back(atomType); } // ---------------------------------------------------------------- template PDBRecord *FindRecord(Predicate &&pred) { PDBRecord *result; for (result = mData; result != nullptr; result = result->mNext) { if (pred(*result)) break; } return result; } PDBRecord *FindRecord(const char *name) { return FindRecord([name](PDBRecord &rec) -> bool { return rec.is(name); }); } // ---------------------------------------------------------------- char vC(size_t column) const { return mRec->vC(column); } std::string vS(size_t columnFirst, size_t columnLast = std::numeric_limits::max()) const { return mRec->vS(columnFirst, columnLast); } std::string vF(size_t columnFirst, size_t columnLast) const { return mRec->vF(columnFirst, columnLast); } int vI(int columnFirst, int columnLast) const { return mRec->vI(columnFirst, columnLast); } // ---------------------------------------------------------------- // Map a PDB residue location to a seqnum in a struct_asym std::tuple MapResidue(char chainID, int resSeq, char iCode) const { auto key = std::make_tuple(chainID, resSeq, iCode); try { return mChainSeq2AsymSeq.at(key); } catch (const std::exception &ex) { throw_with_nested(std::runtime_error(std::string("Residue ") + chainID + std::to_string(resSeq) + iCode + " could not be mapped")); } } std::tuple MapResidue(char chainID, int resSeq, char iCode, std::error_code &ec) const { auto key = std::make_tuple(chainID, resSeq, iCode); std::tuple result; if (not mChainSeq2AsymSeq.count(key)) { ec = error::make_error_code(error::pdbErrors::residueNotFound); if (cif::VERBOSE) std::cerr << "Residue " << chainID << resSeq << iCode << " could not be mapped" << std::endl; } else result = mChainSeq2AsymSeq.at(key); return result; } std::tuple MapResidue(char chainID, int resSeq, char iCode, const std::string &resName); // ---------------------------------------------------------------- void PreParseInput(std::istream &is); void GetNextRecord(); void Match(const std::string &expected, bool throwIfMissing); void ParseTitle(); void ParseCitation(const std::string &id); void ParseRemarks(); // void ParseRemark3(); // size_t ParseRemark3(const std::string& program, const Remark3Template templ[], size_t N); // std::string NextRemark3Line(); void ParseRemark200(); void ParseRemark350(); void ParsePrimaryStructure(); void ParseHeterogen(); void ConstructEntities(); void ConstructSugarTrees(int &asymNr); void ParseSecondaryStructure(); void ParseConnectivtyAnnotation(); void ParseMiscellaneousFeatures(); void ParseCrystallographic(); void ParseCoordinateTransformation(); void ParseCoordinate(int modelNr); void ParseConnectivty(); void ParseBookkeeping(); // ---------------------------------------------------------------- Category *getCategory(std::string name) { cif::Datablock::iterator i; std::tie(i, std::ignore) = mDatablock->emplace(name); return &*i; } std::vector SplitCSV(const std::string &value); std::string pdb2cifDate(std::string s, std::error_code &ec) { std::smatch m; const std::regex rx1(R"((\d{2})-(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)-(\d{2}))"), rx2(R"((JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)-(\d{2}))"); try { if (regex_match(s, m, rx1)) { int day = stoi(m[1].str()); auto mi = kMonths.find(m[2].str()); if (mi == kMonths.end()) throw std::runtime_error("Invalid month: '" + m[2].str() + '\''); int month = mi->second; int year = 1900 + stoi(m[3].str()); if (year < 1950) year += 100; std::stringstream ss; ss << std::setw(4) << std::setfill('0') << year << '-' << std::setw(2) << std::setfill('0') << month << '-' << std::setw(2) << std::setfill('0') << day; s = ss.str(); } else if (regex_match(s, m, rx2)) { auto mi = kMonths.find(m[1].str()); if (mi == kMonths.end()) throw std::runtime_error("Invalid month: '" + m[1].str() + '\''); int month = mi->second; int year = 1900 + stoi(m[2].str()); if (year < 1950) year += 100; s = (boost::format("%04d-%02d") % year % month).str(); } else ec = error::make_error_code(error::pdbErrors::invalidDate); } catch (const std::exception &ex) { if (cif::VERBOSE) std::cerr << ex.what() << std::endl; ec = error::make_error_code(error::pdbErrors::invalidDate); } return s; } std::string pdb2cifDate(std::string s) { std::error_code ec; return pdb2cifDate(s, ec); } std::string pdb2cifAuth(std::string author) { ba::trim(author); const std::regex rx(R"(((?:[A-Z]+\.)+)(.+))"); std::smatch m; if (regex_match(author, m, rx)) author = m[2].str() + ", " + m[1].str(); bool upper = true; for (auto &c : author) { if (ispunct(c) or isspace(c)) upper = true; else if (upper) upper = false; else c = cif::tolower(c); } return author; } std::string pdb2cifSymmetry(std::string s) { static const std::regex sgRx(R"((\d{1,3})(\d{3}))"); if (not s.empty()) { std::smatch m; if (not std::regex_match(s, m, sgRx)) throw std::runtime_error("invalid symmetry value '" + s + '\''); s = m[1].str() + "_" + m[2].str(); } return s; } std::string pdb2cifCharge(std::string c) { std::regex rx(R"((\d+)(\+|-))"); std::smatch m; if (std::regex_match(c, m, rx)) { if (m[2].str() == "-") c = '-' + m[1].str(); else c = m[1].str(); } return c; } std::vector altLocsForAtom(char chainID, int seqNum, char iCode, std::string atomName); void MapChainID2AsymIDS(char chainID, std::vector &asymIds); std::tuple FindLink(const std::string &name1, const std::string &resName1, int resSeq1, char altLoc1, char chainID1, char iCode1, const std::string &name2, const std::string &resName2 = "") { return FindLink(ATOM_REF{name1, resName1, resSeq1, altLoc1, chainID1, iCode1}, name2, resName2); } std::tuple FindLink(const ATOM_REF &atom, const std::string &name2, const std::string &resName2 = "") const { auto i = std::find_if(mLinks.begin(), mLinks.end(), [&](const LINK &link) { return (link.a == atom and link.b.name == name2 and (resName2.empty() or link.b.resName == resName2)) or (link.b == atom and link.a.name == name2 and (resName2.empty() or link.a.resName == resName2)); }); if (i != mLinks.end()) return {i->a == atom ? i->b : i->a, true}; return {}; } // ---------------------------------------------------------------- PDBRecord *mData; PDBRecord *mRec; cif::Datablock *mDatablock = nullptr; std::string mStructureID; std::string mModelTypeDetails; std::string mOriginalDate; std::string mExpMethod = "X-RAY DIFFRACTION"; int mCitationAuthorNr = 1, mCitationEditorNr = 1; int mNextMolID = 1, mNextEntityNr = 1; int mNextSoftwareOrd = 1; struct SEQADV { std::string resName; char chainID; int seqNum; char iCode; std::string database; std::string dbAccession; std::string dbRes; int dbSeq; std::string conflict; }; std::vector mSeqadvs; std::list mCompounds; std::list mChains; std::vector mHets; std::map mHetnams; std::map mHetsyns; std::map mFormuls; std::string mWaterHetID; std::vector mChemComp, mAtomTypes; std::map mRemark200; std::string mRefinementSoftware; int mAtomID = 0; int mPdbxDifOrdinal = 0; std::vector mUnobs; std::vector mLinks; // various maps between numbering schemes std::map, std::tuple> mChainSeq2AsymSeq; std::map mMolID2EntityID; std::map mHet2EntityID; std::map mBranch2EntityID; std::map mAsymID2EntityID; std::map mMod2parent; }; // -------------------------------------------------------------------- std::vector PDBFileParser::altLocsForAtom(char inChainID, int inResSeq, char inICode, std::string inAtomName) { // well, maybe this could be optimized... std::set result; for (auto r = mData; r != nullptr; r = r->mNext) { if (r->is("ATOM ") or r->is("HETATM")) // 1 - 6 Record name "ATOM " { // ... std::string name = r->vS(13, 16); // 13 - 16 Atom name Atom name. char altLoc = r->vC(17); // 17 Character altLoc Alternate location indicator. char chainID = r->vC(22); // 22 Character chainID Chain identifier. int resSeq = r->vI(23, 26); // 23 - 26 Integer resSeq Residue sequence number. char iCode = r->vC(27); // 27 AChar iCode Code for insertion of residues. if (chainID == inChainID and resSeq == inResSeq and iCode == inICode and name == inAtomName and altLoc != ' ') result.insert(altLoc); } } return {result.begin(), result.end()}; } void PDBFileParser::MapChainID2AsymIDS(char chainID, std::vector &asymIds) { for (const auto &[key, value] : mChainSeq2AsymSeq) { if (std::get<0>(key) == chainID) asymIds.push_back(std::get<0>(value)); } std::sort(asymIds.begin(), asymIds.end(), [](const std::string &a, const std::string &b) { int d = static_cast(a.length() - b.length()); if (d == 0) d = a.compare(b); return d < 0; }); asymIds.erase(std::unique(asymIds.begin(), asymIds.end()), asymIds.end()); } // -------------------------------------------------------------------- void PDBFileParser::PreParseInput(std::istream &is) { std::string lookahead; uint32_t lineNr = 1; getline(is, lookahead); if (lookahead.back() == '\r') lookahead.pop_back(); // if (ba::starts_with(lookahead, "HEADER") == false) // throw std::runtime_error("This does not look like a PDB file, should start with a HEADER line"); auto contNr = [&lookahead](int offset, int len) -> int { std::string cs = lookahead.substr(offset, len); ba::trim(cs); int result; try { result = cs.empty() ? 0 : stoi(cs); } catch (...) { throw std::runtime_error("Continuation std::string '" + cs + "' is not valid"); } return result; }; PDBRecord *last = nullptr; std::set dropped; for (;;) { if (lookahead.empty()) { if (is.eof()) break; std::cerr << "Line number " << lineNr << " is empty!" << std::endl; getline(is, lookahead); ++lineNr; continue; } std::string type = lookahead.substr(0, 6); std::string value; if (lookahead.length() > 6) value = ba::trim_right_copy(lookahead.substr(6)); uint32_t curLineNr = lineNr; getline(is, lookahead); ++lineNr; if (kSupportedRecords.count(type) == 0) { ba::trim(type); if (type != "END") // special case dropped.insert(type); lookahead.clear(); continue; } // see if we need to append continuation values if (type == "AUTHOR" or type == "EXPDTA" or type == "MDLTYP" or type == "KEYWDS" or type == "SPLIT " or type == "SPRSDE" or type == "TITLE ") { int n = 2; while (lookahead.substr(0, 6) == type and contNr(7, 3) == n) { value += ba::trim_right_copy(lookahead.substr(10)); getline(is, lookahead); ++lineNr; ++n; } } else if (type == "COMPND") { int n = 2; value += '\n'; while (lookahead.substr(0, 6) == type and contNr(7, 3) == n) { value += ba::trim_right_copy(lookahead.substr(10)); value += '\n'; getline(is, lookahead); ++lineNr; ++n; } } else if (type == "REVDAT") { int revNr = stoi(value.substr(1, 3)); int n = 2; while (lookahead.substr(0, 6) == type and stoi(lookahead.substr(7, 3)) == revNr and contNr(10, 2) == n) { value += lookahead.substr(38); getline(is, lookahead); ++lineNr; ++n; } } else if (type == "CAVEAT") { int n = 2; while (lookahead.substr(0, 6) == type and contNr(7, 3) == n) { value += ba::trim_right_copy(lookahead.substr(13)); getline(is, lookahead); ++lineNr; ++n; } } else if (type == "OBSLTE") { while (lookahead.substr(0, 6) == type) { value += lookahead.substr(31); getline(is, lookahead); ++lineNr; } } else if (type == "SOURCE") { value += '\n'; int n = 2; while (lookahead.substr(0, 6) == type and contNr(7, 3) == n) { value += ba::trim_copy(lookahead.substr(10)); value += '\n'; getline(is, lookahead); ++lineNr; ++n; } } else if (type == "FORMUL") { try { int compNr; try { compNr = stoi(value.substr(1, 3)); } catch (const std::exception &ex) { std::cerr << "Dropping FORMUL line (" << (lineNr - 1) << ") with invalid component number '" << value.substr(1, 3) << '\'' << std::endl; continue; // throw_with_nested(std::runtime_error("Invalid component number '" + value.substr(1, 3) + '\'')); } int n = 2; try { while (lookahead.substr(0, 6) == type and stoi(lookahead.substr(7, 3)) == compNr and contNr(16, 2) == n) { value += ba::trim_right_copy(lookahead.substr(19)); ; getline(is, lookahead); ++lineNr; ++n; } } catch (const std::invalid_argument &ex) { continue; // throw_with_nested(std::runtime_error("Invalid component number '" + lookahead.substr(7, 3) + '\'')); } } catch (const std::exception &ex) { std::cerr << "Error parsing FORMUL at line " << lineNr << std::endl; throw; } } else if (type == "HETNAM" or type == "HETSYN") { int n = 2; while (lookahead.substr(0, 6) == type and contNr(8, 2) == n) { value += ba::trim_right_copy(lookahead.substr(16)); ; getline(is, lookahead); ++lineNr; ++n; } } else if (type == "SITE ") { std::string siteName = value.substr(5, 3); ba::trim_right(value); size_t n = value.length() - 12; value += std::string(11 - (n % 11), ' '); while (lookahead.substr(0, 6) == type and lookahead.substr(11, 3) == siteName) { std::string s = lookahead.substr(18); ba::trim_right(s); s += std::string(11 - (s.length() % 11), ' '); value += s; // TODO: improve this... either use numRes or don't lump together all text // value += " " + ba::trim_right_copy(); getline(is, lookahead); ++lineNr; } } else if (type == "REMARK") { type += value.substr(0, 4); // parse it now, makes life easier later on if (type == "REMARK 200" or type == "REMARK 240") { auto i = value.find(":"); if (i != std::string::npos) { std::string k = value.substr(4, i - 4); std::string v = value.substr(i + 1); ba::trim(k); while (k.find(" ") != std::string::npos) ba::replace_all(k, " ", " "); ba::trim(v); if (iequals(v, "NONE") or iequals(v, "N/A") or iequals(v, "NAN")) mRemark200[k] = "."; else if (not iequals(v, "NULL")) mRemark200[k] = v; } } } PDBRecord *cur = new (value.length()) PDBRecord(curLineNr, type, value); if (last == nullptr) last = mData = cur; else last->mNext = cur; last = cur; ba::trim(type); if (type == "LINK" or type == "LINKR") { LINK link = {}; link.a.name = cur->vS(13, 16); // 13 - 16 Atom name1 Atom name. link.a.altLoc = cur->vC(17); // 17 Character altLoc1 Alternate location indicator. link.a.resName = cur->vS(18, 20); // 18 - 20 Residue name resName1 Residue name. link.a.chainID = cur->vC(22); // 22 Character chainID1 Chain identifier. link.a.resSeq = cur->vI(23, 26); // 23 - 26 Integer resSeq1 Residue sequence number. link.a.iCode = cur->vC(27); // 27 AChar iCode1 Insertion code. link.b.name = cur->vS(43, 46); // 43 - 46 Atom name2 Atom name. link.b.altLoc = cur->vC(47); // 47 Character altLoc2 Alternate location indicator. link.b.resName = cur->vS(48, 50); // 48 - 50 Residue name resName2 Residue name. link.b.chainID = cur->vC(52); // 52 Character chainID2 Chain identifier. link.b.resSeq = cur->vI(53, 56); // 53 - 56 Integer resSeq2 Residue sequence number. link.b.iCode = cur->vC(57); // 57 AChar iCode2 Insertion code. link.symOpA = cur->vS(60, 65); // 60 - 65 SymOP sym1 Symmetry operator atom 1. link.symOpB = cur->vS(67, 72); // 67 - 72 SymOP sym2 Symmetry operator atom 2. if (type == "LINK") // 1 - 6 Record name "LINK " link.distance = std::stof(cur->vF(74, 78)); // 74 – 78 Real(5.2) Length Link distance mLinks.push_back(link); } if (type == "END") break; } if (not dropped.empty()) { std::cerr << "Dropped unsupported records: " << ba::join(dropped, ", ") << std::endl; } if (mData == nullptr) throw std::runtime_error("Empty file?"); mRec = mData; } void PDBFileParser::GetNextRecord() { if (mRec != nullptr) mRec = mRec->mNext; if (mRec == nullptr) { static PDBRecord *end = new (0) PDBRecord({0, "END ", ""}); mRec = end; } } void PDBFileParser::Match(const std::string &expected, bool throwIfMissing) { assert(mRec); if (mRec->mName != expected) { if (throwIfMissing) throw std::runtime_error("Expected record " + expected + " but found " + mRec->mName); if (cif::VERBOSE) std::cerr << "Expected record " + expected + " but found " + mRec->mName << std::endl; } } std::vector PDBFileParser::SplitCSV(const std::string &value) { std::vector vs; ba::split(vs, value, ba::is_any_of(",")); for (auto &v : vs) ba::trim(v); return vs; } void PDBFileParser::ParseTitle() { // strict ordering required // HEADER // 1 - 6 Record name "HEADER" // 11 - 50 String(40) classification Classifies the molecule(s). // 51 - 59 Date depDate Deposition date. This is the date the // coordinates were received at the PDB. // 63 - 66 IDcode idCode This identifier is unique within the PDB. Match("HEADER", false); std::string keywords; if (mRec->is("HEADER")) { mStructureID = vS(63, 66); keywords = vS(11, 50); mOriginalDate = pdb2cifDate(vS(51, 59)); ba::trim(keywords); GetNextRecord(); } ba::trim(mStructureID); if (mStructureID.empty()) mStructureID = "nohd"; mDatablock = new cif::Datablock(mStructureID); auto cat = getCategory("entry"); // cat->addColumn("id"); cat->emplace({{"id", mStructureID}}); // OBSLTE if (mRec->is("OBSLTE")) { // 1 - 6 Record name "OBSLTE" // 9 - 10 Continuation continuation Allows concatenation of multiple records // 12 - 20 Date repDate Date that this datablock was replaced. // 22 - 25 IDcode idCode ID code of this datablock. // 32 - 35 IDcode rIdCode ID code of datablock that replaced this one. // 37 - 40 ... std::string old = vS(22, 25); std::string date = pdb2cifDate(vS(12, 20)); cat = getCategory("pdbx_database_PDB_obs"); std::string value = mRec->vS(32); for (auto i = make_split_iterator(value, ba::token_finder(ba::is_any_of(" "), ba::token_compress_on)); not i.eof(); ++i) { cat->emplace({{"id", "OBSLTE"}, {"date", date}, {"replace_pdb_id", old}, {"pdb_id", std::string(i->begin(), i->end())}}); } GetNextRecord(); } // TITLE Match("TITLE ", false); std::string title; if (mRec->is("TITLE ")) // 1 - 6 Record name "TITLE " { // 9 - 10 Continuation continuation Allows concatenation of multiple records. title = vS(11); // 11 - 80 String title Title of the experiment. GetNextRecord(); } // SPLIT if (mRec->is("SPLIT ")) { // 1 - 6 Record name "SPLIT " // 9 - 10 Continuation continuation Allows concatenation of multiple records. // 12 - 15 IDcode idCode ID code of related datablock. throw std::runtime_error("SPLIT PDB files are not supported"); } // CAVEAT int caveatID = 1; while (mRec->is("CAVEAT")) // 1 - 6 Record name "CAVEAT" { getCategory("database_PDB_caveat")->emplace({ {"id", caveatID++}, {"text", std::string{mRec->vS(20)}} // 20 - 79 String comment Free text giving the reason for the CAVEAT. }); GetNextRecord(); } // COMPND Match("COMPND", false); // 1 - 6 Record name "COMPND" // 8 - 10 Continuation continuation Allows concatenation of multiple records. // 11 - 80 Specification compound Description of the molecular components. // list std::string value{mRec->vS(11)}; if (value.find(':') == std::string::npos) { // special case for dumb, stripped files auto &comp = GetOrCreateCompound(1); comp.mInfo["MOLECULE"] = value; } else { SpecificationListParser p(value); for (;;) { std::string key, val; std::tie(key, val) = p.GetNextSpecification(); if (key.empty()) break; if (not iequals(key, "MOL_ID") and mCompounds.empty()) { std::cerr << "Ignoring invalid COMPND record" << std::endl; break; } if (key == "MOL_ID") { auto &comp = GetOrCreateCompound(stoi(val)); comp.mTitle = title; } else if (key == "CHAIN") { std::vector chains; ba::split(chains, val, ba::is_any_of(",")); for (auto &c : chains) { ba::trim(c); mCompounds.back().mChains.insert(c[0]); } } else mCompounds.back().mInfo[key] = val; } } if (mRec->is("COMPND")) GetNextRecord(); // SOURCE Match("SOURCE", false); if (mRec->is("SOURCE")) { // 1 - 6 Record name "SOURCE" // 8 - 10 Continuation continuation Allows concatenation of multiple records. // 11 - 79 Specification srcName Identifies the source of the // List macromolecule in a token: value format. std::map *source = nullptr; // value = { mRec->vS(11) }; // for (auto si = ba::make_split_iterator(value, ba::token_finder(ba::is_any_of(";"), ba::token_compress_on)); not si.eof(); ++si) // { // std::string s(si->begin(), si->end()); // if (s.empty()) // continue; // // auto colon = s.find(": "); // if (colon == std::string::npos) // { // if (cif::VERBOSE) // std::cerr << "invalid source field, missing colon (" << s << ')' << std::endl; // continue; // } SpecificationListParser p(vS(11)); for (;;) { std::string key, val; std::tie(key, val) = p.GetNextSpecification(); if (key.empty()) break; if (key == "MOL_ID") { for (auto &c : mCompounds) { if (c.mMolID == stoi(val)) { source = &c.mSource; break; } } continue; } if (source == nullptr) throw std::runtime_error("At line " + std::to_string(mRec->mLineNr) + ": missing MOL_ID in SOURCE"); (*source)[key] = val; } GetNextRecord(); } // KEYWDS Match("KEYWDS", false); std::string pdbxKeywords; if (mRec->is("KEYWDS")) // 1 - 6 Record name "KEYWDS" { // 9 - 10 Continuation continuation Allows concatenation of records if necessary. pdbxKeywords = vS(11); // 11 - 79 List keywds Comma-separated list of keywords relevant // to the datablock. GetNextRecord(); } if (not(keywords.empty() and pdbxKeywords.empty())) { getCategory("struct_keywords")->emplace({{"entry_id", mStructureID}, {"pdbx_keywords", keywords}, {"text", pdbxKeywords}}); } // EXPDTA Match("EXPDTA", false); if (mRec->is("EXPDTA")) { mExpMethod = vS(11); cat = getCategory("exptl"); std::vector crystals; ba::split(crystals, mRemark200["NUMBER OF CRYSTALS USED"], ba::is_any_of("; ")); if (crystals.empty()) crystals.push_back(""); auto ci = crystals.begin(); for (auto si = ba::make_split_iterator(mExpMethod, ba::token_finder(ba::is_any_of(";"), ba::token_compress_on)); not si.eof(); ++si, ++ci) { std::string expMethod(si->begin(), si->end()); ba::trim(expMethod); if (expMethod.empty()) continue; cat->emplace({{"entry_id", mStructureID}, {"method", expMethod}, {"crystals_number", ci != crystals.end() ? *ci : ""}}); } GetNextRecord(); } // NUMMDL if (mRec->is("NUMMDL")) { if (cif::VERBOSE) std::cerr << "skipping unimplemented NUMMDL record" << std::endl; GetNextRecord(); } // MDLTYP if (mRec->is("MDLTYP")) { mModelTypeDetails = vS(11); GetNextRecord(); } // AUTHOR Match("AUTHOR", false); if (mRec->is("AUTHOR")) { int n = 1; cat = getCategory("audit_author"); value = {mRec->vS(11)}; for (auto si = ba::make_split_iterator(value, ba::token_finder(ba::is_any_of(","), ba::token_compress_on)); not si.eof(); ++si) { std::string author(si->begin(), si->end()); cat->emplace({{"name", pdb2cifAuth(author)}, {"pdbx_ordinal", n}}); ++n; } GetNextRecord(); } // REVDAT bool firstRevDat = true; struct RevDat { int revNum; std::string date, dateOriginal, replaces; int modType; std::vector types; bool operator<(const RevDat &rhs) const { return revNum < rhs.revNum; } }; std::vector revdats; while (mRec->is("REVDAT")) { // 1 - 6 Record name "REVDAT" int revNum = vI(8, 10); // 8 - 10 Integer modNum Modification number. // 11 - 12 Continuation continuation Allows concatenation of multiple records. std::string date = pdb2cifDate(vS(14, 22)); // 14 - 22 Date modDate Date of modification (or release for // new entries) in DD-MMM-YY format. This is // not repeated on continued lines. std::string modID = vS(24, 27); // 24 - 27 IDCode modID ID code of this datablock. This is not repeated on // continuation lines. int modType = vI(32, 32); // 32 Integer modType An integer identifying the type of // modification. For all revisions, the // modification type is listed as 1 std::string detail = vS(40); // 40 - 45 LString(6) record Modification detail. // 47 - 52 LString(6) record Modification detail. // 54 - 59 LString(6) record Modification detail. // 61 - 66 LString(6) record Modification detail. revdats.push_back({revNum, date, modType == 0 ? mOriginalDate : "", modID, modType}); ba::split(revdats.back().types, detail, ba::is_any_of(" ")); if (firstRevDat) { cat = getCategory("database_2"); cat->emplace({{"database_id", "PDB"}, {"database_code", modID}}); } GetNextRecord(); firstRevDat = false; } /* This is internal stuff for PDB, don't write it ??? */ sort(revdats.begin(), revdats.end()); for (auto &revdat : revdats) { getCategory("database_PDB_rev")->emplace({{"num", revdat.revNum}, {"date", revdat.date}, {"date_original", revdat.dateOriginal}, {"replaces", revdat.replaces}, {"mod_type", revdat.modType}}); for (auto &type : revdat.types) { if (type.empty()) continue; getCategory("database_PDB_rev_record")->emplace({{"rev_num", revdat.revNum}, {"type", type}}); } } //*/ // SPRSDE if (mRec->is("SPRSDE")) { if (cif::VERBOSE) std::cerr << "skipping unimplemented SPRSDE record" << std::endl; GetNextRecord(); } // JRNL if (mRec->is("JRNL ")) ParseCitation("primary"); } void PDBFileParser::ParseCitation(const std::string &id) { const char *rec = mRec->mName; std::string auth, titl, edit, publ, refn, pmid, doi; std::string pubname, volume, astm, country, issn, csd; std::string pageFirst; int year = 0; auto extend = [](std::string &s, const std::string &p) { if (not s.empty()) s += ' '; s += ba::trim_copy(p); }; while (mRec->is(rec) and (id == "primary" or vC(12) == ' ')) { std::string k = vS(13, 16); if (k == "AUTH") extend(auth, vS(20, 79)); else if (k == "TITL") extend(titl, vS(20, 79)); else if (k == "EDIT") extend(edit, vS(20, 79)); else if (k == "REF") { if (pubname.empty()) { extend(pubname, vS(20, 47)); if (vS(50, 51) == "V.") volume = ba::trim_copy(vS(52, 55)); pageFirst = vS(57, 61); year = vI(63, 66); } else extend(pubname, vS(20, 47)); } else if (k == "PUBL") extend(publ, vS(20, 70)); else if (k == "REFN") { if (vS(20, 23) == "ASTN") astm = vS(25, 30); country = vS(33, 34); if (vS(36, 39) == "ISSN") issn = vS(41, 65); } else if (k == "PMID") pmid = vS(20, 79); else if (k == "DOI") doi = vS(20, 79); GetNextRecord(); } auto cat = getCategory("citation"); cat->emplace({{"id", id}, {"title", titl}, {"journal_abbrev", pubname}, {"journal_volume", volume}, {"page_first", pageFirst}, {"year", year > 0 ? std::to_string(year) : ""}, {"journal_id_ASTM", astm}, {"country", country}, {"journal_id_ISSN", issn}, {"journal_id_CSD", csd}, {"book_publisher", publ}, {"pdbx_database_id_PubMed", pmid}, {"pdbx_database_id_DOI", doi}}); if (not auth.empty()) { cat = getCategory("citation_author"); for (auto si = ba::make_split_iterator(auth, ba::token_finder(ba::is_any_of(","), ba::token_compress_on)); not si.eof(); ++si) { std::string author(si->begin(), si->end()); cat->emplace({{"citation_id", id}, {"name", pdb2cifAuth(author)}, {"ordinal", mCitationAuthorNr}}); ++mCitationAuthorNr; } } if (not edit.empty()) { cat = getCategory("citation_editor"); for (auto si = ba::make_split_iterator(edit, ba::token_finder(ba::is_any_of(","), ba::token_compress_on)); not si.eof(); ++si) { std::string editor(si->begin(), si->end()); cat->emplace({{"citation_id", id}, {"name", pdb2cifAuth(editor)}, {"ordinal", mCitationEditorNr}}); ++mCitationEditorNr; } } } void PDBFileParser::ParseRemarks() { std::string sequenceDetails, compoundDetails, sourceDetails; while (ba::starts_with(mRec->mName, "REMARK")) { int remarkNr = vI(8, 10); try { switch (remarkNr) { case 1: while (mRec->is("REMARK 1")) { if (mRec->mVlen > 15 and vS(12, 20) == "REFERENCE") { std::string id = vS(22, 70); GetNextRecord(); ParseCitation(id); } else GetNextRecord(); } break; case 3: // we skip REMARK 3 until we know the mapping while (mRec->is("REMARK 3")) GetNextRecord(); break; case 4: // who cares... while (mRec->is("REMARK 4")) GetNextRecord(); break; case 100: { const std::regex rx(R"(THE (\S+) ID CODE IS (\S+?)\.?\s*)"); std::smatch m; std::string r = vS(12); if (std::regex_match(r, m, rx)) { auto cat = getCategory("database_2"); cat->emplace({{"database_id", m[1].str()}, {"database_code", m[2].str()}}); } GetNextRecord(); break; } case 200: { // we already parsed most of this remark, but the "REMARK:" part might have been split. bool remark = false; do { std::string r = mRec->vS(12); if (ba::starts_with(r, "REMARK: ")) { mRemark200["REMARK"] = r.substr(8); remark = true; } else if (remark) { if (r.empty()) remark = false; else mRemark200["REMARK"] += r; } GetNextRecord(); } while (mRec->is("REMARK 200")); break; } case 280: { std::string density_Matthews, densityPercentSol, conditions; const std::regex rx1(R"(SOLVENT CONTENT, VS +\(%\): *(.+))"), rx2(R"(MATTHEWS COEFFICIENT, VM \(ANGSTROMS\*\*3/DA\): *(.+))"); std::smatch m; do { std::string r = vS(12); if (conditions.empty()) { if (std::regex_match(r, m, rx1)) densityPercentSol = m[1].str(); else if (std::regex_match(r, m, rx2)) density_Matthews = m[1].str(); else if (ba::starts_with(r, "CRYSTALLIZATION CONDITIONS: ")) conditions = r.substr(28); } else conditions = conditions + ' ' + r; GetNextRecord(); } while (mRec->is("REMARK 280")); std::string desc = mRemark200["REMARK"]; if (desc == "NULL") desc.clear(); getCategory("exptl_crystal")->emplace({{"id", 1}, {"density_Matthews", iequals(density_Matthews, "NULL") ? "" : density_Matthews}, {"density_percent_sol", iequals(densityPercentSol, "NULL") ? "" : densityPercentSol}, {"description", desc}}); // now try to parse the conditions const std::regex rx3(R"(TEMPERATURE +(\d+)K)"), rx4(R"(PH *(?:: *)?(\d+(?:\.\d+)?))") /*, rx5(R"(\b(\d+)C\b)")*/; std::string temp, ph, method; for (auto i = make_split_iterator(conditions, ba::token_finder(ba::is_any_of(","), ba::token_compress_on)); not i.eof(); ++i) { std::string s(i->begin(), i->end()); ba::trim(s); if (std::regex_search(s, m, rx3)) temp = m[1].str(); if (std::regex_search(s, m, rx4)) ph = m[1].str(); if (s.length() < 60 and (ba::icontains(s, "drop") or ba::icontains(s, "vapor") or ba::icontains(s, "batch"))) { if (not method.empty()) method = method + ", " + s; else method = s; } } if (not(method.empty() and temp.empty() and ph.empty() and (conditions.empty() or conditions == "NULL"))) { getCategory("exptl_crystal_grow")->emplace({{"crystal_id", 1}, {"method", method}, {"temp", temp}, {"pH", ph}, {"pdbx_details", conditions}}); } break; } // case 290: // // break; case 350: // postponed since we don't have the required information yet for (; mRec->is("REMARK 350"); GetNextRecord()) ; break; case 400: { std::stringstream s; GetNextRecord(); if (vS(12) == "COMPOUND") GetNextRecord(); while (mRec->is("REMARK 400")) { s << vS(12) << std::endl; GetNextRecord(); } compoundDetails = s.str(); break; } case 450: { std::stringstream s; GetNextRecord(); if (vS(12) == "SOURCE") GetNextRecord(); while (mRec->is("REMARK 450")) { s << vS(12) << std::endl; GetNextRecord(); } sourceDetails = s.str(); break; } case 465: { bool headerSeen = false; std::regex rx(R"( *MODELS *(\d+)-(\d+))"); int models[2] = {-1, -1}; for (; mRec->is("REMARK 465"); GetNextRecord()) { if (not headerSeen) { std::string line = vS(12); std::smatch m; if (std::regex_match(line, m, rx)) { models[0] = std::stoi(m[1].str()); models[1] = stoi(m[2].str()); } else headerSeen = ba::contains(line, "RES C SSSEQI"); continue; } if (models[0] == models[1]) models[0] = models[1] = vI(12, 14); std::string res = vS(16, 18); char chain = vC(20); int seq = vI(22, 26); char iCode = vC(27); for (int modelNr = models[0]; modelNr <= models[1]; ++modelNr) mUnobs.push_back({modelNr, res, chain, seq, iCode}); } break; } case 470: { bool headerSeen = false; std::regex rx(R"( *MODELS *(\d+)-(\d+))"); int models[2] = {-1, -1}; for (; mRec->is("REMARK 470"); GetNextRecord()) { if (not headerSeen) { std::string line = vS(12); std::smatch m; if (std::regex_match(line, m, rx)) { models[0] = stoi(m[1].str()); models[1] = stoi(m[2].str()); } else headerSeen = ba::contains(line, "RES CSSEQI ATOMS"); continue; } if (models[0] == models[1]) models[0] = models[1] = vI(12, 14); std::string res = vS(16, 18); char chain = vC(20); int seq = vI(21, 24); char iCode = vC(25); std::vector atoms; std::string atomStr = mRec->vS(29); for (auto i = make_split_iterator(atomStr, ba::token_finder(ba::is_any_of(" "), ba::token_compress_on)); not i.eof(); ++i) atoms.push_back({i->begin(), i->end()}); for (int modelNr = models[0]; modelNr <= models[1]; ++modelNr) mUnobs.push_back({modelNr, res, chain, seq, iCode, atoms}); } break; } case 500: { GetNextRecord(); enum State { eStart, eCCinSAU, eCC, eCBL, eCBA, eTA, eCTg, ePG, eMCP, eChC } state = eStart; bool headerSeen = false; int id = 0; for (; mRec->is("REMARK 500"); GetNextRecord()) { std::string line = vS(12); if (line == "GEOMETRY AND STEREOCHEMISTRY") continue; switch (state) { case eStart: { if (line.empty() or not ba::starts_with(line, "SUBTOPIC: ")) continue; std::string subtopic = line.substr(10); if (subtopic == "CLOSE CONTACTS IN SAME ASYMMETRIC UNIT") state = eCCinSAU; else if (subtopic == "CLOSE CONTACTS") state = eCC; else if (subtopic == "COVALENT BOND LENGTHS") state = eCBL; else if (subtopic == "COVALENT BOND ANGLES") state = eCBA; else if (subtopic == "TORSION ANGLES") state = eTA; else if (subtopic == "NON-CIS, NON-TRANS") state = eCTg; else if (subtopic == "PLANAR GROUPS") state = ePG; else if (subtopic == "MAIN CHAIN PLANARITY") state = eMCP; else if (subtopic == "CHIRAL CENTERS") state = eChC; else if (cif::VERBOSE) throw std::runtime_error("Unknown subtopic in REMARK 500: " + subtopic); headerSeen = false; id = 0; break; } case eCCinSAU: { if (not headerSeen) headerSeen = line == "ATM1 RES C SSEQI ATM2 RES C SSEQI DISTANCE"; else if (line.empty()) state = eStart; else { std::string atom1 = vS(13, 16); std::string res1 = vS(19, 21); std::string alt1 = vS(17, 17); char chain1 = vC(23); int seq1 = vI(25, 29); std::string iCode1 = vS(30, 30); std::string atom2 = vS(34, 37); std::string alt2 = vS(38, 38); std::string res2 = vS(40, 42); char chain2 = vC(44); int seq2 = vI(46, 50); std::string iCode2 = vS(51, 51); std::string distance = vF(63, 71); getCategory("pdbx_validate_close_contact")->emplace({{"id", std::to_string(++id)}, {"PDB_model_num", 1}, {"auth_atom_id_1", atom1}, {"auth_asym_id_1", std::string{chain1}}, {"auth_comp_id_1", res1}, {"auth_seq_id_1", seq1}, {"PDB_ins_code_1", iCode1}, {"label_alt_id_1", alt1}, {"auth_atom_id_2", atom2}, {"auth_asym_id_2", std::string{chain2}}, {"auth_comp_id_2", res2}, {"auth_seq_id_2", seq2}, {"PDB_ins_code_2", iCode2}, {"label_alt_id_2", alt2}, {"dist", distance}}); } break; } case eCC: { if (not headerSeen) headerSeen = line == "ATM1 RES C SSEQI ATM2 RES C SSEQI SSYMOP DISTANCE"; else if (line.empty()) state = eStart; else { std::string atom1 = vS(13, 16); std::string res1 = vS(19, 21); char chain1 = vC(23); int seq1 = vI(25, 29); std::string atom2 = vS(34, 37); std::string res2 = vS(40, 42); char chain2 = vC(44); int seq2 = vI(46, 50); std::string symop; try { symop = pdb2cifSymmetry(vS(54, 59)); } catch (const std::exception &ex) { if (cif::VERBOSE) std::cerr << "Dropping REMARK 500 at line " << mRec->mLineNr << " due to invalid symmetry operation" << std::endl; continue; } std::string distance = vF(63, 71); getCategory("pdbx_validate_symm_contact")->emplace({{"id", std::to_string(++id)}, {"PDB_model_num", 1}, {"auth_atom_id_1", atom1}, {"auth_asym_id_1", std::string{chain1}}, {"auth_comp_id_1", res1}, {"auth_seq_id_1", seq1}, // { "PDB_ins_code_1", "" }, // { "label_alt_id_1", "" }, {"site_symmetry_1", "1_555"}, {"auth_atom_id_2", atom2}, {"auth_asym_id_2", std::string{chain2}}, {"auth_comp_id_2", res2}, {"auth_seq_id_2", seq2}, // { "PDB_ins_code_2", "" }, // { "label_alt_id_2", "" }, {"site_symmetry_2", symop}, {"dist", distance}}); } break; } case eCBL: { if (not headerSeen) { if (ba::starts_with(line, "FORMAT: ") and line != "FORMAT: (10X,I3,1X,2(A3,1X,A1,I4,A1,1X,A4,3X),1X,F6.3)") throw std::runtime_error("Unexpected format in REMARK 500"); headerSeen = line == "M RES CSSEQI ATM1 RES CSSEQI ATM2 DEVIATION"; } else if (line.empty()) state = eStart; else { int model = vI(11, 13); std::string resNam1 = vS(15, 17); std::string chainID1{vC(19)}; int seqNum1 = vI(20, 23); std::string iCode1{vC(24)}; std::string alt1 = vS(30, 30); std::string atm1 = vS(26, 29); std::string resNam2 = vS(33, 35); std::string chainID2{vC(37)}; int seqNum2 = vI(38, 41); std::string iCode2{vC(42)}; std::string alt2 = vS(48, 48); std::string atm2 = vS(44, 47); std::string deviation = vF(51, 57); if (iCode1 == " ") iCode1.clear(); if (iCode2 == " ") iCode2.clear(); getCategory("pdbx_validate_rmsd_bond")->emplace({{"id", std::to_string(++id)}, {"PDB_model_num", model ? model : 1}, {"auth_atom_id_1", atm1}, {"auth_asym_id_1", chainID1}, {"auth_comp_id_1", resNam1}, {"auth_seq_id_1", seqNum1}, {"PDB_ins_code_1", iCode1}, {"label_alt_id_1", alt1}, {"auth_atom_id_2", atm2}, {"auth_asym_id_2", chainID2}, {"auth_comp_id_2", resNam2}, {"auth_seq_id_2", seqNum2}, {"PDB_ins_code_2", iCode2}, {"label_alt_id_2", alt2}, {"bond_deviation", deviation}}); } break; } case eCBA: if (not headerSeen) { if (ba::starts_with(line, "FORMAT: ") and line != "FORMAT: (10X,I3,1X,A3,1X,A1,I4,A1,3(1X,A4,2X),12X,F5.1)") throw std::runtime_error("Unexpected format in REMARK 500"); headerSeen = line == "M RES CSSEQI ATM1 ATM2 ATM3"; } else if (line.empty()) state = eStart; else if (vS(64) == "DEGREES") { int model = vI(11, 13); std::string resNam = vS(15, 17); std::string chainID{vC(19)}; int seqNum = vI(20, 23); std::string iCode{vC(24)}; if (iCode == " ") iCode.clear(); std::string atoms[3] = {vS(27, 30), vS(34, 37), vS(41, 44)}; std::string deviation = vF(57, 62); if (deviation == "*****") deviation.clear(); getCategory("pdbx_validate_rmsd_angle")->emplace({{"id", std::to_string(++id)}, {"PDB_model_num", model ? model : 1}, {"auth_atom_id_1", atoms[0]}, {"auth_asym_id_1", chainID}, {"auth_comp_id_1", resNam}, {"auth_seq_id_1", seqNum}, {"PDB_ins_code_1", iCode}, {"auth_atom_id_2", atoms[1]}, {"auth_asym_id_2", chainID}, {"auth_comp_id_2", resNam}, {"auth_seq_id_2", seqNum}, {"PDB_ins_code_2", iCode}, {"auth_atom_id_3", atoms[2]}, {"auth_asym_id_3", chainID}, {"auth_comp_id_3", resNam}, {"auth_seq_id_3", seqNum}, {"PDB_ins_code_3", iCode}, {"angle_deviation", deviation}}); } break; case eTA: if (not headerSeen) { if (ba::starts_with(line, "FORMAT: ") and line != "FORMAT:(10X,I3,1X,A3,1X,A1,I4,A1,4X,F7.2,3X,F7.2)") throw std::runtime_error("Unexpected format in REMARK 500"); headerSeen = line == "M RES CSSEQI PSI PHI"; } else if (line.empty()) state = eStart; else { int model = vI(11, 13); std::string resNam = vS(15, 17); std::string chainID{vC(19)}; int seqNum = vI(20, 23); std::string iCode{vC(24)}; if (iCode == " ") iCode.clear(); std::string psi = vF(27, 35); std::string phi = vF(37, 45); getCategory("pdbx_validate_torsion")->emplace({{"id", std::to_string(++id)}, {"PDB_model_num", model ? model : 1}, {"auth_comp_id", resNam}, {"auth_asym_id", chainID}, {"auth_seq_id", seqNum}, {"PDB_ins_code", iCode}, {"phi", phi}, {"psi", psi}}); } break; case eCTg: if (not headerSeen) headerSeen = line == "MODEL OMEGA"; else if (line.empty()) state = eStart; else { int model = vI(45, 48); std::string resNam1 = vS(12, 14); std::string chainID1{vC(16)}; int seqNum1 = vI(17, 21); std::string iCode1{vC(22)}; if (iCode1 == " ") iCode1.clear(); std::string resNam2 = vS(27, 29); std::string chainID2{vC(31)}; int seqNum2 = vI(32, 36); std::string iCode2{vC(37)}; if (iCode2 == " ") iCode2.clear(); std::string omega = vF(54, 60); getCategory("pdbx_validate_peptide_omega")->emplace({{"id", std::to_string(++id)}, {"PDB_model_num", model ? model : 1}, {"auth_comp_id_1", resNam1}, {"auth_asym_id_1", chainID1}, {"auth_seq_id_1", seqNum1}, {"PDB_ins_code_1", iCode1}, {"auth_comp_id_2", resNam2}, {"auth_asym_id_2", chainID2}, {"auth_seq_id_2", seqNum2}, {"PDB_ins_code_2", iCode2}, {"omega", omega}}); } break; case ePG: if (not headerSeen) headerSeen = line == "M RES CSSEQI RMS TYPE"; else if (line.empty()) state = eStart; else { int model = vI(11, 13); std::string resNam = vS(15, 17); std::string chainID{vC(19)}; int seqNum = vI(20, 23); std::string iCode{vC(24)}; if (iCode == " ") iCode.clear(); std::string rmsd = vF(32, 36); std::string type = vS(41); getCategory("pdbx_validate_planes")->emplace({{"id", std::to_string(++id)}, {"PDB_model_num", model ? model : 1}, {"auth_comp_id", resNam}, {"auth_asym_id", chainID}, {"auth_seq_id", seqNum}, {"PDB_ins_code", iCode}, {"rmsd", rmsd}, {"type", type}}); } break; default: state = eStart; break; } } break; } case 610: { bool headerSeen = false; for (; mRec->is("REMARK 610"); GetNextRecord()) { if (not headerSeen) { std::string line = vS(12); headerSeen = ba::contains(line, "RES C SSEQI"); continue; } int modelNr = vI(12, 14); if (modelNr == 0) modelNr = 1; std::string res = vS(16, 18); char chain = vC(20); int seq = vI(22, 25); char iCode = vC(26); auto compound = mmcif::CompoundFactory::instance().create(res); if (compound == nullptr) continue; std::vector atoms; for (auto atom : compound->atoms()) { if (atom.typeSymbol != mmcif::H) atoms.push_back(atom.id); } mUnobs.push_back({modelNr, res, chain, seq, iCode, {atoms}}); } break; } case 800: { const std::regex rx1(R"(SITE_IDENTIFIER: (.+))"), rx2(R"(EVIDENCE_CODE: (.+))"), rx3(R"(SITE_DESCRIPTION: (binding site for residue ([[:alnum:]]{1,3}) ([[:alnum:]]) (\d+)|.+))", std::regex_constants::icase); std::string id, evidence, desc; std::string pdbxAuthAsymID, pdbxAuthCompID, pdbxAuthSeqID, pdbxAuthInsCode; std::smatch m; enum State { sStart, sID, sEvidence, sDesc, sDesc2 } state = sStart; auto store = [&]() { // Find the matching SITE record auto site = FindRecord([id](PDBRecord &r) -> bool { return r.is("SITE ") and r.vS(12, 14) == id; }); if (site == nullptr) throw std::runtime_error("Invalid REMARK 800, no SITE record for id " + id); // next record, store what we have getCategory("struct_site")->emplace({{"id", id}, {"details", desc}, {"pdbx_auth_asym_id", pdbxAuthAsymID}, {"pdbx_auth_comp_id", pdbxAuthCompID}, {"pdbx_auth_seq_id", pdbxAuthSeqID}, {"pdbx_num_residues", site->vI(16, 17)}, {"pdbx_evidence_code", evidence}}); }; for (; mRec->is("REMARK 800"); GetNextRecord()) { std::string s = mRec->vS(12); if (s.empty()) continue; switch (state) { case sStart: if (s == "SITE") state = sID; else if (cif::VERBOSE) throw std::runtime_error("Invalid REMARK 800 record, expected SITE"); break; case sID: if (std::regex_match(s, m, rx1)) { id = m[1].str(); state = sEvidence; } else if (cif::VERBOSE) throw std::runtime_error("Invalid REMARK 800 record, expected SITE_IDENTIFIER"); break; case sEvidence: if (regex_match(s, m, rx2)) { evidence = m[1].str(); state = sDesc; } else if (cif::VERBOSE) throw std::runtime_error("Invalid REMARK 800 record, expected SITE_IDENTIFIER"); break; case sDesc: if (regex_match(s, m, rx3)) { desc = m[1].str(); pdbxAuthCompID = m[2].str(); pdbxAuthAsymID = m[3].str(); pdbxAuthSeqID = m[4].str(); state = sDesc2; } break; case sDesc2: if (regex_match(s, m, rx1)) { store(); id = m[1].str(); state = sEvidence; evidence.clear(); desc.clear(); } else desc = desc + ' ' + s; break; } } if (not id.empty()) store(); break; } case 999: { std::stringstream s; GetNextRecord(); if (vS(12) == "SEQUENCE") GetNextRecord(); while (mRec->is("REMARK 999")) { s << vS(12) << std::endl; GetNextRecord(); } sequenceDetails = s.str(); break; } // these are skipped case 2: case 290: case 300: case 620: GetNextRecord(); break; default: { std::string skipped = mRec->mName; std::stringstream s; if (not mRec->vS(11).empty()) s << mRec->vS(11) << std::endl; GetNextRecord(); while (mRec->is(skipped.c_str())) { s << mRec->vS(11) << std::endl; GetNextRecord(); } getCategory("pdbx_database_remark")->emplace({{"id", remarkNr}, {"text", s.str()}}); break; } } } catch (const std::exception &ex) { std::throw_with_nested(std::runtime_error("Error parsing REMARK " + std::to_string(remarkNr))); } } if (not(compoundDetails.empty() and sequenceDetails.empty() and sourceDetails.empty())) { getCategory("pdbx_entry_details")->emplace({{"entry_id", mStructureID}, {"compound_details", compoundDetails}, {"sequence_details", sequenceDetails}, {"source_details", sourceDetails}}); } // store remark 200 info (special case) if (not mRemark200.empty()) ParseRemark200(); } void PDBFileParser::ParseRemark200() { auto rm200 = [&](const char *name, int diffrnNr) -> std::string { int nr = 0; std::string result; for (auto i = make_split_iterator(mRemark200[name], ba::token_finder(ba::is_any_of(";"), ba::token_compress_off)); not i.eof(); ++i) { if (++nr != diffrnNr) continue; result.assign(i->begin(), i->end()); ; ba::trim(result); if (result == "NULL") result.clear(); break; } return result; }; auto inRM200 = [this](std::initializer_list s) -> bool { bool result = false; for (auto *n : s) { if (not this->mRemark200[n].empty()) { result = true; break; } } return result; }; /* The category computing is no longer used. if (inRM200({"INTENSITY-INTEGRATION SOFTWARE", "DATA SCALING SOFTWARE", "SOFTWARE USED"}) or not mRefinementSoftware.empty()) getCategory("computing")->emplace({ { "entry_id", mStructureID }, { "pdbx_data_reduction_ii", mRemark200["INTENSITY-INTEGRATION SOFTWARE"] }, { "pdbx_data_reduction_ds", mRemark200["DATA SCALING SOFTWARE"] }, { "structure_solution", mRemark200["SOFTWARE USED"] }, { "structure_refinement", mRefinementSoftware } }); */ struct { const char *a; const char *b; } kSWMap[] = { {"data reduction", "INTENSITY-INTEGRATION SOFTWARE"}, {"data scaling", "DATA SCALING SOFTWARE"}, {"phasing", "SOFTWARE USED"}, }; for (auto &sw : kSWMap) { if (mRemark200[sw.b].empty()) continue; getCategory("software")->emplace({{"name", mRemark200[sw.b]}, {"classification", sw.a}, {"version", "."}, {"pdbx_ordinal", mNextSoftwareOrd++}}); } std::string scatteringType; if (mRemark200["EXPERIMENT TYPE"] == "X-RAY DIFFRACTION") scatteringType = "x-ray"; else if (mRemark200["EXPERIMENT TYPE"] == "NEUTRON DIFFRACTION") scatteringType = "neutron"; std::set diffrnWaveLengths; for (int diffrnNr = 1;; ++diffrnNr) { std::string ambientTemp = rm200("TEMPERATURE (KELVIN)", diffrnNr); if (ambientTemp.empty()) break; if (ba::ends_with(ambientTemp, "K")) ambientTemp.erase(ambientTemp.length() - 1, 1); getCategory("diffrn")->emplace({{"id", diffrnNr}, {"ambient_temp", ambientTemp}, // { "ambient_temp_details", seqID }, {"crystal_id", 1}}); std::string collectionDate; std::error_code ec; collectionDate = pdb2cifDate(rm200("DATE OF DATA COLLECTION", diffrnNr), ec); if (ec) { if (cif::VERBOSE) std::cerr << ec.message() << " for pdbx_collection_date" << std::endl; // The date field can become truncated when multiple values are available if (diffrnNr != 1) collectionDate.clear(); } getCategory("diffrn_detector")->emplace({{"diffrn_id", diffrnNr}, {"detector", rm200("DETECTOR TYPE", diffrnNr)}, {"type", rm200("DETECTOR MANUFACTURER", diffrnNr)}, {"pdbx_collection_date", collectionDate}, {"details", rm200("OPTICS", diffrnNr)}}); if (inRM200({"MONOCHROMATIC OR LAUE (M/L)", "MONOCHROMATOR", "DIFFRACTION PROTOCOL"}) or not scatteringType.empty()) getCategory("diffrn_radiation")->emplace({{"diffrn_id", diffrnNr}, {"wavelength_id", 1}, {"pdbx_monochromatic_or_laue_m_l", rm200("MONOCHROMATIC OR LAUE (M/L)", diffrnNr)}, {"monochromator", rm200("MONOCHROMATOR", diffrnNr)}, {"pdbx_diffrn_protocol", rm200("DIFFRACTION PROTOCOL", diffrnNr)}, {"pdbx_scattering_type", scatteringType}}); std::vector wavelengths; std::string wl = rm200("WAVELENGTH OR RANGE (A)", diffrnNr); ba::split(wavelengths, wl, ba::is_any_of(", -"), ba::token_compress_on); diffrnWaveLengths.insert(wavelengths.begin(), wavelengths.end()); std::string source; if (rm200("SYNCHROTRON (Y/N)", diffrnNr) == "Y") { getCategory("diffrn_source")->emplace({ {"diffrn_id", diffrnNr}, {"source", "SYNCHROTRON"}, {"type", rm200("RADIATION SOURCE", diffrnNr) + " BEAMLINE " + rm200("BEAMLINE", diffrnNr)}, {"pdbx_synchrotron_site", rm200("RADIATION SOURCE", diffrnNr)}, {"pdbx_synchrotron_beamline", rm200("BEAMLINE", diffrnNr)}, {"pdbx_wavelength", wavelengths.size() == 1 ? wavelengths[0] : ""}, {"pdbx_wavelength_list", wavelengths.size() == 1 ? "" : ba::join(wavelengths, ", ")}, }); } else if (inRM200({"X-RAY GENERATOR MODEL", "RADIATION SOURCE", "BEAMLINE", "WAVELENGTH OR RANGE (A)"})) { getCategory("diffrn_source")->emplace({ {"diffrn_id", diffrnNr}, {"source", rm200("RADIATION SOURCE", diffrnNr)}, {"type", rm200("X-RAY GENERATOR MODEL", diffrnNr)}, {"pdbx_wavelength", wavelengths.size() == 1 ? wavelengths[0] : ""}, {"pdbx_wavelength_list", wavelengths.size() == 1 ? "" : ba::join(wavelengths, ", ")}, }); } } int wavelengthNr = 1; for (auto wl : diffrnWaveLengths) { if (ba::ends_with(wl, "A")) wl.erase(wl.length() - 1, 1); getCategory("diffrn_radiation_wavelength")->emplace({{"id", wavelengthNr++}, {"wavelength", wl.empty() ? "." : wl}, {"wt", "1.0"}}); } if (inRM200({"METHOD USED TO DETERMINE THE STRUCTURE", "STARTING MODEL"})) { auto cat = getCategory("refine"); assert(cat->empty()); std::string resolution = mRemark200["RESOLUTION RANGE HIGH (A)"]; if (resolution.empty()) resolution = "."; cat->emplace({{"pdbx_method_to_determine_struct", mRemark200["METHOD USED TO DETERMINE THE STRUCTURE"]}, {"pdbx_starting_model", mRemark200["STARTING MODEL"]}, {"ls_d_res_high", resolution}, {"pdbx_diffrn_id", 1}, {"pdbx_refine_id", mExpMethod}, {"entry_id", mStructureID}}); } if (inRM200({"REJECTION CRITERIA (SIGMA(I))", "RESOLUTION RANGE HIGH (A)", "RESOLUTION RANGE LOW (A)", "NUMBER OF UNIQUE REFLECTIONS", "COMPLETENESS FOR RANGE (%)", " FOR THE DATA SET", "R MERGE (I)", "R SYM (I)", "DATA REDUNDANCY"})) { auto cat = getCategory("reflns"); Row r; if (cat->empty()) cat->emplace({}); r = cat->back(); r["entry_id"] = mStructureID; r["observed_criterion_sigma_I"] = mRemark200["REJECTION CRITERIA (SIGMA(I))"]; r["d_resolution_high"] = mRemark200["RESOLUTION RANGE HIGH (A)"]; r["d_resolution_low"] = mRemark200["RESOLUTION RANGE LOW (A)"]; r["number_obs"] = mRemark200["NUMBER OF UNIQUE REFLECTIONS"]; r["percent_possible_obs"] = mRemark200["COMPLETENESS FOR RANGE (%)"]; r["pdbx_netI_over_sigmaI"] = mRemark200[" FOR THE DATA SET"]; r["pdbx_Rmerge_I_obs"] = mRemark200["R MERGE (I)"]; r["pdbx_Rsym_value"] = mRemark200["R SYM (I)"]; r["pdbx_redundancy"] = mRemark200["DATA REDUNDANCY"]; r["pdbx_ordinal"] = 1; r["pdbx_diffrn_id"] = 1; } if (inRM200({"HIGHEST RESOLUTION SHELL, RANGE HIGH (A)"})) // that one field is mandatory... { getCategory("reflns_shell")->emplace({{"d_res_high", mRemark200["HIGHEST RESOLUTION SHELL, RANGE HIGH (A)"]}, {"d_res_low", mRemark200["HIGHEST RESOLUTION SHELL, RANGE LOW (A)"]}, {"percent_possible_all", mRemark200["COMPLETENESS FOR SHELL (%)"]}, {"Rmerge_I_obs", mRemark200["R MERGE FOR SHELL (I)"]}, {"pdbx_Rsym_value", mRemark200["R SYM FOR SHELL (I)"]}, {"meanI_over_sigI_obs", mRemark200[" FOR SHELL"]}, {"pdbx_redundancy", mRemark200["DATA REDUNDANCY IN SHELL"]}, {"pdbx_ordinal", 1}, {"pdbx_diffrn_id", 1}}); } else if (inRM200({"HIGHEST RESOLUTION SHELL, RANGE LOW (A)", "COMPLETENESS FOR SHELL (%)", "R MERGE FOR SHELL (I)", "R SYM FOR SHELL (I)", " FOR SHELL", "DATA REDUNDANCY IN SHELL"})) { if (cif::VERBOSE) std::cerr << "Not writing reflns_shell record since d_res_high is missing" << std::endl; } } void PDBFileParser::ParseRemark350() { auto saved = mRec; enum State { eStart, eInfo, eAnd, eApply, eBioMT } state = eStart; const std::regex kRX1(R"(BIOMOLECULE: (\d+))"), kRX2(R"(([^:]+): (.+?)(?: (ANGSTROM\*\*2|KCAL/MOL))?)"), kRX8(R"(APPLY THE FOLLOWING TO CHAINS: (.+))"), kRX9(R"(AND CHAINS: (.+))"), kRX10(R"(BIOMT([123])\s+(\d+)\s+(-?\d+(?:\.\d+)?)\s+(-?\d+(?:\.\d+)?)\s+(-?\d+(?:\.\d+)?)\s+(-?\d+(?:\.\d+)?))"); int biomolecule = 0, operID = 0; std::vector operExpression; std::map values; std::vector asymIdList; std::smatch m; Row genR; std::vector mat, vec; for (mRec = FindRecord("REMARK 350"); mRec != nullptr and mRec->is("REMARK 350"); GetNextRecord()) { std::string line = vS(11); switch (state) { case eStart: if (regex_match(line, m, kRX1)) { biomolecule = stoi(m[1].str()); state = eInfo; } break; case eInfo: if (regex_match(line, m, kRX8)) { state = eApply; std::string value = m[1].str(); for (auto i = make_split_iterator(value, ba::token_finder(ba::is_any_of(", "), ba::token_compress_on)); not i.eof(); ++i) { std::string chain = boost::copy_range(*i); if (chain.empty()) // happens when we have a AND CHAIN line { state = eAnd; break; } if (chain.length() != 1) throw std::runtime_error("Invalid REMARK 350"); MapChainID2AsymIDS(chain[0], asymIdList); } } else if (regex_match(line, m, kRX2)) values[m[1].str()] = m[2].str(); break; case eAnd: if (regex_match(line, m, kRX9)) { state = eApply; std::string value = m[1].str(); for (auto i = make_split_iterator(value, ba::token_finder(ba::is_any_of(", "), ba::token_compress_on)); not i.eof(); ++i) { std::string chain = boost::copy_range(*i); if (chain.empty()) // happens when we have another AND CHAIN line { state = eAnd; break; } MapChainID2AsymIDS(chain[0], asymIdList); } continue; } // fall through case eApply: if (regex_match(line, m, kRX10)) { int mt = stoi(m[1].str()); if (mt != 1) throw std::runtime_error("Invalid REMARK 350"); operID = stoi(m[2].str()); operExpression.push_back(std::to_string(operID)); mat.push_back(stod(m[3].str())); mat.push_back(stod(m[4].str())); mat.push_back(stod(m[5].str())); vec.push_back(stod(m[6].str())); state = eBioMT; } break; case eBioMT: if (regex_match(line, m, kRX10)) { int mt = stoi(m[1].str()); if (mt == 1) { operID = stoi(m[2].str()); operExpression.push_back(std::to_string(operID)); } else if (operID != stoi(m[2].str())) throw std::runtime_error("Invalid REMARK 350"); mat.push_back(stod(m[3].str())); mat.push_back(stod(m[4].str())); mat.push_back(stod(m[5].str())); vec.push_back(stod(m[6].str())); if (mt == 3) { if (vec.size() != 3 or mat.size() != 9) throw std::runtime_error("Invalid REMARK 350"); if (operID == 1) { std::string oligomer = values["AUTHOR DETERMINED BIOLOGICAL UNIT"]; if (oligomer.empty()) oligomer = values["SOFTWARE DETERMINED QUATERNARY STRUCTURE"]; ba::to_lower(oligomer); int count = 0; std::smatch m2; if (std::regex_match(oligomer, m2, std::regex(R"((\d+)-meric)"))) { count = stoi(m2[1].str()); } else if (ba::ends_with(oligomer, "meric")) { std::string cs = oligomer.substr(0, oligomer.length() - 5); if (cs == "mono") count = 1; else if (cs == "di") count = 2; else if (cs == "tri") count = 3; else if (cs == "tetra") count = 4; else if (cs == "hexa") count = 6; else if (cs == "octa") count = 8; else if (cs == "dodeca") count = 12; } std::string details; if (values["AUTHOR DETERMINED BIOLOGICAL UNIT"].empty()) { if (not values["SOFTWARE DETERMINED QUATERNARY STRUCTURE"].empty()) details = "software_defined_assembly"; } else if (values["SOFTWARE DETERMINED QUATERNARY STRUCTURE"].empty()) details = "author_defined_assembly"; else details = "author_and_software_defined_assembly"; getCategory("pdbx_struct_assembly")->emplace({{"id", biomolecule}, {"details", details}, {"method_details", values["SOFTWARE USED"]}, {"oligomeric_details", oligomer}, {"oligomeric_count", count > 0 ? std::to_string(count) : ""}}); auto cat = getCategory("pdbx_struct_assembly_prop"); if (not values["TOTAL BURIED SURFACE AREA"].empty()) cat->emplace({{"biol_id", biomolecule}, {"type", "ABSA (A^2)"}, {"value", values["TOTAL BURIED SURFACE AREA"]}}); if (not values["CHANGE IN SOLVENT FREE ENERGY"].empty()) cat->emplace({{"biol_id", biomolecule}, {"type", "MORE"}, {"value", values["CHANGE IN SOLVENT FREE ENERGY"]}}); if (not values["SURFACE AREA OF THE COMPLEX"].empty()) cat->emplace({{"biol_id", biomolecule}, {"type", "SSA (A^2)"}, {"value", values["SURFACE AREA OF THE COMPLEX"]}}); values.clear(); } boost::format fmt("%12.10f"); getCategory("pdbx_struct_oper_list")->emplace({{"id", operID}, {"type", mat == std::vector{1, 0, 0, 0, 1, 0, 0, 0, 1} and vec == std::vector{0, 0, 0} ? "identity operation" : "crystal symmetry operation"}, // { "name", "" }, // { "symmetryOperation", "" }, {"matrix[1][1]", (fmt % mat[0]).str()}, {"matrix[1][2]", (fmt % mat[1]).str()}, {"matrix[1][3]", (fmt % mat[2]).str()}, {"vector[1]", (fmt % vec[0]).str()}, {"matrix[2][1]", (fmt % mat[3]).str()}, {"matrix[2][2]", (fmt % mat[4]).str()}, {"matrix[2][3]", (fmt % mat[5]).str()}, {"vector[2]", (fmt % vec[1]).str()}, {"matrix[3][1]", (fmt % mat[6]).str()}, {"matrix[3][2]", (fmt % mat[7]).str()}, {"matrix[3][3]", (fmt % mat[8]).str()}, {"vector[3]", (fmt % vec[2]).str()}}); mat.clear(); vec.clear(); } } else if (regex_match(line, m, kRX1)) { if (not(vec.empty() and mat.empty())) throw std::runtime_error("Invalid REMARK 350"); getCategory("pdbx_struct_assembly_gen")->emplace({{"assembly_id", biomolecule}, {"oper_expression", ba::join(operExpression, ",")}, {"asym_id_list", ba::join(asymIdList, ",")}}); biomolecule = stoi(m[1].str()); asymIdList.clear(); operExpression.clear(); state = eInfo; } break; } } if (not operExpression.empty()) { getCategory("pdbx_struct_assembly_gen")->emplace({{"assembly_id", biomolecule}, {"oper_expression", ba::join(operExpression, ",")}, {"asym_id_list", ba::join(asymIdList, ",")}}); } mRec = saved; } void PDBFileParser::ParsePrimaryStructure() { // First locate the DBREF record. Might be missing DBREF cur = {mStructureID}; while (ba::starts_with(mRec->mName, "DBREF")) { if (mRec->is("DBREF ")) // 1 - 6 Record name "DBREF " { cur.PDBIDCode = vS(8, 11); // 8 - 11 IDcode idCode ID code of this datablock. cur.chainID = vC(13); // 13 Character chainID Chain identifier. cur.seqBegin = vI(15, 18); // 15 - 18 Integer seqBegin Initial sequence number of the // PDB sequence segment. cur.insertBegin = vC(19); // 19 AChar insertBegin Initial insertion code of the // PDB sequence segment. cur.seqEnd = vI(21, 24); // 21 - 24 Integer seqEnd Ending sequence number of the // PDB sequence segment. cur.insertEnd = vC(25); // 25 AChar insertEnd Ending insertion code of the // PDB sequence segment. cur.database = vS(27, 32); // 27 - 32 LString database Sequence database name. cur.dbAccession = vS(34, 41); // 34 - 41 LString dbAccession Sequence database accession code. cur.dbIdCode = vS(43, 54); // 43 - 54 LString dbIdCode Sequence database identification code. cur.dbSeqBegin = vI(56, 60); // 56 - 60 Integer dbseqBegin Initial sequence number of the // database seqment. cur.dbinsBeg = vC(61); // 61 AChar idbnsBeg Insertion code of initial residue of the // segment, if PDB is the reference. cur.dbSeqEnd = vI(63, 67); // 63 - 67 Integer dbseqEnd Ending sequence number of the // database segment. cur.dbinsEnd = vC(68); // 68 AChar dbinsEnd Insertion code of the ending residue of // the segment, if PDB is the reference. auto &chain = GetChainForID(cur.chainID); chain.mDbref = cur; } else if (mRec->is("DBREF1")) // 1 - 6 Record name "DBREF1" { cur.PDBIDCode = vS(8, 11); // 8 - 11 IDcode idCode ID code of this datablock. cur.chainID = vC(13); // 13 Character chainID Chain identifier. cur.seqBegin = vI(15, 18); // 15 - 18 Integer seqBegin Initial sequence number of the // PDB sequence segment, right justified. cur.insertBegin = vC(19); // 19 AChar insertBegin Initial insertion code of the // PDB sequence segment. cur.seqEnd = vI(21, 24); // 21 - 24 Integer seqEnd Ending sequence number of the // PDB sequence segment, right justified. cur.insertEnd = vC(25); // 25 AChar insertEnd Ending insertion code of the // PDB sequence segment. cur.database = vS(27, 32); // 27 - 32 LString database Sequence database name. cur.dbIdCode = vS(48, 67); // 48 - 67 LString dbIdCode Sequence database identification code, } else if (mRec->is("DBREF2")) // 1 - 6 Record name "DBREF2" { // 8 - 11 IDcode idCode ID code of this datablock. if (vC(13) != cur.chainID) // 13 Character chainID Chain identifier. throw std::runtime_error("Chain ID's for DBREF1/DBREF2 records do not match"); cur.dbAccession = vS(19, 40); // 19 - 40 LString dbAccession Sequence database accession code, // left justified. cur.dbSeqBegin = vI(46, 55); // 46 - 55 Integer seqBegin Initial sequence number of the // Database segment, right justified. cur.dbSeqEnd = vI(58, 67); // 58 - 67 Integer seqEnd Ending sequence number of the // Database segment, right justified. auto &chain = GetChainForID(cur.chainID); chain.mDbref = cur; } GetNextRecord(); } // update chains for (auto &chain : mChains) { chain.mNextSeqNum = chain.mDbref.seqBegin; chain.mNextDbSeqNum = chain.mDbref.dbSeqBegin; } while (mRec->is("SEQADV")) { // 1 - 6 Record name "SEQADV" mSeqadvs.push_back({ // 8 - 11 IDcode idCode ID code of this datablock. vS(13, 15), // 13 - 15 Residue name resName Name of the PDB residue in conflict. vC(17), // 17 Character chainID PDB chain identifier. vI(19, 22), // 19 - 22 Integer seqNum PDB sequence number. vC(23), // 23 AChar iCode PDB insertion code. vS(25, 28), // 25 - 28 LString database vS(30, 38), // 30 - 38 LString dbAccession Sequence database accession number. vS(40, 42), // 40 - 42 Residue name dbRes Sequence database residue name. vI(44, 48), // 44 - 48 Integer dbSeq Sequence database sequence number. vS(50, 70) // 50 - 70 LString conflict Conflict comment. }); GetNextRecord(); } while (mRec->is("SEQRES")) // 1 - 6 Record name "SEQRES" { // 8 - 10 Integer serNum Serial number of the SEQRES record for the // current chain. Starts at 1 and increments // by one each line. Reset to 1 for each chain. char chainID = vC(12); // 12 Character chainID Chain identifier. This may be any single // legal character, including a blank which is // is used if there is only one chain. int numRes = vI(14, 17); // 14 - 17 Integer numRes Number of residues in the chain. // This value is repeated on every record. std::string monomers = vS(20, 70); // 20 - 22 Residue name resName Residue name. // ... auto &chain = GetChainForID(chainID, numRes); for (auto si = ba::make_split_iterator(monomers, ba::token_finder(ba::is_any_of(" "), ba::token_compress_on)); not si.eof(); ++si) { std::string monID(si->begin(), si->end()); if (monID.empty()) continue; chain.mSeqres.push_back({monID, chain.mNextSeqNum++, ' ', chain.mNextDbSeqNum++}); InsertChemComp(monID); } GetNextRecord(); } // First pass over MODRES, only store relevant information required in ConstructEntities while (mRec->is("MODRES")) // 1 - 6 Record name "MODRES" { // 8 - 11 IDcode idCode ID code of this datablock. std::string resName = vS(13, 15); // 13 - 15 Residue name resName Residue name used in this datablock. // char chainID = vC(17); // 17 Character chainID Chain identifier. // int seqNum = vI(19, 22); // 19 - 22 Integer seqNum Sequence number. // char iCode = vC(23); // 23 AChar iCode Insertion code. std::string stdRes = vS(25, 27); // 25 - 27 Residue name stdRes Standard residue name. // std::string comment = vS(30, 70); // 30 - 70 String comment Description of the residue modification. mMod2parent[resName] = stdRes; GetNextRecord(); } } void PDBFileParser::ParseHeterogen() { while (mRec->is("HET ")) { // 1 - 6 Record name "HET " std::string hetID = vS(8, 10); // 8 - 10 LString(3) hetID Het identifier, right-justified. char chainID = vC(13); // 13 Character ChainID Chain identifier. int seqNum = vI(14, 17); // 14 - 17 Integer seqNum Sequence number. char iCode = vC(18); // 18 AChar iCode Insertion code. int numHetAtoms = vI(21, 25); // 21 - 25 Integer numHetAtoms Number of HETATM records for the group // present in the datablock. std::string text = vS(31, 70); // 31 - 70 String text Text describing Het group. mHets.emplace_back(hetID, chainID, seqNum, iCode, numHetAtoms, text); GetNextRecord(); } for (;;) { if (mRec->is("HETNAM")) // 1 - 6 Record name "HETNAM" { // 9 - 10 Continuation continuation Allows concatenation of multiple records. std::string hetID = vS(12, 14); // 12 - 14 LString(3) hetID Het identifier, right-justified. std::string text = vS(16); // 16 - 70 String text Chemical name. mHetnams[hetID] = text; InsertChemComp(hetID); GetNextRecord(); continue; } if (mRec->is("HETSYN")) // 1 - 6 Record name "HETSYN" { // 9 - 10 Continuation continuation Allows concatenation of multiple records. std::string hetID = vS(12, 14); // 12 - 14 LString(3) hetID Het identifier, right-justified. std::string syn = vS(16); // 16 - 70 SList hetSynonyms List of synonyms. mHetsyns[hetID] = syn; GetNextRecord(); continue; } break; } while (mRec->is("FORMUL")) // 1 - 6 Record name "FORMUL" { // 9 - 10 Integer compNum Component number. std::string hetID = vS(13, 15); // 13 - 15 LString(3) hetID Het identifier. // 17 - 18 Integer continuation Continuation number. char waterMark = vC(19); // 19 Character asterisk "*" for water. std::string formula = vS(20); // 20 - 70 String text Chemical formula. mFormuls[hetID] = formula; if (waterMark == '*') mWaterHetID = hetID; GetNextRecord(); } } void PDBFileParser::ConstructEntities() { // We parsed the Primary Structure and Heterogen sections, if available. // But if we didn't parse anything, we need to fake the data based on residues in ATOM records // First iterate all ATOM records and store the residues as found in these records int modelNr = 1; typedef std::map, std::string> CompTypeMap; CompTypeMap residuesSeen; // used to validate PDB files... for (auto r = mData; r != nullptr; r = r->mNext) { if (r->is("MODEL ")) { modelNr = r->vI(11, 14); if (modelNr != 1) break; continue; } if (r->is("ATOM ") or r->is("HETATM")) // 1 - 6 Record name "ATOM " { // ... std::string name = r->vS(13, 16); // 13 - 16 Atom name Atom name. char altLoc = r->vC(17); // 17 Character altLoc Alternate location indicator. std::string resName = r->vS(18, 20); // 18 - 20 Residue name resName Residue name. char chainID = r->vC(22); // 22 Character chainID Chain identifier. int resSeq = r->vI(23, 26); // 23 - 26 Integer resSeq Residue sequence number. char iCode = r->vC(27); // 27 AChar iCode Code for insertion of residues. // first validate, too sad this is required... CompTypeMap::key_type k = std::make_tuple(chainID, resSeq, iCode, altLoc); if (residuesSeen.count(k) == 0) residuesSeen[k] = resName; else if (residuesSeen[k] != resName) throw std::runtime_error("inconsistent residue type for " + std::string{chainID} + std::to_string(resSeq) + iCode + altLoc + "\n" + " (" + residuesSeen[k] + " != " + resName + ")"); auto &chain = GetChainForID(chainID); PDBChain::AtomRes ar{resName, resSeq, iCode}; if ((chain.mResiduesSeen.empty() or chain.mResiduesSeen.back() != ar) and (CompoundFactory::instance().isKnownPeptide(resName) or CompoundFactory::instance().isKnownBase(resName))) { chain.mResiduesSeen.push_back(ar); } // now that we're iterating atoms anyway, clean up the mUnobs array mUnobs.erase(remove_if(mUnobs.begin(), mUnobs.end(), [=](UNOBS &a) { bool result = false; if (modelNr == a.modelNr and resName == a.res and chainID == a.chain and resSeq == a.seq and iCode == a.iCode) { auto i = find(a.atoms.begin(), a.atoms.end(), name); if (i != a.atoms.end()) { a.atoms.erase(i); result = a.atoms.empty(); } } return result; }), mUnobs.end()); continue; } if (r->is("TER ")) // 1 - 6 Record name "TER " { // 7 - 11 Integer serial Serial number. // 18 - 20 Residue name resName Residue name. char chainID = r->vC(22); // 22 Character chainID Chain identifier. // 23 - 26 Integer resSeq Residue sequence number. // 27 AChar iCode Insertion code. auto &chain = GetChainForID(chainID); if (chain.mTerIndex == 0) // Is this the first TER record? (Refmac writes out multiple TER records...) chain.mTerIndex = static_cast(chain.mResiduesSeen.size()); continue; } } // prune completely empty chains? mChains.erase(remove_if(mChains.begin(), mChains.end(), [](auto &chain) { return chain.mResiduesSeen.empty() and chain.mSeqres.empty(); }), mChains.end()); for (auto &chain : mChains) { if (not(chain.mSeqres.empty() or chain.mResiduesSeen.empty())) { // seems safe to assume TER record is at the right location... // However, some files don't have them at all. // When mTerIndex == 0 this is most likely the case. Right? if (chain.mTerIndex > 0) chain.mResiduesSeen.erase(chain.mResiduesSeen.begin() + chain.mTerIndex, chain.mResiduesSeen.end()); int lastResidueIndex = chain.AlignResToSeqRes(); if (lastResidueIndex > 0 and lastResidueIndex + 1 < static_cast(chain.mResiduesSeen.size())) { auto &r = chain.mResiduesSeen[lastResidueIndex + 1]; if (cif::VERBOSE) { std::cerr << "Detected residues that cannot be aligned to SEQRES" << std::endl << "First residue is " << chain.mDbref.chainID << ':' << r.mSeqNum << r.mIcode << std::endl; } chain.mTerIndex = lastResidueIndex + 1; } } else { // So, we did not have a SEQRES for this chain. Try to reconstruct it. // Problem here is that TER records may be located incorrectly. So // first lets shift the ter index until it is past the last known // aminoacid or base. for (int ix = chain.mTerIndex; ix < static_cast(chain.mResiduesSeen.size()); ++ix) { std::string resName = chain.mResiduesSeen[ix].mMonID; if (mmcif::kAAMap.count(resName) or mmcif::kBaseMap.count(resName) or CompoundFactory::instance().isKnownPeptide(resName) or CompoundFactory::instance().isKnownBase(resName)) { chain.mTerIndex = ix + 1; } InsertChemComp(resName); } // And now construct our 'SEQRES'... for (int ix = 0; ix < chain.mTerIndex; ++ix) { auto &ar = chain.mResiduesSeen[ix]; chain.mSeqres.push_back({ar.mMonID, ar.mSeqNum, ar.mIcode, ar.mSeqNum, true}); } } } std::set terminatedChains; std::map residuePerChainCounter; for (auto r = mData; r != nullptr; r = r->mNext) { if (r->is("MODEL ")) { modelNr = r->vI(11, 14); if (modelNr != 1) break; continue; } if (r->is("ATOM ") or r->is("HETATM")) { // 1 - 6 Record name "ATOM " // int serial = r->vI(7, 11); // 7 - 11 Integer serial Atom serial number. // ... char altLoc = vC(17); // 17 Character altLoc Alternate location indicator. std::string resName = r->vS(18, 20); // 18 - 20 Residue name resName Residue name. char chainID = r->vC(22); // 22 Character chainID Chain identifier. int resSeq = r->vI(23, 26); // 23 - 26 Integer resSeq Residue sequence number. char iCode = r->vC(27); // 27 AChar iCode Code for insertion of residues. auto &chain = GetChainForID(chainID); auto i = find(chain.mSeqres.begin(), chain.mSeqres.end(), PDBSeqRes{resName, resSeq, iCode}); // might be a hetero if (altLoc != ' ' and i == chain.mSeqres.end()) { i = find_if(chain.mSeqres.begin(), chain.mSeqres.end(), [resSeq, iCode](const PDBSeqRes &r) -> bool { return r.mSeqNum == resSeq and r.mIcode == iCode; }); } if (i != chain.mSeqres.end()) { i->mSeen = true; if (i->mMonID != resName) i->mAlts.insert(resName); } else { auto &residues = chain.mHet; if (residues.empty() or residues.back().mSeqNum != resSeq) { i = lower_bound(residues.begin(), residues.end(), PDBSeqRes{resName, resSeq, iCode}, [=](const PDBSeqRes &r1, const PDBSeqRes &r2) -> bool { return r1.mSeqNum < r2.mSeqNum; }); residues.insert(i, {resName, resSeq, iCode, resSeq, true}); InsertChemComp(resName); } } int residueCount = (residuePerChainCounter[chainID] += 1); // There appears to be a program that writes out HETATM records as ATOM records.... if (not(CompoundFactory::instance().isKnownPeptide(resName) or CompoundFactory::instance().isKnownBase(resName)) or terminatedChains.count(chainID) or (chain.mTerIndex > 0 and residueCount >= chain.mTerIndex)) { if (isWater(resName)) mWaterHetID = resName; auto h = find_if(mHets.begin(), mHets.end(), [=](const HET &het) -> bool { return het.hetID == resName and het.chainID == chainID and het.seqNum == resSeq and het.iCode == iCode; }); if (h == mHets.end()) { mHets.push_back({resName, chainID, resSeq, iCode, 0}); // double perhaps, but that does not care h = prev(mHets.end()); } h->atoms.push_back(r); } continue; } if (r->is("TER ")) { char chainID = r->vC(22); // 22 Character chainID Chain identifier. terminatedChains.insert(chainID); } } // Create missing compounds for (auto &chain : mChains) { if (chain.mMolID != 0 or chain.mSeqres.empty()) continue; // now this chain may contain the same residues as another one for (auto &other : mChains) { if (&other == &chain or other.mMolID == 0) continue; if (chain.SameSequence(other)) { chain.mMolID = other.mMolID; break; } } if (chain.mMolID != 0) continue; auto &comp = GetOrCreateCompound(mNextMolID++); comp.mChains.insert(chain.mDbref.chainID); chain.mMolID = comp.mMolID; } std::set structTitle, structDescription; // Create poly_scheme and write pdbx_poly_seq_scheme and create mapping table auto cat = getCategory("pdbx_poly_seq_scheme"); int asymNr = 0; for (auto &chain : mChains) { std::string asymID = cif::cifIdForNumber(asymNr++); std::string entityID = mMolID2EntityID[chain.mMolID]; mAsymID2EntityID[asymID] = entityID; getCategory("struct_asym")->emplace({ {"id", asymID}, {"pdbx_blank_PDB_chainid_flag", chain.mDbref.chainID == ' ' ? "Y" : "N"}, // pdbx_modified {"entity_id", entityID}, // details }); int seqNr = 1; for (auto &res : chain.mSeqres) { mChainSeq2AsymSeq[std::make_tuple(chain.mDbref.chainID, res.mSeqNum, res.mIcode)] = std::make_tuple(asymID, seqNr, true); std::string seqID = std::to_string(seqNr); ++seqNr; std::set monIds = {res.mMonID}; monIds.insert(res.mAlts.begin(), res.mAlts.end()); for (std::string monID : monIds) { std::string authMonID, authSeqNum; if (res.mSeen) { authMonID = monID; authSeqNum = std::to_string(res.mSeqNum); } cat->emplace({{"asym_id", asymID}, {"entity_id", mMolID2EntityID[chain.mMolID]}, {"seq_id", seqID}, {"mon_id", monID}, {"ndb_seq_num", seqID}, {"pdb_seq_num", res.mSeqNum}, {"auth_seq_num", authSeqNum}, {"pdb_mon_id", authMonID}, {"auth_mon_id", authMonID}, {"pdb_strand_id", std::string{chain.mDbref.chainID}}, {"pdb_ins_code", (res.mIcode == ' ' or res.mIcode == 0) ? "." : std::string{res.mIcode}}, {"hetero", res.mAlts.empty() ? "n" : "y"}}); } } } // We have now created all compounds, write them out uint32_t structRefID = 0, structRefSeqAlignID = 0; for (auto &cmp : mCompounds) { ++structRefID; std::string srcMethod; if (not cmp.mSource["SYNTHETIC"].empty()) { srcMethod = "syn"; getCategory("pdbx_entity_src_syn")->emplace({ {"entity_id", mMolID2EntityID[cmp.mMolID]}, {"pdbx_src_id", structRefID}, {"organism_scientific", cmp.mSource["ORGANISM_SCIENTIFIC"]}, {"ncbi_taxonomy_id", cmp.mSource["ORGANISM_TAXID"]}, }); } else if (cmp.mInfo["ENGINEERED"] == "YES" or not cmp.mSource["EXPRESSION_SYSTEM"].empty()) { srcMethod = "man"; getCategory("entity_src_gen")->emplace({{"entity_id", mMolID2EntityID[cmp.mMolID]}, {"pdbx_src_id", structRefID}, {"gene_src_common_name", cmp.mSource["ORGANISM_COMMON"]}, {"pdbx_gene_src_gene", cmp.mSource["GENE"]}, {"gene_src_strain", cmp.mSource["STRAIN"]}, {"gene_src_tissue", cmp.mSource["TISSUE"]}, {"gene_src_tissue_fraction", cmp.mSource["TISSUE_FRACTION"]}, {"pdbx_gene_src_cell_line", cmp.mSource["CELL_LINE"]}, {"pdbx_gene_src_organelle", cmp.mSource["ORGANELLE"]}, {"pdbx_gene_src_cell", cmp.mSource["CELL"]}, {"pdbx_gene_src_cellular_location", cmp.mSource["CELLULAR_LOCATION"]}, {"host_org_common_name", cmp.mSource["EXPRESSION_SYSTEM_COMMON"]}, {"pdbx_gene_src_scientific_name", cmp.mSource["ORGANISM_SCIENTIFIC"]}, {"pdbx_gene_src_ncbi_taxonomy_id", cmp.mSource["ORGANISM_TAXID"]}, {"pdbx_host_org_scientific_name", cmp.mSource["EXPRESSION_SYSTEM"]}, {"pdbx_host_org_ncbi_taxonomy_id", cmp.mSource["EXPRESSION_SYSTEM_TAXID"]}, {"pdbx_host_org_strain", cmp.mSource["EXPRESSION_SYSTEM_STRAIN"]}, {"pdbx_host_org_variant", cmp.mSource["EXPRESSION_SYSTEM_VARIANT"]}, {"pdbx_host_org_cell_line", cmp.mSource["EXPRESSION_SYSTEM_CELL_LINE"]}, {"pdbx_host_org_cellular_location", cmp.mSource["EXPRESSION_SYSTEM_CELLULAR_LOCATION"]}, {"pdbx_host_org_vector_type", cmp.mSource["EXPRESSION_SYSTEM_VECTOR_TYPE"]}, {"pdbx_host_org_vector", cmp.mSource["EXPRESSION_SYSTEM_VECTOR"]}, {"pdbx_host_org_gene", cmp.mSource["EXPRESSION_SYSTEM_GENE"]}, {"plasmid_name", cmp.mSource["EXPRESSION_SYSTEM_PLASMID"]}, {"pdbx_description", cmp.mSource["OTHER_DETAILS"]}}); } else if (not cmp.mSource["ORGANISM_SCIENTIFIC"].empty()) { srcMethod = "nat"; getCategory("entity_src_nat")->emplace({ {"entity_id", mMolID2EntityID[cmp.mMolID]}, {"pdbx_src_id", structRefID}, {"common_name", cmp.mSource["ORGANISM_COMMON"]}, {"strain", cmp.mSource["STRAIN"]}, {"pdbx_secretion", cmp.mSource["SECRETION"]}, {"pdbx_organism_scientific", cmp.mSource["ORGANISM_SCIENTIFIC"]}, {"pdbx_ncbi_taxonomy_id", cmp.mSource["ORGANISM_TAXID"]}, {"pdbx_cellular_location", cmp.mSource["CELLULAR_LOCATION"]}, {"pdbx_plasmid_name", cmp.mSource["PLASMID"]}, {"pdbx_organ", cmp.mSource["ORGAN"]}, }); } getCategory("entity")->emplace({{"id", mMolID2EntityID[cmp.mMolID]}, {"type", "polymer"}, {"src_method", srcMethod}, {"pdbx_description", cmp.mInfo["MOLECULE"]}, // { "pdbx_formula_weight", }, {"pdbx_number_of_molecules", cmp.mChains.size()}, {"details", cmp.mInfo["OTHER_DETAILS"]}, {"pdbx_mutation", cmp.mInfo["MUTATION"]}, {"pdbx_fragment", cmp.mInfo["FRAGMENT"]}, {"pdbx_ec", cmp.mInfo["EC"]}}); if (not cmp.mInfo["SYNONYM"].empty()) { getCategory("entity_name_com")->emplace({{"entity_id", mMolID2EntityID[cmp.mMolID]}, {"name", cmp.mInfo["SYNONYM"]}}); } std::string desc = cmp.mInfo["MOLECULE"]; if (not cmp.mInfo["EC"].empty()) desc += " (E.C." + cmp.mInfo["EC"] + ")"; if (not cmp.mTitle.empty()) structTitle.insert(cmp.mTitle); if (not desc.empty()) structDescription.insert(desc); auto ci = find_if(mChains.begin(), mChains.end(), [cmp](PDBChain &c) -> bool { return cmp.mChains.count(c.mDbref.chainID); }); if (ci != mChains.end() and not ci->mDbref.dbIdCode.empty()) { getCategory("struct_ref")->emplace({ {"id", structRefID}, {"entity_id", mMolID2EntityID[cmp.mMolID]}, {"db_name", ci->mDbref.database}, {"db_code", ci->mDbref.dbIdCode}, {"pdbx_db_accession", ci->mDbref.dbAccession}, // { "pdbx_align_begin", ci->mDbref.dbSeqBegin } }); } bool nstdMonomer = false, nonstandardLinkage = false; bool mightBePolyPeptide = true, mightBeDNA = true; std::vector chains; std::string seq, seqCan; // write out the chains for this compound for (auto &chain : mChains) { if (chain.mMolID != cmp.mMolID) continue; // chain.mEntityID = cmp.mEntityID; ++structRefSeqAlignID; DBREF &dbref = chain.mDbref; if (not dbref.database.empty()) { auto insToStr = [](char i) -> std::string { return i == ' ' or not isprint(i) ? "" : std::string{i}; }; auto &pdbxPolySeqScheme = *getCategory("pdbx_poly_seq_scheme"); int seqAlignBeg = 0, seqAlignEnd = 0; try { seqAlignBeg = pdbxPolySeqScheme[Key("pdb_strand_id") == dbref.chainID and Key("pdb_seq_num") == dbref.seqBegin and Key("pdb_ins_code") == insToStr(dbref.insertBegin)] ["seq_id"] .as(); seqAlignEnd = pdbxPolySeqScheme[Key("pdb_strand_id") == dbref.chainID and Key("pdb_seq_num") == dbref.seqEnd and Key("pdb_ins_code") == insToStr(dbref.insertEnd)] ["seq_id"] .as(); } catch (...) { } getCategory("struct_ref_seq")->emplace({{"align_id", structRefSeqAlignID}, {"ref_id", structRefID}, {"pdbx_PDB_id_code", dbref.PDBIDCode}, {"pdbx_strand_id", std::string{chain.mDbref.chainID}}, {"seq_align_beg", seqAlignBeg}, {"pdbx_seq_align_beg_ins_code", insToStr(dbref.insertBegin)}, {"seq_align_end", seqAlignEnd}, {"pdbx_seq_align_end_ins_code", insToStr(dbref.insertEnd)}, {"pdbx_db_accession", dbref.dbAccession}, {"db_align_beg", dbref.dbSeqBegin}, {"pdbx_db_align_beg_ins_code", insToStr(dbref.dbinsBeg)}, {"db_align_end", dbref.dbSeqEnd}, {"pdbx_db_align_end_ins_code", insToStr(dbref.dbinsEnd)}, {"pdbx_auth_seq_align_beg", dbref.seqBegin}, {"pdbx_auth_seq_align_end", dbref.seqEnd}}); // write the struct_ref_seq_dif for (auto &seqadv : mSeqadvs) { if (seqadv.chainID != chain.mDbref.chainID or seqadv.resName.empty()) continue; std::string asym, seqNum; int labelSeq = -1; std::error_code ec; tie(asym, labelSeq, std::ignore) = MapResidue(seqadv.chainID, seqadv.seqNum, seqadv.iCode, ec); if (ec) { if (cif::VERBOSE) std::cerr << "dropping unmatched SEQADV record" << std::endl; continue; } seqNum = std::to_string(labelSeq); getCategory("struct_ref_seq_dif")->emplace({{"align_id", structRefSeqAlignID}, {"pdbx_PDB_id_code", dbref.PDBIDCode}, {"mon_id", seqadv.resName}, {"pdbx_pdb_strand_id", seqadv.chainID}, {"seq_num", seqNum}, {"pdbx_pdb_ins_code", seqadv.iCode == ' ' ? std::string{} : std::string{seqadv.iCode}}, {"pdbx_seq_db_name", seqadv.database}, {"pdbx_seq_db_accession_code", seqadv.dbAccession}, {"db_mon_id", seqadv.dbRes}, {"pdbx_seq_db_seq_num", seqadv.dbSeq}, {"details", seqadv.conflict}, {"pdbx_auth_seq_num", seqadv.seqNum}, {"pdbx_ordinal", ++mPdbxDifOrdinal}}); } } if (not chains.empty()) // not the first one for this molID { chains.push_back(std::string{chain.mDbref.chainID}); continue; } chains.push_back(std::string{chain.mDbref.chainID}); size_t seqLen = 0, seqCanLen = 0; for (auto &res : chain.mSeqres) { std::string letter, stdRes; if (mMod2parent.count(res.mMonID)) stdRes = mMod2parent.at(res.mMonID); if (mmcif::kAAMap.count(res.mMonID)) { letter = mmcif::kAAMap.at(res.mMonID); mightBeDNA = false; } else if (mmcif::kBaseMap.count(res.mMonID)) { letter = mmcif::kBaseMap.at(res.mMonID); mightBePolyPeptide = false; } else { nstdMonomer = true; letter = '(' + res.mMonID + ')'; // sja... auto compound = mmcif::CompoundFactory::instance().create(stdRes.empty() ? res.mMonID : stdRes); if (compound != nullptr and not iequals(compound->type(), "L-peptide linking") and not iequals(compound->type(), "RNA linking")) { nonstandardLinkage = true; } } if (seqLen + letter.length() > 80) { seq += '\n'; seqLen = 0; } seq += letter; seqLen += letter.length(); if (letter.length() > 1) { if (not stdRes.empty() and mmcif::kAAMap.count(stdRes)) letter = mmcif::kAAMap.at(stdRes); else if (mmcif::kBaseMap.count(res.mMonID)) letter = mmcif::kBaseMap.at(res.mMonID); else letter = 'X'; } if (seqCanLen + letter.length() > 80) { seqCan += '\n'; seqCanLen = 0; } seqCan += letter; seqCanLen += letter.length(); } auto cat_ps = getCategory("entity_poly_seq"); for (size_t i = 0; i < chain.mSeqres.size(); ++i) { auto &rs = chain.mSeqres[i]; cat_ps->emplace({{"entity_id", mMolID2EntityID[cmp.mMolID]}, {"num", i + 1}, {"mon_id", rs.mMonID}, {"hetero", rs.mAlts.empty() ? "n" : "y"}}); for (auto &a : rs.mAlts) { cat_ps->emplace({{"entity_id", mMolID2EntityID[cmp.mMolID]}, {"num", i + 1}, {"mon_id", a}, {"hetero", "y"}}); } } } std::string type; if (mightBePolyPeptide and not mightBeDNA) type = "polypeptide(L)"; else if (mightBeDNA and not mightBePolyPeptide) type = "polyribonucleotide"; getCategory("entity_poly")->emplace({{"entity_id", mMolID2EntityID[cmp.mMolID]}, {"pdbx_seq_one_letter_code", seq}, {"pdbx_seq_one_letter_code_can", seqCan}, {"nstd_monomer", (nstdMonomer ? "yes" : "no")}, {"pdbx_strand_id", ba::join(chains, ",")}, {"nstd_linkage", nonstandardLinkage ? "yes" : "no"}, {"type", type}}); } if (not(structTitle.empty() and structDescription.empty())) { getCategory("struct")->emplace({{"entry_id", mStructureID}, {"title", ba::join(structTitle, ", ")}, {"pdbx_descriptor", ba::join(structDescription, ", ")}, {"pdbx_model_type_details", mModelTypeDetails}}); } // build sugar trees first ConstructSugarTrees(asymNr); // done with the sugar, resume operation as before std::map waterChains; std::map, int> ndbSeqNum; // for nonpoly scheme for (size_t i = 0; i < mHets.size(); ++i) { auto &heti = mHets[i]; if (not heti.asymID.empty()) continue; if (heti.hetID == mWaterHetID or isWater(heti.hetID)) continue; // See if this residue is part of SEQRES auto &chain = GetChainForID(heti.chainID); auto ih = find(chain.mSeqres.begin(), chain.mSeqres.end(), PDBSeqRes{heti.hetID, heti.seqNum, heti.iCode}); // If so, skip it, it is not an entity then if (ih != chain.mSeqres.end()) continue; heti.asymID = cif::cifIdForNumber(asymNr++); } std::set writtenAsyms; std::map hetCount; // for pdbx_number_of_molecules for (auto &het : mHets) hetCount[het.hetID] += 1; for (auto &het : mHets) { std::string hetID = het.hetID; auto &chain = GetChainForID(het.chainID); // See if this residue is part of SEQRES auto i = find(chain.mSeqres.begin(), chain.mSeqres.end(), PDBSeqRes{hetID, het.seqNum, het.iCode}); // If so, skip it, it is not an entity then if (i != chain.mSeqres.end()) continue; // See if we've already added it to the entities if (mHet2EntityID.count(hetID) == 0) { std::string entityID = std::to_string(mNextEntityNr++); mHet2EntityID[hetID] = entityID; if (hetID == mWaterHetID) { getCategory("entity")->emplace({{"id", entityID}, {"type", "water"}, {"src_method", "nat"}, {"pdbx_description", "water"}, {"pdbx_number_of_molecules", hetCount[hetID]}}); } else { if (mHetnams[hetID].empty()) { auto compound = mmcif::CompoundFactory::instance().create(hetID); if (compound != nullptr) mHetnams[hetID] = compound->name(); } getCategory("entity")->emplace({{"id", entityID}, {"type", "non-polymer"}, {"src_method", "syn"}, {"pdbx_description", mHetnams[hetID]}, {"details", mHetsyns[hetID]}, {"pdbx_number_of_molecules", hetCount[hetID]}}); } // write a pdbx_entity_nonpoly record std::string name = mHetnams[hetID]; if (name.empty() and hetID == mWaterHetID) name = "water"; getCategory("pdbx_entity_nonpoly")->emplace({{"entity_id", entityID}, {"name", name}, {"comp_id", hetID}}); } // create an asym for this het/chain combo, if needed std::string asymID = het.asymID; auto k = std::make_tuple(het.chainID, het.seqNum, het.iCode); if (mChainSeq2AsymSeq.count(k) == 0) { if (hetID == mWaterHetID or isWater(hetID)) { if (waterChains.count(het.chainID) == 0) { asymID = cif::cifIdForNumber(asymNr++); waterChains[het.chainID] = asymID; } else asymID = waterChains[het.chainID]; } else asymID = het.asymID; assert(asymID.empty() == false); mAsymID2EntityID[asymID] = mHet2EntityID[hetID]; // NOTE, a nonpoly residue has no label_seq_id // but in pdbx_nonpoly_scheme there is such a number. // Since this number is not used anywhere else we // just use it here and do not store it in the table mChainSeq2AsymSeq[k] = std::make_tuple(asymID, 0, false); if (writtenAsyms.count(asymID) == 0) { writtenAsyms.insert(asymID); getCategory("struct_asym")->emplace({ {"id", asymID}, {"pdbx_blank_PDB_chainid_flag", het.chainID == ' ' ? "Y" : "N"}, // pdbx_modified {"entity_id", mHet2EntityID[hetID]}, // details }); } } int seqNr = ++ndbSeqNum[std::make_tuple(hetID, asymID)]; std::string iCode{het.iCode}; ba::trim(iCode); if (iCode.empty()) iCode = {'.'}; getCategory("pdbx_nonpoly_scheme")->emplace({{"asym_id", asymID}, {"entity_id", mHet2EntityID[hetID]}, {"mon_id", hetID}, {"ndb_seq_num", seqNr}, {"pdb_seq_num", het.seqNum}, // { "auth_seq_num", het.seqNum }, // ???? {"pdb_mon_id", hetID}, // { "auth_mon_id", hetID }, {"pdb_strand_id", std::string{het.chainID}}, {"pdb_ins_code", iCode}}); // mapping needed? mChainSeq2AsymSeq[std::make_tuple(het.chainID, het.seqNum, het.iCode)] = std::make_tuple(asymID, seqNr, false); } int modResID = 1; std::set modResSet; for (auto rec = FindRecord("MODRES"); rec != nullptr and rec->is("MODRES"); rec = rec->mNext) // 1 - 6 Record name "MODRES" { // 8 - 11 IDcode idCode ID code of this datablock. std::string resName = rec->vS(13, 15); // 13 - 15 Residue name resName Residue name used in this datablock. char chainID = rec->vC(17); // 17 Character chainID Chain identifier. int seqNum = rec->vI(19, 22); // 19 - 22 Integer seqNum Sequence number. char iCode = rec->vC(23); // 23 AChar iCode Insertion code. std::string stdRes = rec->vS(25, 27); // 25 - 27 Residue name stdRes Standard residue name. std::string comment = rec->vS(30, 70); // 30 - 70 String comment Description of the residue modification. std::string asymID; int seq; std::error_code ec; tie(asymID, seq, std::ignore) = MapResidue(chainID, seqNum, iCode, ec); if (ec) // no need to write a modres if it could not be found { if (cif::VERBOSE) std::cerr << "dropping unmapped MODRES record" << std::endl; continue; } getCategory("pdbx_struct_mod_residue")->emplace({{"id", modResID++}, {"label_asym_id", asymID}, {"label_seq_id", seq}, {"label_comp_id", resName}, {"auth_asym_id", std::string(1, chainID)}, {"auth_seq_id", seqNum}, {"auth_comp_id", resName}, {"PDB_ins_code", iCode == ' ' ? "" : std::string{iCode}}, {"parent_comp_id", stdRes}, {"details", comment}}); modResSet.insert(resName); } // // chem compounds for (auto cc : mChemComp) { auto compound = mmcif::CompoundFactory::instance().create( mMod2parent.count(cc) ? mMod2parent[cc] : cc); std::string name; std::string formula; std::string type; std::string nstd = "."; std::string formulaWeight; if (compound != nullptr) { name = compound->name(); type = compound->type(); if (iequals(type, "L-peptide linking") or iequals(type, "peptide linking")) nstd = "y"; formula = compound->formula(); formulaWeight = std::to_string(compound->formulaWeight()); } if (name.empty()) name = mHetnams[cc]; if (type.empty()) type = "NON-POLYMER"; if (formula.empty()) { formula = mFormuls[cc]; const std::regex rx(R"(\d+\((.+)\))"); std::smatch m; if (std::regex_match(formula, m, rx)) formula = m[1].str(); } if (modResSet.count(cc)) nstd = "n"; getCategory("chem_comp")->emplace({{"id", cc}, {"name", name}, {"formula", formula}, {"formula_weight", formulaWeight}, {"mon_nstd_flag", nstd}, {"type", type}}); } getCategory("chem_comp")->reorderByIndex(); // unobserved can now be written as well int idRes = 0, idAtom = 0; sort(mUnobs.begin(), mUnobs.end(), [](const UNOBS &a, const UNOBS &b) -> bool { int d = a.modelNr - b.modelNr; if (d == 0) d = a.seq - b.seq; return d < 0; }); for (auto &unobs : mUnobs) { bool isPolymer = false; std::string asymID, compID = unobs.res; int seqNr = 0; std::error_code ec; tie(asymID, seqNr, isPolymer) = MapResidue(unobs.chain, unobs.seq, unobs.iCode, ec); if (ec) { if (cif::VERBOSE) std::cerr << "error mapping unobserved residue" << std::endl; continue; } if (unobs.atoms.empty()) { getCategory("pdbx_unobs_or_zero_occ_residues")->emplace({{"id", std::to_string(++idRes)}, {"polymer_flag", isPolymer ? "Y" : "N"}, {"occupancy_flag", 1}, {"PDB_model_num", unobs.modelNr ? unobs.modelNr : 1}, {"auth_asym_id", std::string{unobs.chain}}, {"auth_comp_id", unobs.res}, {"auth_seq_id", unobs.seq}, {"PDB_ins_code", unobs.iCode == ' ' ? "" : std::string{unobs.iCode}}, {"label_asym_id", asymID}, {"label_comp_id", compID}, // TODO: change to correct comp_id {"label_seq_id", seqNr > 0 ? std::to_string(seqNr) : ""}}); } else { for (auto &atom : unobs.atoms) { getCategory("pdbx_unobs_or_zero_occ_atoms")->emplace({{"id", std::to_string(++idAtom)}, {"polymer_flag", isPolymer ? "Y" : "N"}, {"occupancy_flag", 1}, {"PDB_model_num", unobs.modelNr ? unobs.modelNr : 1}, {"auth_asym_id", std::string{unobs.chain}}, {"auth_comp_id", unobs.res}, {"auth_seq_id", unobs.seq}, {"PDB_ins_code", unobs.iCode == ' ' ? "" : std::string{unobs.iCode}}, {"auth_atom_id", atom}, {"label_asym_id", asymID}, {"label_comp_id", compID}, // TODO: change to correct comp_id {"label_seq_id", seqNr > 0 ? std::to_string(seqNr) : ""}, {"label_atom_id", atom}}); } } } } void PDBFileParser::ConstructSugarTrees(int &asymNr) { for (;;) { // find a first NAG/NDG auto si = std::find_if(mHets.begin(), mHets.end(), [](const HET &h) { return (h.hetID == "NAG" or h.hetID == "NDG") and not(h.processed or h.branch); }); if (si != mHets.end()) { si->processed = true; // take the location of the C1 atom(s?) std::set ci; for (auto a : si->atoms) { std::string name = a->vS(13, 16); // 13 - 16 Atom name Atom name. if (name != "C1") continue; ci.insert(a->vC(17)); // 17 Character altLoc Alternate location indicator. } if (ci.empty()) continue; for (auto alt : ci) { ATOM_REF c1{"C1", si->hetID, si->seqNum, si->chainID, si->iCode, alt}; const auto &[asn, linked] = FindLink(c1, "ND2", "ASN"); if (not linked) continue; std::stack c1s; c1s.push(c1); SUGAR_TREE sugarTree; sugarTree.push_back({c1}); // naive implementation while (not c1s.empty()) { c1 = c1s.top(); c1s.pop(); for (auto o : {"O1", "O2", "O3", "O4", "O5", "O6"}) { ATOM_REF leaving = c1; leaving.name = o; const auto &[nc1, linked_c1] = FindLink(leaving, "C1"); if (linked_c1) { sugarTree.push_back({nc1, o[1] - '0', c1}); c1s.push(nc1); } } } if (sugarTree.size() < 2) // not really a tree continue; auto branchName = sugarTree.entityName(); auto entityID = mBranch2EntityID[branchName]; // See if we've already added it to the entities if (entityID.empty()) { entityID = std::to_string(mNextEntityNr++); mBranch2EntityID[branchName] = entityID; getCategory("entity")->emplace({{"id", entityID}, {"type", "branched"}, {"src_method", "man"}, {"pdbx_description", branchName}}); getCategory("pdbx_entity_branch")->emplace({{"entity_id", entityID}, {"type", "oligosaccharide"}}); int num = 0; std::map branch_list; for (auto &s : sugarTree) { getCategory("pdbx_entity_branch_list")->emplace({{"entity_id", entityID}, {"comp_id", s.c1.resName}, {"num", ++num}, {"hetero", ci.size() == 1 ? "n" : "y"}}); branch_list[s.c1] = num; } auto &branch_link = *getCategory("pdbx_entity_branch_link"); for (auto &s : sugarTree) { if (s.leaving_o == 0) continue; branch_link.emplace({ {"link_id", branch_link.size() + 1}, {"entity_id", entityID}, {"entity_branch_list_num_1", branch_list[s.c1]}, {"comp_id_1", s.c1.resName}, {"atom_id_1", s.c1.name}, {"leaving_atom_id_1", "O1"}, {"entity_branch_list_num_2", branch_list[s.next]}, {"comp_id_2", s.next.resName}, {"atom_id_2", "O" + std::to_string(s.leaving_o)}, {"leaving_atom_id_2", "HO" + std::to_string(s.leaving_o)}, {"value_order", "sing"} /// ?? }); } } // create an asym for this sugar tree std::string asymID = cif::cifIdForNumber(asymNr++); getCategory("struct_asym")->emplace({{"id", asymID}, {"pdbx_blank_PDB_chainid_flag", si->chainID == ' ' ? "Y" : "N"}, {"pdbx_modified", "N"}, {"entity_id", entityID}}); std::string iCode{si->iCode}; ba::trim(iCode); if (iCode.empty()) iCode = {'.'}; int num = 0; for (auto s : sugarTree) { getCategory("pdbx_branch_scheme")->emplace({{"asym_id", asymID}, {"entity_id", entityID}, {"mon_id", s.c1.resName}, {"num", ++num}, {"pdb_asym_id", asymID}, {"pdb_mon_id", s.c1.resName}, {"pdb_seq_num", num}, {"auth_asym_id", std::string{s.c1.chainID}}, {"auth_mon_id", s.next.resName}, {"auth_seq_num", s.c1.resSeq}, {"hetero", ci.size() == 1 ? "n" : "y"}}); auto k = std::make_tuple(s.c1.chainID, s.c1.resSeq, s.c1.iCode); assert(mChainSeq2AsymSeq.count(k) == 0); mChainSeq2AsymSeq[k] = std::make_tuple(asymID, num, false); // mark all hets as part of tree for (auto &h : mHets) { if (h.hetID == s.c1.resName and h.chainID == s.c1.chainID and h.seqNum == s.c1.resSeq and h.iCode == s.c1.iCode) { h.branch = true; break; // should be only one of course... right? } } } break; } continue; } break; } // remove the branched HET's mHets.erase(std::remove_if(mHets.begin(), mHets.end(), [](auto &h) { return h.branch; }), mHets.end()); } void PDBFileParser::ParseSecondaryStructure() { bool firstHelix = true; while (mRec->is("HELIX ")) { // 1 - 6 Record name "HELIX " // 8 - 10 Integer serNum Serial number of the helix. This starts // at 1 and increases incrementally. // 12 - 14 LString(3) helixID Helix identifier. In addition to a serial // number, each helix is given an // alphanumeric character helix identifier. // 16 - 18 Residue name initResName Name of the initial residue. // 20 Character initChainID Chain identifier for the chain containing // this helix. // 22 - 25 Integer initSeqNum Sequence number of the initial residue. // 26 AChar initICode Insertion code of the initial residue. // 28 - 30 Residue name endResName Name of the terminal residue of the helix. // 32 Character endChainID Chain identifier for the chain containing // this helix. // 34 - 37 Integer endSeqNum Sequence number of the terminal residue. // 38 AChar endICode Insertion code of the terminal residue. // 39 - 40 Integer helixClass Helix class (see below). // 41 - 70 String comment Comment about this helix. // 72 - 76 Integer length Length of this helix. std::string begAsymID, endAsymID; int begSeq, endSeq; std::error_code ec; tie(begAsymID, begSeq, std::ignore) = MapResidue(vC(20), vI(22, 25), vC(26), ec); if (not ec) tie(endAsymID, endSeq, std::ignore) = MapResidue(vC(32), vI(34, 37), vC(38), ec); if (ec) { if (cif::VERBOSE) std::cerr << "Could not map residue for HELIX " << vI(8, 10) << std::endl; } else { auto cat = getCategory("struct_conf"); cat->emplace({{"conf_type_id", "HELX_P"}, {"id", "HELX_P" + std::to_string(vI(8, 10))}, {"pdbx_PDB_helix_id", vS(12, 14)}, {"beg_label_comp_id", vS(16, 18)}, {"beg_label_asym_id", begAsymID}, {"beg_label_seq_id", begSeq}, {"pdbx_beg_PDB_ins_code", vS(26, 26)}, {"end_label_comp_id", vS(28, 30)}, {"end_label_asym_id", endAsymID}, {"end_label_seq_id", endSeq}, {"pdbx_end_PDB_ins_code", vS(38, 38)}, {"beg_auth_comp_id", vS(16, 18)}, {"beg_auth_asym_id", vS(20, 20)}, {"beg_auth_seq_id", vI(22, 25)}, {"end_auth_comp_id", vS(28, 30)}, {"end_auth_asym_id", vS(32, 32)}, {"end_auth_seq_id", vI(34, 37)}, {"pdbx_PDB_helix_class", vS(39, 40)}, {"details", vS(41, 70)}, {"pdbx_PDB_helix_length", vI(72, 76)}}); if (firstHelix) { cat = getCategory("struct_conf_type"); cat->emplace({{"id", "HELX_P"}}); firstHelix = false; } } GetNextRecord(); } std::set sheetsSeen; int rangeID = 1; while (mRec->is("SHEET ")) { // 1 - 6 Record name "SHEET " // 8 - 10 Integer strand Strand number which starts at 1 for each // strand within a sheet and increases by one. // 12 - 14 LString(3) sheetID Sheet identifier. // 15 - 16 Integer numStrands Number of strands in sheet. // 18 - 20 Residue name initResName Residue name of initial residue. // 22 Character initChainID Chain identifier of initial residue // in strand. // 23 - 26 Integer initSeqNum Sequence number of initial residue // in strand. // 27 AChar initICode Insertion code of initial residue // in strand. // 29 - 31 Residue name endResName Residue name of terminal residue. // 33 Character endChainID Chain identifier of terminal residue. // 34 - 37 Integer endSeqNum Sequence number of terminal residue. // 38 AChar endICode Insertion code of terminal residue. // 39 - 40 Integer sense Sense of strand with respect to previous // strand in the sheet. 0 if first strand, // 1 if parallel,and -1 if anti-parallel. // 42 - 45 Atom curAtom Registration. Atom name in current strand. // 46 - 48 Residue name curResName Registration. Residue name in current strand // 50 Character curChainID Registration. Chain identifier in // current strand. // 51 - 54 Integer curResSeq Registration. Residue sequence number // in current strand. // 55 AChar curICode Registration. Insertion code in // current strand. // 57 - 60 Atom prevAtom Registration. Atom name in previous strand. // 61 - 63 Residue name prevResName Registration. Residue name in // previous strand. // 65 Character prevChainID Registration. Chain identifier in // previous strand. // 66 - 69 Integer prevResSeq Registration. Residue sequence number // in previous strand. // 70 AChar prevICode Registration. Insertion code in // previous strand. std::string sheetID = ba::trim_copy(vS(12, 14)); if (sheetsSeen.count(sheetID) == 0) { sheetsSeen.insert(sheetID); rangeID = 1; getCategory("struct_sheet")->emplace({ {"id", sheetID}, {"number_strands", vI(15, 16)}, }); } int sense = vI(39, 40); if (sense != 0) { getCategory("struct_sheet_order")->emplace({{"sheet_id", sheetID}, {"range_id_1", rangeID}, {"range_id_2", rangeID + 1}, {"sense", sense == -1 ? "anti-parallel" : "parallel"}}); } std::string begAsymID, endAsymID; int begSeq, endSeq; std::error_code ec; tie(begAsymID, begSeq, std::ignore) = MapResidue(vC(22), vI(23, 26), vC(27), ec); if (not ec) tie(endAsymID, endSeq, std::ignore) = MapResidue(vC(33), vI(34, 37), vC(38), ec); if (ec) { if (cif::VERBOSE) std::cerr << "Dropping SHEET record " << vI(8, 10) << std::endl; } else { getCategory("struct_sheet_range")->emplace({ {"sheet_id", sheetID}, {"id", vI(8, 10)}, {"beg_label_comp_id", vS(18, 20)}, {"beg_label_asym_id", begAsymID}, {"beg_label_seq_id", begSeq}, {"pdbx_beg_PDB_ins_code", vS(27, 27)}, {"end_label_comp_id", vS(29, 31)}, {"end_label_asym_id", endAsymID}, {"end_label_seq_id", endSeq}, {"pdbx_end_PDB_ins_code", vS(38, 38)}, {"beg_auth_comp_id", vS(18, 20)}, {"beg_auth_asym_id", vS(22, 22)}, {"beg_auth_seq_id", vI(23, 26)}, {"end_auth_comp_id", vS(29, 31)}, {"end_auth_asym_id", vS(33, 33)}, {"end_auth_seq_id", vI(34, 37)}, }); if (sense != 0 and mRec->mVlen > 34) { std::string r1AsymID, r2AsymID; int r1Seq, r2Seq; tie(r1AsymID, r1Seq, std::ignore) = MapResidue(vC(65), vI(66, 69), vC(70), ec); if (not ec) tie(r2AsymID, r2Seq, std::ignore) = MapResidue(vC(50), vI(51, 54), vC(55), ec); if (ec) { if (cif::VERBOSE) std::cerr << "skipping unmatched pdbx_struct_sheet_hbond record" << std::endl; } else getCategory("pdbx_struct_sheet_hbond")->emplace({{"sheet_id", sheetID}, {"range_id_1", rangeID}, {"range_id_2", rangeID + 1}, {"range_1_label_atom_id", vS(57, 60)}, {"range_1_label_comp_id", vS(61, 63)}, {"range_1_label_asym_id", r1AsymID}, {"range_1_label_seq_id", r1Seq}, {"range_1_PDB_ins_code", vS(70, 70)}, {"range_1_auth_atom_id", vS(57, 60)}, {"range_1_auth_comp_id", vS(61, 63)}, {"range_1_auth_asym_id", vS(65, 65)}, {"range_1_auth_seq_id", vI(66, 69)}, {"range_2_label_atom_id", vS(42, 45)}, {"range_2_label_comp_id", vS(46, 48)}, {"range_2_label_asym_id", r2AsymID}, {"range_2_label_seq_id", r2Seq}, {"range_2_PDB_ins_code", vS(55, 55)}, {"range_2_auth_atom_id", vS(42, 45)}, {"range_2_auth_comp_id", vS(46, 48)}, {"range_2_auth_asym_id", vS(50, 50)}, {"range_2_auth_seq_id", vI(51, 54)}}); } if (sense != 0) ++rangeID; } GetNextRecord(); } } static bool IsMetal(const std::string &resName, const std::string &atomID) { bool result = false; try { auto compound = mmcif::CompoundFactory::instance().create(resName); if (compound != nullptr) { auto at = mmcif::AtomTypeTraits(compound->getAtomByID(atomID).typeSymbol); result = at.isMetal(); } } catch (...) { } return result; } void PDBFileParser::ParseConnectivtyAnnotation() { int ssBondNr = 0; int linkNr = 0; bool firstCovale = true, firstMetalc = true; // Aaargh... Coot writes the records in the wrong order... for (;; GetNextRecord()) { if (mRec->is("SSBOND")) { if (ssBondNr == 0) { getCategory("struct_conn_type")->emplace({ {"id", "disulf"}, }); } // 1 - 6 Record name "SSBOND" // 8 - 10 Integer serNum Serial number. // 12 - 14 LString(3) "CYS" Residue name. // 16 Character chainID1 Chain identifier. // 18 - 21 Integer seqNum1 Residue sequence number. // 22 AChar icode1 Insertion code. // 26 - 28 LString(3) "CYS" Residue name. // 30 Character chainID2 Chain identifier. // 32 - 35 Integer seqNum2 Residue sequence number. // 36 AChar icode2 Insertion code. // 60 - 65 SymOP sym1 Symmetry operator for residue 1. // 67 - 72 SymOP sym2 Symmetry operator for residue 2. // 74 – 78 Real(5.2) Length Disulfide bond distance std::string p1Asym, p2Asym; int p1Seq = 0, p2Seq = 0; std::error_code ec; tie(p1Asym, p1Seq, std::ignore) = MapResidue(vC(16), vI(18, 21), vC(22), ec); if (not ec) tie(p2Asym, p2Seq, std::ignore) = MapResidue(vC(30), vI(32, 35), vC(36), ec); if (ec) { if (cif::VERBOSE) std::cerr << "Dropping SSBOND " << vI(8, 10) << std::endl; continue; } std::vector alt1 = altLocsForAtom(vC(16), vI(18, 21), vC(22), "SG"); std::vector alt2 = altLocsForAtom(vC(30), vI(32, 35), vC(36), "SG"); if (alt1.empty()) alt1.push_back(0); if (alt2.empty()) alt2.push_back(0); std::string sym1, sym2; try { sym1 = pdb2cifSymmetry(vS(60, 65)); sym2 = pdb2cifSymmetry(vS(67, 72)); } catch (const std::exception &ex) { if (cif::VERBOSE) std::cerr << "Dropping SSBOND " << vI(8, 10) << " due to invalid symmetry operation" << std::endl; continue; } for (auto a1 : alt1) { for (auto a2 : alt2) { getCategory("struct_conn")->emplace({ {"id", "disulf" + std::to_string(++ssBondNr)}, {"conn_type_id", "disulf"}, {"ptnr1_label_asym_id", p1Asym}, {"pdbx_ptnr1_label_alt_id", a1 ? std::string{a1} : std::string()}, {"ptnr1_label_comp_id", vS(12, 14)}, {"ptnr1_label_seq_id", p1Seq ? std::to_string(p1Seq) : "."}, {"ptnr1_label_atom_id", "SG"}, {"ptnr1_symmetry", sym1}, {"ptnr2_label_asym_id", p2Asym}, {"pdbx_ptnr2_label_alt_id", a2 ? std::string{a2} : std::string()}, {"ptnr2_label_comp_id", vS(26, 28)}, {"ptnr2_label_seq_id", p2Seq ? std::to_string(p2Seq) : "."}, {"ptnr2_label_atom_id", "SG"}, {"ptnr1_auth_asym_id", vS(16, 16)}, {"ptnr1_auth_comp_id", vS(12, 14)}, {"ptnr1_auth_seq_id", vI(18, 21)}, {"ptnr2_auth_asym_id", vS(30, 30)}, {"ptnr2_auth_comp_id", vS(26, 28)}, {"ptnr2_auth_seq_id", vI(32, 35)}, {"ptnr2_symmetry", sym2}, {"pdbx_dist_value", vS(74, 78)}, }); } } continue; } if (mRec->is("LINK ") or mRec->is("LINKR ")) { if (cif::VERBOSE and mRec->is("LINKR ")) std::cerr << "Accepting non-standard LINKR record, but ignoring extra information" << std::endl; // 1 - 6 Record name "LINK " std::string name1 = vS(13, 16); // 13 - 16 Atom name1 Atom name. // 17 Character altLoc1 Alternate location indicator. std::string resName1 = vS(18, 20); // 18 - 20 Residue name resName1 Residue name. // 22 Character chainID1 Chain identifier. // 23 - 26 Integer resSeq1 Residue sequence number. // 27 AChar iCode1 Insertion code. std::string name2 = vS(43, 46); // 43 - 46 Atom name2 Atom name. // 47 Character altLoc2 Alternate location indicator. std::string resName2 = vS(48, 50); // 48 - 50 Residue name resName2 Residue name. // 52 Character chainID2 Chain identifier. // 53 - 56 Integer resSeq2 Residue sequence number. // 57 AChar iCode2 Insertion code. // 60 - 65 SymOP sym1 Symmetry operator atom 1. // 67 - 72 SymOP sym2 Symmetry operator atom 2. // 74 – 78 Real(5.2) Length Link distance std::string type = "covale"; if (IsMetal(resName1, name1) or IsMetal(resName2, name2)) type = "metalc"; if (type == "covale" and firstCovale) { getCategory("struct_conn_type")->emplace({ {"id", type}, }); firstCovale = false; } if (type == "metalc" and firstMetalc) { getCategory("struct_conn_type")->emplace({ {"id", type}, }); firstMetalc = false; } ++linkNr; std::string p1Asym, p2Asym; int p1Seq = 0, p2Seq = 0; bool isResseq1 = false, isResseq2 = false; std::error_code ec; tie(p1Asym, p1Seq, isResseq1) = MapResidue(vC(22), vI(23, 26), vC(27), ec); if (not ec) tie(p2Asym, p2Seq, isResseq2) = MapResidue(vC(52), vI(53, 56), vC(57), ec); if (ec) { if (cif::VERBOSE) std::cerr << "Dropping LINK record at line " << mRec->mLineNr << std::endl; continue; } std::string distance, ccp4LinkID; if (mRec->is("LINK ")) { distance = vS(74, 78); try { stod(distance); } catch (const std::invalid_argument &) { if (cif::VERBOSE) std::cerr << "Distance value '" << distance << "' is not a valid float in LINK record" << std::endl; swap(ccp4LinkID, distance); // assume this is a ccp4_link_id... oh really? } } else // LINKR ccp4LinkID = vS(74, 78); // the link ID std::string sym1, sym2; try { sym1 = pdb2cifSymmetry(vS(60, 65)); sym2 = pdb2cifSymmetry(vS(67, 72)); } catch (const std::exception &ex) { if (cif::VERBOSE) std::cerr << "Dropping LINK record at line " << mRec->mLineNr << " due to invalid symmetry operation" << std::endl; continue; } getCategory("struct_conn")->emplace({{"id", type + std::to_string(linkNr)}, {"conn_type_id", type}, // { "ccp4_link_id", ccp4LinkID }, {"ptnr1_label_asym_id", p1Asym}, {"ptnr1_label_comp_id", vS(18, 20)}, {"ptnr1_label_seq_id", (isResseq1 and p1Seq) ? std::to_string(p1Seq) : "."}, {"ptnr1_label_atom_id", vS(13, 16)}, {"pdbx_ptnr1_label_alt_id", vS(17, 17)}, {"pdbx_ptnr1_PDB_ins_code", vS(27, 27)}, {"pdbx_ptnr1_standard_comp_id", ""}, {"ptnr1_symmetry", sym1}, {"ptnr2_label_asym_id", p2Asym}, {"ptnr2_label_comp_id", vS(48, 50)}, {"ptnr2_label_seq_id", (isResseq2 and p2Seq) ? std::to_string(p2Seq) : "."}, {"ptnr2_label_atom_id", vS(43, 46)}, {"pdbx_ptnr2_label_alt_id", vS(47, 47)}, {"pdbx_ptnr2_PDB_ins_code", vS(57, 57)}, {"ptnr1_auth_asym_id", vS(22, 22)}, {"ptnr1_auth_comp_id", vS(18, 20)}, {"ptnr1_auth_seq_id", vI(23, 26)}, {"ptnr2_auth_asym_id", vS(52, 52)}, {"ptnr2_auth_comp_id", vS(48, 50)}, {"ptnr2_auth_seq_id", vI(53, 56)}, // { "ptnr1_auth_atom_id", vS(13, 16) }, // { "ptnr2_auth_atom_id", vS(43, 46) }, {"ptnr2_symmetry", sym2}, {"pdbx_dist_value", distance}}); continue; } if (mRec->is("CISPEP")) { // 1 - 6 Record name "CISPEP" int serNum = vI(8, 10); // 8 - 10 Integer serNum Record serial number. std::string pep1 = vS(12, 14); // 12 - 14 LString(3) pep1 Residue name. char chainID1 = vC(16); // 16 Character chainID1 Chain identifier. int seqNum1 = vI(18, 21); // 18 - 21 Integer seqNum1 Residue sequence number. char iCode1 = vC(22); // 22 AChar icode1 Insertion code. std::string pep2 = vS(26, 28); // 26 - 28 LString(3) pep2 Residue name. char chainID2 = vC(30); // 30 Character chainID2 Chain identifier. int seqNum2 = vI(32, 35); // 32 - 35 Integer seqNum2 Residue sequence number. char iCode2 = vC(36); // 36 AChar icode2 Insertion code. int modNum = vI(44, 46); // 44 - 46 Integer modNum Identifies the specific model. std::string measure = vF(54, 59); // 54 - 59 Real(6.2) measure Angle measurement in degrees. if (modNum == 0) modNum = 1; std::string lAsym1, lAsym2; int lResSeq1, lResSeq2; std::error_code ec; tie(lAsym1, lResSeq1, std::ignore) = MapResidue(chainID1, seqNum1, iCode1, ec); if (not ec) tie(lAsym2, lResSeq2, std::ignore) = MapResidue(chainID2, seqNum2, iCode2, ec); if (ec) { if (cif::VERBOSE) std::cerr << "Dropping CISPEP record at line " << mRec->mLineNr << std::endl; continue; } std::string iCode1str = iCode1 == ' ' ? std::string() : std::string{iCode1}; std::string iCode2str = iCode2 == ' ' ? std::string() : std::string{iCode2}; getCategory("struct_mon_prot_cis")->emplace({{"pdbx_id", serNum}, {"label_comp_id", pep1}, {"label_seq_id", lResSeq1}, {"label_asym_id", lAsym1}, {"label_alt_id", "."}, {"pdbx_PDB_ins_code", iCode1str}, {"auth_comp_id", pep1}, {"auth_seq_id", seqNum1}, {"auth_asym_id", std::string{chainID1}}, {"pdbx_label_comp_id_2", pep2}, {"pdbx_label_seq_id_2", lResSeq2}, {"pdbx_label_asym_id_2", lAsym2}, {"pdbx_PDB_ins_code_2", iCode2str}, {"pdbx_auth_comp_id_2", pep2}, {"pdbx_auth_seq_id_2", seqNum2}, {"pdbx_auth_asym_id_2", std::string{chainID2}}, {"pdbx_PDB_model_num", modNum}, {"pdbx_omega_angle", measure}}); continue; } break; } } void PDBFileParser::ParseMiscellaneousFeatures() { int structSiteGenID = 1; while (mRec->is("SITE ")) { // 1 - 6 Record name "SITE " // 8 - 10 Integer seqNum Sequence number. std::string siteID = vS(12, 14); // 12 - 14 LString(3) siteID Site name. int numRes = vI(16, 17); // 16 - 17 Integer numRes Number of residues that compose the site. int o = 19; auto cat = getCategory("struct_site_gen"); for (int i = 0; i < numRes; ++i) { std::string resName = vS(o, o + 2); // 19 - 21 Residue name resName1 Residue name for first residue that // creates the site. char chainID = vC(o + 4); // 23 Character chainID1 Chain identifier for first residue of site. int seq = vI(o + 5, o + 8); // 24 - 27 Integer seq1 Residue sequence number for first residue // of the site. char iCode = vC(o + 9); // 28 AChar iCode1 Insertion code for first residue of the site. int labelSeq; std::string asym; bool isResseq; std::error_code ec; tie(asym, labelSeq, isResseq) = MapResidue(chainID, seq, iCode, ec); if (ec) { if (cif::VERBOSE) std::cerr << "skipping struct_site_gen record" << std::endl; } else cat->emplace({ {"id", structSiteGenID++}, {"site_id", siteID}, {"pdbx_num_res", numRes}, {"label_comp_id", resName}, {"label_asym_id", asym}, {"label_seq_id", (labelSeq > 0 and isResseq) ? std::to_string(labelSeq) : std::string(".")}, {"pdbx_auth_ins_code", iCode == ' ' ? "" : std::string{iCode}}, {"auth_comp_id", resName}, {"auth_asym_id", std::string{chainID}}, {"auth_seq_id", seq}, {"label_atom_id", "."}, {"label_alt_id", "."}, }); o += 11; } GetNextRecord(); } } void PDBFileParser::ParseCrystallographic() { Match("CRYST1", true); getCategory("cell")->emplace({ {"entry_id", mStructureID}, // 1 - 6 Record name "CRYST1" {"length_a", vF(7, 15)}, // 7 - 15 Real(9.3) a a (Angstroms). {"length_b", vF(16, 24)}, // 16 - 24 Real(9.3) b b (Angstroms). {"length_c", vF(25, 33)}, // 25 - 33 Real(9.3) c c (Angstroms). {"angle_alpha", vF(34, 40)}, // 34 - 40 Real(7.2) alpha alpha (degrees). {"angle_beta", vF(41, 47)}, // 41 - 47 Real(7.2) beta beta (degrees). {"angle_gamma", vF(48, 54)}, // 48 - 54 Real(7.2) gamma gamma (degrees). /* goes into symmetry */ // 56 - 66 LString sGroup Space group. {"Z_PDB", vF(67, 70)} // 67 - 70 Integer z Z value. }); std::string spaceGroup, intTablesNr; try { spaceGroup = vS(56, 66); intTablesNr = std::to_string(mmcif::GetSpacegroupNumber(spaceGroup)); } catch (...) { } getCategory("symmetry")->emplace({{"entry_id", mStructureID}, {"space_group_name_H-M", spaceGroup}, {"Int_Tables_number", intTablesNr}}); GetNextRecord(); } void PDBFileParser::ParseCoordinateTransformation() { std::string m[3][3], v[3]; if (ba::starts_with(mRec->mName, "ORIGX")) { for (std::string n : {"1", "2", "3"}) { int x = stoi(n) - 1; Match("ORIGX" + n, true); // 1 - 6 Record name "ORIGXn" n=1, 2, or 3 m[x][0] = vF(11, 20); // 11 - 20 Real(10.6) o[n][1] On1 m[x][1] = vF(21, 30); // 21 - 30 Real(10.6) o[n][2] On2 m[x][2] = vF(31, 40); // 31 - 40 Real(10.6) o[n][3] On3 v[x] = vF(46, 55); // 46 - 55 Real(10.5) t[n] Tn GetNextRecord(); } getCategory("database_PDB_matrix")->emplace({ {"entry_id", mStructureID}, {"origx[1][1]", m[0][0]}, {"origx[1][2]", m[0][1]}, {"origx[1][3]", m[0][2]}, {"origx[2][1]", m[1][0]}, {"origx[2][2]", m[1][1]}, {"origx[2][3]", m[1][2]}, {"origx[3][1]", m[2][0]}, {"origx[3][2]", m[2][1]}, {"origx[3][3]", m[2][2]}, {"origx_vector[1]", v[0]}, {"origx_vector[2]", v[1]}, {"origx_vector[3]", v[2]}, }); } if (ba::starts_with(mRec->mName, "SCALE")) { for (std::string n : {"1", "2", "3"}) { int x = stoi(n) - 1; Match("SCALE" + n, true); // 1 - 6 Record name "SCALEn" n=1, 2, or 3 m[x][0] = vF(11, 20); // 11 - 20 Real(10.6) s[n][1] Sn1 m[x][1] = vF(21, 30); // 21 - 30 Real(10.6) s[n][2] Sn2 m[x][2] = vF(31, 40); // 31 - 40 Real(10.6) s[n][3] Sn3 v[x] = vF(46, 55); // 46 - 55 Real(10.5) u[n] Un GetNextRecord(); } getCategory("atom_sites")->emplace({ {"entry_id", mStructureID}, {"fract_transf_matrix[1][1]", m[0][0]}, {"fract_transf_matrix[1][2]", m[0][1]}, {"fract_transf_matrix[1][3]", m[0][2]}, {"fract_transf_matrix[2][1]", m[1][0]}, {"fract_transf_matrix[2][2]", m[1][1]}, {"fract_transf_matrix[2][3]", m[1][2]}, {"fract_transf_matrix[3][1]", m[2][0]}, {"fract_transf_matrix[3][2]", m[2][1]}, {"fract_transf_matrix[3][3]", m[2][2]}, {"fract_transf_vector[1]", v[0]}, {"fract_transf_vector[2]", v[1]}, {"fract_transf_vector[3]", v[2]}, }); } while (ba::starts_with(mRec->mName, "MTRIX1")) { int serial = 0, igiven = 0; for (std::string n : {"1", "2", "3"}) { int x = stoi(n) - 1; Match("MTRIX" + n, true); // 1 - 6 Record name "MTRIXn" n=1, 2, or 3 serial = vI(8, 10); // 8 - 10 Integer serial Serial number. m[x][0] = vF(11, 20); // 11 - 20 Real(10.6) m[n][1] Mn1 m[x][1] = vF(21, 30); // 21 - 30 Real(10.6) m[n][2] Mn2 m[x][2] = vF(31, 40); // 31 - 40 Real(10.6) m[n][3] Mn3 v[x] = vF(46, 55); // 46 - 55 Real(10.5) v[n] Vn igiven = vC(60) == '1'; // 60 Integer iGiven 1 if coordinates for the representations // which are approximately related by the GetNextRecord(); // transformations of the molecule are } // contained in the datablock. Otherwise, blank. getCategory("struct_ncs_oper")->emplace({{"id", serial}, {"matrix[1][1]", m[0][0]}, {"matrix[1][2]", m[0][1]}, {"matrix[1][3]", m[0][2]}, {"matrix[2][1]", m[1][0]}, {"matrix[2][2]", m[1][1]}, {"matrix[2][3]", m[1][2]}, {"matrix[3][1]", m[2][0]}, {"matrix[3][2]", m[2][1]}, {"matrix[3][3]", m[2][2]}, {"vector[1]", v[0]}, {"vector[2]", v[1]}, {"vector[3]", v[2]}, {"code", igiven ? "given" : ""}}); } } void PDBFileParser::ParseCoordinate(int modelNr) { // oh oh, we have to sort our atom_site records by ascending asym_id // This routine used to be so trivial... typedef std::tuple atomRec; std::vector atoms; while (mRec->is("ATOM ") or mRec->is("HETATM")) // 1 - 6 Record name "ATOM " { char chainID = vC(22); // 22 Character chainID Chain identifier. int resSeq = vI(23, 26); // 23 - 26 Integer resSeq Residue sequence number. char iCode = vC(27); std::string asymID; int seqID; bool isResseq; tie(asymID, seqID, isResseq) = MapResidue(chainID, resSeq, iCode); PDBRecord *atom = mRec; PDBRecord *anisou = nullptr; GetNextRecord(); if (mRec->is("ANISOU")) { anisou = mRec; GetNextRecord(); } atoms.emplace_back(asymID, seqID, isResseq, atom, anisou); /*if?... */ while (mRec->is("TER ")) { Match("TER ", true); GetNextRecord(); } } auto last = mRec; // use stable sort here auto rLess = [](const atomRec &a, const atomRec &b) -> bool { int d; std::string chainA = std::get<0>(a); std::string chainB = std::get<0>(b); if (chainA.length() != chainB.length()) d = static_cast(chainA.length() - chainB.length()); else d = std::get<0>(a).compare(std::get<0>(b)); if (d == 0) d = std::get<1>(a) - std::get<1>(b); return d < 0; }; stable_sort(atoms.begin(), atoms.end(), rLess); // now reiterate the atoms to reorder alternates for (size_t i = 0; i + 1 < atoms.size(); ++i) { char altLoc = std::get<3>(atoms[i])->vC(17); if (altLoc == ' ' or altLoc == 0) continue; auto b = atoms.begin() + i; auto e = b; std::map atomIndex; // index number of first occurrence of a atom name while (e != atoms.end() and rLess(*b, *e) == false) { std::string name = std::get<3>(*e)->vS(13, 16); if (atomIndex.count(name) == 0) atomIndex[name] = static_cast(atomIndex.size() + 1); ++e; } auto aLess = [&](atomRec &a, atomRec &b) -> bool { std::string na = std::get<3>(a)->vS(13, 16); std::string nb = std::get<3>(b)->vS(13, 16); int d = atomIndex[na] - atomIndex[nb]; if (d == 0) d = std::get<3>(a)->vC(17) - std::get<3>(b)->vC(17); assert(d != 0); return d < 0; }; sort(b, e, aLess); i += distance(b, e) - 1; } // while (mRec->is("ATOM ") or mRec->is("HETATM")) // 1 - 6 Record name "ATOM " for (auto &a : atoms) { std::string asymID; int seqID; bool isResseq; PDBRecord *atom; PDBRecord *anisou; tie(asymID, seqID, isResseq, atom, anisou) = a; mRec = atom; ++mAtomID; std::string groupPDB = mRec->is("ATOM ") ? "ATOM" : "HETATM"; // int serial = vI(7, 11); // 7 - 11 Integer serial Atom serial number. std::string name = vS(13, 16); // 13 - 16 Atom name Atom name. char altLoc = vC(17); // 17 Character altLoc Alternate location indicator. std::string resName = vS(18, 20); // 18 - 20 Residue name resName Residue name. char chainID = vC(22); // 22 Character chainID Chain identifier. int resSeq = vI(23, 26); // 23 - 26 Integer resSeq Residue sequence number. char iCode = vC(27); // 27 AChar iCode Code for insertion of residues. std::string x = vF(31, 38); // 31 - 38 Real(8.3) x Orthogonal coordinates for X in Angstroms. std::string y = vF(39, 46); // 39 - 46 Real(8.3) y Orthogonal coordinates for Y in Angstroms. std::string z = vF(47, 54); // 47 - 54 Real(8.3) z Orthogonal coordinates for Z in Angstroms. std::string occupancy = vF(55, 60); // 55 - 60 Real(6.2) occupancy Occupancy. std::string tempFactor = vF(61, 66); // 61 - 66 Real(6.2) tempFactor Temperature factor. std::string element = vS(77, 78); // 77 - 78 LString(2) element Element symbol, right-justified. std::string charge = vS(79, 80); // 79 - 80 LString(2) charge Charge on the atom. std::string entityID = mAsymID2EntityID[asymID]; charge = pdb2cifCharge(charge); // if (CompoundFactory::instance().isKnownPeptide(resName) or CompoundFactory::instance().isKnownBase(resName)) if (resName == "UNK" or mmcif::kAAMap.count(resName) or mmcif::kBaseMap.count(resName)) { if (groupPDB == "HETATM") { if (cif::VERBOSE) std::cerr << "Changing atom from HETATM to ATOM at line " << mRec->mLineNr << std::endl; groupPDB = "ATOM"; } } else { if (groupPDB == "ATOM") { if (cif::VERBOSE) std::cerr << "Changing atom from ATOM to HETATM at line " << mRec->mLineNr << std::endl; groupPDB = "HETATM"; } } getCategory("atom_site")->emplace({{"group_PDB", groupPDB}, {"id", mAtomID}, {"type_symbol", element}, {"label_atom_id", name}, {"label_alt_id", altLoc != ' ' ? std::string{altLoc} : "."}, {"label_comp_id", resName}, {"label_asym_id", asymID}, {"label_entity_id", entityID}, {"label_seq_id", (isResseq and seqID > 0) ? std::to_string(seqID) : "."}, {"pdbx_PDB_ins_code", iCode == ' ' ? "" : std::string{iCode}}, {"Cartn_x", x}, {"Cartn_y", y}, {"Cartn_z", z}, {"occupancy", occupancy}, {"B_iso_or_equiv", tempFactor}, {"pdbx_formal_charge", charge}, {"auth_seq_id", resSeq}, {"auth_comp_id", resName}, {"auth_asym_id", std::string{chainID}}, {"auth_atom_id", name}, {"pdbx_PDB_model_num", modelNr}}); InsertAtomType(element); std::string check = vS(7, 11) + vS(77, 80); if (anisou != nullptr) { mRec = anisou; // 1 - 6 Record name "ANISOU" int u11 = vI(29, 35); // 29 - 35 Integer u[0][0] U(1,1) int u22 = vI(36, 42); // 36 - 42 Integer u[1][1] U(2,2) int u33 = vI(43, 49); // 43 - 49 Integer u[2][2] U(3,3) int u12 = vI(50, 56); // 50 - 56 Integer u[0][1] U(1,2) int u13 = vI(57, 63); // 57 - 63 Integer u[0][2] U(1,3) int u23 = vI(64, 70); // 64 - 70 Integer u[1][2] U(2,3) if (vS(7, 11) + vS(77, 80) != check) throw std::runtime_error("ANISOU record should follow corresponding ATOM record"); auto f = [](float f) -> std::string { return (boost::format("%6.4f") % f).str(); }; getCategory("atom_site_anisotrop")->emplace({{"id", mAtomID}, {"type_symbol", element}, {"pdbx_label_atom_id", name}, {"pdbx_label_alt_id", altLoc != ' ' ? std::string{altLoc} : "."}, {"pdbx_label_comp_id", resName}, {"pdbx_label_asym_id", asymID}, {"pdbx_label_seq_id", (isResseq and seqID > 0) ? std::to_string(seqID) : "."}, {"U[1][1]", f(u11 / 10000.f)}, {"U[2][2]", f(u22 / 10000.f)}, {"U[3][3]", f(u33 / 10000.f)}, {"U[1][2]", f(u12 / 10000.f)}, {"U[1][3]", f(u13 / 10000.f)}, {"U[2][3]", f(u23 / 10000.f)}, {"pdbx_auth_seq_id", resSeq}, {"pdbx_auth_comp_id", resName}, {"pdbx_auth_asym_id", std::string{chainID}}, {"pdbx_auth_atom_id", name}}); } } mRec = last; } void PDBFileParser::ParseConnectivty() { while (mRec->is("CONECT")) GetNextRecord(); } void PDBFileParser::ParseBookkeeping() { if (mRec->is("MASTER")) { Match("MASTER", false); GetNextRecord(); } Match("END ", false); } void PDBFileParser::Parse(std::istream &is, cif::File &result) { try { PreParseInput(is); mRec = mData; ParseTitle(); result.append(mDatablock); ParseRemarks(); ParsePrimaryStructure(); ParseHeterogen(); ConstructEntities(); ParseRemark350(); ParseSecondaryStructure(); ParseConnectivtyAnnotation(); ParseMiscellaneousFeatures(); ParseCrystallographic(); ParseCoordinateTransformation(); uint32_t modelNr = 1; bool hasAtoms = false; while (mRec->is("MODEL ") or mRec->is("ATOM ") or mRec->is("HETATM")) { bool model = false; if (mRec->is("MODEL ")) { model = true; modelNr = vI(11, 14); GetNextRecord(); } hasAtoms = hasAtoms or mRec->is("ATOM ") or mRec->is("HETATM"); ParseCoordinate(modelNr); if (model) { Match("ENDMDL", true); GetNextRecord(); } } if (not hasAtoms) throw std::runtime_error("Either the PDB file has no atom records, or the field " + std::string(mRec->mName) + " is not at the correct location"); for (auto e : mAtomTypes) getCategory("atom_type")->emplace({{"symbol", e}}); // in V5, atom_type is sorted getCategory("atom_type")->reorderByIndex(); ParseConnectivty(); ParseBookkeeping(); // almost done, now fix some outstanding issued that could not be done before try { auto r = FindRecord("REMARK 3"); if (r != nullptr and Remark3Parser::parse(mExpMethod, r, *mDatablock)) { // make sure the "exptl" category is created auto exptl = getCategory("exptl"); if (exptl->empty()) { exptl->emplace({{"entry_id", mStructureID}, {"method", mExpMethod}, {"crystals_number", mRemark200["NUMBER OF CRYSTALS USED"]}}); } } } catch (const std::exception &ex) { std::cerr << "Error parsing REMARK 3" << std::endl; throw; } // // auto cat = getCategory("pdbx_refine_tls_group"); // for (Row r: *cat) // { // // add the mapped locations // // try // { // std::string asymID; // int resNum; // // cif::tie(asymID, resNum) = r.get("beg_auth_asym_id", "beg_auth_seq_id"); // // r["beg_label_asym_id"] = asymID; // r["beg_label_seq_id"] = resNum; // // cif::tie(asymID, resNum) = r.get("end_auth_asym_id", "end_auth_seq_id"); // // r["end_label_asym_id"] = asymID; // r["end_label_seq_id"] = resNum; // } // catch (const std::exception& ex) // { // continue; // } // } using namespace cif::literals; auto &atom_site = *getCategory("atom_site"); for (auto r : getCategory("struct_conn")->find("pdbx_dist_value"_key == 0 or "pdbx_dist_value"_key == Null)) { const auto &[asym1, seq1, atom1, symm1, asym2, seq2, atom2, symm2] = r.get( {"ptnr1_label_asym_id", "ptnr1_label_seq_id", "ptnr1_label_atom_id", "ptnr1_symmetry", "ptnr2_label_asym_id", "ptnr2_label_seq_id", "ptnr2_label_atom_id", "ptnr2_symmetry"}); float distance = 1.0f; try { auto a1 = atom_site.find1("label_asym_id"_key == asym1 and "label_seq_id"_key == seq1 and "label_atom_id"_key == atom1); auto a2 = atom_site.find1("label_asym_id"_key == asym2 and "label_seq_id"_key == seq2 and "label_atom_id"_key == atom2); const auto &[x1, y1, z1] = a1.get({"cartn_x", "cartn_y", "cartn_z"}); const auto &[x2, y2, z2] = a2.get({"cartn_x", "cartn_y", "cartn_z"}); if ((symm1.empty() or symm1 == "1_555") and (symm2.empty() or symm2 == "1_555")) distance = static_cast(mmcif::Distance(mmcif::Point{x1, y1, z1}, mmcif::Point{x2, y2, z2})); else if (cif::VERBOSE) std::cerr << "Cannot calculate distance for link since one of the atoms is in another dimension" << std::endl; } catch (std::exception &ex) { if (cif::VERBOSE) std::cerr << "Error finding atom for LINK distance calculation: " << ex.what() << std::endl; } r["pdbx_dist_value"] = distance; } } catch (const std::exception &ex) { std::cerr << "Error parsing PDB"; if (mRec != nullptr) std::cerr << " at line " << mRec->mLineNr; std::cerr << std::endl; throw; } } // ---------------------------------------------------------------- // A blast like alignment. Returns index of last aligned residue. int PDBFileParser::PDBChain::AlignResToSeqRes() { // Use dynamic programming to align the found residues (in ATOM records) against // the residues in the SEQRES records in order to obtain the residue numbering. // sigh... using namespace boost::numeric::ublas; auto &rx = mSeqres; auto &ry = mResiduesSeen; int dimX = static_cast(mSeqres.size()); if (dimX == 0) throw std::runtime_error(std::string("SEQRES for chain ") + mDbref.chainID + " is empty"); int dimY = static_cast(mResiduesSeen.size()); if (dimY == 0) throw std::runtime_error(std::string("Number of residues in ATOM records for chain ") + mDbref.chainID + " is zero"); matrix B(dimX, dimY), Ix(dimX, dimY), Iy(dimX, dimY); matrix tb(dimX, dimY); int x, y; const float kMatchReward = 5, kMismatchCost = -10, kGapOpen = 10, gapExtend = 0.1f; float high = 0; int highX = 0, highY = 0; for (x = 0; x < dimX; ++x) { for (y = 0; y < dimY; ++y) { auto &a = rx[x]; auto &b = ry[y]; float Ix1 = x > 0 ? Ix(x - 1, y) : 0; float Iy1 = y > 0 ? Iy(x, y - 1) : 0; // score for alignment float M; if (a.mMonID == b.mMonID) M = kMatchReward; else M = kMismatchCost; // gap open cost is zero if the PDB ATOM records indicate that a gap // should be here. float gapOpen = kGapOpen; if (y == 0 or (y + 1 < dimY and ry[y + 1].mSeqNum > ry[y].mSeqNum + 1)) gapOpen = 0; if (x > 0 and y > 0) M += B(x - 1, y - 1); float s; if (M >= Ix1 and M >= Iy1) { tb(x, y) = 0; B(x, y) = s = M; Ix(x, y) = M - (x < dimX - 1 ? gapOpen : 0); Iy(x, y) = M - (y < dimY - 1 ? gapOpen : 0); } else if (Ix1 >= Iy1) { tb(x, y) = 1; B(x, y) = s = Ix1; Ix(x, y) = Ix1 - gapExtend; Iy(x, y) = M - (y < dimY - 1 ? gapOpen : 0); if (Iy(x, y) < Iy1 - gapExtend) Iy(x, y) = Iy1 - gapExtend; } else { tb(x, y) = -1; B(x, y) = s = Iy1; Ix(x, y) = M - (x < dimX - 1 ? gapOpen : 0); if (Ix(x, y) < Ix1 - gapExtend) Ix(x, y) = Ix1 - gapExtend; Iy(x, y) = Iy1 - gapExtend; } if (/*(x == dimX - 1 or y == dimY - 1) and */ high < s) { high = s; highX = x; highY = y; } } } const int kFlagSeqNr = std::numeric_limits::min(); // reset positions of seqres for (auto &sr : rx) { sr.mSeqNum = kFlagSeqNr; sr.mIcode = ' '; } // assign numbers x = highX; y = highY; // C++ is getting closer to Pascal :-) auto printAlignment = [=]() { std::cerr << std::string(cif::get_terminal_width(), '-') << std::endl << "Alignment for chain " << mDbref.chainID << std::endl << std::endl; std::vector> alignment; int x = highX; int y = highY; for (x = highX, y = highY; x >= 0 and y >= 0;) { switch (tb(x, y)) { case -1: alignment.push_back(make_pair("...", ry[y].mMonID)); --y; break; case 1: alignment.push_back(make_pair(rx[x].mMonID, "...")); --x; break; case 0: alignment.push_back(make_pair(rx[x].mMonID, ry[y].mMonID)); --x; --y; break; } } while (x >= 0) { alignment.push_back(make_pair(rx[x].mMonID, "...")); --x; } while (y >= 0) { alignment.push_back(make_pair("...", ry[y].mMonID)); --y; } reverse(alignment.begin(), alignment.end()); for (auto a : alignment) std::cerr << " " << a.first << " -- " << a.second << std::endl; std::cerr << std::endl; }; if (cif::VERBOSE > 1) printAlignment(); try { while (x >= 0 and y >= 0) { switch (tb(x, y)) { case -1: // if (cif::VERBOSE) // std::cerr << "A residue found in the ATOM records " // << "(" << ry[y].mMonID << " @ " << mDbref.chainID << ":" << ry[y].mSeqNum // << ((ry[y].mIcode == ' ' or ry[y].mIcode == 0) ? "" : std::string{ ry[y].mIcode }) << ")" // << " was not found in the SEQRES records" << std::endl; // --y; throw std::runtime_error("A residue found in the ATOM records (" + ry[y].mMonID + " @ " + std::string{mDbref.chainID} + ":" + std::to_string(ry[y].mSeqNum) + ((ry[y].mIcode == ' ' or ry[y].mIcode == 0) ? "" : std::string{ry[y].mIcode}) + ") was not found in the SEQRES records"); break; case 1: if (cif::VERBOSE > 3) std::cerr << "Missing residue in ATOM records: " << rx[x].mMonID << " at " << rx[x].mSeqNum << std::endl; --x; break; case 0: if (cif::VERBOSE > 3 and rx[x].mMonID != ry[y].mMonID) std::cerr << "Warning, unaligned residues at " << x << "/" << y << "(" << rx[x].mMonID << '/' << ry[y].mMonID << ')' << std::endl; else if (cif::VERBOSE > 4) std::cerr << rx[x].mMonID << " -> " << ry[y].mMonID << " (" << ry[y].mSeqNum << ')' << std::endl; rx[x].mSeqNum = ry[y].mSeqNum; rx[x].mIcode = ry[y].mIcode; --x; --y; } } } catch (const std::exception &ex) { if (cif::VERBOSE == 1) printAlignment(); throw; } // assign numbers to the residues that don't have them yet std::stack unnumbered; for (x = 0; x < dimX; ++x) { if (rx[x].mSeqNum == kFlagSeqNr) { if (x > 0 and rx[x - 1].mSeqNum != kFlagSeqNr) rx[x].mSeqNum = rx[x - 1].mSeqNum + 1; else unnumbered.push(x); } } while (unnumbered.empty() == false) { x = unnumbered.top(); if (x >= dimX - 1) throw std::runtime_error("Could not assign sequence numbers"); rx[x].mSeqNum = rx[x + 1].mSeqNum - 1; unnumbered.pop(); } return highY; } bool PDBFileParser::PDBChain::SameSequence(const PDBChain &rhs) const { bool result = mSeqres.size() == rhs.mSeqres.size(); for (size_t i = 0; result and i < mSeqres.size(); ++i) result = mSeqres[i].mMonID == rhs.mSeqres[i].mMonID; return result; } // -------------------------------------------------------------------- void ReadPDBFile(std::istream &pdbFile, cif::File &cifFile) { PDBFileParser p; cifFile.loadDictionary("mmcif_pdbx_v50"); p.Parse(pdbFile, cifFile); if (not cifFile.isValid()) // throw std::runtime_error("Resulting mmCIF file is invalid"); std::cerr << "Resulting mmCIF file is not valid!" << std::endl; } libcifpp-2.0.5/src/PDB2CifRemark3.cpp0000664000175000017500000027546514200173347017025 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "cif++/Cif++.hpp" #include #include #include #include #include "cif++/AtomType.hpp" #include "cif++/Compound.hpp" #include "cif++/PDB2CifRemark3.hpp" #include "cif++/CifUtils.hpp" namespace ba = boost::algorithm; using cif::Datablock; using cif::Category; using cif::Row; using cif::Key; using cif::iequals; // -------------------------------------------------------------------- struct TemplateLine { const char* rx; int nextStateOffset; const char* category; std::initializer_list items; const char* lsRestrType = nullptr; bool createNew; }; // -------------------------------------------------------------------- const TemplateLine kBusterTNT_Template[] = { /* 0 */ { R"(DATA USED IN REFINEMENT\.)", 1 }, /* 1 */ { R"(RESOLUTION RANGE HIGH \(ANGSTROMS\) :\s+(.+?))", 1, "refine", { "ls_d_res_high" } }, /* 2 */ { R"(RESOLUTION RANGE LOW \(ANGSTROMS\) :\s+(.+?))", 1, "refine", { "ls_d_res_low" } }, /* 3 */ { R"(DATA CUTOFF \(SIGMA\(F\)\) :\s+(.+?))", 1, "refine", { "pdbx_ls_sigma_F" } }, /* 4 */ { R"(COMPLETENESS FOR RANGE \(%\) :\s+(.+?))", 1, "refine", { "ls_percent_reflns_obs" } }, /* 5 */ { R"(NUMBER OF REFLECTIONS :\s+(.+?))", 1, "refine", { "ls_number_reflns_obs" } }, /* 6 */ { R"(FIT TO DATA USED IN REFINEMENT\.)", 1 }, /* 7 */ { R"(CROSS-VALIDATION METHOD :\s+(.+?))", 1, "refine", { "pdbx_ls_cross_valid_method" } }, /* 8 */ { R"(FREE R VALUE TEST SET SELECTION :\s+(.+?))", 1, "refine", { "pdbx_R_Free_selection_details" } }, /* 9 */ { R"(R VALUE \(WORKING ?\+ ?TEST SET\) :\s+(.+?))", 1, "refine", { "ls_R_factor_obs" } }, /* 10 */ { R"(R VALUE \(WORKING SET\) :\s+(.+?))", 1, "refine", { "ls_R_factor_R_work" } }, /* 11 */ { R"(FREE R VALUE :\s+(.+?))", 1, "refine", { "ls_R_factor_R_free" } }, /* 12 */ { R"(FREE R VALUE TEST SET SIZE \(%\) :\s+(.+?))", 1, "refine", { "ls_percent_reflns_R_free" } }, /* 13 */ { R"(FREE R VALUE TEST SET COUNT :\s+(.+?))", 1, "refine", { "ls_number_reflns_R_free" } }, /* 14 */ { R"(ESTIMATED ERROR OF FREE R VALUE :\s+(.+?))", 1, "refine", { "ls_R_factor_R_free_error" } }, /* 15 */ { R"(FIT IN THE HIGHEST RESOLUTION BIN\.)", 1 }, /* 16 */ { R"(TOTAL NUMBER OF BINS USED :\s+(.+?))", 1, "refine_ls_shell", { "pdbx_total_number_of_bins_used" } }, /* 17 */ { R"(BIN RESOLUTION RANGE HIGH \(A(?:NGSTROMS)?\) :\s+(.+?))", 1, "refine_ls_shell", { "d_res_high" } }, /* 18 */ { R"(BIN RESOLUTION RANGE LOW \(A(?:NGSTROMS)?\) :\s+(.+?))", 1, "refine_ls_shell", { "d_res_low" } }, /* 19 */ { R"(BIN COMPLETENESS \(WORKING\+TEST\) \(%\) :\s+(.+?))", 1, "refine_ls_shell", { "percent_reflns_obs" } }, /* 20 */ { R"(REFLECTIONS IN BIN \(WORKING ?\+ ?TEST(?: SET)?\) :\s+(.+?))", 1, "refine_ls_shell", { "number_reflns_all" } }, /* 21 */ { R"(BIN R VALUE \(WORKING ?\+ ?TEST(?: SET)?\) :\s+(.+?))", 1, "refine_ls_shell", { "R_factor_all" } }, /* 22 */ { R"(REFLECTIONS IN BIN \(WORKING SET\) :\s+(.+?))", 1, "refine_ls_shell", { "number_reflns_R_work" } }, /* 23 */ { R"(BIN R VALUE \(WORKING SET\) :\s+(.+?))", 1, "refine_ls_shell", { "R_factor_R_work" } }, /* 24 */ { R"(BIN FREE R VALUE :\s+(.+?))", 1, "refine_ls_shell", { "R_factor_R_free" } }, /* 25 */ { R"(BIN FREE R VALUE TEST SET SIZE \(%\) :\s+(.+?))", 1, "refine_ls_shell", { "percent_reflns_R_free" } }, /* 26 */ { R"(BIN FREE R VALUE TEST SET COUNT :\s+(.+?))", 1, "refine_ls_shell", { "number_reflns_R_free" } }, /* 27 */ { R"(ESTIMATED ERROR OF BIN FREE R VALUE :\s+(.+?))", 1, "refine_ls_shell", { "R_factor_R_free_error" } }, /* 28 */ { R"(NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT\.)", 1 }, /* 29 */ { R"(PROTEIN ATOMS :\s+(.+?))", 1, "refine_hist", { "pdbx_number_atoms_protein" } }, /* 30 */ { R"(NUCLEIC ACID ATOMS :\s+(.+?))", 1, "refine_hist", { "pdbx_number_atoms_nucleic_acid" } }, /* 31 */ { R"(HETEROGEN ATOMS :\s+(.+?))", 1, "refine_hist", { "pdbx_number_atoms_ligand" } }, /* 32 */ { R"(SOLVENT ATOMS :\s+(.+?))", 1, "refine_hist", { "number_atoms_solvent" } }, /* 33 */ { R"(B VALUES\.)", 1 }, /* 34 */ { R"(B VALUE TYPE :\s+(.+?))", 1, "refine", { "pdbx_TLS_residual_ADP_flag" } }, /* 35 */ { R"(FROM WILSON PLOT \(A\*\*2\) :\s+(.+?))", 1, "reflns", { "B_iso_Wilson_estimate" } }, /* 36 */ { R"(MEAN B VALUE \(OVERALL, A\*\*2\) :\s+(.+?))", 1, "refine", { "B_iso_mean" } }, /* 37 */ { R"(OVERALL ANISOTROPIC B VALUE\.)", 1 }, /* 38 */ { R"(B11 \(A\*\*2\) :\s+(.+?))", 1, "refine", { "aniso_B[1][1]" } }, /* 39 */ { R"(B22 \(A\*\*2\) :\s+(.+?))", 1, "refine", { "aniso_B[2][2]" } }, /* 40 */ { R"(B33 \(A\*\*2\) :\s+(.+?))", 1, "refine", { "aniso_B[3][3]" } }, /* 41 */ { R"(B12 \(A\*\*2\) :\s+(.+?))", 1, "refine", { "aniso_B[1][2]" } }, /* 42 */ { R"(B13 \(A\*\*2\) :\s+(.+?))", 1, "refine", { "aniso_B[1][3]" } }, /* 43 */ { R"(B23 \(A\*\*2\) :\s+(.+?))", 1, "refine", { "aniso_B[2][3]" } }, /* 44 */ { R"(ESTIMATED COORDINATE ERROR\.)", 1 }, /* 45 */ { R"(ESD FROM LUZZATI PLOT \(A\) :\s+(.+?))", 1, "refine_analyze", { "Luzzati_coordinate_error_obs" } }, /* 46 */ { R"(DPI \(BLOW EQ-10\) BASED ON R VALUE \(A\) :\s+(.+?))", 1, "refine", { "pdbx_overall_SU_R_Blow_DPI" } }, /* 47 */ { R"(DPI \(BLOW EQ-9\) BASED ON FREE R VALUE \(A\) :\s+(.+?))", 1, "refine", { "pdbx_overall_SU_R_free_Blow_DPI" } }, /* 48 */ { R"(DPI \(CRUICKSHANK\) BASED ON R VALUE \(A\) :\s+(.+?))", 1, "refine", { "overall_SU_R_Cruickshank_DPI" } }, /* 49 */ { R"(DPI \(CRUICKSHANK\) BASED ON FREE R VALUE \(A\) :\s+(.+?))", 1, "refine", { "pdbx_overall_SU_R_free_Cruickshank_DPI" } }, /* 50 */ { R"(REFERENCES: BLOW.+)", 1 }, /* 51 */ { R"(CORRELATION COEFFICIENTS\.)", 1 }, /* 52 */ { R"(CORRELATION COEFFICIENT FO-FC :\s+(.+?))", 1, "refine", { "correlation_coeff_Fo_to_Fc" } }, /* 53 */ { R"(CORRELATION COEFFICIENT FO-FC FREE :\s+(.+?))", 1, "refine", { "correlation_coeff_Fo_to_Fc_free" } }, /* 54 */ { R"(NUMBER OF GEOMETRIC FUNCTION TERMS DEFINED : 15)", 1 }, /* 55 */ { R"(TERM COUNT WEIGHT FUNCTION\.)", 1 }, /* 56 */ { R"(BOND LENGTHS :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_bond_d", true }, /* 57 */ { R"(BOND ANGLES :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_angle_deg", true }, /* 58 */ { R"(TORSION ANGLES :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_dihedral_angle_d", true }, /* 59 */ { R"(TRIGONAL CARBON PLANES :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_trig_c_planes", true }, /* 60 */ { R"(GENERAL PLANES :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_gen_planes", true }, /* 61 */ { R"(ISOTROPIC THERMAL FACTORS :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_it", true }, /* 62 */ { R"(BAD NON-BONDED CONTACTS :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_nbd", true }, /* 63 */ { R"(IMPROPER TORSIONS :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_improper_torsion", true }, /* 64 */ { R"(PSEUDOROTATION ANGLES :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_pseud_angle", true }, /* 65 */ { R"(CHIRAL IMPROPER TORSION :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_chiral_improper_torsion", true }, /* 66 */ { R"(SUM OF OCCUPANCIES :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_sum_occupancies", true }, /* 67 */ { R"(UTILITY DISTANCES :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_utility_distance", true }, /* 68 */ { R"(UTILITY ANGLES :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_utility_angle", true }, /* 69 */ { R"(UTILITY TORSION :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_utility_torsion", true }, /* 70 */ { R"(IDEAL-DIST CONTACT TERM :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "number", "weight", "pdbx_restraint_function" }, "t_ideal_dist_contact", true }, /* 71 */ { R"(RMS DEVIATIONS FROM IDEAL VALUES\.)", 1 }, /* 72 */ { R"(BOND LENGTHS \(A\) :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_bond_d", false }, /* 73 */ { R"(BOND ANGLES \(DEGREES\) :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_angle_deg", false }, /* 74 */ { R"(TORSION ANGLES \(DEGREES\) :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_dihedral_angle_d", false }, /* 75 */ { R"(PSEUDO ROTATION ANGLES \(DEGREES\) :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_pseud_angle", false }, /* 76 */ { R"(TRIGONAL CARBON PLANES \(A\) :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_trig_c_planes", false }, /* 77 */ { R"(GENERAL PLANES \(A\) :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_gen_planes", false }, /* 78 */ { R"(ISOTROPIC THERMAL FACTORS \(A\*\*2\) :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_it", false }, /* 79 */ { R"(NON-BONDED CONTACTS \(A\) :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_nbd", false }, /* 80 */ { R"(PEPTIDE OMEGA TORSION ANGLES \(DEGREES\) :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_omega_torsion", false }, /* 81 */ { R"(OTHER TORSION ANGLES \(DEGREES\) :\s+(.+?);\s+(.+?);\s+(.+?))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_other_torsion", false }, /* 82 */ { R"(TLS DETAILS\.?)", 1 }, /* 83 */ { R"(NUMBER OF TLS GROUPS :.+)", 1 }, /* 84 */ { R"(TLS GROUP :\s*(\d+))", 1, "pdbx_refine_tls", { "id" }, nullptr, true }, /* 85 */ { R"((?:SELECTION|SET) *:\s+(.+?))", 1, "pdbx_refine_tls_group", { "selection_details" }, nullptr, true }, /* 86 */ { R"(ORIGIN FOR THE GROUP \(A\):\s+(.+?)\s+(.+?)\s+(.+?))", 1, "pdbx_refine_tls", { "origin_x", "origin_y", "origin_z" } }, /* 87 */ { R"(T TENSOR)", 1 }, /* 88 */ { R"(T11:\s+(.+?) T22:\s+(.+?))", 1, "pdbx_refine_tls", { "T[1][1]", "T[2][2]" } }, /* 89 */ { R"(T33:\s+(.+?) T12:\s+(.+?))", 1, "pdbx_refine_tls", { "T[3][3]", "T[1][2]" } }, /* 90 */ { R"(T13:\s+(.+?) T23:\s+(.+?))", 1, "pdbx_refine_tls", { "T[1][3]", "T[2][3]" } }, /* 91 */ { R"(L TENSOR)", 1 }, /* 92 */ { R"(L11:\s+(.+?) L22:\s+(.+?))", 1, "pdbx_refine_tls", { "L[1][1]", "L[2][2]" } }, /* 93 */ { R"(L33:\s+(.+?) L12:\s+(.+?))", 1, "pdbx_refine_tls", { "L[3][3]", "L[1][2]" } }, /* 94 */ { R"(L13:\s+(.+?) L23:\s+(.+?))", 1, "pdbx_refine_tls", { "L[1][3]", "L[2][3]" } }, /* 95 */ { R"(S TENSOR)", 1 }, /* 96 */ { R"(S11:\s+(.+?) S12:\s+(.+?) S13:\s+(.+?))", 1, "pdbx_refine_tls", { "S[1][1]", "S[1][2]", "S[1][3]" } }, /* 97 */ { R"(S21:\s+(.+?) S22:\s+(.+?) S23:\s+(.+?))", 1, "pdbx_refine_tls", { "S[2][1]", "S[2][2]", "S[2][3]" } }, /* 98 */ { R"(S31:\s+(.+?) S32:\s+(.+?) S33:\s+(.+?))", 84 - 98, "pdbx_refine_tls", { "S[3][1]", "S[3][2]", "S[3][3]" } }, }; class BUSTER_TNT_Remark3Parser : public Remark3Parser { public: BUSTER_TNT_Remark3Parser(const std::string& name, const std::string& expMethod, PDBRecord* r, cif::Datablock& db) : Remark3Parser(name, expMethod, r, db, kBusterTNT_Template, sizeof(kBusterTNT_Template) / sizeof(TemplateLine), std::regex(R"((BUSTER(?:-TNT)?)(?: (\d+(?:\..+)?))?)")) {} }; const TemplateLine kCNS_Template[] = { /* 0 */ { R"(REFINEMENT TARGET\s*:\s*(.+))", 1, "refine", { "pdbx_stereochemistry_target_values" } }, /* 1 */ { R"(DATA USED IN REFINEMENT\.)", 1 }, /* 2 */ { R"(RESOLUTION RANGE HIGH \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_high" } }, /* 3 */ { R"(RESOLUTION RANGE LOW \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_low" } }, /* 4 */ { R"(DATA CUTOFF \(SIGMA\(F\)\)\s*:\s*(.+))", 1, "refine", { "pdbx_ls_sigma_F" } }, /* 5 */ { R"(DATA CUTOFF HIGH \(ABS\(F\)\)\s*:\s*(.+))", 1, "refine", { "pdbx_data_cutoff_high_absF" } }, /* 6 */ { R"(DATA CUTOFF LOW \(ABS\(F\)\)\s*:\s*(.+))", 1, "refine", { "pdbx_data_cutoff_low_absF" } }, /* 7 */ { R"(COMPLETENESS \(WORKING\+TEST\) \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_obs" } }, /* 8 */ { R"(NUMBER OF REFLECTIONS\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_obs" } }, /* 9 */ { R"(FIT TO DATA USED IN REFINEMENT\.)", 1 }, /* 10 */ { R"(CROSS-VALIDATION METHOD\s*:\s*(.+))", 1, "refine", { "pdbx_ls_cross_valid_method" } }, /* 11 */ { R"(FREE R VALUE TEST SET SELECTION\s*:\s*(.+))", 1, "refine", { "pdbx_R_Free_selection_details" } }, /* 12 */ { R"(R VALUE \(WORKING \+ TEST SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_obs" } }, /* 13 */ { R"(R VALUE \(WORKING SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_work" } }, /* 14 */ { R"(FREE R VALUE\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_free" } }, /* 15 */ { R"(FREE R VALUE TEST SET SIZE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_R_free" } }, /* 16 */ { R"(FREE R VALUE TEST SET COUNT\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_R_free" } }, /* 17 */ { R"(ESTIMATED ERROR OF FREE R VALUE\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_free_error" } }, /* 18 */ { R"(FIT/AGREEMENT OF MODEL WITH ALL DATA\.)", 1 }, /* 19 */ { R"(R VALUE \(WORKING \+ TEST SET, NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "R_factor_all_no_cutoff" } }, /* 20 */ { R"(R VALUE \(WORKING SET, NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "R_factor_obs_no_cutoff" } }, /* 21 */ { R"(FREE R VALUE \(NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_factor_no_cutoff" } }, /* 22 */ { R"(FREE R VALUE TEST SET SIZE \(%, NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_val_test_set_size_perc_no_cutoff" } }, /* 23 */ { R"(FREE R VALUE TEST SET COUNT \(NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_val_test_set_ct_no_cutoff" } }, /* 24 */ { R"(ESTIMATED ERROR OF FREE R VALUE \(NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_error_no_cutoff" } }, /* 25 */ { R"(TOTAL NUMBER OF REFLECTIONS \(NO CUTOFF\)\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_all" } }, /* 26 */ { R"(FIT IN THE HIGHEST RESOLUTION BIN\.)", 1 }, /* 27 */ { R"(TOTAL NUMBER OF BINS USED\s*:\s*(.+))", 1, "refine_ls_shell", { "pdbx_total_number_of_bins_used" } }, /* 28 */ { R"(BIN RESOLUTION RANGE HIGH \(A\)\s*:\s*(.+))", 1, "refine_ls_shell", { "d_res_high" } }, /* 29 */ { R"(BIN RESOLUTION RANGE LOW \(A\)\s*:\s*(.+))", 1, "refine_ls_shell", { "d_res_low" } }, /* 30 */ { R"(BIN COMPLETENESS \(WORKING\+TEST\) \(%\)\s*:\s*(.+))", 1, "refine_ls_shell", { "percent_reflns_obs" } }, /* 31 */ { R"(REFLECTIONS IN BIN \(WORKING SET\)\s*:\s*(.+))", 1, "refine_ls_shell", { "number_reflns_R_work" } }, /* 32 */ { R"(BIN R VALUE \(WORKING SET\)\s*:\s*(.+))", 1, "refine_ls_shell", { "R_factor_R_work" } }, /* 33 */ { R"(BIN FREE R VALUE\s*:\s*(.+))", 1, "refine_ls_shell", { "R_factor_R_free" } }, /* 34 */ { R"(BIN FREE R VALUE TEST SET SIZE \(%\)\s*:\s*(.+))", 1, "refine_ls_shell", { "percent_reflns_R_free" } }, /* 35 */ { R"(BIN FREE R VALUE TEST SET COUNT\s*:\s*(.+))", 1, "refine_ls_shell", { "number_reflns_R_free" } }, /* 36 */ { R"(ESTIMATED ERROR OF BIN FREE R VALUE\s*:\s*(.+))", 1, "refine_ls_shell", { "R_factor_R_free_error" } }, /* 37 */ { R"(NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT\.)", 1 }, /* 38 */ { R"(PROTEIN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_protein" } }, /* 39 */ { R"(NUCLEIC ACID ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_nucleic_acid" } }, /* 40 */ { R"(HETEROGEN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_ligand" } }, /* 41 */ { R"(SOLVENT ATOMS\s*:\s*(.+))", 1, "refine_hist", { "number_atoms_solvent" } }, /* 42 */ { R"(B VALUES\.)", 1 }, /* 43 */ { R"(B VALUE TYPE\s*:\s*(.+))", 1, "refine", { "pdbx_TLS_residual_ADP_flag" } }, /* 44 */ { R"(FROM WILSON PLOT \(A\*\*2\)\s*:\s*(.+))", 1, "reflns", { "B_iso_Wilson_estimate" } }, /* 45 */ { R"(MEAN B VALUE \(OVERALL, A\*\*2\)\s*:\s*(.+))", 1, "refine", { "B_iso_mean" } }, /* 46 */ { R"(OVERALL ANISOTROPIC B VALUE\.)", 1 }, /* 47 */ { R"(B11 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][1]" } }, /* 48 */ { R"(B22 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[2][2]" } }, /* 49 */ { R"(B33 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[3][3]" } }, /* 50 */ { R"(B12 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][2]" } }, /* 51 */ { R"(B13 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][3]" } }, /* 52 */ { R"(B23 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[2][3]" } }, /* 53 */ { R"(ESTIMATED COORDINATE ERROR\.)", 1 }, /* 54 */ { R"(ESD FROM LUZZATI PLOT \(A\)\s*:\s*(.+))", 1, "refine_analyze", { "Luzzati_coordinate_error_obs" } }, /* 55 */ { R"(ESD FROM SIGMAA \(A\)\s*:\s*(.+))", 1, "refine_analyze", { "Luzzati_sigma_a_obs" } }, /* 56 */ { R"(LOW RESOLUTION CUTOFF \(A\)\s*:\s*(.+))", 1, "refine_analyze", { "Luzzati_d_res_low_obs" } }, /* 57 */ { R"(CROSS-VALIDATED ESTIMATED COORDINATE ERROR\.)", 1 }, /* 58 */ { R"(ESD FROM C-V LUZZATI PLOT \(A\)\s*:\s*(.+))", 1, "refine_analyze", { "Luzzati_coordinate_error_free" } }, /* 59 */ { R"(ESD FROM C-V SIGMAA \(A\)\s*:\s*(.+))", 1, "refine_analyze", { "Luzzati_sigma_a_free" } }, /* 60 */ { R"(RMS DEVIATIONS FROM IDEAL VALUES\.)", 1 }, /* 61 */ { R"(BOND LENGTHS \(A\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "c_bond_d", false }, /* 62 */ { R"(BOND ANGLES \(DEGREES\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "c_angle_deg", false }, /* 63 */ { R"(DIHEDRAL ANGLES \(DEGREES\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "c_dihedral_angle_d", false }, /* 64 */ { R"(IMPROPER ANGLES \(DEGREES\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "c_improper_angle_d", false }, /* 65 */ { R"(ISOTROPIC THERMAL MODEL\s*:\s*(.+))", 1, "refine", { "pdbx_isotropic_thermal_model" } }, /* 66 */ { R"(ISOTROPIC THERMAL FACTOR RESTRAINTS\. RMS SIGMA)", 1 }, /* 67 */ { R"(MAIN-CHAIN BOND \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "c_mcbond_it", false }, /* 68 */ { R"(MAIN-CHAIN ANGLE \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "c_mcangle_it", false }, /* 69 */ { R"(SIDE-CHAIN BOND \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "c_scbond_it", false }, /* 70 */ { R"(SIDE-CHAIN ANGLE \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "c_scangle_it", false }, /* 71 */ { R"(BULK SOLVENT MODELING\.)", 1 }, /* 72 */ { R"(METHOD USED\s*:\s*(.+))", 1, "refine", { "solvent_model_details" } }, /* 73 */ { R"(KSOL\s*:\s*(.+))", 1, "refine", { "solvent_model_param_ksol" } }, /* 74 */ { R"(BSOL\s*:\s*(.+))", 1, "refine", { "solvent_model_param_bsol" } }, /* 75 */ { R"(NCS MODEL\s*:\s*(.+))", 1, /* "refine_ls_restr_ncs", { "ncs_model_details" } */ }, /* 76 */ { R"(NCS RESTRAINTS\. RMS SIGMA/WEIGHT)", 1 }, /* 77 */ { R"(GROUP (\d+) POSITIONAL \(A\)\s*:\s*(.+))", 1, /* "refine_ls_restr_ncs", { "dom_id", "rms_dev_position", "weight_position" } */ }, /* 78 */ { R"(GROUP (\d+) B-FACTOR \(A\*\*2\)\s*:\s*(.+))", 1, /* "refine_ls_restr_ncs", { "dom_id", "rms_dev_B_iso", "weight_B_iso" } */ }, /* 79 */ { R"(PARAMETER FILE (\d+) :\s+(.+))", 1, /* "pdbx_xplor_file", { "serial_no", "param_file" } */ }, /* 80 */ { R"(TOPOLOGY FILE (\d+) :\s+(.+))", 1, /* "pdbx_xplor_file", { "serial_no", "topol_file" } */ }, }; class CNS_Remark3Parser : public Remark3Parser { public: CNS_Remark3Parser(const std::string& name, const std::string& expMethod, PDBRecord* r, cif::Datablock& db) : Remark3Parser(name, expMethod, r, db, kCNS_Template, sizeof(kCNS_Template) / sizeof(TemplateLine), std::regex(R"((CN[SX])(?: (\d+(?:\.\d+)?))?)")) {} }; const TemplateLine kPHENIX_Template[] = { /* 0 */ { R"(REFINEMENT TARGET\s*:\s*(.+))", 1, "refine", { "pdbx_stereochemistry_target_values" } }, /* 1 */ { R"(DATA USED IN REFINEMENT\.)", 1 }, /* 2 */ { R"(RESOLUTION RANGE HIGH \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_high" } }, /* 3 */ { R"(RESOLUTION RANGE LOW \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_low" } }, /* 4 */ { R"(MIN\(FOBS/SIGMA_FOBS\)\s*:\s*(.+))", 1, "refine", { "pdbx_ls_sigma_F" } }, /* 5 */ { R"(COMPLETENESS FOR RANGE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_obs" } }, /* 6 */ { R"(NUMBER OF REFLECTIONS\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_obs" } }, /* 7 */ { R"(FIT TO DATA USED IN REFINEMENT\.)", 1 }, /* 8 */ { R"(R VALUE \(WORKING \+ TEST SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_obs" } }, /* 9 */ { R"(R VALUE \(WORKING SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_work" } }, /* 10 */ { R"(FREE R VALUE\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_free" } }, /* 11 */ { R"(FREE R VALUE TEST SET SIZE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_R_free" } }, /* 12 */ { R"(FREE R VALUE TEST SET COUNT\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_R_free" } }, /* 13 */ { R"(FIT TO DATA USED IN REFINEMENT \(IN BINS\)\.)", 1 }, /* 14 */ { R"(BIN RESOLUTION RANGE COMPL\. NWORK NFREE RWORK RFREE)", 1 }, /* 15 */ { R"(\d+ (\d+(?:\.\d+)?) - (\d+(?:\.\d+)?) (\d+(?:\.\d+)?) (\d+) (\d+) (\d+(?:\.\d+)?) (\d+(?:\.\d+)?))", 0, "refine_ls_shell", { "d_res_low", "d_res_high", "percent_reflns_obs", "number_reflns_R_work", "number_reflns_R_free", "R_factor_R_work", "R_factor_R_free" }, nullptr, true }, /* 16 */ { R"(BULK SOLVENT MODELLING\.)", 1 }, /* 17 */ { R"(METHOD USED\s*:\s*(.+))", 1, "refine", { "solvent_model_details" } }, /* 18 */ { R"(SOLVENT RADIUS\s*:\s*(.+))", 1, "refine", { "pdbx_solvent_vdw_probe_radii" } }, /* 19 */ { R"(SHRINKAGE RADIUS\s*:\s*(.+))", 1, "refine", { "pdbx_solvent_shrinkage_radii" } }, /* 20 */ { R"(K_SOL\s*:\s*(.+))", 1, "refine", { "solvent_model_param_ksol" } }, /* 21 */ { R"(B_SOL\s*:\s*(.+))", 1, "refine", { "solvent_model_param_bsol" } }, /* 22 */ { R"(ERROR ESTIMATES\.)", 1 }, /* 23 */ { R"(COORDINATE ERROR \(MAXIMUM-LIKELIHOOD BASED\)\s*:\s*(.+))", 1, "refine", { "overall_SU_ML" } }, /* 24 */ { R"(PHASE ERROR \(DEGREES, MAXIMUM-LIKELIHOOD BASED\)\s*:\s*(.+))", 1, "refine", { "pdbx_overall_phase_error" } }, /* 25 */ { R"(B VALUES\.)", 1 }, /* 26 */ { R"(B VALUE TYPE\s*:\s*(.+))", 1, "refine", { "pdbx_TLS_residual_ADP_flag" } }, /* 27 */ { R"(FROM WILSON PLOT \(A\*\*2\)\s*:\s*(.+))", 1, "reflns", { "B_iso_Wilson_estimate" } }, /* 28 */ { R"(MEAN B VALUE \(OVERALL, A\*\*2\)\s*:\s*(.+))", 1, "refine", { "B_iso_mean" } }, /* 29 */ { R"(OVERALL ANISOTROPIC B VALUE\.)", 1 }, /* 30 */ { R"(B11 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][1]" } }, /* 31 */ { R"(B22 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[2][2]" } }, /* 32 */ { R"(B33 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[3][3]" } }, /* 33 */ { R"(B12 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][2]" } }, /* 34 */ { R"(B13 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][3]" } }, /* 35 */ { R"(B23 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[2][3]" } }, /* 36 */ { R"(TWINNING INFORMATION\.)", 1 }, /* 37 */ { R"(FRACTION:\s*(.+))", 1, "pdbx_reflns_twin", { "fraction" } }, /* 38 */ { R"(OPERATOR:\s*(.+))", 1, "pdbx_reflns_twin", { "operator" } }, /* 39 */ { R"(DEVIATIONS FROM IDEAL VALUES\.)", 1 }, /* 40 */ { R"(RMSD COUNT)", 1 }, /* 41 */ { R"(BOND\s*:\s*(\d+(?:\.\d+))\s+(\d+))", 1, "refine_ls_restr", { "dev_ideal", "number" }, "f_bond_d", false }, /* 42 */ { R"(ANGLE\s*:\s*(\d+(?:\.\d+))\s+(\d+))", 1, "refine_ls_restr", { "dev_ideal", "number" }, "f_angle_d", false }, /* 43 */ { R"(CHIRALITY\s*:\s*(\d+(?:\.\d+))\s+(\d+))", 1, "refine_ls_restr", { "dev_ideal", "number" }, "f_chiral_restr", false }, /* 44 */ { R"(PLANARITY\s*:\s*(\d+(?:\.\d+))\s+(\d+))", 1, "refine_ls_restr", { "dev_ideal", "number" }, "f_plane_restr", false }, /* 45 */ { R"(DIHEDRAL\s*:\s*(\d+(?:\.\d+))\s+(\d+))", 1, "refine_ls_restr", { "dev_ideal", "number" }, "f_dihedral_angle_d", false }, /* 46 */ { R"(TLS DETAILS)", 1 }, /* 47 */ { R"(NUMBER OF TLS GROUPS\s*:\s*(.+))", 1 }, /* 48 */ { R"(TLS GROUP\s*:\s*(.+))", 1, "pdbx_refine_tls", { "id" }, nullptr, true }, /* 49 */ { R"(SELECTION:\s*(.+))", 1, "pdbx_refine_tls_group", { "selection_details" }, nullptr, true }, /* 50 */ { R"(ORIGIN FOR THE GROUP(?:\s*\(A\))?\s*:\s*(\S+)\s+(\S+)\s+(\S+))", 1, "pdbx_refine_tls", { "origin_x", "origin_y", "origin_z" } }, /* 51 */ { R"(T TENSOR)", 1 }, /* 52 */ { R"(T11\s*:\s*(.+) T22\s*:\s*(.+))", 1, "pdbx_refine_tls", { "T[1][1]", "T[2][2]" } }, /* 53 */ { R"(T33\s*:\s*(.+) T12\s*:\s*(.+))", 1, "pdbx_refine_tls", { "T[3][3]", "T[1][2]" } }, /* 54 */ { R"(T13\s*:\s*(.+) T23\s*:\s*(.+))", 1, "pdbx_refine_tls", { "T[1][3]", "T[2][3]" } }, /* 55 */ { R"(L TENSOR)", 1 }, /* 56 */ { R"(L11\s*:\s*(.+) L22\s*:\s*(.+))", 1, "pdbx_refine_tls", { "L[1][1]", "L[2][2]" } }, /* 57 */ { R"(L33\s*:\s*(.+) L12\s*:\s*(.+))", 1, "pdbx_refine_tls", { "L[3][3]", "L[1][2]" } }, /* 58 */ { R"(L13\s*:\s*(.+) L23\s*:\s*(.+))", 1, "pdbx_refine_tls", { "L[1][3]", "L[2][3]" } }, /* 59 */ { R"(S TENSOR)", 1 }, /* 60 */ { R"(S11\s*:\s*(.+) S12\s*:\s*(.+) S13\s*:\s*(.+))", 1, "pdbx_refine_tls", { "S[1][1]", "S[1][2]", "S[1][3]" } }, /* 61 */ { R"(S21\s*:\s*(.+) S22\s*:\s*(.+) S23\s*:\s*(.+))", 1, "pdbx_refine_tls", { "S[2][1]", "S[2][2]", "S[2][3]" } }, /* 62 */ { R"(S31\s*:\s*(.+) S32\s*:\s*(.+) S33\s*:\s*(.+))", 48 - 62, "pdbx_refine_tls", { "S[3][1]", "S[3][2]", "S[3][3]" } }, /* 63 */ { R"(ANOMALOUS SCATTERER GROUPS DETAILS\.)", 1 }, /* 64 */ { R"(NUMBER OF ANOMALOUS SCATTERER GROUPS\s*:\s*\d+)", 1 }, /* 65 */ { R"(ANOMALOUS SCATTERER GROUP\s*:\s*\d+)", 1 }, /* 66 */ { R"(SELECTION: .+)", 1 }, /* 67 */ { R"(fp\s*:\s*.+)", 1 }, /* 68 */ { R"(fdp\s*:\s*.+)", 63 - 68 }, /* 69 */ { R"(NCS DETAILS)", 1 }, /* 70 */ { R"(NUMBER OF NCS GROUPS\s*:\s*(.+))", 1 }, }; class PHENIX_Remark3Parser : public Remark3Parser { public: PHENIX_Remark3Parser(const std::string& name, const std::string& expMethod, PDBRecord* r, cif::Datablock& db) : Remark3Parser(name, expMethod, r, db, kPHENIX_Template, sizeof(kPHENIX_Template) / sizeof(TemplateLine), std::regex(R"((PHENIX)(?: \(PHENIX\.REFINE:) (\d+(?:\.[^)]+)?)\)?)")) {} virtual void fixup(); }; void PHENIX_Remark3Parser::fixup() { for (auto r: mDb["refine_ls_shell"]) { try { float val = r["percent_reflns_obs"].as(); int perc = static_cast(val * 100); r["percent_reflns_obs"] = perc; } catch (...) {} } } const TemplateLine kNUCLSQ_Template[] = { /* 0 */ { R"(DATA USED IN REFINEMENT\.)", 1 }, /* 1 */ { R"(RESOLUTION RANGE HIGH \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_high" } }, /* 2 */ { R"(RESOLUTION RANGE LOW \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_low" } }, /* 3 */ { R"(DATA CUTOFF \(SIGMA\(F\)\)\s*:\s*(.+))", 1, "refine", { "pdbx_ls_sigma_F" } }, /* 4 */ { R"(COMPLETENESS FOR RANGE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_obs" } }, /* 5 */ { R"(NUMBER OF REFLECTIONS\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_obs" } }, /* 6 */ { R"(FIT TO DATA USED IN REFINEMENT\.)", 1 }, /* 7 */ { R"(CROSS-VALIDATION METHOD\s*:\s*(.+))", 1, "refine", { "pdbx_ls_cross_valid_method" } }, /* 8 */ { R"(FREE R VALUE TEST SET SELECTION\s*:\s*(.+))", 1, "refine", { "pdbx_R_Free_selection_details" } }, /* 9 */ { R"(R VALUE \(WORKING \+ TEST SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_obs" } }, /* 10 */ { R"(R VALUE \(WORKING SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_work" } }, /* 11 */ { R"(FREE R VALUE\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_free" } }, /* 12 */ { R"(FREE R VALUE TEST SET SIZE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_R_free" } }, /* 13 */ { R"(FREE R VALUE TEST SET COUNT\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_R_free" } }, /* 14 */ { R"(FIT/AGREEMENT OF MODEL WITH ALL DATA\.)", 1 }, /* 15 */ { R"(R VALUE \(WORKING \+ TEST SET, NO CUTOFF\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_all" } }, /* 16 */ { R"(R VALUE \(WORKING SET, NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "R_factor_obs_no_cutoff" } }, /* 17 */ { R"(FREE R VALUE \(NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_factor_no_cutoff" } }, /* 18 */ { R"(FREE R VALUE TEST SET SIZE \(%, NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_val_test_set_size_perc_no_cutoff" } }, /* 19 */ { R"(FREE R VALUE TEST SET COUNT \(NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_val_test_set_ct_no_cutoff" } }, /* 20 */ { R"(TOTAL NUMBER OF REFLECTIONS \(NO CUTOFF\)\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_all" } }, /* 21 */ { R"(NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT\.)", 1 }, /* 22 */ { R"(PROTEIN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_protein" } }, /* 23 */ { R"(NUCLEIC ACID ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_nucleic_acid" } }, /* 24 */ { R"(HETEROGEN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_ligand" } }, /* 25 */ { R"(SOLVENT ATOMS\s*:\s*(.+))", 1, "refine_hist", { "number_atoms_solvent" } }, /* 26 */ { R"(B VALUES\.)", 1 }, /* 27 */ { R"(B VALUE TYPE\s*:\s*(.+))", 1, "refine", { "pdbx_TLS_residual_ADP_flag" } }, /* 28 */ { R"(FROM WILSON PLOT \(A\*\*2\)\s*:\s*(.+))", 1, "reflns", { "B_iso_Wilson_estimate" } }, /* 29 */ { R"(MEAN B VALUE \(OVERALL, A\*\*2\)\s*:\s*(.+))", 1, "refine", { "B_iso_mean" } }, /* 30 */ { R"(OVERALL ANISOTROPIC B VALUE\.)", 1 }, /* 31 */ { R"(B11 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][1]" } }, /* 32 */ { R"(B22 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[2][2]" } }, /* 33 */ { R"(B33 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[3][3]" } }, /* 34 */ { R"(B12 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][2]" } }, /* 35 */ { R"(B13 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][3]" } }, /* 36 */ { R"(B23 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[2][3]" } }, /* 37 */ { R"(ESTIMATED COORDINATE ERROR\.)", 1 }, /* 38 */ { R"(ESD FROM LUZZATI PLOT \(A\)\s*:\s*(.+))", 1, "refine_analyze", { "Luzzati_coordinate_error_obs" } }, /* 39 */ { R"(ESD FROM SIGMAA \(A\)\s*:\s*(.+))", 1, "refine_analyze", { "Luzzati_sigma_a_obs" } }, /* 40 */ { R"(LOW RESOLUTION CUTOFF \(A\)\s*:\s*(.+))", 1, "refine_analyze", { "Luzzati_d_res_low_obs" } }, /* 41 */ { R"(RMS DEVIATIONS FROM IDEAL VALUES\.)", 1 }, /* 42 */ { R"(DISTANCE RESTRAINTS\. RMS SIGMA)", 1 }, /* 43 */ { R"(SUGAR-BASE BOND DISTANCE \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "n_sugar_bond_d", false }, /* 44 */ { R"(SUGAR-BASE BOND ANGLE DISTANCE \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "n_sugar_bond_angle_d", false }, /* 45 */ { R"(PHOSPHATE BONDS DISTANCE \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "n_phos_bond_d", false }, /* 46 */ { R"(PHOSPHATE BOND ANGLE, H-BOND \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "n_phos_bond_angle_d", false }, /* 47 */ { R"(PLANE RESTRAINT \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "n_plane_restr", false }, /* 48 */ { R"(CHIRAL-CENTER RESTRAINT \(A\*\*3\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "n_chiral_restr", false }, /* 49 */ { R"(NON-BONDED CONTACT RESTRAINTS\.)", 1 }, /* 50 */ { R"(SINGLE TORSION \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "n_singtor_nbd", false }, /* 51 */ { R"(MULTIPLE TORSION \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "n_multtor_nbd", false }, /* 59 */ { R"(ISOTROPIC THERMAL FACTOR RESTRAINTS\. RMS SIGMA)", 1 }, /* 60 */ { R"(SUGAR-BASE BONDS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "n_sugar_bond_it", false }, /* 61 */ { R"(SUGAR-BASE ANGLES \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "n_sugar_angle_it", false }, /* 62 */ { R"(PHOSPHATE BONDS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "n_phos_bond_it", false }, /* 63 */ { R"(PHOSPHATE BOND ANGLE, H-BOND \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "n_phos_angle_it", false }, }; class NUCLSQ_Remark3Parser : public Remark3Parser { public: NUCLSQ_Remark3Parser(const std::string& name, const std::string& expMethod, PDBRecord* r, cif::Datablock& db) : Remark3Parser(name, expMethod, r, db, kNUCLSQ_Template, sizeof(kNUCLSQ_Template) / sizeof(TemplateLine), std::regex(R"((NUCLSQ)(?: (\d+(?:\.\d+)?))?)")) {} virtual void fixup() { for (auto r: mDb["refine_hist"]) { try { int p, n, h, s; cif::tie(p, n, h, s) = r.get("pdbx_number_atoms_protein", "pdbx_number_atoms_nucleic_acid", "pdbx_number_atoms_ligand", "number_atoms_solvent"); r["number_atoms_total"] = p + n + h + s; } catch (...) {} } } }; const TemplateLine kPROLSQ_Template[] = { /* 0 */ { R"(DATA USED IN REFINEMENT\.)", 1 }, /* 1 */ { R"(RESOLUTION RANGE HIGH \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_high" } }, /* 2 */ { R"(RESOLUTION RANGE LOW \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_low" } }, /* 3 */ { R"(DATA CUTOFF \(SIGMA\(F\)\)\s*:\s*(.+))", 1, "refine", { "pdbx_ls_sigma_F" } }, /* 4 */ { R"(COMPLETENESS FOR RANGE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_obs" } }, /* 5 */ { R"(NUMBER OF REFLECTIONS\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_obs" } }, /* 6 */ { R"(FIT TO DATA USED IN REFINEMENT\.)", 1 }, /* 7 */ { R"(CROSS-VALIDATION METHOD\s*:\s*(.+))", 1, "refine", { "pdbx_ls_cross_valid_method" } }, /* 8 */ { R"(FREE R VALUE TEST SET SELECTION\s*:\s*(.+))", 1, "refine", { "pdbx_R_Free_selection_details" } }, /* 9 */ { R"(R VALUE \(WORKING \+ TEST SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_obs" } }, /* 10 */ { R"(R VALUE \(WORKING SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_work" } }, /* 11 */ { R"(FREE R VALUE\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_free" } }, /* 12 */ { R"(FREE R VALUE TEST SET SIZE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_R_free" } }, /* 13 */ { R"(FREE R VALUE TEST SET COUNT\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_R_free" } }, /* 14 */ { R"(FIT/AGREEMENT OF MODEL WITH ALL DATA\.)", 1 }, /* 15 */ { R"(R VALUE \(WORKING \+ TEST SET, NO CUTOFF\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_all" } }, /* 16 */ { R"(R VALUE \(WORKING SET, NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "R_factor_obs_no_cutoff" } }, /* 17 */ { R"(FREE R VALUE \(NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_factor_no_cutoff" } }, /* 18 */ { R"(FREE R VALUE TEST SET SIZE \(%, NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_val_test_set_size_perc_no_cutoff" } }, /* 19 */ { R"(FREE R VALUE TEST SET COUNT \(NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_val_test_set_ct_no_cutoff" } }, /* 20 */ { R"(TOTAL NUMBER OF REFLECTIONS \(NO CUTOFF\)\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_all" } }, /* 21 */ { R"(NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT\.)", 1 }, /* 22 */ { R"(PROTEIN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_protein" } }, /* 23 */ { R"(NUCLEIC ACID ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_nucleic_acid" } }, /* 24 */ { R"(HETEROGEN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_ligand" } }, /* 25 */ { R"(SOLVENT ATOMS\s*:\s*(.+))", 1, "refine_hist", { "number_atoms_solvent" } }, /* 26 */ { R"(B VALUES\.)", 1 }, /* 27 */ { R"(B VALUE TYPE\s*:\s*(.+))", 1, "refine", { "pdbx_TLS_residual_ADP_flag" } }, /* 28 */ { R"(FROM WILSON PLOT \(A\*\*2\)\s*:\s*(.+))", 1, "reflns", { "B_iso_Wilson_estimate" } }, /* 29 */ { R"(MEAN B VALUE \(OVERALL, A\*\*2\)\s*:\s*(.+))", 1, "refine", { "B_iso_mean" } }, /* 30 */ { R"(OVERALL ANISOTROPIC B VALUE\.)", 1 }, /* 31 */ { R"(B11 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][1]" } }, /* 32 */ { R"(B22 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[2][2]" } }, /* 33 */ { R"(B33 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[3][3]" } }, /* 34 */ { R"(B12 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][2]" } }, /* 35 */ { R"(B13 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][3]" } }, /* 36 */ { R"(B23 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[2][3]" } }, /* 37 */ { R"(ESTIMATED COORDINATE ERROR\.)", 1 }, /* 38 */ { R"(ESD FROM LUZZATI PLOT \(A\)\s*:\s*(.+))", 1, "refine_analyze", { "Luzzati_coordinate_error_obs" } }, /* 39 */ { R"(ESD FROM SIGMAA \(A\)\s*:\s*(.+))", 1, "refine_analyze", { "Luzzati_sigma_a_obs" } }, /* 40 */ { R"(LOW RESOLUTION CUTOFF \(A\)\s*:\s*(.+))", 1, "refine_analyze", { "Luzzati_d_res_low_obs" } }, /* 41 */ { R"(RMS DEVIATIONS FROM IDEAL VALUES\.)", 1 }, /* 42 */ { R"(DISTANCE RESTRAINTS\. RMS SIGMA)", 1 }, /* 43 */ { R"(BOND LENGTH \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_bond_d", false }, /* 44 */ { R"(ANGLE DISTANCE \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_angle_d", false }, /* 45 */ { R"(INTRAPLANAR 1-4 DISTANCE \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_planar_d", false }, /* 46 */ { R"(H-BOND OR METAL COORDINATION \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_hb_or_metal_coord", false }, /* 47 */ { R"(PLANE RESTRAINT \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_plane_restr", false }, /* 48 */ { R"(CHIRAL-CENTER RESTRAINT \(A\*\*3\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_chiral_restr", false }, /* 49 */ { R"(NON-BONDED CONTACT RESTRAINTS\.)", 1 }, /* 50 */ { R"(SINGLE TORSION \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_singtor_nbd", false }, /* 51 */ { R"(MULTIPLE TORSION \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_multtor_nbd", false }, /* 52 */ { R"(H-BOND \(X\.\.\.Y\) \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_xyhbond_nbd", false }, /* 53 */ { R"(H-BOND \(X-H\.\.\.Y\) \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_xhyhbond_nbd", false }, /* 54 */ { R"(CONFORMATIONAL TORSION ANGLE RESTRAINTS\.)", 1 }, /* 55 */ { R"(SPECIFIED \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_special_tor", false }, /* 56 */ { R"(PLANAR \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_planar_tor", false }, /* 57 */ { R"(STAGGERED \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_staggered_tor", false }, /* 58 */ { R"(TRANSVERSE \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_transverse_tor", false }, /* 59 */ { R"(ISOTROPIC THERMAL FACTOR RESTRAINTS\. RMS SIGMA)", 1 }, /* 60 */ { R"(MAIN-CHAIN BOND \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_mcbond_it", false }, /* 61 */ { R"(MAIN-CHAIN ANGLE \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_mcangle_it", false }, /* 62 */ { R"(SIDE-CHAIN BOND \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_scbond_it", false }, /* 63 */ { R"(SIDE-CHAIN ANGLE \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_scangle_it", false }, }; class PROLSQ_Remark3Parser : public Remark3Parser { public: PROLSQ_Remark3Parser(const std::string& name, const std::string& expMethod, PDBRecord* r, cif::Datablock& db) : Remark3Parser(name, expMethod, r, db, kPROLSQ_Template, sizeof(kPROLSQ_Template) / sizeof(TemplateLine), std::regex(R"((PROLSQ)(?: (\d+(?:\.\d+)?))?)")) {} virtual void fixup() { for (auto r: mDb["refine_hist"]) { try { int p, n, h, s; cif::tie(p, n, h, s) = r.get("pdbx_number_atoms_protein", "pdbx_number_atoms_nucleic_acid", "pdbx_number_atoms_ligand", "number_atoms_solvent"); r["number_atoms_total"] = p + n + h + s; } catch (...) {} } } }; const TemplateLine kREFMAC_Template[] = { /* 0 */ { "DATA USED IN REFINEMENT.", 1 }, /* 1 */ { R"(RESOLUTION RANGE HIGH \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_high" } }, /* 3 */ { R"(RESOLUTION RANGE LOW \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_low" } }, /* 4 */ { R"(DATA CUTOFF \(SIGMA\(F\)\)\s*:\s*(.+))", 1, "refine", { "pdbx_ls_sigma_F" } }, /* 5 */ { R"(COMPLETENESS FOR RANGE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_obs" } }, /* 6 */ { R"(NUMBER OF REFLECTIONS\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_obs" } }, /* 7 */ { R"(FIT TO DATA USED IN REFINEMENT.)", 1 }, /* 8 */ { R"(CROSS-VALIDATION METHOD\s*:\s*(.+))", 1, "refine", { "pdbx_ls_cross_valid_method" } }, /* 9 */ { R"(FREE R VALUE TEST SET SELECTION\s*:\s*(.+))", 1, "refine", { "pdbx_R_Free_selection_details" } }, /* 10 */ { R"(R VALUE \(WORKING \+ TEST SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_obs" } }, /* 11 */ { R"(R VALUE \(WORKING SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_work" } }, /* 12 */ { R"(FREE R VALUE\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_free" } }, /* 13 */ { R"(FREE R VALUE TEST SET SIZE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_R_free" } }, /* 14 */ { R"(FREE R VALUE TEST SET COUNT\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_R_free" } }, /* 15 */ { R"(NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT.)", 1 }, /* 16 */ { R"(PROTEIN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_protein" } }, /* 17 */ { R"(NUCLEIC ACID ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_nucleic_acid" } }, /* 18 */ { R"(HETEROGEN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_ligand" } }, /* 19 */ { R"(SOLVENT ATOMS\s*:\s*(.+))", 1, "refine_hist", { "number_atoms_solvent" } }, /* 20 */ { R"(ALL ATOMS\s*:\s*(.+))", 1, /* "refine_hist", "pdbx_number_atoms_protein" */ }, /* 21 */ { R"(B VALUES\..*)", 1 }, /* 22 */ { R"(B VALUE TYPE\s*:\s*(.+))", 1, "refine", { "pdbx_TLS_residual_ADP_flag" } }, /* 23 */ { R"(FROM WILSON PLOT \(A\*\*2\)\s*:\s*(.+))", 1, "reflns", { "B_iso_Wilson_estimate" } }, /* 24 */ { R"(MEAN B VALUE \(OVERALL, A\*\*2\)\s*:\s*(.+))", 1, "refine", { "B_iso_mean" } }, /* 25 */ { R"(OVERALL ANISOTROPIC B VALUE.)", 1 }, /* 26 */ { R"(B11 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][1]" } }, /* 27 */ { R"(B22 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[2][2]" } }, /* 28 */ { R"(B33 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[3][3]" } }, /* 29 */ { R"(B12 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][2]" } }, /* 30 */ { R"(B13 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][3]" } }, /* 31 */ { R"(B23 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[2][3]" } }, /* 32 */ { R"(ESTIMATED OVERALL COORDINATE ERROR.)", 1 }, /* 33 */ { R"(ESU BASED ON R VALUE(?:\s*\(A\))?\s*:\s*(.+))", 1, "refine", { "pdbx_overall_ESU_R" } }, /* 34 */ { R"(ESU BASED ON FREE R VALUE(?:\s*\(A\))?\s*:\s*(.+))", 1, "refine", { "pdbx_overall_ESU_R_Free" } }, /* 35 */ { R"(ESU BASED ON MAXIMUM LIKELIHOOD(?:\s*\(A\))?\s*:\s*(.+))", 1, "refine", { "overall_SU_ML" } }, /* 36 */ { R"(ESU FOR B VALUES BASED ON MAXIMUM LIKELIHOOD \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "overall_SU_B" } }, /* 37 */ { R"(RMS DEVIATIONS FROM IDEAL VALUES.)", 1 }, /* 38 */ { R"(DISTANCE RESTRAINTS. RMS SIGMA)", 1 }, /* 39 */ { R"(BOND LENGTH \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_bond_d", false }, /* 40 */ { R"(ANGLE DISTANCE \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_angle_d", false }, /* 41 */ { R"(INTRAPLANAR 1-4 DISTANCE \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_planar_d", false }, /* 42 */ { R"(H-BOND OR METAL COORDINATION \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_hb_or_metal_coord", false }, /* 43 */ { R"(PLANE RESTRAINT \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_plane_restr", false }, /* 44 */ { R"(CHIRAL-CENTER RESTRAINT \(A\*\*3\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_chiral_restr", false }, /* 45 */ { R"(NON-BONDED CONTACT RESTRAINTS.)", 1 }, /* 46 */ { R"(SINGLE TORSION \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_singtor_nbd", false }, /* 47 */ { R"(MULTIPLE TORSION \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_multtor_nbd", false }, /* 48 */ { R"(H-BOND \(X\.\..Y\) \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_xyhbond_nbd", false }, /* 49 */ { R"(H-BOND \(X-H\.\.\.Y\) \(A\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_xhyhbond_nbd", false }, /* 50 */ { R"(CONFORMATIONAL TORSION ANGLE RESTRAINTS.)", 1 }, /* 51 */ { R"(SPECIFIED \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_special_tor", false }, /* 52 */ { R"(PLANAR \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_planar_tor", false }, /* 53 */ { R"(STAGGERED \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_staggered_tor", false }, /* 54 */ { R"(TRANSVERSE \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_transverse_tor", false }, /* 55 */ { R"(ISOTROPIC THERMAL FACTOR RESTRAINTS. RMS SIGMA)", 1 }, /* 56 */ { R"(MAIN-CHAIN BOND \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_mcbond_it", false }, /* 57 */ { R"(MAIN-CHAIN ANGLE \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_mcangle_it", false }, /* 58 */ { R"(SIDE-CHAIN BOND \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_scbond_it", false }, /* 59 */ { R"(SIDE-CHAIN ANGLE \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "p_scangle_it", false }, }; class REFMAC_Remark3Parser : public Remark3Parser { public: REFMAC_Remark3Parser(const std::string& name, const std::string& expMethod, PDBRecord* r, cif::Datablock& db) : Remark3Parser(name, expMethod, r, db, kREFMAC_Template, sizeof(kREFMAC_Template) / sizeof(TemplateLine), std::regex(".+")) {} virtual std::string program() { return "REFMAC"; } virtual std::string version() { return ""; } }; const TemplateLine kREFMAC5_Template[] = { /* 0 */ { R"(REFINEMENT TARGET\s*:\s*(.+))", 1, "refine", { "pdbx_stereochemistry_target_values" } }, /* 1 */ { R"(DATA USED IN REFINEMENT\.)", 1 }, /* 2 */ { R"(RESOLUTION RANGE HIGH \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_high" } }, /* 3 */ { R"(RESOLUTION RANGE LOW \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_low" } }, /* 4 */ { R"(DATA CUTOFF \(SIGMA\(F\)\)\s*:\s*(.+))", 1, "refine", { "pdbx_ls_sigma_F" } }, /* 5 */ { R"(COMPLETENESS FOR RANGE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_obs" } }, /* 6 */ { R"(NUMBER OF REFLECTIONS\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_obs" } }, /* 7 */ { R"(FIT TO DATA USED IN REFINEMENT.)", 1 }, /* 8 */ { R"(CROSS-VALIDATION METHOD\s*:\s*(.+))", 1, "refine", { "pdbx_ls_cross_valid_method" } }, /* 9 */ { R"(FREE R VALUE TEST SET SELECTION\s*:\s*(.+))", 1, "refine", { "pdbx_R_Free_selection_details" } }, /* 10 */ { R"(R VALUE \(WORKING \+ TEST SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_obs" } }, /* 11 */ { R"(R VALUE \(WORKING SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_work" } }, /* 12 */ { R"(FREE R VALUE\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_free" } }, /* 13 */ { R"(FREE R VALUE TEST SET SIZE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_R_free" } }, /* 14 */ { R"(FREE R VALUE TEST SET COUNT\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_R_free" } }, /* 15 */ { R"(FIT IN THE HIGHEST RESOLUTION BIN.)", 1 }, /* 16 */ { R"(TOTAL NUMBER OF BINS USED\s*:\s*(.+))", 1, "refine_ls_shell", { "pdbx_total_number_of_bins_used" } }, /* 17 */ { R"(BIN RESOLUTION RANGE HIGH(?:\s*\(A\))?\s*:\s*(.+))", 1, "refine_ls_shell", { "d_res_high" } }, /* 18 */ { R"(BIN RESOLUTION RANGE LOW(?:\s*\(A\))?\s*:\s*(.+))", 1, "refine_ls_shell", { "d_res_low" } }, /* 19 */ { R"(REFLECTION IN BIN \(WORKING SET\)\s*:\s*(.+))", 1, "refine_ls_shell", { "number_reflns_R_work" } }, /* 20 */ { R"(BIN COMPLETENESS \(WORKING\+TEST\) \(%\)\s*:\s*(.+))", 1, "refine_ls_shell", { "percent_reflns_obs" } }, /* 21 */ { R"(BIN R VALUE \(WORKING SET\)\s*:\s*(.+))", 1, "refine_ls_shell", { "R_factor_R_work" } }, /* 22 */ { R"(BIN FREE R VALUE SET COUNT\s*:\s*(.+))", 1, "refine_ls_shell", { "number_reflns_R_free" } }, /* 23 */ { R"(BIN FREE R VALUE\s*:\s*(.+))", 1, "refine_ls_shell", { "R_factor_R_free" } }, /* 24 */ { R"(NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT.)", 1 }, /* 25 */ { R"(PROTEIN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_protein" } }, /* 26 */ { R"(NUCLEIC ACID ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_nucleic_acid" } }, /* 27 */ { R"(HETEROGEN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_ligand" } }, /* 28 */ { R"(SOLVENT ATOMS\s*:\s*(.+))", 1, "refine_hist", { "number_atoms_solvent" } }, /* 29 */ { R"(ALL ATOMS\s*:\s*(.+))", 1, /* "refine_hist", { "pdbx_number_atoms_protein" } */ }, /* 30 */ { R"(B VALUES\..*)", 1 }, /* 31 */ { R"(B VALUE TYPE\s*:\s*(.+))", 1, "refine", { "pdbx_TLS_residual_ADP_flag" } }, /* 32 */ { R"(FROM WILSON PLOT \(A\*\*2\)\s*:\s*(.+))", 1, "reflns", { "B_iso_Wilson_estimate" } }, /* 33 */ { R"(MEAN B VALUE \(OVERALL, A\*\*2\)\s*:\s*(.+))", 1, "refine", { "B_iso_mean" } }, /* 34 */ { R"(OVERALL ANISOTROPIC B VALUE.)", 1 }, /* 35 */ { R"(B11 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][1]" } }, /* 36 */ { R"(B22 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[2][2]" } }, /* 37 */ { R"(B33 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[3][3]" } }, /* 38 */ { R"(B12 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][2]" } }, /* 39 */ { R"(B13 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[1][3]" } }, /* 40 */ { R"(B23 \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "aniso_B[2][3]" } }, /* 41 */ { R"(ESTIMATED OVERALL COORDINATE ERROR.)", 1 }, /* 42 */ { R"(ESU BASED ON R VALUE(?:\s*\(A\))?\s*:\s*(.+))", 1, "refine", { "pdbx_overall_ESU_R" } }, /* 43 */ { R"(ESU BASED ON FREE R VALUE(?:\s*\(A\))?\s*:\s*(.+))", 1, "refine", { "pdbx_overall_ESU_R_Free" } }, /* 44 */ { R"(ESU BASED ON MAXIMUM LIKELIHOOD(?:\s*\(A\))?\s*:\s*(.+))", 1, "refine", { "overall_SU_ML" } }, /* 45 */ { R"(ESU FOR B VALUES BASED ON MAXIMUM LIKELIHOOD \(A\*\*2\)\s*:\s*(.+))", 1, "refine", { "overall_SU_B" } }, /* 46 */ { R"(CORRELATION COEFFICIENTS.)", 1 }, /* 47 */ { R"(CORRELATION COEFFICIENT FO-FC\s*:\s*(.+))", 1, "refine", { "correlation_coeff_Fo_to_Fc" } }, /* 48 */ { R"(CORRELATION COEFFICIENT FO-FC FREE\s*:\s*(.+))", 1, "refine", { "correlation_coeff_Fo_to_Fc_free" } }, /* 49 */ { R"(RMS DEVIATIONS FROM IDEAL VALUES COUNT RMS WEIGHT)", 1 }, /* 50 */ { R"(BOND LENGTHS REFINED ATOMS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_bond_refined_d", false }, /* 51 */ { R"(BOND LENGTHS OTHERS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_bond_other_d", false }, /* 52 */ { R"(BOND ANGLES REFINED ATOMS \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_angle_refined_deg", false }, /* 53 */ { R"(BOND ANGLES OTHERS \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_angle_other_deg", false }, /* 54 */ { R"(TORSION ANGLES, PERIOD 1 \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_dihedral_angle_1_deg", false }, /* 55 */ { R"(TORSION ANGLES, PERIOD 2 \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_dihedral_angle_2_deg", false }, /* 56 */ { R"(TORSION ANGLES, PERIOD 3 \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_dihedral_angle_3_deg", false }, /* 57 */ { R"(TORSION ANGLES, PERIOD 4 \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_dihedral_angle_4_deg", false }, /* 58 */ { R"(CHIRAL-CENTER RESTRAINTS \(A\*\*3\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_chiral_restr", false }, /* 59 */ { R"(GENERAL PLANES REFINED ATOMS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_gen_planes_refined", false }, /* 60 */ { R"(GENERAL PLANES OTHERS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_gen_planes_other", false }, /* 61 */ { R"(NON-BONDED CONTACTS REFINED ATOMS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_nbd_refined", false }, /* 62 */ { R"(NON-BONDED CONTACTS OTHERS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_nbd_other", false }, /* 63 */ { R"(NON-BONDED TORSION REFINED ATOMS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_nbtor_refined", false }, /* 64 */ { R"(NON-BONDED TORSION OTHERS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_nbtor_other", false }, /* 65 */ { R"(H-BOND \(X...Y\) REFINED ATOMS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_xyhbond_nbd_refined", false }, /* 66 */ { R"(H-BOND \(X...Y\) OTHERS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_xyhbond_nbd_other", false }, /* 67 */ { R"(POTENTIAL METAL-ION REFINED ATOMS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_metal_ion_refined", false }, /* 68 */ { R"(POTENTIAL METAL-ION OTHERS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_metal_ion_other", false }, /* 69 */ { R"(SYMMETRY VDW REFINED ATOMS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_symmetry_vdw_refined", false }, /* 70 */ { R"(SYMMETRY VDW OTHERS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_symmetry_vdw_other", false }, /* 71 */ { R"(SYMMETRY H-BOND REFINED ATOMS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_symmetry_hbond_refined", false }, /* 72 */ { R"(SYMMETRY H-BOND OTHERS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_symmetry_hbond_other", false }, /* 73 */ { R"(SYMMETRY METAL-ION REFINED ATOMS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_symmetry_metal_ion_refined", false }, /* 74 */ { R"(SYMMETRY METAL-ION OTHERS(?:\s*\(A\))?\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_symmetry_metal_ion_other", false }, /* 75 */ { R"(ISOTROPIC THERMAL FACTOR RESTRAINTS. COUNT RMS WEIGHT)", 1 }, /* 76 */ { R"(MAIN-CHAIN BOND REFINED ATOMS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_mcbond_it", false }, /* 77 */ { R"(MAIN-CHAIN BOND OTHER ATOMS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_mcbond_other", false }, /* 78 */ { R"(MAIN-CHAIN ANGLE REFINED ATOMS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_mcangle_it", false }, /* 79 */ { R"(MAIN-CHAIN ANGLE OTHER ATOMS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_mcangle_other", false }, /* 80 */ { R"(SIDE-CHAIN BOND REFINED ATOMS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_scbond_it", false }, /* 81 */ { R"(SIDE-CHAIN BOND OTHER ATOMS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_scbond_other", false }, /* 82 */ { R"(SIDE-CHAIN ANGLE REFINED ATOMS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_scangle_it", false }, /* 83 */ { R"(SIDE-CHAIN ANGLE OTHER ATOMS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_scangle_other", false }, /* 84 */ { R"(LONG RANGE B REFINED ATOMS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_long_range_B_refined", false }, /* 85 */ { R"(LONG RANGE B OTHER ATOMS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_long_range_B_other", false }, /* 86 */ { R"(ANISOTROPIC THERMAL FACTOR RESTRAINTS. COUNT RMS WEIGHT)", 1 }, /* 87 */ { R"(RIGID-BOND RESTRAINTS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_rigid_bond_restr", false }, /* 88 */ { R"(SPHERICITY; FREE ATOMS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_sphericity_free", false }, /* 89 */ { R"(SPHERICITY; BONDED ATOMS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "number", "dev_ideal", "dev_ideal_target" }, "r_sphericity_bonded", false }, // Simply ignore NCS, you can ask Robbie why /* 90 */ { R"(NCS RESTRAINTS STATISTICS)", 1 }, /* 91 */ { R"(NUMBER OF DIFFERENT NCS GROUPS\s*:\s*(.+))", 1 }, /* 92 */ { R"(NCS GROUP NUMBER\s*:\s*(\d+))", 1, /*"struct_ncs_dom", { "pdbx_ens_id" }*/ }, /* 93 */ { R"(CHAIN NAMES\s*:\s*(.+))", 1, /*"struct_ncs_dom", { "details" }*/ }, /* 94 */ { R"(NUMBER OF COMPONENTS NCS GROUP\s*:\s*(\d+))", 1 }, /* 95 */ { R"(COMPONENT C SSSEQI TO C SSSEQI CODE)", 1 }, //// This sucks.... The following line is fixed format /* 97 */ { R"((\d+)\s+(.)\s+(\d+)(.)\s+(.)\s+(\d+)(.)\s+(.+))", 0 },//, "struct_ncs_dom_lim", { "pdbx_component_id", "beg_auth_asym_id", "beg_auth_seq_id", "beg_auth_icode", "end_auth_asym_id", "end_auth_seq_id", "end_auth_icode", "pdbx_refine_code" }, {}, 1 }, /* 98 */ { R"((\d+)\s+(.)\s+(\d+)\s+(.)\s+(\d+)\s+(.+))", 0 },//, "struct_ncs_dom_lim", { "pdbx_component_id", "beg_auth_asym_id", "beg_auth_seq_id", "end_auth_asym_id", "end_auth_seq_id", "pdbx_refine_code" }, {}, 1 }, /* 96 */ { R"(GROUP CHAIN COUNT RMS WEIGHT)", 1 }, /*, "refine_ls_restr_ncs", { "pdbx_type", "dom_id", "pdbx_auth_asym_id", "pdbx_number", "rms_dev_position", "weight_position", }*/ /* 99 */ { R"(TIGHT POSITIONAL\s+\d+\s+(.)\s+\(A\):\s+(\d+)\s*;\s*(\d+(?:\.\d*)?)\s*;\s*(\d+(?:\.\d*)?))", 0 },// , "refine_ls_restr_ncs", {"pdbx_auth_asym_id", "pdbx_number", "rms_dev_position", "weight_position"}, { "pdbx_type", "tight positional"}, 1 }, /* 100 */ { R"(MEDIUM POSITIONAL\s+\d+\s+(.)\s+\(A\):\s+(\d+)\s*;\s*(\d+(?:\.\d*)?)\s*;\s*(\d+(?:\.\d*)?))", 0 },// , "refine_ls_restr_ncs", {"pdbx_auth_asym_id", "pdbx_number", "rms_dev_position", "weight_position"}, { "pdbx_type", "medium positional"}, 1 }, /* 101 */ { R"(LOOSE POSITIONAL\s+\d+\s+(.)\s+\(A\):\s+(\d+)\s*;\s*(\d+(?:\.\d*)?)\s*;\s*(\d+(?:\.\d*)?))", 0 },// , "refine_ls_restr_ncs", {"pdbx_auth_asym_id", "pdbx_number", "rms_dev_position", "weight_position"}, { "pdbx_type", "loose positional"}, 1 }, /* 102 */ { R"(TIGHT THERMAL\s+\d+\s+(.)\s+\(A\*\*2\):\s+(\d+)\s*;\s*(\d+(?:\.\d*)?)\s*;\s*(\d+(?:\.\d*)?))", 0 },// , "refine_ls_restr_ncs", {"pdbx_auth_asym_id", "pdbx_number", "rms_dev_position", "weight_position"}, { "pdbx_type", "tight thermal", }, 1 }, /* 103 */ { R"(MEDIUM THERMAL\s+\d+\s+(.)\s+\(A\*\*2\):\s+(\d+)\s*;\s*(\d+(?:\.\d*)?)\s*;\s*(\d+(?:\.\d*)?))", 0 },// , "refine_ls_restr_ncs", {"pdbx_auth_asym_id", "pdbx_number", "rms_dev_position", "weight_position"}, { "pdbx_type", "medium thermal", }, 1 }, /* 104 */ { R"(LOOSE THERMAL\s+\d+\s+(.)\s+\(A\*\*2\):\s+(\d+)\s*;\s*(\d+(?:\.\d*)?)\s*;\s*(\d+(?:\.\d*)?))", 0 },// , "refine_ls_restr_ncs", {"pdbx_auth_asym_id", "pdbx_number", "rms_dev_position", "weight_position"}, { "pdbx_type", "loose thermal", }, 10 }, /* 105 */ { R"(NCS GROUP NUMBER\s*:\s*(\d+))", 93 - 105, /*"struct_ncs_dom", { "pdbx_ens_id" }*/ }, /* 106 */ { R"(TWIN DETAILS)", 1 }, /* 107 */ { R"(NUMBER OF TWIN DOMAINS\s*:\s*(\d*))", 1 }, /* 108 */ { R"(TWIN DOMAIN\s*:\s*(.+))", 1, "pdbx_reflns_twin", { "domain_id" }, nullptr, true }, /* 109 */ { R"(TWIN OPERATOR\s*:\s*(.+))", 1, "pdbx_reflns_twin", { "operator" } }, /* 110 */ { R"(TWIN FRACTION\s*:\s*(.+))", 108 - 110, "pdbx_reflns_twin", { "fraction" } }, /* 111 */ { R"(TLS DETAILS)", 1 }, /* 112 */ { R"(NUMBER OF TLS GROUPS\s*:\s*(.+))", 1 }, /* 113 */ { R"(TLS GROUP\s*:\s*(.+))", 1, "pdbx_refine_tls", { "id" }, nullptr, true }, /* 114 */ { R"(NUMBER OF COMPONENTS GROUP\s*:\s*(.+))", 1 }, /* 115 */ { R"(COMPONENTS C SSSEQI TO C SSSEQI)", 1 }, /* 116 */ { R"(RESIDUE RANGE\s*:\s+(\S+)\s+(\d*\S)\s+(\S+)\s+(\d*\S))", 0, "pdbx_refine_tls_group", { "beg_auth_asym_id", "beg_auth_seq_id", "end_auth_asym_id", "end_auth_seq_id" }, nullptr, true }, /* 117 */ { R"(ORIGIN FOR THE GROUP(?:\s*\(A\))?\s*:\s*(\S+)\s+(\S+)\s+(\S+))", 1, "pdbx_refine_tls", { "origin_x", "origin_y", "origin_z" } }, /* 118 */ { R"(T TENSOR)", 1 }, /* 119 */ { R"(T11\s*:\s*(.+) T22\s*:\s*(.+))", 1, "pdbx_refine_tls", { "T[1][1]", "T[2][2]" } }, /* 120 */ { R"(T33\s*:\s*(.+) T12\s*:\s*(.+))", 1, "pdbx_refine_tls", { "T[3][3]", "T[1][2]" } }, /* 121 */ { R"(T13\s*:\s*(.+) T23\s*:\s*(.+))", 1, "pdbx_refine_tls", { "T[1][3]", "T[2][3]" } }, /* 122 */ { R"(L TENSOR)", 1 }, /* 123 */ { R"(L11\s*:\s*(.+) L22\s*:\s*(.+))", 1, "pdbx_refine_tls", { "L[1][1]", "L[2][2]" } }, /* 124 */ { R"(L33\s*:\s*(.+) L12\s*:\s*(.+))", 1, "pdbx_refine_tls", { "L[3][3]", "L[1][2]" } }, /* 125 */ { R"(L13\s*:\s*(.+) L23\s*:\s*(.+))", 1, "pdbx_refine_tls", { "L[1][3]", "L[2][3]" } }, /* 126 */ { R"(S TENSOR)", 1 }, /* 127 */ { R"(S11\s*:\s*(.+) S12\s*:\s*(.+) S13\s*:\s*(.+))", 1, "pdbx_refine_tls", { "S[1][1]", "S[1][2]", "S[1][3]" } }, /* 128 */ { R"(S21\s*:\s*(.+) S22\s*:\s*(.+) S23\s*:\s*(.+))", 1, "pdbx_refine_tls", { "S[2][1]", "S[2][2]", "S[2][3]" } }, /* 129 */ { R"(S31\s*:\s*(.+) S32\s*:\s*(.+) S33\s*:\s*(.+))", 113 - 129, "pdbx_refine_tls", { "S[3][1]", "S[3][2]", "S[3][3]" } }, /* 130 */ { R"(BULK SOLVENT MODELLING.)", 1 }, /* 131 */ { R"(METHOD USED\s*:\s*(.+))", 1, "refine", { "solvent_model_details" } }, /* 132 */ { R"(PARAMETERS FOR MASK CALCULATION)", 1 }, /* 133 */ { R"(VDW PROBE RADIUS\s*:\s*(.+))", 1, "refine", { "pdbx_solvent_vdw_probe_radii" } }, /* 134 */ { R"(ION PROBE RADIUS\s*:\s*(.+))", 1, "refine", { "pdbx_solvent_ion_probe_radii" } }, /* 135 */ { R"(SHRINKAGE RADIUS\s*:\s*(.+))", 1, "refine", { "pdbx_solvent_shrinkage_radii" } }, }; class REFMAC5_Remark3Parser : public Remark3Parser { public: REFMAC5_Remark3Parser(const std::string& name, const std::string& expMethod, PDBRecord* r, cif::Datablock& db) : Remark3Parser(name, expMethod, r, db, kREFMAC5_Template, sizeof(kREFMAC5_Template) / sizeof(TemplateLine), std::regex(R"((REFMAC)(?: (\d+(?:\..+)?))?)")) {} }; const TemplateLine kSHELXL_Template[] = { /* 0 */ { R"(DATA USED IN REFINEMENT\.)", 1 }, /* 1 */ { R"(RESOLUTION RANGE HIGH \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_high" } }, /* 2 */ { R"(RESOLUTION RANGE LOW \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_low" } }, /* 3 */ { R"(DATA CUTOFF \(SIGMA\(F\)\)\s*:\s*(.+))", 1, "refine", { "pdbx_ls_sigma_F" } }, /* 4 */ { R"(COMPLETENESS FOR RANGE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_obs" } }, /* 5 */ { R"(CROSS-VALIDATION METHOD\s*:\s*(.+))", 1, "refine", { "pdbx_ls_cross_valid_method" } }, /* 6 */ { R"(FREE R VALUE TEST SET SELECTION\s*:\s*(.+))", 1, "refine", { "pdbx_R_Free_selection_details" } }, /* 7 */ { R"(FIT TO DATA USED IN REFINEMENT \(NO CUTOFF\)\.)", 1 }, /* 8 */ { R"(R VALUE \(WORKING \+ TEST SET, NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "R_factor_all_no_cutoff" } }, /* 9 */ { R"(R VALUE \(WORKING SET, NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "R_factor_obs_no_cutoff" } }, /* 10 */ { R"(FREE R VALUE \(NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_factor_no_cutoff" } }, /* 11 */ { R"(FREE R VALUE TEST SET SIZE \(%, NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_val_test_set_size_perc_no_cutoff" } }, /* 12 */ { R"(FREE R VALUE TEST SET COUNT \(NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_val_test_set_ct_no_cutoff" } }, /* 13 */ { R"(TOTAL NUMBER OF REFLECTIONS \(NO CUTOFF\)\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_all" } }, /* 14 */ { R"(FIT/AGREEMENT OF MODEL FOR DATA WITH F>4SIG\(F\)\.)", 1 }, /* 15 */ { R"(R VALUE \(WORKING \+ TEST SET, F>4SIG\(F\)\)\s*:\s*(.+))", 1, "pdbx_refine", { "R_factor_all_4sig_cutoff" } }, /* 16 */ { R"(R VALUE \(WORKING SET, F>4SIG\(F\)\)\s*:\s*(.+))", 1, "pdbx_refine", { "R_factor_obs_4sig_cutoff" } }, /* 17 */ { R"(FREE R VALUE \(F>4SIG\(F\)\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_factor_4sig_cutoff" } }, /* 18 */ { R"(FREE R VALUE TEST SET SIZE \(%, F>4SIG\(F\)\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_val_test_set_size_perc_4sig_cutoff" } }, /* 19 */ { R"(FREE R VALUE TEST SET COUNT \(F>4SIG\(F\)\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_val_test_set_ct_4sig_cutoff" } }, /* 20 */ { R"(TOTAL NUMBER OF REFLECTIONS \(F>4SIG\(F\)\)\s*:\s*(.+))", 1, "pdbx_refine", { "number_reflns_obs_4sig_cutoff" } }, /* 21 */ { R"(NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT\.)", 1 }, /* 22 */ { R"(PROTEIN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_protein" } }, /* 23 */ { R"(NUCLEIC ACID ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_nucleic_acid" } }, /* 24 */ { R"(HETEROGEN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_ligand" } }, /* 25 */ { R"(SOLVENT ATOMS\s*:\s*(.+))", 1, "refine_hist", { "number_atoms_solvent" } }, /* 26 */ { R"(MODEL REFINEMENT\.)", 1 }, /* 27 */ { R"(OCCUPANCY SUM OF NON-HYDROGEN ATOMS\s*:\s*(.+))", 1, "refine_analyze", { "occupancy_sum_non_hydrogen" } }, /* 28 */ { R"(OCCUPANCY SUM OF HYDROGEN ATOMS\s*:\s*(.+))", 1, "refine_analyze", { "occupancy_sum_hydrogen" } }, /* 29 */ { R"(NUMBER OF DISCRETELY DISORDERED RESIDUES\s*:\s*(.+))", 1, "refine_analyze", { "number_disordered_residues" } }, /* 30 */ { R"(NUMBER OF LEAST-SQUARES PARAMETERS\s*:\s*(.+))", 1, "refine", { "ls_number_parameters" } }, /* 31 */ { R"(NUMBER OF RESTRAINTS\s*:\s*(.+))", 1, "refine", { "ls_number_restraints" } }, /* 32 */ { R"(RMS DEVIATIONS FROM RESTRAINT TARGET VALUES\.)", 1 }, /* 33 */ { R"(BOND LENGTHS \(A\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "s_bond_d", false }, /* 34 */ { R"(ANGLE DISTANCES \(A\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "s_angle_d", false }, /* 35 */ { R"(SIMILAR DISTANCES \(NO TARGET VALUES\) \(A\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "s_similar_dist", false }, /* 36 */ { R"(DISTANCES FROM RESTRAINT PLANES \(A\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "s_from_restr_planes", false }, /* 37 */ { R"(ZERO CHIRAL VOLUMES \(A\*\*3\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "s_zero_chiral_vol", false }, /* 38 */ { R"(NON-ZERO CHIRAL VOLUMES \(A\*\*3\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "s_non_zero_chiral_vol", false }, /* 39 */ { R"(ANTI-BUMPING DISTANCE RESTRAINTS \(A\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "s_anti_bump_dis_restr", false }, /* 40 */ { R"(RIGID-BOND ADP COMPONENTS \(A\*\*2\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "s_rigid_bond_adp_cmpnt", false }, /* 41 */ { R"(SIMILAR ADP COMPONENTS \(A\*\*2\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "s_similar_adp_cmpnt", false }, /* 42 */ { R"(APPROXIMATELY ISOTROPIC ADPS \(A\*\*2\)\s*:\s*(.+))", 1, "refine_ls_restr", { "dev_ideal" }, "s_approx_iso_adps", false }, /* 43 */ { R"(BULK SOLVENT MODELING\.)", 1 }, /* 44 */ { R"(METHOD USED\s*:\s*(.+))", 1, "refine", { "solvent_model_details" } }, /* 45 */ { R"(STEREOCHEMISTRY TARGET VALUES\s*:\s*(.+))", 1, "refine", { "pdbx_stereochemistry_target_values" } }, /* 46 */ { R"(SPECIAL CASE\s*:\s*(.+))", 1, "refine", { "pdbx_stereochem_target_val_spec_case" } }, }; class SHELXL_Remark3Parser : public Remark3Parser { public: SHELXL_Remark3Parser(const std::string& name, const std::string& expMethod, PDBRecord* r, cif::Datablock& db) : Remark3Parser(name, expMethod, r, db, kSHELXL_Template, sizeof(kSHELXL_Template) / sizeof(TemplateLine), std::regex(R"((SHELXL)(?:-(\d+(?:\..+)?)))")) {} }; const TemplateLine kTNT_Template[] = { /* 0 */ { R"(DATA USED IN REFINEMENT\.)", 1 }, /* 1 */ { R"(RESOLUTION RANGE HIGH \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_high" } }, /* 2 */ { R"(RESOLUTION RANGE LOW \(ANGSTROMS\)\s*:\s*(.+))", 1, "refine", { "ls_d_res_low" } }, /* 3 */ { R"(DATA CUTOFF \(SIGMA\(F\)\)\s*:\s*(.+))", 1, "refine", { "pdbx_ls_sigma_F" } }, /* 4 */ { R"(COMPLETENESS FOR RANGE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_obs" } }, /* 5 */ { R"(NUMBER OF REFLECTIONS\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_obs" } }, /* 6 */ { R"(USING DATA ABOVE SIGMA CUTOFF\.)", 1 }, /* 7 */ { R"(CROSS-VALIDATION METHOD\s*:\s*(.+))", 1, "refine", { "pdbx_ls_cross_valid_method" } }, /* 8 */ { R"(FREE R VALUE TEST SET SELECTION\s*:\s*(.+))", 1, "refine", { "pdbx_R_Free_selection_details" } }, /* 9 */ { R"(R VALUE \(WORKING \+ TEST SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_obs" } }, /* 10 */ { R"(R VALUE \(WORKING SET\)\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_work" } }, /* 11 */ { R"(FREE R VALUE\s*:\s*(.+))", 1, "refine", { "ls_R_factor_R_free" } }, /* 12 */ { R"(FREE R VALUE TEST SET SIZE \(%\)\s*:\s*(.+))", 1, "refine", { "ls_percent_reflns_R_free" } }, /* 13 */ { R"(FREE R VALUE TEST SET COUNT\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_R_free" } }, /* 14 */ { R"(USING ALL DATA, NO SIGMA CUTOFF\.)", 1 }, /* 15 */ { R"(R VALUE \(WORKING \+ TEST SET, NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "R_factor_all_no_cutoff" } }, /* 16 */ { R"(R VALUE \(WORKING SET, NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "R_factor_obs_no_cutoff" } }, /* 17 */ { R"(FREE R VALUE \(NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_factor_no_cutoff" } }, /* 18 */ { R"(FREE R VALUE TEST SET SIZE \(%, NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_val_test_set_size_perc_no_cutoff" } }, /* 19 */ { R"(FREE R VALUE TEST SET COUNT \(NO CUTOFF\)\s*:\s*(.+))", 1, "pdbx_refine", { "free_R_val_test_set_ct_no_cutoff" } }, /* 20 */ { R"(TOTAL NUMBER OF REFLECTIONS \(NO CUTOFF\)\s*:\s*(.+))", 1, "refine", { "ls_number_reflns_all" } }, /* 21 */ { R"(NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT\.)", 1 }, /* 22 */ { R"(PROTEIN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_protein" } }, /* 23 */ { R"(NUCLEIC ACID ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_nucleic_acid" } }, /* 24 */ { R"(HETEROGEN ATOMS\s*:\s*(.+))", 1, "refine_hist", { "pdbx_number_atoms_ligand" } }, /* 25 */ { R"(SOLVENT ATOMS\s*:\s*(.+))", 1, "refine_hist", { "number_atoms_solvent" } }, /* 26 */ { R"(WILSON B VALUE \(FROM FCALC, A\*\*2\)\s*:\s*(.+))", 1, "reflns", { "B_iso_Wilson_estimate" } }, /* 27 */ { R"(RMS DEVIATIONS FROM IDEAL VALUES\. RMS WEIGHT COUNT)", 1 }, /* 28 */ { R"(BOND LENGTHS \(A\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_bond_d", false }, /* 29 */ { R"(BOND ANGLES \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_angle_deg", false }, /* 30 */ { R"(TORSION ANGLES \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_dihedral_angle_d", false }, /* 31 */ { R"(PSEUDOROTATION ANGLES \(DEGREES\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_pseud_angle", false }, /* 32 */ { R"(TRIGONAL CARBON PLANES \(A\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_trig_c_planes", false }, /* 33 */ { R"(GENERAL PLANES \(A\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_gen_planes", false }, /* 34 */ { R"(ISOTROPIC THERMAL FACTORS \(A\*\*2\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_it", false }, /* 35 */ { R"(NON-BONDED CONTACTS \(A\)\s*:\s*(.+)\s*;\s*(.+)\s*;\s*(.+))", 1, "refine_ls_restr", { "dev_ideal", "weight", "number" }, "t_nbd", false }, /* 36 */ { R"(INCORRECT CHIRAL-CENTERS \(COUNT\)\s*:\s*(.+)\s*)", 1, "refine_ls_restr", { "number" }, "t_incorr_chiral_ct", false }, /* 37 */ { R"(BULK SOLVENT MODELING\.)", 1 }, /* 38 */ { R"(METHOD USED\s*:\s*(.+))", 1, "refine", { "solvent_model_details" } }, /* 39 */ { R"(KSOL\s*:\s*(.+))", 1, "refine", { "solvent_model_param_ksol" } }, /* 40 */ { R"(BSOL\s*:\s*(.+))", 1, "refine", { "solvent_model_param_bsol" } }, /* 41 */ { R"(RESTRAINT LIBRARIES\.)", 1 }, /* 42 */ { R"(STEREOCHEMISTRY\s*:\s*(.+))", 1, "refine", { "pdbx_stereochemistry_target_values" } }, /* 43 */ { R"(ISOTROPIC THERMAL FACTOR RESTRAINTS\s*:\s*(.+))", 1, "refine", { "pdbx_isotropic_thermal_model" } }, }; class TNT_Remark3Parser : public Remark3Parser { public: TNT_Remark3Parser(const std::string& name, const std::string& expMethod, PDBRecord* r, cif::Datablock& db) : Remark3Parser(name, expMethod, r, db, kTNT_Template, sizeof(kTNT_Template) / sizeof(TemplateLine), std::regex(R"((TNT)(?: V. (\d+.+)?)?)")) {} }; const TemplateLine kXPLOR_Template[] = { /* 0 */ { R"(DATA USED IN REFINEMENT\.)", 1 }, /* 1 */ { R"(RESOLUTION RANGE HIGH \(ANGSTROMS\) :\s+(.+))", 1, "refine", { "ls_d_res_high" } }, /* 2 */ { R"(RESOLUTION RANGE LOW \(ANGSTROMS\) :\s+(.+))", 1, "refine", { "ls_d_res_low" } }, /* 3 */ { R"(DATA CUTOFF \(SIGMA\(F\)\) :\s+(.+))", 1, "refine", { "pdbx_ls_sigma_F" } }, /* 4 */ { R"(DATA CUTOFF HIGH \(ABS\(F\)\) :\s+(.+))", 1, "refine", { "pdbx_data_cutoff_high_absF" } }, /* 5 */ { R"(DATA CUTOFF LOW \(ABS\(F\)\) :\s+(.+))", 1, "refine", { "pdbx_data_cutoff_low_absF" } }, /* 6 */ { R"(COMPLETENESS \(WORKING\+TEST\) \(%\) :\s+(.+))", 1, "refine", { "ls_percent_reflns_obs" } }, /* 7 */ { R"(NUMBER OF REFLECTIONS :\s+(.+))", 1, "refine", { "ls_number_reflns_obs" } }, /* 8 */ { R"(FIT TO DATA USED IN REFINEMENT\.)", 1 }, /* 9 */ { R"(CROSS-VALIDATION METHOD :\s+(.+))", 1, "refine", { "pdbx_ls_cross_valid_method" } }, /* 10 */ { R"(FREE R VALUE TEST SET SELECTION :\s+(.+))", 1, "refine", { "pdbx_R_Free_selection_details" } }, /* 11 */ { R"(R VALUE \(WORKING SET\) :\s+(.+))", 1, "refine", { "ls_R_factor_R_work" } }, /* 12 */ { R"(FREE R VALUE :\s+(.+))", 1, "refine", { "ls_R_factor_R_free" } }, /* 13 */ { R"(FREE R VALUE TEST SET SIZE \(%\) :\s+(.+))", 1, "refine", { "ls_percent_reflns_R_free" } }, /* 14 */ { R"(FREE R VALUE TEST SET COUNT :\s+(.+))", 1, "refine", { "ls_number_reflns_R_free" } }, /* 15 */ { R"(ESTIMATED ERROR OF FREE R VALUE :\s+(.+))", 1, "refine", { "ls_R_factor_R_free_error" } }, /* 16 */ { R"(FIT IN THE HIGHEST RESOLUTION BIN\.)", 1 }, /* 17 */ { R"(TOTAL NUMBER OF BINS USED :\s+(.+))", 1, "refine_ls_shell", { "pdbx_total_number_of_bins_used" } }, /* 18 */ { R"(BIN RESOLUTION RANGE HIGH \(A\) :\s+(.+))", 1, "refine_ls_shell", { "d_res_high" } }, /* 19 */ { R"(BIN RESOLUTION RANGE LOW \(A\) :\s+(.+))", 1, "refine_ls_shell", { "d_res_low" } }, /* 20 */ { R"(BIN COMPLETENESS \(WORKING\+TEST\) \(%\) :\s+(.+))", 1, "refine_ls_shell", { "percent_reflns_obs" } }, /* 21 */ { R"(REFLECTIONS IN BIN \(WORKING SET\) :\s+(.+))", 1, "refine_ls_shell", { "number_reflns_R_work" } }, /* 22 */ { R"(BIN R VALUE \(WORKING SET\) :\s+(.+))", 1, "refine_ls_shell", { "R_factor_R_work" } }, /* 23 */ { R"(BIN FREE R VALUE :\s+(.+))", 1, "refine_ls_shell", { "R_factor_R_free" } }, /* 24 */ { R"(BIN FREE R VALUE TEST SET SIZE \(%\) :\s+(.+))", 1, "refine_ls_shell", { "percent_reflns_R_free" } }, /* 25 */ { R"(BIN FREE R VALUE TEST SET COUNT :\s+(.+))", 1, "refine_ls_shell", { "number_reflns_R_free" } }, /* 26 */ { R"(ESTIMATED ERROR OF BIN FREE R VALUE :\s+(.+))", 1, "refine_ls_shell", { "R_factor_R_free_error" } }, /* 27 */ { R"(NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT\.)", 1 }, /* 28 */ { R"(PROTEIN ATOMS :\s+(.+))", 1, "refine_hist", { "pdbx_number_atoms_protein" } }, /* 29 */ { R"(NUCLEIC ACID ATOMS :\s+(.+))", 1, "refine_hist", { "pdbx_number_atoms_nucleic_acid" } }, /* 30 */ { R"(HETEROGEN ATOMS :\s+(.+))", 1, "refine_hist", { "pdbx_number_atoms_ligand" } }, /* 31 */ { R"(SOLVENT ATOMS :\s+(.+))", 1, "refine_hist", { "number_atoms_solvent" } }, /* 32 */ { R"(B VALUES\.)", 1 }, /* 33 */ { R"(B VALUE TYPE :\s+(.+))", 1, "refine", { "pdbx_TLS_residual_ADP_flag" } }, /* 34 */ { R"(FROM WILSON PLOT \(A\*\*2\) :\s+(.+))", 1, "reflns", { "B_iso_Wilson_estimate" } }, /* 35 */ { R"(MEAN B VALUE \(OVERALL, A\*\*2\) :\s+(.+))", 1, "refine", { "B_iso_mean" } }, /* 36 */ { R"(OVERALL ANISOTROPIC B VALUE\.)", 1 }, /* 37 */ { R"(B11 \(A\*\*2\) :\s+(.+))", 1, "refine", { "aniso_B[1][1]" } }, /* 38 */ { R"(B22 \(A\*\*2\) :\s+(.+))", 1, "refine", { "aniso_B[2][2]" } }, /* 39 */ { R"(B33 \(A\*\*2\) :\s+(.+))", 1, "refine", { "aniso_B[3][3]" } }, /* 40 */ { R"(B12 \(A\*\*2\) :\s+(.+))", 1, "refine", { "aniso_B[1][2]" } }, /* 41 */ { R"(B13 \(A\*\*2\) :\s+(.+))", 1, "refine", { "aniso_B[1][3]" } }, /* 42 */ { R"(B23 \(A\*\*2\) :\s+(.+))", 1, "refine", { "aniso_B[2][3]" } }, /* 43 */ { R"(ESTIMATED COORDINATE ERROR\.)", 1 }, /* 44 */ { R"(ESD FROM LUZZATI PLOT \(A\) :\s+(.+))", 1, "refine_analyze", { "Luzzati_coordinate_error_obs" } }, /* 45 */ { R"(ESD FROM SIGMAA \(A\) :\s+(.+))", 1, "refine_analyze", { "Luzzati_sigma_a_obs" } }, /* 46 */ { R"(LOW RESOLUTION CUTOFF \(A\) :\s+(.+))", 1, "refine_analyze", { "Luzzati_d_res_low_obs" } }, /* 47 */ { R"(CROSS-VALIDATED ESTIMATED COORDINATE ERROR\.)", 1 }, /* 48 */ { R"(ESD FROM C-V LUZZATI PLOT \(A\) :\s+(.+))", 1, "refine_analyze", { "Luzzati_coordinate_error_free" } }, /* 49 */ { R"(ESD FROM C-V SIGMAA \(A\) :\s+(.+))", 1, "refine_analyze", { "Luzzati_sigma_a_free" } }, /* 50 */ { R"(RMS DEVIATIONS FROM IDEAL VALUES\..*)", 1 }, /* 51 */ { R"(BOND LENGTHS \(A\) :\s+(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "x_bond_d", false }, /* 52 */ { R"(BOND ANGLES \(DEGREES\) :\s+(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "x_angle_deg", false }, /* 53 */ { R"(DIHEDRAL ANGLES \(DEGREES\) :\s+(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "x_dihedral_angle_d", false }, /* 54 */ { R"(IMPROPER ANGLES \(DEGREES\) :\s+(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "x_improper_angle_d", false }, /* 55 */ { R"(ISOTROPIC THERMAL MODEL :\s+(.+))", 1, "refine", { "pdbx_isotropic_thermal_model" } }, /* 56 */ { R"(ISOTROPIC THERMAL FACTOR RESTRAINTS\. RMS SIGMA)", 1 }, /* 57 */ { R"(MAIN-CHAIN BOND \(A\*\*2\) :\s+(.+?);\s+(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "x_mcbond_it", false }, /* 58 */ { R"(MAIN-CHAIN ANGLE \(A\*\*2\) :\s+(.+?);\s+(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "x_mcangle_it", false }, /* 59 */ { R"(SIDE-CHAIN BOND \(A\*\*2\) :\s+(.+?);\s+(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "x_scbond_it", false }, /* 60 */ { R"(SIDE-CHAIN ANGLE \(A\*\*2\) :\s+(.+?);\s+(.+))", 1, "refine_ls_restr", { "dev_ideal", "dev_ideal_target" }, "x_scangle_it", false }, /* 61 */ { R"(NCS MODEL :\s+(.+))", 1, /* "refine_ls_restr_ncs", { "ncs_model_details" } */ }, /* 62 */ { R"(NCS RESTRAINTS\. RMS SIGMA/WEIGHT)", 1 }, /* 63 */ { R"(GROUP (\d+) POSITIONAL \(A\) :\s+(.+?);\s+(.+))", 1, /* "refine_ls_restr_ncs", { ":dom_id", "rms_dev_position", "weight_position" } */ }, /* 64 */ { R"(GROUP (\d+) B-FACTOR \(A\*\*2\) :\s+(.+?);\s+(.+))", 63 - 64, /* "refine_ls_restr_ncs", { ":dom_id", "rms_dev_B_iso", "weight_B_iso" } */ }, /* 65 */ { R"(PARAMETER FILE (\d+) :\s+(.+))", 0, /* "pdbx_xplor_file", { "serial_no", "param_file" } */ }, /* 66 */ { R"(TOPOLOGY FILE (\d+) :\s+(.+))", 0, /* "pdbx_xplor_file", { "serial_no", "topol_file" } */ }, }; class XPLOR_Remark3Parser : public Remark3Parser { public: XPLOR_Remark3Parser(const std::string& name, const std::string& expMethod, PDBRecord* r, cif::Datablock& db) : Remark3Parser(name, expMethod, r, db, kXPLOR_Template, sizeof(kXPLOR_Template) / sizeof(TemplateLine), std::regex(R"((X-PLOR)(?: (\d+(?:\.\d+)?))?)")) {} }; // -------------------------------------------------------------------- Remark3Parser::Remark3Parser(const std::string& name, const std::string& expMethod, PDBRecord* r, cif::Datablock& db, const TemplateLine templatelines[], uint32_t templateLineCount, std::regex programversion) : mName(name), mExpMethod(expMethod), mRec(r), mDb(db.getName()) , mTemplate(templatelines), mTemplateCount(templateLineCount), mProgramVersion(programversion) { } std::string Remark3Parser::nextLine() { mLine.clear(); while (mRec != nullptr and mRec->is("REMARK 3")) { size_t valueIndent = 0; for (size_t i = 4; i < mRec->mVlen; ++i) { if (mRec->mValue[i] == ' ') continue; if (mRec->mValue[i] == ':') { valueIndent = i; while (valueIndent < mRec->mVlen and mRec->mValue[i] == ' ') ++valueIndent; break; } } mLine = mRec->vS(12); mRec = mRec->mNext; if (mLine.empty()) continue; // concatenate value that is wrapped over multiple lines (tricky code...) if (valueIndent > 4) { std::string indent(valueIndent - 4, ' '); while (mRec->is("REMARK 3") and mRec->mVlen > valueIndent) { std::string v(mRec->mValue + 4, mRec->mValue + mRec->mVlen); if (not ba::starts_with(v, indent)) break; mLine += ' '; mLine.append(mRec->mValue + valueIndent, mRec->mValue + mRec->mVlen); mRec = mRec->mNext; } } // collapse multiple spaces bool space = false; auto i = mLine.begin(), j = i; while (i != mLine.end()) { bool nspace = isspace(*i); if (nspace == false) { if (space) *j++ = ' '; *j++ = *i; } space = nspace; ++i; } mLine.erase(j, mLine.end()); break; } if (cif::VERBOSE >= 2) std::cerr << "RM3: " << mLine << std::endl; return mLine; } bool Remark3Parser::match(const char* expr, int nextState) { std::regex rx(expr); bool result = regex_match(mLine, mM, rx); if (result) mState = nextState; else if (cif::VERBOSE >= 3) std::cerr << cif::coloured("No match:", cif::scWHITE, cif::scRED) << " '" << expr << '\'' << std::endl; return result; } float Remark3Parser::parse() { int lineCount = 0, dropped = 0; std::string remarks; mState = 0; while (mRec != nullptr) { nextLine(); if (mLine.empty()) break; ++lineCount; // Skip over AUTHORS lines if (mState == 0 and match(R"(AUTHORS\s*:.+)", 0)) continue; auto state = mState; for (state = mState; state < mTemplateCount; ++state) { const TemplateLine& tmpl = mTemplate[state]; if (match(tmpl.rx, state + tmpl.nextStateOffset)) { if (not (tmpl.category == nullptr or tmpl.items.size() == 0)) { if (tmpl.lsRestrType == nullptr) storeCapture(tmpl.category, tmpl.items, tmpl.createNew); else if (tmpl.createNew) storeRefineLsRestr(tmpl.lsRestrType, tmpl.items); else updateRefineLsRestr(tmpl.lsRestrType, tmpl.items); } break; } } if (state < mTemplateCount) continue; if (state == mTemplateCount and match(R"(OTHER REFINEMENT REMARKS\s*:\s*(.*))", mTemplateCount + 1)) { remarks = mM[1].str(); continue; } if (state == mTemplateCount + 1) { remarks = remarks + '\n' + mLine; continue; } if (cif::VERBOSE >= 2) std::cerr << cif::coloured("Dropping line:", cif::scWHITE, cif::scRED) << " '" << mLine << '\'' << std::endl; ++dropped; } if (not remarks.empty() and not iequals(remarks, "NULL")) { if (not mDb["refine"].empty()) mDb["refine"].front()["details"] = remarks; } float score = float(lineCount - dropped) / lineCount; return score; } std::string Remark3Parser::program() { std::string result = mName; std::smatch m; if (regex_match(mName, m, mProgramVersion)) result = m[1].str(); return result; } std::string Remark3Parser::version() { std::string result; std::smatch m; if (regex_match(mName, m, mProgramVersion)) result = m[2].str(); return result; } void Remark3Parser::storeCapture(const char* category, std::initializer_list items, bool createNew) { int capture = 0; for (auto item: items) { ++capture; std::string value = mM[capture].str(); ba::trim(value); if (iequals(value, "NULL") or iequals(value, "NONE") or iequals(value, "Inf") or iequals(value, "+Inf") or iequals(value, std::string(value.length(), '*'))) continue; if (cif::VERBOSE >= 3) std::cerr << "storing: '" << value << "' in _" << category << '.' << item << std::endl; auto& cat = mDb[category]; if (cat.empty() or createNew) { if (iequals(category, "refine")) cat.emplace({ { "pdbx_refine_id", mExpMethod }, { "entry_id", mDb.getName() }, //#warning("this diffrn-id is probably not correct?") { "pdbx_diffrn_id", 1 } }); else if (iequals(category, "refine_analyze") or iequals(category, "pdbx_refine")) cat.emplace({ { "pdbx_refine_id", mExpMethod }, { "entry_id", mDb.getName() }, // { "pdbx_diffrn_id", 1 } }); else if (iequals(category, "refine_hist")) { std::string dResHigh, dResLow; for (auto r: mDb["refine"]) { cif::tie(dResHigh, dResLow) = r.get("ls_d_res_high", "ls_d_res_low"); break; } cat.emplace({ { "pdbx_refine_id", mExpMethod }, { "cycle_id", "LAST" }, { "d_res_high", dResHigh.empty() ? "." : dResHigh }, { "d_res_low", dResLow.empty() ? "." : dResLow } }); } else if (iequals(category, "refine_ls_shell")) { cat.emplace({ { "pdbx_refine_id", mExpMethod }, }); } else if (iequals(category, "pdbx_refine_tls_group")) { std::string tlsGroupID; if (not mDb["pdbx_refine_tls"].empty()) tlsGroupID = mDb["pdbx_refine_tls"].back()["id"].as(); cat.emplace({ { "pdbx_refine_id", mExpMethod }, { "id", tlsGroupID }, { "refine_tls_id", tlsGroupID } }); } else if (iequals(category, "pdbx_refine_tls")) { cat.emplace({ { "pdbx_refine_id", mExpMethod }, { "method", "refined" } }); } // else if (iequals(category, "struct_ncs_dom")) // { // size_t id = cat.size() + 1; // // cat.emplace({ // { "id", id } // }); // } else if (iequals(category, "pdbx_reflns_twin")) { cat.emplace({ // #warning("crystal id, diffrn id, what should be put here?") { "crystal_id", 1 }, { "diffrn_id", 1 } }); } else if (iequals(category, "reflns")) cat.emplace({ { "pdbx_ordinal", cat.size() + 1 }, { "entry_id", mDb.getName() }, { "pdbx_diffrn_id", 1 } }); else cat.emplace({}); createNew = false; } cat.back()[item] = value; } } void Remark3Parser::storeRefineLsRestr(const char* type, std::initializer_list items) { Row r; int capture = 0; for (auto item: items) { ++capture; std::string value = mM[capture].str(); ba::trim(value); if (value.empty() or iequals(value, "NULL") or iequals(value, "Inf") or iequals(value, "+Inf") or iequals(value, std::string(value.length(), '*'))) continue; if (not r) { std::tie(r, std::ignore) = mDb["refine_ls_restr"].emplace({}); r["pdbx_refine_id"] = mExpMethod; r["type"] = type; } r[item] = value; } } void Remark3Parser::updateRefineLsRestr(const char* type, std::initializer_list items) { auto rows = mDb["refine_ls_restr"].find(cif::Key("type") == type and cif::Key("pdbx_refine_id") == mExpMethod); if (rows.empty()) storeRefineLsRestr(type, items); else { for (Row r: rows) { int capture = 0; for (auto item: items) { ++capture; std::string value = mM[capture].str(); ba::trim(value); if (iequals(value, "NULL") or iequals(value, std::string(value.length(), '*'))) value.clear(); r[item] = value; } break; } } } // -------------------------------------------------------------------- bool Remark3Parser::parse(const std::string& expMethod, PDBRecord* r, cif::Datablock& db) { // simple version, only for the first few lines auto getNextLine = [&]() { std::string result; while (result.empty() and r != nullptr and r->is("REMARK 3")) { result = r->vS(12); r = r->mNext; } return result; }; // All remark 3 records should start with the same data. std::string line = getNextLine(); if (line != "REFINEMENT.") { if (cif::VERBOSE) std::cerr << "Unexpected data in REMARK 3" << std::endl; return false; } line = getNextLine(); std::regex rxp(R"(^PROGRAM\s*:\s*(.+))"); std::smatch m; if (not std::regex_match(line, m, rxp)) { if (cif::VERBOSE) std::cerr << "Expected valid PROGRAM line in REMARK 3" << std::endl; return false; } line = m[1].str(); struct programScore { programScore(const std::string& program, Remark3Parser* parser, float score) : program(program), parser(parser), score(score) {} std::string program; std::unique_ptr parser; float score; bool operator<(const programScore& rhs) const { return score > rhs.score; } }; std::vector scores; auto tryParser = [&](Remark3Parser* p) { std::unique_ptr parser(p); float score; try { score = parser->parse(); } catch(const std::exception& e) { std::cerr << "Error parsing REMARK 3 with " << parser->program() << std::endl << e.what() << '\n'; score = 0; } if (cif::VERBOSE >= 2) std::cerr << "Score for " << parser->program() << ": " << score << std::endl; if (score > 0) { std::string program = parser->program(); std::string version = parser->version(); scores.emplace_back(program, parser.release(), score); } }; for (auto p = make_split_iterator(line, ba::first_finder(", ")); not p.eof(); ++p) { std::string program(p->begin(), p->end()); if (ba::starts_with(program, "BUSTER")) tryParser(new BUSTER_TNT_Remark3Parser(program, expMethod, r, db)); else if (ba::starts_with(program, "CNS") or ba::starts_with(program, "CNX")) tryParser(new CNS_Remark3Parser(program, expMethod, r, db)); else if (ba::starts_with(program, "PHENIX")) tryParser(new PHENIX_Remark3Parser(program, expMethod, r, db)); else if (ba::starts_with(program, "NUCLSQ")) tryParser(new NUCLSQ_Remark3Parser(program, expMethod, r, db)); else if (ba::starts_with(program, "PROLSQ")) tryParser(new PROLSQ_Remark3Parser(program, expMethod, r, db)); else if (ba::starts_with(program, "REFMAC")) { // simply try both and take the best tryParser(new REFMAC_Remark3Parser(program, expMethod, r, db)); tryParser(new REFMAC5_Remark3Parser(program, expMethod, r, db)); } else if (ba::starts_with(program, "SHELXL")) tryParser(new SHELXL_Remark3Parser(program, expMethod, r, db)); else if (ba::starts_with(program, "TNT")) tryParser(new TNT_Remark3Parser(program, expMethod, r, db)); else if (ba::starts_with(program, "X-PLOR")) tryParser(new XPLOR_Remark3Parser(program, expMethod, r, db)); else if (cif::VERBOSE) std::cerr << "Skipping unknown program (" << program << ") in REMARK 3" << std::endl; } sort(scores.begin(), scores.end()); bool guessProgram = scores.empty() or scores.front().score < 0.9f;; if (guessProgram) { std::cerr << "Unknown or untrusted program in REMARK 3, trying all parsers to see if there is a match" << std::endl; tryParser(new BUSTER_TNT_Remark3Parser("BUSTER-TNT", expMethod, r, db)); tryParser(new CNS_Remark3Parser("CNS", expMethod, r, db)); tryParser(new PHENIX_Remark3Parser("PHENIX", expMethod, r, db)); tryParser(new NUCLSQ_Remark3Parser("NUCLSQ", expMethod, r, db)); tryParser(new PROLSQ_Remark3Parser("PROLSQ", expMethod, r, db)); tryParser(new REFMAC_Remark3Parser("REFMAC", expMethod, r, db)); tryParser(new REFMAC5_Remark3Parser("REFMAC5", expMethod, r, db)); tryParser(new SHELXL_Remark3Parser("SHELXL", expMethod, r, db)); tryParser(new TNT_Remark3Parser("TNT", expMethod, r, db)); tryParser(new XPLOR_Remark3Parser("X-PLOR", expMethod, r, db)); } bool result = false; if (not scores.empty()) { result = true; sort(scores.begin(), scores.end()); auto& best = scores.front(); if (cif::VERBOSE) std::cerr << "Choosing " << best.parser->program() << " version '" << best.parser->version() << "' as refinement program. Score = " << best.score << std::endl; auto& software = db["software"]; std::string program = best.parser->program(); std::string version = best.parser->version(); software.emplace({ { "name", program }, { "classification", "refinement" }, { "version", version }, { "pdbx_ordinal", software.size() + 1 } }); best.parser->fixup(); for (auto& cat1: best.parser->mDb) { auto& cat2 = db[cat1.name()]; // copy only the values in the first row for the following categories if (cat1.name() == "reflns" or cat1.name() == "refine") { if (cat2.empty()) // duh... this will generate a validation error anyway... cat2.emplace({}); Row r1 = cat1.front(); Row r2 = cat2.front(); for (auto& i: r1) r2[i.name()] = i.value(); } else { for (auto rs: cat1) cat2.emplace(rs); } } } return result; } libcifpp-2.0.5/src/Point.cpp0000664000175000017500000002044214200173347015537 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include "cif++/Point.hpp" #include "cif++/Matrix.hpp" namespace mmcif { // -------------------------------------------------------------------- Quaternion Normalize(Quaternion q) { std::valarray t(4); t[0] = q.R_component_1(); t[1] = q.R_component_2(); t[2] = q.R_component_3(); t[3] = q.R_component_4(); t *= t; double length = std::sqrt(t.sum()); if (length > 0.001) q /= static_cast(length); else q = Quaternion(1, 0, 0, 0); return q; } // -------------------------------------------------------------------- std::tuple QuaternionToAngleAxis(Quaternion q) { if (q.R_component_1() > 1) q = Normalize(q); // angle: double angle = 2 * acos(q.R_component_1()); angle = angle * 180 / kPI; // axis: float s = std::sqrt(1 - q.R_component_1() * q.R_component_1()); if (s < 0.001) s = 1; Point axis(q.R_component_2() / s, q.R_component_3() / s, q.R_component_4() / s); return std::make_tuple(angle, axis); } Point CenterPoints(std::vector& Points) { Point t; for (Point& pt : Points) { t.mX += pt.mX; t.mY += pt.mY; t.mZ += pt.mZ; } t.mX /= Points.size(); t.mY /= Points.size(); t.mZ /= Points.size(); for (Point& pt : Points) { pt.mX -= t.mX; pt.mY -= t.mY; pt.mZ -= t.mZ; } return t; } Point Centroid(std::vector& Points) { Point result; for (Point& pt : Points) result += pt; result /= static_cast(Points.size()); return result; } double RMSd(const std::vector& a, const std::vector& b) { double sum = 0; for (uint32_t i = 0; i < a.size(); ++i) { std::valarray d(3); d[0] = b[i].mX - a[i].mX; d[1] = b[i].mY - a[i].mY; d[2] = b[i].mZ - a[i].mZ; d *= d; sum += d.sum(); } return std::sqrt(sum / a.size()); } // The next function returns the largest solution for a quartic equation // based on Ferrari's algorithm. // A depressed quartic is of the form: // // x^4 + ax^2 + bx + c = 0 // // (since I'm too lazy to find out a better way, I've implemented the // routine using complex values to avoid nan's as a result of taking // sqrt of a negative number) double LargestDepressedQuarticSolution(double a, double b, double c) { std::complex P = - (a * a) / 12 - c; std::complex Q = - (a * a * a) / 108 + (a * c) / 3 - (b * b) / 8; std::complex R = - Q / 2.0 + std::sqrt((Q * Q) / 4.0 + (P * P * P) / 27.0); std::complex U = std::pow(R, 1 / 3.0); std::complex y; if (U == 0.0) y = -5.0 * a / 6.0 + U - std::pow(Q, 1.0 / 3.0); else y = -5.0 * a / 6.0 + U - P / (3.0 * U); std::complex W = std::sqrt(a + 2.0 * y); // And to get the final result: // result = (±W + std::sqrt(-(3 * alpha + 2 * y ± 2 * beta / W))) / 2; // We want the largest result, so: std::valarray t(4); t[0] = (( W + std::sqrt(-(3.0 * a + 2.0 * y + 2.0 * b / W))) / 2.0).real(); t[1] = (( W + std::sqrt(-(3.0 * a + 2.0 * y - 2.0 * b / W))) / 2.0).real(); t[2] = ((-W + std::sqrt(-(3.0 * a + 2.0 * y + 2.0 * b / W))) / 2.0).real(); t[3] = ((-W + std::sqrt(-(3.0 * a + 2.0 * y - 2.0 * b / W))) / 2.0).real(); return t.max(); } Quaternion AlignPoints(const std::vector& pa, const std::vector& pb) { // First calculate M, a 3x3 Matrix containing the sums of products of the coordinates of A and B Matrix M(3, 3, 0); for (uint32_t i = 0; i < pa.size(); ++i) { const Point& a = pa[i]; const Point& b = pb[i]; M(0, 0) += a.mX * b.mX; M(0, 1) += a.mX * b.mY; M(0, 2) += a.mX * b.mZ; M(1, 0) += a.mY * b.mX; M(1, 1) += a.mY * b.mY; M(1, 2) += a.mY * b.mZ; M(2, 0) += a.mZ * b.mX; M(2, 1) += a.mZ * b.mY; M(2, 2) += a.mZ * b.mZ; } // Now calculate N, a symmetric 4x4 Matrix SymmetricMatrix N(4); N(0, 0) = M(0, 0) + M(1, 1) + M(2, 2); N(0, 1) = M(1, 2) - M(2, 1); N(0, 2) = M(2, 0) - M(0, 2); N(0, 3) = M(0, 1) - M(1, 0); N(1, 1) = M(0, 0) - M(1, 1) - M(2, 2); N(1, 2) = M(0, 1) + M(1, 0); N(1, 3) = M(0, 2) + M(2, 0); N(2, 2) = -M(0, 0) + M(1, 1) - M(2, 2); N(2, 3) = M(1, 2) + M(2, 1); N(3, 3) = -M(0, 0) - M(1, 1) + M(2, 2); // det(N - λI) = 0 // find the largest λ (λm) // // Aλ4 + Bλ3 + Cλ2 + Dλ + E = 0 // A = 1 // B = 0 // and so this is a so-called depressed quartic // solve it using Ferrari's algorithm double C = -2 * ( M(0, 0) * M(0, 0) + M(0, 1) * M(0, 1) + M(0, 2) * M(0, 2) + M(1, 0) * M(1, 0) + M(1, 1) * M(1, 1) + M(1, 2) * M(1, 2) + M(2, 0) * M(2, 0) + M(2, 1) * M(2, 1) + M(2, 2) * M(2, 2)); double D = 8 * (M(0, 0) * M(1, 2) * M(2, 1) + M(1, 1) * M(2, 0) * M(0, 2) + M(2, 2) * M(0, 1) * M(1, 0)) - 8 * (M(0, 0) * M(1, 1) * M(2, 2) + M(1, 2) * M(2, 0) * M(0, 1) + M(2, 1) * M(1, 0) * M(0, 2)); double E = (N(0,0) * N(1,1) - N(0,1) * N(0,1)) * (N(2,2) * N(3,3) - N(2,3) * N(2,3)) + (N(0,1) * N(0,2) - N(0,0) * N(2,1)) * (N(2,1) * N(3,3) - N(2,3) * N(1,3)) + (N(0,0) * N(1,3) - N(0,1) * N(0,3)) * (N(2,1) * N(2,3) - N(2,2) * N(1,3)) + (N(0,1) * N(2,1) - N(1,1) * N(0,2)) * (N(0,2) * N(3,3) - N(2,3) * N(0,3)) + (N(1,1) * N(0,3) - N(0,1) * N(1,3)) * (N(0,2) * N(2,3) - N(2,2) * N(0,3)) + (N(0,2) * N(1,3) - N(2,1) * N(0,3)) * (N(0,2) * N(1,3) - N(2,1) * N(0,3)); // solve quartic double lm = LargestDepressedQuarticSolution(C, D, E); // calculate t = (N - λI) Matrix li = IdentityMatrix(4) * lm; Matrix t = N - li; // calculate a Matrix of cofactors for t Matrix cf(4, 4); const uint32_t ixs[4][3] = { { 1, 2, 3 }, { 0, 2, 3 }, { 0, 1, 3 }, { 0, 1, 2 } }; uint32_t maxR = 0; for (uint32_t r = 0; r < 4; ++r) { const uint32_t* ir = ixs[r]; for (uint32_t c = 0; c < 4; ++c) { const uint32_t* ic = ixs[c]; cf(r, c) = t(ir[0], ic[0]) * t(ir[1], ic[1]) * t(ir[2], ic[2]) + t(ir[0], ic[1]) * t(ir[1], ic[2]) * t(ir[2], ic[0]) + t(ir[0], ic[2]) * t(ir[1], ic[0]) * t(ir[2], ic[1]) - t(ir[0], ic[2]) * t(ir[1], ic[1]) * t(ir[2], ic[0]) - t(ir[0], ic[1]) * t(ir[1], ic[0]) * t(ir[2], ic[2]) - t(ir[0], ic[0]) * t(ir[1], ic[2]) * t(ir[2], ic[1]); } if (r > maxR and cf(r, 0) > cf(maxR, 0)) maxR = r; } // NOTE the negation of the y here, why? Maybe I swapped r/c above? Quaternion q(cf(maxR, 0), cf(maxR, 1), -cf(maxR, 2), cf(maxR, 3)); q = Normalize(q); return q; } // -------------------------------------------------------------------- Point Nudge(Point p, float offset) { static std::random_device rd; static std::mt19937_64 rng(rd()); std::uniform_real_distribution<> randomAngle(0, 2 * kPI); std::normal_distribution<> randomOffset(0, offset); float theta = static_cast(randomAngle(rng)); float phi1 = static_cast(randomAngle(rng) - kPI); float phi2 = static_cast(randomAngle(rng) - kPI); Quaternion q = boost::math::spherical(1.0f, theta, phi1, phi2); Point r{ 0, 0, 1 }; r.rotate(q); r *= static_cast(randomOffset(rng)); return p + r; } } libcifpp-2.0.5/src/Secondary.cpp0000664000175000017500000011713214200173347016400 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ // Calculate DSSP-like secondary structure information #include #include #include #include #include "cif++/Structure.hpp" #include "cif++/Secondary.hpp" namespace ba = boost::algorithm; // -------------------------------------------------------------------- namespace mmcif { struct Res; enum ResidueType { kUnknownResidue, // kAlanine, // A ala kArginine, // R arg kAsparagine, // N asn kAsparticAcid, // D asp kCysteine, // C cys kGlutamicAcid, // E glu kGlutamine, // Q gln kGlycine, // G gly kHistidine, // H his kIsoleucine, // I ile kLeucine, // L leu kLysine, // K lys kMethionine, // M met kPhenylalanine, // F phe kProline, // P pro kSerine, // S ser kThreonine, // T thr kTryptophan, // W trp kTyrosine, // Y tyr kValine, // V val kResidueTypeCount }; struct ResidueInfo { ResidueType type; char code; char name[4]; }; const ResidueInfo kResidueInfo[] = { { kUnknownResidue, 'X', "UNK" }, { kAlanine, 'A', "ALA" }, { kArginine, 'R', "ARG" }, { kAsparagine, 'N', "ASN" }, { kAsparticAcid, 'D', "ASP" }, { kCysteine, 'C', "CYS" }, { kGlutamicAcid, 'E', "GLU" }, { kGlutamine, 'Q', "GLN" }, { kGlycine, 'G', "GLY" }, { kHistidine, 'H', "HIS" }, { kIsoleucine, 'I', "ILE" }, { kLeucine, 'L', "LEU" }, { kLysine, 'K', "LYS" }, { kMethionine, 'M', "MET" }, { kPhenylalanine, 'F', "PHE" }, { kProline, 'P', "PRO" }, { kSerine, 'S', "SER" }, { kThreonine, 'T', "THR" }, { kTryptophan, 'W', "TRP" }, { kTyrosine, 'Y', "TYR" }, { kValine, 'V', "VAL" } }; ResidueType MapResidue(std::string inName) { ba::trim(inName); ResidueType result = kUnknownResidue; for (auto& ri: kResidueInfo) { if (inName == ri.name) { result = ri.type; break; } } return result; } struct HBond { Res* residue; double energy; }; enum BridgeType { btNoBridge, btParallel, btAntiParallel }; struct Bridge { BridgeType type; uint32_t sheet, ladder; std::set link; std::deque i, j; std::string chainI, chainJ; bool operator<(const Bridge& b) const { return chainI < b.chainI or (chainI == b.chainI and i.front() < b.i.front()); } }; struct BridgeParner { Res* residue; uint32_t ladder; bool parallel; }; // -------------------------------------------------------------------- const float // kSSBridgeDistance = 3.0f, kMinimalDistance = 0.5f, kMinimalCADistance = 9.0f, kMinHBondEnergy = -9.9f, kMaxHBondEnergy = -0.5f, kCouplingConstant = -27.888f, // = -332 * 0.42 * 0.2 kMaxPeptideBondLength = 2.5f; const float kRadiusN = 1.65f, kRadiusCA = 1.87f, kRadiusC = 1.76f, kRadiusO = 1.4f, kRadiusSideAtom = 1.8f, kRadiusWater = 1.4f; struct Res { Res(const Monomer& m, int nr, ChainBreak brk) : mM(m), mNumber(nr) , mType(MapResidue(m.compoundID())) , mChainBreak(brk) { // update the box containing all atoms mBox[0].mX = mBox[0].mY = mBox[0].mZ = std::numeric_limits::max(); mBox[1].mX = mBox[1].mY = mBox[1].mZ = -std::numeric_limits::max(); mH = mmcif::Point{ std::numeric_limits::max(), std::numeric_limits::max(), std::numeric_limits::max() }; for (auto& a: mM.unique_atoms()) { if (a.labelAtomID() == "CA") { mCAlpha = a.location(); ExtendBox(mCAlpha, kRadiusCA + 2 * kRadiusWater); } else if (a.labelAtomID() == "C") { mC = a.location(); ExtendBox(mC, kRadiusC + 2 * kRadiusWater); } else if (a.labelAtomID() == "N") { mH = mN = a.location(); ExtendBox(mN, kRadiusN + 2 * kRadiusWater); } else if (a.labelAtomID() == "O") { mO = a.location(); ExtendBox(mO, kRadiusO + 2 * kRadiusWater); } else if (a.type() != AtomType::H) { mSideChain.push_back(a.location()); ExtendBox(a.location(), kRadiusSideAtom + 2 * kRadiusWater); } } mRadius = mBox[1].mX - mBox[0].mX; if (mRadius < mBox[1].mY - mBox[0].mY) mRadius = mBox[1].mY - mBox[0].mY; if (mRadius < mBox[1].mZ - mBox[0].mZ) mRadius = mBox[1].mZ - mBox[0].mZ; mCenter.mX = (mBox[0].mX + mBox[1].mX) / 2; mCenter.mY = (mBox[0].mY + mBox[1].mY) / 2; mCenter.mZ = (mBox[0].mZ + mBox[1].mZ) / 2; } void assignHydrogen() { // assign the Hydrogen mH = mN; if (mType != kProline and mPrev != nullptr) { auto pc = mPrev->mC; auto po = mPrev->mO; float CODistance = static_cast(Distance(pc, po)); mH.mX += (pc.mX - po.mX) / CODistance; mH.mY += (pc.mY - po.mY) / CODistance; mH.mZ += (pc.mZ - po.mZ) / CODistance; } } void SetSecondaryStructure(SecondaryStructureType inSS) { mSecondaryStructure = inSS; } SecondaryStructureType GetSecondaryStructure() const { return mSecondaryStructure; } void SetBetaPartner(uint32_t n, Res& inResidue, uint32_t inLadder, bool inParallel) { assert(n == 0 or n == 1); mBetaPartner[n].residue = &inResidue; mBetaPartner[n].ladder = inLadder; mBetaPartner[n].parallel = inParallel; } BridgeParner GetBetaPartner(uint32_t n) const { assert(n == 0 or n == 1); return mBetaPartner[n]; } void SetSheet(uint32_t inSheet) { mSheet = inSheet; } uint32_t GetSheet() const { return mSheet; } bool IsBend() const { return mBend; } void SetBend(bool inBend) { mBend = inBend; } Helix GetHelixFlag(HelixType helixType) const { size_t stride = static_cast(helixType); assert(stride < 4); return mHelixFlags[stride]; } bool IsHelixStart(HelixType helixType) const { size_t stride = static_cast(helixType); assert(stride < 4); return mHelixFlags[stride] == Helix::Start or mHelixFlags[stride] == Helix::StartAndEnd; } void SetHelixFlag(HelixType helixType, Helix inHelixFlag) { size_t stride = static_cast(helixType); assert(stride < 4); mHelixFlags[stride] = inHelixFlag; } void SetSSBridgeNr(uint8_t inBridgeNr) { if (mType != kCysteine) throw std::runtime_error("Only cysteine residues can form sulphur bridges"); mSSBridgeNr = inBridgeNr; } uint8_t GetSSBridgeNr() const { if (mType != kCysteine) throw std::runtime_error("Only cysteine residues can form sulphur bridges"); return mSSBridgeNr; } double CalculateSurface(const std::vector& inResidues); double CalculateSurface(const Point& inAtom, float inRadius, const std::vector& inNeighbours); bool AtomIntersectsBox(const Point& atom, float inRadius) const { return atom.mX + inRadius >= mBox[0].mX and atom.mX - inRadius <= mBox[1].mX and atom.mY + inRadius >= mBox[0].mY and atom.mY - inRadius <= mBox[1].mY and atom.mZ + inRadius >= mBox[0].mZ and atom.mZ - inRadius <= mBox[1].mZ; } void ExtendBox(const Point& atom, float inRadius) { if (mBox[0].mX > atom.mX - inRadius) mBox[0].mX = atom.mX - inRadius; if (mBox[0].mY > atom.mY - inRadius) mBox[0].mY = atom.mY - inRadius; if (mBox[0].mZ > atom.mZ - inRadius) mBox[0].mZ = atom.mZ - inRadius; if (mBox[1].mX < atom.mX + inRadius) mBox[1].mX = atom.mX + inRadius; if (mBox[1].mY < atom.mY + inRadius) mBox[1].mY = atom.mY + inRadius; if (mBox[1].mZ < atom.mZ + inRadius) mBox[1].mZ = atom.mZ + inRadius; } Res* mNext = nullptr; Res* mPrev = nullptr; const Monomer& mM; std::string mAltID; int mNumber; Point mCAlpha, mC, mN, mO, mH; Point mBox[2] = {}; float mRadius; Point mCenter; std::vector mSideChain; double mAccessibility = 0; ResidueType mType; uint8_t mSSBridgeNr = 0; SecondaryStructureType mSecondaryStructure = ssLoop; HBond mHBondDonor[2] = {}, mHBondAcceptor[2] = {}; BridgeParner mBetaPartner[2] = {}; uint32_t mSheet = 0; Helix mHelixFlags[4] = { Helix::None, Helix::None, Helix::None, Helix::None }; // bool mBend = false; ChainBreak mChainBreak = ChainBreak::None; }; // -------------------------------------------------------------------- class Accumulator { public: struct candidate { Point location; double radius; double distance; bool operator<(const candidate& rhs) const { return distance < rhs.distance; } }; void operator()(const Point& a, const Point& b, double d, double r) { double distance = DistanceSquared(a, b); d += kRadiusWater; r += kRadiusWater; double test = d + r; test *= test; if (distance < test and distance > 0.0001) { candidate c = { b - a, r * r, distance }; m_x.push_back(c); push_heap(m_x.begin(), m_x.end()); } } void sort() { sort_heap(m_x.begin(), m_x.end()); } std::vector m_x; }; // we use a fibonacci sphere to calculate the even distribution of the dots class MSurfaceDots { public: static MSurfaceDots& Instance(); size_t size() const { return mPoints.size(); } const Point& operator[](size_t inIx) const { return mPoints[inIx]; } double weight() const { return mWeight; } private: MSurfaceDots(int32_t inN); std::vector mPoints; double mWeight; }; MSurfaceDots& MSurfaceDots::Instance() { const int32_t kN = 200; static MSurfaceDots sInstance(kN); return sInstance; } MSurfaceDots::MSurfaceDots(int32_t N) { auto P = 2 * N + 1; const float kGoldenRatio = (1 + std::sqrt(5.0f)) / 2; mWeight = (4 * kPI) / P; for (auto i = -N; i <= N; ++i) { float lat = std::asin((2.0f * i) / P); float lon = static_cast(std::fmod(i, kGoldenRatio) * 2 * kPI / kGoldenRatio); mPoints.emplace_back(std::sin(lon) * std::cos(lat), std::cos(lon) * std::cos(lat), std::sin(lat)); } } double Res::CalculateSurface(const Point& inAtom, float inRadius, const std::vector& inNeighbours) { Accumulator accumulate; for (auto r: inNeighbours) { if (r->AtomIntersectsBox(inAtom, inRadius)) { accumulate(inAtom, r->mN, inRadius, kRadiusN); accumulate(inAtom, r->mCAlpha, inRadius, kRadiusCA); accumulate(inAtom, r->mC, inRadius, kRadiusC); accumulate(inAtom, r->mO, inRadius, kRadiusO); for (auto& atom: r->mSideChain) accumulate(inAtom, atom, inRadius, kRadiusSideAtom); } } accumulate.sort(); float radius = inRadius + kRadiusWater; double surface = 0; MSurfaceDots& surfaceDots = MSurfaceDots::Instance(); for (size_t i = 0; i < surfaceDots.size(); ++i) { Point xx = surfaceDots[i] * radius; bool free = true; for (size_t k = 0; free and k < accumulate.m_x.size(); ++k) free = accumulate.m_x[k].radius < DistanceSquared(xx, accumulate.m_x[k].location); if (free) surface += surfaceDots.weight(); } return surface * radius * radius; } double Res::CalculateSurface(const std::vector& inResidues) { std::vector neighbours; for (auto& r: inResidues) { Point center = r.mCenter; double radius = r.mRadius; if (Distance(mCenter, center) < mRadius + radius) neighbours.push_back(const_cast(&r)); } mAccessibility = CalculateSurface(mN, kRadiusN, neighbours) + CalculateSurface(mCAlpha, kRadiusCA, neighbours) + CalculateSurface(mC, kRadiusC, neighbours) + CalculateSurface(mO, kRadiusO, neighbours); for (auto& atom: mSideChain) mAccessibility += CalculateSurface(atom, kRadiusSideAtom, neighbours); return mAccessibility; } void CalculateAccessibilities(std::vector& inResidues, DSSP_Statistics& stats) { stats.accessibleSurface = 0; for (auto& residue: inResidues) stats.accessibleSurface += residue.CalculateSurface(inResidues); } // -------------------------------------------------------------------- // TODO: use the angle to improve bond energy calculation. double CalculateHBondEnergy(Res& inDonor, Res& inAcceptor) { double result = 0; if (inDonor.mType != kProline) { double distanceHO = Distance(inDonor.mH, inAcceptor.mO); double distanceHC = Distance(inDonor.mH, inAcceptor.mC); double distanceNC = Distance(inDonor.mN, inAcceptor.mC); double distanceNO = Distance(inDonor.mN, inAcceptor.mO); if (distanceHO < kMinimalDistance or distanceHC < kMinimalDistance or distanceNC < kMinimalDistance or distanceNO < kMinimalDistance) result = kMinHBondEnergy; else result = kCouplingConstant / distanceHO - kCouplingConstant / distanceHC + kCouplingConstant / distanceNC - kCouplingConstant / distanceNO; // DSSP compatibility mode: result = round(result * 1000) / 1000; if (result < kMinHBondEnergy) result = kMinHBondEnergy; } // update donor if (result < inDonor.mHBondAcceptor[0].energy) { inDonor.mHBondAcceptor[1] = inDonor.mHBondAcceptor[0]; inDonor.mHBondAcceptor[0].residue = &inAcceptor; inDonor.mHBondAcceptor[0].energy = result; } else if (result < inDonor.mHBondAcceptor[1].energy) { inDonor.mHBondAcceptor[1].residue = &inAcceptor; inDonor.mHBondAcceptor[1].energy = result; } // and acceptor if (result < inAcceptor.mHBondDonor[0].energy) { inAcceptor.mHBondDonor[1] = inAcceptor.mHBondDonor[0]; inAcceptor.mHBondDonor[0].residue = &inDonor; inAcceptor.mHBondDonor[0].energy = result; } else if (result < inAcceptor.mHBondDonor[1].energy) { inAcceptor.mHBondDonor[1].residue = &inDonor; inAcceptor.mHBondDonor[1].energy = result; } return result; } // -------------------------------------------------------------------- void CalculateHBondEnergies(std::vector& inResidues) { // Calculate the HBond energies for (uint32_t i = 0; i + 1 < inResidues.size(); ++i) { auto& ri = inResidues[i]; for (uint32_t j = i + 1; j < inResidues.size(); ++j) { auto& rj = inResidues[j]; if (Distance(ri.mCAlpha, rj.mCAlpha) < kMinimalCADistance) { CalculateHBondEnergy(ri, rj); if (j != i + 1) CalculateHBondEnergy(rj, ri); } } } } // -------------------------------------------------------------------- bool NoChainBreak(const Res* a, const Res* b) { bool result = a->mM.asymID() == b->mM.asymID(); for (auto r = a; result and r != b; r = r->mNext) { auto next = r->mNext; if (next == nullptr) result = false; else result = next->mNumber == r->mNumber + 1; } return result; } bool NoChainBreak(const Res& a, const Res& b) { return NoChainBreak(&a, &b); } // -------------------------------------------------------------------- bool TestBond(const Res* a, const Res* b) { return (a->mHBondAcceptor[0].residue == b and a->mHBondAcceptor[0].energy < kMaxHBondEnergy) or (a->mHBondAcceptor[1].residue == b and a->mHBondAcceptor[1].energy < kMaxHBondEnergy); } // -------------------------------------------------------------------- BridgeType TestBridge(const Res& r1, const Res& r2) { // I. a d II. a d parallel auto a = r1.mPrev; // \ / auto b = &r1; // b e b e auto c = r1.mNext; // / \ .. auto d = r2.mPrev; // c f c f auto e = &r2; // auto f = r2.mNext; // III. a <- f IV. a f antiparallel // BridgeType result = btNoBridge; // b e b <-> e // // c -> d c d if (a and c and NoChainBreak(a, c) and d and f and NoChainBreak(d, f)) { if ((TestBond(c, e) and TestBond(e, a)) or (TestBond(f, b) and TestBond(b, d))) result = btParallel; else if ((TestBond(c, d) and TestBond(f, a)) or (TestBond(e, b) and TestBond(b, e))) result = btAntiParallel; } return result; } // -------------------------------------------------------------------- // return true if any of the residues in bridge a is identical to any of the residues in bridge b bool Linked(const Bridge& a, const Bridge& b) { return find_first_of(a.i.begin(), a.i.end(), b.i.begin(), b.i.end()) != a.i.end() or find_first_of(a.i.begin(), a.i.end(), b.j.begin(), b.j.end()) != a.i.end() or find_first_of(a.j.begin(), a.j.end(), b.i.begin(), b.i.end()) != a.j.end() or find_first_of(a.j.begin(), a.j.end(), b.j.begin(), b.j.end()) != a.j.end(); } // -------------------------------------------------------------------- void CalculateBetaSheets(std::vector& inResidues, DSSP_Statistics& stats) { // Calculate Bridges std::vector bridges; if (inResidues.size() > 4) { for (uint32_t i = 1; i + 4 < inResidues.size(); ++i) { auto& ri = inResidues[i]; for (uint32_t j = i + 3; j + 1 < inResidues.size(); ++j) { auto& rj = inResidues[j]; BridgeType type = TestBridge(ri, rj); if (type == btNoBridge) continue; bool found = false; for (Bridge& bridge : bridges) { if (type != bridge.type or i != bridge.i.back() + 1) continue; if (type == btParallel and bridge.j.back() + 1 == j) { bridge.i.push_back(i); bridge.j.push_back(j); found = true; break; } if (type == btAntiParallel and bridge.j.front() - 1 == j) { bridge.i.push_back(i); bridge.j.push_front(j); found = true; break; } } if (not found) { Bridge bridge = {}; bridge.type = type; bridge.i.push_back(i); bridge.chainI = ri.mM.asymID(); bridge.j.push_back(j); bridge.chainJ = rj.mM.asymID(); bridges.push_back(bridge); } } } } // extend ladders std::sort(bridges.begin(), bridges.end()); for (uint32_t i = 0; i < bridges.size(); ++i) { for (uint32_t j = i + 1; j < bridges.size(); ++j) { uint32_t ibi = bridges[i].i.front(); uint32_t iei = bridges[i].i.back(); uint32_t jbi = bridges[i].j.front(); uint32_t jei = bridges[i].j.back(); uint32_t ibj = bridges[j].i.front(); uint32_t iej = bridges[j].i.back(); uint32_t jbj = bridges[j].j.front(); uint32_t jej = bridges[j].j.back(); if (bridges[i].type != bridges[j].type or NoChainBreak(inResidues[std::min(ibi, ibj)], inResidues[std::max(iei, iej)]) == false or NoChainBreak(inResidues[std::min(jbi, jbj)], inResidues[std::max(jei, jej)]) == false or ibj - iei >= 6 or (iei >= ibj and ibi <= iej)) { continue; } bool bulge; if (bridges[i].type == btParallel) bulge = ((jbj - jei < 6 and ibj - iei < 3) or (jbj - jei < 3)); else bulge = ((jbi - jej < 6 and ibj - iei < 3) or (jbi - jej < 3)); if (bulge) { bridges[i].i.insert(bridges[i].i.end(), bridges[j].i.begin(), bridges[j].i.end()); if (bridges[i].type == btParallel) bridges[i].j.insert(bridges[i].j.end(), bridges[j].j.begin(), bridges[j].j.end()); else bridges[i].j.insert(bridges[i].j.begin(), bridges[j].j.begin(), bridges[j].j.end()); bridges.erase(bridges.begin() + j); --j; } } } // Sheet std::set ladderset; for (Bridge& bridge : bridges) { ladderset.insert(&bridge); size_t n = bridge.i.size(); if (n > kHistogramSize) n = kHistogramSize; if (bridge.type == btParallel) stats.parallelBridgesPerLadderHistogram[n - 1] += 1; else stats.antiparallelBridgesPerLadderHistogram[n - 1] += 1; } uint32_t sheet = 1, ladder = 0; while (not ladderset.empty()) { std::set sheetset; sheetset.insert(*ladderset.begin()); ladderset.erase(ladderset.begin()); bool done = false; while (not done) { done = true; for (Bridge* a : sheetset) { for (Bridge* b : ladderset) { if (Linked(*a, *b)) { sheetset.insert(b); ladderset.erase(b); done = false; break; } } if (not done) break; } } for (Bridge* bridge : sheetset) { bridge->ladder = ladder; bridge->sheet = sheet; bridge->link = sheetset; ++ladder; } size_t nrOfLaddersPerSheet = sheetset.size(); if (nrOfLaddersPerSheet > kHistogramSize) nrOfLaddersPerSheet = kHistogramSize; if (nrOfLaddersPerSheet == 1 and (*sheetset.begin())->i.size() > 1) stats.laddersPerSheetHistogram[0] += 1; else if (nrOfLaddersPerSheet > 1) stats.laddersPerSheetHistogram[nrOfLaddersPerSheet - 1] += 1; ++sheet; } for (Bridge& bridge : bridges) { // find out if any of the i and j set members already have // a bridge assigned, if so, we're assigning bridge 2 uint32_t betai = 0, betaj = 0; for (uint32_t l : bridge.i) { if (inResidues[l].GetBetaPartner(0).residue != nullptr) { betai = 1; break; } } for (uint32_t l : bridge.j) { if (inResidues[l].GetBetaPartner(0).residue != nullptr) { betaj = 1; break; } } SecondaryStructureType ss = ssBetabridge; if (bridge.i.size() > 1) ss = ssStrand; if (bridge.type == btParallel) { stats.nrOfHBondsInParallelBridges += bridge.i.back() - bridge.i.front() + 2; std::deque::iterator j = bridge.j.begin(); for (uint32_t i : bridge.i) inResidues[i].SetBetaPartner(betai, inResidues[*j++], bridge.ladder, true); j = bridge.i.begin(); for (uint32_t i : bridge.j) inResidues[i].SetBetaPartner(betaj, inResidues[*j++], bridge.ladder, true); } else { stats.nrOfHBondsInAntiparallelBridges += bridge.i.back() - bridge.i.front() + 2; std::deque::reverse_iterator j = bridge.j.rbegin(); for (uint32_t i : bridge.i) inResidues[i].SetBetaPartner(betai, inResidues[*j++], bridge.ladder, false); j = bridge.i.rbegin(); for (uint32_t i : bridge.j) inResidues[i].SetBetaPartner(betaj, inResidues[*j++], bridge.ladder, false); } for (uint32_t i = bridge.i.front(); i <= bridge.i.back(); ++i) { if (inResidues[i].GetSecondaryStructure() != ssStrand) inResidues[i].SetSecondaryStructure(ss); inResidues[i].SetSheet(bridge.sheet); } for (uint32_t i = bridge.j.front(); i <= bridge.j.back(); ++i) { if (inResidues[i].GetSecondaryStructure() != ssStrand) inResidues[i].SetSecondaryStructure(ss); inResidues[i].SetSheet(bridge.sheet); } } } // -------------------------------------------------------------------- // TODO: improve alpha helix calculation by better recognizing pi-helices void CalculateAlphaHelices(std::vector& inResidues, DSSP_Statistics& stats, bool inPreferPiHelices = true) { // Helix and Turn for (HelixType helixType: { HelixType::rh_3_10, HelixType::rh_alpha, HelixType::rh_pi }) { uint32_t stride = static_cast(helixType) + 3; for (uint32_t i = 0; i + stride < inResidues.size(); ++i) { if (NoChainBreak(inResidues[i], inResidues[i + stride]) and TestBond(&inResidues[i + stride], &inResidues[i])) { inResidues[i + stride].SetHelixFlag(helixType, Helix::End); for (uint32_t j = i + 1; j < i + stride; ++j) { if (inResidues[j].GetHelixFlag(helixType) == Helix::None) inResidues[j].SetHelixFlag(helixType, Helix::Middle); } if (inResidues[i].GetHelixFlag(helixType) == Helix::End) inResidues[i].SetHelixFlag(helixType, Helix::StartAndEnd); else inResidues[i].SetHelixFlag(helixType, Helix::Start); } } } for (auto& r : inResidues) { double kappa = r.mM.kappa(); r.SetBend(kappa != 360 and kappa > 70); } for (uint32_t i = 1; i + 4 < inResidues.size(); ++i) { if (inResidues[i].IsHelixStart(HelixType::rh_alpha) and inResidues[i - 1].IsHelixStart(HelixType::rh_alpha)) { for (uint32_t j = i; j <= i + 3; ++j) inResidues[j].SetSecondaryStructure(ssAlphahelix); } } for (uint32_t i = 1; i + 3 < inResidues.size(); ++i) { if (inResidues[i].IsHelixStart(HelixType::rh_3_10) and inResidues[i - 1].IsHelixStart(HelixType::rh_3_10)) { bool empty = true; for (uint32_t j = i; empty and j <= i + 2; ++j) empty = inResidues[j].GetSecondaryStructure() == ssLoop or inResidues[j].GetSecondaryStructure() == ssHelix_3; if (empty) { for (uint32_t j = i; j <= i + 2; ++j) inResidues[j].SetSecondaryStructure(ssHelix_3); } } } for (uint32_t i = 1; i + 5 < inResidues.size(); ++i) { if (inResidues[i].IsHelixStart(HelixType::rh_pi) and inResidues[i - 1].IsHelixStart(HelixType::rh_pi)) { bool empty = true; for (uint32_t j = i; empty and j <= i + 4; ++j) empty = inResidues[j].GetSecondaryStructure() == ssLoop or inResidues[j].GetSecondaryStructure() == ssHelix_5 or (inPreferPiHelices and inResidues[j].GetSecondaryStructure() == ssAlphahelix); if (empty) { for (uint32_t j = i; j <= i + 4; ++j) inResidues[j].SetSecondaryStructure(ssHelix_5); } } } for (uint32_t i = 1; i + 1 < inResidues.size(); ++i) { if (inResidues[i].GetSecondaryStructure() == ssLoop) { bool isTurn = false; for (HelixType helixType: { HelixType::rh_3_10, HelixType::rh_alpha, HelixType::rh_pi }) { uint32_t stride = 3 + static_cast(helixType); for (uint32_t k = 1; k < stride and not isTurn; ++k) isTurn = (i >= k) and inResidues[i - k].IsHelixStart(helixType); } if (isTurn) inResidues[i].SetSecondaryStructure(ssTurn); else if (inResidues[i].IsBend()) inResidues[i].SetSecondaryStructure(ssBend); } } std::string asym; size_t helixLength = 0; for (auto r: inResidues) { if (r.mM.asymID() != asym) { helixLength = 0; asym = r.mM.asymID(); } if (r.GetSecondaryStructure() == ssAlphahelix) ++helixLength; else if (helixLength > 0) { if (helixLength > kHistogramSize) helixLength = kHistogramSize; stats.residuesPerAlphaHelixHistogram[helixLength - 1] += 1; helixLength = 0; } } } // -------------------------------------------------------------------- void CalculatePPHelices(std::vector& inResidues, DSSP_Statistics& stats, int stretch_length) { size_t N = inResidues.size(); const float epsilon = 29; const float phi_min = -75 - epsilon; const float phi_max = -75 + epsilon; const float psi_min = 145 - epsilon; const float psi_max = 145 + epsilon; std::vector phi(N), psi(N); for (uint32_t i = 1; i + 1 < inResidues.size(); ++i) { phi[i] = inResidues[i].mM.phi(); psi[i] = inResidues[i].mM.psi(); } for (uint32_t i = 1; i + 3 < inResidues.size(); ++i) { switch (stretch_length) { case 2: { if (phi_min > phi[i + 0] or phi[i + 0] > phi_max or phi_min > phi[i + 1] or phi[i + 1] > phi_max) continue; if (psi_min > psi[i + 0] or psi[i + 0] > psi_max or psi_min > psi[i + 1] or psi[i + 1] > psi_max) continue; // auto phi_avg = (phi[i + 0] + phi[i + 1]) / 2; // auto phi_sq = (phi[i + 0] - phi_avg) * (phi[i + 0] - phi_avg) + // (phi[i + 1] - phi_avg) * (phi[i + 1] - phi_avg); // if (phi_sq >= 200) // continue; // auto psi_avg = (psi[i + 0] + psi[i + 1]) / 2; // auto psi_sq = (psi[i + 0] - psi_avg) * (psi[i + 0] - psi_avg) + // (psi[i + 1] - psi_avg) * (psi[i + 1] - psi_avg); // if (psi_sq >= 200) // continue; switch (inResidues[i].GetHelixFlag(HelixType::rh_pp)) { case Helix::None: inResidues[i].SetHelixFlag(HelixType::rh_pp, Helix::Start); break; case Helix::End: inResidues[i].SetHelixFlag(HelixType::rh_pp, Helix::Middle); break; default: break; } inResidues[i + 1].SetHelixFlag(HelixType::rh_pp, Helix::End); if (inResidues[i].GetSecondaryStructure() == SecondaryStructureType::ssLoop) inResidues[i].SetSecondaryStructure(SecondaryStructureType::ssHelix_PPII); if (inResidues[i + 1].GetSecondaryStructure() == SecondaryStructureType::ssLoop) inResidues[i + 1].SetSecondaryStructure(SecondaryStructureType::ssHelix_PPII); } break; case 3: { if (phi_min > phi[i + 0] or phi[i + 0] > phi_max or phi_min > phi[i + 1] or phi[i + 1] > phi_max or phi_min > phi[i + 2] or phi[i + 2] > phi_max) continue; if (psi_min > psi[i + 0] or psi[i + 0] > psi_max or psi_min > psi[i + 1] or psi[i + 1] > psi_max or psi_min > psi[i + 2] or psi[i + 2] > psi_max) continue; // auto phi_avg = (phi[i + 0] + phi[i + 1] + phi[i + 2]) / 3; // auto phi_sq = (phi[i + 0] - phi_avg) * (phi[i + 0] - phi_avg) + // (phi[i + 1] - phi_avg) * (phi[i + 1] - phi_avg) + // (phi[i + 2] - phi_avg) * (phi[i + 2] - phi_avg); // if (phi_sq >= 300) // continue; // auto psi_avg = (psi[i + 0] + psi[i + 1] + psi[i + 2]) / 3; // auto psi_sq = (psi[i + 0] - psi_avg) * (psi[i + 0] - psi_avg) + // (psi[i + 1] - psi_avg) * (psi[i + 1] - psi_avg) + // (psi[i + 2] - psi_avg) * (psi[i + 2] - psi_avg); // if (psi_sq >= 300) // continue; switch (inResidues[i].GetHelixFlag(HelixType::rh_pp)) { case Helix::None: inResidues[i].SetHelixFlag(HelixType::rh_pp, Helix::Start); break; case Helix::End: inResidues[i].SetHelixFlag(HelixType::rh_pp, Helix::StartAndEnd); break; default: break; } inResidues[i + 1].SetHelixFlag(HelixType::rh_pp, Helix::Middle); inResidues[i + 2].SetHelixFlag(HelixType::rh_pp, Helix::End); if (inResidues[i + 0].GetSecondaryStructure() == SecondaryStructureType::ssLoop) inResidues[i + 0].SetSecondaryStructure(SecondaryStructureType::ssHelix_PPII); if (inResidues[i + 1].GetSecondaryStructure() == SecondaryStructureType::ssLoop) inResidues[i + 1].SetSecondaryStructure(SecondaryStructureType::ssHelix_PPII); if (inResidues[i + 2].GetSecondaryStructure() == SecondaryStructureType::ssLoop) inResidues[i + 2].SetSecondaryStructure(SecondaryStructureType::ssHelix_PPII); break; } default: throw std::runtime_error("Unsupported stretch length"); } } } // -------------------------------------------------------------------- struct DSSPImpl { DSSPImpl(const Structure& s, int min_poly_proline_stretch_length); const Structure& mStructure; const std::list& mPolymers; std::vector mResidues; std::vector> mSSBonds; int m_min_poly_proline_stretch_length; auto findRes(const std::string& asymID, int seqID) { return std::find_if(mResidues.begin(), mResidues.end(), [&](auto& r) { return r.mM.asymID() == asymID and r.mM.seqID() == seqID; }); } void calculateSurface(); void calculateSecondaryStructure(); DSSP_Statistics mStats = {}; }; // -------------------------------------------------------------------- DSSPImpl::DSSPImpl(const Structure& s, int min_poly_proline_stretch_length) : mStructure(s) , mPolymers(mStructure.polymers()) , m_min_poly_proline_stretch_length(min_poly_proline_stretch_length) { size_t nRes = accumulate(mPolymers.begin(), mPolymers.end(), 0ULL, [](size_t s, auto& p) { return s + p.size(); }); mStats.nrOfChains = static_cast(mPolymers.size()); mResidues.reserve(nRes); int resNumber = 0; for (auto& p: mPolymers) { ChainBreak brk = ChainBreak::NewChain; for (auto& m: p) { if (not m.isComplete()) continue; ++resNumber; if (not mResidues.empty() and Distance(mResidues.back().mC, m.atomByID("N").location()) > kMaxPeptideBondLength) { if (mResidues.back().mM.asymID() == m.asymID()) { ++mStats.nrOfChains; brk = ChainBreak::Gap; } ++resNumber; } mResidues.emplace_back(m, resNumber, brk); brk = ChainBreak::None; } } mStats.nrOfResidues = static_cast(mResidues.size()); for (size_t i = 0; i + 1 < mResidues.size(); ++i) { mResidues[i].mNext = &mResidues[i + 1]; mResidues[i + 1].mPrev = &mResidues[i]; mResidues[i + 1].assignHydrogen(); } } void DSSPImpl::calculateSecondaryStructure() { auto& db = mStructure.getFile().data(); for (auto r: db["struct_conn"].find(cif::Key("conn_type_id") == "disulf")) { std::string asym1, asym2; int seq1, seq2; cif::tie(asym1, seq1, asym2, seq2) = r.get("ptnr1_label_asym_id", "ptnr1_label_seq_id", "ptnr2_label_asym_id", "ptnr2_label_seq_id"); auto r1 = findRes(asym1, seq1); if (r1 == mResidues.end()) { if (cif::VERBOSE) std::cerr << "Missing (incomplete?) residue for SS bond when trying to find " << asym1 << '/' << seq1 << std::endl; continue; // throw std::runtime_error("Invalid file, missing residue for SS bond"); } auto r2 = findRes(asym2, seq2); if (r2 == mResidues.end()) { if (cif::VERBOSE) std::cerr << "Missing (incomplete?) residue for SS bond when trying to find " << asym2 << '/' << seq2 << std::endl; continue; // throw std::runtime_error("Invalid file, missing residue for SS bond"); } mSSBonds.emplace_back(&*r1, &*r2); } CalculateHBondEnergies(mResidues); CalculateBetaSheets(mResidues, mStats); CalculateAlphaHelices(mResidues, mStats); CalculatePPHelices(mResidues, mStats, m_min_poly_proline_stretch_length); if (cif::VERBOSE > 1) { for (auto& r: mResidues) { auto& m = r.mM; char helix[5] = { }; for (HelixType helixType: { HelixType::rh_3_10, HelixType::rh_alpha, HelixType::rh_pi, HelixType::rh_pp }) { switch (r.GetHelixFlag(helixType)) { case Helix::Start: helix[static_cast(helixType)] = '>'; break; case Helix::Middle: helix[static_cast(helixType)] = helixType == HelixType::rh_pp ? 'P' : '3' + static_cast(helixType); break; case Helix::StartAndEnd: helix[static_cast(helixType)] = 'X'; break; case Helix::End: helix[static_cast(helixType)] = '<'; break; case Helix::None: helix[static_cast(helixType)] = ' '; break; } } auto id = m.asymID() + ':' + std::to_string(m.seqID()) + '/' + m.compoundID(); std::cerr << id << std::string(12 - id.length(), ' ') << char(r.mSecondaryStructure) << ' ' << helix << std::endl; } } // finish statistics mStats.nrOfSSBridges = static_cast(mSSBonds.size()); mStats.nrOfIntraChainSSBridges = 0; uint8_t ssBondNr = 0; for (const auto& [a, b]: mSSBonds) { if (a == b) { if (cif::VERBOSE) std::cerr << "In the SS bonds list, the residue " << a->mM << " is bonded to itself" << std::endl; continue; } if (a->mM.asymID() == b->mM.asymID() and NoChainBreak(a, b)) ++mStats.nrOfIntraChainSSBridges; a->mSSBridgeNr = b->mSSBridgeNr = ++ssBondNr; } mStats.nrOfHBonds = 0; for (auto& r: mResidues) { auto donor = r.mHBondDonor; for (int i = 0; i < 2; ++i) { if (donor[i].residue != nullptr and donor[i].energy < kMaxHBondEnergy) { ++mStats.nrOfHBonds; auto k = donor[i].residue->mNumber - r.mNumber; if (k >= -5 and k <= 5) mStats.nrOfHBondsPerDistance[k + 5] += 1; } } } } void DSSPImpl::calculateSurface() { CalculateAccessibilities(mResidues, mStats); } // -------------------------------------------------------------------- const Monomer& DSSP::ResidueInfo::residue() const { return mImpl->mM; } std::string DSSP::ResidueInfo::alt_id() const { return mImpl->mAltID; } ChainBreak DSSP::ResidueInfo::chainBreak() const { return mImpl->mChainBreak; } int DSSP::ResidueInfo::nr() const { return mImpl->mNumber; } SecondaryStructureType DSSP::ResidueInfo::ss() const { return mImpl->mSecondaryStructure; } int DSSP::ResidueInfo::ssBridgeNr() const { return mImpl->mSSBridgeNr; } Helix DSSP::ResidueInfo::helix(HelixType helixType) const { return mImpl->GetHelixFlag(helixType); } bool DSSP::ResidueInfo::bend() const { return mImpl->IsBend(); } double DSSP::ResidueInfo::accessibility() const { return mImpl->mAccessibility; } std::tuple DSSP::ResidueInfo::bridgePartner(int i) const { auto bp = mImpl->GetBetaPartner(i); ResidueInfo ri(bp.residue); return std::make_tuple(std::move(ri), bp.ladder, bp.parallel); } int DSSP::ResidueInfo::sheet() const { return mImpl->GetSheet(); } std::tuple DSSP::ResidueInfo::acceptor(int i) const { auto& a = mImpl->mHBondAcceptor[i]; return { ResidueInfo(a.residue), a.energy }; } std::tuple DSSP::ResidueInfo::donor(int i) const { auto& d = mImpl->mHBondDonor[i]; return { ResidueInfo(d.residue), d.energy }; } // -------------------------------------------------------------------- DSSP::iterator::iterator(Res* res) : mCurrent(res) { } DSSP::iterator::iterator(const iterator& i) : mCurrent(i.mCurrent) { } DSSP::iterator& DSSP::iterator::operator=(const iterator& i) { mCurrent = i.mCurrent; return *this; } DSSP::iterator& DSSP::iterator::operator++() { ++mCurrent.mImpl; return *this; } // -------------------------------------------------------------------- DSSP::DSSP(const Structure& s, int min_poly_proline_stretch, bool calculateSurfaceAccessibility) : mImpl(new DSSPImpl(s, min_poly_proline_stretch)) { if (calculateSurfaceAccessibility) { std::thread t(std::bind(&DSSPImpl::calculateSurface, mImpl)); mImpl->calculateSecondaryStructure(); t.join(); } else mImpl->calculateSecondaryStructure(); } DSSP::~DSSP() { delete mImpl; } DSSP::iterator DSSP::begin() const { return iterator(mImpl->mResidues.empty() ? nullptr : mImpl->mResidues.data()); } DSSP::iterator DSSP::end() const { // careful now, MSVC is picky when it comes to dereferencing iterators that are at the end. Res* res = nullptr; if (not mImpl->mResidues.empty()) { res = mImpl->mResidues.data(); res += mImpl->mResidues.size(); } return iterator(res); } SecondaryStructureType DSSP::operator()(const std::string& inAsymID, int inSeqID) const { SecondaryStructureType result = ssLoop; auto i = find_if(mImpl->mResidues.begin(), mImpl->mResidues.end(), [&](auto& r) { return r.mM.asymID() == inAsymID and r.mM.seqID() == inSeqID; }); if (i != mImpl->mResidues.end()) result = i->mSecondaryStructure; else if (cif::VERBOSE) std::cerr << "Could not find secondary structure for " << inAsymID << ':' << inSeqID << std::endl; return result; } SecondaryStructureType DSSP::operator()(const Monomer& m) const { return operator()(m.asymID(), m.seqID()); } double DSSP::accessibility(const std::string& inAsymID, int inSeqID) const { SecondaryStructureType result = ssLoop; auto i = find_if(mImpl->mResidues.begin(), mImpl->mResidues.end(), [&](auto& r) { return r.mM.asymID() == inAsymID and r.mM.seqID() == inSeqID; }); if (i != mImpl->mResidues.end()) result = i->mSecondaryStructure; else if (cif::VERBOSE) std::cerr << "Could not find secondary structure for " << inAsymID << ':' << inSeqID << std::endl; return result; } double DSSP::accessibility(const Monomer& m) const { return accessibility(m.asymID(), m.seqID()); } bool DSSP::isAlphaHelixEndBeforeStart(const Monomer& m) const { return isAlphaHelixEndBeforeStart(m.asymID(), m.seqID()); } bool DSSP::isAlphaHelixEndBeforeStart(const std::string& inAsymID, int inSeqID) const { auto i = find_if(mImpl->mResidues.begin(), mImpl->mResidues.end(), [&](auto& r) { return r.mM.asymID() == inAsymID and r.mM.seqID() == inSeqID; }); bool result = false; if (i != mImpl->mResidues.end() and i + 1 != mImpl->mResidues.end()) result = i->GetHelixFlag(HelixType::rh_alpha) == Helix::End and (i + 1)->GetHelixFlag(HelixType::rh_alpha) == Helix::Start; else if (cif::VERBOSE) std::cerr << "Could not find secondary structure for " << inAsymID << ':' << inSeqID << std::endl; return result; } DSSP_Statistics DSSP::GetStatistics() const { return mImpl->mStats; } } libcifpp-2.0.5/src/Structure.cpp0000664000175000017500000016207014200173347016452 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "cif++/Structure.hpp" #include #include #include #include #include #include #include #include "cif++/Cif2PDB.hpp" #include "cif++/CifParser.hpp" #include "cif++/PDB2Cif.hpp" // #include "cif++/AtomShape.hpp" namespace fs = std::filesystem; namespace ba = boost::algorithm; namespace io = boost::iostreams; extern int cif::VERBOSE; namespace mmcif { // -------------------------------------------------------------------- // FileImpl struct FileImpl { cif::File mData; cif::Datablock *mDb = nullptr; void load_data(const char *data, size_t length); void load(const std::filesystem::path &path); void save(const std::filesystem::path &path); }; void FileImpl::load_data(const char *data, size_t length) { bool gzipped = length > 2 and data[0] == static_cast(0x1f) and data[1] == static_cast(0x8b); try { // First try mmCIF struct membuf : public std::streambuf { membuf(char *data, size_t length) { this->setg(data, data, data + length); } } buffer(const_cast(data), length); std::istream is(&buffer); io::filtering_stream in; if (gzipped) in.push(io::gzip_decompressor()); in.push(is); mData.load(in); } catch (const cif::CifParserError &e) { // First try mmCIF struct membuf : public std::streambuf { membuf(char *data, size_t length) { this->setg(data, data, data + length); } } buffer(const_cast(data), length); std::istream is(&buffer); io::filtering_stream in; if (gzipped) in.push(io::gzip_decompressor()); in.push(is); ReadPDBFile(in, mData); } // Yes, we've parsed the data. Now locate the datablock. mDb = &mData.firstDatablock(); // And validate, otherwise lots of functionality won't work // if (mData.getValidator() == nullptr) mData.loadDictionary("mmcif_pdbx_v50"); if (not mData.isValid()) std::cerr << "Invalid mmCIF file" << (cif::VERBOSE ? "." : " use --verbose option to see errors") << std::endl; } void FileImpl::load(const std::filesystem::path &path) { std::ifstream inFile(path, std::ios_base::in | std::ios_base::binary); if (not inFile.is_open()) throw std::runtime_error("No such file: " + path.string()); io::filtering_stream in; std::string ext = path.extension().string(); if (path.extension() == ".gz") { in.push(io::gzip_decompressor()); ext = path.stem().extension().string(); } in.push(inFile); try { // OK, we've got the file, now create a protein if (ext == ".cif") mData.load(in); else if (ext == ".pdb" or ext == ".ent") ReadPDBFile(in, mData); else { try { if (cif::VERBOSE) std::cerr << "unrecognized file extension, trying cif" << std::endl; mData.load(in); } catch (const cif::CifParserError &e) { if (cif::VERBOSE) std::cerr << "Not cif, trying plain old PDB" << std::endl; // pffft... in.reset(); if (inFile.is_open()) inFile.seekg(0); else inFile.open(path, std::ios_base::in | std::ios::binary); if (path.extension() == ".gz") in.push(io::gzip_decompressor()); in.push(inFile); ReadPDBFile(in, mData); } } } catch (const std::exception &ex) { std::cerr << "Error trying to load file " << path << std::endl; throw; } // Yes, we've parsed the data. Now locate the datablock. mDb = &mData.firstDatablock(); // And validate, otherwise lots of functionality won't work // if (mData.getValidator() == nullptr) mData.loadDictionary("mmcif_pdbx_v50"); if (not mData.isValid()) std::cerr << "Invalid mmCIF file" << (cif::VERBOSE ? "." : " use --verbose option to see errors") << std::endl; } void FileImpl::save(const std::filesystem::path &path) { std::ofstream outFile(path, std::ios_base::out | std::ios_base::binary); io::filtering_stream out; if (path.extension() == ".gz") out.push(io::gzip_compressor()); out.push(outFile); if (path.extension() == ".pdb") WritePDBFile(out, mData); else mData.save(out); } // -------------------------------------------------------------------- // Atom struct AtomImpl { AtomImpl(const AtomImpl &i) : mDb(i.mDb) , mID(i.mID) , mType(i.mType) , mAtomID(i.mAtomID) , mCompID(i.mCompID) , mAsymID(i.mAsymID) , mSeqID(i.mSeqID) , mAltID(i.mAltID) , mLocation(i.mLocation) , mRefcount(1) , mRow(i.mRow) , mCompound(i.mCompound) , mRadius(i.mRadius) , mCachedProperties(i.mCachedProperties) , mSymmetryCopy(i.mSymmetryCopy) , mClone(true) // , mRTop(i.mRTop), mD(i.mD) { } AtomImpl(cif::Datablock &db, const std::string &id) : mDb(db) , mID(id) , mRefcount(1) , mCompound(nullptr) { auto &cat = db["atom_site"]; mRow = cat[cif::Key("id") == mID]; prefetch(); } AtomImpl(cif::Datablock &db, cif::Row &row) : mDb(db) , mID(row["id"].as()) , mRefcount(1) , mRow(row) , mCompound(nullptr) { prefetch(); } AtomImpl(cif::Datablock &db, const std::string &id, cif::Row row) : mDb(db) , mID(id) , mRefcount(1) , mRow(row) , mCompound(nullptr) { prefetch(); } AtomImpl(const AtomImpl &impl, const Point &loc, const std::string &sym_op) : mDb(impl.mDb) , mID(impl.mID) , mType(impl.mType) , mAtomID(impl.mAtomID) , mCompID(impl.mCompID) , mAsymID(impl.mAsymID) , mSeqID(impl.mSeqID) , mAltID(impl.mAltID) , mLocation(loc) , mRefcount(1) , mRow(impl.mRow) , mCompound(impl.mCompound) , mRadius(impl.mRadius) , mCachedProperties(impl.mCachedProperties) , mSymmetryCopy(true) , mSymmetryOperator(sym_op) { } void prefetch() { // Prefetch some data std::string symbol; cif::tie(symbol, mAtomID, mCompID, mAsymID, mSeqID, mAltID) = mRow.get("type_symbol", "label_atom_id", "label_comp_id", "label_asym_id", "label_seq_id", "label_alt_id"); if (symbol != "X") mType = AtomTypeTraits(symbol).type(); float x, y, z; cif::tie(x, y, z) = mRow.get("Cartn_x", "Cartn_y", "Cartn_z"); mLocation = Point(x, y, z); std::string compID; cif::tie(compID) = mRow.get("label_comp_id"); // mCompound = CompoundFactory::instance().create(compID); } void reference() { ++mRefcount; } void release() { if (--mRefcount <= 0) delete this; } bool getAnisoU(float anisou[6]) const { bool result = false; auto cat = mDb.get("atom_site_anisotrop"); if (cat) { auto r = cat->find1(cif::Key("id") == mID); if (not r.empty()) { result = true; cif::tie(anisou[0], anisou[1], anisou[2], anisou[3], anisou[4], anisou[5]) = r.get("U[1][1]", "U[1][2]", "U[1][3]", "U[2][2]", "U[2][3]", "U[3][3]"); } } return result; } void moveTo(const Point &p) { assert(not mSymmetryCopy); if (mSymmetryCopy) throw std::runtime_error("Moving symmetry copy"); if (not mClone) { mRow["Cartn_x"] = p.getX(); mRow["Cartn_y"] = p.getY(); mRow["Cartn_z"] = p.getZ(); } // boost::format kPosFmt("%.3f"); // // mRow["Cartn_x"] = (kPosFmt % p.getX()).str(); // mRow["Cartn_y"] = (kPosFmt % p.getY()).str(); // mRow["Cartn_z"] = (kPosFmt % p.getZ()).str(); mLocation = p; } const Compound &comp() const { if (mCompound == nullptr) { std::string compID; cif::tie(compID) = mRow.get("label_comp_id"); mCompound = CompoundFactory::instance().create(compID); if (cif::VERBOSE and mCompound == nullptr) std::cerr << "Compound not found: '" << compID << '\'' << std::endl; } if (mCompound == nullptr) throw std::runtime_error("no compound"); return *mCompound; } bool isWater() const { // mCompound may still be null here, and besides, this check is not that exciting anyway return mCompID == "HOH" or mCompID == "H2O" or mCompID == "WAT"; } float radius() const { return mRadius; } const std::string &property(const std::string &name) const { static std::string kEmptyString; auto i = mCachedProperties.find(name); if (i == mCachedProperties.end()) { auto v = mRow[name]; if (v.empty()) return kEmptyString; return mCachedProperties[name] = v.as(); } else return i->second; } void property(const std::string &name, const std::string &value) { mRow[name] = value; } int compare(const AtomImpl &b) const { int d = mAsymID.compare(b.mAsymID); if (d == 0) d = mSeqID - b.mSeqID; if (d == 0) d = mAtomID.compare(b.mAtomID); return d; } void swapAtomLabels(AtomImpl &b) { std::swap(mAtomID, b.mAtomID); } const cif::Datablock &mDb; std::string mID; AtomType mType; std::string mAtomID; std::string mCompID; std::string mAsymID; int mSeqID; std::string mAltID; Point mLocation; int mRefcount; cif::Row mRow; mutable const Compound *mCompound = nullptr; float mRadius = std::nanf("4"); mutable std::map mCachedProperties; bool mSymmetryCopy = false; bool mClone = false; std::string mSymmetryOperator = "1_555"; // clipper::RTop_orth mRTop; // Point mD; // int32_t mRTix; }; //Atom::Atom(const File& f, const std::string& id) // : mImpl(new AtomImpl(f, id)) //{ //} // Atom::Atom() : mImpl_(nullptr) { } Atom::Atom(AtomImpl *impl) : mImpl_(impl) { } Atom::Atom(cif::Datablock &db, cif::Row &row) : mImpl_(new AtomImpl(db, row)) { } AtomImpl *Atom::impl() { if (mImpl_ == nullptr) throw std::runtime_error("atom is not set"); return mImpl_; } const AtomImpl *Atom::impl() const { if (mImpl_ == nullptr) throw std::runtime_error("atom is not set"); return mImpl_; } Atom Atom::clone() const { return Atom(mImpl_ ? new AtomImpl(*mImpl_) : nullptr); } Atom::Atom(const Atom &rhs, const Point &loc, const std::string &sym_op) : mImpl_(new AtomImpl(*rhs.mImpl_, loc, sym_op)) { } Atom::Atom(const Atom &rhs) : mImpl_(rhs.mImpl_) { if (mImpl_) mImpl_->reference(); } Atom::~Atom() { if (mImpl_) mImpl_->release(); } Atom &Atom::operator=(const Atom &rhs) { if (this != &rhs) { if (mImpl_) mImpl_->release(); mImpl_ = rhs.mImpl_; if (mImpl_) mImpl_->reference(); } return *this; } const cif::Row Atom::getRow() const { return mImpl_->mRow; } const cif::Row Atom::getRowAniso() const { auto &db = mImpl_->mDb; auto cat = db.get("atom_site_anisotrop"); if (not cat) return {}; else return cat->find1(cif::Key("id") == mImpl_->mID); } template <> std::string Atom::property(const std::string &name) const { return impl()->property(name); } template <> int Atom::property(const std::string &name) const { auto v = impl()->property(name); return v.empty() ? 0 : stoi(v); } template <> float Atom::property(const std::string &name) const { return stof(impl()->property(name)); } void Atom::property(const std::string &name, const std::string &value) { impl()->property(name, value); } const std::string &Atom::id() const { return impl()->mID; } AtomType Atom::type() const { return impl()->mType; } int Atom::charge() const { return property("pdbx_formal_charge"); } float Atom::uIso() const { float result; if (not property("U_iso_or_equiv").empty()) result = property("U_iso_or_equiv"); else if (not property("B_iso_or_equiv").empty()) result = property("B_iso_or_equiv") / static_cast(8 * kPI * kPI); else throw std::runtime_error("Missing B_iso or U_iso"); return result; } bool Atom::getAnisoU(float anisou[6]) const { return impl()->getAnisoU(anisou); } float Atom::occupancy() const { return property("occupancy"); } std::string Atom::labelAtomID() const { return impl()->mAtomID; } std::string Atom::labelCompID() const { return impl()->mCompID; } std::string Atom::labelAsymID() const { return impl()->mAsymID; } std::string Atom::labelEntityID() const { return property("label_entity_id"); } std::string Atom::labelAltID() const { return impl()->mAltID; } bool Atom::isAlternate() const { return not impl()->mAltID.empty(); } int Atom::labelSeqID() const { return impl()->mSeqID; } std::string Atom::authAsymID() const { return property("auth_asym_id"); } std::string Atom::authAtomID() const { return property("auth_atom_id"); } std::string Atom::pdbxAuthAltID() const { return property("pdbx_auth_alt_id"); } std::string Atom::pdbxAuthInsCode() const { return property("pdbx_PDB_ins_code"); } std::string Atom::authCompID() const { return property("auth_comp_id"); } std::string Atom::authSeqID() const { return property("auth_seq_id"); } std::string Atom::labelID() const { return property("label_comp_id") + '_' + impl()->mAsymID + '_' + std::to_string(impl()->mSeqID) + ':' + impl()->mAtomID; } std::string Atom::pdbID() const { return property("auth_comp_id") + '_' + property("auth_asym_id") + '_' + property("auth_seq_id") + property("pdbx_PDB_ins_code"); } Point Atom::location() const { return impl()->mLocation; } void Atom::location(Point p) { impl()->moveTo(p); } void Atom::translate(Point t) { auto loc = location(); loc += t; location(loc); } void Atom::rotate(Quaternion q) { auto loc = location(); loc.rotate(q); location(loc); } // Atom Atom::symmetryCopy(const Point& d, const clipper::RTop_orth& rt) // { // return Atom(new AtomImpl(*impl(), d, rt)); // } // bool Atom::isSymmetryCopy() const // { // return impl()->mSymmetryCopy; // } // std::string Atom::symmetry() const // { // return clipper::Symop(impl()->mRTop).format() + "\n" + impl()->mRTop.format(); // } bool Atom::isSymmetryCopy() const { return mImpl_->mSymmetryCopy; } std::string Atom::symmetry() const { return mImpl_->mSymmetryOperator; } // const clipper::RTop_orth& Atom::symop() const // { // return impl()->mRTop; // } const Compound &Atom::comp() const { return impl()->comp(); } bool Atom::isWater() const { return impl()->isWater(); } bool Atom::operator==(const Atom &rhs) const { return impl() == rhs.impl() or (&impl()->mDb == &rhs.impl()->mDb and impl()->mID == rhs.impl()->mID); } // clipper::Atom Atom::toClipper() const // { // return impl()->toClipper(); // } // void Atom::calculateRadius(float resHigh, float resLow, float perc) // { // AtomShape shape(*this, resHigh, resLow, false); // impl()->mRadius = shape.radius(); // // verbose // if (cif::VERBOSE > 1) // cout << "Calculated radius for " << AtomTypeTraits(impl()->mType).name() << " with charge " << charge() << " is " << impl()->mRadius << std::endl; // } float Atom::radius() const { return impl()->mRadius; } int Atom::compare(const Atom &b) const { return impl() == b.impl() ? 0 : impl()->compare(*b.impl()); } void Atom::setID(int id) { impl()->mID = std::to_string(id); } std::ostream &operator<<(std::ostream &os, const Atom &atom) { os << atom.labelCompID() << ' ' << atom.labelAsymID() << ':' << atom.labelSeqID() << ' ' << atom.labelAtomID(); if (atom.isAlternate()) os << '(' << atom.labelAltID() << ')'; if (atom.authAsymID() != atom.labelAsymID() or atom.authSeqID() != std::to_string(atom.labelSeqID()) or atom.pdbxAuthInsCode().empty() == false) os << " [" << atom.authAsymID() << ':' << atom.authSeqID() << atom.pdbxAuthInsCode() << ']'; return os; } // -------------------------------------------------------------------- // residue // First constructor used to be for waters only, but now accepts sugars as well. Residue::Residue(const Structure &structure, const std::string &compoundID, const std::string &asymID, const std::string &authSeqID) : mStructure(&structure) , mCompoundID(compoundID) , mAsymID(asymID) , mAuthSeqID(authSeqID) { for (auto &a : mStructure->atoms()) { if (a.labelAsymID() != mAsymID or a.labelCompID() != mCompoundID) continue; if (compoundID == "HOH") { if (not mAuthSeqID.empty() and a.authSeqID() != mAuthSeqID) continue; } else { if (mSeqID > 0 and a.labelSeqID() != mSeqID) continue; } mAtoms.push_back(a); } assert(not mAtoms.empty()); } Residue::Residue(const Structure &structure, const std::string &compoundID, const std::string &asymID) : Residue(structure, compoundID, asymID, 0, {}) { } Residue::Residue(const Structure &structure, const std::string &compoundID, const std::string &asymID, int seqID, const std::string &authSeqID) : mStructure(&structure) , mCompoundID(compoundID) , mAsymID(asymID) , mSeqID(seqID) , mAuthSeqID(authSeqID) { assert(mCompoundID != "HOH"); for (auto &a : mStructure->atoms()) { if (mSeqID > 0 and a.labelSeqID() != mSeqID) continue; if (a.labelAsymID() != mAsymID or a.labelCompID() != mCompoundID) continue; mAtoms.push_back(a); } } Residue::Residue(Residue &&rhs) : mStructure(rhs.mStructure) , mCompoundID(std::move(rhs.mCompoundID)) , mAsymID(std::move(rhs.mAsymID)) , mSeqID(rhs.mSeqID) , mAuthSeqID(rhs.mAuthSeqID) , mAtoms(std::move(rhs.mAtoms)) { //std::cerr << "move constructor residue" << std::endl; rhs.mStructure = nullptr; } Residue &Residue::operator=(Residue &&rhs) { //std::cerr << "move assignment residue" << std::endl; mStructure = rhs.mStructure; rhs.mStructure = nullptr; mCompoundID = std::move(rhs.mCompoundID); mAsymID = std::move(rhs.mAsymID); mSeqID = rhs.mSeqID; mAuthSeqID = rhs.mAuthSeqID; mAtoms = std::move(rhs.mAtoms); return *this; } Residue::~Residue() { //std::cerr << "~Residue" << std::endl; } std::string Residue::entityID() const { return mAtoms.empty() ? "" : mAtoms.front().labelEntityID(); } std::string Residue::authInsCode() const { assert(mStructure); std::string result; try { char iCode; tie(std::ignore, std::ignore, iCode) = mStructure->MapLabelToAuth(mAsymID, mSeqID); result = std::string{iCode}; ba::trim(result); } catch (...) { } return result; } std::string Residue::authAsymID() const { assert(mStructure); std::string result; try { tie(result, std::ignore, std::ignore) = mStructure->MapLabelToAuth(mAsymID, mSeqID); } catch (...) { result = mAsymID; } return result; } std::string Residue::authSeqID() const { assert(mStructure); std::string result; try { int seqID; tie(std::ignore, seqID, std::ignore) = mStructure->MapLabelToAuth(mAsymID, mSeqID); result = std::to_string(seqID); } catch (...) { } return result; } const Compound &Residue::compound() const { auto result = CompoundFactory::instance().create(mCompoundID); if (result == nullptr) throw std::runtime_error("Failed to create compound " + mCompoundID); return *result; } const AtomView &Residue::atoms() const { if (mStructure == nullptr) throw std::runtime_error("Invalid Residue object"); return mAtoms; } std::string Residue::unique_alt_id() const { if (mStructure == nullptr) throw std::runtime_error("Invalid Residue object"); auto firstAlt = std::find_if(mAtoms.begin(), mAtoms.end(), [](auto &a) { return not a.labelAltID().empty(); }); return firstAlt != mAtoms.end() ? firstAlt->labelAltID() : ""; } AtomView Residue::unique_atoms() const { if (mStructure == nullptr) throw std::runtime_error("Invalid Residue object"); AtomView result; std::string firstAlt; for (auto &atom : mAtoms) { auto alt = atom.labelAltID(); if (alt.empty()) { result.push_back(atom); continue; } if (firstAlt.empty()) firstAlt = alt; else if (alt != firstAlt) { if (cif::VERBOSE) std::cerr << "skipping alternate atom " << atom << std::endl; continue; } result.push_back(atom); } return result; } std::set Residue::getAlternateIDs() const { std::set result; for (auto a : mAtoms) { auto alt = a.labelAltID(); if (not alt.empty()) result.insert(alt); } return result; } Atom Residue::atomByID(const std::string &atomID) const { Atom result; for (auto &a : mAtoms) { if (a.labelAtomID() == atomID) { result = a; break; } } if (not result and cif::VERBOSE > 1) std::cerr << "Atom with atom_id " << atomID << " not found in residue " << mAsymID << ':' << mSeqID << std::endl; return result; } // Residue is a single entity if the atoms for the asym with mAsymID is equal // to the number of atoms in this residue... hope this is correct.... bool Residue::isEntity() const { auto &db = mStructure->datablock(); auto a1 = db["atom_site"].find(cif::Key("label_asym_id") == mAsymID); // auto a2 = atoms(); auto &a2 = mAtoms; return a1.size() == a2.size(); } std::string Residue::authID() const { std::string result; try { char chainID, iCode; int seqNum; std::tie(chainID, seqNum, iCode) = mStructure->MapLabelToAuth(mAsymID, mSeqID); result = chainID + std::to_string(seqNum); if (iCode != ' ' and iCode != 0) result += iCode; } catch (...) { result = mAsymID + std::to_string(mSeqID); } return result; } std::string Residue::labelID() const { if (mCompoundID == "HOH") return mAsymID + mAuthSeqID; else return mAsymID + std::to_string(mSeqID); } std::tuple Residue::centerAndRadius() const { std::vector pts; for (auto &a : mAtoms) pts.push_back(a.location()); auto center = Centroid(pts); float radius = 0; for (auto &pt : pts) { float d = static_cast(Distance(pt, center)); if (radius < d) radius = d; } return std::make_tuple(center, radius); } bool Residue::hasAlternateAtoms() const { return std::find_if(mAtoms.begin(), mAtoms.end(), [](const Atom &atom) { return atom.isAlternate(); }) != mAtoms.end(); } std::set Residue::getAtomIDs() const { std::set ids; for (auto a : mAtoms) ids.insert(a.labelAtomID()); return ids; } AtomView Residue::getAtomsByID(const std::string &atomID) const { AtomView atoms; for (auto a : mAtoms) { if (a.labelAtomID() == atomID) atoms.push_back(a); } return atoms; } std::ostream &operator<<(std::ostream &os, const Residue &res) { os << res.compoundID() << ' ' << res.asymID() << ':' << res.seqID(); if (res.authAsymID() != res.asymID() or res.authSeqID() != std::to_string(res.seqID())) os << " [" << res.authAsymID() << ':' << res.authSeqID() << ']'; return os; } // -------------------------------------------------------------------- // monomer //Monomer::Monomer(Monomer&& rhs) // : Residue(std::move(rhs)), mPolymer(rhs.mPolymer), mIndex(rhs.mIndex) //{ //} Monomer::Monomer(const Polymer &polymer, size_t index, int seqID, const std::string &authSeqID, const std::string &compoundID) : Residue(*polymer.structure(), compoundID, polymer.asymID(), seqID, authSeqID) , mPolymer(&polymer) , mIndex(index) { } Monomer::Monomer(Monomer &&rhs) : Residue(std::move(rhs)) , mPolymer(rhs.mPolymer) , mIndex(rhs.mIndex) { std::cerr << "move constructor monomer" << std::endl; // mStructure = rhs.mStructure; rhs.mStructure = nullptr; // mCompoundID = std::move(rhs.mCompoundID); // mAsymID = std::move(rhs.mAsymID); // mSeqID = rhs.mSeqID; // mAtoms = std::move(rhs.mAtoms); // // mPolymer = rhs.mPolymer; rhs.mPolymer = nullptr; // mIndex = rhs.mIndex; rhs.mPolymer = nullptr; } Monomer &Monomer::operator=(Monomer &&rhs) { std::cerr << "move assignment monomer" << std::endl; Residue::operator=(std::move(rhs)); mPolymer = rhs.mPolymer; rhs.mPolymer = nullptr; mIndex = rhs.mIndex; return *this; } bool Monomer::is_first_in_chain() const { return mIndex == 0; } bool Monomer::is_last_in_chain() const { return mIndex + 1 == mPolymer->size(); } bool Monomer::has_alpha() const { return mIndex >= 1 and mIndex + 2 < mPolymer->size(); } bool Monomer::has_kappa() const { return mIndex >= 2 and mIndex + 2 < mPolymer->size(); } float Monomer::phi() const { float result = 360; try { if (mIndex > 0) { auto &prev = mPolymer->operator[](mIndex - 1); if (prev.mSeqID + 1 == mSeqID) result = static_cast(DihedralAngle(prev.C().location(), N().location(), CAlpha().location(), C().location())); } } catch (const std::exception &ex) { if (cif::VERBOSE) std::cerr << ex.what() << std::endl; } return result; } float Monomer::psi() const { float result = 360; try { if (mIndex + 1 < mPolymer->size()) { auto &next = mPolymer->operator[](mIndex + 1); if (mSeqID + 1 == next.mSeqID) result = static_cast(DihedralAngle(N().location(), CAlpha().location(), C().location(), next.N().location())); } } catch (const std::exception &ex) { if (cif::VERBOSE) std::cerr << ex.what() << std::endl; } return result; } float Monomer::alpha() const { float result = 360; try { if (mIndex >= 1 and mIndex + 2 < mPolymer->size()) { auto &prev = mPolymer->operator[](mIndex - 1); auto &next = mPolymer->operator[](mIndex + 1); auto &nextNext = mPolymer->operator[](mIndex + 2); result = static_cast(DihedralAngle(prev.CAlpha().location(), CAlpha().location(), next.CAlpha().location(), nextNext.CAlpha().location())); } } catch (const std::exception &ex) { if (cif::VERBOSE) std::cerr << ex.what() << std::endl; } return result; } float Monomer::kappa() const { float result = 360; try { if (mIndex >= 2 and mIndex + 2 < mPolymer->size()) { auto &prevPrev = mPolymer->operator[](mIndex - 2); auto &nextNext = mPolymer->operator[](mIndex + 2); if (prevPrev.mSeqID + 4 == nextNext.mSeqID) { double ckap = CosinusAngle(CAlpha().location(), prevPrev.CAlpha().location(), nextNext.CAlpha().location(), CAlpha().location()); double skap = std::sqrt(1 - ckap * ckap); result = static_cast(std::atan2(skap, ckap) * 180 / kPI); } } } catch (const std::exception &ex) { if (cif::VERBOSE) std::cerr << "When trying to calculate kappa for " << asymID() << ':' << seqID() << ": " << ex.what() << std::endl; } return result; } float Monomer::tco() const { float result = 0.0; try { if (mIndex > 0) { auto &prev = mPolymer->operator[](mIndex - 1); if (prev.mSeqID + 1 == mSeqID) result = static_cast(CosinusAngle(C().location(), O().location(), prev.C().location(), prev.O().location())); } } catch (const std::exception &ex) { if (cif::VERBOSE) std::cerr << "When trying to calculate tco for " << asymID() << ':' << seqID() << ": " << ex.what() << std::endl; } return result; } float Monomer::omega() const { float result = 360; try { if (not is_last_in_chain()) result = omega(*this, mPolymer->operator[](mIndex + 1)); } catch (const std::exception &ex) { if (cif::VERBOSE) std::cerr << "When trying to calculate omega for " << asymID() << ':' << seqID() << ": " << ex.what() << std::endl; } return result; } const std::map> kChiAtomsMap = { {"ASP", {"CG", "OD1"}}, {"ASN", {"CG", "OD1"}}, {"ARG", {"CG", "CD", "NE", "CZ"}}, {"HIS", {"CG", "ND1"}}, {"GLN", {"CG", "CD", "OE1"}}, {"GLU", {"CG", "CD", "OE1"}}, {"SER", {"OG"}}, {"THR", {"OG1"}}, {"LYS", {"CG", "CD", "CE", "NZ"}}, {"TYR", {"CG", "CD1"}}, {"PHE", {"CG", "CD1"}}, {"LEU", {"CG", "CD1"}}, {"TRP", {"CG", "CD1"}}, {"CYS", {"SG"}}, {"ILE", {"CG1", "CD1"}}, {"MET", {"CG", "SD", "CE"}}, {"MSE", {"CG", "SE", "CE"}}, {"PRO", {"CG", "CD"}}, {"VAL", {"CG1"}}}; size_t Monomer::nrOfChis() const { size_t result = 0; auto i = kChiAtomsMap.find(mCompoundID); if (i != kChiAtomsMap.end()) result = i->second.size(); return result; } float Monomer::chi(size_t nr) const { float result = 0; try { auto i = kChiAtomsMap.find(mCompoundID); if (i != kChiAtomsMap.end() and nr < i->second.size()) { std::vector atoms{"N", "CA", "CB"}; atoms.insert(atoms.end(), i->second.begin(), i->second.end()); // in case we have a positive chiral volume we need to swap atoms if (chiralVolume() > 0) { if (mCompoundID == "LEU") atoms.back() = "CD2"; if (mCompoundID == "VAL") atoms.back() = "CG2"; } result = static_cast(DihedralAngle( atomByID(atoms[nr + 0]).location(), atomByID(atoms[nr + 1]).location(), atomByID(atoms[nr + 2]).location(), atomByID(atoms[nr + 3]).location())); } } catch (const std::exception &e) { if (cif::VERBOSE) std::cerr << e.what() << std::endl; result = 0; } return result; } bool Monomer::isCis() const { bool result = false; if (mIndex + 1 < mPolymer->size()) { auto &next = mPolymer->operator[](mIndex + 1); result = Monomer::isCis(*this, next); } return result; } bool Monomer::isComplete() const { int seen = 0; for (auto &a : mAtoms) { if (a.labelAtomID() == "CA") seen |= 1; else if (a.labelAtomID() == "C") seen |= 2; else if (a.labelAtomID() == "N") seen |= 4; else if (a.labelAtomID() == "O") seen |= 8; // else if (a.labelAtomID() == "OXT") seen |= 16; } return seen == 15; } bool Monomer::hasAlternateBackboneAtoms() const { bool result = false; for (auto &a : mAtoms) { if (not a.isAlternate()) continue; auto atomID = a.labelAtomID(); if (atomID == "CA" or atomID == "C" or atomID == "N" or atomID == "O") { result = true; break; } } return result; } float Monomer::chiralVolume() const { float result = 0; if (mCompoundID == "LEU") { auto centre = atomByID("CG"); auto atom1 = atomByID("CB"); auto atom2 = atomByID("CD1"); auto atom3 = atomByID("CD2"); result = DotProduct(atom1.location() - centre.location(), CrossProduct(atom2.location() - centre.location(), atom3.location() - centre.location())); } else if (mCompoundID == "VAL") { auto centre = atomByID("CB"); auto atom1 = atomByID("CA"); auto atom2 = atomByID("CG1"); auto atom3 = atomByID("CG2"); result = DotProduct(atom1.location() - centre.location(), CrossProduct(atom2.location() - centre.location(), atom3.location() - centre.location())); } return result; } bool Monomer::areBonded(const Monomer &a, const Monomer &b, float errorMargin) { bool result = false; try { Point atoms[4] = { a.atomByID("CA").location(), a.atomByID("C").location(), b.atomByID("N").location(), b.atomByID("CA").location()}; auto distanceCACA = Distance(atoms[0], atoms[3]); double omega = DihedralAngle(atoms[0], atoms[1], atoms[2], atoms[3]); bool cis = abs(omega) <= 30.0; float maxCACADistance = cis ? 3.0f : 3.8f; result = abs(distanceCACA - maxCACADistance) < errorMargin; } catch (...) { } return result; } float Monomer::omega(const mmcif::Monomer &a, const mmcif::Monomer &b) { float result = 360; try { result = static_cast(DihedralAngle( a.atomByID("CA").location(), a.atomByID("C").location(), b.atomByID("N").location(), b.atomByID("CA").location())); } catch (...) { } return result; } bool Monomer::isCis(const mmcif::Monomer &a, const mmcif::Monomer &b) { return omega(a, b) < 30.0f; } // -------------------------------------------------------------------- // polymer // //Polymer::iterator::iterator(const Polymer& p, uint32_t index) // : mPolymer(&p), mIndex(index), mCurrent(p, index) //{ // auto& polySeq = mPolymer->mPolySeq; // // if (index < polySeq.size()) // { // int seqID; // std::string asymID, monID; // cif::tie(asymID, seqID, monID) = // polySeq[mIndex].get("asym_id", "seq_id", "mon_id"); // // mCurrent = Monomer(*mPolymer, index, seqID, monID, ""); // } //} // //Monomer Polymer::operator[](size_t index) const //{ // if (index >= mPolySeq.size()) // throw out_of_range("Invalid index for residue in polymer"); // // std::string compoundID; // int seqID; // // auto r = mPolySeq[index]; // // cif::tie(seqID, compoundID) = // r.get("seq_id", "mon_id"); // // return Monomer(const_cast(*this), index, seqID, compoundID, ""); //} // //Polymer::iterator::iterator(const iterator& rhs) // : mPolymer(rhs.mPolymer), mIndex(rhs.mIndex), mCurrent(rhs.mCurrent) //{ //} // //Polymer::iterator& Polymer::iterator::operator++() //{ // auto& polySeq = mPolymer->mPolySeq; // // if (mIndex < polySeq.size()) // ++mIndex; // // if (mIndex < polySeq.size()) // { // int seqID; // std::string asymID, monID; // cif::tie(asymID, seqID, monID) = // polySeq[mIndex].get("asym_id", "seq_id", "mon_id"); // // mCurrent = Monomer(*mPolymer, mIndex, seqID, monID, ""); // } // // return *this; //} //Polymer::Polymer(const Structure& s, const std::string& asymID) // : mStructure(const_cast(&s)), mAsymID(asymID) // , mPolySeq(s.category("pdbx_poly_seq_scheme").find(cif::Key("asym_id") == mAsymID)) //{ // mEntityID = mPolySeq.front()["entity_id"].as(); // //#if DEBUG // for (auto r: mPolySeq) // assert(r["entity_id"] == mEntityID); //#endif // //} //Polymer::Polymer(Polymer&& rhs) // : std::vector(std::move(rhs)) // , mStructure(rhs.mStructure) // , mEntityID(std::move(rhs.mEntityID)), mAsymID(std::move(rhs.mAsymID)), mPolySeq(std::move(rhs.mPolySeq)) //{ // rhs.mStructure = nullptr; //} // //Polymer& Polymer::operator=(Polymer&& rhs) //{ // std::vector::operator=(std::move(rhs)); // mStructure = rhs.mStructure; rhs.mStructure = nullptr; // mEntityID = std::move(rhs.mEntityID); // mAsymID = std::move(rhs.mAsymID); // mPolySeq = std::move(rhs.mPolySeq); // return *this; //} Polymer::Polymer(const Structure &s, const std::string &entityID, const std::string &asymID) : mStructure(const_cast(&s)) , mEntityID(entityID) , mAsymID(asymID) , mPolySeq(s.category("pdbx_poly_seq_scheme"), cif::Key("asym_id") == mAsymID and cif::Key("entity_id") == mEntityID) { std::map ix; reserve(mPolySeq.size()); for (auto r : mPolySeq) { int seqID; std::string compoundID, authSeqID; cif::tie(seqID, authSeqID, compoundID) = r.get("seq_id", "auth_seq_num", "mon_id"); size_t index = size(); // store only the first if (not ix.count(seqID)) { ix[seqID] = index; emplace_back(*this, index, seqID, authSeqID, compoundID); } else if (cif::VERBOSE) { Monomer m{*this, index, seqID, authSeqID, compoundID}; std::cerr << "Dropping alternate residue " << m << std::endl; } } } std::string Polymer::chainID() const { return mPolySeq.front()["pdb_strand_id"].as(); } Monomer &Polymer::getBySeqID(int seqID) { for (auto &m : *this) if (m.seqID() == seqID) return m; throw std::runtime_error("Monomer with seqID " + std::to_string(seqID) + " not found in polymer " + mAsymID); } const Monomer &Polymer::getBySeqID(int seqID) const { for (auto &m : *this) if (m.seqID() == seqID) return m; throw std::runtime_error("Monomer with seqID " + std::to_string(seqID) + " not found in polymer " + mAsymID); } int Polymer::Distance(const Monomer &a, const Monomer &b) const { int result = std::numeric_limits::max(); if (a.asymID() == b.asymID()) { int ixa = std::numeric_limits::max(), ixb = std::numeric_limits::max(); int ix = 0, f = 0; for (auto &m : *this) { if (m.seqID() == a.seqID()) ixa = ix, ++f; if (m.seqID() == b.seqID()) ixb = ix, ++f; if (f == 2) { result = abs(ixa - ixb); break; } } } return result; } // -------------------------------------------------------------------- // File File::File() : mImpl(new FileImpl) { } File::File(const char *data, size_t length) : mImpl(new FileImpl) { mImpl->load_data(data, length); } File::File(const std::filesystem::path &File) : mImpl(new FileImpl) { load(File); } File::~File() { delete mImpl; } cif::Datablock& File::createDatablock(const std::string &name) { auto db = new cif::Datablock(name); mImpl->mData.append(db); mImpl->mDb = db; return *mImpl->mDb; } void File::load(const std::filesystem::path &p) { mImpl->load(p); } void File::save(const std::filesystem::path &file) { mImpl->save(file); } cif::Datablock &File::data() { assert(mImpl); assert(mImpl->mDb); if (mImpl == nullptr or mImpl->mDb == nullptr) throw std::runtime_error("No data loaded"); return *mImpl->mDb; } cif::File &File::file() { assert(mImpl); if (mImpl == nullptr) throw std::runtime_error("No data loaded"); return mImpl->mData; } // -------------------------------------------------------------------- // Structure Structure::Structure(File &f, size_t modelNr, StructureOpenOptions options) : mFile(f) , mModelNr(modelNr) { auto db = mFile.impl().mDb; if (db == nullptr) throw std::logic_error("Empty file!"); auto &atomCat = (*db)["atom_site"]; loadAtomsForModel(options); // Check to see if we should actually load another model? if (mAtoms.empty() and mModelNr == 1) { std::optional model_nr; cif::tie(model_nr) = atomCat.front().get("pdbx_PDB_model_num"); if (model_nr and *model_nr != mModelNr) { if (cif::VERBOSE) std::cerr << "No atoms loaded for model 1, trying model " << *model_nr << std::endl; mModelNr = *model_nr; loadAtomsForModel(options); } } if (mAtoms.empty()) std::cerr << "Warning: no atoms loaded" << std::endl; else loadData(); } void Structure::loadAtomsForModel(StructureOpenOptions options) { auto db = mFile.impl().mDb; auto &atomCat = (*db)["atom_site"]; for (auto &a : atomCat) { std::string id, type_symbol; std::optional model_nr; cif::tie(id, type_symbol, model_nr) = a.get("id", "type_symbol", "pdbx_PDB_model_num"); if (model_nr and *model_nr != mModelNr) continue; if ((options bitand StructureOpenOptions::SkipHydrogen) and type_symbol == "H") continue; mAtoms.emplace_back(new AtomImpl(*db, id, a)); } } Structure::Structure(const Structure &s) : mFile(s.mFile) , mModelNr(s.mModelNr) { mAtoms.reserve(s.mAtoms.size()); for (auto &atom : s.mAtoms) mAtoms.emplace_back(atom.clone()); loadData(); } Structure::~Structure() { } void Structure::loadData() { updateAtomIndex(); auto &polySeqScheme = category("pdbx_poly_seq_scheme"); for (auto &r : polySeqScheme) { std::string asymID, entityID, seqID, monID; cif::tie(asymID, entityID, seqID, monID) = r.get("asym_id", "entity_id", "seq_id", "mon_id"); if (mPolymers.empty() or mPolymers.back().asymID() != asymID or mPolymers.back().entityID() != entityID) mPolymers.emplace_back(*this, entityID, asymID); } auto &nonPolyScheme = category("pdbx_nonpoly_scheme"); for (auto &r : nonPolyScheme) { std::string asymID, monID, pdbSeqNum; cif::tie(asymID, monID, pdbSeqNum) = r.get("asym_id", "mon_id", "pdb_seq_num"); if (monID == "HOH") mNonPolymers.emplace_back(*this, monID, asymID, pdbSeqNum); else if (mNonPolymers.empty() or mNonPolymers.back().asymID() != asymID) mNonPolymers.emplace_back(*this, monID, asymID); } auto &branchScheme = category("pdbx_branch_scheme"); for (auto &r : branchScheme) { std::string asymID, monID, num; cif::tie(asymID, monID, num) = r.get("asym_id", "mon_id", "num"); mBranchResidues.emplace_back(*this, monID, asymID, num); } } void Structure::updateAtomIndex() { mAtomIndex = std::vector(mAtoms.size()); iota(mAtomIndex.begin(), mAtomIndex.end(), 0); sort(mAtomIndex.begin(), mAtomIndex.end(), [this](size_t a, size_t b) { return mAtoms[a].id() < mAtoms[b].id(); }); } void Structure::sortAtoms() { sort(mAtoms.begin(), mAtoms.end(), [](auto &a, auto &b) { return a.compare(b) < 0; }); int id = 1; for (auto &atom : mAtoms) { atom.setID(id); ++id; } updateAtomIndex(); } AtomView Structure::waters() const { AtomView result; auto &db = datablock(); // Get the entity id for water auto &entityCat = db["entity"]; std::string waterEntityID; for (auto &e : entityCat) { std::string id, type; cif::tie(id, type) = e.get("id", "type"); if (ba::iequals(type, "water")) { waterEntityID = id; break; } } for (auto &a : mAtoms) { if (a.property("label_entity_id") == waterEntityID) result.push_back(a); } return result; } Atom Structure::getAtomByID(std::string id) const { auto i = std::lower_bound(mAtomIndex.begin(), mAtomIndex.end(), id, [this](auto &a, auto &b) { return mAtoms[a].id() < b; }); // auto i = find_if(mAtoms.begin(), mAtoms.end(), // [&id](auto& a) { return a.id() == id; }); if (i == mAtomIndex.end() or mAtoms[*i].id() != id) throw std::out_of_range("Could not find atom with id " + id); return mAtoms[*i]; } Atom Structure::getAtomByLabel(const std::string &atomID, const std::string &asymID, const std::string &compID, int seqID, const std::string &altID) { for (auto &a : mAtoms) { if (a.labelAtomID() == atomID and a.labelAsymID() == asymID and a.labelCompID() == compID and a.labelSeqID() == seqID and a.labelAltID() == altID) { return a; } } throw std::out_of_range("Could not find atom with specified label"); } const Residue &Structure::getResidue(const std::string &asymID, const std::string &compID, int seqID) const { for (auto &poly : mPolymers) { if (poly.asymID() != asymID) continue; for (auto &res : poly) { if (res.seqID() == seqID and res.compoundID() == compID) return res; } } if (seqID == 0) { for (auto &res : mNonPolymers) { if (res.asymID() != asymID or res.compoundID() != compID) continue; return res; } } for (auto &res : mBranchResidues) { if (res.asymID() != asymID or res.compoundID() != compID or res.seqID() != seqID) continue; return res; } throw std::out_of_range("Could not find residue " + asymID + '/' + std::to_string(seqID)); } File &Structure::getFile() const { return mFile; } cif::Category &Structure::category(const char *name) const { auto &db = datablock(); return db[name]; } std::tuple Structure::MapLabelToAuth( const std::string &asymID, int seqID) const { auto &db = *getFile().impl().mDb; std::tuple result; bool found = false; for (auto r : db["pdbx_poly_seq_scheme"].find( cif::Key("asym_id") == asymID and cif::Key("seq_id") == seqID)) { std::string auth_asym_id, pdb_ins_code, pdb_seq_num, auth_seq_num; cif::tie(auth_asym_id, auth_seq_num, pdb_seq_num, pdb_ins_code) = r.get("pdb_strand_id", "auth_seq_num", "pdb_seq_num", "pdb_ins_code"); if (auth_seq_num.empty()) auth_seq_num = pdb_seq_num; try { result = std::make_tuple(auth_asym_id.front(), std::stoi(auth_seq_num), pdb_ins_code.empty() ? ' ' : pdb_ins_code.front()); } catch (const std::exception &ex) { result = std::make_tuple(auth_asym_id.front(), 0, pdb_ins_code.empty() ? ' ' : pdb_ins_code.front()); } found = true; break; } if (not found) { auto r = db["pdbx_nonpoly_scheme"].find(cif::Key("asym_id") == asymID); if (r.size() == 1) { std::string pdb_strand_id, pdb_ins_code; int pdb_seq_num; cif::tie(pdb_strand_id, pdb_seq_num, pdb_ins_code) = r.front().get("pdb_strand_id", "pdb_seq_num", "pdb_ins_code"); result = std::make_tuple(pdb_strand_id.front(), pdb_seq_num, pdb_ins_code.empty() ? ' ' : pdb_ins_code.front()); found = true; } } return result; } std::tuple Structure::MapLabelToPDB( const std::string &asymID, int seqID, const std::string &monID, const std::string &authSeqID) const { auto &db = datablock(); std::tuple result; if (monID == "HOH") { for (auto r : db["pdbx_nonpoly_scheme"].find( cif::Key("asym_id") == asymID and cif::Key("pdb_seq_num") == authSeqID and cif::Key("mon_id") == monID)) { result = r.get("pdb_strand_id", "pdb_seq_num", "pdb_mon_id", "pdb_ins_code"); break; } } else { for (auto r : db["pdbx_poly_seq_scheme"].find( cif::Key("asym_id") == asymID and cif::Key("seq_id") == seqID and cif::Key("mon_id") == monID)) { result = r.get("pdb_strand_id", "pdb_seq_num", "pdb_mon_id", "pdb_ins_code"); break; } for (auto r : db["pdbx_nonpoly_scheme"].find( cif::Key("asym_id") == asymID and cif::Key("mon_id") == monID)) { result = r.get("pdb_strand_id", "pdb_seq_num", "pdb_mon_id", "pdb_ins_code"); break; } } return result; } std::tuple Structure::MapPDBToLabel(const std::string &asymID, int seqID, const std::string &compID, const std::string &iCode) const { auto &db = datablock(); std::tuple result; if (iCode.empty()) { for (auto r : db["pdbx_poly_seq_scheme"].find( cif::Key("pdb_strand_id") == asymID and cif::Key("pdb_seq_num") == seqID and cif::Key("pdb_mon_id") == compID and cif::Key("pdb_ins_code") == cif::Empty())) { result = r.get("asym_id", "seq_id", "mon_id"); break; } for (auto r : db["pdbx_nonpoly_scheme"].find( cif::Key("pdb_strand_id") == asymID and cif::Key("pdb_seq_num") == seqID and cif::Key("pdb_mon_id") == compID and cif::Key("pdb_ins_code") == cif::Empty())) { result = r.get("asym_id", "ndb_seq_num", "mon_id"); break; } } else { for (auto r : db["pdbx_poly_seq_scheme"].find( cif::Key("pdb_strand_id") == asymID and cif::Key("pdb_seq_num") == seqID and cif::Key("pdb_mon_id") == compID and cif::Key("pdb_ins_code") == iCode)) { result = r.get("asym_id", "seq_id", "mon_id"); break; } for (auto r : db["pdbx_nonpoly_scheme"].find( cif::Key("pdb_strand_id") == asymID and cif::Key("pdb_seq_num") == seqID and cif::Key("pdb_mon_id") == compID and cif::Key("pdb_ins_code") == iCode)) { result = r.get("asym_id", "ndb_seq_num", "mon_id"); break; } } return result; } cif::Datablock &Structure::datablock() const { return *mFile.impl().mDb; } std::string Structure::insertCompound(const std::string &compoundID, bool isEntity) { using namespace cif::literals; auto compound = CompoundFactory::instance().create(compoundID); if (compound == nullptr) throw std::runtime_error("Trying to insert unknown compound " + compoundID + " (not found in CCD)"); cif::Datablock &db = *mFile.impl().mDb; auto &chemComp = db["chem_comp"]; auto r = chemComp.find(cif::Key("id") == compoundID); if (r.empty()) { chemComp.emplace({ {"id", compoundID}, {"name", compound->name()}, {"formula", compound->formula()}, {"formula_weight", compound->formulaWeight()}, {"type", compound->type()}}); } std::string entity_id; if (isEntity) { auto &pdbxEntityNonpoly = db["pdbx_entity_nonpoly"]; try { entity_id = pdbxEntityNonpoly.find1("comp_id"_key == compoundID, "entity_id"); } catch(const std::exception& ex) { auto &entity = db["entity"]; entity_id = entity.getUniqueID(""); entity.emplace({ {"id", entity_id}, {"type", "non-polymer"}, {"pdbx_description", compound->name()}, {"formula_weight", compound->formulaWeight()}}); pdbxEntityNonpoly.emplace({ {"entity_id", entity_id}, {"name", compound->name()}, {"comp_id", compoundID}}); } } return entity_id; } // // -------------------------------------------------------------------- // Structure::residue_iterator::residue_iterator(const Structure* s, poly_iterator polyIter, size_t polyResIndex, size_t nonPolyIndex) // : mStructure(*s), mPolyIter(polyIter), mPolyResIndex(polyResIndex), mNonPolyIndex(nonPolyIndex) // { // while (mPolyIter != mStructure.mPolymers.end() and mPolyResIndex == mPolyIter->size()) // ++mPolyIter; // } // auto Structure::residue_iterator::operator*() -> reference // { // if (mPolyIter != mStructure.mPolymers.end()) // return (*mPolyIter)[mPolyResIndex]; // else // return mStructure.mNonPolymers[mNonPolyIndex]; // } // auto Structure::residue_iterator::operator->() -> pointer // { // if (mPolyIter != mStructure.mPolymers.end()) // return &(*mPolyIter)[mPolyResIndex]; // else // return &mStructure.mNonPolymers[mNonPolyIndex]; // } // Structure::residue_iterator& Structure::residue_iterator::operator++() // { // if (mPolyIter != mStructure.mPolymers.end()) // { // ++mPolyResIndex; // if (mPolyResIndex >= mPolyIter->size()) // { // ++mPolyIter; // mPolyResIndex = 0; // } // } // else // ++mNonPolyIndex; // return *this; // } // Structure::residue_iterator Structure::residue_iterator::operator++(int) // { // auto result = *this; // operator++(); // return result; // } // bool Structure::residue_iterator::operator==(const Structure::residue_iterator& rhs) const // { // return mPolyIter == rhs.mPolyIter and mPolyResIndex == rhs.mPolyResIndex and mNonPolyIndex == rhs.mNonPolyIndex; // } // bool Structure::residue_iterator::operator!=(const Structure::residue_iterator& rhs) const // { // return mPolyIter != rhs.mPolyIter or mPolyResIndex != rhs.mPolyResIndex or mNonPolyIndex != rhs.mNonPolyIndex; // } // -------------------------------------------------------------------- void Structure::removeAtom(Atom &a) { cif::Datablock &db = *mFile.impl().mDb; auto &atomSites = db["atom_site"]; for (auto i = atomSites.begin(); i != atomSites.end(); ++i) { std::string id; cif::tie(id) = i->get("id"); if (id == a.id()) { atomSites.erase(i); break; } } mAtoms.erase(remove(mAtoms.begin(), mAtoms.end(), a), mAtoms.end()); updateAtomIndex(); } void Structure::swapAtoms(Atom &a1, Atom &a2) { cif::Datablock &db = *mFile.impl().mDb; auto &atomSites = db["atom_site"]; auto rs1 = atomSites.find(cif::Key("id") == a1.id()); auto rs2 = atomSites.find(cif::Key("id") == a2.id()); if (rs1.size() != 1) throw std::runtime_error("Cannot swap atoms since the number of atoms with id " + a1.id() + " is " + std::to_string(rs1.size())); if (rs2.size() != 1) throw std::runtime_error("Cannot swap atoms since the number of atoms with id " + a2.id() + " is " + std::to_string(rs2.size())); auto r1 = rs1.front(); auto r2 = rs2.front(); auto l1 = r1["label_atom_id"]; auto l2 = r2["label_atom_id"]; l1.swap(l2); a1.impl()->swapAtomLabels(*a2.impl()); auto l3 = r1["auth_atom_id"]; auto l4 = r2["auth_atom_id"]; l3.swap(l4); } void Structure::moveAtom(Atom &a, Point p) { a.location(p); } void Structure::changeResidue(const Residue &res, const std::string &newCompound, const std::vector> &remappedAtoms) { using namespace cif::literals; cif::Datablock &db = *mFile.impl().mDb; std::string asymID = res.asymID(); const auto compound = CompoundFactory::instance().create(newCompound); if (not compound) throw std::runtime_error("Unknown compound " + newCompound); // First make sure the compound is already known or insert it. // And if the residue is an entity, we must make sure it exists std::string entityID; if (res.isEntity()) { // create a copy of the entity first auto &entity = db["entity"]; try { entityID = entity.find1("type"_key == "non-polymer" and "pdbx_description"_key == compound->name(), "id"); } catch (const std::exception &ex) { entityID = entity.getUniqueID(""); entity.emplace({{"id", entityID}, {"type", "non-polymer"}, {"pdbx_description", compound->name()}, {"formula_weight", compound->formulaWeight()}}); } auto &pdbxEntityNonpoly = db["pdbx_entity_nonpoly"]; pdbxEntityNonpoly.emplace({{"entity_id", entityID}, {"name", compound->name()}, {"comp_id", newCompound}}); auto &pdbxNonPolyScheme = db["pdbx_nonpoly_scheme"]; for (auto &nps : pdbxNonPolyScheme.find("asym_id"_key == asymID)) { nps.assign("mon_id", newCompound, true); nps.assign("auth_mon_id", newCompound, true); nps.assign("entity_id", entityID, true); } // create rest auto &chemComp = db["chem_comp"]; if (not chemComp.exists(cif::Key("id") == newCompound)) { chemComp.emplace({{"id", newCompound}, {"name", compound->name()}, {"formula", compound->formula()}, {"formula_weight", compound->formulaWeight()}, {"type", compound->type()}}); } // update the struct_asym for the new entity db["struct_asym"].update_value("id"_key == asymID, "entity_id", entityID); } else insertCompound(newCompound, false); auto &atomSites = db["atom_site"]; auto atoms = res.atoms(); for (auto &a : remappedAtoms) { std::string a1, a2; tie(a1, a2) = a; auto i = find_if(atoms.begin(), atoms.end(), [&](const Atom &a) { return a.labelAtomID() == a1; }); if (i == atoms.end()) { std::cerr << "Missing atom for atom ID " << a1 << std::endl; continue; } auto r = atomSites.find(cif::Key("id") == i->id()); if (r.size() != 1) continue; if (a1 != a2) r.front()["label_atom_id"] = a2; } for (auto a : atoms) { atomSites.update_value(cif::Key("id") == a.id(), "label_comp_id", newCompound); atomSites.update_value(cif::Key("id") == a.id(), "auth_comp_id", newCompound); } } std::string Structure::createNonPolyEntity(const std::string &comp_id) { return insertCompound(comp_id, true); } std::string Structure::createNonpoly(const std::string &entity_id, const std::vector &atoms) { using namespace cif::literals; cif::Datablock &db = *mFile.impl().mDb; auto &struct_asym = db["struct_asym"]; std::string asym_id = struct_asym.getUniqueID(); struct_asym.emplace({ { "id", asym_id }, { "pdbx_blank_PDB_chainid_flag", "N" }, { "pdbx_modified", "N" }, { "entity_id", entity_id }, { "details", "?" } }); std::string comp_id = db["pdbx_entity_nonpoly"].find1("entity_id"_key == entity_id, "comp_id"); auto &atom_site = db["atom_site"]; for (auto& atom: atoms) { auto atom_id = atom_site.getUniqueID(""); auto &&[row, inserted ] = atom_site.emplace({ { "group_PDB", atom.property("group_PDB") }, { "id", atom_id }, { "type_symbol", atom.property("type_symbol") }, { "label_atom_id", atom.property("label_atom_id") }, { "label_alt_id", atom.property("label_alt_id") }, { "label_comp_id", comp_id }, { "label_asym_id", asym_id }, { "label_entity_id", entity_id }, { "label_seq_id", "." }, { "pdbx_PDB_ins_code", "" }, { "Cartn_x", atom.property("Cartn_x") }, { "Cartn_y", atom.property("Cartn_y") }, { "Cartn_z", atom.property("Cartn_z") }, { "occupancy", atom.property("occupancy") }, { "B_iso_or_equiv", atom.property("B_iso_or_equiv") }, { "pdbx_formal_charge", atom.property("pdbx_formal_charge") }, { "auth_seq_id", "" }, { "auth_comp_id", comp_id }, { "auth_asym_id", asym_id }, { "auth_atom_id", atom.property("label_atom_id") }, { "pdbx_PDB_model_num", 1 } }); mAtoms.emplace_back(new AtomImpl(db, atom_id, row)); } mNonPolymers.emplace_back(*this, comp_id, asym_id); return asym_id; } void Structure::cleanupEmptyCategories() { using namespace cif::literals; cif::Datablock &db = *mFile.impl().mDb; auto &atomSite = db["atom_site"]; // Remove chem_comp's for which there are no atoms at all auto &chem_comp = db["chem_comp"]; cif::RowSet obsoleteChemComps(chem_comp); for (auto chemComp : chem_comp) { std::string compID = chemComp["id"].as(); if (atomSite.exists("label_comp_id"_key == compID or "auth_comp_id"_key == compID)) continue; obsoleteChemComps.push_back(chemComp); } for (auto chemComp : obsoleteChemComps) chem_comp.erase(chemComp); // similarly, remove entities not referenced by any atom auto &entities = db["entity"]; cif::RowSet obsoleteEntities(entities); for (auto entity : entities) { std::string entityID = entity["id"].as(); if (atomSite.exists("label_entity_id"_key == entityID)) continue; obsoleteEntities.push_back(entity); } for (auto entity : obsoleteEntities) entities.erase(entity); // the rest? for (const char *cat : {"pdbx_entity_nonpoly"}) { auto &category = db[cat]; cif::RowSet empty(category); for (auto row : category) { if (not category.hasChildren(row) and not category.hasParents(row)) empty.push_back(row); } for (auto row : empty) category.erase(row); } // count molecules for (auto entity : entities) { std::string type, id; cif::tie(type, id) = entity.get("type", "id"); std::optional count; if (type == "polymer") count = db["entity_poly"].find("entity_id"_key == id).size(); else if (type == "non-polymer" or type == "water") count = db["pdbx_nonpoly_scheme"].find("entity_id"_key == id).size(); else if (type == "branched") { // is this correct? std::set asym_ids; for (const auto &[ asym_id ] : db["pdbx_branch_scheme"].find("entity_id"_key == id, "asym_id")) asym_ids.insert(asym_id); count = asym_ids.size(); } entity["pdbx_number_of_molecules"] = count; } } void Structure::translate(Point t) { for (auto& a: mAtoms) a.translate(t); } void Structure::rotate(Quaternion q) { for (auto& a: mAtoms) a.rotate(q); } } // namespace mmcif libcifpp-2.0.5/src/SymOpTable_data.hpp0000664000175000017500000222476114200173347017477 0ustar maartenmaarten// This file was generated from $CLIBD/symop.lib // and $CLIBD/syminfo.lib using symop-map-generator, // part of the PDB-REDO suite of programs. #include "cif++/Symmetry.hpp" namespace mmcif { const Spacegroup kSpaceGroups[] = { { "" , "P 2 1 1" , " P 2y (y,z,x)" , 10005 }, { "" , "P 21 1 1" , " P 2yb (y,z,x)" , 10008 }, { "" , "A 1 1 2" , " C 2y (z,x,y)" , 10012 }, { "" , "I 1 1 2" , " C 2y (-x+z,x,y)" , 10014 }, { "" , "B 2 1 1" , " C 2y (y,z,x)" , 10015 }, { "" , "C 2 1 1" , " C 2y (y,-x,z)" , 10016 }, { "" , "I 2 1 1" , " C 2y (y,-x+z,x)" , 10017 }, { "" , "P m 1 1" , " P -2y (y,z,x)" , 10020 }, { "" , "P 1 n 1" , " P -2yc (x-z,y,z)" , 10022 }, { "" , "P 1 a 1" , " P -2yc (z,y,-x)" , 10023 }, { "" , "P 1 1 a" , " P -2yc (z,x,y)" , 10024 }, { "" , "P 1 1 n" , " P -2yc (z,x-z,y)" , 10025 }, { "" , "P b 1 1" , " P -2yc (y,z,x)" , 10027 }, { "" , "P n 1 1" , " P -2yc (y,z,x-z)" , 10028 }, { "" , "P c 1 1" , " P -2yc (y,-x,z)" , 10029 }, { "" , "A 1 m 1" , " C -2y (z,y,-x)" , 10031 }, { "" , "I 1 m 1" , " C -2y (x,y,-x+z)" , 10032 }, { "" , "A 1 1 m" , " C -2y (z,x,y)" , 10033 }, { "" , "B 1 1 m" , " C -2y (-x,z,y)" , 10034 }, { "" , "I 1 1 m" , " C -2y (-x+z,x,y)" , 10035 }, { "" , "B m 1 1" , " C -2y (y,z,x)" , 10036 }, { "" , "C m 1 1" , " C -2y (y,-x,z)" , 10037 }, { "" , "I m 1 1" , " C -2y (y,-x+z,x)" , 10038 }, { "" , "A 1 n 1" , " C -2yc (z,y,-x+z)" , 10040 }, { "" , "I 1 a 1" , " C -2yc (x+z,y,-x)" , 10041 }, { "" , "A 1 a 1" , " C -2yc (z,y,-x)" , 10042 }, { "" , "C 1 n 1" , " C -2yc (x+1/4,y+1/4,z)" , 10043 }, { "" , "I 1 c 1" , " C -2yc (x,y,-x+z)" , 10044 }, { "" , "A 1 1 a" , " C -2yc (z,x,y)" , 10045 }, { "" , "B 1 1 n" , " C -2yc (-x+z,z,y)" , 10046 }, { "" , "I 1 1 b" , " C -2yc (-x,x+z,y)" , 10047 }, { "" , "A 1 1 n" , " C -2yc (z,x-z,y)" , 10049 }, { "" , "I 1 1 a" , " C -2yc (-x+z,x,y)" , 10050 }, { "" , "B b 1 1" , " C -2yc (y,z,x)" , 10051 }, { "" , "C n 1 1" , " C -2yc (y,-x+z,z)" , 10052 }, { "" , "I c 1 1" , " C -2yc (y,-x,x+z)" , 10053 }, { "" , "C c 1 1" , " C -2yc (y,-x,z)" , 10054 }, { "" , "B n 1 1" , " C -2yc (y,z,x-z)" , 10055 }, { "" , "I b 1 1" , " C -2yc (y,-x+z,x)" , 10056 }, { "" , "P 2/m 1 1" , "-P 2y (y,z,x)" , 10059 }, { "" , "P 21/m 1 1" , "-P 2yb (y,z,x)" , 10062 }, { "" , "A 1 2/m 1" , "-C 2y (z,y,-x)" , 10064 }, { "" , "I 1 2/m 1" , "-C 2y (x,y,-x+z)" , 10065 }, { "" , "A 1 1 2/m" , "-C 2y (z,x,y)" , 10066 }, { "" , "I 1 1 2/m" , "-C 2y (-x+z,x,y)" , 10068 }, { "" , "B 2/m 1 1" , "-C 2y (y,z,x)" , 10069 }, { "" , "C 2/m 1 1" , "-C 2y (y,-x,z)" , 10070 }, { "" , "I 2/m 1 1" , "-C 2y (y,-x+z,x)" , 10071 }, { "" , "P 1 2/n 1" , "-P 2yc (x-z,y,z)" , 10073 }, { "" , "P 1 2/a 1" , "-P 2yc (z,y,-x)" , 10074 }, { "" , "P 1 1 2/a" , "-P 2yc (z,x,y)" , 10075 }, { "" , "P 1 1 2/n" , "-P 2yc (z,x-z,y)" , 10076 }, { "" , "P 2/b 1 1" , "-P 2yc (y,z,x)" , 10078 }, { "" , "P 2/n 1 1" , "-P 2yc (y,z,x-z)" , 10079 }, { "" , "P 2/c 1 1" , "-P 2yc (y,-x,z)" , 10080 }, { "" , "P 1 1 21/a" , "-P 2ybc (z,x,y)" , 10084 }, { "" , "P 1 1 21/n" , "-P 2ybc (z,x-z,y)" , 10085 }, { "" , "P 21/b 1 1" , "-P 2ybc (y,z,x)" , 10087 }, { "" , "P 21/n 1 1" , "-P 2ybc (y,z,x-z)" , 10088 }, { "" , "P 21/c 1 1" , "-P 2ybc (y,-x,z)" , 10089 }, { "" , "A 1 2/n 1" , "-C 2yc (z,y,-x+z)" , 10091 }, { "" , "I 1 2/a 1" , "-C 2yc (x+z,y,-x)" , 10092 }, { "" , "A 1 2/a 1" , "-C 2yc (z,y,-x)" , 10093 }, { "" , "C 1 2/n 1" , "-C 2yc (x+1/4,y-1/4,z)" , 10094 }, { "" , "I 1 2/c 1" , "-C 2yc (x,y,-x+z)" , 10095 }, { "" , "A 1 1 2/a" , "-C 2yc (z,x,y)" , 10096 }, { "" , "B 1 1 2/n" , "-C 2yc (-x+z,z,y)" , 10097 }, { "" , "I 1 1 2/b" , "-C 2yc (-x,x+z,y)" , 10098 }, { "" , "A 1 1 2/n" , "-C 2yc (z,x-z,y)" , 10100 }, { "" , "I 1 1 2/a" , "-C 2yc (-x+z,x,y)" , 10101 }, { "" , "B 2/b 1 1" , "-C 2yc (y,z,x)" , 10102 }, { "" , "C 2/n 1 1" , "-C 2yc (y,-x+z,z)" , 10103 }, { "" , "I 2/c 1 1" , "-C 2yc (y,-x,x+z)" , 10104 }, { "" , "C 2/c 1 1" , "-C 2yc (y,-x,z)" , 10105 }, { "" , "B 2/n 1 1" , "-C 2yc (y,z,x-z)" , 10106 }, { "" , "I 2/b 1 1" , "-C 2yc (y,-x+z,x)" , 10107 }, { "" , "A 21 2 2" , " C 2c 2 (z,x,y)" , 10117 }, { "" , "B 2 21 2" , " C 2c 2 (y,z,x)" , 10118 }, { "" , "A 2 2 2" , " C 2 2 (z,x,y)" , 10120 }, { "" , "B 2 2 2" , " C 2 2 (y,z,x)" , 10121 }, { "" , "P 2 m m" , " P 2 -2 (z,x,y)" , 10126 }, { "" , "P m 2 m" , " P 2 -2 (y,z,x)" , 10127 }, { "" , "P c m 21" , " P 2c -2 (y,-x,z)" , 10129 }, { "" , "P 21 m a" , " P 2c -2 (z,x,y)" , 10130 }, { "" , "P 21 a m" , " P 2c -2 (z,y,-x)" , 10131 }, { "" , "P b 21 m" , " P 2c -2 (y,z,x)" , 10132 }, { "" , "P m 21 b" , " P 2c -2 (-x,z,y)" , 10133 }, { "" , "P 2 a a" , " P 2 -2c (z,x,y)" , 10135 }, { "" , "P b 2 b" , " P 2 -2c (y,z,x)" , 10136 }, { "" , "P b m 2" , " P 2 -2a (y,-x,z)" , 10138 }, { "" , "P 2 m b" , " P 2 -2a (z,x,y)" , 10139 }, { "" , "P 2 c m" , " P 2 -2a (z,y,-x)" , 10140 }, { "" , "P c 2 m" , " P 2 -2a (y,z,x)" , 10141 }, { "" , "P m 2 a" , " P 2 -2a (-x,z,y)" , 10142 }, { "" , "P b c 21" , " P 2c -2ac (y,-x,z)" , 10144 }, { "" , "P 21 a b" , " P 2c -2ac (z,x,y)" , 10145 }, { "" , "P 21 c a" , " P 2c -2ac (z,y,-x)" , 10146 }, { "" , "P c 21 b" , " P 2c -2ac (y,z,x)" , 10147 }, { "" , "P b 21 a" , " P 2c -2ac (-x,z,y)" , 10148 }, { "" , "P c n 2" , " P 2 -2bc (y,-x,z)" , 10150 }, { "" , "P 2 n a" , " P 2 -2bc (z,x,y)" , 10151 }, { "" , "P 2 a n" , " P 2 -2bc (z,y,-x)" , 10152 }, { "" , "P b 2 n" , " P 2 -2bc (y,z,x)" , 10153 }, { "" , "P n 2 b" , " P 2 -2bc (-x,z,y)" , 10154 }, { "" , "P n m 21" , " P 2ac -2 (y,-x,z)" , 10156 }, { "" , "P 21 m n" , " P 2ac -2 (z,x,y)" , 10157 }, { "" , "P 21 n m" , " P 2ac -2 (z,y,-x)" , 10158 }, { "" , "P n 21 m" , " P 2ac -2 (y,z,x)" , 10159 }, { "" , "P m 21 n" , " P 2ac -2 (-x,z,y)" , 10160 }, { "" , "P 2 c b" , " P 2 -2ab (z,x,y)" , 10162 }, { "" , "P c 2 a" , " P 2 -2ab (y,z,x)" , 10163 }, { "" , "P b n 21" , " P 2c -2n (y,-x,z)" , 10165 }, { "" , "P 21 n b" , " P 2c -2n (z,x,y)" , 10166 }, { "" , "P 21 c n" , " P 2c -2n (z,y,-x)" , 10167 }, { "" , "P c 21 n" , " P 2c -2n (y,z,x)" , 10168 }, { "" , "P n 21 a" , " P 2c -2n (-x,z,y)" , 10169 }, { "" , "P 2 n n" , " P 2 -2n (z,x,y)" , 10171 }, { "" , "P n 2 n" , " P 2 -2n (y,z,x)" , 10172 }, { "" , "A 2 m m" , " C 2 -2 (z,x,y)" , 10174 }, { "" , "B m 2 m" , " C 2 -2 (y,z,x)" , 10175 }, { "" , "C c m 21" , " C 2c -2 (y,-x,z)" , 10177 }, { "" , "A 21 m a" , " C 2c -2 (z,x,y)" , 10178 }, { "" , "A 21 a m" , " C 2c -2 (z,y,-x)" , 10179 }, { "" , "B b 21 m" , " C 2c -2 (y,z,x)" , 10180 }, { "" , "B m 21 b" , " C 2c -2 (-x,z,y)" , 10181 }, { "" , "A 2 a a" , " C 2 -2c (z,x,y)" , 10183 }, { "" , "B b 2 b" , " C 2 -2c (y,z,x)" , 10184 }, { "" , "B m m 2" , " A 2 -2 (y,-x,z)" , 10186 }, { "" , "B 2 m m" , " A 2 -2 (z,x,y)" , 10187 }, { "" , "C 2 m m" , " A 2 -2 (z,y,-x)" , 10188 }, { "" , "C m 2 m" , " A 2 -2 (y,z,x)" , 10189 }, { "" , "A m 2 m" , " A 2 -2 (-x,z,y)" , 10190 }, { "" , "B m a 2" , " A 2 -2b (y,-x,z)" , 10192 }, { "" , "B 2 c m" , " A 2 -2b (z,x,y)" , 10193 }, { "" , "C 2 m b" , " A 2 -2b (z,y,-x)" , 10194 }, { "" , "C m 2 a" , " A 2 -2b (y,z,x)" , 10195 }, { "" , "A c 2 m" , " A 2 -2b (-x,z,y)" , 10196 }, { "" , "B b m 2" , " A 2 -2a (y,-x,z)" , 10198 }, { "" , "B 2 m b" , " A 2 -2a (z,x,y)" , 10199 }, { "" , "C 2 c m" , " A 2 -2a (z,y,-x)" , 10200 }, { "" , "C c 2 m" , " A 2 -2a (y,z,x)" , 10201 }, { "" , "A m 2 a" , " A 2 -2a (-x,z,y)" , 10202 }, { "" , "B b a 2" , " A 2 -2ab (y,-x,z)" , 10204 }, { "" , "B 2 c b" , " A 2 -2ab (z,x,y)" , 10205 }, { "" , "C 2 c b" , " A 2 -2ab (z,y,-x)" , 10206 }, { "" , "C c 2 a" , " A 2 -2ab (y,z,x)" , 10207 }, { "" , "A c 2 a" , " A 2 -2ab (-x,z,y)" , 10208 }, { "" , "F 2 m m" , " F 2 -2 (z,x,y)" , 10210 }, { "" , "F m 2 m" , " F 2 -2 (y,z,x)" , 10211 }, { "" , "F 2 d d" , " F 2 -2d (z,x,y)" , 10213 }, { "" , "F d 2 d" , " F 2 -2d (y,z,x)" , 10214 }, { "" , "I 2 m m" , " I 2 -2 (z,x,y)" , 10216 }, { "" , "I m 2 m" , " I 2 -2 (y,z,x)" , 10217 }, { "" , "I 2 c b" , " I 2 -2c (z,x,y)" , 10219 }, { "" , "I c 2 a" , " I 2 -2c (y,z,x)" , 10220 }, { "" , "I b m 2" , " I 2 -2a (y,-x,z)" , 10222 }, { "" , "I 2 m b" , " I 2 -2a (z,x,y)" , 10223 }, { "" , "I 2 c m" , " I 2 -2a (z,y,-x)" , 10224 }, { "" , "I c 2 m" , " I 2 -2a (y,z,x)" , 10225 }, { "" , "I m 2 a" , " I 2 -2a (-x,z,y)" , 10226 }, { "" , "P n n n :2" , "-P 2ab 2bc" , 10229 }, { "" , "P m a a" , "-P 2 2c (z,x,y)" , 10231 }, { "" , "P b m b" , "-P 2 2c (y,z,x)" , 10232 }, { "" , "P b a n :2" , "-P 2ab 2b" , 10234 }, { "" , "P n c b :1" , "-P 2ab 2b (z,x-1/4,y-1/4)" , 10235 }, { "" , "P n c b :2" , "-P 2ab 2b (z,x,y)" , 10236 }, { "" , "P c n a :1" , "-P 2ab 2b (y-1/4,z,x-1/4)" , 10237 }, { "" , "P c n a :2" , "-P 2ab 2b (y,z,x)" , 10238 }, { "" , "P m m b" , "-P 2a 2a (y,-x,z)" , 10240 }, { "" , "P b m m" , "-P 2a 2a (z,x,y)" , 10241 }, { "" , "P c m m" , "-P 2a 2a (z,y,-x)" , 10242 }, { "" , "P m c m" , "-P 2a 2a (y,z,x)" , 10243 }, { "" , "P m a m" , "-P 2a 2a (-x,z,y)" , 10244 }, { "" , "P n n b" , "-P 2a 2bc (y,-x,z)" , 10246 }, { "" , "P b n n" , "-P 2a 2bc (z,x,y)" , 10247 }, { "" , "P c n n" , "-P 2a 2bc (z,y,-x)" , 10248 }, { "" , "P n c n" , "-P 2a 2bc (y,z,x)" , 10249 }, { "" , "P n a n" , "-P 2a 2bc (-x,z,y)" , 10250 }, { "" , "P n m b" , "-P 2ac 2 (y,-x,z)" , 10252 }, { "" , "P b m n" , "-P 2ac 2 (z,x,y)" , 10253 }, { "" , "P c n m" , "-P 2ac 2 (z,y,-x)" , 10254 }, { "" , "P n c m" , "-P 2ac 2 (y,z,x)" , 10255 }, { "" , "P m a n" , "-P 2ac 2 (-x,z,y)" , 10256 }, { "" , "P c c b" , "-P 2a 2ac (y,-x,z)" , 10258 }, { "" , "P b a a" , "-P 2a 2ac (z,x,y)" , 10259 }, { "" , "P c a a" , "-P 2a 2ac (z,y,-x)" , 10260 }, { "" , "P b c b" , "-P 2a 2ac (y,z,x)" , 10261 }, { "" , "P b a b" , "-P 2a 2ac (-x,z,y)" , 10262 }, { "" , "P m c b" , "-P 2 2ab (z,x,y)" , 10264 }, { "" , "P c m a" , "-P 2 2ab (y,z,x)" , 10265 }, { "" , "P n a a" , "-P 2ab 2ac (z,x,y)" , 10267 }, { "" , "P b n b" , "-P 2ab 2ac (y,z,x)" , 10268 }, { "" , "P c a m" , "-P 2c 2b (y,-x,z)" , 10270 }, { "" , "P m c a" , "-P 2c 2b (z,x,y)" , 10271 }, { "" , "P m a b" , "-P 2c 2b (z,y,-x)" , 10272 }, { "" , "P b m a" , "-P 2c 2b (y,z,x)" , 10273 }, { "" , "P c m b" , "-P 2c 2b (-x,z,y)" , 10274 }, { "" , "P m n n" , "-P 2 2n (z,x,y)" , 10276 }, { "" , "P n m n" , "-P 2 2n (y,z,x)" , 10277 }, { "" , "P n m m :1" , "-P 2ab 2a (z,x-1/4,y-1/4)" , 10280 }, { "" , "P n m m :2" , "-P 2ab 2a (z,x,y)" , 10281 }, { "" , "P m n m :1" , "-P 2ab 2a (y-1/4,z,x-1/4)" , 10282 }, { "" , "P m n m :2" , "-P 2ab 2a (y,z,x)" , 10283 }, { "" , "P c a n" , "-P 2n 2ab (y,-x,z)" , 10285 }, { "" , "P n c a" , "-P 2n 2ab (z,x,y)" , 10286 }, { "" , "P n a b" , "-P 2n 2ab (z,y,-x)" , 10287 }, { "" , "P b n a" , "-P 2n 2ab (y,z,x)" , 10288 }, { "" , "P c n b" , "-P 2n 2ab (-x,z,y)" , 10289 }, { "" , "P c a b" , "-P 2ac 2ab (z,y,-x)" , 10291 }, { "" , "P m n b" , "-P 2ac 2n (y,-x,z)" , 10293 }, { "" , "P b n m" , "-P 2ac 2n (z,x,y)" , 10294 }, { "" , "P c m n" , "-P 2ac 2n (z,y,-x)" , 10295 }, { "" , "P m c n" , "-P 2ac 2n (y,z,x)" , 10296 }, { "" , "P n a m" , "-P 2ac 2n (-x,z,y)" , 10297 }, { "" , "C c m m" , "-C 2c 2 (y,-x,z)" , 10299 }, { "" , "A m m a" , "-C 2c 2 (z,x,y)" , 10300 }, { "" , "A m a m" , "-C 2c 2 (z,y,-x)" , 10301 }, { "" , "B b m m" , "-C 2c 2 (y,z,x)" , 10302 }, { "" , "B m m b" , "-C 2c 2 (-x,z,y)" , 10303 }, { "" , "C c m b" , "-C 2ac 2 (y,-x,z)" , 10305 }, { "" , "A b m a" , "-C 2ac 2 (z,x,y)" , 10306 }, { "" , "A c a m" , "-C 2ac 2 (z,y,-x)" , 10307 }, { "" , "B b c m" , "-C 2ac 2 (y,z,x)" , 10308 }, { "" , "B m a b" , "-C 2ac 2 (-x,z,y)" , 10309 }, { "" , "A m m m" , "-C 2 2 (z,x,y)" , 10311 }, { "" , "B m m m" , "-C 2 2 (y,z,x)" , 10312 }, { "" , "A m a a" , "-C 2 2c (z,x,y)" , 10314 }, { "" , "B b m b" , "-C 2 2c (y,z,x)" , 10315 }, { "" , "C m m b" , "-C 2a 2 (x+1/4,y+1/4,z)" , 10317 }, { "" , "A b m m" , "-C 2a 2 (z,x,y)" , 10318 }, { "" , "A c m m" , "-C 2a 2 (z,y,-x)" , 10319 }, { "" , "B m c m" , "-C 2a 2 (y,z,x)" , 10320 }, { "" , "B m a m" , "-C 2a 2 (-x,z,y)" , 10321 }, { "" , "C c c a :2" , "-C 2a 2ac" , 10323 }, { "" , "C c c b :1" , "-C 2a 2ac (x-1/2,y-1/4,z+1/4)" , 10324 }, { "" , "C c c b :2" , "-C 2a 2ac (x-1/4,y-1/4,z)" , 10325 }, { "" , "A b a a :1" , "-C 2a 2ac (z+1/4,x-1/2,y-1/4)" , 10326 }, { "" , "A b a a :2" , "-C 2a 2ac (z,x,y)" , 10327 }, { "" , "A c a a :1" , "-C 2a 2ac (z+1/4,x-1/2,y-1/4)" , 10328 }, { "" , "A c a a :2" , "-C 2a 2ac (z,y,-x)" , 10329 }, { "" , "B b c b :1" , "-C 2a 2ac (y-1/4,z+1/4,x-1/2)" , 10330 }, { "" , "B b c b :2" , "-C 2a 2ac (y,z,x)" , 10331 }, { "" , "B b a b :1" , "-C 2a 2ac (y-1/4,z+1/4,x-1/2)" , 10332 }, { "" , "B b a b :2" , "-C 2a 2ac (-x,z,y)" , 10333 }, { "" , "F d d d :2" , "-F 2uv 2vw" , 10336 }, { "" , "I m c b" , "-I 2 2c (z,x,y)" , 10339 }, { "" , "I c m a" , "-I 2 2c (y,z,x)" , 10340 }, { "" , "I c a b" , "-I 2b 2c (x+1/4,y-1/4,z+1/4)" , 10342 }, { "" , "I m m b" , "-I 2b 2 (x+1/4,y-1/4,z+1/4)" , 10344 }, { "" , "I b m m" , "-I 2b 2 (z,x,y)" , 10345 }, { "" , "I c m m" , "-I 2b 2 (z,y,-x)" , 10346 }, { "" , "I m c m" , "-I 2b 2 (y,z,x)" , 10347 }, { "" , "I m a m" , "-I 2b 2 (-x,z,y)" , 10348 }, { "" , "P 4/n :2" , "-P 4a" , 10360 }, { "" , "P 42/n :2" , "-P 4bc" , 10362 }, { "" , "I 41/a :2" , "-I 4ad" , 10365 }, { "" , "P 4/n b m :2" , "-P 4a 2b" , 10403 }, { "" , "P 4/n n c :2" , "-P 4a 2bc" , 10405 }, { "" , "P 4/n m m :2" , "-P 4a 2a" , 10409 }, { "" , "P 4/n c c :2" , "-P 4a 2ac" , 10411 }, { "" , "P 42/n b c :2" , "-P 4ac 2b" , 10415 }, { "" , "P 42/n n m :2" , "-P 4ac 2bc" , 10417 }, { "" , "P 42/n m c :2" , "-P 4ac 2a" , 10421 }, { "" , "P 42/n c m :2" , "-P 4ac 2ac" , 10423 }, { "" , "I 41/a m d :2" , "-I 4bd 2" , 10427 }, { "" , "I 41/a c d :2" , "-I 4bd 2c" , 10429 }, { "" , "P n -3 :2" , "-P 2ab 2bc 3" , 10496 }, { "" , "F d -3 :2" , "-F 2uv 2vw 3" , 10499 }, { "" , "P n -3 n :2" , "-P 4a 2bc 3" , 10519 }, { "" , "P n -3 m :2" , "-P 4bc 2bc 3" , 10522 }, { "" , "F d -3 m :2" , "-F 4vw 2vw 3" , 10526 }, { "" , "F d -3 c :2" , "-F 4ud 2vw 3" , 10528 }, { "A 1 2 1" , "A 1 2 1" , " C 2y (z,y,-x)" , 2005 }, { "A 2" , "A 1 2 1" , " C 2y (z,y,-x)" , 2005 }, { "A b a 2" , "A b a 2" , " A 2 -2ab" , 41 }, { "A b m 2" , "A b m 2" , " A 2 -2b" , 39 }, { "A m a 2" , "A m a 2" , " A 2 -2a" , 40 }, { "A m m 2" , "A m m 2" , " A 2 -2" , 38 }, { "B 1 1 2" , "B 1 1 2" , " C 2y (-x,z,y)" , 1005 }, { "B 1 1 2/b" , "B 1 1 2/b" , "-C 2yc (-x,z,y)" , 1015 }, { "B 1 1 2/m" , "B 1 1 2/m" , "-C 2y (-x,z,y)" , 1012 }, { "B 1 1 b" , "B 1 1 b" , " C -2yc (-x,z,y)" , 1009 }, { "B 1 1 m" , "B 1 1 m" , " B -2" , 1008 }, { "B 2" , "B 1 1 2" , " C 2y (-x,z,y)" , 1005 }, { "C 1 2 1" , "C 1 2 1" , " C 2y" , 5 }, { "C 1 2/c 1" , "C 1 2/c 1" , "-C 2yc" , 15 }, { "C 1 2/m 1" , "C 1 2/m 1" , "-C 2y" , 12 }, { "C 1 21 1" , "C 1 21 1" , " C 2y (x+1/4,y+1/4,z)" , 3005 }, { "C 1 c 1" , "C 1 c 1" , " C -2yc" , 9 }, { "C 1 m 1" , "C 1 m 1" , " C -2y" , 8 }, { "C 2 2 2" , "C 2 2 2" , " C 2 2" , 21 }, { "C 2 2 21" , "C 2 2 21" , " C 2c 2" , 20 }, { "C 2 2 21a)" , "" , " C 2c 2 (x+1/4,y,z)" , 1020 }, { "C 2 2 2a" , "" , " C 2 2 (x+1/4,y+1/4,z)" , 1021 }, { "C 2/c 2/c 2/a" , "C c c a :1" , "-C 2a 2ac (x-1/2,y-1/4,z+1/4)" , 68 }, { "C 2/c 2/c 2/m" , "C c c m" , "-C 2 2c" , 66 }, { "C 2/m 2/c 21/a" , "C m c a" , "-C 2ac 2" , 64 }, { "C 2/m 2/c 21/m" , "C m c m" , "-C 2c 2" , 63 }, { "C 2/m 2/m 2/a" , "C m m a" , "-C 2a 2" , 67 }, { "C 2/m 2/m 2/m" , "C m m m" , "-C 2 2" , 65 }, { "C c c 2" , "C c c 2" , " C 2 -2c" , 37 }, { "C c c a" , "C c c a :1" , "-C 2a 2ac (x-1/2,y-1/4,z+1/4)" , 68 }, { "C c c m" , "C c c m" , "-C 2 2c" , 66 }, { "C m c 21" , "C m c 21" , " C 2c -2" , 36 }, { "C m c a" , "C m c a" , "-C 2ac 2" , 64 }, { "C m c m" , "C m c m" , "-C 2c 2" , 63 }, { "C m m 2" , "C m m 2" , " C 2 -2" , 35 }, { "C m m a" , "C m m a" , "-C 2a 2" , 67 }, { "C m m m" , "C m m m" , "-C 2 2" , 65 }, { "F -4 3 c" , "F -4 3 c" , " F -4a 2 3" , 219 }, { "F -4 3 m" , "F -4 3 m" , " F -4 2 3" , 216 }, { "F 2 2 2" , "F 2 2 2" , " F 2 2" , 22 }, { "F 2 2 2a" , "" , " F 2 2 (x,y,z+1/4)" , 1022 }, { "F 2 3" , "F 2 3" , " F 2 2 3" , 196 }, { "F 2/d -3" , "F d -3 :1" , "-F 2uv 2vw 3 (x+1/8,y+1/8,z+1/8)" , 203 }, { "F 2/d 2/d 2/d" , "F d d d :1" , "-F 2uv 2vw (x+1/8,y+1/8,z+1/8)" , 70 }, { "F 2/m -3" , "F m -3" , "-F 2 2 3" , 202 }, { "F 2/m 2/m 2/m" , "F m m m" , "-F 2 2" , 69 }, { "F 4 3 2" , "F 4 3 2" , " F 4 2 3" , 209 }, { "F 4/m -3 2/c" , "F m -3 c" , "-F 4a 2 3" , 226 }, { "F 4/m -3 2/m" , "F m -3 m" , "-F 4 2 3" , 225 }, { "F 41 3 2" , "F 41 3 2" , " F 4d 2 3" , 210 }, { "F 41/d -3 2/c" , "F d -3 c :1" , "-F 4ud 2vw 3 (x-1/8,y-1/8,z-1/8)" , 228 }, { "F 41/d -3 2/m" , "F d -3 m :1" , "-F 4vw 2vw 3 (x+1/8,y+1/8,z+1/8)" , 227 }, { "F d -3" , "F d -3 :1" , "-F 2uv 2vw 3 (x+1/8,y+1/8,z+1/8)" , 203 }, { "F d -3 c" , "F d -3 c :1" , "-F 4ud 2vw 3 (x-1/8,y-1/8,z-1/8)" , 228 }, { "F d -3 m" , "F d -3 m :1" , "-F 4vw 2vw 3 (x+1/8,y+1/8,z+1/8)" , 227 }, { "F d d 2" , "F d d 2" , " F 2 -2d" , 43 }, { "F d d d" , "F d d d :1" , "-F 2uv 2vw (x+1/8,y+1/8,z+1/8)" , 70 }, { "F m -3" , "F m -3" , "-F 2 2 3" , 202 }, { "F m -3 c" , "F m -3 c" , "-F 4a 2 3" , 226 }, { "F m -3 m" , "F m -3 m" , "-F 4 2 3" , 225 }, { "F m m 2" , "F m m 2" , " F 2 -2" , 42 }, { "F m m m" , "F m m m" , "-F 2 2" , 69 }, { "H -3" , "R -3 :H" , "-R 3" , 148 }, { "H -3 2/c" , "R -3 c :H" , "-R 3 2\"c" , 167 }, { "H -3 2/m" , "R -3 m :H" , "-R 3 2\"" , 166 }, { "H -3 c" , "R -3 c :H" , "-R 3 2\"c" , 167 }, { "H -3 m" , "R -3 m :H" , "-R 3 2\"" , 166 }, { "H 3" , "R 3 :H" , " R 3" , 146 }, { "H 3 2" , "R 3 2 :H" , " R 3 2\"" , 155 }, { "H 3 c" , "R 3 c :H" , " R 3 -2\"c" , 161 }, { "H 3 m" , "R 3 m :H" , " R 3 -2\"" , 160 }, { "I -4" , "I -4" , " I -4" , 82 }, { "I -4 2 d" , "I -4 2 d" , " I -4 2bw" , 122 }, { "I -4 2 m" , "I -4 2 m" , " I -4 2" , 121 }, { "I -4 3 d" , "I -4 3 d" , " I -4bd 2c 3" , 220 }, { "I -4 3 m" , "I -4 3 m" , " I -4 2 3" , 217 }, { "I -4 c 2" , "I -4 c 2" , " I -4 -2c" , 120 }, { "I -4 m 2" , "I -4 m 2" , " I -4 -2" , 119 }, { "I 1 2 1" , "I 1 2 1" , " C 2y (x,y,-x+z)" , 4005 }, { "I 1 21 1" , "I 1 21 1" , " C 2y (x+1/4,y+1/4,-x+z-1/4)" , 5005 }, { "I 2" , "I 1 2 1" , " C 2y (x,y,-x+z)" , 4005 }, { "I 2 2 2" , "I 2 2 2" , " I 2 2" , 23 }, { "I 2 2 2a" , "" , " I 2 2 (x-1/4,y+1/4,z-1/4)" , 1023 }, { "I 2 3" , "I 2 3" , " I 2 2 3" , 197 }, { "I 2 3a" , "" , " I 2 2 3 (x+1/4,y+1/4,z+1/4)" , 1197 }, { "I 2/b 2/a 2/m" , "I b a m" , "-I 2 2c" , 72 }, { "I 2/m -3" , "I m -3" , "-I 2 2 3" , 204 }, { "I 2/m 2/m 2/m" , "I m m m" , "-I 2 2" , 71 }, { "I 21 21 21" , "I 21 21 21" , " I 2b 2c" , 24 }, { "I 21 3" , "I 21 3" , " I 2b 2c 3" , 199 }, { "I 21/a -3" , "I a -3" , "-I 2b 2c 3" , 206 }, { "I 21/b 21/c 21/a" , "I b c a" , "-I 2b 2c" , 73 }, { "I 21/m 21/m 21/a" , "I m m a" , "-I 2b 2" , 74 }, { "I 4" , "I 4" , " I 4" , 79 }, { "I 4 2 2" , "I 4 2 2" , " I 4 2" , 97 }, { "I 4 3 2" , "I 4 3 2" , " I 4 2 3" , 211 }, { "I 4 c m" , "I 4 c m" , " I 4 -2c" , 108 }, { "I 4 m m" , "I 4 m m" , " I 4 -2" , 107 }, { "I 4/m" , "I 4/m" , "-I 4" , 87 }, { "I 4/m -3 2/m" , "I m -3 m" , "-I 4 2 3" , 229 }, { "I 4/m 2/c 2/m" , "I 4/m c m" , "-I 4 2c" , 140 }, { "I 4/m 2/m 2/m" , "I 4/m m m" , "-I 4 2" , 139 }, { "I 41" , "I 41" , " I 4bw" , 80 }, { "I 41 2 2" , "I 41 2 2" , " I 4bw 2bw" , 98 }, { "I 41 3 2" , "I 41 3 2" , " I 4bd 2c 3" , 214 }, { "I 41 c d" , "I 41 c d" , " I 4bw -2c" , 110 }, { "I 41 m d" , "I 41 m d" , " I 4bw -2" , 109 }, { "I 41/a" , "I 41/a :1" , "-I 4ad (x,y+1/4,z+1/8)" , 88 }, { "I 41/a -3 2/d" , "I a -3 d" , "-I 4bd 2c 3" , 230 }, { "I 41/a 2/c 2/d" , "I 41/a c d :1" , "-I 4bd 2c (x-1/2,y+1/4,z-3/8)" , 142 }, { "I 41/a 2/m 2/d" , "I 41/a m d :1" , "-I 4bd 2 (x-1/2,y+1/4,z+1/8)" , 141 }, { "I a -3" , "I a -3" , "-I 2b 2c 3" , 206 }, { "I a -3 d" , "I a -3 d" , "-I 4bd 2c 3" , 230 }, { "I b a 2" , "I b a 2" , " I 2 -2c" , 45 }, { "I b a m" , "I b a m" , "-I 2 2c" , 72 }, { "I b c a" , "I b c a" , "-I 2b 2c" , 73 }, { "I m -3" , "I m -3" , "-I 2 2 3" , 204 }, { "I m -3 m" , "I m -3 m" , "-I 4 2 3" , 229 }, { "I m a 2" , "I m a 2" , " I 2 -2a" , 46 }, { "I m m 2" , "I m m 2" , " I 2 -2" , 44 }, { "I m m a" , "I m m a" , "-I 2b 2" , 74 }, { "I m m m" , "I m m m" , "-I 2 2" , 71 }, { "I4/m c m" , "I 4/m c m" , "-I 4 2c" , 140 }, { "I4/m m m" , "I 4/m m m" , "-I 4 2" , 139 }, { "I41/a c d" , "I 41/a c d :1" , "-I 4bd 2c (x-1/2,y+1/4,z-3/8)" , 142 }, { "I41/a m d" , "I 41/a m d :1" , "-I 4bd 2 (x-1/2,y+1/4,z+1/8)" , 141 }, { "P -1" , "P -1" , "-P 1" , 2 }, { "P -3" , "P -3" , "-P 3" , 147 }, { "P -3 1 2/c" , "P -3 1 c" , "-P 3 2c" , 163 }, { "P -3 1 2/m" , "P -3 1 m" , "-P 3 2" , 162 }, { "P -3 1 c" , "P -3 1 c" , "-P 3 2c" , 163 }, { "P -3 1 m" , "P -3 1 m" , "-P 3 2" , 162 }, { "P -3 2/c 1" , "P -3 c 1" , "-P 3 2\"c" , 165 }, { "P -3 2/m 1" , "P -3 m 1" , "-P 3 2\"" , 164 }, { "P -3 c 1" , "P -3 c 1" , "-P 3 2\"c" , 165 }, { "P -3 m 1" , "P -3 m 1" , "-P 3 2\"" , 164 }, { "P -4" , "P -4" , " P -4" , 81 }, { "P -4 2 c" , "P -4 2 c" , " P -4 2c" , 112 }, { "P -4 2 m" , "P -4 2 m" , " P -4 2" , 111 }, { "P -4 21 c" , "P -4 21 c" , " P -4 2n" , 114 }, { "P -4 21 m" , "P -4 21 m" , " P -4 2ab" , 113 }, { "P -4 3 m" , "P -4 3 m" , " P -4 2 3" , 215 }, { "P -4 3 n" , "P -4 3 n" , " P -4n 2 3" , 218 }, { "P -4 b 2" , "P -4 b 2" , " P -4 -2ab" , 117 }, { "P -4 c 2" , "P -4 c 2" , " P -4 -2c" , 116 }, { "P -4 m 2" , "P -4 m 2" , " P -4 -2" , 115 }, { "P -4 n 2" , "P -4 n 2" , " P -4 -2n" , 118 }, { "P -6" , "P -6" , " P -6" , 174 }, { "P -6 2 c" , "P -6 2 c" , " P -6c -2c" , 190 }, { "P -6 2 m" , "P -6 2 m" , " P -6 -2" , 189 }, { "P -6 c 2" , "P -6 c 2" , " P -6c 2" , 188 }, { "P -6 m 2" , "P -6 m 2" , " P -6 2" , 187 }, { "P 1" , "P 1" , " P 1" , 1 }, { "P 1 1 2" , "P 1 1 2" , " P 2y (z,x,y)" , 1003 }, { "P 1 1 2/b" , "P 1 1 2/b" , "-P 2yc (-x,z,y)" , 1013 }, { "P 1 1 2/m" , "P 1 1 2/m" , "-P 2y (z,x,y)" , 1010 }, { "P 1 1 21" , "P 1 1 21" , " P 2yb (z,x,y)" , 1004 }, { "P 1 1 21/b" , "P 1 1 21/b" , "-P 2ybc (-x,z,y)" , 1014 }, { "P 1 1 21/m" , "P 1 1 21/m" , "-P 2yb (z,x,y)" , 1011 }, { "P 1 1 b" , "P 1 1 b" , " P -2yc (-x,z,y)" , 1007 }, { "P 1 1 m" , "P 1 1 m" , " P -2y (z,x,y)" , 1006 }, { "P 1 2 1" , "P 1 2 1" , " P 2y" , 3 }, { "P 1 2/c 1" , "P 1 2/c 1" , "-P 2yc" , 13 }, { "P 1 2/m 1" , "P 1 2/m 1" , "-P 2y" , 10 }, { "P 1 21 1" , "P 1 21 1" , " P 2yb" , 4 }, { "P 1 21/a 1" , "P 1 21/a 1" , "-P 2ybc (z,y,-x)" , 3014 }, { "P 1 21/c 1" , "P 1 21/c 1" , "-P 2ybc" , 14 }, { "P 1 21/m 1" , "P 1 21/m 1" , "-P 2yb" , 11 }, { "P 1 21/n 1" , "P 1 21/n 1" , "-P 2ybc (x-z,y,z)" , 2014 }, { "P 1 c 1" , "P 1 c 1" , " P -2yc" , 7 }, { "P 1 m 1" , "P 1 m 1" , " P -2y" , 6 }, { "P 2 2 2" , "P 2 2 2" , " P 2 2" , 16 }, { "P 2 2 21" , "P 2 2 21" , " P 2c 2" , 17 }, { "P 2 21 2" , "P 2 21 2" , " P 2c 2 (y,z,x)" , 2017 }, { "P 2 21 21" , "P 2 21 21" , " P 2 2ab (z,x,y)" , 3018 }, { "P 2 3" , "P 2 3" , " P 2 2 3" , 195 }, { "P 2/b 2/a 2/n" , "P b a n :1" , "-P 2ab 2b (x-1/4,y-1/4,z)" , 50 }, { "P 2/b 21/c 21/m" , "P b c m" , "-P 2c 2b" , 57 }, { "P 2/c 2/c 2/m" , "P c c m" , "-P 2 2c" , 49 }, { "P 2/m -3" , "P m -3" , "-P 2 2 3" , 200 }, { "P 2/m 2/m 2/m" , "P m m m" , "-P 2 2" , 47 }, { "P 2/m 2/n 21/a" , "P m n a" , "-P 2ac 2" , 53 }, { "P 2/n -3" , "P n -3 :1" , "-P 2ab 2bc 3 (x-1/4,y-1/4,z-1/4)" , 201 }, { "P 2/n 2/n 2/n" , "P n n n :1" , "-P 2ab 2bc (x-1/4,y-1/4,z-1/4)" , 48 }, { "P 2/n 21/n 2/a" , "P n n a" , "-P 2a 2bc" , 52 }, { "P 21 2 2" , "P 21 2 2" , " P 2c 2 (z,x,y)" , 1017 }, { "P 21 2 21" , "P 21 2 21" , " P 2 2ab (y,z,x)" , 2018 }, { "P 21 21 2" , "P 21 21 2" , " P 2 2ab" , 18 }, { "P 21 21 2 (a)" , "" , " P 2 2ab (x+1/4,y+1/4,z)" , 1018 }, { "P 21 21 21" , "P 21 21 21" , " P 2ac 2ab" , 19 }, { "P 21 3" , "P 21 3" , " P 2ac 2ab 3" , 198 }, { "P 21/a -3" , "P a -3" , "-P 2ac 2ab 3" , 205 }, { "P 21/b 2/c 21/n" , "P b c n" , "-P 2n 2ab" , 60 }, { "P 21/b 21/a 2/m" , "P b a m" , "-P 2 2ab" , 55 }, { "P 21/b 21/c 21/a" , "P b c a" , "-P 2ac 2ab" , 61 }, { "P 21/c 2/c 2/a" , "P c c a" , "-P 2a 2ac" , 54 }, { "P 21/c 21/c 2/n" , "P c c n" , "-P 2ab 2ac" , 56 }, { "P 21/m 2/m 2/a" , "P m m a" , "-P 2a 2a" , 51 }, { "P 21/m 21/m 2/n" , "P m m n :1" , "-P 2ab 2a (x-1/4,y-1/4,z)" , 59 }, { "P 21/m 21/m 2/n a" , "P m m n :2" , "-P 2ab 2a" , 1059 }, { "P 21/n 21/m 21/a" , "P n m a" , "-P 2ac 2n" , 62 }, { "P 21/n 21/n 2/m" , "P n n m" , "-P 2 2n" , 58 }, { "P 3" , "P 3" , " P 3" , 143 }, { "P 3 1 2" , "P 3 1 2" , " P 3 2" , 149 }, { "P 3 1 c" , "P 3 1 c" , " P 3 -2c" , 159 }, { "P 3 1 m" , "P 3 1 m" , " P 3 -2" , 157 }, { "P 3 2 1" , "P 3 2 1" , " P 3 2\"" , 150 }, { "P 3 c 1" , "P 3 c 1" , " P 3 -2\"c" , 158 }, { "P 3 m 1" , "P 3 m 1" , " P 3 -2\"" , 156 }, { "P 31" , "P 31" , " P 31" , 144 }, { "P 31 1 2" , "P 31 1 2" , " P 31 2 (x,y,z+1/3)" , 151 }, { "P 31 2 1" , "P 31 2 1" , " P 31 2\"" , 152 }, { "P 32" , "P 32" , " P 32" , 145 }, { "P 32 1 2" , "P 32 1 2" , " P 32 2 (x,y,z+1/6)" , 153 }, { "P 32 2 1" , "P 32 2 1" , " P 32 2\"" , 154 }, { "P 4" , "P 4" , " P 4" , 75 }, { "P 4 2 2" , "P 4 2 2" , " P 4 2" , 89 }, { "P 4 21 2" , "P 4 21 2" , " P 4ab 2ab" , 90 }, { "P 4 3 2" , "P 4 3 2" , " P 4 2 3" , 207 }, { "P 4 b m" , "P 4 b m" , " P 4 -2ab" , 100 }, { "P 4 c c" , "P 4 c c" , " P 4 -2c" , 103 }, { "P 4 m m" , "P 4 m m" , " P 4 -2" , 99 }, { "P 4 n c" , "P 4 n c" , " P 4 -2n" , 104 }, { "P 4/m" , "P 4/m" , "-P 4" , 83 }, { "P 4/m -3 2/m" , "P m -3 m" , "-P 4 2 3" , 221 }, { "P 4/m 2/c 2/c" , "P 4/m c c" , "-P 4 2c" , 124 }, { "P 4/m 2/m 2/m" , "P 4/m m m" , "-P 4 2" , 123 }, { "P 4/m 21/b 2/m" , "P 4/m b m" , "-P 4 2ab" , 127 }, { "P 4/m 21/n 2/c" , "P 4/m n c" , "-P 4 2n" , 128 }, { "P 4/n" , "P 4/n :1" , "-P 4a (x-1/4,y+1/4,z)" , 85 }, { "P 4/n -3 2/n" , "P n -3 n :1" , "-P 4a 2bc 3 (x-1/4,y-1/4,z-1/4)" , 222 }, { "P 4/n 2/b 2/m" , "P 4/n b m :1" , "-P 4a 2b (x-1/4,y-1/4,z)" , 125 }, { "P 4/n 2/c 2/c" , "P 4/n c c :1" , "-P 4a 2ac (x-1/4,y+1/4,z)" , 130 }, { "P 4/n 2/n 2/c" , "P 4/n n c :1" , "-P 4a 2bc (x-1/4,y-1/4,z-1/4)" , 126 }, { "P 4/n 21/m 2/m" , "P 4/n m m :1" , "-P 4a 2a (x-1/4,y+1/4,z)" , 129 }, { "P 41" , "P 41" , " P 4w" , 76 }, { "P 41 2 2" , "P 41 2 2" , " P 4w 2c" , 91 }, { "P 41 21 2" , "P 41 21 2" , " P 4abw 2nw" , 92 }, { "P 41 3 2" , "P 41 3 2" , " P 4bd 2ab 3" , 213 }, { "P 42" , "P 42" , " P 4c" , 77 }, { "P 42 2 2" , "P 42 2 2" , " P 4c 2" , 93 }, { "P 42 21 2" , "P 42 21 2" , " P 4n 2n" , 94 }, { "P 42 21 2a" , "" , " P 4n 2n (x-1/4,y-1/4,z-1/4)" , 1094 }, { "P 42 3 2" , "P 42 3 2" , " P 4n 2 3" , 208 }, { "P 42 b c" , "P 42 b c" , " P 4c -2ab" , 106 }, { "P 42 c m" , "P 42 c m" , " P 4c -2c" , 101 }, { "P 42 m c" , "P 42 m c" , " P 4c -2" , 105 }, { "P 42 n m" , "P 42 n m" , " P 4n -2n" , 102 }, { "P 42/m" , "P 42/m" , "-P 4c" , 84 }, { "P 42/m -3 2/n" , "P m -3 n" , "-P 4n 2 3" , 223 }, { "P 42/m 2/c 2/m" , "P 42/m c m" , "-P 4c 2c" , 132 }, { "P 42/m 2/m 2/c" , "P 42/m m c" , "-P 4c 2" , 131 }, { "P 42/m 21/b 2/c" , "P 42/m b c" , "-P 4c 2ab" , 135 }, { "P 42/m 21/n 2/m" , "P 42/m n m" , "-P 4n 2n" , 136 }, { "P 42/n" , "P 42/n :1" , "-P 4bc (x+1/4,y+1/4,z+1/4)" , 86 }, { "P 42/n -3 2/m" , "P n -3 m :1" , "-P 4bc 2bc 3 (x+1/4,y+1/4,z+1/4)" , 224 }, { "P 42/n 2/b 2/c" , "P 42/n b c :1" , "-P 4ac 2b (x-1/4,y+1/4,z+1/4)" , 133 }, { "P 42/n 2/n 2/m" , "P 42/n n m :1" , "-P 4ac 2bc (x-1/4,y+1/4,z-1/4)" , 134 }, { "P 42/n 21/c 2/m" , "P 42/n c m :1" , "-P 4ac 2ac (x-1/4,y+1/4,z-1/4)" , 138 }, { "P 42/n 21/m 2/c" , "P 42/n m c :1" , "-P 4ac 2a (x-1/4,y+1/4,z+1/4)" , 137 }, { "P 43" , "P 43" , " P 4cw" , 78 }, { "P 43 2 2" , "P 43 2 2" , " P 4cw 2c" , 95 }, { "P 43 21 2" , "P 43 21 2" , " P 4nw 2abw" , 96 }, { "P 43 3 2" , "P 43 3 2" , " P 4acd 2ab 3" , 212 }, { "P 6" , "P 6" , " P 6" , 168 }, { "P 6 2 2" , "P 6 2 2" , " P 6 2" , 177 }, { "P 6 c c" , "P 6 c c" , " P 6 -2c" , 184 }, { "P 6 m m" , "P 6 m m" , " P 6 -2" , 183 }, { "P 6/m" , "P 6/m" , "-P 6" , 175 }, { "P 6/m 2/c 2/c" , "P 6/m c c" , "-P 6 2c" , 192 }, { "P 6/m 2/m 2/m" , "P 6/m m m" , "-P 6 2" , 191 }, { "P 6/m c c" , "P 6/m c c" , "-P 6 2c" , 192 }, { "P 6/m m m" , "P 6/m m m" , "-P 6 2" , 191 }, { "P 61" , "P 61" , " P 61" , 169 }, { "P 61 2 2" , "P 61 2 2" , " P 61 2 (x,y,z+5/12)" , 178 }, { "P 62" , "P 62" , " P 62" , 171 }, { "P 62 2 2" , "P 62 2 2" , " P 62 2 (x,y,z+1/3)" , 180 }, { "P 63" , "P 63" , " P 6c" , 173 }, { "P 63 2 2" , "P 63 2 2" , " P 6c 2c" , 182 }, { "P 63 c m" , "P 63 c m" , " P 6c -2" , 185 }, { "P 63 m c" , "P 63 m c" , " P 6c -2c" , 186 }, { "P 63/m" , "P 63/m" , "-P 6c" , 176 }, { "P 63/m 2/c 2/m" , "P 63/m c m" , "-P 6c 2" , 193 }, { "P 63/m 2/m 2/c" , "P 63/m m c" , "-P 6c 2c" , 194 }, { "P 63/m c m" , "P 63/m c m" , "-P 6c 2" , 193 }, { "P 63/m m c" , "P 63/m m c" , "-P 6c 2c" , 194 }, { "P 64" , "P 64" , " P 64" , 172 }, { "P 64 2 2" , "P 64 2 2" , " P 64 2 (x,y,z+1/6)" , 181 }, { "P 65" , "P 65" , " P 65" , 170 }, { "P 65 2 2" , "P 65 2 2" , " P 65 2 (x,y,z+1/12)" , 179 }, { "P a -3" , "P a -3" , "-P 2ac 2ab 3" , 205 }, { "P b a 2" , "P b a 2" , " P 2 -2ab" , 32 }, { "P b a m" , "P b a m" , "-P 2 2ab" , 55 }, { "P b a n" , "P b a n :1" , "-P 2ab 2b (x-1/4,y-1/4,z)" , 50 }, { "P b c a" , "P b c a" , "-P 2ac 2ab" , 61 }, { "P b c m" , "P b c m" , "-P 2c 2b" , 57 }, { "P b c n" , "P b c n" , "-P 2n 2ab" , 60 }, { "P c a 21" , "P c a 21" , " P 2c -2ac" , 29 }, { "P c c 2" , "P c c 2" , " P 2 -2c" , 27 }, { "P c c a" , "P c c a" , "-P 2a 2ac" , 54 }, { "P c c m" , "P c c m" , "-P 2 2c" , 49 }, { "P c c n" , "P c c n" , "-P 2ab 2ac" , 56 }, { "P m -3" , "P m -3" , "-P 2 2 3" , 200 }, { "P m -3 m" , "P m -3 m" , "-P 4 2 3" , 221 }, { "P m -3 n" , "P m -3 n" , "-P 4n 2 3" , 223 }, { "P m a 2" , "P m a 2" , " P 2 -2a" , 28 }, { "P m c 21" , "P m c 21" , " P 2c -2" , 26 }, { "P m m 2" , "P m m 2" , " P 2 -2" , 25 }, { "P m m a" , "P m m a" , "-P 2a 2a" , 51 }, { "P m m m" , "P m m m" , "-P 2 2" , 47 }, { "P m m n" , "P m m n :1" , "-P 2ab 2a (x-1/4,y-1/4,z)" , 59 }, { "P m n 21" , "P m n 21" , " P 2ac -2" , 31 }, { "P m n a" , "P m n a" , "-P 2ac 2" , 53 }, { "P n -3" , "P n -3 :1" , "-P 2ab 2bc 3 (x-1/4,y-1/4,z-1/4)" , 201 }, { "P n -3 m" , "P n -3 m :1" , "-P 4bc 2bc 3 (x+1/4,y+1/4,z+1/4)" , 224 }, { "P n -3 n" , "P n -3 n :1" , "-P 4a 2bc 3 (x-1/4,y-1/4,z-1/4)" , 222 }, { "P n a 21" , "P n a 21" , " P 2c -2n" , 33 }, { "P n c 2" , "P n c 2" , " P 2 -2bc" , 30 }, { "P n m a" , "P n m a" , "-P 2ac 2n" , 62 }, { "P n n 2" , "P n n 2" , " P 2 -2n" , 34 }, { "P n n a" , "P n n a" , "-P 2a 2bc" , 52 }, { "P n n m" , "P n n m" , "-P 2 2n" , 58 }, { "P n n n" , "P n n n :1" , "-P 2ab 2bc (x-1/4,y-1/4,z-1/4)" , 48 }, { "P4/m b m" , "P 4/m b m" , "-P 4 2ab" , 127 }, { "P4/m c c" , "P 4/m c c" , "-P 4 2c" , 124 }, { "P4/m m m" , "P 4/m m m" , "-P 4 2" , 123 }, { "P4/m n c" , "P 4/m n c" , "-P 4 2n" , 128 }, { "P4/n b m" , "P 4/n b m :1" , "-P 4a 2b (x-1/4,y-1/4,z)" , 125 }, { "P4/n c c" , "P 4/n c c :1" , "-P 4a 2ac (x-1/4,y+1/4,z)" , 130 }, { "P4/n m m" , "P 4/n m m :1" , "-P 4a 2a (x-1/4,y+1/4,z)" , 129 }, { "P4/n n c" , "P 4/n n c :1" , "-P 4a 2bc (x-1/4,y-1/4,z-1/4)" , 126 }, { "P42/m b c" , "P 42/m b c" , "-P 4c 2ab" , 135 }, { "P42/m c m" , "P 42/m c m" , "-P 4c 2c" , 132 }, { "P42/m m c" , "P 42/m m c" , "-P 4c 2" , 131 }, { "P42/m n m" , "P 42/m n m" , "-P 4n 2n" , 136 }, { "P42/n b c" , "P 42/n b c :1" , "-P 4ac 2b (x-1/4,y+1/4,z+1/4)" , 133 }, { "P42/n c m" , "P 42/n c m :1" , "-P 4ac 2ac (x-1/4,y+1/4,z-1/4)" , 138 }, { "P42/n m c" , "P 42/n m c :1" , "-P 4ac 2a (x-1/4,y+1/4,z+1/4)" , 137 }, { "P42/n n m" , "P 42/n n m :1" , "-P 4ac 2bc (x-1/4,y+1/4,z-1/4)" , 134 }, { "R -3" , "R -3 :R" , "-R 3 (-y+z,x+z,-x+y+z)" , 1148 }, { "R -3 2/c" , "R -3 c :R" , "-R 3 2\"c (-y+z,x+z,-x+y+z)" , 1167 }, { "R -3 2/m" , "R -3 m :R" , "-R 3 2\" (-y+z,x+z,-x+y+z)" , 1166 }, { "R -3 c" , "R -3 c :R" , "-R 3 2\"c (-y+z,x+z,-x+y+z)" , 1167 }, { "R -3 m" , "R -3 m :R" , "-R 3 2\" (-y+z,x+z,-x+y+z)" , 1166 }, { "R 3" , "R 3 :R" , " R 3 (-y+z,x+z,-x+y+z)" , 1146 }, { "R 3 2" , "R 3 2 :R" , " R 3 2\" (-y+z,x+z,-x+y+z)" , 1155 }, { "R 3 c" , "R 3 c :R" , " R 3 -2\"c (-y+z,x+z,-x+y+z)" , 1161 }, { "R 3 m" , "R 3 m :R" , " R 3 -2\" (-y+z,x+z,-x+y+z)" , 1160 }, }; const size_t kNrOfSpaceGroups = sizeof(kSpaceGroups) / sizeof(Spacegroup); const SymopDataBlock kSymopNrTable[] = { // P 1 { 1, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P -1 { 2, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 2, 2, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 1 2 1 { 3, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 3, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 1 21 1 { 4, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 4, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // C 1 2 1 { 5, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 5, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 5, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 5, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // P 1 m 1 { 6, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 6, 2, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 1 c 1 { 7, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 7, 2, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // C 1 m 1 { 8, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 8, 2, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 8, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 8, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // C 1 c 1 { 9, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 9, 2, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 9, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 9, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P 1 2/m 1 { 10, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 1 21/m 1 { 11, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 11, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 11, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 11, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // C 1 2/m 1 { 12, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 12, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 12, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 12, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 12, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 12, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 12, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 12, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P 1 2/c 1 { 13, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 13, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 13, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 13, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 1 21/c 1 { 14, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 14, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 14, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 14, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // C 1 2/c 1 { 15, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 15, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 15, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 15, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 15, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 15, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 15, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 15, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P 2 2 2 { 16, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 16, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 16, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 16, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 2 2 21 { 17, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 17, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 17, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 17, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, // P 21 21 2 { 18, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 18, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 18, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 18, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // P 21 21 21 { 19, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 19, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 19, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 19, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // C 2 2 21 { 20, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 20, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 20, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 20, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 20, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 20, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 20, 7, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 20, 8, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // C 2 2 2 { 21, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 21, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 21, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 21, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 21, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 21, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 21, 7, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 21, 8, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // F 2 2 2 { 22, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 22, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 22, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 22, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 22, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 22, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 22, 7, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 22, 8, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 22, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 22, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 22, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 22, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 22, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 22, 14, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 22, 15, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 22, 16, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // I 2 2 2 { 23, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 23, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 23, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 23, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 23, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 23, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 23, 7, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 23, 8, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // I 21 21 21 { 24, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 24, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 24, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 24, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 24, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 24, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 24, 7, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 24, 8, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, // P m m 2 { 25, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 25, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 25, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 25, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P m c 21 { 26, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 26, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 26, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 26, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P c c 2 { 27, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 27, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 27, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 27, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P m a 2 { 28, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 28, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 28, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 28, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // P c a 21 { 29, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 29, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 29, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 29, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // P n c 2 { 30, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 30, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 30, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 30, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // P m n 21 { 31, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 31, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 31, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 31, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P b a 2 { 32, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 32, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 32, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 32, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P n a 21 { 33, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 33, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 33, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 33, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P n n 2 { 34, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 34, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 34, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 34, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // C m m 2 { 35, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 35, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 35, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 35, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 35, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 35, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 35, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 35, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // C m c 21 { 36, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 36, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 36, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 36, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 36, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 36, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 36, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 36, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // C c c 2 { 37, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 37, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 37, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 37, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 37, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 37, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 37, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 37, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // A m m 2 { 38, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 38, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 38, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 38, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 38, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 38, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 38, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 38, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // A b m 2 { 39, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 39, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 39, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 39, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 39, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 39, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 39, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 39, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // A m a 2 { 40, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 40, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 40, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 40, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 40, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 40, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 40, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 40, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // A b a 2 { 41, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 41, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 41, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 41, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 41, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 41, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 41, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 41, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // F m m 2 { 42, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 42, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 42, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 42, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 42, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 42, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 42, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 42, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 42, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 42, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 42, 11, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 42, 12, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 42, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 42, 14, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 42, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 42, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // F d d 2 { 43, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 43, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 43, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 43, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 43, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 43, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 43, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 43, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 43, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 43, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 43, 11, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 43, 12, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 43, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 43, 14, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 43, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 43, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, // I m m 2 { 44, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 44, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 44, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 44, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 44, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 44, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 44, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 44, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // I b a 2 { 45, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 45, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 45, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 45, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 45, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 45, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 45, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 45, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I m a 2 { 46, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 46, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 46, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 46, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 46, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 46, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 46, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 46, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // P m m m { 47, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 47, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 47, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 47, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 47, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 47, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 47, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 47, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P n n n :1 { 48, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 48, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 48, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 48, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 48, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 48, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 48, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 48, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P c c m { 49, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 49, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 49, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 49, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 49, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 49, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 49, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 49, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P b a n :1 { 50, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 50, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 50, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 50, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 50, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 50, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 50, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 50, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P m m a { 51, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 51, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 51, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 51, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 51, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 51, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 51, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 51, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P n n a { 52, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 52, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 52, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 52, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 52, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 52, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 52, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 52, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P m n a { 53, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 53, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 53, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 53, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 53, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 53, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 53, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 53, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P c c a { 54, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 54, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 54, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 54, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 54, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 54, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 54, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 54, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P b a m { 55, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 55, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 55, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 55, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 55, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 55, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 55, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 55, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P c c n { 56, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 56, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 56, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 56, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 56, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 56, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 56, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 56, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // P b c m { 57, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 57, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 57, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 57, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 57, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 57, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 57, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 57, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // P n n m { 58, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 58, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 58, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 58, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 58, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 58, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 58, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 58, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P m m n :1 { 59, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 59, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 59, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 59, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 59, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 59, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 59, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 59, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P b c n { 60, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 60, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 60, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 60, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 60, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 60, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 60, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 60, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P b c a { 61, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 61, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 61, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 61, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 61, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 61, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 61, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 61, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // P n m a { 62, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 62, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 62, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 62, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 62, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 62, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 62, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 62, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // C m c m { 63, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 63, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 63, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 63, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 63, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 63, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 63, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 63, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 63, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 63, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 63, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 63, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 63, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 63, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 63, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 63, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // C m c a { 64, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 64, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 64, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 64, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 64, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 64, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 64, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 64, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 64, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 64, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 64, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 64, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 64, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 64, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 64, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 64, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // C m m m { 65, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 65, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 65, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 65, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 65, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 65, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 65, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 65, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 65, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 65, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 65, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 65, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 65, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 65, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 65, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 65, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // C c c m { 66, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 66, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 66, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 66, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 66, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 66, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 66, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 66, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 66, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 66, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 66, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 66, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 66, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 66, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 66, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 66, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // C m m a { 67, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 67, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 67, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 67, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 67, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 67, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 67, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 67, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 67, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 67, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 67, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 67, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 67, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 67, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 67, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 67, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // C c c a :1 { 68, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 68, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 68, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 68, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 68, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 68, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 68, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 68, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 68, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 68, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 68, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 68, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 68, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 68, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 68, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 68, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // F m m m { 69, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 69, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 69, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 69, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 69, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 69, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 69, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 69, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 69, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 69, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 69, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 69, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 69, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 69, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 69, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 69, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 69, 17, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 69, 18, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 69, 19, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 69, 20, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 69, 21, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 69, 22, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 69, 23, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 69, 24, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 69, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 69, 26, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 69, 27, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 69, 28, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 69, 29, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 69, 30, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 69, 31, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 69, 32, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // F d d d :1 { 70, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 70, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 70, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 70, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 70, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 70, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 70, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 70, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 70, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 70, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 70, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 70, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 70, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 70, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 70, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 70, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 70, 17, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 70, 18, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 70, 19, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 70, 20, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 70, 21, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 70, 22, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 70, 23, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 70, 24, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 70, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 70, 26, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 70, 27, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 70, 28, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 70, 29, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 70, 30, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 70, 31, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 70, 32, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, // I m m m { 71, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 71, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 71, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 71, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 71, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 71, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 71, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 71, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 71, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 71, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 71, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 71, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 71, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 71, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 71, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 71, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // I b a m { 72, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 72, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 72, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 72, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 72, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 72, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 72, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 72, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 72, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 72, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 72, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 72, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 72, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 72, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 72, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 72, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I b c a { 73, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 73, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 73, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 73, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 73, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 73, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 73, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 73, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 73, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 73, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 73, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 73, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 73, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 73, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 73, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 73, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // I m m a { 74, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 74, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 74, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 74, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 74, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 74, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 74, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 74, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 74, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 74, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 74, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 74, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 74, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 74, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 74, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 74, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P 4 { 75, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 75, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 75, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 75, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 41 { 76, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 76, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 4, } }, { 76, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 76, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 3, 4, } }, // P 42 { 77, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 77, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 77, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 77, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 43 { 78, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 78, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 3, 4, } }, { 78, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 78, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 4, } }, // I 4 { 79, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 79, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 79, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 79, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 79, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 79, 6, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 79, 7, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 79, 8, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // I 41 { 80, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 80, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 80, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 80, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 80, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 80, 6, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 80, 7, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 80, 8, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, // P -4 { 81, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 81, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 81, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 81, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // I -4 { 82, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 82, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 82, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 82, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 82, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 82, 6, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 82, 7, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 82, 8, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // P 4/m { 83, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 83, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 83, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 83, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 83, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 83, 6, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 83, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 83, 8, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 42/m { 84, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 84, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 84, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 84, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 84, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 84, 6, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 84, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 84, 8, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, // P 4/n :1 { 85, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 85, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 85, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 85, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 85, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 85, 6, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 85, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 85, 8, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 42/n :1 { 86, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 86, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 86, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 86, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 86, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 86, 6, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 86, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 86, 8, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // I 4/m { 87, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 87, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 87, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 87, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 87, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 87, 6, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 87, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 87, 8, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 87, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 87, 10, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 87, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 87, 12, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 87, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 87, 14, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 87, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 87, 16, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // I 41/a :1 { 88, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 88, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 88, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 88, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 88, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 4, } }, { 88, 6, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 88, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 3, 4, } }, { 88, 8, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 88, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 88, 10, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 88, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 88, 12, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 88, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 3, 4, } }, { 88, 14, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 88, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 4, } }, { 88, 16, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 4 2 2 { 89, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 89, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 89, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 89, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 89, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 89, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 89, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 89, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 4 21 2 { 90, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 90, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 90, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 90, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 90, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 90, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 90, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 90, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 41 2 2 { 91, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 91, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 4, } }, { 91, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 91, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 3, 4, } }, { 91, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 91, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 3, 4, } }, { 91, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 91, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 4, } }, // P 41 21 2 { 92, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 92, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 4, } }, { 92, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 92, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 3, 4, } }, { 92, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 3, 4, } }, { 92, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 92, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 4, } }, { 92, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, // P 42 2 2 { 93, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 93, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 93, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 93, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 93, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 93, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 93, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 93, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, // P 42 21 2 { 94, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 94, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 94, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 94, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 94, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 94, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 94, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 94, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 43 2 2 { 95, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 95, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 3, 4, } }, { 95, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 95, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 4, } }, { 95, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 95, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 4, } }, { 95, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 95, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 3, 4, } }, // P 43 21 2 { 96, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 96, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 3, 4, } }, { 96, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 96, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 4, } }, { 96, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 4, } }, { 96, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 96, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 3, 4, } }, { 96, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, // I 4 2 2 { 97, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 97, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 97, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 97, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 97, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 97, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 97, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 97, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 97, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 97, 10, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 97, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 97, 12, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 97, 13, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 97, 14, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 97, 15, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 97, 16, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // I 41 2 2 { 98, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 98, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 98, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 98, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 98, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 4, } }, { 98, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 98, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 3, 4, } }, { 98, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 98, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 98, 10, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 98, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 98, 12, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 98, 13, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 3, 4, } }, { 98, 14, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 98, 15, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 4, } }, { 98, 16, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // P 4 m m { 99, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 99, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 99, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 99, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 99, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 99, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 99, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 99, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 4 b m { 100, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 100, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 100, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 100, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 100, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 100, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 100, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 100, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P 42 c m { 101, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 101, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 101, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 101, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 101, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 101, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 101, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 101, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 42 n m { 102, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 102, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 102, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 102, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 102, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 102, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 102, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 102, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 4 c c { 103, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 103, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 103, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 103, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 103, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 103, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 103, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 103, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 4 n c { 104, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 104, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 104, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 104, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 104, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 104, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 104, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 104, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P 42 m c { 105, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 105, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 105, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 105, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 105, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 105, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 105, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 105, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 42 b c { 106, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 106, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 106, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 106, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 106, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 106, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 106, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 106, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // I 4 m m { 107, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 107, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 107, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 107, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 107, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 107, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 107, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 107, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 107, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 107, 10, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 107, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 107, 12, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 107, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 107, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 107, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 107, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // I 4 c m { 108, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 108, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 108, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 108, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 108, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 108, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 108, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 108, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 108, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 108, 10, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 108, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 108, 12, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 108, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 108, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 108, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 108, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I 41 m d { 109, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 109, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 109, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 109, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 109, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 109, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 109, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 109, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 109, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 109, 10, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 109, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 109, 12, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 109, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 109, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 109, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 109, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, // I 41 c d { 110, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 110, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 110, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 110, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 110, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 110, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 3, 4, } }, { 110, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 110, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 4, } }, { 110, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 110, 10, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 110, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 110, 12, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 110, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 110, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 4, } }, { 110, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 110, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 3, 4, } }, // P -4 2 m { 111, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 111, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 111, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 111, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 111, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 111, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 111, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 111, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P -4 2 c { 112, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 112, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 112, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 112, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 112, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 112, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 112, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 112, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P -4 21 m { 113, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 113, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 113, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 113, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 113, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 113, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 113, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 113, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P -4 21 c { 114, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 114, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 114, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 114, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 114, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 114, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 114, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 114, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P -4 m 2 { 115, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 115, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 115, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 115, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 115, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 115, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 115, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 115, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P -4 c 2 { 116, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 116, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 116, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 116, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 116, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 116, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 116, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 116, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, // P -4 b 2 { 117, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 117, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 117, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 117, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 117, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 117, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 117, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 117, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // P -4 n 2 { 118, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 118, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 118, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 118, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 118, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 118, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 118, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 118, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // I -4 m 2 { 119, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 119, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 119, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 119, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 119, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 119, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 119, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 119, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 119, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 119, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 119, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 119, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 119, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 119, 14, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 119, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 119, 16, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // I -4 c 2 { 120, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 120, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 120, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 120, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 120, 5, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 120, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 120, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 120, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 120, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 120, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 120, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 120, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 120, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 120, 14, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 120, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 120, 16, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // I -4 2 m { 121, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 121, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 121, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 121, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 121, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 121, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 121, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 121, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 121, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 121, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 121, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 121, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 121, 13, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 121, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 121, 15, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 121, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // I -4 2 d { 122, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 122, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 122, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 122, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 122, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 4, } }, { 122, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 122, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 4, } }, { 122, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 122, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 122, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 122, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 122, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 122, 13, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 3, 4, } }, { 122, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 122, 15, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 3, 4, } }, { 122, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, // P 4/m m m { 123, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 123, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 123, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 123, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 123, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 123, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 123, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 123, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 123, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 123, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 123, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 123, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 123, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 123, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 123, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 123, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 4/m c c { 124, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 124, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 124, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 124, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 124, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 124, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 124, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 124, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 124, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 124, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 124, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 124, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 124, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 124, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 124, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 124, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 4/n b m :1 { 125, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 125, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 125, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 125, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 125, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 125, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 125, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 125, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 125, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 125, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 125, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 125, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 125, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 125, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 125, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 125, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P 4/n n c :1 { 126, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 126, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 126, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 126, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 126, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 126, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 126, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 126, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 126, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 126, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 126, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 126, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 126, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 126, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 126, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 126, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P 4/m b m { 127, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 127, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 127, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 127, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 127, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 127, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 127, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 127, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 127, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 127, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 127, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 127, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 127, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 127, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 127, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 127, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P 4/m n c { 128, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 128, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 128, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 128, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 128, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 128, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 128, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 128, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 128, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 128, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 128, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 128, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 128, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 128, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 128, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 128, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P 4/n m m :1 { 129, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 129, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 129, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 129, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 129, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 129, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 129, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 129, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 129, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 129, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 129, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 129, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 129, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 129, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 129, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 129, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P 4/n c c :1 { 130, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 130, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 130, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 130, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 130, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 130, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 130, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 130, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 130, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 130, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 130, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 130, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 130, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 130, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 130, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 130, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P 42/m m c { 131, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 131, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 131, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 131, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 131, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 131, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 131, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 131, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 131, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 131, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 131, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 131, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 131, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 131, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 131, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 131, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 42/m c m { 132, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 132, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 132, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 132, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 132, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 132, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 132, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 132, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 132, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 132, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 132, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 132, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 132, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 132, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 132, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 132, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 42/n b c :1 { 133, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 133, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 133, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 133, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 133, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 133, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 133, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 133, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 133, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 133, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 133, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 133, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 133, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 133, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 133, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 133, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 42/n n m :1 { 134, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 134, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 134, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 134, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 134, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 134, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 134, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 134, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 134, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 134, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 134, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 134, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 134, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 134, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 134, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 134, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 42/m b c { 135, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 135, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 135, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 135, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 135, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 135, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 135, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 135, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 135, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 135, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 135, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 135, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 135, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 135, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 135, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 135, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P 42/m n m { 136, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 136, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 136, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 136, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 136, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 136, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 136, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 136, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 136, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 136, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 136, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 136, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 136, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 136, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 136, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 136, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 42/n m c :1 { 137, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 137, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 137, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 137, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 137, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 137, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 137, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 137, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 137, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 137, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 137, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 137, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 137, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 137, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 137, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 137, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P 42/n c m :1 { 138, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 138, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 138, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 138, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 138, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 138, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 138, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 138, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 138, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 138, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 138, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 138, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 138, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 138, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 138, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 138, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I 4/m m m { 139, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 139, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 139, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 139, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 139, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 139, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 139, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 139, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 139, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 139, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 139, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 139, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 139, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 139, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 139, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 139, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 139, 17, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 139, 18, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 139, 19, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 139, 20, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 139, 21, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 139, 22, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 139, 23, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 139, 24, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 139, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 139, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 139, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 139, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 139, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 139, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 139, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 139, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // I 4/m c m { 140, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 140, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 140, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 140, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 140, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 140, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 140, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 140, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 140, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 140, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 140, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 140, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 140, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 140, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 140, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 140, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 140, 17, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 140, 18, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 140, 19, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 140, 20, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 140, 21, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 140, 22, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 140, 23, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 140, 24, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 140, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 140, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 140, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 140, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 140, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 140, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 140, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 140, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I 41/a m d :1 { 141, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 141, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 141, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 141, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 141, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 4, } }, { 141, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 141, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 3, 4, } }, { 141, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 141, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 4, } }, { 141, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 141, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 3, 4, } }, { 141, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 141, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 141, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 141, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 141, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 141, 17, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 141, 18, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 141, 19, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 141, 20, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 141, 21, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 3, 4, } }, { 141, 22, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 141, 23, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 4, } }, { 141, 24, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 141, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 3, 4, } }, { 141, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 141, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 4, } }, { 141, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 141, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 141, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 141, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 141, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, // I 41/a c d :1 { 142, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 142, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 142, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 142, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 142, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 3, 4, } }, { 142, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 142, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 4, } }, { 142, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 142, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 4, } }, { 142, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 142, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 3, 4, } }, { 142, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 142, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 142, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 4, } }, { 142, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 142, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 3, 4, } }, { 142, 17, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 142, 18, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 3, 4, } }, { 142, 19, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 142, 20, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 4, } }, { 142, 21, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 4, } }, { 142, 22, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 142, 23, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 3, 4, } }, { 142, 24, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 142, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 3, 4, } }, { 142, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 142, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 4, } }, { 142, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 142, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 142, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 3, 4, } }, { 142, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 142, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 4, } }, // P 3 { 143, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 143, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 143, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 31 { 144, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 144, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 144, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, // P 32 { 145, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 145, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 145, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, // R 3 :H { 146, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 146, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 146, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 146, 4, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 146, 5, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 146, 6, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 146, 7, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 146, 8, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 146, 9, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, // P -3 { 147, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 147, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 147, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 147, 4, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 147, 5, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 147, 6, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // R -3 :H { 148, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 148, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 148, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 148, 4, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 148, 5, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 148, 6, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 148, 7, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 148, 8, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 148, 9, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 148, 10, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 148, 11, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 148, 12, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 148, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 148, 14, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 148, 15, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 148, 16, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, { 148, 17, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, { 148, 18, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, // P 3 1 2 { 149, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 149, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 149, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 149, 4, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 149, 5, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 149, 6, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 3 2 1 { 150, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 150, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 150, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 150, 4, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 150, 5, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 150, 6, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 31 1 2 { 151, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 151, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 151, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 151, 4, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 2, 3, } }, { 151, 5, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 151, 6, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 3, } }, // P 31 2 1 { 152, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 152, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 152, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 152, 4, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 152, 5, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 3, } }, { 152, 6, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 2, 3, } }, // P 32 1 2 { 153, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 153, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 153, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 153, 4, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 3, } }, { 153, 5, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 153, 6, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 2, 3, } }, // P 32 2 1 { 154, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 154, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 154, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 154, 4, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 154, 5, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 2, 3, } }, { 154, 6, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 3, } }, // R 3 2 :H { 155, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 155, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 155, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 155, 4, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 155, 5, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 155, 6, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 155, 7, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 155, 8, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 155, 9, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 155, 10, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 155, 11, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 155, 12, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 155, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 155, 14, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 155, 15, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 155, 16, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, { 155, 17, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, { 155, 18, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, // P 3 m 1 { 156, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 156, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 156, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 156, 4, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 156, 5, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 156, 6, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 3 1 m { 157, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 157, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 157, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 157, 4, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 157, 5, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 157, 6, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 3 c 1 { 158, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 158, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 158, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 158, 4, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 158, 5, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 158, 6, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 3 1 c { 159, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 159, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 159, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 159, 4, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 159, 5, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 159, 6, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // R 3 m :H { 160, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 160, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 160, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 160, 4, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 160, 5, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 160, 6, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 160, 7, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 160, 8, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 160, 9, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 160, 10, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 160, 11, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 160, 12, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 160, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 160, 14, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 160, 15, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 160, 16, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 160, 17, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 160, 18, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, // R 3 c :H { 161, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 161, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 161, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 161, 4, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 161, 5, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 161, 6, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 161, 7, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 161, 8, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 161, 9, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 161, 10, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 3, 1, 3, 5, 6, } }, { 161, 11, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 2, 3, 1, 3, 5, 6, } }, { 161, 12, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 2, 3, 1, 3, 5, 6, } }, { 161, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 161, 14, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 161, 15, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 161, 16, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 3, 2, 3, 1, 6, } }, { 161, 17, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 1, 3, 2, 3, 1, 6, } }, { 161, 18, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 3, 2, 3, 1, 6, } }, // P -3 1 m { 162, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 162, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 162, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 162, 4, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 162, 5, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 162, 6, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 162, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 162, 8, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 162, 9, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 162, 10, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 162, 11, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 162, 12, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P -3 1 c { 163, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 163, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 163, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 163, 4, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 163, 5, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 163, 6, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 163, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 163, 8, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 163, 9, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 163, 10, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 163, 11, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 163, 12, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P -3 m 1 { 164, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 164, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 164, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 164, 4, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 164, 5, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 164, 6, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 164, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 164, 8, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 164, 9, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 164, 10, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 164, 11, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 164, 12, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P -3 c 1 { 165, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 165, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 165, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 165, 4, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 165, 5, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 165, 6, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 165, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 165, 8, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 165, 9, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 165, 10, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 165, 11, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 165, 12, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // R -3 m :H { 166, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 166, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 166, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 166, 4, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 166, 5, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 166, 6, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 166, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 166, 8, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 166, 9, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 166, 10, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 166, 11, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 166, 12, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 166, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 166, 14, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 166, 15, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 166, 16, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 166, 17, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 166, 18, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 166, 19, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 166, 20, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 166, 21, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 166, 22, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 166, 23, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 166, 24, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 166, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 166, 26, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 166, 27, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 166, 28, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, { 166, 29, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, { 166, 30, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, { 166, 31, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, { 166, 32, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, { 166, 33, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, { 166, 34, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 166, 35, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 166, 36, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, // R -3 c :H { 167, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 167, 2, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 167, 3, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 167, 4, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 167, 5, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 167, 6, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 167, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 167, 8, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 167, 9, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 167, 10, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 167, 11, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 167, 12, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 167, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 167, 14, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 167, 15, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 2, 3, 1, 3, 1, 3, } }, { 167, 16, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 2, 3, 1, 3, 5, 6, } }, { 167, 17, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 2, 3, 1, 3, 5, 6, } }, { 167, 18, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 2, 3, 1, 3, 5, 6, } }, { 167, 19, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 167, 20, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 167, 21, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 2, 3, 1, 3, 1, 3, } }, { 167, 22, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 3, 1, 3, 5, 6, } }, { 167, 23, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 2, 3, 1, 3, 5, 6, } }, { 167, 24, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 2, 3, 1, 3, 5, 6, } }, { 167, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 167, 26, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 167, 27, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 1, 3, 2, 3, 2, 3, } }, { 167, 28, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 3, 2, 3, 1, 6, } }, { 167, 29, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 1, 3, 2, 3, 1, 6, } }, { 167, 30, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 1, 3, 2, 3, 1, 6, } }, { 167, 31, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, { 167, 32, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, { 167, 33, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 1, 3, 2, 3, 2, 3, } }, { 167, 34, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 3, 2, 3, 1, 6, } }, { 167, 35, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 1, 3, 2, 3, 1, 6, } }, { 167, 36, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 3, 2, 3, 1, 6, } }, // P 6 { 168, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 168, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 168, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 168, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 168, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 168, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 61 { 169, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 169, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 6, } }, { 169, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 169, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 169, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 169, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 5, 6, } }, // P 65 { 170, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 170, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 5, 6, } }, { 170, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 170, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 170, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 170, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 6, } }, // P 62 { 171, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 171, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 171, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 171, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 171, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 171, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, // P 64 { 172, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 172, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 172, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 172, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 172, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 172, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, // P 63 { 173, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 173, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 173, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 173, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 173, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 173, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P -6 { 174, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 174, 2, { -1, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 174, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 174, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 174, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 174, 6, { 0,-1, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 6/m { 175, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 175, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 175, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 175, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 175, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 175, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 175, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 175, 8, { -1, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 175, 9, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 175, 10, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 175, 11, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 175, 12, { 0,-1, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 63/m { 176, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 176, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 176, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 176, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 176, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 176, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 176, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 176, 8, { -1, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 176, 9, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 176, 10, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 176, 11, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 176, 12, { 0,-1, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, // P 6 2 2 { 177, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 177, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 177, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 177, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 177, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 177, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 177, 7, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 177, 8, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 177, 9, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 177, 10, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 177, 11, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 177, 12, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 61 2 2 { 178, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 178, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 6, } }, { 178, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 178, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 178, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 178, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 5, 6, } }, { 178, 7, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 5, 6, } }, { 178, 8, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 178, 9, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 6, } }, { 178, 10, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 3, } }, { 178, 11, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 178, 12, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 2, 3, } }, // P 65 2 2 { 179, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 179, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 5, 6, } }, { 179, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 179, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 179, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 179, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 6, } }, { 179, 7, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 6, } }, { 179, 8, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 179, 9, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 5, 6, } }, { 179, 10, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 2, 3, } }, { 179, 11, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 179, 12, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 3, } }, // P 62 2 2 { 180, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 180, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 180, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 180, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 180, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 180, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 180, 7, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 2, 3, } }, { 180, 8, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 180, 9, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 3, } }, { 180, 10, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 2, 3, } }, { 180, 11, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 180, 12, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 3, } }, // P 64 2 2 { 181, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 181, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 181, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 181, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 181, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, } }, { 181, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, } }, { 181, 7, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 3, } }, { 181, 8, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 181, 9, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 2, 3, } }, { 181, 10, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 3, } }, { 181, 11, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 181, 12, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 2, 3, } }, // P 63 2 2 { 182, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 182, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 182, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 182, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 182, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 182, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 182, 7, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 182, 8, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 182, 9, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 182, 10, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 182, 11, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 182, 12, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 6 m m { 183, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 183, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 183, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 183, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 183, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 183, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 183, 7, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 183, 8, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 183, 9, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 183, 10, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 183, 11, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 183, 12, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 6 c c { 184, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 184, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 184, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 184, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 184, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 184, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 184, 7, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 184, 8, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 184, 9, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 184, 10, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 184, 11, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 184, 12, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 63 c m { 185, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 185, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 185, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 185, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 185, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 185, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 185, 7, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 185, 8, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 185, 9, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 185, 10, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 185, 11, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 185, 12, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 63 m c { 186, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 186, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 186, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 186, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 186, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 186, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 186, 7, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 186, 8, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 186, 9, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 186, 10, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 186, 11, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 186, 12, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P -6 m 2 { 187, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 187, 2, { -1, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 187, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 187, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 187, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 187, 6, { 0,-1, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 187, 7, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 187, 8, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 187, 9, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 187, 10, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 187, 11, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 187, 12, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P -6 c 2 { 188, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 188, 2, { -1, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 188, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 188, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 188, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 188, 6, { 0,-1, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 188, 7, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 188, 8, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 188, 9, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 188, 10, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 188, 11, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 188, 12, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P -6 2 m { 189, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 189, 2, { -1, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 189, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 189, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 189, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 189, 6, { 0,-1, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 189, 7, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 189, 8, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 189, 9, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 189, 10, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 189, 11, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 189, 12, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P -6 2 c { 190, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 190, 2, { -1, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 190, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 190, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 190, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 190, 6, { 0,-1, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 190, 7, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 190, 8, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 190, 9, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 190, 10, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 190, 11, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 190, 12, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 6/m m m { 191, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 191, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 191, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 191, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 191, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 191, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 191, 7, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 191, 8, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 191, 9, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 191, 10, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 191, 11, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 191, 12, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 191, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 191, 14, { -1, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 191, 15, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 191, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 191, 17, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 191, 18, { 0,-1, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 191, 19, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 191, 20, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 191, 21, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 191, 22, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 191, 23, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 191, 24, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 6/m c c { 192, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 192, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 192, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 192, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 192, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 192, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 192, 7, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 192, 8, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 192, 9, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 192, 10, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 192, 11, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 192, 12, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 192, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 192, 14, { -1, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 192, 15, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 192, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 192, 17, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 192, 18, { 0,-1, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 192, 19, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 192, 20, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 192, 21, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 192, 22, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 192, 23, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 192, 24, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 63/m c m { 193, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 193, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 193, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 193, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 193, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 193, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 193, 7, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 193, 8, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 193, 9, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 193, 10, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 193, 11, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 193, 12, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 193, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 193, 14, { -1, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 193, 15, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 193, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 193, 17, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 193, 18, { 0,-1, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 193, 19, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 193, 20, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 193, 21, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 193, 22, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 193, 23, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 193, 24, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 63/m m c { 194, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 194, 2, { 1,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 194, 3, { 0,-1, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 194, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 194, 5, { -1, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 194, 6, { 0, 1, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 194, 7, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 194, 8, { 1,-1, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 194, 9, { 1, 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 194, 10, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 194, 11, { -1, 1, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 194, 12, { -1, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 194, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 194, 14, { -1, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 194, 15, { 0, 1, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 194, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 194, 17, { 1,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 194, 18, { 0,-1, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 194, 19, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 194, 20, { -1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 194, 21, { -1, 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 194, 22, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 194, 23, { 1,-1, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 194, 24, { 1, 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 2 3 { 195, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 195, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 195, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 195, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 195, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 195, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 195, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 195, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 195, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 195, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 195, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 195, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, // F 2 3 { 196, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 196, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 196, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 196, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 196, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 196, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 196, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 196, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 196, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 196, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 196, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 196, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 196, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 196, 14, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 196, 15, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 196, 16, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 196, 17, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 196, 18, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 196, 19, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 196, 20, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 196, 21, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 196, 22, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 196, 23, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 196, 24, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 196, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 196, 26, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 196, 27, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 196, 28, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 196, 29, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 196, 30, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 196, 31, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 196, 32, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 196, 33, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 196, 34, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 196, 35, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 196, 36, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 196, 37, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 196, 38, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 196, 39, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 196, 40, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 196, 41, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 196, 42, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 196, 43, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 196, 44, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 196, 45, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 196, 46, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 196, 47, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 196, 48, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, // I 2 3 { 197, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 197, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 197, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 197, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 197, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 197, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 197, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 197, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 197, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 197, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 197, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 197, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 197, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 197, 14, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 197, 15, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 197, 16, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 197, 17, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 197, 18, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 197, 19, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 197, 20, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 197, 21, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 197, 22, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 197, 23, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 197, 24, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, // P 21 3 { 198, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 198, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 198, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 198, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 198, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 198, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 198, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 198, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 198, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 198, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 198, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 198, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, // I 21 3 { 199, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 199, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 199, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 199, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 199, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 199, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 199, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 199, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 199, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 199, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 199, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 199, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 199, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 199, 14, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 199, 15, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 199, 16, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 199, 17, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 199, 18, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 199, 19, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 199, 20, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 199, 21, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 199, 22, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 199, 23, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 199, 24, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, // P m -3 { 200, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 200, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 200, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 200, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 200, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 200, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 200, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 200, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 200, 17, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 18, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 19, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 20, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 21, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 22, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 23, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 200, 24, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, // P n -3 :1 { 201, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 201, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 201, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 201, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 201, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 201, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 201, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 201, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 201, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 201, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 201, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 201, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 201, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 201, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 201, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 201, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 201, 17, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 201, 18, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 201, 19, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 201, 20, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 201, 21, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 201, 22, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 201, 23, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 201, 24, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, // F m -3 { 202, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 202, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 202, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 202, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 202, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 202, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 202, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 202, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 202, 17, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 18, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 19, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 20, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 21, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 22, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 23, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 24, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 202, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 202, 26, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 202, 27, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 202, 28, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 202, 29, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 30, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 31, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 32, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 33, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 34, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 35, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 36, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 37, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 202, 38, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 202, 39, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 202, 40, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 202, 41, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 42, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 43, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 44, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 45, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 46, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 47, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 48, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 202, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 202, 50, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 202, 51, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 202, 52, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 202, 53, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 54, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 55, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 56, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 57, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 58, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 59, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 60, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 61, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 202, 62, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 202, 63, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 202, 64, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 202, 65, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 66, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 67, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 68, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 69, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 70, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 71, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 72, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 202, 73, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 202, 74, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 202, 75, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 202, 76, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 202, 77, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 78, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 79, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 80, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 81, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 82, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 83, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 84, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 85, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 202, 86, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 202, 87, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 202, 88, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 202, 89, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 90, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 91, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 92, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 93, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 94, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 95, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 202, 96, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, // F d -3 :1 { 203, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 203, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 203, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 203, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 203, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 203, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 203, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 203, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 203, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 203, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 203, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 203, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 203, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 203, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 203, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 203, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 203, 17, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 4, 1, 4, 1, 4, } }, { 203, 18, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 3, 4, 3, 4, 1, 4, } }, { 203, 19, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 4, 3, 4, 3, 4, } }, { 203, 20, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 3, 4, 1, 4, 3, 4, } }, { 203, 21, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 203, 22, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 203, 23, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 203, 24, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 203, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 203, 26, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 203, 27, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 203, 28, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 203, 29, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 203, 30, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 203, 31, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 203, 32, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 203, 33, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 203, 34, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 203, 35, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 203, 36, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 203, 37, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 203, 38, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 203, 39, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 203, 40, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 203, 41, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 4, 3, 4, 3, 4, } }, { 203, 42, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 3, 4, 1, 4, 3, 4, } }, { 203, 43, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 4, 1, 4, 1, 4, } }, { 203, 44, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 3, 4, 3, 4, 1, 4, } }, { 203, 45, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 203, 46, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 203, 47, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 203, 48, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 203, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 203, 50, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 203, 51, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 203, 52, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 203, 53, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 203, 54, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 203, 55, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 203, 56, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 203, 57, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 203, 58, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 203, 59, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 203, 60, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 203, 61, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 203, 62, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 203, 63, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 203, 64, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 203, 65, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 3, 4, 1, 4, 3, 4, } }, { 203, 66, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 4, 3, 4, 3, 4, } }, { 203, 67, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 3, 4, 3, 4, 1, 4, } }, { 203, 68, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 4, 1, 4, 1, 4, } }, { 203, 69, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 203, 70, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 203, 71, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 203, 72, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 203, 73, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 203, 74, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 203, 75, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 203, 76, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 203, 77, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 203, 78, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 203, 79, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 203, 80, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 203, 81, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 203, 82, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 203, 83, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 203, 84, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 203, 85, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 203, 86, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 203, 87, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 203, 88, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 203, 89, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 3, 4, 3, 4, 1, 4, } }, { 203, 90, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 4, 1, 4, 1, 4, } }, { 203, 91, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 3, 4, 1, 4, 3, 4, } }, { 203, 92, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 4, 3, 4, 3, 4, } }, { 203, 93, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 203, 94, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 203, 95, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 203, 96, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 1, 4, 1, 4, } }, // I m -3 { 204, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 204, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 204, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 204, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 204, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 204, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 204, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 204, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 204, 17, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 18, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 19, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 20, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 21, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 22, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 23, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 24, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 204, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 204, 26, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 204, 27, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 204, 28, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 204, 29, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 30, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 31, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 32, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 33, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 34, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 35, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 36, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 37, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 204, 38, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 204, 39, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 204, 40, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 204, 41, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 42, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 43, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 44, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 45, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 46, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 47, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 204, 48, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, // P a -3 { 205, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 205, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 205, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 205, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 205, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 205, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 205, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 205, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 205, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 205, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 205, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 205, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 205, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 205, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 205, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 205, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 205, 17, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 205, 18, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 205, 19, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 205, 20, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 205, 21, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 205, 22, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 205, 23, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 205, 24, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, // I a -3 { 206, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 206, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 206, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 206, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 206, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 206, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 206, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 206, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 206, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 206, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 206, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 206, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 206, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 206, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 206, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 206, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 206, 17, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 206, 18, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 0, 0, } }, { 206, 19, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 2, } }, { 206, 20, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 206, 21, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 206, 22, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 206, 23, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 206, 24, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 206, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 206, 26, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 206, 27, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 206, 28, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 206, 29, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 206, 30, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 206, 31, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 206, 32, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 206, 33, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 206, 34, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 206, 35, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 206, 36, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 206, 37, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 206, 38, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 206, 39, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 206, 40, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 206, 41, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 206, 42, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 206, 43, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 206, 44, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, } }, { 206, 45, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 206, 46, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 206, 47, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 206, 48, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 0, 0, } }, // P 4 3 2 { 207, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 207, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 207, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 207, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 207, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 207, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 207, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 207, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 207, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 207, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, // P 42 3 2 { 208, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 208, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 208, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 208, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 208, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 208, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 208, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 208, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 208, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 208, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 208, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 208, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 208, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 208, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 208, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 208, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 208, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 208, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 208, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 208, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 208, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 208, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 208, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 208, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, // F 4 3 2 { 209, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 209, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 209, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 209, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 209, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 209, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 209, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 209, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 209, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 209, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 209, 26, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 209, 27, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 209, 28, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 209, 29, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 209, 30, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 209, 31, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 209, 32, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 209, 33, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 34, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 35, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 36, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 37, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 38, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 39, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 40, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 41, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 42, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 43, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 44, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 45, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 46, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 47, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 48, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 209, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 209, 50, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 209, 51, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 209, 52, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 209, 53, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 209, 54, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 209, 55, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 209, 56, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 209, 57, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 58, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 59, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 60, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 61, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 62, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 63, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 64, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 65, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 66, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 67, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 68, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 69, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 70, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 71, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 72, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 209, 73, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 209, 74, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 209, 75, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 209, 76, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 209, 77, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 209, 78, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 209, 79, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 209, 80, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 209, 81, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 82, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 83, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 84, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 85, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 86, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 87, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 88, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 89, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 90, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 91, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 92, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 93, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 94, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 95, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 209, 96, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, // F 41 3 2 { 210, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 210, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 210, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 210, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 210, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 210, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 210, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 210, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 210, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 210, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 4, 1, 4, 1, 4, } }, { 210, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 210, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 1, 4, 3, 4, } }, { 210, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 210, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 1, 4, 1, 4, } }, { 210, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 210, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 3, 4, 1, 4, 3, 4, } }, { 210, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 210, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 210, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 210, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 210, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 210, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 210, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 210, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 210, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 210, 26, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 210, 27, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 210, 28, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 210, 29, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 210, 30, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 210, 31, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 210, 32, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 210, 33, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 210, 34, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 4, 3, 4, 3, 4, } }, { 210, 35, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 210, 36, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 3, 4, 1, 4, } }, { 210, 37, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 210, 38, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 3, 4, 3, 4, } }, { 210, 39, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 210, 40, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 3, 4, 3, 4, 1, 4, } }, { 210, 41, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 210, 42, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 210, 43, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 210, 44, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 210, 45, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 210, 46, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 210, 47, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 210, 48, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 210, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 210, 50, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 210, 51, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 210, 52, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 210, 53, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 210, 54, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 210, 55, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 210, 56, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 210, 57, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 210, 58, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 3, 4, 1, 4, 3, 4, } }, { 210, 59, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 210, 60, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 1, 4, 1, 4, } }, { 210, 61, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 210, 62, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 1, 4, 3, 4, } }, { 210, 63, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 210, 64, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 4, 1, 4, 1, 4, } }, { 210, 65, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 210, 66, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 210, 67, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 210, 68, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 210, 69, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 210, 70, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 210, 71, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 210, 72, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 210, 73, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 210, 74, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 210, 75, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 210, 76, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 210, 77, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 210, 78, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 210, 79, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 210, 80, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 210, 81, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 210, 82, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 3, 4, 3, 4, 1, 4, } }, { 210, 83, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 210, 84, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 3, 4, 3, 4, } }, { 210, 85, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 210, 86, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 3, 4, 1, 4, } }, { 210, 87, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 210, 88, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 4, 3, 4, 3, 4, } }, { 210, 89, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 210, 90, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 210, 91, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 210, 92, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 210, 93, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 210, 94, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 210, 95, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 210, 96, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 4, 1, 4, 1, 4, } }, // I 4 3 2 { 211, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 211, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 211, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 211, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 211, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 211, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 211, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 211, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 211, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 211, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 211, 26, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 211, 27, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 211, 28, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 211, 29, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 211, 30, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 211, 31, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 211, 32, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 211, 33, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 34, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 35, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 36, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 37, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 38, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 39, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 40, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 41, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 42, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 43, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 44, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 45, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 46, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 47, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 211, 48, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, // P 43 3 2 { 212, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 212, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 212, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 212, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 212, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 212, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 212, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 212, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 212, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 212, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 3, 4, 1, 4, 3, 4, } }, { 212, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 212, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 3, 4, 1, 4, } }, { 212, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 212, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 3, 4, 3, 4, } }, { 212, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 212, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 4, 1, 4, 1, 4, } }, { 212, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 212, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 212, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 212, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 212, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 212, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 212, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 212, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 3, 4, 1, 4, 3, 4, } }, // P 41 3 2 { 213, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 213, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 1, 4, } }, { 213, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 213, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 3, 4, } }, { 213, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 213, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 1, 4, } }, { 213, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 213, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 3, 4, } }, { 213, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 213, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 4, 3, 4, 1, 4, } }, { 213, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 213, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 1, 4, 3, 4, } }, { 213, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 213, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 1, 4, 1, 4, } }, { 213, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 213, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 3, 4, 3, 4, 3, 4, } }, { 213, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 213, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 213, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 3, 4, 1, 4, 1, 4, } }, { 213, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 213, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 3, 4, 3, 4, 3, 4, } }, { 213, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 213, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 4, 1, 4, 3, 4, } }, { 213, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 4, 3, 4, 1, 4, } }, // I 41 3 2 { 214, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 214, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 1, 4, } }, { 214, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 214, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 3, 4, } }, { 214, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 214, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 214, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 214, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 214, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 214, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 4, 3, 4, 1, 4, } }, { 214, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 214, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 1, 4, 3, 4, } }, { 214, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 214, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 3, 4, 3, 4, } }, { 214, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 214, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 4, 1, 4, 1, 4, } }, { 214, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 214, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 214, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 3, 4, 1, 4, 1, 4, } }, { 214, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 214, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 214, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 214, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 214, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 214, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 214, 26, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 214, 27, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 214, 28, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 214, 29, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 214, 30, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 1, 4, } }, { 214, 31, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 214, 32, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 3, 4, } }, { 214, 33, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 214, 34, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 3, 4, 1, 4, 3, 4, } }, { 214, 35, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 214, 36, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 3, 4, 1, 4, } }, { 214, 37, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 214, 38, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 1, 4, 1, 4, } }, { 214, 39, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 214, 40, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 3, 4, 3, 4, 3, 4, } }, { 214, 41, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 214, 42, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 214, 43, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 214, 44, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 214, 45, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 3, 4, 3, 4, 3, 4, } }, { 214, 46, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 214, 47, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 4, 1, 4, 3, 4, } }, { 214, 48, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 4, 3, 4, 1, 4, } }, // P -4 3 m { 215, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 215, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 215, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 215, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 215, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 215, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 215, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 215, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 215, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 10, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 12, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 14, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 16, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 19, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 21, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 23, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 215, 24, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, // F -4 3 m { 216, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 216, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 216, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 216, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 216, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 216, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 216, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 216, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 216, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 10, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 12, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 14, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 16, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 19, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 21, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 23, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 24, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 216, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 216, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 216, 27, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 216, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 216, 29, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 216, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 216, 31, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 216, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 216, 33, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 35, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 37, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 39, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 41, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 42, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 44, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 46, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 216, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 216, 50, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 216, 51, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 216, 52, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 216, 53, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 216, 54, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 216, 55, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 216, 56, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 216, 57, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 58, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 59, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 60, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 61, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 62, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 63, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 64, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 65, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 66, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 67, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 68, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 69, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 70, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 71, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 72, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 216, 73, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 216, 74, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 216, 75, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 216, 76, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 216, 77, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 216, 78, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 216, 79, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 216, 80, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 216, 81, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 82, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 83, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 84, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 85, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 86, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 87, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 88, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 89, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 90, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 91, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 92, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 93, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 94, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 95, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 216, 96, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, // I -4 3 m { 217, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 217, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 217, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 217, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 217, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 217, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 217, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 217, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 217, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 10, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 12, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 14, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 16, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 19, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 21, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 23, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 24, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 217, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 217, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 217, 27, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 217, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 217, 29, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 217, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 217, 31, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 217, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 217, 33, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 35, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 37, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 39, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 41, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 42, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 44, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 46, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 217, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, // P -4 3 n { 218, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 218, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 218, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 218, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 218, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 218, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 218, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 218, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 218, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 218, 10, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 218, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 218, 12, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 218, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 218, 14, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 218, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 218, 16, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 218, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 218, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 218, 19, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 218, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 218, 21, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 218, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 218, 23, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 218, 24, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, // F -4 3 c { 219, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 219, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 219, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 219, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 219, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 219, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 219, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 219, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 219, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 219, 10, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 219, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 219, 12, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 1, 2, 0, 0, } }, { 219, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 219, 14, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 0, 0, 0, 0, } }, { 219, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 219, 16, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 219, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 219, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 219, 19, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 219, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 219, 21, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 219, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 219, 23, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 219, 24, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 219, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 219, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 219, 27, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 219, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 219, 29, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 219, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 219, 31, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 219, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 219, 33, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 219, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 219, 35, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 219, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 219, 37, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 219, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 219, 39, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 219, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 2, } }, { 219, 41, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 219, 42, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 219, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 219, 44, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 219, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 219, 46, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 219, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 219, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 219, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 219, 50, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 219, 51, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 219, 52, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 219, 53, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 219, 54, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 219, 55, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 219, 56, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 219, 57, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 219, 58, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 219, 59, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 219, 60, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 219, 61, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 219, 62, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 1, 2, } }, { 219, 63, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 219, 64, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 219, 65, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 219, 66, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 219, 67, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 219, 68, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 219, 69, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 219, 70, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 219, 71, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 219, 72, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 219, 73, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 219, 74, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 219, 75, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 219, 76, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 219, 77, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 219, 78, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 219, 79, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 219, 80, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 219, 81, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 219, 82, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 2, 0, 0, } }, { 219, 83, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 219, 84, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 219, 85, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 219, 86, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 219, 87, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 219, 88, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 0, 0, 0, 0, } }, { 219, 89, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 219, 90, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 219, 91, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 219, 92, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 219, 93, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 219, 94, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 219, 95, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 219, 96, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, // I -4 3 d { 220, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 220, 2, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 1, 4, } }, { 220, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 220, 4, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 220, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 220, 6, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 220, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 220, 8, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 3, 4, } }, { 220, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 220, 10, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 4, 3, 4, 1, 4, } }, { 220, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 220, 12, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 3, 4, 1, 4, } }, { 220, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 220, 14, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 3, 4, 3, 4, } }, { 220, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 220, 16, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 3, 4, 3, 4, 3, 4, } }, { 220, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 220, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 220, 19, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 220, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 220, 21, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 220, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 220, 23, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 4, 1, 4, 3, 4, } }, { 220, 24, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 220, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 220, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 220, 27, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 220, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 3, 4, } }, { 220, 29, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 220, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 1, 4, } }, { 220, 31, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 220, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 220, 33, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 220, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 3, 4, 1, 4, 3, 4, } }, { 220, 35, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 220, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 1, 4, 3, 4, } }, { 220, 37, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 220, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 1, 4, 1, 4, } }, { 220, 39, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 220, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 4, 1, 4, 1, 4, } }, { 220, 41, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 220, 42, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 220, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 3, 4, 1, 4, 1, 4, } }, { 220, 44, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 220, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 3, 4, 3, 4, 3, 4, } }, { 220, 46, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 220, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 220, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 4, 3, 4, 1, 4, } }, // P m -3 m { 221, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 221, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 221, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 221, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 221, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 221, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 221, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 221, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 221, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 221, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 221, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 221, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 221, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 221, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 221, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 221, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 221, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 221, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, // P n -3 n :1 { 222, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 222, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 222, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 222, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 222, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 222, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 222, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 222, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 222, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 222, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 222, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 222, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 222, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 222, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 222, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 222, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 222, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 222, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 222, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, // P m -3 n { 223, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 223, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 223, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 223, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 223, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 223, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 223, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 223, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 223, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 223, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 223, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 223, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 223, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 223, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 223, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 223, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 223, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 223, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 223, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, // P n -3 m :1 { 224, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 224, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 224, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 224, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 224, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 224, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 224, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 224, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 224, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 224, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 224, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 224, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 224, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 224, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 224, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 224, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 224, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 224, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 224, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, // F m -3 m { 225, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 225, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 225, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 225, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 225, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 225, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 225, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 225, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 225, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 225, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 225, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 225, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 225, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 225, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 225, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 225, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 225, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 225, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 225, 50, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 225, 51, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 225, 52, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 225, 53, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 225, 54, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 225, 55, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 225, 56, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 225, 57, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 58, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 59, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 60, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 61, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 62, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 63, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 64, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 65, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 66, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 67, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 68, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 69, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 70, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 71, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 72, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 73, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 225, 74, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 225, 75, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 225, 76, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 225, 77, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 225, 78, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 225, 79, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 225, 80, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 225, 81, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 82, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 83, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 84, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 85, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 86, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 87, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 88, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 89, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 90, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 91, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 92, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 93, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 94, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 95, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 96, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 225, 97, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 225, 98, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 225, 99, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 225, 100, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 225, 101, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 225, 102, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 225, 103, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 225, 104, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 225, 105, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 106, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 107, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 108, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 109, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 110, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 111, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 112, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 113, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 114, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 115, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 116, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 117, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 118, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 119, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 120, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 121, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 225, 122, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 225, 123, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 225, 124, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 225, 125, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 225, 126, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 225, 127, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 225, 128, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 225, 129, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 130, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 131, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 132, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 133, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 134, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 135, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 136, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 137, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 138, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 139, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 140, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 141, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 142, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 143, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 144, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 225, 145, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 225, 146, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 225, 147, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 225, 148, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 225, 149, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 225, 150, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 225, 151, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 225, 152, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 225, 153, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 154, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 155, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 156, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 157, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 158, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 159, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 160, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 161, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 162, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 163, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 164, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 165, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 166, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 167, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 168, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 169, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 225, 170, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 225, 171, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 225, 172, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 225, 173, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 225, 174, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 225, 175, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 225, 176, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 225, 177, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 178, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 179, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 180, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 181, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 182, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 183, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 184, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 185, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 186, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 187, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 188, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 189, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 190, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 191, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 225, 192, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, // F m -3 c { 226, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 226, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 226, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 226, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 226, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 226, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 226, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 226, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 226, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 226, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 226, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 226, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 226, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 226, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 226, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 226, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 226, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 226, 50, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 226, 51, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 226, 52, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 226, 53, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 226, 54, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 226, 55, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 226, 56, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 226, 57, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 58, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 59, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 60, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 61, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 62, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 63, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 64, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 65, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 66, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 67, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 68, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 69, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 70, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 71, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 72, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 73, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 226, 74, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 226, 75, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 226, 76, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 226, 77, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 226, 78, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 226, 79, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 226, 80, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 226, 81, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 82, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 83, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 84, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 85, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 86, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 87, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 88, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 89, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 90, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 91, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 92, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 93, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 94, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 95, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 96, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 97, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 226, 98, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 226, 99, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 226, 100, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 226, 101, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 226, 102, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 226, 103, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 226, 104, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 226, 105, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 106, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 107, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 108, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 109, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 110, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 111, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 112, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 113, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 114, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 115, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 116, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 117, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 118, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 119, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 120, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 121, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 226, 122, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 226, 123, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 226, 124, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 226, 125, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 226, 126, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 226, 127, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 226, 128, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 226, 129, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 130, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 131, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 132, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 133, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 134, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 135, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 136, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 137, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 138, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 139, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 140, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 141, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 142, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 143, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 144, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 145, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 226, 146, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 226, 147, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 226, 148, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 226, 149, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 226, 150, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 226, 151, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 226, 152, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 226, 153, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 154, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 155, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 156, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 157, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 158, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 159, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 160, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 161, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 162, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 163, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 164, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 165, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 166, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 167, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 168, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 226, 169, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 226, 170, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 226, 171, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 226, 172, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 226, 173, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 226, 174, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 226, 175, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 226, 176, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 226, 177, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 178, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 179, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 180, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 181, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 182, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 183, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 226, 184, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 0, 0, 0, 0, } }, { 226, 185, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 186, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 226, 187, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 188, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 226, 189, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 226, 190, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 226, 191, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 226, 192, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, // F d -3 m :1 { 227, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 227, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 227, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 227, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 227, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 227, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 227, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 227, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 227, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 227, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 227, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 227, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 227, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 227, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 227, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 227, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 227, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 227, 50, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 227, 51, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 227, 52, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 227, 53, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 227, 54, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 227, 55, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 227, 56, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 227, 57, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 58, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 59, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 60, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 61, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 62, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 63, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 64, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 65, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 66, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 67, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 68, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 69, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 70, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 71, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 72, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 73, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 227, 74, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 227, 75, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 227, 76, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 227, 77, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 227, 78, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 227, 79, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 227, 80, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 227, 81, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 82, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 83, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 84, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 85, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 86, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 87, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 88, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 89, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 90, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 91, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 92, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 93, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 94, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 95, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 96, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 97, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 227, 98, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 227, 99, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 227, 100, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 227, 101, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 227, 102, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 227, 103, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 227, 104, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 227, 105, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 106, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 107, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 108, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 109, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 110, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 111, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 112, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 113, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 114, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 115, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 116, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 117, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 118, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 119, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 120, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 121, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 227, 122, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 227, 123, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 227, 124, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 227, 125, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 227, 126, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 227, 127, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 227, 128, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 227, 129, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 130, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 131, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 132, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 133, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 134, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 135, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 136, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 137, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 138, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 139, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 140, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 141, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 142, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 143, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 144, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 145, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 227, 146, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 227, 147, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 227, 148, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 227, 149, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 227, 150, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 227, 151, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 227, 152, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 227, 153, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 154, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 155, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 156, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 157, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 158, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 159, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 160, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 161, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 162, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 163, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 164, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 165, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 166, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 227, 167, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 168, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 169, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 227, 170, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 227, 171, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 227, 172, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 227, 173, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 227, 174, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 227, 175, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 227, 176, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 227, 177, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 178, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 179, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 180, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 181, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 3, 4, 1, 4, 3, 4, } }, { 227, 182, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 227, 183, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 184, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 185, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 227, 186, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 227, 187, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 188, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 189, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 227, 190, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 227, 191, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 227, 192, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, // F d -3 c :1 { 228, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 228, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 228, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 228, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 228, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 228, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 228, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 228, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 228, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 228, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 4, 1, 4, 1, 4, } }, { 228, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 228, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 1, 4, 3, 4, } }, { 228, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 228, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 1, 4, 1, 4, } }, { 228, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 228, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 3, 4, 1, 4, 3, 4, } }, { 228, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 228, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 228, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 228, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 228, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 228, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 228, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 228, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 228, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 3, 4, 3, 4, 3, 4, } }, { 228, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 228, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 4, 1, 4, } }, { 228, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 228, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 4, 3, 4, 3, 4, } }, { 228, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 228, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 4, 1, 4, } }, { 228, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 228, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 3, 4, 3, 4, 3, 4, } }, { 228, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 228, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 3, 4, 1, 4, 1, 4, } }, { 228, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 1, 2, 0, 0, } }, { 228, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 3, 4, 3, 4, 3, 4, } }, { 228, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 228, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 3, 4, 1, 4, 1, 4, } }, { 228, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 228, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 3, 4, 3, 4, 3, 4, } }, { 228, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 4, 3, 4, 1, 4, } }, { 228, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 228, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 1, 4, 3, 4, } }, { 228, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 228, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 3, 4, 3, 4, } }, { 228, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 228, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 228, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 228, 50, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 228, 51, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 228, 52, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 228, 53, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 228, 54, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 228, 55, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 228, 56, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 228, 57, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 228, 58, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 4, 3, 4, 3, 4, } }, { 228, 59, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 228, 60, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 3, 4, 1, 4, } }, { 228, 61, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 228, 62, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 3, 4, 3, 4, } }, { 228, 63, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 228, 64, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 3, 4, 3, 4, 1, 4, } }, { 228, 65, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 228, 66, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 228, 67, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 228, 68, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 228, 69, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 228, 70, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 228, 71, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 228, 72, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 228, 73, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 3, 4, 1, 4, 1, 4, } }, { 228, 74, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 228, 75, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 3, 4, 3, 4, } }, { 228, 76, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 228, 77, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 4, 1, 4, 1, 4, } }, { 228, 78, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 228, 79, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 3, 4, 3, 4, } }, { 228, 80, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 228, 81, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 3, 4, 1, 4, 1, 4, } }, { 228, 82, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 228, 83, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 3, 4, 3, 4, 3, 4, } }, { 228, 84, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 228, 85, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 3, 4, 1, 4, 1, 4, } }, { 228, 86, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 0, 0, 0, 0, } }, { 228, 87, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 3, 4, 3, 4, 3, 4, } }, { 228, 88, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 2, } }, { 228, 89, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 3, 4, 1, 4, 1, 4, } }, { 228, 90, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 4, 1, 4, 3, 4, } }, { 228, 91, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 228, 92, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 3, 4, 1, 4, } }, { 228, 93, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 228, 94, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 1, 4, 1, 4, } }, { 228, 95, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 228, 96, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 228, 97, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 228, 98, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 228, 99, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 228, 100, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 228, 101, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 228, 102, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 228, 103, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 228, 104, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 228, 105, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 228, 106, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 3, 4, 1, 4, 3, 4, } }, { 228, 107, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 228, 108, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 1, 4, 1, 4, } }, { 228, 109, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 228, 110, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 1, 4, 3, 4, } }, { 228, 111, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 228, 112, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 4, 1, 4, 1, 4, } }, { 228, 113, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 228, 114, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 228, 115, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 228, 116, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 228, 117, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 228, 118, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 228, 119, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 228, 120, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 228, 121, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 4, 3, 4, 1, 4, } }, { 228, 122, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 228, 123, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 4, 3, 4, } }, { 228, 124, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 228, 125, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 3, 4, 1, 4, } }, { 228, 126, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 228, 127, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 4, 3, 4, } }, { 228, 128, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 228, 129, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 4, 3, 4, 1, 4, } }, { 228, 130, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 2, 0, 0, } }, { 228, 131, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 4, 1, 4, 3, 4, } }, { 228, 132, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 228, 133, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 4, 3, 4, 1, 4, } }, { 228, 134, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 228, 135, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 4, 1, 4, 3, 4, } }, { 228, 136, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 228, 137, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 4, 3, 4, 1, 4, } }, { 228, 138, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 3, 4, 3, 4, 3, 4, } }, { 228, 139, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 228, 140, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 1, 4, 1, 4, } }, { 228, 141, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 228, 142, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 3, 4, 1, 4, } }, { 228, 143, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 228, 144, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 228, 145, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 228, 146, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 228, 147, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 228, 148, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 228, 149, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 228, 150, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 228, 151, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 228, 152, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 228, 153, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 228, 154, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 3, 4, 3, 4, 1, 4, } }, { 228, 155, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 228, 156, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 3, 4, 3, 4, } }, { 228, 157, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 228, 158, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 3, 4, 1, 4, } }, { 228, 159, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 228, 160, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 4, 3, 4, 3, 4, } }, { 228, 161, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 228, 162, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 228, 163, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 228, 164, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 228, 165, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 228, 166, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 228, 167, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 228, 168, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 228, 169, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 4, 1, 4, 3, 4, } }, { 228, 170, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 228, 171, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 3, 4, 1, 4, } }, { 228, 172, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 228, 173, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 1, 4, 3, 4, } }, { 228, 174, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 228, 175, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 3, 4, 1, 4, } }, { 228, 176, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 228, 177, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 4, 1, 4, 3, 4, } }, { 228, 178, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 228, 179, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 4, 3, 4, 1, 4, } }, { 228, 180, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 228, 181, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 4, 1, 4, 3, 4, } }, { 228, 182, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 1, 2, } }, { 228, 183, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 4, 3, 4, 1, 4, } }, { 228, 184, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 0, 0, 0, 0, } }, { 228, 185, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 4, 1, 4, 3, 4, } }, { 228, 186, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 3, 4, 1, 4, 1, 4, } }, { 228, 187, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 228, 188, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 3, 4, 3, 4, } }, { 228, 189, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 228, 190, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 1, 4, 3, 4, } }, { 228, 191, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 228, 192, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, // I m -3 m { 229, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 229, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 229, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 229, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 229, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 229, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 229, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 229, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 229, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 229, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 229, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 229, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 229, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 229, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 229, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 229, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 229, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 229, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 229, 50, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 229, 51, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 229, 52, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 229, 53, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 229, 54, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 229, 55, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 229, 56, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 229, 57, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 58, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 59, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 60, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 61, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 62, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 63, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 64, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 65, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 66, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 67, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 68, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 69, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 70, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 71, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 72, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 73, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 229, 74, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 229, 75, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 229, 76, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 229, 77, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 229, 78, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 229, 79, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 229, 80, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 229, 81, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 82, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 83, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 84, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 85, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 86, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 87, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 88, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 89, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 90, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 91, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 92, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 93, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 94, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 95, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 229, 96, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, // I a -3 d { 230, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 230, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 1, 4, } }, { 230, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 230, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 3, 4, } }, { 230, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 230, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 230, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 230, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 230, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 230, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 4, 3, 4, 1, 4, } }, { 230, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 230, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 1, 4, 3, 4, } }, { 230, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 230, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 3, 4, 3, 4, } }, { 230, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 230, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 4, 1, 4, 1, 4, } }, { 230, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 230, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 230, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 3, 4, 1, 4, 1, 4, } }, { 230, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 230, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 230, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 230, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 230, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 3, 4, 1, 4, 3, 4, } }, { 230, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 230, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 230, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 230, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 230, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 230, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 1, 4, } }, { 230, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 230, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 3, 4, } }, { 230, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 230, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 3, 4, 1, 4, 3, 4, } }, { 230, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 230, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 3, 4, 1, 4, } }, { 230, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 2, } }, { 230, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 1, 4, 1, 4, } }, { 230, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, } }, { 230, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 3, 4, 3, 4, 3, 4, } }, { 230, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 230, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 230, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 230, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 230, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 3, 4, 3, 4, 3, 4, } }, { 230, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 230, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 4, 1, 4, 3, 4, } }, { 230, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 4, 3, 4, 1, 4, } }, { 230, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 230, 50, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 230, 51, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 230, 52, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 230, 53, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 230, 54, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 1, 4, } }, { 230, 55, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 230, 56, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 3, 4, } }, { 230, 57, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 230, 58, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 3, 4, 1, 4, 3, 4, } }, { 230, 59, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 230, 60, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 3, 4, 1, 4, } }, { 230, 61, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 230, 62, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 1, 4, 1, 4, } }, { 230, 63, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 230, 64, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 3, 4, 3, 4, 3, 4, } }, { 230, 65, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 230, 66, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 230, 67, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 4, 3, 4, 3, 4, } }, { 230, 68, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 230, 69, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 3, 4, 3, 4, 3, 4, } }, { 230, 70, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 230, 71, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 4, 1, 4, 3, 4, } }, { 230, 72, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 4, 3, 4, 1, 4, } }, { 230, 73, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 230, 74, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 1, 4, } }, { 230, 75, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 230, 76, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 3, 4, } }, { 230, 77, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 230, 78, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 230, 79, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 230, 80, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 230, 81, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 230, 82, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 4, 3, 4, 1, 4, } }, { 230, 83, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 0, 0, } }, { 230, 84, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 1, 4, 3, 4, } }, { 230, 85, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 230, 86, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 3, 4, 3, 4, } }, { 230, 87, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 230, 88, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 4, 1, 4, 1, 4, } }, { 230, 89, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 230, 90, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 230, 91, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 3, 4, 1, 4, 1, 4, } }, { 230, 92, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 230, 93, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 4, 1, 4, 1, 4, } }, { 230, 94, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 230, 95, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 3, 4, 3, 4, 1, 4, } }, { 230, 96, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 3, 4, 1, 4, 3, 4, } }, // P 1 1 2 { 1003, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1003, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 1 1 21 { 1004, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1004, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // B 1 1 2 { 1005, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1005, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1005, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 1005, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P 1 1 m { 1006, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1006, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 1 1 b { 1007, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1007, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // B 1 1 m { 1008, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1008, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1008, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 1008, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // B 1 1 b { 1009, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1009, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 1009, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 1009, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // P 1 1 2/m { 1010, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1010, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1010, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1010, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 1 1 21/m { 1011, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1011, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 1011, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1011, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, // B 1 1 2/m { 1012, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1012, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1012, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1012, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1012, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 1012, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 1012, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 1012, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // P 1 1 2/b { 1013, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1013, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 1013, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1013, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // P 1 1 21/b { 1014, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1014, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 1014, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1014, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // B 1 1 2/b { 1015, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1015, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 1015, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1015, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 1015, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 1015, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 1015, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 1015, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // P 21 2 2 { 1017, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1017, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 1017, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1017, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // { 1018, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1018, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 1018, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 1018, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // { 1020, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1020, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 1020, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1020, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 1020, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 1020, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 1020, 7, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 1020, 8, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // { 1021, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1021, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 1021, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 1021, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 1021, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 1021, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1021, 7, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 1021, 8, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // { 1022, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1022, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1022, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 1022, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 1022, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 1022, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 1022, 7, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 1022, 8, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 1022, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 1022, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 1022, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 1022, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 1022, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 1022, 14, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 1022, 15, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 1022, 16, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // { 1023, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1023, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 1023, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 1023, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 1023, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 1023, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 1023, 7, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 1023, 8, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // P m m n :2 { 1059, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1059, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 1059, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 1059, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 1059, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1059, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 1059, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 1059, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // { 1094, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1094, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 1094, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 1094, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 1094, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 1094, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 1094, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 1094, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // R 3 :R { 1146, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1146, 2, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 1146, 3, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, // R -3 :R { 1148, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1148, 2, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 1148, 3, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 1148, 4, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1148, 5, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 1148, 6, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, // R 3 2 :R { 1155, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1155, 2, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 1155, 3, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 1155, 4, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1155, 5, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 1155, 6, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, // R 3 m :R { 1160, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1160, 2, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 1160, 3, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 1160, 4, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1160, 5, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 1160, 6, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, // R 3 c :R { 1161, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1161, 2, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 1161, 3, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 1161, 4, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 1161, 5, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 1161, 6, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, // R -3 m :R { 1166, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1166, 2, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 1166, 3, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 1166, 4, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1166, 5, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 1166, 6, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 1166, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1166, 8, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 1166, 9, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 1166, 10, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1166, 11, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 1166, 12, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, // R -3 c :R { 1167, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1167, 2, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 1167, 3, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 1167, 4, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 1167, 5, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 1167, 6, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 1167, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 1167, 8, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 1167, 9, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 1167, 10, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 1167, 11, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 1167, 12, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, // { 1197, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 1197, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 1197, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 1197, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 1197, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 1197, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 1197, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 1197, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 1197, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 1197, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 1197, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 1197, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 1197, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 1197, 14, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 1197, 15, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 1197, 16, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 1197, 17, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 1197, 18, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 2, } }, { 1197, 19, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 1197, 20, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 0, 0, } }, { 1197, 21, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 1197, 22, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 1197, 23, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 1197, 24, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 1, 2, } }, // A 1 2 1 { 2005, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 2005, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 2005, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 2005, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // P 1 21/n 1 { 2014, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 2014, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 2014, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 2014, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P 2 21 2 { 2017, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 2017, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 2017, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 2017, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // P 21 2 21 { 2018, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 2018, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 2018, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 2018, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // C 1 21 1 { 3005, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 3005, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 3005, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 3005, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // P 1 21/a 1 { 3014, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 3014, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 3014, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 3014, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P 2 21 21 { 3018, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 3018, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 3018, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 3018, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // I 1 2 1 { 4005, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 4005, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 4005, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 4005, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // I 1 21 1 { 5005, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 5005, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 5005, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 5005, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // P 2 1 1 { 10005, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10005, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P 21 1 1 { 10008, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10008, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, // A 1 1 2 { 10012, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10012, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10012, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10012, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // I 1 1 2 { 10014, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10014, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10014, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10014, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // B 2 1 1 { 10015, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10015, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10015, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10015, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // C 2 1 1 { 10016, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10016, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10016, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10016, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // I 2 1 1 { 10017, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10017, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10017, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10017, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // P m 1 1 { 10020, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10020, 2, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 1 n 1 { 10022, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10022, 2, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P 1 a 1 { 10023, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10023, 2, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // P 1 1 a { 10024, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10024, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, // P 1 1 n { 10025, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10025, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // P b 1 1 { 10027, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10027, 2, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // P n 1 1 { 10028, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10028, 2, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // P c 1 1 { 10029, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10029, 2, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // A 1 m 1 { 10031, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10031, 2, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10031, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10031, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // I 1 m 1 { 10032, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10032, 2, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10032, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10032, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // A 1 1 m { 10033, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10033, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10033, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10033, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // B 1 1 m { 10034, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10034, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10034, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10034, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // I 1 1 m { 10035, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10035, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10035, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10035, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // B m 1 1 { 10036, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10036, 2, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10036, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10036, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // C m 1 1 { 10037, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10037, 2, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10037, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10037, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I m 1 1 { 10038, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10038, 2, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10038, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10038, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // A 1 n 1 { 10040, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10040, 2, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10040, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10040, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I 1 a 1 { 10041, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10041, 2, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10041, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10041, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // A 1 a 1 { 10042, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10042, 2, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10042, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10042, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // C 1 n 1 { 10043, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10043, 2, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10043, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10043, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // I 1 c 1 { 10044, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10044, 2, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10044, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10044, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // A 1 1 a { 10045, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10045, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10045, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10045, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // B 1 1 n { 10046, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10046, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10046, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10046, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // I 1 1 b { 10047, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10047, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10047, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10047, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // A 1 1 n { 10049, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10049, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10049, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10049, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // I 1 1 a { 10050, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10050, 2, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10050, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10050, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // B b 1 1 { 10051, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10051, 2, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10051, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10051, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // C n 1 1 { 10052, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10052, 2, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10052, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10052, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // I c 1 1 { 10053, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10053, 2, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10053, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10053, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // C c 1 1 { 10054, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10054, 2, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10054, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10054, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // B n 1 1 { 10055, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10055, 2, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10055, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10055, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I b 1 1 { 10056, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10056, 2, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10056, 3, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10056, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P 2/m 1 1 { 10059, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10059, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10059, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10059, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 21/m 1 1 { 10062, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10062, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10062, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10062, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // A 1 2/m 1 { 10064, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10064, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10064, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10064, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10064, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10064, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10064, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10064, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // I 1 2/m 1 { 10065, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10065, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10065, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10065, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10065, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10065, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10065, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10065, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // A 1 1 2/m { 10066, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10066, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10066, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10066, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10066, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10066, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10066, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10066, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // I 1 1 2/m { 10068, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10068, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10068, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10068, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10068, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10068, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10068, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10068, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // B 2/m 1 1 { 10069, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10069, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10069, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10069, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10069, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10069, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10069, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10069, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // C 2/m 1 1 { 10070, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10070, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10070, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10070, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10070, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10070, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10070, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10070, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I 2/m 1 1 { 10071, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10071, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10071, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10071, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10071, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10071, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10071, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10071, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P 1 2/n 1 { 10073, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10073, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10073, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10073, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P 1 2/a 1 { 10074, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10074, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10074, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10074, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // P 1 1 2/a { 10075, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10075, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10075, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10075, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, // P 1 1 2/n { 10076, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10076, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10076, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10076, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // P 2/b 1 1 { 10078, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10078, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10078, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10078, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // P 2/n 1 1 { 10079, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10079, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10079, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10079, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // P 2/c 1 1 { 10080, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10080, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10080, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10080, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 1 1 21/a { 10084, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10084, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10084, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10084, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // P 1 1 21/n { 10085, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10085, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10085, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10085, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // P 21/b 1 1 { 10087, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10087, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10087, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10087, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P 21/n 1 1 { 10088, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10088, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10088, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10088, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P 21/c 1 1 { 10089, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10089, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10089, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10089, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // A 1 2/n 1 { 10091, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10091, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10091, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10091, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10091, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10091, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10091, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10091, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I 1 2/a 1 { 10092, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10092, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10092, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10092, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10092, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10092, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10092, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10092, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // A 1 2/a 1 { 10093, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10093, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10093, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10093, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10093, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10093, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10093, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10093, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // C 1 2/n 1 { 10094, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10094, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10094, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10094, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10094, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10094, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10094, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10094, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // I 1 2/c 1 { 10095, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10095, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10095, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10095, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10095, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10095, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10095, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10095, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // A 1 1 2/a { 10096, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10096, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10096, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10096, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10096, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10096, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10096, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10096, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // B 1 1 2/n { 10097, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10097, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10097, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10097, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10097, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10097, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10097, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10097, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // I 1 1 2/b { 10098, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10098, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10098, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10098, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10098, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10098, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10098, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10098, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // A 1 1 2/n { 10100, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10100, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10100, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10100, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10100, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10100, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10100, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10100, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // I 1 1 2/a { 10101, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10101, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10101, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10101, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10101, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10101, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10101, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10101, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // B 2/b 1 1 { 10102, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10102, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10102, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10102, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10102, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10102, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10102, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10102, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // C 2/n 1 1 { 10103, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10103, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10103, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10103, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10103, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10103, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10103, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10103, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // I 2/c 1 1 { 10104, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10104, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10104, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10104, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10104, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10104, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10104, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10104, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // C 2/c 1 1 { 10105, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10105, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10105, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10105, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10105, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10105, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10105, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10105, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // B 2/n 1 1 { 10106, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10106, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10106, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10106, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10106, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10106, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10106, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10106, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I 2/b 1 1 { 10107, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10107, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10107, 3, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10107, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10107, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10107, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10107, 7, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10107, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // A 21 2 2 { 10117, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10117, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10117, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10117, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10117, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10117, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10117, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10117, 8, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // B 2 21 2 { 10118, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10118, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10118, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10118, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10118, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10118, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10118, 7, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10118, 8, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // A 2 2 2 { 10120, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10120, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10120, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10120, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10120, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10120, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10120, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10120, 8, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // B 2 2 2 { 10121, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10121, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10121, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10121, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10121, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10121, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10121, 7, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10121, 8, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // P 2 m m { 10126, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10126, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10126, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10126, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P m 2 m { 10127, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10127, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10127, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10127, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P c m 21 { 10129, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10129, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10129, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10129, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 21 m a { 10130, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10130, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10130, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10130, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, // P 21 a m { 10131, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10131, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10131, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10131, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // P b 21 m { 10132, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10132, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10132, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10132, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // P m 21 b { 10133, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10133, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10133, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10133, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // P 2 a a { 10135, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10135, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10135, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10135, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, // P b 2 b { 10136, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10136, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10136, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10136, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // P b m 2 { 10138, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10138, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10138, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10138, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // P 2 m b { 10139, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10139, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10139, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10139, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // P 2 c m { 10140, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10140, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10140, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10140, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P c 2 m { 10141, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10141, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10141, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10141, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P m 2 a { 10142, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10142, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10142, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10142, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, // P b c 21 { 10144, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10144, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10144, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10144, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // P 21 a b { 10145, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10145, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10145, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10145, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // P 21 c a { 10146, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10146, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10146, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10146, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P c 21 b { 10147, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10147, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10147, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10147, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P b 21 a { 10148, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10148, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10148, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10148, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, // P c n 2 { 10150, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10150, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10150, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10150, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P 2 n a { 10151, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10151, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10151, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10151, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // P 2 a n { 10152, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10152, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10152, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10152, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P b 2 n { 10153, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10153, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10153, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10153, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P n 2 b { 10154, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10154, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10154, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10154, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // P n m 21 { 10156, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10156, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10156, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10156, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // P 21 m n { 10157, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10157, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10157, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10157, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // P 21 n m { 10158, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10158, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10158, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10158, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P n 21 m { 10159, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10159, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10159, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10159, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // P m 21 n { 10160, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10160, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10160, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10160, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // P 2 c b { 10162, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10162, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10162, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10162, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // P c 2 a { 10163, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10163, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10163, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10163, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P b n 21 { 10165, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10165, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10165, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10165, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P 21 n b { 10166, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10166, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10166, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10166, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // P 21 c n { 10167, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10167, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10167, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10167, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // P c 21 n { 10168, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10168, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10168, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10168, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P n 21 a { 10169, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10169, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10169, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10169, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // P 2 n n { 10171, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10171, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10171, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10171, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // P n 2 n { 10172, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10172, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10172, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10172, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // A 2 m m { 10174, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10174, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10174, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10174, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10174, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10174, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10174, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10174, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // B m 2 m { 10175, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10175, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10175, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10175, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10175, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10175, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10175, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10175, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // C c m 21 { 10177, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10177, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10177, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10177, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10177, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10177, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10177, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10177, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // A 21 m a { 10178, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10178, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10178, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10178, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10178, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10178, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10178, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10178, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // A 21 a m { 10179, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10179, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10179, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10179, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10179, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10179, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10179, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10179, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // B b 21 m { 10180, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10180, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10180, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10180, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10180, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10180, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10180, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10180, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // B m 21 b { 10181, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10181, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10181, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10181, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10181, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10181, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10181, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10181, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // A 2 a a { 10183, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10183, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10183, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10183, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10183, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10183, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10183, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10183, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // B b 2 b { 10184, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10184, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10184, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10184, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10184, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10184, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10184, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10184, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // B m m 2 { 10186, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10186, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10186, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10186, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10186, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10186, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10186, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10186, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // B 2 m m { 10187, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10187, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10187, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10187, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10187, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10187, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10187, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10187, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // C 2 m m { 10188, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10188, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10188, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10188, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10188, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10188, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10188, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10188, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // C m 2 m { 10189, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10189, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10189, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10189, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10189, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10189, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10189, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10189, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // A m 2 m { 10190, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10190, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10190, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10190, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10190, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10190, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10190, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10190, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // B m a 2 { 10192, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10192, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10192, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10192, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10192, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10192, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10192, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10192, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // B 2 c m { 10193, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10193, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10193, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10193, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10193, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10193, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10193, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10193, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, // C 2 m b { 10194, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10194, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10194, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10194, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10194, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10194, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10194, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10194, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // C m 2 a { 10195, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10195, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10195, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10195, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10195, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10195, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10195, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10195, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // A c 2 m { 10196, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10196, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10196, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10196, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10196, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10196, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10196, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10196, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // B b m 2 { 10198, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10198, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10198, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10198, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10198, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10198, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10198, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10198, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // B 2 m b { 10199, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10199, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10199, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10199, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10199, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10199, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10199, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10199, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // C 2 c m { 10200, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10200, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10200, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10200, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10200, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10200, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10200, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10200, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // C c 2 m { 10201, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10201, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10201, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10201, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10201, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10201, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10201, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10201, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // A m 2 a { 10202, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10202, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10202, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10202, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10202, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10202, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10202, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10202, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // B b a 2 { 10204, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10204, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10204, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10204, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10204, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10204, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10204, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10204, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // B 2 c b { 10205, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10205, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10205, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10205, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10205, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10205, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10205, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10205, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // C 2 c b { 10206, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10206, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10206, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10206, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10206, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10206, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10206, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10206, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // C c 2 a { 10207, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10207, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10207, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10207, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10207, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10207, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10207, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10207, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // A c 2 a { 10208, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10208, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10208, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10208, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10208, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10208, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10208, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10208, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // F 2 m m { 10210, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10210, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10210, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10210, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10210, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10210, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10210, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10210, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10210, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10210, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10210, 11, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10210, 12, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10210, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10210, 14, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10210, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10210, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // F m 2 m { 10211, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10211, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10211, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10211, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10211, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10211, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10211, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10211, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10211, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10211, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10211, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10211, 12, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10211, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10211, 14, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10211, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10211, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // F 2 d d { 10213, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10213, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10213, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 10213, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 10213, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10213, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10213, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 10213, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 10213, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10213, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10213, 11, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 10213, 12, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 10213, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10213, 14, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10213, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 10213, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, // F d 2 d { 10214, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10214, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10214, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 10214, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 10214, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10214, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10214, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 10214, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 10214, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10214, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10214, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 10214, 12, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 10214, 13, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10214, 14, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10214, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 10214, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, // I 2 m m { 10216, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10216, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10216, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10216, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10216, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10216, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10216, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10216, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // I m 2 m { 10217, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10217, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10217, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10217, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10217, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10217, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10217, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10217, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // I 2 c b { 10219, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10219, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10219, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10219, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10219, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10219, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10219, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10219, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // I c 2 a { 10220, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10220, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10220, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10220, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10220, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10220, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10220, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10220, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // I b m 2 { 10222, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10222, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10222, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10222, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10222, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10222, 6, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10222, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10222, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // I 2 m b { 10223, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10223, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10223, 3, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10223, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10223, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10223, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10223, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10223, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // I 2 c m { 10224, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10224, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10224, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10224, 4, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10224, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10224, 6, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10224, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10224, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I c 2 m { 10225, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10225, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10225, 3, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10225, 4, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10225, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10225, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10225, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10225, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I m 2 a { 10226, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10226, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10226, 3, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10226, 4, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10226, 5, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10226, 6, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10226, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10226, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // P n n n :2 { 10229, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10229, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10229, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10229, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10229, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10229, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10229, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10229, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P m a a { 10231, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10231, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10231, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10231, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10231, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10231, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10231, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10231, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, // P b m b { 10232, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10232, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10232, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10232, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10232, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10232, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10232, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10232, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // P b a n :2 { 10234, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10234, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10234, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10234, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10234, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10234, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10234, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10234, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // P n c b :1 { 10235, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10235, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10235, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10235, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10235, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10235, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10235, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10235, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // P n c b :2 { 10236, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10236, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10236, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10236, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10236, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10236, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10236, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10236, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // P c n a :1 { 10237, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10237, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10237, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10237, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10237, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10237, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10237, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10237, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P c n a :2 { 10238, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10238, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10238, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10238, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10238, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10238, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10238, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10238, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P m m b { 10240, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10240, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10240, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10240, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10240, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10240, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10240, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10240, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P b m m { 10241, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10241, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10241, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10241, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10241, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10241, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10241, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10241, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P c m m { 10242, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10242, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10242, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10242, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10242, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10242, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10242, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10242, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P m c m { 10243, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10243, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10243, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10243, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10243, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10243, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10243, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10243, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P m a m { 10244, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10244, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10244, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10244, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10244, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10244, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10244, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10244, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P n n b { 10246, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10246, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10246, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10246, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10246, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10246, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10246, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10246, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P b n n { 10247, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10247, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10247, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10247, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10247, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10247, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10247, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10247, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // P c n n { 10248, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10248, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10248, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10248, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10248, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10248, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10248, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10248, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P n c n { 10249, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10249, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10249, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10249, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10249, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10249, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10249, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10249, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P n a n { 10250, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10250, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10250, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10250, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10250, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10250, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10250, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10250, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // P n m b { 10252, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10252, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10252, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10252, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10252, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10252, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10252, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10252, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // P b m n { 10253, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10253, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10253, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10253, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10253, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10253, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10253, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10253, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // P c n m { 10254, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10254, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10254, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10254, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10254, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10254, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10254, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10254, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P n c m { 10255, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10255, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10255, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10255, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10255, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10255, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10255, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10255, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // P m a n { 10256, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10256, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10256, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10256, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10256, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10256, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10256, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10256, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // P c c b { 10258, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10258, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10258, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10258, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10258, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10258, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10258, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10258, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P b a a { 10259, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10259, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10259, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10259, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10259, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10259, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10259, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10259, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, // P c a a { 10260, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10260, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10260, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10260, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10260, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10260, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10260, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10260, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // P b c b { 10261, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10261, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10261, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10261, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10261, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10261, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10261, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10261, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // P b a b { 10262, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10262, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10262, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10262, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10262, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10262, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10262, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10262, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // P m c b { 10264, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10264, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10264, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10264, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10264, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10264, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10264, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10264, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // P c m a { 10265, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10265, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10265, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10265, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10265, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10265, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10265, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10265, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P n a a { 10267, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10267, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10267, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10267, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10267, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10267, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10267, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10267, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // P b n b { 10268, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10268, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10268, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10268, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10268, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10268, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10268, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10268, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P c a m { 10270, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10270, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10270, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10270, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10270, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10270, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10270, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10270, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // P m c a { 10271, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10271, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10271, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10271, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10271, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10271, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10271, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10271, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // P m a b { 10272, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10272, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10272, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10272, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10272, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10272, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10272, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10272, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P b m a { 10273, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10273, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10273, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10273, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10273, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10273, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10273, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10273, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P c m b { 10274, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10274, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10274, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10274, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10274, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10274, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10274, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10274, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // P m n n { 10276, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10276, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10276, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10276, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10276, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10276, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10276, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10276, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // P n m n { 10277, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10277, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10277, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10277, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10277, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10277, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10277, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10277, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P n m m :1 { 10280, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10280, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10280, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10280, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10280, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10280, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10280, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10280, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, // P n m m :2 { 10281, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10281, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10281, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10281, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10281, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10281, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10281, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10281, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, // P m n m :1 { 10282, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10282, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10282, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10282, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10282, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10282, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10282, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10282, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P m n m :2 { 10283, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10283, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10283, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10283, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10283, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10283, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10283, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10283, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // P c a n { 10285, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10285, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10285, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10285, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10285, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10285, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10285, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10285, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P n c a { 10286, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10286, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10286, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10286, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10286, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10286, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10286, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10286, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, // P n a b { 10287, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10287, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10287, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10287, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10287, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10287, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10287, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10287, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // P b n a { 10288, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10288, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10288, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10288, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10288, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10288, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10288, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10288, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // P c n b { 10289, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10289, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10289, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10289, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10289, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10289, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10289, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10289, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // P c a b { 10291, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10291, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10291, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10291, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10291, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10291, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10291, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10291, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P m n b { 10293, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10293, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10293, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10293, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10293, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10293, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10293, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10293, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // P b n m { 10294, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10294, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10294, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10294, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10294, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10294, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10294, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10294, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, // P c m n { 10295, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10295, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10295, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10295, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10295, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10295, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10295, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10295, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // P m c n { 10296, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10296, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10296, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10296, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10296, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10296, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10296, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10296, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // P n a m { 10297, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10297, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10297, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10297, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10297, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10297, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10297, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10297, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, // C c m m { 10299, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10299, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10299, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10299, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10299, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10299, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10299, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10299, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10299, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10299, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10299, 11, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10299, 12, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10299, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10299, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10299, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10299, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // A m m a { 10300, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10300, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10300, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10300, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10300, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10300, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10300, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10300, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10300, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10300, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10300, 11, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10300, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10300, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10300, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10300, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10300, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // A m a m { 10301, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10301, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10301, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10301, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10301, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10301, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10301, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10301, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10301, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10301, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10301, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10301, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10301, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10301, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10301, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10301, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // B b m m { 10302, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10302, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10302, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10302, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10302, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10302, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10302, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10302, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10302, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10302, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10302, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10302, 12, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10302, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10302, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10302, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10302, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // B m m b { 10303, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10303, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10303, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10303, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10303, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10303, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10303, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10303, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10303, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10303, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10303, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10303, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10303, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10303, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10303, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10303, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // C c m b { 10305, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10305, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10305, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10305, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10305, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10305, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10305, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10305, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10305, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10305, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10305, 11, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10305, 12, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10305, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10305, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10305, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10305, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // A b m a { 10306, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10306, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10306, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10306, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10306, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10306, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10306, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10306, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10306, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10306, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10306, 11, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10306, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10306, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10306, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10306, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10306, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // A c a m { 10307, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10307, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10307, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10307, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10307, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10307, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10307, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10307, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10307, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10307, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10307, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10307, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10307, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10307, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10307, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10307, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // B b c m { 10308, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10308, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10308, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10308, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10308, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10308, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10308, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10308, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10308, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10308, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10308, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10308, 12, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10308, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10308, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10308, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10308, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // B m a b { 10309, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10309, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10309, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10309, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10309, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10309, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10309, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10309, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10309, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10309, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10309, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10309, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10309, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10309, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10309, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10309, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // A m m m { 10311, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10311, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10311, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10311, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10311, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10311, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10311, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10311, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10311, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10311, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10311, 11, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10311, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10311, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10311, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10311, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10311, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // B m m m { 10312, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10312, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10312, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10312, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10312, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10312, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10312, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10312, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10312, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10312, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10312, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10312, 12, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10312, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10312, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10312, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10312, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // A m a a { 10314, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10314, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10314, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10314, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10314, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10314, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10314, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10314, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10314, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10314, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10314, 11, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10314, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10314, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10314, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10314, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10314, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // B b m b { 10315, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10315, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10315, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10315, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10315, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10315, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10315, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10315, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10315, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10315, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10315, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10315, 12, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10315, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10315, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10315, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10315, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // C m m b { 10317, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10317, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10317, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10317, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10317, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10317, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10317, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10317, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10317, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10317, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10317, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10317, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10317, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10317, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10317, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10317, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // A b m m { 10318, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10318, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10318, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10318, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10318, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10318, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10318, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10318, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10318, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10318, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10318, 11, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10318, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10318, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10318, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10318, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10318, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, // A c m m { 10319, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10319, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10319, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10319, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10319, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10319, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10319, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10319, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10319, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10319, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10319, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10319, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10319, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10319, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10319, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10319, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, // B m c m { 10320, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10320, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10320, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10320, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10320, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10320, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10320, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10320, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10320, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10320, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10320, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10320, 12, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10320, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10320, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10320, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10320, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, // B m a m { 10321, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10321, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10321, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10321, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10321, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10321, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10321, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10321, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10321, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10321, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10321, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10321, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10321, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10321, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10321, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10321, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, // C c c a :2 { 10323, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10323, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10323, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10323, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10323, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10323, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10323, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10323, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10323, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10323, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10323, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10323, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10323, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10323, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10323, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10323, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // C c c b :1 { 10324, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10324, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10324, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10324, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10324, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10324, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10324, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10324, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10324, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10324, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10324, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10324, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10324, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10324, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10324, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10324, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // C c c b :2 { 10325, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10325, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10325, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10325, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10325, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10325, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10325, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10325, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10325, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10325, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10325, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10325, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10325, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10325, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10325, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10325, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // A b a a :1 { 10326, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10326, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10326, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10326, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10326, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10326, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10326, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10326, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10326, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10326, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10326, 11, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10326, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10326, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10326, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10326, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10326, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // A b a a :2 { 10327, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10327, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10327, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10327, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10327, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10327, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10327, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10327, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10327, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10327, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10327, 11, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10327, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10327, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10327, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10327, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10327, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // A c a a :1 { 10328, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10328, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10328, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10328, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10328, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10328, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10328, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10328, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10328, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10328, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10328, 11, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10328, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10328, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10328, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10328, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10328, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // A c a a :2 { 10329, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10329, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10329, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10329, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10329, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10329, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10329, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10329, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10329, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10329, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10329, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10329, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10329, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10329, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10329, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10329, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // B b c b :1 { 10330, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10330, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10330, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10330, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10330, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10330, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10330, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10330, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10330, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10330, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10330, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10330, 12, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10330, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10330, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10330, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10330, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // B b c b :2 { 10331, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10331, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10331, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10331, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10331, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10331, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10331, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10331, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10331, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10331, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10331, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10331, 12, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10331, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10331, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10331, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10331, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // B b a b :1 { 10332, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10332, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10332, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10332, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10332, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10332, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10332, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10332, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10332, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10332, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10332, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10332, 12, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10332, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10332, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10332, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10332, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // B b a b :2 { 10333, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10333, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10333, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10333, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10333, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10333, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10333, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10333, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10333, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10333, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10333, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10333, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10333, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10333, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10333, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10333, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, // F d d d :2 { 10336, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10336, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 4, 0, 0, } }, { 10336, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 4, 1, 4, } }, { 10336, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 0, 0, 1, 4, } }, { 10336, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10336, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 3, 4, 0, 0, } }, { 10336, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3, 4, 3, 4, } }, { 10336, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 0, 0, 3, 4, } }, { 10336, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10336, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 3, 4, 1, 2, } }, { 10336, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 3, 4, 3, 4, } }, { 10336, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 2, 3, 4, } }, { 10336, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10336, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 4, 1, 2, } }, { 10336, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 4, 1, 4, } }, { 10336, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 2, 1, 4, } }, { 10336, 17, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10336, 18, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 4, 1, 2, } }, { 10336, 19, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 4, 3, 4, } }, { 10336, 20, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 0, 0, 3, 4, } }, { 10336, 21, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10336, 22, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 3, 4, 1, 2, } }, { 10336, 23, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 3, 4, 1, 4, } }, { 10336, 24, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 0, 0, 1, 4, } }, { 10336, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10336, 26, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 3, 4, 0, 0, } }, { 10336, 27, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 3, 4, 1, 4, } }, { 10336, 28, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 2, 1, 4, } }, { 10336, 29, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10336, 30, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 4, 0, 0, } }, { 10336, 31, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 4, 3, 4, } }, { 10336, 32, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 2, 3, 4, } }, // I m c b { 10339, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10339, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10339, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10339, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10339, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10339, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10339, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10339, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10339, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10339, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10339, 11, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10339, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10339, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10339, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10339, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10339, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, // I c m a { 10340, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10340, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10340, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10340, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10340, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10340, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10340, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10340, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10340, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10340, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10340, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10340, 12, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10340, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10340, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10340, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10340, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // I c a b { 10342, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10342, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10342, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10342, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10342, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10342, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10342, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10342, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10342, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10342, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10342, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10342, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10342, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10342, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10342, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10342, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // I m m b { 10344, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10344, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10344, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10344, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10344, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10344, 6, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10344, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10344, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10344, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10344, 10, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10344, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10344, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10344, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10344, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10344, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10344, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // I b m m { 10345, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10345, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10345, 3, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10345, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10345, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10345, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10345, 7, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10345, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10345, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10345, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10345, 11, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10345, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10345, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10345, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10345, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10345, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // I c m m { 10346, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10346, 2, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10346, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10346, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10346, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10346, 6, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10346, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10346, 8, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10346, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10346, 10, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10346, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10346, 12, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10346, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10346, 14, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10346, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10346, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, // I m c m { 10347, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10347, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10347, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10347, 4, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10347, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10347, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10347, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10347, 8, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10347, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10347, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10347, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10347, 12, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10347, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10347, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10347, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10347, 16, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, // I m a m { 10348, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10348, 2, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10348, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10348, 4, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10348, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10348, 6, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10348, 7, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10348, 8, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10348, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10348, 10, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10348, 11, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10348, 12, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10348, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10348, 14, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10348, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10348, 16, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, // P 4/n :2 { 10360, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10360, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10360, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10360, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10360, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10360, 6, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10360, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10360, 8, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, // P 42/n :2 { 10362, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10362, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10362, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10362, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10362, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10362, 6, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10362, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10362, 8, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, // I 41/a :2 { 10365, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10365, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 1, 4, } }, { 10365, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10365, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 3, 4, } }, { 10365, 5, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10365, 6, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 10365, 7, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10365, 8, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 10365, 9, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10365, 10, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 10365, 11, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10365, 12, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, { 10365, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10365, 14, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 1, 4, } }, { 10365, 15, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10365, 16, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 3, 4, } }, // P 4/n b m :2 { 10403, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10403, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10403, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10403, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10403, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10403, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10403, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10403, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10403, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10403, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10403, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10403, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10403, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10403, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10403, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10403, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P 4/n n c :2 { 10405, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10405, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10405, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10405, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10405, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10405, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10405, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10405, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10405, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10405, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10405, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10405, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10405, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10405, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10405, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10405, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P 4/n m m :2 { 10409, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10409, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10409, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10409, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10409, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10409, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10409, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10409, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10409, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10409, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10409, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10409, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10409, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10409, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10409, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10409, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // P 4/n c c :2 { 10411, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10411, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10411, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10411, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10411, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10411, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10411, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10411, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10411, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10411, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10411, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10411, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10411, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10411, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10411, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10411, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 42/n b c :2 { 10415, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10415, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10415, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10415, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10415, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10415, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10415, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10415, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10415, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10415, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10415, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10415, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10415, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10415, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10415, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10415, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, // P 42/n n m :2 { 10417, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10417, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10417, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10417, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10417, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10417, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10417, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10417, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10417, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10417, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10417, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10417, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10417, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10417, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10417, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10417, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, // P 42/n m c :2 { 10421, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10421, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10421, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10421, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10421, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10421, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10421, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10421, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10421, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10421, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10421, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10421, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10421, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10421, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10421, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10421, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, // P 42/n c m :2 { 10423, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10423, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10423, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10423, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10423, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10423, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10423, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10423, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10423, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10423, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10423, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10423, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10423, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10423, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10423, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10423, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, // I 41/a m d :2 { 10427, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10427, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 1, 4, } }, { 10427, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10427, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 3, 4, } }, { 10427, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10427, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 1, 4, } }, { 10427, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10427, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 3, 4, } }, { 10427, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10427, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 10427, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10427, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 10427, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10427, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 10427, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10427, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 10427, 17, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10427, 18, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 10427, 19, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10427, 20, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 10427, 21, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10427, 22, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 10427, 23, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10427, 24, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 10427, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10427, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 1, 4, } }, { 10427, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10427, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 3, 4, } }, { 10427, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10427, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 1, 4, } }, { 10427, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10427, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 3, 4, } }, // I 41/a c d :2 { 10429, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10429, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 1, 4, } }, { 10429, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10429, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 3, 4, } }, { 10429, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10429, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 3, 4, } }, { 10429, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10429, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 1, 4, } }, { 10429, 9, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10429, 10, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 3, 4, } }, { 10429, 11, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10429, 12, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 1, 4, } }, { 10429, 13, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10429, 14, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 1, 4, } }, { 10429, 15, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10429, 16, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 3, 4, } }, { 10429, 17, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10429, 18, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 3, 4, } }, { 10429, 19, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10429, 20, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 1, 4, } }, { 10429, 21, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10429, 22, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 1, 4, } }, { 10429, 23, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10429, 24, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 3, 4, } }, { 10429, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10429, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 1, 4, } }, { 10429, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10429, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 3, 4, } }, { 10429, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10429, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 3, 4, } }, { 10429, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10429, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 1, 4, } }, // P n -3 :2 { 10496, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10496, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10496, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10496, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10496, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 10496, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 10496, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 10496, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 10496, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10496, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10496, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10496, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10496, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10496, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10496, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10496, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10496, 17, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 10496, 18, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 10496, 19, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 10496, 20, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 10496, 21, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10496, 22, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10496, 23, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10496, 24, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, // F d -3 :2 { 10499, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10499, 2, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 4, 0, 0, } }, { 10499, 3, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 4, 1, 4, } }, { 10499, 4, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 0, 0, 1, 4, } }, { 10499, 5, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 10499, 6, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 4, 1, 4, 0, 0, } }, { 10499, 7, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 4, 1, 4, } }, { 10499, 8, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 4, 0, 0, 1, 4, } }, { 10499, 9, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10499, 10, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 4, 1, 4, } }, { 10499, 11, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 0, 0, 1, 4, } }, { 10499, 12, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 1, 4, 0, 0, } }, { 10499, 13, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10499, 14, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 3, 4, 0, 0, } }, { 10499, 15, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3, 4, 3, 4, } }, { 10499, 16, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 0, 0, 3, 4, } }, { 10499, 17, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 10499, 18, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 3, 4, 3, 4, 0, 0, } }, { 10499, 19, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 3, 4, 3, 4, } }, { 10499, 20, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 3, 4, 0, 0, 3, 4, } }, { 10499, 21, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10499, 22, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 3, 4, 3, 4, } }, { 10499, 23, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 0, 0, 3, 4, } }, { 10499, 24, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 3, 4, 0, 0, } }, { 10499, 25, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10499, 26, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 3, 4, 1, 2, } }, { 10499, 27, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 3, 4, 3, 4, } }, { 10499, 28, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 2, 3, 4, } }, { 10499, 29, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 10499, 30, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 4, 3, 4, 1, 2, } }, { 10499, 31, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 3, 4, 3, 4, } }, { 10499, 32, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 4, 1, 2, 3, 4, } }, { 10499, 33, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10499, 34, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 3, 4, 3, 4, } }, { 10499, 35, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 1, 2, 3, 4, } }, { 10499, 36, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 3, 4, 1, 2, } }, { 10499, 37, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10499, 38, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 4, 1, 2, } }, { 10499, 39, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 4, 1, 4, } }, { 10499, 40, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 2, 1, 4, } }, { 10499, 41, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 10499, 42, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 3, 4, 1, 4, 1, 2, } }, { 10499, 43, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 1, 4, } }, { 10499, 44, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 3, 4, 1, 2, 1, 4, } }, { 10499, 45, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10499, 46, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 4, 1, 4, } }, { 10499, 47, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 1, 2, 1, 4, } }, { 10499, 48, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 1, 4, 1, 2, } }, { 10499, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10499, 50, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 4, 1, 2, } }, { 10499, 51, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 4, 3, 4, } }, { 10499, 52, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 0, 0, 3, 4, } }, { 10499, 53, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 10499, 54, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 3, 4, 1, 4, 1, 2, } }, { 10499, 55, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 4, 3, 4, } }, { 10499, 56, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 3, 4, 0, 0, 3, 4, } }, { 10499, 57, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10499, 58, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 4, 3, 4, } }, { 10499, 59, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 0, 0, 3, 4, } }, { 10499, 60, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 1, 4, 1, 2, } }, { 10499, 61, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10499, 62, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 3, 4, 1, 2, } }, { 10499, 63, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 3, 4, 1, 4, } }, { 10499, 64, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 0, 0, 1, 4, } }, { 10499, 65, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 10499, 66, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 4, 3, 4, 1, 2, } }, { 10499, 67, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 3, 4, 1, 4, } }, { 10499, 68, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 4, 0, 0, 1, 4, } }, { 10499, 69, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10499, 70, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 3, 4, 1, 4, } }, { 10499, 71, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 0, 0, 1, 4, } }, { 10499, 72, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 3, 4, 1, 2, } }, { 10499, 73, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10499, 74, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 3, 4, 0, 0, } }, { 10499, 75, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 3, 4, 1, 4, } }, { 10499, 76, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 2, 1, 4, } }, { 10499, 77, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 10499, 78, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 3, 4, 3, 4, 0, 0, } }, { 10499, 79, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 3, 4, 1, 4, } }, { 10499, 80, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 3, 4, 1, 2, 1, 4, } }, { 10499, 81, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10499, 82, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 3, 4, 1, 4, } }, { 10499, 83, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 1, 2, 1, 4, } }, { 10499, 84, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 3, 4, 0, 0, } }, { 10499, 85, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10499, 86, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 4, 0, 0, } }, { 10499, 87, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 4, 3, 4, } }, { 10499, 88, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 2, 3, 4, } }, { 10499, 89, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 10499, 90, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 4, 1, 4, 0, 0, } }, { 10499, 91, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 4, 3, 4, } }, { 10499, 92, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 4, 1, 2, 3, 4, } }, { 10499, 93, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10499, 94, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 4, 3, 4, } }, { 10499, 95, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 1, 2, 3, 4, } }, { 10499, 96, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 1, 4, 0, 0, } }, // P n -3 n :2 { 10519, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10519, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10519, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10519, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10519, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10519, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10519, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10519, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10519, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 10519, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 0, 0, 0, 0, } }, { 10519, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 10519, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 10519, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 10519, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 10519, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 10519, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 10519, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10519, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10519, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 10519, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10519, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 10519, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10519, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 10519, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 10519, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10519, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10519, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10519, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10519, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10519, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10519, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10519, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10519, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 10519, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 10519, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 10519, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 0, 0, 1, 2, 0, 0, } }, { 10519, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 10519, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 1, 2, } }, { 10519, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 10519, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 10519, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10519, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10519, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 10519, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10519, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 10519, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10519, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 10519, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, // P n -3 m :2 { 10522, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10522, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10522, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10522, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10522, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10522, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10522, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10522, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10522, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 10522, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 10522, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 10522, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 10522, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 10522, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 10522, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 10522, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 10522, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10522, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10522, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10522, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10522, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10522, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10522, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10522, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10522, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10522, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10522, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10522, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10522, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10522, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10522, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10522, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10522, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 10522, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 10522, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 10522, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 10522, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 10522, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 10522, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 10522, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 10522, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10522, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10522, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10522, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10522, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10522, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10522, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10522, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, // F d -3 m :2 { 10526, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10526, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 4, 1, 4, } }, { 10526, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 4, 1, 2, } }, { 10526, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 0, 0, 3, 4, } }, { 10526, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 4, 1, 4, } }, { 10526, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 1, 2, } }, { 10526, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 0, 0, 3, 4, } }, { 10526, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10526, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 10526, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 4, 1, 4, } }, { 10526, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 3, 4, 1, 4, 1, 2, } }, { 10526, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 0, 0, 3, 4, } }, { 10526, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 4, 1, 4, } }, { 10526, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 1, 4, 1, 2, } }, { 10526, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 3, 4, 0, 0, 3, 4, } }, { 10526, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 10526, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10526, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 3, 4, 1, 4, } }, { 10526, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 4, 3, 4, 1, 2, } }, { 10526, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 1, 2, 3, 4, } }, { 10526, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10526, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 1, 4, 0, 0, } }, { 10526, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 4, 0, 0, 1, 4, } }, { 10526, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 4, 3, 4, } }, { 10526, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10526, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 3, 4, 3, 4, } }, { 10526, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 3, 4, 1, 2, } }, { 10526, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 0, 0, 1, 4, } }, { 10526, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3, 4, 3, 4, } }, { 10526, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 1, 2, } }, { 10526, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 0, 0, 1, 4, } }, { 10526, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10526, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 10526, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 3, 4, 3, 4, } }, { 10526, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 4, 3, 4, 1, 2, } }, { 10526, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 0, 0, 1, 4, } }, { 10526, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 3, 4, 3, 4, } }, { 10526, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 3, 4, 1, 2, } }, { 10526, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 4, 0, 0, 1, 4, } }, { 10526, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 10526, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10526, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 4, 3, 4, } }, { 10526, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 3, 4, 1, 4, 1, 2, } }, { 10526, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 1, 2, 1, 4, } }, { 10526, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10526, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 3, 4, 0, 0, } }, { 10526, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 3, 4, 0, 0, 3, 4, } }, { 10526, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 3, 4, 1, 4, } }, { 10526, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10526, 50, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 3, 4, 3, 4, } }, { 10526, 51, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 3, 4, 0, 0, } }, { 10526, 52, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 1, 2, 1, 4, } }, { 10526, 53, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 3, 4, 3, 4, } }, { 10526, 54, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 0, 0, } }, { 10526, 55, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 2, 1, 4, } }, { 10526, 56, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10526, 57, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 10526, 58, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 3, 4, 3, 4, } }, { 10526, 59, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 3, 4, 3, 4, 0, 0, } }, { 10526, 60, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 1, 2, 1, 4, } }, { 10526, 61, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 3, 4, 3, 4, } }, { 10526, 62, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 3, 4, 0, 0, } }, { 10526, 63, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 3, 4, 1, 2, 1, 4, } }, { 10526, 64, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 10526, 65, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10526, 66, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 4, 3, 4, } }, { 10526, 67, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 4, 1, 4, 0, 0, } }, { 10526, 68, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 0, 0, 1, 4, } }, { 10526, 69, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10526, 70, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 3, 4, 1, 2, } }, { 10526, 71, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 4, 1, 2, 3, 4, } }, { 10526, 72, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 3, 4, 1, 4, } }, { 10526, 73, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10526, 74, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 4, 1, 4, } }, { 10526, 75, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 4, 0, 0, } }, { 10526, 76, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 1, 2, 3, 4, } }, { 10526, 77, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 4, 1, 4, } }, { 10526, 78, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 0, 0, } }, { 10526, 79, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 2, 3, 4, } }, { 10526, 80, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10526, 81, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 10526, 82, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 4, 1, 4, } }, { 10526, 83, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 4, 1, 4, 0, 0, } }, { 10526, 84, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 1, 2, 3, 4, } }, { 10526, 85, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 1, 4, } }, { 10526, 86, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 1, 4, 0, 0, } }, { 10526, 87, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 4, 1, 2, 3, 4, } }, { 10526, 88, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 10526, 89, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10526, 90, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 3, 4, 1, 4, } }, { 10526, 91, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 3, 4, 3, 4, 0, 0, } }, { 10526, 92, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 0, 0, 3, 4, } }, { 10526, 93, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10526, 94, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 1, 4, 1, 2, } }, { 10526, 95, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 3, 4, 1, 2, 1, 4, } }, { 10526, 96, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 4, 3, 4, } }, { 10526, 97, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10526, 98, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 4, 3, 4, } }, { 10526, 99, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 4, 0, 0, } }, { 10526, 100, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 0, 0, 1, 4, } }, { 10526, 101, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 4, 3, 4, } }, { 10526, 102, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 0, 0, } }, { 10526, 103, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 0, 0, 1, 4, } }, { 10526, 104, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10526, 105, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 10526, 106, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 4, 3, 4, } }, { 10526, 107, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 4, 1, 4, 0, 0, } }, { 10526, 108, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 0, 0, 1, 4, } }, { 10526, 109, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 4, 3, 4, } }, { 10526, 110, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 1, 4, 0, 0, } }, { 10526, 111, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 4, 0, 0, 1, 4, } }, { 10526, 112, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 10526, 113, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10526, 114, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 3, 4, 3, 4, } }, { 10526, 115, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 3, 4, 3, 4, 0, 0, } }, { 10526, 116, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 1, 2, 1, 4, } }, { 10526, 117, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10526, 118, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 1, 4, 1, 2, } }, { 10526, 119, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 3, 4, 0, 0, 3, 4, } }, { 10526, 120, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 4, 1, 4, } }, { 10526, 121, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10526, 122, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 3, 4, 1, 4, } }, { 10526, 123, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 3, 4, 0, 0, } }, { 10526, 124, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 0, 0, 3, 4, } }, { 10526, 125, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 3, 4, 1, 4, } }, { 10526, 126, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 0, 0, } }, { 10526, 127, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 0, 0, 3, 4, } }, { 10526, 128, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10526, 129, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 10526, 130, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 3, 4, 1, 4, } }, { 10526, 131, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 3, 4, 3, 4, 0, 0, } }, { 10526, 132, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 0, 0, 3, 4, } }, { 10526, 133, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 3, 4, 1, 4, } }, { 10526, 134, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 3, 4, 0, 0, } }, { 10526, 135, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 3, 4, 0, 0, 3, 4, } }, { 10526, 136, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 10526, 137, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10526, 138, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 4, 1, 4, } }, { 10526, 139, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 4, 1, 4, 0, 0, } }, { 10526, 140, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 1, 2, 3, 4, } }, { 10526, 141, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10526, 142, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 3, 4, 1, 2, } }, { 10526, 143, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 4, 0, 0, 1, 4, } }, { 10526, 144, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 3, 4, 3, 4, } }, { 10526, 145, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10526, 146, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 3, 4, 1, 4, } }, { 10526, 147, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 3, 4, 1, 2, } }, { 10526, 148, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 1, 2, 3, 4, } }, { 10526, 149, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 3, 4, 1, 4, } }, { 10526, 150, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 1, 2, } }, { 10526, 151, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 2, 3, 4, } }, { 10526, 152, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10526, 153, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 10526, 154, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 3, 4, 1, 4, } }, { 10526, 155, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 4, 3, 4, 1, 2, } }, { 10526, 156, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 1, 2, 3, 4, } }, { 10526, 157, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 3, 4, 1, 4, } }, { 10526, 158, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 3, 4, 1, 2, } }, { 10526, 159, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 4, 1, 2, 3, 4, } }, { 10526, 160, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 10526, 161, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10526, 162, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 4, 1, 4, } }, { 10526, 163, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 3, 4, 1, 4, 1, 2, } }, { 10526, 164, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 0, 0, 3, 4, } }, { 10526, 165, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10526, 166, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 3, 4, 0, 0, } }, { 10526, 167, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 3, 4, 1, 2, 1, 4, } }, { 10526, 168, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 3, 4, 3, 4, } }, { 10526, 169, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10526, 170, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 4, 3, 4, } }, { 10526, 171, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 4, 1, 2, } }, { 10526, 172, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 1, 2, 1, 4, } }, { 10526, 173, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 4, 3, 4, } }, { 10526, 174, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 1, 2, } }, { 10526, 175, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 2, 1, 4, } }, { 10526, 176, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10526, 177, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 10526, 178, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 4, 3, 4, } }, { 10526, 179, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 3, 4, 1, 4, 1, 2, } }, { 10526, 180, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 1, 2, 1, 4, } }, { 10526, 181, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 4, 3, 4, } }, { 10526, 182, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 1, 4, 1, 2, } }, { 10526, 183, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 3, 4, 1, 2, 1, 4, } }, { 10526, 184, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 10526, 185, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10526, 186, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 3, 4, 3, 4, } }, { 10526, 187, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 4, 3, 4, 1, 2, } }, { 10526, 188, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 0, 0, 1, 4, } }, { 10526, 189, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10526, 190, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 1, 4, 0, 0, } }, { 10526, 191, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 4, 1, 2, 3, 4, } }, { 10526, 192, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 4, 1, 4, } }, // F d -3 c :2 { 10528, 1, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, } }, { 10528, 2, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 4, 1, 4, } }, { 10528, 3, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 3, 4, 1, 2, } }, { 10528, 4, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 1, 2, 3, 4, } }, { 10528, 5, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 4, 1, 4, } }, { 10528, 6, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 1, 4, 1, 2, } }, { 10528, 7, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 2, 3, 4, } }, { 10528, 8, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 2, 0, 0, } }, { 10528, 9, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } }, { 10528, 10, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 4, 1, 4, } }, { 10528, 11, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 4, 3, 4, 1, 2, } }, { 10528, 12, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 1, 2, 3, 4, } }, { 10528, 13, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 4, 1, 4, } }, { 10528, 14, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 1, 4, 1, 2, } }, { 10528, 15, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 4, 1, 2, 3, 4, } }, { 10528, 16, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 2, 0, 0, } }, { 10528, 17, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10528, 18, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 4, 3, 4, } }, { 10528, 19, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 4, 3, 4, 0, 0, } }, { 10528, 20, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 1, 2, 1, 4, } }, { 10528, 21, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 10528, 22, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 1, 4, 0, 0, } }, { 10528, 23, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 4, 0, 0, 3, 4, } }, { 10528, 24, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 3, 4, 1, 4, } }, { 10528, 25, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, } }, { 10528, 26, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 3, 4, 3, 4, } }, { 10528, 27, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 4, 1, 2, } }, { 10528, 28, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 1, 2, 1, 4, } }, { 10528, 29, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3, 4, 3, 4, } }, { 10528, 30, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 3, 4, 1, 2, } }, { 10528, 31, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 2, 1, 4, } }, { 10528, 32, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, } }, { 10528, 33, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, } }, { 10528, 34, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 3, 4, 3, 4, } }, { 10528, 35, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 3, 4, 1, 4, 1, 2, } }, { 10528, 36, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 1, 2, 1, 4, } }, { 10528, 37, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 3, 4, 3, 4, } }, { 10528, 38, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 3, 4, 1, 2, } }, { 10528, 39, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 3, 4, 1, 2, 1, 4, } }, { 10528, 40, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 0, 0, } }, { 10528, 41, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, } }, { 10528, 42, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 3, 4, 1, 4, } }, { 10528, 43, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 3, 4, 1, 4, 0, 0, } }, { 10528, 44, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 1, 2, 3, 4, } }, { 10528, 45, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, } }, { 10528, 46, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 3, 4, 0, 0, } }, { 10528, 47, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 3, 4, 0, 0, 1, 4, } }, { 10528, 48, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 4, 3, 4, } }, { 10528, 49, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 1, 2, } }, { 10528, 50, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 3, 4, 3, 4, } }, { 10528, 51, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 4, 0, 0, } }, { 10528, 52, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 0, 0, 1, 4, } }, { 10528, 53, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 3, 4, 3, 4, } }, { 10528, 54, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 3, 4, 0, 0, } }, { 10528, 55, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 0, 0, 1, 4, } }, { 10528, 56, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 0, 0, 1, 2, } }, { 10528, 57, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 2, } }, { 10528, 58, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 3, 4, 3, 4, } }, { 10528, 59, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 1, 4, 1, 4, 0, 0, } }, { 10528, 60, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 0, 0, 1, 4, } }, { 10528, 61, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 0, 0, 3, 4, 3, 4, } }, { 10528, 62, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 3, 4, 0, 0, } }, { 10528, 63, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 1, 4, 0, 0, 1, 4, } }, { 10528, 64, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 0, 0, 1, 2, } }, { 10528, 65, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10528, 66, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 3, 4, 1, 4, } }, { 10528, 67, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 1, 4, 1, 4, 1, 2, } }, { 10528, 68, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 0, 0, 3, 4, } }, { 10528, 69, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 10528, 70, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 3, 4, 1, 2, } }, { 10528, 71, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 1, 4, 1, 2, 1, 4, } }, { 10528, 72, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 4, 3, 4, } }, { 10528, 73, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 0, 0, 1, 2, 1, 2, } }, { 10528, 74, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 4, 1, 4, } }, { 10528, 75, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 3, 4, 0, 0, } }, { 10528, 76, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 1, 4, 0, 0, 3, 4, } }, { 10528, 77, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 4, 1, 4, } }, { 10528, 78, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 3, 4, 1, 4, 0, 0, } }, { 10528, 79, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 0, 0, 3, 4, } }, { 10528, 80, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, } }, { 10528, 81, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 0, 0, 1, 2, 1, 2, } }, { 10528, 82, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 4, 1, 4, } }, { 10528, 83, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 3, 4, 3, 4, 0, 0, } }, { 10528, 84, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 1, 4, 0, 0, 3, 4, } }, { 10528, 85, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 1, 4, } }, { 10528, 86, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 3, 4, 1, 4, 0, 0, } }, { 10528, 87, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 3, 4, 0, 0, 3, 4, } }, { 10528, 88, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 2, } }, { 10528, 89, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 2, 1, 2, } }, { 10528, 90, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 4, 3, 4, } }, { 10528, 91, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 3, 4, 3, 4, 1, 2, } }, { 10528, 92, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 1, 4, 0, 0, 1, 4, } }, { 10528, 93, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 0, 0, } }, { 10528, 94, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 3, 4, 1, 4, 1, 2, } }, { 10528, 95, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 3, 4, 1, 2, 3, 4, } }, { 10528, 96, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 0, 0, 3, 4, 1, 4, } }, { 10528, 97, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 0, 1, 2, } }, { 10528, 98, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 4, 3, 4, } }, { 10528, 99, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 3, 4, 0, 0, } }, { 10528, 100, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 1, 2, 1, 4, } }, { 10528, 101, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 4, 3, 4, } }, { 10528, 102, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 1, 4, 0, 0, } }, { 10528, 103, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 1, 2, 1, 4, } }, { 10528, 104, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 1, 2, 1, 2, } }, { 10528, 105, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, } }, { 10528, 106, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 4, 3, 4, } }, { 10528, 107, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 3, 4, 3, 4, 0, 0, } }, { 10528, 108, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 1, 2, 1, 4, } }, { 10528, 109, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 4, 3, 4, } }, { 10528, 110, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 1, 4, 0, 0, } }, { 10528, 111, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 3, 4, 1, 2, 1, 4, } }, { 10528, 112, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 1, 2, 1, 2, } }, { 10528, 113, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10528, 114, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 1, 4, 1, 4, } }, { 10528, 115, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 3, 4, 3, 4, 1, 2, } }, { 10528, 116, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 1, 2, 3, 4, } }, { 10528, 117, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 10528, 118, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 1, 4, 1, 2, } }, { 10528, 119, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 3, 4, 0, 0, 1, 4, } }, { 10528, 120, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 3, 4, 3, 4, } }, { 10528, 121, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 0, 0, 1, 2, } }, { 10528, 122, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 3, 4, 1, 4, } }, { 10528, 123, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 1, 4, 0, 0, } }, { 10528, 124, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 1, 2, 3, 4, } }, { 10528, 125, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 3, 4, 1, 4, } }, { 10528, 126, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 3, 4, 0, 0, } }, { 10528, 127, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 1, 2, 3, 4, } }, { 10528, 128, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, } }, { 10528, 129, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 0, 0, 1, 2, } }, { 10528, 130, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 3, 4, 1, 4, } }, { 10528, 131, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 4, 1, 4, 0, 0, } }, { 10528, 132, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 1, 2, 3, 4, } }, { 10528, 133, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 3, 4, 1, 4, } }, { 10528, 134, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 3, 4, 0, 0, } }, { 10528, 135, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 4, 1, 2, 3, 4, } }, { 10528, 136, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, } }, { 10528, 137, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 0, 0, 1, 2, } }, { 10528, 138, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 3, 4, 3, 4, } }, { 10528, 139, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 4, 1, 4, 1, 2, } }, { 10528, 140, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 1, 2, 1, 4, } }, { 10528, 141, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, } }, { 10528, 142, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 3, 4, 1, 2, } }, { 10528, 143, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 4, 0, 0, 3, 4, } }, { 10528, 144, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 1, 4, 1, 4, } }, { 10528, 145, { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 0, } }, { 10528, 146, { 0,-1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 3, 4, 1, 4, } }, { 10528, 147, { -1, 0, 0, 0,-1, 0, 0, 0, 1, 3, 4, 1, 4, 1, 2, } }, { 10528, 148, { 0, 1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 0, 0, 3, 4, } }, { 10528, 149, { 1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 3, 4, 1, 4, } }, { 10528, 150, { 0, 1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 3, 4, 1, 2, } }, { 10528, 151, { -1, 0, 0, 0, 1, 0, 0, 0,-1, 3, 4, 0, 0, 3, 4, } }, { 10528, 152, { 0,-1, 0,-1, 0, 0, 0, 0,-1, 1, 2, 0, 0, 0, 0, } }, { 10528, 153, { 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, } }, { 10528, 154, { -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 3, 4, 1, 4, } }, { 10528, 155, { 0, 0,-1,-1, 0, 0, 0, 1, 0, 3, 4, 1, 4, 1, 2, } }, { 10528, 156, { 1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 0, 0, 3, 4, } }, { 10528, 157, { 0, 0, 1,-1, 0, 0, 0,-1, 0, 1, 2, 3, 4, 1, 4, } }, { 10528, 158, { 1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 3, 4, 1, 2, } }, { 10528, 159, { 0, 0,-1, 1, 0, 0, 0,-1, 0, 3, 4, 0, 0, 3, 4, } }, { 10528, 160, { -1, 0, 0, 0, 0,-1, 0,-1, 0, 1, 2, 0, 0, 0, 0, } }, { 10528, 161, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10528, 162, { 0, 1, 0, 0, 0,-1,-1, 0, 0, 0, 0, 3, 4, 3, 4, } }, { 10528, 163, { 0, 0, 1, 0, 1, 0,-1, 0, 0, 3, 4, 1, 4, 0, 0, } }, { 10528, 164, { 0,-1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 0, 0, 1, 4, } }, { 10528, 165, { 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 10528, 166, { 0,-1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 3, 4, 0, 0, } }, { 10528, 167, { 0, 0, 1, 0,-1, 0, 1, 0, 0, 3, 4, 1, 2, 3, 4, } }, { 10528, 168, { 0, 0,-1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 4, 1, 4, } }, { 10528, 169, { -1, 0, 0, 0,-1, 0, 0, 0,-1, 1, 2, 1, 2, 0, 0, } }, { 10528, 170, { 0, 1, 0,-1, 0, 0, 0, 0,-1, 0, 0, 1, 4, 3, 4, } }, { 10528, 171, { 1, 0, 0, 0, 1, 0, 0, 0,-1, 1, 4, 3, 4, 1, 2, } }, { 10528, 172, { 0,-1, 0, 1, 0, 0, 0, 0,-1, 3, 4, 0, 0, 1, 4, } }, { 10528, 173, { -1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1, 4, 3, 4, } }, { 10528, 174, { 0,-1, 0,-1, 0, 0, 0, 0, 1, 1, 4, 1, 4, 1, 2, } }, { 10528, 175, { 1, 0, 0, 0,-1, 0, 0, 0, 1, 1, 4, 0, 0, 1, 4, } }, { 10528, 176, { 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, } }, { 10528, 177, { 0, 0,-1,-1, 0, 0, 0,-1, 0, 1, 2, 1, 2, 0, 0, } }, { 10528, 178, { 1, 0, 0, 0, 0,-1, 0,-1, 0, 0, 0, 1, 4, 3, 4, } }, { 10528, 179, { 0, 0, 1, 1, 0, 0, 0,-1, 0, 1, 4, 3, 4, 1, 2, } }, { 10528, 180, { -1, 0, 0, 0, 0, 1, 0,-1, 0, 3, 4, 0, 0, 1, 4, } }, { 10528, 181, { 0, 0,-1, 1, 0, 0, 0, 1, 0, 1, 2, 1, 4, 3, 4, } }, { 10528, 182, { -1, 0, 0, 0, 0,-1, 0, 1, 0, 1, 4, 1, 4, 1, 2, } }, { 10528, 183, { 0, 0, 1,-1, 0, 0, 0, 1, 0, 1, 4, 0, 0, 1, 4, } }, { 10528, 184, { 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 0, 0, 0, 0, } }, { 10528, 185, { 0,-1, 0, 0, 0,-1,-1, 0, 0, 1, 2, 1, 2, 0, 0, } }, { 10528, 186, { 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 4, 1, 4, } }, { 10528, 187, { 0, 0,-1, 0,-1, 0, 1, 0, 0, 1, 4, 3, 4, 0, 0, } }, { 10528, 188, { 0, 1, 0, 0, 0,-1, 1, 0, 0, 3, 4, 0, 0, 3, 4, } }, { 10528, 189, { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, } }, { 10528, 190, { 0, 1, 0, 0, 0, 1,-1, 0, 0, 1, 4, 1, 4, 0, 0, } }, { 10528, 191, { 0, 0,-1, 0, 1, 0,-1, 0, 0, 1, 4, 1, 2, 1, 4, } }, { 10528, 192, { 0, 0, 1, 0,-1, 0,-1, 0, 0, 1, 2, 3, 4, 3, 4, } }, }; const size_t kSymopNrTableSize = sizeof(kSymopNrTable) / sizeof(SymopDataBlock); } // namespace mmcif libcifpp-2.0.5/src/Symmetry.cpp0000664000175000017500000000534314200173347016302 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include "cif++/Symmetry.hpp" #include "cif++/CifUtils.hpp" #include "SymOpTable_data.hpp" namespace mmcif { // -------------------------------------------------------------------- // Unfortunately, clipper has a different numbering scheme than PDB // for rotation numbers. So we created a table to map those. // Perhaps a bit over the top, but hey.... // -------------------------------------------------------------------- int GetSpacegroupNumber(std::string spacegroup) { if (spacegroup == "P 21 21 2 A") spacegroup = "P 21 21 2 (a)"; else if (spacegroup.empty()) throw std::runtime_error("No spacegroup, cannot continue"); int result = 0; const size_t N = kNrOfSpaceGroups; int32_t L = 0, R = static_cast(N - 1); while (L <= R) { int32_t i = (L + R) / 2; int d = spacegroup.compare(kSpaceGroups[i].name); if (d > 0) L = i + 1; else if (d < 0) R = i - 1; else { result = kSpaceGroups[i].nr; break; } } // not found, see if we can find a match based on xHM name if (result == 0) { for (size_t i = 0; i < kNrOfSpaceGroups; ++i) { auto& sp = kSpaceGroups[i]; if (sp.xHM == spacegroup) { result = sp.nr; break; } } } if (result == 0) throw std::runtime_error("Spacegroup name " + spacegroup + " was not found in table"); return result; } } libcifpp-2.0.5/src/TlsParser.cpp0000664000175000017500000011774114200173347016376 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include "cif++/TlsParser.hpp" namespace ba = boost::algorithm; namespace cif { const int kResidueNrWildcard = std::numeric_limits::min(), kNoSeqNum = std::numeric_limits::max() - 1; // -------------------------------------------------------------------- // We parse selection statements and create a selection expression tree // which is then interpreted by setting the selected flag for the // residues. After that, the selected ranges are collected and printed. struct TLSResidue { std::string chainID; int seqNr; char iCode; std::string name; bool selected; std::string asymID; int seqID; bool operator==(const TLSResidue& rhs) const { return chainID == rhs.chainID and seqNr == rhs.seqNr and iCode == rhs.iCode and iequals(name, rhs.name) and selected == rhs.selected; } }; void DumpSelection(const std::vector& selected, std::size_t indentLevel) { std::string indent(indentLevel * 2, ' '); auto i = selected.begin(); bool first = true; // First print in PDB space while (i != selected.end()) { auto b = std::find_if(i, selected.end(), [](auto s) -> bool { return s.selected; }); if (b == selected.end()) break; if (first) std::cout << indent << "PDB:" << std::endl; first = false; auto e = std::find_if(b, selected.end(), [b](auto s) -> bool { return s.chainID != b->chainID or not s.selected; }); std::cout << indent << " >> " << b->chainID << ' ' << b->seqNr << ':' << (e - 1)->seqNr << std::endl; i = e; } // Then in mmCIF space if (not first) std::cout << indent << "mmCIF:" << std::endl; i = selected.begin(); while (i != selected.end()) { auto b = std::find_if(i, selected.end(), [](auto s) -> bool { return s.selected; }); if (b == selected.end()) break; auto e = std::find_if(b, selected.end(), [b](auto s) -> bool { return s.asymID != b->asymID or not s.selected; }); std::string asymID = b->asymID; int from = b->seqID, to = from; for (auto j = b + 1; j != e; ++j) { if (j->seqID == to + 1) to = j->seqID; else if (j->seqID != to) // probably an insertion code { if (from == kNoSeqNum or to == kNoSeqNum) std::cout << indent << " >> " << asymID << std::endl; else std::cout << indent << " >> " << asymID << ' ' << from << ':' << to << std::endl; asymID = b->asymID; from = to = b->seqID; } } if (from == kNoSeqNum or to == kNoSeqNum) std::cout << indent << " >> " << asymID << std::endl; else std::cout << indent << " >> " << asymID << ' ' << from << ':' << to << std::endl; i = e; } if (first) { if (isatty(STDOUT_FILENO)) std::cout << indent << cif::coloured("Empty selection") << std::endl; else std::cout << indent << cif::coloured("Empty selection") << std::endl; } } std::vector> TLSSelection::GetRanges(Datablock& db, bool pdbNamespace) const { std::vector selected; // Collect the residues from poly seq scheme... for (auto r: db["pdbx_poly_seq_scheme"]) { std::string chain, seqNr, iCode, name; std::string asymID; int seqID; if (pdbNamespace) cif::tie(chain, seqNr, iCode, name, asymID, seqID) = r.get("pdb_strand_id", "pdb_seq_num", "pdb_ins_code", "pdb_comp_id", "asym_id", "seq_id"); else { cif::tie(chain, seqNr, name) = r.get("asym_id", "seq_id", "mon_id"); asymID = chain; seqID = stoi(seqNr); } if (seqNr.empty()) continue; if (iCode.length() > 1) throw std::runtime_error("invalid iCode"); selected.push_back({chain, stoi(seqNr), iCode[0], name, false, asymID, seqID}); } // ... those from the nonpoly scheme for (auto r: db["pdbx_nonpoly_scheme"]) { std::string chain, seqNr, iCode, name, asymID; if (pdbNamespace) { cif::tie(chain, seqNr, iCode, name, asymID) = r.get("pdb_strand_id", "pdb_seq_num", "pdb_ins_code", "pdb_mon_id", "asym_id"); if (seqNr.empty()) continue; } else { cif::tie(chain, name) = r.get("asym_id", "mon_id"); asymID = chain; seqNr = "0"; } if (iequals(name, "HOH") or iequals(name, "H2O")) continue; if (iCode.length() > 1) throw std::runtime_error("invalid iCode"); selected.push_back({chain, stoi(seqNr), iCode[0], name, false, asymID, kNoSeqNum}); } // selected might consist of multiple ranges // output per chain stable_sort(selected.begin(), selected.end(), [](auto& a, auto& b) -> bool { int d = a.chainID.compare(b.chainID); if (d == 0) d = a.seqNr - b.seqNr; return d < 0; }); CollectResidues(db, selected); std::vector> result; auto i = selected.begin(); while (i != selected.end()) { auto b = std::find_if(i, selected.end(), [](auto s) -> bool { return s.selected; }); if (b == selected.end()) break; auto e = std::find_if(b, selected.end(), [b](auto s) -> bool { return s.asymID != b->asymID or not s.selected; }); // return ranges with strict increasing sequence numbers. // So when there's a gap in the sequence we split the range. // Beware of iCodes though result.push_back(make_tuple(b->asymID, b->seqID, b->seqID)); for (auto j = b + 1; j != e; ++j) { if (j->seqID == std::get<2>(result.back()) + 1) std::get<2>(result.back()) = j->seqID; else if (j->seqID != std::get<2>(result.back())) // probably an insertion code result.push_back(make_tuple(b->asymID, j->seqID, j->seqID)); } i = e; } return result; } struct TLSSelectionNot : public TLSSelection { TLSSelectionNot(TLSSelectionPtr selection) : selection(selection.release()) {} virtual void CollectResidues(Datablock& db, std::vector& residues, std::size_t indentLevel) const { selection->CollectResidues(db, residues, indentLevel + 1); for (auto& r: residues) r.selected = not r.selected; if (cif::VERBOSE) { std::cout << std::string(indentLevel * 2, ' ') << "NOT" << std::endl; DumpSelection(residues, indentLevel); } } TLSSelectionPtr selection; }; struct TLSSelectionAll : public TLSSelection { TLSSelectionAll() {} virtual void CollectResidues(Datablock& db, std::vector& residues, std::size_t indentLevel) const { for (auto& r: residues) r.selected = true; if (cif::VERBOSE) { std::cout << std::string(indentLevel * 2, ' ') << "ALL" << std::endl; DumpSelection(residues, indentLevel); } } }; struct TLSSelectionChain : public TLSSelectionAll { TLSSelectionChain(const std::string& chainID) : m_chain(chainID) {} virtual void CollectResidues(Datablock& db, std::vector& residues, std::size_t indentLevel) const { bool allChains = m_chain == "*"; for (auto& r: residues) r.selected = allChains or r.chainID == m_chain; if (cif::VERBOSE) { std::cout << std::string(indentLevel * 2, ' ') << "CHAIN " << m_chain << std::endl; DumpSelection(residues, indentLevel); } } std::string m_chain; }; struct TLSSelectionResID : public TLSSelectionAll { TLSSelectionResID(int seqNr, char iCode) : m_seq_nr(seqNr), m_icode(iCode) {} virtual void CollectResidues(Datablock& db, std::vector& residues, std::size_t indentLevel) const { for (auto& r: residues) r.selected = r.seqNr == m_seq_nr and r.iCode == m_icode; if (cif::VERBOSE) { std::cout << std::string(indentLevel * 2, ' ') << "ResID " << m_seq_nr << (m_icode ? std::string { m_icode} : "") << std::endl; DumpSelection(residues, indentLevel); } } int m_seq_nr; char m_icode; }; struct TLSSelectionRangeSeq : public TLSSelectionAll { TLSSelectionRangeSeq(int first, int last) : m_first(first), m_last(last) {} virtual void CollectResidues(Datablock& db, std::vector& residues, std::size_t indentLevel) const { for (auto& r: residues) { r.selected = ((r.seqNr >= m_first or m_first == kResidueNrWildcard) and (r.seqNr <= m_last or m_last == kResidueNrWildcard)); } if (cif::VERBOSE) { std::cout << std::string(indentLevel * 2, ' ') << "Range " << m_first << ':' << m_last << std::endl; DumpSelection(residues, indentLevel); } } int m_first, m_last; }; struct TLSSelectionRangeID : public TLSSelectionAll { TLSSelectionRangeID(int first, int last, char icodeFirst = 0, char icodeLast = 0) : m_first(first), m_last(last), m_icode_first(icodeFirst), m_icode_last(icodeLast) {} virtual void CollectResidues(Datablock& db, std::vector& residues, std::size_t indentLevel) const { // need to do this per chain std::set chains; for (auto& r: residues) chains.insert(r.chainID); for (std::string chain: chains) { auto f = std::find_if(residues.begin(), residues.end(), [=](auto r) -> bool { return r.chainID == chain and r.seqNr == m_first and r.iCode == m_icode_first; }); auto l = std::find_if(residues.begin(), residues.end(), [=](auto r) -> bool { return r.chainID == chain and r.seqNr == m_last and r.iCode == m_icode_last; }); if (f != residues.end() and l != residues.end() and f <= l) { ++l; for (; f != l; ++f) f->selected = true; } } if (cif::VERBOSE) { std::cout << std::string(indentLevel * 2, ' ') << "Through " << m_first << ':' << m_last << std::endl; DumpSelection(residues, indentLevel); } } int m_first, m_last; char m_icode_first, m_icode_last; }; struct TLSSelectionUnion : public TLSSelection { TLSSelectionUnion(TLSSelectionPtr& lhs, TLSSelectionPtr& rhs) : lhs(lhs.release()), rhs(rhs.release()) {} TLSSelectionUnion(TLSSelectionPtr& lhs, TLSSelectionPtr&& rhs) : lhs(lhs.release()), rhs(rhs.release()) {} virtual void CollectResidues(Datablock& db, std::vector& residues, std::size_t indentLevel) const { auto a = residues; for_each(a.begin(), a.end(), [](auto& r) { r.selected = false; }); auto b = residues; for_each(b.begin(), b.end(), [](auto& r) { r.selected = false; }); lhs->CollectResidues(db, a, indentLevel + 1); rhs->CollectResidues(db, b, indentLevel + 1); for (auto ai = a.begin(), bi = b.begin(), ri = residues.begin(); ri != residues.end(); ++ai, ++bi, ++ri) ri->selected = ai->selected or bi->selected; if (cif::VERBOSE) { std::cout << std::string(indentLevel * 2, ' ') << "Union" << std::endl; DumpSelection(residues, indentLevel); } } TLSSelectionPtr lhs; TLSSelectionPtr rhs; }; struct TLSSelectionIntersection : public TLSSelection { TLSSelectionIntersection(TLSSelectionPtr& lhs, TLSSelectionPtr& rhs) : lhs(lhs.release()), rhs(rhs.release()) {} TLSSelectionIntersection(TLSSelectionPtr& lhs, TLSSelectionPtr&& rhs) : lhs(lhs.release()), rhs(rhs.release()) {} virtual void CollectResidues(Datablock& db, std::vector& residues, std::size_t indentLevel) const { auto a = residues; for_each(a.begin(), a.end(), [](auto& r) { r.selected = false; }); auto b = residues; for_each(b.begin(), b.end(), [](auto& r) { r.selected = false; }); lhs->CollectResidues(db, a, indentLevel + 1); rhs->CollectResidues(db, b, indentLevel + 1); for (auto ai = a.begin(), bi = b.begin(), ri = residues.begin(); ri != residues.end(); ++ai, ++bi, ++ri) ri->selected = ai->selected and bi->selected; if (cif::VERBOSE) { std::cout << std::string(indentLevel * 2, ' ') << "Intersection" << std::endl; DumpSelection(residues, indentLevel); } } TLSSelectionPtr lhs; TLSSelectionPtr rhs; }; struct TLSSelectionByName : public TLSSelectionAll { public: TLSSelectionByName(const std::string& resname) : m_name(resname) {} virtual void CollectResidues(Datablock& db, std::vector& residues, std::size_t indentLevel) const { for (auto& r: residues) r.selected = r.name == m_name; if (cif::VERBOSE) { std::cout << std::string(indentLevel * 2, ' ') << "Name " << m_name << std::endl; DumpSelection(residues, indentLevel); } } std::string m_name; }; struct TLSSelectionByElement : public TLSSelectionAll { public: TLSSelectionByElement(const std::string& element) : m_element(element) {} virtual void CollectResidues(Datablock& db, std::vector& residues, std::size_t indentLevel) const { // rationale... We want to select residues only. So we select // residues that have just a single atom of type m_element. // And we assume these have as residue name... m_element. // ... Right? for (auto& r: residues) r.selected = iequals(r.name, m_element); if (cif::VERBOSE) { std::cout << std::string(indentLevel * 2, ' ') << "Element " << m_element << std::endl; DumpSelection(residues, indentLevel); } } std::string m_element; }; // -------------------------------------------------------------------- class TLSSelectionParserImpl { public: TLSSelectionParserImpl(const std::string& selection) : m_selection(selection), m_p(m_selection.begin()), m_end(m_selection.end()) {} virtual TLSSelectionPtr Parse() = 0; protected: virtual int GetNextToken() = 0; virtual void Match(int token); virtual std::string ToString(int token) = 0; std::string m_selection; std::string::iterator m_p, m_end; int m_lookahead = 0; std::string m_token; }; void TLSSelectionParserImpl::Match(int token) { if (m_lookahead == token) m_lookahead = GetNextToken(); else { std::string expected; if (token >= 256) expected = ToString(token); else expected = { char(token) }; std::string found; if (m_lookahead >= 256) found = ToString(m_lookahead) + " (" + m_token + ')'; else found = { char(m_lookahead) }; throw std::runtime_error("Expected " + expected + " but found " + found); } } // -------------------------------------------------------------------- class TLSSelectionParserImplPhenix : public TLSSelectionParserImpl { public: TLSSelectionParserImplPhenix(const std::string& selection) : TLSSelectionParserImpl(selection) { m_lookahead = GetNextToken(); } virtual TLSSelectionPtr Parse(); private: TLSSelectionPtr ParseAtomSelection(); TLSSelectionPtr ParseTerm(); TLSSelectionPtr ParseFactor(); enum TOKEN { pt_NONE = 0, pt_IDENT = 256, pt_STRING, pt_NUMBER, pt_RESID, pt_EOLN, pt_KW_ALL, pt_KW_CHAIN, pt_KW_RESSEQ, pt_KW_RESID, pt_KW_ICODE, pt_KW_RESNAME, pt_KW_ELEMENT, pt_KW_AND, pt_KW_OR, pt_KW_NOT, pt_KW_PDB, pt_KW_ENTRY, pt_KW_THROUGH }; virtual int GetNextToken(); virtual std::string ToString(int token); int m_value_i; std::string m_value_s; char m_icode; }; int TLSSelectionParserImplPhenix::GetNextToken() { int result = pt_NONE; enum STATE { st_START, st_RESID = 200, st_NUM = 300, st_IDENT = 400, st_QUOTED = 500, st_DQUOTED = 550, st_OTHER = 600 }; int state = st_START; m_value_i = 0; m_icode = 0; m_value_s.clear(); auto s = m_p; auto start = state; m_token.clear(); auto restart = [&]() { switch (start) { case st_START: state = start = st_RESID; break; case st_RESID: state = start = st_NUM; break; case st_NUM: state = start = st_IDENT; break; case st_IDENT: state = start = st_QUOTED; break; case st_QUOTED: state = start = st_DQUOTED; break; case st_DQUOTED:state = start = st_OTHER; break; } m_token.clear(); m_p = s; }; auto retract = [&]() { --m_p; m_token.pop_back(); }; while (result == pt_NONE) { char ch = *m_p++; if (m_p > m_end) ch = 0; else m_token += ch; switch (state) { // start block case st_START: if (ch == 0) result = pt_EOLN; else if (isspace(ch)) { m_token.clear(); ++s; } else restart(); break; // RESID block case st_RESID: if (ch == '-') state = st_RESID + 1; else if (isdigit(ch)) { m_value_i = (ch - '0'); state = st_RESID + 2; } else restart(); break; case st_RESID + 1: if (isdigit(ch)) { m_value_i = -(ch - '0'); state = st_RESID + 2; } else restart(); break; case st_RESID + 2: if (isdigit(ch)) m_value_i = 10 * m_value_i + (m_value_i < 0 ? -1 : 1) * (ch - '0'); else if (isalpha(ch)) { m_icode = ch; state = st_RESID + 3; } else restart(); break; case st_RESID + 3: if (isalnum(ch)) restart(); else { retract(); result = pt_RESID; } break; // NUM block case st_NUM: if (ch == '-') state = st_NUM + 1; else if (isdigit(ch)) { m_value_i = ch - '0'; state = st_NUM + 2; } else restart(); break; case st_NUM + 1: if (isdigit(ch)) { m_value_i = -(ch - '0'); state = st_NUM + 2; } else restart(); break; case st_NUM + 2: if (isdigit(ch)) m_value_i = 10 * m_value_i + (m_value_i < 0 ? -1 : 1) * (ch - '0'); else if (not isalpha(ch)) { result = pt_NUMBER; retract(); } else restart(); break; // IDENT block case st_IDENT: if (isalnum(ch)) { m_value_s = { ch }; state = st_IDENT + 1; } else restart(); break; case st_IDENT + 1: if (isalnum(ch) or ch == '\'') m_value_s += ch; else { --m_p; result = pt_IDENT; } break; // QUOTED block case st_QUOTED: if (ch == '\'') { m_value_s.clear(); state = st_QUOTED + 1; } else restart(); break; case st_QUOTED + 1: if (ch == '\'') result = pt_STRING; else if (ch == 0) throw std::runtime_error("Unexpected end of selection, missing quote character?"); else m_value_s += ch; break; // QUOTED block case st_DQUOTED: if (ch == '\"') { m_value_s.clear(); state = st_DQUOTED + 1; } else restart(); break; case st_DQUOTED + 1: if (ch == '\"') result = pt_STRING; else if (ch == 0) throw std::runtime_error("Unexpected end of selection, missing quote character?"); else m_value_s += ch; break; // OTHER block case st_OTHER: result = ch; break; } } if (result == pt_IDENT) { if (iequals(m_value_s, "CHAIN")) result = pt_KW_CHAIN; else if (iequals(m_value_s, "ALL")) result = pt_KW_ALL; else if (iequals(m_value_s, "AND")) result = pt_KW_AND; else if (iequals(m_value_s, "OR")) result = pt_KW_OR; else if (iequals(m_value_s, "NOT")) result = pt_KW_NOT; else if (iequals(m_value_s, "RESSEQ")) result = pt_KW_RESSEQ; else if (iequals(m_value_s, "RESID") or iequals(m_value_s, "RESI")) result = pt_KW_RESID; else if (iequals(m_value_s, "RESNAME")) result = pt_KW_RESNAME; else if (iequals(m_value_s, "ELEMENT")) result = pt_KW_ELEMENT; else if (iequals(m_value_s, "PDB")) result = pt_KW_PDB; else if (iequals(m_value_s, "ENTRY")) result = pt_KW_ENTRY; else if (iequals(m_value_s, "THROUGH")) result = pt_KW_THROUGH; } return result; } std::string TLSSelectionParserImplPhenix::ToString(int token) { switch (token) { case pt_IDENT: return "identifier"; case pt_STRING: return "string"; case pt_NUMBER: return "number"; case pt_RESID: return "resid"; case pt_EOLN: return "end of line"; case pt_KW_ALL: return "ALL"; case pt_KW_CHAIN: return "CHAIN"; case pt_KW_RESSEQ: return "RESSEQ"; case pt_KW_RESID: return "RESID"; case pt_KW_RESNAME: return "RESNAME"; case pt_KW_ELEMENT: return "ELEMENT"; case pt_KW_AND: return "AND"; case pt_KW_OR: return "OR"; case pt_KW_NOT: return "NOT"; case pt_KW_PDB: return "PDB"; case pt_KW_ENTRY: return "ENTRY"; case pt_KW_THROUGH: return "THROUGH"; default: return "character"; } } TLSSelectionPtr TLSSelectionParserImplPhenix::Parse() { if (m_lookahead == pt_KW_PDB) { Match(pt_KW_PDB); // Match(pt_KW_ENTRY); throw std::runtime_error("Unimplemented PDB ENTRY specification"); } TLSSelectionPtr result = ParseAtomSelection(); bool extraParenthesis = false; if (m_lookahead == ')') { extraParenthesis = true; m_lookahead = GetNextToken(); } Match(pt_EOLN); if (extraParenthesis) std::cerr << "WARNING: too many closing parenthesis in TLS selection statement" << std::endl; return result; } TLSSelectionPtr TLSSelectionParserImplPhenix::ParseAtomSelection() { TLSSelectionPtr result = ParseTerm(); while (m_lookahead == pt_KW_OR) { Match(pt_KW_OR); result.reset(new TLSSelectionUnion(result, ParseTerm())); } return result; } TLSSelectionPtr TLSSelectionParserImplPhenix::ParseTerm() { TLSSelectionPtr result = ParseFactor(); while (m_lookahead == pt_KW_AND) { Match(pt_KW_AND); result.reset(new TLSSelectionIntersection(result, ParseFactor())); } return result; } TLSSelectionPtr TLSSelectionParserImplPhenix::ParseFactor() { TLSSelectionPtr result; switch (m_lookahead) { case '(': Match('('); result = ParseAtomSelection(); if (m_lookahead == pt_EOLN) std::cerr << "WARNING: missing closing parenthesis in TLS selection statement" << std::endl; else Match(')'); break; case pt_KW_NOT: Match(pt_KW_NOT); result.reset(new TLSSelectionNot(ParseAtomSelection())); break; case pt_KW_CHAIN: { Match(pt_KW_CHAIN); std::string chainID = m_value_s; if (m_lookahead == pt_NUMBER) // sigh { chainID = std::to_string(m_value_i); Match(pt_NUMBER); } else Match(m_lookahead == pt_STRING ? pt_STRING : pt_IDENT); result.reset(new TLSSelectionChain(chainID)); break; } case pt_KW_RESNAME: { Match(pt_KW_RESNAME); std::string name = m_value_s; Match(pt_IDENT); result.reset(new TLSSelectionByName(name)); break; } case pt_KW_ELEMENT: { Match(pt_KW_ELEMENT); std::string element = m_value_s; Match(pt_IDENT); result.reset(new TLSSelectionByElement(element)); break; } case pt_KW_RESSEQ: { Match(pt_KW_RESSEQ); int from = m_value_i; Match(pt_NUMBER); int to = from; if (m_lookahead == ':') { Match(':'); to = m_value_i; Match(pt_NUMBER); } result.reset(new TLSSelectionRangeSeq(from, to)); break; } case pt_KW_RESID: { Match(pt_KW_RESID); int from, to; char icode_from = 0, icode_to = 0; bool through = false; from = to = m_value_i; if (m_lookahead == pt_NUMBER) Match(pt_NUMBER); else { icode_from = m_icode; Match(pt_RESID); } if (m_lookahead == ':' or m_lookahead == pt_KW_THROUGH or m_lookahead == '-') { through = m_lookahead == pt_KW_THROUGH; Match(m_lookahead); to = m_value_i; if (m_lookahead == pt_NUMBER) Match(pt_NUMBER); else { icode_to = m_icode; Match(pt_RESID); } if (through) result.reset(new TLSSelectionRangeID(from, to, icode_from, icode_to)); else { if (cif::VERBOSE and (icode_from or icode_to)) std::cerr << "Warning, ignoring insertion codes" << std::endl; result.reset(new TLSSelectionRangeSeq(from, to)); } } else result.reset(new TLSSelectionResID(from, icode_from)); break; } case pt_KW_ALL: Match(pt_KW_ALL); result.reset(new TLSSelectionAll()); break; default: throw std::runtime_error("Unexpected token " + ToString(m_lookahead) + " (" + m_token + ')'); } return result; } // -------------------------------------------------------------------- class TLSSelectionParserImplBuster : public TLSSelectionParserImpl { public: TLSSelectionParserImplBuster(const std::string& selection); virtual TLSSelectionPtr Parse(); protected: enum TOKEN { bt_NONE = 0, bt_IDENT = 256, bt_NUMBER, bt_EOLN, }; virtual int GetNextToken(); virtual std::string ToString(int token); TLSSelectionPtr ParseGroup(); std::tuple ParseAtom(); TLSSelectionPtr ParseOldGroup(); int m_value_i; std::string m_value_s; bool m_parsing_old_style = false; }; TLSSelectionParserImplBuster::TLSSelectionParserImplBuster(const std::string& selection) : TLSSelectionParserImpl(selection) { m_lookahead = GetNextToken(); } int TLSSelectionParserImplBuster::GetNextToken() { int result = bt_NONE; enum STATE { st_START, st_NEGATE, st_NUM, st_IDENT } state = st_START; m_value_i = 0; m_value_s.clear(); bool negative = false; while (result == bt_NONE) { char ch = *m_p++; if (m_p > m_end) ch = 0; switch (state) { case st_START: if (ch == 0) result = bt_EOLN; else if (isspace(ch)) continue; else if (isdigit(ch)) { m_value_i = ch - '0'; state = st_NUM; } else if (isalpha(ch)) { m_value_s = { ch }; state = st_IDENT; } else if (ch == '-') { state = st_NEGATE; } else result = ch; break; case st_NEGATE: if (isdigit(ch)) { m_value_i = ch - '0'; state = st_NUM; negative = true; } else { --m_p; result = '-'; } break; case st_NUM: if (isdigit(ch)) m_value_i = 10 * m_value_i + (ch - '0'); else { if (negative) m_value_i = -m_value_i; result = bt_NUMBER; --m_p; } break; case st_IDENT: if (isalnum(ch)) m_value_s += ch; else { --m_p; result = bt_IDENT; } break; } } return result; } std::string TLSSelectionParserImplBuster::ToString(int token) { switch (token) { case bt_IDENT: return "identifier (" + m_value_s + ')'; case bt_NUMBER: return "number (" + std::to_string(m_value_i) + ')'; case bt_EOLN: return "end of line"; default: assert(false); return "unknown token"; } } TLSSelectionPtr TLSSelectionParserImplBuster::ParseGroup() { TLSSelectionPtr result; auto add = [&result](const std::string& chainID, int from, int to) { TLSSelectionPtr sc(new TLSSelectionChain(chainID)); TLSSelectionPtr sr(new TLSSelectionRangeSeq(from, to)); TLSSelectionPtr s(new TLSSelectionIntersection(sc, sr)); if (result == nullptr) result.reset(s.release()); else result.reset(new TLSSelectionUnion{result, s }); }; Match('{'); do { std::string chain1; int seqNr1; std::tie(chain1, seqNr1) = ParseAtom(); if (m_lookahead == '-') { std::string chain2; int seqNr2 = seqNr1; Match('-'); if (m_lookahead == bt_NUMBER) { seqNr2 = m_value_i; Match(bt_NUMBER); } else { std::tie(chain2, seqNr2) = ParseAtom(); if (chain1 != chain2) { std::cerr << "Warning, ranges over multiple chains detected" << std::endl; TLSSelectionPtr sc1(new TLSSelectionChain(chain1)); TLSSelectionPtr sr1(new TLSSelectionRangeSeq(seqNr1, kResidueNrWildcard)); TLSSelectionPtr s1(new TLSSelectionIntersection(sc1, sr1)); TLSSelectionPtr sc2(new TLSSelectionChain(chain2)); TLSSelectionPtr sr2(new TLSSelectionRangeSeq(kResidueNrWildcard, seqNr2)); TLSSelectionPtr s2(new TLSSelectionIntersection(sc2, sr2)); TLSSelectionPtr s(new TLSSelectionUnion(s1, s2)); if (result == nullptr) result.reset(s.release()); else result.reset(new TLSSelectionUnion{result, s }); chain1.clear(); } } if (not chain1.empty()) add(chain1, seqNr1, seqNr2); } else add(chain1, seqNr1, seqNr1); } while (m_lookahead != '}'); Match('}'); return result; } std::tuple TLSSelectionParserImplBuster::ParseAtom() { std::string chain = m_value_s; int seqNr = kResidueNrWildcard; if (m_lookahead == '*') Match('*'); else Match(bt_IDENT); Match('|'); if (m_lookahead == '*') Match('*'); else { seqNr = m_value_i; Match(bt_NUMBER); if (m_lookahead == ':') { Match(':'); std::string atom = m_value_s; if (cif::VERBOSE) std::cerr << "Warning: ignoring atom ID '" << atom << "' in TLS selection" << std::endl; Match(bt_IDENT); } } return make_tuple(chain, seqNr); } TLSSelectionPtr TLSSelectionParserImplBuster::Parse() { TLSSelectionPtr result = ParseGroup(); Match(bt_EOLN); return result; } // -------------------------------------------------------------------- class TLSSelectionParserImplBusterOld : public TLSSelectionParserImpl { public: TLSSelectionParserImplBusterOld(const std::string& selection) : TLSSelectionParserImpl(selection) { m_lookahead = GetNextToken(); } virtual TLSSelectionPtr Parse(); private: TLSSelectionPtr ParseAtomSelection(); TLSSelectionPtr ParseTerm(); TLSSelectionPtr ParseFactor(); TLSSelectionPtr ParseResid(); TLSSelectionPtr ParseChainResid(); enum TOKEN { pt_NONE = 0, pt_IDENT = 256, pt_CHAINRESID, pt_STRING, pt_NUMBER, pt_RANGE, pt_EOLN, pt_KW_ALL, pt_KW_CHAIN, pt_KW_RESSEQ, pt_KW_RESID, pt_KW_RESNAME, pt_KW_ELEMENT, pt_KW_AND, pt_KW_OR, pt_KW_NOT, pt_KW_PDB, pt_KW_ENTRY, pt_KW_THROUGH }; virtual int GetNextToken(); virtual std::string ToString(int token); int m_value_i; std::string m_value_s; int m_value_r[2]; }; int TLSSelectionParserImplBusterOld::GetNextToken() { int result = pt_NONE; enum STATE { st_START, st_NEGATE, st_NUM, st_RANGE, st_IDENT_1, st_IDENT, st_CHAINRESID, st_QUOTED_1, st_QUOTED_2 } state = st_START; m_value_i = 0; m_value_s.clear(); bool negative = false; while (result == pt_NONE) { char ch = *m_p++; if (m_p > m_end) ch = 0; switch (state) { case st_START: if (ch == 0) result = pt_EOLN; else if (isspace(ch)) continue; else if (isdigit(ch)) { m_value_i = ch - '0'; state = st_NUM; } else if (isalpha(ch)) { m_value_s = { ch }; state = st_IDENT_1; } else if (ch == '-') { state = st_NEGATE; } else if (ch == '\'') { state = st_QUOTED_1; } else result = ch; break; case st_NEGATE: if (isdigit(ch)) { m_value_i = ch - '0'; state = st_NUM; negative = true; } else { --m_p; result = '-'; } break; case st_NUM: if (isdigit(ch)) m_value_i = 10 * m_value_i + (ch - '0'); else if (ch == '-' or ch == ':') { if (negative) m_value_i = -m_value_i; m_value_r[0] = m_value_i; m_value_r[1] = 0; state = st_RANGE; } else { if (negative) m_value_i = -m_value_i; result = pt_NUMBER; --m_p; } break; case st_RANGE: // TODO: question, is "-2--1" a valid range? We do not support that, yet if (isdigit(ch)) m_value_r[1] = 10 * m_value_r[1] + (ch - '0'); else if (m_value_r[1] != 0) { result = pt_RANGE; --m_p; } else { --m_p; --m_p; result = pt_NUMBER; } break; case st_IDENT_1: if (isalpha(ch)) { m_value_s += ch; state = st_IDENT; } else if (isdigit(ch)) { m_value_i = (ch - '0'); state = st_CHAINRESID; } else { --m_p; result = pt_IDENT; } break; case st_CHAINRESID: if (isalpha(ch)) { m_value_s += std::to_string(m_value_i); m_value_s += ch; state = st_IDENT; } else if (isdigit(ch)) m_value_i = 10 * m_value_i + (ch - '0'); else { --m_p; result = pt_CHAINRESID; } break; case st_IDENT: if (isalnum(ch)) m_value_s += ch; else { --m_p; result = pt_IDENT; } break; case st_QUOTED_1: if (ch == '\'') { --m_p; result = '\''; } else { m_value_s = { ch }; state = st_QUOTED_2; } break; case st_QUOTED_2: if (ch == '\'') result = pt_STRING; else if (ch == 0) throw std::runtime_error("Unexpected end of selection, missing quote character?"); else m_value_s += ch; break; } } if (result == pt_IDENT) { if (iequals(m_value_s, "CHAIN")) result = pt_KW_CHAIN; else if (iequals(m_value_s, "ALL")) result = pt_KW_ALL; else if (iequals(m_value_s, "AND")) result = pt_KW_AND; else if (iequals(m_value_s, "OR")) result = pt_KW_OR; else if (iequals(m_value_s, "NOT")) result = pt_KW_NOT; else if (iequals(m_value_s, "RESSEQ")) result = pt_KW_RESSEQ; else if (iequals(m_value_s, "RESID") or iequals(m_value_s, "RESI") or iequals(m_value_s, "RESIDUES")) result = pt_KW_RESID; else if (iequals(m_value_s, "RESNAME")) result = pt_KW_RESNAME; else if (iequals(m_value_s, "PDB")) result = pt_KW_PDB; else if (iequals(m_value_s, "ENTRY")) result = pt_KW_ENTRY; else if (iequals(m_value_s, "THROUGH")) result = pt_KW_THROUGH; } return result; } std::string TLSSelectionParserImplBusterOld::ToString(int token) { switch (token) { case pt_IDENT: return "identifier (" + m_value_s + ')'; case pt_STRING: return "string (" + m_value_s + ')'; case pt_NUMBER: return "number (" + std::to_string(m_value_i) + ')'; case pt_RANGE: return "range (" + std::to_string(m_value_r[0]) + ':' + std::to_string(m_value_r[1]) + ')'; case pt_EOLN: return "end of line"; case pt_KW_ALL: return "ALL"; case pt_KW_CHAIN: return "CHAIN"; case pt_KW_RESSEQ: return "RESSEQ"; case pt_KW_RESID: return "RESID"; case pt_KW_RESNAME: return "RESNAME"; case pt_KW_ELEMENT: return "ELEMENT"; case pt_KW_AND: return "AND"; case pt_KW_OR: return "OR"; case pt_KW_NOT: return "NOT"; case pt_KW_PDB: return "PDB"; case pt_KW_ENTRY: return "ENTRY"; case pt_KW_THROUGH: return "THROUGH"; default: assert(false); return "unknown token"; } } TLSSelectionPtr TLSSelectionParserImplBusterOld::Parse() { if (m_lookahead == pt_KW_PDB) { Match(pt_KW_PDB); // Match(pt_KW_ENTRY); throw std::runtime_error("Unimplemented PDB ENTRY specification"); } TLSSelectionPtr result = ParseAtomSelection(); Match(pt_EOLN); return result; } TLSSelectionPtr TLSSelectionParserImplBusterOld::ParseAtomSelection() { TLSSelectionPtr result = ParseTerm(); while (m_lookahead == pt_KW_OR) { Match(pt_KW_OR); result.reset(new TLSSelectionUnion(result, ParseTerm())); } return result; } TLSSelectionPtr TLSSelectionParserImplBusterOld::ParseTerm() { TLSSelectionPtr result = ParseFactor(); while (m_lookahead == pt_KW_AND) { Match(pt_KW_AND); result.reset(new TLSSelectionIntersection(result, ParseFactor())); } return result; } TLSSelectionPtr TLSSelectionParserImplBusterOld::ParseFactor() { TLSSelectionPtr result; switch (m_lookahead) { case '(': Match('('); result = ParseAtomSelection(); Match(')'); break; case pt_KW_NOT: Match(pt_KW_NOT); result.reset(new TLSSelectionNot(ParseAtomSelection())); break; case pt_KW_CHAIN: { Match(pt_KW_CHAIN); std::string chainID = m_value_s; if (m_lookahead == pt_NUMBER) // sigh { chainID = std::to_string(m_value_i); Match(pt_NUMBER); } else Match(m_lookahead == pt_STRING ? pt_STRING : pt_IDENT); result.reset(new TLSSelectionChain(chainID)); break; } case pt_KW_RESNAME: { Match(pt_KW_RESNAME); std::string name = m_value_s; Match(pt_IDENT); result.reset(new TLSSelectionByName(name)); break; } case pt_KW_RESSEQ: Match(pt_KW_RESSEQ); result = ParseResid(); break; case pt_KW_RESID: Match(pt_KW_RESID); result = ParseResid(); break; case pt_KW_ALL: Match(pt_KW_ALL); result.reset(new TLSSelectionAll()); break; case pt_CHAINRESID: result = ParseChainResid(); break; default: throw std::runtime_error("Unexpected token " + ToString(m_lookahead)); } return result; } TLSSelectionPtr TLSSelectionParserImplBusterOld::ParseResid() { TLSSelectionPtr result; for (;;) { int from, to; if (m_lookahead == pt_RANGE) { from = m_value_r[0]; to = m_value_r[1]; Match(pt_RANGE); } else { from = m_value_i; Match(pt_NUMBER); to = from; if (m_lookahead == ':' or m_lookahead == '-' or m_lookahead == pt_KW_THROUGH) { Match(m_lookahead); to = m_value_i; Match(pt_NUMBER); } } TLSSelectionPtr range(new TLSSelectionRangeSeq(from, to)); if (result) result.reset(new TLSSelectionUnion(result, range)); else result.reset(range.release()); if (m_lookahead == ',') { Match(','); continue; } break; } return result; } TLSSelectionPtr TLSSelectionParserImplBusterOld::ParseChainResid() { TLSSelectionPtr result; for (;;) { int from, to; from = to = m_value_i; std::string chainID = m_value_s; Match(pt_CHAINRESID); if (m_lookahead == '-') { Match(m_lookahead); to = m_value_i; if (m_value_s != chainID) throw std::runtime_error("Cannot have two different chainIDs in a range selection"); Match(pt_CHAINRESID); } TLSSelectionPtr sc(new TLSSelectionChain(chainID)); TLSSelectionPtr sr(new TLSSelectionRangeSeq(from, to)); TLSSelectionPtr range(new TLSSelectionIntersection(sc, sr)); if (result) result.reset(new TLSSelectionUnion(result, range)); else result.reset(range.release()); if (m_lookahead == ',') { Match(','); continue; } break; } return result; } // -------------------------------------------------------------------- class TLSSelectionParserBase { public: virtual TLSSelectionPtr Parse(const std::string& selection) const = 0; virtual ~TLSSelectionParserBase() {} }; template class TLSSelectionParser { public: virtual TLSSelectionPtr Parse(const std::string& selection) const { TLSSelectionPtr result; try { IMPL p(selection); result = p.Parse(); } catch (const std::exception& ex) { std::cerr << "ParseError: " << ex.what() << std::endl; } return result; } }; // -------------------------------------------------------------------- TLSSelectionPtr ParseSelectionDetails(const std::string& program, const std::string& selection) { TLSSelectionParser phenix; TLSSelectionParser buster; TLSSelectionParser busterOld; TLSSelectionPtr result; if (ba::icontains(program, "buster")) { result = buster.Parse(selection); if (not result) { if (cif::VERBOSE) std::cerr << "Falling back to old BUSTER" << std::endl; result = busterOld.Parse(selection); } if (not result) { if (cif::VERBOSE) std::cerr << "Falling back to PHENIX" << std::endl; result = phenix.Parse(selection); } } else if (ba::icontains(program, "phenix")) { result = phenix.Parse(selection); if (not result) { if (cif::VERBOSE) std::cerr << "Falling back to BUSTER" << std::endl; result = buster.Parse(selection); } if (not result) { if (cif::VERBOSE) std::cerr << "Falling back to old BUSTER" << std::endl; result = busterOld.Parse(selection); } } else { if (cif::VERBOSE) std::cerr << "No known program specified, trying PHENIX" << std::endl; result = phenix.Parse(selection); if (not result) { if (cif::VERBOSE) std::cerr << "Falling back to BUSTER" << std::endl; result = buster.Parse(selection); } if (not result) { if (cif::VERBOSE) std::cerr << "Falling back to old BUSTER" << std::endl; result = busterOld.Parse(selection); } } return result; } } libcifpp-2.0.5/src/revision.hpp.in0000664000175000017500000000017514200173347016717 0ustar maartenmaartenconst char kRevision[] = R"( lib@PROJECT_NAME@-version: @PROJECT_VERSION@ @BUILD_VERSION_STRING@ Date: @BUILD_DATE_TIME@ )"; libcifpp-2.0.5/test/0000775000175000017500000000000014200173347014130 5ustar maartenmaartenlibcifpp-2.0.5/test/HEM.cif0000664000175000017500000003476414200173347015242 0ustar maartenmaartendata_HEM # _chem_comp.id HEM _chem_comp.name "PROTOPORPHYRIN IX CONTAINING FE" _chem_comp.type NON-POLYMER _chem_comp.pdbx_type HETAIN _chem_comp.formula "C34 H32 Fe N4 O4" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms HEME _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2020-06-17 _chem_comp.pdbx_ambiguous_flag Y _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces MHM _chem_comp.formula_weight 616.487 _chem_comp.one_letter_code ? _chem_comp.three_letter_code HEM _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details Corina _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code 3IA3 _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site RCSB # # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal HEM CHA CHA C 0 1 N N N 2.748 -19.531 39.896 -2.161 -0.125 0.490 CHA HEM 1 HEM CHB CHB C 0 1 N N N 3.258 -17.744 35.477 1.458 -3.419 0.306 CHB HEM 2 HEM CHC CHC C 0 1 N N N 1.703 -21.900 33.637 4.701 0.169 -0.069 CHC HEM 3 HEM CHD CHD C 0 1 N N N 1.149 -23.677 38.059 1.075 3.460 0.018 CHD HEM 4 HEM C1A C1A C 0 1 Y N N 3.031 -18.673 38.872 -1.436 -1.305 0.380 C1A HEM 5 HEM C2A C2A C 0 1 Y N N 3.578 -17.325 39.013 -2.015 -2.587 0.320 C2A HEM 6 HEM C3A C3A C 0 1 Y N N 3.705 -16.820 37.785 -1.009 -3.500 0.270 C3A HEM 7 HEM C4A C4A C 0 1 Y N N 3.256 -17.863 36.862 0.216 -2.803 0.298 C4A HEM 8 HEM CMA CMA C 0 1 N N N 4.227 -15.469 37.393 -1.175 -4.996 0.197 CMA HEM 9 HEM CAA CAA C 0 1 N N N 3.945 -16.670 40.296 -3.490 -2.893 0.314 CAA HEM 10 HEM CBA CBA C 0 1 N N N 5.391 -17.138 40.581 -3.998 -2.926 -1.129 CBA HEM 11 HEM CGA CGA C 0 1 N N N 6.095 -16.663 41.825 -5.473 -3.232 -1.136 CGA HEM 12 HEM O1A O1A O 0 1 N N N 7.098 -15.928 41.683 -6.059 -3.405 -0.094 O1A HEM 13 HEM O2A O2A O 0 1 N N N 5.657 -17.040 42.940 -6.137 -3.311 -2.300 O2A HEM 14 HEM C1B C1B C 0 1 N N N 2.888 -18.698 34.579 2.664 -2.707 0.308 C1B HEM 15 HEM C2B C2B C 0 1 N N N 2.933 -18.535 33.146 3.937 -3.328 0.418 C2B HEM 16 HEM C3B C3B C 0 1 N N N 2.499 -19.716 32.632 4.874 -2.341 0.314 C3B HEM 17 HEM C4B C4B C 0 1 N N N 2.187 -20.580 33.743 4.117 -1.079 0.139 C4B HEM 18 HEM CMB CMB C 0 1 N N N 3.391 -17.290 32.422 4.203 -4.798 0.613 CMB HEM 19 HEM CAB CAB C 0 1 N N N 2.345 -20.140 31.217 6.339 -2.497 0.365 CAB HEM 20 HEM CBB CBB C 0 1 N N N 1.755 -19.492 30.233 6.935 -3.419 -0.385 CBB HEM 21 HEM C1C C1C C 0 1 Y N N 1.395 -22.786 34.659 3.964 1.345 -0.174 C1C HEM 22 HEM C2C C2C C 0 1 Y N N 0.854 -24.130 34.500 4.531 2.601 -0.445 C2C HEM 23 HEM C3C C3C C 0 1 Y N N 0.689 -24.626 35.757 3.510 3.536 -0.437 C3C HEM 24 HEM C4C C4C C 0 1 Y N N 1.139 -23.583 36.674 2.304 2.846 -0.139 C4C HEM 25 HEM CMC CMC C 0 1 N N N 0.550 -24.782 33.175 5.991 2.880 -0.697 CMC HEM 26 HEM CAC CAC C 0 1 N N N 0.164 -25.943 36.196 3.649 4.981 -0.692 CAC HEM 27 HEM CBC CBC C 0 1 N N N 0.498 -27.158 35.750 4.201 5.407 -1.823 CBC HEM 28 HEM C1D C1D C 0 1 N N N 1.550 -22.718 38.980 -0.102 2.753 0.298 C1D HEM 29 HEM C2D C2D C 0 1 N N N 1.513 -22.879 40.415 -1.382 3.388 0.641 C2D HEM 30 HEM C3D C3D C 0 1 N N N 1.951 -21.691 40.929 -2.283 2.389 0.774 C3D HEM 31 HEM C4D C4D C 0 1 N N N 2.277 -20.826 39.811 -1.561 1.137 0.511 C4D HEM 32 HEM CMD CMD C 0 1 N N N 1.055 -24.094 41.156 -1.639 4.863 0.811 CMD HEM 33 HEM CAD CAD C 0 1 N N N 2.048 -21.326 42.352 -3.741 2.532 1.123 CAD HEM 34 HEM CBD CBD C 0 1 N N N 0.741 -20.498 42.530 -4.573 2.563 -0.160 CBD HEM 35 HEM CGD CGD C 0 1 N N N 0.578 -19.987 43.892 -6.032 2.706 0.189 CGD HEM 36 HEM O1D O1D O 0 1 N N N 1.387 -19.103 44.303 -6.372 2.776 1.347 O1D HEM 37 HEM O2D O2D O 0 1 N N N -0.401 -20.468 44.537 -6.954 2.755 -0.785 O2D HEM 38 HEM NA NA N 0 1 Y N N 2.863 -18.969 37.554 -0.068 -1.456 0.321 NA HEM 39 HEM NB NB N 0 1 N N N 2.439 -19.944 34.911 2.820 -1.386 0.207 NB HEM 40 HEM NC NC N 0 1 Y N N 1.537 -22.509 35.976 2.604 1.506 -0.033 NC HEM 41 HEM ND ND N 0 1 N N N 2.008 -21.465 38.663 -0.276 1.431 0.298 ND HEM 42 HEM FE FE FE 0 0 N N N 2.196 -20.749 36.814 1.010 0.157 -0.060 FE HEM 43 HEM HHB HHB H 0 1 N N N 3.587 -16.798 35.072 1.498 -4.508 0.309 HHB HEM 44 HEM HHC HHC H 0 1 N N N 1.553 -22.268 32.633 5.786 0.229 -0.153 HHC HEM 45 HEM HHD HHD H 0 1 N N N 0.802 -24.613 38.472 1.018 4.543 -0.083 HHD HEM 46 HEM HMA HMA H 0 1 N N N 5.316 -15.524 37.249 -1.220 -5.306 -0.847 HMA HEM 47 HEM HMAA HMAA H 0 0 N N N 3.749 -15.149 36.455 -0.328 -5.480 0.683 HMAA HEM 48 HEM HMAB HMAB H 0 0 N N N 3.998 -14.743 38.187 -2.097 -5.285 0.702 HMAB HEM 49 HEM HAA HAA H 0 1 N N N 3.905 -15.575 40.197 -3.662 -3.862 0.782 HAA HEM 50 HEM HAAA HAAA H 0 0 N N N 3.268 -16.991 41.102 -4.024 -2.121 0.869 HAAA HEM 51 HEM HBA HBA H 0 1 N N N 5.368 -18.237 40.627 -3.825 -1.956 -1.597 HBA HEM 52 HEM HBAA HBAA H 0 0 N N N 6.004 -16.819 39.725 -3.464 -3.697 -1.684 HBAA HEM 53 HEM HMB HMB H 0 1 N N N 3.319 -17.449 31.336 3.256 -5.336 0.660 HMB HEM 54 HEM HMBA HMBA H 0 0 N N N 2.753 -16.442 32.711 4.794 -5.175 -0.222 HMBA HEM 55 HEM HMBB HMBB H 0 0 N N N 4.435 -17.072 32.692 4.752 -4.948 1.543 HMBB HEM 56 HEM HAB HAB H 0 1 N N N 2.770 -21.100 30.963 6.927 -1.863 1.011 HAB HEM 57 HEM HBB HBB H 0 1 N N N 1.719 -19.927 29.245 7.994 -3.600 -0.277 HBB HEM 58 HEM HBBA HBBA H 0 0 N N N 1.308 -18.526 30.414 6.360 -3.987 -1.102 HBBA HEM 59 HEM HMC HMC H 0 1 N N N 0.153 -25.793 33.346 6.554 1.949 -0.639 HMC HEM 60 HEM HMCA HMCA H 0 0 N N N -0.196 -24.182 32.634 6.110 3.316 -1.689 HMCA HEM 61 HEM HMCB HMCB H 0 0 N N N 1.472 -24.846 32.578 6.362 3.578 0.053 HMCB HEM 62 HEM HAC HAC H 0 1 N N N -0.583 -25.916 36.975 3.303 5.694 0.042 HAC HEM 63 HEM HBC HBC H 0 1 N N N 0.027 -28.035 36.169 4.614 4.696 -2.523 HBC HEM 64 HEM HBCA HBCA H 0 0 N N N 1.239 -27.263 34.971 4.235 6.464 -2.043 HBCA HEM 65 HEM HMD HMD H 0 1 N N N 1.142 -23.919 42.238 -0.715 5.415 0.639 HMD HEM 66 HEM HMDA HMDA H 0 0 N N N 0.006 -24.304 40.902 -2.394 5.185 0.094 HMDA HEM 67 HEM HMDB HMDB H 0 0 N N N 1.680 -24.954 40.872 -1.994 5.055 1.824 HMDB HEM 68 HEM HAD HAD H 0 1 N N N 2.055 -22.216 42.999 -4.052 1.687 1.738 HAD HEM 69 HEM HADA HADA H 0 0 N N N 2.943 -20.719 42.554 -3.893 3.459 1.677 HADA HEM 70 HEM HBD HBD H 0 1 N N N 0.767 -19.646 41.835 -4.262 3.408 -0.775 HBD HEM 71 HEM HBDA HBDA H 0 0 N N N -0.119 -21.141 42.290 -4.421 1.636 -0.714 HBDA HEM 72 HEM H2A H2A H 0 1 N N N 6.201 -16.682 43.632 -7.082 -3.510 -2.254 H2A HEM 73 HEM H2D H2D H 0 1 N N N -0.445 -20.063 45.395 -7.877 2.847 -0.512 H2D HEM 74 HEM HHA HHA H 0 1 N N N 2.913 -19.150 40.893 -3.246 -0.188 0.567 HHA HEM 75 # # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal HEM CHA C1A SING N N 1 HEM CHA C4D DOUB N N 2 HEM CHA HHA SING N N 3 HEM CHB C4A SING N N 4 HEM CHB C1B DOUB N N 5 HEM CHB HHB SING N N 6 HEM CHC C4B SING N N 7 HEM CHC C1C DOUB N N 8 HEM CHC HHC SING N N 9 HEM CHD C4C DOUB N N 10 HEM CHD C1D SING N N 11 HEM CHD HHD SING N N 12 HEM C1A C2A DOUB Y N 13 HEM C1A NA SING Y N 14 HEM C2A C3A SING Y N 15 HEM C2A CAA SING N N 16 HEM C3A C4A DOUB Y N 17 HEM C3A CMA SING N N 18 HEM C4A NA SING Y N 19 HEM CMA HMA SING N N 20 HEM CMA HMAA SING N N 21 HEM CMA HMAB SING N N 22 HEM CAA CBA SING N N 23 HEM CAA HAA SING N N 24 HEM CAA HAAA SING N N 25 HEM CBA CGA SING N N 26 HEM CBA HBA SING N N 27 HEM CBA HBAA SING N N 28 HEM CGA O1A DOUB N N 29 HEM CGA O2A SING N N 30 HEM C1B C2B SING N N 31 HEM C1B NB SING N N 32 HEM C2B C3B DOUB N N 33 HEM C2B CMB SING N N 34 HEM C3B C4B SING N N 35 HEM C3B CAB SING N N 36 HEM C4B NB DOUB N N 37 HEM CMB HMB SING N N 38 HEM CMB HMBA SING N N 39 HEM CMB HMBB SING N N 40 HEM CAB CBB DOUB N N 41 HEM CAB HAB SING N N 42 HEM CBB HBB SING N N 43 HEM CBB HBBA SING N N 44 HEM C1C C2C SING Y N 45 HEM C1C NC SING Y N 46 HEM C2C C3C DOUB Y N 47 HEM C2C CMC SING N N 48 HEM C3C C4C SING Y N 49 HEM C3C CAC SING N N 50 HEM C4C NC SING Y N 51 HEM CMC HMC SING N N 52 HEM CMC HMCA SING N N 53 HEM CMC HMCB SING N N 54 HEM CAC CBC DOUB N N 55 HEM CAC HAC SING N N 56 HEM CBC HBC SING N N 57 HEM CBC HBCA SING N N 58 HEM C1D C2D SING N N 59 HEM C1D ND DOUB N N 60 HEM C2D C3D DOUB N N 61 HEM C2D CMD SING N N 62 HEM C3D C4D SING N N 63 HEM C3D CAD SING N N 64 HEM C4D ND SING N N 65 HEM CMD HMD SING N N 66 HEM CMD HMDA SING N N 67 HEM CMD HMDB SING N N 68 HEM CAD CBD SING N N 69 HEM CAD HAD SING N N 70 HEM CAD HADA SING N N 71 HEM CBD CGD SING N N 72 HEM CBD HBD SING N N 73 HEM CBD HBDA SING N N 74 HEM CGD O1D DOUB N N 75 HEM CGD O2D SING N N 76 HEM O2A H2A SING N N 77 HEM O2D H2D SING N N 78 HEM FE NA SING N N 79 HEM FE NB SING N N 80 HEM FE NC SING N N 81 HEM FE ND SING N N 82 # # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor HEM SMILES ACDLabs 12.01 "C=1c3c(c(c4C=C5C(=C(C=6C=C7C(=C(C8=CC=2C(=C(C=1N=2[Fe](n34)(N5=6)N78)CCC(=O)O)C)\C=C)C)\C=C)C)C)CCC(=O)O" HEM InChI InChI 1.03 "InChI=1S/C34H34N4O4.Fe/c1-7-21-17(3)25-13-26-19(5)23(9-11-33(39)40)31(37-26)16-32-24(10-12-34(41)42)20(6)28(38-32)15-30-22(8-2)18(4)27(36-30)14-29(21)35-25;/h7-8,13-16H,1-2,9-12H2,3-6H3,(H4,35,36,37,38,39,40,41,42);/q;+2/p-2/b25-13-,26-13-,27-14-,28-15-,29-14-,30-15-,31-16-,32-16-;" HEM InChIKey InChI 1.03 KABFMIBPWCXCRK-RGGAHWMASA-L HEM SMILES_CANONICAL CACTVS 3.385 "CC1=C(CCC(O)=O)C2=Cc3n4[Fe]5|6|N2=C1C=c7n5c(=CC8=N|6C(=Cc4c(C)c3CCC(O)=O)C(=C8C=C)C)c(C)c7C=C" HEM SMILES CACTVS 3.385 "CC1=C(CCC(O)=O)C2=Cc3n4[Fe]5|6|N2=C1C=c7n5c(=CC8=N|6C(=Cc4c(C)c3CCC(O)=O)C(=C8C=C)C)c(C)c7C=C" HEM SMILES_CANONICAL "OpenEye OEToolkits" 1.7.6 "Cc1c2n3c(c1CCC(=O)O)C=C4C(=C(C5=[N]4[Fe]36[N]7=C(C=C8N6C(=C5)C(=C8C)C=C)C(=C(C7=C2)C)C=C)C)CCC(=O)O" HEM SMILES "OpenEye OEToolkits" 1.7.6 "Cc1c2n3c(c1CCC(=O)O)C=C4C(=C(C5=[N]4[Fe]36[N]7=C(C=C8N6C(=C5)C(=C8C)C=C)C(=C(C7=C2)C)C=C)C)CCC(=O)O" # # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier HEM "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.6.1 "3-[(5Z,10Z,14Z,19Z)-18-(2-carboxyethyl)-8,13-bis(ethenyl)-3,7,12,17-tetramethyl-21,23-dihydroporphyrin-2-yl]propanoic acid" HEM "SYSTEMATIC NAME" ACDLabs 12.01 "[3,3'-(7,12-diethenyl-3,8,13,17-tetramethylporphyrin-2,18-diyl-kappa~4~N~21~,N~22~,N~23~,N~24~)dipropanoato(2-)]iron" # # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site HEM "Create component" 1999-07-08 RCSB HEM "Other modification" 2016-01-20 RCSB HEM "Modify synonyms" 2020-06-05 PDBE # _pdbx_chem_comp_synonyms.ordinal 1 _pdbx_chem_comp_synonyms.comp_id HEM _pdbx_chem_comp_synonyms.name HEME _pdbx_chem_comp_synonyms.provenance ? _pdbx_chem_comp_synonyms.type ? ## libcifpp-2.0.5/test/REA.cif0000664000175000017500000002321014200173347015220 0ustar maartenmaartendata_REA # _chem_comp.id REA _chem_comp.name "RETINOIC ACID" _chem_comp.type NON-POLYMER _chem_comp.pdbx_type HETAIN _chem_comp.formula "C20 H28 O2" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2016-10-18 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces 3KV _chem_comp.formula_weight 300.435 _chem_comp.one_letter_code ? _chem_comp.three_letter_code REA _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details Corina _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code 1CBS _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site RCSB # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal REA C1 C1 C 0 1 N N N 21.972 29.831 16.739 -4.684 0.932 -0.497 C1 REA 1 REA C2 C2 C 0 1 N N N 20.921 30.524 15.841 -5.837 0.190 -1.176 C2 REA 2 REA C3 C3 C 0 1 N N N 20.245 29.635 14.848 -6.441 -0.798 -0.171 C3 REA 3 REA C4 C4 C 0 1 N N N 19.555 28.479 15.488 -5.418 -1.903 0.100 C4 REA 4 REA C5 C5 C 0 1 N N N 20.389 27.812 16.587 -4.082 -1.301 0.429 C5 REA 5 REA C6 C6 C 0 1 N N N 21.425 28.446 17.218 -3.756 -0.048 0.161 C6 REA 6 REA C7 C7 C 0 1 N N N 22.242 27.851 18.297 -2.457 0.396 0.516 C7 REA 7 REA C8 C8 C 0 1 N N N 21.868 26.977 19.240 -1.363 -0.229 0.007 C8 REA 8 REA C9 C9 C 0 1 N N N 22.705 26.434 20.286 -0.076 0.257 0.298 C9 REA 9 REA C10 C10 C 0 1 N N N 22.159 25.536 21.131 1.022 -0.370 -0.213 C10 REA 10 REA C11 C11 C 0 1 N N N 22.875 24.924 22.234 2.306 0.115 0.077 C11 REA 11 REA C12 C12 C 0 1 N N N 22.237 24.026 22.990 3.405 -0.513 -0.435 C12 REA 12 REA C13 C13 C 0 1 N N N 22.856 23.377 24.125 4.689 -0.028 -0.144 C13 REA 13 REA C14 C14 C 0 1 N N N 22.135 22.473 24.834 5.787 -0.655 -0.656 C14 REA 14 REA C15 C15 C 0 1 N N N 22.563 21.710 26.016 7.077 -0.265 -0.244 C15 REA 15 REA C16 C16 C 0 1 N N N 22.238 30.737 17.948 -5.246 1.886 0.559 C16 REA 16 REA C17 C17 C 0 1 N N N 23.292 29.620 15.948 -3.911 1.737 -1.544 C17 REA 17 REA C18 C18 C 0 1 N N N 19.791 26.449 16.947 -3.056 -2.175 1.103 C18 REA 18 REA C19 C19 C 0 1 N N N 24.181 26.841 20.385 0.090 1.471 1.175 C19 REA 19 REA C20 C20 C 0 1 N N N 24.303 23.747 24.489 4.855 1.186 0.733 C20 REA 20 REA O1 O1 O 0 1 N N N 23.640 21.075 25.978 7.210 0.553 0.648 O1 REA 21 REA O2 O2 O 0 1 N N N 21.840 21.712 27.037 8.166 -0.798 -0.840 O2 REA 22 REA H21 H21 H 0 1 N N N 20.147 30.955 16.494 -6.598 0.905 -1.490 H21 REA 23 REA H22 H22 H 0 1 N N N 21.425 31.330 15.288 -5.462 -0.353 -2.044 H22 REA 24 REA H31 H31 H 0 1 N N N 19.501 30.227 14.295 -6.673 -0.278 0.759 H31 REA 25 REA H32 H32 H 0 1 N N N 21.001 29.250 14.148 -7.349 -1.234 -0.586 H32 REA 26 REA H41 H41 H 0 1 N N N 18.613 28.835 15.931 -5.756 -2.511 0.938 H41 REA 27 REA H42 H42 H 0 1 N N N 19.335 27.730 14.713 -5.322 -2.531 -0.786 H42 REA 28 REA H7 H7 H 0 1 N N N 23.276 28.162 18.329 -2.337 1.230 1.191 H7 REA 29 REA H8 H8 H 0 1 N N N 20.840 26.645 19.217 -1.482 -1.100 -0.622 H8 REA 30 REA H10 H10 H 0 1 N N N 21.127 25.256 20.977 0.903 -1.241 -0.842 H10 REA 31 REA H11 H11 H 0 1 N N N 23.902 25.189 22.440 2.425 0.985 0.706 H11 REA 32 REA H12 H12 H 0 1 N N N 21.216 23.774 22.743 3.286 -1.383 -1.063 H12 REA 33 REA H14 H14 H 0 1 N N N 21.127 22.292 24.490 5.667 -1.451 -1.376 H14 REA 34 REA H161 H161 H 0 0 N N N 22.984 30.265 18.604 -5.802 1.316 1.303 H161 REA 35 REA H162 H162 H 0 0 N N N 22.618 31.709 17.601 -4.426 2.415 1.044 H162 REA 36 REA H163 H163 H 0 0 N N N 21.302 30.887 18.506 -5.911 2.605 0.081 H163 REA 37 REA H171 H171 H 0 0 N N N 24.033 29.127 16.595 -4.598 2.394 -2.077 H171 REA 38 REA H172 H172 H 0 0 N N N 23.095 28.989 15.069 -3.146 2.335 -1.050 H172 REA 39 REA H173 H173 H 0 0 N N N 23.683 30.595 15.620 -3.439 1.054 -2.251 H173 REA 40 REA H181 H181 H 0 0 N N N 20.397 25.979 17.736 -3.448 -3.187 1.201 H181 REA 41 REA H182 H182 H 0 0 N N N 18.761 26.584 17.308 -2.145 -2.194 0.503 H182 REA 42 REA H183 H183 H 0 0 N N N 19.786 25.804 16.056 -2.831 -1.775 2.092 H183 REA 43 REA H191 H191 H 0 0 N N N 24.647 26.327 21.238 0.171 1.159 2.216 H191 REA 44 REA H192 H192 H 0 0 N N N 24.702 26.559 19.458 0.993 2.008 0.885 H192 REA 45 REA H193 H193 H 0 0 N N N 24.252 27.929 20.529 -0.774 2.125 1.058 H193 REA 46 REA H201 H201 H 0 0 N N N 24.620 23.168 25.369 5.026 0.871 1.762 H201 REA 47 REA H202 H202 H 0 0 N N N 24.965 23.516 23.641 5.707 1.771 0.386 H202 REA 48 REA H203 H203 H 0 0 N N N 24.360 24.822 24.717 3.952 1.795 0.685 H203 REA 49 REA HO2 HO2 H 0 1 N N N 22.244 21.180 27.713 9.006 -0.469 -0.490 HO2 REA 50 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal REA C1 C2 SING N N 1 REA C1 C6 SING N N 2 REA C1 C16 SING N N 3 REA C1 C17 SING N N 4 REA C2 C3 SING N N 5 REA C2 H21 SING N N 6 REA C2 H22 SING N N 7 REA C3 C4 SING N N 8 REA C3 H31 SING N N 9 REA C3 H32 SING N N 10 REA C4 C5 SING N N 11 REA C4 H41 SING N N 12 REA C4 H42 SING N N 13 REA C5 C6 DOUB N N 14 REA C5 C18 SING N N 15 REA C6 C7 SING N N 16 REA C7 C8 DOUB N E 17 REA C7 H7 SING N N 18 REA C8 C9 SING N N 19 REA C8 H8 SING N N 20 REA C9 C10 DOUB N E 21 REA C9 C19 SING N N 22 REA C10 C11 SING N N 23 REA C10 H10 SING N N 24 REA C11 C12 DOUB N E 25 REA C11 H11 SING N N 26 REA C12 C13 SING N N 27 REA C12 H12 SING N N 28 REA C13 C14 DOUB N E 29 REA C13 C20 SING N N 30 REA C14 C15 SING N N 31 REA C14 H14 SING N N 32 REA C15 O1 DOUB N N 33 REA C15 O2 SING N N 34 REA C16 H161 SING N N 35 REA C16 H162 SING N N 36 REA C16 H163 SING N N 37 REA C17 H171 SING N N 38 REA C17 H172 SING N N 39 REA C17 H173 SING N N 40 REA C18 H181 SING N N 41 REA C18 H182 SING N N 42 REA C18 H183 SING N N 43 REA C19 H191 SING N N 44 REA C19 H192 SING N N 45 REA C19 H193 SING N N 46 REA C20 H201 SING N N 47 REA C20 H202 SING N N 48 REA C20 H203 SING N N 49 REA O2 HO2 SING N N 50 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor REA SMILES ACDLabs 12.01 "C1(CCCC(=C1\C=C\C(=C\C=C\C(=C\C(=O)O)C)C)C)(C)C" REA InChI InChI 1.03 "InChI=1S/C20H28O2/c1-15(8-6-9-16(2)14-19(21)22)11-12-18-17(3)10-7-13-20(18,4)5/h6,8-9,11-12,14H,7,10,13H2,1-5H3,(H,21,22)/b9-6+,12-11+,15-8+,16-14+" REA InChIKey InChI 1.03 SHGAZHPCJJPHSC-YCNIQYBTSA-N REA SMILES_CANONICAL CACTVS 3.385 "CC1=C(\C=C\C(C)=C\C=C\C(C)=C\C(O)=O)C(C)(C)CCC1" REA SMILES CACTVS 3.385 "CC1=C(C=CC(C)=CC=CC(C)=CC(O)=O)C(C)(C)CCC1" REA SMILES_CANONICAL "OpenEye OEToolkits" 1.7.6 "CC1=C(C(CCC1)(C)C)/C=C/C(=C/C=C/C(=C/C(=O)O)/C)/C" REA SMILES "OpenEye OEToolkits" 1.7.6 "CC1=C(C(CCC1)(C)C)C=CC(=CC=CC(=CC(=O)O)C)C" # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier REA "SYSTEMATIC NAME" ACDLabs 12.01 "retinoic acid" REA "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.7.6 "(2E,4E,6E,8E)-3,7-dimethyl-9-(2,6,6-trimethylcyclohexen-1-yl)nona-2,4,6,8-tetraenoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site REA "Create component" 1999-07-08 RCSB REA "Modify descriptor" 2011-06-04 RCSB REA "Other modification" 2016-10-18 RCSB # libcifpp-2.0.5/test/RXA.cif0000664000175000017500000002322114200173347015245 0ustar maartenmaartendata_RXA # _chem_comp.id RXA _chem_comp.name "RENAMED RETINOIC ACID" _chem_comp.type NON-POLYMER _chem_comp.pdbx_type HETAIN _chem_comp.formula "C20 H28 O2" _chem_comp.mon_nstd_parent_comp_id ? _chem_comp.pdbx_synonyms ? _chem_comp.pdbx_formal_charge 0 _chem_comp.pdbx_initial_date 1999-07-08 _chem_comp.pdbx_modified_date 2016-10-18 _chem_comp.pdbx_ambiguous_flag N _chem_comp.pdbx_release_status REL _chem_comp.pdbx_replaced_by ? _chem_comp.pdbx_replaces 3KV _chem_comp.formula_weight 300.435 _chem_comp.one_letter_code ? _chem_comp.three_letter_code RXA _chem_comp.pdbx_model_coordinates_details ? _chem_comp.pdbx_model_coordinates_missing_flag N _chem_comp.pdbx_ideal_coordinates_details Corina _chem_comp.pdbx_ideal_coordinates_missing_flag N _chem_comp.pdbx_model_coordinates_db_code 1CBS _chem_comp.pdbx_subcomponent_list ? _chem_comp.pdbx_processing_site RCSB # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge _chem_comp_atom.pdbx_align _chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag _chem_comp_atom.pdbx_stereo_config _chem_comp_atom.model_Cartn_x _chem_comp_atom.model_Cartn_y _chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal _chem_comp_atom.pdbx_component_atom_id _chem_comp_atom.pdbx_component_comp_id _chem_comp_atom.pdbx_ordinal RXA C1 C1 C 0 1 N N N 21.972 29.831 16.739 -4.684 0.932 -0.497 C1 RXA 1 RXA C2 C2 C 0 1 N N N 20.921 30.524 15.841 -5.837 0.190 -1.176 C2 RXA 2 RXA C3 C3 C 0 1 N N N 20.245 29.635 14.848 -6.441 -0.798 -0.171 C3 RXA 3 RXA C4 C4 C 0 1 N N N 19.555 28.479 15.488 -5.418 -1.903 0.100 C4 RXA 4 RXA C5 C5 C 0 1 N N N 20.389 27.812 16.587 -4.082 -1.301 0.429 C5 RXA 5 RXA C6 C6 C 0 1 N N N 21.425 28.446 17.218 -3.756 -0.048 0.161 C6 RXA 6 RXA C7 C7 C 0 1 N N N 22.242 27.851 18.297 -2.457 0.396 0.516 C7 RXA 7 RXA C8 C8 C 0 1 N N N 21.868 26.977 19.240 -1.363 -0.229 0.007 C8 RXA 8 RXA C9 C9 C 0 1 N N N 22.705 26.434 20.286 -0.076 0.257 0.298 C9 RXA 9 RXA C10 C10 C 0 1 N N N 22.159 25.536 21.131 1.022 -0.370 -0.213 C10 RXA 10 RXA C11 C11 C 0 1 N N N 22.875 24.924 22.234 2.306 0.115 0.077 C11 RXA 11 RXA C12 C12 C 0 1 N N N 22.237 24.026 22.990 3.405 -0.513 -0.435 C12 RXA 12 RXA C13 C13 C 0 1 N N N 22.856 23.377 24.125 4.689 -0.028 -0.144 C13 RXA 13 RXA C14 C14 C 0 1 N N N 22.135 22.473 24.834 5.787 -0.655 -0.656 C14 RXA 14 RXA C15 C15 C 0 1 N N N 22.563 21.710 26.016 7.077 -0.265 -0.244 C15 RXA 15 RXA C16 C16 C 0 1 N N N 22.238 30.737 17.948 -5.246 1.886 0.559 C16 RXA 16 RXA C17 C17 C 0 1 N N N 23.292 29.620 15.948 -3.911 1.737 -1.544 C17 RXA 17 RXA C18 C18 C 0 1 N N N 19.791 26.449 16.947 -3.056 -2.175 1.103 C18 RXA 18 RXA C19 C19 C 0 1 N N N 24.181 26.841 20.385 0.090 1.471 1.175 C19 RXA 19 RXA C20 C20 C 0 1 N N N 24.303 23.747 24.489 4.855 1.186 0.733 C20 RXA 20 RXA O1 O1 O 0 1 N N N 23.640 21.075 25.978 7.210 0.553 0.648 O1 RXA 21 RXA O2 O2 O 0 1 N N N 21.840 21.712 27.037 8.166 -0.798 -0.840 O2 RXA 22 RXA H21 H21 H 0 1 N N N 20.147 30.955 16.494 -6.598 0.905 -1.490 H21 RXA 23 RXA H22 H22 H 0 1 N N N 21.425 31.330 15.288 -5.462 -0.353 -2.044 H22 RXA 24 RXA H31 H31 H 0 1 N N N 19.501 30.227 14.295 -6.673 -0.278 0.759 H31 RXA 25 RXA H32 H32 H 0 1 N N N 21.001 29.250 14.148 -7.349 -1.234 -0.586 H32 RXA 26 RXA H41 H41 H 0 1 N N N 18.613 28.835 15.931 -5.756 -2.511 0.938 H41 RXA 27 RXA H42 H42 H 0 1 N N N 19.335 27.730 14.713 -5.322 -2.531 -0.786 H42 RXA 28 RXA H7 H7 H 0 1 N N N 23.276 28.162 18.329 -2.337 1.230 1.191 H7 RXA 29 RXA H8 H8 H 0 1 N N N 20.840 26.645 19.217 -1.482 -1.100 -0.622 H8 RXA 30 RXA H10 H10 H 0 1 N N N 21.127 25.256 20.977 0.903 -1.241 -0.842 H10 RXA 31 RXA H11 H11 H 0 1 N N N 23.902 25.189 22.440 2.425 0.985 0.706 H11 RXA 32 RXA H12 H12 H 0 1 N N N 21.216 23.774 22.743 3.286 -1.383 -1.063 H12 RXA 33 RXA H14 H14 H 0 1 N N N 21.127 22.292 24.490 5.667 -1.451 -1.376 H14 RXA 34 RXA H161 H161 H 0 0 N N N 22.984 30.265 18.604 -5.802 1.316 1.303 H161 RXA 35 RXA H162 H162 H 0 0 N N N 22.618 31.709 17.601 -4.426 2.415 1.044 H162 RXA 36 RXA H163 H163 H 0 0 N N N 21.302 30.887 18.506 -5.911 2.605 0.081 H163 RXA 37 RXA H171 H171 H 0 0 N N N 24.033 29.127 16.595 -4.598 2.394 -2.077 H171 RXA 38 RXA H172 H172 H 0 0 N N N 23.095 28.989 15.069 -3.146 2.335 -1.050 H172 RXA 39 RXA H173 H173 H 0 0 N N N 23.683 30.595 15.620 -3.439 1.054 -2.251 H173 RXA 40 RXA H181 H181 H 0 0 N N N 20.397 25.979 17.736 -3.448 -3.187 1.201 H181 RXA 41 RXA H182 H182 H 0 0 N N N 18.761 26.584 17.308 -2.145 -2.194 0.503 H182 RXA 42 RXA H183 H183 H 0 0 N N N 19.786 25.804 16.056 -2.831 -1.775 2.092 H183 RXA 43 RXA H191 H191 H 0 0 N N N 24.647 26.327 21.238 0.171 1.159 2.216 H191 RXA 44 RXA H192 H192 H 0 0 N N N 24.702 26.559 19.458 0.993 2.008 0.885 H192 RXA 45 RXA H193 H193 H 0 0 N N N 24.252 27.929 20.529 -0.774 2.125 1.058 H193 RXA 46 RXA H201 H201 H 0 0 N N N 24.620 23.168 25.369 5.026 0.871 1.762 H201 RXA 47 RXA H202 H202 H 0 0 N N N 24.965 23.516 23.641 5.707 1.771 0.386 H202 RXA 48 RXA H203 H203 H 0 0 N N N 24.360 24.822 24.717 3.952 1.795 0.685 H203 RXA 49 RXA HO2 HO2 H 0 1 N N N 22.244 21.180 27.713 9.006 -0.469 -0.490 HO2 RXA 50 # loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal RXA C1 C2 SING N N 1 RXA C1 C6 SING N N 2 RXA C1 C16 SING N N 3 RXA C1 C17 SING N N 4 RXA C2 C3 SING N N 5 RXA C2 H21 SING N N 6 RXA C2 H22 SING N N 7 RXA C3 C4 SING N N 8 RXA C3 H31 SING N N 9 RXA C3 H32 SING N N 10 RXA C4 C5 SING N N 11 RXA C4 H41 SING N N 12 RXA C4 H42 SING N N 13 RXA C5 C6 DOUB N N 14 RXA C5 C18 SING N N 15 RXA C6 C7 SING N N 16 RXA C7 C8 DOUB N E 17 RXA C7 H7 SING N N 18 RXA C8 C9 SING N N 19 RXA C8 H8 SING N N 20 RXA C9 C10 DOUB N E 21 RXA C9 C19 SING N N 22 RXA C10 C11 SING N N 23 RXA C10 H10 SING N N 24 RXA C11 C12 DOUB N E 25 RXA C11 H11 SING N N 26 RXA C12 C13 SING N N 27 RXA C12 H12 SING N N 28 RXA C13 C14 DOUB N E 29 RXA C13 C20 SING N N 30 RXA C14 C15 SING N N 31 RXA C14 H14 SING N N 32 RXA C15 O1 DOUB N N 33 RXA C15 O2 SING N N 34 RXA C16 H161 SING N N 35 RXA C16 H162 SING N N 36 RXA C16 H163 SING N N 37 RXA C17 H171 SING N N 38 RXA C17 H172 SING N N 39 RXA C17 H173 SING N N 40 RXA C18 H181 SING N N 41 RXA C18 H182 SING N N 42 RXA C18 H183 SING N N 43 RXA C19 H191 SING N N 44 RXA C19 H192 SING N N 45 RXA C19 H193 SING N N 46 RXA C20 H201 SING N N 47 RXA C20 H202 SING N N 48 RXA C20 H203 SING N N 49 RXA O2 HO2 SING N N 50 # loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor RXA SMILES ACDLabs 12.01 "C1(CCCC(=C1\C=C\C(=C\C=C\C(=C\C(=O)O)C)C)C)(C)C" RXA InChI InChI 1.03 "InChI=1S/C20H28O2/c1-15(8-6-9-16(2)14-19(21)22)11-12-18-17(3)10-7-13-20(18,4)5/h6,8-9,11-12,14H,7,10,13H2,1-5H3,(H,21,22)/b9-6+,12-11+,15-8+,16-14+" RXA InChIKey InChI 1.03 SHGAZHPCJJPHSC-YCNIQYBTSA-N RXA SMILES_CANONICAL CACTVS 3.385 "CC1=C(\C=C\C(C)=C\C=C\C(C)=C\C(O)=O)C(C)(C)CCC1" RXA SMILES CACTVS 3.385 "CC1=C(C=CC(C)=CC=CC(C)=CC(O)=O)C(C)(C)CCC1" RXA SMILES_CANONICAL "OpenEye OEToolkits" 1.7.6 "CC1=C(C(CCC1)(C)C)/C=C/C(=C/C=C/C(=C/C(=O)O)/C)/C" RXA SMILES "OpenEye OEToolkits" 1.7.6 "CC1=C(C(CCC1)(C)C)C=CC(=CC=CC(=CC(=O)O)C)C" # loop_ _pdbx_chem_comp_identifier.comp_id _pdbx_chem_comp_identifier.type _pdbx_chem_comp_identifier.program _pdbx_chem_comp_identifier.program_version _pdbx_chem_comp_identifier.identifier RXA "SYSTEMATIC NAME" ACDLabs 12.01 "retinoic acid" RXA "SYSTEMATIC NAME" "OpenEye OEToolkits" 1.7.6 "(2E,4E,6E,8E)-3,7-dimethyl-9-(2,6,6-trimethylcyclohexen-1-yl)nona-2,4,6,8-tetraenoic acid" # loop_ _pdbx_chem_comp_audit.comp_id _pdbx_chem_comp_audit.action_type _pdbx_chem_comp_audit.date _pdbx_chem_comp_audit.processing_site RXA "Create component" 1999-07-08 RCSB RXA "Modify descriptor" 2011-06-04 RCSB RXA "Other modification" 2016-10-18 RCSB # libcifpp-2.0.5/test/UN_.cif0000664000175000017500000001452714200173347015305 0ustar maartenmaarten# data_comp_list loop_ _chem_comp.id _chem_comp.three_letter_code _chem_comp.name _chem_comp.group _chem_comp.number_atoms_all _chem_comp.number_atoms_nh _chem_comp.desc_level UN_ UN_ UN_NINE L-peptide 13 6 . # data_comp_UN_ # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.type_symbol _chem_comp_atom.type_energy _chem_comp_atom.charge _chem_comp_atom.x _chem_comp_atom.y _chem_comp_atom.z UN_ N N NT3 1 0.227 -1.259 0.452 UN_ H H H 0 0.069 -1.019 1.421 UN_ H2 H H 0 1.104 -1.640 0.356 UN_ H3 H H 0 -0.424 -1.909 0.174 UN_ CA C CH1 0 0.103 -0.030 -0.392 UN_ HA H H 0 0.160 -0.299 -1.339 UN_ CB C CH3 0 -1.244 0.625 -0.159 UN_ HB3 H H 0 -1.857 -0.018 0.234 UN_ HB2 H H 0 -1.605 0.932 -1.008 UN_ HB1 H H 0 -1.150 1.385 0.442 UN_ C C C 0 1.270 0.922 -0.094 UN_ O O O 0 2.008 1.323 -0.994 UN_ OXT O OC -1 1.498 1.305 1.054 loop_ _chem_comp_tree.comp_id _chem_comp_tree.atom_id _chem_comp_tree.atom_back _chem_comp_tree.atom_forward _chem_comp_tree.connect_type UN_ N n/a CA START UN_ H N . . UN_ H2 N . . UN_ H3 N . . UN_ CA N C . UN_ HA CA . . UN_ CB CA HB3 . UN_ HB1 CB . . UN_ HB2 CB . . UN_ HB3 CB . . UN_ C CA . END UN_ O C . . UN_ OXT C . . loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.type _chem_comp_bond.aromatic _chem_comp_bond.value_dist _chem_comp_bond.value_dist_esd UN_ CB CA SINGLE n 1.509 0.014 UN_ CA C SINGLE n 1.533 0.011 UN_ C O DOUBLE n 1.247 0.019 UN_ C OXT SINGLE n 1.247 0.019 UN_ CA N SINGLE n 1.482 0.010 UN_ CB HB3 SINGLE n 0.972 0.015 UN_ CB HB2 SINGLE n 0.972 0.015 UN_ CB HB1 SINGLE n 0.972 0.015 UN_ CA HA SINGLE n 0.986 0.020 UN_ N H SINGLE n 0.911 0.020 UN_ N H2 SINGLE n 0.911 0.020 UN_ N H3 SINGLE n 0.911 0.020 loop_ _chem_comp_angle.comp_id _chem_comp_angle.atom_id_1 _chem_comp_angle.atom_id_2 _chem_comp_angle.atom_id_3 _chem_comp_angle.value_angle _chem_comp_angle.value_angle_esd UN_ CA CB HB3 109.546 1.50 UN_ CA CB HB2 109.546 1.50 UN_ CA CB HB1 109.546 1.50 UN_ HB3 CB HB2 109.386 1.50 UN_ HB3 CB HB1 109.386 1.50 UN_ HB2 CB HB1 109.386 1.50 UN_ CB CA C 111.490 1.50 UN_ CB CA N 109.912 1.50 UN_ CB CA HA 108.878 1.50 UN_ C CA N 109.627 1.50 UN_ C CA HA 108.541 1.50 UN_ N CA HA 108.529 1.50 UN_ CA C O 117.159 1.57 UN_ CA C OXT 117.159 1.57 UN_ O C OXT 125.683 1.50 UN_ CA N H 109.643 1.50 UN_ CA N H2 109.643 1.50 UN_ CA N H3 109.643 1.50 UN_ H N H2 109.028 2.41 UN_ H N H3 109.028 2.41 UN_ H2 N H3 109.028 2.41 loop_ _chem_comp_tor.comp_id _chem_comp_tor.id _chem_comp_tor.atom_id_1 _chem_comp_tor.atom_id_2 _chem_comp_tor.atom_id_3 _chem_comp_tor.atom_id_4 _chem_comp_tor.value_angle _chem_comp_tor.value_angle_esd _chem_comp_tor.period UN_ hh1 N CA CB HB3 60.000 15.000 3 UN_ sp2_sp3_1 O C CA CB 0.000 10.00 6 UN_ sp3_sp3_10 CB CA N H 180.000 10.00 3 loop_ _chem_comp_chir.comp_id _chem_comp_chir.id _chem_comp_chir.atom_id_centre _chem_comp_chir.atom_id_1 _chem_comp_chir.atom_id_2 _chem_comp_chir.atom_id_3 _chem_comp_chir.volume_sign UN_ chir_1 CA N C CB positive loop_ _chem_comp_plane_atom.comp_id _chem_comp_plane_atom.plane_id _chem_comp_plane_atom.atom_id _chem_comp_plane_atom.dist_esd UN_ plan-1 C 0.020 UN_ plan-1 CA 0.020 UN_ plan-1 O 0.020 UN_ plan-1 OXT 0.020 loop_ _pdbx_chem_comp_descriptor.comp_id _pdbx_chem_comp_descriptor.type _pdbx_chem_comp_descriptor.program _pdbx_chem_comp_descriptor.program_version _pdbx_chem_comp_descriptor.descriptor UN_ SMILES ACDLabs 10.04 "O=C(O)C(N)C" UN_ SMILES_CANONICAL CACTVS 3.341 "C[C@H](N)C(O)=O" UN_ SMILES CACTVS 3.341 "C[CH](N)C(O)=O" UN_ SMILES_CANONICAL "OpenEye OEToolkits" 1.5.0 "C[C@@H](C(=O)O)N" UN_ SMILES "OpenEye OEToolkits" 1.5.0 "CC(C(=O)O)N" UN_ InChI InChI 1.03 "InChI=1S/C3H7NO2/c1-2(4)3(5)6/h2H,4H2,1H3,(H,5,6)/t2-/m0/s1" UN_ InChIKey InChI 1.03 QNAYBMKLOCPYGJ-REOHCLBHSA-N UN_ ? acedrg 195 "dictionary generator" UN_ ? acedrg_database 11 "data source" UN_ ? rdkit 2017.03.2 "Chemoinformatics tool" UN_ ? refmac5 5.8.0189 "optimization tool" libcifpp-2.0.5/test/pdb2cif-test.cpp0000664000175000017500000000253014200173347017122 0ustar maartenmaarten#include "../include/cif++/Cif++.hpp" #include "../include/cif++/PDB2Cif.hpp" #include #include #include // #include "pdb2cif.h" namespace po = boost::program_options; int main(int argc, char* argv[]) { using namespace std::literals; po::options_description desc("pdb2cif-test options"); desc.add_options() ("input,i", po::value(), "Input file") ("help,h", "Display help message") ("version", "Print version") ("verbose,v", "Verbose output") ("debug,d", po::value(), "Debug level (for even more verbose output)"); po::positional_options_description p; p.add("input", 1); po::variables_map vm; po::store(po::command_line_parser(argc, argv).options(desc).positional(p).run(), vm); po::notify(vm); if (vm.count("version")) { std::cout << argv[0] << " version " PACKAGE_VERSION << std::endl; exit(0); } if (vm.count("help") or vm.count("input") == 0) { std::cerr << desc << std::endl; exit(1); } cif::VERBOSE = vm.count("verbose") != 0; if (vm.count("debug")) cif::VERBOSE = vm["debug"].as(); std::ifstream is(vm["input"].as()); if (not is.is_open()) throw std::runtime_error("Could not open file " + vm["input"].as()); cif::File f; ReadPDBFile(is, f); f.save(std::cout); return 0; } libcifpp-2.0.5/test/rename-compound-test.cpp0000664000175000017500000000206014200173347020700 0ustar maartenmaarten#include "../include/cif++/Cif++.hpp" #include "../include/cif++/PDB2Cif.hpp" #include "../include/cif++/Structure.hpp" #include #include #include namespace po = boost::program_options; int main(int argc, char* argv[]) { cif::VERBOSE = 3; try { std::filesystem::path testdir = std::filesystem::current_path(); if (argc == 3) testdir = argv[2]; if (std::filesystem::exists(testdir / ".."/"data"/"ccd-subset.cif")) cif::addFileResource("components.cif", testdir / ".."/"data"/"ccd-subset.cif"); mmcif::CompoundFactory::instance().pushDictionary(testdir / "REA.cif"); mmcif::CompoundFactory::instance().pushDictionary(testdir / "RXA.cif"); mmcif::File f(testdir / ".."/"examples"/"1cbs.cif.gz"); mmcif::Structure structure(f); auto &res = structure.getResidue("B", "REA"); structure.changeResidue(res, "RXA", {}); structure.cleanupEmptyCategories(); f.file().save(std::cout); } catch (const std::exception& e) { std::cerr << e.what() << std::endl; exit(1); } return 0; } libcifpp-2.0.5/test/structure-test.cpp0000664000175000017500000001336514200173347017661 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2021 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #define BOOST_TEST_ALTERNATIVE_INIT_API #include #include #include "cif++/Cif++.hpp" #include "cif++/Structure.hpp" // -------------------------------------------------------------------- cif::File operator""_cf(const char* text, size_t length) { struct membuf : public std::streambuf { membuf(char* text, size_t length) { this->setg(text, text, text + length); } } buffer(const_cast(text), length); std::istream is(&buffer); return cif::File(is); } // -------------------------------------------------------------------- std::filesystem::path gTestDir = std::filesystem::current_path(); bool init_unit_test() { cif::VERBOSE = 1; // not a test, just initialize test dir if (boost::unit_test::framework::master_test_suite().argc == 2) gTestDir = boost::unit_test::framework::master_test_suite().argv[1]; // do this now, avoids the need for installing cif::addFileResource("mmcif_pdbx_v50.dic", gTestDir / ".." / "rsrc" / "mmcif_pdbx_v50.dic"); // initialize CCD location cif::addFileResource("components.cif", gTestDir / ".." / "data" / "ccd-subset.cif"); mmcif::CompoundFactory::instance().pushDictionary(gTestDir / "HEM.cif"); return true; } // -------------------------------------------------------------------- BOOST_AUTO_TEST_CASE(create_nonpoly_1) { cif::VERBOSE = 1; // do this now, avoids the need for installing cif::addFileResource("mmcif_pdbx_v50.dic", "../rsrc/mmcif_pdbx_v50.dic"); mmcif::File file; file.file().loadDictionary("mmcif_pdbx_v50.dic"); file.createDatablock("TEST"); // create a datablock mmcif::Structure structure(file); std::string entity_id = structure.createNonPolyEntity("HEM"); auto atoms = R"( data_HEM loop_ _atom_site.group_PDB _atom_site.type_symbol _atom_site.label_atom_id _atom_site.label_alt_id _atom_site.pdbx_PDB_ins_code _atom_site.Cartn_x _atom_site.Cartn_y _atom_site.Cartn_z _atom_site.occupancy _atom_site.B_iso_or_equiv _atom_site.pdbx_formal_charge HETATM C CHA . ? -5.248 39.769 -0.250 1.00 7.67 ? HETATM C CHB . ? -3.774 36.790 3.280 1.00 7.05 ? HETATM C CHC . ? -2.879 33.328 0.013 1.00 7.69 ? HETATM C CHD . ? -4.342 36.262 -3.536 1.00 8.00 ? # that's enough to test with )"_cf; auto &hem_data = atoms["HEM"]; auto &atom_site = hem_data["atom_site"]; auto hem_atoms = atom_site.rows(); std::vector atom_data; for (auto &hem_atom: hem_atoms) atom_data.emplace_back(hem_data, hem_atom); structure.createNonpoly(entity_id, atom_data); auto expected = R"( data_TEST # loop_ _atom_site.id _atom_site.auth_asym_id _atom_site.label_alt_id _atom_site.label_asym_id _atom_site.label_atom_id _atom_site.label_comp_id _atom_site.label_entity_id _atom_site.label_seq_id _atom_site.type_symbol _atom_site.group_PDB _atom_site.pdbx_PDB_ins_code _atom_site.Cartn_x _atom_site.Cartn_y _atom_site.Cartn_z _atom_site.occupancy _atom_site.B_iso_or_equiv _atom_site.pdbx_formal_charge _atom_site.auth_seq_id _atom_site.auth_comp_id _atom_site.auth_atom_id _atom_site.pdbx_PDB_model_num 1 A ? A CHA HEM 1 . C HETATM ? -5.248 39.769 -0.250 1.00 7.67 ? ? HEM CHA 1 2 A ? A CHB HEM 1 . C HETATM ? -3.774 36.790 3.280 1.00 7.05 ? ? HEM CHB 1 3 A ? A CHC HEM 1 . C HETATM ? -2.879 33.328 0.013 1.00 7.69 ? ? HEM CHC 1 4 A ? A CHD HEM 1 . C HETATM ? -4.342 36.262 -3.536 1.00 8.00 ? ? HEM CHD 1 # _chem_comp.id HEM _chem_comp.type NON-POLYMER _chem_comp.name 'PROTOPORPHYRIN IX CONTAINING FE' _chem_comp.formula 'C34 H32 Fe N4 O4' _chem_comp.formula_weight 616.487000 # _pdbx_entity_nonpoly.entity_id 1 _pdbx_entity_nonpoly.name 'PROTOPORPHYRIN IX CONTAINING FE' _pdbx_entity_nonpoly.comp_id HEM # _entity.id 1 _entity.type non-polymer _entity.pdbx_description 'PROTOPORPHYRIN IX CONTAINING FE' _entity.formula_weight 616.487000 # _struct_asym.id A _struct_asym.entity_id 1 _struct_asym.pdbx_blank_PDB_chainid_flag N _struct_asym.pdbx_modified N _struct_asym.details ? # )"_cf; expected.loadDictionary("mmcif_pdbx_v50.dic"); if (not (expected.firstDatablock() == structure.getFile().data())) { BOOST_TEST(false); std::cout << expected.firstDatablock() << std::endl << std::endl << structure.getFile().data() << std::endl; } } libcifpp-2.0.5/test/unit-test.cpp0000664000175000017500000012426314200173347016600 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #define BOOST_TEST_ALTERNATIVE_INIT_API // #define BOOST_TEST_MODULE LibCifPP_Test #include #include // #include "cif++/DistanceMap.hpp" #include "cif++/Cif++.hpp" #include "cif++/BondMap.hpp" std::filesystem::path gTestDir = std::filesystem::current_path(); // filled in first test // -------------------------------------------------------------------- cif::File operator""_cf(const char* text, size_t length) { struct membuf : public std::streambuf { membuf(char* text, size_t length) { this->setg(text, text, text + length); } } buffer(const_cast(text), length); std::istream is(&buffer); return cif::File(is); } // -------------------------------------------------------------------- bool init_unit_test() { cif::VERBOSE = 1; // not a test, just initialize test dir if (boost::unit_test::framework::master_test_suite().argc == 2) gTestDir = boost::unit_test::framework::master_test_suite().argv[1]; // do this now, avoids the need for installing cif::addFileResource("mmcif_pdbx_v50.dic", gTestDir / ".." / "rsrc" / "mmcif_pdbx_v50.dic"); // initialize CCD location cif::addFileResource("components.cif", gTestDir / ".." / "data" / "ccd-subset.cif"); return true; } // -------------------------------------------------------------------- BOOST_AUTO_TEST_CASE(ut1) { // using namespace mmcif; auto f = R"(data_TEST # loop_ _test.id _test.name 1 aap 2 noot 3 mies )"_cf; auto& db = f.firstDatablock(); BOOST_CHECK(db.getName() == "TEST"); auto& test = db["test"]; BOOST_CHECK(test.size() == 3); // wrong! the next lines will crash. And that's OK, don't do that // for (auto r: test) // test.erase(r); // BOOST_CHECK(test.empty()); // test.purge(); auto n = test.erase(cif::Key("id") == 1, [](const cif::Row& r) { BOOST_CHECK_EQUAL(r["id"].as(), 1); BOOST_CHECK_EQUAL(r["name"].as(), "aap"); }); BOOST_CHECK_EQUAL(n, 1); } // -------------------------------------------------------------------- BOOST_AUTO_TEST_CASE(ut2) { // using namespace mmcif; auto f = R"(data_TEST # loop_ _test.id _test.name _test.value 1 aap 1.0 2 noot 1.1 3 mies 1.2 )"_cf; auto& db = f.firstDatablock(); BOOST_CHECK(db.getName() == "TEST"); auto& test = db["test"]; BOOST_CHECK(test.size() == 3); int n = 0; for (auto r: test.find(cif::Key("name") == "aap")) { BOOST_CHECK(++n == 1); BOOST_CHECK(r["id"].as() == 1); BOOST_CHECK(r["name"].as() == "aap"); BOOST_CHECK(r["value"].as() == 1.0); } auto t = test.find(cif::Key("id") == 1); BOOST_CHECK(not t.empty()); BOOST_CHECK(t.front()["name"].as() == "aap"); auto t2 = test.find(cif::Key("value") == 1.2); BOOST_CHECK(not t2.empty()); BOOST_CHECK(t2.front()["name"].as() == "mies"); } // -------------------------------------------------------------------- BOOST_AUTO_TEST_CASE(d1) { const char dict[] = R"( data_test_dict.dic _datablock.id test_dict.dic _datablock.description ; A test dictionary ; _dictionary.title test_dict.dic _dictionary.datablock_id test_dict.dic _dictionary.version 1.0 loop_ _item_type_list.code _item_type_list.primitive_code _item_type_list.construct _item_type_list.detail code char '[][_,.;:"&<>()/\{}'`~!@#$%A-Za-z0-9*|+-]*' ; code item types/single words ... ; text char '[][ \n\t()_,.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*' ; text item types / multi-line text ... ; int numb '[+-]?[0-9]+' ; int item types are the subset of numbers that are the negative or positive integers. ; save_cat_1 _category.description 'A simple test category' _category.id cat_1 _category.mandatory_code no _category_key.name '_cat_1.id' save_ save__cat_1.id _item.name '_cat_1.id' _item.category_id cat_1 _item.mandatory_code yes _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_linked.child_name '_cat_2.parent_id' _item_linked.parent_name '_cat_1.id' _item_type.code code save_ save__cat_1.name _item.name '_cat_1.name' _item.category_id cat_1 _item.mandatory_code yes _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ save_cat_2 _category.description 'A second simple test category' _category.id cat_2 _category.mandatory_code no _category_key.name '_cat_2.id' save_ save__cat_2.id _item.name '_cat_2.id' _item.category_id cat_2 _item.mandatory_code yes _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code int save_ save__cat_2.parent_id _item.name '_cat_2.parent_id' _item.category_id cat_2 _item.mandatory_code yes _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code code save_ save__cat_2.desc _item.name '_cat_2.desc' _item.category_id cat_2 _item.mandatory_code yes _item_aliases.dictionary cif_core.dic _item_aliases.version 2.0.1 _item_type.code text save_ )"; struct membuf : public std::streambuf { membuf(char* text, size_t length) { this->setg(text, text, text + length); } } buffer(const_cast(dict), sizeof(dict) - 1); std::istream is_dict(&buffer); cif::File f; f.loadDictionary(is_dict); // -------------------------------------------------------------------- const char data[] = R"( data_test loop_ _cat_1.id _cat_1.name 1 Aap 2 Noot 3 Mies loop_ _cat_2.id _cat_2.parent_id _cat_2.desc 1 1 'Een dier' 2 1 'Een andere aap' 3 2 'walnoot bijvoorbeeld' )"; struct data_membuf : public std::streambuf { data_membuf(char* text, size_t length) { this->setg(text, text, text + length); } } data_buffer(const_cast(data), sizeof(data) - 1); std::istream is_data(&data_buffer); f.load(is_data); auto& cat1 = f.firstDatablock()["cat_1"]; auto& cat2 = f.firstDatablock()["cat_2"]; BOOST_CHECK(cat1.size() == 3); BOOST_CHECK(cat2.size() == 3); cat1.erase(cif::Key("id") == 1); BOOST_CHECK(cat1.size() == 2); BOOST_CHECK(cat2.size() == 1); // BOOST_CHECK_THROW(cat2.emplace({ // { "id", 4 }, // { "parent_id", 4 }, // { "desc", "moet fout gaan" } // }), std::exception); BOOST_CHECK_THROW(cat2.emplace({ { "id", "vijf" }, // <- invalid value { "parent_id", 2 }, { "desc", "moet fout gaan" } }), std::exception); } // -------------------------------------------------------------------- BOOST_AUTO_TEST_CASE(d2) { const char dict[] = R"( data_test_dict.dic _datablock.id test_dict.dic _datablock.description ; A test dictionary ; _dictionary.title test_dict.dic _dictionary.datablock_id test_dict.dic _dictionary.version 1.0 loop_ _item_type_list.code _item_type_list.primitive_code _item_type_list.construct _item_type_list.detail code char '[][_,.;:"&<>()/\{}'`~!@#$%A-Za-z0-9*|+-]*' ; code item types/single words ... ; ucode uchar '[][_,.;:"&<>()/\{}'`~!@#$%A-Za-z0-9*|+-]*' ; code item types/single words, case insensitive ; text char '[][ \n\t()_,.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*' ; text item types / multi-line text ... ; int numb '[+-]?[0-9]+' ; int item types are the subset of numbers that are the negative or positive integers. ; save_cat_1 _category.description 'A simple test category' _category.id cat_1 _category.mandatory_code no _category_key.name '_cat_1.id' save_ save__cat_1.id _item.name '_cat_1.id' _item.category_id cat_1 _item.mandatory_code yes _item_type.code code save_ save__cat_1.c _item.name '_cat_1.c' _item.category_id cat_1 _item.mandatory_code yes _item_type.code ucode save_ )"; struct membuf : public std::streambuf { membuf(char* text, size_t length) { this->setg(text, text, text + length); } } buffer(const_cast(dict), sizeof(dict) - 1); std::istream is_dict(&buffer); cif::File f; f.loadDictionary(is_dict); // -------------------------------------------------------------------- const char data[] = R"( data_test loop_ _cat_1.id _cat_1.c aap Aap noot Noot mies Mies )"; struct data_membuf : public std::streambuf { data_membuf(char* text, size_t length) { this->setg(text, text, text + length); } } data_buffer(const_cast(data), sizeof(data) - 1); std::istream is_data(&data_buffer); f.load(is_data); auto& cat1 = f.firstDatablock()["cat_1"]; BOOST_CHECK(cat1.size() == 3); cat1.erase(cif::Key("id") == "AAP"); BOOST_CHECK(cat1.size() == 3); cat1.erase(cif::Key("id") == "noot"); BOOST_CHECK(cat1.size() == 2); } // -------------------------------------------------------------------- BOOST_AUTO_TEST_CASE(d3) { const char dict[] = R"( data_test_dict.dic _datablock.id test_dict.dic _datablock.description ; A test dictionary ; _dictionary.title test_dict.dic _dictionary.datablock_id test_dict.dic _dictionary.version 1.0 loop_ _item_type_list.code _item_type_list.primitive_code _item_type_list.construct code char '[][_,.;:"&<>()/\{}'`~!@#$%A-Za-z0-9*|+-]*' text char '[][ \n\t()_,.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*' int numb '[+-]?[0-9]+' save_cat_1 _category.description 'A simple test category' _category.id cat_1 _category.mandatory_code no _category_key.name '_cat_1.id' save_ save__cat_1.id _item.name '_cat_1.id' _item.category_id cat_1 _item.mandatory_code yes _item_linked.child_name '_cat_2.parent_id' _item_linked.parent_name '_cat_1.id' _item_type.code code save_ save__cat_1.name1 _item.name '_cat_1.name1' _item.category_id cat_1 _item.mandatory_code yes _item_type.code text save_ save__cat_1.name2 _item.name '_cat_1.name2' _item.category_id cat_1 _item.mandatory_code no _item_linked.child_name '_cat_2.name2' _item_linked.parent_name '_cat_1.name2' _item_type.code text save_ save_cat_2 _category.description 'A second simple test category' _category.id cat_2 _category.mandatory_code no _category_key.name '_cat_2.id' save_ save__cat_2.id _item.name '_cat_2.id' _item.category_id cat_2 _item.mandatory_code yes _item_type.code int save_ save__cat_2.parent_id _item.name '_cat_2.parent_id' _item.category_id cat_2 _item.mandatory_code yes _item_type.code code save_ save__cat_2.name2 _item.name '_cat_2.name2' _item.category_id cat_2 _item.mandatory_code no _item_type.code text save_ save__cat_2.desc _item.name '_cat_2.desc' _item.category_id cat_2 _item.mandatory_code yes _item_type.code text save_ )"; struct membuf : public std::streambuf { membuf(char* text, size_t length) { this->setg(text, text, text + length); } } buffer(const_cast(dict), sizeof(dict) - 1); std::istream is_dict(&buffer); cif::File f; f.loadDictionary(is_dict); // -------------------------------------------------------------------- const char data[] = R"( data_test loop_ _cat_1.id _cat_1.name1 _cat_1.name2 1 Aap aap 2 Noot noot 3 Mies mies loop_ _cat_2.id _cat_2.parent_id _cat_2.name2 _cat_2.desc 1 1 aap 'Een dier' 2 1 . 'Een andere aap' 3 2 noot 'walnoot bijvoorbeeld' 4 2 n2 hazelnoot )"; struct data_membuf : public std::streambuf { data_membuf(char* text, size_t length) { this->setg(text, text, text + length); } } data_buffer(const_cast(data), sizeof(data) - 1); std::istream is_data(&data_buffer); f.load(is_data); auto& cat1 = f.firstDatablock()["cat_1"]; auto& cat2 = f.firstDatablock()["cat_2"]; // check a rename in parent and child for (auto r: cat1.find(cif::Key("id") == 1)) { r["id"] = 10; break; } BOOST_CHECK(cat1.size() == 3); BOOST_CHECK(cat2.size() == 4); BOOST_CHECK(cat1.find(cif::Key("id") == 1).size() == 0); BOOST_CHECK(cat1.find(cif::Key("id") == 10).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 1).size() == 0); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 10).size() == 2); // check a rename in parent and child, this time only one child should be renamed for (auto r: cat1.find(cif::Key("id") == 2)) { r["id"] = 20; break; } BOOST_CHECK(cat1.size() == 3); BOOST_CHECK(cat2.size() == 4); BOOST_CHECK(cat1.find(cif::Key("id") == 2).size() == 0); BOOST_CHECK(cat1.find(cif::Key("id") == 20).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 2).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 20).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 2 and cif::Key("name2") == "noot").size() == 0); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 2 and cif::Key("name2") == "n2").size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 20 and cif::Key("name2") == "noot").size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 20 and cif::Key("name2") == "n2").size() == 0); // // -------------------------------------------------------------------- // cat1.erase(cif::Key("id") == 10); // BOOST_CHECK(cat1.size() == 2); // BOOST_CHECK(cat2.size() == 2); // cat1.erase(cif::Key("id") == 20); // BOOST_CHECK(cat1.size() == 1); // BOOST_CHECK(cat2.size() == 1); } // -------------------------------------------------------------------- BOOST_AUTO_TEST_CASE(d4) { const char dict[] = R"( data_test_dict.dic _datablock.id test_dict.dic _datablock.description ; A test dictionary ; _dictionary.title test_dict.dic _dictionary.datablock_id test_dict.dic _dictionary.version 1.0 loop_ _item_type_list.code _item_type_list.primitive_code _item_type_list.construct code char '[][_,.;:"&<>()/\{}'`~!@#$%A-Za-z0-9*|+-]*' text char '[][ \n\t()_,.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*' int numb '[+-]?[0-9]+' save_cat_1 _category.description 'A simple test category' _category.id cat_1 _category.mandatory_code no _category_key.name '_cat_1.id' save_ save__cat_1.id _item.name '_cat_1.id' _item.category_id cat_1 _item.mandatory_code yes _item_linked.child_name '_cat_2.parent_id' _item_linked.parent_name '_cat_1.id' _item_type.code int save_ save__cat_1.id2 _item.name '_cat_1.id2' _item.category_id cat_1 _item.mandatory_code no _item_linked.child_name '_cat_2.parent_id2' _item_linked.parent_name '_cat_1.id2' _item_type.code code save_ save__cat_1.id3 _item.name '_cat_1.id3' _item.category_id cat_1 _item.mandatory_code no _item_linked.child_name '_cat_2.parent_id3' _item_linked.parent_name '_cat_1.id3' _item_type.code text save_ save_cat_2 _category.description 'A second simple test category' _category.id cat_2 _category.mandatory_code no _category_key.name '_cat_2.id' save_ save__cat_2.id _item.name '_cat_2.id' _item.category_id cat_2 _item.mandatory_code yes _item_type.code int save_ save__cat_2.parent_id _item.name '_cat_2.parent_id' _item.category_id cat_2 _item.mandatory_code yes _item_type.code int save_ save__cat_2.parent_id2 _item.name '_cat_2.parent_id2' _item.category_id cat_2 _item.mandatory_code no _item_type.code code save_ save__cat_2.parent_id3 _item.name '_cat_2.parent_id3' _item.category_id cat_2 _item.mandatory_code no _item_type.code code save_ )"; struct membuf : public std::streambuf { membuf(char* text, size_t length) { this->setg(text, text, text + length); } } buffer(const_cast(dict), sizeof(dict) - 1); std::istream is_dict(&buffer); cif::File f; f.loadDictionary(is_dict); // -------------------------------------------------------------------- const char data[] = R"( data_test loop_ _cat_1.id _cat_1.id2 _cat_1.id3 1 aap aap 2 . noot 3 mies . 4 . . loop_ _cat_2.id _cat_2.parent_id _cat_2.parent_id2 _cat_2.parent_id3 1 1 aap aap 2 1 . x 3 1 aap . 4 2 noot noot 5 2 . noot 6 2 noot . 7 2 . . 8 3 mies mies 9 3 . mies 10 3 mies . 11 4 roos roos 12 4 . roos 13 4 roos . )"; struct data_membuf : public std::streambuf { data_membuf(char* text, size_t length) { this->setg(text, text, text + length); } } data_buffer(const_cast(data), sizeof(data) - 1); std::istream is_data(&data_buffer); f.load(is_data); auto& cat1 = f.firstDatablock()["cat_1"]; auto& cat2 = f.firstDatablock()["cat_2"]; // check a rename in parent and child for (auto r: cat1.find(cif::Key("id") == 1)) { r["id"] = 10; break; } BOOST_CHECK(cat1.size() == 4); BOOST_CHECK(cat2.size() == 13); BOOST_CHECK(cat1.find(cif::Key("id") == 1).size() == 0); BOOST_CHECK(cat1.find(cif::Key("id") == 10).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 1).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 10).size() == 2); for (auto r: cat1.find(cif::Key("id") == 2)) { r["id"] = 20; break; } BOOST_CHECK(cat1.size() == 4); BOOST_CHECK(cat2.size() == 13); BOOST_CHECK(cat1.find(cif::Key("id") == 2).size() == 0); BOOST_CHECK(cat1.find(cif::Key("id") == 20).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 2).size() == 2); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 20).size() == 2); for (auto r: cat1.find(cif::Key("id") == 3)) { r["id"] = 30; break; } BOOST_CHECK(cat1.size() == 4); BOOST_CHECK(cat2.size() == 13); BOOST_CHECK(cat1.find(cif::Key("id") == 3).size() == 0); BOOST_CHECK(cat1.find(cif::Key("id") == 30).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 3).size() == 2); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 30).size() == 1); for (auto r: cat1.find(cif::Key("id") == 4)) { r["id"] = 40; break; } BOOST_CHECK(cat1.size() == 4); BOOST_CHECK(cat2.size() == 13); BOOST_CHECK(cat1.find(cif::Key("id") == 4).size() == 0); BOOST_CHECK(cat1.find(cif::Key("id") == 10).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 4).size() == 3); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 40).size() == 0); } // -------------------------------------------------------------------- BOOST_AUTO_TEST_CASE(d5) { const char dict[] = R"( data_test_dict.dic _datablock.id test_dict.dic _datablock.description ; A test dictionary ; _dictionary.title test_dict.dic _dictionary.datablock_id test_dict.dic _dictionary.version 1.0 loop_ _item_type_list.code _item_type_list.primitive_code _item_type_list.construct code char '[][_,.;:"&<>()/\{}'`~!@#$%A-Za-z0-9*|+-]*' text char '[][ \n\t()_,.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*' int numb '[+-]?[0-9]+' save_cat_1 _category.description 'A simple test category' _category.id cat_1 _category.mandatory_code no _category_key.name '_cat_1.id' save_ save__cat_1.id _item.name '_cat_1.id' _item.category_id cat_1 _item.mandatory_code yes _item_type.code int save_ save_cat_2 _category.description 'A second simple test category' _category.id cat_2 _category.mandatory_code no _category_key.name '_cat_2.id' save_ save__cat_2.id _item.name '_cat_2.id' _item.category_id cat_2 _item.mandatory_code yes _item_type.code int save_ save__cat_2.parent_id _item.name '_cat_2.parent_id' _item.category_id cat_2 _item.mandatory_code yes _item_type.code int save_ save__cat_2.parent_id2 _item.name '_cat_2.parent_id2' _item.category_id cat_2 _item.mandatory_code no _item_type.code code save_ save__cat_2.parent_id3 _item.name '_cat_2.parent_id3' _item.category_id cat_2 _item.mandatory_code no _item_type.code code save_ loop_ _pdbx_item_linked_group_list.child_category_id _pdbx_item_linked_group_list.link_group_id _pdbx_item_linked_group_list.child_name _pdbx_item_linked_group_list.parent_name _pdbx_item_linked_group_list.parent_category_id cat_2 1 '_cat_2.parent_id' '_cat_1.id' cat_1 cat_2 2 '_cat_2.parent_id2' '_cat_1.id' cat_1 cat_2 3 '_cat_2.parent_id3' '_cat_1.id' cat_1 loop_ _pdbx_item_linked_group.category_id _pdbx_item_linked_group.link_group_id _pdbx_item_linked_group.label cat_2 1 cat_2:cat_1:1 cat_2 2 cat_2:cat_1:2 cat_2 3 cat_2:cat_1:3 )"; struct membuf : public std::streambuf { membuf(char* text, size_t length) { this->setg(text, text, text + length); } } buffer(const_cast(dict), sizeof(dict) - 1); std::istream is_dict(&buffer); cif::File f; f.loadDictionary(is_dict); // -------------------------------------------------------------------- const char data[] = R"( data_test loop_ _cat_1.id 1 2 3 loop_ _cat_2.id _cat_2.parent_id _cat_2.parent_id2 _cat_2.parent_id3 1 1 ? ? 2 ? 1 ? 3 ? ? 1 4 2 2 ? 5 2 ? 2 6 ? 2 2 7 3 3 3 )"; // -------------------------------------------------------------------- struct data_membuf : public std::streambuf { data_membuf(char* text, size_t length) { this->setg(text, text, text + length); } } data_buffer(const_cast(data), sizeof(data) - 1); std::istream is_data(&data_buffer); f.load(is_data); auto& cat1 = f.firstDatablock()["cat_1"]; auto& cat2 = f.firstDatablock()["cat_2"]; // -------------------------------------------------------------------- // check iterate children auto PR2set = cat1.find(cif::Key("id") == 2); BOOST_ASSERT(PR2set.size() == 1); auto PR2 = PR2set.front(); BOOST_CHECK(PR2["id"].as() == 2); auto CR2set = cat1.getChildren(PR2, "cat_2"); BOOST_ASSERT(CR2set.size() == 3); std::vector CRids; std::transform(CR2set.begin(), CR2set.end(), std::back_inserter(CRids), [](cif::Row r) { return r["id"].as(); }); std::sort(CRids.begin(), CRids.end()); BOOST_CHECK(CRids == std::vector({ 4, 5, 6})); // check a rename in parent and child for (auto r: cat1.find(cif::Key("id") == 1)) { r["id"] = 10; break; } BOOST_CHECK(cat1.size() == 3); BOOST_CHECK(cat2.size() == 7); BOOST_CHECK(cat1.find(cif::Key("id") == 1).size() == 0); BOOST_CHECK(cat1.find(cif::Key("id") == 10).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 1).size() == 0); BOOST_CHECK(cat2.find(cif::Key("parent_id2") == 1).size() == 0); BOOST_CHECK(cat2.find(cif::Key("parent_id3") == 1).size() == 0); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 10).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id2") == 10).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id3") == 10).size() == 1); for (auto r: cat1.find(cif::Key("id") == 2)) { r["id"] = 20; break; } BOOST_CHECK(cat1.size() == 3); BOOST_CHECK(cat2.size() == 7); BOOST_CHECK(cat1.find(cif::Key("id") == 2).size() == 0); BOOST_CHECK(cat1.find(cif::Key("id") == 20).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 2).size() == 0); BOOST_CHECK(cat2.find(cif::Key("parent_id2") == 2).size() == 0); BOOST_CHECK(cat2.find(cif::Key("parent_id3") == 2).size() == 0); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 20).size() == 2); BOOST_CHECK(cat2.find(cif::Key("parent_id2") == 20).size() == 2); BOOST_CHECK(cat2.find(cif::Key("parent_id3") == 20).size() == 2); for (auto r: cat1.find(cif::Key("id") == 3)) { r["id"] = 30; break; } BOOST_CHECK(cat1.size() == 3); BOOST_CHECK(cat2.size() == 7); BOOST_CHECK(cat1.find(cif::Key("id") == 3).size() == 0); BOOST_CHECK(cat1.find(cif::Key("id") == 30).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 3).size() == 0); BOOST_CHECK(cat2.find(cif::Key("parent_id2") == 3).size() == 0); BOOST_CHECK(cat2.find(cif::Key("parent_id3") == 3).size() == 0); BOOST_CHECK(cat2.find(cif::Key("parent_id") == 30).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id2") == 30).size() == 1); BOOST_CHECK(cat2.find(cif::Key("parent_id3") == 30).size() == 1); // test delete cat1.erase(cif::Key("id") == 10); BOOST_CHECK(cat1.size() == 2); BOOST_CHECK(cat2.size() == 4); cat1.erase(cif::Key("id") == 20); BOOST_CHECK(cat1.size() == 1); BOOST_CHECK(cat2.size() == 1); cat1.erase(cif::Key("id") == 30); BOOST_CHECK(cat1.size() == 0); BOOST_CHECK(cat2.size() == 0); } // -------------------------------------------------------------------- BOOST_AUTO_TEST_CASE(c1) { cif::VERBOSE = 1; auto f = R"(data_TEST # loop_ _test.id _test.name 1 aap 2 noot 3 mies 4 . 5 ? )"_cf; auto& db = f.firstDatablock(); for (auto r: db["test"].find(cif::Key("id") == 1)) { const auto& [id, name] = r.get({"id", "name"}); BOOST_CHECK(id == 1); BOOST_CHECK(name == "aap"); } for (auto r: db["test"].find(cif::Key("id") == 4)) { const auto& [id, name] = r.get({"id", "name"}); BOOST_CHECK(id == 4); BOOST_CHECK(name.empty()); } for (auto r: db["test"].find(cif::Key("id") == 5)) { const auto& [id, name] = r.get({"id", "name"}); BOOST_CHECK(id == 5); BOOST_CHECK(name.empty()); } // optional for (auto r: db["test"]) { const auto& [id, name] = r.get>({"id", "name"}); switch (id) { case 1: BOOST_CHECK(name == "aap"); break; case 2: BOOST_CHECK(name == "noot"); break; case 3: BOOST_CHECK(name == "mies"); break; case 4: case 5: BOOST_CHECK(not name); break; default: BOOST_CHECK(false); } } } BOOST_AUTO_TEST_CASE(c2) { cif::VERBOSE = 1; auto f = R"(data_TEST # loop_ _test.id _test.name 1 aap 2 noot 3 mies 4 . 5 ? )"_cf; auto& db = f.firstDatablock(); // query tests for (const auto& [id, name]: db["test"].rows>("id", "name")) { switch (id) { case 1: BOOST_CHECK(name == "aap"); break; case 2: BOOST_CHECK(name == "noot"); break; case 3: BOOST_CHECK(name == "mies"); break; case 4: case 5: BOOST_CHECK(not name); break; default: BOOST_CHECK(false); } } } BOOST_AUTO_TEST_CASE(c3) { cif::VERBOSE = 1; auto f = R"(data_TEST # loop_ _test.id _test.name 1 aap 2 noot 3 mies 4 . 5 ? )"_cf; auto& db = f.firstDatablock(); // query tests for (const auto& [id, name]: db["test"].find>(cif::All(), "id", "name")) { switch (id) { case 1: BOOST_CHECK(name == "aap"); break; case 2: BOOST_CHECK(name == "noot"); break; case 3: BOOST_CHECK(name == "mies"); break; case 4: case 5: BOOST_CHECK(not name); break; default: BOOST_CHECK(false); } } const auto& [id, name] = db["test"].find1(cif::Key("id") == 1, "id", "name"); BOOST_CHECK(id == 1); BOOST_CHECK(name == "aap"); } // -------------------------------------------------------------------- // rename test BOOST_AUTO_TEST_CASE(r1) { /* Rationale: The pdbx_mmcif dictionary contains inconsistent child-parent relations. E.g. atom_site is parent of pdbx_nonpoly_scheme which itself is a parent of pdbx_entity_nonpoly. If I want to rename a residue I cannot update pdbx_nonpoly_scheme since changing a parent changes children, but not vice versa. But if I change the comp_id in atom_site, the pdbx_nonpoly_scheme is update, that's good, and then pdbx_entity_nonpoly is updated and that's bad. The idea is now that if we update a parent and a child that must change as well, we first check if there are more parents of this child that will not change. In that case we have to split the child into two, one with the new value and one with the old. We then of course have to split all children of this split row that are direct children. */ const char dict[] = R"( data_test_dict.dic _datablock.id test_dict.dic _datablock.description ; A test dictionary ; _dictionary.title test_dict.dic _dictionary.datablock_id test_dict.dic _dictionary.version 1.0 loop_ _item_type_list.code _item_type_list.primitive_code _item_type_list.construct code char '[][_,.;:"&<>()/\{}'`~!@#$%A-Za-z0-9*|+-]*' text char '[][ \n\t()_,.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*' int numb '[+-]?[0-9]+' save_cat_1 _category.description 'A simple test category' _category.id cat_1 _category.mandatory_code no _category_key.name '_cat_1.id' save_ save__cat_1.id _item.name '_cat_1.id' _item.category_id cat_1 _item.mandatory_code yes _item_linked.child_name '_cat_2.parent_id' _item_linked.parent_name '_cat_1.id' _item_type.code int save_ save__cat_1.name _item.name '_cat_1.name' _item.category_id cat_1 _item.mandatory_code yes _item_type.code code save_ save__cat_1.desc _item.name '_cat_1.desc' _item.category_id cat_1 _item.mandatory_code yes _item_type.code text save_ save_cat_2 _category.description 'A second simple test category' _category.id cat_2 _category.mandatory_code no _category_key.name '_cat_2.id' save_ save__cat_2.id _item.name '_cat_2.id' _item.category_id cat_2 _item.mandatory_code yes _item_type.code int save_ save__cat_2.name _item.name '_cat_2.name' _item.category_id cat_2 _item.mandatory_code yes _item_type.code code save_ save__cat_2.num _item.name '_cat_2.num' _item.category_id cat_2 _item.mandatory_code yes _item_type.code int save_ save__cat_2.desc _item.name '_cat_2.desc' _item.category_id cat_2 _item.mandatory_code yes _item_type.code text save_ save_cat_3 _category.description 'A third simple test category' _category.id cat_3 _category.mandatory_code no _category_key.name '_cat_3.id' save_ save__cat_3.id _item.name '_cat_3.id' _item.category_id cat_3 _item.mandatory_code yes _item_type.code int save_ save__cat_3.name _item.name '_cat_3.name' _item.category_id cat_3 _item.mandatory_code yes _item_type.code code save_ save__cat_3.num _item.name '_cat_3.num' _item.category_id cat_3 _item.mandatory_code yes _item_type.code int save_ loop_ _pdbx_item_linked_group_list.child_category_id _pdbx_item_linked_group_list.link_group_id _pdbx_item_linked_group_list.child_name _pdbx_item_linked_group_list.parent_name _pdbx_item_linked_group_list.parent_category_id cat_1 1 '_cat_1.name' '_cat_2.name' cat_2 cat_2 1 '_cat_2.name' '_cat_3.name' cat_3 cat_2 1 '_cat_2.num' '_cat_3.num' cat_3 )"; struct membuf : public std::streambuf { membuf(char* text, size_t length) { this->setg(text, text, text + length); } } buffer(const_cast(dict), sizeof(dict) - 1); std::istream is_dict(&buffer); cif::File f; f.loadDictionary(is_dict); // -------------------------------------------------------------------- const char data[] = R"( data_test loop_ _cat_1.id _cat_1.name _cat_1.desc 1 aap Aap 2 noot Noot 3 mies Mies loop_ _cat_2.id _cat_2.name _cat_2.num _cat_2.desc 1 aap 1 'Een dier' 2 aap 2 'Een andere aap' 3 noot 1 'walnoot bijvoorbeeld' loop_ _cat_3.id _cat_3.name _cat_3.num 1 aap 1 2 aap 2 )"; using namespace cif::literals; struct data_membuf : public std::streambuf { data_membuf(char* text, size_t length) { this->setg(text, text, text + length); } } data_buffer(const_cast(data), sizeof(data) - 1); std::istream is_data(&data_buffer); f.load(is_data); auto& cat1 = f.firstDatablock()["cat_1"]; auto& cat2 = f.firstDatablock()["cat_2"]; auto& cat3 = f.firstDatablock()["cat_3"]; cat3.update_value("name"_key == "aap" and "num"_key == 1, "name", "aapje"); BOOST_CHECK(cat3.size() == 2); { int id, num; std::string name; cif::tie(id, name, num) = cat3.front().get("id", "name", "num"); BOOST_CHECK(id == 1); BOOST_CHECK(num == 1); BOOST_CHECK(name == "aapje"); cif::tie(id, name, num) = cat3.back().get("id", "name", "num"); BOOST_CHECK(id == 2); BOOST_CHECK(num == 2); BOOST_CHECK(name == "aap"); } int i = 0; for (const auto &[id, name, num, desc]: cat2.rows("id", "name", "num", "desc")) { switch (++i) { case 1: BOOST_CHECK(id == 1); BOOST_CHECK(num == 1); BOOST_CHECK(name == "aapje"); BOOST_CHECK(desc == "Een dier"); break; case 2: BOOST_CHECK(id == 2); BOOST_CHECK(num == 2); BOOST_CHECK(name == "aap"); BOOST_CHECK(desc == "Een andere aap"); break; case 3: BOOST_CHECK(id == 3); BOOST_CHECK(num == 1); BOOST_CHECK(name == "noot"); BOOST_CHECK(desc == "walnoot bijvoorbeeld"); break; default: BOOST_FAIL("Unexpected record"); } } BOOST_CHECK(cat1.size() == 4); i = 0; for (const auto &[id, name, desc]: cat1.rows("id", "name", "desc")) { switch (++i) { case 1: BOOST_CHECK(id == 1); BOOST_CHECK(name == "aapje"); BOOST_CHECK(desc == "Aap"); break; case 2: BOOST_CHECK(id == 2); BOOST_CHECK(name == "noot"); BOOST_CHECK(desc == "Noot"); break; case 3: BOOST_CHECK(id == 3); BOOST_CHECK(name == "mies"); BOOST_CHECK(desc == "Mies"); break; case 4: BOOST_CHECK(id == 4); BOOST_CHECK(name == "aap"); BOOST_CHECK(desc == "Aap"); break; default: BOOST_FAIL("Unexpected record"); } } f.save(std::cout); } // -------------------------------------------------------------------- BOOST_AUTO_TEST_CASE(bondmap_1) { cif::VERBOSE = 2; // sections taken from CCD compounds.cif auto components = R"( data_ASN loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal ASN N CA SING N N 1 ASN N H SING N N 2 ASN N H2 SING N N 3 ASN CA C SING N N 4 ASN CA CB SING N N 5 ASN CA HA SING N N 6 ASN C O DOUB N N 7 ASN C OXT SING N N 8 ASN CB CG SING N N 9 ASN CB HB2 SING N N 10 ASN CB HB3 SING N N 11 ASN CG OD1 DOUB N N 12 ASN CG ND2 SING N N 13 ASN ND2 HD21 SING N N 14 ASN ND2 HD22 SING N N 15 ASN OXT HXT SING N N 16 data_PHE loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal PHE N CA SING N N 1 PHE N H SING N N 2 PHE N H2 SING N N 3 PHE CA C SING N N 4 PHE CA CB SING N N 5 PHE CA HA SING N N 6 PHE C O DOUB N N 7 PHE C OXT SING N N 8 PHE CB CG SING N N 9 PHE CB HB2 SING N N 10 PHE CB HB3 SING N N 11 PHE CG CD1 DOUB Y N 12 PHE CG CD2 SING Y N 13 PHE CD1 CE1 SING Y N 14 PHE CD1 HD1 SING N N 15 PHE CD2 CE2 DOUB Y N 16 PHE CD2 HD2 SING N N 17 PHE CE1 CZ DOUB Y N 18 PHE CE1 HE1 SING N N 19 PHE CE2 CZ SING Y N 20 PHE CE2 HE2 SING N N 21 PHE CZ HZ SING N N 22 PHE OXT HXT SING N N 23 data_PRO loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag _chem_comp_bond.pdbx_stereo_config _chem_comp_bond.pdbx_ordinal PRO N CA SING N N 1 PRO N CD SING N N 2 PRO N H SING N N 3 PRO CA C SING N N 4 PRO CA CB SING N N 5 PRO CA HA SING N N 6 PRO C O DOUB N N 7 PRO C OXT SING N N 8 PRO CB CG SING N N 9 PRO CB HB2 SING N N 10 PRO CB HB3 SING N N 11 PRO CG CD SING N N 12 PRO CG HG2 SING N N 13 PRO CG HG3 SING N N 14 PRO CD HD2 SING N N 15 PRO CD HD3 SING N N 16 PRO OXT HXT SING N N 17 )"_cf; const std::filesystem::path example(gTestDir / ".."/"examples"/"1cbs.cif.gz"); mmcif::File file(example.string()); mmcif::Structure structure(file); (void)file.file().isValid(); mmcif::BondMap bm(structure); // Test the bonds of the first three residues, that's PRO A 1, ASN A 2, PHE A 3 for (const auto& [compound, seqnr]: std::initializer_list>{ { "PRO", 1 }, { "ASN", 2 }, { "PHE", 3 } }) { auto& res = structure.getResidue("A", compound, seqnr); auto atoms = res.atoms(); auto dc = components.get(compound); BOOST_ASSERT(dc != nullptr); auto cc = dc->get("chem_comp_bond"); BOOST_ASSERT(cc != nullptr); std::set> bonded; for (const auto& [atom_id_1, atom_id_2]: cc->rows("atom_id_1", "atom_id_2")) { if (atom_id_1 > atom_id_2) bonded.insert({ atom_id_2, atom_id_1 }); else bonded.insert({ atom_id_1, atom_id_2 }); } for (size_t i = 0; i + 1 < atoms.size(); ++i) { auto label_i = atoms[i].labelAtomID(); for (size_t j = i + 1; j < atoms.size(); ++j) { auto label_j = atoms[j].labelAtomID(); bool bonded_1 = bm(atoms[i], atoms[j]); bool bonded_1_i = bm(atoms[j], atoms[i]); bool bonded_t = label_i > label_j ? bonded.count({ label_j, label_i }) : bonded.count({ label_i, label_j }); BOOST_CHECK(bonded_1 == bonded_t); BOOST_CHECK(bonded_1_i == bonded_t); } } } } BOOST_AUTO_TEST_CASE(bondmap_2) { BOOST_CHECK_THROW(mmcif::BondMap::atomIDsForCompound("UN_"), mmcif::BondMapException); mmcif::CompoundFactory::instance().pushDictionary(gTestDir / "UN_.cif"); BOOST_CHECK(mmcif::BondMap::atomIDsForCompound("UN_").empty() == false); } BOOST_AUTO_TEST_CASE(reading_file_1) { std::istringstream is("Hello, world!"); cif::File file; BOOST_CHECK_THROW(file.load(is), std::runtime_error); }libcifpp-2.0.5/tools/0000775000175000017500000000000014200173347014311 5ustar maartenmaartenlibcifpp-2.0.5/tools/m4esc.sh0000775000175000017500000000030114200173347015655 0ustar maartenmaarten#!/bin/bash set -e file="$1" echo -n "[[" while IFS= read -r line; do echo $line | sed -e 's/\[/@<:@/g' -e 's/\]/@:>@/g' -e 's/#/@%:@/g' -e 's/\$/@S|@/g' echo done < "$file" echo -n "]]" libcifpp-2.0.5/tools/symop-map-generator.cpp0000664000175000017500000002460114200173347020726 0ustar maartenmaarten/*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2020 NKI/AVL, Netherlands Cancer Institute * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include #include #include #include #include #include #include namespace fs = std::filesystem; namespace po = boost::program_options; std::regex kNameRx(R"(^(\d+) +(\d+) +(\d+) +(\S+) +(\S+) +(\S+) +'([^']+)'( +'([^']+)')?(?: +!.+)?$)"); class SymopParser { public: SymopParser() {} std::array parse(const std::string& s) { m_p = s.begin(); m_e = s.end(); m_lookahead = next_token(); parsepart(0); match((Token)','); parsepart(1); match((Token)','); parsepart(2); if (m_lookahead != 0 or m_p != m_e) throw std::runtime_error("symmetry expression contains more data than expected"); return { m_rot[0][0], m_rot[0][1], m_rot[0][2], m_rot[1][0], m_rot[1][1], m_rot[1][2], m_rot[2][0], m_rot[2][1], m_rot[2][2], m_trn[0][0], m_trn[0][1], m_trn[1][0], m_trn[1][1], m_trn[2][0], m_trn[2][1] }; } private: enum Token : int { Eof = 0, Number = 256, XYZ }; std::string to_string(Token t) { switch (t) { case Eof: return "end of expression"; case Number: return "number"; case XYZ: return "'x', 'y' or 'z'"; default: if (isprint(t)) return std::string({'\'', static_cast(t), '\''}); return "invalid character " + std::to_string(static_cast(t)); } } Token next_token() { Token result = Eof; while (m_p != m_e) { char ch = *m_p++; if (ch == ' ') continue; switch (ch) { case 'x': case 'X': result = XYZ; m_nr = 0; break; case 'y': case 'Y': result = XYZ; m_nr = 1; break; case 'z': case 'Z': result = XYZ; m_nr = 2; break; default: if (isdigit(ch)) { m_nr = ch - '0'; result = Number; } else result = (Token)ch; break; } break; } return result; } void match(Token token) { if (m_lookahead != token) throw std::runtime_error("Unexpected character " + to_string(m_lookahead) + " expected " + to_string(token)); m_lookahead = next_token(); } void parsepart(int row) { do { int sign = m_lookahead == '-' ? -1 : 1; if (m_lookahead == '-' or m_lookahead == '+') match(m_lookahead); if (m_lookahead == Number) { m_trn[row][0] = sign * m_nr; match(Number); match((Token)'/'); m_trn[row][1] = m_nr; match(Number); } else { m_rot[row][m_nr] = sign; match(XYZ); } } while (m_lookahead == '+' or m_lookahead == '-'); } Token m_lookahead; int m_nr; std::string m_s; std::string::const_iterator m_p, m_e; int m_rot[3][3] = {}; int m_trn[3][2] = {}; }; std::array move_symop(std::array symop, const std::array& cenop) { for (int i = 9; i < 15; i += 2) { if (cenop[i] == 0) continue; assert(cenop[i + 1] != 0); if (symop[i] == 0) { assert(symop[i + 1] == 0); symop[i] = cenop[i]; symop[i + 1] = cenop[i + 1]; continue; } if (symop[i + 1] == cenop[i + 1]) symop[i] += cenop[i]; else { int d = symop[i + 1] * cenop[i + 1]; int n = symop[i] * cenop[i + 1] + symop[i + 1] * cenop[i]; symop[i] = n; symop[i + 1] = d; } for (int j = 5; j > 1; --j) if (symop[i] % j == 0 and symop[i + 1] % j == 0) { symop[i] /= j; symop[i + 1] /= j; } symop[i] = (symop[i] + symop[i + 1]) % symop[i + 1]; if (symop[i] == 0) symop[i + 1] = 0; } return symop; } int main(int argc, char* const argv[]) { using namespace std::literals; fs::path tmpFile; try { po::options_description visible_options("symop-map-generator symlib-file output-file"); visible_options.add_options() ( "help,h", "Display help message" ) ( "verbose,v", "Verbose output") ; po::options_description hidden_options("hidden options"); hidden_options.add_options() ( "input,i", po::value(), "Input file") ( "output,o", po::value(), "Output file"); po::options_description cmdline_options; cmdline_options.add(visible_options).add(hidden_options); po::positional_options_description p; p.add("input", 1); p.add("output", 1); po::variables_map vm; po::store(po::command_line_parser(argc, argv).options(cmdline_options).positional(p).run(), vm); po::notify(vm); if (vm.count("input") == 0 or vm.count("output") == 0 or vm.count("help")) { std::cerr << visible_options << std::endl; exit(vm.count("help") == 0); } fs::path input(vm["input"].as()); fs::path output(vm["output"].as()); tmpFile = output.parent_path() / (output.filename().string() + ".tmp"); std::ofstream out(tmpFile); if (not out.is_open()) throw std::runtime_error("Failed to open output file"); // -------------------------------------------------------------------- // store symop data here std::vector>> data; // ----------------------------------------------------------------------- struct SymInfoBlock { int nr; std::string xHM; std::string Hall; std::string old[2]; }; std::map symInfo; int symopnr, mysymnr = 10000; std::ifstream file(input); if (not file.is_open()) throw std::runtime_error("Could not open syminfo.lib file"); enum class State { skip, spacegroup } state = State::skip; std::string line; const std::regex rx(R"(^symbol +(Hall|xHM|old) +'(.+?)'(?: +'(.+?)')?$)"), rx2(R"(symbol ccp4 (\d+))");; SymInfoBlock cur = {}; std::vector> symops, cenops; while (getline(file, line)) { switch (state) { case State::skip: if (line == "begin_spacegroup") { state = State::spacegroup; symopnr = 1; ++mysymnr; cur = { mysymnr }; } break; case State::spacegroup: { std::smatch m; if (std::regex_match(line, m, rx)) { if (m[1] == "old") { cur.old[0] = m[2]; if (m[3].matched) cur.old[1] = m[3]; } else if (m[1] == "xHM") cur.xHM = m[2]; else if (m[1] == "Hall") cur.Hall = m[2]; } else if (regex_match(line, m, rx2)) { int nr = stoi(m[1]); if (nr != 0) cur.nr = nr; } else if (line.compare(0, 6, "symop ") == 0) { SymopParser p; symops.emplace_back(p.parse(line.substr(6))); } else if (line.compare(0, 6, "cenop ") == 0) { SymopParser p; cenops.emplace_back(p.parse(line.substr(6))); } else if (line == "end_spacegroup") { for (auto& cenop: cenops) { for (auto symop: symops) { symop = move_symop(symop, cenop); data.emplace_back(cur.nr, symopnr, symop); ++symopnr; } } symInfo.emplace(cur.nr, cur); state = State::skip; symops.clear(); cenops.clear(); } break; } } } // -------------------------------------------------------------------- sort(data.begin(), data.end()); // -------------------------------------------------------------------- out << R"(// This file was generated from $CLIBD/symop.lib // and $CLIBD/syminfo.lib using symop-map-generator, // part of the PDB-REDO suite of programs. #include "cif++/Symmetry.hpp" namespace mmcif { const Spacegroup kSpaceGroups[] = { )"; std::vector> spacegroups; for (auto& [nr, info]: symInfo) { spacegroups.emplace_back(info.old[0], nr, info.xHM, info.Hall); if (info.old[1].empty() == false) spacegroups.emplace_back(info.old[1], nr, info.xHM, info.Hall); } sort(spacegroups.begin(), spacegroups.end()); for (auto [old, nr, xHM, Hall]: spacegroups) { old = '"' + old + '"' + std::string(20 - old.length(), ' '); xHM = '"' + xHM + '"' + std::string(30 - xHM.length(), ' '); for (std::string::size_type p = Hall.length(); p > 0; --p) { if (Hall[p - 1] == '"') Hall.insert(p - 1, "\\", 1); } Hall = '"' + Hall + '"' + std::string(40 - Hall.length(), ' '); out << "\t{ " << old << ", " << xHM << ", " << Hall << ", " << nr << " }," << std::endl; } out << R"( }; const size_t kNrOfSpaceGroups = sizeof(kSpaceGroups) / sizeof(Spacegroup); const SymopDataBlock kSymopNrTable[] = { )" << std::endl; int spacegroupNr = 0; for (auto& sd: data) { int sp, o; std::tie(sp, o, std::ignore) = sd; if (sp > spacegroupNr) out << " // " << symInfo[sp].xHM << std::endl; spacegroupNr = sp; out << " { " << std::setw(3) << sp << ", " << std::setw(3) << o << ", { "; for (auto& i: std::get<2>(sd)) out << std::setw(2) << i << ','; out << " } }," << std::endl; } out << R"(}; const size_t kSymopNrTableSize = sizeof(kSymopNrTable) / sizeof(SymopDataBlock); } // namespace mmcif )" << std::endl; out.close(); fs::rename(tmpFile, output); } catch (const std::exception& ex) { std::cerr << std::endl << "Program terminated due to error:" << std::endl << ex.what() << std::endl; } return 0; } libcifpp-2.0.5/tools/update-dictionary-script0000664000175000017500000000163314200173347021166 0ustar maartenmaarten#!/bin/bash set -e if [ "$EUID" -ne 0 ] then echo "Please run as root" exit fi if [ -f /etc/libcifpp.conf ] ; then . /etc/libcifpp.conf fi # check to see if we're supposed to run at all if [ "$update" != "true" ] ; then exit fi # if cache directory doesn't exist, exit. if ! [ -d /var/cache/libcifpp ]; then exit fi fetch_dictionary () { dict=$1 source=$2 wget -O${dict}.gz ${source} # be careful not to nuke an existing dictionary file # extract to a temporary file first gunzip -c ${dict}.gz > ${dict}-tmp # then move the extracted file to the final location mv ${dict}-tmp ${dict} # and clean up afterwards rm ${dict}.gz } # fetch the dictionaries fetch_dictionary "/var/cache/libcifpp/mmcif_pdbx_v50.dic" "https://mmcif.wwpdb.org/dictionaries/ascii/mmcif_pdbx_v50.dic.gz" fetch_dictionary "/var/cache/libcifpp/components.cif" "ftp://ftp.wwpdb.org/pub/pdb/data/monomers/components.cif.gz" libcifpp-2.0.5/tools/update-libcifpp-data.in0000775000175000017500000000207214200173347020624 0ustar maartenmaarten#!/bin/bash set -e if [ "$EUID" -ne 0 ] then echo "Please run as root" exit fi if [ -f /etc/libcifpp.conf ] ; then . /etc/libcifpp.conf fi # check to see if we're supposed to run at all if [ "$update" != "true" ] ; then exit fi # if cache directory doesn't exist, exit. if ! [ -d @CIFPP_CACHE_DIR@ ]; then exit fi fetch_dictionary () { dict=$1 source=$2 wget -O${dict}.gz ${source} # be careful not to nuke an existing dictionary file # extract to a temporary file first gunzip -c ${dict}.gz > ${dict}-tmp # then move the extracted file to the final location mv ${dict}-tmp ${dict} # and clean up afterwards rm ${dict}.gz } # fetch the dictionaries fetch_dictionary "@CIFPP_CACHE_DIR@/mmcif_pdbx_v50.dic" "https://mmcif.wwpdb.org/dictionaries/ascii/mmcif_pdbx_v50.dic.gz" fetch_dictionary "@CIFPP_CACHE_DIR@/components.cif" "ftp://ftp.wwpdb.org/pub/pdb/data/monomers/components.cif.gz" # notify subscribers if [ -d /etc/libcifpp/cache-update.d ] && [ -x /bin/run-parts ]; then run-parts --arg "@CIFPP_CACHE_DIR@" -- /etc/libcifpp/cache-update.d fi