Mercurial > repos > devteam > blast_datatypes
annotate blast.py @ 15:310ec0f47485 draft
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
| author | peterjc |
|---|---|
| date | Thu, 09 Feb 2017 11:16:00 -0500 |
| parents | 623a3fbe5340 |
| children | 3eada762af11 |
| rev | line source |
|---|---|
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
1 """NCBI BLAST datatypes. |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
2 |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
3 Covers the ``blastxml`` format and the BLAST databases. |
| 3 | 4 """ |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
5 |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
6 import logging |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
7 import os |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
8 from time import sleep |
| 3 | 9 |
|
15
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
10 from galaxy.datatypes.data import Data, Text, get_file_peek |
| 3 | 11 from galaxy.datatypes.xml import GenericXml |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
12 |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
13 log = logging.getLogger(__name__) |
|
5
b3a3ba0c1d47
Uploaded v0.0.15 which updates the BLAST database definitions.
peterjc
parents:
4
diff
changeset
|
14 |
|
15
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
15 # Note implicit string concatenation here to avoid excessively long lines: |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
16 _DOCTYPES = ['<!DOCTYPE BlastOutput PUBLIC "-//NCBI//NCBI BlastOutput/EN" ' |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
17 '"http://www.ncbi.nlm.nih.gov/dtd/NCBI_BlastOutput.dtd">', |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
18 '<!DOCTYPE BlastOutput PUBLIC "-//NCBI//NCBI BlastOutput/EN" ' |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
19 '"NCBI_BlastOutput.dtd">'] |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
20 |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
21 |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
22 class BlastXml(GenericXml): |
| 3 | 23 """NCBI Blast XML Output data""" |
| 24 file_ext = "blastxml" | |
| 25 | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
26 def set_peek(self, dataset, is_multi_byte=False): |
| 3 | 27 """Set the peek and blurb text""" |
| 28 if not dataset.dataset.purged: | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
29 dataset.peek = get_file_peek(dataset.file_name, is_multi_byte=is_multi_byte) |
| 3 | 30 dataset.blurb = 'NCBI Blast XML data' |
| 31 else: | |
| 32 dataset.peek = 'file does not exist' | |
| 33 dataset.blurb = 'file purged from disk' | |
| 4 | 34 |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
35 def sniff(self, filename): |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
36 """Determines whether the file is blastxml |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
37 |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
38 >>> from galaxy.datatypes.sniff import get_test_fname |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
39 >>> fname = get_test_fname('megablast_xml_parser_test1.blastxml') |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
40 >>> BlastXml().sniff(fname) |
| 3 | 41 True |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
42 >>> fname = get_test_fname('tblastn_four_human_vs_rhodopsin.xml') |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
43 >>> BlastXml().sniff(fname) |
| 3 | 44 True |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
45 >>> fname = get_test_fname('interval.interval') |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
46 >>> BlastXml().sniff(fname) |
| 3 | 47 False |
| 48 """ | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
49 # TODO - Use a context manager on Python 2.5+ to close handle |
| 3 | 50 handle = open(filename) |
| 51 line = handle.readline() | |
| 52 if line.strip() != '<?xml version="1.0"?>': | |
| 53 handle.close() | |
| 54 return False | |
| 55 line = handle.readline() | |
|
15
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
56 if line.strip() not in _DOCTYPES: |
| 3 | 57 handle.close() |
| 58 return False | |
| 59 line = handle.readline() | |
| 60 if line.strip() != '<BlastOutput>': | |
| 61 handle.close() | |
| 62 return False | |
| 63 handle.close() | |
| 64 return True | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
65 |
| 3 | 66 def merge(split_files, output_file): |
| 67 """Merging multiple XML files is non-trivial and must be done in subclasses.""" | |
| 68 if len(split_files) == 1: | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
69 # For one file only, use base class method (move/copy) |
| 3 | 70 return Text.merge(split_files, output_file) |
| 4 | 71 if not split_files: |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
72 raise ValueError("Given no BLAST XML files, %r, to merge into %s" |
| 4 | 73 % (split_files, output_file)) |
| 3 | 74 out = open(output_file, "w") |
| 75 h = None | |
| 76 for f in split_files: | |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
77 if not os.path.isfile(f): |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
78 log.warning("BLAST XML file %s missing, retry in 1s..." % f) |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
79 sleep(1) |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
80 if not os.path.isfile(f): |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
81 log.error("BLAST XML file %s missing" % f) |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
82 raise ValueError("BLAST XML file %s missing" % f) |
| 3 | 83 h = open(f) |
| 84 header = h.readline() | |
| 85 if not header: | |
| 86 out.close() | |
| 87 h.close() | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
88 # Retry, could be transient error with networked file system... |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
89 log.warning("BLAST XML file %s empty, retry in 1s..." % f) |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
90 sleep(1) |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
91 h = open(f) |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
92 header = h.readline() |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
93 if not header: |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
94 log.error("BLAST XML file %s was empty" % f) |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
95 raise ValueError("BLAST XML file %s was empty" % f) |
| 3 | 96 if header.strip() != '<?xml version="1.0"?>': |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
97 out.write(header) # for diagnosis |
| 3 | 98 out.close() |
| 99 h.close() | |
| 100 raise ValueError("%s is not an XML file!" % f) | |
| 101 line = h.readline() | |
| 102 header += line | |
|
15
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
103 if line.strip() not in _DOCTYPES: |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
104 out.write(header) # for diagnosis |
| 3 | 105 out.close() |
| 106 h.close() | |
| 107 raise ValueError("%s is not a BLAST XML file!" % f) | |
| 108 while True: | |
| 109 line = h.readline() | |
| 110 if not line: | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
111 out.write(header) # for diagnosis |
| 3 | 112 out.close() |
| 113 h.close() | |
| 114 raise ValueError("BLAST XML file %s ended prematurely" % f) | |
| 115 header += line | |
| 116 if "<Iteration>" in line: | |
| 117 break | |
| 118 if len(header) > 10000: | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
119 # Something has gone wrong, don't load too much into memory! |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
120 # Write what we have to the merged file for diagnostics |
| 3 | 121 out.write(header) |
| 122 out.close() | |
| 123 h.close() | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
124 raise ValueError("The header in BLAST XML file %s is too long" % f) |
| 3 | 125 if "<BlastOutput>" not in header: |
| 126 out.close() | |
| 127 h.close() | |
| 128 raise ValueError("%s is not a BLAST XML file:\n%s\n..." % (f, header)) | |
| 129 if f == split_files[0]: | |
| 130 out.write(header) | |
| 131 old_header = header | |
| 132 elif old_header[:300] != header[:300]: | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
133 # Enough to check <BlastOutput_program> and <BlastOutput_version> match |
| 3 | 134 out.close() |
| 135 h.close() | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
136 raise ValueError("BLAST XML headers don't match for %s and %s - have:\n%s\n...\n\nAnd:\n%s\n...\n" |
| 3 | 137 % (split_files[0], f, old_header[:300], header[:300])) |
| 138 else: | |
| 139 out.write(" <Iteration>\n") | |
| 140 for line in h: | |
| 141 if "</BlastOutput_iterations>" in line: | |
| 142 break | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
143 # TODO - Increment <Iteration_iter-num> and if required automatic query names |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
144 # like <Iteration_query-ID>Query_3</Iteration_query-ID> to be increasing? |
| 3 | 145 out.write(line) |
| 146 h.close() | |
| 147 out.write(" </BlastOutput_iterations>\n") | |
| 148 out.write("</BlastOutput>\n") | |
| 149 out.close() | |
| 150 merge = staticmethod(merge) | |
| 151 | |
| 4 | 152 |
| 153 class _BlastDb(object): | |
| 154 """Base class for BLAST database datatype.""" | |
| 155 | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
156 def set_peek(self, dataset, is_multi_byte=False): |
| 4 | 157 """Set the peek and blurb text.""" |
| 158 if not dataset.dataset.purged: | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
159 dataset.peek = "BLAST database (multiple files)" |
| 4 | 160 dataset.blurb = "BLAST database (multiple files)" |
| 161 else: | |
| 162 dataset.peek = 'file does not exist' | |
| 163 dataset.blurb = 'file purged from disk' | |
| 164 | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
165 def display_peek(self, dataset): |
| 4 | 166 """Create HTML content, used for displaying peek.""" |
| 167 try: | |
| 168 return dataset.peek | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
169 except Exception: |
| 4 | 170 return "BLAST database (multiple files)" |
| 171 | |
| 172 def display_data(self, trans, data, preview=False, filename=None, | |
| 173 to_ext=None, size=None, offset=None, **kwd): | |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
174 """Documented as an old display method, but still gets called via tests etc |
| 4 | 175 |
| 176 This allows us to format the data shown in the central pane via the "eye" icon. | |
| 177 """ | |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
178 if filename is not None and filename != "index": |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
179 # Change nothing - important for the unit tests to access child files: |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
180 return Data.display_data(self, trans, data, preview, filename, |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
181 to_ext, size, offset, **kwd) |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
182 if self.file_ext == "blastdbn": |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
183 title = "This is a nucleotide BLAST database" |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
184 elif self.file_ext == "blastdbp": |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
185 title = "This is a protein BLAST database" |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
186 elif self.file_ext == "blastdbd": |
| 10 | 187 title = "This is a domain BLAST database" |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
188 else: |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
189 # Error? |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
190 title = "This is a BLAST database." |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
191 msg = "" |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
192 try: |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
193 # Try to use any text recorded in the dummy index file: |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
194 handle = open(data.file_name, "rU") |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
195 msg = handle.read().strip() |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
196 handle.close() |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
197 except Exception: |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
198 pass |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
199 if not msg: |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
200 msg = title |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
201 # Galaxy assumes HTML for the display of composite datatypes, |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
202 return "<html><head><title>%s</title></head><body><pre>%s</pre></body></html>" % (title, msg) |
| 4 | 203 |
| 204 def merge(split_files, output_file): | |
| 205 """Merge BLAST databases (not implemented for now).""" | |
| 206 raise NotImplementedError("Merging BLAST databases is non-trivial (do this via makeblastdb?)") | |
| 207 | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
208 def split(cls, input_datasets, subdir_generator_function, split_params): |
| 4 | 209 """Split a BLAST database (not implemented for now).""" |
| 210 if split_params is None: | |
| 211 return None | |
| 212 raise NotImplementedError("Can't split BLAST databases") | |
| 213 | |
| 214 | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
215 class BlastNucDb(_BlastDb, Data): |
| 4 | 216 """Class for nucleotide BLAST database files.""" |
| 217 file_ext = 'blastdbn' | |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
218 allow_datatype_change = False |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
219 composite_type = 'basic' |
| 4 | 220 |
|
5
b3a3ba0c1d47
Uploaded v0.0.15 which updates the BLAST database definitions.
peterjc
parents:
4
diff
changeset
|
221 def __init__(self, **kwd): |
| 4 | 222 Data.__init__(self, **kwd) |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
223 self.add_composite_file('blastdb.nhr', is_binary=True) # sequence headers |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
224 self.add_composite_file('blastdb.nin', is_binary=True) # index file |
|
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
225 self.add_composite_file('blastdb.nsq', is_binary=True) # nucleotide sequences |
|
15
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
226 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
227 # alias ( -gi_mask option of makeblastdb) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
228 self.add_composite_file('blastdb.nal', is_binary=False, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
229 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
230 # sorted sequence hash values ( -hash_index option of makeblastdb) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
231 self.add_composite_file('blastdb.nhd', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
232 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
233 # index of sequence hash values ( -hash_index option of makeblastdb) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
234 self.add_composite_file('blastdb.nhi', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
235 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
236 # sorted GI values ( -parse_seqids option of makeblastdb and gi present in the description lines) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
237 self.add_composite_file('blastdb.nnd', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
238 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
239 # index of GI values ( -parse_seqids option of makeblastdb and gi present in the description lines) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
240 self.add_composite_file('blastdb.nni', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
241 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
242 # OID->GI lookup file ( -hash_index or -parse_seqids option of makeblastdb) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
243 self.add_composite_file('blastdb.nog', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
244 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
245 # sorted sequence accession values ( -hash_index or -parse_seqids option of makeblastdb) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
246 self.add_composite_file('blastdb.nsd', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
247 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
248 # index of sequence accession values ( -hash_index or -parse_seqids option of makeblastdb) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
249 self.add_composite_file('blastdb.nsi', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
250 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
251 # first volume of the MegaBLAST index generated by makembindex |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
252 # self.add_composite_file('blastdb.00.idx', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
253 # The previous line should be repeated for each index volume, with filename |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
254 # extensions like '.01.idx', '.02.idx', etc. |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
255 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
256 # MegaBLAST index superheader (-old_style_index false option of makembindex) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
257 # self.add_composite_file('blastdb.shd', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
258 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
259 # index of a WriteDB column for e.g. mask data |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
260 # self.add_composite_file('blastdb.naa', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
261 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
262 # data of a WriteDB column |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
263 # self.add_composite_file('blastdb.nab', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
264 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
265 # multiple byte order for a WriteDB column |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
266 # self.add_composite_file('blastdb.nac', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
267 |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
268 # The previous 3 lines should be repeated for each WriteDB column, with filename |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
269 # extensions like ('.nba', '.nbb', '.nbc'), ('.nca', '.ncb', '.ncc'), etc. |
| 4 | 270 |
|
5
b3a3ba0c1d47
Uploaded v0.0.15 which updates the BLAST database definitions.
peterjc
parents:
4
diff
changeset
|
271 |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
272 class BlastProtDb(_BlastDb, Data): |
| 4 | 273 """Class for protein BLAST database files.""" |
| 274 file_ext = 'blastdbp' | |
|
9
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
275 allow_datatype_change = False |
|
e36c60d13c94
Uploaded v0.0.18, tweak display_data for running tests
peterjc
parents:
7
diff
changeset
|
276 composite_type = 'basic' |
| 4 | 277 |
|
5
b3a3ba0c1d47
Uploaded v0.0.15 which updates the BLAST database definitions.
peterjc
parents:
4
diff
changeset
|
278 def __init__(self, **kwd): |
| 4 | 279 Data.__init__(self, **kwd) |
|
15
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
280 # Component file comments are as in BlastNucDb except where noted |
|
5
b3a3ba0c1d47
Uploaded v0.0.15 which updates the BLAST database definitions.
peterjc
parents:
4
diff
changeset
|
281 self.add_composite_file('blastdb.phr', is_binary=True) |
|
b3a3ba0c1d47
Uploaded v0.0.15 which updates the BLAST database definitions.
peterjc
parents:
4
diff
changeset
|
282 self.add_composite_file('blastdb.pin', is_binary=True) |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
283 self.add_composite_file('blastdb.psq', is_binary=True) # protein sequences |
|
5
b3a3ba0c1d47
Uploaded v0.0.15 which updates the BLAST database definitions.
peterjc
parents:
4
diff
changeset
|
284 self.add_composite_file('blastdb.phd', is_binary=True, optional=True) |
|
b3a3ba0c1d47
Uploaded v0.0.15 which updates the BLAST database definitions.
peterjc
parents:
4
diff
changeset
|
285 self.add_composite_file('blastdb.phi', is_binary=True, optional=True) |
|
b3a3ba0c1d47
Uploaded v0.0.15 which updates the BLAST database definitions.
peterjc
parents:
4
diff
changeset
|
286 self.add_composite_file('blastdb.pnd', is_binary=True, optional=True) |
|
b3a3ba0c1d47
Uploaded v0.0.15 which updates the BLAST database definitions.
peterjc
parents:
4
diff
changeset
|
287 self.add_composite_file('blastdb.pni', is_binary=True, optional=True) |
|
b3a3ba0c1d47
Uploaded v0.0.15 which updates the BLAST database definitions.
peterjc
parents:
4
diff
changeset
|
288 self.add_composite_file('blastdb.pog', is_binary=True, optional=True) |
|
b3a3ba0c1d47
Uploaded v0.0.15 which updates the BLAST database definitions.
peterjc
parents:
4
diff
changeset
|
289 self.add_composite_file('blastdb.psd', is_binary=True, optional=True) |
|
b3a3ba0c1d47
Uploaded v0.0.15 which updates the BLAST database definitions.
peterjc
parents:
4
diff
changeset
|
290 self.add_composite_file('blastdb.psi', is_binary=True, optional=True) |
|
15
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
291 # self.add_composite_file('blastdb.paa', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
292 # self.add_composite_file('blastdb.pab', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
293 # self.add_composite_file('blastdb.pac', is_binary=True, optional=True) |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
294 # The last 3 lines should be repeated for each WriteDB column, with filename |
|
310ec0f47485
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 96d587fc6f6cab23c597e88a83daf7eecd0d4162-dirty
peterjc
parents:
14
diff
changeset
|
295 # extensions like ('.pba', '.pbb', '.pbc'), ('.pca', '.pcb', '.pcc'), etc. |
| 10 | 296 |
| 297 | |
|
14
623a3fbe5340
planemo upload for repository https://github.com/peterjc/galaxy_blast/tree/master/datatypes/blast_datatypes/ commit 3f6b5c953d522a724bbcd403bcb86f1e2757a556-dirty
peterjc
parents:
12
diff
changeset
|
298 class BlastDomainDb(_BlastDb, Data): |
| 10 | 299 """Class for domain BLAST database files.""" |
| 300 file_ext = 'blastdbd' | |
| 301 allow_datatype_change = False | |
| 302 composite_type = 'basic' | |
| 303 | |
| 304 def __init__(self, **kwd): | |
| 305 Data.__init__(self, **kwd) | |
| 306 self.add_composite_file('blastdb.phr', is_binary=True) | |
| 307 self.add_composite_file('blastdb.pin', is_binary=True) | |
| 308 self.add_composite_file('blastdb.psq', is_binary=True) | |
| 309 self.add_composite_file('blastdb.freq', is_binary=True, optional=True) | |
| 310 self.add_composite_file('blastdb.loo', is_binary=True, optional=True) | |
| 311 self.add_composite_file('blastdb.psd', is_binary=True, optional=True) | |
| 312 self.add_composite_file('blastdb.psi', is_binary=True, optional=True) | |
| 313 self.add_composite_file('blastdb.rps', is_binary=True, optional=True) | |
| 314 self.add_composite_file('blastdb.aux', is_binary=True, optional=True) |
