diff --git a/.github/actions/setup-deps/action.yaml b/.github/actions/setup-deps/action.yaml index cbfd91df7e1..b1a08cda783 100644 --- a/.github/actions/setup-deps/action.yaml +++ b/.github/actions/setup-deps/action.yaml @@ -23,6 +23,8 @@ inputs: default: 'cython' fasteners: default: 'fasteners' + gemmi: + default: 'gemmi' griddataformats: default: 'griddataformats' gsd: @@ -130,6 +132,7 @@ runs: ${{ inputs.dask }} ${{ inputs.distopia }} ${{ inputs.gsd }} + ${{ inputs.gemmi }} ${{ inputs.h5py }} ${{ inputs.hole2 }} ${{ inputs.joblib }} diff --git a/package/MDAnalysis/coordinates/MMCIF.py b/package/MDAnalysis/coordinates/MMCIF.py new file mode 100644 index 00000000000..0107a52c210 --- /dev/null +++ b/package/MDAnalysis/coordinates/MMCIF.py @@ -0,0 +1,85 @@ +import logging +import warnings + +import numpy as np + +from . import base + +try: + import gemmi + + HAS_GEMMI = True +except ImportError: + HAS_GEMMI = False + +logger = logging.getLogger("MDAnalysis.coordinates.MMCIF") + + +def get_coordinates(model: "gemmi.Model") -> np.ndarray: + """Get coordinates of all atoms in the `gemmi.Model` object. + + Parameters + ---------- + model + input `gemmi.Model`, e.g. `gemmi.read_structure('file.cif')[0]` + + Returns + ------- + np.ndarray, shape [n, 3], where `n` is the number of atoms in the structure. + """ + return np.array( + [[*at.pos.tolist()] for chain in model for res in chain for at in res] + ) + + +class MMCIFReader(base.SingleFrameReaderBase): + """Reads from an MMCIF file using ``gemmi`` library as a backend. + + Notes + ----- + + If the structure represents an ensemble, only the first structure in the ensemble + is read here (and a warning is thrown). Also, if the structure has a placeholder "CRYST1" + record (1, 1, 1, 90, 90, 90), it's set to ``None`` instead. + + .. versionadded:: 2.8.0 + """ + + format = ["cif", "cif.gz", "mmcif"] + units = {"time": None, "length": "Angstrom"} + + def _read_first_frame(self): + structure = gemmi.read_structure(self.filename) + cell_dims = np.array( + [ + getattr(structure.cell, name) + for name in ("a", "b", "c", "alpha", "beta", "gamma") + ] + ) + if len(structure) > 1: + warnings.warn( + f"File {self.filename} has {len(structure)} models, but only the first one will be read" + ) + if len(structure) > 1: + warnings.warn( + "MMCIF model {self.filename} contains {len(model)=} different models, " + "but only the first one will be used to assign the topology" + ) # TODO: if the structures represent timestamps, can parse them with :func:`get_coordinates`. + + model = structure[0] + coords = get_coordinates(model) + self.n_atoms = len(coords) + self.ts = self._Timestep.from_coordinates(coords, **self._ts_kwargs) + if np.allclose(cell_dims, np.array([1.0, 1.0, 1.0, 90.0, 90.0, 90.0])): + warnings.warn( + "1 A^3 CRYST1 record," + " this is usually a placeholder." + " Unit cell dimensions will be set to None." + ) + self.ts.dimensions = None + else: + self.ts.dimensions = cell_dims + self.ts.frame = 0 + + def close(self): + pass diff --git a/package/MDAnalysis/coordinates/__init__.py b/package/MDAnalysis/coordinates/__init__.py index 9b6a7121bc9..1d0488d38ff 100644 --- a/package/MDAnalysis/coordinates/__init__.py +++ b/package/MDAnalysis/coordinates/__init__.py @@ -791,3 +791,4 @@ class can choose an appropriate reader automatically. from . import NAMDBIN from . import FHIAIMS from . import TNG +from . import MMCIF diff --git a/package/MDAnalysis/topology/MMCIFParser.py b/package/MDAnalysis/topology/MMCIFParser.py new file mode 100644 index 00000000000..6367cb88f9f --- /dev/null +++ b/package/MDAnalysis/topology/MMCIFParser.py @@ -0,0 +1,304 @@ +""" +MMCIF Topology Parser # +=================== +""" + +try: + import gemmi +except ImportError: + HAS_GEMMI = False +else: + HAS_GEMMI = True + +import itertools +import warnings + +import numpy as np + +from ..core.topology import Topology +from ..core.topologyattrs import ( + AltLocs, + AtomAttr, + Atomids, + Atomnames, + Atomtypes, + ChainIDs, + Elements, + FormalCharges, + ICodes, + Masses, + Occupancies, + RecordTypes, + Resids, + ResidueAttr, + Resnames, + Resnums, + Segids, + SegmentAttr, + Tempfactors, +) +from .base import TopologyReaderBase + + +def _into_idx(arr: list) -> list[int]: + """Replace consecutive identical elements of an array with their indices. + + Example + ------- + .. code-block:: python + + arr: list[int] = [1, 1, 5, 5, 7, 3, 3] + assert _into_idx(arr) == [0, 0, 1, 1, 2, 3, 3] + + Parameters + ---------- + arr + input array of elements that can be compared with `__eq__` + + Returns + ------- + list[int] -- array where these elements are replaced with their unique indices, in order of appearance. + + .. versionadded:: 2.8.0 + """ + return [ + idx + for idx, (_, group) in enumerate(itertools.groupby(arr)) + for _ in group + ] + + +def get_Atomattrs(model: "gemmi.Model") -> tuple[list[AtomAttr], np.ndarray]: + """Extract all attributes that are subclasses of :class:`..core.topologyattrs.AtomAttr` from a ``gemmi.Model`` object, + and a `residx` index with indices of all atoms in residues. + + Parameters + ---------- + model + input `gemmi.Model`, e.g. `gemmi.read_structure('file.cif')[0]` + + Returns + ------- + tuple[list[AtomAttr], np.ndarray] -- first element is list of all extracted attributes, second element is `segidx` + + Raises + ------ + ValueError + if any of the records is neither 'ATOM' nor 'HETATM' + + .. versionadded:: 2.8.0 + """ + ( + altlocs, # at.altloc + serials, # at.serial + names, # at.name + atomtypes, # at.name + # ------------------ + chainids, # chain.name + elements, # at.element.name + formalcharges, # at.charge + weights, # at.element.weight + # ------------------ + occupancies, # at.occ + record_types, # res.het_flag + tempfactors, # at.b_iso + residx, # _into_idx(res.seqid.num) + ) = map( # this construct takes np.ndarray of all lists of attributes, extracted from the `gemmi.Model` + np.array, + list( + zip( + *[ + ( + # tuple of attributes + # extracted from residue, atom or chain in the structure + # ------------------ + atom.altloc, # altlocs + atom.serial, # serials + atom.name, # names + atom.name, # atomtypes + # ------------------ + chain.name, # chainids + atom.element.name, # elements + atom.charge, # formalcharges + atom.element.weight, # weights + # ------------------ + atom.occ, # occupancies + residue.het_flag, # record_types + atom.b_iso, # tempfactors + residue.seqid.num, # residx, later translated into continious repr + ) + # the main loop over the `gemmi.Model` object + for chain in model + for residue in chain + for atom in residue + ] + ) + ), + ) + + # transform *idx into continious numpy arrays + residx = np.array(_into_idx(residx)) + + # fill in altlocs, since gemmi has '' as default + altlocs = ["A" if not elem else elem for elem in altlocs] + + # convert default gemmi record types to default MDAnalysis record types + record_types = [ + "ATOM" if record == "A" else "HETATM" if record == "H" else None + for record in record_types + ] + if any((elem is None for elem in record_types)): + raise ValueError("Found an atom that is neither ATOM or HETATM") + + attrs = [ + AltLocs(altlocs), + Atomids(serials), + Atomnames(names), + Atomtypes(atomtypes), + # ---------------------------- + ChainIDs(chainids), + Elements(elements), + FormalCharges(formalcharges), + Masses(weights), + # ---------------------------- + Occupancies(occupancies), + RecordTypes(record_types), + Tempfactors(tempfactors), + ] + + return attrs, residx + + +def get_Residueattrs( + model: "gemmi.Model", +) -> tuple[list[ResidueAttr], np.ndarray]: + """Extract all attributes that are subclasses of :class:`..core.topologyattrs.ResidueAttr` from a ``gemmi.Model`` object, + and a `segidx` index witn indices of all residues in segments. + + Parameters + ---------- + model + input `gemmi.Model`, e.g. `gemmi.read_structure('file.cif')[0]` + + Returns + ------- + tuple[list[ResidueAttr], np.ndarray] -- first element is list of all extracted attributes, second element is `segidx` + + .. versionadded:: 2.8.0 + """ + ( + icodes, # residue.seqid.icode + resids, # residue.seqid.num + resnames, # residue.name + segidx, # chain.name + resnums, + ) = map( + np.array, + list( + zip( + *[ + ( + residue.seqid.icode, + residue.seqid.num, + residue.name, + chain.name, + residue.seqid.num, + ) + for chain in model + for residue in chain + ] + ) + ), + ) + segidx = np.array(_into_idx(segidx)) + attrs = [ + Resnums(resnums), + ICodes(icodes), + Resids(resids), + Resnames(resnames), + ] + return attrs, segidx + + +def get_Segmentattrs(model: "gemmi.Model") -> SegmentAttr: + """Extract all attributes that are subclasses of :class:`..core.topologyattrs.SegmentAttr` from a ``gemmi.Model`` object. + + Parameters + ---------- + model + input `gemmi.Model`, e.g. `gemmi.read_structure('file.cif')[0]` + + Returns + ------- + list[SegmentAttr] -- list of all extracted attributes + + .. versionadded:: 2.8.0 + """ + segids = [chain.name for chain in model] + return [Segids(segids)] + + +class MMCIFParser(TopologyReaderBase): + """Parser that obtains a list of atoms from a standard MMCIF/PDBx file using ``gemmi`` library (https://github.com/project-gemmi/gemmi). + + Creates the following Attributes (if present): + - :class:`..core.topologyattrs.AtomAttr` subclasses: + - :class:`..core.topologyattrs.AltLocs` + - :class:`..core.topologyattrs.Atomids` + - :class:`..core.topologyattrs.Atomnames` + - :class:`..core.topologyattrs.Atomtypes` + - :class:`..core.topologyattrs.ChainIDs` + - :class:`..core.topologyattrs.Elements` + - :class:`..core.topologyattrs.FormalCharges` + - :class:`..core.topologyattrs.Masses` + - :class:`..core.topologyattrs.Occupancies` + - :class:`..core.topologyattrs.RecordTypes` + - :class:`..core.topologyattrs.Tempfactors` + - :class:`..core.topologyattrs.ResidueAttr` subclasses: + - :class:`..core.topologyattrs.Resnums` + - :class:`..core.topologyattrs.ICodes` + - :class:`..core.topologyattrs.Resids` + - :class:`..core.topologyattrs.Resnames` + - :class:`..core.topologyattrs.SegmentAttr` subclasses: + - :class:`..core.topologyattrs.Segids` + + .. versionadded:: 2.8.0 + """ + + format = ["cif", "cif.gz", "mmcif"] + + def parse(self, **kwargs): + """Read the file and return the structure. + + Returns + ------- + MDAnalysis Topology object + """ + structure = gemmi.read_structure(self.filename) + + if len(structure) > 1: + warnings.warn( + "MMCIF model {self.filename} contains {len(model)=} different models, " + "but only the first one will be used to assign the topology" + ) + model = structure[0] + + atomAttrs, residx = get_Atomattrs(model) + residAttrs, segidx = get_Residueattrs(model) + segmentAttrs = get_Segmentattrs(model) + + attrs = atomAttrs + residAttrs + segmentAttrs + + # due to the list(map(...)) construction, all elements in array have equal lengths + n_atoms = len(atomAttrs[0]) + n_residues = len(residAttrs[0]) + n_segments = len(segmentAttrs[0]) + + return Topology( + n_atoms, + n_residues, + n_segments, + attrs=attrs, + atom_resindex=residx, + residue_segindex=segidx, + ) diff --git a/package/MDAnalysis/topology/PDBParser.py b/package/MDAnalysis/topology/PDBParser.py index 8349be9133b..ca1a699926e 100644 --- a/package/MDAnalysis/topology/PDBParser.py +++ b/package/MDAnalysis/topology/PDBParser.py @@ -50,9 +50,17 @@ Partial charges are not set. Elements are parsed if they are valid. If partially missing or incorrect, empty records are assigned. +.. Note:: + + You can also use :mod:`~MDAnalysis.topology.MMCIFParser` to parse PDB files + that you're having troubles parsing with standard PDB parser. ``MMCIFParser`` + uses ``gemmi`` library (https://github.com/project-gemmi/gemmi) that is developed + together with RCSB, and might work better for your particular situation. + See Also -------- * :mod:`MDAnalysis.topology.ExtendedPDBParser` +* :mod:`MDAnalysis.topology.MMCIFParser` * :class:`MDAnalysis.coordinates.PDB.PDBReader` * :class:`MDAnalysis.core.universe.Universe` diff --git a/package/MDAnalysis/topology/__init__.py b/package/MDAnalysis/topology/__init__.py index b1b756b5386..57b04bc0173 100644 --- a/package/MDAnalysis/topology/__init__.py +++ b/package/MDAnalysis/topology/__init__.py @@ -332,3 +332,4 @@ from . import MinimalParser from . import ITPParser from . import FHIAIMSParser +from . import MMCIFParser \ No newline at end of file diff --git a/package/MDAnalysis/topology/tpr/utils.py b/package/MDAnalysis/topology/tpr/utils.py index 4e26dbfa565..efcac4111e4 100644 --- a/package/MDAnalysis/topology/tpr/utils.py +++ b/package/MDAnalysis/topology/tpr/utils.py @@ -47,31 +47,43 @@ The module also contains the :func:`do_inputrec` to read the TPR header with. """ +from collections.abc import Callable +from typing import Any import numpy as np from mda_xdrlib import xdrlib import struct +from dataclasses import dataclass from . import obj from . import setting from ..base import squash_by from ...core.topology import Topology from ...core.topologyattrs import ( + AltLocs, Atomids, Atomnames, Atomtypes, Masses, Charges, Elements, + Occupancies, + RecordTypes, Resids, Resnames, Moltypes, Molnums, + Resnums, Segids, ChainIDs, Bonds, Angles, Dihedrals, Impropers, + FormalCharges, + AtomAttr, + ResidueAttr, + SegmentAttr, + Tempfactors, ) diff --git a/package/pyproject.toml b/package/pyproject.toml index cd7ec3a7806..1fe56d94380 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -79,6 +79,7 @@ extra_formats = [ "pytng>=0.2.3", "gsd>3.0.0", "rdkit>=2020.03.1", + "gemmi", # for mmcif format ] analysis = [ "biopython>=1.80", diff --git a/testsuite/MDAnalysisTests/coordinates/test_mmcif.py b/testsuite/MDAnalysisTests/coordinates/test_mmcif.py new file mode 100644 index 00000000000..10b01f465c3 --- /dev/null +++ b/testsuite/MDAnalysisTests/coordinates/test_mmcif.py @@ -0,0 +1,62 @@ +import glob + +import MDAnalysis as mda +import numpy as np +import pytest +from numpy.testing import ( + assert_allclose, + assert_almost_equal, + assert_array_almost_equal, + assert_equal, +) + +from MDAnalysisTests.datafiles import MMCIF as MMCIF_FOLDER +from MDAnalysis.coordinates.MMCIF import HAS_GEMMI + + +@pytest.mark.skipif(not HAS_GEMMI, reason="gemmi not installed") +@pytest.mark.parametrize("mmcif_filename", glob.glob(f"{MMCIF_FOLDER}/*.cif*")) +def test_works_with_explicit_format(mmcif_filename): + u = mda.Universe(mmcif_filename, format="MMCIF") + assert u.trajectory.n_atoms > 0 + + +@pytest.mark.skipif(not HAS_GEMMI, reason="gemmi not installed") +@pytest.mark.parametrize("mmcif_filename", glob.glob(f"{MMCIF_FOLDER}/*.cif*")) +def test_works_without_explicit_format(mmcif_filename): + u = mda.Universe(mmcif_filename) + assert u.trajectory.n_atoms > 0 + + +@pytest.mark.skipif(not HAS_GEMMI, reason="gemmi not installed") +@pytest.mark.parametrize( + "mmcif_filename,natoms_protein,natoms_total", + [ + (f"{MMCIF_FOLDER}/1YJP.cif", 59, 66), + (f"{MMCIF_FOLDER}/1YJP.cif.gz", 59, 66), + (f"{MMCIF_FOLDER}/7ETN.cif", 150, 150), + (f"{MMCIF_FOLDER}/7ETN.cif.gz", 150, 150), + ], +) +def test_n_atoms(mmcif_filename, natoms_protein, natoms_total): + u = mda.Universe(mmcif_filename) + assert len(u.atoms) == natoms_total + assert len(u.select_atoms("protein").atoms) == natoms_protein + + +@pytest.mark.skipif(not HAS_GEMMI, reason="gemmi not installed") +@pytest.mark.parametrize( + "mmcif_filename,cell", + [ + ( + f"{MMCIF_FOLDER}/1YJP.cif.gz", + np.array([21.937, 4.866, 23.477, 90.00, 107.08, 90.00]), + ), + ( + f"{MMCIF_FOLDER}/7ETN.cif.gz", + np.array([5.264, 24.967, 20.736, 90.00, 94.85, 90.00]), + ), + ], +) +def test_cell(mmcif_filename, cell): + assert np.allclose(mda.Universe(mmcif_filename).coord._unitcell, cell) diff --git a/testsuite/MDAnalysisTests/data/mmcif/1YJP.cif b/testsuite/MDAnalysisTests/data/mmcif/1YJP.cif new file mode 100644 index 00000000000..b0e30c0ddc6 --- /dev/null +++ b/testsuite/MDAnalysisTests/data/mmcif/1YJP.cif @@ -0,0 +1,813 @@ +data_1YJP +# +_entry.id 1YJP +# +_audit.revision_id 1 +_audit.creation_date 2005-01-14 +_audit.update_record 'initial release' +# +_audit_conform.dict_name mmcif_pdbx.dic +_audit_conform.dict_version 5.387 +_audit_conform.dict_location http://mmcif.pdb.org/dictionaries/ascii/mmcif_pdbx.dic +# +loop_ +_database_2.database_id +_database_2.database_code +_database_2.pdbx_database_accession +_database_2.pdbx_DOI +PDB 1YJP pdb_00001yjp 10.2210/pdb1yjp/pdb +RCSB RCSB031590 ? ? +WWPDB D_1000031590 ? ? +# +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 +1 'Structure model' 1 0 2005-06-14 +2 'Structure model' 1 1 2008-04-30 +3 'Structure model' 1 2 2011-07-13 +4 'Structure model' 1 3 2017-10-11 +5 'Structure model' 1 4 2024-02-14 +# +_pdbx_audit_revision_details.ordinal 1 +_pdbx_audit_revision_details.revision_ordinal 1 +_pdbx_audit_revision_details.data_content_type 'Structure model' +_pdbx_audit_revision_details.provider repository +_pdbx_audit_revision_details.type 'Initial release' +_pdbx_audit_revision_details.description ? +_pdbx_audit_revision_details.details ? +# +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' 'Version format compliance' +2 3 'Structure model' 'Version format compliance' +3 4 'Structure model' 'Refinement description' +4 5 'Structure model' 'Data collection' +5 5 'Structure model' 'Database references' +# +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 4 'Structure model' software +2 5 'Structure model' chem_comp_atom +3 5 'Structure model' chem_comp_bond +4 5 'Structure model' database_2 +# +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 5 'Structure model' '_database_2.pdbx_DOI' +2 5 'Structure model' '_database_2.pdbx_database_accession' +# +_pdbx_database_status.entry_id 1YJP +_pdbx_database_status.deposit_site RCSB +_pdbx_database_status.process_site RCSB +_pdbx_database_status.recvd_initial_deposition_date 2005-01-15 +_pdbx_database_status.status_code REL +_pdbx_database_status.status_code_sf REL +_pdbx_database_status.status_code_mr ? +_pdbx_database_status.SG_entry ? +_pdbx_database_status.pdb_format_compatible Y +_pdbx_database_status.status_code_cs ? +_pdbx_database_status.methods_development_category ? +_pdbx_database_status.status_code_nmr_data ? +# +_pdbx_database_related.db_name PDB +_pdbx_database_related.db_id 1YJO +_pdbx_database_related.details . +_pdbx_database_related.content_type unspecified +# +loop_ +_audit_author.name +_audit_author.pdbx_ordinal +'Nelson, R.' 1 +'Sawaya, M.R.' 2 +'Balbirnie, M.' 3 +'Madsen, A.O.' 4 +'Riekel, C.' 5 +'Grothe, R.' 6 +'Eisenberg, D.' 7 +# +loop_ +_citation.id +_citation.title +_citation.journal_abbrev +_citation.journal_volume +_citation.page_first +_citation.page_last +_citation.year +_citation.journal_id_ASTM +_citation.country +_citation.journal_id_ISSN +_citation.journal_id_CSD +_citation.book_publisher +_citation.pdbx_database_id_PubMed +_citation.pdbx_database_id_DOI +primary 'Structure of the cross-beta spine of amyloid-like fibrils.' Nature 435 773 778 2005 +NATUAS UK 0028-0836 0006 ? 15944695 10.1038/nature03680 +1 'Refinement of Macromolecular Structures by the Maximum-Likelihood Method' 'Acta Crystallogr.,Sect.D' 53 240 255 1997 +ABCRE6 DK 0907-4449 0766 ? ? ? +# +loop_ +_citation_author.citation_id +_citation_author.name +_citation_author.ordinal +_citation_author.identifier_ORCID +primary 'Nelson, R.' 1 ? +primary 'Sawaya, M.R.' 2 ? +primary 'Balbirnie, M.' 3 ? +primary 'Madsen, A.O.' 4 ? +primary 'Riekel, C.' 5 ? +primary 'Grothe, R.' 6 ? +primary 'Eisenberg, D.' 7 ? +1 'Murshudov, G.N.' 8 ? +1 'Vagin, A.A.' 9 ? +1 'Dodson, E.J.' 10 ? +# +loop_ +_entity.id +_entity.type +_entity.src_method +_entity.pdbx_description +_entity.formula_weight +_entity.pdbx_number_of_molecules +_entity.pdbx_ec +_entity.pdbx_mutation +_entity.pdbx_fragment +_entity.details +1 polymer syn 'Eukaryotic peptide chain release factor GTP-binding subunit' 836.807 1 ? ? 'prion determining domain of Sup35' ? +2 water nat water 18.015 7 ? ? ? ? +# +_entity_name_com.entity_id 1 +_entity_name_com.name +'ERF2, Translation release factor 3, ERF3, ERF-3, Omnipotent suppressor protein 2, G1 to S phase transition protein 1' +# +_entity_poly.entity_id 1 +_entity_poly.type 'polypeptide(L)' +_entity_poly.nstd_linkage no +_entity_poly.nstd_monomer no +_entity_poly.pdbx_seq_one_letter_code GNNQQNY +_entity_poly.pdbx_seq_one_letter_code_can GNNQQNY +_entity_poly.pdbx_strand_id A +_entity_poly.pdbx_target_identifier ? +# +_pdbx_entity_nonpoly.entity_id 2 +_pdbx_entity_nonpoly.name water +_pdbx_entity_nonpoly.comp_id HOH +# +loop_ +_entity_poly_seq.entity_id +_entity_poly_seq.num +_entity_poly_seq.mon_id +_entity_poly_seq.hetero +1 1 GLY n +1 2 ASN n +1 3 ASN n +1 4 GLN n +1 5 GLN n +1 6 ASN n +1 7 TYR n +# +_pdbx_entity_src_syn.entity_id 1 +_pdbx_entity_src_syn.pdbx_src_id 1 +_pdbx_entity_src_syn.pdbx_alt_source_flag sample +_pdbx_entity_src_syn.pdbx_beg_seq_num ? +_pdbx_entity_src_syn.pdbx_end_seq_num ? +_pdbx_entity_src_syn.organism_scientific ? +_pdbx_entity_src_syn.organism_common_name ? +_pdbx_entity_src_syn.ncbi_taxonomy_id ? +_pdbx_entity_src_syn.details 'This sequence is from the prion determining domain of Saccharomyces cerevisiae Sup35' +# +loop_ +_chem_comp.id +_chem_comp.type +_chem_comp.mon_nstd_flag +_chem_comp.name +_chem_comp.pdbx_synonyms +_chem_comp.formula +_chem_comp.formula_weight +ASN 'L-peptide linking' y ASPARAGINE ? 'C4 H8 N2 O3' 132.118 +GLN 'L-peptide linking' y GLUTAMINE ? 'C5 H10 N2 O3' 146.144 +GLY 'peptide linking' y GLYCINE ? 'C2 H5 N O2' 75.067 +HOH non-polymer . WATER ? 'H2 O' 18.015 +TYR 'L-peptide linking' y TYROSINE ? 'C9 H11 N O3' 181.189 +# +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 +_pdbx_poly_seq_scheme.hetero +A 1 1 GLY 1 1 1 GLY GLY A . n +A 1 2 ASN 2 2 2 ASN ASN A . n +A 1 3 ASN 3 3 3 ASN ASN A . n +A 1 4 GLN 4 4 4 GLN GLN A . n +A 1 5 GLN 5 5 5 GLN GLN A . n +A 1 6 ASN 6 6 6 ASN ASN A . n +A 1 7 TYR 7 7 7 TYR TYR A . n +# +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 +B 2 HOH 1 8 8 HOH HOH A . +B 2 HOH 2 9 9 HOH HOH A . +B 2 HOH 3 10 10 HOH HOH A . +B 2 HOH 4 11 11 HOH HOH A . +B 2 HOH 5 12 12 HOH HOH A . +B 2 HOH 6 13 13 HOH HOH A . +B 2 HOH 7 14 14 HOH HOH A . +# +loop_ +_software.name +_software.version +_software.date +_software.type +_software.contact_author +_software.contact_author_email +_software.classification +_software.location +_software.language +_software.citation_id +_software.pdbx_ordinal +REFMAC . ? program 'Murshudov, G.N.' ccp4@dl.ac.uk refinement http://www.ccp4.ac.uk/main.html Fortran ? 1 +DENZO . ? ? ? ? 'data reduction' ? ? ? 2 +SCALEPACK . ? ? ? ? 'data scaling' ? ? ? 3 +# +_cell.entry_id 1YJP +_cell.length_a 21.937 +_cell.length_b 4.866 +_cell.length_c 23.477 +_cell.angle_alpha 90.00 +_cell.angle_beta 107.08 +_cell.angle_gamma 90.00 +_cell.Z_PDB 2 +_cell.pdbx_unique_axis ? +# +_symmetry.entry_id 1YJP +_symmetry.space_group_name_H-M 'P 1 21 1' +_symmetry.pdbx_full_space_group_name_H-M ? +_symmetry.cell_setting ? +_symmetry.Int_Tables_number 4 +_symmetry.space_group_name_Hall ? +# +_exptl.method 'X-RAY DIFFRACTION' +_exptl.entry_id 1YJP +_exptl.crystals_number 1 +# +_exptl_crystal.id 1 +_exptl_crystal.density_meas ? +_exptl_crystal.density_percent_sol 14.03 +_exptl_crystal.density_Matthews 1.43 +_exptl_crystal.description ? +_exptl_crystal.F_000 ? +_exptl_crystal.preparation ? +# +_exptl_crystal_grow.crystal_id 1 +_exptl_crystal_grow.method 'VAPOR DIFFUSION, HANGING DROP' +_exptl_crystal_grow.pH 7 +_exptl_crystal_grow.temp 298 +_exptl_crystal_grow.temp_details ? +_exptl_crystal_grow.pdbx_details 'water, pH 7, VAPOR DIFFUSION, HANGING DROP, temperature 298K' +_exptl_crystal_grow.pdbx_pH_range . +# +_diffrn.id 1 +_diffrn.ambient_temp 100 +_diffrn.ambient_temp_details ? +_diffrn.crystal_id 1 +# +_diffrn_detector.diffrn_id 1 +_diffrn_detector.detector CCD +_diffrn_detector.type MARRESEARCH +_diffrn_detector.pdbx_collection_date 2004-06-12 +_diffrn_detector.details 'Ellipsoidal Mirror' +# +_diffrn_radiation.diffrn_id 1 +_diffrn_radiation.wavelength_id 1 +_diffrn_radiation.pdbx_diffrn_protocol 'SINGLE WAVELENGTH' +_diffrn_radiation.monochromator 'channel-cut Si-111 monochromator' +_diffrn_radiation.pdbx_monochromatic_or_laue_m_l M +_diffrn_radiation.pdbx_scattering_type x-ray +# +_diffrn_radiation_wavelength.id 1 +_diffrn_radiation_wavelength.wavelength 0.975 +_diffrn_radiation_wavelength.wt 1.0 +# +_diffrn_source.diffrn_id 1 +_diffrn_source.source SYNCHROTRON +_diffrn_source.type 'ESRF BEAMLINE ID13' +_diffrn_source.pdbx_wavelength 0.975 +_diffrn_source.pdbx_wavelength_list 0.975 +_diffrn_source.pdbx_synchrotron_site ESRF +_diffrn_source.pdbx_synchrotron_beamline ID13 +# +_reflns.d_resolution_low 80.00 +_reflns.d_resolution_high 1.80 +_reflns.number_obs 509 +_reflns.percent_possible_obs 89.5 +_reflns.pdbx_Rmerge_I_obs 0.204 +_reflns.pdbx_chi_squared 1.057 +_reflns.entry_id 1YJP +_reflns.observed_criterion_sigma_F 0 +_reflns.observed_criterion_sigma_I 0 +_reflns.number_all 509 +_reflns.pdbx_Rsym_value ? +_reflns.pdbx_netI_over_sigmaI 3.75 +_reflns.B_iso_Wilson_estimate 45.6 +_reflns.pdbx_redundancy 2.0 +_reflns.R_free_details ? +_reflns.limit_h_max ? +_reflns.limit_h_min ? +_reflns.limit_k_max ? +_reflns.limit_k_min ? +_reflns.limit_l_max ? +_reflns.limit_l_min ? +_reflns.observed_criterion_F_max ? +_reflns.observed_criterion_F_min ? +_reflns.pdbx_scaling_rejects ? +_reflns.pdbx_diffrn_id 1 +_reflns.pdbx_ordinal 1 +# +_reflns_shell.d_res_low 1.94 +_reflns_shell.d_res_high 1.80 +_reflns_shell.number_unique_all 85 +_reflns_shell.percent_possible_all 84.2 +_reflns_shell.Rmerge_I_obs 0.491 +_reflns_shell.pdbx_redundancy ? +_reflns_shell.pdbx_chi_squared 1.092 +_reflns_shell.number_unique_obs ? +_reflns_shell.meanI_over_sigI_obs 1.5 +_reflns_shell.pdbx_Rsym_value ? +_reflns_shell.percent_possible_obs ? +_reflns_shell.number_measured_all ? +_reflns_shell.number_measured_obs ? +_reflns_shell.pdbx_diffrn_id ? +_reflns_shell.pdbx_ordinal 1 +# +_refine.entry_id 1YJP +_refine.ls_d_res_high 1.80 +_refine.ls_d_res_low 22.44 +_refine.pdbx_ls_sigma_F 0 +_refine.pdbx_ls_sigma_I 0 +_refine.ls_number_reflns_all 474 +_refine.ls_number_reflns_obs 474 +_refine.ls_number_reflns_R_free 20 +_refine.ls_percent_reflns_obs ? +_refine.ls_R_factor_all 0.18139 +_refine.ls_R_factor_obs 0.18139 +_refine.ls_R_factor_R_work 0.18086 +_refine.ls_R_factor_R_free 0.19014 +_refine.ls_redundancy_reflns_obs ? +_refine.pdbx_data_cutoff_high_absF ? +_refine.pdbx_data_cutoff_low_absF ? +_refine.ls_number_parameters ? +_refine.ls_number_restraints ? +_refine.ls_percent_reflns_R_free ? +_refine.ls_R_factor_R_free_error ? +_refine.ls_R_factor_R_free_error_details ? +_refine.pdbx_method_to_determine_struct 'FOURIER SYNTHESIS' +_refine.pdbx_starting_model ? +_refine.pdbx_ls_cross_valid_method THROUGHOUT +_refine.pdbx_R_Free_selection_details RANDOM +_refine.pdbx_stereochem_target_val_spec_case ? +_refine.pdbx_stereochemistry_target_values 'Engh & Huber' +_refine.solvent_model_details ? +_refine.solvent_model_param_bsol ? +_refine.solvent_model_param_ksol ? +_refine.occupancy_max ? +_refine.occupancy_min ? +_refine.pdbx_isotropic_thermal_model ? +_refine.B_iso_mean ? +_refine.aniso_B[1][1] ? +_refine.aniso_B[1][2] ? +_refine.aniso_B[1][3] ? +_refine.aniso_B[2][2] ? +_refine.aniso_B[2][3] ? +_refine.aniso_B[3][3] ? +_refine.details ? +_refine.B_iso_min ? +_refine.B_iso_max ? +_refine.correlation_coeff_Fo_to_Fc ? +_refine.correlation_coeff_Fo_to_Fc_free ? +_refine.pdbx_solvent_vdw_probe_radii ? +_refine.pdbx_solvent_ion_probe_radii ? +_refine.pdbx_solvent_shrinkage_radii ? +_refine.overall_SU_R_Cruickshank_DPI ? +_refine.overall_SU_R_free ? +_refine.overall_SU_B ? +_refine.overall_SU_ML ? +_refine.pdbx_overall_ESU_R ? +_refine.pdbx_overall_ESU_R_Free ? +_refine.pdbx_data_cutoff_high_rms_absF ? +_refine.ls_wR_factor_R_free ? +_refine.ls_wR_factor_R_work ? +_refine.overall_FOM_free_R_set ? +_refine.overall_FOM_work_R_set ? +_refine.pdbx_refine_id 'X-RAY DIFFRACTION' +_refine.pdbx_diffrn_id 1 +_refine.pdbx_TLS_residual_ADP_flag ? +_refine.pdbx_overall_phase_error ? +_refine.pdbx_overall_SU_R_free_Cruickshank_DPI ? +_refine.pdbx_overall_SU_R_Blow_DPI ? +_refine.pdbx_overall_SU_R_free_Blow_DPI ? +# +_refine_hist.pdbx_refine_id 'X-RAY DIFFRACTION' +_refine_hist.cycle_id LAST +_refine_hist.pdbx_number_atoms_protein 59 +_refine_hist.pdbx_number_atoms_nucleic_acid 0 +_refine_hist.pdbx_number_atoms_ligand 0 +_refine_hist.number_atoms_solvent 7 +_refine_hist.number_atoms_total 66 +_refine_hist.d_res_high 1.80 +_refine_hist.d_res_low 22.44 +# +loop_ +_refine_ls_restr.type +_refine_ls_restr.dev_ideal +_refine_ls_restr.dev_ideal_target +_refine_ls_restr.number +_refine_ls_restr.weight +_refine_ls_restr.pdbx_refine_id +_refine_ls_restr.pdbx_restraint_function +r_angle_refined_deg 1.228 ? ? ? 'X-RAY DIFFRACTION' ? +r_bond_refined_d 0.014 ? ? ? 'X-RAY DIFFRACTION' ? +# +_struct.entry_id 1YJP +_struct.title 'Structure of GNNQQNY from yeast prion Sup35' +_struct.pdbx_model_details ? +_struct.pdbx_CASP_flag ? +_struct.pdbx_model_type_details ? +# +_struct_keywords.entry_id 1YJP +_struct_keywords.pdbx_keywords 'PROTEIN BINDING' +_struct_keywords.text 'beta sheet, steric zipper, glutamine zipper, asparagine zipper, PROTEIN BINDING' +# +loop_ +_struct_asym.id +_struct_asym.pdbx_blank_PDB_chainid_flag +_struct_asym.pdbx_modified +_struct_asym.entity_id +_struct_asym.details +A N N 1 ? +B N N 2 ? +# +_struct_ref.id 1 +_struct_ref.db_name UNP +_struct_ref.db_code ERF2_YEAST +_struct_ref.pdbx_db_accession P05453 +_struct_ref.entity_id 1 +_struct_ref.pdbx_seq_one_letter_code GNNQQNY +_struct_ref.pdbx_align_begin 7 +_struct_ref.pdbx_db_isoform ? +# +_struct_ref_seq.align_id 1 +_struct_ref_seq.ref_id 1 +_struct_ref_seq.pdbx_PDB_id_code 1YJP +_struct_ref_seq.pdbx_strand_id A +_struct_ref_seq.seq_align_beg 1 +_struct_ref_seq.pdbx_seq_align_beg_ins_code ? +_struct_ref_seq.seq_align_end 7 +_struct_ref_seq.pdbx_seq_align_end_ins_code ? +_struct_ref_seq.pdbx_db_accession P05453 +_struct_ref_seq.db_align_beg 7 +_struct_ref_seq.pdbx_db_align_beg_ins_code ? +_struct_ref_seq.db_align_end 13 +_struct_ref_seq.pdbx_db_align_end_ins_code ? +_struct_ref_seq.pdbx_auth_seq_align_beg 1 +_struct_ref_seq.pdbx_auth_seq_align_end 7 +# +_pdbx_struct_assembly.id 1 +_pdbx_struct_assembly.details author_defined_assembly +_pdbx_struct_assembly.method_details ? +_pdbx_struct_assembly.oligomeric_details dimeric +_pdbx_struct_assembly.oligomeric_count 2 +# +_pdbx_struct_assembly_gen.assembly_id 1 +_pdbx_struct_assembly_gen.oper_expression 1,2 +_pdbx_struct_assembly_gen.asym_id_list A,B +# +loop_ +_pdbx_struct_oper_list.id +_pdbx_struct_oper_list.type +_pdbx_struct_oper_list.name +_pdbx_struct_oper_list.symmetry_operation +_pdbx_struct_oper_list.matrix[1][1] +_pdbx_struct_oper_list.matrix[1][2] +_pdbx_struct_oper_list.matrix[1][3] +_pdbx_struct_oper_list.vector[1] +_pdbx_struct_oper_list.matrix[2][1] +_pdbx_struct_oper_list.matrix[2][2] +_pdbx_struct_oper_list.matrix[2][3] +_pdbx_struct_oper_list.vector[2] +_pdbx_struct_oper_list.matrix[3][1] +_pdbx_struct_oper_list.matrix[3][2] +_pdbx_struct_oper_list.matrix[3][3] +_pdbx_struct_oper_list.vector[3] +1 'identity operation' 1_555 x,y,z 1.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 1.0000000000 +0.0000000000 0.0000000000 0.0000000000 0.0000000000 1.0000000000 0.0000000000 +2 'crystal symmetry operation' 2_555 -x,y+1/2,-z -1.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000 1.0000000000 +0.0000000000 2.4330000000 0.0000000000 0.0000000000 -1.0000000000 0.0000000000 +# +_pdbx_database_remark.id 300 +_pdbx_database_remark.text +;BIOMOLECULE: 1 +THIS ENTRY CONTAINS THE CRYSTALLOGRAPHIC ASYMMETRIC UNIT +WHICH CONSISTS OF 1 CHAIN(S). The second beta strand of +the beta sandwich is generated as described in remark 350. +Beta sheets are generated from unit cell translations +along the unit cell b dimension: x,y+1,z. +; +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_ordinal +ASN N N N N 1 +ASN CA C N S 2 +ASN C C N N 3 +ASN O O N N 4 +ASN CB C N N 5 +ASN CG C N N 6 +ASN OD1 O N N 7 +ASN ND2 N N N 8 +ASN OXT O N N 9 +ASN H H N N 10 +ASN H2 H N N 11 +ASN HA H N N 12 +ASN HB2 H N N 13 +ASN HB3 H N N 14 +ASN HD21 H N N 15 +ASN HD22 H N N 16 +ASN HXT H N N 17 +GLN N N N N 18 +GLN CA C N S 19 +GLN C C N N 20 +GLN O O N N 21 +GLN CB C N N 22 +GLN CG C N N 23 +GLN CD C N N 24 +GLN OE1 O N N 25 +GLN NE2 N N N 26 +GLN OXT O N N 27 +GLN H H N N 28 +GLN H2 H N N 29 +GLN HA H N N 30 +GLN HB2 H N N 31 +GLN HB3 H N N 32 +GLN HG2 H N N 33 +GLN HG3 H N N 34 +GLN HE21 H N N 35 +GLN HE22 H N N 36 +GLN HXT H N N 37 +GLY N N N N 38 +GLY CA C N N 39 +GLY C C N N 40 +GLY O O N N 41 +GLY OXT O N N 42 +GLY H H N N 43 +GLY H2 H N N 44 +GLY HA2 H N N 45 +GLY HA3 H N N 46 +GLY HXT H N N 47 +HOH O O N N 48 +HOH H1 H N N 49 +HOH H2 H N N 50 +TYR N N N N 51 +TYR CA C N S 52 +TYR C C N N 53 +TYR O O N N 54 +TYR CB C N N 55 +TYR CG C Y N 56 +TYR CD1 C Y N 57 +TYR CD2 C Y N 58 +TYR CE1 C Y N 59 +TYR CE2 C Y N 60 +TYR CZ C Y N 61 +TYR OH O N N 62 +TYR OXT O N N 63 +TYR H H N N 64 +TYR H2 H N N 65 +TYR HA H N N 66 +TYR HB2 H N N 67 +TYR HB3 H N N 68 +TYR HD1 H N N 69 +TYR HD2 H N N 70 +TYR HE1 H N N 71 +TYR HE2 H N N 72 +TYR HH H N N 73 +TYR HXT H N N 74 +# +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 +GLN N CA sing N N 17 +GLN N H sing N N 18 +GLN N H2 sing N N 19 +GLN CA C sing N N 20 +GLN CA CB sing N N 21 +GLN CA HA sing N N 22 +GLN C O doub N N 23 +GLN C OXT sing N N 24 +GLN CB CG sing N N 25 +GLN CB HB2 sing N N 26 +GLN CB HB3 sing N N 27 +GLN CG CD sing N N 28 +GLN CG HG2 sing N N 29 +GLN CG HG3 sing N N 30 +GLN CD OE1 doub N N 31 +GLN CD NE2 sing N N 32 +GLN NE2 HE21 sing N N 33 +GLN NE2 HE22 sing N N 34 +GLN OXT HXT sing N N 35 +GLY N CA sing N N 36 +GLY N H sing N N 37 +GLY N H2 sing N N 38 +GLY CA C sing N N 39 +GLY CA HA2 sing N N 40 +GLY CA HA3 sing N N 41 +GLY C O doub N N 42 +GLY C OXT sing N N 43 +GLY OXT HXT sing N N 44 +HOH O H1 sing N N 45 +HOH O H2 sing N N 46 +TYR N CA sing N N 47 +TYR N H sing N N 48 +TYR N H2 sing N N 49 +TYR CA C sing N N 50 +TYR CA CB sing N N 51 +TYR CA HA sing N N 52 +TYR C O doub N N 53 +TYR C OXT sing N N 54 +TYR CB CG sing N N 55 +TYR CB HB2 sing N N 56 +TYR CB HB3 sing N N 57 +TYR CG CD1 doub Y N 58 +TYR CG CD2 sing Y N 59 +TYR CD1 CE1 sing Y N 60 +TYR CD1 HD1 sing N N 61 +TYR CD2 CE2 doub Y N 62 +TYR CD2 HD2 sing N N 63 +TYR CE1 CZ doub Y N 64 +TYR CE1 HE1 sing N N 65 +TYR CE2 CZ sing Y N 66 +TYR CE2 HE2 sing N N 67 +TYR CZ OH sing N N 68 +TYR OH HH sing N N 69 +TYR OXT HXT sing N N 70 +# +_atom_sites.entry_id 1YJP +_atom_sites.fract_transf_matrix[1][1] 0.045585 +_atom_sites.fract_transf_matrix[1][2] 0.000000 +_atom_sites.fract_transf_matrix[1][3] 0.014006 +_atom_sites.fract_transf_matrix[2][1] 0.000000 +_atom_sites.fract_transf_matrix[2][2] 0.205508 +_atom_sites.fract_transf_matrix[2][3] 0.000000 +_atom_sites.fract_transf_matrix[3][1] 0.000000 +_atom_sites.fract_transf_matrix[3][2] 0.000000 +_atom_sites.fract_transf_matrix[3][3] 0.044560 +_atom_sites.fract_transf_vector[1] 0.00000 +_atom_sites.fract_transf_vector[2] 0.00000 +_atom_sites.fract_transf_vector[3] 0.00000 +# +loop_ +_atom_type.symbol +C +N +O +# +loop_ +_atom_site.group_PDB +_atom_site.id +_atom_site.type_symbol +_atom_site.label_atom_id +_atom_site.label_alt_id +_atom_site.label_comp_id +_atom_site.label_asym_id +_atom_site.label_entity_id +_atom_site.label_seq_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 +_atom_site.auth_seq_id +_atom_site.auth_comp_id +_atom_site.auth_asym_id +_atom_site.auth_atom_id +_atom_site.pdbx_PDB_model_num +ATOM 1 N N . GLY A 1 1 ? -9.009 4.612 6.102 1.00 16.77 ? 1 GLY A N 1 +ATOM 2 C CA . GLY A 1 1 ? -9.052 4.207 4.651 1.00 16.57 ? 1 GLY A CA 1 +ATOM 3 C C . GLY A 1 1 ? -8.015 3.140 4.419 1.00 16.16 ? 1 GLY A C 1 +ATOM 4 O O . GLY A 1 1 ? -7.523 2.521 5.381 1.00 16.78 ? 1 GLY A O 1 +ATOM 5 N N . ASN A 1 2 ? -7.656 2.923 3.155 1.00 15.02 ? 2 ASN A N 1 +ATOM 6 C CA . ASN A 1 2 ? -6.522 2.038 2.831 1.00 14.10 ? 2 ASN A CA 1 +ATOM 7 C C . ASN A 1 2 ? -5.241 2.537 3.427 1.00 13.13 ? 2 ASN A C 1 +ATOM 8 O O . ASN A 1 2 ? -4.978 3.742 3.426 1.00 11.91 ? 2 ASN A O 1 +ATOM 9 C CB . ASN A 1 2 ? -6.346 1.881 1.341 1.00 15.38 ? 2 ASN A CB 1 +ATOM 10 C CG . ASN A 1 2 ? -7.584 1.342 0.692 1.00 14.08 ? 2 ASN A CG 1 +ATOM 11 O OD1 . ASN A 1 2 ? -8.025 0.227 1.016 1.00 17.46 ? 2 ASN A OD1 1 +ATOM 12 N ND2 . ASN A 1 2 ? -8.204 2.155 -0.169 1.00 11.72 ? 2 ASN A ND2 1 +ATOM 13 N N . ASN A 1 3 ? -4.438 1.590 3.905 1.00 12.26 ? 3 ASN A N 1 +ATOM 14 C CA . ASN A 1 3 ? -3.193 1.904 4.589 1.00 11.74 ? 3 ASN A CA 1 +ATOM 15 C C . ASN A 1 3 ? -1.955 1.332 3.895 1.00 11.10 ? 3 ASN A C 1 +ATOM 16 O O . ASN A 1 3 ? -1.872 0.119 3.648 1.00 10.42 ? 3 ASN A O 1 +ATOM 17 C CB . ASN A 1 3 ? -3.259 1.378 6.042 1.00 12.15 ? 3 ASN A CB 1 +ATOM 18 C CG . ASN A 1 3 ? -2.006 1.739 6.861 1.00 12.82 ? 3 ASN A CG 1 +ATOM 19 O OD1 . ASN A 1 3 ? -1.702 2.925 7.072 1.00 15.05 ? 3 ASN A OD1 1 +ATOM 20 N ND2 . ASN A 1 3 ? -1.271 0.715 7.306 1.00 13.48 ? 3 ASN A ND2 1 +ATOM 21 N N . GLN A 1 4 ? -1.005 2.228 3.598 1.00 10.29 ? 4 GLN A N 1 +ATOM 22 C CA . GLN A 1 4 ? 0.384 1.888 3.199 1.00 10.53 ? 4 GLN A CA 1 +ATOM 23 C C . GLN A 1 4 ? 1.435 2.606 4.088 1.00 10.24 ? 4 GLN A C 1 +ATOM 24 O O . GLN A 1 4 ? 1.547 3.843 4.115 1.00 8.86 ? 4 GLN A O 1 +ATOM 25 C CB . GLN A 1 4 ? 0.656 2.148 1.711 1.00 9.80 ? 4 GLN A CB 1 +ATOM 26 C CG . GLN A 1 4 ? 1.944 1.458 1.213 1.00 10.25 ? 4 GLN A CG 1 +ATOM 27 C CD . GLN A 1 4 ? 2.504 2.044 -0.089 1.00 12.43 ? 4 GLN A CD 1 +ATOM 28 O OE1 . GLN A 1 4 ? 2.744 3.268 -0.190 1.00 14.62 ? 4 GLN A OE1 1 +ATOM 29 N NE2 . GLN A 1 4 ? 2.750 1.161 -1.091 1.00 9.05 ? 4 GLN A NE2 1 +ATOM 30 N N . GLN A 1 5 ? 2.154 1.821 4.871 1.00 10.38 ? 5 GLN A N 1 +ATOM 31 C CA . GLN A 1 5 ? 3.270 2.361 5.640 1.00 11.39 ? 5 GLN A CA 1 +ATOM 32 C C . GLN A 1 5 ? 4.594 1.768 5.172 1.00 11.52 ? 5 GLN A C 1 +ATOM 33 O O . GLN A 1 5 ? 4.768 0.546 5.054 1.00 12.05 ? 5 GLN A O 1 +ATOM 34 C CB . GLN A 1 5 ? 3.056 2.183 7.147 1.00 11.96 ? 5 GLN A CB 1 +ATOM 35 C CG . GLN A 1 5 ? 1.829 2.950 7.647 1.00 10.81 ? 5 GLN A CG 1 +ATOM 36 C CD . GLN A 1 5 ? 1.344 2.414 8.954 1.00 13.10 ? 5 GLN A CD 1 +ATOM 37 O OE1 . GLN A 1 5 ? 0.774 1.325 9.002 1.00 10.65 ? 5 GLN A OE1 1 +ATOM 38 N NE2 . GLN A 1 5 ? 1.549 3.187 10.039 1.00 12.30 ? 5 GLN A NE2 1 +ATOM 39 N N . ASN A 1 6 ? 5.514 2.664 4.856 1.00 11.99 ? 6 ASN A N 1 +ATOM 40 C CA . ASN A 1 6 ? 6.831 2.310 4.318 1.00 12.30 ? 6 ASN A CA 1 +ATOM 41 C C . ASN A 1 6 ? 7.854 2.761 5.324 1.00 13.40 ? 6 ASN A C 1 +ATOM 42 O O . ASN A 1 6 ? 8.219 3.943 5.374 1.00 13.92 ? 6 ASN A O 1 +ATOM 43 C CB . ASN A 1 6 ? 7.065 3.016 2.993 1.00 12.13 ? 6 ASN A CB 1 +ATOM 44 C CG . ASN A 1 6 ? 5.961 2.735 2.003 1.00 12.77 ? 6 ASN A CG 1 +ATOM 45 O OD1 . ASN A 1 6 ? 5.798 1.604 1.551 1.00 14.27 ? 6 ASN A OD1 1 +ATOM 46 N ND2 . ASN A 1 6 ? 5.195 3.747 1.679 1.00 10.07 ? 6 ASN A ND2 1 +ATOM 47 N N . TYR A 1 7 ? 8.292 1.817 6.147 1.00 14.70 ? 7 TYR A N 1 +ATOM 48 C CA . TYR A 1 7 ? 9.159 2.144 7.299 1.00 15.18 ? 7 TYR A CA 1 +ATOM 49 C C . TYR A 1 7 ? 10.603 2.331 6.885 1.00 15.91 ? 7 TYR A C 1 +ATOM 50 O O . TYR A 1 7 ? 11.041 1.811 5.855 1.00 15.76 ? 7 TYR A O 1 +ATOM 51 C CB . TYR A 1 7 ? 9.061 1.065 8.369 1.00 15.35 ? 7 TYR A CB 1 +ATOM 52 C CG . TYR A 1 7 ? 7.665 0.929 8.902 1.00 14.45 ? 7 TYR A CG 1 +ATOM 53 C CD1 . TYR A 1 7 ? 6.771 0.021 8.327 1.00 15.68 ? 7 TYR A CD1 1 +ATOM 54 C CD2 . TYR A 1 7 ? 7.210 1.756 9.920 1.00 14.80 ? 7 TYR A CD2 1 +ATOM 55 C CE1 . TYR A 1 7 ? 5.480 -0.094 8.796 1.00 13.46 ? 7 TYR A CE1 1 +ATOM 56 C CE2 . TYR A 1 7 ? 5.904 1.649 10.416 1.00 14.33 ? 7 TYR A CE2 1 +ATOM 57 C CZ . TYR A 1 7 ? 5.047 0.729 9.831 1.00 15.09 ? 7 TYR A CZ 1 +ATOM 58 O OH . TYR A 1 7 ? 3.766 0.589 10.291 1.00 14.39 ? 7 TYR A OH 1 +ATOM 59 O OXT . TYR A 1 7 ? 11.358 2.999 7.612 1.00 17.49 ? 7 TYR A OXT 1 +HETATM 60 O O . HOH B 2 . ? -6.471 5.227 7.124 1.00 22.62 ? 8 HOH A O 1 +HETATM 61 O O . HOH B 2 . ? 10.431 1.858 3.216 1.00 19.71 ? 9 HOH A O 1 +HETATM 62 O O . HOH B 2 . ? -11.286 1.756 -1.468 1.00 17.08 ? 10 HOH A O 1 +HETATM 63 O O . HOH B 2 . ? 11.808 4.179 9.970 1.00 23.99 ? 11 HOH A O 1 +HETATM 64 O O . HOH B 2 . ? 13.605 1.327 9.198 1.00 26.17 ? 12 HOH A O 1 +HETATM 65 O O . HOH B 2 . ? -2.749 3.429 10.024 1.00 39.15 ? 13 HOH A O 1 +HETATM 66 O O . HOH B 2 . ? -1.500 0.682 10.967 1.00 43.49 ? 14 HOH A O 1 +# diff --git a/testsuite/MDAnalysisTests/data/mmcif/1YJP.cif.gz b/testsuite/MDAnalysisTests/data/mmcif/1YJP.cif.gz new file mode 100644 index 00000000000..5bb72507515 Binary files /dev/null and b/testsuite/MDAnalysisTests/data/mmcif/1YJP.cif.gz differ diff --git a/testsuite/MDAnalysisTests/data/mmcif/7ETN.cif b/testsuite/MDAnalysisTests/data/mmcif/7ETN.cif new file mode 100644 index 00000000000..944c4838572 --- /dev/null +++ b/testsuite/MDAnalysisTests/data/mmcif/7ETN.cif @@ -0,0 +1,1251 @@ +data_7ETN +# +_entry.id 7ETN +# +_audit_conform.dict_name mmcif_pdbx.dic +_audit_conform.dict_version 5.392 +_audit_conform.dict_location http://mmcif.pdb.org/dictionaries/ascii/mmcif_pdbx.dic +# +loop_ +_database_2.database_id +_database_2.database_code +_database_2.pdbx_database_accession +_database_2.pdbx_DOI +PDB 7ETN pdb_00007etn 10.2210/pdb7etn/pdb +WWPDB D_1300022157 ? ? +# +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 +1 'Structure model' 1 0 2022-05-25 +2 'Structure model' 1 1 2024-05-29 +# +_pdbx_audit_revision_details.ordinal 1 +_pdbx_audit_revision_details.revision_ordinal 1 +_pdbx_audit_revision_details.data_content_type 'Structure model' +_pdbx_audit_revision_details.provider repository +_pdbx_audit_revision_details.type 'Initial release' +_pdbx_audit_revision_details.description ? +_pdbx_audit_revision_details.details ? +# +_pdbx_audit_revision_group.ordinal 1 +_pdbx_audit_revision_group.revision_ordinal 2 +_pdbx_audit_revision_group.data_content_type 'Structure model' +_pdbx_audit_revision_group.group 'Data collection' +# +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 2 'Structure model' chem_comp_atom +2 2 'Structure model' chem_comp_bond +# +_pdbx_database_status.status_code REL +_pdbx_database_status.status_code_sf REL +_pdbx_database_status.status_code_mr ? +_pdbx_database_status.entry_id 7ETN +_pdbx_database_status.recvd_initial_deposition_date 2021-05-13 +_pdbx_database_status.SG_entry N +_pdbx_database_status.deposit_site PDBJ +_pdbx_database_status.process_site PDBJ +_pdbx_database_status.status_code_cs ? +_pdbx_database_status.status_code_nmr_data ? +_pdbx_database_status.methods_development_category ? +_pdbx_database_status.pdb_format_compatible Y +# +loop_ +_audit_author.name +_audit_author.pdbx_ordinal +_audit_author.identifier_ORCID +'Kurumida, Y.' 1 0000-0003-2696-154X +'Ikeda, K.' 2 0000-0003-3217-5713 +'Nakamichi, Y.' 3 0000-0001-7089-663X +'Hirano, A.' 4 0000-0002-4138-0308 +'Kobayashi, K.' 5 0000-0002-2662-2452 +'Saito, Y.' 6 0000-0002-4853-0153 +'Kameda, T.' 7 0000-0001-9508-5366 +# +_citation.abstract ? +_citation.abstract_id_CAS ? +_citation.book_id_ISBN ? +_citation.book_publisher ? +_citation.book_publisher_city ? +_citation.book_title ? +_citation.coordinate_linkage ? +_citation.country ? +_citation.database_id_Medline ? +_citation.details ? +_citation.id primary +_citation.journal_abbrev 'To Be Published' +_citation.journal_id_ASTM ? +_citation.journal_id_CSD 0353 +_citation.journal_id_ISSN ? +_citation.journal_full ? +_citation.journal_issue ? +_citation.journal_volume ? +_citation.language ? +_citation.page_first ? +_citation.page_last ? +_citation.title 'Crystal structure of Pro-Phe-Leu-Ile' +_citation.year ? +_citation.database_id_CSD ? +_citation.pdbx_database_id_DOI ? +_citation.pdbx_database_id_PubMed ? +_citation.pdbx_database_id_patent ? +_citation.unpublished_flag ? +# +loop_ +_citation_author.citation_id +_citation_author.name +_citation_author.ordinal +_citation_author.identifier_ORCID +primary 'Kurumida, Y.' 1 0000-0003-2696-154X +primary 'Ikeda, K.' 2 0000-0003-3217-5713 +primary 'Nakamichi, Y.' 3 0000-0001-7089-663X +primary 'Hirano, A.' 4 0000-0002-4138-0308 +primary 'Kobayashi, K.' 5 0000-0002-2662-2452 +primary 'Saito, Y.' 6 0000-0002-4853-0153 +primary 'Kameda, T.' 7 0000-0001-9508-5366 +# +_entity.id 1 +_entity.type polymer +_entity.src_method syn +_entity.pdbx_description PRO-PHE-LEU-ILE +_entity.formula_weight 488.619 +_entity.pdbx_number_of_molecules 2 +_entity.pdbx_ec ? +_entity.pdbx_mutation ? +_entity.pdbx_fragment ? +_entity.details ? +# +_entity_poly.entity_id 1 +_entity_poly.type 'polypeptide(L)' +_entity_poly.nstd_linkage no +_entity_poly.nstd_monomer no +_entity_poly.pdbx_seq_one_letter_code PFLI +_entity_poly.pdbx_seq_one_letter_code_can PFLI +_entity_poly.pdbx_strand_id A,B +_entity_poly.pdbx_target_identifier ? +# +loop_ +_entity_poly_seq.entity_id +_entity_poly_seq.num +_entity_poly_seq.mon_id +_entity_poly_seq.hetero +1 1 PRO n +1 2 PHE n +1 3 LEU n +1 4 ILE n +# +_pdbx_entity_src_syn.entity_id 1 +_pdbx_entity_src_syn.pdbx_src_id 1 +_pdbx_entity_src_syn.pdbx_alt_source_flag sample +_pdbx_entity_src_syn.pdbx_beg_seq_num 1 +_pdbx_entity_src_syn.pdbx_end_seq_num 4 +_pdbx_entity_src_syn.organism_scientific 'synthetic construct' +_pdbx_entity_src_syn.organism_common_name ? +_pdbx_entity_src_syn.ncbi_taxonomy_id 32630 +_pdbx_entity_src_syn.details ? +# +loop_ +_chem_comp.id +_chem_comp.type +_chem_comp.mon_nstd_flag +_chem_comp.name +_chem_comp.pdbx_synonyms +_chem_comp.formula +_chem_comp.formula_weight +ILE 'L-peptide linking' y ISOLEUCINE ? 'C6 H13 N O2' 131.173 +LEU 'L-peptide linking' y LEUCINE ? 'C6 H13 N O2' 131.173 +PHE 'L-peptide linking' y PHENYLALANINE ? 'C9 H11 N O2' 165.189 +PRO 'L-peptide linking' y PROLINE ? 'C5 H9 N O2' 115.130 +# +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 +_pdbx_poly_seq_scheme.hetero +A 1 1 PRO 1 1 1 PRO PRO A . n +A 1 2 PHE 2 2 2 PHE PHE A . n +A 1 3 LEU 3 3 3 LEU LEU A . n +A 1 4 ILE 4 4 4 ILE ILE A . n +B 1 1 PRO 1 1 1 PRO PRO B . n +B 1 2 PHE 2 2 2 PHE PHE B . n +B 1 3 LEU 3 3 3 LEU LEU B . n +B 1 4 ILE 4 4 4 ILE ILE B . n +# +loop_ +_software.citation_id +_software.classification +_software.compiler_name +_software.compiler_version +_software.contact_author +_software.contact_author_email +_software.date +_software.description +_software.dependencies +_software.hardware +_software.language +_software.location +_software.mods +_software.name +_software.os +_software.os_version +_software.type +_software.version +_software.pdbx_ordinal +? refinement ? ? ? ? ? ? ? ? ? ? ? SHELX ? ? ? . 1 +? 'data reduction' ? ? ? ? ? ? ? ? ? ? ? XDS ? ? ? . 2 +? 'data scaling' ? ? ? ? ? ? ? ? ? ? ? XSCALE ? ? ? . 3 +? 'data extraction' ? ? ? ? ? ? ? ? ? ? ? PDB_EXTRACT ? ? ? 3.27 4 +? phasing ? ? ? ? ? ? ? ? ? ? ? SHELXT ? ? ? . 5 +# +_cell.angle_alpha 90.000 +_cell.angle_alpha_esd ? +_cell.angle_beta 94.850 +_cell.angle_beta_esd ? +_cell.angle_gamma 90.000 +_cell.angle_gamma_esd ? +_cell.entry_id 7ETN +_cell.details ? +_cell.formula_units_Z ? +_cell.length_a 5.264 +_cell.length_a_esd ? +_cell.length_b 24.967 +_cell.length_b_esd ? +_cell.length_c 20.736 +_cell.length_c_esd ? +_cell.volume ? +_cell.volume_esd ? +_cell.Z_PDB 4 +_cell.reciprocal_angle_alpha ? +_cell.reciprocal_angle_beta ? +_cell.reciprocal_angle_gamma ? +_cell.reciprocal_angle_alpha_esd ? +_cell.reciprocal_angle_beta_esd ? +_cell.reciprocal_angle_gamma_esd ? +_cell.reciprocal_length_a ? +_cell.reciprocal_length_b ? +_cell.reciprocal_length_c ? +_cell.reciprocal_length_a_esd ? +_cell.reciprocal_length_b_esd ? +_cell.reciprocal_length_c_esd ? +_cell.pdbx_unique_axis ? +# +_symmetry.entry_id 7ETN +_symmetry.cell_setting ? +_symmetry.Int_Tables_number 4 +_symmetry.space_group_name_Hall ? +_symmetry.space_group_name_H-M 'P 1 21 1' +_symmetry.pdbx_full_space_group_name_H-M ? +# +_exptl.absorpt_coefficient_mu ? +_exptl.absorpt_correction_T_max ? +_exptl.absorpt_correction_T_min ? +_exptl.absorpt_correction_type ? +_exptl.absorpt_process_details ? +_exptl.entry_id 7ETN +_exptl.crystals_number 1 +_exptl.details ? +_exptl.method 'X-RAY DIFFRACTION' +_exptl.method_details ? +# +_exptl_crystal.colour ? +_exptl_crystal.density_diffrn ? +_exptl_crystal.density_Matthews ? +_exptl_crystal.density_method ? +_exptl_crystal.density_percent_sol ? +_exptl_crystal.description ? +_exptl_crystal.F_000 ? +_exptl_crystal.id 1 +_exptl_crystal.preparation ? +_exptl_crystal.size_max ? +_exptl_crystal.size_mid ? +_exptl_crystal.size_min ? +_exptl_crystal.size_rad ? +_exptl_crystal.colour_lustre ? +_exptl_crystal.colour_modifier ? +_exptl_crystal.colour_primary ? +_exptl_crystal.density_meas ? +_exptl_crystal.density_meas_esd ? +_exptl_crystal.density_meas_gt ? +_exptl_crystal.density_meas_lt ? +_exptl_crystal.density_meas_temp ? +_exptl_crystal.density_meas_temp_esd ? +_exptl_crystal.density_meas_temp_gt ? +_exptl_crystal.density_meas_temp_lt ? +_exptl_crystal.pdbx_crystal_image_url ? +_exptl_crystal.pdbx_crystal_image_format ? +_exptl_crystal.pdbx_mosaicity ? +_exptl_crystal.pdbx_mosaicity_esd ? +# +_exptl_crystal_grow.apparatus ? +_exptl_crystal_grow.atmosphere ? +_exptl_crystal_grow.crystal_id 1 +_exptl_crystal_grow.details ? +_exptl_crystal_grow.method 'VAPOR DIFFUSION, HANGING DROP' +_exptl_crystal_grow.method_ref ? +_exptl_crystal_grow.pH 7.0 +_exptl_crystal_grow.pressure ? +_exptl_crystal_grow.pressure_esd ? +_exptl_crystal_grow.seeding ? +_exptl_crystal_grow.seeding_ref ? +_exptl_crystal_grow.temp 293 +_exptl_crystal_grow.temp_details ? +_exptl_crystal_grow.temp_esd ? +_exptl_crystal_grow.time ? +_exptl_crystal_grow.pdbx_details '100 mM MOPS, 5 mM EDTA-2Na' +_exptl_crystal_grow.pdbx_pH_range ? +# +_diffrn.ambient_environment ? +_diffrn.ambient_temp 100 +_diffrn.ambient_temp_details ? +_diffrn.ambient_temp_esd ? +_diffrn.crystal_id 1 +_diffrn.crystal_support ? +_diffrn.crystal_treatment ? +_diffrn.details ? +_diffrn.id 1 +_diffrn.ambient_pressure ? +_diffrn.ambient_pressure_esd ? +_diffrn.ambient_pressure_gt ? +_diffrn.ambient_pressure_lt ? +_diffrn.ambient_temp_gt ? +_diffrn.ambient_temp_lt ? +_diffrn.pdbx_serial_crystal_experiment N +# +_diffrn_detector.details ? +_diffrn_detector.detector PIXEL +_diffrn_detector.diffrn_id 1 +_diffrn_detector.type 'DECTRIS EIGER X 16M' +_diffrn_detector.area_resol_mean ? +_diffrn_detector.dtime ? +_diffrn_detector.pdbx_frames_total ? +_diffrn_detector.pdbx_collection_time_total ? +_diffrn_detector.pdbx_collection_date 2020-02-17 +_diffrn_detector.pdbx_frequency ? +# +_diffrn_radiation.collimation ? +_diffrn_radiation.diffrn_id 1 +_diffrn_radiation.filter_edge ? +_diffrn_radiation.inhomogeneity ? +_diffrn_radiation.monochromator ? +_diffrn_radiation.polarisn_norm ? +_diffrn_radiation.polarisn_ratio ? +_diffrn_radiation.probe ? +_diffrn_radiation.type ? +_diffrn_radiation.xray_symbol ? +_diffrn_radiation.wavelength_id 1 +_diffrn_radiation.pdbx_monochromatic_or_laue_m_l M +_diffrn_radiation.pdbx_wavelength_list ? +_diffrn_radiation.pdbx_wavelength ? +_diffrn_radiation.pdbx_diffrn_protocol 'SINGLE WAVELENGTH' +_diffrn_radiation.pdbx_analyzer ? +_diffrn_radiation.pdbx_scattering_type x-ray +# +_diffrn_radiation_wavelength.id 1 +_diffrn_radiation_wavelength.wavelength 0.7 +_diffrn_radiation_wavelength.wt 1.0 +# +_diffrn_source.current ? +_diffrn_source.details ? +_diffrn_source.diffrn_id 1 +_diffrn_source.power ? +_diffrn_source.size ? +_diffrn_source.source SYNCHROTRON +_diffrn_source.target ? +_diffrn_source.type 'SPRING-8 BEAMLINE BL44XU' +_diffrn_source.voltage ? +_diffrn_source.take-off_angle ? +_diffrn_source.pdbx_wavelength_list 0.7 +_diffrn_source.pdbx_wavelength ? +_diffrn_source.pdbx_synchrotron_beamline BL44XU +_diffrn_source.pdbx_synchrotron_site SPring-8 +# +_reflns.B_iso_Wilson_estimate 6.112 +_reflns.entry_id 7ETN +_reflns.data_reduction_details ? +_reflns.data_reduction_method ? +_reflns.d_resolution_high 0.820 +_reflns.d_resolution_low 20.55 +_reflns.details ? +_reflns.limit_h_max ? +_reflns.limit_h_min ? +_reflns.limit_k_max ? +_reflns.limit_k_min ? +_reflns.limit_l_max ? +_reflns.limit_l_min ? +_reflns.number_all ? +_reflns.number_obs 9768 +_reflns.observed_criterion ? +_reflns.observed_criterion_F_max ? +_reflns.observed_criterion_F_min ? +_reflns.observed_criterion_I_max ? +_reflns.observed_criterion_I_min ? +_reflns.observed_criterion_sigma_F ? +_reflns.observed_criterion_sigma_I ? +_reflns.percent_possible_obs 95.500 +_reflns.R_free_details ? +_reflns.Rmerge_F_all ? +_reflns.Rmerge_F_obs ? +_reflns.Friedel_coverage ? +_reflns.number_gt ? +_reflns.threshold_expression ? +_reflns.pdbx_redundancy 2.795 +_reflns.pdbx_Rmerge_I_obs 0.081 +_reflns.pdbx_Rmerge_I_all ? +_reflns.pdbx_Rsym_value ? +_reflns.pdbx_netI_over_av_sigmaI ? +_reflns.pdbx_netI_over_sigmaI 12.020 +_reflns.pdbx_res_netI_over_av_sigmaI_2 ? +_reflns.pdbx_res_netI_over_sigmaI_2 ? +_reflns.pdbx_chi_squared 0.865 +_reflns.pdbx_scaling_rejects ? +_reflns.pdbx_d_res_high_opt ? +_reflns.pdbx_d_res_low_opt ? +_reflns.pdbx_d_res_opt_method ? +_reflns.phase_calculation_details ? +_reflns.pdbx_Rrim_I_all 0.101 +_reflns.pdbx_Rpim_I_all ? +_reflns.pdbx_d_opt ? +_reflns.pdbx_number_measured_all ? +_reflns.pdbx_diffrn_id 1 +_reflns.pdbx_ordinal 1 +_reflns.pdbx_CC_half 0.990 +_reflns.pdbx_CC_star ? +_reflns.pdbx_R_split ? +_reflns.pdbx_aniso_diffraction_limit_axis_1_ortho[1] ? +_reflns.pdbx_aniso_diffraction_limit_axis_1_ortho[2] ? +_reflns.pdbx_aniso_diffraction_limit_axis_1_ortho[3] ? +_reflns.pdbx_aniso_diffraction_limit_axis_2_ortho[1] ? +_reflns.pdbx_aniso_diffraction_limit_axis_2_ortho[2] ? +_reflns.pdbx_aniso_diffraction_limit_axis_2_ortho[3] ? +_reflns.pdbx_aniso_diffraction_limit_axis_3_ortho[1] ? +_reflns.pdbx_aniso_diffraction_limit_axis_3_ortho[2] ? +_reflns.pdbx_aniso_diffraction_limit_axis_3_ortho[3] ? +_reflns.pdbx_aniso_diffraction_limit_1 ? +_reflns.pdbx_aniso_diffraction_limit_2 ? +_reflns.pdbx_aniso_diffraction_limit_3 ? +_reflns.pdbx_aniso_B_tensor_eigenvector_1_ortho[1] ? +_reflns.pdbx_aniso_B_tensor_eigenvector_1_ortho[2] ? +_reflns.pdbx_aniso_B_tensor_eigenvector_1_ortho[3] ? +_reflns.pdbx_aniso_B_tensor_eigenvector_2_ortho[1] ? +_reflns.pdbx_aniso_B_tensor_eigenvector_2_ortho[2] ? +_reflns.pdbx_aniso_B_tensor_eigenvector_2_ortho[3] ? +_reflns.pdbx_aniso_B_tensor_eigenvector_3_ortho[1] ? +_reflns.pdbx_aniso_B_tensor_eigenvector_3_ortho[2] ? +_reflns.pdbx_aniso_B_tensor_eigenvector_3_ortho[3] ? +_reflns.pdbx_aniso_B_tensor_eigenvalue_1 ? +_reflns.pdbx_aniso_B_tensor_eigenvalue_2 ? +_reflns.pdbx_aniso_B_tensor_eigenvalue_3 ? +_reflns.pdbx_orthogonalization_convention ? +_reflns.pdbx_percent_possible_ellipsoidal ? +_reflns.pdbx_percent_possible_spherical ? +_reflns.pdbx_percent_possible_ellipsoidal_anomalous ? +_reflns.pdbx_percent_possible_spherical_anomalous ? +_reflns.pdbx_redundancy_anomalous ? +_reflns.pdbx_CC_half_anomalous ? +_reflns.pdbx_absDiff_over_sigma_anomalous ? +_reflns.pdbx_percent_possible_anomalous ? +_reflns.pdbx_observed_signal_threshold ? +_reflns.pdbx_signal_type ? +_reflns.pdbx_signal_details ? +_reflns.pdbx_signal_software_id ? +# +loop_ +_reflns_shell.d_res_high +_reflns_shell.d_res_low +_reflns_shell.meanI_over_sigI_all +_reflns_shell.meanI_over_sigI_obs +_reflns_shell.number_measured_all +_reflns_shell.number_measured_obs +_reflns_shell.number_possible +_reflns_shell.number_unique_all +_reflns_shell.number_unique_obs +_reflns_shell.percent_possible_all +_reflns_shell.percent_possible_obs +_reflns_shell.Rmerge_F_all +_reflns_shell.Rmerge_F_obs +_reflns_shell.Rmerge_I_all +_reflns_shell.Rmerge_I_obs +_reflns_shell.meanI_over_sigI_gt +_reflns_shell.meanI_over_uI_all +_reflns_shell.meanI_over_uI_gt +_reflns_shell.number_measured_gt +_reflns_shell.number_unique_gt +_reflns_shell.percent_possible_gt +_reflns_shell.Rmerge_F_gt +_reflns_shell.Rmerge_I_gt +_reflns_shell.pdbx_redundancy +_reflns_shell.pdbx_Rsym_value +_reflns_shell.pdbx_chi_squared +_reflns_shell.pdbx_netI_over_sigmaI_all +_reflns_shell.pdbx_netI_over_sigmaI_obs +_reflns_shell.pdbx_Rrim_I_all +_reflns_shell.pdbx_Rpim_I_all +_reflns_shell.pdbx_rejects +_reflns_shell.pdbx_ordinal +_reflns_shell.pdbx_diffrn_id +_reflns_shell.pdbx_CC_half +_reflns_shell.pdbx_CC_star +_reflns_shell.pdbx_R_split +_reflns_shell.pdbx_percent_possible_ellipsoidal +_reflns_shell.pdbx_percent_possible_spherical +_reflns_shell.pdbx_percent_possible_ellipsoidal_anomalous +_reflns_shell.pdbx_percent_possible_spherical_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 +0.820 0.840 ? 4.470 ? ? ? ? 702 91.200 ? ? ? ? 0.346 ? ? ? ? ? ? ? ? 2.771 ? ? ? ? 0.428 ? ? 1 1 0.861 ? ? ? ? ? ? ? ? ? ? +0.840 0.860 ? 4.830 ? ? ? ? 699 90.400 ? ? ? ? 0.311 ? ? ? ? ? ? ? ? 2.645 ? ? ? ? 0.385 ? ? 2 1 0.879 ? ? ? ? ? ? ? ? ? ? +0.860 0.890 ? 6.220 ? ? ? ? 637 89.700 ? ? ? ? 0.220 ? ? ? ? ? ? ? ? 2.625 ? ? ? ? 0.274 ? ? 3 1 0.929 ? ? ? ? ? ? ? ? ? ? +0.890 0.920 ? 6.830 ? ? ? ? 636 95.900 ? ? ? ? 0.196 ? ? ? ? ? ? ? ? 2.714 ? ? ? ? 0.240 ? ? 4 1 0.949 ? ? ? ? ? ? ? ? ? ? +0.920 0.950 ? 8.570 ? ? ? ? 631 96.300 ? ? ? ? 0.164 ? ? ? ? ? ? ? ? 2.894 ? ? ? ? 0.202 ? ? 5 1 0.945 ? ? ? ? ? ? ? ? ? ? +0.950 0.980 ? 9.520 ? ? ? ? 647 96.600 ? ? ? ? 0.142 ? ? ? ? ? ? ? ? 2.847 ? ? ? ? 0.174 ? ? 6 1 0.962 ? ? ? ? ? ? ? ? ? ? +0.980 1.020 ? 10.870 ? ? ? ? 591 93.200 ? ? ? ? 0.126 ? ? ? ? ? ? ? ? 2.897 ? ? ? ? 0.154 ? ? 7 1 0.969 ? ? ? ? ? ? ? ? ? ? +1.020 1.060 ? 12.320 ? ? ? ? 584 93.400 ? ? ? ? 0.122 ? ? ? ? ? ? ? ? 2.788 ? ? ? ? 0.150 ? ? 8 1 0.966 ? ? ? ? ? ? ? ? ? ? +1.060 1.110 ? 13.730 ? ? ? ? 537 97.600 ? ? ? ? 0.112 ? ? ? ? ? ? ? ? 2.834 ? ? ? ? 0.138 ? ? 9 1 0.970 ? ? ? ? ? ? ? ? ? ? +1.110 1.160 ? 14.490 ? ? ? ? 532 97.300 ? ? ? ? 0.102 ? ? ? ? ? ? ? ? 2.586 ? ? ? ? 0.127 ? ? 10 1 0.972 ? ? ? ? ? ? ? ? ? ? +1.160 1.220 ? 14.630 ? ? ? ? 530 97.800 ? ? ? ? 0.093 ? ? ? ? ? ? ? ? 2.649 ? ? ? ? 0.116 ? ? 11 1 0.974 ? ? ? ? ? ? ? ? ? ? +1.220 1.300 ? 15.250 ? ? ? ? 522 96.700 ? ? ? ? 0.098 ? ? ? ? ? ? ? ? 2.943 ? ? ? ? 0.119 ? ? 12 1 0.977 ? ? ? ? ? ? ? ? ? ? +1.300 1.390 ? 15.890 ? ? ? ? 429 98.800 ? ? ? ? 0.080 ? ? ? ? ? ? ? ? 3.009 ? ? ? ? 0.099 ? ? 13 1 0.985 ? ? ? ? ? ? ? ? ? ? +1.390 1.500 ? 16.950 ? ? ? ? 415 99.300 ? ? ? ? 0.086 ? ? ? ? ? ? ? ? 2.995 ? ? ? ? 0.107 ? ? 14 1 0.966 ? ? ? ? ? ? ? ? ? ? +1.500 1.640 ? 17.860 ? ? ? ? 412 99.300 ? ? ? ? 0.077 ? ? ? ? ? ? ? ? 2.888 ? ? ? ? 0.096 ? ? 15 1 0.975 ? ? ? ? ? ? ? ? ? ? +1.640 1.830 ? 18.390 ? ? ? ? 372 98.700 ? ? ? ? 0.065 ? ? ? ? ? ? ? ? 2.780 ? ? ? ? 0.080 ? ? 16 1 0.987 ? ? ? ? ? ? ? ? ? ? +1.830 2.120 ? 18.910 ? ? ? ? 289 98.600 ? ? ? ? 0.062 ? ? ? ? ? ? ? ? 2.682 ? ? ? ? 0.078 ? ? 17 1 0.989 ? ? ? ? ? ? ? ? ? ? +2.120 2.590 ? 20.510 ? ? ? ? 297 99.700 ? ? ? ? 0.057 ? ? ? ? ? ? ? ? 2.747 ? ? ? ? 0.072 ? ? 18 1 0.992 ? ? ? ? ? ? ? ? ? ? +2.590 3.670 ? 22.830 ? ? ? ? 190 99.000 ? ? ? ? 0.049 ? ? ? ? ? ? ? ? 3.079 ? ? ? ? 0.060 ? ? 19 1 0.993 ? ? ? ? ? ? ? ? ? ? +3.670 20.55 ? 22.750 ? ? ? ? 116 99.100 ? ? ? ? 0.066 ? ? ? ? ? ? ? ? 2.836 ? ? ? ? 0.084 ? ? 20 1 0.983 ? ? ? ? ? ? ? ? ? ? +# +_refine.aniso_B[1][1] ? +_refine.aniso_B[1][2] ? +_refine.aniso_B[1][3] ? +_refine.aniso_B[2][2] ? +_refine.aniso_B[2][3] ? +_refine.aniso_B[3][3] ? +_refine.B_iso_max 9.850 +_refine.B_iso_mean 4.8465 +_refine.B_iso_min 2.950 +_refine.correlation_coeff_Fo_to_Fc ? +_refine.correlation_coeff_Fo_to_Fc_free ? +_refine.details ? +_refine.diff_density_max ? +_refine.diff_density_max_esd ? +_refine.diff_density_min ? +_refine.diff_density_min_esd ? +_refine.diff_density_rms ? +_refine.diff_density_rms_esd ? +_refine.entry_id 7ETN +_refine.pdbx_refine_id 'X-RAY DIFFRACTION' +_refine.ls_abs_structure_details ? +_refine.ls_abs_structure_Flack ? +_refine.ls_abs_structure_Flack_esd ? +_refine.ls_abs_structure_Rogers ? +_refine.ls_abs_structure_Rogers_esd ? +_refine.ls_d_res_high 0.82 +_refine.ls_d_res_low 20.55 +_refine.ls_extinction_coef ? +_refine.ls_extinction_coef_esd ? +_refine.ls_extinction_expression ? +_refine.ls_extinction_method ? +_refine.ls_goodness_of_fit_all ? +_refine.ls_goodness_of_fit_all_esd ? +_refine.ls_goodness_of_fit_obs ? +_refine.ls_goodness_of_fit_obs_esd ? +_refine.ls_hydrogen_treatment ? +_refine.ls_matrix_type ? +_refine.ls_number_constraints ? +_refine.ls_number_parameters ? +_refine.ls_number_reflns_all ? +_refine.ls_number_reflns_obs 9285 +_refine.ls_number_reflns_R_free 483 +_refine.ls_number_reflns_R_work ? +_refine.ls_number_restraints ? +_refine.ls_percent_reflns_obs 96.0 +_refine.ls_percent_reflns_R_free ? +_refine.ls_R_factor_all ? +_refine.ls_R_factor_obs ? +_refine.ls_R_factor_R_free 0.0873 +_refine.ls_R_factor_R_free_error ? +_refine.ls_R_factor_R_free_error_details ? +_refine.ls_R_factor_R_work 0.0692 +_refine.ls_R_Fsqd_factor_obs ? +_refine.ls_R_I_factor_obs ? +_refine.ls_redundancy_reflns_all ? +_refine.ls_redundancy_reflns_obs ? +_refine.ls_restrained_S_all ? +_refine.ls_restrained_S_obs ? +_refine.ls_shift_over_esd_max ? +_refine.ls_shift_over_esd_mean ? +_refine.ls_structure_factor_coef ? +_refine.ls_weighting_details ? +_refine.ls_weighting_scheme ? +_refine.ls_wR_factor_all ? +_refine.ls_wR_factor_obs ? +_refine.ls_wR_factor_R_free ? +_refine.ls_wR_factor_R_work ? +_refine.occupancy_max ? +_refine.occupancy_min ? +_refine.solvent_model_details ? +_refine.solvent_model_param_bsol ? +_refine.solvent_model_param_ksol ? +_refine.pdbx_R_complete ? +_refine.ls_R_factor_gt ? +_refine.ls_goodness_of_fit_gt ? +_refine.ls_goodness_of_fit_ref ? +_refine.ls_shift_over_su_max ? +_refine.ls_shift_over_su_max_lt ? +_refine.ls_shift_over_su_mean ? +_refine.ls_shift_over_su_mean_lt ? +_refine.pdbx_ls_sigma_I ? +_refine.pdbx_ls_sigma_F ? +_refine.pdbx_ls_sigma_Fsqd ? +_refine.pdbx_data_cutoff_high_absF ? +_refine.pdbx_data_cutoff_high_rms_absF ? +_refine.pdbx_data_cutoff_low_absF ? +_refine.pdbx_isotropic_thermal_model ? +_refine.pdbx_ls_cross_valid_method 'FREE R-VALUE' +_refine.pdbx_method_to_determine_struct 'AB INITIO PHASING' +_refine.pdbx_starting_model ? +_refine.pdbx_stereochemistry_target_values ? +_refine.pdbx_R_Free_selection_details ? +_refine.pdbx_stereochem_target_val_spec_case ? +_refine.pdbx_overall_ESU_R ? +_refine.pdbx_overall_ESU_R_Free ? +_refine.pdbx_solvent_vdw_probe_radii ? +_refine.pdbx_solvent_ion_probe_radii ? +_refine.pdbx_solvent_shrinkage_radii ? +_refine.pdbx_real_space_R ? +_refine.pdbx_density_correlation ? +_refine.pdbx_pd_number_of_powder_patterns ? +_refine.pdbx_pd_number_of_points ? +_refine.pdbx_pd_meas_number_of_points ? +_refine.pdbx_pd_proc_ls_prof_R_factor ? +_refine.pdbx_pd_proc_ls_prof_wR_factor ? +_refine.pdbx_pd_Marquardt_correlation_coeff ? +_refine.pdbx_pd_Fsqrd_R_factor ? +_refine.pdbx_pd_ls_matrix_band_width ? +_refine.pdbx_overall_phase_error ? +_refine.pdbx_overall_SU_R_free_Cruickshank_DPI ? +_refine.pdbx_overall_SU_R_free_Blow_DPI ? +_refine.pdbx_overall_SU_R_Blow_DPI ? +_refine.pdbx_TLS_residual_ADP_flag ? +_refine.pdbx_diffrn_id 1 +_refine.overall_SU_B ? +_refine.overall_SU_ML ? +_refine.overall_SU_R_Cruickshank_DPI ? +_refine.overall_SU_R_free ? +_refine.overall_FOM_free_R_set ? +_refine.overall_FOM_work_R_set ? +_refine.pdbx_average_fsc_overall ? +_refine.pdbx_average_fsc_work ? +_refine.pdbx_average_fsc_free ? +# +_refine_hist.pdbx_refine_id 'X-RAY DIFFRACTION' +_refine_hist.cycle_id LAST +_refine_hist.details ? +_refine_hist.d_res_high 0.82 +_refine_hist.d_res_low 20.55 +_refine_hist.number_atoms_solvent 0 +_refine_hist.number_atoms_total 70 +_refine_hist.number_reflns_all ? +_refine_hist.number_reflns_obs ? +_refine_hist.number_reflns_R_free ? +_refine_hist.number_reflns_R_work ? +_refine_hist.R_factor_all ? +_refine_hist.R_factor_obs ? +_refine_hist.R_factor_R_free ? +_refine_hist.R_factor_R_work ? +_refine_hist.pdbx_number_residues_total ? +_refine_hist.pdbx_B_iso_mean_ligand ? +_refine_hist.pdbx_B_iso_mean_solvent ? +_refine_hist.pdbx_number_atoms_protein 70 +_refine_hist.pdbx_number_atoms_nucleic_acid 0 +_refine_hist.pdbx_number_atoms_ligand 0 +_refine_hist.pdbx_number_atoms_lipid ? +_refine_hist.pdbx_number_atoms_carb ? +_refine_hist.pdbx_pseudo_atom_details ? +# +_struct.entry_id 7ETN +_struct.title 'Crystal structure of Pro-Phe-Leu-Ile' +_struct.pdbx_model_details ? +_struct.pdbx_formula_weight ? +_struct.pdbx_formula_weight_method ? +_struct.pdbx_model_type_details ? +_struct.pdbx_CASP_flag N +# +_struct_keywords.entry_id 7ETN +_struct_keywords.text 'Synthetic peptide, UNKNOWN FUNCTION' +_struct_keywords.pdbx_keywords 'UNKNOWN FUNCTION' +# +loop_ +_struct_asym.id +_struct_asym.pdbx_blank_PDB_chainid_flag +_struct_asym.pdbx_modified +_struct_asym.entity_id +_struct_asym.details +A N N 1 ? +B N N 1 ? +# +_struct_ref.id 1 +_struct_ref.db_name PDB +_struct_ref.db_code 7ETN +_struct_ref.pdbx_db_accession 7ETN +_struct_ref.pdbx_db_isoform ? +_struct_ref.entity_id 1 +_struct_ref.pdbx_seq_one_letter_code ? +_struct_ref.pdbx_align_begin 1 +# +loop_ +_struct_ref_seq.align_id +_struct_ref_seq.ref_id +_struct_ref_seq.pdbx_PDB_id_code +_struct_ref_seq.pdbx_strand_id +_struct_ref_seq.seq_align_beg +_struct_ref_seq.pdbx_seq_align_beg_ins_code +_struct_ref_seq.seq_align_end +_struct_ref_seq.pdbx_seq_align_end_ins_code +_struct_ref_seq.pdbx_db_accession +_struct_ref_seq.db_align_beg +_struct_ref_seq.pdbx_db_align_beg_ins_code +_struct_ref_seq.db_align_end +_struct_ref_seq.pdbx_db_align_end_ins_code +_struct_ref_seq.pdbx_auth_seq_align_beg +_struct_ref_seq.pdbx_auth_seq_align_end +1 1 7ETN A 1 ? 4 ? 7ETN 1 ? 4 ? 1 4 +2 1 7ETN B 1 ? 4 ? 7ETN 1 ? 4 ? 1 4 +# +loop_ +_pdbx_struct_assembly.id +_pdbx_struct_assembly.details +_pdbx_struct_assembly.method_details +_pdbx_struct_assembly.oligomeric_details +_pdbx_struct_assembly.oligomeric_count +1 author_defined_assembly ? monomeric 1 +2 author_defined_assembly ? monomeric 1 +# +loop_ +_pdbx_struct_assembly_gen.assembly_id +_pdbx_struct_assembly_gen.oper_expression +_pdbx_struct_assembly_gen.asym_id_list +1 1 A +2 1 B +# +_pdbx_struct_assembly_auth_evidence.id 1 +_pdbx_struct_assembly_auth_evidence.assembly_id 1 +_pdbx_struct_assembly_auth_evidence.experimental_support none +_pdbx_struct_assembly_auth_evidence.details ? +# +_pdbx_struct_oper_list.id 1 +_pdbx_struct_oper_list.type 'identity operation' +_pdbx_struct_oper_list.name 1_555 +_pdbx_struct_oper_list.symmetry_operation x,y,z +_pdbx_struct_oper_list.matrix[1][1] 1.0000000000 +_pdbx_struct_oper_list.matrix[1][2] 0.0000000000 +_pdbx_struct_oper_list.matrix[1][3] 0.0000000000 +_pdbx_struct_oper_list.vector[1] 0.0000000000 +_pdbx_struct_oper_list.matrix[2][1] 0.0000000000 +_pdbx_struct_oper_list.matrix[2][2] 1.0000000000 +_pdbx_struct_oper_list.matrix[2][3] 0.0000000000 +_pdbx_struct_oper_list.vector[2] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][1] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][2] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][3] 1.0000000000 +_pdbx_struct_oper_list.vector[3] 0.0000000000 +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_ordinal +ILE N N N N 1 +ILE CA C N S 2 +ILE C C N N 3 +ILE O O N N 4 +ILE CB C N S 5 +ILE CG1 C N N 6 +ILE CG2 C N N 7 +ILE CD1 C N N 8 +ILE OXT O N N 9 +ILE H H N N 10 +ILE H2 H N N 11 +ILE HA H N N 12 +ILE HB H N N 13 +ILE HG12 H N N 14 +ILE HG13 H N N 15 +ILE HG21 H N N 16 +ILE HG22 H N N 17 +ILE HG23 H N N 18 +ILE HD11 H N N 19 +ILE HD12 H N N 20 +ILE HD13 H N N 21 +ILE HXT H N N 22 +LEU N N N N 23 +LEU CA C N S 24 +LEU C C N N 25 +LEU O O N N 26 +LEU CB C N N 27 +LEU CG C N N 28 +LEU CD1 C N N 29 +LEU CD2 C N N 30 +LEU OXT O N N 31 +LEU H H N N 32 +LEU H2 H N N 33 +LEU HA H N N 34 +LEU HB2 H N N 35 +LEU HB3 H N N 36 +LEU HG H N N 37 +LEU HD11 H N N 38 +LEU HD12 H N N 39 +LEU HD13 H N N 40 +LEU HD21 H N N 41 +LEU HD22 H N N 42 +LEU HD23 H N N 43 +LEU HXT H N N 44 +PHE N N N N 45 +PHE CA C N S 46 +PHE C C N N 47 +PHE O O N N 48 +PHE CB C N N 49 +PHE CG C Y N 50 +PHE CD1 C Y N 51 +PHE CD2 C Y N 52 +PHE CE1 C Y N 53 +PHE CE2 C Y N 54 +PHE CZ C Y N 55 +PHE OXT O N N 56 +PHE H H N N 57 +PHE H2 H N N 58 +PHE HA H N N 59 +PHE HB2 H N N 60 +PHE HB3 H N N 61 +PHE HD1 H N N 62 +PHE HD2 H N N 63 +PHE HE1 H N N 64 +PHE HE2 H N N 65 +PHE HZ H N N 66 +PHE HXT H N N 67 +PRO N N N N 68 +PRO CA C N S 69 +PRO C C N N 70 +PRO O O N N 71 +PRO CB C N N 72 +PRO CG C N N 73 +PRO CD C N N 74 +PRO OXT O N N 75 +PRO H H N N 76 +PRO HA H N N 77 +PRO HB2 H N N 78 +PRO HB3 H N N 79 +PRO HG2 H N N 80 +PRO HG3 H N N 81 +PRO HD2 H N N 82 +PRO HD3 H N N 83 +PRO HXT H N N 84 +# +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 +LEU N CA sing N N 22 +LEU N H sing N N 23 +LEU N H2 sing N N 24 +LEU CA C sing N N 25 +LEU CA CB sing N N 26 +LEU CA HA sing N N 27 +LEU C O doub N N 28 +LEU C OXT sing N N 29 +LEU CB CG sing N N 30 +LEU CB HB2 sing N N 31 +LEU CB HB3 sing N N 32 +LEU CG CD1 sing N N 33 +LEU CG CD2 sing N N 34 +LEU CG HG sing N N 35 +LEU CD1 HD11 sing N N 36 +LEU CD1 HD12 sing N N 37 +LEU CD1 HD13 sing N N 38 +LEU CD2 HD21 sing N N 39 +LEU CD2 HD22 sing N N 40 +LEU CD2 HD23 sing N N 41 +LEU OXT HXT sing N N 42 +PHE N CA sing N N 43 +PHE N H sing N N 44 +PHE N H2 sing N N 45 +PHE CA C sing N N 46 +PHE CA CB sing N N 47 +PHE CA HA sing N N 48 +PHE C O doub N N 49 +PHE C OXT sing N N 50 +PHE CB CG sing N N 51 +PHE CB HB2 sing N N 52 +PHE CB HB3 sing N N 53 +PHE CG CD1 doub Y N 54 +PHE CG CD2 sing Y N 55 +PHE CD1 CE1 sing Y N 56 +PHE CD1 HD1 sing N N 57 +PHE CD2 CE2 doub Y N 58 +PHE CD2 HD2 sing N N 59 +PHE CE1 CZ doub Y N 60 +PHE CE1 HE1 sing N N 61 +PHE CE2 CZ sing Y N 62 +PHE CE2 HE2 sing N N 63 +PHE CZ HZ sing N N 64 +PHE OXT HXT sing N N 65 +PRO N CA sing N N 66 +PRO N CD sing N N 67 +PRO N H sing N N 68 +PRO CA C sing N N 69 +PRO CA CB sing N N 70 +PRO CA HA sing N N 71 +PRO C O doub N N 72 +PRO C OXT sing N N 73 +PRO CB CG sing N N 74 +PRO CB HB2 sing N N 75 +PRO CB HB3 sing N N 76 +PRO CG CD sing N N 77 +PRO CG HG2 sing N N 78 +PRO CG HG3 sing N N 79 +PRO CD HD2 sing N N 80 +PRO CD HD3 sing N N 81 +PRO OXT HXT sing N N 82 +# +_atom_sites.entry_id 7ETN +_atom_sites.Cartn_transf_matrix[1][1] ? +_atom_sites.Cartn_transf_matrix[1][2] ? +_atom_sites.Cartn_transf_matrix[1][3] ? +_atom_sites.Cartn_transf_matrix[2][1] ? +_atom_sites.Cartn_transf_matrix[2][2] ? +_atom_sites.Cartn_transf_matrix[2][3] ? +_atom_sites.Cartn_transf_matrix[3][1] ? +_atom_sites.Cartn_transf_matrix[3][2] ? +_atom_sites.Cartn_transf_matrix[3][3] ? +_atom_sites.Cartn_transf_vector[1] ? +_atom_sites.Cartn_transf_vector[2] ? +_atom_sites.Cartn_transf_vector[3] ? +_atom_sites.fract_transf_matrix[1][1] 0.189970 +_atom_sites.fract_transf_matrix[1][2] 0.000000 +_atom_sites.fract_transf_matrix[1][3] 0.016119 +_atom_sites.fract_transf_matrix[2][1] 0.000000 +_atom_sites.fract_transf_matrix[2][2] 0.040053 +_atom_sites.fract_transf_matrix[2][3] 0.000000 +_atom_sites.fract_transf_matrix[3][1] 0.000000 +_atom_sites.fract_transf_matrix[3][2] 0.000000 +_atom_sites.fract_transf_matrix[3][3] 0.048399 +_atom_sites.fract_transf_vector[1] 0.000000 +_atom_sites.fract_transf_vector[2] 0.000000 +_atom_sites.fract_transf_vector[3] 0.000000 +_atom_sites.solution_primary ? +_atom_sites.solution_secondary ? +_atom_sites.solution_hydrogens ? +_atom_sites.special_details ? +# +loop_ +_atom_type.symbol +C +H +N +O +# +loop_ +_atom_site.group_PDB +_atom_site.id +_atom_site.type_symbol +_atom_site.label_atom_id +_atom_site.label_alt_id +_atom_site.label_comp_id +_atom_site.label_asym_id +_atom_site.label_entity_id +_atom_site.label_seq_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 +_atom_site.auth_seq_id +_atom_site.auth_comp_id +_atom_site.auth_asym_id +_atom_site.auth_atom_id +_atom_site.pdbx_PDB_model_num +ATOM 1 N N . PRO A 1 1 ? 2.263 3.421 12.086 1.00 3.24 ? 1 PRO A N 1 +ATOM 2 C CA . PRO A 1 1 ? 2.768 4.596 11.318 1.00 3.25 ? 1 PRO A CA 1 +ATOM 3 C C . PRO A 1 1 ? 1.656 5.634 11.180 1.00 3.38 ? 1 PRO A C 1 +ATOM 4 O O . PRO A 1 1 ? 0.486 5.366 11.445 1.00 4.36 ? 1 PRO A O 1 +ATOM 5 C CB . PRO A 1 1 ? 3.198 4.020 9.966 1.00 3.76 ? 1 PRO A CB 1 +ATOM 6 C CG . PRO A 1 1 ? 3.584 2.584 10.304 1.00 3.71 ? 1 PRO A CG 1 +ATOM 7 C CD . PRO A 1 1 ? 2.514 2.172 11.283 1.00 3.95 ? 1 PRO A CD 1 +ATOM 8 H H2 . PRO A 1 1 ? 1.392 3.512 12.241 1.00 3.89 ? 1 PRO A H2 1 +ATOM 9 H H3 . PRO A 1 1 ? 2.683 3.368 12.869 1.00 3.89 ? 1 PRO A H3 1 +ATOM 10 H HA . PRO A 1 1 ? 3.540 4.990 11.776 1.00 3.90 ? 1 PRO A HA 1 +ATOM 11 H HB2 . PRO A 1 1 ? 2.467 4.044 9.328 1.00 4.52 ? 1 PRO A HB2 1 +ATOM 12 H HB3 . PRO A 1 1 ? 3.952 4.509 9.603 1.00 4.52 ? 1 PRO A HB3 1 +ATOM 13 H HG2 . PRO A 1 1 ? 3.572 2.022 9.513 1.00 4.46 ? 1 PRO A HG2 1 +ATOM 14 H HG3 . PRO A 1 1 ? 4.465 2.544 10.708 1.00 4.46 ? 1 PRO A HG3 1 +ATOM 15 H HD2 . PRO A 1 1 ? 1.710 1.889 10.820 1.00 4.74 ? 1 PRO A HD2 1 +ATOM 16 H HD3 . PRO A 1 1 ? 2.823 1.449 11.851 1.00 4.74 ? 1 PRO A HD3 1 +ATOM 17 N N . PHE A 1 2 ? 2.024 6.832 10.677 1.00 3.27 ? 2 PHE A N 1 +ATOM 18 C CA . PHE A 1 2 ? 0.997 7.762 10.219 1.00 3.34 ? 2 PHE A CA 1 +ATOM 19 C C . PHE A 1 2 ? 0.196 7.205 9.048 1.00 3.14 ? 2 PHE A C 1 +ATOM 20 O O . PHE A 1 2 ? -1.036 7.320 9.010 1.00 3.49 ? 2 PHE A O 1 +ATOM 21 C CB . PHE A 1 2 ? 1.641 9.127 9.888 1.00 3.81 ? 2 PHE A CB 1 +ATOM 22 C CG . PHE A 1 2 ? 0.650 10.129 9.333 1.00 3.64 ? 2 PHE A CG 1 +ATOM 23 C CD1 . PHE A 1 2 ? -0.279 10.766 10.177 1.00 3.85 ? 2 PHE A CD1 1 +ATOM 24 C CD2 . PHE A 1 2 ? 0.609 10.419 7.968 1.00 4.35 ? 2 PHE A CD2 1 +ATOM 25 C CE1 . PHE A 1 2 ? -1.208 11.660 9.659 1.00 4.03 ? 2 PHE A CE1 1 +ATOM 26 C CE2 . PHE A 1 2 ? -0.322 11.324 7.449 1.00 4.71 ? 2 PHE A CE2 1 +ATOM 27 C CZ . PHE A 1 2 ? -1.245 11.942 8.300 1.00 4.31 ? 2 PHE A CZ 1 +ATOM 28 H H . PHE A 1 2 ? 2.856 7.045 10.628 1.00 3.92 ? 2 PHE A H 1 +ATOM 29 H HA . PHE A 1 2 ? 0.373 7.902 10.962 1.00 4.00 ? 2 PHE A HA 1 +ATOM 30 H HB2 . PHE A 1 2 ? 2.040 9.491 10.694 1.00 4.57 ? 2 PHE A HB2 1 +ATOM 31 H HB3 . PHE A 1 2 ? 2.350 8.993 9.240 1.00 4.57 ? 2 PHE A HB3 1 +ATOM 32 H HD1 . PHE A 1 2 ? -0.271 10.587 11.090 1.00 4.62 ? 2 PHE A HD1 1 +ATOM 33 H HD2 . PHE A 1 2 ? 1.210 10.002 7.394 1.00 5.22 ? 2 PHE A HD2 1 +ATOM 34 H HE1 . PHE A 1 2 ? -1.814 12.074 10.230 1.00 4.83 ? 2 PHE A HE1 1 +ATOM 35 H HE2 . PHE A 1 2 ? -0.328 11.515 6.539 1.00 5.66 ? 2 PHE A HE2 1 +ATOM 36 H HZ . PHE A 1 2 ? -1.875 12.535 7.960 1.00 5.18 ? 2 PHE A HZ 1 +ATOM 37 N N . LEU A 1 3 ? 0.874 6.589 8.064 1.00 3.41 ? 3 LEU A N 1 +ATOM 38 C CA . LEU A 1 3 ? 0.168 5.898 6.984 1.00 3.60 ? 3 LEU A CA 1 +ATOM 39 C C . LEU A 1 3 ? 1.055 4.744 6.488 1.00 3.47 ? 3 LEU A C 1 +ATOM 40 O O . LEU A 1 3 ? 2.285 4.750 6.676 1.00 3.72 ? 3 LEU A O 1 +ATOM 41 C CB . LEU A 1 3 ? -0.257 6.837 5.824 1.00 4.05 ? 3 LEU A CB 1 +ATOM 42 C CG . LEU A 1 3 ? 0.846 7.520 5.010 1.00 4.83 ? 3 LEU A CG 1 +ATOM 43 C CD1 . LEU A 1 3 ? 1.475 6.588 3.975 1.00 5.29 ? 3 LEU A CD1 1 +ATOM 44 C CD2 . LEU A 1 3 ? 0.298 8.755 4.319 1.00 6.57 ? 3 LEU A CD2 1 +ATOM 45 H H . LEU A 1 3 ? 1.734 6.601 8.069 1.00 4.09 ? 3 LEU A H 1 +ATOM 46 H HA . LEU A 1 3 ? -0.646 5.506 7.363 1.00 4.32 ? 3 LEU A HA 1 +ATOM 47 H HB2 . LEU A 1 3 ? -0.803 6.322 5.210 1.00 4.86 ? 3 LEU A HB2 1 +ATOM 48 H HB3 . LEU A 1 3 ? -0.823 7.531 6.197 1.00 4.86 ? 3 LEU A HB3 1 +ATOM 49 H HG . LEU A 1 3 ? 1.550 7.805 5.630 1.00 5.80 ? 3 LEU A HG 1 +ATOM 50 H HD11 . LEU A 1 3 ? 1.937 5.876 4.424 1.00 7.93 ? 3 LEU A HD11 1 +ATOM 51 H HD12 . LEU A 1 3 ? 2.095 7.082 3.434 1.00 7.93 ? 3 LEU A HD12 1 +ATOM 52 H HD13 . LEU A 1 3 ? 0.786 6.220 3.416 1.00 7.93 ? 3 LEU A HD13 1 +ATOM 53 H HD21 . LEU A 1 3 ? -0.001 9.385 4.979 1.00 9.85 ? 3 LEU A HD21 1 +ATOM 54 H HD22 . LEU A 1 3 ? -0.439 8.506 3.757 1.00 9.85 ? 3 LEU A HD22 1 +ATOM 55 H HD23 . LEU A 1 3 ? 0.988 9.155 3.784 1.00 9.85 ? 3 LEU A HD23 1 +ATOM 56 N N . ILE A 1 4 ? 0.379 3.780 5.862 1.00 3.53 ? 4 ILE A N 1 +ATOM 57 C CA . ILE A 1 4 ? 0.996 2.768 4.989 1.00 3.42 ? 4 ILE A CA 1 +ATOM 58 C C . ILE A 1 4 ? 0.175 2.736 3.692 1.00 3.28 ? 4 ILE A C 1 +ATOM 59 O O . ILE A 1 4 ? 0.723 2.471 2.600 1.00 3.62 ? 4 ILE A O 1 +ATOM 60 C CB . ILE A 1 4 ? 1.063 1.368 5.663 1.00 3.79 ? 4 ILE A CB 1 +ATOM 61 C CG1 . ILE A 1 4 ? 1.662 1.421 7.059 1.00 4.33 ? 4 ILE A CG1 1 +ATOM 62 C CG2 . ILE A 1 4 ? 1.839 0.397 4.758 1.00 4.58 ? 4 ILE A CG2 1 +ATOM 63 C CD1 . ILE A 1 4 ? 1.604 0.099 7.814 1.00 5.48 ? 4 ILE A CD1 1 +ATOM 64 O OXT . ILE A 1 4 ? -1.067 2.955 3.832 1.00 4.27 ? 4 ILE A OXT 1 +ATOM 65 H H . ILE A 1 4 ? -0.473 3.747 5.975 1.00 4.24 ? 4 ILE A H 1 +ATOM 66 H HA . ILE A 1 4 ? 1.908 3.055 4.774 1.00 4.10 ? 4 ILE A HA 1 +ATOM 67 H HB . ILE A 1 4 ? 0.146 1.032 5.744 1.00 4.55 ? 4 ILE A HB 1 +ATOM 68 H HG12 . ILE A 1 4 ? 2.588 1.700 6.990 1.00 5.19 ? 4 ILE A HG12 1 +ATOM 69 H HG13 . ILE A 1 4 ? 1.190 2.094 7.574 1.00 5.19 ? 4 ILE A HG13 1 +ATOM 70 H HG21 . ILE A 1 4 ? 1.425 0.368 3.892 1.00 6.87 ? 4 ILE A HG21 1 +ATOM 71 H HG22 . ILE A 1 4 ? 1.828 -0.480 5.147 1.00 6.87 ? 4 ILE A HG22 1 +ATOM 72 H HG23 . ILE A 1 4 ? 2.746 0.698 4.670 1.00 6.87 ? 4 ILE A HG23 1 +ATOM 73 H HD11 . ILE A 1 4 ? 1.915 0.230 8.713 1.00 8.23 ? 4 ILE A HD11 1 +ATOM 74 H HD12 . ILE A 1 4 ? 2.162 -0.546 7.373 1.00 8.23 ? 4 ILE A HD12 1 +ATOM 75 H HD13 . ILE A 1 4 ? 0.699 -0.220 7.833 1.00 8.23 ? 4 ILE A HD13 1 +ATOM 76 N N . PRO B 1 1 ? 3.067 3.241 1.445 1.00 3.36 ? 1 PRO B N 1 +ATOM 77 C CA . PRO B 1 1 ? 3.628 4.468 0.782 1.00 3.20 ? 1 PRO B CA 1 +ATOM 78 C C . PRO B 1 1 ? 2.545 5.540 0.751 1.00 3.17 ? 1 PRO B C 1 +ATOM 79 O O . PRO B 1 1 ? 1.358 5.252 0.861 1.00 3.75 ? 1 PRO B O 1 +ATOM 80 C CB . PRO B 1 1 ? 4.005 4.028 -0.635 1.00 3.64 ? 1 PRO B CB 1 +ATOM 81 C CG . PRO B 1 1 ? 4.291 2.530 -0.474 1.00 3.80 ? 1 PRO B CG 1 +ATOM 82 C CD . PRO B 1 1 ? 3.202 2.099 0.487 1.00 3.91 ? 1 PRO B CD 1 +ATOM 83 H H2 . PRO B 1 1 ? 3.514 3.066 2.194 1.00 4.03 ? 1 PRO B H2 1 +ATOM 84 H H3 . PRO B 1 1 ? 2.211 3.369 1.651 1.00 4.03 ? 1 PRO B H3 1 +ATOM 85 H HA . PRO B 1 1 ? 4.418 4.790 1.265 1.00 3.85 ? 1 PRO B HA 1 +ATOM 86 H HB2 . PRO B 1 1 ? 3.273 4.180 -1.254 1.00 4.37 ? 1 PRO B HB2 1 +ATOM 87 H HB3 . PRO B 1 1 ? 4.790 4.502 -0.951 1.00 4.37 ? 1 PRO B HB3 1 +ATOM 88 H HG2 . PRO B 1 1 ? 4.218 2.064 -1.322 1.00 4.56 ? 1 PRO B HG2 1 +ATOM 89 H HG3 . PRO B 1 1 ? 5.173 2.378 -0.100 1.00 4.56 ? 1 PRO B HG3 1 +ATOM 90 H HD2 . PRO B 1 1 ? 2.368 1.944 0.017 1.00 4.69 ? 1 PRO B HD2 1 +ATOM 91 H HD3 . PRO B 1 1 ? 3.455 1.287 0.953 1.00 4.69 ? 1 PRO B HD3 1 +ATOM 92 N N . PHE B 1 2 ? 2.961 6.812 0.548 1.00 3.26 ? 2 PHE B N 1 +ATOM 93 C CA . PHE B 1 2 ? 1.940 7.825 0.248 1.00 3.07 ? 2 PHE B CA 1 +ATOM 94 C C . PHE B 1 2 ? 1.201 7.506 -1.064 1.00 2.95 ? 2 PHE B C 1 +ATOM 95 O O . PHE B 1 2 ? -0.034 7.564 -1.125 1.00 3.35 ? 2 PHE B O 1 +ATOM 96 C CB . PHE B 1 2 ? 2.602 9.219 0.215 1.00 3.55 ? 2 PHE B CB 1 +ATOM 97 C CG . PHE B 1 2 ? 1.618 10.276 -0.225 1.00 3.35 ? 2 PHE B CG 1 +ATOM 98 C CD1 . PHE B 1 2 ? 0.661 10.791 0.659 1.00 3.64 ? 2 PHE B CD1 1 +ATOM 99 C CD2 . PHE B 1 2 ? 1.587 10.693 -1.570 1.00 3.73 ? 2 PHE B CD2 1 +ATOM 100 C CE1 . PHE B 1 2 ? -0.311 11.680 0.210 1.00 3.67 ? 2 PHE B CE1 1 +ATOM 101 C CE2 . PHE B 1 2 ? 0.624 11.576 -2.020 1.00 3.98 ? 2 PHE B CE2 1 +ATOM 102 C CZ . PHE B 1 2 ? -0.347 12.063 -1.134 1.00 3.89 ? 2 PHE B CZ 1 +ATOM 103 H H . PHE B 1 2 ? 3.794 7.021 0.593 1.00 3.91 ? 2 PHE B H 1 +ATOM 104 H HA . PHE B 1 2 ? 1.283 7.818 0.975 1.00 3.69 ? 2 PHE B HA 1 +ATOM 105 H HB2 . PHE B 1 2 ? 2.937 9.438 1.099 1.00 4.26 ? 2 PHE B HB2 1 +ATOM 106 H HB3 . PHE B 1 2 ? 3.355 9.204 -0.396 1.00 4.26 ? 2 PHE B HB3 1 +ATOM 107 H HD1 . PHE B 1 2 ? 0.676 10.537 1.553 1.00 4.37 ? 2 PHE B HD1 1 +ATOM 108 H HD2 . PHE B 1 2 ? 2.225 10.369 -2.165 1.00 4.47 ? 2 PHE B HD2 1 +ATOM 109 H HE1 . PHE B 1 2 ? -0.938 12.020 0.806 1.00 4.40 ? 2 PHE B HE1 1 +ATOM 110 H HE2 . PHE B 1 2 ? 0.620 11.847 -2.909 1.00 4.78 ? 2 PHE B HE2 1 +ATOM 111 H HZ . PHE B 1 2 ? -1.012 12.638 -1.438 1.00 4.67 ? 2 PHE B HZ 1 +ATOM 112 N N . LEU B 1 3 ? 1.989 7.190 -2.102 1.00 3.24 ? 3 LEU B N 1 +ATOM 113 C CA . LEU B 1 3 ? 1.492 6.878 -3.438 1.00 3.42 ? 3 LEU B CA 1 +ATOM 114 C C . LEU B 1 3 ? 2.271 5.651 -3.931 1.00 3.35 ? 3 LEU B C 1 +ATOM 115 O O . LEU B 1 3 ? 3.502 5.608 -3.818 1.00 3.82 ? 3 LEU B O 1 +ATOM 116 C CB . LEU B 1 3 ? 1.705 8.077 -4.385 1.00 4.12 ? 3 LEU B CB 1 +ATOM 117 C CG . LEU B 1 3 ? 1.416 7.857 -5.867 1.00 4.61 ? 3 LEU B CG 1 +ATOM 118 C CD1 . LEU B 1 3 ? -0.011 7.487 -6.144 1.00 5.83 ? 3 LEU B CD1 1 +ATOM 119 C CD2 . LEU B 1 3 ? 1.781 9.134 -6.646 1.00 5.56 ? 3 LEU B CD2 1 +ATOM 120 H H . LEU B 1 3 ? 2.839 7.169 -1.973 1.00 3.89 ? 3 LEU B H 1 +ATOM 121 H HA . LEU B 1 3 ? 0.537 6.664 -3.390 1.00 4.11 ? 3 LEU B HA 1 +ATOM 122 H HB2 . LEU B 1 3 ? 1.145 8.807 -4.076 1.00 4.94 ? 3 LEU B HB2 1 +ATOM 123 H HB3 . LEU B 1 3 ? 2.627 8.366 -4.299 1.00 4.94 ? 3 LEU B HB3 1 +ATOM 124 H HG . LEU B 1 3 ? 1.990 7.129 -6.186 1.00 5.53 ? 3 LEU B HG 1 +ATOM 125 H HD11 . LEU B 1 3 ? -0.140 7.393 -7.091 1.00 8.74 ? 3 LEU B HD11 1 +ATOM 126 H HD12 . LEU B 1 3 ? -0.591 8.175 -5.809 1.00 8.74 ? 3 LEU B HD12 1 +ATOM 127 H HD13 . LEU B 1 3 ? -0.216 6.656 -5.709 1.00 8.74 ? 3 LEU B HD13 1 +ATOM 128 H HD21 . LEU B 1 3 ? 2.724 9.295 -6.573 1.00 8.33 ? 3 LEU B HD21 1 +ATOM 129 H HD22 . LEU B 1 3 ? 1.299 9.880 -6.280 1.00 8.33 ? 3 LEU B HD22 1 +ATOM 130 H HD23 . LEU B 1 3 ? 1.546 9.023 -7.570 1.00 8.33 ? 3 LEU B HD23 1 +ATOM 131 N N . ILE B 1 4 ? 1.536 4.683 -4.483 1.00 3.54 ? 4 ILE B N 1 +ATOM 132 C CA . ILE B 1 4 ? 2.085 3.515 -5.179 1.00 3.57 ? 4 ILE B CA 1 +ATOM 133 C C . ILE B 1 4 ? 1.159 3.180 -6.361 1.00 3.34 ? 4 ILE B C 1 +ATOM 134 O O . ILE B 1 4 ? 1.646 2.661 -7.402 1.00 3.64 ? 4 ILE B O 1 +ATOM 135 C CB . ILE B 1 4 ? 2.262 2.317 -4.203 1.00 3.73 ? 4 ILE B CB 1 +ATOM 136 C CG1 . ILE B 1 4 ? 2.772 1.074 -4.943 1.00 4.52 ? 4 ILE B CG1 1 +ATOM 137 C CG2 . ILE B 1 4 ? 0.994 2.032 -3.416 1.00 5.64 ? 4 ILE B CG2 1 +ATOM 138 C CD1 . ILE B 1 4 ? 3.110 -0.104 -4.045 1.00 5.40 ? 4 ILE B CD1 1 +ATOM 139 O OXT . ILE B 1 4 ? -0.063 3.470 -6.212 1.00 3.90 ? 4 ILE B OXT 1 +ATOM 140 H H . ILE B 1 4 ? 0.681 4.749 -4.426 1.00 4.25 ? 4 ILE B H 1 +ATOM 141 H HA . ILE B 1 4 ? 2.966 3.754 -5.536 1.00 4.29 ? 4 ILE B HA 1 +ATOM 142 H HB . ILE B 1 4 ? 2.952 2.572 -3.556 1.00 4.48 ? 4 ILE B HB 1 +ATOM 143 H HG12 . ILE B 1 4 ? 2.096 0.794 -5.580 1.00 5.43 ? 4 ILE B HG12 1 +ATOM 144 H HG13 . ILE B 1 4 ? 3.565 1.317 -5.446 1.00 5.43 ? 4 ILE B HG13 1 +ATOM 145 H HG21 . ILE B 1 4 ? 0.713 2.830 -2.962 1.00 8.45 ? 4 ILE B HG21 1 +ATOM 146 H HG22 . ILE B 1 4 ? 1.166 1.342 -2.771 1.00 8.45 ? 4 ILE B HG22 1 +ATOM 147 H HG23 . ILE B 1 4 ? 0.302 1.745 -4.016 1.00 8.45 ? 4 ILE B HG23 1 +ATOM 148 H HD11 . ILE B 1 4 ? 3.521 -0.797 -4.567 1.00 8.10 ? 4 ILE B HD11 1 +ATOM 149 H HD12 . ILE B 1 4 ? 2.307 -0.440 -3.642 1.00 8.10 ? 4 ILE B HD12 1 +ATOM 150 H HD13 . ILE B 1 4 ? 3.718 0.181 -3.358 1.00 8.10 ? 4 ILE B HD13 1 +# +loop_ +_atom_site_anisotrop.id +_atom_site_anisotrop.type_symbol +_atom_site_anisotrop.pdbx_label_atom_id +_atom_site_anisotrop.pdbx_label_alt_id +_atom_site_anisotrop.pdbx_label_comp_id +_atom_site_anisotrop.pdbx_label_asym_id +_atom_site_anisotrop.pdbx_label_seq_id +_atom_site_anisotrop.pdbx_PDB_ins_code +_atom_site_anisotrop.U[1][1] +_atom_site_anisotrop.U[2][2] +_atom_site_anisotrop.U[3][3] +_atom_site_anisotrop.U[1][2] +_atom_site_anisotrop.U[1][3] +_atom_site_anisotrop.U[2][3] +_atom_site_anisotrop.pdbx_auth_seq_id +_atom_site_anisotrop.pdbx_auth_comp_id +_atom_site_anisotrop.pdbx_auth_asym_id +_atom_site_anisotrop.pdbx_auth_atom_id +1 N N . PRO A 1 ? 0.0347 0.0300 0.0511 0.0011 0.0008 0.0024 1 PRO A N +2 C CA . PRO A 1 ? 0.0332 0.0318 0.0511 0.0003 0.0019 0.0044 1 PRO A CA +3 C C . PRO A 1 ? 0.0368 0.0339 0.0499 0.0007 -0.0010 0.0060 1 PRO A C +4 O O . PRO A 1 ? 0.0344 0.0404 0.0808 0.0001 0.0057 0.0158 1 PRO A O +5 C CB . PRO A 1 ? 0.0484 0.0389 0.0472 0.0048 0.0050 0.0025 1 PRO A CB +6 C CG . PRO A 1 ? 0.0427 0.0384 0.0516 0.0053 -0.0007 -0.0028 1 PRO A CG +7 C CD . PRO A 1 ? 0.0459 0.0301 0.0652 0.0006 -0.0029 -0.0030 1 PRO A CD +17 N N . PHE A 2 ? 0.0333 0.0303 0.0532 0.0004 0.0024 0.0028 2 PHE A N +18 C CA . PHE A 2 ? 0.0374 0.0287 0.0531 0.0022 0.0031 0.0004 2 PHE A CA +19 C C . PHE A 2 ? 0.0335 0.0284 0.0504 0.0016 0.0027 0.0055 2 PHE A C +20 O O . PHE A 2 ? 0.0386 0.0336 0.0526 0.0022 0.0044 0.0028 2 PHE A O +21 C CB . PHE A 2 ? 0.0403 0.0282 0.0675 -0.0025 0.0021 -0.0024 2 PHE A CB +22 C CG . PHE A 2 ? 0.0439 0.0263 0.0600 -0.0032 0.0029 -0.0015 2 PHE A CG +23 C CD1 . PHE A 2 ? 0.0482 0.0304 0.0588 0.0008 0.0045 0.0014 2 PHE A CD1 +24 C CD2 . PHE A 2 ? 0.0595 0.0404 0.0554 0.0058 0.0087 -0.0001 2 PHE A CD2 +25 C CE1 . PHE A 2 ? 0.0477 0.0338 0.0624 0.0024 0.0030 -0.0014 2 PHE A CE1 +26 C CE2 . PHE A 2 ? 0.0682 0.0425 0.0578 0.0064 -0.0008 0.0020 2 PHE A CE2 +27 C CZ . PHE A 2 ? 0.0559 0.0306 0.0677 0.0023 -0.0046 0.0056 2 PHE A CZ +37 N N . LEU A 3 ? 0.0359 0.0347 0.0514 0.0024 0.0011 0.0008 3 LEU A N +38 C CA . LEU A 3 ? 0.0410 0.0342 0.0534 0.0013 -0.0007 -0.0021 3 LEU A CA +39 C C . LEU A 3 ? 0.0430 0.0328 0.0481 0.0002 0.0014 0.0018 3 LEU A C +40 O O . LEU A 3 ? 0.0411 0.0390 0.0526 -0.0003 -0.0009 -0.0063 3 LEU A O +41 C CB . LEU A 3 ? 0.0512 0.0395 0.0540 0.0040 -0.0014 -0.0012 3 LEU A CB +42 C CG . LEU A 3 ? 0.0682 0.0428 0.0616 -0.0112 -0.0010 0.0039 3 LEU A CG +43 C CD1 . LEU A 3 ? 0.0648 0.0592 0.0650 -0.0051 0.0119 0.0075 3 LEU A CD1 +44 C CD2 . LEU A 3 ? 0.1260 0.0423 0.0664 -0.0019 0.0020 0.0031 3 LEU A CD2 +56 N N . ILE A 4 ? 0.0398 0.0360 0.0504 -0.0009 0.0016 -0.0029 4 ILE A N +57 C CA . ILE A 4 ? 0.0442 0.0358 0.0422 0.0009 -0.0016 -0.0029 4 ILE A CA +58 C C . ILE A 4 ? 0.0376 0.0293 0.0503 -0.0002 0.0033 0.0013 4 ILE A C +59 O O . ILE A 4 ? 0.0389 0.0401 0.0504 -0.0035 0.0051 -0.0019 4 ILE A O +60 C CB . ILE A 4 ? 0.0465 0.0376 0.0514 -0.0012 -0.0032 0.0006 4 ILE A CB +61 C CG1 . ILE A 4 ? 0.0581 0.0403 0.0562 0.0057 -0.0059 -0.0012 4 ILE A CG1 +62 C CG2 . ILE A 4 ? 0.0636 0.0340 0.0659 0.0069 -0.0092 -0.0009 4 ILE A CG2 +63 C CD1 . ILE A 4 ? 0.0898 0.0464 0.0598 0.0059 -0.0084 0.0013 4 ILE A CD1 +64 O OXT . ILE A 4 ? 0.0387 0.0559 0.0581 0.0023 0.0003 0.0020 4 ILE A OXT +76 N N . PRO B 1 ? 0.0318 0.0332 0.0549 0.0014 0.0030 0.0037 1 PRO B N +77 C CA . PRO B 1 ? 0.0358 0.0295 0.0493 -0.0015 0.0030 0.0031 1 PRO B CA +78 C C . PRO B 1 ? 0.0314 0.0311 0.0509 0.0001 0.0065 0.0018 1 PRO B C +79 O O . PRO B 1 ? 0.0365 0.0349 0.0627 -0.0001 0.0010 0.0038 1 PRO B O +80 C CB . PRO B 1 ? 0.0447 0.0321 0.0534 0.0041 0.0047 0.0046 1 PRO B CB +81 C CG . PRO B 1 ? 0.0466 0.0335 0.0557 0.0050 0.0026 0.0018 1 PRO B CG +82 C CD . PRO B 1 ? 0.0419 0.0302 0.0676 0.0010 0.0019 0.0006 1 PRO B CD +92 N N . PHE B 2 ? 0.0371 0.0278 0.0514 -0.0009 -0.0003 0.0016 2 PHE B N +93 C CA . PHE B 2 ? 0.0359 0.0283 0.0456 0.0028 0.0003 -0.0003 2 PHE B CA +94 C C . PHE B 2 ? 0.0353 0.0257 0.0445 0.0022 0.0045 0.0021 2 PHE B C +95 O O . PHE B 2 ? 0.0379 0.0321 0.0498 -0.0007 0.0014 0.0013 2 PHE B O +96 C CB . PHE B 2 ? 0.0432 0.0267 0.0571 -0.0032 -0.0021 -0.0016 2 PHE B CB +97 C CG . PHE B 2 ? 0.0414 0.0257 0.0527 -0.0028 -0.0012 -0.0016 2 PHE B CG +98 C CD1 . PHE B 2 ? 0.0494 0.0290 0.0516 -0.0018 0.0027 -0.0036 2 PHE B CD1 +99 C CD2 . PHE B 2 ? 0.0457 0.0341 0.0534 -0.0024 0.0013 -0.0036 2 PHE B CD2 +100 C CE1 . PHE B 2 ? 0.0458 0.0317 0.0536 0.0004 0.0077 -0.0022 2 PHE B CE1 +101 C CE2 . PHE B 2 ? 0.0533 0.0325 0.0566 -0.0002 0.0035 0.0015 2 PHE B CE2 +102 C CZ . PHE B 2 ? 0.0491 0.0286 0.0614 0.0006 -0.0024 0.0002 2 PHE B CZ +112 N N . LEU B 3 ? 0.0389 0.0326 0.0442 0.0013 0.0005 -0.0018 3 LEU B N +113 C CA . LEU B 3 ? 0.0452 0.0344 0.0427 0.0010 -0.0027 -0.0037 3 LEU B CA +114 C C . LEU B 3 ? 0.0444 0.0327 0.0425 -0.0018 0.0033 0.0006 3 LEU B C +115 O O . LEU B 3 ? 0.0424 0.0387 0.0554 -0.0005 -0.0036 -0.0065 3 LEU B O +116 C CB . LEU B 3 ? 0.0597 0.0356 0.0520 0.0032 -0.0029 -0.0004 3 LEU B CB +117 C CG . LEU B 3 ? 0.0707 0.0415 0.0524 0.0031 0.0042 0.0013 3 LEU B CG +118 C CD1 . LEU B 3 ? 0.0688 0.0703 0.0691 -0.0028 -0.0048 0.0111 3 LEU B CD1 +119 C CD2 . LEU B 3 ? 0.0772 0.0519 0.0695 0.0038 0.0042 0.0085 3 LEU B CD2 +131 N N . ILE B 4 ? 0.0367 0.0342 0.0557 -0.0001 0.0011 -0.0038 4 ILE B N +132 C CA . ILE B 4 ? 0.0380 0.0343 0.0553 -0.0031 0.0015 -0.0028 4 ILE B CA +133 C C . ILE B 4 ? 0.0394 0.0279 0.0520 0.0008 0.0036 0.0004 4 ILE B C +134 O O . ILE B 4 ? 0.0420 0.0349 0.0531 -0.0011 0.0028 -0.0052 4 ILE B O +135 C CB . ILE B 4 ? 0.0460 0.0359 0.0513 0.0021 -0.0007 0.0015 4 ILE B CB +136 C CG1 . ILE B 4 ? 0.0629 0.0362 0.0625 0.0021 -0.0004 -0.0019 4 ILE B CG1 +137 C CG2 . ILE B 4 ? 0.0640 0.0618 0.0757 0.0120 0.0151 0.0264 4 ILE B CG2 +138 C CD1 . ILE B 4 ? 0.0788 0.0387 0.0755 0.0059 0.0052 0.0074 4 ILE B CD1 +139 O OXT . ILE B 4 ? 0.0374 0.0492 0.0528 0.0027 0.0012 -0.0011 4 ILE B OXT +# diff --git a/testsuite/MDAnalysisTests/data/mmcif/7ETN.cif.gz b/testsuite/MDAnalysisTests/data/mmcif/7ETN.cif.gz new file mode 100644 index 00000000000..c5d77f66adc Binary files /dev/null and b/testsuite/MDAnalysisTests/data/mmcif/7ETN.cif.gz differ diff --git a/testsuite/MDAnalysisTests/datafiles.py b/testsuite/MDAnalysisTests/datafiles.py index ef0bea4036a..bcecc2dc862 100644 --- a/testsuite/MDAnalysisTests/datafiles.py +++ b/testsuite/MDAnalysisTests/datafiles.py @@ -37,14 +37,21 @@ """ __all__ = [ - "PSF", "DCD", "CRD", # CHARMM (AdK example, DIMS trajectory from JMB 2009 paper) + "PSF", + "DCD", + "CRD", # CHARMM (AdK example, DIMS trajectory from JMB 2009 paper) "DCD2", # CHARMM (AdK example, DIMS trajectory from PLOS Comput Biol paper) - "PSF_notop", "PSF_BAD", # Same as PSF but no bonds etc, malformed version of previous + "PSF_notop", + "PSF_BAD", # Same as PSF but no bonds etc, malformed version of previous "DCD_empty", - "PSF_TRICLINIC", "DCD_TRICLINIC", # CHARMM c36 new unitcell, NPT 125 TIP3P (box vectors, see Issue 187 for details) - "PSF_NAMD", "PDB_NAMD", # NAMD - "PSF_NAMD_TRICLINIC", "DCD_NAMD_TRICLINIC", # NAMD, triclinic unitcell (Issue 187) - "PSF_NAMD_GBIS", "DCD_NAMD_GBIS", # NAMD, implicit solvent, 100 steps, #1819 + "PSF_TRICLINIC", + "DCD_TRICLINIC", # CHARMM c36 new unitcell, NPT 125 TIP3P (box vectors, see Issue 187 for details) + "PSF_NAMD", + "PDB_NAMD", # NAMD + "PSF_NAMD_TRICLINIC", + "DCD_NAMD_TRICLINIC", # NAMD, triclinic unitcell (Issue 187) + "PSF_NAMD_GBIS", + "DCD_NAMD_GBIS", # NAMD, implicit solvent, 100 steps, #1819 "PSF_nosegid", # psf without a segid, Issue 121 "PSF_cmap", # ala3 PSF from ParmEd test files with cmap "PSF_inscode", # PSF file with insertion codes @@ -58,61 +65,127 @@ "PDB_icodes", # stripped down version of 1osm, has icodes! "PDB_varying", # varying occupancies and tempfactors "XPDB_small", - "PDB_full", # PDB 4E43 (full HEADER, TITLE, COMPND, REMARK, altloc) + "PDB_full", # PDB 4E43 (full HEADER, TITLE, COMPND, REMARK, altloc) "ALIGN", # Various way to align atom names in PDB files - "RNA_PSF", "RNA_PDB", # nucleic acid (PDB 1K5I in CHARMM36m) + "RNA_PSF", + "RNA_PDB", # nucleic acid (PDB 1K5I in CHARMM36m) "INC_PDB", # incomplete PDB file (Issue #396) # for testing cryst before/after model headers - "PDB_cm", "PDB_cm_bz2", "PDB_cm_gz", - "PDB_mc", "PDB_mc_bz2", "PDB_mc_gz", + "PDB_cm", + "PDB_cm_bz2", + "PDB_cm_gz", + "PDB_mc", + "PDB_mc_bz2", + "PDB_mc_gz", "PDB_chainidnewres", # Issue 1110 - "PDB_sameresid_diffresname", #Case where two residues share the same resid + "PDB_sameresid_diffresname", # Case where two residues share the same resid "PDB_chainidrepeat", # Issue #1107 - "PDB", "GRO", "XTC", "TRR", "TPR", "GRO_velocity", # Gromacs (AdK) + "PDB", + "GRO", + "XTC", + "TRR", + "TPR", + "GRO_velocity", # Gromacs (AdK) "GRO_incomplete_vels", "COORDINATES_GRO_BZ2", - "GRO_large", #atom number truncation at > 100,000 particles, Issue 550 + "GRO_large", # atom number truncation at > 100,000 particles, Issue 550 "GRO_residwrap", # resids wrapping because of 5 digit field (Issue #728) "GRO_residwrap_0base", # corner case of #728 with resid=0 for first atom "GRO_sameresid_diffresname", # Case where two residues share the same resid - "PDB_xvf", "TPR_xvf", "TRR_xvf", # Gromacs coords/veloc/forces (cobrotoxin, OPLS-AA, Gromacs 4.5.5 tpr) + "PDB_xvf", + "TPR_xvf", + "TRR_xvf", # Gromacs coords/veloc/forces (cobrotoxin, OPLS-AA, Gromacs 4.5.5 tpr) "H5MD_xvf", # TPR_xvf + TRR_xvf converted to h5md format "H5MD_energy", # H5MD trajectory with observables/atoms/energy "H5MD_malformed", # H5MD trajectory with malformed observable group "XVG_BZ2", # Compressed xvg file about cobrotoxin "PDB_xlserial", - "TPR400", "TPR402", "TPR403", "TPR404", "TPR405", "TPR406", "TPR407", - "TPR450", "TPR451", "TPR452", "TPR453", "TPR454", "TPR455", "TPR455Double", - "TPR460", "TPR461", "TPR502", "TPR504", "TPR505", "TPR510", "TPR2016", - "TPR2018", "TPR2019B3", "TPR2020B2", "TPR2020", "TPR2020Double", - "TPR2021", "TPR2021Double", "TPR2022RC1", "TPR2023", "TPR2024", - "TPR510_bonded", "TPR2016_bonded", "TPR2018_bonded", "TPR2019B3_bonded", - "TPR2020B2_bonded", "TPR2020_bonded", "TPR2020_double_bonded", - "TPR2021_bonded", "TPR2021_double_bonded", "TPR2022RC1_bonded", - "TPR334_bonded", "TPR2023_bonded", "TPR2024_bonded", - "TPR_EXTRA_2021", "TPR_EXTRA_2020", "TPR_EXTRA_2018", - "TPR_EXTRA_2016", "TPR_EXTRA_407", "TPR_EXTRA_2022RC1", - "TPR_EXTRA_2023", "TPR_EXTRA_2024", - "PDB_sub_sol", "PDB_sub_dry", # TRRReader sub selection + "TPR400", + "TPR402", + "TPR403", + "TPR404", + "TPR405", + "TPR406", + "TPR407", + "TPR450", + "TPR451", + "TPR452", + "TPR453", + "TPR454", + "TPR455", + "TPR455Double", + "TPR460", + "TPR461", + "TPR502", + "TPR504", + "TPR505", + "TPR510", + "TPR2016", + "TPR2018", + "TPR2019B3", + "TPR2020B2", + "TPR2020", + "TPR2020Double", + "TPR2021", + "TPR2021Double", + "TPR2022RC1", + "TPR2023", + "TPR2024", + "TPR510_bonded", + "TPR2016_bonded", + "TPR2018_bonded", + "TPR2019B3_bonded", + "TPR2020B2_bonded", + "TPR2020_bonded", + "TPR2020_double_bonded", + "TPR2021_bonded", + "TPR2021_double_bonded", + "TPR2022RC1_bonded", + "TPR334_bonded", + "TPR2023_bonded", + "TPR2024_bonded", + "TPR_EXTRA_2021", + "TPR_EXTRA_2020", + "TPR_EXTRA_2018", + "TPR_EXTRA_2016", + "TPR_EXTRA_407", + "TPR_EXTRA_2022RC1", + "TPR_EXTRA_2023", + "TPR_EXTRA_2024", + "PDB_sub_sol", + "PDB_sub_dry", # TRRReader sub selection "TRR_sub_sol", "XTC_sub_sol", - "XYZ", "XYZ_psf", "XYZ_bz2", - "XYZ_mini", "XYZ_five", # 3 and 5 atoms xyzs for an easy topology - "TXYZ", "ARC", "ARC_PBC", # Tinker files + "XYZ", + "XYZ_psf", + "XYZ_bz2", + "XYZ_mini", + "XYZ_five", # 3 and 5 atoms xyzs for an easy topology + "TXYZ", + "ARC", + "ARC_PBC", # Tinker files "PRM", "PRM_chainid_bz2", "TRJ", "TRJ_bz2", # Amber (no periodic box) "INPCRD", - "PRMpbc", "TRJpbc_bz2", # Amber (periodic box) - "PRM7", "NCDFtruncoct", # Amber (cpptrj test trajectory, see Issue 488) - "PRM12", "TRJ12_bz2", # Amber (v12 format, Issue 100) - "PRMncdf", "TRJncdf", "NCDF", # Amber (netcdf) - "PFncdf_Top", "PFncdf_Trj", # Amber ncdf with Positions and Forces - "CPPTRAJ_TRAJ_TOP", "CPPTRAJ_TRAJ", # Amber ncdf extracted from CPPTRAJ without time variable + "PRMpbc", + "TRJpbc_bz2", # Amber (periodic box) + "PRM7", + "NCDFtruncoct", # Amber (cpptrj test trajectory, see Issue 488) + "PRM12", + "TRJ12_bz2", # Amber (v12 format, Issue 100) + "PRMncdf", + "TRJncdf", + "NCDF", # Amber (netcdf) + "PFncdf_Top", + "PFncdf_Trj", # Amber ncdf with Positions and Forces + "CPPTRAJ_TRAJ_TOP", + "CPPTRAJ_TRAJ", # Amber ncdf extracted from CPPTRAJ without time variable "PRMcs", # Amber (format, Issue 1331) "PRMNCRST", # Amber ncrst with positions/forces/velocities - "PRM_NCBOX", "TRJ_NCBOX", # Amber parm7 + nc w/ pos/forces/vels/box + "PRM_NCBOX", + "TRJ_NCBOX", # Amber parm7 + nc w/ pos/forces/vels/box "PRMNEGATIVE", # Amber negative ATOMIC_NUMBER (Issue 2306) "PRMErr1", # Amber TOP files to check raised errors "PRMErr2", @@ -120,7 +193,8 @@ "PRMErr4", "PRMErr5", "PRM_UreyBradley", # prmtop from ParmEd test files with Urey-Bradley angles - "PRM7_ala2", "RST7_ala2", # prmtop and rst files from ParmEd example files + "PRM7_ala2", + "RST7_ala2", # prmtop and rst files from ParmEd example files "PRM19SBOPC", # prmtop w/ ff19SB CMAP terms and OPC water (Issue #2449) "PQR", # PQR v1 "PQR_icodes", # PQR v2 with icodes @@ -138,7 +212,8 @@ "DMS_NO_SEGID", # ADK closed with no segids or chains "CONECT", # HIV Reverse Transcriptase with inhibitor "CONECT_ERROR", # PDB file with corrupt CONECT - "TRZ", "TRZ_psf", + "TRZ", + "TRZ_psf", "TRIC", "XTC_multi_frame", "TRR_multi_frame", @@ -146,15 +221,32 @@ "TNG_traj_gro", # topology for argon_npt_compressed_traj "TNG_traj_uneven_blocks", # TNG trajectory with pos and vel deposited on different strides "TNG_traj_vels_forces", # similar to above but with velocities and forces - "merge_protein", "merge_ligand", "merge_water", - "mol2_molecules", "mol2_molecule", "mol2_broken_molecule", - "mol2_zinc", "mol2_comments_header", "mol2_ligand", "mol2_sodium_ion", - "capping_input", "capping_output", "capping_ace", "capping_nma", - "contacts_villin_folded", "contacts_villin_unfolded", "contacts_file", - "LAMMPSdata", "trz4data", "LAMMPSdata_mini", - "LAMMPSdata2", "LAMMPSdcd2", - "LAMMPScnt", "LAMMPScnt2", # triclinic box - "LAMMPShyd", "LAMMPShyd2", + "merge_protein", + "merge_ligand", + "merge_water", + "mol2_molecules", + "mol2_molecule", + "mol2_broken_molecule", + "mol2_zinc", + "mol2_comments_header", + "mol2_ligand", + "mol2_sodium_ion", + "capping_input", + "capping_output", + "capping_ace", + "capping_nma", + "contacts_villin_folded", + "contacts_villin_unfolded", + "contacts_file", + "LAMMPSdata", + "trz4data", + "LAMMPSdata_mini", + "LAMMPSdata2", + "LAMMPSdcd2", + "LAMMPScnt", + "LAMMPScnt2", # triclinic box + "LAMMPShyd", + "LAMMPShyd2", "LAMMPSdata_many_bonds", "LAMMPSdata_deletedatoms", # with deleted atoms "LAMMPSdata_triclinic", # lammpsdata file to test triclinic dimension parsing, albite with most atoms deleted @@ -167,22 +259,29 @@ "LAMMPSDUMP_triclinic", # lammpsdump file to test triclinic dimension parsing, albite with most atoms deleted "LAMMPSDUMP_image_vf", # Lammps dump file with image flags, velocities, and forces. "LAMMPS_image_vf", # Lammps data file to go with LAMMPSDUMP_image_vf - "LAMMPSDUMP_chain1", # Lammps dump file with chain reader - "LAMMPSDUMP_chain2", # Lammps dump file with chain reader - "LAMMPS_chain", # Lammps data file with chain reader + "LAMMPSDUMP_chain1", # Lammps dump file with chain reader + "LAMMPSDUMP_chain2", # Lammps dump file with chain reader + "LAMMPS_chain", # Lammps data file with chain reader "LAMMPSDUMP_additional_columns", # lammpsdump file with additional data (an additional charge column) "unordered_res", # pdb file with resids non sequential "GMS_ASYMOPT", # GAMESS C1 optimization - "GMS_SYMOPT", # GAMESS D4h optimization + "GMS_SYMOPT", # GAMESS D4h optimization "GMS_ASYMSURF", # GAMESS C1 surface - "two_water_gro", "two_water_gro_nonames", # for bond guessing, 2 water molecules, one with weird names + "two_water_gro", + "two_water_gro_nonames", # for bond guessing, 2 water molecules, one with weird names "two_water_gro_multiframe", "two_water_gro_widebox", # Issue #548 - "DLP_CONFIG", "DLP_CONFIG_order", "DLP_CONFIG_minimal", # dl_poly 4 config file - "DLP_HISTORY", "DLP_HISTORY_order", "DLP_HISTORY_minimal", # dl_poly 4 history file + "DLP_CONFIG", + "DLP_CONFIG_order", + "DLP_CONFIG_minimal", # dl_poly 4 config file + "DLP_HISTORY", + "DLP_HISTORY_order", + "DLP_HISTORY_minimal", # dl_poly 4 history file "DLP_HISTORY_minimal_cell", # dl_poly 4 history file with cell parameters "DLP_HISTORY_classic", # dl_poly classic history file - "waterPSF","waterDCD","rmsfArray", + "waterPSF", + "waterDCD", + "rmsfArray", "HoomdXMLdata", "Make_Whole", # for testing the function lib.mdamath.make_whole, has 9 atoms "fullerene", # for make_whole, a nice friendly C60 with bonds @@ -199,37 +298,61 @@ "COORDINATES_DCD", "COORDINATES_TOPOLOGY", "NUCLsel", - "GRO_empty_atom", "GRO_missing_atomname", # for testing GROParser exception raise - "ENT", #for testing ENT file extension + "GRO_empty_atom", + "GRO_missing_atomname", # for testing GROParser exception raise + "ENT", # for testing ENT file extension "RANDOM_WALK", "RANDOM_WALK_TOPO", # garbage topology to go along with XTC positions above - "AUX_XVG", "XVG_BAD_NCOL", #for testing .xvg auxiliary reader - "AUX_XVG_LOWF", "AUX_XVG_HIGHF", - "AUX_EDR", "AUX_EDR_TPR", - "AUX_EDR_XTC", "AUX_EDR_RAW", + "AUX_XVG", + "XVG_BAD_NCOL", # for testing .xvg auxiliary reader + "AUX_XVG_LOWF", + "AUX_XVG_HIGHF", + "AUX_EDR", + "AUX_EDR_TPR", + "AUX_EDR_XTC", + "AUX_EDR_RAW", "AUX_EDR_SINGLE_FRAME", # for testing .edr auxiliary reader - "MMTF", "MMTF_gz", 'MMTF_skinny', # skinny - some optional fields stripped out + "MMTF", + "MMCIF", + "MMTF_gz", + "MMTF_skinny", # skinny - some optional fields stripped out "MMTF_skinny2", "ALIGN_BOUND", # two component bound system "ALIGN_UNBOUND", # two component unbound system "legacy_DCD_ADK_coords", # frames 5 and 29 read in for adk_dims.dcd using legacy DCD reader "legacy_DCD_NAMD_coords", # frame 0 read in for SiN_tric_namd.dcd using legacy DCD reader "legacy_DCD_c36_coords", # frames 1 and 4 read in for tip125_tric_C36.dcd using legacy DCD reader - "GSD", "GSD_bonds", "GSD_long", - "TRC_PDB_VAC", "TRC_TRAJ1_VAC", "TRC_TRAJ2_VAC", # 2x 3 frames of vacuum trajectory from GROMOS11 tutorial + "GSD", + "GSD_bonds", + "GSD_long", + "TRC_PDB_VAC", + "TRC_TRAJ1_VAC", + "TRC_TRAJ2_VAC", # 2x 3 frames of vacuum trajectory from GROMOS11 tutorial "TRC_CLUSTER_VAC", # three frames without TIMESTEP and GENBOX block but with unsupported POSITION block - "TRC_TRICLINIC_SOLV", "TRC_TRUNCOCT_VAC", - "TRC_GENBOX_ORIGIN", "TRC_GENBOX_EULER", + "TRC_TRICLINIC_SOLV", + "TRC_TRUNCOCT_VAC", + "TRC_GENBOX_ORIGIN", + "TRC_GENBOX_EULER", "TRC_EMPTY", # Empty file containing only one space - "TRC_PDB_SOLV", "TRC_TRAJ_SOLV", # 2 frames of solvated trajectory from GROMOS11 tutorial - "GRO_MEMPROT", "XTC_MEMPROT", # YiiP transporter in POPE:POPG lipids with Na+, Cl-, Zn2+ dummy model without water - "DihedralArray", "DihedralsArray", # time series of single dihedral - "RamaArray", "GLYRamaArray", # time series of phi/psi angles - "JaninArray", "LYSJaninArray", # time series of chi1/chi2 angles - "PDB_rama", "PDB_janin", # for testing failures of Ramachandran and Janin classes + "TRC_PDB_SOLV", + "TRC_TRAJ_SOLV", # 2 frames of solvated trajectory from GROMOS11 tutorial + "GRO_MEMPROT", + "XTC_MEMPROT", # YiiP transporter in POPE:POPG lipids with Na+, Cl-, Zn2+ dummy model without water + "DihedralArray", + "DihedralsArray", # time series of single dihedral + "RamaArray", + "GLYRamaArray", # time series of phi/psi angles + "JaninArray", + "LYSJaninArray", # time series of chi1/chi2 angles + "PDB_rama", + "PDB_janin", # for testing failures of Ramachandran and Janin classes "BATArray", # time series of bond-angle-torsion coordinates array from Molecule_comments_header.mol2 # DOS line endings - "WIN_PDB_multiframe", "WIN_DLP_HISTORY", "WIN_TRJ", "WIN_LAMMPSDUMP", "WIN_ARC", + "WIN_PDB_multiframe", + "WIN_DLP_HISTORY", + "WIN_TRJ", + "WIN_LAMMPSDUMP", + "WIN_ARC", "GRO_huge_box", # for testing gro parser with hige box sizes "ITP", # for GROMACS generated itps "ITP_nomass", # for ATB generated itps @@ -259,225 +382,243 @@ from importlib import resources import MDAnalysisTests.data -_data_ref = resources.files('MDAnalysisTests.data') - -WIN_PDB_multiframe = (_data_ref / 'windows/WIN_nmr_neopetrosiamide.pdb').as_posix() -WIN_DLP_HISTORY = (_data_ref / 'windows/WIN_HISTORY').as_posix() -WIN_TRJ = (_data_ref / 'windows/WIN_ache.mdcrd').as_posix() -WIN_ARC = (_data_ref / 'windows/WIN_test.arc').as_posix() -WIN_LAMMPSDUMP = (_data_ref / 'windows/WIN_wat.lammpstrj').as_posix() - -legacy_DCD_NAMD_coords = (_data_ref / 'legacy_DCD_NAMD_coords.npy').as_posix() -legacy_DCD_ADK_coords = (_data_ref / 'legacy_DCD_adk_coords.npy').as_posix() -legacy_DCD_c36_coords = (_data_ref / 'legacy_DCD_c36_coords.npy').as_posix() -AUX_XVG_LOWF = (_data_ref / 'test_lowf.xvg').as_posix() -AUX_XVG_HIGHF = (_data_ref / 'test_highf.xvg').as_posix() -XVG_BAD_NCOL = (_data_ref / 'bad_num_col.xvg').as_posix() -AUX_XVG = (_data_ref / 'test.xvg').as_posix() -AUX_EDR = (_data_ref / 'test.edr').as_posix() -AUX_EDR_RAW = (_data_ref / 'aux_edr_raw.txt').as_posix() -AUX_EDR_TPR = (_data_ref / 'aux_edr.tpr').as_posix() -AUX_EDR_XTC = (_data_ref / 'aux_edr.xtc').as_posix() -AUX_EDR_SINGLE_FRAME = (_data_ref / 'single_frame.edr').as_posix() -ENT = (_data_ref / 'testENT.ent').as_posix() -GRO_missing_atomname = (_data_ref / 'missing_atomname.gro').as_posix() -GRO_empty_atom = (_data_ref / 'empty_atom.gro').as_posix() -GRO_huge_box = (_data_ref / 'huge_box.gro').as_posix() - -COORDINATES_GRO = (_data_ref / 'coordinates/test.gro').as_posix() -COORDINATES_GRO_INCOMPLETE_VELOCITY = (_data_ref / 'coordinates/test_incomplete_vel.gro').as_posix() -COORDINATES_GRO_BZ2 = (_data_ref / 'coordinates/test.gro.bz2').as_posix() -COORDINATES_XYZ = (_data_ref / 'coordinates/test.xyz').as_posix() -COORDINATES_XYZ_BZ2 = (_data_ref / 'coordinates/test.xyz.bz2').as_posix() -COORDINATES_XTC = (_data_ref / 'coordinates/test.xtc').as_posix() -COORDINATES_TRR = (_data_ref / 'coordinates/test.trr').as_posix() -COORDINATES_TNG = (_data_ref / 'coordinates/test.tng').as_posix() -COORDINATES_H5MD = (_data_ref / 'coordinates/test.h5md').as_posix() -COORDINATES_DCD = (_data_ref / 'coordinates/test.dcd').as_posix() -COORDINATES_TOPOLOGY = (_data_ref / 'coordinates/test_topology.pdb').as_posix() - -PSF = (_data_ref / 'adk.psf').as_posix() -PSF_notop = (_data_ref / 'adk_notop.psf').as_posix() -PSF_BAD = (_data_ref / 'adk_notop_BAD.psf').as_posix() -DCD = (_data_ref / 'adk_dims.dcd').as_posix() -DCD_empty = (_data_ref / 'empty.dcd').as_posix() -CRD = (_data_ref / 'adk_open.crd').as_posix() -PSF_TRICLINIC = (_data_ref / 'tip125_tric_C36.psf').as_posix() -DCD_TRICLINIC = (_data_ref / 'tip125_tric_C36.dcd').as_posix() -DCD2 = (_data_ref / 'adk_dims2.dcd').as_posix() - -PSF_NAMD = (_data_ref / 'namd_cgenff.psf').as_posix() -PDB_NAMD = (_data_ref / 'namd_cgenff.pdb').as_posix() -PDB_multipole = (_data_ref / 'water_methane_acetic-acid_ammonia.pdb').as_posix() -PSF_NAMD_TRICLINIC = (_data_ref / 'SiN_tric_namd.psf').as_posix() -DCD_NAMD_TRICLINIC = (_data_ref / 'SiN_tric_namd.dcd').as_posix() -PSF_NAMD_GBIS = (_data_ref / 'adk_closed_NAMD.psf').as_posix() -DCD_NAMD_GBIS = (_data_ref / 'adk_gbis_tmd-fast1_NAMD.dcd').as_posix() - -PSF_nosegid = (_data_ref / 'nosegid.psf').as_posix() - -PSF_cmap = (_data_ref / 'parmed_ala3.psf').as_posix() - -PSF_inscode = (_data_ref / '1a2c_ins_code.psf').as_posix() - -PDB_varying = (_data_ref / 'varying_occ_tmp.pdb').as_posix() -PDB_small = (_data_ref / 'adk_open.pdb').as_posix() -PDB_closed = (_data_ref / 'adk_closed.pdb').as_posix() - -ALIGN = (_data_ref / 'align.pdb').as_posix() -RNA_PSF = (_data_ref / 'analysis/1k5i_c36.psf.gz').as_posix() -RNA_PDB = (_data_ref / 'analysis/1k5i_c36.pdb.gz').as_posix() -INC_PDB = (_data_ref / 'incomplete.pdb').as_posix() -PDB_cm = (_data_ref / 'cryst_then_model.pdb').as_posix() -PDB_cm_gz = (_data_ref / 'cryst_then_model.pdb.gz').as_posix() -PDB_cm_bz2 = (_data_ref / 'cryst_then_model.pdb.bz2').as_posix() -PDB_mc = (_data_ref / 'model_then_cryst.pdb').as_posix() -PDB_mc_gz = (_data_ref / 'model_then_cryst.pdb.gz').as_posix() -PDB_mc_bz2 = (_data_ref / 'model_then_cryst.pdb.bz2').as_posix() -PDB_chainidnewres = (_data_ref / 'chainIDnewres.pdb.gz').as_posix() -PDB_sameresid_diffresname = (_data_ref / 'sameresid_diffresname.pdb').as_posix() -PDB_chainidrepeat = (_data_ref / 'chainIDrepeat.pdb.gz').as_posix() -PDB_multiframe = (_data_ref / 'nmr_neopetrosiamide.pdb').as_posix() -PDB_helix = (_data_ref / 'A6PA6_alpha.pdb').as_posix() -PDB_conect = (_data_ref / 'conect_parsing.pdb').as_posix() -PDB_conect2TER = (_data_ref / 'CONECT2TER.pdb').as_posix() -PDB_singleconect = (_data_ref / 'SINGLECONECT.pdb').as_posix() -PDB_icodes = (_data_ref / '1osm.pdb.gz').as_posix() -PDB_CRYOEM_BOX = (_data_ref / '5a7u.pdb').as_posix() -PDB_CHECK_RIGHTHAND_PA = (_data_ref / '6msm.pdb.bz2').as_posix() -FHIAIMS = (_data_ref / 'fhiaims.in').as_posix() - -GRO = (_data_ref / 'adk_oplsaa.gro').as_posix() -GRO_velocity = (_data_ref / 'sample_velocity_file.gro').as_posix() -GRO_incomplete_vels = (_data_ref / 'grovels.gro').as_posix() -GRO_large = (_data_ref / 'bigbox.gro.bz2').as_posix() -GRO_residwrap = (_data_ref / 'residwrap.gro').as_posix() -GRO_residwrap_0base = (_data_ref / 'residwrap_0base.gro').as_posix() -GRO_sameresid_diffresname = (_data_ref / 'sameresid_diffresname.gro').as_posix() -PDB = (_data_ref / 'adk_oplsaa.pdb').as_posix() -XTC = (_data_ref / 'adk_oplsaa.xtc').as_posix() -TRR = (_data_ref / 'adk_oplsaa.trr').as_posix() -TPR = (_data_ref / 'adk_oplsaa.tpr').as_posix() -PDB_sub_dry = (_data_ref / 'cobrotoxin_dry_neutral_0.pdb').as_posix() -TRR_sub_sol = (_data_ref / 'cobrotoxin.trr').as_posix() -XTC_sub_sol = (_data_ref / 'cobrotoxin.xtc').as_posix() -PDB_sub_sol = (_data_ref / 'cobrotoxin.pdb').as_posix() -PDB_xlserial = (_data_ref / 'xl_serial.pdb').as_posix() -GRO_MEMPROT = (_data_ref / 'analysis/YiiP_lipids.gro.gz').as_posix() -XTC_MEMPROT = (_data_ref / 'analysis/YiiP_lipids.xtc').as_posix() -XTC_multi_frame = (_data_ref / 'xtc_test_only_10_frame_10_atoms.xtc').as_posix() -TRR_multi_frame = (_data_ref / 'trr_test_only_10_frame_10_atoms.trr').as_posix() -TNG_traj = (_data_ref / 'argon_npt_compressed.tng').as_posix() -TNG_traj_gro = (_data_ref / 'argon_npt_compressed.gro.gz').as_posix() -TNG_traj_uneven_blocks = (_data_ref / 'argon_npt_compressed_uneven.tng').as_posix() -TNG_traj_vels_forces = (_data_ref / 'argon_npt_compressed_vels_forces.tng').as_posix() -PDB_xvf = (_data_ref / 'cobrotoxin.pdb').as_posix() -TPR_xvf = (_data_ref / 'cobrotoxin.tpr').as_posix() -TRR_xvf = (_data_ref / 'cobrotoxin.trr').as_posix() -H5MD_xvf = (_data_ref / 'cobrotoxin.h5md').as_posix() -H5MD_energy = (_data_ref / 'cu.h5md').as_posix() -H5MD_malformed = (_data_ref / 'cu_malformed.h5md').as_posix() -XVG_BZ2 = (_data_ref / 'cobrotoxin_protein_forces.xvg.bz2').as_posix() - -XPDB_small = (_data_ref / '5digitResid.pdb').as_posix() +_data_ref = resources.files("MDAnalysisTests.data") + +WIN_PDB_multiframe = (_data_ref / "windows/WIN_nmr_neopetrosiamide.pdb").as_posix() +WIN_DLP_HISTORY = (_data_ref / "windows/WIN_HISTORY").as_posix() +WIN_TRJ = (_data_ref / "windows/WIN_ache.mdcrd").as_posix() +WIN_ARC = (_data_ref / "windows/WIN_test.arc").as_posix() +WIN_LAMMPSDUMP = (_data_ref / "windows/WIN_wat.lammpstrj").as_posix() + +legacy_DCD_NAMD_coords = (_data_ref / "legacy_DCD_NAMD_coords.npy").as_posix() +legacy_DCD_ADK_coords = (_data_ref / "legacy_DCD_adk_coords.npy").as_posix() +legacy_DCD_c36_coords = (_data_ref / "legacy_DCD_c36_coords.npy").as_posix() +AUX_XVG_LOWF = (_data_ref / "test_lowf.xvg").as_posix() +AUX_XVG_HIGHF = (_data_ref / "test_highf.xvg").as_posix() +XVG_BAD_NCOL = (_data_ref / "bad_num_col.xvg").as_posix() +AUX_XVG = (_data_ref / "test.xvg").as_posix() +AUX_EDR = (_data_ref / "test.edr").as_posix() +AUX_EDR_RAW = (_data_ref / "aux_edr_raw.txt").as_posix() +AUX_EDR_TPR = (_data_ref / "aux_edr.tpr").as_posix() +AUX_EDR_XTC = (_data_ref / "aux_edr.xtc").as_posix() +AUX_EDR_SINGLE_FRAME = (_data_ref / "single_frame.edr").as_posix() +ENT = (_data_ref / "testENT.ent").as_posix() +GRO_missing_atomname = (_data_ref / "missing_atomname.gro").as_posix() +GRO_empty_atom = (_data_ref / "empty_atom.gro").as_posix() +GRO_huge_box = (_data_ref / "huge_box.gro").as_posix() + +COORDINATES_GRO = (_data_ref / "coordinates/test.gro").as_posix() +COORDINATES_GRO_INCOMPLETE_VELOCITY = ( + _data_ref / "coordinates/test_incomplete_vel.gro" +).as_posix() +COORDINATES_GRO_BZ2 = (_data_ref / "coordinates/test.gro.bz2").as_posix() +COORDINATES_XYZ = (_data_ref / "coordinates/test.xyz").as_posix() +COORDINATES_XYZ_BZ2 = (_data_ref / "coordinates/test.xyz.bz2").as_posix() +COORDINATES_XTC = (_data_ref / "coordinates/test.xtc").as_posix() +COORDINATES_TRR = (_data_ref / "coordinates/test.trr").as_posix() +COORDINATES_TNG = (_data_ref / "coordinates/test.tng").as_posix() +COORDINATES_H5MD = (_data_ref / "coordinates/test.h5md").as_posix() +COORDINATES_DCD = (_data_ref / "coordinates/test.dcd").as_posix() +COORDINATES_TOPOLOGY = (_data_ref / "coordinates/test_topology.pdb").as_posix() + +PSF = (_data_ref / "adk.psf").as_posix() +PSF_notop = (_data_ref / "adk_notop.psf").as_posix() +PSF_BAD = (_data_ref / "adk_notop_BAD.psf").as_posix() +DCD = (_data_ref / "adk_dims.dcd").as_posix() +DCD_empty = (_data_ref / "empty.dcd").as_posix() +CRD = (_data_ref / "adk_open.crd").as_posix() +PSF_TRICLINIC = (_data_ref / "tip125_tric_C36.psf").as_posix() +DCD_TRICLINIC = (_data_ref / "tip125_tric_C36.dcd").as_posix() +DCD2 = (_data_ref / "adk_dims2.dcd").as_posix() + +PSF_NAMD = (_data_ref / "namd_cgenff.psf").as_posix() +PDB_NAMD = (_data_ref / "namd_cgenff.pdb").as_posix() +PDB_multipole = (_data_ref / "water_methane_acetic-acid_ammonia.pdb").as_posix() +PSF_NAMD_TRICLINIC = (_data_ref / "SiN_tric_namd.psf").as_posix() +DCD_NAMD_TRICLINIC = (_data_ref / "SiN_tric_namd.dcd").as_posix() +PSF_NAMD_GBIS = (_data_ref / "adk_closed_NAMD.psf").as_posix() +DCD_NAMD_GBIS = (_data_ref / "adk_gbis_tmd-fast1_NAMD.dcd").as_posix() + +PSF_nosegid = (_data_ref / "nosegid.psf").as_posix() + +PSF_cmap = (_data_ref / "parmed_ala3.psf").as_posix() + +PSF_inscode = (_data_ref / "1a2c_ins_code.psf").as_posix() + +PDB_varying = (_data_ref / "varying_occ_tmp.pdb").as_posix() +PDB_small = (_data_ref / "adk_open.pdb").as_posix() +PDB_closed = (_data_ref / "adk_closed.pdb").as_posix() + +ALIGN = (_data_ref / "align.pdb").as_posix() +RNA_PSF = (_data_ref / "analysis/1k5i_c36.psf.gz").as_posix() +RNA_PDB = (_data_ref / "analysis/1k5i_c36.pdb.gz").as_posix() +INC_PDB = (_data_ref / "incomplete.pdb").as_posix() +PDB_cm = (_data_ref / "cryst_then_model.pdb").as_posix() +PDB_cm_gz = (_data_ref / "cryst_then_model.pdb.gz").as_posix() +PDB_cm_bz2 = (_data_ref / "cryst_then_model.pdb.bz2").as_posix() +PDB_mc = (_data_ref / "model_then_cryst.pdb").as_posix() +PDB_mc_gz = (_data_ref / "model_then_cryst.pdb.gz").as_posix() +PDB_mc_bz2 = (_data_ref / "model_then_cryst.pdb.bz2").as_posix() +PDB_chainidnewres = (_data_ref / "chainIDnewres.pdb.gz").as_posix() +PDB_sameresid_diffresname = (_data_ref / "sameresid_diffresname.pdb").as_posix() +PDB_chainidrepeat = (_data_ref / "chainIDrepeat.pdb.gz").as_posix() +PDB_multiframe = (_data_ref / "nmr_neopetrosiamide.pdb").as_posix() +PDB_helix = (_data_ref / "A6PA6_alpha.pdb").as_posix() +PDB_conect = (_data_ref / "conect_parsing.pdb").as_posix() +PDB_conect2TER = (_data_ref / "CONECT2TER.pdb").as_posix() +PDB_singleconect = (_data_ref / "SINGLECONECT.pdb").as_posix() +PDB_icodes = (_data_ref / "1osm.pdb.gz").as_posix() +PDB_CRYOEM_BOX = (_data_ref / "5a7u.pdb").as_posix() +PDB_CHECK_RIGHTHAND_PA = (_data_ref / "6msm.pdb.bz2").as_posix() +FHIAIMS = (_data_ref / "fhiaims.in").as_posix() + +GRO = (_data_ref / "adk_oplsaa.gro").as_posix() +GRO_velocity = (_data_ref / "sample_velocity_file.gro").as_posix() +GRO_incomplete_vels = (_data_ref / "grovels.gro").as_posix() +GRO_large = (_data_ref / "bigbox.gro.bz2").as_posix() +GRO_residwrap = (_data_ref / "residwrap.gro").as_posix() +GRO_residwrap_0base = (_data_ref / "residwrap_0base.gro").as_posix() +GRO_sameresid_diffresname = (_data_ref / "sameresid_diffresname.gro").as_posix() +PDB = (_data_ref / "adk_oplsaa.pdb").as_posix() +XTC = (_data_ref / "adk_oplsaa.xtc").as_posix() +TRR = (_data_ref / "adk_oplsaa.trr").as_posix() +TPR = (_data_ref / "adk_oplsaa.tpr").as_posix() +PDB_sub_dry = (_data_ref / "cobrotoxin_dry_neutral_0.pdb").as_posix() +TRR_sub_sol = (_data_ref / "cobrotoxin.trr").as_posix() +XTC_sub_sol = (_data_ref / "cobrotoxin.xtc").as_posix() +PDB_sub_sol = (_data_ref / "cobrotoxin.pdb").as_posix() +PDB_xlserial = (_data_ref / "xl_serial.pdb").as_posix() +GRO_MEMPROT = (_data_ref / "analysis/YiiP_lipids.gro.gz").as_posix() +XTC_MEMPROT = (_data_ref / "analysis/YiiP_lipids.xtc").as_posix() +XTC_multi_frame = (_data_ref / "xtc_test_only_10_frame_10_atoms.xtc").as_posix() +TRR_multi_frame = (_data_ref / "trr_test_only_10_frame_10_atoms.trr").as_posix() +TNG_traj = (_data_ref / "argon_npt_compressed.tng").as_posix() +TNG_traj_gro = (_data_ref / "argon_npt_compressed.gro.gz").as_posix() +TNG_traj_uneven_blocks = (_data_ref / "argon_npt_compressed_uneven.tng").as_posix() +TNG_traj_vels_forces = (_data_ref / "argon_npt_compressed_vels_forces.tng").as_posix() +PDB_xvf = (_data_ref / "cobrotoxin.pdb").as_posix() +TPR_xvf = (_data_ref / "cobrotoxin.tpr").as_posix() +TRR_xvf = (_data_ref / "cobrotoxin.trr").as_posix() +H5MD_xvf = (_data_ref / "cobrotoxin.h5md").as_posix() +H5MD_energy = (_data_ref / "cu.h5md").as_posix() +H5MD_malformed = (_data_ref / "cu_malformed.h5md").as_posix() +XVG_BZ2 = (_data_ref / "cobrotoxin_protein_forces.xvg.bz2").as_posix() + +XPDB_small = (_data_ref / "5digitResid.pdb").as_posix() # number is the gromacs version -TPR400 = (_data_ref / 'tprs/2lyz_gmx_4.0.tpr').as_posix() -TPR402 = (_data_ref / 'tprs/2lyz_gmx_4.0.2.tpr').as_posix() -TPR403 = (_data_ref / 'tprs/2lyz_gmx_4.0.3.tpr').as_posix() -TPR404 = (_data_ref / 'tprs/2lyz_gmx_4.0.4.tpr').as_posix() -TPR405 = (_data_ref / 'tprs/2lyz_gmx_4.0.5.tpr').as_posix() -TPR406 = (_data_ref / 'tprs/2lyz_gmx_4.0.6.tpr').as_posix() -TPR407 = (_data_ref / 'tprs/2lyz_gmx_4.0.7.tpr').as_posix() -TPR450 = (_data_ref / 'tprs/2lyz_gmx_4.5.tpr').as_posix() -TPR451 = (_data_ref / 'tprs/2lyz_gmx_4.5.1.tpr').as_posix() -TPR452 = (_data_ref / 'tprs/2lyz_gmx_4.5.2.tpr').as_posix() -TPR453 = (_data_ref / 'tprs/2lyz_gmx_4.5.3.tpr').as_posix() -TPR454 = (_data_ref / 'tprs/2lyz_gmx_4.5.4.tpr').as_posix() -TPR455 = (_data_ref / 'tprs/2lyz_gmx_4.5.5.tpr').as_posix() -TPR502 = (_data_ref / 'tprs/2lyz_gmx_5.0.2.tpr').as_posix() -TPR504 = (_data_ref / 'tprs/2lyz_gmx_5.0.4.tpr').as_posix() -TPR505 = (_data_ref / 'tprs/2lyz_gmx_5.0.5.tpr').as_posix() -TPR510 = (_data_ref / 'tprs/2lyz_gmx_5.1.tpr').as_posix() -TPR2016 = (_data_ref / 'tprs/2lyz_gmx_2016.tpr').as_posix() -TPR2018 = (_data_ref / 'tprs/2lyz_gmx_2018.tpr').as_posix() -TPR2019B3 = (_data_ref / 'tprs/2lyz_gmx_2019-beta3.tpr').as_posix() -TPR2020B2 = (_data_ref / 'tprs/2lyz_gmx_2020-beta2.tpr').as_posix() -TPR2020 = (_data_ref / 'tprs/2lyz_gmx_2020.tpr').as_posix() -TPR2021 = (_data_ref / 'tprs/2lyz_gmx_2021.tpr').as_posix() -TPR2022RC1 = (_data_ref / 'tprs/2lyz_gmx_2022-rc1.tpr').as_posix() -TPR2023 = (_data_ref / 'tprs/2lyz_gmx_2023.tpr').as_posix() -TPR2024 = (_data_ref / 'tprs/2lyz_gmx_2024.tpr').as_posix() +TPR400 = (_data_ref / "tprs/2lyz_gmx_4.0.tpr").as_posix() +TPR402 = (_data_ref / "tprs/2lyz_gmx_4.0.2.tpr").as_posix() +TPR403 = (_data_ref / "tprs/2lyz_gmx_4.0.3.tpr").as_posix() +TPR404 = (_data_ref / "tprs/2lyz_gmx_4.0.4.tpr").as_posix() +TPR405 = (_data_ref / "tprs/2lyz_gmx_4.0.5.tpr").as_posix() +TPR406 = (_data_ref / "tprs/2lyz_gmx_4.0.6.tpr").as_posix() +TPR407 = (_data_ref / "tprs/2lyz_gmx_4.0.7.tpr").as_posix() +TPR450 = (_data_ref / "tprs/2lyz_gmx_4.5.tpr").as_posix() +TPR451 = (_data_ref / "tprs/2lyz_gmx_4.5.1.tpr").as_posix() +TPR452 = (_data_ref / "tprs/2lyz_gmx_4.5.2.tpr").as_posix() +TPR453 = (_data_ref / "tprs/2lyz_gmx_4.5.3.tpr").as_posix() +TPR454 = (_data_ref / "tprs/2lyz_gmx_4.5.4.tpr").as_posix() +TPR455 = (_data_ref / "tprs/2lyz_gmx_4.5.5.tpr").as_posix() +TPR502 = (_data_ref / "tprs/2lyz_gmx_5.0.2.tpr").as_posix() +TPR504 = (_data_ref / "tprs/2lyz_gmx_5.0.4.tpr").as_posix() +TPR505 = (_data_ref / "tprs/2lyz_gmx_5.0.5.tpr").as_posix() +TPR510 = (_data_ref / "tprs/2lyz_gmx_5.1.tpr").as_posix() +TPR2016 = (_data_ref / "tprs/2lyz_gmx_2016.tpr").as_posix() +TPR2018 = (_data_ref / "tprs/2lyz_gmx_2018.tpr").as_posix() +TPR2019B3 = (_data_ref / "tprs/2lyz_gmx_2019-beta3.tpr").as_posix() +TPR2020B2 = (_data_ref / "tprs/2lyz_gmx_2020-beta2.tpr").as_posix() +TPR2020 = (_data_ref / "tprs/2lyz_gmx_2020.tpr").as_posix() +TPR2021 = (_data_ref / "tprs/2lyz_gmx_2021.tpr").as_posix() +TPR2022RC1 = (_data_ref / "tprs/2lyz_gmx_2022-rc1.tpr").as_posix() +TPR2023 = (_data_ref / "tprs/2lyz_gmx_2023.tpr").as_posix() +TPR2024 = (_data_ref / "tprs/2lyz_gmx_2024.tpr").as_posix() # double precision -TPR455Double = (_data_ref / 'tprs/drew_gmx_4.5.5.double.tpr').as_posix() -TPR460 = (_data_ref / 'tprs/ab42_gmx_4.6.tpr').as_posix() -TPR461 = (_data_ref / 'tprs/ab42_gmx_4.6.1.tpr').as_posix() -TPR2020Double = (_data_ref / 'tprs/2lyz_gmx_2020_double.tpr').as_posix() -TPR2021Double = (_data_ref / 'tprs/2lyz_gmx_2021_double.tpr').as_posix() +TPR455Double = (_data_ref / "tprs/drew_gmx_4.5.5.double.tpr").as_posix() +TPR460 = (_data_ref / "tprs/ab42_gmx_4.6.tpr").as_posix() +TPR461 = (_data_ref / "tprs/ab42_gmx_4.6.1.tpr").as_posix() +TPR2020Double = (_data_ref / "tprs/2lyz_gmx_2020_double.tpr").as_posix() +TPR2021Double = (_data_ref / "tprs/2lyz_gmx_2021_double.tpr").as_posix() # all bonded interactions -TPR334_bonded = (_data_ref / 'tprs/all_bonded/dummy_3.3.4.tpr').as_posix() -TPR510_bonded = (_data_ref / 'tprs/all_bonded/dummy_5.1.tpr').as_posix() -TPR2016_bonded = (_data_ref / 'tprs/all_bonded/dummy_2016.tpr').as_posix() -TPR2018_bonded = (_data_ref / 'tprs/all_bonded/dummy_2018.tpr').as_posix() -TPR2019B3_bonded = (_data_ref / 'tprs/all_bonded/dummy_2019-beta3.tpr').as_posix() -TPR2020B2_bonded = (_data_ref / 'tprs/all_bonded/dummy_2020-beta2.tpr').as_posix() -TPR2020_bonded = (_data_ref / 'tprs/all_bonded/dummy_2020.tpr').as_posix() -TPR2020_double_bonded = (_data_ref / 'tprs/all_bonded/dummy_2020_double.tpr').as_posix() -TPR2021_bonded = (_data_ref / 'tprs/all_bonded/dummy_2021.tpr').as_posix() -TPR2021_double_bonded = (_data_ref / 'tprs/all_bonded/dummy_2021_double.tpr').as_posix() -TPR2022RC1_bonded = (_data_ref / 'tprs/all_bonded/dummy_2022-rc1.tpr').as_posix() -TPR2023_bonded = (_data_ref / 'tprs/all_bonded/dummy_2023.tpr').as_posix() -TPR2024_bonded = (_data_ref / 'tprs/all_bonded/dummy_2024.tpr').as_posix() +TPR334_bonded = (_data_ref / "tprs/all_bonded/dummy_3.3.4.tpr").as_posix() +TPR510_bonded = (_data_ref / "tprs/all_bonded/dummy_5.1.tpr").as_posix() +TPR2016_bonded = (_data_ref / "tprs/all_bonded/dummy_2016.tpr").as_posix() +TPR2018_bonded = (_data_ref / "tprs/all_bonded/dummy_2018.tpr").as_posix() +TPR2019B3_bonded = (_data_ref / "tprs/all_bonded/dummy_2019-beta3.tpr").as_posix() +TPR2020B2_bonded = (_data_ref / "tprs/all_bonded/dummy_2020-beta2.tpr").as_posix() +TPR2020_bonded = (_data_ref / "tprs/all_bonded/dummy_2020.tpr").as_posix() +TPR2020_double_bonded = (_data_ref / "tprs/all_bonded/dummy_2020_double.tpr").as_posix() +TPR2021_bonded = (_data_ref / "tprs/all_bonded/dummy_2021.tpr").as_posix() +TPR2021_double_bonded = (_data_ref / "tprs/all_bonded/dummy_2021_double.tpr").as_posix() +TPR2022RC1_bonded = (_data_ref / "tprs/all_bonded/dummy_2022-rc1.tpr").as_posix() +TPR2023_bonded = (_data_ref / "tprs/all_bonded/dummy_2023.tpr").as_posix() +TPR2024_bonded = (_data_ref / "tprs/all_bonded/dummy_2024.tpr").as_posix() # all interactions -TPR_EXTRA_2024 = (_data_ref / 'tprs/virtual_sites/extra-interactions-2024.tpr').as_posix() -TPR_EXTRA_2023 = (_data_ref / 'tprs/virtual_sites/extra-interactions-2023.tpr').as_posix() -TPR_EXTRA_2022RC1 = (_data_ref / 'tprs/virtual_sites/extra-interactions-2022-rc1.tpr').as_posix() -TPR_EXTRA_2021 = (_data_ref / 'tprs/virtual_sites/extra-interactions-2021.tpr').as_posix() -TPR_EXTRA_2020 = (_data_ref / 'tprs/virtual_sites/extra-interactions-2020.tpr').as_posix() -TPR_EXTRA_2018 = (_data_ref / 'tprs/virtual_sites/extra-interactions-2018.tpr').as_posix() -TPR_EXTRA_2016 = (_data_ref / 'tprs/virtual_sites/extra-interactions-2016.3.tpr').as_posix() -TPR_EXTRA_407 = (_data_ref / 'tprs/virtual_sites/extra-interactions-4.0.7.tpr').as_posix() - -XYZ_psf = (_data_ref / '2r9r-1b.psf').as_posix() -XYZ_bz2 = (_data_ref / '2r9r-1b.xyz.bz2').as_posix() -XYZ = (_data_ref / '2r9r-1b.xyz').as_posix() -XYZ_mini = (_data_ref / 'mini.xyz').as_posix() -XYZ_five = (_data_ref / 'five.xyz').as_posix() -TXYZ = (_data_ref / 'coordinates/test.txyz').as_posix() -ARC = (_data_ref / 'coordinates/test.arc').as_posix() -ARC_PBC = (_data_ref / 'coordinates/new_hexane.arc').as_posix() - -PRM = (_data_ref / 'Amber/ache.prmtop').as_posix() -TRJ = (_data_ref / 'Amber/ache.mdcrd').as_posix() -INPCRD = (_data_ref / 'Amber/test.inpcrd').as_posix() -TRJ_bz2 = (_data_ref / 'Amber/ache.mdcrd.bz2').as_posix() -PFncdf_Top = (_data_ref / 'Amber/posfor.top').as_posix() -PFncdf_Trj = (_data_ref / 'Amber/posfor.ncdf').as_posix() +TPR_EXTRA_2024 = ( + _data_ref / "tprs/virtual_sites/extra-interactions-2024.tpr" +).as_posix() +TPR_EXTRA_2023 = ( + _data_ref / "tprs/virtual_sites/extra-interactions-2023.tpr" +).as_posix() +TPR_EXTRA_2022RC1 = ( + _data_ref / "tprs/virtual_sites/extra-interactions-2022-rc1.tpr" +).as_posix() +TPR_EXTRA_2021 = ( + _data_ref / "tprs/virtual_sites/extra-interactions-2021.tpr" +).as_posix() +TPR_EXTRA_2020 = ( + _data_ref / "tprs/virtual_sites/extra-interactions-2020.tpr" +).as_posix() +TPR_EXTRA_2018 = ( + _data_ref / "tprs/virtual_sites/extra-interactions-2018.tpr" +).as_posix() +TPR_EXTRA_2016 = ( + _data_ref / "tprs/virtual_sites/extra-interactions-2016.3.tpr" +).as_posix() +TPR_EXTRA_407 = ( + _data_ref / "tprs/virtual_sites/extra-interactions-4.0.7.tpr" +).as_posix() + +XYZ_psf = (_data_ref / "2r9r-1b.psf").as_posix() +XYZ_bz2 = (_data_ref / "2r9r-1b.xyz.bz2").as_posix() +XYZ = (_data_ref / "2r9r-1b.xyz").as_posix() +XYZ_mini = (_data_ref / "mini.xyz").as_posix() +XYZ_five = (_data_ref / "five.xyz").as_posix() +TXYZ = (_data_ref / "coordinates/test.txyz").as_posix() +ARC = (_data_ref / "coordinates/test.arc").as_posix() +ARC_PBC = (_data_ref / "coordinates/new_hexane.arc").as_posix() + +PRM = (_data_ref / "Amber/ache.prmtop").as_posix() +TRJ = (_data_ref / "Amber/ache.mdcrd").as_posix() +INPCRD = (_data_ref / "Amber/test.inpcrd").as_posix() +TRJ_bz2 = (_data_ref / "Amber/ache.mdcrd.bz2").as_posix() +PFncdf_Top = (_data_ref / "Amber/posfor.top").as_posix() +PFncdf_Trj = (_data_ref / "Amber/posfor.ncdf").as_posix() PRM_chainid_bz2 = (_data_ref / "Amber/ache_chainid.prmtop.bz2").as_posix() -CPPTRAJ_TRAJ_TOP = (_data_ref / 'Amber/cpptraj_traj.prmtop').as_posix() -CPPTRAJ_TRAJ = (_data_ref / 'Amber/cpptraj_traj.nc').as_posix() +CPPTRAJ_TRAJ_TOP = (_data_ref / "Amber/cpptraj_traj.prmtop").as_posix() +CPPTRAJ_TRAJ = (_data_ref / "Amber/cpptraj_traj.nc").as_posix() -PRMpbc = (_data_ref / 'Amber/capped-ala.prmtop').as_posix() -TRJpbc_bz2 = (_data_ref / 'Amber/capped-ala.mdcrd.bz2').as_posix() +PRMpbc = (_data_ref / "Amber/capped-ala.prmtop").as_posix() +TRJpbc_bz2 = (_data_ref / "Amber/capped-ala.mdcrd.bz2").as_posix() -PRMncdf = (_data_ref / 'Amber/bala.prmtop').as_posix() -TRJncdf = (_data_ref / 'Amber/bala.trj').as_posix() -NCDF = (_data_ref / 'Amber/bala.ncdf').as_posix() +PRMncdf = (_data_ref / "Amber/bala.prmtop").as_posix() +TRJncdf = (_data_ref / "Amber/bala.trj").as_posix() +NCDF = (_data_ref / "Amber/bala.ncdf").as_posix() -PRM12 = (_data_ref / 'Amber/anti.top').as_posix() -TRJ12_bz2 = (_data_ref / 'Amber/anti_md1.mdcrd.bz2').as_posix() +PRM12 = (_data_ref / "Amber/anti.top").as_posix() +TRJ12_bz2 = (_data_ref / "Amber/anti_md1.mdcrd.bz2").as_posix() -PRM7 = (_data_ref / 'Amber/tz2.truncoct.parm7.bz2').as_posix() -NCDFtruncoct = (_data_ref / 'Amber/tz2.truncoct.nc').as_posix() +PRM7 = (_data_ref / "Amber/tz2.truncoct.parm7.bz2").as_posix() +NCDFtruncoct = (_data_ref / "Amber/tz2.truncoct.nc").as_posix() -PRMcs = (_data_ref / 'Amber/chitosan.prmtop').as_posix() +PRMcs = (_data_ref / "Amber/chitosan.prmtop").as_posix() -PRMNCRST = (_data_ref / 'Amber/ace_mbondi3.parm7').as_posix() +PRMNCRST = (_data_ref / "Amber/ace_mbondi3.parm7").as_posix() -PRM_NCBOX = (_data_ref / 'Amber/ace_tip3p.parm7').as_posix() -TRJ_NCBOX = (_data_ref / 'Amber/ace_tip3p.nc').as_posix() +PRM_NCBOX = (_data_ref / "Amber/ace_tip3p.parm7").as_posix() +TRJ_NCBOX = (_data_ref / "Amber/ace_tip3p.nc").as_posix() -PRMNEGATIVE = (_data_ref / 'Amber/ace_mbondi3.negative.parm7').as_posix() +PRMNEGATIVE = (_data_ref / "Amber/ace_mbondi3.negative.parm7").as_posix() PRMErr1 = (_data_ref / "Amber/ace_mbondi3.error1.parm7").as_posix() PRMErr2 = (_data_ref / "Amber/ace_mbondi3.error2.parm7").as_posix() @@ -485,37 +626,41 @@ PRMErr4 = (_data_ref / "Amber/ace_mbondi3.error4.parm7").as_posix() PRMErr5 = (_data_ref / "Amber/ache_chainid.error5.prmtop.bz2").as_posix() -PRM_UreyBradley = (_data_ref / 'Amber/parmed_fad.prmtop').as_posix() -PRM7_ala2 = (_data_ref / 'Amber/parmed_ala2_solv.parm7').as_posix() -RST7_ala2 = (_data_ref / 'Amber/parmed_ala2_solv.rst7').as_posix() +PRM_UreyBradley = (_data_ref / "Amber/parmed_fad.prmtop").as_posix() +PRM7_ala2 = (_data_ref / "Amber/parmed_ala2_solv.parm7").as_posix() +RST7_ala2 = (_data_ref / "Amber/parmed_ala2_solv.rst7").as_posix() -PRM19SBOPC = (_data_ref / 'Amber/ala.ff19SB.OPC.parm7.bz2').as_posix() +PRM19SBOPC = (_data_ref / "Amber/ala.ff19SB.OPC.parm7.bz2").as_posix() -PQR = (_data_ref / 'adk_open.pqr').as_posix() -PQR_icodes = (_data_ref / '1A2C.pqr').as_posix() +PQR = (_data_ref / "adk_open.pqr").as_posix() +PQR_icodes = (_data_ref / "1A2C.pqr").as_posix() PDBQT_input = (_data_ref / "pdbqt_inputpdbqt.pdbqt").as_posix() PDBQT_querypdb = (_data_ref / "pdbqt_querypdb.pdb").as_posix() PDBQT_tyrosol = (_data_ref / "tyrosol.pdbqt.bz2").as_posix() -FASTA = (_data_ref / 'test.fasta').as_posix() -HELANAL_BENDING_MATRIX = (_data_ref / 'helanal_bending_matrix_AdK_DIMS_H8.dat').as_posix() -HELANAL_BENDING_MATRIX_SUBSET = (_data_ref / 'helanal_bending_matrix_AdK_DIMS_H8_frames10to79.dat').as_posix() +FASTA = (_data_ref / "test.fasta").as_posix() +HELANAL_BENDING_MATRIX = ( + _data_ref / "helanal_bending_matrix_AdK_DIMS_H8.dat" +).as_posix() +HELANAL_BENDING_MATRIX_SUBSET = ( + _data_ref / "helanal_bending_matrix_AdK_DIMS_H8_frames10to79.dat" +).as_posix() -PDB_HOLE = (_data_ref / '1grm_single.pdb').as_posix() -MULTIPDB_HOLE = (_data_ref / '1grm_elNemo_mode7.pdb.bz2').as_posix() +PDB_HOLE = (_data_ref / "1grm_single.pdb").as_posix() +MULTIPDB_HOLE = (_data_ref / "1grm_elNemo_mode7.pdb.bz2").as_posix() -DMS = (_data_ref / 'adk_closed.dms').as_posix() -DMS_DOMAINS = (_data_ref / 'adk_closed_domains.dms').as_posix() -DMS_NO_SEGID = (_data_ref / 'adk_closed_no_segid.dms').as_posix() +DMS = (_data_ref / "adk_closed.dms").as_posix() +DMS_DOMAINS = (_data_ref / "adk_closed_domains.dms").as_posix() +DMS_NO_SEGID = (_data_ref / "adk_closed_no_segid.dms").as_posix() -CONECT = (_data_ref / '1hvr.pdb').as_posix() -CONECT_ERROR = (_data_ref / 'conect_error.pdb').as_posix() +CONECT = (_data_ref / "1hvr.pdb").as_posix() +CONECT_ERROR = (_data_ref / "conect_error.pdb").as_posix() -TRZ = (_data_ref / 'trzfile.trz').as_posix() -TRZ_psf = (_data_ref / 'trz_psf.psf').as_posix() +TRZ = (_data_ref / "trzfile.trz").as_posix() +TRZ_psf = (_data_ref / "trz_psf.psf").as_posix() -TRIC = (_data_ref / 'dppc_vesicle_hg.gro').as_posix() +TRIC = (_data_ref / "dppc_vesicle_hg.gro").as_posix() PDB_full = (_data_ref / "4E43.pdb").as_posix() @@ -551,7 +696,7 @@ LAMMPScnt2 = (_data_ref / "lammps/cnt-hexagonal-class1.data2").as_posix() LAMMPShyd = (_data_ref / "lammps/hydrogen-class1.data").as_posix() LAMMPShyd2 = (_data_ref / "lammps/hydrogen-class1.data2").as_posix() -LAMMPSdata_deletedatoms = (_data_ref / 'lammps/deletedatoms.data').as_posix() +LAMMPSdata_deletedatoms = (_data_ref / "lammps/deletedatoms.data").as_posix() LAMMPSdata_triclinic = (_data_ref / "lammps/albite_triclinic.data").as_posix() LAMMPSdata_PairIJ = (_data_ref / "lammps/pairij_coeffs.data.bz2").as_posix() LAMMPSDUMP = (_data_ref / "lammps/wat.lammpstrj.bz2").as_posix() @@ -565,14 +710,18 @@ LAMMPSDUMP_chain2 = (_data_ref / "lammps/chain_dump_2.lammpstrj").as_posix() LAMMPS_chain = (_data_ref / "lammps/chain_initial.data").as_posix() LAMMPSdata_many_bonds = (_data_ref / "lammps/a_lot_of_bond_types.data").as_posix() -LAMMPSdata_additional_columns = (_data_ref / "lammps/additional_columns.data").as_posix() -LAMMPSDUMP_additional_columns = (_data_ref / "lammps/additional_columns.lammpstrj").as_posix() +LAMMPSdata_additional_columns = ( + _data_ref / "lammps/additional_columns.data" +).as_posix() +LAMMPSDUMP_additional_columns = ( + _data_ref / "lammps/additional_columns.lammpstrj" +).as_posix() unordered_res = (_data_ref / "unordered_res.pdb").as_posix() -GMS_ASYMOPT = (_data_ref / "gms/c1opt.gms.gz").as_posix() -GMS_SYMOPT = (_data_ref / "gms/symopt.gms").as_posix() -GMS_ASYMSURF = (_data_ref / "gms/surf2wat.gms").as_posix() +GMS_ASYMOPT = (_data_ref / "gms/c1opt.gms.gz").as_posix() +GMS_SYMOPT = (_data_ref / "gms/symopt.gms").as_posix() +GMS_ASYMSURF = (_data_ref / "gms/surf2wat.gms").as_posix() two_water_gro = (_data_ref / "two_water_gro.gro").as_posix() two_water_gro_multiframe = (_data_ref / "two_water_gro_multiframe.gro").as_posix() @@ -588,88 +737,91 @@ DLP_HISTORY_minimal_cell = (_data_ref / "dlpoly/HISTORY_minimal_cell").as_posix() DLP_HISTORY_classic = (_data_ref / "dlpoly/HISTORY_classic").as_posix() -waterPSF = (_data_ref / 'watdyn.psf').as_posix() -waterDCD = (_data_ref / 'watdyn.dcd').as_posix() +waterPSF = (_data_ref / "watdyn.psf").as_posix() +waterDCD = (_data_ref / "watdyn.dcd").as_posix() -rmsfArray = (_data_ref / 'adk_oplsaa_CA_rmsf.npy').as_posix() +rmsfArray = (_data_ref / "adk_oplsaa_CA_rmsf.npy").as_posix() -HoomdXMLdata = (_data_ref / 'C12x64.xml.bz2').as_posix() +HoomdXMLdata = (_data_ref / "C12x64.xml.bz2").as_posix() -Make_Whole = (_data_ref / 'make_whole.gro').as_posix() -fullerene = (_data_ref / 'fullerene.pdb.gz').as_posix() +Make_Whole = (_data_ref / "make_whole.gro").as_posix() +fullerene = (_data_ref / "fullerene.pdb.gz").as_posix() -Plength = (_data_ref / 'plength.gro').as_posix() -Martini_membrane_gro = (_data_ref / 'martini_dppc_chol_bilayer.gro').as_posix() +Plength = (_data_ref / "plength.gro").as_posix() +Martini_membrane_gro = (_data_ref / "martini_dppc_chol_bilayer.gro").as_posix() # Contains one of each residue in 'nucleic' selections -NUCLsel = (_data_ref / 'nucl_res.pdb').as_posix() +NUCLsel = (_data_ref / "nucl_res.pdb").as_posix() -RANDOM_WALK = (_data_ref / 'xyz_random_walk.xtc').as_posix() -RANDOM_WALK_TOPO = (_data_ref / 'RANDOM_WALK_TOPO.pdb').as_posix() +RANDOM_WALK = (_data_ref / "xyz_random_walk.xtc").as_posix() +RANDOM_WALK_TOPO = (_data_ref / "RANDOM_WALK_TOPO.pdb").as_posix() -MMTF = (_data_ref / '173D.mmtf').as_posix() -MMTF_gz = (_data_ref / '5KIH.mmtf.gz').as_posix() -MMTF_skinny = (_data_ref / '1ubq-less-optional.mmtf').as_posix() -MMTF_skinny2 = (_data_ref / '3NJW-onlyrequired.mmtf').as_posix() +MMTF = (_data_ref / "173D.mmtf").as_posix() +MMTF_gz = (_data_ref / "5KIH.mmtf.gz").as_posix() +MMTF_skinny = (_data_ref / "1ubq-less-optional.mmtf").as_posix() +MMTF_skinny2 = (_data_ref / "3NJW-onlyrequired.mmtf").as_posix() MMTF_NOCRYST = (_data_ref / "6QYR.mmtf.gz").as_posix() -ALIGN_BOUND = (_data_ref / 'analysis/align_bound.pdb.gz').as_posix() -ALIGN_UNBOUND = (_data_ref / 'analysis/align_unbound.pdb.gz').as_posix() - -GSD = (_data_ref / 'example.gsd').as_posix() -GSD_bonds = (_data_ref / 'example_bonds.gsd').as_posix() -GSD_long = (_data_ref / 'example_longer.gsd').as_posix() - -TRC_PDB_VAC = (_data_ref / 'gromos11/gromos11_traj_vac.pdb.gz').as_posix() -TRC_TRAJ1_VAC = (_data_ref / 'gromos11/gromos11_traj_vac_1.trc.gz').as_posix() -TRC_TRAJ2_VAC = (_data_ref / 'gromos11/gromos11_traj_vac_2.trc.gz').as_posix() -TRC_PDB_SOLV = (_data_ref / 'gromos11/gromos11_traj_solv.pdb.gz').as_posix() -TRC_TRAJ_SOLV = (_data_ref / 'gromos11/gromos11_traj_solv.trc.gz').as_posix() -TRC_CLUSTER_VAC = (_data_ref / 'gromos11/gromos11_cluster_vac.trj.gz').as_posix() -TRC_TRICLINIC_SOLV = (_data_ref / 'gromos11/gromos11_triclinic_solv.trc.gz').as_posix() -TRC_TRUNCOCT_VAC = (_data_ref / 'gromos11/gromos11_truncOcta_vac.trc.gz').as_posix() -TRC_GENBOX_ORIGIN = (_data_ref / 'gromos11/gromos11_genbox_origin.trc.gz').as_posix() -TRC_GENBOX_EULER = (_data_ref / 'gromos11/gromos11_genbox_euler.trc.gz').as_posix() -TRC_EMPTY = (_data_ref / 'gromos11/gromos11_empty.trc').as_posix() - -DihedralArray = (_data_ref / 'adk_oplsaa_dihedral.npy').as_posix() -DihedralsArray = (_data_ref / 'adk_oplsaa_dihedral_list.npy').as_posix() -RamaArray = (_data_ref / 'adk_oplsaa_rama.npy').as_posix() -GLYRamaArray = (_data_ref / 'adk_oplsaa_GLY_rama.npy').as_posix() -JaninArray = (_data_ref / 'adk_oplsaa_janin.npy').as_posix() -LYSJaninArray = (_data_ref / 'adk_oplsaa_LYS_janin.npy').as_posix() -PDB_rama = (_data_ref / '19hc.pdb.gz').as_posix() -PDB_janin = (_data_ref / '1a28.pdb.gz').as_posix() - -BATArray = (_data_ref / 'mol2_comments_header_bat.npy').as_posix() - -ITP = (_data_ref / 'gromacs_ala10.itp').as_posix() -ITP_nomass = (_data_ref / 'itp_nomass.itp').as_posix() -ITP_atomtypes = (_data_ref / 'atomtypes.itp').as_posix() -ITP_charges = (_data_ref / 'atomtypes_charge.itp').as_posix() -ITP_edited = (_data_ref / 'edited_itp.itp').as_posix() +ALIGN_BOUND = (_data_ref / "analysis/align_bound.pdb.gz").as_posix() +ALIGN_UNBOUND = (_data_ref / "analysis/align_unbound.pdb.gz").as_posix() + +GSD = (_data_ref / "example.gsd").as_posix() +GSD_bonds = (_data_ref / "example_bonds.gsd").as_posix() +GSD_long = (_data_ref / "example_longer.gsd").as_posix() + +TRC_PDB_VAC = (_data_ref / "gromos11/gromos11_traj_vac.pdb.gz").as_posix() +TRC_TRAJ1_VAC = (_data_ref / "gromos11/gromos11_traj_vac_1.trc.gz").as_posix() +TRC_TRAJ2_VAC = (_data_ref / "gromos11/gromos11_traj_vac_2.trc.gz").as_posix() +TRC_PDB_SOLV = (_data_ref / "gromos11/gromos11_traj_solv.pdb.gz").as_posix() +TRC_TRAJ_SOLV = (_data_ref / "gromos11/gromos11_traj_solv.trc.gz").as_posix() +TRC_CLUSTER_VAC = (_data_ref / "gromos11/gromos11_cluster_vac.trj.gz").as_posix() +TRC_TRICLINIC_SOLV = (_data_ref / "gromos11/gromos11_triclinic_solv.trc.gz").as_posix() +TRC_TRUNCOCT_VAC = (_data_ref / "gromos11/gromos11_truncOcta_vac.trc.gz").as_posix() +TRC_GENBOX_ORIGIN = (_data_ref / "gromos11/gromos11_genbox_origin.trc.gz").as_posix() +TRC_GENBOX_EULER = (_data_ref / "gromos11/gromos11_genbox_euler.trc.gz").as_posix() +TRC_EMPTY = (_data_ref / "gromos11/gromos11_empty.trc").as_posix() + +DihedralArray = (_data_ref / "adk_oplsaa_dihedral.npy").as_posix() +DihedralsArray = (_data_ref / "adk_oplsaa_dihedral_list.npy").as_posix() +RamaArray = (_data_ref / "adk_oplsaa_rama.npy").as_posix() +GLYRamaArray = (_data_ref / "adk_oplsaa_GLY_rama.npy").as_posix() +JaninArray = (_data_ref / "adk_oplsaa_janin.npy").as_posix() +LYSJaninArray = (_data_ref / "adk_oplsaa_LYS_janin.npy").as_posix() +PDB_rama = (_data_ref / "19hc.pdb.gz").as_posix() +PDB_janin = (_data_ref / "1a28.pdb.gz").as_posix() + +BATArray = (_data_ref / "mol2_comments_header_bat.npy").as_posix() + +ITP = (_data_ref / "gromacs_ala10.itp").as_posix() +ITP_nomass = (_data_ref / "itp_nomass.itp").as_posix() +ITP_atomtypes = (_data_ref / "atomtypes.itp").as_posix() +ITP_charges = (_data_ref / "atomtypes_charge.itp").as_posix() +ITP_edited = (_data_ref / "edited_itp.itp").as_posix() ITP_tip5p = (_data_ref / "tip5p.itp").as_posix() -ITP_spce = (_data_ref / 'spce.itp').as_posix() +ITP_spce = (_data_ref / "spce.itp").as_posix() -GMX_TOP = (_data_ref / 'gromacs_ala10.top').as_posix() -GMX_DIR = (_data_ref / 'gromacs/').as_posix() -GMX_TOP_BAD = (_data_ref / 'bad_top.top').as_posix() -ITP_no_endif = (_data_ref / 'no_endif_spc.itp').as_posix() +GMX_TOP = (_data_ref / "gromacs_ala10.top").as_posix() +GMX_DIR = (_data_ref / "gromacs/").as_posix() +GMX_TOP_BAD = (_data_ref / "bad_top.top").as_posix() +ITP_no_endif = (_data_ref / "no_endif_spc.itp").as_posix() -NAMDBIN = (_data_ref / 'adk_open.coor').as_posix() +NAMDBIN = (_data_ref / "adk_open.coor").as_posix() -SDF_molecule = (_data_ref / 'molecule.sdf').as_posix() +SDF_molecule = (_data_ref / "molecule.sdf").as_posix() -PDB_elements = (_data_ref / 'elements.pdb').as_posix() -PDB_charges = (_data_ref / 'charges.pdb').as_posix() +PDB_elements = (_data_ref / "elements.pdb").as_posix() +PDB_charges = (_data_ref / "charges.pdb").as_posix() PDBX = (_data_ref / "4x8u.pdbx").as_posix() -SURFACE_PDB = (_data_ref / 'surface.pdb.bz2').as_posix() -SURFACE_TRR = (_data_ref / 'surface.trr').as_posix() +SURFACE_PDB = (_data_ref / "surface.pdb.bz2").as_posix() +SURFACE_TRR = (_data_ref / "surface.trr").as_posix() # DSSP testing: from https://github.com/ShintaroMinami/PyDSSP -DSSP = (_data_ref / 'dssp').as_posix() +DSSP = (_data_ref / "dssp").as_posix() + +# MMCIF testing -- valid structures from RCSB +MMCIF = (_data_ref / "mmcif").as_posix() # This should be the last line: clean up namespace del resources diff --git a/testsuite/MDAnalysisTests/topology/test_mmcif.py b/testsuite/MDAnalysisTests/topology/test_mmcif.py new file mode 100644 index 00000000000..0498fc2feed --- /dev/null +++ b/testsuite/MDAnalysisTests/topology/test_mmcif.py @@ -0,0 +1,56 @@ +import glob +import os +from io import StringIO + +import MDAnalysis as mda +import numpy as np +import pytest +from numpy.testing import ( + assert_allclose, + assert_almost_equal, + assert_array_almost_equal, + assert_equal, +) + +from MDAnalysisTests.datafiles import MMCIF as MMCIF_FOLDER +from MDAnalysis.coordinates.MMCIF import HAS_GEMMI + + +@pytest.mark.skipif(not HAS_GEMMI, reason="gemmi not installed") +@pytest.mark.parametrize( + "mmcif_filename,n_chains", + [ + (f"{MMCIF_FOLDER}/1YJP.cif", 1), + (f"{MMCIF_FOLDER}/1YJP.cif.gz", 1), + (f"{MMCIF_FOLDER}/7ETN.cif", 2), + (f"{MMCIF_FOLDER}/7ETN.cif.gz", 2), + ], +) +def test_chains(mmcif_filename, n_chains): + u = mda.Universe(mmcif_filename) + assert len(u.segments) == n_chains + + +@pytest.mark.skipif(not HAS_GEMMI, reason="gemmi not installed") +@pytest.mark.parametrize( + "mmcif_filename,sequence", + [ + ( + f"{MMCIF_FOLDER}/1YJP.cif", + ["GLY", "ASN", "ASN", "GLN", "GLN", "ASN", "TYR"], + ), + ( + f"{MMCIF_FOLDER}/1YJP.cif.gz", + ["GLY", "ASN", "ASN", "GLN", "GLN", "ASN", "TYR"], + ), + (f"{MMCIF_FOLDER}/7ETN.cif", ["PRO", "PHE", "LEU", "ILE"]), + (f"{MMCIF_FOLDER}/7ETN.cif.gz", ["PRO", "PHE", "LEU", "ILE"]), + ], +) +def test_sequence(mmcif_filename, sequence): + u = mda.Universe(mmcif_filename) + in_structure = [ + str(res.resname) + for res in u.select_atoms("protein and chainid A").residues + ] + assert in_structure == sequence, ":".join(in_structure)