[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