NAME
    InfoPeriodicTableElements.pl - List atomic properties of elements

SYNOPSIS
    InfoPeriodicTableElements.pl ElementID(s)...

    InfoPeriodicTableElements.pl [-h, --help] [-m, --mode ElementID |
    AmericanGroupLabel | EuropeanGroupLabel | GroupNumber | GroupName |
    PeriodNumber | All] [--outdelim comma | tab | semicolon] [--output
    STDOUT | File] [--outputstyle ElementBlock | ElementRows] [-o,
    --overwrite] [--precision number] [--propertiesmode Categories | Names |
    All] [-p, --properties CategoryName,[CategoryName,...] |
    PropertyName,[PropertyName,...]] [--propertieslinting ByGroup |
    Alphabetical] [-q, --quote yes | no] [-r, --root rootname] [-w,
    --workingdir dirname] ElementID(s)...

DESCRIPTION
    List atomic properties of elements in the periodic table. A variety of
    methods are available to specify elements of interest: atomic numbers,
    element symbols, American or European style group labels, IUPAC group
    numbers, period numbers, and group names.

    Atomic properties data, in addition to basic information about the
    periodic table elements, is also available for these categories: atomic
    radii, bulk properties, common valences, electronegativities, electron
    affinities, historical data, ionization energies, natural isotopes,
    oxidation states, and thermal properties.

    Natural isotopes data include mass number, relative atomic mass and
    percent natural abundance for each isotope of an element.

PARAMETERS
    ElementIDs *ElementSymbol [AtomicNumber...] | GroupLabel [GroupLabel...]
    | GroupNumbel [GroupNumber...] | PeriodNumber [PeriodNumbe...]*
        Command line specification of elements is mode specific. In general,
        it's a space delimited list of values to identify elements. All
        element IDs must correspond to a specific mode; mixed specifications
        is not supported.

        For *ElementID* mode, input value format is: *AtomicNumber
        [ElementSymbol ...]*. Default: *H*. Examples:

            C
            6
            C N O P S Cl
            6 7 8 15 16 17
            C 7 8 15 S 17

        For *AmericanGroupLabel* mode, input value format is: *GroupLabel
        [GroupLabel ...]*. Default: *IA*. Possible group label values are:
        *IA IIA IIIB IVB VB VIB VIIB VIII or VIIIB IB IIB IIIA IVA VA, VIA,
        VIIA, VIIA*. Examples:

            IA
            IA IVA IIB

        For *EuropeanGroupLabel* mode, input value format is: *GroupLabel
        [GroupLabel ...]*. Default: *IA*. Possible group label values are:
        *IA IIA IIIA IVA VA VIA VIIA VIII or VIIIA IB IIB IIIB IVB VB, VIB
        VIIB VIIB*. Examples:

            IA
            IA IVB IIB

        For IUPAC *GroupNumber* mode, input value format is: *GroupNumber
        [GroupNumber...]*. Default: *1*. Possible group label values are: *1
        2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18*. Examples:

            1
            1 14 12

        For *GroupName* mode, input value format is: *GroupName
        [GroupName...]*. Default: *AlkaliMetals*. Possible group name values
        are: *AlkaliMetals AlkalineEarthMetals Chalcogens CoinageMetals
        Halogens NobleGases Pnictogens Lanthanides or Lanthanoids, Actinides
        or Actinoids*. Examples:

            AlkaliMetals
            AlkaliMetals Halogens NobleGases

        For *PeriodNumber* mode, input value format is: *PeriodNumber
        [PeriodNumber,...]*. Default: *1*. Possible group label values are:
        *1 2 3 4 5 6 7*. Examples:

            1
            1 2 3

        For *All* mode, no input value is needed and atomic properties
        information is listed for all the elements.

OPTIONS
    -h, --help
        Print this help message.

    -m, --mode *ElementID | AmericanGroupLabel | EuropeanGroupLabel |
    GroupNumber | GroupName | PeriodNumber | All*
        Specify elements for listing atomic properties using one of these
        methods: atomic numbers and/or element symbols list, American style
        group labels, European style group labels, IUPAC group number, group
        names, period numbers, or all elements.

        Possible values: *ElementID, AmericanGroupLabel, EuropeanGroupLabel,
        GroupNumber, GroupName, PeriodNumber, All*. Default: *ElementID*.

    --outdelim *comma | tab | semicolon*
        Output text file delimiter. Possible values: *comma, tab, or
        semicolon* Default value: *comma*.

    --output *STDOUT | File*
        List information at STDOUT or write it to a file. Possible values:
        *STDOUT or File*. Default: *STDOUT*. -r, --root option is used to
        generate output file name.

    --outputstyle *ElementBlock | ElementRows*
        Specify how to list element information: add a new line for each
        property and present it as a block for each element; or include all
        properties in one line and show it as a single line.

        Possible values: *ElementBlock | ElementRows*. Default:
        *ElementBlock*

        An example for *ElementBlock* output style:

            Atomic number: 1
            Element symbol: H
            Element name: Hydrogen
            Atomic weight: 1.00794
            ... ...
            ... ...

            Atomic number: 6
            Element symbol: C
            Element name: Carbon
            Atomic weight: 12.0107
            ... ...
            ... ...

        An example for *ElementRows* output style:

            Atomic number, Element symbol, Elemenet name, Atomic weight, ...
            1,H,Hydrogen,1.00794,..
            6,C,Carbon,12.0107,..

    -o, --overwrite
        Overwrite existing files.

    --precision *number*
        Precision for listing numerical values. Default: up to *4* decimal
        places. Valid values: positive integers.

    --propertiesmode *Categories | Names | All*
        Specify how property names are specified: use category names;
        explicit list of property names; or use all available properties.
        Possible values: *Categories, Names, or All*. Default: *Categories*.

        This option is used in conjunction with -p, --properties option to
        specify properties of interest.

    -p, --properties *CategoryName,[CategoryName,...] |
    PropertyName,[PropertyName,...]*
        This option is --propertiesmode specific. In general, it's a list of
        comma separated category or property names.

        Specify which atomic properties information to list for the elements
        specified using command line parameters: list basic and/or isotope
        information; list all available information; or specify a comma
        separated list of atomic property names.

        Possible values: *Basic| BasicAndNaturalIsotope | NaturalIsotope |
        PropertyName,[PropertyName,...]*. Default: *Basic*.

        *Basic* includes: *AtomicNumber, ElementSymbol, ElementName,
        AtomicWeight, GroundStateConfiguration, GroupNumber, PeriodNumber,
        FirstIonizationEnergy*.

        *NaturalIsotope* includes: *AtomicNumber, ElementSymbol,
        ElementName, MassNumber, RelativeAtomicMass, NaturalAbundance*.

        Here is a complete list of available properties:
        AllenElectronegativity, AllredRochowElectronegativity, AtomicNumber,
        AtomicRadiusCalculated, AtomicRadiusEmpirical, AtomicWeight, Block,
        BoilingPoint, BondLength, BrinellHardness, BulkModulus,
        Classification, CoefficientOfLinearExpansion, Color, CommonValences,
        LowestCommonValence, HighestCommonValence, CommonOxidationNumbers,
        LowestCommonOxidationNumber, HighestCommonOxidationNumber,
        CovalentRadiusEmpirical, CriticalTemperature, DensityOfSolid,
        DiscoveredAt, DiscoveredBy, DiscoveredWhen, ElectricalResistivity,
        ElectronAffinity, ElementName, ElementSymbol, EnthalpyOfAtmization,
        EnthalpyOfFusion, EnthalpyOfVaporization, FirstIonizationEnergy,
        GroundStateConfiguration, GroundStateLevel, GroupName, GroupNumber,
        NaturalIsotopeData, MeltingPoint, MineralHardness, MolarVolume,
        MullikenJaffeElectronegativity, OriginOfName,
        PaulingElectronegativity, PeriodNumber, PoissonsRatio, Reflectivity,
        RefractiveIndex, RigidityModulus, SandersonElectronegativity,
        StandardState, SuperconductionTemperature, ThermalConductivity,
        VanderWaalsRadius, VelocityOfSound, VickersHardness, YoungsModulus.

    --propertieslisting *ByGroup | Alphabetical*
        Specify how to list properties for elements: group by category or an
        alphabetical by property names. Possible values: *ByGroup or
        Alphabetical*. Default: *ByGroup*. During *Alphabetical* listing,
        element identification data - *AtomicNumber, ElementSymbol,
        ElementName* - is show first, and natural isotope data -
        *MassNumber, RelativeAtomicMass, NaturalAbundance* - is listed in
        the end.

    -q, --quote *yes | no*
        Put quotes around column values in output text file. Possible
        values: *yes or no*. Default value: *yes*.

    -r, --root *rootname*
        New text file name is generated using the root: <Root>.<Ext>. File
        name is only used during *File* value of -o, --output option.

        Default file name: PeriodicTableElementsInfo<mode>.<Ext>. The csv,
        and tsv <Ext> values are used for comma/semicolon, and tab delimited
        text files respectively.

    -w, --workingdir *dirname*
        Location of working directory. Default: current directory.

EXAMPLES
    To list basic atomic properties information for element H, type:

        % InfoPeriodicTableElements.pl

    To list basic atomic properties information for elements C,N,O and F,
    type:

        % InfoPeriodicTableElements.pl C N O F

    To list all available atomic properties information for elements C,N,O
    and F, type:

        % InfoPeriodicTableElements.pl --propertiesmode all 6 N O 9

    To list basic and natural isotope information for elements C,N,O and F,
    type:

        % InfoPeriodicTableElements.pl --propertiesmode Categories
          --properties BasicAndNaturalIsotope  C N O F

    To list AtomicNumber, ElementName, AtomicWeight and CommonValences
    information for elements C,N,O and F, type:

        % InfoPeriodicTableElements.pl --propertiesmode Names
          --properties AtomicNumber,ElementName,AtomicWeight,CommonValences
          C N O F

    To alphabetically list basic and natural isotope information for
    elements C,N,O and F in rows instead of element blocks with quotes
    around the values, type:

        % InfoPeriodicTableElements.pl --propertiesmode Categories
          --properties BasicAndNaturalIsotope --propertieslisting alphabetical
          --outdelim comma --outputstyle ElementRows --quote yes C N O F

    To alphabetically list all available atomic information for elements
    C,N,O and F in rows instead of element blocks with quotes around the
    values and write them into a file ElementProperties.csv, type:

        % InfoPeriodicTableElements.pl --propertiesmode Categories
          --properties BasicAndNaturalIsotope --propertieslisting alphabetical
          --outdelim comma --outputstyle ElementRows --quote yes
          --output File -r ElementsProperties -o -m All

    To list basic atomic properties information for elements in groups IA
    and VIA using American style group labels, type:

        % InfoPeriodicTableElements.pl -m AmericanGroupLabel IA VIA

    To list basic atomic properties information for elements in groups IA
    and VB using European style group labels, type:

        % InfoPeriodicTableElements.pl -m AmericanGroupLabel IA VB

    To list basic atomic properties information for elements in groups
    Halogens and NobleGases, type:

        % InfoPeriodicTableElements.pl -m GroupName Halogens NobleGases

AUTHOR
    Manish Sud <msud@san.rr.com>

SEE ALSO
    InfoAminoAcids.pl InfoNucleicAcids.pl

COPYRIGHT
    Copyright (C) 2018 Manish Sud. All rights reserved.

    This file is part of MayaChemTools.

    MayaChemTools is free software; you can redistribute it and/or modify it
    under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation; either version 3 of the License, or (at
    your option) any later version.

