Skip to content

Commit

Permalink
Merge pull request #19779 from pavelToman/20240202110825_new_pr_phylu…
Browse files Browse the repository at this point in the history
…ce173

{bio}[foss/2023a] phyluce v1.7.3
  • Loading branch information
boegel authored Feb 7, 2024
2 parents 13eb8da + c56968a commit 59c3d3c
Show file tree
Hide file tree
Showing 11 changed files with 492 additions and 7 deletions.
34 changes: 34 additions & 0 deletions easybuild/easyconfigs/a/ABySS/ABySS-2.3.7-foss-2023a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
easyblock = 'ConfigureMake'

name = 'ABySS'
version = '2.3.7'

homepage = 'https://www.bcgsc.ca/platform/bioinfo/software/abyss'
description = """Assembly By Short Sequences - a de novo, parallel, paired-end sequence assembler"""

toolchain = {'name': 'foss', 'version': '2023a'}
toolchainopts = {'usempi': True, 'cstd': 'c++17'}

source_urls = ['http://github.com/bcgsc/abyss/releases/download/%(version)s/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['ba37780e79ec3aa359b6003e383caef13479a87f4d0022af01b86398f9ffca1f']

dependencies = [
('Autoconf', '2.71'),
('Automake', '1.16.5'),
('Boost', '1.82.0'),
('sparsehash', '2.0.4'),
('btllib', '1.7.0'),
]

preconfigopts = "./autogen.sh && "
configopts = 'CXXFLAGS="$CXXFLAGS -Wno-error"'

sanity_check_paths = {
'files': ["bin/ABYSS", "bin/ABYSS-P"],
'dirs': []
}

sanity_check_commands = ['ABYSS --help']

moduleclass = 'bio'
43 changes: 43 additions & 0 deletions easybuild/easyconfigs/b/btllib/btllib-1.7.0-GCC-12.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
easyblock = 'CmdCp'

name = 'btllib'
version = '1.7.0'

homepage = 'https://github.com/bcgsc/btllib'
description = """Bioinformatics Technology Lab common code library"""

toolchain = {'name': 'GCC', 'version': '12.3.0'}
toolchainopts = {'openmp': True}

sources = [{
'filename': '%(name)s-%(version)s.tar.gz',
'git_config': {
'url': 'https://github.com/bcgsc',
'repo_name': 'btllib',
'tag': 'v%(version)s',
'recursive': True,
'keep_git_dir': True,
}
}]
checksums = [None]

dependencies = [
('Python', '3.11.3'),
('Meson', '1.1.1'),
('Ninja', '1.11.1'),
('CMake', '3.26.3'),
('SAMtools', '1.18'),
]

cmds_map = [('.*', "./compile")]

files_to_copy = [(['install/bin/*'], 'bin'), (['install/lib/*'], 'lib'), (['install/include/*'], 'include')]

sanity_check_paths = {
'files': ['bin/randseq', 'bin/indexlr', 'bin/mi_bf_generate'],
'dirs': [],
}

sanity_check_commands = ['randseq --help', 'indexlr --help']

moduleclass = 'lang'
29 changes: 29 additions & 0 deletions easybuild/easyconfigs/l/LASTZ/LASTZ-1.04.22-GCC-12.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
easyblock = 'ConfigureMake'

name = 'LASTZ'
version = '1.04.22'

homepage = 'https://github.com/lastz/lastz'
description = """ LASTZ is a program for aligning DNA sequences, a pairwise aligner. Originally designed to handle
sequences the size of human chromosomes and from different species, it is also useful for sequences produced by NGS
sequencing technologies such as Roche 454.
"""

toolchain = {'name': 'GCC', 'version': '12.3.0'}

source_urls = [GITHUB_LOWER_SOURCE]
sources = ['%(version)s.tar.gz']
checksums = ['4c829603ba4aed7ddf64255b528cd88850e4557382fca29580d3576c25c5054a']

skipsteps = ['configure']

buildopts = "allowBackToBackGaps=ON"

installopts = 'installDir=%(installdir)s/bin'

sanity_check_paths = {
'files': ['bin/lastz', 'bin/lastz_D'],
'dirs': [],
}

moduleclass = 'bio'
22 changes: 15 additions & 7 deletions easybuild/easyconfigs/p/Pilon/Pilon-1.23-Java-11.eb
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,29 @@ description = " Pilon is an automated genome assembly improvement and variant de
toolchain = SYSTEM

source_urls = ['https://github.com/broadinstitute/pilon/releases/download/v%(version)s/']
sources = ['%(namelower)s-%(version)s.jar']
sources = ['pilon-%(version)s.jar']
checksums = ['bde1d3c8da5537abbc80627f0b2a4165c2b68551690e5733a6adf62413b87185']

dependencies = [('Java', '11')]

sanity_check_paths = {
'files': ['pilon-%(version)s.jar'],
'dirs': [],
}

postinstallcmds = ['cd %(installdir)s && ln -s %(namelower)s-%(version)s.jar pilon.jar']
postinstallcmds = [
"cd %(installdir)s && ln -s pilon-%(version)s.jar pilon.jar",
"mkdir -p %(installdir)s/bin",
"echo '#!/bin/sh' > %(installdir)s/bin/pilon",
"echo 'java -jar -Xmx8G %(installdir)s/pilon-%(version)s.jar $@' >> %(installdir)s/bin/pilon",
"chmod a+rx %(installdir)s/bin/pilon"
]

modloadmsg = """
To execute Pilon run: java -Xmx8G -jar $EBROOTPILON/pilon.jar
Adjust the memory value according to the size of your input files
"""

sanity_check_paths = {
'files': ['bin/pilon', 'pilon.jar'],
'dirs': [],
}

sanity_check_commands = ["pilon --help"]

moduleclass = 'bio'
138 changes: 138 additions & 0 deletions easybuild/easyconfigs/p/phyluce/phyluce-1.7.3-foss-2023a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
easyblock = 'PythonBundle'

name = 'phyluce'
version = '1.7.3'

homepage = 'https://github.com/faircloth-lab/phyluce'
description = """
phyluce is a software package for working with data generated from sequence capture of UCE
(ultra-conserved element) loci, as first published in [BCF2012]. Specifically, phyluce is a suite of programs to:
1) assemble raw sequence reads from Illumina platforms into contigs
2) determine which contigs represent UCE loci
3) filter potentially paralagous UCE loci
4) generate different sets of UCE loci across taxa of interest
"""

toolchain = {'name': 'foss', 'version': '2023a'}

dependencies = [
('Python', '3.11.3'),
('Biopython', '1.83'),
('Python-bundle-PyPI', '2023.06'),
('snakemake', '8.4.2'),
('DendroPy', '4.6.1'),
('bx-python', '0.10.0'),
('ABySS', '2.3.7'),
('BCFtools', '1.18'),
('BEDTools', '2.31.0'),
('BWA', '0.7.17'),
('Gblocks', '0.91b', '', SYSTEM),
('LASTZ', '1.04.22'),
('MAFFT', '7.520', '-with-extensions'),
('MUSCLE', '5.1.0'),
('Pilon', '1.23', '-Java-11', SYSTEM),
('RAxML-NG', '1.2.0'),
('SAMtools', '1.18'),
('seqtk', '1.4'),
('SPAdes', '3.15.4'),
('trimAl', '1.4.1'),
('Velvet', '1.2.10', '-mt-kmer_191')
]

exts_list = [
(name, version, {
'source_urls': ['https://github.com/faircloth-lab/phyluce/archive/refs/tags/'],
'sources': ['v%(version)s.tar.gz'],
'patches': [
'%(name)s-%(version)s_fix-config-paths.patch',
'%(name)s-%(version)s_removal-Bio-Alphabet.patch',
],
'checksums': [
{'v1.7.3.tar.gz': '931fd512730bb101266b27728576df00277858d256e1ab30d64b474588362e11'},
{'phyluce-1.7.3_fix-config-paths.patch':
'22d5467d7498a9b2b718660e9580fb41986964e122e4c3baf851a324a968ae5d'},
{'phyluce-1.7.3_removal-Bio-Alphabet.patch':
'9401f8b8052924476d2a73d8ac2672e750eadf11618c672d9679f3c99234049d'},
],
}),
]

use_pip = True
sanity_pip_check = True

sanity_check_paths = {
'files': [],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}

sanity_check_commands = ["%s --help" % x for x in [
"phyluce_align_extract_taxa_from_alignments",
"phyluce_align_extract_taxon_fasta_from_alignments",
"phyluce_align_filter_alignments",
"phyluce_align_format_concatenated_phylip_for_paml",
"phyluce_align_get_align_summary_data",
"phyluce_align_get_gblocks_trimmed_alignments_from_untrimmed",
"phyluce_align_get_incomplete_matrix_estimates",
"phyluce_align_get_informative_sites",
"phyluce_align_get_only_loci_with_min_taxa",
"phyluce_align_get_ry_recoded_alignments",
"phyluce_align_get_smilogram_from_alignments",
"phyluce_align_get_taxon_locus_counts_in_alignments",
"phyluce_align_get_trimal_trimmed_alignments_from_untrimmed",
"phyluce_align_move_align_by_conf_file",
"phyluce_align_randomly_sample_and_concatenate",
"phyluce_align_reduce_alignments_with_raxml",
"phyluce_align_remove_empty_taxa",
"phyluce_align_remove_locus_name_from_files",
"phyluce_align_screen_alignments_for_problems",
"phyluce_align_seqcap_align",
"phyluce_align_split_concat_nexus_to_loci",
"phyluce_assembly_assemblo_abyss",
"phyluce_assembly_assemblo_spades",
"phyluce_assembly_assemblo_velvet",
"phyluce_assembly_explode_get_fastas_file",
"phyluce_assembly_extract_contigs_to_barcodes",
"phyluce_assembly_get_bed_from_lastz",
"phyluce_assembly_get_fasta_lengths",
"phyluce_assembly_get_fastas_from_match_counts",
"phyluce_assembly_get_fastq_lengths",
"phyluce_assembly_get_match_counts",
"phyluce_assembly_match_contigs_to_barcodes",
"phyluce_genetrees_get_mean_bootrep_support",
"phyluce_genetrees_generate_multilocus_bootstrap_count",
"phyluce_genetrees_rename_tree_leaves",
"phyluce_genetrees_sort_multilocus_bootstraps",
"phyluce_genetrees_get_tree_counts",
"phyluce_ncbi_chunk_fasta_for_ncbi",
"phyluce_ncbi_prep_uce_align_files_for_ncbi",
"phyluce_probe_easy_lastz",
"phyluce_probe_get_genome_sequences_from_bed",
"phyluce_probe_get_locus_bed_from_lastz_files",
"phyluce_probe_get_multi_fasta_table",
"phyluce_probe_get_multi_merge_table",
"phyluce_probe_get_probe_bed_from_lastz_files",
"phyluce_probe_get_screened_loci_by_proximity",
"phyluce_probe_get_subsets_of_tiled_probes",
"phyluce_probe_get_tiled_probe_from_multiple_inputs",
"phyluce_probe_get_tiled_probes",
"phyluce_probe_query_multi_fasta_table",
"phyluce_probe_query_multi_merge_table",
"phyluce_probe_reconstruct_uce_from_probe",
"phyluce_probe_remove_duplicate_hits_from_probes_using_lastz",
"phyluce_probe_remove_overlapping_probes_given_config",
"phyluce_probe_run_multiple_lastzs_sqlite",
"phyluce_probe_slice_sequence_from_genomes",
"phyluce_probe_strip_masked_loci_from_set",
"phyluce_utilities_combine_reads",
"phyluce_utilities_filter_bed_by_fasta",
"phyluce_utilities_get_bed_from_fasta",
"phyluce_utilities_merge_multiple_gzip_files",
"phyluce_utilities_merge_next_seq_gzip_files",
"phyluce_utilities_replace_many_links",
"phyluce_utilities_unmix_fasta_reads",
"phyluce_workflow",
]]

modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages/phyluce'}

moduleclass = 'bio'
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
fix path of binaries in config file
author: Pavel Tomanek (INUITS)
--- config/phyluce.conf.orig 2024-02-01 11:38:15.279943701 +0100
+++ config/phyluce.conf 2024-02-01 14:52:31.565662528 +0100
@@ -1,27 +1,27 @@
[binaries]
-abyss:$CONDA/bin/ABYSS
-abyss-pe:$CONDA/bin/abyss-pe
-bcftools:$CONDA/bin/bcftools
-bedtools:$CONDA/bin/bedtools
-bwa:$CONDA/bin/bwa
-gblocks:$CONDA/bin/Gblocks
-lastz:$CONDA/bin/lastz
-mafft:$CONDA/bin/mafft
-muscle:$CONDA/bin/muscle
-pilon:$CONDA/bin/pilon
-raxml-ng:$CONDA/bin/raxml-ng
-samtools:$CONDA/bin/samtools
-seqtk:$CONDA/bin/seqtk
-spades:$CONDA/bin/spades.py
-trimal:$CONDA/bin/trimal
-velvetg:$CONDA/bin/velvetg
-velveth:$CONDA/bin/velveth
-snakemake:$CONDA/bin/Snakemake
+abyss:$EBROOTABYSS/bin/ABYSS
+abyss-pe:$EBROOTABYSS/bin/abyss-pe
+bcftools:$EBROOTBCFTOOLS/bin/bcftools
+bedtools:$EBROOTBEDTOOLS/bin/bedtools
+bwa:$EBROOTBWA/bin/bwa
+gblocks:$EBROOTGBLOCKS/Gblocks
+lastz:$EBROOTLASTZ/bin/lastz
+mafft:$EBROOTMAFFT/bin/mafft
+muscle:$EBROOTMUSCLE/bin/muscle
+pilon:$EBROOTPILON/bin/pilon
+raxml-ng:$EBROOTRAXMLMINNG/bin/raxml-ng
+samtools:$EBROOTSAMTOOLS/bin/samtools
+seqtk:$EBROOTSEQTK/bin/seqtk
+spades:$EBROOTSPADES/bin/spades.py
+trimal:$EBROOTTRIMAL/bin/trimal
+velvetg:$EBROOTVELVET/bin/velvetg
+velveth:$EBROOTVELVET/bin/velveth
+snakemake:$EBROOTSNAKEMAKE/bin/snakemake

[workflows]
-mapping:$WORKFLOWS/mapping/Snakefile
-correction:$WORKFLOWS/contig-correction/Snakefile
-phasing:$WORKFLOWS/phasing/Snakefile
+mapping:$EBROOTPHYLUCE/phyluce/workflows/mapping/Snakefile
+correction:$EBROOTPHYLUCE/phyluce/workflows/contig-correction/Snakefile
+phasing:$EBROOTPHYLUCE/phyluce/workflows/phasing/Snakefile

#----------------
# Advanced
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
removal of the Bio.Alphabet - it is not part of Biopython anymore (since v1.78)
see also https://biopython.org/wiki/Alphabet
author: Pavel Tomanek (INUITS)
--- bin/ncbi/phyluce_ncbi_prep_uce_align_files_for_ncbi.orig 2024-02-01 15:53:37.732931000 +0100
+++ bin/ncbi/phyluce_ncbi_prep_uce_align_files_for_ncbi 2024-02-01 16:16:42.885167000 +0100
@@ -18,7 +18,6 @@
from Bio import AlignIO
from Bio.Seq import Seq
from Bio.SeqRecord import SeqRecord
-from Bio.Alphabet import IUPAC

from phyluce import ncbi
from phyluce.log import setup_logging
@@ -127,7 +126,7 @@
.upper()
)
new_record = SeqRecord(
- Seq(new_seq, IUPAC.IUPACAmbiguousDNA()),
+ Seq(new_seq),
id=new_id,
name="",
description="",
Loading

0 comments on commit 59c3d3c

Please sign in to comment.