#Find the value of the environnement variable QUACK_ROOT. If not present we use the current repository
QuAcK_dir=os.environ.get('QUACK_ROOT','./')
#Create the argument parser object and gives a description of the script
parser=argparse.ArgumentParser(description='This script is the main script of QuAcK, it is used to run the calculation.\n If $QUACK_ROOT is not set, $QUACK_ROOT is replaces by the current directory.')
#Initialize all the options for the script
parser.add_argument('-b','--basis',type=str,required=True,help='Name of the file containing the basis set in the $QUACK_ROOT/basis/ directory')
parser.add_argument('--bohr',default='Angstrom',action='store_const',const='Bohr',help='By default QuAcK assumes that the xyz files are in Angstrom. Add this argument if your xyz file is in Bohr.')
parser.add_argument('-c','--charge',type=int,default=0,help='Total charge of the molecule. Specify negative charges with "m" instead of the minus sign, for example m1 instead of -1. Default is 0')
parser.add_argument('--cartesian',default=False,action='store_true',help='Add this option if you want to use cartesian basis functions.')
parser.add_argument('-fc','--frozen_core',type=bool,default=False,help='Freeze core MOs. Default is false')
parser.add_argument('--working_dir',type=str,default=QuAcK_dir,help='Set a working directory to run the calculation.')
parser.add_argument('-x','--xyz',type=str,required=True,help='Name of the file containing the nuclear coordinates in xyz format in the $QUACK_ROOT/mol/ directory without the .xyz extension')