%global _empty_manifest_terminate_build 0 Name: python-pyp-beagle Version: 0.10.2 Release: 1 Summary: Package for post-processing of results obtained with the Beagle SED fitting tool License: MIT URL: https://github.com/jacopo-chevallard/PyP-BEAGLE Source0: https://mirrors.aliyun.com/pypi/web/packages/b4/9d/2ecd002af74ad0def5e65765437f89db99b127e974a6cffbfa77335657c4/pyp_beagle-0.10.2.tar.gz BuildArch: noarch Requires: python3-six Requires: python3-matplotlib Requires: python3-scipy Requires: python3-numpy Requires: python3-getdist Requires: python3-pathos Requires: python3-extension-helpers Requires: python3-astropy Requires: python3-bokeh Requires: python3-natsort %description [![Upload Python Package](https://github.com/jacopo-chevallard/PyP-BEAGLE/actions/workflows/python-publish.yml/badge.svg)](https://github.com/jacopo-chevallard/PyP-BEAGLE/actions/workflows/python-publish.yml) # PyP-BEAGLE PyP-BEAGLE (**Py**thon **P**ostprocessing of **BEAGLE**) is a Python package to postprocess the analyses performed with the galaxy SED modelling tool [Beagle](http://www.jacopochevallard.org/beagle/) (**B**ay**E**sian **A**nalysis of **G**a**L**axy s**E**ds). PyP-BEAGLE allows one to create different types of publication-quality plots, LaTeX tables, as well as several higher level "summary" catalogues. # Installing PyP-BEAGLE * Make sure that you have a (science-ready!) installation of Python 3.x (starting from PyP-BEAGLE version 0.7.0), for instance [Anaconda](https://www.continuum.io/downloads) * To install PyP-BEAGLE simply run ``` pip install pyp_beagle ``` # Known issues * On a Mac OS, multiprocessing only works with the ``Agg`` backend. Make sure that your ``~/.matplotlib/matplotlibrc`` file contains the line ``` backend : Agg ``` * If you encounter errors related to LaTeX, or if the visual appearance of the plots is not satisfying, you can copy the matplotlib configuration file ``script/matplotlibrc`` into your ``$HOME/.matplotlib/`` folder (if the folder does not exist, create it). If you already have a customized ``matplotlibrc`` file, then you can use the GNU ``diff`` command to update it. * PyP-BEAGLE assumes that the Beagle environment variables are correctly set on your machine. Note that while these are the same environment variables used by Docker-Beagle (see [here](https://github.com/jacopo-chevallard/BEAGLE-general/wiki#running-beagle)), they have to point to the actual folders on your machine, not to the "virtual" folder that Docker-Beagle uses. To correctly set the environment variables, you can use the ``scripts/BEAGLE_env_variable.bash`` or ``scripts/BEAGLE_env_variable.csh`` files. In practice, after modifying the file to reflect your Beagle folder tree, you can simply add at the end of your ``.bashrc`` (or ``.tcshrc``, or equivalent) the line ```bash source /BEAGLE_env_variable.bash ``` # Using PyP-BEAGLE The post-processing of Beagle results is performed by means of the command ``pyp_beagle``. Since PyP-BEAGLE is often updated, you can visualize the (entire) possible options via the PyP-BEAGLE ``help``, with the command ```csh pyp_beagle --help ``` Below we report a few of some common PyP-BEAGLE use cases and related commands. * [triangle plots](#plotting-the-posterior-probability-distributions-aka-triangle-plots) * [marginal plots](#plotting-the-comparison-of-data-and-model-observables-aka-marginal-plots) * [summary catalogue](#computing-a-summary-catalogue) * [true vs retrieved parameters](#plotting-the-comparison-of-input-and-retrieved-parameters-when-fitting-mock-observations) ### Plotting the posterior probability distributions (aka "triangle plots") #### Command ```csh pyp_beagle -r \ --plot-triangle \ [-np ] \ [--json-triangle ] \ [--mock-catalogue ] \ [--json-mock ] ``` where * ```` must be replaced by the full path to the Beagle output directory; * ```` is an integer indicating how many processors can be used for the parallel execution of the script. This is particularly important when producing plots for large (> 1000) samples, as the creation of each individual plot can take several tens of seconds. * ```` is a JSON file used for the configuration of the triangle plot (which parameters should be plotted, log scale, plot limits, ...), an example can be found [here](https://github.com/jacopo-chevallard/PyP-BEAGLE/blob/0996fd3c6b271e15452b7edee6627bc7fbc68675/PyP-BEAGLE/files/params_names.json); * ```` indicates a Beagle FITS file containing the input (i.e. "true") physical parameters used to construct the noiseless SEDs which have then been fitted with Beagle (after the noise addition, which must be performed **outside** Beagle). Note that in this case, a ```` must be passed, since we must instruct PyP-BEAGLE where (in which FITS extension and column) to find the "true" parameters. An example of the ```` to be used in this case can be found [here](https://github.com/jacopo-chevallard/PyP-BEAGLE/blob/0996fd3c6b271e15452b7edee6627bc7fbc68675/PyP-BEAGLE/files/params_names_mock.json). #### Output The successful execution of the script will create a set of ``*_triangle.pdf`` files (one per object) in the ``/pyp-beagle/plot`` folder. ### Plotting the comparison of data and model observables (aka "marginal plots") #### Command ```csh pyp_beagle -r \ --plot-marginal \ [-np ] \ [--log-wavelength] \ [--plot-line-labels] \ [--spectral-resolution ] \ ``` where * ```` must be replaced by the full path to the Beagle output directory; * ```` is an integer indicating how many processors can be used for the parallel execution of the script. This is particularly important when producing plots for large (> 1000) samples, as the creation of each individual plot can take several tens of seconds; * ```` is a float indicating the resolution of the spectra, and it is used to determine which emission line labels are printed on the plot. #### Output The successful execution of the script will create a set of ``*_marginal_SED_spec.pdf`` files (one per object) in the ``/pyp-beagle/plot`` folder. ### Computing a summary catalogue #### Command ```csh pyp_beagle -r --compute-summary [--json-summary ] ``` where * ```` must be replaced by the full path to the Beagle output directory; * ```` is a JSON file used for the configuration of the summary catalogue, specifying for which parameters the summary statistics (posterior mean and median, 68 and 95 % credible regions) should be computed. An example can be found [here](https://github.com/jacopo-chevallard/PyP-BEAGLE/blob/0996fd3c6b271e15452b7edee6627bc7fbc68675/PyP-BEAGLE/files/summary_config.json). #### Output The successful execution of the script will create the file ``/pyp-beagle/data/BEAGLE_summary_catalogue.fits``. #### Description In the ``POSTERIOR PDF`` extension we have added some quantities related to the MAP = Maximum-a-Posteriori solution, namely the probability (``MAP_probability``), log-likelihood (``MAP_ln_likelihood``), chi-square (``MAP_chi_square``), and number of data points used in the fitting (``MAP_n_data``). These quantities enable a quick "frequentist-like" check of the goodness-of-the-fit of the MAP solution. The physical parameters corresponding to the MAP solution are indicated as ``_MAP`` (e.g. ``mass_MAP``). ### Plotting the comparison of input and retrieved parameters when fitting mock observations #### Command ```csh pyp_beagle -r --mock-catalogue \ --json-mock ``` where * ```` must be replaced by the full path to the Beagle output directory; * ```` indicates a Beagle FITS file containing the input (i.e. "true") physical parameters used to construct the noiseless SEDs which have then been fitted with Beagle (after the noise addition, which must be performed **outside** Beagle). Note that in this case, a ```` must be passed, since we must instruct PyP-BEAGLE where (in which FITS extension and column) to find the "true" parameters. An example of the ```` to be used in this case can be found [here](https://github.com/jacopo-chevallard/PyP-BEAGLE/blob/0996fd3c6b271e15452b7edee6627bc7fbc68675/PyP-BEAGLE/files/params_names_mock.json). #### Output The successful execution of the script will create the files ``/pyp-beagle/plot/BEAGLE_mock_retrieved_params_hist.pdf`` and ``/pyp-beagle/plot/BEAGLE_mock_retrieved_params.pdf``. %package -n python3-pyp-beagle Summary: Package for post-processing of results obtained with the Beagle SED fitting tool Provides: python-pyp-beagle BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-pyp-beagle [![Upload Python Package](https://github.com/jacopo-chevallard/PyP-BEAGLE/actions/workflows/python-publish.yml/badge.svg)](https://github.com/jacopo-chevallard/PyP-BEAGLE/actions/workflows/python-publish.yml) # PyP-BEAGLE PyP-BEAGLE (**Py**thon **P**ostprocessing of **BEAGLE**) is a Python package to postprocess the analyses performed with the galaxy SED modelling tool [Beagle](http://www.jacopochevallard.org/beagle/) (**B**ay**E**sian **A**nalysis of **G**a**L**axy s**E**ds). PyP-BEAGLE allows one to create different types of publication-quality plots, LaTeX tables, as well as several higher level "summary" catalogues. # Installing PyP-BEAGLE * Make sure that you have a (science-ready!) installation of Python 3.x (starting from PyP-BEAGLE version 0.7.0), for instance [Anaconda](https://www.continuum.io/downloads) * To install PyP-BEAGLE simply run ``` pip install pyp_beagle ``` # Known issues * On a Mac OS, multiprocessing only works with the ``Agg`` backend. Make sure that your ``~/.matplotlib/matplotlibrc`` file contains the line ``` backend : Agg ``` * If you encounter errors related to LaTeX, or if the visual appearance of the plots is not satisfying, you can copy the matplotlib configuration file ``script/matplotlibrc`` into your ``$HOME/.matplotlib/`` folder (if the folder does not exist, create it). If you already have a customized ``matplotlibrc`` file, then you can use the GNU ``diff`` command to update it. * PyP-BEAGLE assumes that the Beagle environment variables are correctly set on your machine. Note that while these are the same environment variables used by Docker-Beagle (see [here](https://github.com/jacopo-chevallard/BEAGLE-general/wiki#running-beagle)), they have to point to the actual folders on your machine, not to the "virtual" folder that Docker-Beagle uses. To correctly set the environment variables, you can use the ``scripts/BEAGLE_env_variable.bash`` or ``scripts/BEAGLE_env_variable.csh`` files. In practice, after modifying the file to reflect your Beagle folder tree, you can simply add at the end of your ``.bashrc`` (or ``.tcshrc``, or equivalent) the line ```bash source /BEAGLE_env_variable.bash ``` # Using PyP-BEAGLE The post-processing of Beagle results is performed by means of the command ``pyp_beagle``. Since PyP-BEAGLE is often updated, you can visualize the (entire) possible options via the PyP-BEAGLE ``help``, with the command ```csh pyp_beagle --help ``` Below we report a few of some common PyP-BEAGLE use cases and related commands. * [triangle plots](#plotting-the-posterior-probability-distributions-aka-triangle-plots) * [marginal plots](#plotting-the-comparison-of-data-and-model-observables-aka-marginal-plots) * [summary catalogue](#computing-a-summary-catalogue) * [true vs retrieved parameters](#plotting-the-comparison-of-input-and-retrieved-parameters-when-fitting-mock-observations) ### Plotting the posterior probability distributions (aka "triangle plots") #### Command ```csh pyp_beagle -r \ --plot-triangle \ [-np ] \ [--json-triangle ] \ [--mock-catalogue ] \ [--json-mock ] ``` where * ```` must be replaced by the full path to the Beagle output directory; * ```` is an integer indicating how many processors can be used for the parallel execution of the script. This is particularly important when producing plots for large (> 1000) samples, as the creation of each individual plot can take several tens of seconds. * ```` is a JSON file used for the configuration of the triangle plot (which parameters should be plotted, log scale, plot limits, ...), an example can be found [here](https://github.com/jacopo-chevallard/PyP-BEAGLE/blob/0996fd3c6b271e15452b7edee6627bc7fbc68675/PyP-BEAGLE/files/params_names.json); * ```` indicates a Beagle FITS file containing the input (i.e. "true") physical parameters used to construct the noiseless SEDs which have then been fitted with Beagle (after the noise addition, which must be performed **outside** Beagle). Note that in this case, a ```` must be passed, since we must instruct PyP-BEAGLE where (in which FITS extension and column) to find the "true" parameters. An example of the ```` to be used in this case can be found [here](https://github.com/jacopo-chevallard/PyP-BEAGLE/blob/0996fd3c6b271e15452b7edee6627bc7fbc68675/PyP-BEAGLE/files/params_names_mock.json). #### Output The successful execution of the script will create a set of ``*_triangle.pdf`` files (one per object) in the ``/pyp-beagle/plot`` folder. ### Plotting the comparison of data and model observables (aka "marginal plots") #### Command ```csh pyp_beagle -r \ --plot-marginal \ [-np ] \ [--log-wavelength] \ [--plot-line-labels] \ [--spectral-resolution ] \ ``` where * ```` must be replaced by the full path to the Beagle output directory; * ```` is an integer indicating how many processors can be used for the parallel execution of the script. This is particularly important when producing plots for large (> 1000) samples, as the creation of each individual plot can take several tens of seconds; * ```` is a float indicating the resolution of the spectra, and it is used to determine which emission line labels are printed on the plot. #### Output The successful execution of the script will create a set of ``*_marginal_SED_spec.pdf`` files (one per object) in the ``/pyp-beagle/plot`` folder. ### Computing a summary catalogue #### Command ```csh pyp_beagle -r --compute-summary [--json-summary ] ``` where * ```` must be replaced by the full path to the Beagle output directory; * ```` is a JSON file used for the configuration of the summary catalogue, specifying for which parameters the summary statistics (posterior mean and median, 68 and 95 % credible regions) should be computed. An example can be found [here](https://github.com/jacopo-chevallard/PyP-BEAGLE/blob/0996fd3c6b271e15452b7edee6627bc7fbc68675/PyP-BEAGLE/files/summary_config.json). #### Output The successful execution of the script will create the file ``/pyp-beagle/data/BEAGLE_summary_catalogue.fits``. #### Description In the ``POSTERIOR PDF`` extension we have added some quantities related to the MAP = Maximum-a-Posteriori solution, namely the probability (``MAP_probability``), log-likelihood (``MAP_ln_likelihood``), chi-square (``MAP_chi_square``), and number of data points used in the fitting (``MAP_n_data``). These quantities enable a quick "frequentist-like" check of the goodness-of-the-fit of the MAP solution. The physical parameters corresponding to the MAP solution are indicated as ``_MAP`` (e.g. ``mass_MAP``). ### Plotting the comparison of input and retrieved parameters when fitting mock observations #### Command ```csh pyp_beagle -r --mock-catalogue \ --json-mock ``` where * ```` must be replaced by the full path to the Beagle output directory; * ```` indicates a Beagle FITS file containing the input (i.e. "true") physical parameters used to construct the noiseless SEDs which have then been fitted with Beagle (after the noise addition, which must be performed **outside** Beagle). Note that in this case, a ```` must be passed, since we must instruct PyP-BEAGLE where (in which FITS extension and column) to find the "true" parameters. An example of the ```` to be used in this case can be found [here](https://github.com/jacopo-chevallard/PyP-BEAGLE/blob/0996fd3c6b271e15452b7edee6627bc7fbc68675/PyP-BEAGLE/files/params_names_mock.json). #### Output The successful execution of the script will create the files ``/pyp-beagle/plot/BEAGLE_mock_retrieved_params_hist.pdf`` and ``/pyp-beagle/plot/BEAGLE_mock_retrieved_params.pdf``. %package help Summary: Development documents and examples for pyp-beagle Provides: python3-pyp-beagle-doc %description help [![Upload Python Package](https://github.com/jacopo-chevallard/PyP-BEAGLE/actions/workflows/python-publish.yml/badge.svg)](https://github.com/jacopo-chevallard/PyP-BEAGLE/actions/workflows/python-publish.yml) # PyP-BEAGLE PyP-BEAGLE (**Py**thon **P**ostprocessing of **BEAGLE**) is a Python package to postprocess the analyses performed with the galaxy SED modelling tool [Beagle](http://www.jacopochevallard.org/beagle/) (**B**ay**E**sian **A**nalysis of **G**a**L**axy s**E**ds). PyP-BEAGLE allows one to create different types of publication-quality plots, LaTeX tables, as well as several higher level "summary" catalogues. # Installing PyP-BEAGLE * Make sure that you have a (science-ready!) installation of Python 3.x (starting from PyP-BEAGLE version 0.7.0), for instance [Anaconda](https://www.continuum.io/downloads) * To install PyP-BEAGLE simply run ``` pip install pyp_beagle ``` # Known issues * On a Mac OS, multiprocessing only works with the ``Agg`` backend. Make sure that your ``~/.matplotlib/matplotlibrc`` file contains the line ``` backend : Agg ``` * If you encounter errors related to LaTeX, or if the visual appearance of the plots is not satisfying, you can copy the matplotlib configuration file ``script/matplotlibrc`` into your ``$HOME/.matplotlib/`` folder (if the folder does not exist, create it). If you already have a customized ``matplotlibrc`` file, then you can use the GNU ``diff`` command to update it. * PyP-BEAGLE assumes that the Beagle environment variables are correctly set on your machine. Note that while these are the same environment variables used by Docker-Beagle (see [here](https://github.com/jacopo-chevallard/BEAGLE-general/wiki#running-beagle)), they have to point to the actual folders on your machine, not to the "virtual" folder that Docker-Beagle uses. To correctly set the environment variables, you can use the ``scripts/BEAGLE_env_variable.bash`` or ``scripts/BEAGLE_env_variable.csh`` files. In practice, after modifying the file to reflect your Beagle folder tree, you can simply add at the end of your ``.bashrc`` (or ``.tcshrc``, or equivalent) the line ```bash source /BEAGLE_env_variable.bash ``` # Using PyP-BEAGLE The post-processing of Beagle results is performed by means of the command ``pyp_beagle``. Since PyP-BEAGLE is often updated, you can visualize the (entire) possible options via the PyP-BEAGLE ``help``, with the command ```csh pyp_beagle --help ``` Below we report a few of some common PyP-BEAGLE use cases and related commands. * [triangle plots](#plotting-the-posterior-probability-distributions-aka-triangle-plots) * [marginal plots](#plotting-the-comparison-of-data-and-model-observables-aka-marginal-plots) * [summary catalogue](#computing-a-summary-catalogue) * [true vs retrieved parameters](#plotting-the-comparison-of-input-and-retrieved-parameters-when-fitting-mock-observations) ### Plotting the posterior probability distributions (aka "triangle plots") #### Command ```csh pyp_beagle -r \ --plot-triangle \ [-np ] \ [--json-triangle ] \ [--mock-catalogue ] \ [--json-mock ] ``` where * ```` must be replaced by the full path to the Beagle output directory; * ```` is an integer indicating how many processors can be used for the parallel execution of the script. This is particularly important when producing plots for large (> 1000) samples, as the creation of each individual plot can take several tens of seconds. * ```` is a JSON file used for the configuration of the triangle plot (which parameters should be plotted, log scale, plot limits, ...), an example can be found [here](https://github.com/jacopo-chevallard/PyP-BEAGLE/blob/0996fd3c6b271e15452b7edee6627bc7fbc68675/PyP-BEAGLE/files/params_names.json); * ```` indicates a Beagle FITS file containing the input (i.e. "true") physical parameters used to construct the noiseless SEDs which have then been fitted with Beagle (after the noise addition, which must be performed **outside** Beagle). Note that in this case, a ```` must be passed, since we must instruct PyP-BEAGLE where (in which FITS extension and column) to find the "true" parameters. An example of the ```` to be used in this case can be found [here](https://github.com/jacopo-chevallard/PyP-BEAGLE/blob/0996fd3c6b271e15452b7edee6627bc7fbc68675/PyP-BEAGLE/files/params_names_mock.json). #### Output The successful execution of the script will create a set of ``*_triangle.pdf`` files (one per object) in the ``/pyp-beagle/plot`` folder. ### Plotting the comparison of data and model observables (aka "marginal plots") #### Command ```csh pyp_beagle -r \ --plot-marginal \ [-np ] \ [--log-wavelength] \ [--plot-line-labels] \ [--spectral-resolution ] \ ``` where * ```` must be replaced by the full path to the Beagle output directory; * ```` is an integer indicating how many processors can be used for the parallel execution of the script. This is particularly important when producing plots for large (> 1000) samples, as the creation of each individual plot can take several tens of seconds; * ```` is a float indicating the resolution of the spectra, and it is used to determine which emission line labels are printed on the plot. #### Output The successful execution of the script will create a set of ``*_marginal_SED_spec.pdf`` files (one per object) in the ``/pyp-beagle/plot`` folder. ### Computing a summary catalogue #### Command ```csh pyp_beagle -r --compute-summary [--json-summary ] ``` where * ```` must be replaced by the full path to the Beagle output directory; * ```` is a JSON file used for the configuration of the summary catalogue, specifying for which parameters the summary statistics (posterior mean and median, 68 and 95 % credible regions) should be computed. An example can be found [here](https://github.com/jacopo-chevallard/PyP-BEAGLE/blob/0996fd3c6b271e15452b7edee6627bc7fbc68675/PyP-BEAGLE/files/summary_config.json). #### Output The successful execution of the script will create the file ``/pyp-beagle/data/BEAGLE_summary_catalogue.fits``. #### Description In the ``POSTERIOR PDF`` extension we have added some quantities related to the MAP = Maximum-a-Posteriori solution, namely the probability (``MAP_probability``), log-likelihood (``MAP_ln_likelihood``), chi-square (``MAP_chi_square``), and number of data points used in the fitting (``MAP_n_data``). These quantities enable a quick "frequentist-like" check of the goodness-of-the-fit of the MAP solution. The physical parameters corresponding to the MAP solution are indicated as ``_MAP`` (e.g. ``mass_MAP``). ### Plotting the comparison of input and retrieved parameters when fitting mock observations #### Command ```csh pyp_beagle -r --mock-catalogue \ --json-mock ``` where * ```` must be replaced by the full path to the Beagle output directory; * ```` indicates a Beagle FITS file containing the input (i.e. "true") physical parameters used to construct the noiseless SEDs which have then been fitted with Beagle (after the noise addition, which must be performed **outside** Beagle). Note that in this case, a ```` must be passed, since we must instruct PyP-BEAGLE where (in which FITS extension and column) to find the "true" parameters. An example of the ```` to be used in this case can be found [here](https://github.com/jacopo-chevallard/PyP-BEAGLE/blob/0996fd3c6b271e15452b7edee6627bc7fbc68675/PyP-BEAGLE/files/params_names_mock.json). #### Output The successful execution of the script will create the files ``/pyp-beagle/plot/BEAGLE_mock_retrieved_params_hist.pdf`` and ``/pyp-beagle/plot/BEAGLE_mock_retrieved_params.pdf``. %prep %autosetup -n pyp_beagle-0.10.2 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-pyp-beagle -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu Jun 08 2023 Python_Bot - 0.10.2-1 - Package Spec generated