diff mbox series

[bug#69322] gnu: Add trust4.

Message ID f28cfffb2a967a1fc27dbc53689d4aa8b7c31c19.1708679509.git.madalinionel.patrascu@mdc-berlin.de
State New
Headers show
Series [bug#69322] gnu: Add trust4. | expand

Commit Message

Mădălin Ionel Patrașcu Feb. 23, 2024, 9:11 a.m. UTC
gnu/packages/bioinformatics.scm (trust4): New variable.

Change-Id: I6a0fd339a0f761a473f50c7da74c26cfac7b1caf
---
 gnu/packages/bioinformatics.scm | 76 +++++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)


base-commit: 5f86eebd240958001ab4f178005f355d24d9b7f1

Comments

Ricardo Wurmus May 6, 2024, 10:51 a.m. UTC | #1
> gnu/packages/bioinformatics.scm (trust4): New variable.

My apologies for the delay.  This email fell through the cracks.

I've pushed this now and followed it up with an update to the package.
diff mbox series

Patch

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 554df0b42f..06aad16982 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -5552,6 +5552,82 @@  (define-public repeat-masker
 bases are detected.")
     (license license:osl2.1)))
 
+(define-public trust4
+  (package
+    (name "trust4")
+    (version "1.0.13")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/liulab-dfci/TRUST4")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "058wd5bklgcsb0r8l7n1ffakbj4c3ac5hjyvmaqhr3p233fl44z7"))
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   ;; Remove bundled samtools
+                   (delete-file-recursively "samtools-0.1.19")))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:tests? #f ;there are no tests
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'use-samtools-headers
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "Makefile"
+                (("LINKPATH= -I./samtools-0.1.19 -L./samtools-0.1.19")
+                 (string-append "LINKPATH= -I."
+                                #$(this-package-native-input "samtools")
+                                "/include/samtools"
+                                " -L."
+                                #$(this-package-native-input "samtools")
+                                "/lib"))
+                (("./samtools-0.1.19/")
+                 (string-append #$(this-package-native-input
+                                   "samtools") "/lib/")))
+              (substitute* "alignments.hpp"
+                (("samtools-0.1.19")
+                 (string-append #$(this-package-native-input
+                                   "samtools") "/include/samtools")))))
+          (delete 'configure) ; No configure.
+          (replace 'install
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((bin (string-append (assoc-ref outputs "out") "/bin"))
+                    (scripts (string-append #$output
+                                            "/share/trust4/scripts")))
+                (install-file "annotator" bin)
+                (install-file "bam-extractor" bin)
+                (install-file "fastq-extractor" bin)
+                (install-file "run-trust4" bin)
+                (install-file "trust4" bin)
+                ;; install scripts stored in the scrips dir
+                (for-each (lambda (file)
+                            (chmod file #o555))
+                          (find-files "scripts" "\\.p(y|l)"))
+                (copy-recursively "scripts" scripts)
+                (delete-file-recursively "scripts")
+                ;; install the rest of the scripts that are in the main dir
+                (for-each (lambda (file)
+                            (chmod file #o555)
+                            (install-file file bin))
+                          (find-files "." "\\.(pl|py|sh)"))))))))
+    (native-inputs (list automake samtools-0.1))
+    (inputs (list perl python-wrapper zlib))
+    (home-page "https://github.com/liulab-dfci/TRUST4")
+    (synopsis "TCR and BCR assembly from RNA-seq data")
+    (description "This package is analyzing @acronym{TCR, T cell receptor} and
+@acronym{BCR, B cell receptor} sequences using unselected RNA sequencing data,
+profiled from fluid and solid tissues, including tumors.  TRUST4 performs de
+novo assembly on V, J, C genes including the hypervariable @acronym{CDR3,
+complementarity-determining region 3} and reports consensus contigs of BCR/TCR
+sequences.  TRUST4 then realigns the contigs to IMGT reference gene sequences to
+identify the corresponding gene and CDR3 details.  TRUST4 supports both single-end
+and paired-end bulk or single-cell sequencing data with any read length.")
+    (license license:gpl3)))
+
 (define-public diamond
   (package
     (name "diamond")