da3772f3615ae3aa407af6aa2215a1b2ff480183 angie Mon Apr 29 13:40:41 2024 -0700 If configured, use nextclade to align sequences (better for more diverged viruses like influenza). Also fix some buttons that the last change broke. diff --git src/hg/hgPhyloPlace/phyloPlace.h src/hg/hgPhyloPlace/phyloPlace.h index d09bfd3..9578617 100644 --- src/hg/hgPhyloPlace/phyloPlace.h +++ src/hg/hgPhyloPlace/phyloPlace.h @@ -1,25 +1,26 @@ /* Place SARS-CoV-2 sequences in phylogenetic tree using add_missing_samples program. */ #ifndef _PHYLO_PLACE_H_ #define _PHYLO_PLACE_H_ #include "common.h" #include "cart.h" #include "dnaseq.h" #include "hash.h" #include "linefile.h" +#include "memgfx.h" #include "parsimonyProto.h" #include "phyloTree.h" #include "seqWindow.h" #include "trackLayout.h" #include "trashDir.h" #define PHYLOPLACE_DATA_DIR "hgPhyloPlaceData" // Allow users to upload a lot of sequences, but put limits on how much detail we'll show and // how many custom tracks we'll create. #define MAX_SUBTREE_SIZE 5000 #define MAX_MICROBETRACE_SUBTREE_SIZE 500 #define MAX_SUBTREE_BUTTONS 5 #define MAX_SEQ_DETAILS 1000 #define MAX_SUBTREE_CTS 10 @@ -233,30 +234,33 @@ /* Return cloned setting value if found in hgPhyloPlaceData//organism.ra or * old-style hgPhyloPlaceData//config.ra, or NULL if not found. */ char *phyloPlaceOrgSettingPath(char *org, char *settingName); /* Return cgi-bin-relative path to a file named by a setting for org, or NULL if not found. */ char *phyloPlaceRefSetting(char *org, char *ref, char *settingName); /* Return cloned setting value if found in hgPhyloPlaceData///reference.ra or * old-style hgPhyloPlaceData//config.ra, or NULL if not found. */ char *phyloPlaceRefSettingPath(char *org, char *ref, char *settingName); /* Return cgi-bin-relative path to a file named by a setting from * hgPhyloPlaceData///reference.ra or old-style hgPhyloPlaceData//config.ra, * or NULL if not found. */ +char *getNextcladePath(); +/* Return hgPhyloPlaceData/nextclade if it exists, else errAbort. Do not free the returned value. */ + struct treeChoices *loadTreeChoices(char *org, char *db); /* If config specifies a treeChoices file, load it up, else return NULL. */ boolean isInternalNodeName(char *nodeName, int minNewNode); /* Return TRUE if nodeName looks like an internal node ID from the protobuf tree, i.e. is numeric * or _ and, if minNewNode > 0, number is less than minNewNode. */ void reportTiming(int *pStartTime, char *message); /* Print out a report to stderr of how much time something took. */ boolean hgPhyloPlaceEnabled(); /* Return TRUE if hgPhyloPlace is enabled in hg.conf and db wuhCor1 exists. */ boolean phyloPlaceSamples(struct lineFile *lf, char *db, char *refName, char *defaultProtobuf, boolean doMeasureTiming, int subtreeSize, struct trackLayout *tl,