BioPerl
view release on metacpan or search on metacpan
Bio/SeqFeature/Tools/Unflattener.pm view on Meta::CPAN
186718681869187018711872187318741875187618771878187918801881188218831884188518861887#
# for example, the CDS feature may have a resolver tag of /derives_from
# which is a 'foreign key' into the /label tag of the mRNA feature
#
# this kind of tag-based resolution is possible for a certain subset
# of genbank records
#
# if no resolver tag is specified, we revert to the normal
# resolver_method
if
(
$resolver_tag
) {
my
$backup_resolver_method
=
$resolver_method
;
# closure: $resolver_tag is remembered by this sub
my
$sub
=
sub
{
my
(
$self
,
$sf
,
@possible_container_sfs
) =
@_
;
my
@container_sfs
= ();
if
(
$sf
->has_tag(
$resolver_tag
)) {
my
(
$resolver_tagval
) =
$sf
->get_tag_values(
$resolver_tag
);
# if a feature has a resolver_tag (e.g. /derives_from)
# this specifies the /product, /symbol or /label for the
# parent feature
Bio/SeqFeature/Tools/Unflattener.pm view on Meta::CPAN
189618971898189919001901190219031904190519061907190819091910191119121913191419151916
if
(
grep
{
$_
eq
$resolver_tagval
}
@vals
) {
$match
= 1;
last
;
}
}
}
$match
;
}
@possible_container_sfs
;
}
else
{
return
$backup_resolver_method
->(
$sf
,
@possible_container_sfs
);
}
return
map
{
$_
=>0}
@container_sfs
;
};
$resolver_method
=
$sub
;
}
else
{
# CONDITION: $resolver_tag is NOT set
$self
->throw(
"assertion error"
)
if
$resolver_tag
;
}
# we have now set $resolver_method to a subroutine for
Bio/SeqIO/Handler/GenericRichSeqHandler.pm view on Meta::CPAN
839840841842843844845846847848849850851852853854855856857858859
$data
->{ORGANISM} ||
''
);
my
(
$organelle
,
$abbr_name
,
$common
);
my
@class
=
reverse
split
m{\s*;\s*},
$class
;
# have to treat swiss different from everything else...
if
(
$sl
=~ m{^(mitochondrion|chloroplast|plastid)?
# GenBank format
\s*(.*?)
\s*(?: \( (.*?) \) )?\.?$
}xmso ){
(
$organelle
,
$abbr_name
,
$common
) = ($1, $2, $3);
# optional
}
else
{
$abbr_name
=
$sl
;
# nothing caught; this is a backup!
}
# there is no 'abbreviated name' for EMBL
$sci_name
=
$abbr_name
if
$seqformat
ne
'genbank'
;
$organelle
||=
''
;
$common
||=
''
;
$sci_name
||
return
;
unshift
@class
,
$sci_name
;
# no genus/species parsing here; moving to Bio::Taxon-based taxonomy
my
$make
= Bio::Species->new();
$make
->scientific_name(
$sci_name
);
Bio/SeqIO/genbank.pm view on Meta::CPAN
158315841585158615871588158915901591159215931594159515961597159815991600160116021603# entire SOURCE line just in case
if
(
$sl
=~ m{^(mitochondrion|chloroplast|plastid)?
\s*(.*?)
\s*(?: \( (.*?) \) )?\.?
$
}xms
) {
(
$organelle
,
$abbr_name
,
$common
) = ($1, $2, $3);
# optional
}
else
{
$abbr_name
=
$sl
;
# nothing caught; this is a backup!
}
# Convert data in classification lines into classification array.
# only split on ';' or '.' so that classification that is 2 or more words will
# still get matched, use map() to remove trailing/leading/intervening spaces
my
@class
=
map
{
$_
=~ s/^\s+//;
$_
=~ s/\s+$//;
$_
=~ s/\s{2,}/ /g;
$_
; }
split
/(?<!subgen)[;\.]+/,
$class_lines
;
ide/bioperl-mode/site-lisp/bioperl-mode.el view on Meta::CPAN
120712081209121012111212121312141215121612171218121912201221122212231224122512261227
(and mod (not (string-match
"^\*"
mod))))
(setq done t)
(let (
;;
local
vars here
)
(setq name-list (bioperl-module-names nmspc nil t))
(setq mod (completing-
read
(concat prompt-prefix nmspc
" Module: "
)
name-list nil (not
no
-retry)
(
if
mod (replace-regexp-in-string
"^\*"
""
mod) nil)))
;; allow a backup into namespace completion
(
if
(or
no
-retry (not (string-equal mod
""
)))
(setq done t)
;; retry setup
;;
try
again, backing up
(setq done nil)
(let ( (splt (bioperl-
split
-name nmspc nil)) )
(
if
(elt splt 1)
(progn
(setq nmspc (elt splt 0))
;; kludge :
"pretend"
mod is not found using the
"*"
ide/bioperl-mode/site-lisp/bioperl-mode.el view on Meta::CPAN
130813091310131113121313131413151316131713181319132013211322132313241325132613271328
(setq name-list (bioperl-method-names (concat nmspc
"::"
mod) t pthn))
(let (
;;
local
vars here...
)
(setq mth (completing-
read
(concat prompt-prefix
"Method in "
nmspc
"::"
mod
": "
)
name-list nil (not
no
-retry)))
(
if
(or
no
-retry (not (string-equal mth
""
)))
(setq done t)
;; retry setup
;; allow a backup into module completion
(setq done nil)
(let (
(splt (bioperl-
split
-name (concat nmspc
"::"
mod) nil pthn))
)
(setq nmspc (elt splt 0))
;; kludge :
"pretend"
mod is not found using the
"*"
(setq mod (concat
"*"
(elt splt 1))))))
))
;;
return
values
(
if
get-method
( run in 0.773 second using v1.01-cache-2.11-cpan-87723dcf8b7 )