@@ -3,6 +3,7 @@ package WTSI::NPG::HTS::PacBio::Annotator;
3
3
use List::AllUtils qw[ uniq] ;
4
4
use Moose::Role;
5
5
use WTSI::NPG::iRODS::Metadata;
6
+ use WTSI::DNAP::Utilities::Params qw[ function_params] ;
6
7
7
8
our $VERSION = ' ' ;
8
9
@@ -13,7 +14,16 @@ with qw[
13
14
=head2 make_primary_metadata
14
15
15
16
Arg [1] PacBio run metadata, WTSI::NPG::HTS::PacBio::Metadata.
16
- Arg [2] Is data R & D? Boolean. Optional, defaults to false.
17
+
18
+ Named args : data_level Processing level of data being archived
19
+ e.g. Primary - off instrument, secondary
20
+ - subsequently post processed. Optional.
21
+ is_target Is target? If false then target flag
22
+ is not set. Data is not target where it
23
+ is not deplexed or where data at a different
24
+ data level is the default for the customer.
25
+ Boolean. Defaults to true.
26
+ is_r_and_d Is data R & D? Boolean. Defaults to false.
17
27
18
28
Example : my @avus = $ann->make_primary_metadata($metadata);
19
29
Description: Return instrument, run, cell index, collection number, set
@@ -23,35 +33,49 @@ with qw[
23
33
24
34
=cut
25
35
26
- sub make_primary_metadata {
27
- my ($self , $metadata , $is_r_and_d ) = @_ ;
28
-
29
- defined $metadata or
30
- $self -> logconfess(' A defined metadata argument is required' );
31
-
32
- my @avus ;
33
- push @avus , $self -> make_avu($PACBIO_CELL_INDEX , $metadata -> cell_index);
34
- push @avus , $self -> make_avu($PACBIO_COLLECTION_NUMBER , $metadata -> collection_number);
35
- push @avus , $self -> make_avu($PACBIO_INSTRUMENT_NAME , $metadata -> instrument_name);
36
- push @avus , $self -> make_avu($PACBIO_RUN , $metadata -> run_name);
37
- push @avus , $self -> make_avu($PACBIO_WELL , $metadata -> well_name);
38
- push @avus , $self -> make_avu($PACBIO_SAMPLE_LOAD_NAME , $metadata -> sample_name);
39
-
40
- # Deprecated field, used in early version of RS
41
- if ($metadata -> has_set_number){
42
- push @avus , $self -> make_avu($PACBIO_SET_NUMBER , $metadata -> set_number);
43
- }
44
-
45
- if ($is_r_and_d ) {
46
- # R & D data
47
- push @avus , $self -> make_avu($SAMPLE_NAME , $metadata -> sample_name);
48
- }
49
- else {
50
- # Production data
51
- push @avus , $self -> make_avu($PACBIO_SOURCE , $PACBIO_PRODUCTION );
52
- }
53
-
54
- return @avus ;
36
+ {
37
+ my $positional = 2;
38
+ my @named = qw[ data_level is_target is_r_and_d ] ;
39
+ my $params = function_params($positional , @named );
40
+
41
+ sub make_primary_metadata {
42
+ my ($self , $metadata ) = $params -> parse(@_ );
43
+
44
+ defined $metadata or
45
+ $self -> logconfess(' A defined meta argument is required' );
46
+
47
+ my @avus ;
48
+ push @avus , $self -> make_avu($PACBIO_CELL_INDEX , $metadata -> cell_index);
49
+ push @avus , $self -> make_avu($PACBIO_COLLECTION_NUMBER , $metadata -> collection_number);
50
+ push @avus , $self -> make_avu($PACBIO_INSTRUMENT_NAME , $metadata -> instrument_name);
51
+ push @avus , $self -> make_avu($PACBIO_RUN , $metadata -> run_name);
52
+ push @avus , $self -> make_avu($PACBIO_WELL , $metadata -> well_name);
53
+ push @avus , $self -> make_avu($PACBIO_SAMPLE_LOAD_NAME , $metadata -> sample_name);
54
+
55
+ if ($params -> data_level) {
56
+ push @avus , $self -> make_avu($PACBIO_DATA_LEVEL , $params -> data_level);
57
+ }
58
+
59
+ # Deprecated field, used in early version of RS
60
+ if ($metadata -> has_set_number){
61
+ push @avus , $self -> make_avu($PACBIO_SET_NUMBER , $metadata -> set_number);
62
+ }
63
+
64
+ if ($params -> is_r_and_d) {
65
+ # R & D data
66
+ push @avus , $self -> make_avu($SAMPLE_NAME , $metadata -> sample_name);
67
+ }
68
+ else {
69
+ # Production data
70
+ push @avus , $self -> make_avu($PACBIO_SOURCE , $PACBIO_PRODUCTION );
71
+ }
72
+
73
+ if ($params -> is_target || !defined $params -> is_target) {
74
+ push @avus , $self -> make_avu($TARGET , 1);
75
+ }
76
+
77
+ return @avus ;
78
+ }
55
79
}
56
80
57
81
=head2 make_secondary_metadata
0 commit comments