wrnap 0.5.1 → 0.6.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/.idea/.name +1 -0
- data/.idea/.rakeTasks +7 -0
- data/.idea/encodings.xml +5 -0
- data/.idea/misc.xml +5 -0
- data/.idea/modules.xml +9 -0
- data/.idea/scopes/scope_settings.xml +5 -0
- data/.idea/vcs.xml +7 -0
- data/.idea/workspace.xml +169 -0
- data/.idea/wrnap.iml +49 -0
- data/lib/wrnap/package/base.rb +5 -5
- data/lib/wrnap/package/fft_eq.rb +20 -0
- data/lib/wrnap/package/fft_eq_base.rb +22 -0
- data/lib/wrnap/package/fft_population.rb +47 -0
- data/lib/wrnap/version.rb +1 -1
- metadata +14 -3
- data/lib/wrnap/package/population.rb +0 -95
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cefe9e6fe3cf4bf1b3be6b6a3736811b1ffaaf27
|
|
4
|
+
data.tar.gz: de8eecb67814098f053eb2c6dbd83fa082d57e2c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4ffa744e8f49dd166642309710ec373b756af413127b65c4e812a6982794328d929f86add790264c8179030100145630a1fd6ac4be925cd7ccf216bab6a1f825
|
|
7
|
+
data.tar.gz: 5efc6edf99af6535cef344c05ef5a5547e4f8d77549e2540c12f2bc57d714517f9fee4597a3ac86bf5e1d029b4622a0940c667d597c9e6352f04fa26de1cc173
|
data/.idea/.name
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
wrnap
|
data/.idea/.rakeTasks
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<Settings><!--This file was automatically generated by Ruby plugin.
|
|
3
|
+
You are allowed to:
|
|
4
|
+
1. Remove rake task
|
|
5
|
+
2. Add existing rake tasks
|
|
6
|
+
To add existing rake tasks automatically delete this file and reload the project.
|
|
7
|
+
--><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build wrnap-0.5.1.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Build and install wrnap-0.5.1.gem into system gems" fullCmd="install" taksId="install" /><RakeTask description="Create tag v0.5.1 and build and push wrnap-0.5.1.gem to Rubygems" fullCmd="release" taksId="release" /></RakeGroup></Settings>
|
data/.idea/encodings.xml
ADDED
data/.idea/misc.xml
ADDED
data/.idea/modules.xml
ADDED
data/.idea/vcs.xml
ADDED
data/.idea/workspace.xml
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ChangeListManager">
|
|
4
|
+
<list default="true" id="f215766d-a45c-47cc-a7d7-9487868cd8b4" name="Default" comment="">
|
|
5
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/wrnap/package/base.rb" afterPath="$PROJECT_DIR$/lib/wrnap/package/base.rb" />
|
|
6
|
+
</list>
|
|
7
|
+
<ignored path="wrnap.iws" />
|
|
8
|
+
<ignored path=".idea/workspace.xml" />
|
|
9
|
+
<option name="TRACKING_ENABLED" value="true" />
|
|
10
|
+
<option name="SHOW_DIALOG" value="false" />
|
|
11
|
+
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
12
|
+
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
|
13
|
+
<option name="LAST_RESOLUTION" value="IGNORE" />
|
|
14
|
+
</component>
|
|
15
|
+
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
|
|
16
|
+
<component name="CreatePatchCommitExecutor">
|
|
17
|
+
<option name="PATCH_PATH" value="" />
|
|
18
|
+
</component>
|
|
19
|
+
<component name="DaemonCodeAnalyzer">
|
|
20
|
+
<disable_hints />
|
|
21
|
+
</component>
|
|
22
|
+
<component name="FavoritesManager">
|
|
23
|
+
<favorites_list name="wrnap" />
|
|
24
|
+
</component>
|
|
25
|
+
<component name="FileEditorManager">
|
|
26
|
+
<leaf>
|
|
27
|
+
<file leaf-file-name="wrnap.rb" pinned="false" current="true" current-in-tab="true">
|
|
28
|
+
<entry file="file://$PROJECT_DIR$/lib/wrnap.rb">
|
|
29
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
30
|
+
<state vertical-scroll-proportion="-0.074179746" vertical-offset="52" max-vertical-offset="1183">
|
|
31
|
+
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
|
32
|
+
<folding />
|
|
33
|
+
</state>
|
|
34
|
+
</provider>
|
|
35
|
+
</entry>
|
|
36
|
+
</file>
|
|
37
|
+
</leaf>
|
|
38
|
+
</component>
|
|
39
|
+
<component name="FindManager">
|
|
40
|
+
<FindUsagesManager>
|
|
41
|
+
<setting name="OPEN_NEW_TAB" value="true" />
|
|
42
|
+
</FindUsagesManager>
|
|
43
|
+
</component>
|
|
44
|
+
<component name="Git.Settings">
|
|
45
|
+
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
|
46
|
+
</component>
|
|
47
|
+
<component name="ProjectFrameBounds">
|
|
48
|
+
<option name="y" value="22" />
|
|
49
|
+
<option name="width" value="1280" />
|
|
50
|
+
<option name="height" value="774" />
|
|
51
|
+
</component>
|
|
52
|
+
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
|
|
53
|
+
<OptionsSetting value="true" id="Add" />
|
|
54
|
+
<OptionsSetting value="true" id="Remove" />
|
|
55
|
+
<OptionsSetting value="true" id="Checkout" />
|
|
56
|
+
<OptionsSetting value="true" id="Update" />
|
|
57
|
+
<OptionsSetting value="true" id="Status" />
|
|
58
|
+
<OptionsSetting value="true" id="Edit" />
|
|
59
|
+
<ConfirmationsSetting value="0" id="Add" />
|
|
60
|
+
<ConfirmationsSetting value="0" id="Remove" />
|
|
61
|
+
</component>
|
|
62
|
+
<component name="ProjectReloadState">
|
|
63
|
+
<option name="STATE" value="0" />
|
|
64
|
+
</component>
|
|
65
|
+
<component name="ProjectView">
|
|
66
|
+
<navigator currentView="ProjectPane" proportions="" version="1">
|
|
67
|
+
<flattenPackages />
|
|
68
|
+
<showMembers />
|
|
69
|
+
<showModules />
|
|
70
|
+
<showLibraryContents />
|
|
71
|
+
<hideEmptyPackages />
|
|
72
|
+
<abbreviatePackageNames />
|
|
73
|
+
<autoscrollToSource />
|
|
74
|
+
<autoscrollFromSource />
|
|
75
|
+
<sortByType />
|
|
76
|
+
</navigator>
|
|
77
|
+
<panes>
|
|
78
|
+
<pane id="ProjectPane">
|
|
79
|
+
<subPane>
|
|
80
|
+
<PATH>
|
|
81
|
+
<PATH_ELEMENT>
|
|
82
|
+
<option name="myItemId" value="wrnap" />
|
|
83
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
84
|
+
</PATH_ELEMENT>
|
|
85
|
+
</PATH>
|
|
86
|
+
</subPane>
|
|
87
|
+
</pane>
|
|
88
|
+
<pane id="Scope" />
|
|
89
|
+
</panes>
|
|
90
|
+
</component>
|
|
91
|
+
<component name="PropertiesComponent">
|
|
92
|
+
<property name="WebServerToolWindowFactoryState" value="false" />
|
|
93
|
+
<property name="options.lastSelected" value="reference.settingsdialog.IDE.editor.colors.Font" />
|
|
94
|
+
<property name="options.splitter.main.proportions" value="0.3" />
|
|
95
|
+
<property name="options.splitter.details.proportions" value="0.2" />
|
|
96
|
+
<property name="options.searchVisible" value="true" />
|
|
97
|
+
<property name="FullScreen" value="false" />
|
|
98
|
+
</component>
|
|
99
|
+
<component name="RunManager">
|
|
100
|
+
<list size="0" />
|
|
101
|
+
</component>
|
|
102
|
+
<component name="ShelveChangesManager" show_recycled="false" />
|
|
103
|
+
<component name="SvnConfiguration">
|
|
104
|
+
<configuration />
|
|
105
|
+
</component>
|
|
106
|
+
<component name="TaskManager">
|
|
107
|
+
<task active="true" id="Default" summary="Default task">
|
|
108
|
+
<changelist id="f215766d-a45c-47cc-a7d7-9487868cd8b4" name="Default" comment="" />
|
|
109
|
+
<created>1399483991383</created>
|
|
110
|
+
<updated>1399483991383</updated>
|
|
111
|
+
</task>
|
|
112
|
+
<servers />
|
|
113
|
+
</component>
|
|
114
|
+
<component name="ToolWindowManager">
|
|
115
|
+
<frame x="0" y="22" width="1280" height="774" extended-state="6" />
|
|
116
|
+
<editor active="false" />
|
|
117
|
+
<layout>
|
|
118
|
+
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32968536" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
|
119
|
+
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
|
120
|
+
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
|
121
|
+
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
|
122
|
+
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
|
123
|
+
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
|
124
|
+
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.16796875" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
|
125
|
+
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
|
126
|
+
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
|
127
|
+
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
|
128
|
+
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25307798" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
|
129
|
+
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
|
130
|
+
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
|
131
|
+
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
|
132
|
+
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
|
133
|
+
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
|
134
|
+
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
|
135
|
+
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
|
136
|
+
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
|
137
|
+
</layout>
|
|
138
|
+
</component>
|
|
139
|
+
<component name="Vcs.Log.UiProperties">
|
|
140
|
+
<option name="RECENTLY_FILTERED_USER_GROUPS">
|
|
141
|
+
<collection />
|
|
142
|
+
</option>
|
|
143
|
+
<option name="RECENTLY_FILTERED_BRANCH_GROUPS">
|
|
144
|
+
<collection />
|
|
145
|
+
</option>
|
|
146
|
+
</component>
|
|
147
|
+
<component name="VcsContentAnnotationSettings">
|
|
148
|
+
<option name="myLimit" value="2678400000" />
|
|
149
|
+
</component>
|
|
150
|
+
<component name="VcsManagerConfiguration">
|
|
151
|
+
<option name="myTodoPanelSettings">
|
|
152
|
+
<TodoPanelSettings />
|
|
153
|
+
</option>
|
|
154
|
+
</component>
|
|
155
|
+
<component name="XDebuggerManager">
|
|
156
|
+
<breakpoint-manager />
|
|
157
|
+
</component>
|
|
158
|
+
<component name="editorHistoryManager">
|
|
159
|
+
<entry file="file://$PROJECT_DIR$/lib/wrnap.rb">
|
|
160
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
161
|
+
<state vertical-scroll-proportion="-0.074179746" vertical-offset="52" max-vertical-offset="1183">
|
|
162
|
+
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
|
163
|
+
<folding />
|
|
164
|
+
</state>
|
|
165
|
+
</provider>
|
|
166
|
+
</entry>
|
|
167
|
+
</component>
|
|
168
|
+
</project>
|
|
169
|
+
|
data/.idea/wrnap.iml
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<module type="RUBY_MODULE" version="4">
|
|
3
|
+
<component name="FacetManager">
|
|
4
|
+
<facet type="gem" name="Ruby Gem">
|
|
5
|
+
<configuration>
|
|
6
|
+
<option name="GEM_APP_ROOT_PATH" value="$MODULE_DIR$" />
|
|
7
|
+
<option name="GEM_APP_TEST_PATH" value="" />
|
|
8
|
+
<option name="GEM_APP_LIB_PATH" value="$MODULE_DIR$/lib" />
|
|
9
|
+
</configuration>
|
|
10
|
+
</facet>
|
|
11
|
+
</component>
|
|
12
|
+
<component name="NewModuleRootManager">
|
|
13
|
+
<content url="file://$MODULE_DIR$" />
|
|
14
|
+
<orderEntry type="inheritedJdk" />
|
|
15
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
|
16
|
+
<orderEntry type="module-library">
|
|
17
|
+
<library name="wrnap (v0.5.1, /Users/evansenter/Source/wrnap) [path][gem]">
|
|
18
|
+
<CLASSES>
|
|
19
|
+
<root url="file://$MODULE_DIR$/lib" />
|
|
20
|
+
<root url="file://$MODULE_DIR$/pkg" />
|
|
21
|
+
<root url="file://$MODULE_DIR$/.idea" />
|
|
22
|
+
</CLASSES>
|
|
23
|
+
<SOURCES>
|
|
24
|
+
<root url="file://$MODULE_DIR$/lib" />
|
|
25
|
+
<root url="file://$MODULE_DIR$/pkg" />
|
|
26
|
+
<root url="file://$MODULE_DIR$/.idea" />
|
|
27
|
+
</SOURCES>
|
|
28
|
+
</library>
|
|
29
|
+
</orderEntry>
|
|
30
|
+
<orderEntry type="library" scope="PROVIDED" name="activesupport (v4.1.0, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
31
|
+
<orderEntry type="library" scope="PROVIDED" name="bio (v1.4.3.0001, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
32
|
+
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.6.2, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
33
|
+
<orderEntry type="library" scope="PROVIDED" name="entrez (v0.5.8.1, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
34
|
+
<orderEntry type="library" scope="PROVIDED" name="hoe (v3.12.0, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
35
|
+
<orderEntry type="library" scope="PROVIDED" name="httparty (v0.13.1, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
36
|
+
<orderEntry type="library" scope="PROVIDED" name="i18n (v0.6.9, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
37
|
+
<orderEntry type="library" scope="PROVIDED" name="json (v1.8.1, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
38
|
+
<orderEntry type="library" scope="PROVIDED" name="minitest (v5.3.3, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
39
|
+
<orderEntry type="library" scope="PROVIDED" name="multi_xml (v0.5.5, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
40
|
+
<orderEntry type="library" scope="PROVIDED" name="rake (v10.2.2, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
41
|
+
<orderEntry type="library" scope="PROVIDED" name="rand (v0.9.1, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
42
|
+
<orderEntry type="library" scope="PROVIDED" name="rinruby (v2.0.3, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
43
|
+
<orderEntry type="library" scope="PROVIDED" name="rroc (v0.1.1, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
44
|
+
<orderEntry type="library" scope="PROVIDED" name="shuffle (v0.1.1, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
45
|
+
<orderEntry type="library" scope="PROVIDED" name="thread_safe (v0.3.3, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
46
|
+
<orderEntry type="library" scope="PROVIDED" name="tzinfo (v1.1.0, rbenv: 2.0.0-p0) [gem]" level="application" />
|
|
47
|
+
</component>
|
|
48
|
+
</module>
|
|
49
|
+
|
data/lib/wrnap/package/base.rb
CHANGED
|
@@ -39,11 +39,11 @@ module Wrnap
|
|
|
39
39
|
data = [data] unless data.is_a?(Array)
|
|
40
40
|
|
|
41
41
|
@data = case data.map(&:class)
|
|
42
|
-
when [Wrnap::Global::Rna]
|
|
43
|
-
when *(1..3).map { |i| [String] * i }
|
|
44
|
-
when [Hash]
|
|
45
|
-
when [Array]
|
|
46
|
-
when [NilClass]
|
|
42
|
+
when [Wrnap::Global::Rna], [Wrnap::Global::Rna::Context] then data.first
|
|
43
|
+
when *(1..3).map { |i| [String] * i } then RNA.from_string(*data)
|
|
44
|
+
when [Hash] then RNA.from_hash(*data)
|
|
45
|
+
when [Array] then RNA.from_array(*data)
|
|
46
|
+
when [NilClass] then Wrnap::Global::Rna.placeholder
|
|
47
47
|
else raise TypeError.new("Unsupported Wrnap::Global::Rna#initialize format: #{data}")
|
|
48
48
|
end
|
|
49
49
|
else
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module Wrnap
|
|
2
|
+
module Package
|
|
3
|
+
class FftEq < FftEqBase
|
|
4
|
+
attr_reader :equilibrium
|
|
5
|
+
|
|
6
|
+
self.default_flags = ->(context, flags) do
|
|
7
|
+
{
|
|
8
|
+
"-fftbor2d-i" => context.data.seq,
|
|
9
|
+
"-fftbor2d-j" => context.data.str_1,
|
|
10
|
+
"-fftbor2d-k" => context.data.str_2,
|
|
11
|
+
"-population-e" => 1e-4
|
|
12
|
+
}
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def post_process
|
|
16
|
+
@equilibrium = (response.empty? || response =~ /Infinity/ ? -1 : 10 ** response.strip.to_f)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module Wrnap
|
|
2
|
+
module Package
|
|
3
|
+
class FftEqBase < Base
|
|
4
|
+
self.executable_name = "FFTeq"
|
|
5
|
+
|
|
6
|
+
self.default_flags = ->(context, flags) do
|
|
7
|
+
{
|
|
8
|
+
"-fftbor2d-i" => context.data.seq,
|
|
9
|
+
"-fftbor2d-j" => context.data.str_1,
|
|
10
|
+
"-fftbor2d-k" => context.data.str_2
|
|
11
|
+
}
|
|
12
|
+
end
|
|
13
|
+
self.quote_flag_params = %w|-fftbor2d-i -fftbor2d-j -fftbor2d-k|
|
|
14
|
+
|
|
15
|
+
def run_command(flags)
|
|
16
|
+
Wrnap.debugger { "Running #{exec_name} on #{data.inspect}" }
|
|
17
|
+
|
|
18
|
+
"%s %s" % [exec_name, stringify_flags(flags)]
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
module Wrnap
|
|
2
|
+
module Package
|
|
3
|
+
class FftPopulation < FftEqBase
|
|
4
|
+
THREE_COLUMN_REGEX = /^([+-]\d+\.\d+\t){2}[+-]\d+\.\d+$/
|
|
5
|
+
|
|
6
|
+
attr_reader :starting_population, :target_population
|
|
7
|
+
|
|
8
|
+
class PopulationProportion
|
|
9
|
+
include Enumerable
|
|
10
|
+
|
|
11
|
+
attr_reader :proportion_over_time
|
|
12
|
+
|
|
13
|
+
def initialize(time, proportion)
|
|
14
|
+
@proportion_over_time = time.zip(proportion)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def time_range(from, to)
|
|
18
|
+
proportion_over_time.select { |time, _| ((from.to_f)..(to.to_f)) === time }
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def time_points; proportion_over_time.map(&:first); end
|
|
22
|
+
def proportion_points; proportion_over_time.map(&:last); end
|
|
23
|
+
|
|
24
|
+
def each
|
|
25
|
+
proportion_over_time.each { |_| yield _ }
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def inspect
|
|
29
|
+
"#<Wrnap::Package::Population::PopulationProportion time: (%f..%f), proportion: (%f..%f)>" % [
|
|
30
|
+
time_points[0],
|
|
31
|
+
time_points[-1],
|
|
32
|
+
proportion_points[0],
|
|
33
|
+
proportion_points[-1],
|
|
34
|
+
]
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def post_process
|
|
39
|
+
unless response.empty?
|
|
40
|
+
time_points, target_population, starting_population = response.split(/\n/).select { |line| line =~ THREE_COLUMN_REGEX }.map { |line| line.split(/\t/).map(&:to_f) }.transpose
|
|
41
|
+
@starting_population = PopulationProportion.new(time_points, starting_population)
|
|
42
|
+
@target_population = PopulationProportion.new(time_points, target_population)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
data/lib/wrnap/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: wrnap
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Evan Senter
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-05-
|
|
11
|
+
date: 2014-05-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -130,6 +130,15 @@ extensions: []
|
|
|
130
130
|
extra_rdoc_files: []
|
|
131
131
|
files:
|
|
132
132
|
- ".gitignore"
|
|
133
|
+
- ".idea/.name"
|
|
134
|
+
- ".idea/.rakeTasks"
|
|
135
|
+
- ".idea/encodings.xml"
|
|
136
|
+
- ".idea/misc.xml"
|
|
137
|
+
- ".idea/modules.xml"
|
|
138
|
+
- ".idea/scopes/scope_settings.xml"
|
|
139
|
+
- ".idea/vcs.xml"
|
|
140
|
+
- ".idea/workspace.xml"
|
|
141
|
+
- ".idea/wrnap.iml"
|
|
133
142
|
- Gemfile
|
|
134
143
|
- LICENSE.md
|
|
135
144
|
- README.md
|
|
@@ -146,7 +155,10 @@ files:
|
|
|
146
155
|
- lib/wrnap/package/base.rb
|
|
147
156
|
- lib/wrnap/package/energy_grid_2d.rb
|
|
148
157
|
- lib/wrnap/package/eval.rb
|
|
158
|
+
- lib/wrnap/package/fft_eq.rb
|
|
159
|
+
- lib/wrnap/package/fft_eq_base.rb
|
|
149
160
|
- lib/wrnap/package/fft_mfpt.rb
|
|
161
|
+
- lib/wrnap/package/fft_population.rb
|
|
150
162
|
- lib/wrnap/package/fftbor.rb
|
|
151
163
|
- lib/wrnap/package/fftbor2d.rb
|
|
152
164
|
- lib/wrnap/package/ffthairpin.rb
|
|
@@ -156,7 +168,6 @@ files:
|
|
|
156
168
|
- lib/wrnap/package/kinwalker.rb
|
|
157
169
|
- lib/wrnap/package/mfpt.rb
|
|
158
170
|
- lib/wrnap/package/plot.rb
|
|
159
|
-
- lib/wrnap/package/population.rb
|
|
160
171
|
- lib/wrnap/package/rna2dfold.rb
|
|
161
172
|
- lib/wrnap/package/rnabor.rb
|
|
162
173
|
- lib/wrnap/package/spectral.rb
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
module Wrnap
|
|
2
|
-
module Package
|
|
3
|
-
class Population < Base
|
|
4
|
-
THREE_COLUMN_REGEX = /^([+-]\d+\.\d+\t){2}[+-]\d+\.\d+$/
|
|
5
|
-
|
|
6
|
-
attr_reader :str_1_to_str_2, :str_1_to_str_1, :equilibrium
|
|
7
|
-
|
|
8
|
-
self.default_flags = ->(context, flags) do
|
|
9
|
-
{
|
|
10
|
-
"-fftbor2d-i" => context.data.seq,
|
|
11
|
-
"-fftbor2d-j" => context.data.str_1,
|
|
12
|
-
"-fftbor2d-k" => context.data.str_2,
|
|
13
|
-
"-spectral-i" => -10,
|
|
14
|
-
"-spectral-j" => 10,
|
|
15
|
-
"-spectral-p" => 1e-2,
|
|
16
|
-
}
|
|
17
|
-
end
|
|
18
|
-
self.quote_flag_params = %w|-fftbor2d-i -fftbor2d-j -fftbor2d-k|
|
|
19
|
-
|
|
20
|
-
class PopulationProportion
|
|
21
|
-
include Enumerable
|
|
22
|
-
|
|
23
|
-
attr_reader :proportion_over_time
|
|
24
|
-
|
|
25
|
-
def initialize(time, proportion)
|
|
26
|
-
@proportion_over_time = time.zip(proportion)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def time_range(from, to)
|
|
30
|
-
proportion_over_time.select { |time, _| ((from.to_f)..(to.to_f)) === time }
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def equilibrium(percentile: 95, window_size: 5, epsilon: 1e-4)
|
|
34
|
-
start = proportion_points.first
|
|
35
|
-
stop = proportion_points.last
|
|
36
|
-
|
|
37
|
-
if start != stop
|
|
38
|
-
sign = stop > start ? :increasing : :decreasing
|
|
39
|
-
# If the population is increasing over time, we want the 95%, otherwise we want the 5%
|
|
40
|
-
spread_100 = (start.zero? || stop.zero? ? [start, stop].max : (stop / start).abs) / 100
|
|
41
|
-
# Look for the first index at the percentile we're interested in, and scan to the right from there.
|
|
42
|
-
start_index = proportion_points.each_with_index.find do |proportion, i|
|
|
43
|
-
case sign
|
|
44
|
-
when :increasing then proportion > (stop - (spread_100 * (100 - percentile)))
|
|
45
|
-
when :decreasing then proportion < (stop + (spread_100 * (100 - percentile)))
|
|
46
|
-
end
|
|
47
|
-
end.last
|
|
48
|
-
|
|
49
|
-
# The first slice starting at x we find where abs(p(x + i), p(x)) < epslion for all 1 <= x < window_size is equilibrium,
|
|
50
|
-
# and we return that time point.
|
|
51
|
-
equilibrium_time = proportion_over_time[start_index..-1].each_cons(window_size).find do |proportion_slice|
|
|
52
|
-
proportion_slice.all? { |time, proportion| (proportion - proportion_slice.first.last).abs < epsilon }
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
equilibrium_time ? 10 ** equilibrium_time.first.first : -1
|
|
56
|
-
else
|
|
57
|
-
-1
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
def time_points; proportion_over_time.map(&:first); end
|
|
62
|
-
def proportion_points; proportion_over_time.map(&:last); end
|
|
63
|
-
|
|
64
|
-
def each
|
|
65
|
-
proportion_over_time.each { |_| yield _ }
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def inspect
|
|
69
|
-
"#<Wrnap::Package::Population::PopulationProportion time: (%f..%f), proportion: (%f..%f)>" % [
|
|
70
|
-
time_points[0],
|
|
71
|
-
time_points[-1],
|
|
72
|
-
proportion_points[0],
|
|
73
|
-
proportion_points[-1],
|
|
74
|
-
]
|
|
75
|
-
end
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
def run_command(flags)
|
|
79
|
-
Wrnap.debugger { "Running #{exec_name} on #{data.inspect}" }
|
|
80
|
-
|
|
81
|
-
"%s %s" % [exec_name, stringify_flags(flags)]
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
def post_process
|
|
85
|
-
if flags.include?("-spectral-e")
|
|
86
|
-
@equilibrium = 10 ** response.strip.to_f
|
|
87
|
-
else
|
|
88
|
-
time_points, str_1_to_str_2, str_1_to_str_1 = response.split(/\n/).select { |line| line =~ THREE_COLUMN_REGEX }.map { |line| line.split(/\t/).map(&:to_f) }.transpose
|
|
89
|
-
@str_1_to_str_2 = PopulationProportion.new(time_points, str_1_to_str_2)
|
|
90
|
-
@str_1_to_str_1 = PopulationProportion.new(time_points, str_1_to_str_1)
|
|
91
|
-
end
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
end
|