Permalink
...
Checking mergeability…
Don’t worry, you can still create the pull request.
Comparing changes
Open a pull request
- 9 commits
- 9 files changed
- 0 commit comments
- 1 contributor
Unified
Split
Showing
with
648 additions
and 0 deletions.
- +15 −0 DNAnexus/Makefile
- +35 −0 DNAnexus/Readme.developer.md
- +51 −0 DNAnexus/Readme.md
- +137 −0 DNAnexus/dxapp.json
- +12 −0 DNAnexus/src/Makefile
- +2 −0 DNAnexus/src/_tags
- +316 −0 DNAnexus/src/dxPhyloCSF.ml
- +16 −0 DNAnexus/src/run.sh
- +64 −0 DNAnexus/test/test.sh
View
15
DNAnexus/Makefile
| @@ -0,0 +1,15 @@ | ||
| +all: default | ||
| + | ||
| +default: | ||
| + rm -rf resources/PhyloCSF* | ||
| + mkdir -p resources | ||
| + cp -r ../PhyloCSF ../PhyloCSF.Linux.x86_64 ../PhyloCSF_Parameters resources | ||
| + $(MAKE) -C src all | ||
| + | ||
| +clean: | ||
| + $(MAKE) -C src clean | ||
| + | ||
| +test: all | ||
| + test/test.sh | ||
| + | ||
| +.PHONY: all default clean test |
View
35
DNAnexus/Readme.developer.md
| @@ -0,0 +1,35 @@ | ||
| +# PhyloCSF Developer Readme | ||
| + | ||
| +<!-- | ||
| +TODO: Please edit this Readme.developer.md file to include information | ||
| +for developers or advanced users, for example: | ||
| + | ||
| +* Information about app internals and implementation details | ||
| +* How to report bugs or contribute to development | ||
| +--> | ||
| + | ||
| +## Running this app with additional computational resources | ||
| + | ||
| +This app has the following entry points: | ||
| + | ||
| +* main | ||
| +* process | ||
| +* postprocess | ||
| + | ||
| +When running this app, you can override the instance type to be used for each | ||
| +entry point by providing the ``systemRequirements`` field to | ||
| +```/applet-XXXX/run``` or ```/app-XXXX/run```, as follows: | ||
| + | ||
| + { | ||
| + systemRequirements: { | ||
| + "main": {"instanceType": "dx_m1.large"}, | ||
| + "process": {"instanceType": "dx_m1.large"}, | ||
| + "postprocess": {"instanceType": "dx_m1.large"} | ||
| + }, | ||
| + [...] | ||
| + } | ||
| + | ||
| +See <a | ||
| +href="http://wiki.dnanexus.com/API-Specification-v1.0.0/IO-and-Run-Specifications#Run-Specification">Run | ||
| +Specification</a> in the API documentation for more information about the | ||
| +available instance types. |
View
51
DNAnexus/Readme.md
| @@ -0,0 +1,51 @@ | ||
| +<!-- dx-header --> | ||
| +# PhyloCSF (DNAnexus Platform App) | ||
| + | ||
| +Phylogenetic analysis of multi-species genome sequence alignments to identify conserved protein-coding regions | ||
| + | ||
| +This is the source code for an app that runs on the DNAnexus Platform. | ||
| +For more information about how to run or modify it, see | ||
| +http://wiki.dnanexus.com/. | ||
| +<!-- /dx-header --> | ||
| + | ||
| + | ||
| + | ||
| +<!-- | ||
| +TODO: This app directory was automatically generated by dx-app-wizard; | ||
| +please edit this Readme.md file to include essential documentation about | ||
| +your app that would be helpful to users. (Also see the | ||
| +Readme.developer.md.) Once you're done, you can remove these TODO | ||
| +comments. | ||
| + | ||
| +For more info, see http://wiki.dnanexus.com/Developer-Portal. | ||
| +--> | ||
| + | ||
| +<!-- | ||
| +TODO: Fill in additional info about how to use each input and output | ||
| +below. | ||
| +--> | ||
| + | ||
| +## Inputs | ||
| + | ||
| +* **alignments** the ``CrossSpeciesAlignments`` to evaluate, usually generated by the MAF Stitcher app | ||
| +* **output_name** name of the output table | ||
| +* **alignments_per_job** controls the degree of parallelization | ||
| +* **species_set** usually auto-detected for alignments produced by the MAF Stitcher app | ||
| +* **frames** search over three or six reading frames | ||
| +* **orf** search over ORFs within each alignment | ||
| +* **min_codons** minimum length considered in ORF search mode (with ``orf != AsIs``) | ||
| + | ||
| +## Advanced Inputs | ||
| + | ||
| +* **strategy** model and parameter optimization strategy | ||
| +* **all_scores** report all scores computed (with ``frames != 1`` or ``orf != AsIs``) | ||
| +* **bls** include a Branch Length Score along with PhyloCSF score in output table | ||
| +* **anc_comp** include an ancestral composition score along with PhyloCSF score in output table | ||
| +* **dna** include evaluated DNA sequence in output table | ||
| +* **aa** include evaluated amino acid sequence in output table | ||
| +* **instance_type** instance type for parallel jobs | ||
| + | ||
| +## Outputs | ||
| + | ||
| +* **scores** | ||
| +* **errors** number of alignments without scores (see job log for details) |
View
137
DNAnexus/dxapp.json
| @@ -0,0 +1,137 @@ | ||
| +{ | ||
| + "name": "PhyloCSF", | ||
| + "title": "PhyloCSF", | ||
| + "summary": "Phylogenetic analysis of multi-species genome sequence alignments to identify conserved protein-coding regions", | ||
| + "dxapi": "1.0.0", | ||
| + "version": "0.1.0", | ||
| + "inputSpec": [ | ||
| + { | ||
| + "name": "alignments", | ||
| + "class": "gtable", | ||
| + "type": "CrossSpeciesAlignments", | ||
| + "optional": false, | ||
| + "help": "Alignments to evaluate, usually generated by the MAF Stitcher app" | ||
| + }, | ||
| + { | ||
| + "name": "output_name", | ||
| + "class": "string", | ||
| + "optional": true, | ||
| + "help": "Name of output table" | ||
| + }, | ||
| + { | ||
| + "name": "alignments_per_job", | ||
| + "class": "int", | ||
| + "optional": true, | ||
| + "default": 500, | ||
| + "help": "Degree of parallelization" | ||
| + }, | ||
| + { | ||
| + "name": "species_set", | ||
| + "class": "string", | ||
| + "choices": ["12flies", "29mammals"], | ||
| + "optional": true, | ||
| + "help": "Usually auto-detected for alignments produced by the MAF Stitcher app" | ||
| + }, | ||
| + { | ||
| + "name": "frames", | ||
| + "class": "int", | ||
| + "choices": [1,3,6], | ||
| + "optional": true, | ||
| + "default": 1, | ||
| + "help": "Search over three or six reading frames" | ||
| + }, | ||
| + { | ||
| + "name": "orf", | ||
| + "class": "string", | ||
| + "choices": ["AsIs", "ATGStop", "StopStop", "StopStop3", "ToFirstStop", "FromLastStop", "ToOrFromStop"], | ||
| + "optional": true, | ||
| + "default": "AsIs", | ||
| + "help": "Search over ORFs within each alignment (usually with frames=3 or frames=6)" | ||
| + }, | ||
| + { | ||
| + "name": "min_codons", | ||
| + "class": "int", | ||
| + "optional": true, | ||
| + "default": 25, | ||
| + "help": "Minimum length considered in ORF search mode (with orf != AsIs)" | ||
| + }, | ||
| + { | ||
| + "name": "strategy", | ||
| + "class": "string", | ||
| + "choices": ["mle", "fixed", "omega"], | ||
| + "optional": true, | ||
| + "default": "mle", | ||
| + "group": "Advanced", | ||
| + "help": "Model and parameter optimization strategy" | ||
| + }, | ||
| + { | ||
| + "name": "all_scores", | ||
| + "class": "boolean", | ||
| + "optional": true, | ||
| + "default": false, | ||
| + "group": "Advanced", | ||
| + "help": "Report all scores computed (with frames != 1 or orf != AsIs)" | ||
| + }, | ||
| + { | ||
| + "name": "bls", | ||
| + "class": "boolean", | ||
| + "optional": true, | ||
| + "default": false, | ||
| + "group": "Advanced", | ||
| + "help": "Include a Branch Length Score along with PhyloCSF score in output table" | ||
| + }, | ||
| + { | ||
| + "name": "anc_comp", | ||
| + "class": "boolean", | ||
| + "optional": true, | ||
| + "default": false, | ||
| + "group": "Advanced", | ||
| + "help": "Include an ancestral composition score along with PhyloCSF score in output table" | ||
| + }, | ||
| + { | ||
| + "name": "dna", | ||
| + "class": "boolean", | ||
| + "optional": true, | ||
| + "default": false, | ||
| + "group": "Advanced", | ||
| + "help": "Include evaluted DNA sequence in output table" | ||
| + }, | ||
| + { | ||
| + "name": "aa", | ||
| + "class": "boolean", | ||
| + "optional": true, | ||
| + "default": false, | ||
| + "group": "Advanced", | ||
| + "help": "Include evaluated amino acid sequence in output table" | ||
| + }, | ||
| + { | ||
| + "name": "instance_type", | ||
| + "class": "string", | ||
| + "choices": ["dx_m1.large", "dx_c1.xlarge"], | ||
| + "optional": true, | ||
| + "group": "Advanced", | ||
| + "help": "Instance type for parallel jobs" | ||
| + } | ||
| + ], | ||
| + "outputSpec": [ | ||
| + { | ||
| + "name": "scores", | ||
| + "class": "gtable" | ||
| + }, | ||
| + { | ||
| + "name": "errors", | ||
| + "class": "int" | ||
| + } | ||
| + ], | ||
| + "runSpec": { | ||
| + "interpreter": "bash", | ||
| + "file": "src/run.sh", | ||
| + "execDepends": [ {"name": "gsl-bin"} ] | ||
| + }, | ||
| + "details": { | ||
| + "upstreamUrl": "https://github.com/mlin/PhyloCSF", | ||
| + "citations": [ | ||
| + "doi:10.1093/bioinformatics/btr209" | ||
| + ] | ||
| + } | ||
| +} |
View
12
DNAnexus/src/Makefile
| @@ -0,0 +1,12 @@ | ||
| +all: | ||
| + mkdir -p ../resources | ||
| + $(MAKE) ../resources/dxPhyloCSF | ||
| + | ||
| +../resources/dxPhyloCSF: _tags dxPhyloCSF.ml | ||
| + ocamlbuild -use-ocamlfind dxPhyloCSF.native | ||
| + mkdir -p ../resources | ||
| + cp -f dxPhyloCSF.native ../resources/dxPhyloCSF | ||
| + | ||
| +clean: | ||
| + ocamlbuild -clean | ||
| + rm -f ../resources/dxPhyloCSF |
View
2
DNAnexus/src/_tags
| @@ -0,0 +1,2 @@ | ||
| +<*.ml{,i}>: pp(ocaml+twt) | ||
| +true: package(DNAnexus), package(forkwork), thread, debug |
Oops, something went wrong.