[med-svn] [Git][med-team/iva][upstream] New upstream version 1.0.11+ds

Andreas Tille (@tille) gitlab at salsa.debian.org
Thu Oct 14 16:13:58 BST 2021



Andreas Tille pushed to branch upstream at Debian Med / iva


Commits:
2d97b6c0 by Andreas Tille at 2021-10-14T16:41:24+02:00
New upstream version 1.0.11+ds
- - - - -


9 changed files:

- .gitignore
- .travis.yml
- + CHANGELOG.md
- + Dockerfile
- README.md
- install_dependencies.sh
- iva/assembly.py
- iva/mapping.py
- setup.py


Changes:

=====================================
.gitignore
=====================================
@@ -13,6 +13,7 @@ build/
 develop-eggs/
 dist/
 eggs/
+.eggs/
 lib/
 lib64/
 parts/


=====================================
.travis.yml
=====================================
@@ -5,23 +5,31 @@ addons:
     - zlib1g-dev
     - libncurses5-dev
     - libncursesw5-dev
+    - libbz2-dev
+    - liblzma-dev
 cache:
   directories:
-  - "build"
+  - build
   - "$HOME/.cache/pip"
+before_deploy: source ./install_dependencies.sh
+deploy:
+  provider: pypi
+  user: sanger-pathogens
+  password:
+    secure: hy9+ivWNCXXNcFdIecHhvMI4Ykff5Ykmkpx3vTOqJmbJ7y5gUfTo3QVbDV1PFQedTDT9xb1hmfMuDO/zhSr2EhGdGepPG76a0Zogt8QjV4FaaCkFJefemJ54ybU6j4zt1mMdgZJToP9hSZ3uZ2Y3zyy5Nlw+3nrsrNhqQ6bcm08=
+  on:
+    tags: true
 python:
-  - "3.4"
-  - "3.5"
-  - "3.6"
+- '3.6'
 env:
-  - SAMTOOLS_VERSION=1.3
-  - SAMTOOLS_VERSION=1.3.1
-  - SAMTOOLS_VERSION=1.4
-  - SAMTOOLS_VERSION=1.4.1
-  - SAMTOOLS_VERSION=1.5
-  - SAMTOOLS_VERSION=1.6
+- SAMTOOLS_VERSION=1.3.1
+- SAMTOOLS_VERSION=1.10
 sudo: false
 install:
-  - "source ./install_dependencies.sh"
+- source ./install_dependencies.sh
+before_script:
+  - pip install codecov
 script:
-  - "python setup.py test"
+  - "coverage run setup.py test"
+after_success:
+  - codecov


=====================================
CHANGELOG.md
=====================================
@@ -0,0 +1,293 @@
+# Change Log
+
+## [Unreleased](https://github.com/sanger-pathogens/iva/tree/HEAD)
+
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v1.0.9-2...HEAD)
+
+**Merged pull requests:**
+
+- Update readme [\#87](https://github.com/sanger-pathogens/iva/pull/87) ([ssjunnebo](https://github.com/ssjunnebo))
+- Point install instruction to webpage [\#84](https://github.com/sanger-pathogens/iva/pull/84) ([ssjunnebo](https://github.com/ssjunnebo))
+- update README and add to codecov [\#83](https://github.com/sanger-pathogens/iva/pull/83) ([ssjunnebo](https://github.com/ssjunnebo))
+- Docker instructions [\#82](https://github.com/sanger-pathogens/iva/pull/82) ([ssjunnebo](https://github.com/ssjunnebo))
+- Set up Docker [\#81](https://github.com/sanger-pathogens/iva/pull/81) ([ssjunnebo](https://github.com/ssjunnebo))
+
+## [v1.0.9-2](https://github.com/sanger-pathogens/iva/tree/v1.0.9-2) (2018-02-02)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v1.0.9-1...v1.0.9-2)
+
+## [v1.0.9-1](https://github.com/sanger-pathogens/iva/tree/v1.0.9-1) (2018-02-02)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v1.0.9...v1.0.9-1)
+
+**Closed issues:**
+
+- iva version check of external programs fails [\#78](https://github.com/sanger-pathogens/iva/issues/78)
+
+## [v1.0.9](https://github.com/sanger-pathogens/iva/tree/v1.0.9) (2018-01-25)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v1.0.8...v1.0.9)
+
+**Closed issues:**
+
+- kmc std::bad\_alloc [\#77](https://github.com/sanger-pathogens/iva/issues/77)
+- samtools sort command fails for samtools 1.3.1 [\#75](https://github.com/sanger-pathogens/iva/issues/75)
+- iva test failing with samtools1.4 [\#74](https://github.com/sanger-pathogens/iva/issues/74)
+- IVA sensitivity threshold [\#72](https://github.com/sanger-pathogens/iva/issues/72)
+- multithreading smalt error  [\#71](https://github.com/sanger-pathogens/iva/issues/71)
+
+**Merged pull requests:**
+
+- Prog versions [\#79](https://github.com/sanger-pathogens/iva/pull/79) ([andrewjpage](https://github.com/andrewjpage))
+- test more samtools versions and pythons [\#76](https://github.com/sanger-pathogens/iva/pull/76) ([andrewjpage](https://github.com/andrewjpage))
+- update LICENSE and AUTHORS [\#73](https://github.com/sanger-pathogens/iva/pull/73) ([ssjunnebo](https://github.com/ssjunnebo))
+
+## [v1.0.8](https://github.com/sanger-pathogens/iva/tree/v1.0.8) (2017-01-12)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v1.0.7...v1.0.8)
+
+**Merged pull requests:**
+
+- Embl no cds fix [\#70](https://github.com/sanger-pathogens/iva/pull/70) ([martinghunt](https://github.com/martinghunt))
+- upstreaming some patches [\#69](https://github.com/sanger-pathogens/iva/pull/69) ([satta](https://github.com/satta))
+
+## [v1.0.7](https://github.com/sanger-pathogens/iva/tree/v1.0.7) (2016-09-06)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v1.0.6...v1.0.7)
+
+**Merged pull requests:**
+
+- Pysam 0.9.1.x [\#68](https://github.com/sanger-pathogens/iva/pull/68) ([martinghunt](https://github.com/martinghunt))
+
+## [v1.0.6](https://github.com/sanger-pathogens/iva/tree/v1.0.6) (2016-05-12)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v1.0.5...v1.0.6)
+
+**Closed issues:**
+
+- samtools errors caused by mapping.py  [\#59](https://github.com/sanger-pathogens/iva/issues/59)
+
+**Merged pull requests:**
+
+- Flag reference opt as experimental [\#67](https://github.com/sanger-pathogens/iva/pull/67) ([martinghunt](https://github.com/martinghunt))
+- Add travis files [\#66](https://github.com/sanger-pathogens/iva/pull/66) ([martinghunt](https://github.com/martinghunt))
+
+## [v1.0.5](https://github.com/sanger-pathogens/iva/tree/v1.0.5) (2016-05-05)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v1.0.4...v1.0.5)
+
+**Closed issues:**
+
+- Support samtools 1.3 [\#57](https://github.com/sanger-pathogens/iva/issues/57)
+
+**Merged pull requests:**
+
+- Version bump 1.0.5 [\#65](https://github.com/sanger-pathogens/iva/pull/65) ([martinghunt](https://github.com/martinghunt))
+- fix spelling [\#64](https://github.com/sanger-pathogens/iva/pull/64) ([satta](https://github.com/satta))
+- add copyright notices [\#62](https://github.com/sanger-pathogens/iva/pull/62) ([satta](https://github.com/satta))
+- make IVA compatible with new 'samtools sort' syntax [\#61](https://github.com/sanger-pathogens/iva/pull/61) ([satta](https://github.com/satta))
+
+## [v1.0.4](https://github.com/sanger-pathogens/iva/tree/v1.0.4) (2016-04-18)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v1.0.3...v1.0.4)
+
+**Closed issues:**
+
+- IVA: error: unrecognized arguments: path\_to\_output\_directory [\#56](https://github.com/sanger-pathogens/iva/issues/56)
+- thread option not passed to kmc [\#54](https://github.com/sanger-pathogens/iva/issues/54)
+
+**Merged pull requests:**
+
+- pysam 0.9.0 [\#58](https://github.com/sanger-pathogens/iva/pull/58) ([martinghunt](https://github.com/martinghunt))
+
+## [v1.0.3](https://github.com/sanger-pathogens/iva/tree/v1.0.3) (2016-01-25)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v1.0.2...v1.0.3)
+
+**Closed issues:**
+
+- support an explicit output argument  [\#53](https://github.com/sanger-pathogens/iva/issues/53)
+
+**Merged pull requests:**
+
+- Kmc threads [\#55](https://github.com/sanger-pathogens/iva/pull/55) ([martinghunt](https://github.com/martinghunt))
+
+## [v1.0.2](https://github.com/sanger-pathogens/iva/tree/v1.0.2) (2015-10-28)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v1.0.1...v1.0.2)
+
+**Merged pull requests:**
+
+- Check samtools version [\#52](https://github.com/sanger-pathogens/iva/pull/52) ([martinghunt](https://github.com/martinghunt))
+
+## [v1.0.1](https://github.com/sanger-pathogens/iva/tree/v1.0.1) (2015-10-16)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v1.0.0...v1.0.1)
+
+**Merged pull requests:**
+
+- Use pyfastaq 3.10.0 [\#51](https://github.com/sanger-pathogens/iva/pull/51) ([martinghunt](https://github.com/martinghunt))
+- import stat required to stop --add\_to\_ref dying [\#50](https://github.com/sanger-pathogens/iva/pull/50) ([martinghunt](https://github.com/martinghunt))
+
+## [v1.0.0](https://github.com/sanger-pathogens/iva/tree/v1.0.0) (2015-07-15)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.11.7...v1.0.0)
+
+**Merged pull requests:**
+
+- Make tests pass from last merge [\#49](https://github.com/sanger-pathogens/iva/pull/49) ([martinghunt](https://github.com/martinghunt))
+- No strand bias trim [\#48](https://github.com/sanger-pathogens/iva/pull/48) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.11.7](https://github.com/sanger-pathogens/iva/tree/v0.11.7) (2015-07-09)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.11.6...v0.11.7)
+
+**Merged pull requests:**
+
+-  version bump, tweak setup.py [\#47](https://github.com/sanger-pathogens/iva/pull/47) ([martinghunt](https://github.com/martinghunt))
+- Die nicely if input reads bad, or when no contigs made [\#46](https://github.com/sanger-pathogens/iva/pull/46) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.11.6](https://github.com/sanger-pathogens/iva/tree/v0.11.6) (2015-05-12)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.11.5...v0.11.6)
+
+**Merged pull requests:**
+
+- Bug reusing bad kmers [\#45](https://github.com/sanger-pathogens/iva/pull/45) ([martinghunt](https://github.com/martinghunt))
+- Bug fix - min contig length now implemented properly [\#44](https://github.com/sanger-pathogens/iva/pull/44) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.11.5](https://github.com/sanger-pathogens/iva/tree/v0.11.5) (2015-03-27)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.11.4...v0.11.5)
+
+**Merged pull requests:**
+
+- Increment version [\#43](https://github.com/sanger-pathogens/iva/pull/43) ([martinghunt](https://github.com/martinghunt))
+- Qc input checks [\#42](https://github.com/sanger-pathogens/iva/pull/42) ([martinghunt](https://github.com/martinghunt))
+- Fix gage bugs [\#41](https://github.com/sanger-pathogens/iva/pull/41) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.11.4](https://github.com/sanger-pathogens/iva/tree/v0.11.4) (2015-02-24)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.11.3...v0.11.4)
+
+**Merged pull requests:**
+
+- No really, make all ratt script executable [\#40](https://github.com/sanger-pathogens/iva/pull/40) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.11.3](https://github.com/sanger-pathogens/iva/tree/v0.11.3) (2015-02-24)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.11.2...v0.11.3)
+
+**Merged pull requests:**
+
+- bug fix running ratt scripts [\#39](https://github.com/sanger-pathogens/iva/pull/39) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.11.2](https://github.com/sanger-pathogens/iva/tree/v0.11.2) (2015-02-05)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.11.0...v0.11.2)
+
+**Merged pull requests:**
+
+- Remove info that is on the gh-pages site [\#38](https://github.com/sanger-pathogens/iva/pull/38) ([martinghunt](https://github.com/martinghunt))
+- Change to pyfastaq [\#37](https://github.com/sanger-pathogens/iva/pull/37) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.11.0](https://github.com/sanger-pathogens/iva/tree/v0.11.0) (2015-01-29)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.10.3...v0.11.0)
+
+**Merged pull requests:**
+
+- Change default extension parameters, bump to version 0.11.0 [\#36](https://github.com/sanger-pathogens/iva/pull/36) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.10.3](https://github.com/sanger-pathogens/iva/tree/v0.10.3) (2015-01-14)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.10.2...v0.10.3)
+
+**Merged pull requests:**
+
+- Allow gage to fail as long as we got the stats; v0.10.3 [\#35](https://github.com/sanger-pathogens/iva/pull/35) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.10.2](https://github.com/sanger-pathogens/iva/tree/v0.10.2) (2015-01-07)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.10.1...v0.10.2)
+
+**Merged pull requests:**
+
+- version 0.10.2 [\#34](https://github.com/sanger-pathogens/iva/pull/34) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.10.1](https://github.com/sanger-pathogens/iva/tree/v0.10.1) (2014-12-05)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.10.0...v0.10.1)
+
+**Merged pull requests:**
+
+- Bug fixes: string decoding and qc write contigs file [\#33](https://github.com/sanger-pathogens/iva/pull/33) ([martinghunt](https://github.com/martinghunt))
+- Link to the pathogens VM [\#32](https://github.com/sanger-pathogens/iva/pull/32) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.10.0](https://github.com/sanger-pathogens/iva/tree/v0.10.0) (2014-11-06)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.9.0...v0.10.0)
+
+**Merged pull requests:**
+
+- Improve read trimming; version 0.10.0 [\#31](https://github.com/sanger-pathogens/iva/pull/31) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.9.0](https://github.com/sanger-pathogens/iva/tree/v0.9.0) (2014-10-02)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/1.5.0...v0.9.0)
+
+## [1.5.0](https://github.com/sanger-pathogens/iva/tree/1.5.0) (2014-10-02)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.8.0...1.5.0)
+
+**Merged pull requests:**
+
+- version 0.9.0 [\#30](https://github.com/sanger-pathogens/iva/pull/30) ([martinghunt](https://github.com/martinghunt))
+- write contigs that do not match reference [\#29](https://github.com/sanger-pathogens/iva/pull/29) ([martinghunt](https://github.com/martinghunt))
+- Add ubuntu installation wiki link [\#28](https://github.com/sanger-pathogens/iva/pull/28) ([martinghunt](https://github.com/martinghunt))
+- Contig trim [\#27](https://github.com/sanger-pathogens/iva/pull/27) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.8.0](https://github.com/sanger-pathogens/iva/tree/v0.8.0) (2014-09-11)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.7.2...v0.8.0)
+
+**Merged pull requests:**
+
+- Pcr primer [\#26](https://github.com/sanger-pathogens/iva/pull/26) ([martinghunt](https://github.com/martinghunt))
+- Added AUTHORS file [\#25](https://github.com/sanger-pathogens/iva/pull/25) ([aslett1](https://github.com/aslett1))
+
+## [v0.7.2](https://github.com/sanger-pathogens/iva/tree/v0.7.2) (2014-08-27)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.7.1...v0.7.2)
+
+## [v0.7.1](https://github.com/sanger-pathogens/iva/tree/v0.7.1) (2014-08-05)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.7.0...v0.7.1)
+
+## [v0.7.0](https://github.com/sanger-pathogens/iva/tree/v0.7.0) (2014-08-01)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.6.0...v0.7.0)
+
+## [v0.6.0](https://github.com/sanger-pathogens/iva/tree/v0.6.0) (2014-07-25)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.5.1...v0.6.0)
+
+## [v0.5.1](https://github.com/sanger-pathogens/iva/tree/v0.5.1) (2014-06-17)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.5.0...v0.5.1)
+
+## [v0.5.0](https://github.com/sanger-pathogens/iva/tree/v0.5.0) (2014-06-12)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.4.0...v0.5.0)
+
+**Merged pull requests:**
+
+- Version 0.5.0 [\#24](https://github.com/sanger-pathogens/iva/pull/24) ([martinghunt](https://github.com/martinghunt))
+- Qc cleanup [\#23](https://github.com/sanger-pathogens/iva/pull/23) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.4.0](https://github.com/sanger-pathogens/iva/tree/v0.4.0) (2014-06-11)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.3.0...v0.4.0)
+
+**Merged pull requests:**
+
+- Change default QC percent identities to 80 [\#22](https://github.com/sanger-pathogens/iva/pull/22) ([martinghunt](https://github.com/martinghunt))
+- Die gracefully if cannot find reference [\#21](https://github.com/sanger-pathogens/iva/pull/21) ([martinghunt](https://github.com/martinghunt))
+- Add test embl files [\#20](https://github.com/sanger-pathogens/iva/pull/20) ([martinghunt](https://github.com/martinghunt))
+- merge tidy\_up\_for\_v0.4.0 [\#19](https://github.com/sanger-pathogens/iva/pull/19) ([martinghunt](https://github.com/martinghunt))
+- merge add\_custom\_ref\_to\_db [\#18](https://github.com/sanger-pathogens/iva/pull/18) ([martinghunt](https://github.com/martinghunt))
+- Tidy up checking external programs OK [\#17](https://github.com/sanger-pathogens/iva/pull/17) ([martinghunt](https://github.com/martinghunt))
+- Add citation for adapter sequences [\#16](https://github.com/sanger-pathogens/iva/pull/16) ([martinghunt](https://github.com/martinghunt))
+- Don't write final ORFs file [\#15](https://github.com/sanger-pathogens/iva/pull/15) ([martinghunt](https://github.com/martinghunt))
+- Delete gage-validation.tar.gz [\#14](https://github.com/sanger-pathogens/iva/pull/14) ([martinghunt](https://github.com/martinghunt))
+- Keep gage and ratt code and adapters.fasta files when installing [\#13](https://github.com/sanger-pathogens/iva/pull/13) ([martinghunt](https://github.com/martinghunt))
+- Add checks for external programs in qc scripts [\#12](https://github.com/sanger-pathogens/iva/pull/12) ([martinghunt](https://github.com/martinghunt))
+- Run kraken on reads sampled uniformly across assembly [\#11](https://github.com/sanger-pathogens/iva/pull/11) ([martinghunt](https://github.com/martinghunt))
+- Add QC info and citations [\#10](https://github.com/sanger-pathogens/iva/pull/10) ([martinghunt](https://github.com/martinghunt))
+- Use same function for all syscalls, so stdout/err only printed when some... [\#9](https://github.com/sanger-pathogens/iva/pull/9) ([martinghunt](https://github.com/martinghunt))
+- Add default adapters file [\#8](https://github.com/sanger-pathogens/iva/pull/8) ([martinghunt](https://github.com/martinghunt))
+- Add gage code, make gage defaults more permissive [\#7](https://github.com/sanger-pathogens/iva/pull/7) ([martinghunt](https://github.com/martinghunt))
+- Catch mpileup lines with no read bases [\#6](https://github.com/sanger-pathogens/iva/pull/6) ([martinghunt](https://github.com/martinghunt))
+- Assemble speed increase by using reads more intelligently [\#5](https://github.com/sanger-pathogens/iva/pull/5) ([martinghunt](https://github.com/martinghunt))
+- Don't initialize sets, dicts etc in function declarations [\#4](https://github.com/sanger-pathogens/iva/pull/4) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.3.0](https://github.com/sanger-pathogens/iva/tree/v0.3.0) (2014-05-02)
+[Full Changelog](https://github.com/sanger-pathogens/iva/compare/v0.2.4...v0.3.0)
+
+**Merged pull requests:**
+
+- Fix missing genome parts [\#3](https://github.com/sanger-pathogens/iva/pull/3) ([martinghunt](https://github.com/martinghunt))
+
+## [v0.2.4](https://github.com/sanger-pathogens/iva/tree/v0.2.4) (2014-04-30)
+**Merged pull requests:**
+
+- Fix max\_insert typo [\#2](https://github.com/sanger-pathogens/iva/pull/2) ([martinghunt](https://github.com/martinghunt))
+- Initial add of files and update readme [\#1](https://github.com/sanger-pathogens/iva/pull/1) ([martinghunt](https://github.com/martinghunt))
+


=====================================
Dockerfile
=====================================
@@ -0,0 +1,101 @@
+# This container will install IVA from master
+#
+FROM ubuntu:18.04
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+WORKDIR /tmp
+
+ENV INSTALL_DIRECTORY=/opt
+
+
+# Install required dependancies
+RUN apt-get update -y -qq \
+    && apt-get install -y -qq \
+      openjdk-8-jdk \
+      python3-pip \
+      git \
+      wget \
+      unzip \
+      zlib1g-dev \
+      libncurses5-dev \
+      libbz2-dev \
+      liblzma-dev
+  
+ENV JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
+
+ARG KMC_VERSION=3.0.0
+ARG MUMMER_VERSION=3.23
+ARG SAMTOOLS_VERSION=1.3
+ARG SMALT_VERSION=0.7.6
+ARG TRIMMOMATIC_VERSION=0.38
+ARG KRAKEN_VERSION=1.0
+ARG BLAST_VERSION=2.5.0
+
+# kmc
+RUN mkdir /opt/kmc-${KMC_VERSION} \
+    && cd /opt/kmc-${KMC_VERSION} \
+    && wget --progress=dot:giga https://github.com/refresh-bio/KMC/releases/download/v${KMC_VERSION}/KMC3.linux.tar.gz \
+    && tar xf KMC3.linux.tar.gz \
+    && rm KMC3.linux.tar.gz \
+    && chmod -R 755 /opt/kmc-${KMC_VERSION}
+ENV PATH=/opt/kmc-${KMC_VERSION}:$PATH
+
+# MUMmer
+RUN cd /opt \
+    && wget --progress=dot:giga "http://downloads.sourceforge.net/project/mummer/mummer/${MUMMER_VERSION}/MUMmer${MUMMER_VERSION}.tar.gz" \
+    && tar xf MUMmer${MUMMER_VERSION}.tar.gz \
+    && rm MUMmer${MUMMER_VERSION}.tar.gz \
+    && cd MUMmer${MUMMER_VERSION} \
+    && make
+ENV PATH=/opt/MUMmer${MUMMER_VERSION}:$PATH
+
+# samtools
+RUN cd /opt \
+    && wget --progress=dot:giga "https://github.com/samtools/samtools/releases/download/${SAMTOOLS_VERSION}/samtools-${SAMTOOLS_VERSION}.tar.bz2" \
+    && tar xf samtools-${SAMTOOLS_VERSION}.tar.bz2 \
+    && rm samtools-${SAMTOOLS_VERSION}.tar.bz2 \
+    && cd samtools-${SAMTOOLS_VERSION} \
+    && make
+ENV PATH=/opt/samtools-${SAMTOOLS_VERSION}:$PATH
+ 
+# smalt
+RUN cd /opt \
+    && wget --progress=dot:giga http://downloads.sourceforge.net/project/smalt/smalt-${SMALT_VERSION}-bin.tar.gz \
+    && tar xf smalt-${SMALT_VERSION}-bin.tar.gz \
+    && rm smalt-${SMALT_VERSION}-bin.tar.gz \
+    && cd smalt-${SMALT_VERSION}-bin \
+    && ln -fs smalt_x86_64 smalt
+ENV PATH=/opt/smalt-${SMALT_VERSION}-bin:$PATH
+    
+# Trimmomatic
+RUN cd / \
+    && wget --progress=dot:giga http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-${TRIMMOMATIC_VERSION}.zip \
+    && unzip Trimmomatic-${TRIMMOMATIC_VERSION}.zip \
+    && rm Trimmomatic-${TRIMMOMATIC_VERSION}.zip
+
+# Kraken
+RUN mkdir /tmp/KRAKEN \
+    && cd /tmp/KRAKEN \
+    && wget --progress=dot:giga http://ccb.jhu.edu/software/kraken/dl/kraken-${KRAKEN_VERSION}.tgz \
+    && tar -xvzf kraken-${KRAKEN_VERSION}.tgz \
+    && cd kraken-${KRAKEN_VERSION} \
+    && ./install_kraken.sh /opt/kraken-${KRAKEN_VERSION} \
+    && rm -rf /tmp/KRAKEN
+ENV PATH=/opt/kraken-${KRAKEN_VERSION}/:$PATH
+
+# ncbi blast
+RUN cd /opt \
+    && wget --progress=dot:giga ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/${BLAST_VERSION}/ncbi-blast-${BLAST_VERSION}+-x64-linux.tar.gz \
+    && tar -xf ncbi-blast-${BLAST_VERSION}+-x64-linux.tar.gz \
+    && rm ncbi-blast-${BLAST_VERSION}+-x64-linux.tar.gz
+ENV PATH=/opt/ncbi-blast-${BLAST_VERSION}+/bin:$PATH
+
+# Install IVA
+ARG BUILD_DIR=/tmp/IVA
+COPY . $BUILD_DIR
+RUN cd ${BUILD_DIR} \
+    && pip3 install cython \
+    && python3 setup.py test \
+    && python3 setup.py install \
+    && rm -rf ${BUILD_DIR}


=====================================
README.md
=====================================
@@ -1,23 +1,222 @@
-IVA - Iterative Virus Assembler
-===============================
+# IVA
+Iterative Virus Assembler - de novo virus assembler of Illumina paired reads.
 
-IVA is a _de novo_ assembler designed to assemble virus genomes that
-have no repeat sequences, using Illumina read pairs sequenced from
-mixed populations at extremely high and variable depth.
+PLEASE NOTE: we currently do not have the resources to provide support for IVA, so please do not expect a reply if you flag any issue.
 
-Please see the [IVA website] [IVA website] for more information,
-including installation instructions.
+[![Unmaintained](http://unmaintained.tech/badge.svg)](http://unmaintained.tech/)  
+[![Build Status](https://travis-ci.com/sanger-pathogens/iva.svg?branch=master)](https://travis-ci.com/sanger-pathogens/iva)  
+[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-brightgreen.svg)](https://github.com/sanger-pathogens/iva/blob/master/LICENSE)  
+[![status](https://img.shields.io/badge/Bioinformatics-10.1093-brightgreen.svg)](https://academic.oup.com/bioinformatics/article/31/14/2374/254470)  
+[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg?style=flat-square)](http://bioconda.github.io/recipes/iva/README.html)   
+[![Container ready](https://img.shields.io/badge/container-ready-brightgreen.svg)](https://quay.io/repository/biocontainers/iva)  
+[![Docker Build Status](https://img.shields.io/docker/cloud/build/sangerpathogens/iva.svg)](https://hub.docker.com/r/sangerpathogens/iva)  
+[![Docker Pulls](https://img.shields.io/docker/pulls/sangerpathogens/iva.svg)](https://hub.docker.com/r/sangerpathogens/iva)  
+[![codecov](https://codecov.io/gh/sanger-pathogens/iva/branch/master/graph/badge.svg)](https://codecov.io/gh/sanger-pathogens/iva)  
 
+## Contents
+  * [Introduction](#introduction)
+  * [Installation](#installation)
+  * [Running the tests](#running-the-tests)
+  * [Usage](#usage)
+  * [License](#license)
+  * [Feedback/Issues](#feedbackissues)
+  * [Citation](#citation)
 
-For usage help and examples, see the [IVA wiki page] [IVA wiki page].
+## Introduction
+IVA is a de novo assembler designed to assemble virus genomes that have no repeat sequences, using Illumina read pairs sequenced from mixed populations at extremely high and variable depth.
 
+For more information, please read the [IVA publication](http://bioinformatics.oxfordjournals.org/content/early/2015/02/27/bioinformatics.btv120.abstract).
 
----------------------------------
+## Installation
+For installation instructions, please refer to the [IVA website](http://sanger-pathogens.github.io/iva/)
 
-Build status: [![Build Status](https://travis-ci.org/sanger-pathogens/iva.svg?branch=master)](https://travis-ci.org/sanger-pathogens/iva)
+## Running the tests
+The test can be run with dzil from the top level directory:  
 
+`python setup.py test`
 
+## Usage
+```
+usage: iva [options] {-f reads_fwd -r reads_rev | --fr reads} <output directory>
 
+positional arguments:
+  Output directory      Name of output directory (must not already exist)
 
-  [IVA wiki page]: https://github.com/sanger-pathogens/iva/wiki
-  [IVA website]: http://sanger-pathogens.github.io/iva/
+optional arguments:
+  -h, --help            show this help message and exit
+
+Input and output:
+  -f filename[.gz], --reads_fwd filename[.gz]
+                        Name of forward reads fasta/q file. Must be used in
+                        conjunction with --reads_rev
+  -r filename[.gz], --reads_rev filename[.gz]
+                        Name of reverse reads fasta/q file. Must be used in
+                        conjunction with --reads_fwd
+  --fr filename[.gz]    Name of interleaved fasta/q file
+  --keep_files          Keep intermediate files (could be many!). Default is
+                        to delete all unnecessary files
+  --contigs filename[.gz]
+                        Fasta file of contigs to be extended. Incompatible
+                        with --reference
+  --reference filename[.gz]
+                        EXPERIMENTAL! This option is EXPERIMENTAL, not
+                        recommended, and has not been tested! Fasta file of
+                        reference genome, or parts thereof. IVA will try to
+                        assemble one contig per sequence in this file.
+                        Incompatible with --contigs
+  -v, --verbose         Be verbose by printing messages to stdout. Use up to
+                        three times for increasing verbosity.
+
+SMALT mapping options:
+  -k INT, --smalt_k INT
+                        kmer hash length in SMALT (the -k option in smalt
+                        index) [19]
+  -s INT, --smalt_s INT
+                        kmer hash step size in SMALT (the -s option in smalt
+                        index) [11]
+  -y FLOAT, --smalt_id FLOAT
+                        Minimum identity threshold for mapping to be reported
+                        (the -y option in smalt map) [0.5]
+
+Contig options:
+  --ctg_first_trim INT  Number of bases to trim off the end of every contig
+                        before extending for the first time [25]
+  --ctg_iter_trim INT   During iterative extension, number of bases to trim
+                        off the end of a contig when extension fails (then try
+                        extending again) [10]
+  --ext_min_cov INT     Minimum kmer depth needed to use that kmer to extend a
+                        contig [10]
+  --ext_min_ratio FLOAT
+                        Sets N, where kmer for extension must be at least N
+                        times more abundant than next most common kmer [4]
+  --ext_max_bases INT   Maximum number of bases to try to extend on each
+                        iteration [100]
+  --ext_min_clip INT    Set minimum number of bases soft clipped off a read
+                        for those bases to be used for extension [3]
+  --max_contigs INT     Maximum number of contigs allowed in the assembly. No
+                        more seeds generated if the cutoff is reached [50]
+
+Seed generation options:
+  --make_new_seeds      When no more contigs can be extended, generate a new
+                        seed. This is forced to be true when --contigs is not
+                        used
+  --seed_start_length INT
+                        When making a seed sequence, use the most common kmer
+                        of this length. Default is to use the minimum of
+                        (median read length, 95). Warning: it is not
+                        recommended to set this higher than 95
+  --seed_stop_length INT
+                        Stop extending seed using perfect matches from reads
+                        when this length is reached. Future extensions are
+                        then made by treating the seed as a contig
+                        [0.9*max_insert]
+  --seed_min_kmer_cov INT
+                        Minimum kmer coverage of initial seed [25]
+  --seed_max_kmer_cov INT
+                        Maximum kmer coverage of initial seed [1000000]
+  --seed_ext_max_bases INT
+                        Maximum number of bases to try to extend on each
+                        iteration [50]
+  --seed_overlap_length INT
+                        Number of overlapping bases needed between read and
+                        seed to use that read to extend [seed_start_length]
+  --seed_ext_min_cov INT
+                        Minimum kmer depth needed to use that kmer to extend a
+                        contig [10]
+  --seed_ext_min_ratio FLOAT
+                        Sets N, where kmer for extension must be at least N
+                        times more abundant than next most common kmer [4]
+
+Read trimming options:
+  --trimmomatic FILENAME
+                        Provide location of trimmomatic.jar file to enable
+                        read trimming. Required if --adapters used
+  --trimmo_qual STRING  Trimmomatic options used to quality trim reads
+                        [LEADING:10 TRAILING:10 SLIDINGWINDOW:4:20]
+  --adapters FILENAME   Fasta file of adapter sequences to be trimmed off
+                        reads. If used, must also use --trimmomatic. Default
+                        is file of adapters supplied with IVA
+  --min_trimmed_length INT
+                        Minimum length of read after trimming [50]
+  --pcr_primers FILENAME
+                        FASTA file of primers. The first perfect match found
+                        to a sequence in the primers file will be trimmed off
+                        the start of each read. This is run after trimmomatic
+                        (if --trimmomatic used)
+
+Other options:
+  -i INT, --max_insert INT
+                        Maximum insert size (includes read length). Reads with
+                        inferred insert size more than the maximum will not be
+                        used to extend contigs [800]
+  -t INT, --threads INT
+                        Number of threads to use [1]
+  --kmc_onethread       Force kmc to use one thread. By default the value of
+                        -t/--threads is used when running kmc
+  --strand_bias FLOAT in [0,0.5]
+                        Set strand bias cutoff of mapped reads when trimming
+                        contig ends, in the interval [0,0.5]. A value of x
+                        means that a base needs min(fwd_depth, rev_depth) /
+                        total_depth <= x. The only time this should be used is
+                        with libraries with overlapping reads (ie fragment
+                        length < 2*read length), and even then, it can make
+                        results worse. If used, try a low value like 0.1 first
+                        [0]
+  --test                Run using built in test data. All other options will
+                        be ignored, except the mandatory output directory, and
+                        --trimmomatic and --threads can be also be used
+  --version             show program's version number and exit
+```
+
+For usage help and examples, see the [IVA wiki page](https://github.com/sanger-pathogens/iva/wiki).
+
+## License
+IVA is free software, licensed under [GPLv3](https://github.com/sanger-pathogens/iva/blob/master/LICENSE).
+
+## Feedback/Issues
+Please report any issues to the [issues page](https://github.com/sanger-pathogens/iva/issues).
+
+PLEASE NOTE: we currently do not have the resources to provide support for IVA, so please do not expect a reply if you flag any issue.
+
+## Citation
+If you use this software please cite:
+
+__IVA: accurate de novo assembly of RNA virus genomes.__  
+Hunt M, Gall A, Ong SH, Brener J, Ferns B, Goulder P, Nastouli E, Keane JA, Kellam P, Otto TD.  
+Bioinformatics. 2015 Jul 15;31(14):2374-6. doi: [10.1093/bioinformatics/btv120](http://bioinformatics.oxfordjournals.org/content/31/14/2374.long). Epub 2015 Feb 28.  
+
+[__Adapter sequences__](http://www.nature.com/nmeth/journal/v9/n1/full/nmeth.1814.html):  
+__Optimal enzymes for amplifying sequencing libraries.__  
+Quail, M. a et al. Nat. Methods 9, 10-1 (2012).
+
+[__GAGE__](http://genome.cshlp.org/content/early/2012/01/12/gr.131383.111):  
+__GAGE: A critical evaluation of genome assemblies and assembly algorithms.__  
+Salzberg, S. L. et al. Genome Res. 22, 557-67 (2012).
+
+[__KMC__](http://www.biomedcentral.com/1471-2105/14/160):  
+__Disk-based k-mer counting on a PC.__  
+Deorowicz, S., Debudaj-Grabysz, A. & Grabowski, S. BMC Bioinformatics 14, 160 (2013).
+
+[__Kraken__](http://genomebiology.com/2014/15/3/R46):  
+__Kraken: ultrafast metagenomic sequence classification using exact alignments.__  
+Wood, D. E. & Salzberg, S. L. Genome Biol. 15, R46 (2014).
+
+[__MUMmer__](http://genomebiology.com/2004/5/2/r12):  
+__Versatile and open software for comparing large genomes.__  
+Kurtz, S. et al. Genome Biol. 5, R12 (2004).
+
+__R__:  
+__R: A language and environment for statistical computing.__  
+R Core Team (2013). R Foundation for Statistical Computing, Vienna, Austria. URL http://www.R-project.org/.
+
+[__RATT__](http://nar.oxfordjournals.org/content/39/9/e57):  
+__RATT: Rapid Annotation Transfer Tool.__  
+Otto, T. D., Dillon, G. P., Degrave, W. S. & Berriman, M. Nucleic Acids Res. 39, e57 (2011).
+
+[__SAMtools__](http://bioinformatics.oxfordjournals.org/content/25/16/2078.abstract):   
+__The Sequence Alignment/Map format and SAMtools.__  
+Li, H. et al. Bioinformatics 25, 2078-9 (2009).
+
+[__Trimmomatic__](http://bioinformatics.oxfordjournals.org/content/early/2014/04/12/bioinformatics.btu170):  
+__Trimmomatic: A flexible trimmer for Illumina Sequence Data.__  
+Bolger, A. M., Lohse, M. & Usadel, B. Bioinformatics 1-7 (2014).


=====================================
install_dependencies.sh
=====================================
@@ -4,13 +4,14 @@ set -x
 
 start_dir=$(pwd)
 
-KMC_VERSION=2.3.0
+KMC_VERSION=3.0.0
 MUMMER_VERSION=3.23
 SAMTOOLS_VERSION=${SAMTOOLS_VERSION:-"1.3"}
 SMALT_VERSION=0.7.6
 
-KMC_DOWNLOAD_URL=http://sun.aei.polsl.pl/REFRESH/kmc/downloads/${KMC_VERSION}/linux/kmc
-KMCDUMP_DOWNLOAD_URL=http://sun.aei.polsl.pl/REFRESH/kmc/downloads/${KMC_VERSION}/linux/kmc_dump
+#KMC_DOWNLOAD_URL=http://sun.aei.polsl.pl/REFRESH/kmc/downloads/${KMC_VERSION}/linux/kmc
+#KMCDUMP_DOWNLOAD_URL=http://sun.aei.polsl.pl/REFRESH/kmc/downloads/${KMC_VERSION}/linux/kmc_dump
+KMC3_DOWNLOAD_URL="https://github.com/refresh-bio/KMC/releases/download/v${KMC_VERSION}/KMC3.linux.tar.gz"
 MUMMER_DOWNLOAD_URL="http://downloads.sourceforge.net/project/mummer/mummer/${MUMMER_VERSION}/MUMmer${MUMMER_VERSION}.tar.gz"
 SAMTOOLS_DOWNLOAD_URL="https://github.com/samtools/samtools/releases/download/${SAMTOOLS_VERSION}/samtools-${SAMTOOLS_VERSION}.tar.bz2"
 SMALT_DOWNLOAD_URL=http://downloads.sourceforge.net/project/smalt/smalt-${SMALT_VERSION}-bin.tar.gz
@@ -43,9 +44,15 @@ kmc_dir="$build_dir/kmc-${KMC_VERSION}"
 rm -fr $kmc_dir
 mkdir $kmc_dir
 cd $kmc_dir
-download $KMC_DOWNLOAD_URL "kmc"
-download $KMCDUMP_DOWNLOAD_URL "kmc_dump"
-chmod +x kmc kmc_dump
+#download $KMC3_DOWNLOAD_URL "kmc"
+#download $KMCDUMP_DOWNLOAD_URL "kmc_dump"
+#chmod +x kmc kmc_dump
+
+download "${KMC3_DOWNLOAD_URL}" "KMC3.linux.tar.gz"
+tar xzf KMC3.linux.tar.gz
+chmod +x kmc
+chmod +x kmc_tools
+chmod +x kmc_dump
 
 
 # --------------- mummer ------------------
@@ -89,4 +96,4 @@ update_path ${mummer_dir}
 update_path ${samtools_dir}
 update_path ${smalt_dir}
 
-
+pip install cython


=====================================
iva/assembly.py
=====================================
@@ -93,14 +93,22 @@ class Assembly:
             if len(self.contigs[name]) >= min_length and name not in do_not_write and (name in only_write or len(only_write)==0):
                 if order_by_orfs and contig_revcomp[i]:
                     self.contigs[name].fa.revcomp()
+                    suffix = ' (reversed)'
+                else:
+                    suffix = ''
 
                 if prefix is None:
                     print(self.contigs[name].fa, file=f)
                 else:
                     printed += 1
-                    self.contigs[name].fa.id = prefix + '.' + str(printed).zfill(5)
+                    new_name = prefix + '.' + str(printed).zfill(5)
+                    self.contigs[name].fa.id = new_name
                     print(self.contigs[name].fa, file=f)
                     self.contigs[name].fa.id = name
+                    if self.verbose >= 2:
+                        print('Reported {} as {}{}.'.format(name,
+                                                            new_name,
+                                                            suffix))
 
                 if order_by_orfs and contig_revcomp[i]:
                     self.contigs[name].fa.revcomp()
@@ -483,19 +491,30 @@ class Assembly:
                 hits = self._remove_contig_from_nucmer_hits(hits, contig)
                 self._remove_contig(contig)
                 contigs.remove(contig)
+                if self.verbose >= 2:
+                    print('Removing contained contig:', contig)
 
 
     def _coords_to_new_contig(self, coords_list):
         new_contig = pyfastaq.sequences.Fasta(coords_list[0][0], '')
+        descriptions = []
         for name, coords, reverse in coords_list:
             assert name in self.contigs
             if reverse:
                 seq = pyfastaq.sequences.Fasta('ni', self.contigs[name].fa.seq[coords.start:coords.end+1])
                 seq.revcomp()
                 new_contig.seq += seq.seq
+                descriptions.append('{}[{}<-{}]'.format(name, coords.end, coords.start))
             else:
                 new_contig.seq += self.contigs[name].fa.seq[coords.start:coords.end+1]
-
+                descriptions.append('{}[{}->{}]'.format(name, coords.start, coords.end))
+        if self.verbose >= 2:
+            final_description = '{}[0->{}]'.format(new_contig.id,
+                                                   len(new_contig.seq))
+            print('Merging contigs:',
+                  ' + '.join(descriptions),
+                  '==>',
+                  final_description)
         return new_contig
 
 


=====================================
iva/mapping.py
=====================================
@@ -21,6 +21,8 @@ import pysam
 from iva import common
 from iva import external_progs
 
+from packaging import version
+
 class Error (Exception): pass
 
 
@@ -44,7 +46,7 @@ def map_reads(reads_fwd, reads_rev, ref_fa, out_prefix, index_k=15, index_s=3, t
         ref_fa
     ])
 
-    map_cmd = 'smalt map ' + extra_smalt_map_ops + ' '
+    map_cmd = 'smalt map -r 1 ' + extra_smalt_map_ops + ' '
 
     # depending on OS, -n can break smalt, so only use -n if it's > 1.
     if threads > 1:
@@ -93,7 +95,7 @@ def map_reads(reads_fwd, reads_rev, ref_fa, out_prefix, index_k=15, index_s=3, t
     if sort:
         threads = min(4, threads)
         thread_mem = int(500 / threads)
-        if str(external_progs.get_version('samtools')) >= '1.2':
+        if version.parse(external_progs.get_version('samtools')) >= version.parse("1.2"):
             sort_cmd = 'samtools sort -@' + str(threads) + ' -m ' + str(thread_mem) + 'M -o ' + final_bam + ' ' + intermediate_bam
         else:
             sort_cmd = 'samtools sort -@' + str(threads) + ' -m ' + str(thread_mem) + 'M ' + intermediate_bam + ' ' + out_prefix


=====================================
setup.py
=====================================
@@ -27,7 +27,7 @@ required_progs = [
     'delta-filter',
     'show-coords',
     'samtools',
-    'smalt',
+    'smalt'
 ]
 
 found_all_progs = True
@@ -61,6 +61,7 @@ setup(
         'pyfastaq >= 3.10.0',
         'networkx >= 1.7',
         'pysam >= 0.8.1',
+        'packaging'
     ],
     license='GPLv3',
     classifiers=[



View it on GitLab: https://salsa.debian.org/med-team/iva/-/commit/2d97b6c0db464768ae18d540d22fbbf17217d409

-- 
View it on GitLab: https://salsa.debian.org/med-team/iva/-/commit/2d97b6c0db464768ae18d540d22fbbf17217d409
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/20211014/4b529c0e/attachment-0001.htm>


More information about the debian-med-commit mailing list