[med-svn] [Git][med-team/igdiscover][master] 10 commits: New upstream version 0.12.3

Andreas Tille gitlab at salsa.debian.org
Fri Oct 2 13:48:16 BST 2020



Andreas Tille pushed to branch master at Debian Med / igdiscover


Commits:
11f77113 by Andreas Tille at 2020-10-02T14:31:20+02:00
New upstream version 0.12.3
- - - - -
80ab7857 by Andreas Tille at 2020-10-02T14:31:20+02:00
routine-update: New upstream version

- - - - -
21471bb7 by Andreas Tille at 2020-10-02T14:31:22+02:00
Update upstream source from tag 'upstream/0.12.3'

Update to upstream version '0.12.3'
with Debian dir 8ff9fb5e78ae663ad812bee62d87692103c8211e
- - - - -
32159080 by Andreas Tille at 2020-10-02T14:31:22+02:00
routine-update: debhelper-compat 13

- - - - -
109ecdf3 by Andreas Tille at 2020-10-02T14:35:02+02:00
routine-update: Respect DEB_BUILD_OPTIONS in override_dh_auto_test target

- - - - -
4268e8c1 by Andreas Tille at 2020-10-02T14:37:11+02:00
routine-update: Do not parse d/changelog

- - - - -
20cea4b6 by Andreas Tille at 2020-10-02T14:37:11+02:00
routine-update: Add salsa-ci file

- - - - -
156a485d by Andreas Tille at 2020-10-02T14:37:11+02:00
routine-update: Rules-Requires-Root: no

- - - - -
b1c53709 by Andreas Tille at 2020-10-02T14:44:52+02:00
Update copyright

- - - - -
8dad23e2 by Andreas Tille at 2020-10-02T14:48:00+02:00
DEP3

- - - - -


13 changed files:

- debian/changelog
- debian/control
- debian/copyright
- debian/patches/adjusting_tests_for_python3.patch
- debian/patches/avoidTroubleWithPkgResources.patch
- debian/patches/dontusetagsforversion.patch
- debian/rules
- + debian/salsa-ci.yml
- src/igdiscover/Snakefile
- src/igdiscover/cli/clonoquery.py
- src/igdiscover/cli/clonotypes.py
- tests/test_commands.py
- tests/utils.py


Changes:

=====================================
debian/changelog
=====================================
@@ -1,8 +1,19 @@
-igdiscover (0.12.2-1) UNRELEASED; urgency=medium
+igdiscover (0.12.3-1) UNRELEASED; urgency=medium
 
+  [ Steffen Moeller ]
   * New upstream version
   BLOCKER: Still needs igblast to test
 
+  [ Andreas Tille ]
+  * debhelper-compat 13 (routine-update)
+  * Respect DEB_BUILD_OPTIONS in override_dh_auto_test target (routine-
+    update)
+  * Do not parse d/changelog (routine-update)
+  * Add salsa-ci file (routine-update)
+  * Rules-Requires-Root: no (routine-update)
+  * Update copyright
+  * DEP3
+
  -- Steffen Moeller <moeller at debian.org>  Sun, 26 Jan 2020 01:47:18 +0100
 
 igdiscover (0.12-1) UNRELEASED; urgency=medium


=====================================
debian/control
=====================================
@@ -4,7 +4,7 @@ Uploaders: Steffen Moeller <moeller at debian.org>
 Section: science
 Testsuite: autopkgtest-pkg-python
 Priority: optional
-Build-Depends: debhelper-compat (= 12),
+Build-Depends: debhelper-compat (= 13),
                dh-python,
                python3-all,
                python3-setuptools,
@@ -30,6 +30,7 @@ Standards-Version: 4.5.0
 Vcs-Browser: https://salsa.debian.org/med-team/igdiscover
 Vcs-Git: https://salsa.debian.org/med-team/igdiscover.git
 Homepage: http://docs.igdiscover.se/en/stable/
+Rules-Requires-Root: no
 
 Package: igdiscover
 Architecture: all


=====================================
debian/copyright
=====================================
@@ -36,14 +36,6 @@ License: Apache-2.0
  On Debian systems, the complete text of the Apache version 2.0 license
  can be found in "/usr/share/common-licenses/Apache-2.0".
 
-
-Files: versioneer.py
-Copyright: Brian Warner
-License: Public-Domain
- Available from https://github.com/warner/python-versioneer, the
- authors waives his copyrights for this work.
-
-
 Files: debian/*
 Copyright: 2019 Steffen Moeller <moeller at debian.org>
 License: MIT


=====================================
debian/patches/adjusting_tests_for_python3.patch
=====================================
@@ -1,3 +1,7 @@
+Author: Steffen Moeller
+Last-Update: 2020-02-03 02:13:16 +0100
+Description: Python3 fix
+
 Index: igdiscover/src/igdiscover/__main__.py
 ===================================================================
 --- igdiscover.orig/src/igdiscover/__main__.py


=====================================
debian/patches/avoidTroubleWithPkgResources.patch
=====================================
@@ -1,3 +1,7 @@
+Author: Steffen Moeller
+Last-Update: 2020-02-03 02:13:16 +0100
+Description: Avoid issue with pkg_resources
+
 Index: igdiscover/doc/conf.py
 ===================================================================
 --- igdiscover.orig/doc/conf.py


=====================================
debian/patches/dontusetagsforversion.patch
=====================================
@@ -1,3 +1,7 @@
+Author: Steffen Moeller
+Last-Update: 2020-02-03 02:13:16 +0100
+Description: Do not use tags to obtain version  number
+
 Index: igdiscover/setup.py
 ===================================================================
 --- igdiscover.orig/setup.py


=====================================
debian/rules
=====================================
@@ -4,12 +4,14 @@ export DH_VERBOSE = 1
 
 export PYBUILD_NAME=igdiscover
 
+include /usr/share/dpkg/default.mk
+
 %:
 	dh $@ --with python3,sphinxdoc --buildsystem=pybuild
 
 
 override_dh_auto_build:
-	echo "version=\"$$(dpkg-parsechangelog |grep ^Version|cut -f2 -d' ' | cut -f1 -d-)\"" > src/igdiscover/__version__.py
+	echo "$(DEB_VERSION_UPSTREAM)" > src/igdiscover/__version__.py
 	dh_auto_build
 	PYTHONPATH=. http_proxy='127.0.0.1:9' sphinx-build -N -bhtml doc/ build/html # HTML generator
 	PYTHONPATH=. http_proxy='127.0.0.1:9' sphinx-build -N -bman  doc/ build/man # Manpage generator
@@ -25,4 +27,6 @@ override_dh_auto_clean:
 	#rm -rf src/igdiscover.egg-info/
 
 override_dh_auto_test:
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
 	echo "**** NOT TESTING ******"
+endif


=====================================
debian/salsa-ci.yml
=====================================
@@ -0,0 +1,4 @@
+---
+include:
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml


=====================================
src/igdiscover/Snakefile
=====================================
@@ -330,7 +330,12 @@ else:
         input: fastaq='reads/3-forward-primer-trimmed.{ext}.gz'
         resources: time=1
         run:
-            relative_symlink(input.fastaq, output.fastaq, force=True)
+            if config.forward_primers:
+                # The target is marked as temp().
+                # To avoid a dangling symlink, use a hardlink.
+                os.link(input.fastaq, output.fastaq)
+            else:
+                relative_symlink(input.fastaq, output.fastaq, force=True)
 
 
 rule trimmed_fasta_stats:


=====================================
src/igdiscover/cli/clonoquery.py
=====================================
@@ -30,7 +30,6 @@ def add_arguments(parser):
     arg = parser.add_argument
     arg('--minimum-count', '-c', metavar='N', default=1, type=int,
         help='Discard all rows with count less than N. Default: %(default)s')
-    arg('--v-shm-threshold', default=5, type=float, help='V SHM threshold for _mindiffrate computations')
     arg('--cdr3-core', default=None,
         type=slice_arg, metavar='START:END',
         help='START:END defines the non-junction region of CDR3 '
@@ -93,7 +92,7 @@ def collect(querytable, reftable, mismatches, cdr3_core_slice, cdr3_column):
                     yield ([query_row], reftable.head(0))
                 continue
 
-            similar_group = vjlen_group.iloc[list(indices), :]
+            similar_group = vjlen_group.iloc[list(indices), :].copy()
             yield (query_rows, similar_group)
 
     # Yield result tuples for all the queries that have not been found
@@ -138,13 +137,11 @@ def main(args):
         else:
             summary_file = None
 
-        # Print header
+        # Header
         print(*reftable.columns, sep='\t')
 
-        # Do the actual work
         for query_rows, result_table in collect(querytable, reftable, args.mismatches,
                 args.cdr3_core, cdr3_column):
-            result_table = augment_group(result_table, v_shm_threshold=args.v_shm_threshold)
             assert len(query_rows) >= 1
             if summary_file:
                 for query_row in query_rows:


=====================================
src/igdiscover/cli/clonotypes.py
=====================================
@@ -234,9 +234,8 @@ def augment_group(table, v_shm_threshold=5, suffix='_mindiffrate'):
 
     for column in columns:
         root_seq = root[column]
-        table[column + suffix] = [
+        table[column + suffix] = table[column].apply(lambda s:
             round(edit_distance(root_seq, s, maxdiff=int(0.2 * len(root_seq))) / len(root_seq) * 100., 1)
-            for s in table[column]
-        ]
+        )
 
     return table


=====================================
tests/test_commands.py
=====================================
@@ -1,12 +1,14 @@
 import os
 import sys
-import pytest
 import contextlib
 import shutil
+from pathlib import Path
 
+from xopen import xopen
+import pytest
 
 from igdiscover.__main__ import main
-from .utils import datapath, resultpath, files_equal
+from .utils import datapath, resultpath, files_equal, convert_fastq_to_fasta
 from igdiscover.cli.init import run_init
 from igdiscover.cli.config import print_configuration, modify_configuration
 from igdiscover.cli.run import run_snakemake
@@ -154,6 +156,27 @@ def test_primers(pipeline_dir):
         run_snakemake(dryrun=True)
 
 
+# TODO slow
+def test_only_forward_primer(pipeline_dir):
+    # issue #107 (broken symlink)
+    with chdir(pipeline_dir):
+        modify_configuration(settings=[("forward_primers", "['CGTGA']")])
+        # Create some dummy files so we don’t need to run irrelevant steps of the pipeline
+        r = Path("reads")
+        r.mkdir()
+        with xopen(r / "2-merged.fastq.gz", "w") as f:
+            pass
+        s = Path("stats")
+        s.mkdir()
+        with open(s / "merging-successful", "w") as f:
+            pass
+        with open(s / "reads.json", "w") as f:
+            f.write('{"total": 0}')
+        with open(s / "trimmed.json", "w") as f:
+            f.write('{"trimmed": 0}')
+        run_snakemake(targets=["reads/sequences.fasta.gz"])
+
+
 def test_flash(pipeline_dir):
     # Test using FLASH and parsing its log output
     with chdir(pipeline_dir):
@@ -218,11 +241,3 @@ def test_fasta_input(has_filtered_tab, tmp_path):
     with chdir(directory):
         modify_configuration([("barcode_length_3prime", "21")])
         run_snakemake(targets=["stats/reads.json"])
-
-
-def convert_fastq_to_fasta(fastq, fasta):
-    import dnaio
-    with dnaio.open(fastq) as inf:
-        with dnaio.open(fasta, mode="w") as outf:
-            for record in inf:
-                outf.write(record)


=====================================
tests/utils.py
=====================================
@@ -4,6 +4,8 @@ import subprocess
 from contextlib import contextmanager
 from io import StringIO
 
+import dnaio
+
 
 @contextmanager
 def capture_stdout():
@@ -25,3 +27,9 @@ def resultpath(path):
 def files_equal(path1, path2):
     return subprocess.call(['diff', '-u', path1, path2]) == 0
 
+
+def convert_fastq_to_fasta(fastq, fasta):
+    with dnaio.open(fastq) as inf:
+        with dnaio.open(fasta, mode="w") as outf:
+            for record in inf:
+                outf.write(record)



View it on GitLab: https://salsa.debian.org/med-team/igdiscover/-/compare/08a96059b27df21da373e719bda4214cf59a4a39...8dad23e25697f7e747988ed894e3fda0750151f0

-- 
View it on GitLab: https://salsa.debian.org/med-team/igdiscover/-/compare/08a96059b27df21da373e719bda4214cf59a4a39...8dad23e25697f7e747988ed894e3fda0750151f0
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/20201002/1ecb0242/attachment-0001.html>


More information about the debian-med-commit mailing list