protk 1.3.1.pre3 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +21 -19
- data/bin/add_retention_times.rb +1 -1
- data/bin/interprophet.rb +16 -5
- data/bin/make_decoy.rb +1 -1
- data/bin/manage_db.rb +1 -1
- data/bin/mascot_search.rb +2 -2
- data/bin/mascot_to_pepxml.rb +1 -1
- data/bin/msgfplus_search.rb +26 -9
- data/bin/omssa_search.rb +1 -1
- data/bin/peptide_prophet.rb +57 -20
- data/bin/pepxml_to_table.rb +15 -2
- data/bin/protein_prophet.rb +41 -1
- data/bin/protk_setup.rb +2 -2
- data/bin/protxml_to_gff.rb +50 -42
- data/bin/protxml_to_psql.rb +1 -1
- data/bin/protxml_to_table.rb +16 -3
- data/bin/repair_run_summary.rb +1 -1
- data/bin/sixframe.rb +2 -2
- data/bin/swissprot_to_table.rb +1 -1
- data/bin/tandem_search.rb +1 -1
- data/bin/tandem_to_pepxml.rb +1 -1
- data/lib/protk/constants.rb +2 -1
- data/lib/protk/convert_util.rb +1 -1
- data/lib/protk/data/tandem-style.css +349 -0
- data/lib/protk/data/tandem-style.xsl +264 -0
- data/lib/protk/data/tandem_gpm_defaults.xml +3 -3
- data/lib/protk/data/tandem_isb_kscore_defaults.xml +2 -0
- data/lib/protk/data/tandem_isb_native_defaults.xml +3 -0
- data/lib/protk/data/tandem_params.xml +0 -8
- data/lib/protk/fastadb.rb +1 -1
- data/lib/protk/galaxy_stager.rb +14 -3
- data/lib/protk/galaxy_util.rb +39 -31
- data/lib/protk/gffdb.rb +6 -1
- data/lib/protk/manage_db_rakefile.rake +1 -1
- data/lib/protk/manage_db_tool.rb +1 -1
- data/lib/protk/pepxml.rb +159 -7
- data/lib/protk/plasmodb.rb +1 -1
- data/lib/protk/prophet_tool.rb +20 -52
- data/lib/protk/setup_rakefile.rake +18 -11
- data/lib/protk/tandem_search_tool.rb +20 -7
- data/lib/protk/tool.rb +1 -1
- data/lib/protk/uniprot_mapper.rb +1 -1
- metadata +10 -14
@@ -0,0 +1,264 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<xsl:stylesheet version="1.0"
|
3
|
+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
4
|
+
xmlns:GAML="http://www.bioml.com/gaml/" >
|
5
|
+
<!--
|
6
|
+
X! tandem default style sheet
|
7
|
+
Copyright (C) 2003-2004 Ronald C. Beavis
|
8
|
+
Version 2004.03.01
|
9
|
+
All Rights Reserved
|
10
|
+
This source code is distributed under the terms of the
|
11
|
+
Artistic License.
|
12
|
+
-->
|
13
|
+
<xsl:template match="/">
|
14
|
+
<html>
|
15
|
+
<head>
|
16
|
+
<title>thegpm site 000 <xsl:value-of select="/bioml/@label" /></title>
|
17
|
+
<link rel="stylesheet" href="/tandem/tandem-style.css" />
|
18
|
+
<SCRIPT lanuage="JavaScript">
|
19
|
+
|
20
|
+
function changeState(id)
|
21
|
+
{
|
22
|
+
var block = document.getElementById(id);
|
23
|
+
if(block.style.display == 'none') {
|
24
|
+
block.style.display = 'block';
|
25
|
+
}
|
26
|
+
else {
|
27
|
+
block.style.display = 'none';
|
28
|
+
}
|
29
|
+
}
|
30
|
+
</SCRIPT>
|
31
|
+
</head>
|
32
|
+
|
33
|
+
<body bgcolor="#FFFFFF">
|
34
|
+
<TABLE bgcolor="#d0d0d0" CELLSPACING="2" CELLPADDING="2">
|
35
|
+
<TR>
|
36
|
+
<TD WIDTH="700" VALIGN="TOP" ALIGN="LEFT" class="top_note">X! tandem results</TD>
|
37
|
+
</TR>
|
38
|
+
<TR>
|
39
|
+
<TD WIDTH="700" VALIGN="TOP" ALIGN="LEFT" class="top_note"><B><xsl:value-of select="/bioml/@label" /></B></TD>
|
40
|
+
</TR>
|
41
|
+
</TABLE>
|
42
|
+
<BR></BR>
|
43
|
+
<table border="1" bgcolor="#d0ffd0" cellpadding="2" cellspacing="2">
|
44
|
+
<xsl:apply-templates select="/bioml/group" />
|
45
|
+
</table>
|
46
|
+
<xsl:if test="not(/bioml/group)">
|
47
|
+
<TABLE CELLSPACING="2" CELLPADDING="2">
|
48
|
+
<TR>
|
49
|
+
<TD WIDTH="700" VALIGN="TOP" ALIGN="LEFT">No models were provided.</TD>
|
50
|
+
</TR>
|
51
|
+
</TABLE>
|
52
|
+
|
53
|
+
</xsl:if>
|
54
|
+
</body>
|
55
|
+
</html>
|
56
|
+
</xsl:template>
|
57
|
+
|
58
|
+
<xsl:template match="group">
|
59
|
+
<xsl:if test="not(contains(@label,'parameters'))">
|
60
|
+
<tr><td>
|
61
|
+
<DIV onClick="changeState('{generate-id()}');" class="e" title="click to see/hide sequences and evidence">
|
62
|
+
<SPAN CLASS="top_label">
|
63
|
+
#<xsl:value-of select="@id" />,
|
64
|
+
e = <xsl:value-of select="@expect" />,
|
65
|
+
M+H = <sup><xsl:value-of select="@z" /></sup><xsl:value-of select="@mh" />
|
66
|
+
<sup><xsl:value-of select="./protein/peptide/domain/@delta" /></sup>,
|
67
|
+
<SPAN class="aa_s"><xsl:value-of select="./protein/peptide/domain/@pre" /></SPAN>
|
68
|
+
<SUP><xsl:value-of select="./protein/peptide/domain/@start" /></SUP>
|
69
|
+
<SPAN class="aa_h"><xsl:value-of select="./protein/peptide/domain/@seq" /></SPAN>
|
70
|
+
<SUP><xsl:value-of select="./protein/peptide/domain/@end" /></SUP>
|
71
|
+
<SPAN class="aa_s"><xsl:value-of select="./protein/peptide/domain/@post" /></SPAN>,
|
72
|
+
<xsl:for-each select="./protein[1]/peptide[1]/domain[1]/aa">
|
73
|
+
|
74
|
+
<SUP><xsl:value-of select="@at" /></SUP><xsl:value-of select="@type" />(<xsl:value-of select="@modified" />),
|
75
|
+
|
76
|
+
</xsl:for-each>
|
77
|
+
</SPAN><BR></BR>
|
78
|
+
<SPAN CLASS="top_note">
|
79
|
+
<span class="b"> log(E) = <xsl:value-of select="./protein/@expect" /></span>,
|
80
|
+
<xsl:value-of select="@label" />
|
81
|
+
</SPAN>
|
82
|
+
</DIV>
|
83
|
+
|
84
|
+
<DIV id="{generate-id()}" STYLE="display:none" class="k">
|
85
|
+
<TABLE border="1" bgcolor="#ffd0ff" CELLPADDING="1" CELLSPACING="1">
|
86
|
+
<xsl:apply-templates select="protein" mode="sequence"/>
|
87
|
+
</TABLE>
|
88
|
+
<xsl:apply-templates select="group" mode="support"/>
|
89
|
+
</DIV>
|
90
|
+
</td></tr>
|
91
|
+
</xsl:if>
|
92
|
+
|
93
|
+
<xsl:if test="contains(@label,'parameters')">
|
94
|
+
<DIV onClick="changeState('{generate-id()}');" title="click to see/hide values" class="e">
|
95
|
+
<SPAN CLASS="top_label">+ <xsl:value-of select="@label" />
|
96
|
+
</SPAN>
|
97
|
+
</DIV>
|
98
|
+
<DIV id="{generate-id()}" class="k" STYLE="display:none">
|
99
|
+
<BR></BR>
|
100
|
+
<TABLE border="0" bgcolor="#ffd0d0" CELLPADDING="1" CELLSPACING="1">
|
101
|
+
<SPAN CLASS="top_note"><xsl:apply-templates select="note" />
|
102
|
+
</SPAN>
|
103
|
+
</TABLE>
|
104
|
+
<HR></HR>
|
105
|
+
</DIV>
|
106
|
+
</xsl:if>
|
107
|
+
</xsl:template>
|
108
|
+
|
109
|
+
<xsl:template match="protein" mode="description">
|
110
|
+
<BR></BR><SPAN CLASS="top_note"><B><xsl:value-of select="@id" /></B> : </SPAN><PRE><xsl:apply-templates select="note" /></PRE>
|
111
|
+
</xsl:template>
|
112
|
+
|
113
|
+
<xsl:template match="protein" mode="sequence">
|
114
|
+
<tr><td>
|
115
|
+
<DIV onClick="changeState('{generate-id()}');" title="click to see/hide details">
|
116
|
+
<SPAN CLASS="top_label"><xsl:value-of select="@id" />: <xsl:value-of select="@label" />
|
117
|
+
<xsl:apply-templates select="file" /></SPAN>
|
118
|
+
</DIV>
|
119
|
+
<DIV id="{generate-id()}" class="k" STYLE="display:none">
|
120
|
+
<xsl:apply-templates select="peptide" />
|
121
|
+
</DIV>
|
122
|
+
</td></tr>
|
123
|
+
</xsl:template>
|
124
|
+
|
125
|
+
<xsl:template match="file">
|
126
|
+
<SPAN class="top_label">(<xsl:value-of select="@URL" />)</SPAN>
|
127
|
+
</xsl:template>
|
128
|
+
|
129
|
+
<xsl:template match="aa">
|
130
|
+
<SPAN class="top_note"><SUP><xsl:value-of select="@at" /></SUP><xsl:value-of select="@type" />(<xsl:value-of select="@modified" />),</SPAN>
|
131
|
+
</xsl:template>
|
132
|
+
|
133
|
+
<xsl:template match="GAML:attribute">
|
134
|
+
<SPAN class="small_label"><xsl:value-of select="@type" /> = <xsl:value-of select="text()" />, </SPAN>
|
135
|
+
</xsl:template>
|
136
|
+
|
137
|
+
<xsl:template match="GAML:trace">
|
138
|
+
|
139
|
+
<SPAN class="small_label">
|
140
|
+
<B>
|
141
|
+
<xsl:value-of select="@type" />
|
142
|
+
</B>
|
143
|
+
</SPAN>
|
144
|
+
<TABLE BORDER="0" bgcolor="#ffffd0" CELLPADDING="1" CELLSPACING="1">
|
145
|
+
<xsl:if test="GAML:attribute">
|
146
|
+
<TR>
|
147
|
+
<TD WIDTH="500" VALIGN="TOP" ALIGN="LEFT">
|
148
|
+
parameters: <xsl:apply-templates select="GAML:attribute" />
|
149
|
+
</TD>
|
150
|
+
</TR>
|
151
|
+
</xsl:if>
|
152
|
+
<TR>
|
153
|
+
<TD WIDTH="500" VALIGN="TOP" ALIGN="LEFT">
|
154
|
+
x-values
|
155
|
+
</TD>
|
156
|
+
</TR>
|
157
|
+
<TR>
|
158
|
+
<TD WIDTH="500" VALIGN="TOP" ALIGN="LEFT">
|
159
|
+
<xsl:value-of select="./GAML:Xdata/GAML:values/text()" />
|
160
|
+
</TD>
|
161
|
+
</TR>
|
162
|
+
<TR>
|
163
|
+
<TD WIDTH="500" VALIGN="TOP" ALIGN="LEFT">
|
164
|
+
y-values
|
165
|
+
</TD>
|
166
|
+
</TR>
|
167
|
+
<TR>
|
168
|
+
<TD WIDTH="500" VALIGN="TOP" ALIGN="LEFT">
|
169
|
+
<xsl:value-of select="./GAML:Ydata/GAML:values/text()" />
|
170
|
+
</TD>
|
171
|
+
</TR>
|
172
|
+
</TABLE>
|
173
|
+
</xsl:template>
|
174
|
+
|
175
|
+
<xsl:template match="group" mode="support">
|
176
|
+
<xsl:if test="@type='support'">
|
177
|
+
<DIV onClick="changeState('{generate-id()}');" class="e" title="click to see/hide evidence">
|
178
|
+
<SPAN CLASS="top_label">
|
179
|
+
<xsl:value-of select="@label" />
|
180
|
+
</SPAN></DIV>
|
181
|
+
<DIV id="{generate-id()}" STYLE="display:none" class="k">
|
182
|
+
<xsl:apply-templates select="GAML:trace" />
|
183
|
+
</DIV>
|
184
|
+
</xsl:if>
|
185
|
+
</xsl:template>
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
<xsl:template match="peptide">
|
190
|
+
<xsl:apply-templates select="domain" />
|
191
|
+
<DIV onClick="changeState('{generate-id()}');" class="e" title="click to see/hide sequence">
|
192
|
+
<SPAN class="top_label">
|
193
|
+
log(e) = <xsl:value-of select="./../@expect" />,
|
194
|
+
<xsl:value-of select="./../@label" />
|
195
|
+
</SPAN>
|
196
|
+
</DIV>
|
197
|
+
<DIV id="{generate-id()}" STYLE="display:none">
|
198
|
+
<TABLE BORDER="0" gbcolor="#d0d0ff">
|
199
|
+
<TR>
|
200
|
+
<TD WIDTH="500" ALIGN="LEFT" VALIGN="TOP" CLASS="residues"><xsl:value-of select="text()" />
|
201
|
+
</TD>
|
202
|
+
</TR>
|
203
|
+
</TABLE>
|
204
|
+
</DIV>
|
205
|
+
</xsl:template>
|
206
|
+
|
207
|
+
<xsl:template match="domain">
|
208
|
+
<SPAN CLASS="top_note">
|
209
|
+
<B><xsl:value-of select="@id" /></B>:
|
210
|
+
e = <xsl:value-of select="@expect" />,
|
211
|
+
<SUP><xsl:value-of select="@start" /></SUP><SPAN class="aa_h"><xsl:value-of select="@seq" /></SPAN><SUP><xsl:value-of select="@end" /></SUP>,
|
212
|
+
<xsl:apply-templates select="aa"/><BR></BR>
|
213
|
+
M+H = <xsl:value-of select="@mh" /> Da,
|
214
|
+
<SPAN CLASS="greek">d</SPAN> = <xsl:value-of select="@delta" />,
|
215
|
+
!score = <xsl:value-of select="@hyperscore" />,
|
216
|
+
y/b: scores = <xsl:value-of select="@y_score" />/<xsl:value-of select="@b_score" />,
|
217
|
+
ions = <xsl:value-of select="@y_ions" />/<xsl:value-of select="@b_ions" />
|
218
|
+
</SPAN>
|
219
|
+
<BR></BR>
|
220
|
+
</xsl:template>
|
221
|
+
|
222
|
+
<xsl:template match="note">
|
223
|
+
<xsl:if test="not(contains(@label,'description'))">
|
224
|
+
<TR>
|
225
|
+
<TD WIDTH="350" ALIGN="RIGHT"><xsl:value-of select="@label" /> = </TD>
|
226
|
+
<TD WIDTH="350" ALIGN="LEFT"><xsl:value-of select="text()" /></TD>
|
227
|
+
</TR>
|
228
|
+
</xsl:if>
|
229
|
+
<xsl:if test="contains(@label,'description')">
|
230
|
+
<SPAN CLASS="top_note">
|
231
|
+
<xsl:choose>
|
232
|
+
<xsl:when test="contains(self::note,'ENSMUSP')">
|
233
|
+
<a target="_BLANK">
|
234
|
+
<xsl:attribute name="href">http://www.ensembl.org/Mus_musculus/protview?peptide=<xsl:value-of select="text()"/></xsl:attribute>
|
235
|
+
<xsl:attribute name="title">View Ensembl Protein Report</xsl:attribute>
|
236
|
+
<span class="ensembl"><xsl:value-of select="text()" /></span>
|
237
|
+
</a>
|
238
|
+
</xsl:when>
|
239
|
+
<xsl:when test="contains(self::note,'ENSRNOP')">
|
240
|
+
<a target="_BLANK">
|
241
|
+
<xsl:attribute name="href">http://www.ensembl.org/Rattus_norvegicus/protview?peptide=<xsl:value-of select="text()"/></xsl:attribute>
|
242
|
+
<xsl:attribute name="title">View Ensembl Protein Report</xsl:attribute>
|
243
|
+
<span class="ensembl"><xsl:value-of select="text()" /></span>
|
244
|
+
</a>
|
245
|
+
</xsl:when>
|
246
|
+
<xsl:when test="contains(self::note,'ENSP')">
|
247
|
+
<a target="_BLANK">
|
248
|
+
<xsl:attribute name="href">http://www.ensembl.org/Homo_sapiens/protview?peptide=<xsl:value-of select="text()"/></xsl:attribute>
|
249
|
+
<xsl:attribute name="title">View Ensembl Protein Report</xsl:attribute>
|
250
|
+
<span class="ensembl"><xsl:value-of select="text()" /></span>
|
251
|
+
</a>
|
252
|
+
</xsl:when>
|
253
|
+
<xsl:otherwise>
|
254
|
+
<xsl:value-of select="text()" />
|
255
|
+
</xsl:otherwise>
|
256
|
+
</xsl:choose>
|
257
|
+
</SPAN>
|
258
|
+
</xsl:if>
|
259
|
+
</xsl:template>
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
</xsl:stylesheet>
|
264
|
+
|
@@ -10,11 +10,11 @@
|
|
10
10
|
<note type="input" label="spectrum, fragment monoisotopic mass error units">Daltons</note>
|
11
11
|
<note>The value for this parameter may be 'Daltons' or 'ppm': all other values are ignored</note>
|
12
12
|
<note type="input" label="spectrum, parent monoisotopic mass error units">ppm</note>
|
13
|
-
|
13
|
+
<note>The value for this parameter may be 'Daltons' or 'ppm': all other values are ignored</note>
|
14
14
|
<note type="input" label="spectrum, fragment mass type">monoisotopic</note>
|
15
|
-
|
15
|
+
<note>values are monoisotopic|average </note>
|
16
16
|
|
17
|
-
<note>spectrum conditioning parameters</note>
|
17
|
+
<note>spectrum conditioning parameters</note>
|
18
18
|
<note type="input" label="spectrum, dynamic range">100.0</note>
|
19
19
|
<note>The peaks read in are normalized so that the most intense peak
|
20
20
|
is set to the dynamic range value. All peaks with values of less that
|
@@ -3,6 +3,9 @@
|
|
3
3
|
<bioml>
|
4
4
|
|
5
5
|
<note>spectrum parameters</note>
|
6
|
+
<note type="input" label="spectrum, parent monoisotopic mass error minus">2.0</note>
|
7
|
+
<note type="input" label="spectrum, parent monoisotopic mass error plus">4.0</note>
|
8
|
+
<note>PRECURSOR MASS TOLERANCE. This is monoisotopic mass, so for non-accurate-mass instruments, for which the precursor is often taken nearer to the isotopically averaged mass, an asymmetric tolerance (-2.0 Da to 4.0 Da) is preferable. This somewhat imitates a (-3.0 Da to 3.0 Da) window for averaged mass (but not exactly).</note>
|
6
9
|
<note type="input" label="spectrum, parent monoisotopic mass isotope error">no</note>
|
7
10
|
<note type="input" label="spectrum, parent monoisotopic mass error units">Daltons</note>
|
8
11
|
<note>The value for this parameter may be 'Daltons' or 'ppm': all other values are ignored</note>
|
@@ -15,14 +15,6 @@
|
|
15
15
|
</note>
|
16
16
|
<note type="input" label="list path, default parameters">no default</note>
|
17
17
|
|
18
|
-
<note> MODIFICATIONS. No Default</note>
|
19
|
-
|
20
|
-
<note type="input" label="protein, cleavage C-terminal mass change"></note>
|
21
|
-
<note type="input" label="protein, cleavage N-terminal mass change"></note>
|
22
|
-
<note type="input" label="protein, N-terminal residue modification mass"></note>
|
23
|
-
<note type="input" label="protein, C-terminal residue modification mass"></note>
|
24
|
-
<note> These are *static* modifications on the PROTEINS' N or C-termini. </note>
|
25
|
-
|
26
18
|
|
27
19
|
<note>
|
28
20
|
REFINEMENT. Not supported via tandem_search.rb.
|
data/lib/protk/fastadb.rb
CHANGED
data/lib/protk/galaxy_stager.rb
CHANGED
@@ -2,17 +2,28 @@ $VERBOSE=nil
|
|
2
2
|
|
3
3
|
require 'pathname'
|
4
4
|
|
5
|
+
# A GalaxyStager object represents a single file whose path needs to be staged for use within galaxy
|
6
|
+
#
|
7
|
+
# Staging occurs on init and generally involves creating a symlink from the original path to the staged path
|
8
|
+
#
|
9
|
+
# By keeping GalaxyStager objects around until script completion it is possible to perform a
|
10
|
+
# restore_references operation in script output files.
|
11
|
+
#
|
5
12
|
class GalaxyStager
|
6
13
|
attr_accessor :staged_path
|
14
|
+
attr_accessor :staged_base_path
|
7
15
|
|
16
|
+
# Initialize and perform staging
|
17
|
+
#
|
8
18
|
def initialize(original_path, options = {})
|
9
19
|
options = { :name => nil, :extension => '', :force_copy => false }.merge(options)
|
20
|
+
|
10
21
|
@extension = options[:extension]
|
11
22
|
@original_path = Pathname.new(original_path)
|
12
23
|
@wd = Dir.pwd
|
13
24
|
@staged_name = options[:name] || @original_path.basename
|
14
|
-
@
|
15
|
-
@staged_path = "#{@
|
25
|
+
@staged_base_path = File.join(@wd, @staged_name)
|
26
|
+
@staged_path = "#{@staged_base_path}#{@extension}"
|
16
27
|
if options[:force_copy]
|
17
28
|
FileUtils.copy(@original_path, @staged_path)
|
18
29
|
else
|
@@ -20,7 +31,7 @@ class GalaxyStager
|
|
20
31
|
end
|
21
32
|
end
|
22
33
|
|
23
|
-
def replace_references(in_file)
|
34
|
+
def replace_references(in_file,replacement)
|
24
35
|
GalaxyStager.replace_references(in_file, @original_path, replacement)
|
25
36
|
end
|
26
37
|
|
data/lib/protk/galaxy_util.rb
CHANGED
@@ -12,40 +12,48 @@ class GalaxyUtil
|
|
12
12
|
fg
|
13
13
|
end
|
14
14
|
|
15
|
-
def self.stage_pepxml(input_pepxml_path)
|
16
|
-
|
17
|
-
|
15
|
+
def self.stage_pepxml(input_pepxml_path,options={})
|
16
|
+
options = { :extension => '.pep.xml', :force_copy => false }.merge(options)
|
17
|
+
GalaxyStager.new(input_pepxml_path, options )
|
18
18
|
end
|
19
19
|
|
20
|
-
def self.
|
21
|
-
|
22
|
-
|
23
|
-
# symbolic links to the peak lists with the correct extension and
|
24
|
-
# and indexes them if needed (both seem required for TPP quant
|
25
|
-
# tools) and then produces new protxml and pepxml files with paths
|
26
|
-
# updated to these new peak list files.
|
27
|
-
|
28
|
-
protxml_path="interact.prot.xml"
|
29
|
-
FileUtils.copy(input_protxml_path, "interact.prot.xml")
|
30
|
-
|
31
|
-
protxml = ProtXML.new(protxml_path)
|
32
|
-
pepxml_path = protxml.find_pep_xml()
|
33
|
-
|
34
|
-
protxml_stager = GalaxyStager.new(protxml_path, :extension => ".prot.xml", :force_copy => true)
|
35
|
-
pepxml_stager = GalaxyStager.new(pepxml_path, :name => "interact", :extension => ".xml", :force_copy => true)
|
36
|
-
pepxml_path = pepxml_stager.staged_path
|
37
|
-
pepxml_stager.replace_references(protxml_path)
|
38
|
-
runs = PepXML.new(pepxml_stager.staged_path).find_runs()
|
39
|
-
|
40
|
-
run_stagers = runs.map do |base_name, run|
|
41
|
-
run_stager = GalaxyStager.new(base_name, :extension => ".#{run[:type]}")
|
42
|
-
ConvertUtil.ensure_mzml_indexed(run_stager.staged_path)
|
43
|
-
run_stager.replace_references(pepxml_path, :base_only => true)
|
44
|
-
run_stager
|
45
|
-
end
|
46
|
-
|
47
|
-
protxml_path
|
20
|
+
def self.stage_fasta(input_path,options={})
|
21
|
+
options = { :extension => '.fasta', :force_copy => false }.merge(options)
|
22
|
+
GalaxyStager.new(input_path, options )
|
48
23
|
end
|
24
|
+
|
25
|
+
|
26
|
+
# Unused
|
27
|
+
|
28
|
+
# def self.stage_protxml(input_protxml_path)
|
29
|
+
# # This method takes in the path to a protxml created in Galaxy,
|
30
|
+
# # finds the dependent pepxml and peak lists (mzml files), creates
|
31
|
+
# # symbolic links to the peak lists with the correct extension and
|
32
|
+
# # and indexes them if needed (both seem required for TPP quant
|
33
|
+
# # tools) and then produces new protxml and pepxml files with paths
|
34
|
+
# # updated to these new peak list files.
|
35
|
+
|
36
|
+
# protxml_path="interact.prot.xml"
|
37
|
+
# FileUtils.copy(input_protxml_path, "interact.prot.xml")
|
38
|
+
|
39
|
+
# protxml = ProtXML.new(protxml_path)
|
40
|
+
# pepxml_path = protxml.find_pep_xml()
|
41
|
+
|
42
|
+
# protxml_stager = GalaxyStager.new(protxml_path, :extension => ".prot.xml", :force_copy => true)
|
43
|
+
# pepxml_stager = GalaxyStager.new(pepxml_path, :name => "interact", :extension => ".xml", :force_copy => true)
|
44
|
+
# pepxml_path = pepxml_stager.staged_path
|
45
|
+
# pepxml_stager.replace_references(protxml_path)
|
46
|
+
# runs = PepXML.new(pepxml_stager.staged_path).find_runs()
|
47
|
+
|
48
|
+
# run_stagers = runs.map do |base_name, run|
|
49
|
+
# run_stager = GalaxyStager.new(base_name, :extension => ".#{run[:type]}")
|
50
|
+
# ConvertUtil.ensure_mzml_indexed(run_stager.staged_path)
|
51
|
+
# run_stager.replace_references(pepxml_path, :base_only => true)
|
52
|
+
# run_stager
|
53
|
+
# end
|
54
|
+
|
55
|
+
# protxml_path
|
56
|
+
# end
|
49
57
|
|
50
58
|
|
51
59
|
|
data/lib/protk/gffdb.rb
CHANGED
@@ -7,7 +7,6 @@ class GFFDB
|
|
7
7
|
attr_accessor :id_to_records_map
|
8
8
|
|
9
9
|
def initialize(gff_file_path)
|
10
|
-
env = Constants.new
|
11
10
|
@database = gff_file_path
|
12
11
|
@id_to_records_map={}
|
13
12
|
@id_to_cds_map={}
|
@@ -29,9 +28,15 @@ class GFFDB
|
|
29
28
|
|
30
29
|
|
31
30
|
def make_index(input_gff)
|
31
|
+
env=Constants.instance
|
32
|
+
|
32
33
|
io = File.open(input_gff, "r")
|
34
|
+
env.log "Parsing Input GFF",:info
|
33
35
|
gffdb = Bio::GFF::GFF3.new(io) #parses the entire db
|
34
36
|
|
37
|
+
num_records = gffdb.records.length
|
38
|
+
env.log "Indexing #{num_records}", :info
|
39
|
+
|
35
40
|
# Now create the mapping from ids to records
|
36
41
|
gffdb.records.each do |record|
|
37
42
|
|