Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
f7538d0
Update HTSJDK and picard versions
bbimber Jul 29, 2025
7a52424
Make FastqcRunner more tolerant to HTSJDK version bumps
bbimber Jul 30, 2025
0b9c1cb
Resolve merge conflicts
bbimber Jul 31, 2025
1178c3a
Merge pull request #344 from BimberLab/25.7_fb_merge
bbimber Jul 31, 2025
1110e02
Merge pull request #343 from BimberLab/25.3_fb_htsjdk
bbimber Jul 31, 2025
58842c3
Test fix and support VCF 4.4
bbimber Aug 4, 2025
20db4a4
Ignore half-called GTs
bbimber Aug 4, 2025
ea3d4f5
Ignore half-called GTs in KING
bbimber Aug 4, 2025
34e803d
Add ApplyKnownClonotypicData step
bbimber Aug 5, 2025
04b9f46
Merge discvr-25.3 to discvr-25.7
bbimber Aug 5, 2025
8d630fd
Update FastqcRunner.java
bbimber Aug 5, 2025
7fc22c7
Correct filename error
bbimber Aug 5, 2025
73a13ef
Merge pull request #345 from BimberLab/25.7_fb_merge
bbimber Aug 5, 2025
56c5fc4
Allow greater curl timeout
bbimber Aug 5, 2025
36e4176
Bugfix to ApplyKnownClonotypicData
bbimber Aug 5, 2025
d9deddd
Bugfix to ApplyKnownClonotypicData
bbimber Aug 5, 2025
ed0fcdf
Try to extend RCurl timeout
bbimber Aug 6, 2025
a48f6ee
Second extension of RCurl timeout
bbimber Aug 6, 2025
e5e9b85
Increase curl timeout
bbimber Aug 6, 2025
08405c7
Prepare to support CalculateTcrRepertoireStats
bbimber Aug 7, 2025
62ba3a1
Better handling of return from CalculateAndStoreTcrRepertioreStats
bbimber Aug 7, 2025
bb1eadc
Add calculated column listing cohorts
bbimber Aug 7, 2025
9615302
Add study validation notification
bbimber Aug 8, 2025
48cbfe3
Add PredictTcellActivation
bbimber Aug 9, 2025
b04b6f4
Fix spelling
bbimber Aug 11, 2025
2a00a36
Fully qualify method
bbimber Aug 12, 2025
9f9ba2d
Expand UpdateSeuratPrototype
bbimber Aug 18, 2025
962ddcc
Bugfix to UpdateSeuratPrototype.R
bbimber Aug 18, 2025
7f09ed6
Consider container when truncating data in AbstractDataDefinedTable
bbimber Aug 19, 2025
37affa3
Merge discvr-25.3 to discvr-25.7
bbimber Aug 20, 2025
d7b3fea
Merge pull request #349 from BimberLab/25.7_fb_merge
bbimber Aug 20, 2025
53a9dcb
Swap from pkg to npm sea for jbrowse-cli (#348)
hextraza Aug 20, 2025
fa20a0d
Merge discvr-25.3 to discvr-25.7
bbimber Aug 20, 2025
e77534b
Merge pull request #350 from BimberLab/25.7_fb_merge
bbimber Aug 21, 2025
9815c8d
Merge discvr-25.7 to develop
bbimber Aug 21, 2025
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
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ public List<String> getBaseArgs(@Nullable String toolName)
args.add(SequencePipelineService.get().getJavaFilepath());
args.addAll(SequencePipelineService.get().getJavaOpts(_maxRamOverride));
args.add("-DGATK_STACKTRACE_ON_USER_EXCEPTION=true");
args.add("-Dsamjdk.optimistic_vcf_4_4=true");
args.add("-jar");
args.add(getJAR().getPath());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@

import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.Nullable;
import org.junit.Assert;
import org.junit.Test;
import org.labkey.api.module.Module;
import org.labkey.api.module.ModuleLoader;
import org.labkey.api.pipeline.PipelineJobService;
import org.labkey.api.resource.FileResource;
import org.labkey.api.resource.DirectoryResource;
import org.labkey.api.resource.FileResource;
import org.labkey.api.resource.Resource;
import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService;
import org.labkey.api.settings.AppProps;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,10 @@ public Output processVariants(File inputVCF, File outputDirectory, ReferenceGeno
plinkArgs.add("--max-alleles");
plinkArgs.add("2");

// NOTE: tools like sawfish can report half-called genotypes, like 0/.. For now, be most conservative in PCA:
plinkArgs.add("--vcf-half-call");
plinkArgs.add("missing");

Integer threads = SequencePipelineService.get().getMaxThreads(getPipelineCtx().getLogger());
if (threads != null)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,10 @@ private void runBatch(File inputVCF, File outputDirectory, VariantProcessingStep
args.add(String.valueOf(maxRam));
}

// NOTE: tools like sawfish can report half-called genotypes, like 0/.. For now, be most conservative in PCA:
args.add("--vcf-half-call");
args.add("missing");

args.addAll(getClientCommandArgs());

getWrapper().execute(args);
Expand Down
13 changes: 13 additions & 0 deletions Studies/resources/queries/studies/studies/.qview.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<customView xmlns="http://labkey.org/data/xml/queryCustomView" hidden="false" canOverride="false">
<columns>
<column name="rowId"/>
<column name="studyName"/>
<column name="label"/>
<column name="category"/>
<column name="description"/>
<column name="cohorts"/>
</columns>
<sorts>
<sort column="studyName" descending="false"/>
</sorts>
</customView>
1 change: 1 addition & 0 deletions Studies/resources/schemas/studies.xml
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@
<auditLogging>DETAILED</auditLogging>
<columns>
<column columnName="rowid">
<columnTitle>Study Id</columnTitle>
<isAutoInc>true</isAutoInc>
<shownInUpdateView>false</shownInUpdateView>
<shownInInsertView>false</shownInInsertView>
Expand Down
3 changes: 2 additions & 1 deletion Studies/resources/views/studiesOverview.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
name: 'query',
schemaName: 'studies',
queryName: 'studies',
maxRows: 20
maxRows: 10
}).render(webpart.wrapperDivId + '-studies');

// LABKEY.Query.selectRows({
Expand Down Expand Up @@ -62,4 +62,5 @@
}(jQuery, LABKEY));

</script>
<div style="padding-bottom: 20px;">Below is a list of the studies tracked in this folder. Please use the <a href="<%=contextPath%>/project/<%=containerPath%>/begin.view?pageId=dataBrowser">Data Browser</a> tab to browse the dataset tracked in this project.</div>

11 changes: 1 addition & 10 deletions Studies/src/org/labkey/studies/query/LookupSetTable.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import org.labkey.api.ldk.LDKService;
import org.labkey.api.ldk.table.AbstractDataDefinedTable;
import org.labkey.api.query.QueryUpdateService;
import org.labkey.api.query.SimpleUserSchema;

import java.util.Map;

Expand Down Expand Up @@ -101,15 +100,7 @@ public LookupSetTable init()
@Override
public QueryUpdateService getUpdateService()
{
return new EHRLookupsUpdateService(this);
}

protected class EHRLookupsUpdateService extends UpdateService
{
public EHRLookupsUpdateService(SimpleUserSchema.SimpleTable<StudiesUserSchema> ti)
{
super(ti);
}
return new UpdateService(this);
}
}

Expand Down
23 changes: 21 additions & 2 deletions Studies/src/org/labkey/studies/query/StudiesUserSchema.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
package org.labkey.studies.query;

import com.google.gwt.user.client.ui.TabBar;
import org.apache.logging.log4j.Logger;
import org.labkey.api.collections.CaseInsensitiveHashMap;
import org.labkey.api.collections.CaseInsensitiveTreeSet;
import org.labkey.api.data.AbstractTableInfo;
import org.labkey.api.data.Container;
import org.labkey.api.data.ContainerFilter;
import org.labkey.api.data.DbSchema;
import org.labkey.api.data.JdbcType;
import org.labkey.api.data.SQLFragment;
import org.labkey.api.data.SchemaTableInfo;
import org.labkey.api.data.SimpleFilter;
import org.labkey.api.data.TableInfo;
import org.labkey.api.data.TableSelector;
import org.labkey.api.ldk.table.ContainerScopedTable;
import org.labkey.api.ldk.table.CustomPermissionsTable;
import org.labkey.api.query.ExprColumn;
import org.labkey.api.query.FieldKey;
import org.labkey.api.query.QueryDefinition;
import org.labkey.api.query.QueryException;
Expand Down Expand Up @@ -134,7 +138,7 @@ else if (TABLE_LOOKUPS.equalsIgnoreCase(name))
}
else if (TABLE_STUDIES.equalsIgnoreCase(name))
{
return createStudyDesignTable(name, cf, false);
return createStudiesTable(name, cf, false);
}
else if (TABLE_COHORTS.equalsIgnoreCase(name))
{
Expand Down Expand Up @@ -165,7 +169,22 @@ else if (TABLE_EVENT_TYPES.equalsIgnoreCase(name))
return super.createTable(name, cf);
}

private TableInfo createStudyDesignTable(String name, ContainerFilter cf, boolean addTriggers)
private TableInfo createStudiesTable(String name, ContainerFilter cf, boolean addTriggers)
{
CustomPermissionsTable<?> ret = createStudyDesignTable(name, cf, addTriggers);

final String chr = ret.getSqlDialect().isPostgreSQL() ? "chr" : "char";
SQLFragment sql1 = new SQLFragment("(SELECT ").append(ret.getSqlDialect().getGroupConcat(new SQLFragment("c.label"), true, true, new SQLFragment(chr + "(10)"))).append(" as expr FROM " + StudiesSchema.NAME + "." + TABLE_COHORTS + " c WHERE c.studyId = " + ExprColumn.STR_TABLE_ALIAS + ".rowId)");
ExprColumn col1 = new ExprColumn(ret, "cohorts", sql1, JdbcType.VARCHAR, ret.getColumn("rowid"));
col1.setLabel("Cohort(s)");
col1.setDescription("This column lists the cohort labels for this study");

ret.addColumn(col1);

return ret;
}

private CustomPermissionsTable<?> createStudyDesignTable(String name, ContainerFilter cf, boolean addTriggers)
{
CustomPermissionsTable<SimpleUserSchema> ret = new CustomPermissionsTable<>(this, createSourceTable(name), cf);
ret.addPermissionMapping(InsertPermission.class, StudiesDataAdminPermission.class);
Expand Down
2 changes: 1 addition & 1 deletion jbrowse/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ dependencies {
external "org.apache.lucene:lucene-backward-codecs:${luceneVersion}"
}

def jbPkgTask = project.tasks.named("npm_run_jb-pkg")
def jbPkgTask = project.tasks.named("npm_run_jb-sea")

jbPkgTask.configure {
outputs.cacheIf {false}
Expand Down
Loading