Mercurial > repos > peterjc > blast_rbh
annotate tools/blast_rbh/README.rst @ 5:8f4500f6f2aa draft
Refactored to use more than one Python file (internal change only).
author | peterjc |
---|---|
date | Tue, 06 Dec 2022 15:53:36 +0000 |
parents | d8d9a9069586 |
children | b2f91cbed8d9 |
rev | line source |
---|---|
1 | 1 Find BLAST Reciprocal Best Hits (RBH), with Galaxy wrapper |
2 ========================================================== | |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
3 |
4 | 4 This tool is copyright 2011-2017 by Peter Cock, The James Hutton Institute |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
5 (formerly SCRI, Scottish Crop Research Institute), UK. All rights reserved. |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
6 See the licence text below. |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
7 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
8 This tool is a short Python script to run reciprocal BLAST searches on a |
1 | 9 pair of sequence files, and extract the reciprocal best hits. The script |
10 ``blast_rbh.py`` can be used directly (without Galaxy) as long as NCBI | |
11 BLAST+ is installed. | |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
12 |
1 | 13 It comes with an optional Galaxy tool definition file ``blast_rbh.xml`` |
14 allowing the Python script to be run from within Galaxy. It is available | |
15 from the Galaxy Tool Shed at: | |
16 http://toolshed.g2.bx.psu.edu/view/peterjc/blast_rbh | |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
17 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
18 |
2 | 19 Citation |
20 ======== | |
21 | |
22 Please cite the following paper: | |
23 | |
24 NCBI BLAST+ integrated into Galaxy. | |
25 P.J.A. Cock, J.M. Chilton, B. Gruening, J.E. Johnson, N. Soranzo | |
26 *GigaScience* 2015, 4:39 | |
5
8f4500f6f2aa
Refactored to use more than one Python file (internal change only).
peterjc
parents:
4
diff
changeset
|
27 https://doi.org/10.1186/s13742-015-0080-7 |
2 | 28 |
29 You should also cite the NCBI BLAST+ tools: | |
30 | |
31 BLAST+: architecture and applications. | |
32 C. Camacho et al. *BMC Bioinformatics* 2009, 10:421. | |
5
8f4500f6f2aa
Refactored to use more than one Python file (internal change only).
peterjc
parents:
4
diff
changeset
|
33 https://doi.org/10.1186/1471-2105-10-421 |
2 | 34 |
35 | |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
36 Automated Installation |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
37 ====================== |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
38 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
39 Installation via the Galaxy Tool Shed should take care of the Galaxy side of |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
40 things, including the dependency the NCBI BLAST+ binaries. |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
41 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
42 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
43 Manual Installation |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
44 =================== |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
45 |
5
8f4500f6f2aa
Refactored to use more than one Python file (internal change only).
peterjc
parents:
4
diff
changeset
|
46 There are just three files to install: |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
47 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
48 - ``blast_rbh.py`` (the Python script) |
5
8f4500f6f2aa
Refactored to use more than one Python file (internal change only).
peterjc
parents:
4
diff
changeset
|
49 - ``best_hits.py`` (helper script, put in same directory) |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
50 - ``blast_rbh.xml`` (the Galaxy tool definition) |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
51 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
52 The suggested location is in a ``tools/blast_rbh/`` folder. You will then |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
53 need to modify the ``tools_conf.xml`` file to tell Galaxy to offer the tool |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
54 by adding the line:: |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
55 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
56 <tool file="blast_rbh/blast_rbh.xml" /> |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
57 |
1 | 58 If you want to run the functional tests, copy the sample test files under |
59 sample test files under Galaxy's ``test-data/`` directory. Then:: | |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
60 |
1 | 61 ./run_tests.sh -id blast_reciprocal_best_hits |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
62 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
63 You will need to have the NCBI BLAST+ binaries installed and on the ``$PATH``. |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
64 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
65 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
66 History |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
67 ======= |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
68 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
69 ======= ====================================================================== |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
70 Version Changes |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
71 ------- ---------------------------------------------------------------------- |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
72 v0.1.0 - Initial Test Tool Shed release, targetting NCBI BLAST+ 2.2.29 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
73 v0.1.1 - Supports self-comparison, sometimes useful for spotting duplicates. |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
74 v0.1.2 - Using optparse for command line API. |
1 | 75 - Tool definition now embeds citation information. |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
76 - Fixed Tool Shed dependency definition. |
1 | 77 v0.1.3 - Option to make FASTA files non-redundant (via Biopython dependency). |
78 - Avoid extra database and BLAST search in self-comparison mode. | |
79 v0.1.4 - Check for duplicate FASTA identifiers (workaround for makeblastdb | |
80 not treating this as an error, leading to confusing RBH output). | |
81 v0.1.5 - Clarify documentation for using the Python script outside Galaxy. | |
82 - Updated to depend on NCBI BLAST+ 2.2.30 via ToolShed install. | |
2 | 83 v0.1.6 - Offer the new blastp-fast task added in BLAST+ 2.2.30. |
84 - Added "NCBI BLAST+ integrated into Galaxy" preprint citation. | |
85 v0.1.7 - Reorder XML elements (internal change only). | |
86 - Planemo for Tool Shed upload (``.shed.yml``, internal change only). | |
87 - Updated citation information with GigaScience paper. | |
4 | 88 v0.1.8 - Updated to depend on NCBI BLAST+ 2.2.31 via ToolShed install. |
89 v0.1.9 - Updates to the command line API for the Python script. | |
90 - PEP8 style updates to the Python script (internal change only). | |
91 - Fix parameter help text which was not being displayed. | |
92 v0.1.11 - Updated to depend on NCBI BLAST+ 2.5.0 via ToolShed or BioConda. | |
93 - Update Biopython dependency. | |
94 - Tweak Python script to work under Python 2 or Python 3. | |
5
8f4500f6f2aa
Refactored to use more than one Python file (internal change only).
peterjc
parents:
4
diff
changeset
|
95 v0.1.12 - Use ``<command detect_errors="aggressive">`` (internal change only). |
8f4500f6f2aa
Refactored to use more than one Python file (internal change only).
peterjc
parents:
4
diff
changeset
|
96 - Single quote command line arguments (internal change only). |
8f4500f6f2aa
Refactored to use more than one Python file (internal change only).
peterjc
parents:
4
diff
changeset
|
97 v0.2.0 - Refactored to use more than one Python file (internal change only). |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
98 ======= ====================================================================== |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
99 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
100 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
101 Developers |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
102 ========== |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
103 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
104 This tool is developed on the following GitHub repository: |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
105 https://github.com/peterjc/galaxy_blast/tree/master/tools/blast_rbh |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
106 |
2 | 107 For pushing a release to the test or main "Galaxy Tool Shed", use the following |
108 Planemo commands (which requires you have set your Tool Shed access details in | |
109 ``~/.planemo.yml`` and that you have access rights on the Tool Shed):: | |
110 | |
4 | 111 $ planemo shed_update -t testtoolshed --check_diff tools/blast_rbh/ |
2 | 112 ... |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
113 |
2 | 114 or:: |
115 | |
4 | 116 $ planemo shed_update -t toolshed --check_diff tools/blast_rbh/ |
2 | 117 ... |
118 | |
119 To just build and check the tar ball, use:: | |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
120 |
4 | 121 $ planemo shed_upload --tar_only tools/blast_rbh/ |
2 | 122 ... |
5
8f4500f6f2aa
Refactored to use more than one Python file (internal change only).
peterjc
parents:
4
diff
changeset
|
123 $ tar -tzf shed_upload.tar.gz |
2 | 124 test-data/four_human_proteins.fasta |
125 test-data/k12_edited_proteins.fasta | |
126 test-data/k12_ten_proteins.fasta | |
127 test-data/rbh_blastn_three_human_mRNA_vs_rhodopsin_nucs.tabular | |
128 test-data/rbh_blastp_four_human_vs_rhodopsin_proteins.tabular | |
129 test-data/rbh_blastp_k12.tabular | |
130 test-data/rbh_blastp_k12_self.tabular | |
131 test-data/rbh_megablast_rhodopsin_nucs_vs_three_human_mRNA.tabular | |
132 test-data/rbh_none.tabular | |
133 test-data/rbh_tblastx_rhodopsin_nucs_vs_three_human_mRNA.tabular | |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
134 test-data/rhodopsin_nucs.fasta |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
135 test-data/rhodopsin_proteins.fasta |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
136 test-data/three_human_mRNA.fasta |
2 | 137 tools/blast_rbh/README.rst |
138 tools/blast_rbh/blast_rbh.py | |
139 tools/blast_rbh/blast_rbh.xml | |
140 tools/blast_rbh/tool_dependencies.xml | |
0
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
141 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
142 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
143 Licence (MIT) |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
144 ============= |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
145 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
146 Permission is hereby granted, free of charge, to any person obtaining a copy |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
147 of this software and associated documentation files (the "Software"), to deal |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
148 in the Software without restriction, including without limitation the rights |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
149 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
150 copies of the Software, and to permit persons to whom the Software is |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
151 furnished to do so, subject to the following conditions: |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
152 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
153 The above copyright notice and this permission notice shall be included in |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
154 all copies or substantial portions of the Software. |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
155 |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
156 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
157 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
158 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
159 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
160 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
161 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
b828ca44a313
Uploaded v0.1.2 (previously only on the Test Tool Shed)
peterjc
parents:
diff
changeset
|
162 THE SOFTWARE. |