Bio-MUST-Core

 view release on metacpan or  search on metacpan

lib/Bio/MUST/Core/SeqId.pm  view on Meta::CPAN

package Bio::MUST::Core::SeqId;
# ABSTRACT: Modern and legacy MUST-compliant sequence id
# CONTRIBUTOR: Mick VAN VLIERBERGHE <mvanvlierberghe@doct.uliege.be>
$Bio::MUST::Core::SeqId::VERSION = '0.252040';
use Moose;
use namespace::autoclean;

# AUTOGENERATED CODE! DO NOT MODIFY THIS FILE!

use autodie;
use feature qw(say);

# use Smart::Comments;

use Carp;
use Const::Fast;
use Regexp::Common;

use Bio::MUST::Core::Types;
use Bio::MUST::Core::Constants qw(:ncbi :seqids);
use aliased 'Bio::MUST::Core::SeqId::Filter';


has 'full_id' => (
    is       => 'ro',
    isa      => 'Str',
    required => 1,
    writer   => '_set_full_id',
);


has 'is_' . $_ => (
    traits   => ['Bool'],
    is       => 'ro',
    isa      => 'Bool',
    init_arg => undef,
    default  => 0,
    handles  => {
        '_set_' . $_ => 'set',
    },
) for qw(foreign new);


has $_ => (
    is       => 'ro',
    isa      => 'Maybe[Str]',
    init_arg => undef,
    default  => undef,
    writer   => '_set_' . $_,
) for qw(family tag genus species strain accession tail
         taxon_id gca gca_novers gca_vers gca_prefix gca_number
         gi database identifier);


# array of parts from NCBI FASTA-style GNL ids
# Note: all_parts accessor returns an empty list if undef
has 'parts' => (
    traits   => ['Array'],
    is       => 'ro',
    isa      => 'ArrayRef[Str]',
    init_arg => undef,
    default  => sub { [] },
    writer   => '_set_parts',
    handles  => {
        count_parts => 'count',
          all_parts => 'elements',



( run in 1.277 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )