Mercurial > repos > iuc > gem_knockout
comparison gem_knockout.xml @ 0:098cb458609f draft default tip
planemo upload for repository https://github.com/AlmaasLab/elixir-galaxy-tools-systemsbiology commit 3f7bec1264a86e1488ee1315dbac0f44675f5171
| author | iuc |
|---|---|
| date | Fri, 13 Dec 2024 21:31:47 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:098cb458609f |
|---|---|
| 1 <tool id="gem_knockout" name="Gene knockout analysis" version="@VERSION@" profile="@PROFILE@"> | |
| 2 <description> | |
| 3 on a GEM | |
| 4 </description> | |
| 5 <macros> | |
| 6 <import>gem_macros.xml</import> | |
| 7 </macros> | |
| 8 <expand macro="requirements"/> | |
| 9 <expand macro="version_command_cobra"/> | |
| 10 <command> | |
| 11 python '$__tool_directory__/gem_knockout.py' | |
| 12 --cb_model_location '${cb_model_location}' | |
| 13 --output '${output}' | |
| 14 --knockout_type '${knockout_type}' | |
| 15 #if $gene_knockouts: | |
| 16 --gene_knockouts '${gene_knockouts}' | |
| 17 #end if | |
| 18 #if $uptake_constraints_file: | |
| 19 --uptake_constraints_file '${uptake_constraints_file}' | |
| 20 #end if | |
| 21 </command> | |
| 22 <inputs> | |
| 23 <expand macro="input_model"/> | |
| 24 <param name="knockout_type" type="select" label="Type of knockout analysis"> | |
| 25 <option value="single">Single gene knockouts</option> | |
| 26 <option value="double">Double gene knockouts</option> | |
| 27 </param> | |
| 28 <param name="gene_knockouts" type="text" optional="true" label="Specific genes to knockout (comma-separated)" help="Leave empty to analyze all genes"> | |
| 29 <validator type="regex" message="Genes must be comma-separated, alphanumeric, and underscore characters only">^([a-zA-Z0-9_]+,?)+$</validator> | |
| 30 </param> | |
| 31 <expand macro="input_uptake_constraints"/> | |
| 32 </inputs> | |
| 33 <outputs> | |
| 34 <expand macro="output"/> | |
| 35 </outputs> | |
| 36 <tests> | |
| 37 <!-- Test 1: Single gene knockout analysis --> | |
| 38 <test> | |
| 39 <param name="cb_model_location" value="textbook_model_cobrapy.xml"/> | |
| 40 <param name="knockout_type" value="single"/> | |
| 41 <output name="output" file="expected_single_knockout.csv"/> | |
| 42 </test> | |
| 43 <!-- Test 2: Single gene knockout analysis with specific genes --> | |
| 44 <test> | |
| 45 <param name="cb_model_location" value="textbook_model_cobrapy.xml"/> | |
| 46 <param name="knockout_type" value="single"/> | |
| 47 <param name="gene_knockouts" value="b0351,b2296"/> | |
| 48 <output name="output"> | |
| 49 <assert_contents> | |
| 50 <has_line line="reaction_id;ko_gene_id_1;ko_gene_id_2;reaction;wildtype_flux;knockout_flux"/> | |
| 51 </assert_contents> | |
| 52 </output> | |
| 53 </test> | |
| 54 <!-- Test 3: Double gene knockout analysis --> | |
| 55 <test> | |
| 56 <param name="cb_model_location" value="textbook_model_cobrapy.xml"/> | |
| 57 <param name="knockout_type" value="double"/> | |
| 58 <param name="gene_knockouts" value="b0351,b2296,b1849"/> | |
| 59 <output name="output"> | |
| 60 <assert_contents> | |
| 61 <has_line line="reaction_id;ko_gene_id_1;ko_gene_id_2;reaction;wildtype_flux;knockout_flux"/> | |
| 62 </assert_contents> | |
| 63 </output> | |
| 64 </test> | |
| 65 <!-- Test 4: Single gene knockout analysis with uptake constraints --> | |
| 66 <test> | |
| 67 <param name="cb_model_location" value="textbook_model_cobrapy.xml"/> | |
| 68 <param name="knockout_type" value="single"/> | |
| 69 <param name="uptake_constraints_file" value="textbook_model_cobrapy_exchange.csv"/> | |
| 70 <output name="output"> | |
| 71 <assert_contents> | |
| 72 <has_line line="reaction_id;ko_gene_id_1;ko_gene_id_2;reaction;wildtype_flux;knockout_flux"/> | |
| 73 </assert_contents> | |
| 74 </output> | |
| 75 </test> | |
| 76 <!-- Test 5: Double gene knockout analysis with invalid model file --> | |
| 77 <test expect_failure="true"> | |
| 78 <param name="cb_model_location" value="invalid_format.txt"/> | |
| 79 <assert_stderr> | |
| 80 <has_text text="The model could not be read"/> | |
| 81 </assert_stderr> | |
| 82 </test> | |
| 83 <!-- Test 5: Double gene knockout analysis with invalid gene names --> | |
| 84 <test expect_failure="true"> | |
| 85 <param name="cb_model_location" value="textbook_model_cobrapy.xml"/> | |
| 86 <param name="knockout_type" value="double"/> | |
| 87 <param name="gene_knockouts" value="abc,123"/> | |
| 88 <assert_stderr> | |
| 89 <has_text text="One or more of the genes to knockout are not present in the model"/> | |
| 90 </assert_stderr> | |
| 91 </test> | |
| 92 </tests> | |
| 93 <help><![CDATA[ | |
| 94 Gene Knockout Analysis | |
| 95 | |
| 96 This tool performs single or double gene knockout analysis on a Genome-scale Metabolic Model (GEM) using Flux Balance Analysis (FBA). | |
| 97 | |
| 98 Input Parameters | |
| 99 | |
| 100 **Model File**: A GEM in SBML format (.xml) that will be analyzed. | |
| 101 | |
| 102 **Knockout Type**: Choose between: | |
| 103 - Single gene knockouts: Analyze the effect of removing one gene at a time | |
| 104 - Double gene knockouts: Analyze the effect of removing pairs of genes | |
| 105 | |
| 106 **Genes to Knockout** (optional): Specify particular genes to analyze. If left empty, all genes in the model will be analyzed. | |
| 107 | |
| 108 **Uptake Constraints File** (optional): A CSV file specifying constraints for exchange reactions. | |
| 109 | |
| 110 Output | |
| 111 | |
| 112 The tool generates a CSV file containing: | |
| 113 - Reaction IDs | |
| 114 - Knocked out gene(s) | |
| 115 - Reaction formulas | |
| 116 - Wildtype flux values | |
| 117 - Knockout flux values | |
| 118 | |
| 119 Common Issues | |
| 120 | |
| 121 - Ensure your model is well-formatted | |
| 122 - Verify that specified genes exist in the model | |
| 123 - Large models may require significant computation time, especially for double knockouts | |
| 124 ]]></help> | |
| 125 <citations> | |
| 126 <expand macro="citation_cobrapy"/> | |
| 127 </citations> | |
| 128 </tool> |
