transcriptic 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/transcriptic/cli.rb +1 -1
- data/lib/transcriptic/project_generator.rb +1 -1
- data/lib/transcriptic/templates/README.md +62 -0
- data/lib/transcriptic/templates/app/Main.erb +3 -2
- data/lib/transcriptic/templates/project/Dependencies.erb +0 -2
- data/lib/transcriptic/version.rb +1 -1
- metadata +5 -4
- data/lib/transcriptic/templates/README.erb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a14cbee49f85959abf71a7616a2029e786cd34c2
|
4
|
+
data.tar.gz: 6e66d187ce54162178369e8b2590568640e9cb25
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 048ea671184ac4f068f55c6cd8c9396449391ceef617d2011c8edcd678add6846d5867bf9bcf59418155f69d0ae3381083eb52ae90ce1e6b0a098cb4a3a3cc52
|
7
|
+
data.tar.gz: 1e46bcdeb81ae0f075da5d10e329d41ad7e617aae2c076c06cfc791ebd630698b48f0453059dd93e475cc5aae9a54e4d932c0118fbe5d36d746f956fa2b96aa2
|
data/lib/transcriptic/cli.rb
CHANGED
@@ -129,7 +129,7 @@ module Transcriptic
|
|
129
129
|
end
|
130
130
|
end
|
131
131
|
|
132
|
-
desc "publish", "Packages up the current project and uploads it to the Autoprotocol
|
132
|
+
desc "publish", "Packages up the current project and uploads it to the Autoprotocol Central Repository"
|
133
133
|
def publish
|
134
134
|
labfile = require_labfile!
|
135
135
|
if compile
|
@@ -26,9 +26,9 @@ module Transcriptic
|
|
26
26
|
template 'project/Build.erb', target.join('project/Build.scala')
|
27
27
|
copy_file 'project/build.properties', target.join('project/build.properties')
|
28
28
|
copy_file 'project/plugins.sbt', target.join('project/plugins.sbt')
|
29
|
+
copy_file 'README.md', target.join('README.md')
|
29
30
|
template 'LICENSE.erb', target.join('LICENSE')
|
30
31
|
template 'Labfile.erb', target.join('Labfile')
|
31
|
-
template 'README.erb', target.join('README.md')
|
32
32
|
|
33
33
|
Transcriptic::DependenciesGenerator.new([File.join(Dir.pwd, name), []], options).invoke_all
|
34
34
|
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# Welcome to Transcriptic
|
2
|
+
|
3
|
+
This is a new Transcriptic Autoprotocol project. Autoprotocol is Transcriptic's system for writing formal scientific protocols; it's a Scala-based domain-specific language that's meant to make it as easy as possible for you to express your intent and move on with your life.
|
4
|
+
|
5
|
+
## Getting Started With Autoprotocol
|
6
|
+
|
7
|
+
The core of an autoprotocol package is your main object:
|
8
|
+
|
9
|
+
package edu.mylab.test
|
10
|
+
|
11
|
+
object TestProject extends Protocol {
|
12
|
+
|
13
|
+
def run(config: ProtocolConfig) = {
|
14
|
+
// your code goes here.
|
15
|
+
}
|
16
|
+
|
17
|
+
}
|
18
|
+
|
19
|
+
A main object is any Scala object that extends the `Protocol` trait, and an autoprotocol package can have multiple main objects. The `run` method is the entry point into your code; from the example above, if you run:
|
20
|
+
|
21
|
+
transcriptic launch edu.mylab.test.TestProject
|
22
|
+
|
23
|
+
execution will start in the `run` method defined in your `TestProject` object.
|
24
|
+
|
25
|
+
## Analyzing Protocols
|
26
|
+
|
27
|
+
Once you've written some protocol logic, you'll want to analyze your code to estimate its runtime and costs:
|
28
|
+
|
29
|
+
$ transcriptic analyze edu.mylab.test.TestProject
|
30
|
+
|
31
|
+
====> Updating dependencies...
|
32
|
+
identical project/Dependencies.scala
|
33
|
+
====> Detected Scala sources in app...
|
34
|
+
====> Compiling...
|
35
|
+
(lines omitted)
|
36
|
+
====> Compilation succeeded.
|
37
|
+
====> Verification successful for edu.mylab.test.TestProject
|
38
|
+
Expected cost: $2.80, maximum observed cost: $3.0
|
39
|
+
|
40
|
+
## Publishing Packages
|
41
|
+
|
42
|
+
Once you have logic that you're happy with the correctness of, you might want to publish it so other researchers can use it in their work. The `Labfile` in this directory allows you to specify details about the authorship of your code and other details.
|
43
|
+
|
44
|
+
name "TestProject"
|
45
|
+
author "John Appleseed"
|
46
|
+
email "jappleseed@university.edu"
|
47
|
+
version "1.0.0"
|
48
|
+
description "A basic assay for quantitating fluorescence after flux capacitor exposure."
|
49
|
+
|
50
|
+
Similarly, you can add dependencies to your Labfile if you use code published by others by simply adding lines to your `Labfile`:
|
51
|
+
|
52
|
+
dependency "edu.stanford.myassay", "project-name", "1.0.0"
|
53
|
+
|
54
|
+
Once you declare the dependency there, you can `import` any code exposed in those associated packages in your logic, and anyone who builds on your code will automatically download your dependencies as well.
|
55
|
+
|
56
|
+
## Launching Live Protocol Runs
|
57
|
+
|
58
|
+
Once you've written and tested your protocol, you can use `transcriptic launch` to start a live run on Transcriptic Platform:
|
59
|
+
|
60
|
+
transcriptic launch edu.mylab.test.TestProject
|
61
|
+
|
62
|
+
This will upload your package to the Transcriptic Runner and start a run. You can follow the run's progress via your account dashboard at https://secure.transcriptic.com/ or by using `transcriptic status RUNID` or `transcriptic logs RUNID [--tail]`.
|
@@ -1,8 +1,9 @@
|
|
1
1
|
package <%= package %>
|
2
2
|
|
3
|
-
import org.autoprotocol.
|
3
|
+
import org.autoprotocol.measures._
|
4
|
+
import org.autoprotocol.core.{Sample, Protocol, ProtocolConfig}
|
4
5
|
|
5
|
-
object <%= name.
|
6
|
+
object <%= name.camelize %> extends Protocol {
|
6
7
|
|
7
8
|
def run(config: ProtocolConfig): Unit = {
|
8
9
|
// Your code goes here.
|
data/lib/transcriptic/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: transcriptic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Transcriptic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-06-
|
11
|
+
date: 2013-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: netrc
|
@@ -250,7 +250,7 @@ files:
|
|
250
250
|
- lib/transcriptic/sbt.rb
|
251
251
|
- lib/transcriptic/templates/LICENSE.erb
|
252
252
|
- lib/transcriptic/templates/Labfile.erb
|
253
|
-
- lib/transcriptic/templates/README.
|
253
|
+
- lib/transcriptic/templates/README.md
|
254
254
|
- lib/transcriptic/templates/app/Main.erb
|
255
255
|
- lib/transcriptic/templates/project/Build.erb
|
256
256
|
- lib/transcriptic/templates/project/Dependencies.erb
|
@@ -262,7 +262,8 @@ files:
|
|
262
262
|
- lib/vendor/okjson.rb
|
263
263
|
- bin/transcriptic
|
264
264
|
homepage: https://www.transcriptic.com/
|
265
|
-
licenses:
|
265
|
+
licenses:
|
266
|
+
- MIT
|
266
267
|
metadata: {}
|
267
268
|
post_install_message:
|
268
269
|
rdoc_options: []
|
@@ -1,3 +0,0 @@
|
|
1
|
-
# Welcome to Autoprotocol
|
2
|
-
|
3
|
-
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|