[med-svn] [Git][med-team/q2-emperor][master] 7 commits: New upstream version 2021.8.0

Steffen Möller (@moeller) gitlab at salsa.debian.org
Tue Jul 12 12:03:00 BST 2022



Steffen Möller pushed to branch master at Debian Med / q2-emperor


Commits:
e0b52436 by Steffen at 2021-12-04T22:49:21+01:00
New upstream version 2021.8.0
- - - - -
955a525c by Steffen at 2022-07-12T12:56:55+02:00
New upstream version 2021.8.0
- - - - -
1326b996 by Steffen Moeller at 2022-07-12T13:01:14+02:00
Contributed local changes.

- - - - -
f81099f2 by Steffen Moeller at 2022-07-12T13:01:52+02:00
routine-update: New upstream version

- - - - -
40d89c00 by Steffen Moeller at 2022-07-12T13:01:53+02:00
New upstream version 2022.2.0
- - - - -
46a74c15 by Steffen Moeller at 2022-07-12T13:01:54+02:00
Update upstream source from tag 'upstream/2022.2.0'

Update to upstream version '2022.2.0'
with Debian dir 5098d56724ea48ea9c29243c2a22ae337f1640cc
- - - - -
cf83e188 by Steffen Moeller at 2022-07-12T13:02:21+02:00
routine-update: Ready to upload to unstable

- - - - -


17 changed files:

- + .github/workflows/ci.yml
- − .travis.yml
- LICENSE
- README.md
- − ci/recipe/conda_build_config.yaml
- ci/recipe/meta.yaml
- debian/changelog
- debian/control
- debian/copyright
- q2_emperor/__init__.py
- q2_emperor/_plot.py
- q2_emperor/_version.py
- q2_emperor/plugin_setup.py
- q2_emperor/tests/__init__.py
- q2_emperor/tests/test_plot.py
- q2_emperor/tests/test_plugin_setup.py
- setup.py


Changes:

=====================================
.github/workflows/ci.yml
=====================================
@@ -0,0 +1,55 @@
+# This file is automatically generated by busywork.qiime2.org and
+# template-repos - any manual edits made to this file will be erased when
+# busywork performs maintenance updates.
+
+name: ci
+
+on:
+  pull_request:
+  push:
+    branches:
+      - master
+
+jobs:
+  lint:
+    runs-on: ubuntu-latest
+    steps:
+    - name: checkout source
+      uses: actions/checkout at v2
+
+    - name: set up python 3.8
+      uses: actions/setup-python at v1
+      with:
+        python-version: 3.8
+
+    - name: install dependencies
+      run: python -m pip install --upgrade pip
+
+    - name: lint
+      run: |
+        pip install -q https://github.com/qiime2/q2lint/archive/master.zip
+        q2lint
+        pip install -q flake8
+        flake8
+
+  build-and-test:
+    needs: lint
+    strategy:
+      matrix:
+        os: [ubuntu-latest, macos-latest]
+    runs-on: ${{ matrix.os }}
+    steps:
+    - name: checkout source
+      uses: actions/checkout at v2
+      with:
+        fetch-depth: 0
+
+    - name: set up git repo for versioneer
+      run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
+
+    - uses: qiime2/action-library-packaging at alpha1
+      with:
+        package-name: q2-emperor
+        build-target: dev
+        additional-tests: py.test --pyargs q2_emperor
+        library-token: ${{ secrets.LIBRARY_TOKEN }}


=====================================
.travis.yml deleted
=====================================
@@ -1,25 +0,0 @@
-dist: trusty
-sudo: false
-language: python
-before_install:
-  - export MPLBACKEND='Agg'
-  - wget -q https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
-  - export MINICONDA_PREFIX="$HOME/miniconda"
-  - bash miniconda.sh -b -p $MINICONDA_PREFIX
-  - export PATH="$MINICONDA_PREFIX/bin:$PATH"
-  - conda config --set always_yes yes
-  - conda update -q conda
-  - conda info -a
-install:
-  - wget -q https://raw.githubusercontent.com/qiime2/environment-files/master/latest/staging/qiime2-latest-py36-linux-conda.yml
-  - conda env create -q -n test-env --file qiime2-latest-py36-linux-conda.yml
-  - source activate test-env
-  - conda install -q pytest-cov
-  - pip install -q flake8 coveralls
-  - pip install -q https://github.com/qiime2/q2lint/archive/master.zip
-  - make install
-script:
-  - make lint
-  - make test-cov
-after_success:
-  - coveralls


=====================================
LICENSE
=====================================
@@ -1,6 +1,6 @@
 BSD 3-Clause License
 
-Copyright (c) 2016-2020, QIIME 2 development team.
+Copyright (c) 2016-2022, QIIME 2 development team.
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without


=====================================
README.md
=====================================
@@ -1,6 +1,5 @@
-# QIIME 2 Emperor plugin
+# q2-emperor
 
-[![Build Status](https://travis-ci.org/qiime2/q2-emperor.svg?branch=master)](https://travis-ci.org/qiime2/q2-emperor)
-[![Coverage Status](https://coveralls.io/repos/github/qiime2/q2-emperor/badge.svg?branch=master)](https://coveralls.io/github/qiime2/q2-emperor?branch=master)
+![](https://github.com/qiime2/q2-emperor/workflows/ci/badge.svg)
 
-This is a QIIME 2 plugin. For details on QIIME 2, see https://qiime2.org..
+This is a QIIME 2 plugin. For details on QIIME 2, see https://qiime2.org..
\ No newline at end of file


=====================================
ci/recipe/conda_build_config.yaml deleted
=====================================
@@ -1,2 +0,0 @@
-python:
-  - 3.6


=====================================
ci/recipe/meta.yaml
=====================================
@@ -1,6 +1,5 @@
 {% set data = load_setup_py_data() %}
 {% set version = data.get('version') or 'placehold' %}
-{% set release = '.'.join(version.split('.')[:2]) %}
 
 package:
   name: q2-emperor
@@ -22,12 +21,18 @@ requirements:
     - numpy
     - pandas
     - scikit-bio
-    - emperor 1.0.1
-    - qiime2 {{ release }}.*
-    - q2templates {{ release }}.*
-    - q2-types {{ release }}.*
+    - emperor ==1.0.3
+    - qiime2 {{ qiime2_epoch }}.*
+    - q2templates {{ qiime2_epoch }}.*
+    - q2-types {{ qiime2_epoch }}.*
 
 test:
+  requires:
+    - qiime2 >={{ qiime2 }}
+    - q2templates >={{ q2templates }}
+    - q2-types >={{ q2_types }}
+    - pytest
+
   imports:
     - q2_emperor
     - qiime2.plugins.emperor


=====================================
debian/changelog
=====================================
@@ -1,3 +1,9 @@
+q2-emperor (2022.2.0-1) unstable; urgency=medium
+
+  * New upstream version
+
+ -- Steffen Moeller <moeller at debian.org>  Tue, 12 Jul 2022 13:01:59 +0200
+
 q2-emperor (2020.11.1-2) unstable; urgency=high
 
   * Team upload.


=====================================
debian/control
=====================================
@@ -9,11 +9,11 @@ Build-Depends: debhelper-compat (= 13),
                python3-setuptools,
                python3-pytest <!nocheck>,
                python3-pytest-cov <!nocheck>,
-               qiime (>= 2019.10.0) <!nocheck>,
                python3-emperor <!nocheck>,
-               q2templates,
-               q2-types
-Standards-Version: 4.6.0
+               qiime <!nocheck>,
+               q2templates (>= 2022.2.0) <!nocheck>,
+               q2-types (>= 2022.2.0) <!nocheck>
+Standards-Version: 4.6.1
 Vcs-Browser: https://salsa.debian.org/med-team/q2-emperor
 Vcs-Git: https://salsa.debian.org/med-team/q2-emperor.git
 Homepage: https://qiime2.org/


=====================================
debian/copyright
=====================================
@@ -6,9 +6,9 @@ Files: *
 Copyright: 2016-2020 QIIME 2 development team
 License: BSD-3-clause
 
-Files: versioneer.py
+Files: versioneer.py q2_emperor/_version.py
 Copyright: Brian Warner
-License: CC0
+License: CC0-1.0
  From the README.md:
  .
  To make Versioneer easier to embed, all its code is dedicated to the public
@@ -47,3 +47,144 @@ License: BSD-3-clause
   CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ .
+ For other licensing arrangements, please contact Daniel J. Schaid.
+ .
+ On a Debian system, the GNU GPL license version 2 is distributed in the
+ file /usr/share/common-licenses/GPL-2.
+
+License: CC0-1.0
+ From https://creativecommons.org/publicdomain/zero/1.0/
+ .
+  CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+  LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+  ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION
+  ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE
+  USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER,
+  AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS
+  DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.
+ .
+ Statement of Purpose
+ .
+ The laws of most jurisdictions throughout the world automatically confer
+ exclusive Copyright and Related Rights (defined below) upon the creator
+ and subsequent owner(s) (each and all, an "owner") of an original work
+ of authorship and/or a database (each, a "Work").
+ .
+ Certain owners wish to permanently relinquish those rights to a Work
+ for the purpose of contributing to a commons of creative, cultural and
+ scientific works ("Commons") that the public can reliably and without
+ fear of later claims of infringement build upon, modify, incorporate in
+ other works, reuse and redistribute as freely as possible in any form
+ whatsoever and for any purposes, including without limitation commercial
+ purposes. These owners may contribute to the Commons to promote the ideal
+ of a free culture and the further production of creative, cultural and
+ scientific works, or to gain reputation or greater distribution for
+ their Work in part through the use and efforts of others.
+ .
+ For these and/or other purposes and motivations, and without any
+ expectation of additional consideration or compensation, the person
+ associating CC0 with a Work (the "Affirmer"), to the extent that
+ he or she is an owner of Copyright and Related Rights in the Work,
+ voluntarily elects to apply CC0 to the Work and publicly distribute
+ the Work under its terms, with knowledge of his or her Copyright and
+ Related Rights in the Work and the meaning and intended legal effect
+ of CC0 on those rights.
+ .
+ 1. Copyright and Related Rights. A Work made available under CC0
+    may be protected by copyright and related or neighboring rights
+    ("Copyright and Related Rights"). Copyright and Related Rights
+    include, but are not limited to, the following:
+ .
+   i the right to reproduce, adapt, distribute, perform, display,
+     communicate, and translate a Work;
+  ii moral rights retained by the original author(s) and/or performer(s);
+ iii publicity and privacy rights pertaining to a person's image or
+     likeness depicted in a Work;
+  iv rights protecting against unfair competition in regards to a Work,
+     subject to the limitations in paragraph 4(a), below;
+   v rights protecting the extraction, dissemination, use and reuse of data in a Work;
+  vi database rights (such as those arising under Directive 96/9/EC of the
+     European Parliament and of the Council of 11 March 1996 on the legal
+     protection of databases, and under any national implementation thereof,
+     including any amended or successor version of such directive); and
+ vii other similar, equivalent or corresponding rights throughout the world
+     based on applicable law or treaty, and any national implementations
+     thereof.
+ .
+ 2. Waiver. To the greatest extent permitted by, but not in
+    contravention of, applicable law, Affirmer hereby overtly, fully,
+    permanently, irrevocably and unconditionally waives, abandons,
+    and surrenders all of Affirmer's Copyright and Related Rights and
+    associated claims and causes of action, whether now known or unknown
+    (including existing as well as future claims and causes of action),
+    in the Work (i) in all territories worldwide, (ii) for the maximum
+    duration provided by applicable law or treaty (including future time
+    extensions), (iii) in any current or future medium and for any number
+    of copies, and (iv) for any purpose whatsoever, including without
+    limitation commercial, advertising or promotional purposes (the
+    "Waiver"). Affirmer makes the Waiver for the benefit of each member
+    of the public at large and to the detriment of Affirmer's heirs and
+    successors, fully intending that such Waiver shall not be subject to
+    revocation, rescission, cancellation, termination, or any other legal
+    or equitable action to disrupt the quiet enjoyment of the Work by
+    the public as contemplated by Affirmer's express Statement of Purpose.
+ .
+ 3. Public License Fallback. Should any part of the Waiver for any
+    reason be judged legally invalid or ineffective under applicable law,
+    then the Waiver shall be preserved to the maximum extent permitted
+    taking into account Affirmer's express Statement of Purpose. In
+    addition, to the extent the Waiver is so judged Affirmer hereby
+    grants to each affected person a royalty-free, non transferable, non
+    sublicensable, non exclusive, irrevocable and unconditional license
+    to exercise Affirmer's Copyright and Related Rights in the Work (i)
+    in all territories worldwide, (ii) for the maximum duration provided
+    by applicable law or treaty (including future time extensions), (iii)
+    in any current or future medium and for any number of copies, and (iv)
+    for any purpose whatsoever, including without limitation commercial,
+    advertising or promotional purposes (the "License"). The License
+    shall be deemed effective as of the date CC0 was applied by Affirmer
+    to the Work. Should any part of the License for any reason be judged
+    legally invalid or ineffective under applicable law, such partial
+    invalidity or ineffectiveness shall not invalidate the remainder
+    of the License, and in such case Affirmer hereby affirms that he or
+    she will not (i) exercise any of his or her remaining Copyright and
+    Related Rights in the Work or (ii) assert any associated claims and
+    causes of action with respect to the Work, in either case contrary
+    to Affirmer's express Statement of Purpose.
+ .
+ 4. Limitations and Disclaimers.
+ .
+    No trademark or patent rights held by Affirmer are waived, abandoned,
+    surrendered, licensed or otherwise affected by this document.
+    Affirmer offers the Work as-is and makes no representations or
+    warranties of any kind concerning the Work, express, implied,
+    statutory or otherwise, including without limitation warranties
+    of title, merchantability, fitness for a particular purpose, non
+    infringement, or the absence of latent or other defects, accuracy,
+    or the present or absence of errors, whether or not discoverable,
+    all to the greatest extent permissible under applicable law.
+    Affirmer disclaims responsibility for clearing rights of other
+    persons that may apply to the Work or any use thereof, including
+    without limitation any person's Copyright and Related Rights in the
+    Work. Further, Affirmer disclaims responsibility for obtaining any
+    necessary consents, permissions or other rights required for any
+    use of the Work.
+    Affirmer understands and acknowledges that Creative Commons is not
+    a party to this document and has no duty or obligation with respect
+    to this CC0 or use of the Work.


=====================================
q2_emperor/__init__.py
=====================================
@@ -1,5 +1,5 @@
 # ----------------------------------------------------------------------------
-# Copyright (c) 2016-2020, QIIME 2 development team.
+# Copyright (c) 2016-2022, QIIME 2 development team.
 #
 # Distributed under the terms of the Modified BSD License.
 #


=====================================
q2_emperor/_plot.py
=====================================
@@ -1,5 +1,5 @@
 # ----------------------------------------------------------------------------
-# Copyright (c) 2016-2020, QIIME 2 development team.
+# Copyright (c) 2016-2022, QIIME 2 development team.
 #
 # Distributed under the terms of the Modified BSD License.
 #
@@ -12,7 +12,9 @@ import pkg_resources
 import qiime2
 import skbio
 import q2templates
+import math
 import numpy as np
+import pandas as pd
 from emperor import Emperor
 from scipy.spatial.distance import euclidean
 
@@ -22,7 +24,7 @@ TEMPLATES = pkg_resources.resource_filename('q2_emperor', 'assets')
 def generic_plot(output_dir: str, master: skbio.OrdinationResults,
                  metadata: qiime2.Metadata,
                  other_pcoa: skbio.OrdinationResults,
-                 plot_name: str,
+                 plot_name: str, info: str = None,
                  custom_axes: str = None, settings: dict = None,
                  ignore_missing_samples: bool = False,
                  feature_metadata: qiime2.Metadata = None):
@@ -46,6 +48,7 @@ def generic_plot(output_dir: str, master: skbio.OrdinationResults,
     if other_pcoa:
         viz.procrustes_names = ['reference', 'other']
 
+    viz.info = info
     viz.settings = settings
 
     html = viz.make_emperor(standalone=True)
@@ -76,12 +79,30 @@ def plot(output_dir: str, pcoa: skbio.OrdinationResults,
 
 def procrustes_plot(output_dir: str, reference_pcoa: skbio.OrdinationResults,
                     other_pcoa: skbio.OrdinationResults,
-                    metadata: qiime2.Metadata, custom_axes: str = None,
+                    metadata: qiime2.Metadata, m2_stats: pd.DataFrame = None,
+                    custom_axes: str = None,
                     ignore_missing_samples: bool = False) -> None:
+    info = None
+    if m2_stats is not None:
+        m2 = '%.5f' % m2_stats['true M^2 value'][0]
+        permutations = m2_stats['number of Monte Carlo permutations'][0]
+        p_val = m2_stats['p-value for true M^2 value'][0]
+
+        if permutations < 1:
+            p_val = 'N/A'
+        else:
+            # Because the number of p-val dec places is dynamic, we need to
+            # dynamically build the string template up.
+            dec_places = math.ceil(math.log10(permutations))
+            p_val_tmpl = '%%.%df' % dec_places
+            p_val = p_val_tmpl % m2_stats['p-value for true M^2 value'][0]
+
+        info = 'M&sup2; = %s p-value = %s' % (m2, p_val)
+
     generic_plot(output_dir, master=reference_pcoa, metadata=metadata,
                  other_pcoa=other_pcoa, custom_axes=custom_axes,
                  ignore_missing_samples=ignore_missing_samples,
-                 plot_name='procrustes_plot')
+                 plot_name='procrustes_plot', info=info)
 
 
 def biplot(output_dir: str, biplot: skbio.OrdinationResults,


=====================================
q2_emperor/_version.py
=====================================
@@ -23,9 +23,9 @@ def get_keywords():
     # setup.py/versioneer.py will grep for the variable names, so they must
     # each be defined on a line of their own. _version.py will just call
     # get_keywords().
-    git_refnames = " (tag: 2020.11.1)"
-    git_full = "f05cd193415232ce62fd3c6144bc8a2adfe89a44"
-    git_date = "2020-12-05 20:44:48 +0000"
+    git_refnames = " (tag: 2022.2.0)"
+    git_full = "0f7ca77ef3334269623ad4f5167a4b664032dff1"
+    git_date = "2022-02-18 18:31:39 +0000"
     keywords = {"refnames": git_refnames, "full": git_full, "date": git_date}
     return keywords
 


=====================================
q2_emperor/plugin_setup.py
=====================================
@@ -1,5 +1,5 @@
 # ----------------------------------------------------------------------------
-# Copyright (c) 2016-2020, QIIME 2 development team.
+# Copyright (c) 2016-2022, QIIME 2 development team.
 #
 # Distributed under the terms of the Modified BSD License.
 #
@@ -12,7 +12,7 @@ from ._plot import plot, procrustes_plot, biplot
 
 from qiime2.plugin import (Plugin, Metadata, Str, List, Citations, Range, Int,
                            Bool, Properties)
-from q2_types.ordination import PCoAResults
+from q2_types.ordination import PCoAResults, ProcrustesStatistics
 
 PARAMETERS = {'metadata': Metadata, 'custom_axes': List[Str],
               'ignore_missing_samples': Bool}
@@ -72,12 +72,15 @@ plugin.visualizers.register_function(
 
 plugin.visualizers.register_function(
     function=procrustes_plot,
-    inputs={'reference_pcoa': PCoAResults, 'other_pcoa': PCoAResults},
+    inputs={'reference_pcoa': PCoAResults, 'other_pcoa': PCoAResults,
+            'm2_stats': ProcrustesStatistics},
     parameters=PARAMETERS,
     input_descriptions={
         'reference_pcoa': 'The reference ordination matrix to be plotted.',
         'other_pcoa': 'The "other" ordination matrix to be plotted (the one '
-                      'that was fitted to the reference).'
+                      'that was fitted to the reference).',
+        'm2_stats': 'The M^2 value of the procrustes analysis & its associated'
+                    ' p value.'
     },
     parameter_descriptions=PARAMETERS_DESC,
     name='Visualize and Interact with a procrustes plot',


=====================================
q2_emperor/tests/__init__.py
=====================================
@@ -1,5 +1,5 @@
 # ----------------------------------------------------------------------------
-# Copyright (c) 2016-2020, QIIME 2 development team.
+# Copyright (c) 2016-2022, QIIME 2 development team.
 #
 # Distributed under the terms of the Modified BSD License.
 #


=====================================
q2_emperor/tests/test_plot.py
=====================================
@@ -1,5 +1,5 @@
 # ----------------------------------------------------------------------------
-# Copyright (c) 2016-2020, QIIME 2 development team.
+# Copyright (c) 2016-2022, QIIME 2 development team.
 #
 # Distributed under the terms of the Modified BSD License.
 #


=====================================
q2_emperor/tests/test_plugin_setup.py
=====================================
@@ -1,5 +1,5 @@
 # ----------------------------------------------------------------------------
-# Copyright (c) 2016-2020, QIIME 2 development team.
+# Copyright (c) 2016-2022, QIIME 2 development team.
 #
 # Distributed under the terms of the Modified BSD License.
 #


=====================================
setup.py
=====================================
@@ -1,5 +1,5 @@
 # ----------------------------------------------------------------------------
-# Copyright (c) 2016-2020, QIIME 2 development team.
+# Copyright (c) 2016-2022, QIIME 2 development team.
 #
 # Distributed under the terms of the Modified BSD License.
 #



View it on GitLab: https://salsa.debian.org/med-team/q2-emperor/-/compare/3b36a5b8d23e81147e12927be087de5d2dddfd74...cf83e188a02b83e2c6526740d593d69d1060aa6d

-- 
View it on GitLab: https://salsa.debian.org/med-team/q2-emperor/-/compare/3b36a5b8d23e81147e12927be087de5d2dddfd74...cf83e188a02b83e2c6526740d593d69d1060aa6d
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20220712/490e2933/attachment-0001.htm>


More information about the debian-med-commit mailing list