5340ada259767114db7bdd6100946b9c7cd4b84a
gperez2
Wed Mar 12 16:12:55 2025 -0700
Adding
tags for the displayed links and changing the order of View and Download conversion links, refs #20666
diff --git src/hg/hgLiftOver/hgLiftOver.c src/hg/hgLiftOver/hgLiftOver.c
index bf060fd009e..b9dba277453 100644
--- src/hg/hgLiftOver/hgLiftOver.c
+++ src/hg/hgLiftOver/hgLiftOver.c
@@ -1,637 +1,637 @@
/* hgLiftOver - CGI-script to convert coordinates using chain files */
/* Copyright (C) 2014 The Regents of the University of California
* See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */
#include "common.h"
#include "errAbort.h"
#include "hCommon.h"
#include "jksql.h"
#include "portable.h"
#include "linefile.h"
#include "dnautil.h"
#include "fa.h"
#include "cheapcgi.h"
#include "htmshell.h"
#include "hdb.h"
#include "hui.h"
#include "cart.h"
#include "web.h"
#include "hash.h"
#include "liftOver.h"
#include "liftOverChain.h"
#include "errCatch.h"
/* CGI Variables */
#define HGLFT_USERDATA_VAR "hglft_userData" /* typed/pasted in data */
#define HGLFT_DATAFILE_VAR "hglft_dataFile" /* file of data to convert */
#define HGLFT_FROMORG_VAR "hglft_fromOrg" /* FROM organism */
#define HGLFT_FROMDB_VAR "hglft_fromDb" /* FROM assembly */
#define HGLFT_TOORG_VAR "hglft_toOrg" /* TO organism */
#define HGLFT_TODB_VAR "hglft_toDb" /* TO assembly */
#define HGLFT_ERRORHELP_VAR "hglft_errorHelp" /* Print explanatory text */
#define HGLFT_REFRESHONLY_VAR "hglft_doRefreshOnly" /* Just refresh drop-down lists */
#define HGLFT_LAST_CHAIN "hglft_lastChain"
#define HGLFT_EXTRA_NAME_INFO "hglft_extranameinfo" /* Include input position in output item names */
/* liftOver options: */
#define HGLFT_MINMATCH "hglft_minMatch"
#define HGLFT_MINSIZEQ "hglft_minSizeQ"
#define HGLFT_MINCHAINT "hglft_minChainT"
#define HGLFT_MULTIPLE "hglft_multiple"
#define HGLFT_MINBLOCKS "hglft_minBlocks"
#define HGLFT_FUDGETHICK "hglft_fudgeThick"
/* Global Variables */
struct cart *cart; /* CGI and other variables */
struct hash *oldVars = NULL;
/* Filename prefix */
#define HGLFT "hglft"
/* Javascript to support New Assembly pulldown when Orig Assembly changes */
/* Copies selected value from the Original Assembly pulldown to a hidden form
*/
char *onChange =
"document.mainForm."
HGLFT_REFRESHONLY_VAR
".value = 1;"
"document.mainForm.submit();";
char *chainStringVal(struct liftOverChain *chain)
/* keep the last chain in memory in this format */
{
char chainS[64];
safef(chainS, sizeof(chainS), "%s.%s", chain->fromDb, chain->toDb);
return cloneString(chainS);
}
void webMain(struct liftOverChain *chain, boolean multiple, boolean keepSettings, int minSizeQ,
int minChainT, float minBlocks, float minMatch, boolean fudgeThick, boolean extraNameInfo)
/* set up page for entering data */
{
struct dbDb *dbList;
char *fromOrg = hOrganism(chain->fromDb), *toOrg = hOrganism(chain->toDb);
char *chainString = chainStringVal(chain);
cgiParagraph(
"This tool converts genome coordinates and annotation files "
"from the original to the new assembly using an alignment. "
"The input regions can be entered into the text box or uploaded as a file. "
"For files over 500Mb, use the command-line tool described in our "
"LiftOver documentation."
" If a pair of assemblies cannot be selected from the pull-down menus,"
" a sequential lift may still be possible (e.g., mm9 to mm10 to mm39). "
"If your desired conversion is still not available, please "
"contact us."
"");
/* create HMTL form */
puts("