NXapm_paraprobe_results_ranger

Status:

application definition, extends NXobject

Description:

Results of a paraprobe-ranger tool run.

Symbols:

The symbols used in the schema to specify e.g. dimensions of arrays.

n_ions: The total number of ions in the reconstruction.

n_ivec_max: Maximum number of allowed atoms per (molecular) ion (fragment). Needs to match maximum_number_of_atoms_per_molecular_ion.

Groups cited:

NXcoordinate_system_set, NXcs_computer, NXcs_cpu, NXcs_filter_boolean_mask, NXcs_gpu, NXcs_io_obj, NXcs_io_sys, NXcs_mm_sys, NXcs_profiling_event, NXcs_profiling, NXentry, NXfabrication, NXion, NXprocess, NXtransformations, NXuser

Structure:

ENTRY: (required) NXentry

@version: (required) NX_CHAR

Version specifier of this application definition.

definition: (required) NX_CHAR

Official NeXus NXDL schema with which this file was written.

Obligatory value: NXapm_paraprobe_results_ranger

program: (required) NX_CHAR

Given name of the program/software/tool with which this NeXus (configuration) file was generated.

@version: (required) NX_CHAR

Ideally program version plus build number, or commit hash or description of ever persistent resources where the source code of the program and build instructions can be found so that the program can be configured ideally in such a manner that the result of this computational process is recreatable in the same deterministic manner.

analysis_identifier: (optional) NX_CHAR

Ideally, a (globally persistent) unique identifier for referring to this analysis.

analysis_description: (optional) NX_CHAR

Possibility for leaving a free-text description about this analysis.

start_time: (required) NX_DATE_TIME

ISO 8601 formatted time code with local time zone offset to UTC information included when the analysis behind this results file was started, i.e. the paraprobe-tool executable started as a process.

end_time: (required) NX_DATE_TIME

ISO 8601 formatted time code with local time zone offset to UTC information included when the analysis behind this results file were completed and the paraprobe-tool executable exited as a process.

config_filename: (required) NX_CHAR

The path and name of the config file for this analysis.

@version: (required) NX_CHAR

At least SHA256 strong hash of the specific config_file for tracking provenance.

results_path: (optional) NX_CHAR

Path to the directory where the tool should store NeXus/HDF5 results of this analysis. If not specified results will be stored in the current working directory.

status: (required) NX_CHAR

A statement whether the paraprobe-tool executable managed to process the analysis or failed prematurely.

This status is written to the results file after the end_time at which point the executable must not compute any analysis. Only when this status message is present and shows success, the user should consider the results. In all other cases it might be that the executable has terminated prematurely or another error occurred.

Any of these values: success | failure

USER: (recommended) NXuser

If used, contact information and eventually details of at least the person who performed this analysis.

name: (required) NX_CHAR

affiliation: (recommended) NX_CHAR

address: (optional) NX_CHAR

email: (recommended) NX_CHAR

orcid: (recommended) NX_CHAR

orcid_platform: (recommended) NX_CHAR

telephone_number: (optional) NX_CHAR

role: (recommended) NX_CHAR

social_media_name: (optional) NX_CHAR

social_media_platform: (optional) NX_CHAR

COORDINATE_SYSTEM_SET: (optional) NXcoordinate_system_set

Details about the coordinate system conventions used.

TRANSFORMATIONS: (required) NXtransformations

The individual coordinate systems which should be used. Field names should be prefixed with the following controlled terms indicating which individual coordinate system is described:

  • paraprobe

  • lab

  • specimen

  • laser

  • leap

  • detector

  • recon

PROCESS: (optional) NXprocess

apply_existent_ranging: (optional) NXprocess

Paraprobe-ranger loads the iontypes and evaluates for each ion on which iontype it matches. If it matches on none, the ion is considered of the default unknown type with a 0 as its respective value in the iontypes array.

maximum_number_of_atoms_per_molecular_ion: (required) NX_POSINT {units=NX_UNITLESS}

The length of the isotope_vector used to describe molecular ions.

iontypes: (required) NX_UINT (Rank: 1, Dimensions: [n_ions]) {units=NX_UNITLESS}

The iontype ID for each ion that was best matching, stored in the order of the evaporation sequence ID. The here computed iontypes do not take into account the charge state of the ion which is equivalent to interpreting a RNG and RRNG range files for each ion in such a way that only the elements of which a (molecular) ion is build are considered. By contrast, charged_iontypes takes into account also the charge state.

charged_iontypes: (required) NX_UINT (Rank: 1, Dimensions: [n_ions]) {units=NX_UNITLESS}

The iontype ID for each ion that was best matching, stored in the order of the evaporation sequence ID. For the here computed charged_iontypes the information for each (molecular) ion defined in e.g. RNG or RRNG files is analyzed for which differently charge states are possible. As an example while iontypes might only consider if an ion is Al charged_iontypes will resolve if it is Al1+, Al2+, or Al3+. To decide the charge state a recursive algorithm is used which enumerates first all possible isotopic variants of a given molecular ion build from a specific set of elements. All variants are then analyzed for their natural abundance and filtered. The sub-set of all significantly abundant variants is inspected if their charge states are all the same. If only one significant variant is found its charge state is assumed the relevant. If multiple significant variants are found and all their charge states is the same this charge state will be the decisive one. However, if multiple variants are found and their charge state differs such a case highlights that the charge state analysis is underconstrained and thus the charge state is set to 0. Underconstrained cases are possible because an arbitrary combination of elements into a molecular ion that is constrained only by an additional single interval of mass-to-charge state ratios is not necessarily sufficient.

ION: (required) NXion

isotope_vector: (required) NX_UINT

nuclid_list: (recommended) NX_UINT

charge_state: (required) NX_INT

mass_to_charge_range: (required) NX_FLOAT

charged_ION: (required) NXion

isotope_vector: (required) NX_UINT

nuclid_list: (recommended) NX_UINT

charge_state: (required) NX_INT

mass_to_charge_range: (required) NX_FLOAT

window: (required) NXcs_filter_boolean_mask

A bitmask which identifies exactly all those ions ranged irrespective the type they ended up with.

number_of_ions: (required) NX_UINT {units=NX_UNITLESS}

Number of ions covered by the mask. The mask value for most may be 0.

bitdepth: (required) NX_UINT {units=NX_UNITLESS}

Number of bits assumed matching on a default datatype. (e.g. 8 bits for a C-style uint8).

mask: (required) NX_UINT (Rank: 1, Dimensions: [n_ions]) {units=NX_UNITLESS}

The unsigned integer array representing the content of the mask. If padding is used the padded bits are set to 0. The mask is for convenience always as large as the entire dataset as it will be stored compressed anyway. The convenience feature with this is that then the mask can be decoded with numpy and mirrored against the evaporation_id array and one immediately can filter out all points that were used by the paraprobe. The length of the array adds to the next unsigned integer if the number of ions in the dataset is not an integer multiple of the bitdepth.

molecular_ion_search: (optional) NXprocess

Paraprobe-ranger performs a combinatorial search over all possible or a reduced set of nuclids to identify into which ions these can be composed.

isotope_vector_matrix: (required) NX_UINT (Rank: 2, Dimensions: [i, 32]) {units=NX_UNITLESS}

The main result is the list of molecular ions, here formatted according to the definitions of a set of isotope_vectors as detailed in NXion.

mass_to_charge_state_ratio: (required) NX_FLOAT (Rank: 1, Dimensions: [i]) {units=NX_ANY}

The mass-to-charge-state ratio of each molecular ion without considering relativistic or quantum effects.

mass: (optional) NX_FLOAT (Rank: 1, Dimensions: [i]) {units=NX_ANY}

The mass of each molecular ion without considering relativistic or quantum effects.

charge_state: (required) NX_UINT (Rank: 1, Dimensions: [i]) {units=NX_CHARGE}

The charge_state of each molecular ion.

natural_abundance_product: (optional) NX_FLOAT (Rank: 1, Dimensions: [i]) {units=NX_DIMENSIONLESS}

The product of the natural abundance of the isotopes building each molecular ion. Further details are available in NXapm_paraprobe_config_ranger.

composition_product: (optional) NX_FLOAT (Rank: 1, Dimensions: [i]) {units=NX_DIMENSIONLESS}

The product of the natural abundance of the isotopes building each molecular ion. Further details are available in NXapm_paraprobe_config_ranger.

number_of_disjoint_nuclids: (optional) NX_POSINT (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS}

The number of disjoint nuclids for each molecular ion.

number_of_nuclids: (optional) NX_POSINT (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS}

The number of nuclids for each molecular ion.

check_existent_ranging: (optional) NXprocess

Paraprobe-ranger loads iontypes and evaluates for each ion on which iontype it matches. If it matches on none, the ion is considered of the default unknown type with a 0 as its respective value in the iontypes array. In contrast to use_existent_ranging this process does neither needs measured ion position nor mass-to-charge-state ratio values.

maximum_number_of_atoms_per_molecular_ion: (required) NX_POSINT {units=NX_UNITLESS}

The length of the isotope_vector used to describe molecular ions.

charged_ION: (required) NXion

isotope_vector: (required) NX_UINT

nuclid_list: (recommended) NX_UINT

charge_state: (required) NX_INT

mass_to_charge_range: (required) NX_FLOAT

performance: (required) NXcs_profiling

current_working_directory: (required) NX_CHAR

command_line_call: (optional) NX_CHAR

start_time: (recommended) NX_DATE_TIME

end_time: (recommended) NX_DATE_TIME

total_elapsed_time: (required) NX_NUMBER

number_of_processes: (required) NX_POSINT

number_of_threads: (required) NX_POSINT

number_of_gpus: (required) NX_POSINT

CS_COMPUTER: (recommended) NXcs_computer

name: (recommended) NX_CHAR

operating_system: (required) NX_CHAR

@version: (required) NX_CHAR

uuid: (optional) NX_CHAR

CS_CPU: (optional) NXcs_cpu

name: (optional) NX_CHAR

FABRICATION: (recommended) NXfabrication

identifier: (optional) NX_CHAR

capabilities: (optional) NX_CHAR

CS_GPU: (optional) NXcs_gpu

name: (optional) NX_CHAR

FABRICATION: (recommended) NXfabrication

identifier: (optional) NX_CHAR

capabilities: (optional) NX_CHAR

CS_MM_SYS: (optional) NXcs_mm_sys

total_physical_memory: (required) NX_NUMBER

CS_IO_SYS: (optional) NXcs_io_sys

CS_IO_OBJ: (required) NXcs_io_obj

technology: (required) NX_CHAR

max_physical_capacity: (required) NX_NUMBER

name: (optional) NX_CHAR

FABRICATION: (recommended) NXfabrication

identifier: (optional) NX_CHAR

capabilities: (optional) NX_CHAR

CS_PROFILING_EVENT: (required) NXcs_profiling_event

start_time: (optional) NX_DATE_TIME

end_time: (optional) NX_DATE_TIME

description: (required) NX_CHAR

elapsed_time: (required) NX_NUMBER

number_of_processes: (required) NX_POSINT

Specify if it was different from the number_of_processes in the NXcs_profiling super class.

number_of_threads: (required) NX_POSINT

Specify if it was different from the number_of_threads in the NXcs_profiling super class.

number_of_gpus: (required) NX_POSINT

Specify if it was different from the number_of_threads in the NXcs_profiling super class.

max_virtual_memory_snapshot: (recommended) NX_NUMBER

max_resident_memory_snapshot: (recommended) NX_NUMBER

Hypertext Anchors

List of hypertext anchors for all groups, fields, attributes, and links defined in this class.

NXDL Source:

https://github.com/FAIRmat-Experimental/nexus_definitions/tree/fairmat/contributed_definitions/NXapm_paraprobe_results_ranger.nxdl.xml