Skip to content

Commit

Permalink
Merge pull request #8 from cokelaer/main
Browse files Browse the repository at this point in the history
add more tools
  • Loading branch information
cokelaer committed Oct 5, 2023
2 parents 89ed08a + fce2b37 commit 6f1af60
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 8 deletions.
26 changes: 19 additions & 7 deletions test/test_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,21 @@
import sys

# for testing we do not want to install all those tools/software so
# we have set testing=True, in which case some sanity checks and
# we have set testing=True, in which case some sanity checks and
# error won't be raised.
#def get_version(standalone):
# def get_version(standalone):
# return get_version_orig(standalone, testing=True)

#The mocker which is set so that when we test the presence of e.G. macs3, which is not installed,
#no error is raise


def test_macs3(fp, mocker):
mocker.patch('shutil.which', return_value="something")
fp.register(["macs3", "--version"], stdout=["macs3 3.0.0b1"])
assert get_version("macs3") == "3.0.0b1"


def test_kallisto(fp, mocker):
mocker.patch('shutil.which', return_value="something")
fp.register(["kallisto", "version"], stdout=["kallisto, version 0.48.0"])
Expand All @@ -33,32 +43,33 @@ def _test_bwa(fp, mocker):


def test_bedtools(fp, mocker):
mocker.patch('shutil.which', return_value="something")
mocker.patch("shutil.which", return_value="something")
fp.register(["bedtools", "--version"], stdout=["bedtools v2.30.0"])
assert get_version("bedtools") == "2.30.0"


def test_bamtools(fp, mocker):
mocker.patch('shutil.which', return_value="something")
mocker.patch("shutil.which", return_value="something")
fp.register(["bamtools", "--version"], stdout=["bamtools 2.5.2"])
assert get_version("bamtools") == "2.5.2"


def test_singularity(fp, mocker):
mocker.patch('shutil.which', return_value="something")
mocker.patch("shutil.which", return_value="something")
fp.register(["singularity", "version"], stdout=["3.6.2+12-gad3457a9a"])
assert get_version("singularity") == "3.6.2+12-gad3457a9a"


def test_script(fp, mocker):
from click.testing import CliRunner

runner = CliRunner()

fp.register(["bedtools", "--version"], stdout=["bedtools v2.30.0"])
mocker.patch('shutil.which', return_value="bedtools")
mocker.patch("shutil.which", return_value="bedtools")

result = runner.invoke(main, ["bedtools"])
print(result )
print(result)


def test_bedtools_error():
Expand All @@ -69,6 +80,7 @@ def test_bedtools_error():
except SystemExit:
assert True


def test_no_standalone():
try:
get_version("unknown_tool")
Expand Down
9 changes: 8 additions & 1 deletion versionix/registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"bedtools": {"options": "--version", "parser": lambda x: x.stdout.split()[1][1:]},
"bowtie": {"options": "--version", "parser": lambda x: x.stdout.split()[2]},
"bowtie2": {"options": "--version", "parser": lambda x: x.stdout.split()[2]},
"bwa": {"parser": lambda x: x.stderr.strip().split("\n")[1].split()[1], "citation": "undefined"},
"bwa": {"parser": lambda x: x.stderr.strip().split("\n")[1].split()[1]},
"cutadapt": {"options": "--version"},
"deeptools": {"options": "--version", "parser": lambda x: x.stdout.split()[1]},
"DESeq2": {
Expand All @@ -28,9 +28,16 @@
"featureCounts": {"parser": lambda x: x.stderr.split("\n")[1].split()[1], "citation": "undefined"},
"freebayes": {"options": "--version", "parser": lambda x: x.stdout.split()[1][1:]},
"gffread": {"options": "--version"},
"jellyfish": {"options": "--version", "parser": lambda x: x.stdout.split()[1]},
"kallisto": {"options": "version", "parser": lambda x: x.stdout.split()[2]},
"macs3": {
"options": "--version",
"parser": lambda x: x.stdout.split()[1],
},
"minimap2": {"options": "--version"},
"multiqc": {"options": "--version", "parser": lambda x: x.stdout.split()[2]},
"plotCorrelation": {"options": "--version", "parser": lambda x: x.stdout.split()[1]},
"plotFingerprint": {"options": "--version", "parser": lambda x: x.stdout.split()[1]},
"salmon": {"options": "--version", "parser": lambda x: x.stdout.split()[1]},
"samtools": {"options": "--version", "parser": lambda x: x.stdout.split()[1]},
"seqtk": {"parser": lambda x: x.stderr.split("\n")[2].split()[1], "citation": "undefined"},
Expand Down

0 comments on commit 6f1af60

Please sign in to comment.