Previous changeset 43:e7e9732ebed6 (2020-08-16) Next changeset 45:668c37cc8962 (2020-08-16) |
Commit message:
Deleted selected files |
removed:
toolfactory/.github/workflows/commit.yml toolfactory/.gitignore toolfactory/.shed.yml toolfactory/html_dir.py toolfactory/testtf.sh |
b |
diff -r e7e9732ebed6 -r 23ad2924bf78 toolfactory/.github/workflows/commit.yml --- a/toolfactory/.github/workflows/commit.yml Sun Aug 16 08:51:14 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
@@ -1,68 +0,0 @@ -name: Galaxy Tool Linting and Tests for PR -# run planemo on a git repository containing a single tool -# as a github action. Does NOT run flake8. So, bite me. -# ross lazarus august 2020 -on: [pull_request,push] -env: - GALAXY_REPO: https://github.com/galaxyproject/galaxy - GALAXY_RELEASE: release_20.05 -jobs: - setup: - name: setup environment and python - runs-on: ubuntu-latest - strategy: - matrix: - python-version: [3.7] - steps: - - name: Print github context properties - run: | - echo 'event: ${{ github.event_name }}' - echo 'sha: ${{ github.sha }}' - echo 'ref: ${{ github.ref }}' - echo 'head_ref: ${{ github.head_ref }}' - echo 'base_ref: ${{ github.base_ref }}' - echo 'event.before: ${{ github.event.before }}' - echo 'event.after: ${{ github.event.after }}' - - uses: actions/setup-python@v1 - with: - python-version: ${{ matrix.python-version }} - - uses: actions/checkout@v2 - with: - # planemo does not seem to want to install the requirement galaxyxml - # into the venv it manages at tool testing so do it the old skool way - repository: 'galaxyproject/galaxy' - path: 'galaxy' - - name: make venv ready for this galaxy and planemo - run: | - python3 -m venv $GITHUB_WORKSPACE/galaxy/.venv - . $GITHUB_WORKSPACE/galaxy/.venv/bin/activate - pip install --upgrade pip - pip install wheel - pip install -r $GITHUB_WORKSPACE/galaxy/requirements.txt - # pip install galaxyxml # currently includes a patched working version awaiting PR merge - - name: Upgrade pip - run: pip install --upgrade pip - # Install the `wheel` package so that when installing other packages which - # are not available as wheels, pip will build a wheel for them, which can be cached. - - name: Install wheel - run: pip install wheel - - name: Install Planemo and flake8 - run: pip install planemo flake8 flake8-import-order - # galaxyxml temporarily removed until PR accepted - - uses: actions/checkout@v2 - with: - fetch-depth: 1 - - name: flake8 - run: flake8 --ignore=E2,E3,E4,E5,W3,W505 - - name: Planemo lint - run: planemo lint . - - name: Planemo test tool - run: planemo test --galaxy_root $GITHUB_WORKSPACE/galaxy --test_output tool_test_output.html --skip_venv --test_output_json tool_test_output.json --galaxy_python_version ${{ matrix.python-version }} . - - name: Copy artifacts into place - run: | - mkdir upload - mv tool_test_output.json tool_test_output.html upload/ - - uses: actions/upload-artifact@v2.0.1 - with: - name: 'All tool test results' - path: upload |
b |
diff -r e7e9732ebed6 -r 23ad2924bf78 toolfactory/.gitignore --- a/toolfactory/.gitignore Sun Aug 16 08:51:14 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
@@ -1,129 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -pip-wheel-metadata/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -.python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ |
b |
diff -r e7e9732ebed6 -r 23ad2924bf78 toolfactory/.shed.yml --- a/toolfactory/.shed.yml Sun Aug 16 08:51:14 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
@@ -1,13 +0,0 @@ -name: toolfactory -owner: fubar -description: ToolFactory - tool to make Galaxy tools ready for the toolshed -homepage_url: https://github.com/fubar2/toolfactory -long_description: | - ToolFactory - turn executable packages and R/python/perl/bash scripts into ordinary Galaxy tools - - Creating re-usable tools from scripts: The Galaxy Tool Factory Ross Lazarus; Antony Kaspi; Mark Ziemann; The Galaxy Team - Bioinformatics 2012; doi: 10.1093/bioinformatics/bts573 -remote_repository_url: https://github.com/fubar2/toolfactory -type: tool_dependency_definition -categories: -- Tool Generators |
b |
diff -r e7e9732ebed6 -r 23ad2924bf78 toolfactory/html_dir.py --- a/toolfactory/html_dir.py Sun Aug 16 08:51:14 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
b'@@ -1,180 +0,0 @@\n-\n-class tooloutHTMLifyer(self):\n-\n- def compressPDF(self,inpdf=None,thumbformat=\'png\'):\n- """need absolute path to pdf\n- note that GS gets confoozled if no $TMP or $TEMP\n- so we set it\n- """\n- assert os.path.isfile(inpdf), "## Input %s supplied to %s compressPDF not found" % (inpdf,self.myName)\n- hlog = os.path.join(self.opts.output_dir,"compress_%s.txt" % os.path.basename(inpdf))\n- sto = open(hlog,\'a\')\n- our_env = os.environ.copy()\n- our_tmp = our_env.get(\'TMP\',None)\n- if not our_tmp:\n- our_tmp = our_env.get(\'TEMP\',None)\n- if not (our_tmp and os.path.exists(our_tmp)):\n- newtmp = os.path.join(self.opts.output_dir,\'tmp\')\n- try:\n- os.mkdir(newtmp)\n- except:\n- sto.write(\'## WARNING - cannot make %s - it may exist or permissions need fixing\\n\' % newtmp)\n- our_env[\'TEMP\'] = newtmp\n- if not self.temp_warned:\n- sto.write(\'## WARNING - no $TMP or $TEMP!!! Please fix - using %s temporarily\\n\' % newtmp)\n- self.temp_warned = True \n- outpdf = \'%s_compressed\' % inpdf\n- cl = ["gs", "-sDEVICE=pdfwrite", "-dNOPAUSE", "-dUseCIEColor", "-dBATCH","-dPDFSETTINGS=/printer", "-sOutputFile=%s" % outpdf,inpdf]\n- x = subprocess.Popen(cl,stdout=sto,stderr=sto,cwd=self.opts.output_dir,env=our_env)\n- retval1 = x.wait()\n- sto.close()\n- if retval1 == 0:\n- os.unlink(inpdf)\n- shutil.move(outpdf,inpdf)\n- os.unlink(hlog)\n- hlog = os.path.join(self.opts.output_dir,"thumbnail_%s.txt" % os.path.basename(inpdf))\n- sto = open(hlog,\'w\')\n- outpng = \'%s.%s\' % (os.path.splitext(inpdf)[0],thumbformat)\n- if self.useGM: \n- cl2 = [\'gm\', \'convert\', inpdf, outpng]\n- else: # assume imagemagick\n- cl2 = [\'convert\', inpdf, outpng]\n- x = subprocess.Popen(cl2,stdout=sto,stderr=sto,cwd=self.opts.output_dir,env=our_env)\n- retval2 = x.wait()\n- sto.close()\n- if retval2 == 0:\n- os.unlink(hlog)\n- retval = retval1 or retval2\n- return retval\n-\n-\n- def getfSize(self,fpath,outpath):\n- """\n- format a nice file size string\n- """\n- size = \'\'\n- fp = os.path.join(outpath,fpath)\n- if os.path.isfile(fp):\n- size = \'0 B\'\n- n = float(os.path.getsize(fp))\n- if n > 2**20:\n- size = \'%1.1f MB\' % (n/2**20)\n- elif n > 2**10:\n- size = \'%1.1f KB\' % (n/2**10)\n- elif n > 0:\n- size = \'%d B\' % (int(n))\n- return size\n-\n- def makeHtml(self):\n- """ Create an HTML file content to list all the artifacts found in the output_dir\n- """\n-\n- galhtmlprefix = """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> \n- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> \n- <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> \n- <meta name="generator" content="Galaxy %s tool output - see http://g2.trac.bx.psu.edu/" /> \n- <title></title> \n- <link rel="stylesheet" href="/static/style/base.css" type="text/css" /> \n- </head> \n- <body> \n- <div class="toolFormBody"> \n- """ \n- galhtmlattr = """<hr/><div class="infomessage">This tool (%s) was generated by the <a href="https://bitbucket.org/fubar/galaxytoolfactory/overview">Galaxy Tool Factory</a></div><br/>""" \n- galhtmlpostfix = """</div></body></html>\\n"""\n-\n- flist = os.listdir(self.opts.output_dir)\n- flist = [x for x in flist if x != \'Rplots.pdf\']\n- flist.sort()\n- html = []\n- html.append(galhtmlprefix % progname)\n- html.append(\'<div class="infomessage">Galaxy T'..b'% (fname,fname,sfsize))\n- else:\n- fhtml.append(\'<tr><td><a href="%s">%s</a></td><td>%s</td></tr>\' % (fname,fname,sfsize))\n- for logfname in logfiles: # expect at least tlog - if more\n- if os.path.abspath(logfname) == os.path.abspath(self.tlog): # handled later\n- sectionname = \'All tool run\'\n- if (len(logfiles) > 1):\n- sectionname = \'Other\'\n- ourpdfs = pdflist\n- else:\n- realname = os.path.basename(logfname)\n- sectionname = os.path.splitext(realname)[0].split(\'_\')[0] # break in case _ added to log\n- ourpdfs = [x for x in pdflist if os.path.basename(x[0]).split(\'_\')[0] == sectionname]\n- pdflist = [x for x in pdflist if os.path.basename(x[0]).split(\'_\')[0] != sectionname] # remove\n- nacross = 1\n- npdf = len(ourpdfs)\n-\n- if npdf > 0:\n- nacross = math.sqrt(npdf) ## int(round(math.log(npdf,2)))\n- if int(nacross)**2 != npdf:\n- nacross += 1\n- nacross = int(nacross)\n- width = min(400,int(1200/nacross))\n- html.append(\'<div class="toolFormTitle">%s images and outputs</div>\' % sectionname)\n- html.append(\'(Click on a thumbnail image to download the corresponding original PDF image)<br/>\')\n- ntogo = nacross # counter for table row padding with empty cells\n- html.append(\'<div><table class="simple" cellpadding="2" cellspacing="2">\\n<tr>\')\n- for i,paths in enumerate(ourpdfs): \n- fname,thumb = paths\n- s= """<td><a href="%s"><img src="%s" title="Click to download a PDF of %s" hspace="5" width="%d" \n- alt="Image called %s"/></a></td>\\n""" % (fname,thumb,fname,width,fname)\n- if ((i+1) % nacross == 0):\n- s += \'</tr>\\n\'\n- ntogo = 0\n- if i < (npdf - 1): # more to come\n- s += \'<tr>\'\n- ntogo = nacross\n- else:\n- ntogo -= 1\n- html.append(s)\n- if html[-1].strip().endswith(\'</tr>\'):\n- html.append(\'</table></div>\\n\')\n- else:\n- if ntogo > 0: # pad\n- html.append(\'<td> </td>\'*ntogo)\n- html.append(\'</tr></table></div>\\n\')\n- logt = open(logfname,\'r\').readlines()\n- logtext = [x for x in logt if x.strip() > \'\']\n- html.append(\'<div class="toolFormTitle">%s log output</div>\' % sectionname)\n- if len(logtext) > 1:\n- html.append(\'\\n<pre>\\n\')\n- html += logtext\n- html.append(\'\\n</pre>\\n\')\n- else:\n- html.append(\'%s is empty<br/>\' % logfname)\n- if len(fhtml) > 0:\n- fhtml.insert(0,\'<div><table class="colored" cellpadding="3" cellspacing="3"><tr><th>Output File Name (click to view)</th><th>Size</th></tr>\\n\')\n- fhtml.append(\'</table></div><br/>\')\n- html.append(\'<div class="toolFormTitle">All output files available for downloading</div>\\n\')\n- html += fhtml # add all non-pdf files to the end of the display\n- else:\n- html.append(\'<div class="warningmessagelarge">### Error - %s returned no files - please confirm that parameters are sane</div>\' % self.opts.interpreter)\n- html.append(galhtmlpostfix)\n- htmlf = file(self.opts.output_html,\'w\')\n- htmlf.write(\'\\n\'.join(html))\n- htmlf.write(\'\\n\')\n- htmlf.close()\n- self.html = html\n-\n-\n' |
b |
diff -r e7e9732ebed6 -r 23ad2924bf78 toolfactory/testtf.sh --- a/toolfactory/testtf.sh Sun Aug 16 08:51:14 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
@@ -1,2 +0,0 @@ -planemo test --no_cleanup --no_dependency_resolution --skip_venv --galaxy_root ~/galaxy ~/galaxy/tools/tool_makers/toolfactory &>foo - |