$Bio::MUST::Core::Constants::VERSION
=
'0.250380'
;
OK
=> [
qw(:seqtypes :gaps :ncbi :seqids :files)
],
TAGS
=> [
seqtypes
=> [
qw($PROTLIKE $RNALIKE $NONPUREDNA)
],
gaps
=> [
qw($GAP $PROTMISS $DNAMISS
$GAPPROTMISS $GAPDNAMISS $FRAMESHIFT)
],
ncbi
=> [
qw($NCBIPART $NCBIACC $NCBIDBABBR
$NCBIPKEY $PKEYONLY $NCBIGCA $GCAONLY)
],
seqids
=> [
qw($NOID_CHARS $NEW_TAG $TAIL_42
$DEF_ID $GI_ID $LCL_ID $GNL_ID $JGI_ID $PAC_ID)
],
files
=> [
qw($EMPTY_LINE $COMMENT_LINE $DEF_LINE
$DIM_LINE $PHY_LINE
$STK_COMMENT $STK_SEQ $END_LINE
$COUNT_LINE $ALI_SUFFIX)
],
dirs
=> [
qw(%SUFFICES_FOR)
],
],
);
const
our
$PROTLIKE
=>
qr{[EFILPQefilpq]}
xms;
const
our
$RNALIKE
=>
qr{[Uu]}
xms;
const
our
$NONPUREDNA
=>
qr{[^ACGTacgt]}
xms;
const
my
$GAPCHCL
=>
q{\*\-\ }
;
const
my
$PROTMISSCHCL
=>
q{\?Xx}
;
const
my
$DNAMISSCHCL
=>
q{\?XxNn}
;
const
my
$PROTAMBIGCHCL
=>
q{BJOUZbjouz}
;
const
my
$DNAAMBIGCHCL
=>
q{BDHKMRSVWYbdhkmrsvwy}
;
const
our
$GAP
=>
qr{[$GAPCHCL]}
xms;
const
our
$PROTMISS
=>
qr{[$PROTMISSCHCL$PROTAMBIGCHCL]}
xms;
const
our
$DNAMISS
=>
qr{[$DNAMISSCHCL$DNAAMBIGCHCL]}
xms;
const
our
$GAPPROTMISS
=>
qr{[$GAPCHCL$PROTMISSCHCL$PROTAMBIGCHCL]}
xms;
const
our
$GAPDNAMISS
=>
qr{[$GAPCHCL$DNAMISSCHCL$DNAAMBIGCHCL]}
xms;
const
our
$FRAMESHIFT
=>
'x'
;
const
our
$NCBIPART
=>
qr{[^\|\s]+}
xms;
const
our
$NCBIACC
=>
qr{[A-Z0-9\.\_]+}
xms;
const
our
$NCBIDBABBR
=>
qr{[a-z]{2,}
}xms;
const
our
$NCBIPKEY
=>
qr{[1-9]\d*}
xms;
const
our
$PKEYONLY
=>
qr{\A $NCBIPKEY \z}
xms;
const
our
$NCBIGCA
=>
qr{GC[AF]_\d{9}
\. \d+}xms;
const
our
$GCAONLY
=>
qr{\A $NCBIGCA \z}
xms;
const
our
$NOID_CHARS
=>
qr{[,;:]}
xms;
const
our
$NEW_TAG
=>
qr{\#NEW\#}
xms;
const
our
$TAIL_42
=>
qr{(?: \.H\d+\.\d+ | \.E\.bf | \.E\.lc) $NEW_TAG? \z}
xms;
const
our
$DEF_ID
=>
qr{\A (\S+) }
xms;
const
our
$GI_ID
=>
qr{\A gi \| ($NCBIPKEY) }
xms;
const
our
$LCL_ID
=>
qr{\A lcl \| (\S+) }
xms;
const
our
$GNL_ID
=>
qr{\A gnl \| $NCBIPART \| ($NCBIPART) }
xms;
const
our
$JGI_ID
=>
qr{\A jgi \| $NCBIPART \| (\d+) }
xms;
const
our
$PAC_ID
=>
qr{\| PACid: (\d+) }
xms;
const
our
$EMPTY_LINE
=>
qr{\A \s* \z}
xms;
const
our
$COMMENT_LINE
=>
qr{\A (\#)\s*(.*)}
xms;
const
our
$DEF_LINE
=>
qr{\A >(.*)}
xms;
const
our
$DIM_LINE
=>
qr{\A \s*(\d+)\s+(\d+)\s* \z}
xms;
const
our
$PHY_LINE
=>
qr{\A (?:(\S+)\s)? \s* (.*) }
xms;
const
our
$STK_COMMENT
=>
qr{\A (\#=GF)\s*(.*)}
xms;
const
our
$STK_SEQ
=>
qr{\A (\S+)\s+(.*)}
xms;
const
our
$END_LINE
=>
qr{\A //}
xms;
const
our
$COUNT_LINE
=>
qr{\A (\d+) \z}
xms;
const
our
$ALI_SUFFIX
=>
qr{\.ali \z}
xmsi;
const
our
%SUFFICES_FOR
=> (
Ali
=>
qr{\. (?: ali|fasta|fas|fa|faa|fna ) \z}
xmsi,
Tree
=>
qr{\. (?: arb|nexus|nex|treefile|tree|tre ) \z}
xmsi,
);
1;