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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ee17a7a6a96eb5b4e97c7162815443cfca424bec
4
- data.tar.gz: addfe85a94f4b2856ef5f7ac2ac1f72435801ed9
3
+ metadata.gz: a14cbee49f85959abf71a7616a2029e786cd34c2
4
+ data.tar.gz: 6e66d187ce54162178369e8b2590568640e9cb25
5
5
  SHA512:
6
- metadata.gz: 350b2fdd82bd58ed2fe9427560a5b89b0fc9fcb70a55d1198c9882c06cf833321a2213f7d6d06d09da6ec00386a23af7b87a8a1d20fbe0b9cd8cd277eac3756d
7
- data.tar.gz: bcd5b9f30c299b61098115c54a017963bb2cccf921bddf121336e21c19405f21a6d110f9fb797a134bce9931f601694d2618ea9e047a31ee5190847d73d65602
6
+ metadata.gz: 048ea671184ac4f068f55c6cd8c9396449391ceef617d2011c8edcd678add6846d5867bf9bcf59418155f69d0ae3381083eb52ae90ce1e6b0a098cb4a3a3cc52
7
+ data.tar.gz: 1e46bcdeb81ae0f075da5d10e329d41ad7e617aae2c076c06cfc791ebd630698b48f0453059dd93e475cc5aae9a54e4d932c0118fbe5d36d746f956fa2b96aa2
@@ -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 central repository"
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.core.{Protocol, ProtocolConfig}
3
+ import org.autoprotocol.measures._
4
+ import org.autoprotocol.core.{Sample, Protocol, ProtocolConfig}
4
5
 
5
- object <%= name.capitalize %> extends Protocol {
6
+ object <%= name.camelize %> extends Protocol {
6
7
 
7
8
  def run(config: ProtocolConfig): Unit = {
8
9
  // Your code goes here.
@@ -1,7 +1,5 @@
1
1
  // THIS FILE IS AUTOMATICALLY GENERATED
2
2
  // DO NOT EDIT THIS FILE. ALL CHANGES WILL BE LOST.
3
- import sbt._
4
- import Keys._
5
3
 
6
4
  object Dependencies {
7
5
  val dependencies = <% if dependencies.empty? %>Seq.empty<% else %>Seq(<%= dependencies.map {|d|
@@ -1,4 +1,4 @@
1
1
  module Transcriptic
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  AUTOPROTOCOL_VERSION = "0.1.0"
4
4
  end
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.0
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-20 00:00:00.000000000 Z
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.erb
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.