Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
aca0537
Ignore .vscode folder
SamT123 Jul 15, 2025
c666a9f
Sarah's changes
SamT123 Jul 15, 2025
9c1edcd
Update make-cmaple
SamT123 Jun 6, 2025
e1d0b99
Increase recursion depth in newick.cc
SamT123 Jul 9, 2025
70ee6fe
Change proj/weekly-tree/init to refer to cmaple tree, not raxml tree
SamT123 Jul 16, 2025
847b679
tidy R scripts
SamT123 Jul 16, 2025
69e2f24
update email and message
SamT123 Jul 17, 2025
cbfde28
Add some sequence exclusions by Poppy
SamT123 Aug 1, 2025
1357244
Add trimming script
SamT123 Aug 1, 2025
6ebbd11
fix trim-tree to save phy and seqs when no trimming is performed
SamT123 Aug 2, 2025
f09a75d
Merge branch 'skepner:main' into main
SamT123 Sep 10, 2025
cb3a871
Add bvic trim specification to R/tree_trim.R
SamT123 Sep 10, 2025
6ab2b23
Run bvic on i18
SamT123 Sep 10, 2025
78c4fdc
Skip R/tree_trim.R if trimmed tree already exists
SamT123 Sep 10, 2025
8fa8506
Small bugfix in R/tree_trim.R
SamT123 Sep 11, 2025
7410b56
Change tree trimming method
SamT123 Sep 11, 2025
537dd94
Add sequence exclusions
drserajames Dec 11, 2025
9b916c2
Move files from R/ into proj/weekly-tree, and minor tidying
SamT123 Dec 11, 2025
0cbb28d
add sequence exclusions
drserajames Feb 25, 2026
9e2f115
Merge branch 'main' of https://github.com/acorg/ae
SamT123 Mar 2, 2026
5f82f11
Update init to find previous folder by name, not default filesystem s…
SamT123 Mar 2, 2026
a48cb84
Add optimisation options
SamT123 Mar 2, 2026
49eed95
R 4.2 -> 4.4 on server
SamT123 May 13, 2026
5be80b0
exports, and file permission changes
drserajames May 13, 2026
623c35b
Merge branch 'main' of github.com:acorg/ae into main
drserajames May 13, 2026
fec3811
update path to usher
SamT123 May 13, 2026
5925aca
update tree_trim due to convergence package update
SamT123 May 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ build
.cache
.ccls-cache
__pycache__
/.vscode
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

- install homebrew https://brew.sh
- brew install llvm ninja meson libomp cmake brotli zlib xz gnu-time catch2
- pip3 install mypy

## Installing dependencies on Ubuntu

Expand Down
2 changes: 0 additions & 2 deletions bin/seqdb-update
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@ def main(args: argparse.Namespace):
# only aligned are stored
ae_backend.raw_sequence.calculate_hash(sequence)
sequences_by_subtype.setdefault(sequence.type_subtype, []).append(sequence)
else:
print(f"{sequence.name:40s} {sequence.aa}")
except Exception as err:
print(f"> {err}: {sequence.name}\n {sequence.aa}")
reader.context.messages_from_backend(sequence_messages)
Expand Down
2 changes: 1 addition & 1 deletion cc/tree/newick.cc
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ namespace ae::tree::newick
{
static constexpr auto whitespace = dsl::ascii::space / dsl::ascii::newline;
static constexpr auto rule = dsl::p<internal_node> + dsl::semicolon + dsl::eof;
static constexpr auto max_recursion_depth = 1000;
static constexpr auto max_recursion_depth = 10000;

static constexpr auto value = lexy::forward<result_t>;
};
Expand Down
7 changes: 2 additions & 5 deletions cc/whocc/xlsx/sheet-extractor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ static const std::regex re_VIDRL_serum_name{"^(?:[AB]/)?([A-Z][A-Z ]+)/?([0-9]+)
static const std::regex re_VIDRL_serum_id{"^(" pattern_VIDRL_serum_id "|" pattern_CRICK_serum_id ")$", regex_icase};
static const std::regex re_VIDRL_serum_id_with_days{"^[AF][0-9][0-9][0-9][0-9]-[0-9]+D$", regex_icase};

static const std::regex re_human_who_serum{R"(^\s*(.*(HUMAN|WHO|NORMAL)|GOAT|POST? VAX|VAX POOL|SERA POOL)\b)", regex_icase}; // "POST VAX": VIDRL H3 HI 2021, "HUMAN VAX": VIDRL H3 HI 2022
static const std::regex re_human_who_serum{R"(^\s*(.*(HUMAN|WHO|NORMAL)|GOAT|POST? VAX|VAX POOL)\b)", regex_icase}; // "POST VAX": VIDRL H3 HI 2021, "HUMAN VAX": VIDRL H3 HI 2022

#pragma GCC diagnostic pop

Expand Down Expand Up @@ -339,16 +339,13 @@ std::string ae::xlsx::v1::Extractor::titer(size_t ag_no, size_t sr_no) const
void ae::xlsx::v1::Extractor::find_titers(warn_if_not_found winf)
{
std::vector<std::pair<nrow_t, range<ncol_t>>> rows;
AD_DEBUG("Sheet {} rows:{}", sheet().name(), sheet().number_of_rows());
// AD_DEBUG("Sheet {}", sheet().name());
for (nrow_t row{0}; row < sheet().number_of_rows(); ++row) {
auto titers = sheet().titer_range(row);
AD_DEBUG("Row:{} titers: ({} valid:{}) {}:{}", row, titers.length(), titers.valid(), titers.first, titers.second);
adjust_titer_range(row, titers);
AD_DEBUG("Row:{} titers: ({} valid:{}) {}:{}", row, titers.length(), titers.valid(), titers.first, titers.second);
if (titers.valid() && titers.length() > 2 && titers.first > ncol_t{0} && valid_titer_row(row, titers))
rows.emplace_back(row, std::move(titers));
}
AD_DEBUG("Rows with titers: {}", rows.size());

if (!ranges::all_of(rows, [&rows](const auto& en) { return en.second == rows[0].second; })) {
fmt::memory_buffer report; // fmt::format(rows, "{}", "\n "));
Expand Down
Empty file modified proj/weekly-tree/README.org
100644 → 100755
Empty file.
Empty file modified proj/weekly-tree/bvic.tal
100644 → 100755
Empty file.
Empty file modified proj/weekly-tree/byam.tal
100644 → 100755
Empty file.
59 changes: 59 additions & 0 deletions proj/weekly-tree/collapse_short_branches.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#! /usr/bin/env Rscript
main = function() {
message("COLLAPSE SHORT BRANCH LENGTHS")

.libPaths(
c(
"/home/samt123/R/x86_64-pc-linux-gnu-library/4.4",
.libPaths()
)
)

args <- commandArgs(trailingOnly = TRUE)

inphy.txt = args[[1]]
tol = as.numeric(args[[2]])

# file names -------------------------------------------------------------
inphy = readLines(inphy.txt, n = 1)

outphy = paste0(
paste0(
fs::path_ext_remove(inphy),
"-col."
),
fs::path_ext(inphy)
)

outphy.txt = paste0(
paste0(
fs::path_ext_remove(inphy.txt),
"-col."
),
fs::path_ext(inphy.txt)
)

if (fs::file_exists(outphy) & fs::file_exists(outphy.txt)) {
message(
outphy,
" and ",
outphy.txt,
" already exist! Continuing without re-collapsing branches"
)
return(0)
}

message("Reading tree")
phy = ape::read.tree(file = inphy)

message("Collapsing branches shorter than ", tol)
phy_col = ape::di2multi(phy, tol = tol)
message(ape::Nnode(phy), " -> ", ape::Nnode(phy_col))

message("Writing tree")
ape::write.tree(phy_col, file = outphy)
message("Writing ", outphy.txt)
writeLines(outphy, outphy.txt)
}

main()
Loading