BioPerl
view release on metacpan or search on metacpan
Bio/Assembly/IO/phrap.pm view on Meta::CPAN
/INTERNAL\s+Contig\s+(\d+)\s+opp\s+sense/ && do {
my $contigID = $1;
my $contig = $assembly->get_contig_by_id($contigID) ||
$assembly->get_singlet_by_id($contigID);
while ($_ = $self->_readline) {
my (@data,$rejected,$c1_strand,$c2_strand);
(@data = /\s+(\*?)\s+(C?)\s+(\S+)\s+(C?)\s+(\S+)\s+(-?\d+)\s+(-?\d+)\s+(-?\d+)/) && do {
if ($data[0] eq '*') { $rejected = 1 } else { $rejected = 0 }
$c1_strand = ($data[1] eq 'C' ? -1 : 1);
$c2_strand = ($data[3] eq 'C' ? -1 : 1);
(my $clone_name = $data[2]) =~ s/^(\S+)\.\w.*/$1/;
my $clone = Bio::SeqFeature::Generic->new(
-start => $data[6],
-end => $data[7],
-strand => 0,
-primary => "_internal_clone",
-source => $clone_name,
-tag => {'_1st_strand'=>,$c1_strand,
'_2nd_strand'=>,$c2_strand,
'_1st_name'=>$data[2],
'_2nd_name'=>$data[4],
'_length'=>$data[5],
'_rejected'=>$rejected}
);
$contig->add_features([ $clone ]);
};
/Covered regions:/ && do {
my %coord = /(\d+)/g; my $i = 0;
foreach my $start (sort { $a <=> $b } keys %coord) {
my $cov = Bio::SeqFeature::Generic->new(
-start => $start,
-end => $coord{$start},
-primary => '_covered_region',
-source => ++$i,
);
# 1: attach feature to contig consensus, if any
$contig->add_features([ $cov ],1);
}
last; # exit while loop
}; # /Covered regions:/
} # while ($_ = $self->_readline)
}; # /INTERNAL\s+Contig\s+(\d+)\s+opp\s+sense/
} # while ($_ = $self->_readline)
return 1;
}
=head2 write_assembly (NOT IMPLEMENTED)
Title : write_assembly
Usage : $ass_io->write_assembly($assembly)
Function: Write the assembly object in Phrap compatible ACE format
Returns : 1 on success, 0 for error
Args : A Bio::Assembly::Scaffold object
=cut
sub write_assembly {
my $self = shift;
$self->throw_not_implemented();
}
1;
__END__
( run in 1.511 second using v1.01-cache-2.11-cpan-437f7b0c052 )