annotate variant_effect_predictor/Bio/Graphics/Util.pm @ 1:d6778b5d8382 draft default tip

Deleted selected files
author willmclaren
date Fri, 03 Aug 2012 10:05:43 -0400
parents 21066c0abaf5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
1 package Bio::Graphics::Util;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 # $Id: Util.pm,v 1.2.2.2 2003/07/06 21:53:55 heikki Exp $
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4 # Non object-oriented utilities used here-and-there in Bio::Graphics modules
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7 require Exporter;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
8 use vars '@ISA','@EXPORT','@EXPORT_OK';
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
9 @ISA = 'Exporter';
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
10 @EXPORT = 'frame_and_offset';
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
11
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13 =over 4
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15 =item ($frame,$offset) = frame_and_offset($pos,$strand,$phase)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17 Calculate the reading frame for a given genomic position, strand and
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18 phase. The offset is the offset from $pos to the first nucleotide
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19 of the reading frame.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21 In a scalar context, returns the frame only.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23 =back
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27 sub frame_and_offset {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28 my ($pos,$strand,$phase) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29 $strand ||= +1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30 $phase ||= 0;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31 my $frame = $strand >= 0
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32 ? ($pos - $phase - 1) % 3
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33 : (1 - $pos - $phase) % 3;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34 my $offset = -$phase % 3;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35 $offset *= -1 if $strand < 0;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 return wantarray ? ($frame,$offset) : $frame;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 1;