NAME
    InfoNucleicAcids.pl - List properties of nucleic acids

SYNOPSIS
    InfoNucleicAcids.pl NucleicAcidIDs...

    InfoNucleicAcids.pl [-h, --help] [-m, --mode NucleicAcidID |
    NucleicAcidType] [--OutDelim comma | tab | semicolon] [--output STDOUT |
    File] [--OutputStyle NucleicAcidBlock | NucleicAcidRows] [-o,
    --overwrite] [--precision number] [--PropertiesMode Categories | Names |
    All] [-p, --properties CategoryName, [CategoryName,...] | PropertyName,
    [PropertyName,...]] [--PropertiesListing ByGroup | Alphabetical] [-q,
    --quote yes | no] [-r, --root rootname] [-w, --WorkingDir dirname]
    NucleicAcidIDs...

DESCRIPTION
    List nucleic acid properties. Nucleic acids identification supports two
    types of IDs: code or name. Nucleic acid properties data, in addition to
    basic information about nucleic acids - code, name, type, chemical
    formula and molecular weight - include information about exact mass and
    elemental composition.

PARAMETERS
    NucleicAcidIDs *Code [NucleicAcidName...] | NucleicAcidType
    [NucleicAcidType...]*
        *NucleicAcidIDs* is a space delimited list of values to identify
        nucleic acids.

        For *NucleicAcidID* mode, input value format is: *Code
        [NucleicAcidName...]*. Default: *A*. Examples:

            A
            dG AMP
            Cytidine T UDP dpppA "5'-dATP"

        For *NucleicAcidType* mode, input value format is: *NucleicAcidType
        [NucleicAcidType...]*. Default: *A*. Possible values are:
        *Nucleobase, Nucleoside, Deoxynucleoside, Nucleotide,
        Deoxynucleotide*. Default: *Nucleoside*. Examples:

            Deoxynucleoside
            Nucleobase Nucleotide

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

    -m, --mode *NucleicAcidID | NucleicAcidType*
        Specify nucleic acids for listing properties using one of these
        methods: nucleic acid code and/or names or nucleic acid type.

        Possible values: *NucleicAcidID or NucleicAcidType*. Default:
        *NucleicAcidID*

        For *NucleicAcidType*, command line parameters support these type:
        *Nucleobase, Nucleoside, Deoxynucleoside, Nucleotide,
        Deoxynucleotide*.

    --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 *NucleicAcidBlock | NucleicAcidRows*
        Specify how to list nucleic acid information: add a new line for
        each property and present it as a block for each nucleic acid; or
        include all properties in one line and show it as a single line.

        Possible values: *NucleicAcidBlock | NucleicAcidRows*. Default:
        *NucleicAcidBlock*

        An example for *NucleicAcidBlock* output style:

            Code: Ado
            OtherCodes: A
            Name: Adenosine
            Type: Nucleoside
            MolecularFormula: C10H13O4N5
            MolecularWeight: 267.2413
            ... ...

        An example for *NucleicAcidRows* output style:

            Code,OtherCodes,Name,Type,MolecularFormula,MolecularWeight

    -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 nucleic acid properties information to list for the
        nucleic acid IDs specified using command line parameters: list basic
        information; list all available information; or specify a comma
        separated list of nucleic acid property names.

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

        *Basic* includes: *Code, OtherCodes, Name, Type, MolecularFormula,
        MolecularWeight*

        *BasicPlus* includes: *Code, OtherCodes, Name, Type,
        MolecularFormula, MolecularWeight, ExactMass, ElementalComposition*

        Here is a complete list of available properties: *Code, OtherCodes,
        BasePair, Name, Type, MolecularFormula, MolecularFormulaAtpH7.5,
        MolecularWeight, ExactMass, ElementalComposition*.

    --PropertiesListing *ByGroup | Alphabetical*
        Specify how to list properties for nucleic acids: group by category
        or an alphabetical by property names. Possible values: *ByGroup or
        Alphabetical*. Default: *ByGroup*

    -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: NucleicAcidInfo<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 properties information for nucleoside A, type:

        % InfoNucleicAcids.pl

    To list all available properties information for nucleoside A, type:

        % InfoNucleicAcids.pl --propertiesmode all A

    To list all available information for all available nucleic acids, type:

        % InfoNucleicAcids.pl --propertiesmode All All

    To list basic properties information for all nucleobases, type:

        % InfoNucleicAcids.pl -m NucleicAcidType Nucleoside

    To list basic properties information for all nucleotides and
    deoxynulceotides, type:

        % InfoNucleicAcids.pl -m NucleicAcidType Nucleotide Deoxynucleotide

    To list basic properties information for variety of nucleic acids, type:

        % InfoNucleicAcids.pl A dG AMP Cytidine T UDP "5'-dATP"

    To list code and molecular weights for nucleosides A, G, C and T, type:

        % InfoNucleicAcids.pl --PropertiesMode  Names --properties
          Code,MolecularWeight A G C T

    To alphabetically list all the available properties for nucleotides
    dAMP, dGMP, dCMP, and dTMP in rows instead of nucleic acid blocks with
    quotes around the values, type:

        % InfoNucleicAcids.pl --PropertiesMode All --PropertiesListing
          Alphabetical --OutputStyle NucleicAcidRows -q yes dAMP dGMP
          dCMP dTMP

    To alphabetically list all the available properties for all available
    nucleic acids to a file names NucleicAcidsProperties.csv with quotes
    around the values, type

        % InfoNucleicAcids.pl --PropertiesMode All --PropertiesListing
          Alphabetical --output File --OutputStyle NucleicAcidRows -r
          NucleicAcidsProperties -o -q Yes All

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

SEE ALSO
    InfoAminoAcids.pl, InfoPeriodicTableElements.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.

