commit:     cf02cac01f101bdcabbd2b3ed95145e97584b925
Author:     Martin Mokrejš <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
AuthorDate: Fri Jan  9 15:34:03 2015 +0000
Commit:     Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
CommitDate: Fri Jan  9 15:34:03 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=cf02cac0

sci-biology/transdecoder: added patches so that we use PATH to loclate binaries 
and not in a local subdirectory named 'util', drop sys-cluster/openmpi 
requirement, it does not link against it all all, this is a bunch of perl and 
shell scripts

Package-Manager: portage-2.2.7

---
 sci-biology/transdecoder/ChangeLog                 |   8 ++
 sci-biology/transdecoder/files/TransDecoder.patch  | 136 +++++++++++++++++++++
 .../transdecoder/files/pfam_runner.pl.patch        |  20 +++
 .../transdecoder/transdecoder-20140704.ebuild      |   9 +-
 4 files changed, 171 insertions(+), 2 deletions(-)

diff --git a/sci-biology/transdecoder/ChangeLog 
b/sci-biology/transdecoder/ChangeLog
index 252ef53..c564760 100644
--- a/sci-biology/transdecoder/ChangeLog
+++ b/sci-biology/transdecoder/ChangeLog
@@ -2,6 +2,14 @@
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+  09 Jan 2015; Martin Mokrejs <[email protected]>
+  +files/TransDecoder.patch, +files/pfam_runner.pl.patch,
+  transdecoder-20140704.ebuild:
+  sci-biology/transdecoder: added patches so that we use PATH to loclate
+  binaries and not in a local subdirectory named 'util', drop sys-
+  cluster/openmpi requirement, it does not link against it all all, this is a
+  bunch of perl and shell scripts
+
 *transdecoder-20140704 (08 Jan 2015)
 
   08 Jan 2015; Martin Mokrejs <[email protected]> +metadata.xml,

diff --git a/sci-biology/transdecoder/files/TransDecoder.patch 
b/sci-biology/transdecoder/files/TransDecoder.patch
new file mode 100644
index 0000000..c0cff94
--- /dev/null
+++ b/sci-biology/transdecoder/files/TransDecoder.patch
@@ -0,0 +1,136 @@
+--- /usr/bin/TransDecoder      2015-01-09 11:22:55.000000000 +0100
++++ TransDecoder       2015-01-09 14:31:44.095839522 +0100
+@@ -48,7 +48,7 @@
+  --prepare_pfam                         Prepare data for PFAM search and then 
quit (for running PFAM on HPC/computing cluster
+                                          with or without MPI )
+ 
+- --CPU <int>                            number of threads to use; (default: 2)
++ --CPU <int>                            number of threads to use; (default: 1)
+ 
+  --MPI                                  use MPI w/ execution of hmmscan
+ 
+@@ -76,7 +76,7 @@
+ 
+ =head1 PFAM 
+ 
+-You will need hmmer installed. Use hmmpress to prepare the database for hmmer.
++You will need hmmer installed. Use hmmpress from >=hmmer-3.0 to prepare the 
database for hmmer.
+  L<See|https://sourceforge.net/projects/transdecoder/files/Pfam-AB.hmm.bin> 
for downloading the database.
+ 
+ =head1 CD-HIT
+@@ -105,7 +105,6 @@
+ use Longest_orf;
+ 
+ my $UTIL_DIR = "$FindBin::RealBin/util";
+-$ENV{PATH} = "$UTIL_DIR/bin:$ENV{PATH}";
+ $ENV{LD_LIBRARY_PATH} .= ":$FindBin::RealBin/util/lib64";
+ 
+ my ($cd_hit_est_exec) = &check_program('cd-hit-est');
+@@ -124,7 +123,7 @@
+ my $verbose;
+ my $search_pfam = "";
+ my ($reuse,$pfam_out);
+-my $CPU = 2;
++my $CPU = 1;
+ my $RETAIN_LONG_ORFS = 900;
+ my $MPI = 0;
+ 
+@@ -330,15 +329,15 @@
+ my $top_cds_file = $train_file && -s $train_file ? $train_file : 
"$cds_file.top_${top_ORFs_train}_longest";
+ if (!-s $top_cds_file) {
+     # get longest entries
+-    my $cmd = "$UTIL_DIR/get_top_longest_fasta_entries.pl $cds_file 
$top_ORFs_train > $top_cds_file";
++    my $cmd = "get_top_longest_fasta_entries.pl $cds_file $top_ORFs_train > 
$top_cds_file";
+     
+     unless ($reuse && -s $top_cds_file){
+         if ($cd_hit_est_exec){
+             # to speed things up only check for redundancy up to 4x the 
number of entries we want
+             my $red_num = $top_ORFs_train * 4 ;
+-            &process_cmd("$UTIL_DIR/get_top_longest_fasta_entries.pl 
$cds_file $red_num > $workdir/redundant_top");
++            &process_cmd("get_top_longest_fasta_entries.pl $cds_file $red_num 
> $workdir/redundant_top");
+             &process_cmd("$cd_hit_est_exec -r 1 -i $workdir/redundant_top -o 
$workdir/redundant_top.nr90 -M 0 -T $CPU >/dev/null 2>/dev/null");
+-            &process_cmd("$UTIL_DIR/get_top_longest_fasta_entries.pl 
$workdir/redundant_top.nr90 $top_ORFs_train > $top_cds_file");
++            &process_cmd("get_top_longest_fasta_entries.pl 
$workdir/redundant_top.nr90 $top_ORFs_train > $top_cds_file");
+             unlink("$workdir/redundant_top");
+             unlink("$workdir/redundant_top.nr90");
+             unlink("$workdir/redundant_top.nr90.bak.clstr");
+@@ -349,20 +348,20 @@
+     }
+ }
+ 
+-$cmd = "$UTIL_DIR/compute_base_probs.pl $transcripts_file $TOP_STRAND_ONLY > 
$workdir/base_freqs.dat";
++$cmd = "compute_base_probs.pl $transcripts_file $TOP_STRAND_ONLY > 
$workdir/base_freqs.dat";
+ &process_cmd($cmd) unless $reuse && -s "$workdir/base_freqs.dat";
+ 
+ 
+ # get hexamer scores
+-#$cmd = "$UTIL_DIR/seq_n_background_to_logliklihood_vals.pl $top_cds_file 
$transcripts_file.random > hexamer.scores";
++#$cmd = "seq_n_background_to_logliklihood_vals.pl $top_cds_file 
$transcripts_file.random > hexamer.scores";
+ #&process_cmd($cmd) unless ($reuse && -s "hexamer.scores");
+ 
+-$cmd = "$UTIL_DIR/seq_n_baseprobs_to_logliklihood_vals.pl $top_cds_file 
$workdir/base_freqs.dat > $workdir/hexamer.scores";
++$cmd = "seq_n_baseprobs_to_logliklihood_vals.pl $top_cds_file 
$workdir/base_freqs.dat > $workdir/hexamer.scores";
+ &process_cmd($cmd) unless $reuse && -s "$workdir/hexamer.scores";
+ 
+ 
+ # score all cds entries
+-$cmd = "$UTIL_DIR/score_CDS_liklihood_all_6_frames.pl $cds_file 
$workdir/hexamer.scores > $cds_file.scores";
++$cmd = "score_CDS_liklihood_all_6_frames.pl $cds_file $workdir/hexamer.scores 
> $cds_file.scores";
+ &process_cmd($cmd) unless ($reuse && -s "$cds_file.scores");
+ 
+ 
+@@ -440,18 +439,18 @@
+ }
+ 
+ # index the current gff file:
+-$cmd = "$UTIL_DIR/index_gff3_files_by_isoform.pl $gff3_file";
++$cmd = "index_gff3_files_by_isoform.pl $gff3_file";
+ &process_cmd($cmd);
+ 
+ # retrieve the best entries:
+-$cmd = "$UTIL_DIR/gene_list_to_gff.pl $acc_file $gff3_file.inx > 
$cds_file.best_candidates.gff3";
++$cmd = "gene_list_to_gff.pl $acc_file $gff3_file.inx > 
$cds_file.best_candidates.gff3";
+ &process_cmd($cmd);
+ 
+ {
+     my $final_output_prefix = basename($transcripts_file) . ".transdecoder";
+     
+     # exclude shadow orfs (smaller orfs in different reading frame that are 
eclipsed by longer orfs)
+-    $cmd = "$UTIL_DIR/remove_eclipsed_ORFs.pl $cds_file.best_candidates.gff3 
> $final_output_prefix.gff3";
++    $cmd = "remove_eclipsed_ORFs.pl $cds_file.best_candidates.gff3 > 
$final_output_prefix.gff3";
+     &process_cmd($cmd);
+     
+ 
+@@ -462,14 +461,14 @@
+     my $gff3_file = "$final_output_prefix.gff3";
+     my $bed_file = $gff3_file;
+     $bed_file =~ s/\.gff3$/\.bed/;
+-    $cmd = "$UTIL_DIR/gff3_file_to_bed.pl $gff3_file > $bed_file";
++    $cmd = "gff3_file_to_bed.pl $gff3_file > $bed_file";
+     &process_cmd($cmd);
+     
+     
+     # make a peptide file:
+     my $best_pep_file = $gff3_file;
+     $best_pep_file =~ s/\.gff3$/\.pep/;
+-    $cmd = "$UTIL_DIR/gff3_file_to_proteins.pl $gff3_file $transcripts_file > 
$best_pep_file";
++    $cmd = "gff3_file_to_proteins.pl $gff3_file $transcripts_file > 
$best_pep_file";
+     &process_cmd($cmd);
+ 
+ 
+@@ -477,13 +476,13 @@
+     # make a CDS file:
+     my $best_cds_file = $best_pep_file;
+     $best_cds_file =~ s/\.pep$/\.cds/;
+-    $cmd = "$UTIL_DIR/gff3_file_to_proteins.pl $gff3_file $transcripts_file 
CDS > $best_cds_file";
++    $cmd = "gff3_file_to_proteins.pl $gff3_file $transcripts_file CDS > 
$best_cds_file";
+     &process_cmd($cmd);
+ 
+     # make a CDS file:
+     my $best_cdna_file = $best_pep_file;
+     $best_cdna_file =~ s/\.pep$/\.mRNA/;
+-    $cmd = "$UTIL_DIR/gff3_file_to_proteins.pl $gff3_file $transcripts_file 
cDNA > $best_cdna_file";
++    $cmd = "gff3_file_to_proteins.pl $gff3_file $transcripts_file cDNA > 
$best_cdna_file";
+     &process_cmd($cmd);
+     
+ }

diff --git a/sci-biology/transdecoder/files/pfam_runner.pl.patch 
b/sci-biology/transdecoder/files/pfam_runner.pl.patch
new file mode 100644
index 0000000..7809b1a
--- /dev/null
+++ b/sci-biology/transdecoder/files/pfam_runner.pl.patch
@@ -0,0 +1,20 @@
+--- /usr/bin/pfam_runner.pl    2015-01-09 11:22:55.000000000 +0100
++++ pfam_runner.pl     2015-01-09 14:25:43.385838579 +0100
+@@ -24,7 +24,7 @@
+ my $workdir;
+ my $verbose;
+ my ($reuse,$pfam_out);
+-my $CPU = 2;
++my $CPU = 1;
+ 
+ my $usage =  <<_EOH_;
+ 
+@@ -59,7 +59,7 @@
+ # -h                                     print this option menu and quit
+ # -v                                     verbose
+ #
+-# --CPU <int>                            number of threads to use; (default: 
2)
++# --CPU <int>                            number of threads to use; (default: 
1)
+ #
+ # --MPI                                  use MPI (via ffindex_apply_mpi)
+ #

diff --git a/sci-biology/transdecoder/transdecoder-20140704.ebuild 
b/sci-biology/transdecoder/transdecoder-20140704.ebuild
index c539231..af5bb4f 100644
--- a/sci-biology/transdecoder/transdecoder-20140704.ebuild
+++ b/sci-biology/transdecoder/transdecoder-20140704.ebuild
@@ -15,8 +15,7 @@ SLOT="0"
 KEYWORDS="~amd64"
 IUSE=""
 
-DEPEND="sys-cluster/openmpi
-       sci-biology/hmmer
+DEPEND=">=sci-biology/hmmer-3.0
        sci-biology/cd-hit
        sci-biology/parafly
        sci-biology/ffindex"
@@ -27,6 +26,8 @@ S="${WORKDIR}"/TransDecoder_r20140704
 src_prepare(){
        rm -rf 3rd_party
        mv Makefile Makefile.old
+       epatch "${FILESDIR}"/TransDecoder.patch
+       epatch "${FILESDIR}"/pfam_runner.pl.patch
 }
 
 # avoid fetching 1.5TB "${S}"/pfam/Pfam-AB.hmm.bin, see
@@ -41,4 +42,8 @@ src_install(){
        dodir ${vendor_lib_install_dir}
        insinto ${vendor_lib_install_dir}
        doins PerlLib/*.pm
+
+       einfo "Fetch on your own:"
+       einfo "wget --mirror -nH -nd 
http://downloads.sourceforge.net/project/transdecoder/Pfam-AB.hmm.bin";
+       einfo "hmmpress Pfam-AB.hmm.bin"
 }

Reply via email to