Skip to content

Commit

Permalink
Export min / max intron length parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
pvanheus committed Oct 21, 2022
1 parent 3a51491 commit 255737a
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 22 deletions.
2 changes: 1 addition & 1 deletion galaxy/lukasa.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<tool id="lukasa" name="Lukasa" version="@TOOL_VERSION@+galaxy0" python_template_version="3.5">
<description>Align protein evidence against genomic contigs using metaeuk and spaln</description>
<macros>
<token name="@TOOL_VERSION@">0.11.0</token>
<token name="@TOOL_VERSION@">0.12.0</token>
<!-- note that this DOI is for lukasa 0.0.6 - update as needed -->
<token name="@DOI@">10.5281/zenodo.4084862</token>
</macros>
Expand Down
58 changes: 39 additions & 19 deletions lukasa.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,33 @@
import tempfile
from os.path import abspath

template = """contigs_fasta:
class: File
format: edam:format_1929
path: {}
proteins_fasta:
class: File
format: edam:format_1929
path: {}
{}

$namespaces:
edam: http://edamontology.org/
$schemas:
- http://edamontology.org/EDAM_1.18.owl
"""
def build_template(
contig_path: str,
protein_path: str,
species_table: str = "",
max_intron: str = "",
min_intron: str = "",
):
template = f"""
contigs_fasta:
class: File
format: edam:format_1929
path: {contig_path}
proteins_fasta:
class: File
format: edam:format_1929
path: {protein_path}
{max_intron}
{min_intron}
{species_table}
$namespaces:
edam: http://edamontology.org/
$schemas:
- http://edamontology.org/EDAM_1.18.owl
"""
return template


def is_fasta(input_filename):
Expand All @@ -45,6 +57,8 @@ def is_fasta(input_filename):
)
parser.add_argument("--output_filename", default="spaln_out.gff3")
parser.add_argument("--workflow_dir", default=cwl_workflow_dir)
parser.add_argument("--max_intron", type=int, help="Maximum intron length")
parser.add_argument("--min_intron", type=int, help="Minimum intron length")
parser.add_argument("contigs_filename", help="File with genomic contigs")
parser.add_argument("proteins_filename", help="File with proteins to map")
parser.add_argument("--species_table", help="spaln species table to use")
Expand All @@ -53,15 +67,21 @@ def is_fasta(input_filename):
sys.exit("Error: Input files must be in FASTA format")

cwl_input_file = tempfile.NamedTemporaryFile(delete=False, mode="w")

species_table = max_intron = min_intron = ""
if args.species_table is not None:
species_table_string = "species_table: {}".format(args.species_table)
else:
species_table_string = ""
species_table = "species_table: {}".format(args.species_table)
if args.max_intron is not None:
max_intron = f"max_intron: {args.max_intron}\n"
if args.min_intron is not None:
min_intron = f"min_intron: {args.min_intron}\n"
cwl_input_file.write(
template.format(
build_template(
abspath(args.contigs_filename),
abspath(args.proteins_filename),
species_table_string,
species_table=species_table,
max_intron=max_intron,
min_intron=min_intron,
)
)
cwl_input_file.close()
Expand Down
11 changes: 11 additions & 0 deletions protein_evidence_mapping.cwl
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@ inputs:
species_table:
label: "Spaln species table to use (optional)"
type: string?
max_intron:
label: "Maximum intron length"
type: int?
doc: "Maximum intron length, passed to metaeuk"
min_intron:
label: "Minimum intron length"
type: int?
doc: "Minimum intron length, passed to metaeuk and spaln"
outputs:
spaln_out:
type: File
Expand All @@ -30,6 +38,8 @@ steps:
in:
contigs: contigs_fasta
query: proteins_fasta
max_intron: max_intron
min_intron: min_intron
out:
- output_fasta
samtools_index_contigs:
Expand Down Expand Up @@ -80,6 +90,7 @@ steps:
genome_fasta: extract_region_pairs/contig_fasta
query_fasta: extract_region_pairs/protein_fasta
species: species_table
min_intron: min_intron
output_format:
default: 0
out:
Expand Down
4 changes: 2 additions & 2 deletions tools/metaeuk_easy_predict.cwl
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ inputs:
prefix: --metaeuk-eval
position: 1
max_intron:
type: float?
type: int?
inputBinding:
prefix: --max-intron
position: 1
Expand All @@ -29,7 +29,7 @@ inputs:
prefix: --metaeuk-tcov
position: 1
min_intron:
type: float?
type: int?
inputBinding:
prefix: --min-intron
position: 1
Expand Down
5 changes: 5 additions & 0 deletions tools/spaln.cwl
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ inputs:
format: edam:format_1929
inputBinding:
position: 10
min_intron:
type: int?
inputBinding:
prefix: -yL
position: 1
output_format:
type: int?
inputBinding:
Expand Down

0 comments on commit 255737a

Please sign in to comment.