view maf2bed.pl @ 64:497fd2d27aa2 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit f450a9a7bec7ae695a85a061bf59956b73196976-dirty
author fubar
date Thu, 28 Mar 2024 09:15:57 +0000
parents e7a6f7a7148d
children
line wrap: on
line source

#!/usr/bin/env perl
# https://unpkg.com/browse/jbrowse-plugin-mafviewer@1.0.6/dist/
# license is Apache2_license.txt included here
use warnings;
use strict;

$, = ' ';
$\ = "\n";
$, = "\t";

my $id = 0;
my $buffer = '';
my $start = 0;
my $end = 0;
my $score = 0;
my $chrom = '';

while (<STDIN>) {
    chomp;
    next if /^$/;
    my @line = split('\s+');
    if (/^s\s+$ARGV[0]/) {
        $chrom = $line[1];
        $chrom =~ s/$ARGV[0]\.//;
        $start = $line[2];
        $end = $line[2] + $line[3];
        s/^s //;
        s/ +/:/g;
        my $temp = $_;
        $buffer = $buffer eq '' ? $temp : "$buffer;$temp";
    }
    elsif (/^a/) {
        $score = +(s/^a score=//);
        if($id > 0) {
            print $chrom, $start, $end, "$ARGV[0]_$id", $score, $buffer;
        }
        $id += 1;
        $buffer = '';
    }

    elsif (/^s/) {
        s/^s //;
        s/ +/:/g;
        my $temp = $_;
        $buffer = $buffer eq '' ? $temp : "$buffer,$temp";
    }
}
print $chrom, $start, $end, "$ARGV[0]_$id", $score, $buffer;