diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 583decfd1..6fddca0d6 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -4,4 +4,4 @@ updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
- interval: "daily"
\ No newline at end of file
+ interval: "weekly"
diff --git a/SequenceAnalysis/pipeline_code/extra_tools_install.sh b/SequenceAnalysis/pipeline_code/extra_tools_install.sh
index 5ba95e5dd..bfb71465b 100755
--- a/SequenceAnalysis/pipeline_code/extra_tools_install.sh
+++ b/SequenceAnalysis/pipeline_code/extra_tools_install.sh
@@ -350,3 +350,32 @@ then
else
echo "Already installed"
fi
+
+
+echo ""
+echo ""
+echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
+echo "Install hifiasm"
+echo ""
+cd $LKSRC_DIR
+if [[ ! -e ${LKTOOLS_DIR}/primer3_core || ! -z $FORCE_REINSTALL ]];
+then
+ echo "Cleaning up previous installs"
+ rm -Rf $LKTOOLS_DIR/hifiasm*
+ rm -Rf $LKTOOLS_DIR/yak*
+ rm -Rf hifiasm*
+ rm -Rf yak*
+
+ git clone https://github.com/chhylp123/hifiasm
+ cd hifiasm
+ make
+ install hifiasm $LKTOOLS_DIR/
+ cd ../
+
+ git clone https://github.com/lh3/yak
+ cd yak
+ make
+ install yak $LKTOOLS_DIR/
+else
+ echo "Already installed"
+fi
diff --git a/SequenceAnalysis/resources/queries/sequenceanalysis/sequence_readsets/SRA Info.qview.xml b/SequenceAnalysis/resources/queries/sequenceanalysis/sequence_readsets/SRA Info.qview.xml
index 10a6f3edf..9678d647b 100644
--- a/SequenceAnalysis/resources/queries/sequenceanalysis/sequence_readsets/SRA Info.qview.xml
+++ b/SequenceAnalysis/resources/queries/sequenceanalysis/sequence_readsets/SRA Info.qview.xml
@@ -20,6 +20,7 @@
+
diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceTriggerHelper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceTriggerHelper.java
index 43ee9c486..bb48598f6 100644
--- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceTriggerHelper.java
+++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceTriggerHelper.java
@@ -14,7 +14,6 @@
import org.junit.Assert;
import org.junit.Test;
import org.labkey.api.collections.IntHashMap;
-import org.labkey.api.assay.AssayFileWriter;
import org.labkey.api.data.Container;
import org.labkey.api.data.ContainerManager;
import org.labkey.api.data.SimpleFilter;
diff --git a/cluster/src/org/labkey/cluster/pipeline/ClusterPipelineJob.java b/cluster/src/org/labkey/cluster/pipeline/ClusterPipelineJob.java
index 2ff235f9c..f48dafea2 100644
--- a/cluster/src/org/labkey/cluster/pipeline/ClusterPipelineJob.java
+++ b/cluster/src/org/labkey/cluster/pipeline/ClusterPipelineJob.java
@@ -169,8 +169,6 @@ public Task createTask(PipelineJob job)
@Override
public RecordedActionSet run() throws PipelineJobException
{
- job.setStatus(TaskStatus.running, "I am running!");
-
((ClusterPipelineJob)getJob()).getRunnable().run(getJob().getLogger());
return new RecordedActionSet();
diff --git a/jbrowse/package-lock.json b/jbrowse/package-lock.json
index 47717a897..b968b65f6 100644
--- a/jbrowse/package-lock.json
+++ b/jbrowse/package-lock.json
@@ -3213,9 +3213,9 @@
}
},
"node_modules/@labkey/components": {
- "version": "6.72.0",
- "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-6.72.0.tgz",
- "integrity": "sha512-ouYWpvQBF0GZ/j/ErGRcAOHTAwkGP/fSA4hDKaql59U1kMGI7gZdoHZNb5aX0YWX+FLor8FDqLXz9WWmkykEWw==",
+ "version": "6.72.1",
+ "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-6.72.1.tgz",
+ "integrity": "sha512-ef3/BCqUrUHXIkkdTqcnhM1usj80GvR+SfTSEwi30pyIkiUVMDToqnbpzdKXR84cN+ZrwT4b98+YE79G9R4qyw==",
"dependencies": {
"@hello-pangea/dnd": "18.0.1",
"@labkey/api": "1.44.0",
@@ -4224,7 +4224,8 @@
"node_modules/@types/pako": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz",
- "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw=="
+ "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==",
+ "license": "MIT"
},
"node_modules/@types/parse-json": {
"version": "4.0.2",
@@ -6705,6 +6706,7 @@
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.4.0.tgz",
"integrity": "sha512-kAqZq1TlgBjZcLr5mcN6NP5Rv4V2f22z00c3g8vRrwkcqjerx7BEhPbOnWCPqaHUl2XWQBJQvOT/FQhdMT7X/Q==",
+ "license": "MIT",
"dependencies": {
"@types/pako": "^2.0.3",
"iobuffer": "^5.3.2",
@@ -6714,7 +6716,8 @@
"node_modules/fast-png/node_modules/pako": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz",
- "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug=="
+ "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==",
+ "license": "(MIT AND Zlib)"
},
"node_modules/fast-uri": {
"version": "3.0.1",
@@ -7700,7 +7703,8 @@
"node_modules/iobuffer": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.4.0.tgz",
- "integrity": "sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA=="
+ "integrity": "sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA==",
+ "license": "MIT"
},
"node_modules/ipaddr.js": {
"version": "2.2.0",
@@ -8088,11 +8092,12 @@
}
},
"node_modules/jspdf": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-3.0.4.tgz",
- "integrity": "sha512-dc6oQ8y37rRcHn316s4ngz/nOjayLF/FFxBF4V9zamQKRqXxyiH1zagkCdktdWhtoQId5K20xt1lB90XzkB+hQ==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-3.0.3.tgz",
+ "integrity": "sha512-eURjAyz5iX1H8BOYAfzvdPfIKK53V7mCpBTe7Kb16PaM8JSXEcUQNBQaiWMI8wY5RvNOPj4GccMjTlfwRBd+oQ==",
+ "license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.28.4",
+ "@babel/runtime": "^7.26.9",
"fast-png": "^6.2.0",
"fflate": "^0.8.1"
},
@@ -8696,9 +8701,9 @@
"dev": true
},
"node_modules/node-forge": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
- "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.2.tgz",
+ "integrity": "sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==",
"dev": true,
"engines": {
"node": ">= 6.13.0"
diff --git a/singlecell/src/org/labkey/singlecell/run/CellRangerGexCountStep.java b/singlecell/src/org/labkey/singlecell/run/CellRangerGexCountStep.java
index 87b18cc8d..471b89a7f 100644
--- a/singlecell/src/org/labkey/singlecell/run/CellRangerGexCountStep.java
+++ b/singlecell/src/org/labkey/singlecell/run/CellRangerGexCountStep.java
@@ -52,6 +52,7 @@
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -637,12 +638,23 @@ public enum Chemistry
public File getInclusionListFile(Logger logger) throws PipelineJobException
{
- File exe = new CellRangerWrapper(logger).getExe();
+ File exe = new CellRangerWrapper(logger).getExe().getAbsoluteFile();
+ logger.debug("cellranger executable: " + exe.getPath());
if (Files.isSymbolicLink(exe.toPath()))
{
try
{
- exe = Files.readSymbolicLink(exe.toPath()).toFile();
+ Path exePath = Files.readSymbolicLink(exe.toPath());
+ logger.debug("cellranger symlink target: " + exePath);
+ if (!exePath.isAbsolute())
+ {
+ File parent = exe.getParentFile();
+ exePath = parent.toPath().resolve(exePath);
+ logger.debug("resolved symlink target: " + exePath);
+ }
+
+ exe = exePath.toFile();
+ logger.debug("cellranger resolved symlink target: " + exe.getPath());
}
catch (IOException e)
{
@@ -650,7 +662,7 @@ public File getInclusionListFile(Logger logger) throws PipelineJobException
}
}
- File il = new File(exe.getParentFile(), "lib/python/cellranger/barcodes/" + _inclusionListFile);
+ File il = new File(exe.getParentFile(), "../lib/python/cellranger/barcodes/" + _inclusionListFile);
if (!il.exists())
{
throw new PipelineJobException("Unable to find file: " + il.getPath());