Skip to content

Commit

Permalink
Add TenX Assemblies
Browse files Browse the repository at this point in the history
  • Loading branch information
ebelter committed Jan 16, 2018
1 parent 62883b8 commit f7766fc
Show file tree
Hide file tree
Showing 13 changed files with 146 additions and 0 deletions.
16 changes: 16 additions & 0 deletions db/mysql/deploy/create_tenx_assemblies.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
-- Deploy tenx:create_tenx_assemblies to sqlite
-- requires tenx_reads

BEGIN;

CREATE TABLE IF NOT EXISTS tenx_assemblies (
id VARCHAR(32),
directory VARCHAR(256),
reads_id VARCHAR(256),
status VARCHAR(16),

CONSTRAINT tenxassemblies_pk PRIMARY KEY(id),
CONSTRAINT tenxassemblies_reference_fk FOREIGN KEY(reads_id) REFERENCES tenx_reads(id)
);

COMMIT;
7 changes: 7 additions & 0 deletions db/mysql/revert/create_tenx_assemblies.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-- Revert tenx:create_tenx_assemblies from sqlite

BEGIN;

DROP TABLE IF EXISTS tenx_assemblies;

COMMIT;
1 change: 1 addition & 0 deletions db/mysql/sqitch.plan
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
create_tenx_references 2017-06-07T21:31:02Z Eddie Belter <ebelter@mullis.local> # Create TenX References!
create_tenx_reads 2017-06-07T21:40:30Z Eddie Belter <ebelter@mullis.local> # Create TenX Reads!
create_tenx_alignments 2017-06-07T21:42:54Z Eddie Belter <ebelter@mullis.local> # Add TenX Alignments!
create_tenx_assemblies 2018-01-16T22:31:39Z ebelter <ebelter@dev-perl> # Create 10X Assemblies!
10 changes: 10 additions & 0 deletions db/mysql/verify/create_tenx_assemblies.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
-- Verify tenx:create_tenx_assemblies on sqlite

BEGIN;

SELECT
id, directory, reads_id, status
FROM tenx_assemblies
WHERE 0;

ROLLBACK;
16 changes: 16 additions & 0 deletions db/sqlite/deploy/create_tenx_assemblies.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
-- Deploy tenx:create_tenx_assemblies to sqlite
-- requires tenx_reads

BEGIN;

CREATE TABLE IF NOT EXISTS tenx_assemblies (
id VARCHAR(32),
directory VARCHAR(256),
reads_id VARCHAR(256),
status VARCHAR(16),

CONSTRAINT tenxassemblies_pk PRIMARY KEY(id),
CONSTRAINT tenxassemblies_reference_fk FOREIGN KEY(reads_id) REFERENCES tenx_reads(id)
);

COMMIT;
7 changes: 7 additions & 0 deletions db/sqlite/revert/create_tenx_assemblies.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-- Revert tenx:create_tenx_assemblies from sqlite

BEGIN;

DROP TABLE IF EXISTS tenx_assemblies;

COMMIT;
1 change: 1 addition & 0 deletions db/sqlite/sqitch.plan
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
create_tenx_references 2017-06-06T18:45:22Z Eddie Belter <ebelter@mullis.local> # Create TenX References!
create_tenx_reads 2017-06-06T23:25:06Z Eddie Belter <ebelter@mullis.local> # Create TenX Reads!
create_tenx_alignments 2017-06-06T23:27:18Z Eddie Belter <ebelter@mullis.local> # Add TenX Alignments!
create_tenx_assemblies 2018-01-16T22:00:59Z ebelter <ebelter@dev-perl> # Create TenX Assemblies!
10 changes: 10 additions & 0 deletions db/sqlite/verify/create_tenx_assemblies.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
-- Verify tenx:create_tenx_assemblies on sqlite

BEGIN;

SELECT
id, directory, reads_id, status
FROM tenx_assemblies
WHERE 0;

ROLLBACK;
29 changes: 29 additions & 0 deletions lib/Tenx/Assembly.pm
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package Tenx::Assembly;

use strict;
use warnings 'FATAL';

class Tenx::Assembly {
table_name => 'tenx_assemblies',
id_generator => '-uuid',
id_by => {
id => { is => 'Text', },
},
has => {
directory => { is => 'Text', doc => 'File system location.', },
reads => {
is => 'Tenx::Reads',
id_by => 'reads_id',
doc => 'The reads that are assembled.',
},
},
has_optional => {
status => {
is => 'Text',
doc => 'The status of the assembly: running, succeeded, failed, etc.',
},
},
data_source => Tenx::Config::get('tenx_ds'),
};

1;
16 changes: 16 additions & 0 deletions lib/Tenx/Assembly/Command.pm
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package Tenx::Assembly::Command;

use strict;
use warnings 'FATAL';

use UR::Object::Command::Crud;
UR::Object::Command::Crud->create_command_subclasses(
target_class => 'Tenx::Assembly',
target_name => 'alignment',
namespace => 'Tenx::Assembly::Command',
sub_command_configs => {
copy => { skip => 1, },
},
);

1;
33 changes: 33 additions & 0 deletions t/Tenx-Assembly.t
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/env perl

use strict;
use warnings 'FATAL';

use TenxTestEnv;

use Test::More tests => 1;

subtest "create" => sub{
plan tests => 8;

my $pkg = 'Tenx::Assembly';
use_ok($pkg) or die;
use_ok('Tenx::Reads') or die;

my $assembly = $pkg->create(
directory => '/tmp',
reads => Tenx::Reads->__define__(directory => '/tmp/', sample_name => 'TEST-TESTY-MCTESTERSON'),
status => 'running',
);
ok($assembly, 'create tenx assembly');

ok($assembly->id, 'assembly id');
ok($assembly->directory, 'assembly directory');
is($assembly->reads_id, $assembly->reads->id, 'assembly reads');
ok($assembly->status, 'assembly status');

ok(UR::Context->commit, 'commit');

};

done_testing();
Binary file modified t/data/test.db
Binary file not shown.
Binary file modified t/data/test_sqitch.db
Binary file not shown.

0 comments on commit f7766fc

Please sign in to comment.