Loading .flake8 +6 −6 Original line number Diff line number Diff line Loading @@ -40,20 +40,19 @@ ignore = # ========================================= # Optional ignores for local installations: # ========================================= BLK100, # Black would make changes, only on local installations (so far) PIE781, # Assigning to temp variable and then returning, not enforcing # ======================== # Folder specific ignores: # ======================== per-file-ignores = Bio/*:E122,E126,F401,F841,D105,B009,B010,B011,C812,C815 Tests/*:F401,F841,D101,D102,D103,B009,B010,B011,C812 Bio/*:E122,E126,F401,F841,D105,B009,B010,B011,C812,C815,BLK100 Tests/*:F401,F841,D101,D102,D103,B009,B010,B011,C812,BLK100 # Due to a bug in flake8, we need the following lines for running the # pre-commit hook. If you made edits above, please change also here! /Bio/*:E122,E126,F401,F841,D105,B009,B010,B011,C812,C815 /Tests/*:F401,F841,D101,D102,D103,B009,B010,B011,C812 /Bio/*:E122,E126,F401,F841,D105,B009,B010,B011,C812,C815,BLK100 /Tests/*:F401,F841,D101,D102,D103,B009,B010,B011,C812,BLK100 # ============================= # per-file-ignores error codes: Loading @@ -71,6 +70,7 @@ per-file-ignores = # instead callers should raise AssertionError(). # C812 missing trailing comma # C815 missing trailing comma in Python 3.5+ # BLK100 Black would make changes #Tests/*:F401 module imported but unused TODO? (88 occurrences) # F841 local variable is assigned to but never used TODO? (64 occurrences) # D101 missing docstring in public class (207 occurrences) Loading @@ -83,7 +83,7 @@ per-file-ignores = # B011 do not call assert False since python -O removes these calls; # instead callers should raise AssertionError() # C812 missing trailing comma # BLK100 Black would make changes # ======================= # flake8-quotes settings: # ======================= Loading .gitignore +6 −5 Original line number Diff line number Diff line Loading @@ -25,7 +25,6 @@ dist #Ignore all compiled python files (e.g. from running the unit tests): *.pyc *.pyo *.py{} *.py-e #Ignore all Jython class files (present if using Jython) Loading Loading @@ -60,6 +59,8 @@ Tests/biosql.ini Tests/BioSQL/temp_sqlite.db Tests/BioSQL/temp_sqlite.db-journal Tests/Cluster/cyano_result* # Created by Tests/test_BWA_tool.py: Tests/out.bam #TODO - The Tutorial doctests should leave example files after #running Tests/test_Tutorial.py Loading .travis-tox.ini +4 −4 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ whitelist_externals = # (But must compile numpy for PyPy right now) install_command = pip install --only-binary=scipy {opts} {packages} deps = numpy #Lines startings xxx: are filtered by the environment. #Leaving py36 without any dependencies (even numpy) cover: coverage Loading @@ -69,9 +70,7 @@ deps = py27,py35: mysql-connector-python-rf py35,py37: mysqlclient py27,py35,pypy: rdflib pypy,pypy3: numpy==1.12.1 pypy,pypy3: mysqlclient py27,py35,py37: numpy py37: scipy py27: networkx py37: matplotlib Loading Loading @@ -101,6 +100,8 @@ deps = flake8-rst-docstrings flake8-comprehensions flake8-bugbear;python_version>="3.5" flake8-implicit-str-concat;python_version>="3.5" flake8-black;python_version>="3.6" flake8-quotes restructuredtext_lint doc8 Loading Loading @@ -140,10 +141,9 @@ commands = python setup.py sdist --formats=gztar,zip [testenv:bdist_wheel] # This should use NumPy while compiling our C code... # This should not require NumPy while compiling our C code... skip_install = True deps = numpy commands = python setup.py bdist_wheel Loading .travis.yml +68 −18 Original line number Diff line number Diff line Loading @@ -62,31 +62,81 @@ matrix: - stage: test python: 2.7 env: TOXENV=py27-cover addons: apt: packages: - &amd64_only_packages [ bwa, ] - *default_packages - stage: test python: 3.5 env: TOXENV=py35-cover addons: apt: packages: - *amd64_only_packages - *default_packages - stage: test python: 3.6 env: TOXENV=py36-cover addons: apt: packages: - *amd64_only_packages - *default_packages - stage: test python: 3.7 env: TOXENV=py37-cover addons: apt: packages: - *amd64_only_packages - *default_packages - stage: test # TODO: Change this once a stable Python 3.8 is on TravisCI: python: 3.8-dev python: 3.8 env: TOXENV=py38-cover addons: apt: packages: - *amd64_only_packages - *default_packages - stage: test python: 3.8 env: TOXENV=py38-nocov arch: arm64 services: addons: apt: packages: - stage: test python: 3.8 env: TOXENV=py38-nocov arch: ppc64le - stage: test python: 3.8 env: TOXENV=py38-cover arch: s390x - stage: test python: pypy env: TOXENV=pypy-nocov addons: apt: packages: - *amd64_only_packages - *default_packages - stage: test python: pypy3 env: TOXENV=pypy3-nocov sudo: false addons: apt: packages: - bwa - *amd64_only_packages - *default_packages allow_failures: - arch: arm64 addons: apt: packages: &default_packages - clustalo - clustalw - emboss Loading @@ -102,8 +152,6 @@ addons: # We setup $HOME/bin and add it to the $PATH for extra binaries we're using. # # There is a phyml Ubuntu package, but currently too old. # # There is no GenePop Ubuntu pacakge, although it is in BioConda. # # We also need DSSP for testing but it is not available in the repositories. Loading @@ -114,26 +162,28 @@ before_install: - pushd $HOME - mkdir -p bin - export PATH=$HOME/bin:$PATH - echo "Installing PhyML" - curl -L -O http://www.atgc-montpellier.fr/download/binaries/phyml/PhyML-3.1.zip - unzip PhyML-3.1.zip - mv PhyML-3.1/PhyML-3.1_linux64 bin/phyml #- echo "Installing dssp" #- curl -L -O ftp://ftp.cmbi.ru.nl/pub/software/dssp/dssp-2.0.4-linux-amd64 #- mv dssp-2.0.4-linux-amd64 bin/dssp #- chmod a+x bin/dssp - echo "Installing Genepop" - curl -L -O https://anaconda.org/bioconda/genepop/4.5.1/download/linux-64/genepop-4.5.1-0.tar.bz2 - | if [ $TRAVIS_CPU_ARCH == amd64 ]; then echo "Installing Genepop" curl -L -O https://anaconda.org/bioconda/genepop/4.5.1/download/linux-64/genepop-4.5.1-0.tar.bz2 # This will create ./bin/Genepop and a harmless ./info/ folder. - tar -jxvf genepop-4.5.1-0.tar.bz2 tar -jxvf genepop-4.5.1-0.tar.bz2 fi # Setup environment for t-coffee - mkdir -p $HOME/tcoffee_temp - export HOME_4_TCOFFEE=$HOME/tcoffee_temp - popd - cp Tests/biosql.ini.sample Tests/biosql.ini - psql -c "create database biosql_test;" -U postgres - psql -c "create user biosql_user with encrypted password 'biosql_pass';" -U postgres - psql -c "grant all privileges on database biosql_test to biosql_user;" -U postgres - | if [ $TRAVIS_CPU_ARCH == amd64 ]; then psql -c "create database biosql_test;" -U postgres psql -c "create user biosql_user with encrypted password 'biosql_pass';" -U postgres psql -c "grant all privileges on database biosql_test to biosql_user;" -U postgres fi # This is minimal and used under all stages Loading Bio/Align/Applications/_Dialign.py +9 −9 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ class DialignCommandline(AbstractCommandline): self.parameters = \ [ _Switch(["-afc", "afc"], "Creates additional output file '*.afc' " r"Creates additional output file '\*.afc' " "containing data of all fragments considered " "for alignment WARNING: this file can be HUGE !"), _Switch(["-afc_v", "afc_v"], Loading @@ -70,7 +70,7 @@ class DialignCommandline(AbstractCommandline): _Switch(["-fa", "fa"], "Additional output file in FASTA format."), _Switch(["-ff", "ff"], "Creates file *.frg containing information about all " r"Creates file \*.frg containing information about all " "fragments that are part of the respective optimal " "pairwise alignmnets plus information about " "consistency in the multiple alignment"), Loading @@ -78,10 +78,10 @@ class DialignCommandline(AbstractCommandline): "Output files are named <out_file>.<extension>.", equate=False), _Switch(["-fop", "fop"], "Creates file *.fop containing coordinates of all " r"Creates file \*.fop containing coordinates of all " "fragments that are part of the respective pairwise alignments."), _Switch(["-fsm", "fsm"], "Creates file *.fsm containing coordinates of all " r"Creates file \*.fsm containing coordinates of all " "fragments that are part of the final alignment"), _Switch(["-iw", "iw"], "Overlap weights switched off (by default, overlap " Loading @@ -104,7 +104,7 @@ class DialignCommandline(AbstractCommandline): checker_function=lambda x: isinstance(x, int), equate=False), _Switch(["-lo", "lo"], "(Long Output) Additional file *.log with information " r"(Long Output) Additional file \*.log with information " "about fragments selected for pairwise alignment and " "about consistency in multi-alignment procedure."), _Switch(["-ma", "ma"], Loading @@ -112,10 +112,10 @@ class DialignCommandline(AbstractCommandline): "N-fragments if nucleic acid sequences are aligned."), _Switch(["-mask", "mask"], "Residues not belonging to selected fragments are " "replaced by '*' characters in output alignment " r"replaced by '\*' characters in output alignment " "(rather than being printed in lower-case characters)"), _Switch(["-mat", "mat"], "Creates file *mat with substitution counts derived " r"Creates file \*mat with substitution counts derived " "from the fragments that have been selected for alignment."), _Switch(["-mat_thr", "mat_thr"], "Like '-mat' but only fragments with weight score " Loading Loading @@ -150,7 +150,7 @@ class DialignCommandline(AbstractCommandline): "are used only if up to 35 sequences are aligned since " "calculating overlap weights is time consuming)."), _Switch(["-pst", "pst"], "'print status'. Creates and updates a file *.sta with " r"'print status'. Creates and updates a file \*.sta with " "information about the current status of the program " "run. This option is recommended if large data sets " "are aligned since it allows the user to estimate the " Loading @@ -161,7 +161,7 @@ class DialignCommandline(AbstractCommandline): "alignment or alignment of translated DNA fragments " "at the expense of sensitivity."), _Option(["-stars", "stars"], "Maximum number of '*' characters indicating degree " r"Maximum number of '\*' characters indicating degree " "of local similarity among sequences. By default, no " "stars are used but numbers between 0 and 9, instead.", checker_function=lambda x: x in range(0, 10), Loading Loading
.flake8 +6 −6 Original line number Diff line number Diff line Loading @@ -40,20 +40,19 @@ ignore = # ========================================= # Optional ignores for local installations: # ========================================= BLK100, # Black would make changes, only on local installations (so far) PIE781, # Assigning to temp variable and then returning, not enforcing # ======================== # Folder specific ignores: # ======================== per-file-ignores = Bio/*:E122,E126,F401,F841,D105,B009,B010,B011,C812,C815 Tests/*:F401,F841,D101,D102,D103,B009,B010,B011,C812 Bio/*:E122,E126,F401,F841,D105,B009,B010,B011,C812,C815,BLK100 Tests/*:F401,F841,D101,D102,D103,B009,B010,B011,C812,BLK100 # Due to a bug in flake8, we need the following lines for running the # pre-commit hook. If you made edits above, please change also here! /Bio/*:E122,E126,F401,F841,D105,B009,B010,B011,C812,C815 /Tests/*:F401,F841,D101,D102,D103,B009,B010,B011,C812 /Bio/*:E122,E126,F401,F841,D105,B009,B010,B011,C812,C815,BLK100 /Tests/*:F401,F841,D101,D102,D103,B009,B010,B011,C812,BLK100 # ============================= # per-file-ignores error codes: Loading @@ -71,6 +70,7 @@ per-file-ignores = # instead callers should raise AssertionError(). # C812 missing trailing comma # C815 missing trailing comma in Python 3.5+ # BLK100 Black would make changes #Tests/*:F401 module imported but unused TODO? (88 occurrences) # F841 local variable is assigned to but never used TODO? (64 occurrences) # D101 missing docstring in public class (207 occurrences) Loading @@ -83,7 +83,7 @@ per-file-ignores = # B011 do not call assert False since python -O removes these calls; # instead callers should raise AssertionError() # C812 missing trailing comma # BLK100 Black would make changes # ======================= # flake8-quotes settings: # ======================= Loading
.gitignore +6 −5 Original line number Diff line number Diff line Loading @@ -25,7 +25,6 @@ dist #Ignore all compiled python files (e.g. from running the unit tests): *.pyc *.pyo *.py{} *.py-e #Ignore all Jython class files (present if using Jython) Loading Loading @@ -60,6 +59,8 @@ Tests/biosql.ini Tests/BioSQL/temp_sqlite.db Tests/BioSQL/temp_sqlite.db-journal Tests/Cluster/cyano_result* # Created by Tests/test_BWA_tool.py: Tests/out.bam #TODO - The Tutorial doctests should leave example files after #running Tests/test_Tutorial.py Loading
.travis-tox.ini +4 −4 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ whitelist_externals = # (But must compile numpy for PyPy right now) install_command = pip install --only-binary=scipy {opts} {packages} deps = numpy #Lines startings xxx: are filtered by the environment. #Leaving py36 without any dependencies (even numpy) cover: coverage Loading @@ -69,9 +70,7 @@ deps = py27,py35: mysql-connector-python-rf py35,py37: mysqlclient py27,py35,pypy: rdflib pypy,pypy3: numpy==1.12.1 pypy,pypy3: mysqlclient py27,py35,py37: numpy py37: scipy py27: networkx py37: matplotlib Loading Loading @@ -101,6 +100,8 @@ deps = flake8-rst-docstrings flake8-comprehensions flake8-bugbear;python_version>="3.5" flake8-implicit-str-concat;python_version>="3.5" flake8-black;python_version>="3.6" flake8-quotes restructuredtext_lint doc8 Loading Loading @@ -140,10 +141,9 @@ commands = python setup.py sdist --formats=gztar,zip [testenv:bdist_wheel] # This should use NumPy while compiling our C code... # This should not require NumPy while compiling our C code... skip_install = True deps = numpy commands = python setup.py bdist_wheel Loading
.travis.yml +68 −18 Original line number Diff line number Diff line Loading @@ -62,31 +62,81 @@ matrix: - stage: test python: 2.7 env: TOXENV=py27-cover addons: apt: packages: - &amd64_only_packages [ bwa, ] - *default_packages - stage: test python: 3.5 env: TOXENV=py35-cover addons: apt: packages: - *amd64_only_packages - *default_packages - stage: test python: 3.6 env: TOXENV=py36-cover addons: apt: packages: - *amd64_only_packages - *default_packages - stage: test python: 3.7 env: TOXENV=py37-cover addons: apt: packages: - *amd64_only_packages - *default_packages - stage: test # TODO: Change this once a stable Python 3.8 is on TravisCI: python: 3.8-dev python: 3.8 env: TOXENV=py38-cover addons: apt: packages: - *amd64_only_packages - *default_packages - stage: test python: 3.8 env: TOXENV=py38-nocov arch: arm64 services: addons: apt: packages: - stage: test python: 3.8 env: TOXENV=py38-nocov arch: ppc64le - stage: test python: 3.8 env: TOXENV=py38-cover arch: s390x - stage: test python: pypy env: TOXENV=pypy-nocov addons: apt: packages: - *amd64_only_packages - *default_packages - stage: test python: pypy3 env: TOXENV=pypy3-nocov sudo: false addons: apt: packages: - bwa - *amd64_only_packages - *default_packages allow_failures: - arch: arm64 addons: apt: packages: &default_packages - clustalo - clustalw - emboss Loading @@ -102,8 +152,6 @@ addons: # We setup $HOME/bin and add it to the $PATH for extra binaries we're using. # # There is a phyml Ubuntu package, but currently too old. # # There is no GenePop Ubuntu pacakge, although it is in BioConda. # # We also need DSSP for testing but it is not available in the repositories. Loading @@ -114,26 +162,28 @@ before_install: - pushd $HOME - mkdir -p bin - export PATH=$HOME/bin:$PATH - echo "Installing PhyML" - curl -L -O http://www.atgc-montpellier.fr/download/binaries/phyml/PhyML-3.1.zip - unzip PhyML-3.1.zip - mv PhyML-3.1/PhyML-3.1_linux64 bin/phyml #- echo "Installing dssp" #- curl -L -O ftp://ftp.cmbi.ru.nl/pub/software/dssp/dssp-2.0.4-linux-amd64 #- mv dssp-2.0.4-linux-amd64 bin/dssp #- chmod a+x bin/dssp - echo "Installing Genepop" - curl -L -O https://anaconda.org/bioconda/genepop/4.5.1/download/linux-64/genepop-4.5.1-0.tar.bz2 - | if [ $TRAVIS_CPU_ARCH == amd64 ]; then echo "Installing Genepop" curl -L -O https://anaconda.org/bioconda/genepop/4.5.1/download/linux-64/genepop-4.5.1-0.tar.bz2 # This will create ./bin/Genepop and a harmless ./info/ folder. - tar -jxvf genepop-4.5.1-0.tar.bz2 tar -jxvf genepop-4.5.1-0.tar.bz2 fi # Setup environment for t-coffee - mkdir -p $HOME/tcoffee_temp - export HOME_4_TCOFFEE=$HOME/tcoffee_temp - popd - cp Tests/biosql.ini.sample Tests/biosql.ini - psql -c "create database biosql_test;" -U postgres - psql -c "create user biosql_user with encrypted password 'biosql_pass';" -U postgres - psql -c "grant all privileges on database biosql_test to biosql_user;" -U postgres - | if [ $TRAVIS_CPU_ARCH == amd64 ]; then psql -c "create database biosql_test;" -U postgres psql -c "create user biosql_user with encrypted password 'biosql_pass';" -U postgres psql -c "grant all privileges on database biosql_test to biosql_user;" -U postgres fi # This is minimal and used under all stages Loading
Bio/Align/Applications/_Dialign.py +9 −9 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ class DialignCommandline(AbstractCommandline): self.parameters = \ [ _Switch(["-afc", "afc"], "Creates additional output file '*.afc' " r"Creates additional output file '\*.afc' " "containing data of all fragments considered " "for alignment WARNING: this file can be HUGE !"), _Switch(["-afc_v", "afc_v"], Loading @@ -70,7 +70,7 @@ class DialignCommandline(AbstractCommandline): _Switch(["-fa", "fa"], "Additional output file in FASTA format."), _Switch(["-ff", "ff"], "Creates file *.frg containing information about all " r"Creates file \*.frg containing information about all " "fragments that are part of the respective optimal " "pairwise alignmnets plus information about " "consistency in the multiple alignment"), Loading @@ -78,10 +78,10 @@ class DialignCommandline(AbstractCommandline): "Output files are named <out_file>.<extension>.", equate=False), _Switch(["-fop", "fop"], "Creates file *.fop containing coordinates of all " r"Creates file \*.fop containing coordinates of all " "fragments that are part of the respective pairwise alignments."), _Switch(["-fsm", "fsm"], "Creates file *.fsm containing coordinates of all " r"Creates file \*.fsm containing coordinates of all " "fragments that are part of the final alignment"), _Switch(["-iw", "iw"], "Overlap weights switched off (by default, overlap " Loading @@ -104,7 +104,7 @@ class DialignCommandline(AbstractCommandline): checker_function=lambda x: isinstance(x, int), equate=False), _Switch(["-lo", "lo"], "(Long Output) Additional file *.log with information " r"(Long Output) Additional file \*.log with information " "about fragments selected for pairwise alignment and " "about consistency in multi-alignment procedure."), _Switch(["-ma", "ma"], Loading @@ -112,10 +112,10 @@ class DialignCommandline(AbstractCommandline): "N-fragments if nucleic acid sequences are aligned."), _Switch(["-mask", "mask"], "Residues not belonging to selected fragments are " "replaced by '*' characters in output alignment " r"replaced by '\*' characters in output alignment " "(rather than being printed in lower-case characters)"), _Switch(["-mat", "mat"], "Creates file *mat with substitution counts derived " r"Creates file \*mat with substitution counts derived " "from the fragments that have been selected for alignment."), _Switch(["-mat_thr", "mat_thr"], "Like '-mat' but only fragments with weight score " Loading Loading @@ -150,7 +150,7 @@ class DialignCommandline(AbstractCommandline): "are used only if up to 35 sequences are aligned since " "calculating overlap weights is time consuming)."), _Switch(["-pst", "pst"], "'print status'. Creates and updates a file *.sta with " r"'print status'. Creates and updates a file \*.sta with " "information about the current status of the program " "run. This option is recommended if large data sets " "are aligned since it allows the user to estimate the " Loading @@ -161,7 +161,7 @@ class DialignCommandline(AbstractCommandline): "alignment or alignment of translated DNA fragments " "at the expense of sensitivity."), _Option(["-stars", "stars"], "Maximum number of '*' characters indicating degree " r"Maximum number of '\*' characters indicating degree " "of local similarity among sequences. By default, no " "stars are used but numbers between 0 and 9, instead.", checker_function=lambda x: x in range(0, 10), Loading