[med-svn] [Git][med-team/python-pyfaidx][master] 5 commits: routine-update: New upstream version
Steffen Möller
gitlab at salsa.debian.org
Sat Jan 25 18:11:27 GMT 2020
Steffen Möller pushed to branch master at Debian Med / python-pyfaidx
Commits:
be381361 by Steffen Moeller at 2020-01-25T18:58:49+01:00
routine-update: New upstream version
- - - - -
92d28927 by Steffen Moeller at 2020-01-25T18:58:50+01:00
New upstream version 0.5.8
- - - - -
4fc26b9f by Steffen Moeller at 2020-01-25T18:58:50+01:00
Update upstream source from tag 'upstream/0.5.8'
Update to upstream version '0.5.8'
with Debian dir 24d38a1a2c3ba891ebc17c4b7b16a7f40368aaed
- - - - -
2f5b22db by Steffen Moeller at 2020-01-25T18:58:55+01:00
Set upstream metadata fields: Bug-Database, Bug-Submit, Repository.
- - - - -
534a1f7b by Steffen Moeller at 2020-01-25T19:10:32+01:00
Ready to upload
- - - - -
10 changed files:
- .travis.yml
- − appveyor.yml
- − ci/appveyor/vcvars64.bat
- debian/changelog
- debian/control
- debian/rules
- debian/upstream/metadata
- pyfaidx/__init__.py
- tests/data/download_gene_fasta.py
- − tox.ini
Changes:
=====================================
.travis.yml
=====================================
@@ -6,14 +6,12 @@ python:
- '3.7'
- '3.6'
- '3.5'
- - '3.4'
- '2.7'
- 'pypy'
- 'pypy3'
install:
- pip wheel -f wheelhouse cython pysam numpy || true
- - pip install -f wheelhouse cython pysam pyfasta coverage pyvcf numpy || true
- - pip install -f wheelhouse -e git+https://github.com/biopython/biopython.git#egg=biopython || true
+ - pip install -f wheelhouse cython pysam biopython requests coverage pyfasta pyvcf numpy || true
- python setup.py install
- if [ ! -f samtools-1.2 ]; then curl -sL https://github.com/samtools/samtools/releases/download/1.2/samtools-1.2.tar.bz2 | tar -xjv; fi
- cd samtools-1.2
@@ -26,8 +24,7 @@ install:
- export PATH=$PATH:$PWD
- cd ..
before_script:
- - if [ $(python --version) -gt 2.6 ]; then env pip install biopython; fi
- - env python tests/data/download_gene_fasta.py
+ - python tests/data/download_gene_fasta.py
script: nosetests --with-coverage --cover-package=pyfaidx
deploy:
provider: pypi
@@ -36,14 +33,24 @@ deploy:
secure: MbSaeuitkVTZqxa0PJ3RcR1aMf+B/sMbcx2sWOo9xfLlRFDFpYWJZ0EfXWEhrVu2YWXpBsasgunTDWSi0jNcZMH92MzOC+UTVYr45LO5sy6hm4iSiAgm/DPgYWdjP0SFKr7eL/HWPS+gHvgkXL1upleX21O358bxaezoasuKFvs=
on:
all_branches: true
- python: 3.6
+ python: 3.7
tags: true
repo: mdshw5/pyfaidx
matrix:
+ include:
+ - os: windows
+ language: sh
+ python: "3.7"
+ before_install:
+ - choco install python3
+ - export PATH="/c/Python37:/c/Python37/Scripts:$PATH"
+ - python -m virtualenv $HOME/venv
+ - source $HOME/venv/Scripts/activate
allow_failures:
- - python: 'nightly'
- - python: 'pypy3'
- - python: 'pypy'
+ - python: nightly
+ - python: pypy3
+ - python: pypy
+ - os: windows
fast_finish: true
cache:
directories:
@@ -53,4 +60,4 @@ cache:
- wheelhouse
after_success:
- bash <(curl -s https://codecov.io/bash)
- - if [ $TRAVIS_PYTHON_VERSION == '3.4' ] && [ $TRAVIS_TAG ]; then python scripts/benchmark.py 1000; fi
+
=====================================
appveyor.yml deleted
=====================================
@@ -1,31 +0,0 @@
-environment:
-
- matrix:
-
- # For Python versions available on Appveyor, see
- # http://www.appveyor.com/docs/installed-software#python
-
- - PYTHON: "C:\\Python27"
- - PYTHON: "C:\\Python33"
- - PYTHON: "C:\\Python34"
- - PYTHON: "C:\\Python35"
- - PYTHON: "C:\\Python27-x64"
- - PYTHON: "C:\\Python33-x64"
- DISTUTILS_USE_SDK: "1"
- - PYTHON: "C:\\Python34-x64"
- DISTUTILS_USE_SDK: "1"
- - PYTHON: "C:\\Python35-x64"
-
-install:
- # Fix for problem building extensions for x64 under Python 3.3 and 3.4
- # See: http://help.appveyor.com/discussions/problems/4278-cant-build-some-c-extensions-with-python-34-x64
- # Used same solution as Matplotlib: https://github.com/matplotlib/matplotlib/blob/master/appveyor.yml
- - cmd: copy ci\appveyor\vcvars64.bat "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64"
-
- # We need wheel installed to build wheels
- - "%PYTHON%\\python.exe -m pip install -r dev-requirements.txt"
-
-build: off
-
-test_script:
- - "%PYTHON%\\python.exe setup.py nosetests"
=====================================
ci/appveyor/vcvars64.bat deleted
=====================================
@@ -1 +0,0 @@
-CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
=====================================
debian/changelog
=====================================
@@ -1,3 +1,14 @@
+python-pyfaidx (0.5.8-1) unstable; urgency=medium
+
+ * Team upload.
+ * New upstream version
+ * Standards-Version: 4.5.0
+ * Set upstream metadata fields: Bug-Database, Bug-Submit, Repository.
+ * Improved clean.
+ * Creating bgzipped test data
+
+ -- Steffen Moeller <moeller at debian.org> Sat, 25 Jan 2020 18:58:55 +0100
+
python-pyfaidx (0.5.7-1) unstable; urgency=medium
* Team upload.
=====================================
debian/control
=====================================
@@ -12,8 +12,9 @@ Build-Depends: debhelper-compat (= 12),
python3-nose,
python3-numpy,
python3-six,
- python3-mock
-Standards-Version: 4.4.1
+ python3-mock,
+ samtools
+Standards-Version: 4.5.0
Vcs-Browser: https://salsa.debian.org/med-team/python-pyfaidx
Vcs-Git: https://salsa.debian.org/med-team/python-pyfaidx.git
Homepage: https://github.com/mdshw5/pyfaidx
=====================================
debian/rules
=====================================
@@ -11,9 +11,16 @@ export PYBUILD_NAME=pyfaidx
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+ bgzip -c tests/data/genes.fasta > tests/data/genes.fasta.gz
dh_auto_test -- --test --system=custom --test-args='set -e; \
{interpreter} -m "nose" --with-coverage --cover-package=pyfaidx'
endif
override_dh_compress:
dh_compress --exclude=gz.tbi
+
+override_dh_auto_clean:
+ dh_auto_clean
+ rm -f .coverage
+ rm -f tests/data/genes.fasta.gz
+ rm -rf pyfaidx.egg-info
=====================================
debian/upstream/metadata
=====================================
@@ -1,3 +1,5 @@
+Bug-Database: https://github.com/mdshw5/pyfaidx/issues
+Bug-Submit: https://github.com/mdshw5/pyfaidx/issues/new
Reference:
- Author: >
Matthew D. Shirley and Zhaorong Ma and Brent S. Pedersen and Sarah
@@ -13,5 +15,5 @@ Reference:
Registry:
- Name: bio.tools
Entry: pyfaidx
-Repository: https://github.com/mdshw5/pyfaidx
+Repository: https://github.com/mdshw5/pyfaidx.git
Repository-Browse: https://github.com/mdshw5/pyfaidx
=====================================
pyfaidx/__init__.py
=====================================
@@ -25,7 +25,7 @@ if sys.version_info > (3, ):
dna_bases = re.compile(r'([ACTGNactgnYRWSKMDVHBXyrwskmdvhbx]+)')
-__version__ = '0.5.7'
+__version__ = '0.5.8'
class KeyFunctionError(ValueError):
@@ -198,6 +198,13 @@ class Sequence(object):
"""
return len(self.seq)
+ def __eq__(self, other):
+ """
+ >>> Sequence('chr1', 'ACT') == 'ACT'
+ True
+ """
+ return str(self) == str(other)
+
@property
def fancy_name(self):
""" Return the fancy name for the sequence, including start, end, and complementation.
@@ -1020,6 +1027,10 @@ class Fasta(object):
def __iter__(self):
for rname in self.keys():
yield self[rname]
+
+ def __len__(self):
+ """Return the cumulative length of all FastaRecords in self.records."""
+ return sum(len(record) for record in self)
def get_seq(self, name, start, end, rc=False):
"""Return a sequence by record name and interval [start, end).
=====================================
tests/data/download_gene_fasta.py
=====================================
@@ -34,15 +34,13 @@ def fetch_genes(filename, suffix=None):
lower.write(line)
def fetch_chr22(filename):
- from subprocess import Popen, PIPE
+ import requests
+ import gzip
- grch36 = 'ftp://ftp-trace.ncbi.nih.gov//1000genomes/ftp/pilot_data/technical/reference/human_b36_male.fa.gz'
- curl = Popen(['curl', '-s', grch36], stdout=PIPE)
- gz = Popen(['gzip', '-dcq'], stdin=curl.stdout, stdout=PIPE)
- with gz.stdout as remote:
- with open(filename, 'w') as fasta:
+ with requests.get('https://ftp-trace.ncbi.nih.gov/1000genomes/ftp/pilot_data/technical/reference/human_b36_male.fa.gz') as compressed:
+ with open(filename, 'w') as fasta, gzip.GzipFile(fileobj=compressed.raw) as gz:
chr22 = False
- for line in remote:
+ for line in gz:
if line[0:3] == '>22':
fasta.write(line)
chr22 = True
@@ -66,17 +64,20 @@ def fake_chr22(filename):
fake_file.write('N' * mod_70 + '\n')
def bgzip_compress_fasta(filename):
- from subprocess import call
- call(' '.join(['bgzip', '-c', filename, '>', filename + '.gz']), shell=True)
-
+ from Bio.bgzf import BgzfWriter
+ with BgzfWriter(filename=filename + '.gz') as compressed, open(filename, 'r') as fasta:
+ for line in fasta:
+ compressed.write(line)
def fetch_chr22_vcf(filename):
- from subprocess import call
- call(['curl', '-s', 'ftp://ftp-trace.ncbi.nih.gov//1000genomes/ftp/pilot_data/release/2010_07/exon/snps/CEU.exon.2010_03.genotypes.vcf.gz',
- '-o', filename])
- call(['curl', '-s', 'ftp://ftp-trace.ncbi.nih.gov//1000genomes/ftp/pilot_data/release/2010_07/exon/snps/CEU.exon.2010_03.genotypes.vcf.gz.tbi',
- '-o', filename + '.tbi'])
-
+ import requests
+
+ with requests.get('https://ftp-trace.ncbi.nih.gov/1000genomes/ftp/pilot_data/release/2010_07/exon/snps/CEU.exon.2010_03.genotypes.vcf.gz') as vcf:
+ with open(filename, 'wb') as out:
+ out.write(vcf.content)
+ with requests.get('https://ftp-trace.ncbi.nih.gov/1000genomes/ftp/pilot_data/release/2010_07/exon/snps/CEU.exon.2010_03.genotypes.vcf.gz.tbi') as tbi:
+ with open(filename + '.tbi', 'wb') as out:
+ out.write(tbi.content)
if __name__ == "__main__":
=====================================
tox.ini deleted
=====================================
@@ -1,27 +0,0 @@
-[tox]
-envlist = init, py26, py27, py33, py34, py35, pypy, pypy3, final
-
-[testenv]
-deps = nose
- mock; python_version < '3.3'
- coverage
- nose-cov
- biopython
- pysam; python_version > '2.6' and platform_python_implementation != 'PyPy'
- pyvcf
-commands = nosetests --with-cov --cov-report term-missing --cov {envsitepackagesdir}/pyfaidx -P tests
- coverage combine
- bash -c 'mv {toxinidir}/.coverage {toxworkdir}/.coverage.{envname}'
-whitelist_externals = bash
-
-[testenv:init]
-basepython = python2.7
-commands = coverage erase
- bash -c 'rm -rf {toxworkdir}/.coverage.*'
- python tests/data/download_gene_fasta.py
-
-[testenv:final]
-basepython = python2.7
-commands = coverage combine {toxworkdir}
- coverage report -m
-
View it on GitLab: https://salsa.debian.org/med-team/python-pyfaidx/compare/acb6905ec7a9fb9f7d43e79d7ea368729d19fbb2...534a1f7be1b46abb7b180a62cab52e95b793d758
--
View it on GitLab: https://salsa.debian.org/med-team/python-pyfaidx/compare/acb6905ec7a9fb9f7d43e79d7ea368729d19fbb2...534a1f7be1b46abb7b180a62cab52e95b793d758
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/20200125/69d670a5/attachment-0001.html>
More information about the debian-med-commit
mailing list