Skip to content

Case-file reference

Generated from the nanopnp/case/v0.5 schema by nanopnp.cli.reference; every editable field is listed, and nothing here is written by hand. A path written a.0.b names field b of each element of the list a.

The same schema is published as JSON Schema, generated from the case document's own model, for tools that read or edit case files.

Default is what a document omitting the field is validated with. Validated default is given for each switch of the model: the configuration of the published ePNP-NS model (PHY-21, PHY-22). A run whose switch differs from it lists that switch under the manifest's deviations (FR-25), so the schema default and the validated default are deliberately not the same thing: a document that names no correction solves classical PNP-NS and says so in its manifest.

Top level

Path Type Default Accepts Validated default
schema string required
name string required
outputs list of string [current] analyte_force, current, eof_rate, fields, rectification, transport_numbers

inputs

Path Type Default Accepts Validated default
inputs.mesh.path path, optional unset
inputs.mesh.artefact string, optional unset
inputs.mesh.format string, optional unset
inputs.mesh.groups mapping of string to string {}
inputs.charge.path path, optional unset
inputs.charge.artefact string, optional unset
inputs.charge.format string, optional unset
inputs.charge.groups mapping of string to string {}
inputs.eps_r.path path, optional unset
inputs.eps_r.artefact string, optional unset
inputs.eps_r.format string, optional unset
inputs.eps_r.groups mapping of string to string {}
inputs.profile.path path, optional unset
inputs.profile.artefact string, optional unset
inputs.profile.format string, optional unset
inputs.profile.groups mapping of string to string {}
inputs.pqr.path path, optional unset
inputs.pqr.artefact string, optional unset
inputs.pqr.format string, optional unset
inputs.pqr.groups mapping of string to string {}

structure

This section drives stage 1, structure ingestion and alignment (FR-01 to FR-03). A case carrying it walks every stage: stages 1 to 4 derive a pore profile, and stages 5 and 6 assemble and mesh it.

Path Type Default Accepts Validated default
structure.source.path path required
structure.source.variant string, optional unset
structure.source.chains string all
structure.source.selection string protein
structure.ensemble.trajectory path, optional unset
structure.ensemble.frames.last_ns number, optional unset
structure.ensemble.frames.count integer, optional unset
structure.symmetry.point_group string required
structure.symmetry.axis choice auto auto, z
  • structure.source.path: A PDB or mmCIF file, optionally gzipped (.pdb, .ent, .cif, .mmcif). MDAnalysis reads PDB and gemmi reads mmCIF. The file's +z SHALL point from the trans side to the cis side, and every selected atom SHALL carry its element in the file.
  • structure.source.variant: A label for the prepared structure (OPN-04). It is recorded in the manifest through the case and keys no stage: relabelling does not re-run anything.
  • structure.source.chains: all, or a comma-separated list of chain identifiers. A chain is its chain identifier, or its segment identifier where the chain column is blank. The selected chains SHALL number the point group's n (FR-03).
  • structure.source.selection: An MDAnalysis selection applied to the file; alternate locations are refused.
  • structure.ensemble.trajectory: A DCD, XTC, TRR or NetCDF trajectory whose frames are the ensemble; without one, the models of the source file are. Every frame is superposed on the C-alpha of the earliest selected frame (FR-01).
  • structure.ensemble.frames.last_ns: Keep the frames within this many ns of the last, by the times the file records; refused beyond the recorded span plus one frame interval.
  • structure.ensemble.frames.count: Keep this many frames at the uniform stride floor(N/count), ending on the last frame of the window of N.
  • structure.symmetry.point_group: C with n >= 1, e.g. C12 for ClyA (FR-03).
  • structure.symmetry.axis: auto: the Cn axis by chain-permutation superposition, gated on the chains' spacing, the rotation angle and a 10 degree limit from the file's z (FR-02). z: the file's z axis through its origin, refused where n >= 2 and it strays more than 0.01 nm from the detected axis over the C-alpha extent.

geometry

Of this section, geometry.density drives stages 2 and 3, the density map and its reduction to (r, z) (FR-04 to FR-06), and geometry.contour drives stage 4, the pore wall's contour and its gate (FR-07, FR-08), on a case carrying structure:. The membrane and reservoir keys are read by stage 5, CAD assembly (FR-09); the analyte on a generated mesh is refused naming FR-21. Beside inputs.mesh the section is refused, naming both.

Path Type Default Accepts Validated default
geometry.density.grid_spacing_nm number 0.05
geometry.density.kernel choice gaussian_vdw gaussian_vdw
geometry.density.sharpness number 0.93
geometry.contour.isolevel number 0.25
geometry.contour.smoothing choice taubin taubin, none
geometry.contour.simplify_tol_nm number 0.02
geometry.membrane.thickness_nm number 2.8
geometry.membrane.centre_z_nm number 0.0
geometry.reservoir.radius_nm number 250.0
geometry.analyte.shape choice required sphere, prolate_spheroid, oblate_spheroid
geometry.analyte.a_nm number required
geometry.analyte.b_nm number, optional unset
geometry.analyte.z_nm number 0.0
geometry.analyte.charge_e number 0.0
geometry.pore.shape choice required cylinder
geometry.pore.radius_nm number required
  • geometry.contour.isolevel: The density isolevel whose contour is the pore wall, finite and in (0, 1). The source work used 0.25 without a sensitivity study (section 5.3.1 NOTE on geometry.contour).
  • geometry.contour.smoothing: taubin: resample at arc length h/2, then ten Taubin passes of lambda 0.5 and mu -0.53, which keep the enclosed area where Laplacian smoothing shrinks it. none skips both (section 5.2.1).
  • geometry.contour.simplify_tol_nm: The Douglas-Peucker tolerance, finite, positive and below the density grid spacing h: a larger one discards resolved geometry and breaks the margin of the closing of radius 2h that the feature-size gate relies on (section 5.2.1 NOTE).

charge

Of this section, ph, forcefield and titration drive the protonation stage, the first half of stage 7 (FR-12, PHY-16 step 3), which runs PDB2PQR and PROPKA on every frame of a structure: case, and which nanopnp stage protonation runs alone. smearing is read by stage 7's deposition, exclusion_offset_nm by stage 5 and dielectric_transition_nm by stage 7. Beside inputs.pqr the three protonation keys are refused set away from their defaults, naming both.

Path Type Default Accepts Validated default
charge.ph number 7.5
charge.forcefield choice CHARMM CHARMM, PEOEPB, SWANSON CHARMM
charge.titration choice propka propka, none propka
charge.smearing.sharpness number 0.5 0.5
charge.smearing.grid_spacing_nm number 0.005
charge.smearing.axis_cutoff_nm number 0.01
charge.exclusion_offset_nm number 0.0 0.0
charge.dielectric_transition_nm number 0.0 0.0
  • charge.ph: The pH PROPKA assigns protonation states at, in [0, 14] (PHY-16 step 3). A condition of the experiment, not a deviation; refused away from its default beside titration: none, where it reaches no calculation.
  • charge.forcefield: The PDB2PQR force field, passed as both --ff and --ffout. AMBER, PARSE and TYL06 give charged atoms a zero radius and are refused (section 5.3.1 NOTE on the protonation keys).
  • charge.titration: propka: PROPKA's states at charge.ph. none: every residue keeps the force field's standard state.
  • charge.exclusion_offset_nm: The ion-exclusion shell's width a, in nm: stage 5 offsets the profile by a and meshes the shell as material exclusion, with wall on its outer surface. 0, the validated default, builds none; refused at or below twice the density grid spacing, and beside inputs.mesh (section 5.2.1 NOTE on the ion-exclusion shell).
  • charge.dielectric_transition_nm: The width delta, in nm, of the protein's dielectric transition to water: stage 7 derives chi from the profile as a C1 step of width delta. 0, the validated default, keeps PHY-20's sharp split; refused below the density grid spacing, beside inputs.eps_r and beside inputs.mesh (section 4.4 NOTE on the derived solid fraction).

electrolyte

Path Type Default Accepts Validated default
electrolyte.species.0.name string required
electrolyte.species.0.z integer required
electrolyte.concentration_M number required
electrolyte.temperature_K number 298.15
electrolyte.parameters string willems2020_nacl willems2020_nacl willems2020_nacl
electrolyte.driver choice average average, ionic_strength average
electrolyte.corrections.diffusivity.model string none none, willems2020_nacl willems2020_nacl
electrolyte.corrections.diffusivity.concentration boolean true true
electrolyte.corrections.diffusivity.wall boolean true true
electrolyte.corrections.mobility.model string none none, willems2020_nacl willems2020_nacl
electrolyte.corrections.mobility.concentration boolean true true
electrolyte.corrections.mobility.wall boolean true true
electrolyte.corrections.viscosity.model string none none, willems2020_nacl willems2020_nacl
electrolyte.corrections.viscosity.concentration boolean true true
electrolyte.corrections.viscosity.wall boolean true true
electrolyte.corrections.permittivity.model string none none, willems2020_nacl willems2020_nacl
electrolyte.corrections.permittivity.concentration boolean true true
electrolyte.corrections.permittivity.wall boolean true true
electrolyte.corrections.density.model string none none, willems2020_nacl willems2020_nacl
electrolyte.corrections.density.concentration boolean true true
electrolyte.corrections.density.wall boolean true true
electrolyte.corrections.steric.model choice none none, borukhov borukhov
electrolyte.corrections.steric.a_ion_nm number, optional unset
electrolyte.corrections.steric.a_water_nm number, optional unset

boundary_conditions

Path Type Default Accepts Validated default
boundary_conditions.bias_V number required
boundary_conditions.ground choice cis cis, trans
boundary_conditions.walls.ion_flux choice no_flux no_flux, prescribed no_flux
boundary_conditions.walls.slip choice no_slip no_slip, navier, free no_slip
boundary_conditions.wall_charge_C_m2 number 0.0
  • boundary_conditions.wall_charge_C_m2: The uniform surface charge density of an idealised pore's wall, in C/m^2; read only beside geometry.pore..

physics

Path Type Default Accepts Validated default
physics.model string epnp-ns epnp-ns, pb, pb-linear, pnp, pnp-ns, poisson epnp-ns
physics.flow boolean true true
physics.variable_density boolean true true
physics.inertia boolean true true
physics.dielectric_gradient_forces boolean false false
physics.solid_permittivities mapping of string to Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Gt(gt=0.0), _PydanticGeneralMetadata(allow_inf_nan=False)])] {}

numerics

Path Type Default Accepts Validated default
numerics.elements.phi string P2
numerics.elements.c string P2
numerics.elements.u string P2
numerics.elements.p string P1
numerics.mesh.backend string netgen gmsh, netgen
numerics.mesh.wall_h_nm number or choice auto auto
numerics.mesh.wall_for_concentration_M number, optional unset
numerics.mesh.maxh_nm number, optional unset
numerics.mesh.size_scale number 1.0
numerics.mesh.boundary_layer boolean false
numerics.nonlinear.strategy choice newton newton, hybrid newton
numerics.nonlinear.damping choice residual residual, backtracking residual
numerics.nonlinear.max_iter integer 100
numerics.nonlinear.rtol number 1.0e-06
numerics.continuation choice default_ladder default_ladder, none default_ladder
numerics.stabilisation string none none, reference, supg none
numerics.wall_distance.sources string wall wall
numerics.wall_distance.max_distance_nm number 3.0 3.0
numerics.linear.solver string umfpack superlu, umfpack umfpack
  • numerics.mesh.backend: The mesher backend, checked against the mesher registry (section 5.5)..
  • numerics.mesh.wall_for_concentration_M: The concentration, in mol/L, at whose Debye length wall_h_nm: auto is sized; none sizes it at the case's own..
  • numerics.mesh.maxh_nm: The global element size of an idealised pore, in nm; none takes the global size of the size field. Read only beside geometry.pore..
  • numerics.stabilisation: Residual stabilisation mode, checked against the stabilisation registry (section 5.5)..
  • numerics.linear.solver: Direct linear solver, checked against the solver registry (section 5.5)..