File: get_path_nodes_from_fasta.pl

package info (click to toggle)
trinityrnaseq 2.11.0%2Bdfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 417,528 kB
  • sloc: perl: 48,420; cpp: 17,749; java: 12,695; python: 3,124; sh: 1,030; ansic: 983; makefile: 688; xml: 62
file content (44 lines) | stat: -rwxr-xr-x 647 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/env perl

use strict;
use warnings;

my @entries;

while (<>) {

    if (/>(\w+).*path=\[(.*)\]/) {
        
        my $acc = $1;
        my $path = $2;

        my @node_descr = split(/\s+/, $path);

        my @nodes;
        
        foreach my $node (@node_descr) {
            $node =~ s/:.*$//;
            push (@nodes, $node);
        }

        push (@entries, {
            acc => $acc,
            nodes => join(" ", @nodes),
        });
    }
}


@entries = sort {$a->{nodes} cmp $b->{nodes}}  @entries;


foreach my $entry (@entries) {
    print join("\t", $entry->{acc}, $entry->{nodes}) . "\n";
}



exit(0);