-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathindex.html
3 lines (3 loc) · 55.5 KB
/
index.html
1
2
3
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>API · CrystalInfoFramework documentation</title><meta name="title" content="API · CrystalInfoFramework documentation"/><meta property="og:title" content="API · CrystalInfoFramework documentation"/><meta property="twitter:title" content="API · CrystalInfoFramework documentation"/><meta name="description" content="Documentation for CrystalInfoFramework documentation."/><meta property="og:description" content="Documentation for CrystalInfoFramework documentation."/><meta property="twitter:description" content="Documentation for CrystalInfoFramework documentation."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../">CrystalInfoFramework documentation</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../">Overview</a></li><li><a class="tocitem" href="../tutorial/">Guide</a></li><li class="is-active"><a class="tocitem" href>API</a><ul class="internal"><li><a class="tocitem" href="#CIF-files"><span>CIF files</span></a></li><li><a class="tocitem" href="#CIF-blocks"><span>CIF blocks</span></a></li><li><a class="tocitem" href="#CIF-values"><span>CIF values</span></a></li><li><a class="tocitem" href="#Loops"><span>Loops</span></a></li><li><a class="tocitem" href="#Save-frames"><span>Save frames</span></a></li><li><a class="tocitem" href="#CIF-dictionaries"><span>CIF dictionaries</span></a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>API</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>API</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/jamesrhester/CrystalInfoFramework.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/master/docs/src/api.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><h1 id="API-Documentation"><a class="docs-heading-anchor" href="#API-Documentation">API Documentation</a><a id="API-Documentation-1"></a><a class="docs-heading-anchor-permalink" href="#API-Documentation" title="Permalink"></a></h1><h2 id="CIF-files"><a class="docs-heading-anchor" href="#CIF-files">CIF files</a><a id="CIF-files-1"></a><a class="docs-heading-anchor-permalink" href="#CIF-files" title="Permalink"></a></h2><p>A <code>Cif</code> is a collection of <code>CifContainer</code>s indexed by a <code>String</code> label.</p><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.Cif-Tuple{Any}" href="#CrystalInfoFramework.Cif-Tuple{Any}"><code>CrystalInfoFramework.Cif</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">Cif(somepath; verbose=false, native=true, version=0)</code></pre><p>Read in filename <code>s</code> as a CIF file. If <code>verbose</code> is true, print progress information during parsing. If <code>native</code> is <code>false</code>, use the C-language parser provided by <code>cif_api_jll</code>. <code>version</code> may be <code>1</code>, <code>2</code> or <code>0</code> (default) for auto-detected CIF version. <code>version</code> is only respected by the native parser. The <code>libcif</code> parser will always auto-detect.</p><p>Note that the cif_api parser is not currently working on Windows, so is disabled.</p><p>Currently the native parser is around 3 times faster than the cif<em>api parser when compilation time is not included, and uses 6-10 times as much memory. However, from a cold start (e.g. in a standalone script) the cif</em>api parser is around 30% faster.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L696-L714">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.cif_from_string-Tuple{AbstractString}" href="#CrystalInfoFramework.cif_from_string-Tuple{AbstractString}"><code>CrystalInfoFramework.cif_from_string</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">cif_from_string(s::AbstractString; verbose=false, version=0, source="")</code></pre><p>Process <code>s</code> as the text of a CIF file using the native Julia parser. If <code>verbose</code> is true, print progress information during parsing. <code>version</code> may be <code>1</code>, <code>2</code> or <code>0</code> (default) for auto-detected CIF version. If <code>source</code> is provided, it is a filesystem location to record as the source for <code>s</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L737-L745">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.keys-Tuple{Cif}" href="#Base.keys-Tuple{Cif}"><code>Base.keys</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">keys(c::Cif)</code></pre><p>The names of all blocks in <code>c</code>, not including any save frames.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L370-L374">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.first-Tuple{Cif}" href="#Base.first-Tuple{Cif}"><code>Base.first</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">first(c::Cif)</code></pre><p>The first block in <code>c</code>, which may not be the first block that appears in the physical file. This is useful when only one block is present.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L377-L383">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.length-Tuple{Cif}" href="#Base.length-Tuple{Cif}"><code>Base.length</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">length(c::Cif)</code></pre><p>The number of blocks in <code>n</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L386-L390">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.haskey-Tuple{Cif, Any}" href="#Base.haskey-Tuple{Cif, Any}"><code>Base.haskey</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">haskey(c::Cif,name)</code></pre><p>Whether <code>c</code> has a block named <code>name</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L393-L397">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.getindex-Tuple{Cif, Any}" href="#Base.getindex-Tuple{Cif, Any}"><code>Base.getindex</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">getindex(c::Cif,n)</code></pre><p><code>c[n]</code> returns the block case-insensitively named <code>n</code> in <code>c</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L403-L407">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.setindex!-Tuple{Cif, Any, Any}" href="#Base.setindex!-Tuple{Cif, Any, Any}"><code>Base.setindex!</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">setindex!(c::Cif,v,n)</code></pre><p><code>c[n] = s</code> sets block <code>n</code> to <code>v</code> in <code>c</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L422-L426">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.show-Tuple{IO, MIME{Symbol("text/plain")}, Cif}" href="#Base.show-Tuple{IO, MIME{Symbol("text/plain")}, Cif}"><code>Base.show</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">show(io::IO,::MIME"text/plain",c::Cif)</code></pre><p>Display a text representation of <code>c</code> to <code>io</code>. This text representation is not guaranteed to be syntactically correct CIF. To display <code>c</code> as a CIF file, use <code>::MIME"text/cif"</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L433-L440">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.show-Tuple{IO, MIME{Symbol("text/cif")}, Cif}" href="#Base.show-Tuple{IO, MIME{Symbol("text/cif")}, Cif}"><code>Base.show</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">show(io::IO,::MIME"text/cif",c::Cif; ordering = [])</code></pre><p>Write the contents of <code>c</code> as a CIF file to <code>io</code>, ordering each of the CifContainers according to <code>ordering</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_output.jl#L869-L874">source</a></section></article><h2 id="CIF-blocks"><a class="docs-heading-anchor" href="#CIF-blocks">CIF blocks</a><a id="CIF-blocks-1"></a><a class="docs-heading-anchor-permalink" href="#CIF-blocks" title="Permalink"></a></h2><p>Concrete types of <code>CifContainer</code>s are <code>Block</code> and <code>CifBlock</code>. Only the latter may contain nested save frames. <code>CifContainer</code>s act like <code>Dict{String,Array{CifValue,1}}</code> dictionaries indexed by data name.</p><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.Block" href="#CrystalInfoFramework.Block"><code>CrystalInfoFramework.Block</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>A CIF data block or save frame containing no nested save frames.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L188-L190">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.CifBlock" href="#CrystalInfoFramework.CifBlock"><code>CrystalInfoFramework.CifBlock</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>A CIF block potentially containing save frames. Save frames cannot be nested.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L201-L203">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.keys-Tuple{CifContainer}" href="#Base.keys-Tuple{CifContainer}"><code>Base.keys</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">keys(b::CifContainer)</code></pre><p>All data names in <code>b</code></p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L92-L96">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.haskey-Tuple{CifContainer, String}" href="#Base.haskey-Tuple{CifContainer, String}"><code>Base.haskey</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">haskey(b::CifContainer,s::String)</code></pre><p>Returns <code>true</code> if <code>b</code> contains a value for case-insensitive data name <code>s</code></p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L99-L103">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.iterate-Tuple{CifContainer}" href="#Base.iterate-Tuple{CifContainer}"><code>Base.iterate</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">iterate(b::CifContainer)</code></pre><p>Iterate over all data names in <code>b</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L106-L110">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.getindex-Tuple{CifContainer, String}" href="#Base.getindex-Tuple{CifContainer, String}"><code>Base.getindex</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">getindex(b::CifContainer,s::String)</code></pre><p><code>b[s]</code> returns all values for case-insensitive data name <code>s</code> in <code>b</code> as an <code>Array{CifValue,1}</code></p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L114-L119">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.get-Tuple{CifContainer, String, Any}" href="#Base.get-Tuple{CifContainer, String, Any}"><code>Base.get</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">get(b::CifContainer,s::String,a)</code></pre><p>Return <code>b[s]</code>. If <code>s</code> is missing, return <code>a</code>. <code>s</code> is case-insensitive.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L122-L126">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.getindex-Tuple{CifContainer, Dict}" href="#Base.getindex-Tuple{CifContainer, Dict}"><code>Base.getindex</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">getindex(b::CifContainer,s::Dict)</code></pre><p>Return the set of values in <code>b</code> corresponding to the data name values provided in <code>s</code>. The keys of <code>s</code> must be datanames found in <code>b</code>. A DataFrame is returned. The keys of <code>s</code> are case-insensitive. </p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L129-L135">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.setindex!-Tuple{CifContainer, Any, Any}" href="#Base.setindex!-Tuple{CifContainer, Any, Any}"><code>Base.setindex!</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">setindex!(b::CifContainer,v,s)</code></pre><p>Set the value of <code>s</code> in <code>b</code> to <code>v</code></p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L144-L148">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.delete!-Tuple{CifContainer, Any}" href="#Base.delete!-Tuple{CifContainer, Any}"><code>Base.delete!</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">delete!(b::CifContainer,s)</code></pre><p>Remove the value of <code>s</code> from <code>b</code></p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L153-L157">source</a></section></article><h2 id="CIF-values"><a class="docs-heading-anchor" href="#CIF-values">CIF values</a><a id="CIF-values-1"></a><a class="docs-heading-anchor-permalink" href="#CIF-values" title="Permalink"></a></h2><p>Data names are associated with arrays of values of type <code>CifValue</code>. Single-valued data names are associated with arrays with a single element.</p><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.CifValue" href="#CrystalInfoFramework.CifValue"><code>CrystalInfoFramework.CifValue</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>The syntactical type of data held in a CIF file. A value is of type <code>String</code>, <code>Vector{CifValue}</code>, <code>Dict{String,CifValue}</code>, <code>Missing</code> or <code>Nothing</code>. In all cases the values returned for a given data name are in an <code>Array{CifValue,1}</code>. </p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L10-L15">source</a></section></article><h2 id="Loops"><a class="docs-heading-anchor" href="#Loops">Loops</a><a id="Loops-1"></a><a class="docs-heading-anchor-permalink" href="#Loops" title="Permalink"></a></h2><p>CIF blocks contain key-value pairs and loops. The following methods give access to these loops.</p><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.get_loop" href="#CrystalInfoFramework.get_loop"><code>CrystalInfoFramework.get_loop</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">get_loop(b::CifContainer,s)</code></pre><p>A <code>DataFrame</code> built from data items in the same loop as <code>s</code>. If no data are available, an empty <code>DataFrame</code> is returned.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L52-L57">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.add_to_loop!" href="#CrystalInfoFramework.add_to_loop!"><code>CrystalInfoFramework.add_to_loop!</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">add_to_loop!(b::CifContainer, tgt, newname)</code></pre><p>Add dataname <code>newname</code> to the loop containing <code>tgt</code>. Values for <code>newname</code> must already be present (e.g. by calling <code>b[newname]=values</code>) and have the same length as other values in the loop.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L272-L278">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.create_loop!" href="#CrystalInfoFramework.create_loop!"><code>CrystalInfoFramework.create_loop!</code></a> — <span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">create_loop!(b::CifContainer,names)</code></pre><p>Create a loop in <code>b</code> from the datanames in <code>names</code>. Datanames previously assigned to other loops are transferred to the new loop. All data attached to <code>names</code> should have the same length.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L294-L301">source</a></section></article><h2 id="Save-frames"><a class="docs-heading-anchor" href="#Save-frames">Save frames</a><a id="Save-frames-1"></a><a class="docs-heading-anchor-permalink" href="#Save-frames" title="Permalink"></a></h2><p>CIF data files do not contain save frames, however CIF dictionaries use them extensively. The contents of save frames are invisible to all methods except <code>show</code>. They can be accessed using <code>get_frames</code>, which returns a <code>Cif</code> object.</p><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.get_frames-Union{Tuple{CifBlock{V}}, Tuple{V}} where V" href="#CrystalInfoFramework.get_frames-Union{Tuple{CifBlock{V}}, Tuple{V}} where V"><code>CrystalInfoFramework.get_frames</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">get_frames(f::CifBlock{V})</code></pre><p>Return all nested CIF containers in <code>f</code> as a <code>Cif</code> object.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_base.jl#L455-L459">source</a></section></article><h2 id="CIF-dictionaries"><a class="docs-heading-anchor" href="#CIF-dictionaries">CIF dictionaries</a><a id="CIF-dictionaries-1"></a><a class="docs-heading-anchor-permalink" href="#CIF-dictionaries" title="Permalink"></a></h2><h3 id="DDLm-Dictionaries"><a class="docs-heading-anchor" href="#DDLm-Dictionaries">DDLm Dictionaries</a><a id="DDLm-Dictionaries-1"></a><a class="docs-heading-anchor-permalink" href="#DDLm-Dictionaries" title="Permalink"></a></h3><p>Dictionaries published by the International Union of Crystallography use the DDLm attribute set.</p><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.DDLm_Dictionary" href="#CrystalInfoFramework.DDLm_Dictionary"><code>CrystalInfoFramework.DDLm_Dictionary</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>A DDLm Dictionary holds information about data names including executable methods for deriving missing values.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L68-L71">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.DDLm_Dictionary-Tuple{Cif}" href="#CrystalInfoFramework.DDLm_Dictionary-Tuple{Cif}"><code>CrystalInfoFramework.DDLm_Dictionary</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">DDLm_Dictionary(c::Cif;ignore_imports=false)</code></pre><p>Create a <code>DDLm_Dictionary</code> from <code>c</code>. <code>ignore_imports = true</code> will ignore any <code>import</code> attributes.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L84-L89">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.DDLm_Dictionary-Tuple{Any}" href="#CrystalInfoFramework.DDLm_Dictionary-Tuple{Any}"><code>CrystalInfoFramework.DDLm_Dictionary</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">DDLm_Dictionary(a; verbose=false, ignore_imports="None",
cache_imports=false)</code></pre><p>Create a <code>DDLm_Dictionary</code> given filename <code>a</code>. <code>verbose = true</code> will print extra debugging information during reading.<code>ignore_imports = :None</code> will ignore any <code>import</code> attributes. Other options are <code>:Full</code> and <code>:Contents</code> to ignore imports with the respective <code>mode</code>, and <code>:all</code> to ignore all imports. <code>cache_imports</code> will store the contents of imported files (<code>Contents</code> mode only) but will not merge the contents into the importing definition.</p><p>Setting <code>ignore_imports</code> to :None (the default) merges all information in imported files into the dictionary, replacing the <code>import</code> attribute.</p><p>By default imports are cached, even if they are not merged. <code>cache_imports</code> can be set to <code>false</code> to completely ignore any import attributes.</p><p><code>cache_imports</code> is ignored if <code>ignore_imports</code> is :None.</p><p>If a non-absolute location for imported dictionaries is specified, they are searched for relative to the same directory as the importing dictionary, unless <code>import_dir</code> is specified, in which case the search is relative to that directory.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L97-L123">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.keys-Tuple{DDLm_Dictionary}" href="#Base.keys-Tuple{DDLm_Dictionary}"><code>Base.keys</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">keys(d::DDLm_Dictionary)</code></pre><p>Return a list of datanames defined by the dictionary, including any aliases.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L207-L212">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.getindex-Tuple{DDLm_Dictionary, Any}" href="#Base.getindex-Tuple{DDLm_Dictionary, Any}"><code>Base.getindex</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">getindex(d::DDLm_Dictionary,k)</code></pre><p>d[k] returns the definition for data name <code>k</code> as a <code>Dict{Symbol,DataFrame}</code> where <code>Symbol</code> is the attribute category (e.g. <code>:name</code>).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L224-L229">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.delete!-Tuple{DDLm_Dictionary, String}" href="#Base.delete!-Tuple{DDLm_Dictionary, String}"><code>Base.delete!</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><p>delete!(d::DDLm_Dictionary,k::String)</p><p>Remove all information from <code>d</code> associated with dataname <code>k</code></p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L257-L261">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.get_dic_namespace-Tuple{DDLm_Dictionary}" href="#CrystalInfoFramework.get_dic_namespace-Tuple{DDLm_Dictionary}"><code>CrystalInfoFramework.get_dic_namespace</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">get_dic_namespace(d::DDLm_Dictionary)</code></pre><p>Return the namespace declared by the dictionary, or <code>ddlm</code> if none present.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L338-L343">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.list_aliases-Tuple{DDLm_Dictionary, Any}" href="#CrystalInfoFramework.list_aliases-Tuple{DDLm_Dictionary, Any}"><code>CrystalInfoFramework.list_aliases</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">list_aliases(d::DDLm_Dictionary,name;include_self=false)</code></pre><p>List aliases of <code>name</code> listed in <code>d</code>. If not <code>include_self</code>, remove <code>name</code> from the returned list.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L352-L357">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.find_name-Tuple{DDLm_Dictionary, Any}" href="#CrystalInfoFramework.find_name-Tuple{DDLm_Dictionary, Any}"><code>CrystalInfoFramework.find_name</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">find_name(d::DDLm_Dictionary,name)</code></pre><p>Find the canonical name for <code>name</code> in <code>d</code>. If <code>name</code> is not present, return <code>name</code> unchanged. If accessed in cat/obj format, search also child categories. Note that the head category may not have a category associated with it. If <code>name</code> is the dictionary title it is returned as is.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L369-L376">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.find_category-Tuple{DDLm_Dictionary, Any}" href="#CrystalInfoFramework.find_category-Tuple{DDLm_Dictionary, Any}"><code>CrystalInfoFramework.find_category</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">find_category(d::DDLm_Dictionary,dataname)</code></pre><p>Find the category of <code>dataname</code> by looking up <code>d</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L421-L425">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.find_object-Tuple{DDLm_Dictionary, Any}" href="#CrystalInfoFramework.find_object-Tuple{DDLm_Dictionary, Any}"><code>CrystalInfoFramework.find_object</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">find_object(d::DDLm_Dictionary,dataname)</code></pre><p>Find the <code>object_id</code> of <code>dataname</code> by looking up <code>d</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L428-L432">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.is_category-Tuple{DDLm_Dictionary, Any}" href="#CrystalInfoFramework.is_category-Tuple{DDLm_Dictionary, Any}"><code>CrystalInfoFramework.is_category</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">is_category(d::DDLm_Dictionary,name)</code></pre><p>Return true if <code>name</code> is a category according to <code>d</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L435-L439">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.get_categories-Tuple{DDLm_Dictionary}" href="#CrystalInfoFramework.get_categories-Tuple{DDLm_Dictionary}"><code>CrystalInfoFramework.get_categories</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">get_categories(d::DDLm_Dictionary, referred=false)</code></pre><p>List all categories defined in DDLm Dictionary <code>d</code>. If <code>referred</code> is <code>true</code>, categories for which data names are defined, but no category is defined, are also included.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L445-L450">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.get_keys_for_cat-Tuple{DDLm_Dictionary, Any}" href="#CrystalInfoFramework.get_keys_for_cat-Tuple{DDLm_Dictionary, Any}"><code>CrystalInfoFramework.get_keys_for_cat</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">get_keys_for_cat(d::DDLm_Dictionary,cat;aliases=false)</code></pre><p>List all category key data names for <code>cat</code> listed in <code>d</code>. If <code>aliases</code>, include alternative names for the key data names.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L509-L514">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.get_default-Tuple{DDLm_Dictionary, Any}" href="#CrystalInfoFramework.get_default-Tuple{DDLm_Dictionary, Any}"><code>CrystalInfoFramework.get_default</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">get_default(d::DDLm_Dictionary,s)</code></pre><p>Return the default value for <code>s</code> or <code>missing</code> if none defined. </p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L759-L763">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.lookup_default-Tuple{DDLm_Dictionary, String, Any}" href="#CrystalInfoFramework.lookup_default-Tuple{DDLm_Dictionary, String, Any}"><code>CrystalInfoFramework.lookup_default</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">lookup_default(dict::DDLm_Dictionary,dataname::String,cp)</code></pre><p>Index into any default lookup table defined in <code>dict</code> for <code>dataname</code> using an index value from <code>cp</code>. <code>cp</code> is any object with a property name as specified by <code>def_index_id</code> in the definition of <code>dataname</code> such that <code>cp.<def_index_id></code> returns a single value</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddlm_dictionary_ng.jl#L780-L786">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.show-Tuple{IOContext, MIME{Symbol("text/cif")}, DDLm_Dictionary}" href="#Base.show-Tuple{IOContext, MIME{Symbol("text/cif")}, DDLm_Dictionary}"><code>Base.show</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">show(io::IOContext,MIME("text/cif"),ddlm_dic::DDLm_Dictionary;header="")</code></pre><p>Output <code>ddlm_dic</code> in CIF format. <code>header</code> contains text that will be output in a comment box at the top of the file, which will replace any header comment stored in <code>ddlm_dic</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_output.jl#L949-L955">source</a></section></article><h3 id="DDL2-Dictionaries"><a class="docs-heading-anchor" href="#DDL2-Dictionaries">DDL2 Dictionaries</a><a id="DDL2-Dictionaries-1"></a><a class="docs-heading-anchor-permalink" href="#DDL2-Dictionaries" title="Permalink"></a></h3><p>DDL2 dictionaries are published and maintained by the worldwide Protein Data Bank (wwPDB).</p><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.DDL2_Dictionary" href="#CrystalInfoFramework.DDL2_Dictionary"><code>CrystalInfoFramework.DDL2_Dictionary</code></a> — <span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">DDL2_Dictionary</code></pre><p>The type of DDL2 dictionaries.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddl2_dictionary_ng.jl#L9-L13">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.DDL2_Dictionary-Tuple{Cif}" href="#CrystalInfoFramework.DDL2_Dictionary-Tuple{Cif}"><code>CrystalInfoFramework.DDL2_Dictionary</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">DDL2_Dictionary(c::Cif)</code></pre><p>Create a DDL2_Dictionary from <code>c</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddl2_dictionary_ng.jl#L21-L25">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.DDL2_Dictionary-Tuple{Any}" href="#CrystalInfoFramework.DDL2_Dictionary-Tuple{Any}"><code>CrystalInfoFramework.DDL2_Dictionary</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">DDL2_Dictionary(a; verbose=false)</code></pre><p>Create a <code>DDL2_Dictionary</code> given filename <code>a</code>. <code>verbose = true</code> will print extra debugging information during reading.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddl2_dictionary_ng.jl#L33-L38">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.keys-Tuple{DDL2_Dictionary}" href="#Base.keys-Tuple{DDL2_Dictionary}"><code>Base.keys</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">keys(d::DDL2_Dictionary)</code></pre><p>Return a list of datanames defined by the dictionary, including any aliases.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddl2_dictionary_ng.jl#L107-L112">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.getindex-Tuple{DDL2_Dictionary, Any}" href="#Base.getindex-Tuple{DDL2_Dictionary, Any}"><code>Base.getindex</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">getindex(d::DDL2_Dictionary,k)</code></pre><p>d[k] returns the definition for data name <code>k</code> as a <code>Dict{Symbol,DataFrame}</code> where <code>Symbol</code> is the attribute category (e.g. <code>:item_name</code>).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddl2_dictionary_ng.jl#L118-L123">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.get_categories-Tuple{DDL2_Dictionary}" href="#CrystalInfoFramework.get_categories-Tuple{DDL2_Dictionary}"><code>CrystalInfoFramework.get_categories</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">get_categories(d::DDL2_Dictionary; referred = false)</code></pre><p>List all categories defined in <code>d</code>. If <code>referred</code> is <code>true</code>, categories for which data names are defined, but no category is defined, are also included.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddl2_dictionary_ng.jl#L162-L167">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="CrystalInfoFramework.get_default-Tuple{DDL2_Dictionary, Any}" href="#CrystalInfoFramework.get_default-Tuple{DDL2_Dictionary, Any}"><code>CrystalInfoFramework.get_default</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">get_default(d::DDL2_Dictionary,dataname)</code></pre><p>Return the default value for <code>dataname</code> or <code>missing</code> if none defined. </p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/ddl2_dictionary_ng.jl#L198-L202">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.show-Tuple{IOContext, MIME{Symbol("text/cif")}, DDL2_Dictionary}" href="#Base.show-Tuple{IOContext, MIME{Symbol("text/cif")}, DDL2_Dictionary}"><code>Base.show</code></a> — <span class="docstring-category">Method</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">show(io::IOContext,::MIME"text/cif",ddl2_dic::DDL2_Dictionary)</code></pre><p>Output <code>ddl2_dic</code> in CIF format. <code>IOContext</code> can be used to control the output layout using the following keywords:</p><pre><code class="nohighlight hljs">strict: follow the IUCr layout rules</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jamesrhester/CrystalInfoFramework.jl/blob/v0.8.0/src/cif_output.jl#L1115-L1123">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../tutorial/">« Guide</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.8.0 on <span class="colophon-date" title="Monday 6 January 2025 01:25">Monday 6 January 2025</span>. Using Julia version 1.11.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>