HEX
Server: Apache/2.4.59 (Debian)
System: Linux keymana 4.19.0-21-cloud-amd64 #1 SMP Debian 4.19.249-2 (2022-06-30) x86_64
User: lijunjie (1003)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/bin/zff2gff3.pl
#!/usr/bin/perl
use strict; use warnings;

my %Feature = (
	'Exon'  => 'CDS',
	'Einit' => 'CDS',
	'Eterm' => 'CDS',
	'Esngl' => 'CDS',
);

print "##gff-version 3\n";
my $seq;
my %H;
while (<>) {
	if (/^>(\S+)/) {
		print "#region $1\n";
		$seq = $1;
	} else {
		my @f = split;
		if (@f == 4) {
			my $strand = $f[1] < $f[2] ? '+' : '-';
			if ($strand eq '-') {($f[1], $f[2]) = ($f[2], $f[1])}
			print join("\t", $seq, 'snap', $Feature{$f[0]}, $f[1], $f[2], '.',
				$strand, "Name=$f[3]"), "\n";
		} elsif (@f == 9) {
			print join("\t", $seq, 'snap', $Feature{$f[0]}, $f[1], $f[2], '.',
				$f[3], "Name=$f[8]"), "\n";
		} else {die "input does not appear to be ZFF"}
	}
}
__END__