[med-svn] [Git][med-team/trnascan-se][master] 3 commits: New upstream version 2.0.9+ds
Nilesh Patra (@nilesh)
gitlab at salsa.debian.org
Fri Jul 16 18:25:54 BST 2021
Nilesh Patra pushed to branch master at Debian Med / trnascan-se
Commits:
2c46c955 by Nilesh Patra at 2021-07-16T17:25:18+00:00
New upstream version 2.0.9+ds
- - - - -
4c6a712b by Nilesh Patra at 2021-07-16T17:25:18+00:00
Update manpage
- - - - -
38332d7d by Nilesh Patra at 2021-07-16T17:25:18+00:00
Interim changelog entry
- - - - -
13 changed files:
- debian/EukHighConfidenceFilter.1
- debian/changelog
- debian/covels-SE.1
- debian/coves-SE.1
- debian/eufindtRNA.1
- debian/sstofa.1
- debian/tRNAscan-SE.1
- debian/trnascan-1.4.1
- lib/tRNAscanSE/CM.pm
- lib/tRNAscanSE/Options.pm
- lib/tRNAscanSE/ScanResult.pm
- lib/tRNAscanSE/Tscan.pm
- tRNAscan-SE.src
Changes:
=====================================
debian/EukHighConfidenceFilter.1
=====================================
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16.
-.TH EUKHIGHCONFIDENCEFILTER "1" "September 2020" "EukHighConfidenceFilter 2.0.6+ds" "User Commands"
+.TH EUKHIGHCONFIDENCEFILTER "1" "July 2021" "EukHighConfidenceFilter 2.0.9+ds" "User Commands"
.SH NAME
EukHighConfidenceFilter \- detection of transfer RNA genes in genomic sequence
.SH SYNOPSIS
=====================================
debian/changelog
=====================================
@@ -1,14 +1,15 @@
-trnascan-se (2.0.8+ds-1) UNRELEASED; urgency=medium
+trnascan-se (2.0.9+ds-1) UNRELEASED; urgency=medium
[ Nilesh Patra ]
* Team Upload.
- * New upstream version 2.0.8+ds
+ * New upstream version 2.0.9+ds
* Declare compliance with policy 4.5.1
+ * Update manpages
[ Étienne Mollier ]
* d/control: update uploader address
- -- Étienne Mollier <emollier at debian.org> Wed, 14 Jul 2021 00:11:44 +0200
+ -- Nilesh Patra <nilesh at debian.org> Fri, 16 Jul 2021 17:20:28 +0000
trnascan-se (2.0.7+ds-1) unstable; urgency=medium
=====================================
debian/covels-SE.1
=====================================
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16.
-.TH COVELS-SE "1" "September 2020" "covels-SE 2.0.6+ds" "User Commands"
+.TH COVELS-SE "1" "July 2021" "covels-SE 2.0.9+ds" "User Commands"
.SH NAME
covels-SE \- detection of transfer RNA genes in genomic sequence
.SH SYNOPSIS
=====================================
debian/coves-SE.1
=====================================
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16.
-.TH COVES-SE "1" "September 2020" "coves-SE 2.0.6+ds" "User Commands"
+.TH COVES-SE "1" "July 2021" "coves-SE 2.0.9+ds" "User Commands"
.SH NAME
coves-SE \- detection of transfer RNA genes in genomic sequence
.SH DESCRIPTION
=====================================
debian/eufindtRNA.1
=====================================
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16.
-.TH EUFINDTRNA "1" "September 2020" "eufindtRNA 2.0.6+ds" "User Commands"
+.TH EUFINDTRNA "1" "July 2021" "eufindtRNA 2.0.9+ds" "User Commands"
.SH NAME
eufindtRNA \- detection of transfer RNA genes in genomic sequence
.SH SYNOPSIS
=====================================
debian/sstofa.1
=====================================
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16.
-.TH SSTOFA "1" "September 2020" "sstofa 2.0.6+ds" "User Commands"
+.TH SSTOFA "1" "July 2021" "sstofa 2.0.9+ds" "User Commands"
.SH NAME
sstofa \- detection of transfer RNA genes in genomic sequence
.SH SYNOPSIS
=====================================
debian/tRNAscan-SE.1
=====================================
@@ -1,13 +1,13 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16.
-.TH TRNASCAN-SE "1" "September 2020" "tRNAscan-SE 2.0.6+ds" "User Commands"
+.TH TRNASCAN-SE "1" "July 2021" "tRNAscan-SE 2.0.9+ds" "User Commands"
.SH NAME
tRNAscan-SE \- detection of transfer RNA genes in genomic sequence
.SH SYNOPSIS
.B tRNAscan-SE
[\fI\,-options\/\fR] \fI\,<FASTA file(s)>\/\fR
.SH DESCRIPTION
-tRNAscan\-SE 2.0.6 (May 2020)
-Copyright \(co 2019 Patricia Chan and Todd Lowe
+tRNAscan\-SE 2.0.9 (July 2021)
+Copyright \(co 2020 Patricia Chan and Todd Lowe
.IP
University of California Santa Cruz
.PP
@@ -85,6 +85,9 @@ Output options:
\fB\-b\fR \fB\-\-bed\fR <file>
: save results in BED file format of <file>
.TP
+\fB\-j\fR \fB\-\-gff\fR <file>
+: save results in GFF3 file format of <file>
+.TP
\fB\-a\fR \fB\-\-fasta\fR <file>
: save predicted tRNA sequences in FASTA file format of <file>
.TP
@@ -171,7 +174,7 @@ predictions per tRNA identification)
.TP
\fB\-e\fR \fB\-\-eufind\fR
: search using Eukaryotic tRNA finder (EufindtRNA) only
-(defaults to Normal search parameters when run alone,
+(defaults to Normal seach parameters when run alone,
or to Relaxed search params when run with Cove)
.TP
\fB\-\-emode\fR <mode>
=====================================
debian/trnascan-1.4.1
=====================================
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16.
-.TH TRNASCAN-1.4 "1" "September 2020" "trnascan-1.4 2.0.6+ds" "User Commands"
+.TH TRNASCAN-1.4 "1" "July 2021" "trnascan-1.4 2.0.9+ds" "User Commands"
.SH NAME
trnascan-1.4 \- detection of transfer RNA genes in genomic sequence
.SH SYNOPSIS
=====================================
lib/tRNAscanSE/CM.pm
=====================================
@@ -655,12 +655,38 @@ sub set_infernal_bin
{
die "FATAL: Unable to find ".$self->{cmsearch_bin}." executable\n\n";
}
+ else
+ {
+ $self->check_infernal_version($self->{cmsearch_bin});
+ }
$self->{cmscan_bin} = $bindir."/".$self->{cmscan_bin};
if (!(-x $self->{cmscan_bin}))
{
die "FATAL: Unable to find ".$self->{cmscan_bin}." executable\n\n";
}
+ else
+ {
+ $self->check_infernal_version($self->{cmscan_bin});
+ }
+}
+
+sub check_infernal_version
+{
+ my $self = shift;
+ my $exec_bin = shift;
+
+ my $cmd = $exec_bin." -h | grep INFERNAL";
+ my $line = `$cmd`;
+ my $version = 0;
+ if ($line =~ /INFERNAL 1.1.(\d+) /)
+ {
+ $version = $1;
+ }
+ if ($version < 2)
+ {
+ die "FATAL: ".$exec_bin." is incompatible with tRNAscan-SE. Please install Infernal version 1.1.2 or above.\n\n";
+ }
}
sub set_search_params
=====================================
lib/tRNAscanSE/Options.pm
=====================================
@@ -100,6 +100,7 @@ sub initialize
$self->{save_all_struct} = 0; # save secondary structures if nonzero
$self->{bed_file} = ""; # bed file
+ $self->{gff_file} = ""; # gff file
$self->{output_fasta_file} = ""; # predicted tRNA fasta file
$self->{all_struct_file} = ""; # sec struct file, set with -f option
$self->{isotype_specific_file} = ""; # isotype specific result file
@@ -465,6 +466,13 @@ sub bed_file
return $self->{bed_file};
}
+sub gff_file
+{
+ my $self = shift;
+ if (@_) { $self->{gff_file} = shift; }
+ return $self->{gff_file};
+}
+
sub output_fasta_file
{
my $self = shift;
@@ -907,6 +915,18 @@ sub display_run_options
print $FHAND "$self->{bed_file}\n";
}
}
+ if ($self->{gff_file} ne "")
+ {
+ print $FHAND "tRNA predictions saved to: ";
+ if ($self->{gff_file} eq "-")
+ {
+ print $FHAND "Standard output\n";
+ }
+ else
+ {
+ print $FHAND "$self->{gff_file}\n";
+ }
+ }
if ($self->{output_fasta_file} ne "")
{
print $FHAND "Predicted tRNA sequences\n", " saved to: ";
=====================================
lib/tRNAscanSE/ScanResult.pm
=====================================
@@ -20,7 +20,7 @@ use tRNAscanSE::Options;
require Exporter;
our @ISA = qw(Exporter);
-our @EXPORT = qw(save_Acedb_from_firstpass write_tRNA write_tRNAs output_tRNA write_bed output_split_fragments print_results_header);
+our @EXPORT = qw(save_Acedb_from_firstpass write_tRNA write_tRNAs output_tRNA write_bed write_gff output_split_fragments print_results_header);
our $printed_header = 0; # keeps track of whether or
# or not results column header
@@ -1111,6 +1111,117 @@ sub convert_bed_score
return $bed_score;
}
+sub write_gff
+{
+ my ($global_vars) = @_;
+ my $opts = $global_vars->{options};
+ my $sp_int_results = $global_vars->{sp_int_results};
+ my $iso_int_results = $global_vars->{iso_int_results};
+
+ $sp_int_results->sort_records("bed_output");
+ if (!$opts->no_isotype())
+ {
+ $iso_int_results->sort_records("tRNAscan_id");
+ }
+
+ my $tRNA = tRNAscanSE::tRNA->new;
+ &open_for_append(\*FILE_OUT, $opts->gff_file());
+ print FILE_OUT "##gff-version 3\n";
+ my @sp_indexes = $sp_int_results->get_indexes();
+ my @ iso_indexes = $iso_int_results->get_indexes();
+ if ($sp_int_results->open_file("read"))
+ {
+ if (!$opts->no_isotype())
+ {
+ $iso_int_results->open_file("read");
+ }
+
+ for (my $i = 0; $i < scalar(@sp_indexes); $i++)
+ {
+ $sp_int_results->get_tRNA($sp_indexes[$i]->[0], $tRNA);
+
+ if (!$opts->no_isotype())
+ {
+ my $id = $tRNA->seqname().".t".&pad_num($tRNA->id(), 6);
+ my $index = $iso_int_results->bsearch_tRNAscan_id($id);
+ if ($index > -1)
+ {
+ $iso_int_results->get_tRNA($iso_indexes[$index]->[0], $tRNA);
+ my ($type, $model, $score, $ss) = $tRNA->get_highest_score_model();
+ if ($tRNA->isotype() eq "Met" and $type eq "cyto" and ($model eq "iMet" or $model eq "fMet" or $model eq "Ile2"))
+ {
+ $tRNA->isotype($model);
+ $tRNA->tRNAscan_id($tRNA->seqname().".tRNA".$tRNA->id()."-".$tRNA->isotype().$tRNA->anticodon());
+ }
+ elsif ($tRNA->isotype() eq "Met" and $type eq "cyto" and $model ne "Met" and $model ne "iMet" and $model ne "fMet")
+ {
+ $tRNA->sort_multi_models("model");
+ my ($met_iso_model, $met_iso_score, $met_iso_ss) = $tRNA->get_model_hit("cyto", $tRNA->isotype());
+ my ($ile2_iso_model, $ile2_iso_score, $ile2_iso_ss) = $tRNA->get_model_hit("cyto", "Ile2");
+ if ($ile2_iso_score > 0 and $met_iso_score > 0)
+ {
+ if (($score - $ile2_iso_score) <= 5 and ($ile2_iso_score - $met_iso_score) >= 5 and $tRNA->score() > 50)
+ {
+ $tRNA->isotype("Ile2");
+ $tRNA->tRNAscan_id($tRNA->seqname().".tRNA".$tRNA->id()."-".$tRNA->isotype().$tRNA->anticodon());
+ }
+ }
+ }
+ }
+ }
+ my $biotype = "tRNA";
+ if ($tRNA->is_pseudo())
+ {
+ $biotype = "pseudogene";
+ }
+ print FILE_OUT $tRNA->seqname()."\ttRNAscan-SE\t".$biotype."\t".$tRNA->start()."\t".$tRNA->end()."\t".$tRNA->score()."\t".$tRNA->strand()."\t.\t".
+ "ID=".$tRNA->seqname().".trna".$tRNA->id().";Name=".$tRNA->tRNAscan_id().";isotype=".$tRNA->isotype().";anticodon=".$tRNA->anticodon().
+ ";gene_biotype=".$biotype.";\n";
+
+ if ($tRNA->get_intron_count() == 0)
+ {
+ print FILE_OUT $tRNA->seqname()."\ttRNAscan-SE\texon\t".$tRNA->start()."\t".$tRNA->end()."\t.\t".$tRNA->strand()."\t.\t".
+ "ID=".$tRNA->seqname().".trna".$tRNA->id().".exon1;Parent=".$tRNA->seqname().".trna".$tRNA->id().";\n";
+ }
+ else
+ {
+ my @ar_introns = $tRNA->ar_introns();
+ if ($tRNA->strand() eq "+")
+ {
+ print FILE_OUT $tRNA->seqname()."\ttRNAscan-SE\texon\t".$tRNA->start()."\t";
+ for (my $i = 0; $i < scalar(@ar_introns); $i++)
+ {
+ print FILE_OUT ($ar_introns[$i]->{start}-1)."\t.\t".$tRNA->strand()."\t.\t".
+ "ID=".$tRNA->seqname().".trna".$tRNA->id().".exon".($i+1).";Parent=".$tRNA->seqname().".trna".$tRNA->id().";\n";
+ print FILE_OUT $tRNA->seqname()."\ttRNAscan-SE\texon\t".($ar_introns[$i]->{end}+1)."\t";
+ }
+ print FILE_OUT $tRNA->end()."\t.\t".$tRNA->strand()."\t.\t".
+ "ID=".$tRNA->seqname().".trna".$tRNA->id().".exon".(scalar(@ar_introns)+1).";Parent=".$tRNA->seqname().".trna".$tRNA->id().";\n";
+ }
+ else
+ {
+ my $end = $tRNA->end();
+ for (my $i = 0; $i < scalar(@ar_introns); $i++)
+ {
+ print FILE_OUT $tRNA->seqname()."\ttRNAscan-SE\texon\t".($ar_introns[$i]->{end}+1)."\t".$end."\t.\t".$tRNA->strand()."\t.\t".
+ "ID=".$tRNA->seqname().".trna".$tRNA->id().".exon".($i+1).";Parent=".$tRNA->seqname().".trna".$tRNA->id().";\n";
+ $end = $ar_introns[$i]->{start} - 1;
+ }
+ print FILE_OUT $tRNA->seqname()."\ttRNAscan-SE\texon\t".$tRNA->start()."\t".$end."\t.\t".$tRNA->strand()."\t.\t".
+ "ID=".$tRNA->seqname().".trna".$tRNA->id().".exon".(scalar(@ar_introns)+1).";Parent=".$tRNA->seqname().".trna".$tRNA->id().";\n";
+ }
+ }
+ }
+
+ if (!$opts->no_isotype())
+ {
+ $iso_int_results->close_file();
+ }
+ $sp_int_results->close_file();
+ }
+ close(FILE_OUT);
+}
+
sub output_split_fragments
{
my ($opts, $r_pairs, $r_5half_hits, $r_3half_hits) = @_;
=====================================
lib/tRNAscanSE/Tscan.pm
=====================================
@@ -230,11 +230,11 @@ sub process_tRNAscan_hits
{
if ($trna->strand() eq "+")
{
- $trna->end() = $trna->start() + length($trna->seq()) - 1;
+ $trna->end($trna->start() + length($trna->seq()) - 1);
}
else
{
- $trna->end() = $trna->start() - length($trna->seq()) + 1;
+ $trna->end($trna->start() - length($trna->seq()) + 1);
}
}
=====================================
tRNAscan-SE.src
=====================================
@@ -4,7 +4,7 @@
# tRNAscan-SE: a program for improved detection of transfer RNA
# genes in genomic sequence
#
-# Version 2.0.8
+# Version 2.0.9
#
# Copyright (C) 2021 Patricia Chan and Todd Lowe
#
@@ -39,8 +39,8 @@ use tRNAscanSE::IntResultFile;
use tRNAscanSE::MultiResultFile;
use tRNAscanSE::SS;
-our $version = "2.0.8";
-our $release_date = "May 2021";
+our $version = "2.0.9";
+our $release_date = "July 2021";
our $program_id = "tRNAscan-SE-".$version;
# modified by 'make'
@@ -481,6 +481,14 @@ sub run_cm_scan
&write_bed(\%global_vars);
}
}
+
+ if ($opts->gff_file() ne "")
+ {
+ if ($curseq_trnact > 0)
+ {
+ &write_gff(\%global_vars);
+ }
+ }
$sp_int_results->clear_index();
$curseq_trnact = 0;
@@ -695,6 +703,7 @@ sub print_all_options
" -m --stats <file> : save statistics summary for run in <file>\n",
" (speed, # tRNAs found in each part of search, etc)\n",
" -b --bed <file> : save results in BED file format of <file>\n",
+ " -j --gff <file> : save results in GFF3 file format of <file>\n",
" -a --fasta <file> : save predicted tRNA sequences in FASTA file format of <file>\n",
" -l --log <file> : save log of program progress in <file>\n",
" --detail : display prediction outputs in detailed view\n",
@@ -762,7 +771,7 @@ sub set_options
our $opt_cove=0; our $opt_mid=0; our $opt_max=0; our $opt_eufind=0; our $opt_tscan=0;
our $opt_ncintron=0; our $opt_frag='';
our $opt_breakdown=0; our $opt_nopseudo=0; our $opt_nomerge=0; our $opt_hitsrc=0;
- our $opt_output=''; our $opt_struct=''; our $opt_stats=''; our $opt_isospecific=''; our $opt_bed=''; our $opt_fasta=''; our $opt_brief=0;
+ our $opt_output=''; our $opt_struct=''; our $opt_stats=''; our $opt_isospecific=''; our $opt_bed=''; our $opt_gff=''; our $opt_fasta=''; our $opt_brief=0;
our $opt_detail=0;
our $opt_prefix=''; our $opt_match=''; our $opt_search='';
our $opt_gencode=''; our $opt_codons=0;
@@ -789,7 +798,7 @@ sub set_options
# file name input specifiers
"gencode|g=s",
# file name output specifiers
- "output|o=s", "stats|m=s", "struct|f=s", "bed|b=s", "fasta|a=s", "isospecific|s=s", "acedb", "brief",
+ "output|o=s", "stats|m=s", "struct|f=s", "bed|b=s", "gff|j=s", "fasta|a=s", "isospecific|s=s", "acedb", "brief",
"fsres|r=s","verbose|v=s","w=s","falsepos|F=s","missed=s", "detail",
#string parameters
"prefix|p=s","match=s","search=s","emode=s","tmode=s",
@@ -1614,6 +1623,30 @@ sub set_options
}
&check_output_file($opts->bed_file(), $opts->prompt_for_overwrite());
}
+
+ if ($opt_gff ne "")
+ {
+ if ($opt_gff eq "#")
+ {
+ $opts->gff_file("$fafile.gff");
+ }
+ elsif (($opt_gff eq "\$") || ($opt_gff eq "-"))
+ {
+ $opts->gff_file("-");
+
+ # sends output to stdout instead of tabular output
+ if ($opts->results_to_stdout())
+ {
+ $opts->results_to_stdout(0);
+ $opts->out_file("/dev/null");
+ }
+ }
+ else
+ {
+ $opts->gff_file($opt_gff);
+ }
+ &check_output_file($opts->gff_file(), $opts->prompt_for_overwrite());
+ }
if ($opt_fasta ne "")
{
View it on GitLab: https://salsa.debian.org/med-team/trnascan-se/-/compare/58b2fa6b086324ee4706c58e0b01d4e425f587cb...38332d7df317db759d2861338faf06cb5191395c
--
View it on GitLab: https://salsa.debian.org/med-team/trnascan-se/-/compare/58b2fa6b086324ee4706c58e0b01d4e425f587cb...38332d7df317db759d2861338faf06cb5191395c
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20210716/3e360b0b/attachment-0001.htm>
More information about the debian-med-commit
mailing list