view pm_symmetry.xml @ 1:d8146a73b011 draft

planemo upload for repository https://github.com/muon-spectroscopy-computational-project/muon-galaxy-tools/main/pm_symmetry commit 6a07c4caed5ef35f35198d54ebafd7d1d6d60edb
author muon-spectroscopy-computational-project
date Thu, 15 Sep 2022 10:25:23 +0000
parents 39d7644724dc
children 620ab6826b9b
line wrap: on
line source

<tool id="pm_symmetry" name="PyMuonSuite Symmetry" version="@TOOL_VERSION@+galaxy@WRAPPER_VERSION@" python_template_version="3.5" profile="22.01">
    <description>generate Wyckoff points symmetry report</description>
    <macros>
        <!-- version of underlying tool (PEP 440) -->
        <token name="@TOOL_VERSION@">0.2.1</token>
        <!-- version of this tool wrapper (integer) -->
        <token name="@WRAPPER_VERSION@">1</token>
        <!-- citation should be updated with every underlying tool version -->
        <!-- typical fields to update are version, month, year, and doi -->
        <token name="@TOOL_CITATION@">
            @software{pymuon-suite,
                author = {Sturniolo, Simone and Liborio, Leandro and Chadwick, Eli and Murgatroyd, Laura and Laverack, Adam and {Muon Spectroscopy Computational Project}},
                license = {GPL-3.0},
                title = {{pymuon-suite}},
                url = {https://github.com/muon-spectroscopy-computational-project/pymuon-suite},
                version = {v0.2.1},
                month = {2},
                year = {2022},
                doi = {}
            }
        </token>
    </macros>
    <creator>
        <person givenName="Jyothish" familyName="Thomas" identifier="https://orcid.org/0000-0003-4724-6924"/>
        <person givenName="Eli" familyName="Chadwick" url="https://github.com/elichad" identifier="https://orcid.org/0000-0002-0035-6475"/>
        <organization url="https://muon-spectroscopy-computational-project.github.io/index.html" name="The Muon Spectroscopy Computational Project"/>
    </creator>
    <requirements>
        <requirement type="package" version="@TOOL_VERSION@">pymuonsuite</requirement>
    </requirements>
    <command detect_errors="exit_code"><![CDATA[
        structure_name_internal=\$(sed 's/ /\_/g' <<< "$structure.name") &&
        ln -s $structure \$structure_name_internal &&
        pm-symmetry \$structure_name_internal > out.txt
    ]]></command>
    <inputs>
        <param type="data" name="structure" label="Structure file" format="cell,cif,xyz,extxyz" help="The structure to calculate symmetries of. Accepted file types: cell."/>
    </inputs>
    <outputs>
        <data label="symmetry of $structure.name" name="symmetry_report" format="txt" from_work_dir="out.txt"/>
    </outputs>
    <tests>
        <test expect_num_outputs="1">
            <param name="structure" value="Si.cell" ftype="cell"/>
            <output name="symmetry_report" file="test_out.txt" ftype="txt" compare="re_match_multiline"/>
        </test>
        <test expect_num_outputs="1">
            <param name="structure" value="Si.cif" ftype="cif"/>
            <output name="symmetry_report" file="test_out.txt" ftype="txt" compare="re_match_multiline"/>
        </test>
        <test expect_failure="true">
            <param name="structure" value="Si.xyz" ftype="xyz"/>
            <assert_stderr>
                <has_text text="TypeError: 'NoneType' object is not subscriptable"/>
            </assert_stderr>
        </test>
        <test expect_num_outputs="1">
            <param name="structure" value="Si.extxyz" ftype="extxyz"/>
            <output name="symmetry_report" file="test_out.txt" ftype="txt" compare="re_match_multiline"/>
        </test>
    </tests>
    <help><![CDATA[
        usage: pm-symmetry structure

        Given an input structure, generates a Wyckoff points symmetry report for that structure.
    ]]></help>
    <citations>
        <citation type="bibtex">
            @TOOL_CITATION@
        </citation>
        <citation type="bibtex">
            @article{doi:10.1063/5.0012381,
                author = {Sturniolo,Simone  and Liborio,Leandro },
                title = {Computational prediction of muon stopping sites: A novel take on the unperturbed electrostatic potential method},
                journal = {The Journal of Chemical Physics},
                volume = {153},
                number = {4},
                pages = {044111},
                year = {2020},
                doi = {10.1063/5.0012381},
                URL = {
                        https://doi.org/10.1063/5.0012381
                },
                eprint = {
                        https://doi.org/10.1063/5.0012381
                },
                abstract = { Finding the stopping site of the muon in a muon-spin relaxation experiment is one of the main problems of muon spectroscopy, and computational techniques that make use of quantum chemistry simulations can be of great help when looking for this stopping site. The most thorough approach would require the use of simulations, such as Density Functional Theory (DFT), to test and optimise multiple possible sites, accounting for the effect that the added muon has on its surroundings. However, this can be computationally expensive and sometimes unnecessary. Hence, in this work, we present a software implementation of the Unperturbed Electrostatic Potential (UEP) Method: an approach used for finding the muon stopping site in crystalline materials. The UEP method requires only one DFT calculation, necessary to compute the electronic density. This, in turn, is used to calculate the minima of the crystalline material’s electrostatic potential and the estimates of the muon stopping site, relying on the approximation that the muon’s presence does not significantly affect its surroundings. One of the main UEP’s assumptions is that the muon stopping site will be one of the crystalline material’s electrostatic potential minima. In this regard, we also propose some symmetry-based considerations about the properties of this crystalline material’s electrostatic potential, in particular, which sites are more likely to be its minima and why the unperturbed approximation may be sufficiently robust for them. We introduce the Python software package pymuon-suite and the various utilities it provides to facilitate these calculations, and finally, we demonstrate the effectiveness of the method with some chosen example systems. }
            }
        </citation>
    </citations>
</tool>