start fixing test for multi cat phenotype upload.
[sgn.git] / lib / CXGN / Genotype / ProtocolProp.pm
blobe41ad74589649c3747dd6233273179bc7d19e3d7
2 =head1 NAME
4 CXGN::Genotype::ProtocolProp
6 =head1 DESCRIPTION
8 CXGN::Genotype::ProtocolProp manages genotyping protocol metadata stored in nd_protocolprop with type 'vcf_map_details'. It extends CXGN::JSONProp.
10 =head1 AUTHOR
12 Titima Tantikanjana <tt15@cornell.edu>
14 =head1 METHODS
16 =cut
18 package CXGN::Genotype::ProtocolProp;
20 use Moose;
22 extends 'CXGN::JSONProp';
25 has 'assay_type' => (isa => 'Str', is => 'rw');
27 has 'chromosomes' => (isa => 'Maybe[HashRef]', is => 'rw');
29 has 'header_information_line' => (isa => 'Maybe[Str]', is =>'rw');
31 has 'marker_info_keys' => ( isa => 'Maybe[ArrayRef]', is => 'rw');
33 has 'marker_names' => ( isa => 'Maybe[ArrayRef]', is => 'rw');
35 has 'reference_genome_name' => (isa => 'Str', is =>'rw');
37 has 'sample_observation_unit_type_name' => (isa => 'Str', is =>'rw');
39 has 'species_name' => (isa => 'Str', is => 'rw');
42 sub BUILD {
43 my $self = shift;
44 my $args = shift;
46 $self->prop_table('nd_protocolprop');
47 $self->prop_namespace('NaturalDiversity::NdProtocolprop');
48 $self->prop_primary_key('nd_protocolprop_id');
49 $self->prop_type('vcf_map_details');
50 $self->prop_id($args->{prop_id});
51 $self->cv_name('protocol_property');
52 $self->allowed_fields([ qw | assay_type chromosomes header_information_line marker_info_keys marker_names reference_genome_name sample_observation_unit_type_name species_name | ]);
53 $self->parent_table('nd_protocol');
54 $self->parent_primary_key('nd_protocol_id');
56 $self->load();