annotate rsem.py @ 7:20e2c68f776a draft

planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
author artbio
date Sun, 01 Apr 2018 17:53:57 -0400
parents 39b8e13b1fc9
children ad708409d25e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
1 """
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
2 RSEM datatypes
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
3 """
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
4 import logging
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
5 import os
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
6 import os.path
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
7
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
8 from galaxy.datatypes.images import Html
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
9 from galaxy.datatypes.metadata import MetadataElement
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
10 from galaxy.datatypes.sniff import get_headers
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
11 from galaxy.datatypes.tabular import Tabular
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
12
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
13
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
14 log = logging.getLogger(__name__)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
15
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
16
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
17 class RsemIsoformsResults(Tabular):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
18 file_ext = "rsem.isoforms.results"
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
19 """
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
20 required columns:
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
21 transcript_id gene_id length effective_length expected_count TPM
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
22 FPKM IsoPct
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
23 optional columns:
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
24 pme_expected_count pme_TPM pme_FPKM IsoPct_from_pme_TPM TPM_ci_lower_bound
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
25 TPM_ci_upper_bound FPKM_ci_lower_bound FPKM_ci_upper_bound
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
26 """
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
27
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
28 def __init__(self, **kwd):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
29 Tabular.__init__(self, **kwd)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
30 """Initialize RsemResults datatype"""
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
31 self.comment_lines = 1
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
32
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
33 def sniff(self, filename):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
34 headers = get_headers(filename, '\n', count=1)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
35 return (len(headers) > 0 and len(headers[0]) >= 8 and
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
36 headers[0][0] == "transcript_id" and
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
37 headers[0][1] == "gene_id" and headers[0][6] == "FPKM")
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
38
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
39 def set_meta(self, dataset, **kwd):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
40 Tabular.set_meta(self, dataset, skip=None, **kwd)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
41
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
42
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
43 class RsemGenesResults(Tabular):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
44 file_ext = "rsem.genes.results"
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
45 """
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
46 required columns:
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
47 gene_id transcript_id(s) length effective_length expected_count TPM FPKM
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
48 optional columns:
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
49 pme_expected_count pme_TPM pme_FPKM TPM_ci_lower_bound TPM_ci_upper_bound
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
50 FPKM_ci_lower_bound FPKM_ci_upper_bound
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
51 """
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
52
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
53 def __init__(self, **kwd):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
54 Tabular.__init__(self, **kwd)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
55 """Initialize RsemResults datatype"""
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
56 self.comment_lines = 1
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
57
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
58 def sniff(self, filename):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
59 headers = get_headers(filename, '\n', count=1)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
60 return (len(headers) > 0 and len(headers[0]) >= 7 and
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
61 headers[0][0] == "gene_id" and
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
62 headers[0][1].startswith("transcript_id") and
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
63 headers[0][6] == "FPKM")
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
64
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
65 def set_meta(self, dataset, **kwd):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
66 Tabular.set_meta(self, dataset, skip=None, **kwd)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
67
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
68
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
69 class RsemReference(Html):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
70 """Class describing an RSEM reference"""
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
71 MetadataElement(name='reference_name', default='rsem_ref',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
72 desc='RSEM Reference Name', readonly=True, visible=True,
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
73 set_in_upload=True, no_value='rsem_ref')
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
74 file_ext = 'rsem_ref'
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
75 allow_datatype_change = False
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
76 composite_type = 'auto_primary_file'
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
77
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
78 def __init__(self, **kwd):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
79 Html.__init__(self, **kwd)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
80 """
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
81 Expecting files:
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
82 extra_files_path/<reference_name>.grp
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
83 extra_files_path/<reference_name>.ti
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
84 extra_files_path/<reference_name>.seq
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
85 extra_files_path/<reference_name>.transcripts.fa
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
86 Optionally includes files:
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
87 extra_files_path/<reference_name>.chrlist
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
88 extra_files_path/<reference_name>.idx.fa
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
89 extra_files_path/<reference_name>.1.ebwt
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
90 extra_files_path/<reference_name>.2.ebwt
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
91 extra_files_path/<reference_name>.3.ebwt
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
92 extra_files_path/<reference_name>.4.ebwt
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
93 extra_files_path/<reference_name>.rev.1.ebwt
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
94 extra_files_path/<reference_name>.rev.2.ebwt
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
95 """
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
96 self.add_composite_file('%s.grp', description='Group File',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
97 substitute_name_with_metadata='reference_name',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
98 is_binary=False)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
99 self.add_composite_file('%s.ti', description='',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
100 substitute_name_with_metadata='reference_name',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
101 is_binary=False)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
102 self.add_composite_file('%s.seq', description='',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
103 substitute_name_with_metadata='reference_name',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
104 is_binary=False)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
105 self.add_composite_file('%s.transcripts.fa', description='',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
106 substitute_name_with_metadata='reference_name',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
107 is_binary=False)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
108 self.add_composite_file('%s.chrlist', description='',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
109 substitute_name_with_metadata='reference_name',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
110 is_binary=False, optional=True)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
111 self.add_composite_file('%s.idx.fa', description='',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
112 substitute_name_with_metadata='reference_name',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
113 is_binary=False, optional=True)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
114 self.add_composite_file('%s.1.ebwt', description='',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
115 substitute_name_with_metadata='reference_name',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
116 is_binary=True, optional=True)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
117 self.add_composite_file('%s.2.ebwt', description='',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
118 substitute_name_with_metadata='reference_name',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
119 is_binary=True, optional=True)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
120 self.add_composite_file('%s.3.ebwt', description='',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
121 substitute_name_with_metadata='reference_name',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
122 is_binary=True, optional=True)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
123 self.add_composite_file('%s.4.ebwt', description='',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
124 substitute_name_with_metadata='reference_name',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
125 is_binary=True, optional=True)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
126 self.add_composite_file('%s.rev.1.ebwt', description='',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
127 substitute_name_with_metadata='reference_name',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
128 is_binary=True, optional=True)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
129 self.add_composite_file('%s.rev.2.ebwt', description='',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
130 substitute_name_with_metadata='reference_name',
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
131 is_binary=True, optional=True)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
132
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
133 def generate_primary_file(self, dataset=None):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
134 """
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
135 This is called only at upload to write the file
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
136 cannot rename the datasets here - they come with
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
137 the default unfortunately
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
138 """
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
139
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
140 def regenerate_primary_file(self, dataset):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
141 """
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
142 cannot do this until we are setting metadata
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
143 """
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
144 link_to_exts = ['.grp', '.ti', '.seq', '.fa', '.chrlist', '.log']
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
145 ref_name = dataset.metadata.reference_name
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
146 efp = dataset.extra_files_path
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
147 flist = os.listdir(efp)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
148 rval = ['<html><head><title>%s</title></head><body><p/>RSEM \
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
149 Reference %s files:<p/><ul>' % (dataset.name, ref_name)]
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
150 rvalb = []
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
151 for i, fname in enumerate(flist):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
152 sfname = os.path.split(fname)[-1]
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
153 f, e = os.path.splitext(fname)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
154 if e in link_to_exts:
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
155 rval.append('<li><a href="%s">%s</a></li>' % (sfname, sfname))
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
156 else:
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
157 rvalb.append('<li>%s</li>' % (sfname))
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
158 if len(rvalb) > 0:
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
159 rval += rvalb
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
160 rval.append('</ul></body></html>')
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
161 fh = file(dataset.file_name, 'w')
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
162 fh.write("\n".join(rval))
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
163 fh.write('\n')
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
164 fh.close()
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
165
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
166 def set_meta(self, dataset, **kwd):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
167 Html.set_meta(self, dataset, **kwd)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
168 efp = dataset.extra_files_path
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
169 flist = os.listdir(efp)
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
170 for i, fname in enumerate(flist):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
171 if fname.endswith('.grp'):
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
172 dataset.metadata.reference_name = fname[:-4]
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
173 break
39b8e13b1fc9 planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit f01c120abce1894ac9c6b298d301d4a2c740fc67
artbio
parents:
diff changeset
174 self.regenerate_primary_file(dataset)
7
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
175
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
176
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
177 class RsemBt2Reference(Html):
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
178 """Class describing an RSEM reference"""
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
179 MetadataElement(name='reference_name', default='rsem_bt2_ref',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
180 desc='RSEM Bowtie2 Reference Name', readonly=True,
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
181 visible=True, set_in_upload=True, no_value='rsem_bt2_ref')
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
182 file_ext = 'rsem_bt2_ref'
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
183 allow_datatype_change = False
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
184 composite_type = 'auto_primary_file'
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
185
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
186 def __init__(self, **kwd):
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
187 Html.__init__(self, **kwd)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
188 """
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
189 Expecting files:
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
190 extra_files_path/<reference_name>.grp
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
191 extra_files_path/<reference_name>.ti
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
192 extra_files_path/<reference_name>.seq
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
193 extra_files_path/<reference_name>.transcripts.fa
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
194 Optionally includes files:
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
195 extra_files_path/<reference_name>.chrlist
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
196 extra_files_path/<reference_name>.idx.fa
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
197 extra_files_path/<reference_name>.n2g.idx.fa
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
198 extra_files_path/<reference_name>.1.bt2
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
199 extra_files_path/<reference_name>.2.bt2
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
200 extra_files_path/<reference_name>.3.bt2
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
201 extra_files_path/<reference_name>.4.bt2
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
202 extra_files_path/<reference_name>.rev.1.bt2
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
203 extra_files_path/<reference_name>.rev.2.bt2
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
204 """
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
205 self.add_composite_file('%s.grp', description='Group File',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
206 substitute_name_with_metadata='reference_name',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
207 is_binary=False)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
208 self.add_composite_file('%s.ti', description='',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
209 substitute_name_with_metadata='reference_name',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
210 is_binary=False)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
211 self.add_composite_file('%s.seq', description='',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
212 substitute_name_with_metadata='reference_name',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
213 is_binary=False)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
214 self.add_composite_file('%s.transcripts.fa', description='',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
215 substitute_name_with_metadata='reference_name',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
216 is_binary=False)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
217 self.add_composite_file('%s.chrlist', description='',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
218 substitute_name_with_metadata='reference_name',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
219 is_binary=False, optional=True)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
220 self.add_composite_file('%s.idx.fa', description='',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
221 substitute_name_with_metadata='reference_name',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
222 is_binary=False, optional=True)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
223 self.add_composite_file('%s.n2g.idx.fa', description='',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
224 substitute_name_with_metadata='reference_name',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
225 is_binary=False, optional=True)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
226 self.add_composite_file('%s.1.bt2', description='',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
227 substitute_name_with_metadata='reference_name',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
228 is_binary=True, optional=True)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
229 self.add_composite_file('%s.2.bt2', description='',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
230 substitute_name_with_metadata='reference_name',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
231 is_binary=True, optional=True)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
232 self.add_composite_file('%s.3.bt2', description='',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
233 substitute_name_with_metadata='reference_name',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
234 is_binary=True, optional=True)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
235 self.add_composite_file('%s.4.bt2', description='',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
236 substitute_name_with_metadata='reference_name',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
237 is_binary=True, optional=True)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
238 self.add_composite_file('%s.rev.1.bt2', description='',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
239 substitute_name_with_metadata='reference_name',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
240 is_binary=True, optional=True)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
241 self.add_composite_file('%s.rev.2.bt2', description='',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
242 substitute_name_with_metadata='reference_name',
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
243 is_binary=True, optional=True)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
244
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
245 def generate_primary_file(self, dataset=None):
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
246 """
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
247 This is called only at upload to write the file
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
248 cannot rename the datasets here - they come with
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
249 the default unfortunately
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
250 """
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
251
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
252 def regenerate_primary_file(self, dataset):
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
253 """
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
254 cannot do this until we are setting metadata
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
255 """
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
256 link_to_exts = ['.grp', '.ti', '.seq', '.fa', '.chrlist', '.log']
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
257 ref_name = dataset.metadata.reference_name
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
258 efp = dataset.extra_files_path
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
259 flist = os.listdir(efp)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
260 rval = ['<html><head><title>%s</title></head><body><p/>RSEM \
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
261 Reference %s files:<p/><ul>' % (dataset.name, ref_name)]
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
262 rvalb = []
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
263 for i, fname in enumerate(flist):
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
264 sfname = os.path.split(fname)[-1]
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
265 f, e = os.path.splitext(fname)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
266 if e in link_to_exts:
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
267 rval.append('<li><a href="%s">%s</a></li>' % (sfname, sfname))
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
268 else:
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
269 rvalb.append('<li>%s</li>' % (sfname))
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
270 if len(rvalb) > 0:
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
271 rval += rvalb
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
272 rval.append('</ul></body></html>')
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
273 fh = file(dataset.file_name, 'w')
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
274 fh.write("\n".join(rval))
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
275 fh.write('\n')
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
276 fh.close()
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
277
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
278 def set_meta(self, dataset, **kwd):
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
279 Html.set_meta(self, dataset, **kwd)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
280 efp = dataset.extra_files_path
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
281 flist = os.listdir(efp)
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
282 for i, fname in enumerate(flist):
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
283 if fname.endswith('.grp'):
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
284 dataset.metadata.reference_name = fname[:-4]
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
285 break
20e2c68f776a planemo upload for repository https://github.com/artbio/tools-artbio/tree/master/tools/rsem commit 755333360ac6714c4db1eefeffe0bf0a730a94c7
artbio
parents: 6
diff changeset
286 self.regenerate_primary_file(dataset)