From ee48b20fae5f9903794d7e437ca21c5691b00d1c Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Mon, 3 Mar 2025 11:17:54 -0800 Subject: [PATCH 01/34] Clean up ContainerFilter (#339) --- .../labkey/sequenceanalysis/SequenceAnalysisController.java | 6 +++--- .../src/org/labkey/discvrcore/AuditSummaryUserSchema.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java index 9e2e7f686..e414823a3 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java @@ -1215,13 +1215,13 @@ public ApiResponse execute(ValidateReadsetImportForm form, BindException errors) //forward reads SimpleFilter filter = new SimpleFilter(FieldKey.fromString("fileid1"), d.getRowId()); Container c = getContainer().isWorkbook() ? getContainer().getParent() : getContainer(); - filter.addClause(ContainerFilter.current(c).createFilterClause(SequenceAnalysisSchema.getInstance().getSchema(), FieldKey.fromString("container"))); + filter.addClause(ContainerFilter.current(this).createFilterClause(SequenceAnalysisSchema.getInstance().getSchema(), FieldKey.fromString("container"))); TableSelector ts = new TableSelector(ti, Collections.singleton("readset"), filter, null); Integer[] readsets1 = ts.getArray(Integer.class); //reverse reads SimpleFilter filter2 = new SimpleFilter(FieldKey.fromString("fileid2"), d.getRowId()); - filter2.addClause(ContainerFilter.current(c).createFilterClause(SequenceAnalysisSchema.getInstance().getSchema(), FieldKey.fromString("container"))); + filter2.addClause(ContainerFilter.current(this).createFilterClause(SequenceAnalysisSchema.getInstance().getSchema(), FieldKey.fromString("container"))); TableSelector ts2 = new TableSelector(ti, Collections.singleton("readset"), filter2, null); Integer[] readsets2 = ts2.getArray(Integer.class); @@ -1232,7 +1232,7 @@ public ApiResponse execute(ValidateReadsetImportForm form, BindException errors) ids.addAll(Arrays.asList(readsets1)); ids.addAll(Arrays.asList(readsets2)); - if (ids.size() > 0) + if (!ids.isEmpty()) { String msg = "File is already used in existing readsets (" + StringUtils.join(new ArrayList<>(ids), ", ") + "): " + d.getFile().getName(); errorsList.add(msg); diff --git a/discvrcore/src/org/labkey/discvrcore/AuditSummaryUserSchema.java b/discvrcore/src/org/labkey/discvrcore/AuditSummaryUserSchema.java index 1f4c956c0..92df1507d 100644 --- a/discvrcore/src/org/labkey/discvrcore/AuditSummaryUserSchema.java +++ b/discvrcore/src/org/labkey/discvrcore/AuditSummaryUserSchema.java @@ -123,7 +123,7 @@ private SimpleTable generateAuditSql(String tableName, String eventType, Cont DbSchema auditSchema = DbSchema.get("audit", DbSchemaType.Module); TableInfo ti = auditSchema.getTable(storageTableName); - SimpleTable st = new SimpleTable<>(this, ti, ContainerFilter.current(target)); + SimpleTable st = new SimpleTable<>(this, ti, ContainerFilter.current(this)); st.setName(tableName); st.init(); From bd79679b43ade426313eeaaba3543193356bda6c Mon Sep 17 00:00:00 2001 From: Josh Eckels Date: Tue, 4 Mar 2025 17:21:50 -0800 Subject: [PATCH 02/34] Complete migration from srcURL and returnURL to returnUrl (#340) --- SequenceAnalysis/resources/views/readsetDetails.html | 2 +- SequenceAnalysis/resources/views/sequenceAnalysisDetails.html | 4 ++-- .../web/SequenceAnalysis/panel/IlluminaSampleExportPanel.js | 2 +- .../resources/web/SequenceAnalysis/sequenceanalysisButtons.js | 2 +- .../labkey/sequenceanalysis/SequenceAnalysisController.java | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SequenceAnalysis/resources/views/readsetDetails.html b/SequenceAnalysis/resources/views/readsetDetails.html index 411d993ba..c3110d8c4 100644 --- a/SequenceAnalysis/resources/views/readsetDetails.html +++ b/SequenceAnalysis/resources/views/readsetDetails.html @@ -37,7 +37,7 @@ text: 'More Actions', menu: [{ text: 'Edit Details', - href: LABKEY.ActionURL.buildURL('ldk', 'manageRecord', null, {schemaName: 'sequenceanalysis', queryName: 'sequence_readsets', keyField: 'rowid', key: readsetId}) + '&returnUrl=' + LDK.Utils.getSrcURL() + href: LABKEY.ActionURL.buildURL('ldk', 'manageRecord', null, {schemaName: 'sequenceanalysis', queryName: 'sequence_readsets', keyField: 'rowid', key: readsetId}) + '&returnUrl=' + LDK.Utils.getReturnUrl() }] }] } diff --git a/SequenceAnalysis/resources/views/sequenceAnalysisDetails.html b/SequenceAnalysis/resources/views/sequenceAnalysisDetails.html index dcc9f9102..9ae06ca82 100644 --- a/SequenceAnalysis/resources/views/sequenceAnalysisDetails.html +++ b/SequenceAnalysis/resources/views/sequenceAnalysisDetails.html @@ -38,7 +38,7 @@ text: 'More Actions', menu: [{ text: 'Edit Analysis Details', - href: LABKEY.ActionURL.buildURL('ldk', 'manageRecord', null, {schemaName: 'sequenceanalysis', queryName: 'sequence_analyses', keyField: 'rowid', key: analysisId}) + '&returnUrl=' + LDK.Utils.getSrcURL() + href: LABKEY.ActionURL.buildURL('ldk', 'manageRecord', null, {schemaName: 'sequenceanalysis', queryName: 'sequence_analyses', keyField: 'rowid', key: analysisId}) + '&returnUrl=' + LDK.Utils.getReturnUrl() }] }] } @@ -94,7 +94,7 @@ text: 'More Actions', menu: [{ text: 'Edit Readset Details', - href: LABKEY.ActionURL.buildURL('ldk', 'manageRecord', null, {schemaName: 'sequenceanalysis', queryName: 'sequence_readsets', keyField: 'rowid', key: row.readset}) + '&returnUrl=' + LDK.Utils.getSrcURL() + href: LABKEY.ActionURL.buildURL('ldk', 'manageRecord', null, {schemaName: 'sequenceanalysis', queryName: 'sequence_readsets', keyField: 'rowid', key: row.readset}) + '&returnUrl=' + LDK.Utils.getReturnUrl() }] }] } diff --git a/SequenceAnalysis/resources/web/SequenceAnalysis/panel/IlluminaSampleExportPanel.js b/SequenceAnalysis/resources/web/SequenceAnalysis/panel/IlluminaSampleExportPanel.js index a41ea8123..5b88890fa 100644 --- a/SequenceAnalysis/resources/web/SequenceAnalysis/panel/IlluminaSampleExportPanel.js +++ b/SequenceAnalysis/resources/web/SequenceAnalysis/panel/IlluminaSampleExportPanel.js @@ -226,7 +226,7 @@ Ext4.define('SequenceAnalysis.panel.IlluminaSampleExportPanel', { },{ text: 'Cancel', handler: function(btn){ - var url = LABKEY.ActionURL.getParameter('srcURL'); + var url = LABKEY.ActionURL.getParameter('returnUrl'); if (url) window.location = decodeURIComponent(url); else diff --git a/SequenceAnalysis/resources/web/SequenceAnalysis/sequenceanalysisButtons.js b/SequenceAnalysis/resources/web/SequenceAnalysis/sequenceanalysisButtons.js index 802fd4fca..e2cd084f9 100644 --- a/SequenceAnalysis/resources/web/SequenceAnalysis/sequenceanalysisButtons.js +++ b/SequenceAnalysis/resources/web/SequenceAnalysis/sequenceanalysisButtons.js @@ -286,7 +286,7 @@ SequenceAnalysis.Buttons = new function(){ pks: checked, schemaName: 'sequenceanalysis', queryName: 'sequence_readsets', - srcURL: LDK.Utils.getSrcURL() + returnUrl: LDK.Utils.getReturnUrl() }) }, diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java index e414823a3..82dc613b8 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java @@ -924,7 +924,7 @@ else if (SequenceAnalysisSchema.TABLE_OUTPUTFILES.equals(_table.getName())) @Override public @NotNull URLHelper getSuccessURL(DeleteForm form) { - URLHelper url = form.getReturnURLHelper(); + URLHelper url = form.getReturnUrlHelper(); return url != null ? url : _table.getGridURL(getContainer()) != null ? _table.getGridURL(getContainer()) : getContainer().getStartURL(getUser()); } } From cc71f7f60687e1dfd8f12d9ddffdcd8c70e1f188 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Tue, 18 Mar 2025 14:15:52 -0700 Subject: [PATCH 03/34] DisplayColumn refactor (#341) --- .../DownloadSequenceDisplayColumnFactory.java | 13 ++++----- .../query/GenbankDisplayColumnFactory.java | 15 +++++----- .../query/SequenceAnalysisCustomizer.java | 28 ++++++++++++++----- .../query/SequenceAnalysisUserSchema.java | 21 +++++++------- 4 files changed, 45 insertions(+), 32 deletions(-) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/DownloadSequenceDisplayColumnFactory.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/DownloadSequenceDisplayColumnFactory.java index 127f58fec..b5cd00bd6 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/DownloadSequenceDisplayColumnFactory.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/DownloadSequenceDisplayColumnFactory.java @@ -10,9 +10,8 @@ import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.HttpView; import org.labkey.api.view.template.ClientDependency; +import org.labkey.api.writer.HtmlWriter; -import java.io.IOException; -import java.io.Writer; import java.util.Collections; import java.util.LinkedHashSet; import java.util.Map; @@ -38,12 +37,12 @@ public DisplayColumn createRenderer(ColumnInfo colInfo) private boolean _handlerRegistered = false; @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { - Object val = ctx.get(FieldKey.fromString(getBoundColumn().getFieldKey().getParent(), "rowId")); - out.write(PageFlowUtil.link("Download Sequence").attributes(Map.of( - "data-rowid", val.toString() - )).addClass("sdc-row").toString()); + Integer val = ctx.get(FieldKey.fromString(getBoundColumn().getFieldKey().getParent(), "rowId"), Integer.class); + out.write(PageFlowUtil.link("Download Sequence"). + attributes(Map.of("data-rowid", val.toString())). + addClass("sdc-row")); if (!_handlerRegistered) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/GenbankDisplayColumnFactory.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/GenbankDisplayColumnFactory.java index 8f0d49a59..f35de5fa6 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/GenbankDisplayColumnFactory.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/GenbankDisplayColumnFactory.java @@ -6,6 +6,8 @@ import org.labkey.api.data.DisplayColumnFactory; import org.labkey.api.data.RenderContext; import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.util.URLHelper; +import org.labkey.api.writer.HtmlWriter; import java.io.IOException; import java.io.Writer; @@ -23,26 +25,25 @@ public GenbankDisplayColumnFactory() @Override public DisplayColumn createRenderer(ColumnInfo colInfo) { - DataColumn ret = new DataColumn(colInfo) + return new DataColumn(colInfo) { @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { - Object val = ctx.get(getBoundColumn().getFieldKey()); + String val = ctx.get(getBoundColumn().getFieldKey(), String.class); if (val != null) { - String[] vals = String.valueOf(val).replaceAll("\\s+", "").split(";|,"); + String[] vals = val.replaceAll("\\s+", "").split("[;,]"); String delim = ""; for (String v : vals) { - out.write(delim + "" + PageFlowUtil.encode(v) + ""); + out.write(delim); + out.write(PageFlowUtil.link(v).href(getFormattedURL(v)).clearClasses()); delim = "; "; } } } }; - - return ret; } protected String getFormattedURL(String v) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisCustomizer.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisCustomizer.java index f23070d67..d19a0b445 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisCustomizer.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisCustomizer.java @@ -26,14 +26,15 @@ import org.labkey.api.query.QueryForeignKey; import org.labkey.api.query.QueryService; import org.labkey.api.security.User; +import org.labkey.api.util.HtmlString; +import org.labkey.api.util.HtmlStringBuilder; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.ActionURL; import org.labkey.api.view.HttpView; import org.labkey.api.view.template.ClientDependency; +import org.labkey.api.writer.HtmlWriter; import org.labkey.sequenceanalysis.SequenceAnalysisSchema; -import java.io.IOException; -import java.io.Writer; import java.util.Collection; import java.util.Set; @@ -42,6 +43,8 @@ */ public class SequenceAnalysisCustomizer implements TableCustomizer { + private static final HtmlString COMMA_NEWLINE = HtmlStringBuilder.of(",").append(HtmlString.BR).getHtmlString(); + @Override public void customize(TableInfo tableInfo) { @@ -258,7 +261,7 @@ private FieldKey getBoundKey(String colName) } @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { Integer rowId = ctx.get(getBoundKey("rowId"), Integer.class); if (rowId != null) @@ -267,18 +270,29 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep if (value != null) { String[] tokens = value.split(","); - String delim = ""; + HtmlString delim = HtmlString.EMPTY_STRING; for (String token : tokens) { ActionURL url = QueryService.get().urlFor(ctx.getViewContext().getUser(), ctx.getContainer(), QueryAction.executeQuery, SequenceAnalysisSchema.SCHEMA_NAME, SequenceAnalysisSchema.TABLE_OUTPUTFILES); url.addParameter("query.fileSets~contains", token); - out.write(delim + "" + token + ""); - delim = ",
"; + out.write(delim); + out.write(PageFlowUtil.link(token, url).clearClasses()); + delim = COMMA_NEWLINE; } } - out.write(""); + out.write(PageFlowUtil.link(""). + clearClasses(). + addClass("fa fa-pencil"). + addClass("lk-dr-action-icon"). + addClass("sfs-row"). + attributes(PageFlowUtil.map( + "data-tt", "tooltip", + "data-rowid", rowId.toString(), + "data-original-title", "add/edit" + )) + ); if (!_handlerRegistered) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisUserSchema.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisUserSchema.java index 28aabfd54..27aa00773 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisUserSchema.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisUserSchema.java @@ -31,13 +31,13 @@ import org.labkey.api.query.SimpleUserSchema; import org.labkey.api.security.User; import org.labkey.api.sequenceanalysis.pipeline.SequenceOutputHandler; +import org.labkey.api.util.HtmlString; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.ActionURL; +import org.labkey.api.writer.HtmlWriter; import org.labkey.sequenceanalysis.SequenceAnalysisSchema; import org.labkey.sequenceanalysis.SequenceAnalysisServiceImpl; -import java.io.IOException; -import java.io.Writer; import java.util.Arrays; import java.util.LinkedHashSet; @@ -259,7 +259,7 @@ public DisplayColumn createRenderer(ColumnInfo colInfo) return new DataColumn(colInfo) { @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { Object o = getValue(ctx); if (o != null) @@ -267,9 +267,7 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep ActionURL url = QueryService.get().urlFor(getUser(), ctx.getContainer(), QueryAction.executeQuery, SequenceAnalysisSchema.SCHEMA_NAME, SequenceAnalysisSchema.TABLE_READ_DATA); url.addFilter("query", FieldKey.fromString("readset"), CompareType.EQUAL, o); - out.write(""); - out.write("View File(s)"); - out.write(""); + out.write(PageFlowUtil.link("View File(s)", url)); } else { @@ -448,19 +446,20 @@ public DisplayColumn createRenderer(ColumnInfo colInfo) return new DataColumn(colInfo) { @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { String result = StringUtils.trimToNull(super.getFormattedHtml(ctx).toString()); - String delim = ""; + HtmlString delim = HtmlString.EMPTY_STRING; if (result != null) { String[] tokens = result.split(","); for (String token : tokens) { - String url = DetailsURL.fromString(_baseUrl + PageFlowUtil.encode(token), ctx.getContainer()).getActionURL().toString(); + ActionURL url = DetailsURL.fromString(_baseUrl + PageFlowUtil.encode(token), ctx.getContainer()).getActionURL(); - out.write(delim + "" + token + ""); - delim = "
"; + out.write(delim); + out.write(PageFlowUtil.link(token, url).clearClasses()); + delim = HtmlString.BR; } } } From b51fb881b6552bbdc4b9dca4f358e8ab172889db Mon Sep 17 00:00:00 2001 From: Josh Eckels Date: Tue, 25 Mar 2025 09:52:56 -0700 Subject: [PATCH 04/34] Issue 52614: AssertionError deleting site group from its details page (#343) --- .../ldap/LdapSyncAuditProvider.java | 5 ++-- .../openldapsync/ldap/LdapSyncRunner.java | 29 +++++++------------ 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncAuditProvider.java b/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncAuditProvider.java index 77622331e..f631670ee 100644 --- a/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncAuditProvider.java +++ b/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncAuditProvider.java @@ -6,6 +6,7 @@ import org.labkey.api.audit.AuditTypeProvider; import org.labkey.api.audit.query.AbstractAuditDomainKind; import org.labkey.api.audit.query.DefaultAuditTypeTable; +import org.labkey.api.data.Container; import org.labkey.api.data.ContainerFilter; import org.labkey.api.data.ContainerManager; import org.labkey.api.data.MutableColumnInfo; @@ -121,7 +122,7 @@ public Class getEventClass() public static void addAuditEntry(User user, int usersAdded, int usersRemoved, int usersInactivated, int usersModified, int groupsAdded, int groupsRemoved, int membershipsAdded, int membershipsRemoved) { String comment = String.format("LDAP Sync Summary: users added: %s, users removed: %s, users inactivated: %s, users modified: %s, groups added: %s, groups removed: %s, memberships added: %s, memberships removed: %s", usersAdded, usersRemoved, usersInactivated, usersModified, groupsAdded, groupsRemoved, membershipsAdded, membershipsRemoved); - LdapSyncAuditProvider.LdapSyncAuditEvent event = new LdapSyncAuditProvider.LdapSyncAuditEvent(ContainerManager.getRoot().getId(), comment); + LdapSyncAuditProvider.LdapSyncAuditEvent event = new LdapSyncAuditProvider.LdapSyncAuditEvent(ContainerManager.getRoot(), comment); event.setTotalUsersAndGroupsAdded(usersAdded + groupsAdded); event.setTotalUsersAndGroupsRemoved(usersRemoved + groupsRemoved); @@ -141,7 +142,7 @@ public LdapSyncAuditEvent() super(); } - public LdapSyncAuditEvent(String container, String comment) + public LdapSyncAuditEvent(Container container, String comment) { super(LdapSyncRunner.AUDIT_EVENT_TYPE, container, comment); } diff --git a/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncRunner.java b/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncRunner.java index 77e692d87..20615a8be 100644 --- a/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncRunner.java +++ b/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncRunner.java @@ -40,7 +40,6 @@ import org.labkey.security.xml.GroupEnumType; import org.quartz.Job; import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; import java.util.ArrayList; import java.util.Arrays; @@ -99,7 +98,7 @@ public LdapSyncRunner() } @Override - public void execute(JobExecutionContext context) throws JobExecutionException + public void execute(JobExecutionContext context) { try { @@ -284,7 +283,7 @@ private void setUserActive(User u, boolean active, String reason) } } - private void handleGroupsRemovedFromLdap() throws LdapException + private void handleGroupsRemovedFromLdap() { //find any previously synced groups that are no longer present List records = getPreviouslySyncedRecords(PrincipalType.GROUP); @@ -522,7 +521,7 @@ private void deactivatePrincipalsPreviouslySynced() previouslySynced.remove(syncedUser); } - if (previouslySynced.size() > 0) + if (!previouslySynced.isEmpty()) { //TODO: determine whether to delete/deactive, etc? for (Integer userId : previouslySynced) @@ -543,7 +542,7 @@ private void deactivatePrincipalsPreviouslySynced() previouslySyncedGroups.remove(syncedGroup); } - if (previouslySyncedGroups.size() > 0) + if (!previouslySyncedGroups.isEmpty()) { //TODO: determine whether to delete/deactive, etc for (Integer groupId : previouslySyncedGroups) @@ -569,14 +568,7 @@ private void initPreviouslySyncedRecords() SimpleFilter filter = new SimpleFilter(FieldKey.fromString("provider"), _wrapper.getProviderName(), CompareType.EQUAL); TableSelector ts = new TableSelector(ti, filter, null); - ts.forEach(LdapSyncModel.class, new Selector.ForEachBlock() - { - @Override - public void exec(LdapSyncModel model) - { - _syncedRecordMap.put(model.getSourceId(), model); - } - }); + ts.forEach(LdapSyncModel.class, model -> _syncedRecordMap.put(model.getSourceId(), model)); } private User createUser(LdapEntry ldapEntry) throws LdapException @@ -702,7 +694,7 @@ private Group createGroup(String groupName) if (!_previewOnly) { - return SecurityManager.createGroup(getUserGroupContainer(), groupName); + return SecurityManager.createGroup(getUserGroupContainer(), groupName, _settings.getLabKeyAdminUser()); } else { @@ -712,11 +704,11 @@ private Group createGroup(String groupName) private void deleteGroup(Group g) { - log("Deleteing LabKey group: " + g.getName()); + log("Deleting LabKey group: " + g.getName()); _groupsRemoved++; if (!_previewOnly) - SecurityManager.deleteGroup(g); + SecurityManager.deleteGroup(g, _settings.getLabKeyAdminUser()); } private void deleteUser(User u) throws LdapException @@ -894,8 +886,7 @@ public void doSetup() throws Exception if (project == null) { project = ContainerManager.createContainer(ContainerManager.getRoot(), PROJECT_NAME, TestContext.get().getUser()); - Set modules = new HashSet<>(); - modules.addAll(project.getActiveModules()); + Set modules = new HashSet<>(project.getActiveModules()); modules.add(ModuleLoader.getInstance().getModule(OpenLdapSyncModule.NAME)); project.setActiveModules(modules); } @@ -962,7 +953,7 @@ private void cleanUsersAndGroups() throws Exception _log.info("Cleaning up group: "+ groupName); Group g = GroupManager.getGroup(getProject(), groupName, GroupEnumType.PROJECT); if (g != null) - SecurityManager.deleteGroup(g); + SecurityManager.deleteGroup(g, TestContext.get().getUser()); } } From 369f9eff7f45e141e1bdaac65d80087fed6f7108 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Fri, 28 Mar 2025 11:06:30 -0700 Subject: [PATCH 05/34] Change CSP host registration method signature (#345) --- jbrowse/src/org/labkey/jbrowse/JBrowseModule.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jbrowse/src/org/labkey/jbrowse/JBrowseModule.java b/jbrowse/src/org/labkey/jbrowse/JBrowseModule.java index a5ec8702a..772c210bd 100644 --- a/jbrowse/src/org/labkey/jbrowse/JBrowseModule.java +++ b/jbrowse/src/org/labkey/jbrowse/JBrowseModule.java @@ -115,8 +115,8 @@ public void doStartupAfterSpringConfig(ModuleContext moduleContext) JBrowseService.get().registerGroupsProvider(new JBrowseLuceneSearch.TestJBrowseGroupProvider()); // These are all part of the JBrowse demo data: - ContentSecurityPolicyFilter.registerAllowedSources(Directive.Connection, this.getClass().getName(), "https://jbrowse.org", "https://s3.amazonaws.com", "https://ftp.ncbi.nlm.nih.gov"); - ContentSecurityPolicyFilter.registerAllowedSources(Directive.Style, this.getClass().getName(), "https://www.gstatic.com"); + ContentSecurityPolicyFilter.registerAllowedSources(this.getClass().getName(), Directive.Connection, "https://jbrowse.org", "https://s3.amazonaws.com", "https://ftp.ncbi.nlm.nih.gov"); + ContentSecurityPolicyFilter.registerAllowedSources(this.getClass().getName(), Directive.Style, "https://www.gstatic.com"); ContextListener.addShutdownListener(new JBrowseLuceneSearch.ShutdownHandler()); } From f61778be3d8b38e17c7b80791c20235e0a50543f Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Tue, 1 Apr 2025 17:27:06 -0700 Subject: [PATCH 06/34] Eliminate org.labkey.api.util.Filter in favor of Predicate (#346) --- jbrowse/src/org/labkey/jbrowse/JBrowseLuceneSearch.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jbrowse/src/org/labkey/jbrowse/JBrowseLuceneSearch.java b/jbrowse/src/org/labkey/jbrowse/JBrowseLuceneSearch.java index f886d1c86..e0f57ea64 100644 --- a/jbrowse/src/org/labkey/jbrowse/JBrowseLuceneSearch.java +++ b/jbrowse/src/org/labkey/jbrowse/JBrowseLuceneSearch.java @@ -42,7 +42,6 @@ import org.labkey.api.module.ModuleLoader; import org.labkey.api.security.User; import org.labkey.api.settings.AppProps; -import org.labkey.api.util.Filter; import org.labkey.api.util.ShutdownListener; import org.labkey.api.util.logging.LogHelper; import org.labkey.jbrowse.model.JBrowseSession; @@ -62,6 +61,7 @@ import java.util.Map; import java.util.Set; import java.util.StringTokenizer; +import java.util.function.Predicate; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -506,7 +506,7 @@ public CacheEntry get(@NotNull String key, @Nullable Object arg, CacheLoader filter) + public int removeUsingFilter(Predicate filter) { return _cache.removeUsingFilter(filter); } From ce153567c404d7f496db2bf340b829bb0aab9b7b Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Fri, 4 Apr 2025 07:35:38 -0700 Subject: [PATCH 07/34] javax.annotation.Nullable -> org.jetbrains.annotations.Nullable (#347) --- .../org/labkey/sequenceanalysis/run/util/SVAnnotateStep.java | 2 +- .../org/labkey/sequenceanalysis/run/variant/PlinkPcaStep.java | 2 +- .../src/org/labkey/sequenceanalysis/run/variant/SNPEffStep.java | 2 +- .../labkey/sequenceanalysis/run/variant/SampleRenameStep.java | 2 +- .../org/labkey/sequenceanalysis/run/variant/SelectSNVsStep.java | 2 +- .../labkey/sequenceanalysis/run/variant/SelectSamplesStep.java | 2 +- .../labkey/sequenceanalysis/run/variant/SelectVariantsStep.java | 2 +- .../sequenceanalysis/run/variant/VariantAnnotatorStep.java | 2 +- .../labkey/sequenceanalysis/run/variant/VariantEvalStep.java | 2 +- .../sequenceanalysis/run/variant/VariantFiltrationStep.java | 2 +- .../sequenceanalysis/run/variant/VariantsToTableStep.java | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SVAnnotateStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SVAnnotateStep.java index cac32155a..f1a2504ae 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SVAnnotateStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SVAnnotateStep.java @@ -2,6 +2,7 @@ import htsjdk.samtools.util.Interval; import org.apache.logging.log4j.Logger; +import org.jetbrains.annotations.Nullable; import org.json.JSONObject; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.AbstractVariantProcessingStepProvider; @@ -16,7 +17,6 @@ import org.labkey.api.util.PageFlowUtil; import org.labkey.sequenceanalysis.pipeline.SequenceTaskHelper; -import javax.annotation.Nullable; import java.io.File; import java.util.ArrayList; import java.util.Arrays; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/PlinkPcaStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/PlinkPcaStep.java index 1750c4c4e..63d1d3315 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/PlinkPcaStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/PlinkPcaStep.java @@ -7,6 +7,7 @@ import htsjdk.variant.vcf.VCFHeader; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; +import org.jetbrains.annotations.Nullable; import org.json.JSONObject; import org.labkey.api.data.CompareType; import org.labkey.api.data.Container; @@ -35,7 +36,6 @@ import org.labkey.api.writer.PrintWriters; import org.labkey.sequenceanalysis.SequenceAnalysisSchema; -import javax.annotation.Nullable; import java.io.BufferedReader; import java.io.File; import java.io.IOException; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SNPEffStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SNPEffStep.java index 11fa151f1..e55bf1915 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SNPEffStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SNPEffStep.java @@ -2,6 +2,7 @@ import htsjdk.samtools.util.Interval; import org.apache.logging.log4j.Logger; +import org.jetbrains.annotations.Nullable; import org.json.JSONObject; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.AbstractVariantProcessingStepProvider; @@ -18,7 +19,6 @@ import org.labkey.api.writer.PrintWriters; import org.labkey.sequenceanalysis.pipeline.SequenceTaskHelper; -import javax.annotation.Nullable; import java.io.File; import java.io.IOException; import java.io.PrintWriter; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SampleRenameStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SampleRenameStep.java index 6af568325..3b6930eae 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SampleRenameStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SampleRenameStep.java @@ -10,6 +10,7 @@ import htsjdk.variant.vcf.VCFFileReader; import htsjdk.variant.vcf.VCFHeader; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.json.JSONObject; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.SequenceAnalysisService; @@ -23,7 +24,6 @@ import org.labkey.api.sequenceanalysis.run.AbstractCommandPipelineStep; import org.labkey.api.sequenceanalysis.run.VariantFiltrationWrapper; -import javax.annotation.Nullable; import java.io.File; import java.util.ArrayList; import java.util.Arrays; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SelectSNVsStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SelectSNVsStep.java index a94a218b7..179fcbbbb 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SelectSNVsStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SelectSNVsStep.java @@ -3,6 +3,7 @@ import htsjdk.samtools.util.Interval; import htsjdk.variant.variantcontext.VariantContext; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.json.JSONObject; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.AbstractVariantProcessingStepProvider; @@ -17,7 +18,6 @@ import org.labkey.api.util.PageFlowUtil; import org.labkey.sequenceanalysis.pipeline.SequenceTaskHelper; -import javax.annotation.Nullable; import java.io.File; import java.util.ArrayList; import java.util.Arrays; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SelectSamplesStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SelectSamplesStep.java index ee6b584c1..391449245 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SelectSamplesStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SelectSamplesStep.java @@ -1,6 +1,7 @@ package org.labkey.sequenceanalysis.run.variant; import htsjdk.samtools.util.Interval; +import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.AbstractVariantProcessingStepProvider; import org.labkey.api.sequenceanalysis.pipeline.CommandLineParam; @@ -15,7 +16,6 @@ import org.labkey.api.util.PageFlowUtil; import org.labkey.sequenceanalysis.pipeline.SequenceTaskHelper; -import javax.annotation.Nullable; import java.io.File; import java.util.ArrayList; import java.util.Arrays; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SelectVariantsStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SelectVariantsStep.java index 2832904c3..b36793f57 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SelectVariantsStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SelectVariantsStep.java @@ -2,6 +2,7 @@ import htsjdk.samtools.util.Interval; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.json.JSONArray; import org.json.JSONObject; import org.labkey.api.exp.api.ExpData; @@ -21,7 +22,6 @@ import org.labkey.api.sequenceanalysis.run.SelectVariantsWrapper; import org.labkey.sequenceanalysis.pipeline.SequenceTaskHelper; -import javax.annotation.Nullable; import java.io.File; import java.util.ArrayList; import java.util.Arrays; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantAnnotatorStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantAnnotatorStep.java index 1396e2ec6..5c1161102 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantAnnotatorStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantAnnotatorStep.java @@ -1,6 +1,7 @@ package org.labkey.sequenceanalysis.run.variant; import htsjdk.samtools.util.Interval; +import org.jetbrains.annotations.Nullable; import org.json.JSONObject; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.AbstractVariantProcessingStepProvider; @@ -17,7 +18,6 @@ import org.labkey.sequenceanalysis.pipeline.SequenceTaskHelper; import org.labkey.sequenceanalysis.run.util.VariantAnnotatorWrapper; -import javax.annotation.Nullable; import java.io.File; import java.util.ArrayList; import java.util.Arrays; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantEvalStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantEvalStep.java index 6ec71ec13..798679046 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantEvalStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantEvalStep.java @@ -1,6 +1,7 @@ package org.labkey.sequenceanalysis.run.variant; import htsjdk.samtools.util.Interval; +import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.AbstractVariantProcessingStepProvider; import org.labkey.api.sequenceanalysis.pipeline.PipelineContext; @@ -12,7 +13,6 @@ import org.labkey.sequenceanalysis.pipeline.SequenceTaskHelper; import org.labkey.sequenceanalysis.run.util.VariantEvalWrapper; -import javax.annotation.Nullable; import java.io.File; import java.util.List; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantFiltrationStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantFiltrationStep.java index 39c4e887b..93ca2ab06 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantFiltrationStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantFiltrationStep.java @@ -2,6 +2,7 @@ import htsjdk.samtools.util.Interval; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -23,7 +24,6 @@ import org.labkey.api.sequenceanalysis.run.VariantFiltrationWrapper; import org.labkey.sequenceanalysis.pipeline.SequenceTaskHelper; -import javax.annotation.Nullable; import java.io.File; import java.util.ArrayList; import java.util.Arrays; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantsToTableStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantsToTableStep.java index f7451a581..87514d6f2 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantsToTableStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantsToTableStep.java @@ -3,6 +3,7 @@ import htsjdk.samtools.util.Interval; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; +import org.jetbrains.annotations.Nullable; import org.json.JSONObject; import org.labkey.api.pipeline.PipelineJob; import org.labkey.api.pipeline.PipelineJobException; @@ -24,7 +25,6 @@ import org.labkey.sequenceanalysis.pipeline.VariantProcessingJob; import org.labkey.sequenceanalysis.util.SequenceUtil; -import javax.annotation.Nullable; import java.io.File; import java.util.ArrayList; import java.util.Arrays; From ee1d21d012df71dfab0675a6f0cdc4922aeb3f79 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Mon, 7 Apr 2025 13:47:07 -0700 Subject: [PATCH 08/34] Remove unnecessary HttpView.currentView() casts in JSPs (#349) --- blast/src/org/labkey/blast/view/jobDetails.jsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blast/src/org/labkey/blast/view/jobDetails.jsp b/blast/src/org/labkey/blast/view/jobDetails.jsp index 9602d423c..080ba6462 100644 --- a/blast/src/org/labkey/blast/view/jobDetails.jsp +++ b/blast/src/org/labkey/blast/view/jobDetails.jsp @@ -30,7 +30,7 @@ } %> <% - JspView me = (JspView) HttpView.currentView(); + JspView me = HttpView.currentView(); BlastJob job = me.getModelBean(); String renderTarget = "blast-"; //TODO: make unique? From 51a9a69a596d68990beeccef9a6c266d0d5df4b4 Mon Sep 17 00:00:00 2001 From: Binal Patel Date: Thu, 10 Apr 2025 10:48:53 -0700 Subject: [PATCH 09/34] Convert ValidateReadsetFilesAction and ImportReferenceSequencesAction to use FileLike (#350) * Update ValidateReadsetFilesAction and ImportReferenceSequencesAction to use FileLike * Remove unused DownloadTempImageAction and ConvertTextToFileAction and its associated form classes. --- .../SequenceAnalysisController.java | 156 +++--------------- 1 file changed, 23 insertions(+), 133 deletions(-) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java index 82dc613b8..534381244 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java @@ -171,6 +171,7 @@ import org.labkey.sequenceanalysis.util.FastqUtils; import org.labkey.sequenceanalysis.util.SequenceUtil; import org.labkey.vfs.FileLike; +import org.labkey.vfs.FileSystemLike; import org.springframework.beans.PropertyValues; import org.springframework.validation.BindException; import org.springframework.validation.Errors; @@ -427,80 +428,6 @@ public void addNavTrail(NavTree tree) } } - @RequiresPermission(ReadPermission.class) - @IgnoresTermsOfUse - public static class DownloadTempImageAction extends ExportAction - { - @Override - public void export(TempImageAction form, HttpServletResponse response, BindException errors) throws Exception - { - File parentDir = form.getDirectory() == null ? FileUtil.getTempDirectory() : new File(FileUtil.getTempDirectory(), form.getDirectory()); - File targetFile = new File(parentDir, form.getFileName()); - targetFile = FileUtil.getAbsoluteCaseSensitiveFile(targetFile); - - if (!NetworkDrive.exists(targetFile)) - { - throw new FileNotFoundException("Could not find file: " + targetFile.getPath()); - } - - if (parentDir.listFiles() == null) - { - throw new FileNotFoundException("Unable to list the contents of folder: " + parentDir.getPath()); - } - - PageFlowUtil.streamFile(response, targetFile, false); - - //the file will be recreated, so delete upon running - FileUtils.deleteQuietly(targetFile); - - //if the folder if empty, remove it too. other simultaneous requests might have deleted this folder before we get to it - if (parentDir != null && parentDir.exists()) - { - File[] children = parentDir.listFiles(); - if (children != null && children.length == 0 && !parentDir.equals(FileUtil.getTempDirectory())) - { - FileUtils.deleteQuietly(parentDir); //the Images folder - File parent = parentDir.getParentFile(); - FileUtils.deleteQuietly(parent); //the file's folder - - if (parent != null && parent.getParentFile() != null) - { - File[] children2 = parent.getParentFile().listFiles(); - if (children2 != null && children2.length == 0) - FileUtils.deleteQuietly(parent.getParentFile()); //the file's folder - } - } - } - } - } - - @RequiresPermission(ReadPermission.class) - @IgnoresTermsOfUse - public static class ConvertTextToFileAction extends ExportAction - { - @Override - public void export(ConvertTextToFileForm form, HttpServletResponse response, BindException errors) throws Exception - { - String text = form.getText(); - - if (text == null) - { - errors.reject(ERROR_MSG, "Need to provide text"); - return; - } - if (form.getFileName() == null) - { - errors.reject(ERROR_MSG, "Need to provide a filename"); - return; - } - - Map headers = new HashMap<>(); - - PageFlowUtil.prepareResponseForFile(response, headers, form.getFileName(), true); - response.getOutputStream().print(text); - } - } - @RequiresPermission(ReadPermission.class) public static class FindOrphanFilesAction extends ConfirmAction { @@ -1119,14 +1046,21 @@ public ApiResponse execute(ValidateReadsetImportForm form, BindException errors) if (form.getFileNames() != null) { //TODO: consider proper container?? - File root = PipelineService.get().findPipelineRoot(getContainer()).getRootPath(); - File base = root; + PipeRoot root = PipelineService.get().findPipelineRoot(getContainer()); + + if (null == root) + { + throw new PipelineJobException("Unable to find pipeline root for container: " + getContainer().getPath()); + } + + FileLike base = root.getRootFileLike(); + if (form.getPath() != null) - base = new File(base, form.getPath()); + base = base.resolveFile(new Path(form.getPath())); for (String fileName : form.getFileNames()) { - File f = new File(base, fileName); + File f = FileSystemLike.toFile(base.resolveChild(fileName)); ExpData data = ExperimentService.get().getExpDataByURL(f, getContainer()); if (data != null) { @@ -1137,7 +1071,7 @@ public ApiResponse execute(ValidateReadsetImportForm form, BindException errors) Map map = new HashMap<>(); map.put("fileName", fileName); map.put("filePath", f.getPath()); - map.put("relPath", FileUtil.relativePath(FileUtil.getAbsoluteCaseSensitiveFile(root).getPath(), FileUtil.getAbsoluteCaseSensitiveFile(f).getPath())); + map.put("relPath", FileUtil.relativePath(FileUtil.getAbsoluteCaseSensitiveFile(FileSystemLike.toFile(root.getRootFileLike())).getPath(), FileUtil.getAbsoluteCaseSensitiveFile(f).getPath())); map.put("container", getContainer().getId()); map.put("containerPath", getContainer().getPath()); String basename = SequenceTaskHelper.getUnzippedBaseName(fileName); @@ -1649,58 +1583,6 @@ public void setZipFileName(String zipFileName) } } - public static class ConvertTextToFileForm - { - private String _text; - private String _fileName; - - public String getText() - { - return _text; - } - - public void setText(String text) - { - _text = text; - } - - public String getFileName() - { - return _fileName; - } - - public void setFileName(String fileName) - { - _fileName = fileName; - } - } - - public static class TempImageAction - { - String _fileName; - String _directory; - - public String getFileName() - { - return _fileName; - } - - public void setFileName(String fileName) - { - _fileName = fileName; - } - - public String getDirectory() - { - return _directory; - } - - public void setDirectory(String directory) - { - _directory = directory; - } - } - public static class FastqcForm { private String[] _filenames; @@ -2320,7 +2202,15 @@ public Object execute(ImportFastaSequencesForm form, BindException errors) throw //resolve files List files = new ArrayList<>(); PipeRoot root = PipelineService.get().getPipelineRootSetting(getContainer()); - File baseDir = StringUtils.trimToNull(form.getPath()) == null ? root.getRootPath() : new File(root.getRootPath(), form.getPath()); + + if (root == null) + { + errors.reject(ERROR_MSG, "Pipeline root not configured"); + return null; + } + + FileLike baseDir = StringUtils.trimToNull(form.getPath()) == null ? root.getRootFileLike() : root.getRootFileLike().resolveFile(new Path(form.getPath())); + if (!baseDir.exists()) { errors.reject(ERROR_MSG, "Unable to find directory: " + baseDir.getPath()); @@ -2335,7 +2225,7 @@ public Object execute(ImportFastaSequencesForm form, BindException errors) throw for (String fn : form.getFileNames()) { - File f = new File(baseDir, fn); + File f = FileSystemLike.toFile(baseDir.resolveChild(fn)); if (f.exists()) { files.add(f); From 77aac8f23d93514b7fff46cacdb8787487664b3f Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Mon, 14 Apr 2025 15:49:54 -0700 Subject: [PATCH 10/34] Simplify and expand use of LinkBuilder factory methods (#351) --- .../DownloadSequenceDisplayColumnFactory.java | 3 +- .../query/GenbankDisplayColumnFactory.java | 3 +- .../query/SequenceAnalysisCustomizer.java | 12 +++---- .../query/SequenceAnalysisUserSchema.java | 36 ++++++++----------- 4 files changed, 25 insertions(+), 29 deletions(-) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/DownloadSequenceDisplayColumnFactory.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/DownloadSequenceDisplayColumnFactory.java index b5cd00bd6..86e8ec9a3 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/DownloadSequenceDisplayColumnFactory.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/DownloadSequenceDisplayColumnFactory.java @@ -7,6 +7,7 @@ import org.labkey.api.data.DisplayColumnFactory; import org.labkey.api.data.RenderContext; import org.labkey.api.query.FieldKey; +import org.labkey.api.util.LinkBuilder; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.HttpView; import org.labkey.api.view.template.ClientDependency; @@ -40,7 +41,7 @@ public DisplayColumn createRenderer(ColumnInfo colInfo) public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { Integer val = ctx.get(FieldKey.fromString(getBoundColumn().getFieldKey().getParent(), "rowId"), Integer.class); - out.write(PageFlowUtil.link("Download Sequence"). + out.write(LinkBuilder.labkeyLink("Download Sequence"). attributes(Map.of("data-rowid", val.toString())). addClass("sdc-row")); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/GenbankDisplayColumnFactory.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/GenbankDisplayColumnFactory.java index f35de5fa6..d3fe19645 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/GenbankDisplayColumnFactory.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/GenbankDisplayColumnFactory.java @@ -5,6 +5,7 @@ import org.labkey.api.data.DisplayColumn; import org.labkey.api.data.DisplayColumnFactory; import org.labkey.api.data.RenderContext; +import org.labkey.api.util.LinkBuilder; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.util.URLHelper; import org.labkey.api.writer.HtmlWriter; @@ -38,7 +39,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) for (String v : vals) { out.write(delim); - out.write(PageFlowUtil.link(v).href(getFormattedURL(v)).clearClasses()); + out.write(LinkBuilder.simpleLink(v, getFormattedURL(v))); delim = "; "; } } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisCustomizer.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisCustomizer.java index d19a0b445..65261456c 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisCustomizer.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisCustomizer.java @@ -28,6 +28,7 @@ import org.labkey.api.security.User; import org.labkey.api.util.HtmlString; import org.labkey.api.util.HtmlStringBuilder; +import org.labkey.api.util.LinkBuilder; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.ActionURL; import org.labkey.api.view.HttpView; @@ -277,20 +278,19 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) url.addParameter("query.fileSets~contains", token); out.write(delim); - out.write(PageFlowUtil.link(token, url).clearClasses()); + out.write(LinkBuilder.simpleLink(token, url)); delim = COMMA_NEWLINE; } } - out.write(PageFlowUtil.link(""). - clearClasses(). + out.write(LinkBuilder.simpleLink(""). addClass("fa fa-pencil"). addClass("lk-dr-action-icon"). addClass("sfs-row"). attributes(PageFlowUtil.map( - "data-tt", "tooltip", - "data-rowid", rowId.toString(), - "data-original-title", "add/edit" + "data-tt", "tooltip", + "data-rowid", rowId.toString(), + "data-original-title", "add/edit" )) ); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisUserSchema.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisUserSchema.java index 27aa00773..aa54bf6ac 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisUserSchema.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisUserSchema.java @@ -32,6 +32,7 @@ import org.labkey.api.security.User; import org.labkey.api.sequenceanalysis.pipeline.SequenceOutputHandler; import org.labkey.api.util.HtmlString; +import org.labkey.api.util.LinkBuilder; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.ActionURL; import org.labkey.api.writer.HtmlWriter; @@ -251,30 +252,23 @@ private TableInfo createReadsetsTable(TableInfo sourceTable, ContainerFilter cf) newCol.setShownInInsertView(false); newCol.setShownInUpdateView(false); newCol.setCalculated(true); - newCol.setDisplayColumnFactory(new DisplayColumnFactory() + newCol.setDisplayColumnFactory(colInfo -> new DataColumn(colInfo) { @Override - public DisplayColumn createRenderer(ColumnInfo colInfo) + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { - return new DataColumn(colInfo) + Object o = getValue(ctx); + if (o != null) { - @Override - public void renderGridCellContents(RenderContext ctx, HtmlWriter out) - { - Object o = getValue(ctx); - if (o != null) - { - ActionURL url = QueryService.get().urlFor(getUser(), ctx.getContainer(), QueryAction.executeQuery, SequenceAnalysisSchema.SCHEMA_NAME, SequenceAnalysisSchema.TABLE_READ_DATA); - url.addFilter("query", FieldKey.fromString("readset"), CompareType.EQUAL, o); - - out.write(PageFlowUtil.link("View File(s)", url)); - } - else - { - out.write("No Files"); - } - } - }; + ActionURL url = QueryService.get().urlFor(getUser(), ctx.getContainer(), QueryAction.executeQuery, SequenceAnalysisSchema.SCHEMA_NAME, SequenceAnalysisSchema.TABLE_READ_DATA); + url.addFilter("query", FieldKey.fromString("readset"), CompareType.EQUAL, o); + + out.write(LinkBuilder.labkeyLink("View File(s)", url)); + } + else + { + out.write("No Files"); + } } }); ret.addColumn(newCol); @@ -458,7 +452,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) ActionURL url = DetailsURL.fromString(_baseUrl + PageFlowUtil.encode(token), ctx.getContainer()).getActionURL(); out.write(delim); - out.write(PageFlowUtil.link(token, url).clearClasses()); + out.write(LinkBuilder.simpleLink(token, url)); delim = HtmlString.BR; } } From 0c15b150c96416b0ceaecb58e24a5b7a35c51ba2 Mon Sep 17 00:00:00 2001 From: Susan Hert Date: Wed, 4 Jun 2025 07:35:54 -0700 Subject: [PATCH 11/34] Issue 52824: Don't mutate domains from the cache (#353) --- .../src/org/labkey/discvrcore/AuditSummaryUserSchema.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/discvrcore/src/org/labkey/discvrcore/AuditSummaryUserSchema.java b/discvrcore/src/org/labkey/discvrcore/AuditSummaryUserSchema.java index 92df1507d..afbf634b6 100644 --- a/discvrcore/src/org/labkey/discvrcore/AuditSummaryUserSchema.java +++ b/discvrcore/src/org/labkey/discvrcore/AuditSummaryUserSchema.java @@ -19,6 +19,7 @@ import org.labkey.api.data.SimpleFilter; import org.labkey.api.data.TableInfo; import org.labkey.api.data.TableSelector; +import org.labkey.api.exp.property.Domain; import org.labkey.api.exp.property.DomainProperty; import org.labkey.api.module.Module; import org.labkey.api.module.ModuleLoader; @@ -201,10 +202,11 @@ private Dataset createDataset(String name, boolean isDemographics) throws Except Dataset d1 = StudyService.get().createDataset(getContainer(true), TestContext.get().getUser(), name, null, isDemographics); d1.setKeyManagementType(Dataset.KeyManagementType.GUID); d1.setKeyPropertyName("objectId"); - DomainProperty objectId1 = d1.getDomain().addProperty(); + Domain domain = d1.getDomain(true); + DomainProperty objectId1 = domain.addProperty(); objectId1.setName("objectId"); objectId1.setPropertyURI(AuditSummaryUserSchema.class.getName() + ":ObjectId"); - d1.getDomain().save(TestContext.get().getUser()); + domain.save(TestContext.get().getUser()); d1.save(TestContext.get().getUser()); return d1; From c9fbe4a94ec0b090b31e82c12eaa93034d1c3bb0 Mon Sep 17 00:00:00 2001 From: Josh Eckels Date: Tue, 10 Jun 2025 16:35:59 -0700 Subject: [PATCH 12/34] Minor auto-refactor code cleanup on a massive scale (#354) * Minor auto-refactor code cleanup on a massive scale * Remove unnecessary cast --- .../openldapsync/OpenLdapSyncController.java | 12 +++++----- .../labkey/openldapsync/ldap/LdapEntry.java | 4 ++-- .../openldapsync/ldap/LdapSettings.java | 3 +-- .../openldapsync/ldap/LdapSyncRunner.java | 3 +-- .../QueryExtensionsController.java | 7 ------ .../queryextensions/QueryExtensionsTest.java | 2 +- .../api/sequenceanalysis/GenomeTrigger.java | 1 - .../SequenceAnalysisService.java | 6 ++--- .../AbstractPipelineStepProvider.java | 3 +-- .../pipeline/AlignerIndexUtil.java | 4 ---- .../pipeline/AlignmentStep.java | 3 --- .../pipeline/AnalysisStep.java | 1 - .../pipeline/AssemblyStep.java | 1 - .../pipeline/CommandLineParam.java | 2 +- .../pipeline/PipelineOutputTracker.java | 8 ------- .../pipeline/PipelineStepOutput.java | 7 ------ .../pipeline/ProcessUtils.java | 1 - .../pipeline/SamtoolsIndexer.java | 1 - .../pipeline/SamtoolsRunner.java | 1 - .../pipeline/SequenceOutputHandler.java | 15 ------------ .../pipeline/SequencePipelineService.java | 5 ---- .../pipeline/SortSamWrapper.java | 1 - .../pipeline/TaskFileManager.java | 2 +- .../pipeline/ToolParameterDescriptor.java | 1 - .../run/AbstractCommandWrapper.java | 4 ++-- .../run/AbstractDiscvrSeqWrapper.java | 1 - .../run/AbstractGatkWrapper.java | 4 ---- .../sequenceanalysis/run/CommandWrapper.java | 2 -- .../run/GeneToNameTranslator.java | 1 - .../sequenceanalysis/run/PicardWrapper.java | 2 -- .../run/SelectVariantsWrapper.java | 1 - .../run/SimpleScriptWrapper.java | 1 - .../run/VariantFiltrationWrapper.java | 1 - .../labkey/sequenceanalysis/FileGroup.java | 1 - .../OutputIntegrationTests.java | 4 +--- .../SequenceAnalysisController.java | 18 +++++++------- .../SequenceAnalysisManager.java | 3 +-- .../SequenceAnalysisModule.java | 22 ++++++++--------- .../SequenceAnalysisSchema.java | 1 - .../SequenceIntegrationTests.java | 15 ++++-------- .../SequenceOutputsNavItem.java | 2 +- .../AbstractCombineGeneCountsHandler.java | 2 +- .../analysis/BamHaplotypeHandler.java | 2 +- .../CombineSubreadGeneCountsHandler.java | 2 +- .../analysis/CompareVariantsHandler.java | 3 +-- .../analysis/GenotypeGVCFHandler.java | 4 ++-- .../analysis/LiftoverHandler.java | 4 ++-- .../analysis/MultiQCBamHandler.java | 1 - .../analysis/MultiQCHandler.java | 1 - .../analysis/SbtGeneCountHandler.java | 1 - .../UnmappedSequenceBasedGenotypeHandler.java | 3 +-- .../api/picard/CigarPositionIterable.java | 2 +- .../button/ArchiveReadsetsButton.java | 2 -- .../button/ChangeReadsetStatusButton.java | 1 - .../ChangeReadsetStatusForAnalysesButton.java | 1 - .../button/ReprocessLibraryButton.java | 1 - .../model/UnderscoreBeanObjectFactory.java | 1 - .../pipeline/AlignmentAnalysisJob.java | 3 +-- .../pipeline/AlignmentImportInitTask.java | 1 - .../pipeline/AlignmentImportJob.java | 1 - .../pipeline/AlignmentImportTask.java | 3 +-- .../pipeline/AlignmentInitTask.java | 1 - .../pipeline/AlignmentNormalizationTask.java | 1 - .../pipeline/CacheAlignerIndexesTask.java | 1 - .../pipeline/CacheGenomePipelineJob.java | 1 - .../pipeline/ConvertToCramHandler.java | 2 +- .../pipeline/CreateReferenceLibraryTask.java | 5 ++-- .../pipeline/IlluminaFastqSplitter.java | 3 +-- .../pipeline/IlluminaImportJob.java | 1 - .../pipeline/IlluminaImportTask.java | 5 ++-- .../pipeline/IlluminaReadsetCreationTask.java | 1 - .../pipeline/ImportFastaSequencesTask.java | 1 - .../ImportGenomeTrackPipelineJob.java | 2 -- .../pipeline/ImportGenomeTrackTask.java | 14 +++++------ .../pipeline/JobContextImpl.java | 1 + .../pipeline/OrphanFilePipelineJob.java | 2 +- .../pipeline/PipelineStepCtxImpl.java | 2 +- .../pipeline/PrepareAlignerIndexesTask.java | 1 - .../pipeline/ProcessVariantsHandler.java | 1 - .../pipeline/ReadsetCreationTask.java | 2 +- .../pipeline/ReadsetImportJob.java | 1 - .../pipeline/ReblockGvcfHandler.java | 2 +- .../pipeline/SequenceAlignmentJob.java | 2 +- .../pipeline/SequenceConcatTask.java | 6 +---- .../pipeline/SequenceJobSupportImpl.java | 1 - .../pipeline/SequenceNormalizationTask.java | 8 +++---- .../pipeline/SequenceOutputHandlerJob.java | 4 +++- .../SequenceOutputHandlerRemoteTask.java | 1 - .../pipeline/SequenceTaskHelper.java | 1 + .../pipeline/TaskFileManagerImpl.java | 2 +- .../pipeline/VariantProcessingJob.java | 1 - .../VariantProcessingRemoteMergeTask.java | 1 - .../DownloadSequenceDisplayColumnFactory.java | 1 - .../query/GenbankDisplayColumnFactory.java | 5 ---- .../query/SequenceAnalysisUserSchema.java | 2 +- .../query/SequenceTriggerHelper.java | 4 ++-- .../sequenceanalysis/run/MultiQcRunner.java | 1 - .../run/alignment/BWAMem2Wrapper.java | 10 -------- .../run/alignment/BWASWWrapper.java | 1 - .../run/alignment/FastaToTwoBitRunner.java | 1 - .../run/alignment/FastqCollapser.java | 1 - .../run/alignment/ParagraphStep.java | 2 +- .../run/alignment/StarWrapper.java | 8 +++---- .../run/alignment/VulcanWrapper.java | 1 - .../run/analysis/AASnpByCodonAggregator.java | 4 ++-- .../run/analysis/AASnpByReadAggregator.java | 2 +- .../analysis/AbstractAlignmentAggregator.java | 4 +--- .../analysis/AvgBaseQualityAggregator.java | 2 +- .../run/analysis/BamIterator.java | 5 ++-- .../ExportOverlappingReadsAnalysis.java | 4 ++-- .../run/analysis/MergeLoFreqVcfHandler.java | 2 +- .../run/analysis/NextCladeHandler.java | 8 +++---- .../run/analysis/NtCoverageAggregator.java | 5 ++-- .../run/analysis/NtSnpByPosAggregator.java | 2 -- .../run/analysis/PARalyzerAnalysis.java | 1 - .../run/analysis/PindelAnalysis.java | 4 ++-- ...equenceBasedTypingAlignmentAggregator.java | 10 ++++---- .../analysis/SequenceBasedTypingAnalysis.java | 3 +-- .../run/analysis/SnpCountAnalysis.java | 5 ++-- .../analysis/UnmappedReadExportAnalysis.java | 1 - .../run/assembly/TrinityRunner.java | 1 - .../ClipOverlappingAlignmentsWrapper.java | 1 - .../DiscardUnmappedReadsStep.java | 6 ----- .../bampostprocessing/IndelRealignerStep.java | 3 --- .../BlastFilterPipelineStep.java | 2 +- .../run/preprocessing/CutadaptWrapper.java | 1 - .../preprocessing/DownsampleFastqWrapper.java | 1 - .../run/preprocessing/SeqtkRunner.java | 1 - .../run/preprocessing/Sff2FastqRunner.java | 3 --- .../run/preprocessing/TrimmomaticWrapper.java | 6 ++--- .../sequenceanalysis/run/util/AASnp.java | 2 +- .../util/AbstractGenomicsDBImportHandler.java | 2 +- .../run/util/BlastNWrapper.java | 1 - ...tWgsMetricsWithNonZeroCoverageWrapper.java | 1 - .../run/util/CombineGVCFsHandler.java | 2 +- .../run/util/CombineGVCFsWrapper.java | 1 - .../run/util/DepthOfCoverageWrapper.java | 1 - .../run/util/DownsampleSamWrapper.java | 1 - .../EstimateLibraryComplexityWrapper.java | 1 - .../run/util/FastaIndexer.java | 1 - .../run/util/FastqToSamWrapper.java | 1 - .../run/util/FastqcRunner.java | 2 -- .../run/util/FixMateInformationWrapper.java | 1 - .../run/util/FlagStatRunner.java | 1 - .../run/util/FlashWrapper.java | 1 - .../run/util/GFFReadWrapper.java | 4 +--- .../run/util/IdxStatsRunner.java | 1 - .../run/util/ImmunoGenotypingWrapper.java | 1 - .../run/util/LiftoverVcfWrapper.java | 2 -- .../MarkDuplicatesWithMateCigarWrapper.java | 1 - .../run/util/MergeBamAlignmentWrapper.java | 2 +- .../run/util/MultiAllelicPositionWrapper.java | 1 - .../sequenceanalysis/run/util/NTSnp.java | 3 --- .../run/util/PARalyzerRunner.java | 3 +-- .../run/util/RnaSeQCWrapper.java | 1 - .../run/util/SFFExtractRunner.java | 1 - .../run/util/SamFormatConverterWrapper.java | 1 - .../run/util/SortVcfWrapper.java | 1 - .../run/util/SplitNCigarReadsWrapper.java | 1 - .../run/util/TabixRunner.java | 1 - .../run/util/VariantEvalWrapper.java | 1 - .../run/variant/DepthOfCoverageHandler.java | 8 +++---- .../run/variant/GenotypeConcordanceStep.java | 2 +- .../variant/MultiAllelicPositionsHandler.java | 8 +++---- .../run/variant/SnpEffWrapper.java | 1 - .../run/variant/SplitVcfBySamplesStep.java | 1 - .../run/variant/VariantQCWrapper.java | 1 - .../util/AbstractSequenceMatcher.java | 13 +++++----- .../sequenceanalysis/util/Barcoder.java | 21 ++++++++-------- .../util/ChainFileValidator.java | 24 +++++++++---------- .../util/CreateUnalignedFastq.java | 1 - .../util/FastaToFastqConverter.java | 1 - .../sequenceanalysis/util/FastqMerger.java | 1 - .../util/FastqToFastaConverter.java | 1 - .../sequenceanalysis/util/FastqUtils.java | 1 - .../util/MultiFeatureIterator.java | 4 ++-- .../util/ReferenceLibraryHelperImpl.java | 3 +-- .../util/TranslatingReferenceSequence.java | 10 ++++---- .../external/labModules/SequenceTest.java | 5 ++-- .../test/tests/studies/StudiesTest.java | 2 +- .../src/org/labkey/blast/BLASTController.java | 14 +++++------ .../labkey/blast/BLASTMaintenanceTask.java | 1 - .../org/labkey/blast/BLASTUpgradeCode.java | 4 ---- .../org/labkey/blast/BlastGenomeTrigger.java | 1 - .../blast/button/CreateDatabaseButton.java | 1 - .../src/org/labkey/blast/model/BlastJob.java | 2 +- .../blast/pipeline/BlastDatabaseTask.java | 1 - .../labkey/blast/pipeline/BlastFinalTask.java | 4 ---- .../labkey/blast/pipeline/BlastWorkTask.java | 1 - .../labkey/api/cluster/ClusterService.java | 1 - .../org/labkey/cluster/ClusterController.java | 4 ++-- .../AbstractClusterExecutionEngine.java | 1 - .../HTCondorExecutionEngineConfig.java | 5 ---- .../pipeline/SlurmExecutionEngine.java | 4 ++-- .../org/labkey/cluster/pipeline/TestCase.java | 2 +- .../discvrcore/AuditSummaryUserSchema.java | 8 +++---- .../test/tests/discvrcore/DiscvrCoreTest.java | 4 +--- .../api/jbrowse/JBrowseFieldCustomizer.java | 6 ++--- .../api/jbrowse/JBrowseFieldDescriptor.java | 2 +- .../labkey/jbrowse/JBrowseGenomeTrigger.java | 1 - .../labkey/jbrowse/JBrowseLuceneSearch.java | 4 ++-- .../org/labkey/jbrowse/JBrowseManager.java | 4 +--- .../jbrowse/JBrowseSequenceOutputHandler.java | 3 +-- .../labkey/jbrowse/JBrowseServiceImpl.java | 4 ---- .../labkey/jbrowse/button/AddDataButton.java | 1 - .../jbrowse/button/AddLibraryButton.java | 1 - .../labkey/jbrowse/button/AddTrackButton.java | 1 - .../button/ModifyTrackConfigButton.java | 1 - .../button/ReprocessResourcesButton.java | 1 - .../button/ReprocessSessionsButton.java | 1 - .../labkey/jbrowse/model/JBrowseSession.java | 1 - .../jbrowse/pipeline/JBrowseSessionTask.java | 1 - .../external/labModules/JBrowseTest.java | 20 ++++++++-------- .../labModules/JBrowseTestHelper.java | 1 - .../singlecell/pipeline/SingleCellStep.java | 13 ---------- .../singlecell/CellHashingServiceImpl.java | 2 +- .../analysis/AbstractSingleCellHandler.java | 1 - .../pipeline/singlecell/AppendCiteSeq.java | 2 +- .../pipeline/singlecell/AppendMetadata.java | 1 - .../pipeline/singlecell/AppendSaturation.java | 1 - .../pipeline/singlecell/AppendTcr.java | 1 - .../CalculateGeneComponentScores.java | 1 - .../pipeline/singlecell/CiteSeqPlots.java | 1 - .../pipeline/singlecell/ClearCommands.java | 1 - .../pipeline/singlecell/CustomUCell.java | 1 - .../pipeline/singlecell/DietSeurat.java | 1 - .../pipeline/singlecell/DimPlots.java | 1 - .../pipeline/singlecell/DoubletFinder.java | 1 - .../pipeline/singlecell/DropAssays.java | 1 - .../pipeline/singlecell/DropCiteSeq.java | 1 - .../pipeline/singlecell/FeaturePlots.java | 1 - .../singlecell/FindClustersAndDimRedux.java | 1 - .../pipeline/singlecell/PhenotypePlots.java | 1 - .../singlecell/PlotAssayFeatures.java | 1 - .../pipeline/singlecell/PredictScTour.java | 3 --- .../pipeline/singlecell/RunEscape.java | 1 - .../pipeline/singlecell/RunLDA.java | 2 +- .../pipeline/singlecell/RunPCA.java | 1 - .../pipeline/singlecell/RunPHATE.java | 1 - .../pipeline/singlecell/RunSDA.java | 3 +-- .../pipeline/singlecell/RunTricycle.java | 2 -- .../pipeline/singlecell/RunVision.java | 3 +-- .../pipeline/singlecell/SubsetSeurat.java | 1 - .../pipeline/singlecell/TcrFilter.java | 1 - .../singlecell/UpdateSeuratPrototype.java | 1 - .../run/CellRangerFeatureBarcodeHandler.java | 3 +-- .../singlecell/run/CellRangerVDJWrapper.java | 1 - .../run/RepeatNimbleReportHandler.java | 2 +- .../test/tests/singlecell/SingleCellTest.java | 4 +--- 249 files changed, 222 insertions(+), 521 deletions(-) diff --git a/OpenLdapSync/src/org/labkey/openldapsync/OpenLdapSyncController.java b/OpenLdapSync/src/org/labkey/openldapsync/OpenLdapSyncController.java index 07c1bdeb6..3922cba86 100644 --- a/OpenLdapSync/src/org/labkey/openldapsync/OpenLdapSyncController.java +++ b/OpenLdapSync/src/org/labkey/openldapsync/OpenLdapSyncController.java @@ -57,7 +57,7 @@ public OpenLdapSyncController() } @RequiresPermission(AdminOperationsPermission.class) - public class InitiateLdapSyncAction extends MutatingApiAction + public static class InitiateLdapSyncAction extends MutatingApiAction { @Override public ApiResponse execute(InitiateLdapSyncForm form, BindException errors) throws Exception @@ -100,7 +100,7 @@ public void setForPreview(boolean forPreview) } @RequiresPermission(AdminPermission.class) - public class ListLdapGroupsAction extends ReadOnlyApiAction + public static class ListLdapGroupsAction extends ReadOnlyApiAction { @Override public ApiResponse execute(LdapForm form, BindException errors) throws Exception @@ -495,7 +495,7 @@ public void setMemberSyncMode(String memberSyncMode) } @RequiresPermission(AdminOperationsPermission.class) - public class TestLdapConnectionAction extends MutatingApiAction + public static class TestLdapConnectionAction extends MutatingApiAction { @Override public ApiResponse execute(Object form, BindException errors) throws Exception @@ -545,7 +545,7 @@ public ApiResponse execute(Object form, BindException errors) throws Exception } @RequiresPermission(AdminOperationsPermission.class) - public class GetLdapSettingsAction extends ReadOnlyApiAction + public static class GetLdapSettingsAction extends ReadOnlyApiAction { @Override public ApiResponse execute(Object form, BindException errors) @@ -569,7 +569,7 @@ public ApiResponse execute(Object form, BindException errors) @Marshal(Marshaller.Jackson) @RequiresPermission(AdminOperationsPermission.class) - public class SetLdapSettingsAction extends MutatingApiAction + public static class SetLdapSettingsAction extends MutatingApiAction { @Override public ApiResponse execute(LdapForm form, BindException errors) @@ -668,7 +668,7 @@ public ApiResponse execute(LdapForm form, BindException errors) if (form.getSyncMode() != null) props.put(LdapSettings.SYNC_MODE_PROP, form.getSyncMode()); - if (form.getAllowedDn() != null && form.getAllowedDn().length() > 0) + if (form.getAllowedDn() != null && !form.getAllowedDn().isEmpty()) { String allowed = StringUtils.join(form.getAllowedDn().toList(), LdapSettings.DELIM); props.put(LdapSettings.ALLOWED_DN_PROP, allowed); diff --git a/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapEntry.java b/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapEntry.java index 91bd18986..ff220b674 100644 --- a/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapEntry.java +++ b/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapEntry.java @@ -75,8 +75,8 @@ public boolean isEnabled() try { - Integer value = Integer.parseInt(a); - return (value.intValue() & 2) == 0; + int value = Integer.parseInt(a); + return (value & 2) == 0; } catch (NumberFormatException e) { diff --git a/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSettings.java b/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSettings.java index 3bb0dca29..0d1761826 100644 --- a/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSettings.java +++ b/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSettings.java @@ -466,7 +466,6 @@ public Integer getFrequency() /** * Provides a brief sanity check of the settings, designed to identify problems if a sync will run. - * @throws LdapException */ public void validateSettings() throws LdapException { @@ -495,7 +494,7 @@ public void validateSettings() throws LdapException if (LdapSyncMode.groupWhitelist.equals(mode)) { - if (getGroupWhiteList().size() == 0) + if (getGroupWhiteList().isEmpty()) { throw new LdapException("Cannot choose to sync based on specific groups unless you provide a list of groups to sync"); } diff --git a/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncRunner.java b/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncRunner.java index 20615a8be..a30d76960 100644 --- a/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncRunner.java +++ b/OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncRunner.java @@ -14,7 +14,6 @@ import org.labkey.api.data.Container; import org.labkey.api.data.ContainerManager; import org.labkey.api.data.RuntimeSQLException; -import org.labkey.api.data.Selector; import org.labkey.api.data.SimpleFilter; import org.labkey.api.data.Table; import org.labkey.api.data.TableInfo; @@ -1058,7 +1057,7 @@ public void testIndividualOperations() throws Exception } // This can be used to return LdapEntry objects to support some degree of automated testing without needing a functional LDAP Server - public class DummyConnectionWrapper extends LdapConnectionWrapper + public static class DummyConnectionWrapper extends LdapConnectionWrapper { private final List _users = new ArrayList<>(); private final Map _groupMap = new HashMap<>(); diff --git a/QueryExtensions/src/org/labkey/queryextensions/QueryExtensionsController.java b/QueryExtensions/src/org/labkey/queryextensions/QueryExtensionsController.java index 95772162d..dfeccbf2d 100644 --- a/QueryExtensions/src/org/labkey/queryextensions/QueryExtensionsController.java +++ b/QueryExtensions/src/org/labkey/queryextensions/QueryExtensionsController.java @@ -16,14 +16,7 @@ package org.labkey.queryextensions; -import org.labkey.api.action.SimpleViewAction; import org.labkey.api.action.SpringActionController; -import org.labkey.api.security.RequiresPermission; -import org.labkey.api.security.permissions.ReadPermission; -import org.labkey.api.view.JspView; -import org.labkey.api.view.NavTree; -import org.springframework.validation.BindException; -import org.springframework.web.servlet.ModelAndView; public class QueryExtensionsController extends SpringActionController { diff --git a/QueryExtensions/test/src/org/labkey/test/tests/queryextensions/QueryExtensionsTest.java b/QueryExtensions/test/src/org/labkey/test/tests/queryextensions/QueryExtensionsTest.java index 9065c8158..1991e71c1 100644 --- a/QueryExtensions/test/src/org/labkey/test/tests/queryextensions/QueryExtensionsTest.java +++ b/QueryExtensions/test/src/org/labkey/test/tests/queryextensions/QueryExtensionsTest.java @@ -39,7 +39,7 @@ protected void doCleanup(boolean afterTest) throws TestTimeoutException @BeforeClass public static void setupProject() { - QueryExtensionsTest init = (QueryExtensionsTest)getCurrentTest(); + QueryExtensionsTest init = getCurrentTest(); init.doSetup(); } diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/GenomeTrigger.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/GenomeTrigger.java index 13fc2a48a..4e571e041 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/GenomeTrigger.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/GenomeTrigger.java @@ -16,7 +16,6 @@ package org.labkey.api.sequenceanalysis; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.data.Container; import org.labkey.api.security.User; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java index b718f7588..924b5b666 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java @@ -113,10 +113,10 @@ static public void setInstance(SequenceAnalysisService instance) abstract public void registerReadsetListener(ReadsetListener listener); - public static interface ReadsetListener + public interface ReadsetListener { - public void onReadsetCreate(User u, Readset rs, @Nullable Readset replacedReadset, @Nullable PipelineJob job); + void onReadsetCreate(User u, Readset rs, @Nullable Readset replacedReadset, @Nullable PipelineJob job); - public boolean isAvailable(Container c, User u); + boolean isAvailable(Container c, User u); } } diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AbstractPipelineStepProvider.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AbstractPipelineStepProvider.java index 36af24665..8cafb83eb 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AbstractPipelineStepProvider.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AbstractPipelineStepProvider.java @@ -20,7 +20,6 @@ import org.json.JSONObject; import org.labkey.api.view.template.ClientDependency; -import java.lang.reflect.ParameterizedType; import java.util.Collection; import java.util.Collections; import java.util.LinkedHashSet; @@ -39,7 +38,7 @@ abstract public class AbstractPipelineStepProvider _clientDependencyPaths; - private List _parameters; + private final List _parameters; public AbstractPipelineStepProvider(String name, String label, @Nullable String toolName, String description, @Nullable List parameters, @Nullable Collection clientDependencyPaths, @Nullable String websiteURL) { diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AlignerIndexUtil.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AlignerIndexUtil.java index 1e55f7e1a..5b86a99d7 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AlignerIndexUtil.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AlignerIndexUtil.java @@ -1,17 +1,13 @@ package org.labkey.api.sequenceanalysis.pipeline; import org.apache.commons.io.FileUtils; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.data.ConvertHelper; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.pipeline.WorkDirectory; -import org.labkey.api.sequenceanalysis.run.SimpleScriptWrapper; import java.io.File; import java.io.IOException; -import java.util.Arrays; /** * Created by bimber on 9/6/2014. diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AlignmentStep.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AlignmentStep.java index bef8780a3..672bf202e 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AlignmentStep.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AlignmentStep.java @@ -35,7 +35,6 @@ public interface AlignmentStep extends PipelineStep { /** * Creates any indexes needed by this aligner if not already present. - * @throws PipelineJobException */ IndexOutput createIndex(ReferenceGenome referenceGenome, File outputDir) throws PipelineJobException; @@ -49,7 +48,6 @@ default String getIndexCachedDirName(PipelineJob job) * @param inputFastqs1 The forward FASTQ file(s). In most cases this is a single FASTQ. The aligner must return true for canAlignMultiplePairsAtOnce() otherwise. * @param inputFastqs2 The second FASTQ(s), if using paired end data * @param basename The basename to use as the output - * @throws PipelineJobException */ AlignmentOutput performAlignment(Readset rs, List inputFastqs1, @Nullable List inputFastqs2, File outputDirectory, ReferenceGenome referenceGenome, String basename, String readGroupId, @Nullable String platformUnit) throws PipelineJobException; @@ -102,7 +100,6 @@ interface AlignmentOutput extends PipelineStepOutput /** * Optional. Allows this analysis to gather any information from the server required to execute the alignment. This information needs to be serialized * to run remotely, which could be as simple as writing to a text file. - * @throws PipelineJobException */ default void init(SequenceAnalysisJobSupport support) throws PipelineJobException { diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AnalysisStep.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AnalysisStep.java index dbf7ee5be..1fca4f975 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AnalysisStep.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AnalysisStep.java @@ -31,7 +31,6 @@ public interface AnalysisStep extends PipelineStep /** * Optional. Allows this analysis to gather any information from the server required to execute the analysis. This information needs to be serialized * to run remotely, which could be as simple as writing to a text file. - * @throws PipelineJobException */ default void init(SequenceAnalysisJobSupport support) throws PipelineJobException { diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AssemblyStep.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AssemblyStep.java index ee29bda65..f2cd990c4 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AssemblyStep.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AssemblyStep.java @@ -3,7 +3,6 @@ import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.model.Readset; -import org.labkey.api.util.Pair; import java.io.File; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/CommandLineParam.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/CommandLineParam.java index 030c67df1..446a32858 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/CommandLineParam.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/CommandLineParam.java @@ -29,7 +29,7 @@ public class CommandLineParam { private final String _argName; - protected boolean _isSwitch = false; + protected boolean _isSwitch; private CommandLineParam(String argName, boolean isSwitch) { diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineOutputTracker.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineOutputTracker.java index 5d2c61d95..b535eb9c0 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineOutputTracker.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineOutputTracker.java @@ -9,7 +9,6 @@ public interface PipelineOutputTracker { /** * Add an intermediate file. If the user selected 'delete intermediates', this will be deleted on job success. - * @param file */ void addIntermediateFile(File file); @@ -17,13 +16,6 @@ public interface PipelineOutputTracker /** * Add a SequenceOutputFile for this job. These files are tracked and displayed through the browser UI. - * @param file - * @param label - * @param category - * @param readsetId - * @param analysisId - * @param genomeId - * @param description */ void addSequenceOutput(File file, String label, String category, @Nullable Integer readsetId, @Nullable Integer analysisId, @Nullable Integer genomeId, @Nullable String description); diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineStepOutput.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineStepOutput.java index e80fc80b4..92aaad56b 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineStepOutput.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineStepOutput.java @@ -16,7 +16,6 @@ package org.labkey.api.sequenceanalysis.pipeline; import org.jetbrains.annotations.Nullable; -import org.labkey.api.sequenceanalysis.model.Readset; import org.labkey.api.util.Pair; import java.io.File; @@ -34,15 +33,11 @@ public interface PipelineStepOutput extends PipelineOutputTracker { /** * Add an experiment input to this pipeline step - * @param input - * @param role */ void addInput(File input, String role); /** * Add an experiment output to this pipeline step - * @param output - * @param role */ void addOutput(File output, String role); @@ -65,8 +60,6 @@ public interface PipelineStepOutput extends PipelineOutputTracker /** * Add an intermediate file. If the user selected 'delete intermediates', this will be deleted on job success. * This will also be recorded as a step output with this role. - * @param file - * @param role */ void addIntermediateFile(File file, String role); diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/ProcessUtils.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/ProcessUtils.java index 5064c2398..c3c45f56a 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/ProcessUtils.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/ProcessUtils.java @@ -3,7 +3,6 @@ import org.apache.commons.io.IOUtils; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.util.StringUtilsLabKey; import java.io.BufferedInputStream; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SamtoolsIndexer.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SamtoolsIndexer.java index 0aa93644f..2224fd55f 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SamtoolsIndexer.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SamtoolsIndexer.java @@ -1,7 +1,6 @@ package org.labkey.api.sequenceanalysis.pipeline; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.pipeline.PipelineJobException; import java.io.File; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SamtoolsRunner.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SamtoolsRunner.java index 42b8f9e8b..2e64a32a5 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SamtoolsRunner.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SamtoolsRunner.java @@ -1,7 +1,6 @@ package org.labkey.api.sequenceanalysis.pipeline; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.sequenceanalysis.run.AbstractCommandWrapper; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequenceOutputHandler.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequenceOutputHandler.java index 1f9645621..f8448a485 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequenceOutputHandler.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequenceOutputHandler.java @@ -136,7 +136,6 @@ default boolean isVisible() /** * Provides the opportunity for the handler to validate parameters prior to running - * @param params * @return List of error messages. Null or empty list indicates no errors. */ default List validateParameters(List outputFiles, JSONObject params) @@ -174,8 +173,6 @@ interface SequenceOutputProcessor extends SequenceProcessor * Allows handlers to perform setup on the webserver prior to remote running. This will be run in the background as a pipeline job. * @param ctx Provides context about the active pipeline job * @param inputFiles The list of input files to process - * @param actions - * @param outputsToCreate */ default void init(JobContext ctx, List inputFiles, List actions, List outputsToCreate) throws UnsupportedOperationException, PipelineJobException { @@ -189,10 +186,6 @@ default void init(JobContext ctx, List inputFiles, List inputFiles, JSONObject params, File outputDir, List actions, List outputsToCreate) throws UnsupportedOperationException, PipelineJobException; @@ -211,10 +204,6 @@ interface SequenceReadsetProcessor extends SequenceProcessor * @param job The pipeline job running this task * @param support Provides context about the active pipeline job * @param readsets The list of readsets to process - * @param params - * @param outputDir - * @param actions - * @param outputsToCreate */ void init(PipelineJob job, SequenceAnalysisJobSupport support, List readsets, JSONObject params, File outputDir, List actions, List outputsToCreate) throws UnsupportedOperationException, PipelineJobException; @@ -222,10 +211,6 @@ interface SequenceReadsetProcessor extends SequenceProcessor * * @param support Provides context about the active pipeline job * @param readsets The list of readsets to process - * @param params - * @param outputDir - * @param actions - * @param outputsToCreate */ void processFilesOnWebserver(PipelineJob job, SequenceAnalysisJobSupport support, List readsets, JSONObject params, File outputDir, List actions, List outputsToCreate) throws UnsupportedOperationException, PipelineJobException; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequencePipelineService.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequencePipelineService.java index b57555a1c..e0f8df975 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequencePipelineService.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequencePipelineService.java @@ -129,11 +129,6 @@ static public void setInstance(SequencePipelineService instance) /** * - * @param input - * @param log - * @param startColumnIdx The 1-based column on which to sort. BED files are 2 and GTF/GFF are 4 - * @throws IOException - * @throws PipelineJobException */ abstract public void sortROD(File input, Logger log, Integer startColumnIdx) throws IOException, PipelineJobException; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SortSamWrapper.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SortSamWrapper.java index ee7fb6388..2dc45ed17 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SortSamWrapper.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SortSamWrapper.java @@ -4,7 +4,6 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.time.DurationFormatUtils; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.run.PicardWrapper; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/TaskFileManager.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/TaskFileManager.java index beecdcb51..1c211e399 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/TaskFileManager.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/TaskFileManager.java @@ -56,7 +56,7 @@ public interface TaskFileManager extends PipelineOutputTracker boolean isDeleteIntermediateFiles(); - public boolean performCleanupAfterEachStep(); + boolean performCleanupAfterEachStep(); boolean isCopyInputsLocally(); diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/ToolParameterDescriptor.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/ToolParameterDescriptor.java index 12a054d57..ce31492dc 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/ToolParameterDescriptor.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/ToolParameterDescriptor.java @@ -27,7 +27,6 @@ import java.util.ArrayList; import java.util.List; -import java.util.Map; /** * User: bimber diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/AbstractCommandWrapper.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/AbstractCommandWrapper.java index e9b0df727..dfc4f0232 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/AbstractCommandWrapper.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/AbstractCommandWrapper.java @@ -43,7 +43,7 @@ abstract public class AbstractCommandWrapper implements CommandWrapper { private File _outputDir = null; private File _workingDir = null; - private Logger _log = null; + private Logger _log; private Level _logLevel = Level.DEBUG; private boolean _warnNonZeroExits = true; private boolean _throwNonZeroExits = true; @@ -221,7 +221,7 @@ private void setPath(ProcessBuilder pb) // If the command has a path, then prepend its parent directory to the PATH // environment variable as well. String exePath = pb.command().get(0); - if (exePath != null && !"".equals(exePath) && exePath.indexOf(File.separatorChar) != -1) + if (exePath != null && !exePath.isEmpty() && exePath.indexOf(File.separatorChar) != -1) { File fileExe = new File(exePath); String exeDir = fileExe.getParent(); diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/AbstractDiscvrSeqWrapper.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/AbstractDiscvrSeqWrapper.java index 41f63e428..2a2569cf5 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/AbstractDiscvrSeqWrapper.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/AbstractDiscvrSeqWrapper.java @@ -1,7 +1,6 @@ package org.labkey.api.sequenceanalysis.run; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; public class AbstractDiscvrSeqWrapper extends AbstractGatk4Wrapper { diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/AbstractGatkWrapper.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/AbstractGatkWrapper.java index 98eab53bf..38caf2da7 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/AbstractGatkWrapper.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/AbstractGatkWrapper.java @@ -1,10 +1,6 @@ package org.labkey.api.sequenceanalysis.run; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.math3.exception.ConvergenceException; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; -import org.labkey.api.data.ConvertHelper; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.pipeline.PipelineJobService; import org.labkey.api.sequenceanalysis.SequenceAnalysisService; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/CommandWrapper.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/CommandWrapper.java index 2ee8f0769..667cb03a9 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/CommandWrapper.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/CommandWrapper.java @@ -30,8 +30,6 @@ public interface CommandWrapper /** * * @param params A list of params used to create the command. This will be passed directly to ProcessBuilder() - * @return The output of this command. - * @throws PipelineJobException */ void execute(List params) throws PipelineJobException; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/GeneToNameTranslator.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/GeneToNameTranslator.java index adeb88ef2..f6b8fbdf8 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/GeneToNameTranslator.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/GeneToNameTranslator.java @@ -1,7 +1,6 @@ package org.labkey.api.sequenceanalysis.run; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.reader.Readers; import org.labkey.api.util.FileUtil; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/PicardWrapper.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/PicardWrapper.java index 63404c554..d32c8767a 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/PicardWrapper.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/PicardWrapper.java @@ -3,10 +3,8 @@ import htsjdk.samtools.ValidationStringency; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; -import org.labkey.api.pipeline.PipelineJobService; import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; import java.io.File; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/SelectVariantsWrapper.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/SelectVariantsWrapper.java index 13849200f..039bbcdf3 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/SelectVariantsWrapper.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/SelectVariantsWrapper.java @@ -1,7 +1,6 @@ package org.labkey.api.sequenceanalysis.run; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.pipeline.PipelineJobException; import java.io.File; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/SimpleScriptWrapper.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/SimpleScriptWrapper.java index 4e48f3b16..7bd140d10 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/SimpleScriptWrapper.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/SimpleScriptWrapper.java @@ -1,7 +1,6 @@ package org.labkey.api.sequenceanalysis.run; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; /** diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/VariantFiltrationWrapper.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/VariantFiltrationWrapper.java index 5e474b225..e7bb587a8 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/VariantFiltrationWrapper.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/VariantFiltrationWrapper.java @@ -1,7 +1,6 @@ package org.labkey.api.sequenceanalysis.run; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.pipeline.PipelineJobException; import java.io.File; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/FileGroup.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/FileGroup.java index 195105108..7ff3914cb 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/FileGroup.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/FileGroup.java @@ -3,7 +3,6 @@ import java.io.File; import java.io.Serializable; import java.util.ArrayList; -import java.util.Arrays; import java.util.Comparator; import java.util.HashSet; import java.util.List; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/OutputIntegrationTests.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/OutputIntegrationTests.java index e58e34001..3b2ba8350 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/OutputIntegrationTests.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/OutputIntegrationTests.java @@ -23,13 +23,11 @@ import org.labkey.api.data.TableSelector; import org.labkey.api.exp.api.ExpData; import org.labkey.api.exp.api.ExperimentService; -import org.labkey.api.laboratory.LaboratoryService; import org.labkey.api.pipeline.PipelineJob; import org.labkey.api.pipeline.PipelineJobService; import org.labkey.api.query.DetailsURL; import org.labkey.api.query.FieldKey; import org.labkey.api.query.QueryService; -import org.labkey.api.sequenceanalysis.SequenceAnalysisService; import org.labkey.api.util.FileUtil; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.util.TestContext; @@ -149,7 +147,7 @@ protected Set createOutputHandlerJob(String jobName, JSONObject con throw new RuntimeException("Problem creating pipeline job: " + responseJson.getString("exception")); JSONArray guidList = responseJson.getJSONArray("jobGUIDs"); - assert guidList.length() >= 1; + assert !guidList.isEmpty(); Set ret = new HashSet<>(); for (int i = 0; i < guidList.length(); i++) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java index 534381244..3ca197e72 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java @@ -311,7 +311,7 @@ public ModelAndView getView(FastqcForm form, BindException errors) throws Except } } - if (files.size() == 0) + if (files.isEmpty()) { return HtmlView.of("Error: either no files provided or the files did not exist on the server"); } @@ -1100,7 +1100,7 @@ public ApiResponse execute(ValidateReadsetImportForm form, BindException errors) } } - if (datas.size() > 0) + if (!datas.isEmpty()) { for (ExpData d : datas) { @@ -2910,7 +2910,7 @@ public void export(DownloadReferencesForm form, final HttpServletResponse respon public void exec(ResultSet object) throws SQLException { Results rs = new ResultsImpl(object, cols); - Integer rowId = rs.getInt(FieldKey.fromString("rowid")); + int rowId = rs.getInt(FieldKey.fromString("rowid")); String header = se.eval(rs.getFieldKeyRowMap()); RefNtSequenceModel model = new RefNtSequenceModel(); if (rs.getObject(FieldKey.fromString("sequenceFile")) != null) @@ -2920,7 +2920,7 @@ public void exec(ResultSet object) throws SQLException try { - if (intervalMap.has(rowId.toString())) + if (intervalMap.has(Integer.toString(rowId))) { String wholeSequence = model.getSequence(); if (wholeSequence == null) @@ -2929,7 +2929,7 @@ public void exec(ResultSet object) throws SQLException return; } - for (String t : intervalMap.getString(rowId.toString()).split(",")) + for (String t : intervalMap.getString(Integer.toString(rowId)).split(",")) { String[] coordinates = t.split("-"); if (coordinates.length != 2) @@ -3396,7 +3396,7 @@ private static JSONObject getReourceSettingsJson(Container c) } } - if (resourceSettings.length() > 0) + if (!resourceSettings.isEmpty()) { JSONObject json = new JSONObject(); json.put("name", "resourceSettings"); @@ -4487,9 +4487,9 @@ public static SequenceMatch checkReference(String name, DNASequence fastaSequenc private static SequenceMatch doCheck(String name, String seq, String refSeq, RefNtSequenceModel match, DNASequence fastaSequence, boolean isRC) { - boolean sequencesMatch = refSeq.length() > 0 && seq.length() > 0 && seq.equals(refSeq); - boolean fastaSequenceIsSubsetOfReference = refSeq.length() > 0 && seq.length() > 0 && refSeq.contains(seq); - boolean referenceSequenceIsSubsetOfFasta = refSeq.length() > 0 && seq.length() > 0 && seq.contains(refSeq); + boolean sequencesMatch = !refSeq.isEmpty() && !seq.isEmpty() && seq.equals(refSeq); + boolean fastaSequenceIsSubsetOfReference = !refSeq.isEmpty() && !seq.isEmpty() && refSeq.contains(seq); + boolean referenceSequenceIsSubsetOfFasta = !refSeq.isEmpty() && !seq.isEmpty() && seq.contains(refSeq); if (name.equals(match.getName()) || sequencesMatch || fastaSequenceIsSubsetOfReference || referenceSequenceIsSubsetOfFasta) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java index b4226eb91..930469cc7 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java @@ -82,7 +82,6 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Date; @@ -162,7 +161,7 @@ public List getSequencePlatforms() { _platforms = new ArrayList<>(); TableSelector ts = new TableSelector(SequenceAnalysisSchema.getInstance().getSchema().getTable(SequenceAnalysisSchema.TABLE_SEQUENCE_PLATFORMS)); - ts.forEach(new TableSelector.ForEachBlock() + ts.forEach(new TableSelector.ForEachBlock<>() { @Override public void exec(ResultSet rs) throws SQLException diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisModule.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisModule.java index 2d7ea845f..df804a5aa 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisModule.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisModule.java @@ -510,17 +510,17 @@ protected void registerContainerListeners() public Set getIntegrationTests() { @SuppressWarnings({"unchecked"}) - Set testClasses = new HashSet(Arrays.asList( - Barcoder.TestCase.class, - BamIterator.TestCase.class, - SequenceIntegrationTests.SequenceImportPipelineTestCase.class, - //SequenceIntegrationTests.SequenceAnalysisPipelineTestCase3.class, - SequenceIntegrationTests.SequenceAnalysisPipelineTestCase1.class, - SequenceIntegrationTests.SequenceAnalysisPipelineTestCase2.class, - OutputIntegrationTests.VariantProcessingTest.class, - SequenceRemoteIntegrationTests.class, - SequenceTriggerHelper.TestCase.class, - SequencePipelineServiceImpl.TestCase.class + Set testClasses = new HashSet<>(Arrays.asList( + Barcoder.TestCase.class, + BamIterator.TestCase.class, + SequenceIntegrationTests.SequenceImportPipelineTestCase.class, + //SequenceIntegrationTests.SequenceAnalysisPipelineTestCase3.class, + SequenceIntegrationTests.SequenceAnalysisPipelineTestCase1.class, + SequenceIntegrationTests.SequenceAnalysisPipelineTestCase2.class, + OutputIntegrationTests.VariantProcessingTest.class, + SequenceRemoteIntegrationTests.class, + SequenceTriggerHelper.TestCase.class, + SequencePipelineServiceImpl.TestCase.class )); return testClasses; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisSchema.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisSchema.java index ff3bdc292..452be9a16 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisSchema.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisSchema.java @@ -18,7 +18,6 @@ import org.labkey.api.data.DbSchema; import org.labkey.api.data.DbSchemaType; import org.labkey.api.data.TableInfo; -import org.labkey.api.data.dialect.SqlDialect; public class SequenceAnalysisSchema { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceIntegrationTests.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceIntegrationTests.java index 9fc9b090c..304a88709 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceIntegrationTests.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceIntegrationTests.java @@ -509,7 +509,7 @@ protected Set createPipelineJob(String jobName, JSONObject config, throw new RuntimeException("Problem creating pipeline job: " + responseJson.getString("exception")); JSONArray guidList = responseJson.getJSONArray("jobGUIDs"); - assert guidList.length() >= 1; + assert !guidList.isEmpty(); Set ret = new HashSet<>(); for (int i = 0; i < guidList.length(); i++) @@ -763,7 +763,6 @@ protected String getProjectName() /** * This is the most basic test of readset import and creation. A single FASTQ is provided, which can be normalized on the webserver * without external tools. - * @throws Exception */ @Test public void basicTest() throws Exception @@ -909,7 +908,7 @@ private void runMergePipelineJob(String jobName, boolean deleteIntermediates, St waitForJobs(jobsUnsorted); List jobs = new ArrayList<>(jobsUnsorted); - Collections.sort(jobs, new Comparator() + Collections.sort(jobs, new Comparator<>() { @Override public int compare(PipelineJob o1, PipelineJob o2) @@ -1005,7 +1004,6 @@ private void verifyJob(File basedir, String jobName, Set expectedOutputs, /** * This test takes 2 input files: a FASTQ and an SFF. The SFF should be converted to FASTQ, and the files merged into a single * FASTQ output. This pipeline is configured to retain intermediate files. - * @throws Exception */ @Test public void mergeTest() throws Exception @@ -1022,7 +1020,6 @@ public void mergeTest() throws Exception /** * This is a variation on mergeTest, except intermediate files are deleting and input file are compressed. - * @throws Exception */ @Test public void mergeTestDeletingIntermediates() throws Exception @@ -1104,7 +1101,6 @@ private Set getBarcodeOutputs(File basedir, String jobName, String prefix) /** * This test uses a barcoded input - * @throws Exception */ @Test public void barcodeTest() throws Exception @@ -1151,7 +1147,6 @@ private File getBaseDir(PipelineJob job) /** * This is an extension of barcodeTest(), except intermediate files are deleted and inputs compressed - * @throws Exception */ @Test public void barcodeTestDeletingIntermediates() throws Exception @@ -1211,7 +1206,6 @@ else if (f.getName().equals("dualBarcodes_SIV_unknowns.fastq.gz")) /** * This imports a readset from two paired end inputs - * @throws Exception */ @Test public void pairedEndTest() throws Exception @@ -1260,7 +1254,6 @@ public void pairedEndTest() throws Exception /** * An extension of pairedEndTest(), except input files are moved to the analysis folder - * @throws Exception */ @Test public void pairedEndTestMovingInputs() throws Exception @@ -1317,7 +1310,6 @@ public void pairedEndTestMovingInputs() throws Exception /** * An extension of pairedEndTest(), except input files are deleted on completion - * @throws Exception */ @Test public void pairedEndTestDeletingInputs() throws Exception @@ -1684,7 +1676,7 @@ protected String[] getFilenamesForReadsets() } } - return files.toArray(new String[files.size()]); + return files.toArray(new String[0]); } protected void appendSamplesForAlignment(JSONObject config, List readsets) @@ -1818,6 +1810,7 @@ public static void cleanup() doCleanup(PROJECT_NAME); } + @Override protected String getProjectName() { return PROJECT_NAME; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceOutputsNavItem.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceOutputsNavItem.java index bc7b3eb04..6bc66f15a 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceOutputsNavItem.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceOutputsNavItem.java @@ -89,7 +89,7 @@ private Map getCategories(Container c, User u) SQLFragment sql = new SQLFragment("SELECT t.category, count(*) as total FROM ").append(ti.getFromSQL("t")).append(" GROUP BY t.category"); SqlSelector ss = new SqlSelector(ti.getSchema(), sql); final TreeMap categories = new TreeMap<>(); - ss.forEach(new Selector.ForEachBlock() + ss.forEach(new Selector.ForEachBlock<>() { @Override public void exec(ResultSet object) throws SQLException diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/AbstractCombineGeneCountsHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/AbstractCombineGeneCountsHandler.java index 7a13d0704..fbde2aa7f 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/AbstractCombineGeneCountsHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/AbstractCombineGeneCountsHandler.java @@ -230,7 +230,7 @@ public void prepareFiles(JobContext ctx, List inputFiles, St action.setStartTime(new Date()); String name = params.getString("name"); - Boolean doSkipGenesWithoutData = params.optBoolean("skipGenesWithoutData", false); + boolean doSkipGenesWithoutData = params.optBoolean("skipGenesWithoutData", false); ctx.getLogger().debug("skip genes without data: " + doSkipGenesWithoutData); int gtf = params.optInt("gtf"); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/BamHaplotypeHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/BamHaplotypeHandler.java index 8fde70dac..a936ab0a9 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/BamHaplotypeHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/BamHaplotypeHandler.java @@ -105,7 +105,7 @@ public boolean doSplitJobs() return false; } - public class Processor implements SequenceOutputProcessor + public static class Processor implements SequenceOutputProcessor { @Override public void processFilesRemote(List inputFiles, JobContext ctx) throws UnsupportedOperationException, PipelineJobException diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/CombineSubreadGeneCountsHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/CombineSubreadGeneCountsHandler.java index 926e95898..3d4f4b46f 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/CombineSubreadGeneCountsHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/CombineSubreadGeneCountsHandler.java @@ -76,7 +76,7 @@ protected void processOutputFiles(CountResults results, List results.distinctGenes.add(geneId); - Double count = Double.parseDouble(cells[6]); + double count = Double.parseDouble(cells[6]); Map countMap = results.counts.get(so.getRowid()); if (countMap == null) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/CompareVariantsHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/CompareVariantsHandler.java index 20f8c743c..4ac865c43 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/CompareVariantsHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/CompareVariantsHandler.java @@ -18,7 +18,6 @@ import org.labkey.sequenceanalysis.SequenceAnalysisModule; import java.io.File; -import java.util.Arrays; import java.util.LinkedHashSet; import java.util.List; @@ -106,7 +105,7 @@ public boolean doSplitJobs() return false; } - public class Processor implements SequenceOutputProcessor + public static class Processor implements SequenceOutputProcessor { @Override public void processFilesOnWebserver(PipelineJob job, SequenceAnalysisJobSupport support, List inputFiles, JSONObject params, File outputDir, List actions, List outputsToCreate) throws UnsupportedOperationException, PipelineJobException diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/GenotypeGVCFHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/GenotypeGVCFHandler.java index 82d19d3dd..59e462e90 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/GenotypeGVCFHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/GenotypeGVCFHandler.java @@ -673,8 +673,8 @@ private void processOneInput(JobContext ctx, PipelineJob job, ReferenceGenome ge // See: https://gatk.broadinstitute.org/hc/en-us/articles/4418054384027-GenotypeGVCFs#--genomicsdb-max-alternate-alleles // "A typical value is 3 more than the --max-alternate-alleles value that's used by GenotypeGVCFs and larger differences result in more robustness to PCR-related indel errors" - Integer maxAlt = ctx.getParams().getInt("variantCalling.GenotypeGVCFs.max_alternate_alleles") + 3; - toolParams.add(maxAlt.toString()); + int maxAlt = ctx.getParams().getInt("variantCalling.GenotypeGVCFs.max_alternate_alleles") + 3; + toolParams.add(Integer.toString(maxAlt)); } if (ctx.getParams().optBoolean("variantCalling.GenotypeGVCFs.includeNonVariantSites")) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/LiftoverHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/LiftoverHandler.java index 5b1cda83b..2d579cc28 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/LiftoverHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/LiftoverHandler.java @@ -138,7 +138,7 @@ private static File getUnmappedOutputFile(File liftedVcfFile) private static String getOutputExtension(File inputFile) { - String ext = null; + String ext; if (_bedFileType.isType(inputFile)) { ext = ".bed"; @@ -172,7 +172,7 @@ public class Processor implements SequenceOutputProcessor @Override public void init(JobContext ctx, List inputFiles, List actions, List outputsToCreate) throws UnsupportedOperationException, PipelineJobException { - Integer chainFileId = ctx.getParams().getInt("chainFileId"); + int chainFileId = ctx.getParams().getInt("chainFileId"); ExpData chainData = ExperimentService.get().getExpData(chainFileId); if (chainData == null || !chainData.getFile().exists()) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/MultiQCBamHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/MultiQCBamHandler.java index 817667384..f89ac0fcf 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/MultiQCBamHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/MultiQCBamHandler.java @@ -20,7 +20,6 @@ import org.labkey.sequenceanalysis.util.SequenceUtil; import java.io.File; -import java.util.Arrays; import java.util.Date; import java.util.HashSet; import java.util.List; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/MultiQCHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/MultiQCHandler.java index c915c0118..3f9573fc9 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/MultiQCHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/MultiQCHandler.java @@ -20,7 +20,6 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.Date; import java.util.HashMap; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/SbtGeneCountHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/SbtGeneCountHandler.java index 472da1529..0ebe5e999 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/SbtGeneCountHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/SbtGeneCountHandler.java @@ -17,7 +17,6 @@ import org.labkey.sequenceanalysis.SequenceAnalysisModule; import java.io.File; -import java.util.Arrays; import java.util.LinkedHashSet; import java.util.List; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/UnmappedSequenceBasedGenotypeHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/UnmappedSequenceBasedGenotypeHandler.java index 7550d4ded..8e500040a 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/UnmappedSequenceBasedGenotypeHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/UnmappedSequenceBasedGenotypeHandler.java @@ -35,7 +35,6 @@ import java.io.OutputStreamWriter; import java.nio.charset.StandardCharsets; import java.util.ArrayList; -import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -95,7 +94,7 @@ public void addSample(String sampleName, String header, int totalReads) { String[] tokens = header.split("-"); - Integer count = Integer.parseInt(tokens[tokens.length - 1]); + int count = Integer.parseInt(tokens[tokens.length - 1]); Integer c = _sampleMap.getOrDefault(sampleName, 0); c += count; _totalReads += count; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/api/picard/CigarPositionIterable.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/api/picard/CigarPositionIterable.java index a8abc065d..020974609 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/api/picard/CigarPositionIterable.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/api/picard/CigarPositionIterable.java @@ -139,7 +139,7 @@ public PositionInfo next() * Describes a specific position in an alignment, including the position relative to the start of both the reference and read * sequences. */ - public class PositionInfo + public static class PositionInfo { private final SAMRecord _record; private final CigarOperator _op; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ArchiveReadsetsButton.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ArchiveReadsetsButton.java index e19f572c3..0a6044f41 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ArchiveReadsetsButton.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ArchiveReadsetsButton.java @@ -3,8 +3,6 @@ import org.labkey.api.laboratory.security.LaboratoryAdminPermission; import org.labkey.api.ldk.table.SimpleButtonConfigFactory; import org.labkey.api.module.ModuleLoader; -import org.labkey.api.security.permissions.AdminPermission; -import org.labkey.api.security.permissions.UpdatePermission; import org.labkey.api.view.template.ClientDependency; import org.labkey.sequenceanalysis.SequenceAnalysisModule; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ChangeReadsetStatusButton.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ChangeReadsetStatusButton.java index cf04dee1c..e9bf0ff3b 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ChangeReadsetStatusButton.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ChangeReadsetStatusButton.java @@ -5,7 +5,6 @@ import org.labkey.api.view.template.ClientDependency; import org.labkey.sequenceanalysis.SequenceAnalysisModule; -import java.util.Arrays; import java.util.List; /** diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ChangeReadsetStatusForAnalysesButton.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ChangeReadsetStatusForAnalysesButton.java index 694f943d2..b78634f13 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ChangeReadsetStatusForAnalysesButton.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ChangeReadsetStatusForAnalysesButton.java @@ -5,7 +5,6 @@ import org.labkey.api.view.template.ClientDependency; import org.labkey.sequenceanalysis.SequenceAnalysisModule; -import java.util.Arrays; import java.util.List; /** diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ReprocessLibraryButton.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ReprocessLibraryButton.java index 14f08a47e..98c5ee2af 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ReprocessLibraryButton.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/button/ReprocessLibraryButton.java @@ -5,7 +5,6 @@ import org.labkey.api.view.template.ClientDependency; import org.labkey.sequenceanalysis.SequenceAnalysisModule; -import java.util.Arrays; import java.util.List; /** diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/model/UnderscoreBeanObjectFactory.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/model/UnderscoreBeanObjectFactory.java index fddada1a3..b659ce8d1 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/model/UnderscoreBeanObjectFactory.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/model/UnderscoreBeanObjectFactory.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.model; import org.labkey.api.data.BeanObjectFactory; -import org.labkey.api.data.ObjectFactory; /** * Created by bimber on 2/20/2015. diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentAnalysisJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentAnalysisJob.java index 82cd77df9..093371229 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentAnalysisJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentAnalysisJob.java @@ -23,7 +23,6 @@ import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -65,7 +64,7 @@ public static List createForAnalyses(Container c, User u, List ret = new ArrayList<>(); for (int i=0;i parseAndCreateAnalyses() throws PipelineJobException Integer runId = SequenceTaskHelper.getExpRunIdForJob(getJob()); ExpRun run = ExperimentService.get().getExpRun(runId); List datas = run.getInputDatas(SequenceAlignmentTask.FINAL_BAM_ROLE, ExpProtocol.ApplicationType.ExperimentRunOutput); - if (datas.size() > 0) + if (!datas.isEmpty()) { for (ExpData d : datas) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentInitTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentInitTask.java index 4636cc2e6..00df2a90c 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentInitTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentInitTask.java @@ -15,7 +15,6 @@ import org.labkey.api.util.FileType; import java.io.File; -import java.util.Arrays; import java.util.Collections; import java.util.List; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentNormalizationTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentNormalizationTask.java index b8417b5ae..aa2caf833 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentNormalizationTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentNormalizationTask.java @@ -31,7 +31,6 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.Date; import java.util.HashMap; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CacheAlignerIndexesTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CacheAlignerIndexesTask.java index 08fcaca50..a6d7d8935 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CacheAlignerIndexesTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CacheAlignerIndexesTask.java @@ -21,7 +21,6 @@ import java.io.File; import java.io.IOException; -import java.util.Arrays; import java.util.Collections; import java.util.List; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CacheGenomePipelineJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CacheGenomePipelineJob.java index f59d13986..670b6bb28 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CacheGenomePipelineJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CacheGenomePipelineJob.java @@ -30,7 +30,6 @@ import java.io.File; import java.io.IOException; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ConvertToCramHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ConvertToCramHandler.java index 1d3a08c56..6fdb4e338 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ConvertToCramHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ConvertToCramHandler.java @@ -91,7 +91,7 @@ public SequenceOutputProcessor getProcessor() return new Processor(); } - public class Processor implements SequenceOutputProcessor + public static class Processor implements SequenceOutputProcessor { @Override public void processFilesOnWebserver(PipelineJob job, SequenceAnalysisJobSupport support, List inputFiles, JSONObject params, File outputDir, List actions, List outputsToCreate) throws UnsupportedOperationException, PipelineJobException diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CreateReferenceLibraryTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CreateReferenceLibraryTask.java index 92eff93b8..785e1e628 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CreateReferenceLibraryTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CreateReferenceLibraryTask.java @@ -62,7 +62,6 @@ import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -199,7 +198,7 @@ public RecordedActionSet run() throws PipelineJobException libraryRow.put("description", getPipelineJob().getLibraryDescription()); BatchValidationException errors = new BatchValidationException(); - List> inserted = libraryTable.getUpdateService().insertRows(getJob().getUser(), getJob().getContainer(), List.of(libraryRow), errors, null, new HashMap()); + List> inserted = libraryTable.getUpdateService().insertRows(getJob().getUser(), getJob().getContainer(), List.of(libraryRow), errors, null, new HashMap<>()); if (errors.hasErrors()) { throw errors; @@ -419,7 +418,7 @@ public RecordedActionSet run() throws PipelineJobException getJob().getLogger().info("updating database"); BatchValidationException errors = new BatchValidationException(); TableInfo libraryMembersTable = QueryService.get().getUserSchema(getJob().getUser(), getJob().getContainer(), SequenceAnalysisSchema.SCHEMA_NAME).getTable(SequenceAnalysisSchema.TABLE_REF_LIBRARY_MEMBERS); - libraryMembersTable.getUpdateService().insertRows(getJob().getUser(), getJob().getContainer(), toInsert, errors, null, new HashMap()); + libraryMembersTable.getUpdateService().insertRows(getJob().getUser(), getJob().getContainer(), toInsert, errors, null, new HashMap<>()); if (errors.hasErrors()) { throw errors; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaFastqSplitter.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaFastqSplitter.java index 136b65f81..41a633f76 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaFastqSplitter.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaFastqSplitter.java @@ -22,7 +22,6 @@ import htsjdk.samtools.fastq.FastqRecord; import htsjdk.samtools.fastq.FastqWriter; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.util.FileType; @@ -133,7 +132,7 @@ public Map, File> parseFastqFiles() throws PipelineJ FastqRecord fq = reader.next(); String header = fq.getReadHeader(); IlluminaReadHeader parsedHeader = new IlluminaReadHeader(header); - String illuminaSampleId = null; + String illuminaSampleId; if (parsedHeader.getIndexSequenceString() != null) { illuminaSampleId = parsedHeader.getIndexSequenceString(); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportJob.java index b51e11a54..f96fddba1 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportJob.java @@ -19,7 +19,6 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java index e1541489b..3928cc015 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java @@ -49,7 +49,6 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.Date; import java.util.HashMap; @@ -130,7 +129,7 @@ public RecordedActionSet run() throws PipelineJobException String prefix = job.getParameters().get("fastqPrefix"); List inputFiles = getSupport().getInputFiles(); - if (inputFiles.size() == 0) + if (inputFiles.isEmpty()) throw new PipelineJobException("No input files"); DbSchema schema = SequenceAnalysisSchema.getInstance().getSchema(); @@ -336,7 +335,7 @@ private Map parseCsv(File sampleFile, DbSchema schema) throws P Map sampleMap = new HashMap<>(); sampleMap.put("S0", 0); //placeholder for control and unmapped reads - Boolean inSamples = false; + boolean inSamples = false; int sampleIdx = 0; while ((nextLine = reader.readNext()) != null) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaReadsetCreationTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaReadsetCreationTask.java index 8882623b0..5dd3ccd0b 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaReadsetCreationTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaReadsetCreationTask.java @@ -22,7 +22,6 @@ import org.labkey.sequenceanalysis.SequenceAnalysisSchema; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportFastaSequencesTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportFastaSequencesTask.java index 0c84f13ff..464d8a0b7 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportFastaSequencesTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportFastaSequencesTask.java @@ -28,7 +28,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.List; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackPipelineJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackPipelineJob.java index 703e10df7..3897b650e 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackPipelineJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackPipelineJob.java @@ -13,7 +13,6 @@ import org.labkey.api.query.DetailsURL; import org.labkey.api.security.User; import org.labkey.api.security.permissions.InsertPermission; -import org.labkey.api.util.FileType; import org.labkey.api.util.FileUtil; import org.labkey.api.view.ActionURL; import org.labkey.api.view.ViewBackgroundInfo; @@ -22,7 +21,6 @@ import java.io.File; import java.io.IOException; -import java.util.Arrays; /** * User: bimber diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java index 50add8b12..5c6498d0c 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java @@ -229,7 +229,7 @@ private int addTrackForLibrary(File file, String trackName, String trackDescript knownChrs.put(m.getName(), m.getName()); } - SAMSequenceDictionary dict = null; + SAMSequenceDictionary dict; if (!genome.getSequenceDictionary().exists()) { SequencePipelineService.get().ensureSequenceDictionaryExists(genome.getWorkingFastaFile(), getJob().getLogger(), false); @@ -410,12 +410,12 @@ private Map> getNameTranslationMap(List> getNameTranslationMap(List getActions() return _actions; } + @Override public Collection getDockerVolumes() { return _job.getDockerVolumes(); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/OrphanFilePipelineJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/OrphanFilePipelineJob.java index e6a657190..69f1bef17 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/OrphanFilePipelineJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/OrphanFilePipelineJob.java @@ -289,7 +289,7 @@ private Map> getDataMapForContainer(Container c, Map> dataMap = new HashMap<>(); - ts.forEach(new Selector.ForEachBlock() + ts.forEach(new Selector.ForEachBlock<>() { @Override public void exec(ResultSet rs) throws SQLException diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/PipelineStepCtxImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/PipelineStepCtxImpl.java index 2154b5fd7..f63eab681 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/PipelineStepCtxImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/PipelineStepCtxImpl.java @@ -10,7 +10,7 @@ public class PipelineStepCtxImpl implements PipelineStepCtx { private final PipelineStepProvider _provider; - private int _stepIdx = 0; + private int _stepIdx; public PipelineStepCtxImpl(PipelineStepProvider provider, int stepIdx) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/PrepareAlignerIndexesTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/PrepareAlignerIndexesTask.java index 445e6dad0..ef75c5297 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/PrepareAlignerIndexesTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/PrepareAlignerIndexesTask.java @@ -16,7 +16,6 @@ import org.labkey.sequenceanalysis.run.util.FastaIndexer; import java.io.File; -import java.util.Arrays; import java.util.Collections; import java.util.List; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java index 1d28158d9..fab9620ad 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java @@ -36,7 +36,6 @@ import org.labkey.api.sequenceanalysis.pipeline.SequenceAnalysisJobSupport; import org.labkey.api.sequenceanalysis.pipeline.SequenceOutputHandler; import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; -import org.labkey.api.sequenceanalysis.pipeline.TaskFileManager; import org.labkey.api.sequenceanalysis.pipeline.ToolParameterDescriptor; import org.labkey.api.sequenceanalysis.pipeline.VariantProcessingStep; import org.labkey.api.sequenceanalysis.run.SimpleScriptWrapper; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java index 15da5149c..4900f8c99 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java @@ -254,7 +254,7 @@ private void importReadsets() throws PipelineJobException File f2 = rd.getFile2(); getJob().getLogger().debug("Total exp data files: " + datas.size()); - if (datas.size() > 0) + if (!datas.isEmpty()) { boolean found = false; boolean found2 = false; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetImportJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetImportJob.java index 6bdeeeb04..bfd38bce2 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetImportJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetImportJob.java @@ -30,7 +30,6 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.List; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReblockGvcfHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReblockGvcfHandler.java index aa3abdd30..496fb4052 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReblockGvcfHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReblockGvcfHandler.java @@ -90,7 +90,7 @@ public SequenceOutputProcessor getProcessor() return new Processor(); } - public class Processor implements SequenceOutputProcessor + public static class Processor implements SequenceOutputProcessor { @Override public void processFilesOnWebserver(PipelineJob job, SequenceAnalysisJobSupport support, List inputFiles, JSONObject params, File outputDir, List actions, List outputsToCreate) throws UnsupportedOperationException, PipelineJobException diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentJob.java index e504cf0e3..23195cb0c 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentJob.java @@ -61,7 +61,7 @@ public static List createForReadsets(Container c, User u, List ret = new ArrayList<>(); for (int i=0;i sequenceIds, String name, S { d.append(description); } - if (d.length() > 0) + if (!d.isEmpty()) { d.append(", "); } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJobSupportImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJobSupportImpl.java index 6fb8ca8e2..f84922a68 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJobSupportImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJobSupportImpl.java @@ -3,7 +3,6 @@ import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; import htsjdk.samtools.util.IOUtil; -import org.apache.logging.log4j.Logger; import org.junit.Assert; import org.junit.Test; import org.labkey.api.exp.api.ExpData; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceNormalizationTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceNormalizationTask.java index 1184d9c07..1cb082521 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceNormalizationTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceNormalizationTask.java @@ -156,7 +156,7 @@ public static boolean shouldRunRemote(PipelineJob job) throws FileNotFoundExcept { SequencePipelineSettings settings = new SequencePipelineSettings(job.getParameters()); - return settings.isRunFastqc() || getFilesToNormalize(job, ((FileAnalysisJobSupport) job).getInputFiles(), true).size() > 0; + return settings.isRunFastqc() || !getFilesToNormalize(job, ((FileAnalysisJobSupport) job).getInputFiles(), true).isEmpty(); } private ReadsetImportJob getPipelineJob() @@ -517,7 +517,7 @@ else if (lane.isEmpty()) } } - if (outputs.size() > 0) + if (!outputs.isEmpty()) { for (FileGroup.FilePair fp : fg.filePairs) { @@ -772,7 +772,7 @@ private Barcoder getBarcoder() throws PipelineJobException barcoder.setCreateDetailedLog(true); } - if (getBarcodeGroupsToScan(getHelper().getSettings()).size() > 0) + if (!getBarcodeGroupsToScan(getHelper().getSettings()).isEmpty()) barcoder.setScanAll(true); return barcoder; @@ -887,7 +887,7 @@ private File normalizeFastqSequence(File input, List actions) th workingDir.mkdirs(); FileType gz = new FileType("gz"); - File output = null; + File output; //NOTE: if the file is ASCII33 FASTQ, it should not reach this stage, unless we're doing barcoding or merging if (type.equals(SequenceUtil.FILETYPE.fastq)) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerJob.java index 709c116ba..d892e6eb8 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerJob.java @@ -111,7 +111,9 @@ protected List readOutputFilesFromFile() throws PipelineJobE try (InputStream is = IOUtil.maybeBufferInputStream(IOUtil.openFileForReading(xml))) { ObjectMapper objectMapper = createObjectMapper(); - List ret = objectMapper.readValue(is, new TypeReference>(){}); + List ret = objectMapper.readValue(is, new TypeReference<>() + { + }); getLogger().debug("read SequenceOutputFiles from file, total: " + ret.size()); for (SequenceOutputFile so : ret) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerRemoteTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerRemoteTask.java index 06cf83837..647c9438e 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerRemoteTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerRemoteTask.java @@ -16,7 +16,6 @@ import org.labkey.api.util.FileType; import org.labkey.sequenceanalysis.SequenceAnalysisServiceImpl; -import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceTaskHelper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceTaskHelper.java index 97b1ad53f..5805c92d7 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceTaskHelper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceTaskHelper.java @@ -346,6 +346,7 @@ public void cacheExpDatasForParams() throws PipelineJobException } } + @Override public Collection getDockerVolumes() { return _job.getDockerVolumes(); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java index dc5ce05e5..91d06a881 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java @@ -1060,7 +1060,7 @@ private File decompressFile(File i, List actions) //NOTE: because we can initate runs on readsets from different containers, we cannot rely on dataDirectory() to be consistent //b/c inputs are always copied to the root of the analysis folder, we will use relative paths FileType gz = new FileType(".gz"); - File unzipped = null; + File unzipped; if (gz.isType(i)) { RecordedAction action = new RecordedAction(SequenceAlignmentTask.DECOMPRESS_ACTIONNAME); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/VariantProcessingJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/VariantProcessingJob.java index 35d173da5..d9f7e4462 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/VariantProcessingJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/VariantProcessingJob.java @@ -26,7 +26,6 @@ import org.labkey.api.pipeline.PipelineService; import org.labkey.api.pipeline.TaskId; import org.labkey.api.pipeline.TaskPipeline; -import org.labkey.api.pipeline.WorkDirectory; import org.labkey.api.query.FieldKey; import org.labkey.api.reader.Readers; import org.labkey.api.security.User; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/VariantProcessingRemoteMergeTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/VariantProcessingRemoteMergeTask.java index e7a9be1d7..f8e043f29 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/VariantProcessingRemoteMergeTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/VariantProcessingRemoteMergeTask.java @@ -17,7 +17,6 @@ import org.labkey.api.sequenceanalysis.pipeline.SequenceOutputHandler; import org.labkey.api.sequenceanalysis.pipeline.VariantProcessingStep; import org.labkey.api.util.FileType; -import org.labkey.sequenceanalysis.run.variant.OutputVariantsStartingInIntervalsStep; import java.io.File; import java.io.IOException; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/DownloadSequenceDisplayColumnFactory.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/DownloadSequenceDisplayColumnFactory.java index 86e8ec9a3..6f563d735 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/DownloadSequenceDisplayColumnFactory.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/DownloadSequenceDisplayColumnFactory.java @@ -8,7 +8,6 @@ import org.labkey.api.data.RenderContext; import org.labkey.api.query.FieldKey; import org.labkey.api.util.LinkBuilder; -import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.HttpView; import org.labkey.api.view.template.ClientDependency; import org.labkey.api.writer.HtmlWriter; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/GenbankDisplayColumnFactory.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/GenbankDisplayColumnFactory.java index d3fe19645..005a2d129 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/GenbankDisplayColumnFactory.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/GenbankDisplayColumnFactory.java @@ -6,13 +6,8 @@ import org.labkey.api.data.DisplayColumnFactory; import org.labkey.api.data.RenderContext; import org.labkey.api.util.LinkBuilder; -import org.labkey.api.util.PageFlowUtil; -import org.labkey.api.util.URLHelper; import org.labkey.api.writer.HtmlWriter; -import java.io.IOException; -import java.io.Writer; - /** * Created by bimber on 2/8/2017. */ diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisUserSchema.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisUserSchema.java index aa54bf6ac..9757cfc34 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisUserSchema.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceAnalysisUserSchema.java @@ -192,7 +192,7 @@ private TableInfo createOutputFiles(TableInfo sourceTable, ContainerFilter cf) } } - ret.getButtonBarConfig().setScriptIncludes(scriptIncludes.toArray(new String[scriptIncludes.size()])); + ret.getButtonBarConfig().setScriptIncludes(scriptIncludes.toArray(new String[0])); if (ret.getColumn("analysisSets") == null) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceTriggerHelper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceTriggerHelper.java index 5a0d3e9bf..f6eb36e24 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceTriggerHelper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceTriggerHelper.java @@ -43,8 +43,8 @@ */ public class SequenceTriggerHelper { - private Container _container = null; - private User _user = null; + private Container _container; + private User _user; private static final Logger _log = LogManager.getLogger(SequenceTriggerHelper.class); private TableInfo _refNts = null; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/MultiQcRunner.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/MultiQcRunner.java index 50406156d..7f7920288 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/MultiQcRunner.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/MultiQcRunner.java @@ -2,7 +2,6 @@ import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.pipeline.PipelineJobService; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/BWAMem2Wrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/BWAMem2Wrapper.java index 73d1e6412..24a959dc3 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/BWAMem2Wrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/BWAMem2Wrapper.java @@ -1,29 +1,19 @@ package org.labkey.sequenceanalysis.run.alignment; -import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.Nullable; import org.json.JSONObject; import org.labkey.api.pipeline.PipelineJob; -import org.labkey.api.pipeline.PipelineJobException; -import org.labkey.api.sequenceanalysis.model.Readset; import org.labkey.api.sequenceanalysis.pipeline.AbstractAlignmentStepProvider; -import org.labkey.api.sequenceanalysis.pipeline.AlignmentOutputImpl; import org.labkey.api.sequenceanalysis.pipeline.AlignmentStep; import org.labkey.api.sequenceanalysis.pipeline.AlignmentStepProvider; import org.labkey.api.sequenceanalysis.pipeline.CommandLineParam; import org.labkey.api.sequenceanalysis.pipeline.PipelineContext; -import org.labkey.api.sequenceanalysis.pipeline.ReferenceGenome; -import org.labkey.api.sequenceanalysis.pipeline.SamtoolsRunner; import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; import org.labkey.api.sequenceanalysis.pipeline.ToolParameterDescriptor; -import org.labkey.api.util.FileUtil; -import org.labkey.sequenceanalysis.util.SequenceUtil; import java.io.File; -import java.util.ArrayList; import java.util.Arrays; -import java.util.List; /** * User: bimber diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/BWASWWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/BWASWWrapper.java index ce0e55fee..8350f7ff5 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/BWASWWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/BWASWWrapper.java @@ -2,7 +2,6 @@ import htsjdk.samtools.ValidationStringency; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJob; import org.labkey.api.pipeline.PipelineJobException; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/FastaToTwoBitRunner.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/FastaToTwoBitRunner.java index 67bd5f690..bef15afd4 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/FastaToTwoBitRunner.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/FastaToTwoBitRunner.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.alignment; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.AlignerIndexUtil; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/FastqCollapser.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/FastqCollapser.java index 375054dae..0930d032c 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/FastqCollapser.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/FastqCollapser.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.alignment; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/ParagraphStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/ParagraphStep.java index 258bdbfec..630ef7c7b 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/ParagraphStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/ParagraphStep.java @@ -196,7 +196,7 @@ else if (!svVcf.exists()) // id path depth read length // IB18 ../IB18.cram 29.77 150 File coverageFile = new File(ctx.getWorkingDirectory(), "coverage.txt"); - String rgId = null; + String rgId; try (PrintWriter writer = PrintWriters.getPrintWriter(coverageFile); SamReader reader = SamReaderFactory.makeDefault().open(so.getFile())) { SAMFileHeader header = reader.getFileHeader(); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/StarWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/StarWrapper.java index 38c635908..b729970ea 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/StarWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/StarWrapper.java @@ -405,15 +405,15 @@ public IndexOutput createIndex(ReferenceGenome referenceGenome, File outputDir) getPipelineCtx().getLogger().info("reference has " + refNumber + " contigs, adjusting parameters"); getPipelineCtx().getLogger().info("genome length: " + genomeLength); - Double scale = Math.min(18.0, (Math.log((genomeLength / refNumber)) / Math.log(2))); + double scale = Math.min(18.0, (Math.log((genomeLength / refNumber)) / Math.log(2))); args.add("--genomeChrBinNbits"); - args.add(String.valueOf(scale.intValue())); + args.add(String.valueOf((int) scale)); } //and small genomes may require this - Double genomeSAindexNbases = Math.min(14.0, ((Math.log(genomeLength) / Math.log(2)) / 2) - 1); + double genomeSAindexNbases = Math.min(14.0, ((Math.log(genomeLength) / Math.log(2)) / 2) - 1); args.add("--genomeSAindexNbases"); - args.add(String.valueOf(genomeSAindexNbases.intValue())); + args.add(String.valueOf((int) genomeSAindexNbases)); } catch (IOException e) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/VulcanWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/VulcanWrapper.java index ea3937be9..0974bb32e 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/VulcanWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/alignment/VulcanWrapper.java @@ -20,7 +20,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; //// vulcan -i $FASTQ -clr -t 12 -r $REF -w $WORK_DIR -o $OUT_DIR/${OUT}.bam diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByCodonAggregator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByCodonAggregator.java index bd7659216..6a55a32f9 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByCodonAggregator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByCodonAggregator.java @@ -164,7 +164,7 @@ public List> getResults(User u, Container c, AnalysisModel m if (depth != null && !info.getReadResidue().equals(":")) { - Double adj_depth = info.calculateNtDepth(true); + double adj_depth = info.calculateNtDepth(true); double pct = depth == 0 ? 0 : ((double) readCount / adj_depth ) * 100.0; row.put("adj_depth", adj_depth); row.put("pct", pct); @@ -322,7 +322,7 @@ public void addSNP(AASnp snp) String ntPosString = snp.getNtPositionString(); if (!_readnamesByPos.containsKey(ntPosString)) { - _readnamesByPos.put(ntPosString, new HashSet()); + _readnamesByPos.put(ntPosString, new HashSet<>()); } if (_readnamesByPos.get(ntPosString).contains(snp.getNtSnp().getReadname())) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByReadAggregator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByReadAggregator.java index d64b92606..df8bd0f29 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByReadAggregator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByReadAggregator.java @@ -65,7 +65,7 @@ public void inspectAlignment(SAMRecord record, ReferenceSequence ref, Map 0) + if (!highQualitySnpsByPos.isEmpty()) { for (AASnp snp : translateSnpsForRead(record, highQualitySnpsByPos)) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AbstractAlignmentAggregator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AbstractAlignmentAggregator.java index 25550ea90..6309f89db 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AbstractAlignmentAggregator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AbstractAlignmentAggregator.java @@ -19,7 +19,6 @@ import htsjdk.samtools.reference.ReferenceSequence; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.ReferenceLibraryHelper; import org.labkey.sequenceanalysis.run.util.AASnp; @@ -28,7 +27,6 @@ import org.labkey.sequenceanalysis.util.TranslatingReferenceSequence; import java.io.File; -import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -320,7 +318,7 @@ public void setMinDipQual(int minDipQual) _minDipQual = minDipQual; } - protected class CacheKeyInfo + protected static class CacheKeyInfo { private final String _refName; private final Integer _refPosition; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AvgBaseQualityAggregator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AvgBaseQualityAggregator.java index 2f132ae28..62e973304 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AvgBaseQualityAggregator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AvgBaseQualityAggregator.java @@ -48,7 +48,7 @@ public class AvgBaseQualityAggregator private final File _bai; private final File _ref; private Map> _quals = null; - private List _filters = null; + private List _filters; public AvgBaseQualityAggregator(Logger log, File bam, File refFasta) throws FileNotFoundException { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/BamIterator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/BamIterator.java index 23991eefb..6e138c513 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/BamIterator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/BamIterator.java @@ -164,7 +164,6 @@ public void iterateReads(String refName, int start, int stop) throws IOException /** * Iterates all reads in the alignment - * @return */ public void iterateReads() throws IOException, PipelineJobException { @@ -206,7 +205,7 @@ private void processAlignment(SAMRecord r, IndexedFastaSequenceFile indexedRef) } } - if (snps.size() > 0) + if (!snps.isEmpty()) snpPositions.put(pi.getLastRefPosition(), snps); } @@ -218,7 +217,7 @@ private void processAlignment(SAMRecord r, IndexedFastaSequenceFile indexedRef) { Integer pos1 = snp1.getLastRefPosition(); Integer idx1 = snp1.getInsertIndex(); - Integer compare1 = pos1.compareTo(snp2.getLastRefPosition()); + int compare1 = pos1.compareTo(snp2.getLastRefPosition()); return compare1 != 0 ? compare1 : idx1.compareTo(snp2.getInsertIndex()); }); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/ExportOverlappingReadsAnalysis.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/ExportOverlappingReadsAnalysis.java index f53e161d9..9b73d3993 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/ExportOverlappingReadsAnalysis.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/ExportOverlappingReadsAnalysis.java @@ -110,8 +110,8 @@ public Output performAnalysisPerSampleRemote(Readset rs, File inputBam, Referenc } String refName = m.group(1); - Integer start = Integer.parseInt(m.group(2)); - Integer stop = Integer.parseInt(m.group(3)); + int start = Integer.parseInt(m.group(2)); + int stop = Integer.parseInt(m.group(3)); getPipelineCtx().getLogger().info("calculating bases over " + refName + ": " + start + "-" + stop); int added = calculateForInterval(inputBam, refName, start, stop, distinctReadNames); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/MergeLoFreqVcfHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/MergeLoFreqVcfHandler.java index eb6dbb4fc..c33383ff0 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/MergeLoFreqVcfHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/MergeLoFreqVcfHandler.java @@ -132,7 +132,7 @@ public void processFilesOnWebserver(PipelineJob job, SequenceAnalysisJobSupport private static final double NO_DATA_VAL = -1.0; - private class SiteAndAlleles + private static class SiteAndAlleles { private final String _contig; private final int _start; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NextCladeHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NextCladeHandler.java index fe4b571c3..0b02e947c 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NextCladeHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NextCladeHandler.java @@ -299,10 +299,10 @@ public static void processAndImportNextCladeAa(PipelineJob job, File jsonFile, i throw new PipelineJobException("Expected variant for AA position: " + aaName + " " + pos); } - Double depth; - Double alleleDepth; - Double af; - Double dp; + double depth; + double alleleDepth; + double af; + double dp; List ntPositions = new ArrayList<>(); if (vcList.size() == 1) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NtCoverageAggregator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NtCoverageAggregator.java index a5a4ee3bd..5a34244d8 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NtCoverageAggregator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NtCoverageAggregator.java @@ -18,7 +18,6 @@ import htsjdk.samtools.SAMRecord; import htsjdk.samtools.reference.ReferenceSequence; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.data.Container; import org.labkey.api.data.DbScope; import org.labkey.api.data.SimpleFilter; @@ -388,7 +387,7 @@ public void writeOutput(User u, Container c, AnalysisModel model) for (char base : _baseMap.keySet()) { String fieldSuffix = _baseMap.get(base); - Integer baseTotal = getValueForPositionAndBase(refName, position, index, base, _totalCoverageByBase); + int baseTotal = getValueForPositionAndBase(refName, position, index, base, _totalCoverageByBase); row.put("total_" + fieldSuffix, baseTotal); @@ -397,7 +396,7 @@ public void writeOutput(User u, Container c, AnalysisModel model) n_total += baseTotal; double totalQual = getValueForPositionAndBase(refName, position, index, base, _totalQualByBase); - double avgQual = baseTotal == 0 ? 0 : totalQual / baseTotal.doubleValue(); + double avgQual = baseTotal == 0 ? 0 : totalQual / (double) baseTotal; row.put("avgqual_" + fieldSuffix, avgQual); if (index == 0 && base == wtBase) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NtSnpByPosAggregator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NtSnpByPosAggregator.java index 05ba8c39f..b0195f693 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NtSnpByPosAggregator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NtSnpByPosAggregator.java @@ -18,7 +18,6 @@ import htsjdk.samtools.SAMRecord; import htsjdk.samtools.reference.ReferenceSequence; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.data.Container; import org.labkey.api.data.DbScope; import org.labkey.api.data.SimpleFilter; @@ -30,7 +29,6 @@ import org.labkey.api.security.User; import org.labkey.api.sequenceanalysis.model.AnalysisModel; import org.labkey.sequenceanalysis.SequenceAnalysisSchema; -import org.labkey.sequenceanalysis.api.picard.CigarPositionIterable; import org.labkey.sequenceanalysis.run.util.NTSnp; import java.io.File; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/PARalyzerAnalysis.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/PARalyzerAnalysis.java index 3fe265254..4bc98bffc 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/PARalyzerAnalysis.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/PARalyzerAnalysis.java @@ -19,7 +19,6 @@ import java.io.File; import java.util.Arrays; import java.util.HashMap; -import java.util.List; import java.util.Map; /** diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/PindelAnalysis.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/PindelAnalysis.java index ce90daa7c..2541c91e6 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/PindelAnalysis.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/PindelAnalysis.java @@ -146,9 +146,9 @@ private static String parseInsertMetrics(File inputFile, int minInsertSize) thro { if (m.PAIR_ORIENTATION == SamPairUtil.PairOrientation.FR) { - Double insertSize = Math.ceil(m.MEAN_INSERT_SIZE); + double insertSize = Math.ceil(m.MEAN_INSERT_SIZE); - return String.valueOf(Math.max(minInsertSize, insertSize.intValue())); + return String.valueOf(Math.max(minInsertSize, (int) insertSize)); } } } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SequenceBasedTypingAlignmentAggregator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SequenceBasedTypingAlignmentAggregator.java index d2273f700..5e1581cd0 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SequenceBasedTypingAlignmentAggregator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SequenceBasedTypingAlignmentAggregator.java @@ -187,7 +187,7 @@ public void inspectAlignment(SAMRecord record, ReferenceSequence ref, Map doFilterStage1(CSVWriter writer) List refNames2 = null; //if this read has an aligned mate, we find the intersect between its alignments - Boolean hasMate = false; + boolean hasMate = false; if (_alignmentsByReadM2.containsKey(readName)) { refNames2 = new ArrayList<>(_alignmentsByReadM2.get(readName)); @@ -383,11 +383,11 @@ private Map doFilterStage1(CSVWriter writer) for (String refName : names) { - writer.writeNext(new String[]{"Forward", readName, String.valueOf(_alignmentsByReadM1.get(readName).size()), String.valueOf(refNames.size()), refName, String.valueOf(refNames.contains(refName)), hasMate.toString()}); + writer.writeNext(new String[]{"Forward", readName, String.valueOf(_alignmentsByReadM1.get(readName).size()), String.valueOf(refNames.size()), refName, String.valueOf(refNames.contains(refName)), Boolean.toString(hasMate)}); } } - if (refNames.size() > 0) + if (!refNames.isEmpty()) { if (!_onlyImportValidPairs || hasMate) { @@ -434,7 +434,7 @@ private Map doFilterStage1(CSVWriter writer) List refNames = new ArrayList(_alignmentsByReadM2.get(mateName)); if (!_onlyImportValidPairs) { - if (refNames.size() > 0) + if (!refNames.isEmpty()) { appendReadToTotals(mateName, refNames, totals, false, true); _singletonCalls++; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SequenceBasedTypingAnalysis.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SequenceBasedTypingAnalysis.java index 3ad16b82a..58a4e41af 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SequenceBasedTypingAnalysis.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SequenceBasedTypingAnalysis.java @@ -35,7 +35,6 @@ import org.labkey.api.sequenceanalysis.pipeline.ReferenceGenome; import org.labkey.api.sequenceanalysis.pipeline.SequenceAnalysisJobSupport; import org.labkey.api.sequenceanalysis.pipeline.ToolParameterDescriptor; -import org.labkey.api.util.Compress; import org.labkey.api.util.FileUtil; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.util.Pair; @@ -184,7 +183,7 @@ public static void prepareLineageMapFiles(SequenceAnalysisJobSupport support, Lo log.info("writing lineage map file"); SQLFragment sql = new SQLFragment("SELECT r.name, r.lineage FROM " + SequenceAnalysisSchema.SCHEMA_NAME + "." + SequenceAnalysisSchema.TABLE_REF_NT_SEQUENCES + " r WHERE r.rowid IN (SELECT ref_nt_id FROM " + SequenceAnalysisSchema.SCHEMA_NAME + "." + SequenceAnalysisSchema.TABLE_REF_LIBRARY_MEMBERS + " WHERE library_id = ?)", genome.getGenomeId()); SqlSelector ss = new SqlSelector(DbScope.getLabKeyScope(), sql); - ss.forEach(new Selector.ForEachBlock() + ss.forEach(new Selector.ForEachBlock<>() { @Override public void exec(ResultSet rs) throws SQLException diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SnpCountAnalysis.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SnpCountAnalysis.java index eb46ca2a4..e554bba5d 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SnpCountAnalysis.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SnpCountAnalysis.java @@ -32,7 +32,6 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; -import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -123,8 +122,8 @@ public Output performAnalysisPerSampleLocal(AnalysisModel model, File inputBam, } String refName = m.group(1); - Integer start = Integer.parseInt(m.group(2)); - Integer stop = Integer.parseInt(m.group(3)); + int start = Integer.parseInt(m.group(2)); + int stop = Integer.parseInt(m.group(3)); getPipelineCtx().getLogger().info("calculating bases over " + refName + ": " + start + "-" + stop); calculateForInterval(writer, inputBam, indexFile, indexedFastaSequenceFile, inputBam.getName(), rs.getName(), refName, start, stop); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/UnmappedReadExportAnalysis.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/UnmappedReadExportAnalysis.java index 3ab136087..c11c3f16e 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/UnmappedReadExportAnalysis.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/UnmappedReadExportAnalysis.java @@ -35,7 +35,6 @@ import java.io.PrintWriter; import java.io.Writer; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; /** diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/assembly/TrinityRunner.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/assembly/TrinityRunner.java index 9f0e77be9..2441ab2b6 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/assembly/TrinityRunner.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/assembly/TrinityRunner.java @@ -20,7 +20,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; /** diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/bampostprocessing/ClipOverlappingAlignmentsWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/bampostprocessing/ClipOverlappingAlignmentsWrapper.java index e1784c9e7..57828cf54 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/bampostprocessing/ClipOverlappingAlignmentsWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/bampostprocessing/ClipOverlappingAlignmentsWrapper.java @@ -18,7 +18,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.LinkedHashSet; import java.util.List; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/bampostprocessing/DiscardUnmappedReadsStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/bampostprocessing/DiscardUnmappedReadsStep.java index 356017125..7955b71b9 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/bampostprocessing/DiscardUnmappedReadsStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/bampostprocessing/DiscardUnmappedReadsStep.java @@ -1,7 +1,5 @@ package org.labkey.sequenceanalysis.run.bampostprocessing; -import htsjdk.samtools.SAMFileHeader; -import htsjdk.samtools.ValidationStringency; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.model.Readset; import org.labkey.api.sequenceanalysis.pipeline.AbstractPipelineStepProvider; @@ -11,14 +9,10 @@ import org.labkey.api.sequenceanalysis.pipeline.PipelineStepProvider; import org.labkey.api.sequenceanalysis.pipeline.ReferenceGenome; import org.labkey.api.sequenceanalysis.pipeline.SamtoolsRunner; -import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; -import org.labkey.api.sequenceanalysis.pipeline.SortSamWrapper; import org.labkey.api.sequenceanalysis.run.AbstractCommandPipelineStep; import org.labkey.api.util.FileUtil; -import org.labkey.sequenceanalysis.util.SequenceUtil; import java.io.File; -import java.io.IOException; import java.util.ArrayList; import java.util.List; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/bampostprocessing/IndelRealignerStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/bampostprocessing/IndelRealignerStep.java index 887ecead8..28674283b 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/bampostprocessing/IndelRealignerStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/bampostprocessing/IndelRealignerStep.java @@ -1,6 +1,5 @@ package org.labkey.sequenceanalysis.run.bampostprocessing; -import org.json.JSONObject; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.model.Readset; import org.labkey.api.sequenceanalysis.pipeline.AbstractPipelineStepProvider; @@ -9,13 +8,11 @@ import org.labkey.api.sequenceanalysis.pipeline.PipelineContext; import org.labkey.api.sequenceanalysis.pipeline.PipelineStepProvider; import org.labkey.api.sequenceanalysis.pipeline.ReferenceGenome; -import org.labkey.api.sequenceanalysis.pipeline.ToolParameterDescriptor; import org.labkey.api.sequenceanalysis.run.AbstractCommandPipelineStep; import org.labkey.api.util.FileUtil; import org.labkey.sequenceanalysis.run.util.IndelRealignerWrapper; import java.io.File; -import java.util.Arrays; import java.util.Collections; /** diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/BlastFilterPipelineStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/BlastFilterPipelineStep.java index 2389457d9..5eb589002 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/BlastFilterPipelineStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/BlastFilterPipelineStep.java @@ -174,7 +174,7 @@ public PreprocessingOutputImpl processInputFile(File inputFile1, @Nullable File try (CSVReader reader = new CSVReader(Readers.getReader(blastOutput), '\t')) { String[] line; - while ((line = reader.readNext()) != null) + while (reader.readNext() != null) { } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/CutadaptWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/CutadaptWrapper.java index ea181f661..be370eef0 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/CutadaptWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/CutadaptWrapper.java @@ -11,7 +11,6 @@ import org.labkey.api.sequenceanalysis.pipeline.PipelineContext; import org.labkey.api.sequenceanalysis.pipeline.PipelineStepProvider; import org.labkey.api.sequenceanalysis.pipeline.PreprocessingStep; -import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; import org.labkey.api.sequenceanalysis.run.AbstractCommandPipelineStep; import org.labkey.api.sequenceanalysis.run.AbstractCommandWrapper; import org.labkey.api.sequenceanalysis.pipeline.CommandLineParam; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/DownsampleFastqWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/DownsampleFastqWrapper.java index e5dbd4ece..c1c2939e8 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/DownsampleFastqWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/DownsampleFastqWrapper.java @@ -20,7 +20,6 @@ import org.labkey.sequenceanalysis.util.FastqUtils; import java.io.File; -import java.util.Arrays; import java.util.List; /** diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/SeqtkRunner.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/SeqtkRunner.java index a4cad8dbe..7aecb1e55 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/SeqtkRunner.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/SeqtkRunner.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.preprocessing; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/Sff2FastqRunner.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/Sff2FastqRunner.java index ea43218f9..eb8815aa3 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/Sff2FastqRunner.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/Sff2FastqRunner.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.preprocessing; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; @@ -10,8 +9,6 @@ import java.io.File; import java.util.LinkedList; import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; /** * User: bimber diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/TrimmomaticWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/TrimmomaticWrapper.java index 97870629c..2494c8504 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/TrimmomaticWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/preprocessing/TrimmomaticWrapper.java @@ -152,7 +152,7 @@ public List getAdditionalParams(PipelineContext ctx, PreprocessingOutput @Override public Double getThreshold(PipelineContext ctx, int stepIdx) { - Double ret = 0.0; + double ret = 0.0; for (Pair provider : _providers) { Double val = provider.first.getParameterByName(MIN_PCT_RETAINED).extractValue(ctx.getJob(), this, stepIdx, Double.class); @@ -795,8 +795,8 @@ else if ((header != null && header.getPairNumber() == 2) || name.endsWith("/2")) } } - Double avgBasesTrimmed = totalReadsTrimmed == 0 ? 0 : (double)totalBasesTrimmed / (double)totalReadsTrimmed; - Double avgReadLength = totalReadsTrimmed == 0 ? 0 : (double)totalLength / (double)totalReadsRetained; + double avgBasesTrimmed = totalReadsTrimmed == 0 ? 0 : (double)totalBasesTrimmed / (double)totalReadsTrimmed; + double avgReadLength = totalReadsTrimmed == 0 ? 0 : (double)totalLength / (double)totalReadsRetained; Double pctRetained =(double)totalReadsRetained / totalInspected; results.add(pctRetained); StringBuilder summary = new StringBuilder(); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/AASnp.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/AASnp.java index 83f79d974..79f774cf0 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/AASnp.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/AASnp.java @@ -97,7 +97,7 @@ private void calculateResidues() _log.error("unable to translate string: " + _codon, e); } - if (_residueString == null || "".equals(_residueString)) + if (_residueString == null || _residueString.isEmpty()) { _residueString = "*"; } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/AbstractGenomicsDBImportHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/AbstractGenomicsDBImportHandler.java index a44f756c5..4b281369c 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/AbstractGenomicsDBImportHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/AbstractGenomicsDBImportHandler.java @@ -629,7 +629,7 @@ else if (genomeIds.isEmpty()) } Integer maxRam = SequencePipelineService.get().getMaxRam(); - Integer nativeMemoryBuffer = ctx.getParams().optInt("nativeMemoryBuffer", 0); + int nativeMemoryBuffer = ctx.getParams().optInt("nativeMemoryBuffer", 0); if (maxRam != null && nativeMemoryBuffer > 0) { ctx.getLogger().info("Adjusting RAM based on memory buffer (" + nativeMemoryBuffer + "), from: " + maxRam); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/BlastNWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/BlastNWrapper.java index 9a7ce1075..278d9cdbf 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/BlastNWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/BlastNWrapper.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.pipeline.PipelineJobService; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/CollectWgsMetricsWithNonZeroCoverageWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/CollectWgsMetricsWithNonZeroCoverageWrapper.java index 2a658ccb8..19cde181f 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/CollectWgsMetricsWithNonZeroCoverageWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/CollectWgsMetricsWithNonZeroCoverageWrapper.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; /** * Created by bimber on 6/29/2017. diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/CombineGVCFsHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/CombineGVCFsHandler.java index 302b460a8..b4940a6c7 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/CombineGVCFsHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/CombineGVCFsHandler.java @@ -170,7 +170,7 @@ public void processFilesRemote(List inputFiles, JobContext c } } - wrapper.execute(genome.getWorkingFastaFile(), outputFile, options, vcfsToProcess.toArray(new File[vcfsToProcess.size()])); + wrapper.execute(genome.getWorkingFastaFile(), outputFile, options, vcfsToProcess.toArray(new File[0])); } if (!outputFile.exists()) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/CombineGVCFsWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/CombineGVCFsWrapper.java index cb60e086f..11d71fad0 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/CombineGVCFsWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/CombineGVCFsWrapper.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.SequenceAnalysisService; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/DepthOfCoverageWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/DepthOfCoverageWrapper.java index cb3524686..89d2dfd19 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/DepthOfCoverageWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/DepthOfCoverageWrapper.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.run.AbstractGatk4Wrapper; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/DownsampleSamWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/DownsampleSamWrapper.java index 1b8a7bcd1..048d47a5a 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/DownsampleSamWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/DownsampleSamWrapper.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.run.PicardWrapper; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/EstimateLibraryComplexityWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/EstimateLibraryComplexityWrapper.java index 5c93dc51d..a15102d07 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/EstimateLibraryComplexityWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/EstimateLibraryComplexityWrapper.java @@ -2,7 +2,6 @@ import htsjdk.samtools.SAMFileHeader; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.SamSorter; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastaIndexer.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastaIndexer.java index d34f47e91..401d4944e 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastaIndexer.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastaIndexer.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.SamtoolsRunner; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqToSamWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqToSamWrapper.java index 447056f9f..33cfc5a0c 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqToSamWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqToSamWrapper.java @@ -4,7 +4,6 @@ import htsjdk.samtools.SAMReadGroupRecord; import htsjdk.samtools.util.FastqQualityFormat; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.run.PicardWrapper; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqcRunner.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqcRunner.java index 8252c7876..8871efc4a 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqcRunner.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqcRunner.java @@ -46,13 +46,11 @@ import java.io.InputStreamReader; import java.io.StringWriter; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import java.util.zip.GZIPInputStream; /** diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FixMateInformationWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FixMateInformationWrapper.java index 345146b6a..09512ba1d 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FixMateInformationWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FixMateInformationWrapper.java @@ -2,7 +2,6 @@ import htsjdk.samtools.SAMFileHeader; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.run.PicardWrapper; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FlagStatRunner.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FlagStatRunner.java index c6d6342c2..6da5d24ce 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FlagStatRunner.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FlagStatRunner.java @@ -2,7 +2,6 @@ import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.SamtoolsRunner; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FlashWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FlashWrapper.java index f2e0f63d7..cbd57fffc 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FlashWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FlashWrapper.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/GFFReadWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/GFFReadWrapper.java index 3d5b5ec25..239c2d47d 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/GFFReadWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/GFFReadWrapper.java @@ -2,10 +2,8 @@ import org.apache.commons.io.FileUtils; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; -import org.labkey.api.sequenceanalysis.SequenceAnalysisService; import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; import org.labkey.api.sequenceanalysis.run.AbstractCommandWrapper; import org.labkey.api.util.FileUtil; @@ -66,7 +64,7 @@ public File sortGxf(File gxf, @Nullable File output) throws PipelineJobException } Double lineCountStart = ((Long)SequencePipelineService.get().getLineCount(gxf)).doubleValue(); - Double lineCountEnd = ((Long)SequencePipelineService.get().getLineCount(outputFile)).doubleValue(); + double lineCountEnd = ((Long)SequencePipelineService.get().getLineCount(outputFile)).doubleValue(); if (lineCountEnd == 0) { throw new PipelineJobException("No lines remain after sorting"); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/IdxStatsRunner.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/IdxStatsRunner.java index 872b7b68a..900f8d889 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/IdxStatsRunner.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/IdxStatsRunner.java @@ -2,7 +2,6 @@ import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.SamtoolsRunner; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/ImmunoGenotypingWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/ImmunoGenotypingWrapper.java index 6a9a42484..b79adfb0c 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/ImmunoGenotypingWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/ImmunoGenotypingWrapper.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.run.AbstractDiscvrSeqWrapper; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/LiftoverVcfWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/LiftoverVcfWrapper.java index 032e9bd50..165d551df 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/LiftoverVcfWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/LiftoverVcfWrapper.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.SequenceAnalysisService; @@ -9,7 +8,6 @@ import java.io.File; import java.io.IOException; -import java.util.Date; import java.util.List; /** diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/MarkDuplicatesWithMateCigarWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/MarkDuplicatesWithMateCigarWrapper.java index 4401676c7..ec0eaacaa 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/MarkDuplicatesWithMateCigarWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/MarkDuplicatesWithMateCigarWrapper.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; /** * Created by bimber on 5/5/2016. diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/MergeBamAlignmentWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/MergeBamAlignmentWrapper.java index 171bf5d07..4e58dd717 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/MergeBamAlignmentWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/MergeBamAlignmentWrapper.java @@ -74,7 +74,7 @@ public File executeCommand(File refFasta, File alignedBam, List try (SamReader reader = fact.open(alignedBam)) { SAMFileHeader header = reader.getFileHeader(); - if (header.getReadGroups().size() == 0) + if (header.getReadGroups().isEmpty()) { getLogger().warn("No read groups found in input BAM"); } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/MultiAllelicPositionWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/MultiAllelicPositionWrapper.java index d6aae4137..801cdc082 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/MultiAllelicPositionWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/MultiAllelicPositionWrapper.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.run.AbstractDiscvrSeqWrapper; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/NTSnp.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/NTSnp.java index 64f62ea0e..6156d97f3 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/NTSnp.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/NTSnp.java @@ -37,7 +37,6 @@ public NTSnp(CigarPositionIterable.PositionInfo pi) /** * 0-based, -1 indicates an insertion - * @return */ public int getReferencePosition() { @@ -46,7 +45,6 @@ public int getReferencePosition() /** * 0-based, -1 indicates a deletion - * @return */ public int getReadPosition() { @@ -79,7 +77,6 @@ public int getLastReadPosition() /** * Returns the last reference position that was overlapped (0-based). Primarily used for insertions relative to the reference, * in order to find the previous reference position. For non-insertions, this will return the same value as getRefPosition() - * @return */ public int getLastRefPosition() { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/PARalyzerRunner.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/PARalyzerRunner.java index 989fd8d72..08bbfcc58 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/PARalyzerRunner.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/PARalyzerRunner.java @@ -2,7 +2,6 @@ import htsjdk.samtools.SAMFileHeader; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.SamSorter; @@ -38,7 +37,7 @@ public File execute(File inputBam, File outDir, File twoBit, Map setOutputDir(outDir); //ensure sort order - File bam = inputBam; + File bam; if (SequenceUtil.getBamSortOrder(inputBam) != SAMFileHeader.SortOrder.queryname) { getLogger().info("Queryname Sorting BAM: " + inputBam.getPath()); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/RnaSeQCWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/RnaSeQCWrapper.java index 9cb630b60..aeb02da02 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/RnaSeQCWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/RnaSeQCWrapper.java @@ -4,7 +4,6 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.pipeline.PipelineJobService; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SFFExtractRunner.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SFFExtractRunner.java index 59df24a4d..1ed2beb34 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SFFExtractRunner.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SFFExtractRunner.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.util.FileUtil; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SamFormatConverterWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SamFormatConverterWrapper.java index 8f2830fd4..bb15b5f13 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SamFormatConverterWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SamFormatConverterWrapper.java @@ -2,7 +2,6 @@ import org.apache.commons.lang3.time.DurationFormatUtils; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.run.PicardWrapper; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SortVcfWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SortVcfWrapper.java index bb2431144..17a0f583a 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SortVcfWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SortVcfWrapper.java @@ -2,7 +2,6 @@ import org.apache.commons.io.FileUtils; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.SequenceAnalysisService; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SplitNCigarReadsWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SplitNCigarReadsWrapper.java index 1dc0f4584..512192409 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SplitNCigarReadsWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/SplitNCigarReadsWrapper.java @@ -2,7 +2,6 @@ import htsjdk.samtools.SAMFileHeader; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.SamSorter; import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/TabixRunner.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/TabixRunner.java index a242b5549..528cadd8e 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/TabixRunner.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/TabixRunner.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/VariantEvalWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/VariantEvalWrapper.java index ca1751879..2448152b3 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/VariantEvalWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/VariantEvalWrapper.java @@ -2,7 +2,6 @@ import htsjdk.samtools.util.Interval; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.run.AbstractGatk4Wrapper; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/DepthOfCoverageHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/DepthOfCoverageHandler.java index 6ac70c371..893f56d8a 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/DepthOfCoverageHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/DepthOfCoverageHandler.java @@ -131,20 +131,20 @@ public void processFilesRemote(List inputFiles, JobContext c extraArgs.addAll(DepthOfCoverageWrapper.generateIntervalArgsForFullGenome(rg, intervalList)); } - Integer mmq = ctx.getParams().optInt("mmq"); + int mmq = ctx.getParams().optInt("mmq"); if (mmq > 0) { extraArgs.add("--read-filter"); extraArgs.add("MappingQualityReadFilter"); extraArgs.add("--minimum-mapping-quality"); - extraArgs.add(mmq.toString()); + extraArgs.add(Integer.toString(mmq)); } - Integer mbq = ctx.getParams().optInt("mbq"); + int mbq = ctx.getParams().optInt("mbq"); if (mbq > 0) { extraArgs.add("--min-base-quality"); - extraArgs.add(mbq.toString()); + extraArgs.add(Integer.toString(mbq)); } extraArgs.add("--omit-locus-table"); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/GenotypeConcordanceStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/GenotypeConcordanceStep.java index 0ee8d3488..61b82cc4e 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/GenotypeConcordanceStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/GenotypeConcordanceStep.java @@ -208,7 +208,7 @@ private boolean annotationsPresent(File inputVcf) } } - private class DiscordantTracker + private static class DiscordantTracker { long totalCompared = 0L; long totalDiscordant = 0L; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/MultiAllelicPositionsHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/MultiAllelicPositionsHandler.java index 8839549c8..5488eea27 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/MultiAllelicPositionsHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/MultiAllelicPositionsHandler.java @@ -111,11 +111,11 @@ public void processFilesRemote(List inputFiles, JobContext c File outputFile = new File(ctx.getOutputDir(), basename + ".bed"); List options = new ArrayList<>(); - Integer minDepth = ctx.getParams().optInt("minDepth", 0); + int minDepth = ctx.getParams().optInt("minDepth", 0); if (minDepth > 0) { options.add("-minDepth"); - options.add(minDepth.toString()); + options.add(Integer.toString(minDepth)); } MultiAllelicPositionWrapper wrapper = new MultiAllelicPositionWrapper(ctx.getLogger()); @@ -125,7 +125,7 @@ public void processFilesRemote(List inputFiles, JobContext c throw new PipelineJobException("Unable to find expected file:" + outputFile.getPath()); } - Integer callThreshold = ctx.getParams().optInt("callThreshold", 0); + int callThreshold = ctx.getParams().optInt("callThreshold", 0); if (callThreshold > 0) { ctx.getLogger().info("will only report sites present in at least " + callThreshold + " samples"); @@ -140,7 +140,7 @@ public void processFilesRemote(List inputFiles, JobContext c while ((line = reader.readNext()) != null) { totalLines++; - Integer val = Integer.parseInt(line[4]); + int val = Integer.parseInt(line[4]); if (val < callThreshold) { linesFiltered++; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SnpEffWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SnpEffWrapper.java index 70f91bcf7..4f82587d4 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SnpEffWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SnpEffWrapper.java @@ -2,7 +2,6 @@ import org.apache.commons.io.FileUtils; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.pipeline.PipelineJobService; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SplitVcfBySamplesStep.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SplitVcfBySamplesStep.java index 20c076c54..de8480264 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SplitVcfBySamplesStep.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/SplitVcfBySamplesStep.java @@ -13,7 +13,6 @@ import org.labkey.api.sequenceanalysis.pipeline.PipelineStepProvider; import org.labkey.api.sequenceanalysis.pipeline.ReferenceGenome; import org.labkey.api.sequenceanalysis.pipeline.SequenceOutputHandler; -import org.labkey.api.sequenceanalysis.pipeline.TaskFileManager; import org.labkey.api.sequenceanalysis.pipeline.ToolParameterDescriptor; import org.labkey.api.sequenceanalysis.pipeline.VariantProcessingStep; import org.labkey.api.sequenceanalysis.pipeline.VariantProcessingStepOutputImpl; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantQCWrapper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantQCWrapper.java index ce6bdfa0c..58ed0c88b 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantQCWrapper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantQCWrapper.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.run.variant; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.run.AbstractDiscvrSeqWrapper; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/AbstractSequenceMatcher.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/AbstractSequenceMatcher.java index 22e5b67ec..56a325281 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/AbstractSequenceMatcher.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/AbstractSequenceMatcher.java @@ -5,7 +5,6 @@ import htsjdk.samtools.fastq.FastqWriter; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.util.Pair; import org.labkey.sequenceanalysis.model.SequenceTag; @@ -223,7 +222,7 @@ protected void scanForMatches(FastqRecord rec, Collection barcodes5 } i++; - if (matches5.size() > 0) + if (!matches5.isEmpty()) break; } } @@ -240,7 +239,7 @@ protected void scanForMatches(FastqRecord rec, Collection barcodes5 } i++; - if (matches5.size() > 0) + if (!matches5.isEmpty()) break; } } @@ -280,7 +279,7 @@ protected void scanForMatches(FastqRecord rec, Collection barcodes5 } i++; - if (matches3.size() > 0) + if (!matches3.isEmpty()) break; } } @@ -297,7 +296,7 @@ protected void scanForMatches(FastqRecord rec, Collection barcodes5 } i++; - if (matches3.size() > 0) + if (!matches3.isEmpty()) break; } } @@ -306,7 +305,7 @@ protected void scanForMatches(FastqRecord rec, Collection barcodes5 protected SequenceMatch findBestMatch(Map> matchesMap, Map counter) { SequenceMatch bestMatch = null; - if (matchesMap.size() > 0) + if (!matchesMap.isEmpty()) { //get the match w/ the lowest edit distance Map matches = matchesMap.get(matchesMap.keySet().iterator().next()); @@ -335,7 +334,7 @@ public File getSummaryLogFile() return _createSummaryLog ? _summaryLog : null; } - protected class SequenceMatch + protected static class SequenceMatch { private final FastqRecord _rec; private final SequenceTag _tag; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/Barcoder.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/Barcoder.java index 2a112db8c..43b40ba6e 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/Barcoder.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/Barcoder.java @@ -35,7 +35,6 @@ import java.io.PrintStream; import java.text.NumberFormat; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashMap; @@ -277,7 +276,7 @@ public Set demultiplexPairs(List> fastqPairs, List 0) + if (!_otherMatches.isEmpty()) { _logger.info("Reads Not Matching A Readset:"); for (String key : _otherMatches.keySet()) @@ -657,13 +656,13 @@ private void testBarcoder(Logger log, int editDistance, int offset, int deletion String mid5 = readname[0].split("-")[0]; String mid3 = readname[1].split("-")[0]; - Integer editDist5 = Integer.parseInt(readname[0].split("-")[1].substring(0, 1)); - Integer offset5 = Integer.parseInt(readname[0].split("-")[1].substring(1, 2)); - Integer deletion5 = Integer.parseInt(readname[0].split("-")[1].substring(2, 3)); + int editDist5 = Integer.parseInt(readname[0].split("-")[1].substring(0, 1)); + int offset5 = Integer.parseInt(readname[0].split("-")[1].substring(1, 2)); + int deletion5 = Integer.parseInt(readname[0].split("-")[1].substring(2, 3)); - Integer editDist3 = Integer.parseInt(readname[1].split("-")[1].substring(0, 1)); - Integer offset3 = Integer.parseInt(readname[1].split("-")[1].substring(1, 2)); - Integer deletion3 = Integer.parseInt(readname[1].split("-")[1].substring(2, 3)); + int editDist3 = Integer.parseInt(readname[1].split("-")[1].substring(0, 1)); + int offset3 = Integer.parseInt(readname[1].split("-")[1].substring(1, 2)); + int deletion3 = Integer.parseInt(readname[1].split("-")[1].substring(2, 3)); boolean shouldFindMid5 = editDist5 <= editDistance && offset5 <= offset && deletion5 <= deletions; @@ -672,8 +671,8 @@ private void testBarcoder(Logger log, int editDistance, int offset, int deletion Assert.assertEquals("Incorrect 5' barcode on line: " + lineNum, (shouldFindMid5 ? mid5 : ""), line[2]); Assert.assertEquals("Incorrect 3' barcode on line: " + lineNum, (shouldFindMid3 ? mid3 : ""), line[3]); - Assert.assertEquals("Incorrect 5' editDistance on line: " + lineNum, (shouldFindMid5 ? editDist5.toString() : ""), line[4]); - Assert.assertEquals("Incorrect 3' editDistance on line: " + lineNum, (shouldFindMid3 ? editDist3.toString() : ""), line[5]); + Assert.assertEquals("Incorrect 5' editDistance on line: " + lineNum, (shouldFindMid5 ? Integer.toString(editDist5) : ""), line[4]); + Assert.assertEquals("Incorrect 3' editDistance on line: " + lineNum, (shouldFindMid3 ? Integer.toString(editDist3) : ""), line[5]); Integer barcodeLength = 10; //all barcodes are 10bp in this test @@ -768,7 +767,7 @@ private BarcodeModel[] getBarcodes() names.add(rs.getBarcode3()); } - return BarcodeModel.getByNames(names.toArray(new String[names.size()])); + return BarcodeModel.getByNames(names.toArray(new String[0])); } private List getReadsets() diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/ChainFileValidator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/ChainFileValidator.java index 9055c0cbe..a3715b491 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/ChainFileValidator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/ChainFileValidator.java @@ -77,7 +77,7 @@ public File processChainFile(File chainFile, int sourceGenome, int targetGenome, List errors = new ArrayList<>(); while ((line = reader.readLine()) != null) { - if (line.equals("") || line.startsWith("#")) + if (line.isEmpty() || line.startsWith("#")) { continue; } @@ -292,7 +292,7 @@ private String resolveSequenceId(String refName, int genomeId) { final Map cachedReferences = new CaseInsensitiveHashMap<>(); SqlSelector ss = new SqlSelector(DbScope.getLabKeyScope(), new SQLFragment("SELECT r.rowid, r.name, r.genbank, r.refSeqId, r.aliases FROM sequenceanalysis.ref_nt_sequences r WHERE r.rowid IN (SELECT ref_nt_id FROM sequenceanalysis.reference_library_members m WHERE m.library_id = ?) ", genomeId)); - ss.forEach(new Selector.ForEachBlock() + ss.forEach(new Selector.ForEachBlock<>() { @Override public void exec(ResultSet rs) throws SQLException @@ -340,16 +340,16 @@ else if (name.startsWith("chr")) TableSelector ts = new TableSelector(SequenceAnalysisSchema.getTable(SequenceAnalysisSchema.TABLE_REF_LIBRARY_MEMBERS), PageFlowUtil.set("ref_nt_id", "alias"), filter, null); if (ts.exists()) { - ts.forEachResults(new Selector.ForEachBlock() - { - @Override - public void exec(Results rs) throws SQLException - { - String name = RefNtSequenceModel.getForRowId(rs.getInt(FieldKey.fromString("ref_nt_id"))).getName(); - String alias = rs.getString(FieldKey.fromString("alias")); - cachedReferences.put(alias, name); - } - }); + ts.forEachResults(new Selector.ForEachBlock<>() + { + @Override + public void exec(Results rs) throws SQLException + { + String name = RefNtSequenceModel.getForRowId(rs.getInt(FieldKey.fromString("ref_nt_id"))).getName(); + String alias = rs.getString(FieldKey.fromString("alias")); + cachedReferences.put(alias, name); + } + }); } _cachedReferencesByGenome.put(genomeId, cachedReferences); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/CreateUnalignedFastq.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/CreateUnalignedFastq.java index 1e47fe50c..3f4b64a2a 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/CreateUnalignedFastq.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/CreateUnalignedFastq.java @@ -8,7 +8,6 @@ import htsjdk.samtools.fastq.FastqWriter; import htsjdk.samtools.fastq.FastqWriterFactory; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.util.FileUtil; import org.labkey.api.util.Pair; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastaToFastqConverter.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastaToFastqConverter.java index 5f7d908da..86e4bb35f 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastaToFastqConverter.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastaToFastqConverter.java @@ -6,7 +6,6 @@ import htsjdk.samtools.reference.FastaSequenceFile; import htsjdk.samtools.reference.ReferenceSequence; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import java.io.File; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastqMerger.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastqMerger.java index 156dfc79b..013f0f5f5 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastqMerger.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastqMerger.java @@ -3,7 +3,6 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.SystemUtils; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.reader.Readers; import org.labkey.api.sequenceanalysis.run.SimpleScriptWrapper; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastqToFastaConverter.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastqToFastaConverter.java index 545dcda92..2c833b8c9 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastqToFastaConverter.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastqToFastaConverter.java @@ -4,7 +4,6 @@ import htsjdk.samtools.fastq.FastqRecord; import htsjdk.samtools.util.IOUtil; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.pipeline.PipelineJobException; import java.io.BufferedWriter; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastqUtils.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastqUtils.java index 2aea8b583..785a45ead 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastqUtils.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/FastqUtils.java @@ -23,7 +23,6 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.Nullable; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.util.FileType; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/MultiFeatureIterator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/MultiFeatureIterator.java index feaf23272..cd78cc183 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/MultiFeatureIterator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/MultiFeatureIterator.java @@ -34,7 +34,7 @@ public MultiFeatureIterator(Collection> readers, Comparator< for (FeatureReader reader : readers) { - _queue.add(new ComparableFeatureIterator(reader.iterator(), comparator)); + _queue.add(new ComparableFeatureIterator<>(reader.iterator(), comparator)); } } @@ -52,7 +52,7 @@ private void startIterationIfRequired() for (final Iterator iterator : _iterators) { - addIfNotEmpty(new ComparableFeatureIterator(iterator, _comparator)); + addIfNotEmpty(new ComparableFeatureIterator<>(iterator, _comparator)); } _initialized = true; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/ReferenceLibraryHelperImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/ReferenceLibraryHelperImpl.java index 3490758a2..d6514891b 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/ReferenceLibraryHelperImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/ReferenceLibraryHelperImpl.java @@ -1,7 +1,6 @@ package org.labkey.sequenceanalysis.util; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.reader.Readers; import org.labkey.api.sequenceanalysis.ReferenceLibraryHelper; @@ -21,7 +20,7 @@ public class ReferenceLibraryHelperImpl implements ReferenceLibraryHelper { private final File _refFasta; - private Logger _log = null; + private Logger _log; private final Map _cachedIds = new HashMap<>(); private final Map _cachedAccessions = new HashMap<>(); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/TranslatingReferenceSequence.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/TranslatingReferenceSequence.java index 666edabe9..6dce152df 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/TranslatingReferenceSequence.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/TranslatingReferenceSequence.java @@ -71,8 +71,6 @@ private void queryDb() /** * - * @param readSnps - * @return */ public List translateSnpsForRead(Map> readSnps) { @@ -233,7 +231,7 @@ private List translateSnp(NTSnp pi, Map> readSnps) StringBuilder codon = new StringBuilder(); //to track the SNPs that comprise this codon, 0-based - Map snpMap = new HashMap(); + Map snpMap = new HashMap<>(); Integer positionInCodon = null; //0-based for (Integer p : positions) //1-based { @@ -242,7 +240,7 @@ private List translateSnp(NTSnp pi, Map> readSnps) { StringBuilder thisSegment = new StringBuilder(); int positionInSegment = 0; - Map snpMapForSegment = new HashMap(); //0-based + Map snpMapForSegment = new HashMap<>(); //0-based //force sorting by idx List otherSnps = readSnps.get(position); @@ -300,7 +298,7 @@ private List translateSnp(NTSnp pi, Map> readSnps) assert positionInCodon != null; if (codon.length() <= 4) { - List snpList = new ArrayList(snpMap.values()); + List snpList = new ArrayList<>(snpMap.values()); snps.add(new AASnp(pi, model, aaPosInProtein, 0, codon.toString(), frame, snpList, _nt.getSequenceBases())); } else @@ -309,7 +307,7 @@ private List translateSnp(NTSnp pi, Map> readSnps) int start = aaInsertIndex * 3; int stop = (codon.length() - start) <= 4 ? codon.length() : start + 3; String tmpCodon = codon.substring(start, stop); - List snpList = new ArrayList(); + List snpList = new ArrayList<>(); for (int j = start; j 0) { - Integer rowId2 = Integer.valueOf(srr.getRows().get(0).get("rowid").toString()); + int rowId2 = Integer.parseInt(srr.getRows().get(0).get("rowid").toString()); log("initial rowId: " + rowId + ", after: " + rowId2); } diff --git a/Studies/test/src/org/labkey/test/tests/studies/StudiesTest.java b/Studies/test/src/org/labkey/test/tests/studies/StudiesTest.java index 35db63d66..baf7d1d3b 100644 --- a/Studies/test/src/org/labkey/test/tests/studies/StudiesTest.java +++ b/Studies/test/src/org/labkey/test/tests/studies/StudiesTest.java @@ -23,7 +23,7 @@ protected void doCleanup(boolean afterTest) throws TestTimeoutException @BeforeClass public static void setupProject() { - StudiesTest init = (StudiesTest)getCurrentTest(); + StudiesTest init = getCurrentTest(); init.doSetup(); } diff --git a/blast/src/org/labkey/blast/BLASTController.java b/blast/src/org/labkey/blast/BLASTController.java index d511beae8..06ec27082 100644 --- a/blast/src/org/labkey/blast/BLASTController.java +++ b/blast/src/org/labkey/blast/BLASTController.java @@ -88,7 +88,7 @@ public BLASTController() } @RequiresPermission(AdminPermission.class) - public class GetSettingsAction extends ReadOnlyApiAction + public static class GetSettingsAction extends ReadOnlyApiAction { @Override public ApiResponse execute(Object form, BindException errors) @@ -104,7 +104,7 @@ public ApiResponse execute(Object form, BindException errors) } @RequiresSiteAdmin - public class SetSettingsAction extends MutatingApiAction + public static class SetSettingsAction extends MutatingApiAction { @Override public ApiResponse execute(SettingsForm form, BindException errors) @@ -150,7 +150,7 @@ public void setBlastBinDir(String blastBinDir) } @RequiresPermission(InsertPermission.class) - public class CreateDatabaseAction extends MutatingApiAction + public static class CreateDatabaseAction extends MutatingApiAction { @Override public ApiResponse execute(DatabaseForm form, BindException errors) @@ -179,7 +179,7 @@ public ApiResponse execute(DatabaseForm form, BindException errors) } @RequiresPermission(ReadPermission.class) - public class RunBlastAction extends AbstractFileUploadAction + public static class RunBlastAction extends AbstractFileUploadAction { @Override protected void setContentType(HttpServletResponse response) @@ -467,7 +467,7 @@ public void setLibraryIds(Integer[] libraryIds) } @RequiresPermission(AdminPermission.class) - public class RecreateDatabaseAction extends MutatingApiAction + public static class RecreateDatabaseAction extends MutatingApiAction { @Override public ApiResponse execute(RecreateDatabaseForm form, BindException errors) @@ -530,7 +530,7 @@ public void setDatabaseIds(String[] databaseIds) } @RequiresPermission(ReadPermission.class) - public class JobDetailsAction extends SimpleViewAction + public static class JobDetailsAction extends SimpleViewAction { @Override public ModelAndView getView(BlastResultForm form, BindException errors) throws Exception @@ -571,7 +571,7 @@ public void setJobId(String jobId) @RequiresPermission(ReadPermission.class) @IgnoresTermsOfUse - public class DownloadBlastResultsAction extends ExportAction + public static class DownloadBlastResultsAction extends ExportAction { @Override public void export(DownloadBlastResultsForm form, HttpServletResponse response, BindException errors) throws Exception diff --git a/blast/src/org/labkey/blast/BLASTMaintenanceTask.java b/blast/src/org/labkey/blast/BLASTMaintenanceTask.java index b1d3fa8d7..87c70d870 100644 --- a/blast/src/org/labkey/blast/BLASTMaintenanceTask.java +++ b/blast/src/org/labkey/blast/BLASTMaintenanceTask.java @@ -1,7 +1,6 @@ package org.labkey.blast; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.apache.tomcat.util.http.fileupload.FileUtils; import org.labkey.api.collections.CaseInsensitiveHashSet; import org.labkey.api.data.Container; diff --git a/blast/src/org/labkey/blast/BLASTUpgradeCode.java b/blast/src/org/labkey/blast/BLASTUpgradeCode.java index 547d676d5..8651ce0fd 100644 --- a/blast/src/org/labkey/blast/BLASTUpgradeCode.java +++ b/blast/src/org/labkey/blast/BLASTUpgradeCode.java @@ -5,7 +5,6 @@ import org.apache.logging.log4j.LogManager; import org.labkey.api.data.Container; import org.labkey.api.data.ContainerManager; -import org.labkey.api.data.DbSchema; import org.labkey.api.data.DbScope; import org.labkey.api.data.PropertyManager; import org.labkey.api.data.SQLFragment; @@ -17,12 +16,9 @@ import org.labkey.api.module.ModuleContext; import org.labkey.api.pipeline.PipelineService; import org.labkey.api.query.FieldKey; -import org.labkey.api.util.FileUtil; import org.labkey.api.util.PageFlowUtil; -import org.labkey.blast.model.BlastJob; import java.io.File; -import java.io.IOException; import java.util.List; import java.util.Map; diff --git a/blast/src/org/labkey/blast/BlastGenomeTrigger.java b/blast/src/org/labkey/blast/BlastGenomeTrigger.java index 2326b5797..3359fcc74 100644 --- a/blast/src/org/labkey/blast/BlastGenomeTrigger.java +++ b/blast/src/org/labkey/blast/BlastGenomeTrigger.java @@ -1,7 +1,6 @@ package org.labkey.blast; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.data.Container; import org.labkey.api.data.ContainerManager; import org.labkey.api.data.SimpleFilter; diff --git a/blast/src/org/labkey/blast/button/CreateDatabaseButton.java b/blast/src/org/labkey/blast/button/CreateDatabaseButton.java index 8b85fd1b0..ce6fe2166 100644 --- a/blast/src/org/labkey/blast/button/CreateDatabaseButton.java +++ b/blast/src/org/labkey/blast/button/CreateDatabaseButton.java @@ -5,7 +5,6 @@ import org.labkey.api.view.template.ClientDependency; import org.labkey.blast.BLASTModule; -import java.util.Arrays; import java.util.List; /** diff --git a/blast/src/org/labkey/blast/model/BlastJob.java b/blast/src/org/labkey/blast/model/BlastJob.java index 86890a9de..fd1e6923d 100644 --- a/blast/src/org/labkey/blast/model/BlastJob.java +++ b/blast/src/org/labkey/blast/model/BlastJob.java @@ -375,7 +375,7 @@ private void addAlignment(String sname, int qLen, int sLen, int alignLen) } } - class Alignment + static class Alignment { final int qLength; final int sLength; diff --git a/blast/src/org/labkey/blast/pipeline/BlastDatabaseTask.java b/blast/src/org/labkey/blast/pipeline/BlastDatabaseTask.java index d92154943..d65cc3ab8 100644 --- a/blast/src/org/labkey/blast/pipeline/BlastDatabaseTask.java +++ b/blast/src/org/labkey/blast/pipeline/BlastDatabaseTask.java @@ -32,7 +32,6 @@ import java.io.File; import java.io.IOException; import java.io.PrintWriter; -import java.util.Arrays; import java.util.Collections; import java.util.List; diff --git a/blast/src/org/labkey/blast/pipeline/BlastFinalTask.java b/blast/src/org/labkey/blast/pipeline/BlastFinalTask.java index 6824d3a6f..9e868b666 100644 --- a/blast/src/org/labkey/blast/pipeline/BlastFinalTask.java +++ b/blast/src/org/labkey/blast/pipeline/BlastFinalTask.java @@ -19,13 +19,9 @@ import org.labkey.api.pipeline.AbstractTaskFactorySettings; import org.labkey.api.pipeline.PipelineJob; import org.labkey.api.pipeline.PipelineJobException; -import org.labkey.api.pipeline.RecordedAction; import org.labkey.api.pipeline.RecordedActionSet; import org.labkey.api.util.FileType; -import org.labkey.blast.BLASTWrapper; -import java.io.IOException; -import java.util.Arrays; import java.util.Collections; import java.util.List; diff --git a/blast/src/org/labkey/blast/pipeline/BlastWorkTask.java b/blast/src/org/labkey/blast/pipeline/BlastWorkTask.java index b94a39f29..6f8e34919 100644 --- a/blast/src/org/labkey/blast/pipeline/BlastWorkTask.java +++ b/blast/src/org/labkey/blast/pipeline/BlastWorkTask.java @@ -25,7 +25,6 @@ import org.labkey.blast.BLASTWrapper; import java.io.IOException; -import java.util.Arrays; import java.util.Collections; import java.util.List; diff --git a/cluster/api-src/org/labkey/api/cluster/ClusterService.java b/cluster/api-src/org/labkey/api/cluster/ClusterService.java index 00f6aa059..d9f7f3505 100644 --- a/cluster/api-src/org/labkey/api/cluster/ClusterService.java +++ b/cluster/api-src/org/labkey/api/cluster/ClusterService.java @@ -1,7 +1,6 @@ package org.labkey.api.cluster; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; import org.labkey.api.data.Container; import org.labkey.api.pipeline.PipelineJob; import org.labkey.api.pipeline.PipelineValidationException; diff --git a/cluster/src/org/labkey/cluster/ClusterController.java b/cluster/src/org/labkey/cluster/ClusterController.java index 4028cd757..f17c50518 100644 --- a/cluster/src/org/labkey/cluster/ClusterController.java +++ b/cluster/src/org/labkey/cluster/ClusterController.java @@ -107,7 +107,7 @@ public boolean handlePost(Object form, BindException errors) throws Exception } @RequiresSiteAdmin - public class ForcePipelineCancelAction extends ConfirmAction + public static class ForcePipelineCancelAction extends ConfirmAction { @Override public void validateCommand(JobIdsForm form, Errors errors) @@ -213,7 +213,7 @@ public void setFilePath(String filePath) } @RequiresSiteAdmin - public class ResetPipelineJobLogFileAction extends ConfirmAction + public static class ResetPipelineJobLogFileAction extends ConfirmAction { @Override public void validateCommand(ResetPipelineJobLogFileForm form, Errors errors) diff --git a/cluster/src/org/labkey/cluster/pipeline/AbstractClusterExecutionEngine.java b/cluster/src/org/labkey/cluster/pipeline/AbstractClusterExecutionEngine.java index dd9fcc125..ba520f4d6 100644 --- a/cluster/src/org/labkey/cluster/pipeline/AbstractClusterExecutionEngine.java +++ b/cluster/src/org/labkey/cluster/pipeline/AbstractClusterExecutionEngine.java @@ -3,7 +3,6 @@ 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.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.labkey.api.collections.CaseInsensitiveHashSet; diff --git a/cluster/src/org/labkey/cluster/pipeline/HTCondorExecutionEngineConfig.java b/cluster/src/org/labkey/cluster/pipeline/HTCondorExecutionEngineConfig.java index 206eb177d..e45cfe263 100644 --- a/cluster/src/org/labkey/cluster/pipeline/HTCondorExecutionEngineConfig.java +++ b/cluster/src/org/labkey/cluster/pipeline/HTCondorExecutionEngineConfig.java @@ -1,11 +1,6 @@ package org.labkey.cluster.pipeline; import org.jetbrains.annotations.NotNull; -import org.labkey.api.util.StringExpression; -import org.labkey.api.util.StringExpressionFactory; - -import java.util.ArrayList; -import java.util.List; /** * Created by bimber on 10/31/2015. diff --git a/cluster/src/org/labkey/cluster/pipeline/SlurmExecutionEngine.java b/cluster/src/org/labkey/cluster/pipeline/SlurmExecutionEngine.java index 017ce8e46..e13c918d3 100644 --- a/cluster/src/org/labkey/cluster/pipeline/SlurmExecutionEngine.java +++ b/cluster/src/org/labkey/cluster/pipeline/SlurmExecutionEngine.java @@ -124,7 +124,7 @@ protected Set updateStatusForAllJobs() throws PipelineJobException { //verify success boolean headerFound = false; - List header = null; + List header; int jobIdx = -1; int stateIdx = -1; int hostnameIdx = -1; @@ -721,7 +721,7 @@ private Pair getStatusFromQueue(ClusterJob job) if (ret != null) { boolean headerFound = false; - List header = null; + List header; int jobIdx = -1; int stateIdx = -1; int hostnameIdx = -1; diff --git a/cluster/src/org/labkey/cluster/pipeline/TestCase.java b/cluster/src/org/labkey/cluster/pipeline/TestCase.java index 00a8be7c3..51caea543 100644 --- a/cluster/src/org/labkey/cluster/pipeline/TestCase.java +++ b/cluster/src/org/labkey/cluster/pipeline/TestCase.java @@ -113,7 +113,7 @@ public void basicTest() throws Exception public static class TestRunner implements ClusterService.ClusterRemoteTask { - public long _sleep = 0l; + public long _sleep; public TestRunner(long sleep) { diff --git a/discvrcore/src/org/labkey/discvrcore/AuditSummaryUserSchema.java b/discvrcore/src/org/labkey/discvrcore/AuditSummaryUserSchema.java index afbf634b6..ce7236f5c 100644 --- a/discvrcore/src/org/labkey/discvrcore/AuditSummaryUserSchema.java +++ b/discvrcore/src/org/labkey/discvrcore/AuditSummaryUserSchema.java @@ -236,13 +236,13 @@ public void testAuditTables() throws Exception TableInfo qa = QueryService.get().getUserSchema(TestContext.get().getUser(), c, NAME).getTable(DATASET_AUDIT); TableSelector ts1 = new TableSelector(qa, PageFlowUtil.set("primaryKey")); - assertEquals("Incorrect row count", ts1.getRowCount(), 2L); + assertEquals("Incorrect row count", 2L, ts1.getRowCount()); assertEquals("Incorrect PK", new TableSelector(qa, PageFlowUtil.set("primaryKey"), new SimpleFilter(FieldKey.fromString("Comment"), "inserted", CompareType.CONTAINS).addCondition(FieldKey.fromString("DatasetId"), d1.getDatasetId()), null).getObject(String.class), guid1); - assertEquals("Incorrect PK", new TableSelector(qa, PageFlowUtil.set("primaryKey"), new SimpleFilter(FieldKey.fromString("Comment"), "inserted", CompareType.CONTAINS).addCondition(FieldKey.fromString("DatasetId"), d2.getDatasetId()), null).getObject(String.class), "P1"); + assertEquals("Incorrect PK", "P1", new TableSelector(qa, PageFlowUtil.set("primaryKey"), new SimpleFilter(FieldKey.fromString("Comment"), "inserted", CompareType.CONTAINS).addCondition(FieldKey.fromString("DatasetId"), d2.getDatasetId()), null).getObject(String.class)); assertEquals("Incorrect PK", new TableSelector(qa, PageFlowUtil.set("primaryKey"), new SimpleFilter(FieldKey.fromString("Comment"), "inserted", CompareType.CONTAINS).addCondition(FieldKey.fromString("DatasetId/Name"), d1.getName()), null).getObject(String.class), guid1); - assertEquals("Incorrect PK", new TableSelector(qa, PageFlowUtil.set("primaryKey"), new SimpleFilter(FieldKey.fromString("Comment"), "inserted", CompareType.CONTAINS).addCondition(FieldKey.fromString("DatasetId/Name"), d2.getName()), null).getObject(String.class), "P1"); + assertEquals("Incorrect PK", "P1", new TableSelector(qa, PageFlowUtil.set("primaryKey"), new SimpleFilter(FieldKey.fromString("Comment"), "inserted", CompareType.CONTAINS).addCondition(FieldKey.fromString("DatasetId/Name"), d2.getName()), null).getObject(String.class)); t1.getUpdateService().deleteRows(TestContext.get().getUser(), c, Collections.singletonList(new CaseInsensitiveHashMap<>(Map.of("ObjectId", guid1))), null, null); assertEquals("Incorrect PK", new TableSelector(qa, PageFlowUtil.set("primaryKey"), new SimpleFilter(FieldKey.fromString("Comment"), "deleted", CompareType.CONTAINS), null).getObject(String.class), guid1); @@ -251,7 +251,7 @@ public void testAuditTables() throws Exception User reader = getReaderUser(true); qa = QueryService.get().getUserSchema(reader, c, NAME).getTable(DATASET_AUDIT); assertEquals("Incorrect PK", new TableSelector(qa, PageFlowUtil.set("primaryKey"), new SimpleFilter(FieldKey.fromString("Comment"), "inserted", CompareType.CONTAINS).addCondition(FieldKey.fromString("DatasetId/Name"), d1.getName()), null).getObject(String.class), guid1); - assertEquals("Incorrect PK", new TableSelector(qa, PageFlowUtil.set("primaryKey"), new SimpleFilter(FieldKey.fromString("Comment"), "inserted", CompareType.CONTAINS).addCondition(FieldKey.fromString("DatasetId/Name"), d2.getName()), null).getObject(String.class), "P1"); + assertEquals("Incorrect PK", "P1", new TableSelector(qa, PageFlowUtil.set("primaryKey"), new SimpleFilter(FieldKey.fromString("Comment"), "inserted", CompareType.CONTAINS).addCondition(FieldKey.fromString("DatasetId/Name"), d2.getName()), null).getObject(String.class)); } @AfterClass diff --git a/discvrcore/test/src/org/labkey/test/tests/discvrcore/DiscvrCoreTest.java b/discvrcore/test/src/org/labkey/test/tests/discvrcore/DiscvrCoreTest.java index 7b1150048..ad3a41506 100644 --- a/discvrcore/test/src/org/labkey/test/tests/discvrcore/DiscvrCoreTest.java +++ b/discvrcore/test/src/org/labkey/test/tests/discvrcore/DiscvrCoreTest.java @@ -27,8 +27,6 @@ import java.util.Collections; import java.util.List; -import static org.junit.Assert.*; - @Category({InDevelopment.class}) public class DiscvrCoreTest extends BaseWebDriverTest { @@ -41,7 +39,7 @@ protected void doCleanup(boolean afterTest) throws TestTimeoutException @BeforeClass public static void setupProject() { - DiscvrCoreTest init = (DiscvrCoreTest)getCurrentTest(); + DiscvrCoreTest init = getCurrentTest(); init.doSetup(); } diff --git a/jbrowse/api-src/org/labkey/api/jbrowse/JBrowseFieldCustomizer.java b/jbrowse/api-src/org/labkey/api/jbrowse/JBrowseFieldCustomizer.java index 1ea7cfccc..2c0e87c9c 100644 --- a/jbrowse/api-src/org/labkey/api/jbrowse/JBrowseFieldCustomizer.java +++ b/jbrowse/api-src/org/labkey/api/jbrowse/JBrowseFieldCustomizer.java @@ -7,9 +7,9 @@ import java.util.List; public interface JBrowseFieldCustomizer { - public void customizeField(JBrowseFieldDescriptor field, Container c, User u); + void customizeField(JBrowseFieldDescriptor field, Container c, User u); - public List getPromotedFilters(Collection indexedFields, Container c, User u); + List getPromotedFilters(Collection indexedFields, Container c, User u); - public boolean isAvailable(Container c, User u); + boolean isAvailable(Container c, User u); } diff --git a/jbrowse/api-src/org/labkey/api/jbrowse/JBrowseFieldDescriptor.java b/jbrowse/api-src/org/labkey/api/jbrowse/JBrowseFieldDescriptor.java index c6a3ba61c..4c6dc45b2 100644 --- a/jbrowse/api-src/org/labkey/api/jbrowse/JBrowseFieldDescriptor.java +++ b/jbrowse/api-src/org/labkey/api/jbrowse/JBrowseFieldDescriptor.java @@ -18,7 +18,7 @@ public class JBrowseFieldDescriptor { private List _allowableValues = null; private boolean _isHidden = false; private String _colWidth = null; - private Integer _orderKey = 8; + private Integer _orderKey; // NOTE: this should support "jexl:xxxxxx" syntax, like other JBrowse formatting private String _formatString = null; diff --git a/jbrowse/src/org/labkey/jbrowse/JBrowseGenomeTrigger.java b/jbrowse/src/org/labkey/jbrowse/JBrowseGenomeTrigger.java index cc3e1eed3..7078bde92 100644 --- a/jbrowse/src/org/labkey/jbrowse/JBrowseGenomeTrigger.java +++ b/jbrowse/src/org/labkey/jbrowse/JBrowseGenomeTrigger.java @@ -3,7 +3,6 @@ import org.apache.logging.log4j.Logger; import org.labkey.api.data.Container; import org.labkey.api.module.ModuleLoader; -import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.security.User; import org.labkey.api.sequenceanalysis.GenomeTrigger; diff --git a/jbrowse/src/org/labkey/jbrowse/JBrowseLuceneSearch.java b/jbrowse/src/org/labkey/jbrowse/JBrowseLuceneSearch.java index d4a58e168..532d76156 100644 --- a/jbrowse/src/org/labkey/jbrowse/JBrowseLuceneSearch.java +++ b/jbrowse/src/org/labkey/jbrowse/JBrowseLuceneSearch.java @@ -261,7 +261,7 @@ private SearchConfig createSearchConfig(User u, String searchString, final int p while (tokenizer.hasMoreTokens() && !searchString.equals(ALL_DOCS)) { String queryString = tokenizer.nextToken(); - Query query = null; + Query query; String fieldName = extractFieldName(queryString); @@ -693,7 +693,7 @@ public void shutdownStarted() } } - private class SearchConfig { + private static class SearchConfig { CacheEntry cacheEntry; Query query; int pageSize; diff --git a/jbrowse/src/org/labkey/jbrowse/JBrowseManager.java b/jbrowse/src/org/labkey/jbrowse/JBrowseManager.java index f3e56434b..ec0f92945 100644 --- a/jbrowse/src/org/labkey/jbrowse/JBrowseManager.java +++ b/jbrowse/src/org/labkey/jbrowse/JBrowseManager.java @@ -48,7 +48,6 @@ import org.labkey.api.util.Path; import org.labkey.api.view.UnauthorizedException; import org.labkey.jbrowse.model.JBrowseSession; -import org.labkey.jbrowse.model.JsonFile; import org.labkey.jbrowse.pipeline.JBrowseSessionPipelineJob; import java.io.File; @@ -58,7 +57,6 @@ import java.util.Arrays; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; public class JBrowseManager { @@ -187,7 +185,7 @@ public File getJbrowseCli() throws PipelineJobException throw new PipelineJobException("Unable to find expected folder: " + toolDir.getPath()); } - File exe = null; + File exe; if (SystemUtils.IS_OS_WINDOWS) { exe = new File(toolDir, "cli-win.exe"); diff --git a/jbrowse/src/org/labkey/jbrowse/JBrowseSequenceOutputHandler.java b/jbrowse/src/org/labkey/jbrowse/JBrowseSequenceOutputHandler.java index c1b8ac373..f7aab18d6 100644 --- a/jbrowse/src/org/labkey/jbrowse/JBrowseSequenceOutputHandler.java +++ b/jbrowse/src/org/labkey/jbrowse/JBrowseSequenceOutputHandler.java @@ -14,7 +14,6 @@ import org.labkey.api.view.ActionURL; import java.io.File; -import java.util.Arrays; import java.util.LinkedHashSet; import java.util.List; @@ -100,7 +99,7 @@ public boolean doSplitJobs() return false; } - public class Processor implements SequenceOutputProcessor + public static class Processor implements SequenceOutputProcessor { @Override public void processFilesOnWebserver(PipelineJob job, SequenceAnalysisJobSupport support, List inputFiles, JSONObject params, File outputDir, List actions, List outputsToCreate) throws UnsupportedOperationException, PipelineJobException diff --git a/jbrowse/src/org/labkey/jbrowse/JBrowseServiceImpl.java b/jbrowse/src/org/labkey/jbrowse/JBrowseServiceImpl.java index 6ad23749a..df8905483 100644 --- a/jbrowse/src/org/labkey/jbrowse/JBrowseServiceImpl.java +++ b/jbrowse/src/org/labkey/jbrowse/JBrowseServiceImpl.java @@ -178,10 +178,6 @@ public void customizeField(User u, Container c, JBrowseFieldDescriptor field) { } /*** - * @param groupName - * @param u - * @param c - * @return */ public List resolveGroups(String trackId, String groupName, User u, Container c) { diff --git a/jbrowse/src/org/labkey/jbrowse/button/AddDataButton.java b/jbrowse/src/org/labkey/jbrowse/button/AddDataButton.java index 6303e8cf0..171010b93 100644 --- a/jbrowse/src/org/labkey/jbrowse/button/AddDataButton.java +++ b/jbrowse/src/org/labkey/jbrowse/button/AddDataButton.java @@ -6,7 +6,6 @@ import org.labkey.api.view.template.ClientDependency; import org.labkey.jbrowse.JBrowseModule; -import java.util.Arrays; import java.util.List; /** diff --git a/jbrowse/src/org/labkey/jbrowse/button/AddLibraryButton.java b/jbrowse/src/org/labkey/jbrowse/button/AddLibraryButton.java index d5554956d..8333f5e33 100644 --- a/jbrowse/src/org/labkey/jbrowse/button/AddLibraryButton.java +++ b/jbrowse/src/org/labkey/jbrowse/button/AddLibraryButton.java @@ -6,7 +6,6 @@ import org.labkey.api.view.template.ClientDependency; import org.labkey.jbrowse.JBrowseModule; -import java.util.Arrays; import java.util.List; /** diff --git a/jbrowse/src/org/labkey/jbrowse/button/AddTrackButton.java b/jbrowse/src/org/labkey/jbrowse/button/AddTrackButton.java index df7d268a1..002f19df2 100644 --- a/jbrowse/src/org/labkey/jbrowse/button/AddTrackButton.java +++ b/jbrowse/src/org/labkey/jbrowse/button/AddTrackButton.java @@ -6,7 +6,6 @@ import org.labkey.api.view.template.ClientDependency; import org.labkey.jbrowse.JBrowseModule; -import java.util.Arrays; import java.util.List; /** diff --git a/jbrowse/src/org/labkey/jbrowse/button/ModifyTrackConfigButton.java b/jbrowse/src/org/labkey/jbrowse/button/ModifyTrackConfigButton.java index 59601ad47..6d7488d28 100644 --- a/jbrowse/src/org/labkey/jbrowse/button/ModifyTrackConfigButton.java +++ b/jbrowse/src/org/labkey/jbrowse/button/ModifyTrackConfigButton.java @@ -6,7 +6,6 @@ import org.labkey.api.view.template.ClientDependency; import org.labkey.jbrowse.JBrowseModule; -import java.util.Arrays; import java.util.List; /** diff --git a/jbrowse/src/org/labkey/jbrowse/button/ReprocessResourcesButton.java b/jbrowse/src/org/labkey/jbrowse/button/ReprocessResourcesButton.java index 5d11feaf2..36dcfdddf 100644 --- a/jbrowse/src/org/labkey/jbrowse/button/ReprocessResourcesButton.java +++ b/jbrowse/src/org/labkey/jbrowse/button/ReprocessResourcesButton.java @@ -6,7 +6,6 @@ import org.labkey.api.view.template.ClientDependency; import org.labkey.jbrowse.JBrowseModule; -import java.util.Arrays; import java.util.List; /** diff --git a/jbrowse/src/org/labkey/jbrowse/button/ReprocessSessionsButton.java b/jbrowse/src/org/labkey/jbrowse/button/ReprocessSessionsButton.java index 5ed8fd817..408cdf466 100644 --- a/jbrowse/src/org/labkey/jbrowse/button/ReprocessSessionsButton.java +++ b/jbrowse/src/org/labkey/jbrowse/button/ReprocessSessionsButton.java @@ -6,7 +6,6 @@ import org.labkey.api.view.template.ClientDependency; import org.labkey.jbrowse.JBrowseModule; -import java.util.Arrays; import java.util.List; /** diff --git a/jbrowse/src/org/labkey/jbrowse/model/JBrowseSession.java b/jbrowse/src/org/labkey/jbrowse/model/JBrowseSession.java index 5fb45c17e..f8cbecc26 100644 --- a/jbrowse/src/org/labkey/jbrowse/model/JBrowseSession.java +++ b/jbrowse/src/org/labkey/jbrowse/model/JBrowseSession.java @@ -28,7 +28,6 @@ import org.labkey.jbrowse.JBrowseManager; import org.labkey.jbrowse.JBrowseSchema; -import java.io.File; import java.net.URI; import java.nio.file.Path; import java.nio.file.Paths; diff --git a/jbrowse/src/org/labkey/jbrowse/pipeline/JBrowseSessionTask.java b/jbrowse/src/org/labkey/jbrowse/pipeline/JBrowseSessionTask.java index a7482d12f..a4a7b7134 100644 --- a/jbrowse/src/org/labkey/jbrowse/pipeline/JBrowseSessionTask.java +++ b/jbrowse/src/org/labkey/jbrowse/pipeline/JBrowseSessionTask.java @@ -39,7 +39,6 @@ import org.labkey.jbrowse.model.JsonFile; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.Date; import java.util.List; diff --git a/jbrowse/test/src/org/labkey/test/tests/external/labModules/JBrowseTest.java b/jbrowse/test/src/org/labkey/test/tests/external/labModules/JBrowseTest.java index 9ee4094ac..b267d0c76 100644 --- a/jbrowse/test/src/org/labkey/test/tests/external/labModules/JBrowseTest.java +++ b/jbrowse/test/src/org/labkey/test/tests/external/labModules/JBrowseTest.java @@ -1954,25 +1954,25 @@ private void testLuceneColumnSerializationFirstRow() { switch(elem.getAttribute("aria-colindex")) { case "1": - Assert.assertEquals(value, "1"); + Assert.assertEquals("1", value); break; case "2": - Assert.assertEquals(value, "2"); + Assert.assertEquals("2", value); break; case "3": - Assert.assertEquals(value, "A"); + Assert.assertEquals("A", value); break; case "4": - Assert.assertEquals(value, "T"); + Assert.assertEquals("T", value); break; case "6": - Assert.assertEquals(value, "0.029"); + Assert.assertEquals("0.029", value); break; case "7": - Assert.assertEquals(value, "7.292"); + Assert.assertEquals("7.292", value); break; case "8": - Assert.assertEquals(value, "HIGH"); + Assert.assertEquals("HIGH", value); break; } } @@ -1997,19 +1997,19 @@ private void testLuceneColumnSerialization(String sessionId) { parentOfCaddScoreToggle.click(); String colVisModelString = "%257B%2522contig%2522%253Atrue%252C%2522start%2522%253Atrue%252C%2522ref%2522%253Atrue%252C%2522alt%2522%253Atrue%252C%2522variableSamples%2522%253Atrue%252C%2522AF%2522%253Atrue%252C%2522CADD_PH%2522%253Atrue%252C%2522IMPACT%2522%253Atrue%257D"; - Assert.assertEquals(getUrlParam("colVisModel"), colVisModelString); + Assert.assertEquals(colVisModelString, getUrlParam("colVisModel")); getDriver().navigate().refresh(); waitForElement(TOP_ROW); - Assert.assertEquals(getUrlParam("colVisModel"), colVisModelString); + Assert.assertEquals(colVisModelString, getUrlParam("colVisModel")); testLuceneColumnSerializationFirstRow(); waitAndClick(Locator.tagWithText("button", "Search")); waitAndClick(Locator.tagWithClass("button", "filter-form-select-button")); waitForElement(TOP_ROW); - Assert.assertEquals(getUrlParam("colVisModel"), colVisModelString); + Assert.assertEquals(colVisModelString, getUrlParam("colVisModel")); testLuceneColumnSerializationFirstRow(); } } \ No newline at end of file diff --git a/jbrowse/test/src/org/labkey/test/tests/external/labModules/JBrowseTestHelper.java b/jbrowse/test/src/org/labkey/test/tests/external/labModules/JBrowseTestHelper.java index b4efebabc..de884641b 100644 --- a/jbrowse/test/src/org/labkey/test/tests/external/labModules/JBrowseTestHelper.java +++ b/jbrowse/test/src/org/labkey/test/tests/external/labModules/JBrowseTestHelper.java @@ -6,7 +6,6 @@ import org.labkey.test.Locator; import org.labkey.test.TestFileUtils; import org.labkey.test.WebDriverWrapper; -import org.labkey.test.categories.Base; import org.labkey.test.components.ext4.Window; import org.labkey.test.util.DataRegionTable; import org.labkey.test.util.Ext4Helper; diff --git a/singlecell/api-src/org/labkey/api/singlecell/pipeline/SingleCellStep.java b/singlecell/api-src/org/labkey/api/singlecell/pipeline/SingleCellStep.java index d2b48a501..66911ed57 100644 --- a/singlecell/api-src/org/labkey/api/singlecell/pipeline/SingleCellStep.java +++ b/singlecell/api-src/org/labkey/api/singlecell/pipeline/SingleCellStep.java @@ -1,18 +1,5 @@ package org.labkey.api.singlecell.pipeline; -import com.fasterxml.jackson.annotation.JsonIgnore; -import org.jetbrains.annotations.Nullable; -import org.labkey.api.pipeline.PipelineJobException; -import org.labkey.api.sequenceanalysis.SequenceOutputFile; -import org.labkey.api.sequenceanalysis.pipeline.PipelineStep; -import org.labkey.api.sequenceanalysis.pipeline.PipelineStepOutput; -import org.labkey.api.sequenceanalysis.pipeline.SequenceOutputHandler; - -import java.io.File; -import java.io.Serializable; -import java.util.Collection; -import java.util.List; - public interface SingleCellStep extends AbstractSingleCellStep { String STEP_TYPE = "singleCell"; diff --git a/singlecell/src/org/labkey/singlecell/CellHashingServiceImpl.java b/singlecell/src/org/labkey/singlecell/CellHashingServiceImpl.java index a291d1aa7..c8fba2dd3 100644 --- a/singlecell/src/org/labkey/singlecell/CellHashingServiceImpl.java +++ b/singlecell/src/org/labkey/singlecell/CellHashingServiceImpl.java @@ -913,7 +913,7 @@ public void processMetrics(SequenceOutputFile so, PipelineJob job, boolean updat description.append(StringUtils.trimToNull(so.getDescription())); } - String delim = description.length() > 0 ? "\n" : ""; + String delim = !description.isEmpty() ? "\n" : ""; DecimalFormat fmt = new DecimalFormat("##.##%"); List metricNames = new ArrayList<>(Arrays.asList("PassingCellBarcodes", "TotalLowCounts", "TotalSinglet", "FractionCalled", "FractionSinglet", "FractionDoublet", "FractionDiscordant", "UniqueHtos")); diff --git a/singlecell/src/org/labkey/singlecell/analysis/AbstractSingleCellHandler.java b/singlecell/src/org/labkey/singlecell/analysis/AbstractSingleCellHandler.java index 6e9c2fb0d..3356f9a15 100644 --- a/singlecell/src/org/labkey/singlecell/analysis/AbstractSingleCellHandler.java +++ b/singlecell/src/org/labkey/singlecell/analysis/AbstractSingleCellHandler.java @@ -36,7 +36,6 @@ import org.labkey.api.sequenceanalysis.pipeline.ToolParameterDescriptor; import org.labkey.api.singlecell.CellHashingService; import org.labkey.api.singlecell.pipeline.AbstractSingleCellPipelineStep; -import org.labkey.api.singlecell.pipeline.AbstractSingleCellStep; import org.labkey.api.singlecell.pipeline.SingleCellRawDataStep; import org.labkey.api.singlecell.pipeline.SingleCellStep; import org.labkey.api.util.FileUtil; diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendCiteSeq.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendCiteSeq.java index d9d58fa37..41c92ed63 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendCiteSeq.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendCiteSeq.java @@ -94,7 +94,7 @@ protected Map prepareCountData(SingleCellOutput output, SequenceO for (SeuratObjectWrapper wrapper : inputObjects) { File localCopyUmiCountDir = null; - File localAggregateCountFile = null; + File localAggregateCountFile; if (wrapper.getSequenceOutputFileId() == null) { throw new PipelineJobException("Append CITE-seq is only support using seurat objects will a single input dataset. Consider moving this step easier in your pipeline, before merging or subsetting"); diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendMetadata.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendMetadata.java index c88aa3775..3dc04863e 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendMetadata.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendMetadata.java @@ -4,7 +4,6 @@ import org.labkey.api.sequenceanalysis.pipeline.PipelineContext; import org.labkey.api.singlecell.pipeline.SingleCellStep; -import java.util.Arrays; import java.util.List; public class AppendMetadata extends AbstractRDiscvrStep diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendSaturation.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendSaturation.java index 0314d69d1..3b1a1ebec 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendSaturation.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendSaturation.java @@ -25,7 +25,6 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.List; diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendTcr.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendTcr.java index 0176d2766..2a09ad6dd 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendTcr.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendTcr.java @@ -6,7 +6,6 @@ import org.labkey.api.singlecell.pipeline.SeuratToolParameter; import org.labkey.api.singlecell.pipeline.SingleCellStep; -import java.util.Arrays; import java.util.List; public class AppendTcr extends AbstractRDiscvrStep diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/CalculateGeneComponentScores.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/CalculateGeneComponentScores.java index 898e2e218..5b4f8a98a 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/CalculateGeneComponentScores.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/CalculateGeneComponentScores.java @@ -7,7 +7,6 @@ import org.labkey.api.singlecell.pipeline.SingleCellStep; import org.labkey.api.util.PageFlowUtil; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/CiteSeqPlots.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/CiteSeqPlots.java index 531aba464..e3648cb8d 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/CiteSeqPlots.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/CiteSeqPlots.java @@ -6,7 +6,6 @@ import org.labkey.api.singlecell.pipeline.SeuratToolParameter; import org.labkey.api.singlecell.pipeline.SingleCellStep; -import java.util.Arrays; import java.util.List; public class CiteSeqPlots extends AbstractCellMembraneStep diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/ClearCommands.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/ClearCommands.java index 98155f3d8..19702b01a 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/ClearCommands.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/ClearCommands.java @@ -4,7 +4,6 @@ import org.labkey.api.sequenceanalysis.pipeline.PipelineContext; import org.labkey.api.singlecell.pipeline.SingleCellStep; -import java.util.Arrays; import java.util.List; public class ClearCommands extends AbstractCellMembraneStep diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/CustomUCell.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/CustomUCell.java index dada70d2d..9807014ca 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/CustomUCell.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/CustomUCell.java @@ -3,7 +3,6 @@ import org.json.JSONObject; import org.labkey.api.sequenceanalysis.pipeline.AbstractPipelineStepProvider; import org.labkey.api.sequenceanalysis.pipeline.PipelineContext; -import org.labkey.api.sequenceanalysis.pipeline.ToolParameterDescriptor; import org.labkey.api.singlecell.pipeline.SeuratToolParameter; import org.labkey.api.singlecell.pipeline.SingleCellStep; diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DietSeurat.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DietSeurat.java index 9da979e5e..14e54cabd 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DietSeurat.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DietSeurat.java @@ -4,7 +4,6 @@ import org.labkey.api.sequenceanalysis.pipeline.PipelineContext; import org.labkey.api.singlecell.pipeline.SingleCellStep; -import java.util.Arrays; import java.util.List; public class DietSeurat extends AbstractCellMembraneStep diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DimPlots.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DimPlots.java index 76ab8c38d..c7d3c2a83 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DimPlots.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DimPlots.java @@ -7,7 +7,6 @@ import org.labkey.api.singlecell.pipeline.SingleCellStep; import org.labkey.api.util.PageFlowUtil; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DoubletFinder.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DoubletFinder.java index 026279afb..b423ff2a8 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DoubletFinder.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DoubletFinder.java @@ -6,7 +6,6 @@ import org.labkey.api.singlecell.pipeline.SeuratToolParameter; import org.labkey.api.singlecell.pipeline.SingleCellStep; -import java.util.Arrays; import java.util.List; public class DoubletFinder extends AbstractCellMembraneStep diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DropAssays.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DropAssays.java index 7f5280d73..a457b7a3e 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DropAssays.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DropAssays.java @@ -6,7 +6,6 @@ import org.labkey.api.singlecell.pipeline.SeuratToolParameter; import org.labkey.api.singlecell.pipeline.SingleCellStep; -import java.util.Arrays; import java.util.Collections; import java.util.List; diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DropCiteSeq.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DropCiteSeq.java index 9b40e6e72..037d710ab 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DropCiteSeq.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/DropCiteSeq.java @@ -4,7 +4,6 @@ import org.labkey.api.sequenceanalysis.pipeline.PipelineContext; import org.labkey.api.singlecell.pipeline.SingleCellStep; -import java.util.Arrays; import java.util.List; public class DropCiteSeq extends AbstractCellMembraneStep diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/FeaturePlots.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/FeaturePlots.java index 493ba8803..5d09f92e2 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/FeaturePlots.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/FeaturePlots.java @@ -7,7 +7,6 @@ import org.labkey.api.singlecell.pipeline.SingleCellStep; import org.labkey.api.util.PageFlowUtil; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/FindClustersAndDimRedux.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/FindClustersAndDimRedux.java index 81f6edb73..86e16b494 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/FindClustersAndDimRedux.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/FindClustersAndDimRedux.java @@ -6,7 +6,6 @@ import org.labkey.api.singlecell.pipeline.SeuratToolParameter; import org.labkey.api.singlecell.pipeline.SingleCellStep; -import java.util.Arrays; import java.util.List; public class FindClustersAndDimRedux extends AbstractCellMembraneStep diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/PhenotypePlots.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/PhenotypePlots.java index c93f0f6d4..b3e54b3fc 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/PhenotypePlots.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/PhenotypePlots.java @@ -5,7 +5,6 @@ import org.labkey.api.singlecell.pipeline.SingleCellStep; import org.labkey.api.util.PageFlowUtil; -import java.util.Arrays; import java.util.Collection; import java.util.List; diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/PlotAssayFeatures.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/PlotAssayFeatures.java index 4519f47da..549735fb0 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/PlotAssayFeatures.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/PlotAssayFeatures.java @@ -6,7 +6,6 @@ import org.labkey.api.singlecell.pipeline.SeuratToolParameter; import org.labkey.api.singlecell.pipeline.SingleCellStep; -import java.util.Arrays; import java.util.Collections; public class PlotAssayFeatures extends AbstractCellMembraneStep diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/PredictScTour.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/PredictScTour.java index dd1d7af87..6fae8f256 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/PredictScTour.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/PredictScTour.java @@ -1,6 +1,5 @@ package org.labkey.singlecell.pipeline.singlecell; -import org.apache.commons.io.FileUtils; import org.json.JSONObject; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.pipeline.AbstractPipelineStepProvider; @@ -10,12 +9,10 @@ import org.labkey.api.singlecell.pipeline.SingleCellStep; import java.io.File; -import java.io.IOException; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Set; public class PredictScTour extends AbstractRiraStep { diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunEscape.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunEscape.java index 639f4f094..5de04773d 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunEscape.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunEscape.java @@ -7,7 +7,6 @@ import org.labkey.api.singlecell.pipeline.SingleCellStep; import java.util.Arrays; -import java.util.Collections; public class RunEscape extends AbstractCellMembraneStep { diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunLDA.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunLDA.java index 65bd08f3a..58b2d69a2 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunLDA.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunLDA.java @@ -89,7 +89,7 @@ public Output execute(SequenceOutputHandler.JobContext ctx, List wrappers = inputObjects.stream().filter(x -> datasetId.equals(x.getDatasetId())).collect(Collectors.toSet()); - if (wrappers.size() == 0) + if (wrappers.isEmpty()) { throw new PipelineJobException("Unable to find seurat object wrapper for: " + datasetId); } diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunPCA.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunPCA.java index 5269b96df..ba253938d 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunPCA.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunPCA.java @@ -6,7 +6,6 @@ import org.labkey.api.singlecell.pipeline.SeuratToolParameter; import org.labkey.api.singlecell.pipeline.SingleCellStep; -import java.util.Arrays; import java.util.List; public class RunPCA extends AbstractCellMembraneStep diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunPHATE.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunPHATE.java index 9f110252c..12d9cc342 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunPHATE.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunPHATE.java @@ -5,7 +5,6 @@ import org.labkey.api.singlecell.pipeline.SeuratToolParameter; import org.labkey.api.singlecell.pipeline.SingleCellStep; -import java.util.Arrays; import java.util.List; public class RunPHATE extends AbstractCellMembraneStep diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunSDA.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunSDA.java index 5a07e8736..0dc3a5e4f 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunSDA.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunSDA.java @@ -9,7 +9,6 @@ import org.labkey.api.sequenceanalysis.pipeline.AbstractPipelineStepProvider; import org.labkey.api.sequenceanalysis.pipeline.PipelineContext; import org.labkey.api.sequenceanalysis.pipeline.SequenceOutputHandler; -import org.labkey.api.sequenceanalysis.pipeline.ToolParameterDescriptor; import org.labkey.api.singlecell.pipeline.SeuratToolParameter; import org.labkey.api.singlecell.pipeline.SingleCellStep; @@ -129,7 +128,7 @@ public Output execute(SequenceOutputHandler.JobContext ctx, List wrappers = inputObjects.stream().filter(x -> datasetId.equals(x.getDatasetId())).collect(Collectors.toSet()); - if (wrappers.size() == 0) + if (wrappers.isEmpty()) { throw new PipelineJobException("Unable to find seurat object wrapper for: " + datasetId); } diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunTricycle.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunTricycle.java index 5e059a782..4e79d7673 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunTricycle.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunTricycle.java @@ -1,9 +1,7 @@ package org.labkey.singlecell.pipeline.singlecell; -import org.json.JSONObject; import org.labkey.api.sequenceanalysis.pipeline.AbstractPipelineStepProvider; import org.labkey.api.sequenceanalysis.pipeline.PipelineContext; -import org.labkey.api.singlecell.pipeline.SeuratToolParameter; import org.labkey.api.singlecell.pipeline.SingleCellStep; import java.util.Arrays; diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunVision.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunVision.java index 6e0fbbd69..0dbda2015 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunVision.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunVision.java @@ -13,7 +13,6 @@ import java.io.File; import java.io.IOException; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Set; @@ -84,7 +83,7 @@ public Output execute(SequenceOutputHandler.JobContext ctx, List wrappers = inputObjects.stream().filter(x -> datasetId.equals(x.getDatasetId())).collect(Collectors.toSet()); - if (wrappers.size() == 0) + if (wrappers.isEmpty()) { throw new PipelineJobException("Unable to find seurat object wrapper for: " + datasetId); } diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/SubsetSeurat.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/SubsetSeurat.java index 13ae96797..ec56a127c 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/SubsetSeurat.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/SubsetSeurat.java @@ -9,7 +9,6 @@ import org.labkey.api.singlecell.pipeline.SingleCellStep; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.List; diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/TcrFilter.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/TcrFilter.java index bb7f97289..6818d58fd 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/TcrFilter.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/TcrFilter.java @@ -7,7 +7,6 @@ import org.labkey.api.singlecell.pipeline.SingleCellStep; import java.util.Arrays; -import java.util.Collections; import java.util.List; public class TcrFilter extends AbstractCellMembraneStep diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/UpdateSeuratPrototype.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/UpdateSeuratPrototype.java index f750cf2bf..9a9329b96 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/UpdateSeuratPrototype.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/UpdateSeuratPrototype.java @@ -25,7 +25,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.Queue; import static org.labkey.singlecell.analysis.AbstractSingleCellHandler.SEURAT_PROTOTYPE; diff --git a/singlecell/src/org/labkey/singlecell/run/CellRangerFeatureBarcodeHandler.java b/singlecell/src/org/labkey/singlecell/run/CellRangerFeatureBarcodeHandler.java index 60a265113..b03b7faa0 100644 --- a/singlecell/src/org/labkey/singlecell/run/CellRangerFeatureBarcodeHandler.java +++ b/singlecell/src/org/labkey/singlecell/run/CellRangerFeatureBarcodeHandler.java @@ -22,7 +22,6 @@ import org.labkey.api.query.FieldKey; import org.labkey.api.query.QueryService; import org.labkey.api.reader.Readers; -import org.labkey.api.sequenceanalysis.SequenceAnalysisService; import org.labkey.api.sequenceanalysis.SequenceOutputFile; import org.labkey.api.sequenceanalysis.model.Readset; import org.labkey.api.sequenceanalysis.pipeline.AbstractParameterizedOutputHandler; @@ -313,7 +312,7 @@ private void processType(List> inputFastqs, AlignmentOutputImpl if (ctx.getParams().optBoolean("useGEX", false)) { description = description + "\n" + "HTO and GEX Counts"; - }; + } output.addSequenceOutput(outputHtmlRename, rs.getName() + " 10x " + rs.getApplication() + " Summary", "10x Run Summary", rs.getRowId(), null, null, description); File rawCounts = new File(outsdir, "raw_feature_bc_matrix/matrix.mtx.gz"); diff --git a/singlecell/src/org/labkey/singlecell/run/CellRangerVDJWrapper.java b/singlecell/src/org/labkey/singlecell/run/CellRangerVDJWrapper.java index 17972552c..d2969cb63 100644 --- a/singlecell/src/org/labkey/singlecell/run/CellRangerVDJWrapper.java +++ b/singlecell/src/org/labkey/singlecell/run/CellRangerVDJWrapper.java @@ -3,7 +3,6 @@ import au.com.bytecode.opencsv.CSVReader; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.stream.IntStreams; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.Nullable; import org.json.JSONObject; diff --git a/singlecell/src/org/labkey/singlecell/run/RepeatNimbleReportHandler.java b/singlecell/src/org/labkey/singlecell/run/RepeatNimbleReportHandler.java index c0e40daee..d95e562bf 100644 --- a/singlecell/src/org/labkey/singlecell/run/RepeatNimbleReportHandler.java +++ b/singlecell/src/org/labkey/singlecell/run/RepeatNimbleReportHandler.java @@ -196,7 +196,7 @@ public void complete(JobContext ctx, List inputs, List Date: Tue, 17 Jun 2025 14:41:00 -0700 Subject: [PATCH 13/34] Exclude scijava dependency during server outage --- SequenceAnalysis/build.gradle | 44 +++++++++++++++++------------------ jbrowse/build.gradle | 20 ++++++++-------- 2 files changed, 31 insertions(+), 33 deletions(-) diff --git a/SequenceAnalysis/build.gradle b/SequenceAnalysis/build.gradle index 951b13ae4..51e11cfd8 100644 --- a/SequenceAnalysis/build.gradle +++ b/SequenceAnalysis/build.gradle @@ -1,23 +1,21 @@ -import org.labkey.gradle.plugin.TeamCity import org.labkey.gradle.plugin.extension.ServerDeployExtension import org.labkey.gradle.plugin.extension.TeamCityExtension import org.labkey.gradle.task.DoThenSetup import org.labkey.gradle.util.BuildUtils import org.labkey.gradle.util.GroupNames import org.labkey.gradle.util.PropertiesUtils -import org.labkey.gradle.util.ExternalDependency import java.util.regex.Matcher -repositories { - mavenCentral() - maven { - url "https://maven.scijava.org/content/groups/public/" - content { - includeGroup "cisd" //jhdf5 - } - } -} +//repositories { +// mavenCentral() +// maven { +// url "https://maven.scijava.org/content/groups/public/" +// content { +// includeGroup "cisd" //jhdf5 +// } +// } +//} configurations.all { resolutionStrategy { @@ -91,18 +89,18 @@ dependencies { ) ) - BuildUtils.addExternalDependency( - project, - new ExternalDependency( - 'cisd:jhdf5:19.04.1', - 'JHDF5', - 'JHDF5', - 'https://unlimited.ethz.ch/display/JHDF/', - ExternalDependency.BSD_LICENSE_NAME, - ExternalDependency.BSD_LICENSE_URL, - 'JHDF5 is a Java binding for HDF5. Used by FastQC' - ) - ) +// BuildUtils.addExternalDependency( +// project, +// new ExternalDependency( +// 'cisd:jhdf5:19.04.1', +// 'JHDF5', +// 'JHDF5', +// 'https://unlimited.ethz.ch/display/JHDF/', +// ExternalDependency.BSD_LICENSE_NAME, +// ExternalDependency.BSD_LICENSE_URL, +// 'JHDF5 is a Java binding for HDF5. Used by FastQC' +// ) +// ) BuildUtils.addExternalDependency( project, diff --git a/jbrowse/build.gradle b/jbrowse/build.gradle index a3979a973..4de29862b 100644 --- a/jbrowse/build.gradle +++ b/jbrowse/build.gradle @@ -1,15 +1,15 @@ import org.labkey.gradle.util.BuildUtils; -repositories { - mavenCentral() - maven { - url "https://maven.scijava.org/content/repositories/public/" - content { - // Transitive dependency from SequenceAnalysis - includeGroup "cisd" //jhdf5 - } - } -} +//repositories { +// mavenCentral() +// maven { +// url "https://maven.scijava.org/content/repositories/public/" +// content { +// // Transitive dependency from SequenceAnalysis +// includeGroup "cisd" //jhdf5 +// } +// } +//} dependencies { apiImplementation "com.github.samtools:htsjdk:${htsjdkVersion}" From c161d534b1175c9dca614c9650e1f725af86b2d5 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Tue, 17 Jun 2025 14:45:40 -0700 Subject: [PATCH 14/34] Don't optimize dependencies --- SequenceAnalysis/build.gradle | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SequenceAnalysis/build.gradle b/SequenceAnalysis/build.gradle index 51e11cfd8..3b565d682 100644 --- a/SequenceAnalysis/build.gradle +++ b/SequenceAnalysis/build.gradle @@ -1,9 +1,11 @@ +import org.labkey.gradle.plugin.TeamCity import org.labkey.gradle.plugin.extension.ServerDeployExtension import org.labkey.gradle.plugin.extension.TeamCityExtension import org.labkey.gradle.task.DoThenSetup import org.labkey.gradle.util.BuildUtils import org.labkey.gradle.util.GroupNames import org.labkey.gradle.util.PropertiesUtils +import org.labkey.gradle.util.ExternalDependency import java.util.regex.Matcher From 064678a99aed7bb44c1a7047dfd14806687a3ab8 Mon Sep 17 00:00:00 2001 From: Trey Chadick Date: Wed, 18 Jun 2025 08:58:03 -0700 Subject: [PATCH 15/34] Pull 'cisd:jhdf5' dependency from Artifactory (#357) * Disable scijava repository during server outage --- SequenceAnalysis/build.gradle | 18 +++++++++--------- jbrowse/build.gradle | 20 ++++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/SequenceAnalysis/build.gradle b/SequenceAnalysis/build.gradle index 951b13ae4..b3b486d2a 100644 --- a/SequenceAnalysis/build.gradle +++ b/SequenceAnalysis/build.gradle @@ -9,15 +9,15 @@ import org.labkey.gradle.util.ExternalDependency import java.util.regex.Matcher -repositories { - mavenCentral() - maven { - url "https://maven.scijava.org/content/groups/public/" - content { - includeGroup "cisd" //jhdf5 - } - } -} +//repositories { +// mavenCentral() +// maven { +// url "https://maven.scijava.org/content/groups/public/" +// content { +// includeGroup "cisd" //jhdf5 +// } +// } +//} configurations.all { resolutionStrategy { diff --git a/jbrowse/build.gradle b/jbrowse/build.gradle index a3979a973..4de29862b 100644 --- a/jbrowse/build.gradle +++ b/jbrowse/build.gradle @@ -1,15 +1,15 @@ import org.labkey.gradle.util.BuildUtils; -repositories { - mavenCentral() - maven { - url "https://maven.scijava.org/content/repositories/public/" - content { - // Transitive dependency from SequenceAnalysis - includeGroup "cisd" //jhdf5 - } - } -} +//repositories { +// mavenCentral() +// maven { +// url "https://maven.scijava.org/content/repositories/public/" +// content { +// // Transitive dependency from SequenceAnalysis +// includeGroup "cisd" //jhdf5 +// } +// } +//} dependencies { apiImplementation "com.github.samtools:htsjdk:${htsjdkVersion}" From 4aeaff8b8cbbc479407e0f0b3e49a13596e7cff8 Mon Sep 17 00:00:00 2001 From: Trey Chadick Date: Wed, 18 Jun 2025 08:58:16 -0700 Subject: [PATCH 16/34] Pull 'cisd:jhdf5' dependency from Artifactory (#358) * Disable scijava dependency during server outage --- SequenceAnalysis/build.gradle | 18 +++++++++--------- jbrowse/build.gradle | 20 ++++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/SequenceAnalysis/build.gradle b/SequenceAnalysis/build.gradle index 38e443d1b..15c0f798a 100644 --- a/SequenceAnalysis/build.gradle +++ b/SequenceAnalysis/build.gradle @@ -9,15 +9,15 @@ import org.labkey.gradle.util.ExternalDependency import java.util.regex.Matcher -repositories { - mavenCentral() - maven { - url "https://maven.scijava.org/content/groups/public/" - content { - includeGroup "cisd" //jhdf5 - } - } -} +//repositories { +// mavenCentral() +// maven { +// url "https://maven.scijava.org/content/groups/public/" +// content { +// includeGroup "cisd" //jhdf5 +// } +// } +//} configurations.all { resolutionStrategy { diff --git a/jbrowse/build.gradle b/jbrowse/build.gradle index a3979a973..4de29862b 100644 --- a/jbrowse/build.gradle +++ b/jbrowse/build.gradle @@ -1,15 +1,15 @@ import org.labkey.gradle.util.BuildUtils; -repositories { - mavenCentral() - maven { - url "https://maven.scijava.org/content/repositories/public/" - content { - // Transitive dependency from SequenceAnalysis - includeGroup "cisd" //jhdf5 - } - } -} +//repositories { +// mavenCentral() +// maven { +// url "https://maven.scijava.org/content/repositories/public/" +// content { +// // Transitive dependency from SequenceAnalysis +// includeGroup "cisd" //jhdf5 +// } +// } +//} dependencies { apiImplementation "com.github.samtools:htsjdk:${htsjdkVersion}" From c49de48a5de14bef672078e670b41eefb92299a5 Mon Sep 17 00:00:00 2001 From: Trey Chadick Date: Wed, 18 Jun 2025 08:58:24 -0700 Subject: [PATCH 17/34] Pull 'cisd:jhdf5' dependency from Artifactory (#359) * Disable scijava repository during server outage --- SequenceAnalysis/build.gradle | 18 +++++++++--------- jbrowse/build.gradle | 20 ++++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/SequenceAnalysis/build.gradle b/SequenceAnalysis/build.gradle index 951b13ae4..b3b486d2a 100644 --- a/SequenceAnalysis/build.gradle +++ b/SequenceAnalysis/build.gradle @@ -9,15 +9,15 @@ import org.labkey.gradle.util.ExternalDependency import java.util.regex.Matcher -repositories { - mavenCentral() - maven { - url "https://maven.scijava.org/content/groups/public/" - content { - includeGroup "cisd" //jhdf5 - } - } -} +//repositories { +// mavenCentral() +// maven { +// url "https://maven.scijava.org/content/groups/public/" +// content { +// includeGroup "cisd" //jhdf5 +// } +// } +//} configurations.all { resolutionStrategy { diff --git a/jbrowse/build.gradle b/jbrowse/build.gradle index a3979a973..4de29862b 100644 --- a/jbrowse/build.gradle +++ b/jbrowse/build.gradle @@ -1,15 +1,15 @@ import org.labkey.gradle.util.BuildUtils; -repositories { - mavenCentral() - maven { - url "https://maven.scijava.org/content/repositories/public/" - content { - // Transitive dependency from SequenceAnalysis - includeGroup "cisd" //jhdf5 - } - } -} +//repositories { +// mavenCentral() +// maven { +// url "https://maven.scijava.org/content/repositories/public/" +// content { +// // Transitive dependency from SequenceAnalysis +// includeGroup "cisd" //jhdf5 +// } +// } +//} dependencies { apiImplementation "com.github.samtools:htsjdk:${htsjdkVersion}" From 3a09c6bd9b2e3bfb401e601250441009baa09a2e Mon Sep 17 00:00:00 2001 From: Trey Chadick Date: Wed, 18 Jun 2025 08:59:18 -0700 Subject: [PATCH 18/34] Try to pull jhdf from Artifactory (#360) --- SequenceAnalysis/build.gradle | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/SequenceAnalysis/build.gradle b/SequenceAnalysis/build.gradle index 3b565d682..b3b486d2a 100644 --- a/SequenceAnalysis/build.gradle +++ b/SequenceAnalysis/build.gradle @@ -91,18 +91,18 @@ dependencies { ) ) -// BuildUtils.addExternalDependency( -// project, -// new ExternalDependency( -// 'cisd:jhdf5:19.04.1', -// 'JHDF5', -// 'JHDF5', -// 'https://unlimited.ethz.ch/display/JHDF/', -// ExternalDependency.BSD_LICENSE_NAME, -// ExternalDependency.BSD_LICENSE_URL, -// 'JHDF5 is a Java binding for HDF5. Used by FastQC' -// ) -// ) + BuildUtils.addExternalDependency( + project, + new ExternalDependency( + 'cisd:jhdf5:19.04.1', + 'JHDF5', + 'JHDF5', + 'https://unlimited.ethz.ch/display/JHDF/', + ExternalDependency.BSD_LICENSE_NAME, + ExternalDependency.BSD_LICENSE_URL, + 'JHDF5 is a Java binding for HDF5. Used by FastQC' + ) + ) BuildUtils.addExternalDependency( project, From 99279f514caa46231904ac373c2df6b1923a0d1d Mon Sep 17 00:00:00 2001 From: Susan Hert Date: Mon, 30 Jun 2025 07:21:04 -0700 Subject: [PATCH 19/34] Add opencsv as external dependency since it no longer comes through from labkey-api-client (#365) --- SequenceAnalysis/build.gradle | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/SequenceAnalysis/build.gradle b/SequenceAnalysis/build.gradle index b3b486d2a..11a551af7 100644 --- a/SequenceAnalysis/build.gradle +++ b/SequenceAnalysis/build.gradle @@ -116,7 +116,18 @@ dependencies { 'Library for Base64 encoding. Used by FastQC' ) ) - implementation "net.sf.opencsv:opencsv:${opencsvVersion}" + BuildUtils.addExternalDependency( + project, + new ExternalDependency( + "net.sf.opencsv:opencsv:${opencsvVersion}", + 'Open CSV', + 'Open CSV', + 'http://opencsv.sf.net', + ExternalDependency.APACHE_2_LICENSE_NAME, + ExternalDependency.APACHE_2_LICENSE_URL, + 'A simple library for reading and writing CSV in Java' + ) + ) // picard brings in a version of servlet-api and a very old one at that, so we excluded it // Note: if changing this, we might need to match the htsjdk version set in gradle.properties From 085e4cbb964cf28e5f52f400cab3128de33c14d1 Mon Sep 17 00:00:00 2001 From: bbimber Date: Mon, 30 Jun 2025 12:48:24 -0700 Subject: [PATCH 20/34] Update DiscvrCoreController.java --- .../src/org/labkey/discvrcore/DiscvrCoreController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/discvrcore/src/org/labkey/discvrcore/DiscvrCoreController.java b/discvrcore/src/org/labkey/discvrcore/DiscvrCoreController.java index ea2596b7f..4fc7a91d8 100644 --- a/discvrcore/src/org/labkey/discvrcore/DiscvrCoreController.java +++ b/discvrcore/src/org/labkey/discvrcore/DiscvrCoreController.java @@ -41,7 +41,7 @@ import org.labkey.api.security.permissions.AdminPermission; import org.labkey.api.util.DOM; import org.labkey.api.util.GUID; -import org.labkey.api.util.Link; +import org.labkey.api.util.LinkBuilder; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.util.URLHelper; import org.labkey.api.util.logging.LogHelper; @@ -132,7 +132,7 @@ public ModelAndView getView(Object form, BindException errors) Class actionClass = (Class)x; items.put(annot.label(), DOM.TR( - DOM.TD(at(valign,"top"), new Link.LinkBuilder(annot.label()).href(new ActionURL(actionClass, getContainer())).build()), + DOM.TD(at(valign,"top"), LinkBuilder.labkeyLink(annot.label(), new ActionURL(actionClass, getContainer())).build()), DOM.TD(at(valign,"top"), annot.description()) )); } From 48e39df3251dbe8cad6228ffd36167b155ef93c8 Mon Sep 17 00:00:00 2001 From: bbimber Date: Mon, 30 Jun 2025 13:00:40 -0700 Subject: [PATCH 21/34] Update SequenceAnalysisController.java --- .../SequenceAnalysisController.java | 78 +------------------ 1 file changed, 2 insertions(+), 76 deletions(-) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java index 706b1af78..a5a70b813 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java @@ -428,81 +428,7 @@ public void addNavTrail(NavTree tree) tree.addChild("Analyze Alignments"); } } - - @RequiresPermission(ReadPermission.class) - @IgnoresTermsOfUse - public static class DownloadTempImageAction extends ExportAction - { - @Override - public void export(TempImageAction form, HttpServletResponse response, BindException errors) throws Exception - { - File parentDir = form.getDirectory() == null ? FileUtil.getTempDirectory() : new File(FileUtil.getTempDirectory(), form.getDirectory()); - File targetFile = new File(parentDir, form.getFileName()); - targetFile = FileUtil.getAbsoluteCaseSensitiveFile(targetFile); - - if (!NetworkDrive.exists(targetFile)) - { - throw new FileNotFoundException("Could not find file: " + targetFile.getPath()); - } - - if (parentDir.listFiles() == null) - { - throw new FileNotFoundException("Unable to list the contents of folder: " + parentDir.getPath()); - } - - PageFlowUtil.streamFile(response, targetFile, false); - - //the file will be recreated, so delete upon running - FileUtils.deleteQuietly(targetFile); - - //if the folder if empty, remove it too. other simultaneous requests might have deleted this folder before we get to it - if (parentDir != null && parentDir.exists()) - { - File[] children = parentDir.listFiles(); - if (children != null && children.length == 0 && !parentDir.equals(FileUtil.getTempDirectory())) - { - FileUtils.deleteQuietly(parentDir); //the Images folder - File parent = parentDir.getParentFile(); - FileUtils.deleteQuietly(parent); //the file's folder - - if (parent != null && parent.getParentFile() != null) - { - File[] children2 = parent.getParentFile().listFiles(); - if (children2 != null && children2.length == 0) - FileUtils.deleteQuietly(parent.getParentFile()); //the file's folder - } - } - } - } - } - - @RequiresPermission(ReadPermission.class) - @IgnoresTermsOfUse - public static class ConvertTextToFileAction extends ExportAction - { - @Override - public void export(ConvertTextToFileForm form, HttpServletResponse response, BindException errors) throws Exception - { - String text = form.getText(); - - if (text == null) - { - errors.reject(ERROR_MSG, "Need to provide text"); - return; - } - if (form.getFileName() == null) - { - errors.reject(ERROR_MSG, "Need to provide a filename"); - return; - } - - Map headers = new HashMap<>(); - - PageFlowUtil.prepareResponseForFile(response, headers, form.getFileName(), true); - response.getOutputStream().print(text); - } - } - + @UtilityAction(label = "Find Orphan Files", description = "This will start a pipeline job that will inspect all files in this folder to identify potential orphan or otherwise unnecessary files") @RequiresPermission(ReadPermission.class) public static class FindOrphanFilesAction extends ConfirmAction @@ -5318,4 +5244,4 @@ public void setDataFileUrl(String dataFileUrl) _dataFileUrl = dataFileUrl; } } -} \ No newline at end of file +} From 088552fc276aed57c7fb05dcafccffafa0d3f6de Mon Sep 17 00:00:00 2001 From: labkey-matthewb Date: Tue, 29 Jul 2025 10:16:49 -0700 Subject: [PATCH 22/34] checkpoint - migrate to using long/Long to represent any integer ID value (rowId, objectId, etc). --- .../org/labkey/api/sequenceanalysis/RefNtSequenceModel.java | 6 +++--- cluster/src/org/labkey/cluster/pipeline/ClusterJob.java | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/RefNtSequenceModel.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/RefNtSequenceModel.java index 415643b70..782f9c827 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/RefNtSequenceModel.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/RefNtSequenceModel.java @@ -61,7 +61,7 @@ public class RefNtSequenceModel implements Serializable private String _name; //deprecated private String _sequence; - private Integer _sequenceFile; + private Long _sequenceFile; private Integer _jobId; private String _category; private String _subset; @@ -171,12 +171,12 @@ public void setSequence(String sequence) _sequence = sequence; } - public Integer getSequenceFile() + public Long getSequenceFile() { return _sequenceFile; } - public void setSequenceFile(Integer sequenceFile) + public void setSequenceFile(Long sequenceFile) { _sequenceFile = sequenceFile; } diff --git a/cluster/src/org/labkey/cluster/pipeline/ClusterJob.java b/cluster/src/org/labkey/cluster/pipeline/ClusterJob.java index afe3c5024..bfc23618d 100644 --- a/cluster/src/org/labkey/cluster/pipeline/ClusterJob.java +++ b/cluster/src/org/labkey/cluster/pipeline/ClusterJob.java @@ -9,7 +9,7 @@ public class ClusterJob { private int _rowId; private String _jobId; - private int _statusFileId; + private long _statusFileId; private String _status; private Boolean _hasStarted; private String _clusterId; @@ -169,12 +169,12 @@ public void setClusterUser(String clusterUser) _clusterUser = clusterUser; } - public int getStatusFileId() + public long getStatusFileId() { return _statusFileId; } - public void setStatusFileId(int statusFileId) + public void setStatusFileId(long statusFileId) { _statusFileId = statusFileId; } From b8a6c63afcd1025e34d6c41aedb4090c7064c7f2 Mon Sep 17 00:00:00 2001 From: labkey-matthewb Date: Tue, 29 Jul 2025 11:04:55 -0700 Subject: [PATCH 23/34] checkpoint - migrate to using long/Long to represent any integer ID value (rowId, objectId, etc). --- .../sequenceanalysis/RefNtSequenceModel.java | 6 ++-- .../SequenceAnalysisService.java | 2 +- .../sequenceanalysis/SequenceOutputFile.java | 12 ++++---- .../sequenceanalysis/model/AnalysisModel.java | 8 +++--- .../api/sequenceanalysis/model/ReadData.java | 6 ++-- .../api/sequenceanalysis/model/Readset.java | 2 +- .../pipeline/ReferenceGenome.java | 2 +- .../pipeline/SequenceAnalysisJobSupport.java | 4 +-- .../pipeline/SequencePipelineService.java | 4 +-- .../labkey/sequenceanalysis/ReadDataImpl.java | 20 ++++++------- .../SequenceAnalysisController.java | 8 +++--- .../SequenceAnalysisMaintenanceTask.java | 2 +- .../SequenceAnalysisManager.java | 6 ++-- .../SequenceAnalysisServiceImpl.java | 2 +- .../SequenceIntegrationTests.java | 2 +- .../SequencePipelineServiceImpl.java | 4 +-- .../sequenceanalysis/SequenceReadsetImpl.java | 6 ++-- .../RecalculateSequenceMetricsHandler.java | 2 +- .../model/AnalysisModelImpl.java | 28 +++++++++---------- .../AlignmentAnalysisRemoteWorkTask.java | 8 +++--- .../pipeline/AlignmentImportTask.java | 4 +-- .../pipeline/IlluminaImportTask.java | 4 +-- .../pipeline/IlluminaReadsetCreationTask.java | 4 +-- .../pipeline/ImportFastaSequencesTask.java | 2 +- .../pipeline/ImportGenomeTrackTask.java | 2 +- .../pipeline/OrphanFilePipelineJob.java | 2 +- .../pipeline/ProcessVariantsHandler.java | 4 +-- .../pipeline/ReadsetCreationTask.java | 12 ++++---- .../pipeline/ReferenceGenomeImpl.java | 6 ++-- .../pipeline/SequenceAnalysisTask.java | 4 +-- .../pipeline/SequenceJob.java | 6 ++-- .../pipeline/SequenceJobSupportImpl.java | 8 +++--- .../SequenceOutputHandlerFinalTask.java | 6 ++-- .../SequenceReadsetHandlerFinalTask.java | 2 +- .../pipeline/SequenceTaskHelper.java | 11 ++++---- .../pipeline/TaskFileManagerImpl.java | 4 +-- .../query/SequenceTriggerHelper.java | 2 +- .../run/RestoreSraDataHandler.java | 5 ++-- .../run/analysis/NextCladeHandler.java | 4 +-- .../src/org/labkey/blast/model/BlastJob.java | 8 +++--- .../run/CellRangerGexCountStep.java | 2 +- .../singlecell/run/CellRangerVDJWrapper.java | 4 +-- 42 files changed, 121 insertions(+), 119 deletions(-) diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/RefNtSequenceModel.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/RefNtSequenceModel.java index 782f9c827..4d7afe5c6 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/RefNtSequenceModel.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/RefNtSequenceModel.java @@ -62,7 +62,7 @@ public class RefNtSequenceModel implements Serializable //deprecated private String _sequence; private Long _sequenceFile; - private Integer _jobId; + private Long _jobId; private String _category; private String _subset; private String _locus; @@ -361,12 +361,12 @@ public void setModified(Date modified) _modified = modified; } - public Integer getJobId() + public Long getJobId() { return _jobId; } - public void setJobId(Integer jobId) + public void setJobId(Long jobId) { _jobId = jobId; } diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java index 924b5b666..312d5f1f7 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java @@ -87,7 +87,7 @@ static public void setInstance(SequenceAnalysisService instance) abstract public String getUnzippedBaseName(String filename); - abstract public Integer getExpRunIdForJob(PipelineJob job, boolean throwUnlessFound) throws PipelineJobException; + abstract public Long getExpRunIdForJob(PipelineJob job, boolean throwUnlessFound) throws PipelineJobException; abstract public List generatePedigree(Collection sampleNames, Container c, User u, DemographicsProvider d); diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceOutputFile.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceOutputFile.java index edf0edb0c..3764b2069 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceOutputFile.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceOutputFile.java @@ -37,11 +37,11 @@ public class SequenceOutputFile implements Serializable private Integer _rowid; private String _name; private String _description; - private Integer _dataId; + private Long _dataId; private Integer _library_id; private Integer _readset; private Integer _analysis_id; - private Integer _runid; + private Long _runid; private String _category; private Boolean _intermediate; private String _container; @@ -86,12 +86,12 @@ public void setDescription(String description) _description = description; } - public Integer getDataId() + public Long getDataId() { return _dataId; } - public void setDataId(Integer dataId) + public void setDataId(Long dataId) { _dataId = dataId; } @@ -126,12 +126,12 @@ public void setAnalysis_id(Integer analysis_id) _analysis_id = analysis_id; } - public Integer getRunId() + public Long getRunId() { return _runid; } - public void setRunId(Integer runid) + public void setRunId(Long runid) { _runid = runid; } diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/AnalysisModel.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/AnalysisModel.java index 89cf684c4..a984bd848 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/AnalysisModel.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/AnalysisModel.java @@ -33,22 +33,22 @@ public interface AnalysisModel extends Serializable { Integer getAnalysisId(); - Integer getRunId(); + Long getRunId(); String getContainer(); Integer getReadset(); - Integer getAlignmentFile(); + Long getAlignmentFile(); File getAlignmentFileObject(); ExpData getAlignmentData(); @Deprecated - Integer getReferenceLibrary(); + Long getReferenceLibrary(); - void setReferenceLibrary(Integer libraryId); + void setReferenceLibrary(Long libraryId); ExpData getReferenceLibraryData(User u) throws PipelineJobException; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/ReadData.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/ReadData.java index 0a008fc50..eedcccb33 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/ReadData.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/ReadData.java @@ -34,9 +34,9 @@ public interface ReadData extends Serializable Date getDate(); - Integer getFileId1(); + Long getFileId1(); - Integer getFileId2(); + Long getFileId2(); File getFile1(); @@ -44,7 +44,7 @@ public interface ReadData extends Serializable String getDescription(); - Integer getRunId(); + Long getRunId(); String getContainer(); diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/Readset.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/Readset.java index 763ba1345..758d05e44 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/Readset.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/Readset.java @@ -72,7 +72,7 @@ public interface Readset extends Serializable String getStatus(); - Integer getRunId(); + Long getRunId(); boolean hasPairedData(); diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/ReferenceGenome.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/ReferenceGenome.java index f0e943867..542a43a38 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/ReferenceGenome.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/ReferenceGenome.java @@ -75,7 +75,7 @@ public interface ReferenceGenome extends Serializable * this will correspond to the permanent FASTA, as opposed to the copy used in this job. If this FASTA was created specifically for * this job then the FASTA will be in the analysis directory. */ - Integer getFastaExpDataId(); + Long getFastaExpDataId(); /** * @param name The name used by the aligner to identify its cached directory diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequenceAnalysisJobSupport.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequenceAnalysisJobSupport.java index 2e8cd2fc8..f6fe605ad 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequenceAnalysisJobSupport.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequenceAnalysisJobSupport.java @@ -35,9 +35,9 @@ public interface SequenceAnalysisJobSupport extends Serializable { void cacheExpData(ExpData data); - File getCachedData(int dataId); + File getCachedData(long dataId); - Map getAllCachedData(); + Map getAllCachedData(); Readset getCachedReadset(Integer rowId); diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequencePipelineService.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequencePipelineService.java index e0f8df975..685470080 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequencePipelineService.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequencePipelineService.java @@ -115,7 +115,7 @@ static public void setInstance(SequencePipelineService instance) /** * Throws exception if no run is found */ - abstract public Integer getExpRunIdForJob(PipelineJob job) throws PipelineJobException; + abstract public Long getExpRunIdForJob(PipelineJob job) throws PipelineJobException; abstract public long getLineCount(File f) throws PipelineJobException; @@ -140,7 +140,7 @@ static public void setInstance(SequencePipelineService instance) abstract public boolean hasMinLineCount(File f, long minLines) throws PipelineJobException; - abstract public void updateOutputFile(SequenceOutputFile o, PipelineJob job, Integer runId, Integer analysisId); + abstract public void updateOutputFile(SequenceOutputFile o, PipelineJob job, Long runId, Integer analysisId); abstract public PreprocessingStep.Output simpleTrimFastqPair(File fq1, File fq2, List params, File outDir, Logger log) throws PipelineJobException; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/ReadDataImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/ReadDataImpl.java index b3e8d19d2..93b0eb128 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/ReadDataImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/ReadDataImpl.java @@ -28,15 +28,15 @@ public class ReadDataImpl implements ReadData private String _platformUnit; private String _centerName; private Date _date; - private Integer _fileId1; - private Integer _fileId2; + private Long _fileId1; + private Long _fileId2; private String _description; private String _container; private Date _created; private Integer _createdBy; private Date _modified; private Integer _modifiedBy; - private Integer _runId; + private Long _runId; private boolean _archived = false; private String sra_accession; @@ -103,23 +103,23 @@ public void setDate(Date date) } @Override - public Integer getFileId1() + public Long getFileId1() { return _fileId1; } - public void setFileId1(Integer fileId1) + public void setFileId1(Long fileId1) { _fileId1 = fileId1; } @Override - public Integer getFileId2() + public Long getFileId2() { return _fileId2; } - public void setFileId2(Integer fileId2) + public void setFileId2(Long fileId2) { _fileId2 = fileId2; } @@ -131,12 +131,12 @@ public String getDescription() } @Override - public Integer getRunId() + public Long getRunId() { return _runId; } - public void setRunId(Integer runId) + public void setRunId(Long runId) { _runId = runId; } @@ -258,7 +258,7 @@ public Integer getTotalReads() } @Transient - private File getFile(int fileIdx, Integer fileId, boolean allowArchived) + private File getFile(int fileIdx, Long fileId, boolean allowArchived) { if (isArchived() && !allowArchived) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java index a5a70b813..8d94a8c9e 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java @@ -503,15 +503,15 @@ public URLHelper getSuccessURL(Object form) public static class DeleteForm extends QueryForm { - private Integer[] _jobIds; + private Long[] _jobIds; private boolean _doDelete = false; - public Integer[] getJobIds() + public Long[] getJobIds() { return _jobIds; } - public void setJobIds(Integer[] jobIds) + public void setJobIds(Long[] jobIds) { _jobIds = jobIds; } @@ -2916,7 +2916,7 @@ public void exec(ResultSet object) throws SQLException String header = se.eval(rs.getFieldKeyRowMap()); RefNtSequenceModel model = new RefNtSequenceModel(); if (rs.getObject(FieldKey.fromString("sequenceFile")) != null) - model.setSequenceFile(rs.getInt(FieldKey.fromString("sequenceFile"))); + model.setSequenceFile(rs.getLong(FieldKey.fromString("sequenceFile"))); model.setContainer(rs.getString(FieldKey.fromString("container"))); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisMaintenanceTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisMaintenanceTask.java index 128d3448a..bca5d410f 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisMaintenanceTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisMaintenanceTask.java @@ -239,7 +239,7 @@ else if (!d.getFile().exists()) } } - private void inspectForCoreFiles(Integer runId, Logger log) + private void inspectForCoreFiles(Long runId, Logger log) { if (runId == null) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java index 930469cc7..08bf2fce2 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java @@ -280,9 +280,9 @@ public Collection deleteOutputFiles(List outputFileIds, User u throw new IllegalArgumentException("Unable to find sequenceanalysis user schema"); } - Set bamsDeleted = new HashSet<>(); + Set bamsDeleted = new HashSet<>(); Set outputFilesWithDataNotDeleted = new HashSet<>(); - Set expDataDeleted = new HashSet<>(); + Set expDataDeleted = new HashSet<>(); List files = new TableSelector(SequenceAnalysisSchema.getTable(SequenceAnalysisSchema.TABLE_OUTPUTFILES), new SimpleFilter(FieldKey.fromString("rowid"), outputFileIds, CompareType.IN), null).getArrayList(SequenceOutputFile.class); for (SequenceOutputFile so : files) { @@ -728,7 +728,7 @@ public ReferenceLibraryPipelineJob createReferenceLibrary(Container c, User u, S } } - public List importRefSequencesFromFasta(Container c, User u, File file, boolean splitWhitespace, Map params, Logger log, @Nullable File outDir, @Nullable Integer jobId) throws IOException + public List importRefSequencesFromFasta(Container c, User u, File file, boolean splitWhitespace, Map params, Logger log, @Nullable File outDir, @Nullable Long jobId) throws IOException { PipeRoot root = PipelineService.get().getPipelineRootSetting(c); if (root == null) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisServiceImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisServiceImpl.java index 9a3305cbd..a9630f179 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisServiceImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisServiceImpl.java @@ -363,7 +363,7 @@ public String getUnzippedBaseName(String filename) } @Override - public Integer getExpRunIdForJob(PipelineJob job, boolean throwUnlessFound) throws PipelineJobException + public Long getExpRunIdForJob(PipelineJob job, boolean throwUnlessFound) throws PipelineJobException { return SequenceTaskHelper.getExpRunIdForJob(job, throwUnlessFound); } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceIntegrationTests.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceIntegrationTests.java index 304a88709..2a5c0c382 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceIntegrationTests.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceIntegrationTests.java @@ -1452,7 +1452,7 @@ private void validateQualityMetrics(SequenceReadsetImpl[] models, JSONObject con } } - private SequenceReadsetImpl[] getReadsetsForJob(int runId) + private SequenceReadsetImpl[] getReadsetsForJob(long runId) { TableInfo ti = SequenceAnalysisSchema.getTable(SequenceAnalysisSchema.TABLE_READSETS); TableSelector ts = new TableSelector(ti, new SimpleFilter(FieldKey.fromString("runid"), runId), null); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequencePipelineServiceImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequencePipelineServiceImpl.java index 60f02bd15..f301476cc 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequencePipelineServiceImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequencePipelineServiceImpl.java @@ -518,7 +518,7 @@ public List getSequenceJobInputFiles(PipelineJob job) } @Override - public Integer getExpRunIdForJob(PipelineJob job) throws PipelineJobException + public Long getExpRunIdForJob(PipelineJob job) throws PipelineJobException { return SequenceTaskHelper.getExpRunIdForJob(job); } @@ -610,7 +610,7 @@ public boolean hasMinLineCount(File f, long minLines) throws PipelineJobExceptio } @Override - public void updateOutputFile(SequenceOutputFile o, PipelineJob job, Integer runId, Integer analysisId) + public void updateOutputFile(SequenceOutputFile o, PipelineJob job, Long runId, Integer analysisId) { SequenceOutputHandlerFinalTask.updateOutputFile(o, job, runId, analysisId); } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceReadsetImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceReadsetImpl.java index 0f93eea55..17bb93a7f 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceReadsetImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceReadsetImpl.java @@ -50,7 +50,7 @@ public class SequenceReadsetImpl implements Readset private Double _fragmentSize; private Double _concentration; private Integer _instrument_run_id; - private Integer _runId; + private Long _runId; private String _status; private String _container; private Date _created; @@ -259,12 +259,12 @@ public void setInstrument_run_id(Integer instrument_run_id) } @Override - public Integer getRunId() + public Long getRunId() { return _runId; } - public void setRunId(Integer runId) + public void setRunId(Long runId) { _runId = runId; } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/RecalculateSequenceMetricsHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/RecalculateSequenceMetricsHandler.java index 58e1b8632..c9a8a9afa 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/RecalculateSequenceMetricsHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/RecalculateSequenceMetricsHandler.java @@ -81,7 +81,7 @@ public void processFilesOnWebserver(PipelineJob job, SequenceAnalysisJobSupport for (ReadData rd : rs.getReadData()) { - for (Integer dataId : Arrays.asList(rd.getFileId1(), rd.getFileId2())) + for (Long dataId : Arrays.asList(rd.getFileId1(), rd.getFileId2())) { if (dataId == null) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/model/AnalysisModelImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/model/AnalysisModelImpl.java index aeb482267..fa4a01d44 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/model/AnalysisModelImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/model/AnalysisModelImpl.java @@ -29,15 +29,15 @@ public class AnalysisModelImpl implements AnalysisModel { private Integer _rowId; private String _type; - private Integer _runId; + private Long _runId; private Integer _createdby; private Date _created; private Integer _modifiedby; private Date _modified; private String _container; private Integer _readset; - private Integer _alignmentFile; - private Integer _reference_library; + private Long _alignmentFile; + private Long _reference_library; private Integer _library_id; private String _description; private String _synopsis; @@ -85,7 +85,7 @@ public void setType(String type) _type = type; } - public void setRunId(Integer runId) + public void setRunId(Long runId) { _runId = runId; } @@ -110,18 +110,18 @@ public void setReadset(Integer readset) _readset = readset; } - public void setAlignmentFile(Integer alignmentFile) + public void setAlignmentFile(Long alignmentFile) { _alignmentFile = alignmentFile; } - public void setReference_library(Integer reference_library) + public void setReference_library(Long reference_library) { _reference_library = reference_library; } @Override - public void setReferenceLibrary(Integer reference_library) + public void setReferenceLibrary(Long reference_library) { _reference_library = reference_library; } @@ -137,7 +137,7 @@ public void setModified(Date modified) } @Override - public Integer getRunId() + public Long getRunId() { return _runId; } @@ -155,7 +155,7 @@ public Integer getReadset() } @Override - public Integer getAlignmentFile() + public Long getAlignmentFile() { return _alignmentFile; } @@ -166,7 +166,7 @@ public ExpData getAlignmentData() return getData(_alignmentFile); } - private ExpData getData(Integer dataId) + private ExpData getData(Long dataId) { if (PipelineJobService.get().getLocationType() != PipelineJobService.LocationType.WebServer) { @@ -194,12 +194,12 @@ public File getAlignmentFileObject() } @Override - public Integer getReferenceLibrary() + public Long getReferenceLibrary() { return _reference_library; } - public Integer getReference_Library() + public Long getReference_Library() { return _reference_library; } @@ -208,7 +208,7 @@ public Integer getReference_Library() public ExpData getReferenceLibraryData(User u) throws PipelineJobException { //preferentially use library_id - Integer dataId = null; + Long dataId = null; if (_library_id != null && PipelineJobService.get().getLocationType() == PipelineJobService.LocationType.WebServer) { ReferenceGenome g = SequenceAnalysisService.get().getReferenceGenome(_library_id, u); @@ -328,7 +328,7 @@ public void setLibraryId(Integer library_id) // return new TableSelector(SequenceAnalysisSchema.getTable(SequenceAnalysisSchema.TABLE_READSETS)).getObject(_readset, Readset.class); // } - private String getFilePath(Integer dataId) + private String getFilePath(Long dataId) { if (dataId == null || PipelineJobService.get().getLocationType() != PipelineJobService.LocationType.WebServer) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentAnalysisRemoteWorkTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentAnalysisRemoteWorkTask.java index 43ebcb290..1af40f388 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentAnalysisRemoteWorkTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentAnalysisRemoteWorkTask.java @@ -92,9 +92,9 @@ public RecordedActionSet run() throws PipelineJobException { _taskHelper = new SequenceTaskHelper(getPipelineJob(), _wd); - Map cachedFiles = getTaskHelper().getSequenceSupport().getAllCachedData(); + Map cachedFiles = getTaskHelper().getSequenceSupport().getAllCachedData(); getJob().getLogger().debug("total ExpDatas cached: " + cachedFiles.size()); - for (Integer dataId : cachedFiles.keySet()) + for (Long dataId : cachedFiles.keySet()) { getJob().getLogger().debug("file was cached: " + dataId + " / " + cachedFiles.get(dataId).getPath()); } @@ -142,7 +142,7 @@ public RecordedActionSet run() throws PipelineJobException private File resolveRefFasta(AnalysisModel m, File inputBam) throws PipelineJobException { //first try to find FASTA based on reference_library - Integer refFastaId = m.getReferenceLibrary(); + Long refFastaId = m.getReferenceLibrary(); if (refFastaId != null) { File refFasta = getTaskHelper().getSequenceSupport().getCachedData(refFastaId); @@ -184,7 +184,7 @@ private Map getAnalysisMap() for (AnalysisModel m : getTaskHelper().getSequenceSupport().getCachedAnalyses()) { - int bamId = m.getAlignmentFile(); + long bamId = m.getAlignmentFile(); File bam = getTaskHelper().getSequenceSupport().getCachedData(bamId); if (bam != null) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentImportTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentImportTask.java index 56c484aca..1889e0d69 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentImportTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentImportTask.java @@ -103,7 +103,7 @@ private List parseAndCreateAnalyses() throws PipelineJobException //find moved BAM files and build map Map bamMap = new HashMap<>(); - Integer runId = SequenceTaskHelper.getExpRunIdForJob(getJob()); + Long runId = SequenceTaskHelper.getExpRunIdForJob(getJob()); ExpRun run = ExperimentService.get().getExpRun(runId); List datas = run.getInputDatas(SequenceAlignmentTask.FINAL_BAM_ROLE, ExpProtocol.ApplicationType.ExperimentRunOutput); if (!datas.isEmpty()) @@ -151,7 +151,7 @@ private List parseAndCreateAnalyses() throws PipelineJobException a.setLibrary_id(o.getInt("library_id")); TableInfo ti = SequenceAnalysisSchema.getInstance().getSchema().getTable(SequenceAnalysisSchema.TABLE_REF_LIBRARIES); - Integer refFastaId = new TableSelector(ti, PageFlowUtil.set("fasta_file")).getObject(o.getInt("library_id"), Integer.class); + Long refFastaId = new TableSelector(ti, PageFlowUtil.set("fasta_file")).getObject(o.getInt("library_id"), Long.class); a.setReferenceLibrary(refFastaId); a.setContainer(getJob().getContainer().getId()); a.setCreated(new Date()); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java index 3928cc015..bfd4fce3a 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java @@ -182,7 +182,7 @@ public RecordedActionSet run() throws PipelineJobException TableInfo rs = schema.getTable(SequenceAnalysisSchema.TABLE_READSETS); TableInfo readDataTable = schema.getTable(SequenceAnalysisSchema.TABLE_READ_DATA); - Integer runId = SequenceTaskHelper.getExpRunIdForJob(getJob(), false); + Long runId = SequenceTaskHelper.getExpRunIdForJob(getJob(), false); //update the readsets Map row; @@ -453,7 +453,7 @@ private Integer tryCreateReadset(DbSchema schema, String[] line) throws Pipeline if (_instrumentRunId != null) row.put("instrument_run_id", _instrumentRunId); - Integer runId = SequenceTaskHelper.getExpRunIdForJob(getJob(), false); + Long runId = SequenceTaskHelper.getExpRunIdForJob(getJob(), false); if (runId != null) row.put("runid", runId); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaReadsetCreationTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaReadsetCreationTask.java index 5dd3ccd0b..87c5abcc8 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaReadsetCreationTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaReadsetCreationTask.java @@ -87,7 +87,7 @@ public RecordedActionSet run() throws PipelineJobException PipelineJob job = getJob(); job.getLogger().info("Updating readsets"); - Integer runId = SequenceTaskHelper.getExpRunIdForJob(getJob()); + Long runId = SequenceTaskHelper.getExpRunIdForJob(getJob()); DbSchema schema = SequenceAnalysisSchema.getInstance().getSchema(); @@ -97,7 +97,7 @@ public RecordedActionSet run() throws PipelineJobException TableInfo readData = schema.getTable(SequenceAnalysisSchema.TABLE_READ_DATA); ExpRun run = ExperimentService.get().getExpRun(runId); - List dataIds = new ArrayList<>(); + List dataIds = new ArrayList<>(); List outputs = run.getDataOutputs(); for (ExpData d : outputs) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportFastaSequencesTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportFastaSequencesTask.java index 464d8a0b7..b19a93470 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportFastaSequencesTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportFastaSequencesTask.java @@ -97,7 +97,7 @@ public RecordedActionSet run() throws PipelineJobException List sequenceIds = new ArrayList<>(); for (File f : getPipelineJob().getFastas()) { - Integer jobId = PipelineService.get().getJobId(getJob().getUser(), getJob().getContainer(), getJob().getJobGUID()); + Long jobId = PipelineService.get().getJobId(getJob().getUser(), getJob().getContainer(), getJob().getJobGUID()); sequenceIds.addAll(SequenceAnalysisManager.get().importRefSequencesFromFasta(getJob().getContainer(), getJob().getUser(), f, getPipelineJob().isSplitWhitespace(), getPipelineJob().getParams(), getJob().getLogger(), getPipelineJob().getOutDir(), jobId)); } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java index 5c6498d0c..1dd59e68c 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java @@ -328,7 +328,7 @@ else if (SequenceUtil.FILETYPE.bw.getFileType().isType(file)) map.put("modified", new Date()); map.put("modifiedby", getJob().getUser().getUserId()); map.put("fileid", trackData.getRowId()); - Integer jobId = PipelineService.get().getJobId(getJob().getUser(), genomeContainer, getJob().getJobGUID()); + Long jobId = PipelineService.get().getJobId(getJob().getUser(), genomeContainer, getJob().getJobGUID()); map.put("jobId", jobId); TableInfo trackTable = SequenceAnalysisSchema.getTable(SequenceAnalysisSchema.TABLE_LIBRARY_TRACKS); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/OrphanFilePipelineJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/OrphanFilePipelineJob.java index a73f34d78..7c95e2b0b 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/OrphanFilePipelineJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/OrphanFilePipelineJob.java @@ -498,7 +498,7 @@ else if (jobIds.size() > 1) // NOTE: if this file is within a known job path, it still could be an orphan. first check whether the directory has registered files. // If so, remove that path from the set of known job paths List dataUnderPath = ExperimentService.get().getExpDatasUnderPath(dir, c); - Set dataIdsUnderPath = new HashSet<>(); + Set dataIdsUnderPath = new HashSet<>(); for (ExpData d : dataUnderPath) { dataIdsUnderPath.add(d.getRowId()); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java index fab9620ad..6bf7fbc96 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java @@ -609,7 +609,7 @@ public void processFilesRemote(List inputFiles, JobContext c ReferenceGenome rg = ctx.getSequenceSupport().getCachedGenome(genomes.iterator().next()); MergeVcfsAndGenotypesWrapper cv = new MergeVcfsAndGenotypesWrapper(ctx.getLogger()); - Map fileMap = new HashMap<>(); + Map fileMap = new HashMap<>(); inputFiles.forEach(x -> fileMap.put(x.getRowid(), x.getDataId())); String[] ids = priorityOrder.split(","); @@ -622,7 +622,7 @@ public void processFilesRemote(List inputFiles, JobContext c throw new PipelineJobException("Unable to find file matching priority: " + i); } - int dataId = fileMap.get(i); + long dataId = fileMap.get(i); vcfsInPriority.add(ctx.getSequenceSupport().getCachedData(dataId)); } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java index 4900f8c99..7aab4ca25 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java @@ -156,7 +156,7 @@ private void importReadsets() throws PipelineJobException SequencePipelineSettings settings = getSettings(); DbSchema schema = SequenceAnalysisSchema.getInstance().getSchema(); - Integer runId = SequenceTaskHelper.getExpRunIdForJob(getJob()); + Long runId = SequenceTaskHelper.getExpRunIdForJob(getJob()); ExpRun run = ExperimentService.get().getExpRun(runId); List datas = new ArrayList<>(); datas.addAll(run.getInputDatas(SequenceTaskHelper.NORMALIZED_FASTQ_OUTPUTNAME, ExpProtocol.ApplicationType.ExperimentRunOutput)); @@ -166,7 +166,7 @@ private void importReadsets() throws PipelineJobException List newReadsets = new ArrayList<>(); - Set fileIdsWithExistingMetrics = new HashSet<>(); + Set fileIdsWithExistingMetrics = new HashSet<>(); try (DbScope.Transaction transaction = schema.getScope().ensureTransaction()) { Map readsetsToDeactivate = new HashMap<>(); @@ -514,7 +514,7 @@ private void importReadsets() throws PipelineJobException } } - private void runFastqcForFile(Integer fileId) throws PipelineJobException + private void runFastqcForFile(Long fileId) throws PipelineJobException { ExpData d1 = ExperimentService.get().getExpData(fileId); if (d1 != null && d1.getFile().exists()) @@ -535,7 +535,7 @@ private void runFastqcForFile(Integer fileId) throws PipelineJobException } } - private Long getTotalReadsForFile(int fileId, int readsetId) + private Long getTotalReadsForFile(long fileId, int readsetId) { TableInfo metricsTable = SequenceAnalysisManager.get().getTable(SequenceAnalysisSchema.TABLE_QUALITY_METRICS); @@ -554,12 +554,12 @@ private Long getTotalReadsForFile(int fileId, int readsetId) return 0L; } - public static long addQualityMetricsForReadset(Readset rs, int fileId, PipelineJob job) throws PipelineJobException + public static long addQualityMetricsForReadset(Readset rs, long fileId, PipelineJob job) throws PipelineJobException { return addQualityMetricsForReadset(rs, fileId, job, false); } - public static long addQualityMetricsForReadset(Readset rs, int fileId, PipelineJob job, boolean deleteExisting) throws PipelineJobException + public static long addQualityMetricsForReadset(Readset rs, long fileId, PipelineJob job, boolean deleteExisting) throws PipelineJobException { if (deleteExisting) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReferenceGenomeImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReferenceGenomeImpl.java index d4faf3341..5a2b348a0 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReferenceGenomeImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReferenceGenomeImpl.java @@ -34,7 +34,7 @@ public class ReferenceGenomeImpl implements ReferenceGenome private File _sourceFasta; private File _workingFasta; private Integer _genomeId; - private Integer _expDataId; + private Long _expDataId; // Default constructor for serialization protected ReferenceGenomeImpl() @@ -146,13 +146,13 @@ public void setGenomeId(Integer genomeId) _genomeId = genomeId; } - public void setExpDataId(Integer expDataId) + public void setExpDataId(Long expDataId) { _expDataId = expDataId; } @Override - public Integer getFastaExpDataId() + public Long getFastaExpDataId() { return _expDataId; } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAnalysisTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAnalysisTask.java index 0c024abcf..22ecab959 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAnalysisTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAnalysisTask.java @@ -159,7 +159,7 @@ public RecordedActionSet run() throws PipelineJobException job.getLogger().info("Processing Alignments"); //first validate all analysis records before actually creating any DB records - Integer runId = SequenceTaskHelper.getExpRunIdForJob(getJob()); + Long runId = SequenceTaskHelper.getExpRunIdForJob(getJob()); ExpRun run = ExperimentService.get().getExpRun(runId); AnalysisModelImpl analysisModel = null; @@ -356,7 +356,7 @@ else if (d.getFile().exists()) return new RecordedActionSet(); } - private void processAnalyses(AnalysisModelImpl analysisModel, int runId, List actions, SequenceTaskHelper taskHelper, boolean discardBam) throws PipelineJobException + private void processAnalyses(AnalysisModelImpl analysisModel, long runId, List actions, SequenceTaskHelper taskHelper, boolean discardBam) throws PipelineJobException { List outputs = new ArrayList<>(); List> steps = SequencePipelineService.get().getSteps(getJob(), AnalysisStep.class); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJob.java index 80fddbc7f..f0041a28e 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJob.java @@ -68,7 +68,7 @@ public class SequenceJob extends PipelineJob implements FileAnalysisJobSupport, HasJobParams, SequenceOutputTracker { private TaskId _taskPipelineId; - private Integer _experimentRunRowId; + private Long _experimentRunRowId; private String _jobName; private String _description; private FileLike _webserverJobDir; @@ -558,12 +558,12 @@ public PipeRoot getFolderPipeRoot() return _folderFileRoot; } - public Integer getExperimentRunRowId() + public Long getExperimentRunRowId() { return _experimentRunRowId; } - public void setExperimentRunRowId(Integer experimentRunRowId) + public void setExperimentRunRowId(Long experimentRunRowId) { _experimentRunRowId = experimentRunRowId; } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJobSupportImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJobSupportImpl.java index f84922a68..8b48621e5 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJobSupportImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJobSupportImpl.java @@ -37,7 +37,7 @@ */ public class SequenceJobSupportImpl implements SequenceAnalysisJobSupport, Serializable { - private final Map _cachedFilePaths = new HashMap<>(); + private final Map _cachedFilePaths = new HashMap<>(); private final List _cachedReadsets = new ArrayList<>(); private final Map _cachedAnalyses = new HashMap<>(); private final Map _cachedGenomes = new HashMap<>(); @@ -243,13 +243,13 @@ public void cacheExpData(ExpData data) } @Override - public File getCachedData(int dataId) + public File getCachedData(long dataId) { return _cachedFilePaths.get(dataId); } @Override - public Map getAllCachedData() + public Map getAllCachedData() { return Collections.unmodifiableMap(_cachedFilePaths); } @@ -309,7 +309,7 @@ public void testSerializeWithMap() throws Exception rs1.setRowId(100); js1._cachedReadsets.add(rs1); - js1._cachedFilePaths.put(4, new File("/")); + js1._cachedFilePaths.put(4L, new File("/")); HashMap map = new HashMap<>(); map.put(1, 1); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerFinalTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerFinalTask.java index 7fa141ce5..39ef0fe9f 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerFinalTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerFinalTask.java @@ -87,7 +87,7 @@ private SequenceOutputHandlerJob getPipelineJob() @Override public RecordedActionSet run() throws PipelineJobException { - Integer runId = SequenceTaskHelper.getExpRunIdForJob(getJob()); + Long runId = SequenceTaskHelper.getExpRunIdForJob(getJob()); getPipelineJob().setExperimentRunRowId(runId); //create analysisRecord @@ -164,7 +164,7 @@ public RecordedActionSet run() throws PipelineJobException return new RecordedActionSet(); } - public static Set createOutputFiles(SequenceJob job, int runId, @Nullable Integer analysisId) + public static Set createOutputFiles(SequenceJob job, long runId, @Nullable Integer analysisId) { job.getLogger().info("creating " + job.getOutputsToCreate().size() + " new output files for run: " + runId); @@ -205,7 +205,7 @@ public static Set createOutputFiles(SequenceJob job, int run return created; } - public static void updateOutputFile(SequenceOutputFile o, PipelineJob job, Integer runId, Integer analysisId) + public static void updateOutputFile(SequenceOutputFile o, PipelineJob job, Long runId, Integer analysisId) { o.setRunId(runId); o.setAnalysis_id(analysisId); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceReadsetHandlerFinalTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceReadsetHandlerFinalTask.java index b2cf6098d..da411b8bd 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceReadsetHandlerFinalTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceReadsetHandlerFinalTask.java @@ -71,7 +71,7 @@ private SequenceReadsetHandlerJob getPipelineJob() @Override public RecordedActionSet run() throws PipelineJobException { - Integer runId = SequenceTaskHelper.getExpRunIdForJob(getJob()); + Long runId = SequenceTaskHelper.getExpRunIdForJob(getJob()); getPipelineJob().setExperimentRunRowId(runId); List outputsCreated = new ArrayList<>(); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceTaskHelper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceTaskHelper.java index 5805c92d7..fe5d1fe32 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceTaskHelper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceTaskHelper.java @@ -15,6 +15,7 @@ */ package org.labkey.sequenceanalysis.pipeline; +import org.apache.commons.collections.MapUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; @@ -182,15 +183,15 @@ public SequencePipelineSettings getSettings() return _settings; } - public static Integer getExpRunIdForJob(PipelineJob job) throws PipelineJobException + public static Long getExpRunIdForJob(PipelineJob job) throws PipelineJobException { return getExpRunIdForJob(job, true); } - public static Integer getExpRunIdForJob(PipelineJob job, boolean throwUnlessFound) throws PipelineJobException + public static Long getExpRunIdForJob(PipelineJob job, boolean throwUnlessFound) throws PipelineJobException { - Integer jobId = PipelineService.get().getJobId(job.getUser(), job.getContainer(), job.getJobGUID()); - Integer parentJobId = PipelineService.get().getJobId(job.getUser(), job.getContainer(), job.getParentGUID()); + Long jobId = PipelineService.get().getJobId(job.getUser(), job.getContainer(), job.getJobGUID()); + Long parentJobId = PipelineService.get().getJobId(job.getUser(), job.getContainer(), job.getParentGUID()); TableInfo runs = ExperimentService.get().getSchema().getTable("ExperimentRun"); TableSelector ts = new TableSelector(runs, Collections.singleton("RowId"), new SimpleFilter(FieldKey.fromString("JobId"), jobId), null); @@ -210,7 +211,7 @@ public static Integer getExpRunIdForJob(PipelineJob job, boolean throwUnlessFoun return null; } Map row = rows[0]; - return (Integer)row.get("rowid"); + return MapUtils.getLong(row,"rowid"); } public static String getUnzippedBaseName(File file) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java index 91d06a881..a5395d761 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java @@ -361,7 +361,7 @@ public Set createSequenceOutputRecords(@Nullable Integer ana { if (!_job.getOutputsToCreate().isEmpty()) { - Integer runId = SequenceTaskHelper.getExpRunIdForJob(_job); + Long runId = SequenceTaskHelper.getExpRunIdForJob(_job); return SequenceOutputHandlerFinalTask.createOutputFiles(_job, runId, analysisId); } else @@ -582,7 +582,7 @@ public void writeMetricsToDb(Map readsetMap, Map readsets, List toAdd = new ArrayList<>(rd.getFileId1()); + List toAdd = new ArrayList<>(); + toAdd.add(rd.getFileId1()); if (rd.getFileId2() != null) { toAdd.add(rd.getFileId2()); } job.getLogger().debug("adding metrics for " + toAdd.size() + " total fastq files"); - for (int dataId : toAdd) + for (long dataId : toAdd) { //then delete/add: job.getLogger().debug("adding metrics for: " + dataId); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NextCladeHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NextCladeHandler.java index 0b02e947c..17edb1bf5 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NextCladeHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NextCladeHandler.java @@ -176,7 +176,7 @@ else if (samples.length() != 1) } } - public static void processAndImportNextCladeAa(PipelineJob job, File jsonFile, int analysisId, int libraryId, int alignmentId, int readsetId, File consensusVCF, boolean dbImport) throws PipelineJobException + public static void processAndImportNextCladeAa(PipelineJob job, File jsonFile, int analysisId, int libraryId, long alignmentId, int readsetId, File consensusVCF, boolean dbImport) throws PipelineJobException { JSONObject sample = parseNextClade(jsonFile, job.getLogger()); if (sample == null) @@ -360,7 +360,7 @@ public static void processAndImportNextCladeAa(PipelineJob job, File jsonFile, i } } - private static void saveClade(String clade, int analysisId, int alignmentId, int readsetId, PipelineJob job) throws PipelineJobException + private static void saveClade(String clade, int analysisId, long alignmentId, int readsetId, PipelineJob job) throws PipelineJobException { List> toInsert = new ArrayList<>(); Map row1 = new CaseInsensitiveHashMap<>(); diff --git a/blast/src/org/labkey/blast/model/BlastJob.java b/blast/src/org/labkey/blast/model/BlastJob.java index fd1e6923d..f6bbaf392 100644 --- a/blast/src/org/labkey/blast/model/BlastJob.java +++ b/blast/src/org/labkey/blast/model/BlastJob.java @@ -61,7 +61,7 @@ public class BlastJob implements Serializable private int _modifiedBy; private Date _modified; private String _jobId; - private Integer _htmlFile; + private Long _htmlFile; private File _outputDir = null; public BlastJob() @@ -231,12 +231,12 @@ public void setJobId(String jobId) _jobId = jobId; } - public Integer getHtmlFile() + public Long getHtmlFile() { return _htmlFile; } - public void setHtmlFile(Integer htmlFile) + public void setHtmlFile(Long htmlFile) { _htmlFile = htmlFile; } @@ -341,7 +341,7 @@ public boolean hasError(User u) return false; } - Integer jobId = PipelineService.get().getJobId(u, ContainerManager.getForId(getContainer()), getJobId()); + Long jobId = PipelineService.get().getJobId(u, ContainerManager.getForId(getContainer()), getJobId()); PipelineStatusFile statusFile = PipelineService.get().getStatusFile(jobId); return "ERROR".equalsIgnoreCase(statusFile.getStatus()); } diff --git a/singlecell/src/org/labkey/singlecell/run/CellRangerGexCountStep.java b/singlecell/src/org/labkey/singlecell/run/CellRangerGexCountStep.java index 62ea31c90..2bfb601e4 100644 --- a/singlecell/src/org/labkey/singlecell/run/CellRangerGexCountStep.java +++ b/singlecell/src/org/labkey/singlecell/run/CellRangerGexCountStep.java @@ -489,7 +489,7 @@ public void complete(SequenceAnalysisJobSupport support, AnalysisModel model, Co } File outsDir = outputForData.getFile().getParentFile(); - Integer dataId = outputForData.getDataId(); + Long dataId = outputForData.getDataId(); if (dataId == null) { throw new PipelineJobException("Unable to find dataId for output file"); diff --git a/singlecell/src/org/labkey/singlecell/run/CellRangerVDJWrapper.java b/singlecell/src/org/labkey/singlecell/run/CellRangerVDJWrapper.java index c78b87d8c..e3ebe6dbe 100644 --- a/singlecell/src/org/labkey/singlecell/run/CellRangerVDJWrapper.java +++ b/singlecell/src/org/labkey/singlecell/run/CellRangerVDJWrapper.java @@ -696,7 +696,7 @@ public void deleteSymlinks(File localFqDir) throws PipelineJobException } } - public void addMetrics(File outDir, AnalysisModel model, int dataId) throws PipelineJobException + public void addMetrics(File outDir, AnalysisModel model, long dataId) throws PipelineJobException { getPipelineCtx().getLogger().debug("adding 10x metrics"); @@ -810,7 +810,7 @@ public void complete(SequenceAnalysisJobSupport support, AnalysisModel model, Co folderWithMetricFile = outputForData.getFile().getParentFile().getParentFile(); } - Integer dataId = outputForData.getDataId(); + Long dataId = outputForData.getDataId(); if (dataId == null) { throw new PipelineJobException("Unable to find dataId for output file"); From d4963ece7319d5d5110d8f2774c32952d6241bde Mon Sep 17 00:00:00 2001 From: Susan Hert Date: Wed, 30 Jul 2025 12:34:51 -0700 Subject: [PATCH 24/34] Relocate methods related to file name uniqueness to `FileUtil` (#370) * Move `findUniqueFileName` from `AssayFileWriter` to `FileUtil` * Bump schema version --- .../labkey/queryextensions/QueryExtensionsModule.java | 4 ++-- .../sequenceanalysis/SequenceAnalysisController.java | 10 +++++----- .../sequenceanalysis/SequenceAnalysisManager.java | 6 +++--- .../pipeline/ImportFastaSequencesPipelineJob.java | 2 +- .../pipeline/ImportGenomeTrackTask.java | 4 ++-- .../labkey/sequenceanalysis/pipeline/SequenceJob.java | 7 +++---- blast/src/org/labkey/blast/BLASTController.java | 5 +++-- .../jbrowse/pipeline/JBrowseLucenePipelineJob.java | 3 +-- .../jbrowse/pipeline/JBrowseSessionPipelineJob.java | 6 +++--- 9 files changed, 23 insertions(+), 24 deletions(-) diff --git a/QueryExtensions/src/org/labkey/queryextensions/QueryExtensionsModule.java b/QueryExtensions/src/org/labkey/queryextensions/QueryExtensionsModule.java index d383227e4..464f1f01c 100644 --- a/QueryExtensions/src/org/labkey/queryextensions/QueryExtensionsModule.java +++ b/QueryExtensions/src/org/labkey/queryextensions/QueryExtensionsModule.java @@ -40,7 +40,7 @@ public String getName() @Override public @Nullable Double getSchemaVersion() { - return 23.000; + return 25.000; } @Override @@ -81,4 +81,4 @@ public Set getSchemaNames() { return Collections.singleton(QueryExtensionsSchema.NAME); } -} \ No newline at end of file +} diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java index a5a70b813..d0b60e255 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java @@ -2151,7 +2151,7 @@ protected File getTargetFile(String filename) throws IOException File targetDirectory = root.getRootPath(); - return AssayFileWriter.findUniqueFileName(filename, targetDirectory); + return FileUtil.findUniqueFileName(filename, targetDirectory); } @Override @@ -2449,7 +2449,7 @@ protected File getTargetFile(String filename) throws IOException try { FileLike targetDirectory = AssayFileWriter.ensureUploadDirectory(getContainer(), "sequenceOutputs"); - return AssayFileWriter.findUniqueFileName(filename, targetDirectory).toNioPathForWrite().toFile(); + return FileUtil.findUniqueFileName(filename, targetDirectory).toNioPathForWrite().toFile(); } catch (ExperimentException e) { @@ -2582,7 +2582,7 @@ protected File getTargetFile(String filename) throws IOException try { FileLike targetDirectory = AssayFileWriter.ensureUploadDirectory(getContainer()); - return AssayFileWriter.findUniqueFileName(filename, targetDirectory).toNioPathForWrite().toFile(); + return FileUtil.findUniqueFileName(filename, targetDirectory).toNioPathForWrite().toFile(); } catch (ExperimentException e) { @@ -2747,7 +2747,7 @@ protected File getTargetFile(String filename) throws IOException try { FileLike targetDirectory = AssayFileWriter.ensureUploadDirectory(getContainer()); - return AssayFileWriter.findUniqueFileName(filename, targetDirectory).toNioPathForWrite().toFile(); + return FileUtil.findUniqueFileName(filename, targetDirectory).toNioPathForWrite().toFile(); } catch (ExperimentException e) { @@ -4089,7 +4089,7 @@ public ApiResponse execute(ImportOutputFilesForm form, BindException errors) thr for (File file : toCreate.keySet()) { - FileLike target = AssayFileWriter.findUniqueFileName(file.getName(), targetDirectory); + FileLike target = FileUtil.findUniqueFileName(file.getName(), targetDirectory); FileUtils.moveFile(file, target.toNioPathForWrite().toFile()); ExpData data = ExperimentService.get().createData(getContainer(), new DataType("Sequence Output")); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java index 930469cc7..006ac7031 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java @@ -24,7 +24,6 @@ import org.jetbrains.annotations.Nullable; import org.junit.Assert; import org.junit.Test; -import org.labkey.api.assay.AssayFileWriter; import org.labkey.api.collections.CaseInsensitiveHashMap; import org.labkey.api.data.CompareType; import org.labkey.api.data.Container; @@ -67,6 +66,7 @@ import org.labkey.api.sequenceanalysis.RefNtSequenceModel; import org.labkey.api.sequenceanalysis.SequenceOutputFile; import org.labkey.api.sequenceanalysis.pipeline.SequenceOutputHandler; +import org.labkey.api.util.FileUtil; import org.labkey.api.util.Job; import org.labkey.api.util.JobRunner; import org.labkey.api.util.PageFlowUtil; @@ -827,7 +827,7 @@ public void addChainFile(Container c, User u, File file, int genomeId1, int geno //create file String expectedName = "chain-" + genomeId1 + "to" + genomeId2 + ".chain"; - File outputFile = AssayFileWriter.findUniqueFileName(expectedName, targetDir); + File outputFile = FileUtil.findUniqueFileName(expectedName, targetDir); FileUtils.moveFile(file, outputFile); ExpData chainFile = ExperimentService.get().createData(c, new DataType("Sequence Track")); @@ -939,4 +939,4 @@ public void testJars() assertTrue("fastqcDir dir does not exist: " + fastqcDir.getPath(), fastqcDir.exists()); } } -} \ No newline at end of file +} diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportFastaSequencesPipelineJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportFastaSequencesPipelineJob.java index 524f6822b..4b840766d 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportFastaSequencesPipelineJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportFastaSequencesPipelineJob.java @@ -69,7 +69,7 @@ public static File createLocalDirectory(PipeRoot pipeRoot) throws IOException AssayFileWriter writer = new AssayFileWriter(); String folderName = "SequenceImport_" + FileUtil.getTimestamp(); - webserverOutDir = AssayFileWriter.findUniqueFileName(folderName, webserverOutDir); + webserverOutDir = FileUtil.findUniqueFileName(folderName, webserverOutDir); if (!webserverOutDir.exists()) { webserverOutDir.mkdirs(); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java index 5c6498d0c..adfeeee4a 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java @@ -33,7 +33,6 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.SystemUtils; import org.jetbrains.annotations.Nullable; -import org.labkey.api.assay.AssayFileWriter; import org.labkey.api.collections.CaseInsensitiveHashMap; import org.labkey.api.data.CompareType; import org.labkey.api.data.Container; @@ -61,6 +60,7 @@ import org.labkey.api.sequenceanalysis.pipeline.ReferenceGenomeManager; import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService; import org.labkey.api.util.FileType; +import org.labkey.api.util.FileUtil; import org.labkey.api.util.Job; import org.labkey.api.util.JobRunner; import org.labkey.api.util.PageFlowUtil; @@ -354,7 +354,7 @@ private void sortGxf(File gxf) throws PipelineJobException } private File getOutputFile(File file, File tracksDir) { - return AssayFileWriter.findUniqueFileName(file.getName().replaceAll(" ", "_"), tracksDir); + return FileUtil.findUniqueFileName(file.getName().replaceAll(" ", "_"), tracksDir); } private Map> getNameTranslationMap(List refNtSequenceModels) throws PipelineJobException diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJob.java index 80fddbc7f..8bab610b5 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJob.java @@ -10,7 +10,6 @@ import org.json.JSONObject; import org.junit.Assert; import org.junit.Test; -import org.labkey.api.assay.AssayFileWriter; import org.labkey.api.data.Container; import org.labkey.api.data.ContainerManager; import org.labkey.api.exp.api.DataType; @@ -164,7 +163,7 @@ protected void addCustomParams(JSONObject params) private Path _getLogFile() { - var file = AssayFileWriter.findUniqueFileName((FileUtil.makeLegalName(_jobName) + ".log"), getDataDirectoryFileObject()); + var file = FileUtil.findUniqueFileName((FileUtil.makeLegalName(_jobName) + ".log"), getDataDirectoryFileObject()); return file.toNioPathForWrite(); } @@ -228,7 +227,7 @@ protected FileLike createLocalDirectory(PipeRoot pipeRoot) throws IOException } String folderName = FileUtil.makeLegalName(StringUtils.capitalize(_folderPrefix) + "_" + FileUtil.getTimestamp()); - webserverOutDir = AssayFileWriter.findUniqueFileName(folderName, webserverOutDir); + webserverOutDir = FileUtil.findUniqueFileName(folderName, webserverOutDir); if (!webserverOutDir.exists()) { webserverOutDir.mkdir(); @@ -681,4 +680,4 @@ public File getLocationForCachedInputs(WorkDirectory wd, boolean createIfDoesntE return ret; } -} \ No newline at end of file +} diff --git a/blast/src/org/labkey/blast/BLASTController.java b/blast/src/org/labkey/blast/BLASTController.java index 06ec27082..d93458b8a 100644 --- a/blast/src/org/labkey/blast/BLASTController.java +++ b/blast/src/org/labkey/blast/BLASTController.java @@ -50,6 +50,7 @@ import org.labkey.api.security.permissions.ReadPermission; import org.labkey.api.security.permissions.UpdatePermission; import org.labkey.api.util.ExceptionUtil; +import org.labkey.api.util.FileUtil; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.util.Pair; import org.labkey.api.util.StringUtilsLabKey; @@ -217,7 +218,7 @@ protected File getTargetFile(String filename) throws IOException try { FileLike targetDirectory = AssayFileWriter.ensureUploadDirectory(getContainer()); - return AssayFileWriter.findUniqueFileName(filename, targetDirectory).toNioPathForWrite().toFile(); + return FileUtil.findUniqueFileName(filename, targetDirectory).toNioPathForWrite().toFile(); } catch (ExperimentException e) { @@ -265,7 +266,7 @@ public String getResponse(RunBlastForm form, Map> fil try { FileLike targetDirectory = AssayFileWriter.ensureUploadDirectory(getContainer()); - FileLike input = AssayFileWriter.findUniqueFileName("blast", targetDirectory); + FileLike input = FileUtil.findUniqueFileName("blast", targetDirectory); input.createFile(); try (PrintWriter fw = PrintWriters.getPrintWriter(input.openOutputStream())) { diff --git a/jbrowse/src/org/labkey/jbrowse/pipeline/JBrowseLucenePipelineJob.java b/jbrowse/src/org/labkey/jbrowse/pipeline/JBrowseLucenePipelineJob.java index 4ae81ac0f..f72f9cfe0 100644 --- a/jbrowse/src/org/labkey/jbrowse/pipeline/JBrowseLucenePipelineJob.java +++ b/jbrowse/src/org/labkey/jbrowse/pipeline/JBrowseLucenePipelineJob.java @@ -3,7 +3,6 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.SystemUtils; import org.apache.logging.log4j.Logger; -import org.labkey.api.assay.AssayFileWriter; import org.labkey.api.data.Container; import org.labkey.api.files.FileUrls; import org.labkey.api.module.Module; @@ -59,7 +58,7 @@ public JBrowseLucenePipelineJob(Container c, User user, PipeRoot pipeRoot, Strin _infoFields = infoFields; _allowLenientLuceneProcessing = allowLenientLuceneProcessing; - setLogFile(AssayFileWriter.findUniqueFileName("jbrowse-lucene" + new GUID() + ".log", JBrowseManager.get().getBaseDir(c, true))); + setLogFile(FileUtil.findUniqueFileName("jbrowse-lucene" + new GUID() + ".log", JBrowseManager.get().getBaseDir(c, true))); } public static class JBrowseLucenePipelineProvider extends PipelineProvider diff --git a/jbrowse/src/org/labkey/jbrowse/pipeline/JBrowseSessionPipelineJob.java b/jbrowse/src/org/labkey/jbrowse/pipeline/JBrowseSessionPipelineJob.java index f008441e4..0ab53b118 100644 --- a/jbrowse/src/org/labkey/jbrowse/pipeline/JBrowseSessionPipelineJob.java +++ b/jbrowse/src/org/labkey/jbrowse/pipeline/JBrowseSessionPipelineJob.java @@ -1,7 +1,6 @@ package org.labkey.jbrowse.pipeline; import org.jetbrains.annotations.Nullable; -import org.labkey.api.assay.AssayFileWriter; import org.labkey.api.data.Container; import org.labkey.api.data.ContainerManager; import org.labkey.api.data.SimpleFilter; @@ -15,6 +14,7 @@ import org.labkey.api.query.DetailsURL; import org.labkey.api.query.FieldKey; import org.labkey.api.security.User; +import org.labkey.api.util.FileUtil; import org.labkey.api.util.GUID; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.ActionURL; @@ -101,7 +101,7 @@ private JBrowseSessionPipelineJob(Container c, User user, PipeRoot pipeRoot, Lis _sourceContainerId = databaseGuid == null ? getContainerId() : getSourceContainerId(databaseGuid); _mode = mode; - setLogFile(AssayFileWriter.findUniqueFileName("jbrowse-" + new GUID() + ".log", JBrowseManager.get().getBaseDir(c, true))); + setLogFile(FileUtil.findUniqueFileName("jbrowse-" + new GUID() + ".log", JBrowseManager.get().getBaseDir(c, true))); } private JBrowseSessionPipelineJob(Container c, User user, PipeRoot pipeRoot, String name, String description, Integer libraryId, List trackIds, List outputFileIds, @Nullable String existingDatabaseGuid, boolean isTemporarySession) @@ -118,7 +118,7 @@ private JBrowseSessionPipelineJob(Container c, User user, PipeRoot pipeRoot, Str _sourceContainerId = existingDatabaseGuid == null ? getContainerId() : getSourceContainerId(existingDatabaseGuid); _isTemporarySession = isTemporarySession; - setLogFile(AssayFileWriter.findUniqueFileName("jbrowse-" + _databaseGuid + ".log", JBrowseManager.get().getBaseDir(c, true))); + setLogFile(FileUtil.findUniqueFileName("jbrowse-" + _databaseGuid + ".log", JBrowseManager.get().getBaseDir(c, true))); } private String getSourceContainerId(String databaseGuid) From 88bc810fcb67871ea6ef74cc252741b247b97166 Mon Sep 17 00:00:00 2001 From: bbimber Date: Wed, 30 Jul 2025 06:15:42 -0700 Subject: [PATCH 25/34] Make FastqcRunner more tolerant to HTSJDK version bumps --- .../run/util/FastqcRunner.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqcRunner.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqcRunner.java index 8252c7876..3a2c67599 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqcRunner.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqcRunner.java @@ -368,7 +368,7 @@ private List getBaseParams() throws FileNotFoundException throw new RuntimeException("Not found: " + jbzip2.getPath()); } - File htsjdkJar = new File(libDir, "htsjdk-4.0.0.jar"); + File htsjdkJar = findJar(libDir, "htsjdk-"); if (!htsjdkJar.exists()) { throw new RuntimeException("Not found: " + htsjdkJar.getPath()); @@ -403,6 +403,27 @@ private List getBaseParams() throws FileNotFoundException return params; } + private File findJar(final File libDir, final String prefix) + { + if (!libDir.exists()) + { + throw new RuntimeException("Missing directory: " + libDir); + } + + List jarNames = Arrays.stream(libDir.list()).filter(fn -> fn.startsWith(prefix)).sorted().toList(); + if (jarNames.isEmpty()) + { + throw new RuntimeException("Unable to find JAR with prefix: " + prefix); + } + + if (jarNames.size() > 1) + { + _logger.info("More than one JAR found with prefix: " + prefix); + } + + return new File(libDir, jarNames.get(jarNames.size() - 1)); + } + private int getThreads() { return _threads; From 9bef6cefe8d48884c23ed132a0b915d0b14389c9 Mon Sep 17 00:00:00 2001 From: bbimber Date: Tue, 29 Jul 2025 06:07:49 -0700 Subject: [PATCH 26/34] Update HTSJDK and picard versions --- SequenceAnalysis/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SequenceAnalysis/build.gradle b/SequenceAnalysis/build.gradle index b3b486d2a..056131573 100644 --- a/SequenceAnalysis/build.gradle +++ b/SequenceAnalysis/build.gradle @@ -123,7 +123,7 @@ dependencies { BuildUtils.addExternalDependency( project, new ExternalDependency( - "com.github.broadinstitute:picard:3.1.0", + "com.github.broadinstitute:picard:3.4.0", "Picard Tools Lib", "PicardTools", "https://github.com/broadinstitute/picard", From 7a7fbaffbabecc148d78d7cffd642708cc08bbca Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Fri, 1 Aug 2025 14:52:19 -0700 Subject: [PATCH 27/34] Skip inserting active modules if creating empty schemas (#372) --- .../labkey/openldapsync/OpenLdapSyncModule.java | 4 +++- .../postgresql/SequenceAnalysis-0.00-11.20.sql | 16 ++++++++++++---- .../postgresql/SequenceAnalysis-11.20-11.30.sql | 4 ++++ .../postgresql/SequenceAnalysis-12.10-12.20.sql | 4 ++++ .../postgresql/SequenceAnalysis-12.12-12.13.sql | 2 ++ .../postgresql/SequenceAnalysis-12.20-12.21.sql | 2 ++ .../postgresql/SequenceAnalysis-12.25-12.26.sql | 2 ++ .../postgresql/SequenceAnalysis-12.26-12.261.sql | 6 ++++++ .../SequenceAnalysis-12.265-12.266.sql | 4 ++++ .../SequenceAnalysis-12.276-12.277.sql | 2 ++ .../SequenceAnalysis-12.292-12.293.sql | 4 +++- .../SequenceAnalysis-12.312-12.313.sql | 2 ++ .../SequenceAnalysis-12.316-12.317.sql | 4 +++- 13 files changed, 49 insertions(+), 7 deletions(-) diff --git a/OpenLdapSync/src/org/labkey/openldapsync/OpenLdapSyncModule.java b/OpenLdapSync/src/org/labkey/openldapsync/OpenLdapSyncModule.java index f66343c63..c5a39011f 100644 --- a/OpenLdapSync/src/org/labkey/openldapsync/OpenLdapSyncModule.java +++ b/OpenLdapSync/src/org/labkey/openldapsync/OpenLdapSyncModule.java @@ -23,6 +23,7 @@ import org.labkey.api.data.DbSchemaType; import org.labkey.api.module.Module; import org.labkey.api.module.ModuleContext; +import org.labkey.api.module.ModuleLoader; import org.labkey.api.module.SpringModule; import org.labkey.api.query.DefaultSchema; import org.labkey.api.query.DetailsURL; @@ -100,7 +101,8 @@ public boolean isAvailable(DefaultSchema schema, Module module) { modules = new HashSet<>(modules); modules.add(this); - ContainerManager.getSharedContainer().setActiveModules(modules); + if (ModuleLoader.getInstance().shouldInsertData()) + ContainerManager.getSharedContainer().setActiveModules(modules); } } diff --git a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-0.00-11.20.sql b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-0.00-11.20.sql index 18a155817..516088f3b 100644 --- a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-0.00-11.20.sql +++ b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-0.00-11.20.sql @@ -129,6 +129,7 @@ WITH (OIDS=FALSE); -- ---------------------------- -- Records of barcodes -- ---------------------------- +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES ('MID01', 'ACGAGTGCGT', 'GSMIDs'); INSERT INTO sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES ('MID02', 'ACGCTCGACA', 'GSMIDs'); INSERT INTO sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES ('MID03', 'AGACGCACTC', 'GSMIDs'); @@ -282,7 +283,7 @@ INSERT INTO sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES (' INSERT INTO sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES ('MID151', 'TGCTAGTCAG', 'GSMIDs'); INSERT INTO sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES ('MID152', 'TGTATCACAG', 'GSMIDs'); INSERT INTO sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES ('MID153', 'TGTGCGCGTG', 'GSMIDs'); - +-- @SkipOnEmptySchemasEnd -- ---------------------------- -- Table structure for sequenceAnalysis.ref_nt_sequences @@ -1061,6 +1062,7 @@ WITH (OIDS=FALSE) -- ---------------------------- -- Records of sequenceAnalysis.dna_adapters -- ---------------------------- +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.dna_adapters (name, group_name, sequence) VALUES ('Roche-454 FLX Amplicon A', 'Roche-454 FLX Amplicon', 'GCCTCCCTCGCGCCATCAG'), ('Roche-454 FLX Amplicon B', 'Roche-454 FLX Amplicon', 'GCCTTGCCAGCCCGCTCAG'), @@ -1070,7 +1072,7 @@ INSERT INTO sequenceanalysis.dna_adapters (name, group_name, sequence) VALUES ('Roche-454 Titanium Library A', 'Roche-454 Titanium Library', 'CCATCTCATCCCTGCGTGTCTCCGACTCAG'), ('Roche-454 Titanium Library B', 'Roche-454 Titanium Library', 'CCTATCCCCTGTGTGCCTTGGCAGTCTCAG'), ('Nextera Transposon Adapter A', 'Nextera Adapters', 'AGATGTGTATAAGAGACAG'); - +-- @SkipOnEmptySchemasEnd -- ---------------------------- @@ -1089,6 +1091,7 @@ WITH (OIDS=FALSE) -- ---------------------------- -- Records of sequenceanalysis.dna_loci -- ---------------------------- +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.dna_loci VALUES ('MHC-A', '-a'), @@ -1111,7 +1114,7 @@ VALUES ('HLA-A', 'hla-a'), ('HLA-B', 'hla-b'), ('HLA-C', 'hla-c'); - +-- @SkipOnEmptySchemasEnd @@ -1130,7 +1133,9 @@ WITH (OIDS=FALSE) -- ---------------------------- -- Records of sequenceAnalysis.ref_nt_category -- ---------------------------- +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceAnalysis.ref_nt_category (category) VALUES ('Virus'), ('DNA'); +-- @SkipOnEmptySchemasEnd -- ---------------------------- -- Table structure for sequenceanalysis.dna_region @@ -1146,7 +1151,9 @@ WITH (OIDS=FALSE); -- ---------------------------- -- Records of sequenceAnalysis.dna_region -- ---------------------------- +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceAnalysis.dna_region (region) VALUES ('KIR'), ('MHC'); +-- @SkipOnEmptySchemasEnd -- ---------------------------- -- Table structure for sequenceanalysis.geographic_origins @@ -1657,12 +1664,13 @@ CREATE TABLE sequenceanalysis.analysis_types ( WITH (OIDS=FALSE) ; +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.analysis_types (type) VALUES ('Virus'), ('SBT') ; - +-- @SkipOnEmptySchemasEnd --foreign keys not necessary. diff --git a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-11.20-11.30.sql b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-11.20-11.30.sql index 545f173ec..b4149cd65 100644 --- a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-11.20-11.30.sql +++ b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-11.20-11.30.sql @@ -51,6 +51,7 @@ WITH (OIDS=FALSE) -- ---------------------------- -- Records of sequenceAnalysis.sequence_platforms -- ---------------------------- +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.sequence_platforms (platform,aliases) VALUES @@ -62,11 +63,14 @@ VALUES ('ION_TORRENT', 'IONTORRENT'), ('SANGER', null) ; +-- @SkipOnEmptySchemasEnd update sequenceAnalysis.sequence_reads set chemistry = 'LS454' where chemistry = 'Pyrosequencing'; delete from sequenceAnalysis.site_module_properties where prop_name = 'contactEmail'; +-- @SkipOnEmptySchemasBegin insert into sequenceAnalysis.site_module_properties (prop_name, stringValue) VALUES ('contactEmail', 'bbimber@labkey.com'); +-- @SkipOnEmptySchemasEnd DROP TABLE IF EXISTS sequenceAnalysis.sequence_readsets; CREATE TABLE sequenceAnalysis.sequence_readsets ( diff --git a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.10-12.20.sql b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.10-12.20.sql index 500627ebe..526ae70a7 100644 --- a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.10-12.20.sql +++ b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.10-12.20.sql @@ -74,12 +74,14 @@ CREATE TABLE sequenceanalysis.quality_metrics_types ( CONSTRAINT PK_quality_metrics_types PRIMARY KEY (type) ); +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.quality_metrics_types (type) VALUES ('Total Sequences'); INSERT INTO sequenceanalysis.quality_metrics_types (type) VALUES ('Filtered Sequences'); INSERT INTO sequenceanalysis.quality_metrics_types (type) VALUES ('Avg Sequence Length'); INSERT INTO sequenceanalysis.quality_metrics_types (type) VALUES ('Min Sequence Length'); INSERT INTO sequenceanalysis.quality_metrics_types (type) VALUES ('Max Sequence Length'); INSERT INTO sequenceanalysis.quality_metrics_types (type) VALUES ('%GC'); +-- @SkipOnEmptySchemasEnd ALTER TABLE sequenceanalysis.sequence_readsets DROP COLUMN machine_run_id; ALTER TABLE sequenceanalysis.sequence_readsets ADD COLUMN instrument_run_id integer; @@ -187,7 +189,9 @@ UPDATE sequenceanalysis.ref_nt_sequences set genbank = 'SIVmac239' WHERE name = UPDATE sequenceanalysis.ref_nt_sequences set genbank = 'SIVmac251' WHERE name = 'M19499'; UPDATE sequenceanalysis.ref_nt_sequences set genbank = 'SIVsmE543' WHERE name = 'U72748.2'; +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.sequence_platforms (platform) VALUES ('MIXED'); +-- @SkipOnEmptySchemasEnd --delete duplicate epitopes accidentally entered update sequenceanalysis.ref_aa_features set comment = null where comment = ''; diff --git a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.12-12.13.sql b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.12-12.13.sql index cc6cc3d87..6e3b94681 100644 --- a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.12-12.13.sql +++ b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.12-12.13.sql @@ -38,7 +38,9 @@ UPDATE sequenceanalysis.ref_nt_sequences set genbank = 'SIVmac239' WHERE name = UPDATE sequenceanalysis.ref_nt_sequences set genbank = 'SIVmac251' WHERE name = 'M19499'; UPDATE sequenceanalysis.ref_nt_sequences set genbank = 'SIVsmE543' WHERE name = 'U72748.2'; +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.sequence_platforms (platform) VALUES ('MIXED'); +-- @SkipOnEmptySchemasEnd --delete duplicate epitopes accidentally entered update sequenceanalysis.ref_aa_features set comment = null where comment = ''; diff --git a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.20-12.21.sql b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.20-12.21.sql index 2a6131e7d..c58895a9c 100644 --- a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.20-12.21.sql +++ b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.20-12.21.sql @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES ('N701', 'TCGCCTTA', 'Illumina'); INSERT INTO sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES ('N702', 'CTAGTACG', 'Illumina'); INSERT INTO sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES ('N703', 'TTCTGCCT', 'Illumina'); @@ -420,3 +421,4 @@ INSERT into sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES (' INSERT into sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES ('FLD0382', 'AAGGTATGAG', 'Fluidigm'); INSERT into sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES ('FLD0383', 'ATGGAGCACT', 'Fluidigm'); INSERT into sequenceanalysis.barcodes (tag_name, sequence, group_name) VALUES ('FLD0384', 'ACGGTGCTAG', 'Fluidigm'); +-- @SkipOnEmptySchemasEnd diff --git a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.25-12.26.sql b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.25-12.26.sql index 4aed07f37..b7b2934e1 100644 --- a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.25-12.26.sql +++ b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.25-12.26.sql @@ -17,7 +17,9 @@ ALTER TABLE sequenceanalysis.quality_metrics add column analysis_id integer; ALTER TABLE sequenceanalysis.aa_snps_by_codon add column ref_nt_positions varchar(200); +-- @SkipOnEmptySchemasBegin INSERT into sequenceanalysis.quality_metrics_types (type) VALUES ('%Reads Aligned In Pairs'); INSERT into sequenceanalysis.quality_metrics_types (type) VALUES ('Total Sequences Passed Filter'); INSERT into sequenceanalysis.quality_metrics_types (type) VALUES ('Reads Aligned'); INSERT into sequenceanalysis.quality_metrics_types (type) VALUES ('%Reads Aligned'); +-- @SkipOnEmptySchemasEnd diff --git a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.26-12.261.sql b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.26-12.261.sql index 2ebf4fc17..5651c4c68 100644 --- a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.26-12.261.sql +++ b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.26-12.261.sql @@ -2,9 +2,11 @@ -- insert into sequenceanalysis.aligners (haplotype,displayhaplotype,description,jsonconfig) values -- ('mosaik', 'Mosaik', 'Mosaik is suitable for longer reads and has the option to retain multiple hits per read. The only downside is that it can be slower. When this pipeline was first written, this aligner was preferred for sequence-based genotyping and similar applications which require retaining multiple hits. It supports paired end reads. The aligner is still good; however, Lastz also seems to perform well for SBT.', '[{"xtype":"hidden","name":"pairedEnd","value":"true"},{"name":"mosaik.output_multiple","fieldLabel":"Retain All Hits","xtype":"checkbox","renderData":{"helpPopup":"If selected, all hits above thresholds will be reported. If not, only a single hit will be retained."},"checked":true},{"name":"mosaik.max_mismatch_pct","fieldLabel":"Max Mismatch Pct","renderData":{"helpPopup":"The maximum percent of bases allowed to mismatch per alignment. Note: Ns are counted as mismatches"},"value":0.02,"minValue":0,"maxValue":1},{"name":"mosaik.hash_size","fieldLabel":"Hash Size","renderData":{"helpPopup":"The hash size used in alignment (see Mosaik documentation). A large value is preferred for sequences expected to be highly similar to the reference"},"minValue":0,"value":32},{"name":"mosaik.local_alignment","fieldLabel":"Local Alignment Radius","renderData":{"helpPopup":"This option is only used for paired end data. If a value is supplied, a local alignment will be performed around paired end reads in order to attempt to rescue mates"},"minValue":0},{"name":"mosaik.max_hash_positions","fieldLabel":"Max Hash Positions","renderData":{"helpPopup":"The maximum number of hash matches that are passed to local alignment."},"minValue":0,"value":200},{"name":"mosaik.align_threshold","fieldLabel":"Alignment Threshold","renderData":{"helpPopup":"The alignment score required for an alignment to continue to local alignment. Because the latter is slow, a higher value can improve speed."},"value":55}]'); +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.haplotype_types (type) VALUES ('MHC-IA'); INSERT INTO sequenceanalysis.haplotype_types (type) VALUES ('MHC-IB'); INSERT INTO sequenceanalysis.haplotype_types (type) VALUES ('MHC-II'); +-- @SkipOnEmptySchemasEnd ALTER table sequenceanalysis.haplotype_sequences DROP column haplotypeid; ALTER table sequenceanalysis.haplotype_sequences ADD column haplotype varchar(100); @@ -12,6 +14,7 @@ ALTER table sequenceanalysis.haplotype_sequences ADD column required boolean; UPDATE sequenceanalysis.haplotype_sequences SET required = true; TRUNCATE sequenceanalysis.haplotypes; +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.haplotypes (name,type) VALUES ('A001', 'MHC-IA'); INSERT INTO sequenceanalysis.haplotypes (name,type) VALUES ('A002a', 'MHC-IA'); INSERT INTO sequenceanalysis.haplotypes (name,type) VALUES ('A003', 'MHC-IA'); @@ -46,8 +49,10 @@ INSERT INTO sequenceanalysis.haplotypes (name,type) VALUES ('B048', 'MHC-IB'); INSERT INTO sequenceanalysis.haplotypes (name,type) VALUES ('B055', 'MHC-IB'); INSERT INTO sequenceanalysis.haplotypes (name,type) VALUES ('B069a', 'MHC-IB'); INSERT INTO sequenceanalysis.haplotypes (name,type) VALUES ('B069b', 'MHC-IB'); +-- @SkipOnEmptySchemasEnd TRUNCATE sequenceanalysis.haplotype_sequences; +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.haplotype_sequences (haplotype,lineage,required) VALUES ('A001', 'Mamu-A1*001g', TRUE); INSERT INTO sequenceanalysis.haplotype_sequences (haplotype,lineage,required) VALUES ('A001', 'Mamu-A2*05g', FALSE); INSERT INTO sequenceanalysis.haplotype_sequences (haplotype,lineage,required) VALUES ('A002a', 'Mamu-A1*002g', TRUE); @@ -210,4 +215,5 @@ INSERT INTO sequenceanalysis.haplotype_sequences (haplotype,lineage,required) VA INSERT INTO sequenceanalysis.haplotype_sequences (haplotype,lineage,required) VALUES ('B069b', 'Mamu-B*046g', FALSE); INSERT INTO sequenceanalysis.haplotype_sequences (haplotype,lineage,required) VALUES ('B069b', 'Mamu-B*060g', FALSE); INSERT INTO sequenceanalysis.haplotype_sequences (haplotype,lineage,required) VALUES ('B069b', 'Mamu-B*072g', FALSE); +-- @SkipOnEmptySchemasEnd UPDATE sequenceanalysis.haplotype_sequences SET present = true; \ No newline at end of file diff --git a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.265-12.266.sql b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.265-12.266.sql index 51cc6bd99..d8a4694d8 100644 --- a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.265-12.266.sql +++ b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.265-12.266.sql @@ -11,6 +11,7 @@ CREATE TABLE sequenceanalysis.illumina_applications ( ); DELETE FROM sequenceanalysis.illumina_applications; +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.illumina_applications (name,version,workflowname,compatiblekits,settings,workflowparams,json) VALUES ('Assembly', 1, 'Assembly', 'TruSeq LT,Nextera XT,Nextera,TruSeq HT', '{"OptionalGenome":null}', '', ''); INSERT INTO sequenceanalysis.illumina_applications (name,version,workflowname,compatiblekits,settings,workflowparams,json) VALUES ('ChIP-Seq', 1, 'GenerateFASTQ', 'TruSeq LT', '', '', ''); INSERT INTO sequenceanalysis.illumina_applications (name,version,workflowname,compatiblekits,settings,workflowparams,json) VALUES ('Clone Checking', 1, 'GenerateFASTQ', 'Nextera XT,Nextera,TruSeq HT,TruSeq LT', '', '', ''); @@ -23,6 +24,7 @@ INSERT INTO sequenceanalysis.illumina_applications (name,version,workflowname,co INSERT INTO sequenceanalysis.illumina_applications (name,version,workflowname,compatiblekits,settings,workflowparams,json) VALUES ('RNA-Seq', 1, 'GenerateFASTQ', 'TruSeq LT,TruSeq HT', '', '', ''); INSERT INTO sequenceanalysis.illumina_applications (name,version,workflowname,compatiblekits,settings,workflowparams,json) VALUES ('Small RNA', 1, 'SmallRNA', 'Small RNA', '', '[{"Label":"Genome Folder","Type":"GENOME","LabelInSampleSheet":"GenomeFolder","TrueVal":"-","FalseVal":"-","DefaultVal":"","Required":"FALSE","DisplayAsCol":"TRUE","DisplayEvenIfEmpty":"TRUE"},{"Label":"Contaminants","Type":"STRING","LabelInSampleSheet":"Contaminants","TrueVal":"-","FalseVal":"-","DefaultVal":"","Required":"TRUE","DisplayAsCol":"TRUE","DisplayEvenIfEmpty":"FALSE"},{"Label":"RNA","Type":"STRING","LabelInSampleSheet":"RNA","TrueVal":"-","FalseVal":"-","DefaultVal":"","Required":"TRUE","DisplayAsCol":"TRUE","DisplayEvenIfEmpty":"FALSE"},{"Label":"miRNA","Type":"STRING","LabelInSampleSheet":"miRNA","TrueVal":"-","FalseVal":"-","DefaultVal":"","Required":"TRUE","DisplayAsCol":"TRUE","DisplayEvenIfEmpty":"FALSE"}]', ''); INSERT INTO sequenceanalysis.illumina_applications (name,version,workflowname,compatiblekits,settings,workflowparams,json) VALUES ('TruSeq Amplicon', 1, 'Amplicon', 'TruSeq Amplicon', '{"Genome":null,"Manifest":null,"NoCustomPrimers":null}', '[{"Label":"Use Somatic Variant Caller (Recommended for Cancer Panel)","Type":"BOOL","LabelInSampleSheet":"VariantCaller","TrueVal":"Somatic","FalseVal":"NULL","DefaultVal":"FALSE","Required":"FALSE","DisplayAsCol":"FALSE"}]', ''); +-- @SkipOnEmptySchemasEnd CREATE TABLE sequenceanalysis.illumina_genome_folders ( label varchar(200), @@ -45,6 +47,7 @@ CREATE TABLE sequenceanalysis.illumina_sample_kits ( ); DELETE FROM sequenceanalysis.illumina_sample_kits; +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.illumina_sample_kits (name,json) VALUES ('Nextera', '{"Settings":[["NexteraManifest"],["Adapter","CTGTCTCTTATACACATCT"],["ManifestExtension","AmpliconManifest"]]}'); INSERT INTO sequenceanalysis.illumina_sample_kits (name,json) VALUES ('Nextera Enrichment', '{"Settings":[["Adapter","CTGTCTCTTATACACATCT"]]}'); INSERT INTO sequenceanalysis.illumina_sample_kits (name,json) VALUES ('Nextera XT', '{"Settings":[["NexteraManifest"],["Adapter","CTGTCTCTTATACACATCT"],["ManifestExtension","AmpliconManifest"]]}'); @@ -52,5 +55,6 @@ INSERT INTO sequenceanalysis.illumina_sample_kits (name,json) VALUES ('Small RNA INSERT INTO sequenceanalysis.illumina_sample_kits (name,json) VALUES ('TruSeq Amplicon', '{"Settings":[["CAT"],["IndexOnly"],["PairedEndOnly"],["ManifestExtension","txt"]]}'); INSERT INTO sequenceanalysis.illumina_sample_kits (name,json) VALUES ('TruSeq HT', '{"Settings":[["Adapter","AGATCGGAAGAGCACACGTC"]]}'); INSERT INTO sequenceanalysis.illumina_sample_kits (name,json) VALUES ('TruSeq LT', '{"Settings":[["Adapter","AGATCGGAAGAGCACACGTC"]]}'); +-- @SkipOnEmptySchemasEnd DROP TABLE sequenceanalysis.illumina_templates; \ No newline at end of file diff --git a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.276-12.277.sql b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.276-12.277.sql index f59095ec3..dd8aba444 100644 --- a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.276-12.277.sql +++ b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.276-12.277.sql @@ -6,7 +6,9 @@ CREATE TABLE sequenceanalysis.sequence_applications ( ALTER TABLE sequenceanalysis.sequence_readsets add column application varchar(200); +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.sequence_applications (application) values ('RNA-seq'); INSERT INTO sequenceanalysis.sequence_applications (application) values ('DNA Sequencing (Genome)'); INSERT INTO sequenceanalysis.sequence_applications (application) values ('DNA Sequencing (Amplicon)'); INSERT INTO sequenceanalysis.sequence_applications (application) values ('Other'); +-- @SkipOnEmptySchemasEnd diff --git a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.292-12.293.sql b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.292-12.293.sql index 3e2cbce4e..67a96edbf 100644 --- a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.292-12.293.sql +++ b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.292-12.293.sql @@ -74,5 +74,7 @@ CREATE TABLE sequenceanalysis.analysisSetMembers ( ALTER TABLE sequenceanalysis.outputfiles drop column intermediate; +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.sequence_applications (application) VALUES ('DNA Sequencing (Exome)'); -INSERT INTO sequenceanalysis.sequence_applications (application) VALUES ('DNA Sequencing (GBS)'); \ No newline at end of file +INSERT INTO sequenceanalysis.sequence_applications (application) VALUES ('DNA Sequencing (GBS)'); +-- @SkipOnEmptySchemasEnd diff --git a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.312-12.313.sql b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.312-12.313.sql index 7747bfae2..92d731e59 100644 --- a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.312-12.313.sql +++ b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.312-12.313.sql @@ -6,9 +6,11 @@ CREATE TABLE sequenceanalysis.sequence_chemistries ( CONSTRAINT PK_sequence_chemistries PRIMARY KEY (chemistry) ); +-- @SkipOnEmptySchemasBegin INSERT INTO sequenceanalysis.sequence_chemistries (chemistry) VALUES ('Illumina HiSeq3000'); INSERT INTO sequenceanalysis.sequence_chemistries (chemistry) VALUES ('Illumina MiSeq 2x250'); INSERT INTO sequenceanalysis.sequence_chemistries (chemistry) VALUES ('Illumina MiSeq 2x300'); INSERT INTO sequenceanalysis.sequence_chemistries (chemistry) VALUES ('Illumina XTen'); INSERT INTO sequenceanalysis.sequence_chemistries (chemistry) VALUES ('Illumina NextSeq MidOutput'); INSERT INTO sequenceanalysis.sequence_chemistries (chemistry) VALUES ('Illumina NextSeq HighOutput'); +-- @SkipOnEmptySchemasEnd diff --git a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.316-12.317.sql b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.316-12.317.sql index c82c404d6..1716b4a88 100644 --- a/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.316-12.317.sql +++ b/SequenceAnalysis/resources/schemas/dbscripts/postgresql/SequenceAnalysis-12.316-12.317.sql @@ -6,7 +6,9 @@ ALTER TABLE sequenceanalysis.instrument_runs DROP instrumentid; ALTER TABLE sequenceanalysis.saved_analyses ALTER COLUMN json TYPE text; +-- @SkipOnEmptySchemasBegin INSERT into sequenceanalysis.instruments (displayname, platform) VALUES ('MiSeq', 'ILLUMINA'); INSERT into sequenceanalysis.instruments (displayname, platform) VALUES ('HiSeq3000', 'ILLUMINA'); INSERT into sequenceanalysis.instruments (displayname, platform) VALUES ('HiSeq2500', 'ILLUMINA'); -INSERT into sequenceanalysis.instruments (displayname, platform) VALUES ('NovaSeq', 'ILLUMINA'); \ No newline at end of file +INSERT into sequenceanalysis.instruments (displayname, platform) VALUES ('NovaSeq', 'ILLUMINA'); +-- @SkipOnEmptySchemasEnd From 40b391c52b7a365436ca273ca3bae202fa0a08d9 Mon Sep 17 00:00:00 2001 From: labkey-matthewb Date: Sat, 2 Aug 2025 10:56:27 -0700 Subject: [PATCH 28/34] Integer -> Long --- .../SequenceAnalysisService.java | 2 +- .../sequenceanalysis/SequenceOutputFile.java | 12 ++--- .../sequenceanalysis/model/AnalysisModel.java | 6 +-- .../api/sequenceanalysis/model/ReadData.java | 4 +- .../api/sequenceanalysis/model/Readset.java | 4 +- .../pipeline/DefaultPipelineStepOutput.java | 2 +- .../pipeline/PipelineOutputTracker.java | 2 +- .../pipeline/PipelineStepOutput.java | 18 +++---- .../pipeline/SequenceAnalysisJobSupport.java | 8 ++-- .../pipeline/SequencePipelineService.java | 2 +- .../pipeline/TaskFileManager.java | 4 +- .../labkey/sequenceanalysis/ReadDataImpl.java | 12 ++--- .../SequenceAnalysisServiceImpl.java | 2 +- .../SequencePipelineServiceImpl.java | 2 +- .../sequenceanalysis/SequenceReadsetImpl.java | 8 ++-- .../analysis/MultiQCBamHandler.java | 2 +- .../PicardAlignmentMetricsHandler.java | 4 +- .../model/AnalysisModelImpl.java | 16 +++---- .../pipeline/AlignmentAnalysisJob.java | 14 +++--- .../pipeline/AlignmentImportTask.java | 5 +- .../pipeline/IlluminaImportTask.java | 31 ++++++------ .../pipeline/ProcessVariantsHandler.java | 4 +- .../pipeline/ReadsetCreationTask.java | 4 +- .../pipeline/SequenceAlignmentJob.java | 4 +- .../pipeline/SequenceAlignmentTask.java | 21 ++++---- .../pipeline/SequenceAnalysisTask.java | 5 +- .../pipeline/SequenceJobSupportImpl.java | 22 +++++---- .../SequenceOutputHandlerFinalTask.java | 8 ++-- .../pipeline/SequenceReadsetHandlerJob.java | 6 +-- .../pipeline/SequenceTaskHelper.java | 2 +- .../pipeline/TaskFileManagerImpl.java | 6 +-- .../run/analysis/MergeLoFreqVcfHandler.java | 3 +- .../run/analysis/NextCladeHandler.java | 6 +-- .../run/analysis/PangolinHandler.java | 2 +- .../analysis/SequenceBasedTypingAnalysis.java | 6 +-- .../run/analysis/ViralSnpUtil.java | 4 +- .../util/AbstractGenomicsDBImportHandler.java | 2 +- .../api/singlecell/CellHashingService.java | 6 +-- .../AbstractSingleCellPipelineStep.java | 2 +- .../pipeline/AbstractSingleCellStep.java | 8 ++-- .../singlecell/CellHashingServiceImpl.java | 48 ++++++++++--------- .../analysis/AbstractSingleCellHandler.java | 2 +- .../run/CellRangerFeatureBarcodeHandler.java | 2 +- 43 files changed, 171 insertions(+), 162 deletions(-) diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java index 312d5f1f7..80bb0e133 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java @@ -69,7 +69,7 @@ static public void setInstance(SequenceAnalysisService instance) abstract public ReadData getReadData(int rowId, User u); - abstract public Readset getReadset(int readsetId, User u); + abstract public Readset getReadset(long readsetId, User u); abstract public ReferenceGenome getReferenceGenome(int rowId, User u) throws PipelineJobException; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceOutputFile.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceOutputFile.java index 3764b2069..f366fb6b7 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceOutputFile.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceOutputFile.java @@ -39,8 +39,8 @@ public class SequenceOutputFile implements Serializable private String _description; private Long _dataId; private Integer _library_id; - private Integer _readset; - private Integer _analysis_id; + private Long _readset; + private Long _analysis_id; private Long _runid; private String _category; private Boolean _intermediate; @@ -106,22 +106,22 @@ public void setLibrary_id(Integer library_id) _library_id = library_id; } - public Integer getReadset() + public Long getReadset() { return _readset; } - public void setReadset(Integer readset) + public void setReadset(Long readset) { _readset = readset; } - public Integer getAnalysis_id() + public Long getAnalysis_id() { return _analysis_id; } - public void setAnalysis_id(Integer analysis_id) + public void setAnalysis_id(Long analysis_id) { _analysis_id = analysis_id; } diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/AnalysisModel.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/AnalysisModel.java index a984bd848..7e18e3f3e 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/AnalysisModel.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/AnalysisModel.java @@ -31,13 +31,13 @@ */ public interface AnalysisModel extends Serializable { - Integer getAnalysisId(); + Long getAnalysisId(); Long getRunId(); String getContainer(); - Integer getReadset(); + Long getReadset(); Long getAlignmentFile(); @@ -64,7 +64,7 @@ public interface AnalysisModel extends Serializable Integer getCreatedby(); - Integer getRowId(); + Long getRowId(); String getDescription(); diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/ReadData.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/ReadData.java index eedcccb33..fa5348ccd 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/ReadData.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/ReadData.java @@ -24,9 +24,9 @@ */ public interface ReadData extends Serializable { - Integer getRowid(); + Long getRowid(); - Integer getReadset(); + Long getReadset(); String getPlatformUnit(); diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/Readset.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/Readset.java index 758d05e44..ee24c422b 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/Readset.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/Readset.java @@ -46,7 +46,7 @@ public interface Readset extends Serializable Integer getInstrumentRunId(); - Integer getReadsetId(); + Long getReadsetId(); String getBarcode5(); @@ -56,7 +56,7 @@ public interface Readset extends Serializable Double getConcentration(); - int getRowId(); + long getRowId(); String getContainer(); diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/DefaultPipelineStepOutput.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/DefaultPipelineStepOutput.java index 2f50e901a..126741539 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/DefaultPipelineStepOutput.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/DefaultPipelineStepOutput.java @@ -103,7 +103,7 @@ public List getSequenceOutputs() } @Override - public void addSequenceOutput(File file, String label, String category, @Nullable Integer readsetId, @Nullable Integer analysisId, @Nullable Integer genomeId, @Nullable String description) + public void addSequenceOutput(File file, String label, String category, @Nullable Long readsetId, @Nullable Long analysisId, @Nullable Integer genomeId, @Nullable String description) { _intermediateFiles.remove(file); diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineOutputTracker.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineOutputTracker.java index b535eb9c0..283c0d9c1 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineOutputTracker.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineOutputTracker.java @@ -17,7 +17,7 @@ public interface PipelineOutputTracker /** * Add a SequenceOutputFile for this job. These files are tracked and displayed through the browser UI. */ - void addSequenceOutput(File file, String label, String category, @Nullable Integer readsetId, @Nullable Integer analysisId, @Nullable Integer genomeId, @Nullable String description); + void addSequenceOutput(File file, String label, String category, @Nullable Long readsetId, @Nullable Long analysisId, @Nullable Integer genomeId, @Nullable String description); /** * Remove a previously added intermediate file diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineStepOutput.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineStepOutput.java index 92aaad56b..ebcedde87 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineStepOutput.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineStepOutput.java @@ -92,12 +92,12 @@ class SequenceOutput private final File _file; private final String _label; private final String _category; - private final Integer _readsetId; - private final Integer _analysisId; + private final Long _readsetId; + private final Long _analysisId; private final Integer _genomeId; private final String _description; - public SequenceOutput(File file, String label, String category, @Nullable Integer readsetId, @Nullable Integer analysisId, @Nullable Integer genomeId, @Nullable String description) + public SequenceOutput(File file, String label, String category, @Nullable Long readsetId, @Nullable Long analysisId, @Nullable Integer genomeId, @Nullable String description) { _file = file; _label = label; @@ -123,12 +123,12 @@ public String getCategory() return _category; } - public Integer getReadsetId() + public Long getReadsetId() { return _readsetId; } - public Integer getAnalysisId() + public Long getAnalysisId() { return _analysisId; } @@ -148,7 +148,7 @@ class PicardMetricsOutput { File _metricFile; File _inputFile; - Integer _readsetId; + Long _readsetId; TYPE _type; public enum TYPE @@ -157,7 +157,7 @@ public enum TYPE reads() } - public PicardMetricsOutput(File metricFile, File inputFile, Integer readsetId) + public PicardMetricsOutput(File metricFile, File inputFile, Long readsetId) { _metricFile = metricFile; _inputFile = inputFile; @@ -170,7 +170,7 @@ public PicardMetricsOutput(File metricFile, File inputFile, Integer readsetId) * want to denote that these metrics will apply to the final file, but dont know its name yet. This can be used instead of tying the * metrics to a specific file. */ - public PicardMetricsOutput(File metricFile, TYPE type, Integer readsetId) + public PicardMetricsOutput(File metricFile, TYPE type, Long readsetId) { _metricFile = metricFile; _type = type; @@ -187,7 +187,7 @@ public File getInputFile() return _inputFile; } - public Integer getReadsetId() + public Long getReadsetId() { return _readsetId; } diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequenceAnalysisJobSupport.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequenceAnalysisJobSupport.java index f6fe605ad..dbf795860 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequenceAnalysisJobSupport.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequenceAnalysisJobSupport.java @@ -39,15 +39,15 @@ public interface SequenceAnalysisJobSupport extends Serializable Map getAllCachedData(); - Readset getCachedReadset(Integer rowId); + Readset getCachedReadset(Long rowId); - AnalysisModel getCachedAnalysis(int rowId); + AnalysisModel getCachedAnalysis(long rowId); List getCachedReadsets(); - void cacheReadset(int readsetId, User u); + void cacheReadset(long readsetId, User u); - void cacheReadset(int readsetId, User u, boolean allowReadsetsWithArchivedData); + void cacheReadset(long readsetId, User u, boolean allowReadsetsWithArchivedData); List getCachedAnalyses(); diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequencePipelineService.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequencePipelineService.java index 685470080..8d037188e 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequencePipelineService.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequencePipelineService.java @@ -140,7 +140,7 @@ static public void setInstance(SequencePipelineService instance) abstract public boolean hasMinLineCount(File f, long minLines) throws PipelineJobException; - abstract public void updateOutputFile(SequenceOutputFile o, PipelineJob job, Long runId, Integer analysisId); + abstract public void updateOutputFile(SequenceOutputFile o, PipelineJob job, Long runId, Long analysisId); abstract public PreprocessingStep.Output simpleTrimFastqPair(File fq1, File fq2, List params, File outDir, Logger log) throws PipelineJobException; diff --git a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/TaskFileManager.java b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/TaskFileManager.java index 1c211e399..f14bfb3bf 100644 --- a/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/TaskFileManager.java +++ b/SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/TaskFileManager.java @@ -62,11 +62,11 @@ public interface TaskFileManager extends PipelineOutputTracker void addPicardMetricsFiles(List files) throws PipelineJobException; - void writeMetricsToDb(Map readsetMap, Map> typeMap) throws PipelineJobException; + void writeMetricsToDb(Map readsetMap, Map> typeMap) throws PipelineJobException; void deleteIntermediateFiles() throws PipelineJobException; - Set createSequenceOutputRecords(@Nullable Integer analysisId)throws PipelineJobException; + Set createSequenceOutputRecords(@Nullable Long analysisId)throws PipelineJobException; //should be used for remote jobs or local jobs running in a separate working directory void cleanup(Collection actions) throws PipelineJobException; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/ReadDataImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/ReadDataImpl.java index 93b0eb128..74dbdf902 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/ReadDataImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/ReadDataImpl.java @@ -23,8 +23,8 @@ */ public class ReadDataImpl implements ReadData { - private Integer _rowid; - private Integer _readset; + private Long _rowid; + private Long _readset; private String _platformUnit; private String _centerName; private Date _date; @@ -48,23 +48,23 @@ public ReadDataImpl() } @Override - public Integer getRowid() + public Long getRowid() { return _rowid; } - public void setRowid(Integer rowid) + public void setRowid(Long rowid) { _rowid = rowid; } @Override - public Integer getReadset() + public Long getReadset() { return _readset; } - public void setReadset(Integer readset) + public void setReadset(Long readset) { _readset = readset; } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisServiceImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisServiceImpl.java index a9630f179..f72a2c9fc 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisServiceImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisServiceImpl.java @@ -193,7 +193,7 @@ public ReadDataImpl getReadData(int rowId, User u) } @Override - public SequenceReadsetImpl getReadset(int readsetId, User u) + public SequenceReadsetImpl getReadset(long readsetId, User u) { TableInfo ti = SequenceAnalysisSchema.getTable(SequenceAnalysisSchema.TABLE_READSETS); SimpleFilter filter = new SimpleFilter(FieldKey.fromString("rowid"), readsetId); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequencePipelineServiceImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequencePipelineServiceImpl.java index f301476cc..871caab49 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequencePipelineServiceImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequencePipelineServiceImpl.java @@ -610,7 +610,7 @@ public boolean hasMinLineCount(File f, long minLines) throws PipelineJobExceptio } @Override - public void updateOutputFile(SequenceOutputFile o, PipelineJob job, Long runId, Integer analysisId) + public void updateOutputFile(SequenceOutputFile o, PipelineJob job, Long runId, Long analysisId) { SequenceOutputHandlerFinalTask.updateOutputFile(o, job, runId, analysisId); } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceReadsetImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceReadsetImpl.java index 17bb93a7f..ba5e99500 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceReadsetImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceReadsetImpl.java @@ -34,7 +34,7 @@ */ public class SequenceReadsetImpl implements Readset { - private Integer _rowId; + private Long _rowId; private String _name; private String _comments; private String _platform; @@ -67,7 +67,7 @@ public SequenceReadsetImpl() } @Override - public int getRowId() + public long getRowId() { return _rowId == null ? 0 : _rowId; } @@ -77,7 +77,7 @@ public void unsetRowId() _rowId = null; } - public void setRowId(int rowId) + public void setRowId(long rowId) { _rowId = rowId; } @@ -89,7 +89,7 @@ public boolean existsInDatabase() @Override @JsonIgnore - public Integer getReadsetId() + public Long getReadsetId() { return _rowId; } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/MultiQCBamHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/MultiQCBamHandler.java index f89ac0fcf..773e07cf6 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/MultiQCBamHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/MultiQCBamHandler.java @@ -77,7 +77,7 @@ public void processFilesRemote(List inputFiles, JobContext c action.setStartTime(new Date()); Set dirs = new HashSet<>(); - Set readsets = new HashSet<>(); + Set readsets = new HashSet<>(); Set genomes = new HashSet<>(); for (SequenceOutputFile so : inputFiles) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/PicardAlignmentMetricsHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/PicardAlignmentMetricsHandler.java index 0bed04f5f..e157be4fe 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/PicardAlignmentMetricsHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/PicardAlignmentMetricsHandler.java @@ -141,7 +141,7 @@ public void complete(JobContext ctx, List inputs, List inputs, List createForAnalyses(Container c, User u, Container targetContainer = c; if (submitJobToReadsetContainer) { - Integer readsetId = model.getReadset(); + Long readsetId = model.getReadset(); if (readsetId != null) { SequenceReadsetImpl readset = SequenceAnalysisServiceImpl.get().getReadset(readsetId, u); @@ -141,22 +141,22 @@ public static void register() throws CloneNotSupportedException PipelineJobService.get().addTaskPipeline(settings); } - public int getAnalyisId() + public long getAnalyisId() { return _analyisId; } - public void setAnalyisId(int analyisId) + public void setAnalyisId(long analyisId) { _analyisId = analyisId; } - public int getReadsetId() + public long getReadsetId() { return _readsetId; } - public void setReadsetId(int readsetId) + public void setReadsetId(long readsetId) { _readsetId = readsetId; } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentImportTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentImportTask.java index 1889e0d69..1030de766 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentImportTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentImportTask.java @@ -2,6 +2,7 @@ import org.jetbrains.annotations.NotNull; import org.json.JSONObject; +import org.labkey.api.collections.LongHashMap; import org.labkey.api.data.DbSchema; import org.labkey.api.data.DbScope; import org.labkey.api.data.Table; @@ -185,8 +186,8 @@ private List parseAndCreateAnalyses() throws PipelineJobException transaction.commit(); //process metrics - Map readsetToAnalysisMap = new HashMap<>(); - Map> typeMap = new HashMap<>(); + Map readsetToAnalysisMap = new LongHashMap<>(); + Map> typeMap = new HashMap<>(); for (AnalysisModel model : ret) { readsetToAnalysisMap.put(model.getReadset(), model.getRowId()); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java index bfd4fce3a..6410bf99e 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java @@ -16,6 +16,7 @@ package org.labkey.sequenceanalysis.pipeline; import au.com.bytecode.opencsv.CSVReader; +import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.biojava.nbio.core.exceptions.CompoundNotFoundException; import org.biojava.nbio.core.sequence.DNASequence; @@ -142,18 +143,18 @@ public RecordedActionSet run() throws PipelineJobException RecordedAction action = new RecordedAction(ACTION_NAME); action.addInputIfNotPresent(input, "Illumina Sample CSV"); - Map sampleMap = parseCsv(input, schema); + Map sampleMap = parseCsv(input, schema); //NOTE: it might be just as easy to match filename based on expected pattern //this step will be slow - IlluminaFastqSplitter parser = new IlluminaFastqSplitter<>("Illumina", sampleMap, job.getLogger(), input.getParent(), prefix); + IlluminaFastqSplitter parser = new IlluminaFastqSplitter<>("Illumina", sampleMap, job.getLogger(), input.getParent(), prefix); parser.setOutputGzip(true); parser.setDestinationDir(getSupport().getAnalysisDirectory()); // the first element of the pair is the sample ID. the second is either 1 or 2, // depending on whether the file represents the forward or reverse reads - Map, File> fileMap = parser.parseFastqFiles(); + Map, File> fileMap = parser.parseFastqFiles(); for (File f : parser.getFiles()) { @@ -164,7 +165,7 @@ public RecordedActionSet run() throws PipelineJobException getJob().getLogger().info("Compressing FASTQ files"); FileType gz = new FileType("gz"); - for (Pair sampleKey : fileMap.keySet()) + for (Pair sampleKey : fileMap.keySet()) { File inputFile = fileMap.get(sampleKey); if (!gz.isType(inputFile)) @@ -188,12 +189,12 @@ public RecordedActionSet run() throws PipelineJobException Map row; for (Object key : new HashSet<>(sampleMap.values())) { - Integer readsetId = (Integer) key; + Long readsetId = (Long) key; Readset readset = SequenceAnalysisService.get().getReadset(readsetId, getJob().getUser()); row = new HashMap<>(); - Pair pair = Pair.of(readsetId, 1); + Pair pair = Pair.of(readsetId, 1); ReadDataImpl rd = new ReadDataImpl(); rd.setReadset(readsetId); rd.setCreated(new Date()); @@ -295,7 +296,7 @@ private void handleInstrumentRun(DbSchema schema) getJob().getLogger().info("Created run: " + _instrumentRunId); } - private void addQualityMetrics(DbSchema schema, int readsetId, Pair key, IlluminaFastqSplitter parser, ExpData d) + private void addQualityMetrics(DbSchema schema, long readsetId, Pair key, IlluminaFastqSplitter parser, ExpData d) { getJob().getLogger().info("Adding quality metrics for file: " + d.getFile().getName()); Map, Integer> readCounts = parser.getReadCounts(); @@ -325,15 +326,15 @@ private ExpData createExpData(File f) return SequenceTaskHelper.createExpData(f, getJob()); } - private Map parseCsv(File sampleFile, DbSchema schema) throws PipelineJobException + private Map parseCsv(File sampleFile, DbSchema schema) throws PipelineJobException { getJob().getLogger().info("Parsing Sample File: " + sampleFile.getName()); try (CSVReader reader = new CSVReader(Readers.getReader(sampleFile))) { //parse the samples file String [] nextLine; - Map sampleMap = new HashMap<>(); - sampleMap.put("S0", 0); //placeholder for control and unmapped reads + Map sampleMap = new HashMap<>(); + sampleMap.put("S0", 0L); //placeholder for control and unmapped reads boolean inSamples = false; int sampleIdx = 0; @@ -363,10 +364,10 @@ private Map parseCsv(File sampleFile, DbSchema schema) throws P String indexesRC = new DNASequence(nextLine[6]).getReverseComplement().getSequenceAsString() + "+" + nextLine[8]; sampleIdx++; - Integer readsetId; + Long readsetId; try { - readsetId = Integer.parseInt(nextLine[0]); + readsetId = Long.parseLong(nextLine[0]); } catch (NumberFormatException e) { @@ -400,7 +401,7 @@ private Map parseCsv(File sampleFile, DbSchema schema) throws P } //not very efficient, but we only expect a handful of samples per run - private boolean validateReadsetId(Integer id) throws PipelineJobException, PipelineValidationException + private boolean validateReadsetId(Long id) throws PipelineJobException, PipelineValidationException { getJob().getLogger().debug("attempting to resolve readset by Id: " + id); if (id == null) @@ -425,7 +426,7 @@ private boolean validateReadsetId(Integer id) throws PipelineJobException, Pipel return true; } - private Integer tryCreateReadset(DbSchema schema, String[] line) throws PipelineJobException + private Long tryCreateReadset(DbSchema schema, String[] line) throws PipelineJobException { if (!_settings.doAutoCreateReadsets()) throw new PipelineJobException("Unable to find existing readset matching ID: " + line[0]); @@ -462,7 +463,7 @@ private Integer tryCreateReadset(DbSchema schema, String[] line) throws Pipeline row.put("created", new Date()); row = Table.insert(getJob().getUser(), rsTable, row); - return (Integer)row.get("rowid"); + return MapUtils.getLong(row,"rowid"); } private String resolveBarcode(String barcode) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java index 6bf7fbc96..e709e1da3 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java @@ -171,7 +171,7 @@ public static SequenceOutputFile createSequenceOutput(PipelineJob job, File proc throw new IllegalArgumentException("No library ID defined for VCFs"); } - Set readsetIds = new HashSet<>(); + Set readsetIds = new HashSet<>(); inputFiles.forEach(x -> readsetIds.add(x.getReadset())); int sampleCount; @@ -676,7 +676,7 @@ public void processFilesRemote(List inputFiles, JobContext c _resumer.markComplete(ctx); } - private void processFile(File input, Integer libraryId, Integer readsetId, JobContext ctx) throws PipelineJobException + private void processFile(File input, Integer libraryId, Long readsetId, JobContext ctx) throws PipelineJobException { File processed = processVCF(input, libraryId, ctx, _resumer, true); if (processed != null && processed.exists()) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java index 7aab4ca25..9541ed7ab 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java @@ -169,7 +169,7 @@ private void importReadsets() throws PipelineJobException Set fileIdsWithExistingMetrics = new HashSet<>(); try (DbScope.Transaction transaction = schema.getScope().ensureTransaction()) { - Map readsetsToDeactivate = new HashMap<>(); + Map readsetsToDeactivate = new HashMap<>(); TableInfo readsetTable = schema.getTable(SequenceAnalysisSchema.TABLE_READSETS); TableInfo readDataTable = schema.getTable(SequenceAnalysisSchema.TABLE_READ_DATA); @@ -535,7 +535,7 @@ private void runFastqcForFile(Long fileId) throws PipelineJobException } } - private Long getTotalReadsForFile(long fileId, int readsetId) + private Long getTotalReadsForFile(long fileId, long readsetId) { TableInfo metricsTable = SequenceAnalysisManager.get().getTable(SequenceAnalysisSchema.TABLE_QUALITY_METRICS); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentJob.java index 23195cb0c..3a36fc287 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentJob.java @@ -38,7 +38,7 @@ public class SequenceAlignmentJob extends SequenceJob { public static final String FOLDER_NAME = "sequenceAnalysis"; - private int _readsetId; + private long _readsetId; // Default constructor for serialization protected SequenceAlignmentJob() @@ -112,7 +112,7 @@ public static List createForReadsets(Container c, User u, return ret; } - public int getReadsetId() + public long getReadsetId() { return _readsetId; } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentTask.java index 5cecca0da..f485d5199 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentTask.java @@ -31,6 +31,7 @@ import org.junit.Assert; import org.junit.Test; import org.labkey.api.collections.CaseInsensitiveHashSet; +import org.labkey.api.collections.LongHashMap; import org.labkey.api.data.ConvertHelper; import org.labkey.api.pipeline.ObjectKeySerialization; import org.labkey.api.pipeline.PairSerializer; @@ -1282,7 +1283,7 @@ private File doMergeThenAlign(ReferenceGenome referenceGenome, Readset rs, Map> inputs = new ArrayList<>(files.values()); - Optional minReadData = files.keySet().stream().map(ReadData::getRowid).min(Integer::compareTo); + Optional minReadData = files.keySet().stream().map(ReadData::getRowid).min(Long::compareTo); return doAlignmentForSet(inputs, referenceGenome, rs, minReadData.get(), "", inputs.size() == 1 ? files.keySet().stream().iterator().next().getPlatformUnit() : null); } } @@ -1340,7 +1341,7 @@ private File doAlignThenMerge(ReferenceGenome referenceGenome, Readset rs, Map> inputFiles, ReferenceGenome referenceGenome, Readset rs, int lowestReadDataId, @NotNull String msgSuffix, @Nullable String platformUnit) throws PipelineJobException, IOException + public File doAlignmentForSet(List> inputFiles, ReferenceGenome referenceGenome, Readset rs, long lowestReadDataId, @NotNull String msgSuffix, @Nullable String platformUnit) throws PipelineJobException, IOException { AlignmentStep alignmentStep = getHelper().getSingleStep(AlignmentStep.class).create(getHelper()); @@ -1496,7 +1497,7 @@ public static class Resumer extends AbstractResumer private boolean _alignmentMetricsDone = false; private File _renamedBamFile = null; private boolean _indexBamDone = false; - private Map _readDataBamMap = new HashMap<>(); + private Map _readDataBamMap = new LongHashMap<>(); //for serialization public Resumer() @@ -1795,12 +1796,12 @@ public void setAlignmentMetricsDone(boolean alignmentMetricsDone, RecordedAction saveState(); } - public boolean isReadDataAlignmentDone(int readDataId) + public boolean isReadDataAlignmentDone(long readDataId) { return _readDataBamMap.containsKey(readDataId); } - public void setReadDataAlignmentDone(int readDataId, List actions, File bam) throws PipelineJobException + public void setReadDataAlignmentDone(long readDataId, List actions, File bam) throws PipelineJobException { getLogger().debug("setting read data alignment done: " + readDataId + ", " + (actions == null ? "0" : actions.size()) + " actions"); _readDataBamMap.put(readDataId, bam); @@ -1811,17 +1812,17 @@ public void setReadDataAlignmentDone(int readDataId, List action saveState(); } - public File getBamForReadData(int readDataId) + public File getBamForReadData(long readDataId) { return _readDataBamMap.get(readDataId); } - public Map getReadDataBamMap() + public Map getReadDataBamMap() { return _readDataBamMap; } - public void setReadDataBamMap(Map readDataBamMap) + public void setReadDataBamMap(Map readDataBamMap) { _readDataBamMap = readDataBamMap; } @@ -1874,8 +1875,8 @@ public void serializeTest() throws Exception ReadDataImpl rd = new ReadDataImpl(); rd.setFile(file1, 1); rd.setFile(file2, 2); - rd.setReadset(-1); - rd.setRowid(-1); + rd.setReadset(-1L); + rd.setRowid(-1L); r._filesToAlign = new LinkedHashMap<>(); r._filesToAlign.put(rd, pair); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAnalysisTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAnalysisTask.java index 22ecab959..2bd1175b7 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAnalysisTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAnalysisTask.java @@ -17,6 +17,7 @@ import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; +import org.labkey.api.collections.LongHashMap; import org.labkey.api.data.SimpleFilter; import org.labkey.api.data.Table; import org.labkey.api.data.TableInfo; @@ -313,8 +314,8 @@ else if (d.getFile().exists()) if (SequenceTaskHelper.isAlignmentUsed(getJob())) { //build map used next to import metrics - Map readsetToAnalysisMap = new HashMap<>(); - Map> typeMap = new HashMap<>(); + Map readsetToAnalysisMap = new LongHashMap<>(); + Map> typeMap = new LongHashMap<>(); readsetToAnalysisMap.put(analysisModel.getReadset(), analysisModel.getRowId()); typeMap.put(analysisModel.getReadset(), new HashMap<>()); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJobSupportImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJobSupportImpl.java index 8b48621e5..23e3e68a4 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJobSupportImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceJobSupportImpl.java @@ -5,6 +5,8 @@ import htsjdk.samtools.util.IOUtil; import org.junit.Assert; import org.junit.Test; +import org.labkey.api.collections.IntHashMap; +import org.labkey.api.collections.LongHashMap; import org.labkey.api.exp.api.ExpData; import org.labkey.api.exp.api.ExperimentService; import org.labkey.api.pipeline.PipelineJob; @@ -37,10 +39,10 @@ */ public class SequenceJobSupportImpl implements SequenceAnalysisJobSupport, Serializable { - private final Map _cachedFilePaths = new HashMap<>(); + private final Map _cachedFilePaths = new LongHashMap<>(); private final List _cachedReadsets = new ArrayList<>(); - private final Map _cachedAnalyses = new HashMap<>(); - private final Map _cachedGenomes = new HashMap<>(); + private final Map _cachedAnalyses = new LongHashMap<>(); + private final Map _cachedGenomes = new IntHashMap<>(); private final Map _cachedObjects = new HashMap<>(); private transient boolean _modifiedSinceSerialize = false; @@ -53,7 +55,7 @@ public SequenceJobSupportImpl() } @Override - public SequenceReadsetImpl getCachedReadset(Integer rowId) + public SequenceReadsetImpl getCachedReadset(Long rowId) { if (rowId == null || rowId < 1) { @@ -72,19 +74,19 @@ public SequenceReadsetImpl getCachedReadset(Integer rowId) } @Override - public AnalysisModel getCachedAnalysis(int rowId) + public AnalysisModel getCachedAnalysis(long rowId) { return _cachedAnalyses.get(rowId); } @Override - public void cacheReadset(int readsetId, User u) + public void cacheReadset(long readsetId, User u) { cacheReadset(readsetId,u, false); } @Override - public void cacheReadset(int readsetId, User u, boolean allowReadsetsWithArchivedData) + public void cacheReadset(long readsetId, User u, boolean allowReadsetsWithArchivedData) { SequenceReadsetImpl rs = SequenceAnalysisServiceImpl.get().getReadset(readsetId, u); if (rs != null) @@ -303,7 +305,7 @@ public static class TestCase extends Assert public void testSerializeWithMap() throws Exception { SequenceJobSupportImpl js1 = new SequenceJobSupportImpl(); - js1._cachedAnalyses.put(1, new AnalysisModelImpl()); + js1._cachedAnalyses.put(1L, new AnalysisModelImpl()); js1._cachedGenomes.put(2, new ReferenceGenomeImpl()); SequenceReadsetImpl rs1 = new SequenceReadsetImpl(); rs1.setRowId(100); @@ -324,13 +326,13 @@ public void testSerializeWithMap() throws Exception mapper.writeValue(writer, js1); SequenceJobSupportImpl deserialized = mapper.readValue(new StringReader(writer.toString()), SequenceJobSupportImpl.class); - assertNotNull("Analysis map not serialized properly", deserialized._cachedAnalyses.get(1)); + assertNotNull("Analysis map not serialized properly", deserialized._cachedAnalyses.get(1L)); assertNotNull("Genome map not serialized properly", deserialized._cachedGenomes.get(2)); assertEquals("Readset list not serialized properly", 1, deserialized._cachedReadsets.size()); assertEquals("Readset not deserialized with correct rowid", 100, deserialized._cachedReadsets.get(0).getRowId()); assertEquals("Readset not deserialized with correct readsetid", 100, deserialized._cachedReadsets.get(0).getReadsetId().intValue()); - assertNotNull("File map not serialized properly", deserialized._cachedFilePaths.get(4)); + assertNotNull("File map not serialized properly", deserialized._cachedFilePaths.get(4L)); assertNotNull("Cached map not serialized properly", deserialized.getCachedObject("cachedMap",Map.class)); assertEquals(" Cached int not serialized properly", Integer.valueOf(1), deserialized.getCachedObject("cachedInt", Integer.class)); assertEquals(" Cached string not serialized properly", "foo", deserialized.getCachedObject("cachedString", String.class)); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerFinalTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerFinalTask.java index 39ef0fe9f..2b5322ce2 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerFinalTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceOutputHandlerFinalTask.java @@ -119,7 +119,7 @@ public RecordedActionSet run() throws PipelineJobException am.setType(getPipelineJob().getHandler().getAnalysisType(getJob())); TableInfo analysisTable = SequenceAnalysisSchema.getTable(SequenceAnalysisSchema.TABLE_ANALYSES); - Set readsetIds = new HashSet<>(); + Set readsetIds = new HashSet<>(); for (SequenceOutputFile so : getPipelineJob().getFiles()) { if (so.getReadset() == null) @@ -137,7 +137,7 @@ public RecordedActionSet run() throws PipelineJobException } Table.insert(getJob().getUser(), analysisTable, am); - int analysisId = am.getRowId(); + long analysisId = am.getRowId(); List outputsCreated = new ArrayList<>(); if (!getPipelineJob().getOutputsToCreate().isEmpty()) @@ -164,7 +164,7 @@ public RecordedActionSet run() throws PipelineJobException return new RecordedActionSet(); } - public static Set createOutputFiles(SequenceJob job, long runId, @Nullable Integer analysisId) + public static Set createOutputFiles(SequenceJob job, long runId, @Nullable Long analysisId) { job.getLogger().info("creating " + job.getOutputsToCreate().size() + " new output files for run: " + runId); @@ -205,7 +205,7 @@ public static Set createOutputFiles(SequenceJob job, long ru return created; } - public static void updateOutputFile(SequenceOutputFile o, PipelineJob job, Long runId, Integer analysisId) + public static void updateOutputFile(SequenceOutputFile o, PipelineJob job, Long runId, Long analysisId) { o.setRunId(runId); o.setAnalysis_id(analysisId); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceReadsetHandlerJob.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceReadsetHandlerJob.java index 39612ac3b..eb819f963 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceReadsetHandlerJob.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceReadsetHandlerJob.java @@ -27,7 +27,7 @@ public class SequenceReadsetHandlerJob extends SequenceJob implements HasJobParams { private String _handlerClassName; - private List _readsetIds; + private List _readsetIds; // Default constructor for serialization protected SequenceReadsetHandlerJob() @@ -105,12 +105,12 @@ public List getInputFiles() return null; } - public List getReadsetIds() + public List getReadsetIds() { return _readsetIds; } - public void setReadsetIds(List readsetIds) + public void setReadsetIds(List readsetIds) { _readsetIds = readsetIds; } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceTaskHelper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceTaskHelper.java index fe5d1fe32..e29e63aa3 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceTaskHelper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceTaskHelper.java @@ -15,7 +15,7 @@ */ package org.labkey.sequenceanalysis.pipeline; -import org.apache.commons.collections.MapUtils; +import org.apache.commons.collections4.MapUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java index a5395d761..63ddde9bc 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java @@ -116,7 +116,7 @@ public void addSequenceOutput(SequenceOutputFile o) } @Override - public void addSequenceOutput(File file, String label, String category, @Nullable Integer readsetId, @Nullable Integer analysisId, @Nullable Integer genomeId, @Nullable String description) + public void addSequenceOutput(File file, String label, String category, @Nullable Long readsetId, @Nullable Long analysisId, @Nullable Integer genomeId, @Nullable String description) { SequenceOutputFile so = new SequenceOutputFile(); so.setFile(file); @@ -357,7 +357,7 @@ public void deleteDeferredIntermediateFiles() } @Override - public Set createSequenceOutputRecords(@Nullable Integer analysisId) throws PipelineJobException + public Set createSequenceOutputRecords(@Nullable Long analysisId) throws PipelineJobException { if (!_job.getOutputsToCreate().isEmpty()) { @@ -539,7 +539,7 @@ public void addPicardMetricsFiles(List f } @Override - public void writeMetricsToDb(Map readsetMap, Map> typeMap) throws PipelineJobException + public void writeMetricsToDb(Map readsetMap, Map> typeMap) throws PipelineJobException { if (PipelineJobService.get().getLocationType() != PipelineJobService.LocationType.WebServer) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/MergeLoFreqVcfHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/MergeLoFreqVcfHandler.java index c33383ff0..a0dc852f1 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/MergeLoFreqVcfHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/MergeLoFreqVcfHandler.java @@ -20,6 +20,7 @@ import org.apache.commons.lang3.tuple.Pair; import org.apache.logging.log4j.Logger; import org.json.JSONObject; +import org.labkey.api.collections.LongHashSet; import org.labkey.api.module.ModuleLoader; import org.labkey.api.pipeline.PipelineJob; import org.labkey.api.pipeline.PipelineJobException; @@ -183,7 +184,7 @@ public void processFilesRemote(List inputFiles, JobContext c { writer.writeNext(new String[]{"ReadsetName", "OutputFileId", "ReadsetId", "Source", "Contig", "Start", "End", "Length", "Ref", "AltAllele", "GatkDepth", "LoFreqDepth", "AltCount", "AltAF"}); - Set analysesWithoutPindel = new HashSet<>(); + Set analysesWithoutPindel = new LongHashSet(); for (SequenceOutputFile so : inputFiles) { //This will error if the coverage file is not found. Perform check now to fail fast diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NextCladeHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NextCladeHandler.java index 17edb1bf5..667b168b9 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NextCladeHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/NextCladeHandler.java @@ -94,7 +94,7 @@ public void processFilesOnWebserver(PipelineJob job, SequenceAnalysisJobSupport @Override public void complete(JobContext ctx, List inputFiles, List outputsCreated) throws PipelineJobException { - Map readsetToInput = inputFiles.stream().collect(Collectors.toMap(SequenceOutputFile::getReadset, x -> x)); + Map readsetToInput = inputFiles.stream().collect(Collectors.toMap(SequenceOutputFile::getReadset, x -> x)); ctx.getJob().getLogger().info("Parsing NextClade JSON:"); for (SequenceOutputFile so : outputsCreated) @@ -176,7 +176,7 @@ else if (samples.length() != 1) } } - public static void processAndImportNextCladeAa(PipelineJob job, File jsonFile, int analysisId, int libraryId, long alignmentId, int readsetId, File consensusVCF, boolean dbImport) throws PipelineJobException + public static void processAndImportNextCladeAa(PipelineJob job, File jsonFile, long analysisId, int libraryId, long alignmentId, long readsetId, File consensusVCF, boolean dbImport) throws PipelineJobException { JSONObject sample = parseNextClade(jsonFile, job.getLogger()); if (sample == null) @@ -360,7 +360,7 @@ public static void processAndImportNextCladeAa(PipelineJob job, File jsonFile, i } } - private static void saveClade(String clade, int analysisId, long alignmentId, int readsetId, PipelineJob job) throws PipelineJobException + private static void saveClade(String clade, long analysisId, long alignmentId, long readsetId, PipelineJob job) throws PipelineJobException { List> toInsert = new ArrayList<>(); Map row1 = new CaseInsensitiveHashMap<>(); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/PangolinHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/PangolinHandler.java index 2cccb8b9e..37b34285a 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/PangolinHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/PangolinHandler.java @@ -193,7 +193,7 @@ public void processFilesOnWebserver(PipelineJob job, SequenceAnalysisJobSupport Container targetContainer = job.getContainer().isWorkbook() ? job.getContainer().getParent() : job.getContainer(); TableInfo ti = QueryService.get().getUserSchema(job.getUser(), targetContainer, SequenceAnalysisSchema.SCHEMA_NAME).getTable(SequenceAnalysisSchema.TABLE_QUALITY_METRICS); - Set uniqueAnalyses = inputFiles.stream().map(SequenceOutputFile::getAnalysis_id).collect(Collectors.toSet()); + Set uniqueAnalyses = inputFiles.stream().map(SequenceOutputFile::getAnalysis_id).collect(Collectors.toSet()); SimpleFilter filter = new SimpleFilter(FieldKey.fromString("category"), "Pangolin"); filter.addCondition(FieldKey.fromString("analysis_id"), uniqueAnalyses, CompareType.IN); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SequenceBasedTypingAnalysis.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SequenceBasedTypingAnalysis.java index 58a4e41af..c3d9343d7 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SequenceBasedTypingAnalysis.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/SequenceBasedTypingAnalysis.java @@ -376,10 +376,10 @@ protected File getSBTSummaryFile(File outputDir, File bam) public static class AlignmentGroupCompare { - private final int analysisId; + private final long analysisId; private final List groups = new ArrayList<>(); - public AlignmentGroupCompare(final int analysisId, Container c, User u) + public AlignmentGroupCompare(final long analysisId, Container c, User u) { this.analysisId = analysisId; @@ -544,7 +544,7 @@ private boolean compareGroupToOthers(AlignmentGroup g1) public static class AlignmentGroup { - int analysisId; + long analysisId; Set alleles = new TreeSet<>(); String lineages; int totalLineages; diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/ViralSnpUtil.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/ViralSnpUtil.java index c3d6a2286..7c4390657 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/ViralSnpUtil.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/ViralSnpUtil.java @@ -69,13 +69,13 @@ public static Map> readVcfToMap(File vcf) return consensusMap; } - public static void deleteExistingMetrics(PipelineJob job, int analysisId, String category) throws PipelineJobException + public static void deleteExistingMetrics(PipelineJob job, long analysisId, String category) throws PipelineJobException { SimpleFilter filter = new SimpleFilter(FieldKey.fromString("category"), category); deleteExistingValues(job, analysisId, SequenceAnalysisSchema.TABLE_QUALITY_METRICS, filter); } - public static void deleteExistingValues(PipelineJob job, int analysisId, String queryName, SimpleFilter filter) throws PipelineJobException + public static void deleteExistingValues(PipelineJob job, long analysisId, String queryName, SimpleFilter filter) throws PipelineJobException { Container targetContainer = job.getContainer().isWorkbook() ? job.getContainer().getParent() : job.getContainer(); TableInfo ti = QueryService.get().getUserSchema(job.getUser(), targetContainer, SequenceAnalysisSchema.SCHEMA_NAME).getTable(queryName); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/AbstractGenomicsDBImportHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/AbstractGenomicsDBImportHandler.java index 59f9b945a..2115ef1dc 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/AbstractGenomicsDBImportHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/AbstractGenomicsDBImportHandler.java @@ -162,7 +162,7 @@ public SequenceOutputFile createFinalSequenceOutput(PipelineJob job, File merged throw new IllegalArgumentException("No library ID defined for VCFs"); } - Set readsetIds = new HashSet<>(); + Set readsetIds = new HashSet<>(); inputFiles.forEach(x -> readsetIds.add(x.getReadset())); int sampleCount = getSamplesForWorkspace(mergedWorkspace.getParentFile()).size(); diff --git a/singlecell/api-src/org/labkey/api/singlecell/CellHashingService.java b/singlecell/api-src/org/labkey/api/singlecell/CellHashingService.java index 95a1fcf2d..680ff3613 100644 --- a/singlecell/api-src/org/labkey/api/singlecell/CellHashingService.java +++ b/singlecell/api-src/org/labkey/api/singlecell/CellHashingService.java @@ -52,7 +52,7 @@ static public void setInstance(CellHashingService instance) abstract public File generateHashingCallsForRawMatrix(Readset parentReadset, PipelineOutputTracker output, SequenceOutputHandler.JobContext ctx, CellHashingParameters parameters, File rawCountMatrixDir) throws PipelineJobException; - abstract public File getH5FileForGexReadset(SequenceAnalysisJobSupport support, int readsetId, int genomeId) throws PipelineJobException; + abstract public File getH5FileForGexReadset(SequenceAnalysisJobSupport support, long readsetId, int genomeId) throws PipelineJobException; abstract public File getCDNAInfoFile(File sourceDir); @@ -76,7 +76,7 @@ static public void setInstance(CellHashingService instance) abstract public List getHashingCallingParams(boolean allowMethodsNeedingGex); - abstract public Set getHtosForParentReadset(Integer parentReadsetId, File webserverJobDir, SequenceAnalysisJobSupport support, boolean throwIfNotFound) throws PipelineJobException; + abstract public Set getHtosForParentReadset(Long parentReadsetId, File webserverJobDir, SequenceAnalysisJobSupport support, boolean throwIfNotFound) throws PipelineJobException; abstract public File getExistingFeatureBarcodeCountDir(Readset parentReadset, BARCODE_TYPE type, SequenceAnalysisJobSupport support) throws PipelineJobException; @@ -232,7 +232,7 @@ public static CellHashingParameters createFromJson(BARCODE_TYPE type, File webse return Collections.emptyList(); } - public int getEffectiveReadsetId() + public long getEffectiveReadsetId() { return parentReadset != null ? parentReadset.getReadsetId() : htoReadset.getReadsetId(); } diff --git a/singlecell/api-src/org/labkey/api/singlecell/pipeline/AbstractSingleCellPipelineStep.java b/singlecell/api-src/org/labkey/api/singlecell/pipeline/AbstractSingleCellPipelineStep.java index 6bfa58366..b2adf25a0 100644 --- a/singlecell/api-src/org/labkey/api/singlecell/pipeline/AbstractSingleCellPipelineStep.java +++ b/singlecell/api-src/org/labkey/api/singlecell/pipeline/AbstractSingleCellPipelineStep.java @@ -128,7 +128,7 @@ public Output execute(SequenceOutputHandler.JobContext ctx, List gexReadsetToH5Map = new HashMap<>(); - HashMap readsetToHashingMap = new HashMap<>(); - HashMap readsetToCiteSeqMap = new HashMap<>(); - HashMap readsetToGexMap = new HashMap<>(); - HashMap> gexToPanels = new HashMap<>(); + HashMap readsetToHashingMap = new LongHashMap<>(); + HashMap readsetToCiteSeqMap = new LongHashMap<>(); + HashMap readsetToGexMap = new LongHashMap<>(); + HashMap> gexToPanels = new LongHashMap<>(); List cachedReadsets = support.getCachedReadsets(); job.getLogger().debug("Total cached readsets: " + cachedReadsets.size() + ", using filter on: " + filterField); @@ -279,7 +281,7 @@ public void prepareHashingAndCiteSeqFilesIfNeeded(File sourceDir, PipelineJob jo HashMap readsetToCountMap = new HashMap<>(); if (distinctHTOs.size() > 1) { - Set hashingToRemove = new HashSet<>(); + Set hashingToRemove = new HashSet<>(); readsetToHashingMap.forEach((readsetId, hashingReadsetId) -> { if (cacheCountMatrixFiles) { @@ -342,7 +344,7 @@ else if (distinctHTOs.size() == 1) job.getLogger().info("distinct HTOs: " + distinctHTOs.size()); } - Set citeToRemove = new HashSet<>(); + Set citeToRemove = new HashSet<>(); readsetToCiteSeqMap.forEach((readsetId, citeseqReadsetId) -> { if (cacheCountMatrixFiles) { @@ -433,7 +435,7 @@ else if (distinctHTOs.size() == 1) } } - private Map cacheH5Files(PipelineJob job, SequenceAnalysisJobSupport support, Collection uniqueGex, Map readsetToGexMap) throws PipelineJobException + private Map cacheH5Files(PipelineJob job, SequenceAnalysisJobSupport support, Collection uniqueGex, Map readsetToGexMap) throws PipelineJobException { job.getLogger().debug("Caching H5 Files"); Map gexReadsetToH5Map = new HashMap<>(); @@ -441,7 +443,7 @@ private Map cacheH5Files(PipelineJob job, SequenceAnalysisJobSu TableInfo ti = QueryService.get().getUserSchema(job.getUser(), job.getContainer().isWorkbook() ? job.getContainer().getParent() : job.getContainer(), SingleCellSchema.SEQUENCE_SCHEMA_NAME).getTable("outputfiles"); Set cachedGenomes = support.getCachedGenomes().stream().map(ReferenceGenome::getGenomeId).collect(Collectors.toSet()); - for (int readsetId : readsetToGexMap.keySet()) + for (long readsetId : readsetToGexMap.keySet()) { boolean isGEX = uniqueGex.contains(readsetId); int gexReadset = readsetToGexMap.get(readsetId); @@ -514,17 +516,17 @@ else if (genomeIds.size() > 1) return gexReadsetToH5Map; } - public File getValidCiteSeqBarcodeFile(File sourceDir, int gexReadsetId) + public File getValidCiteSeqBarcodeFile(File sourceDir, long gexReadsetId) { return new File(sourceDir, "validADTS." + gexReadsetId + ".csv"); } - public File getValidCiteSeqBarcodeMetadataFile(File sourceDir, int gexReadsetId) + public File getValidCiteSeqBarcodeMetadataFile(File sourceDir, long gexReadsetId) { return new File(sourceDir, "validADTS." + gexReadsetId + ".metadata.txt"); } - private void writeCiteSeqBarcodes(PipelineJob job, Map> gexToPanels, File outputDir) throws PipelineJobException + private void writeCiteSeqBarcodes(PipelineJob job, Map> gexToPanels, File outputDir) throws PipelineJobException { Container target = job.getContainer().isWorkbook() ? job.getContainer().getParent() : job.getContainer(); UserSchema schema = QueryService.get().getUserSchema(job.getUser(), target, SingleCellSchema.NAME); @@ -539,7 +541,7 @@ private void writeCiteSeqBarcodes(PipelineJob job, Map> gex FieldKey.fromString("antibody/barcodePattern") )); - for (int gexReadsetId : gexToPanels.keySet()) + for (long gexReadsetId : gexToPanels.keySet()) { job.getLogger().info("Writing all unique ADTs for readset: " + gexReadsetId); File barcodeOutput = getValidCiteSeqBarcodeFile(outputDir, gexReadsetId); @@ -595,7 +597,7 @@ public File generateHashingCallsForRawMatrix(Readset parentReadset, PipelineOutp } parameters.validate(true); - Map readsetToHashing = getCachedHashingReadsetMap(ctx.getSequenceSupport()); + Map readsetToHashing = getCachedHashingReadsetMap(ctx.getSequenceSupport()); if (readsetToHashing.isEmpty()) { ctx.getLogger().info("No cached " + parameters.type.name() + " readsets, skipping"); @@ -721,7 +723,7 @@ public File generateHashingCallsForRawMatrix(Readset parentReadset, PipelineOutp return callsFile; } - private Map getCachedCiteSeqReadsetMap(SequenceAnalysisJobSupport support) throws PipelineJobException + private Map getCachedCiteSeqReadsetMap(SequenceAnalysisJobSupport support) throws PipelineJobException { return support.getCachedObject(READSET_TO_CITESEQ_MAP, PipelineJob.createObjectMapper().getTypeFactory().constructParametricType(Map.class, Integer.class, Integer.class)); } @@ -729,7 +731,7 @@ private Map getCachedCiteSeqReadsetMap(SequenceAnalysisJobSupp @Override public boolean usesCellHashing(SequenceAnalysisJobSupport support, File sourceDir) throws PipelineJobException { - Map gexToHashingMap = getCachedHashingReadsetMap(support); + Map gexToHashingMap = getCachedHashingReadsetMap(support); if (gexToHashingMap == null || gexToHashingMap.isEmpty()) return false; @@ -745,7 +747,7 @@ public boolean usesCellHashing(SequenceAnalysisJobSupport support, File sourceDi @Override public boolean usesCiteSeq(SequenceAnalysisJobSupport support, List inputFiles) throws PipelineJobException { - Map gexToCiteMap = getCachedCiteSeqReadsetMap(support); + Map gexToCiteMap = getCachedCiteSeqReadsetMap(support); if (gexToCiteMap == null || gexToCiteMap.isEmpty()) return false; @@ -761,7 +763,7 @@ public boolean usesCiteSeq(SequenceAnalysisJobSupport support, List map = support.getCachedObject(READSET_AND_GENOME_TO_H5_MAP, PipelineJob.createObjectMapper().getTypeFactory().constructParametricType(Map.class, String.class, Integer.class)); String key = readsetId + "-" + genomeId; @@ -797,12 +799,12 @@ public File getCDNAInfoFile(File sourceDir) return new File(sourceDir, "cDNAInfo.txt"); } - public Map getCachedHashingReadsetMap(SequenceAnalysisJobSupport support) throws PipelineJobException + public Map getCachedHashingReadsetMap(SequenceAnalysisJobSupport support) throws PipelineJobException { return support.getCachedObject(READSET_TO_HASHING_MAP, PipelineJob.createObjectMapper().getTypeFactory().constructParametricType(Map.class, Integer.class, Integer.class)); } - public File getCachedReadsetToCountMatrix(SequenceAnalysisJobSupport support, int readsetId, CellHashingService.BARCODE_TYPE type) throws PipelineJobException + public File getCachedReadsetToCountMatrix(SequenceAnalysisJobSupport support, long readsetId, CellHashingService.BARCODE_TYPE type) throws PipelineJobException { Map map = support.getCachedObject(READSET_TO_COUNTS_MAP, PipelineJob.createObjectMapper().getTypeFactory().constructParametricType(Map.class, String.class, File.class)); String key = type.name() + "-" + readsetId; @@ -1367,7 +1369,7 @@ public File generateCellHashingCalls(File citeSeqCountOutDir, File outputDir, St @Override public File getExistingFeatureBarcodeCountDir(Readset parentReadset, BARCODE_TYPE type, SequenceAnalysisJobSupport support) throws PipelineJobException { - Integer childId = type == BARCODE_TYPE.hashing ? getCachedHashingReadsetMap(support).get(parentReadset.getReadsetId()) : getCachedCiteSeqReadsetMap(support).get(parentReadset.getReadsetId()); + Long childId = type == BARCODE_TYPE.hashing ? getCachedHashingReadsetMap(support).get(parentReadset.getReadsetId()) : getCachedCiteSeqReadsetMap(support).get(parentReadset.getReadsetId()); if (childId == null) { throw new PipelineJobException("Unable to find cached readset of type " + type.name() + " for parent: " + parentReadset.getReadsetId()); @@ -1416,9 +1418,9 @@ public void copyHtmlLocally(SequenceOutputHandler.JobContext ctx) throws Pipelin } @Override - public Set getHtosForParentReadset(Integer parentReadsetId, File webserverJobDir, SequenceAnalysisJobSupport support, boolean throwIfNotFound) throws PipelineJobException + public Set getHtosForParentReadset(Long parentReadsetId, File webserverJobDir, SequenceAnalysisJobSupport support, boolean throwIfNotFound) throws PipelineJobException { - Integer htoReadset = getCachedHashingReadsetMap(support).get(parentReadsetId); + Long htoReadset = getCachedHashingReadsetMap(support).get(parentReadsetId); if (htoReadset == null) { if (throwIfNotFound) @@ -1434,7 +1436,7 @@ public Set getHtosForParentReadset(Integer parentReadsetId, File webserv return getHtosForReadset(htoReadset, webserverJobDir); } - public Set getHtosForReadset(Integer hashingReadsetId, File webserverJobDir) throws PipelineJobException + public Set getHtosForReadset(Long hashingReadsetId, File webserverJobDir) throws PipelineJobException { Set htosPerReadset = new HashSet<>(); try (CSVReader reader = new CSVReader(Readers.getReader(CellHashingServiceImpl.get().getCDNAInfoFile(webserverJobDir)), '\t')) diff --git a/singlecell/src/org/labkey/singlecell/analysis/AbstractSingleCellHandler.java b/singlecell/src/org/labkey/singlecell/analysis/AbstractSingleCellHandler.java index 4f0b32f92..45ce396c2 100644 --- a/singlecell/src/org/labkey/singlecell/analysis/AbstractSingleCellHandler.java +++ b/singlecell/src/org/labkey/singlecell/analysis/AbstractSingleCellHandler.java @@ -373,7 +373,7 @@ public void processFilesRemote(List inputFiles, JobContext c String basename; if (inputFiles.size() == 1 && inputFiles.get(0).getReadset() != null) { - Integer readsetId = inputFiles.get(0).getReadset(); + Long readsetId = inputFiles.get(0).getReadset(); Readset rs = ctx.getSequenceSupport().getCachedReadset(readsetId); basename = FileUtil.makeLegalName(rs.getName()).replaceAll(" ", "_"); } diff --git a/singlecell/src/org/labkey/singlecell/run/CellRangerFeatureBarcodeHandler.java b/singlecell/src/org/labkey/singlecell/run/CellRangerFeatureBarcodeHandler.java index b03b7faa0..5f875c4f2 100644 --- a/singlecell/src/org/labkey/singlecell/run/CellRangerFeatureBarcodeHandler.java +++ b/singlecell/src/org/labkey/singlecell/run/CellRangerFeatureBarcodeHandler.java @@ -194,7 +194,7 @@ public void processFilesRemote(List readsets, JobContext ctx) throws Un action.addInputIfNotPresent(rd.getFile2(), "Input FASTQ"); }); - Integer gexReadsetId = ctx.getSequenceSupport().getCachedObject(FEATURE_TO_GEX, Integer.class); + Long gexReadsetId = ctx.getSequenceSupport().getCachedObject(FEATURE_TO_GEX, Long.class); if (gexReadsetId != null) { ctx.getLogger().info("Adding GEX FASTQs"); From fcb737c1d558fe9c2555b7c0627c9f8c192f4fd7 Mon Sep 17 00:00:00 2001 From: labkey-danield Date: Mon, 4 Aug 2025 07:59:21 -0700 Subject: [PATCH 29/34] Adding reference to Arrays. --- .../src/org/labkey/sequenceanalysis/run/util/FastqcRunner.java | 1 + 1 file changed, 1 insertion(+) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqcRunner.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqcRunner.java index 7a12e8d0c..17c0fb2d4 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqcRunner.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/FastqcRunner.java @@ -46,6 +46,7 @@ import java.io.InputStreamReader; import java.io.StringWriter; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; import java.util.LinkedList; import java.util.List; From bd45f8221d91df06b3d26e90ba4f8b2d47c1e049 Mon Sep 17 00:00:00 2001 From: labkey-matthewb Date: Mon, 4 Aug 2025 12:12:16 -0700 Subject: [PATCH 30/34] go all in on IntHashMap and LongHashMap --- .../labkey/sequenceanalysis/ReadDataImpl.java | 4 ++-- .../SequenceAnalysisController.java | 22 ++++++++++--------- .../SequenceAnalysisMaintenanceTask.java | 4 ++-- .../CombineStarGeneCountsHandler.java | 7 +++--- .../pipeline/AlignmentImportTask.java | 2 +- .../pipeline/CacheGenomeTrigger.java | 4 ++-- .../pipeline/ProcessVariantsHandler.java | 11 ++++++---- .../pipeline/ReadsetCreationTask.java | 7 +++--- .../query/SequenceTriggerHelper.java | 4 ++-- .../sequenceanalysis/run/BamHaplotyper.java | 9 ++++---- .../run/analysis/AASnpByCodonAggregator.java | 3 ++- .../run/analysis/AASnpByReadAggregator.java | 3 ++- .../analysis/AbstractAlignmentAggregator.java | 3 ++- .../analysis/AvgBaseQualityAggregator.java | 10 +++++---- .../run/analysis/ViralSnpUtil.java | 4 ++-- .../util/ChainFileValidator.java | 8 ++++--- .../util/TranslatingReferenceSequence.java | 6 ++--- .../pipeline/singlecell/AppendCiteSeq.java | 4 ++-- .../pipeline/singlecell/AppendSaturation.java | 10 ++++----- .../pipeline/singlecell/RunCellHashing.java | 4 ++-- 20 files changed, 72 insertions(+), 57 deletions(-) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/ReadDataImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/ReadDataImpl.java index 74dbdf902..1791c1e5d 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/ReadDataImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/ReadDataImpl.java @@ -1,5 +1,6 @@ package org.labkey.sequenceanalysis; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.data.CompareType; import org.labkey.api.data.SimpleFilter; import org.labkey.api.data.Sort; @@ -14,7 +15,6 @@ import java.io.File; import java.util.Date; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -40,7 +40,7 @@ public class ReadDataImpl implements ReadData private boolean _archived = false; private String sra_accession; - private final Map _cachedFiles = new HashMap<>(); + private final Map _cachedFiles = new IntHashMap<>(); public ReadDataImpl() { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java index e402a14f7..49270e651 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java @@ -53,6 +53,8 @@ import org.labkey.api.assay.AssayFileWriter; import org.labkey.api.collections.CaseInsensitiveHashMap; import org.labkey.api.collections.CaseInsensitiveHashSet; +import org.labkey.api.collections.IntHashMap; +import org.labkey.api.collections.IntHashSet; import org.labkey.api.data.ColumnInfo; import org.labkey.api.data.CompareType; import org.labkey.api.data.Container; @@ -596,11 +598,11 @@ public ModelAndView getConfirmView(DeleteForm form, BindException errors) throws keys.add(ConvertHelper.convert(key, Integer.class)); } - Set expRunsToDelete = new HashSet<>(); - Set readsetIds = new HashSet<>(); - Set readDataIds = new HashSet<>(); - Set analysisIds = new HashSet<>(); - Set outputFileIds = new HashSet<>(); + Set expRunsToDelete = new IntHashSet(); + Set readsetIds = new IntHashSet(); + Set readDataIds = new IntHashSet(); + Set analysisIds = new IntHashSet(); + Set outputFileIds = new IntHashSet(); StringBuilder msg = new StringBuilder("Are you sure you want to delete the following " + keys.size() + " "); if (SequenceAnalysisSchema.TABLE_ANALYSES.equals(_table.getName())) @@ -753,7 +755,7 @@ public ModelAndView handleRequest(HttpServletRequest request, HttpServletRespons private void getAdditionalRuns(Set readsetIds, Set readDataIds, Set analysisIds, Set outputFileIds, Set expRunsToDelete) { - Set runIdsStillInUse = new HashSet<>(); + Set runIdsStillInUse = new IntHashSet(); //work backwards, adding additional pipeline jobs that will become orphans: runIdsStillInUse.addAll(getRunIdsInUse(SequenceAnalysisSchema.TABLE_READSETS, expRunsToDelete, readsetIds)); @@ -786,7 +788,7 @@ private Set appendTotal(StringBuilder sb, String tableName, String noun { SimpleFilter filter = new SimpleFilter(FieldKey.fromString(filterCol), keys, CompareType.IN); TableSelector ts = new TableSelector(SequenceAnalysisSchema.getInstance().getSchema().getTable(tableName), PageFlowUtil.set(pkCol), filter, null); - Set total = new HashSet<>(ts.getArrayList(Integer.class)); + Set total = new IntHashSet(ts.getArrayList(Integer.class)); sb.append("
" + total.size() + " " + noun); return total; @@ -1164,7 +1166,7 @@ public ApiResponse execute(ValidateReadsetImportForm form, BindException errors) if (readsets1.length > 0 || readsets2.length > 0) { - Set ids = new HashSet<>(); + Set ids = new IntHashSet(); ids.addAll(Arrays.asList(readsets1)); ids.addAll(Arrays.asList(readsets2)); @@ -3888,7 +3890,7 @@ protected PipelineJob createOutputJob(RunSequenceHandlerForm form, Container tar protected void validateGenomes(List inputs, SequenceOutputHandler handler) throws IllegalArgumentException { - Set genomes = new HashSet<>(); + Set genomes = new IntHashSet(); inputs.forEach(x -> { if (x.getLibrary_id() == null && (handler.requiresGenome() || handler.requiresSingleGenome())) { @@ -4897,7 +4899,7 @@ public ApiResponse execute(OutputFilesForm form, BindException errors) throws Ex { Map resp = new HashMap<>(); - Map fileMap = new HashMap<>(); + Map fileMap = new IntHashMap<>(); for (Integer rowId : form.getOutputFileIds()) { SequenceOutputFile f = SequenceOutputFile.getForId(rowId); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisMaintenanceTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisMaintenanceTask.java index bca5d410f..6ea1c01a9 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisMaintenanceTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisMaintenanceTask.java @@ -4,6 +4,7 @@ import org.apache.commons.lang3.SystemUtils; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Logger; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.data.CompareType; import org.labkey.api.data.Container; import org.labkey.api.data.ContainerManager; @@ -42,7 +43,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.Date; -import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -101,7 +101,7 @@ public void run() { try { - Map genomeMap = new HashMap<>(); + Map genomeMap = new IntHashMap<>(); new TableSelector(SequenceAnalysisSchema.getInstance().getSchema().getTable(SequenceAnalysisSchema.TABLE_REF_LIBRARIES), PageFlowUtil.set("rowid", "fasta_file"), new SimpleFilter(FieldKey.fromString("datedisabled"), null, CompareType.ISBLANK), null).forEachResults(rs -> { int dataId = rs.getInt(FieldKey.fromString("fasta_file")); if (dataId > -1) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/CombineStarGeneCountsHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/CombineStarGeneCountsHandler.java index 7aaea197c..bedd9808b 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/CombineStarGeneCountsHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/CombineStarGeneCountsHandler.java @@ -1,6 +1,7 @@ package org.labkey.sequenceanalysis.analysis; import org.json.JSONObject; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.pipeline.PipelineJob; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.pipeline.RecordedAction; @@ -41,9 +42,9 @@ protected void processOutputFiles(CountResults results, List long totalStrand2 = 0L; results.distinctGenes.addAll(translator.getGeneMap().keySet()); - Map> unstrandedCounts = new HashMap<>(inputFiles.size()); - Map> strand1Counts = new HashMap<>(inputFiles.size()); - Map> strand2Counts = new HashMap<>(inputFiles.size()); + Map> unstrandedCounts = new IntHashMap<>(inputFiles.size()); + Map> strand1Counts = new IntHashMap<>(inputFiles.size()); + Map> strand2Counts = new IntHashMap<>(inputFiles.size()); for (SequenceOutputFile so : inputFiles) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentImportTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentImportTask.java index 1030de766..bf5078a1a 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentImportTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/AlignmentImportTask.java @@ -187,7 +187,7 @@ private List parseAndCreateAnalyses() throws PipelineJobException //process metrics Map readsetToAnalysisMap = new LongHashMap<>(); - Map> typeMap = new HashMap<>(); + Map> typeMap = new LongHashMap<>(); for (AnalysisModel model : ret) { readsetToAnalysisMap.put(model.getReadset(), model.getRowId()); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CacheGenomeTrigger.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CacheGenomeTrigger.java index 0cca64834..0e3da3e90 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CacheGenomeTrigger.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CacheGenomeTrigger.java @@ -1,6 +1,7 @@ package org.labkey.sequenceanalysis.pipeline; import org.apache.logging.log4j.Logger; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.data.Container; import org.labkey.api.module.ModuleLoader; import org.labkey.api.pipeline.PipeRoot; @@ -15,7 +16,6 @@ import org.labkey.sequenceanalysis.SequenceAnalysisModule; import java.io.File; -import java.util.HashMap; import java.util.Map; public class CacheGenomeTrigger implements GenomeTrigger @@ -48,7 +48,7 @@ private void possiblyCache(Container c, User u, Logger log, int genomeId) { try { - Map genomeMap = new HashMap<>(); + Map genomeMap = new IntHashMap<>(); ReferenceGenome rg = SequenceAnalysisService.get().getReferenceGenome(genomeId, u); genomeMap.put(rg.getGenomeId(), rg.getSourceFastaFile()); cacheGenomes(c, u, genomeMap, log, false); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java index e709e1da3..8cfb0d856 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java @@ -16,6 +16,9 @@ import org.junit.Assert; import org.junit.Test; import org.labkey.api.collections.CaseInsensitiveHashSet; +import org.labkey.api.collections.IntHashMap; +import org.labkey.api.collections.IntHashSet; +import org.labkey.api.collections.LongHashSet; import org.labkey.api.data.Container; import org.labkey.api.laboratory.DemographicsProvider; import org.labkey.api.module.Module; @@ -160,7 +163,7 @@ public SequenceOutputFile createFinalSequenceOutput(PipelineJob job, File proces public static SequenceOutputFile createSequenceOutput(PipelineJob job, File processed, List inputFiles, String category) { - Set libraryIds = new HashSet<>(); + Set libraryIds = new IntHashSet(); inputFiles.forEach(x -> { if (x.getLibrary_id() != null) libraryIds.add(x.getLibrary_id()); @@ -171,7 +174,7 @@ public static SequenceOutputFile createSequenceOutput(PipelineJob job, File proc throw new IllegalArgumentException("No library ID defined for VCFs"); } - Set readsetIds = new HashSet<>(); + Set readsetIds = new LongHashSet(); inputFiles.forEach(x -> readsetIds.add(x.getReadset())); int sampleCount; @@ -598,7 +601,7 @@ public void processFilesRemote(List inputFiles, JobContext c throw new PipelineJobException("Priority order not supplied for VCFs"); } - Set genomes = new HashSet<>(); + Set genomes = new IntHashSet(); inputFiles.forEach(x -> genomes.add(x.getLibrary_id())); if (genomes.size() != 1) @@ -609,7 +612,7 @@ public void processFilesRemote(List inputFiles, JobContext c ReferenceGenome rg = ctx.getSequenceSupport().getCachedGenome(genomes.iterator().next()); MergeVcfsAndGenotypesWrapper cv = new MergeVcfsAndGenotypesWrapper(ctx.getLogger()); - Map fileMap = new HashMap<>(); + Map fileMap = new IntHashMap<>(); inputFiles.forEach(x -> fileMap.put(x.getRowid(), x.getDataId())); String[] ids = priorityOrder.split(","); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java index 9541ed7ab..e62471f8e 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReadsetCreationTask.java @@ -18,6 +18,8 @@ import au.com.bytecode.opencsv.CSVReader; import org.jetbrains.annotations.NotNull; import org.labkey.api.collections.CaseInsensitiveHashMap; +import org.labkey.api.collections.LongHashMap; +import org.labkey.api.collections.LongHashSet; import org.labkey.api.data.CompareType; import org.labkey.api.data.Container; import org.labkey.api.data.DbSchema; @@ -62,7 +64,6 @@ import java.util.Collections; import java.util.Date; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -166,10 +167,10 @@ private void importReadsets() throws PipelineJobException List newReadsets = new ArrayList<>(); - Set fileIdsWithExistingMetrics = new HashSet<>(); + Set fileIdsWithExistingMetrics = new LongHashSet(); try (DbScope.Transaction transaction = schema.getScope().ensureTransaction()) { - Map readsetsToDeactivate = new HashMap<>(); + Map readsetsToDeactivate = new LongHashMap<>(); TableInfo readsetTable = schema.getTable(SequenceAnalysisSchema.TABLE_READSETS); TableInfo readDataTable = schema.getTable(SequenceAnalysisSchema.TABLE_READ_DATA); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceTriggerHelper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceTriggerHelper.java index 9b96d619f..4c38fd4fb 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceTriggerHelper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/query/SequenceTriggerHelper.java @@ -13,6 +13,7 @@ import org.biojava.nbio.core.sequence.transcription.TranscriptionEngine; import org.junit.Assert; import org.junit.Test; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.data.Container; import org.labkey.api.data.ContainerManager; import org.labkey.api.data.SimpleFilter; @@ -34,7 +35,6 @@ import java.io.IOException; import java.io.StringWriter; import java.util.Arrays; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -50,7 +50,7 @@ public class SequenceTriggerHelper private static final TranscriptionEngine _engine = new TranscriptionEngine.Builder().dnaCompounds(AmbiguityDNACompoundSet.getDNACompoundSet()).rnaCompounds(AmbiguityRNACompoundSet.getRNACompoundSet()).initMet(false).trimStop(false).build(); - private final Map _sequenceMap = new HashMap<>(); + private final Map _sequenceMap = new IntHashMap<>(); public SequenceTriggerHelper(int userId, String containerId) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/BamHaplotyper.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/BamHaplotyper.java index b92066220..8ff1837bb 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/BamHaplotyper.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/BamHaplotyper.java @@ -13,6 +13,8 @@ import org.apache.logging.log4j.LogManager; import org.json.JSONArray; import org.json.JSONObject; +import org.labkey.api.collections.IntHashMap; +import org.labkey.api.collections.StringHashMap; import org.labkey.api.data.CompareType; import org.labkey.api.data.Container; import org.labkey.api.data.ContainerManager; @@ -37,7 +39,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; @@ -119,7 +120,7 @@ public JSONObject calculateNTHaplotypes(int[] inputFileIds, String[] regions, in if (!found) { - Map map = new HashMap<>(); + Map map = new IntHashMap<>(); map.put(so.getRowid(), newPair.second); combinedResults.add(Pair.of(newPair.first, map)); } @@ -162,7 +163,7 @@ private String getReferenceSequence(ReferenceSequence ref, Map> getInsertionMap(List>> combinedResults) { //build list of all insertions that are present - Map> indels = new HashMap<>(); + Map> indels = new IntHashMap<>(); for (Pair> pair : combinedResults) { for (int idx = 0;idx < pair.first.length;idx++) @@ -189,7 +190,7 @@ private Map> getInsertionMap(List> convertResults(List>> combinedResults, byte[] refBases, Map> indels) { //now iterate each array, convert to string and return results - Map> ret = new HashMap<>(); + Map> ret = new StringHashMap<>(); for (Pair> pair : combinedResults) { StringBuilder sb = new StringBuilder(); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByCodonAggregator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByCodonAggregator.java index 6a55a32f9..4f931c8ca 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByCodonAggregator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByCodonAggregator.java @@ -18,6 +18,7 @@ import htsjdk.samtools.SAMRecord; import htsjdk.samtools.reference.ReferenceSequence; import org.apache.logging.log4j.Logger; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.data.Container; import org.labkey.api.data.DbScope; import org.labkey.api.data.SimpleFilter; @@ -76,7 +77,7 @@ public void inspectAlignment(SAMRecord record, ReferenceSequence ref, Map> highQualitySnpsByPos = new HashMap<>(); + Map> highQualitySnpsByPos = new IntHashMap<>(); for (Integer pos : snps.keySet()) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByReadAggregator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByReadAggregator.java index df8bd0f29..c57e2a442 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByReadAggregator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AASnpByReadAggregator.java @@ -3,6 +3,7 @@ import htsjdk.samtools.SAMRecord; import htsjdk.samtools.reference.ReferenceSequence; import org.apache.logging.log4j.Logger; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.data.Container; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.security.User; @@ -51,7 +52,7 @@ public void inspectAlignment(SAMRecord record, ReferenceSequence ref, Map> highQualitySnpsByPos = new HashMap<>(); + Map> highQualitySnpsByPos = new IntHashMap<>(); for (Integer pos : snps.keySet()) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AbstractAlignmentAggregator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AbstractAlignmentAggregator.java index 6309f89db..a775ba902 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AbstractAlignmentAggregator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AbstractAlignmentAggregator.java @@ -19,6 +19,7 @@ import htsjdk.samtools.reference.ReferenceSequence; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.ReferenceLibraryHelper; import org.labkey.sequenceanalysis.run.util.AASnp; @@ -230,7 +231,7 @@ private TranslatingReferenceSequence getReferenceFromDb(String refName) return ref; } - private final Map>> _qualMap = new HashMap<>(); + private final Map>> _qualMap = new IntHashMap<>(); private Map> getQualsForReference(Integer refId) throws PipelineJobException { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AvgBaseQualityAggregator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AvgBaseQualityAggregator.java index 62e973304..804b3c26b 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AvgBaseQualityAggregator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/AvgBaseQualityAggregator.java @@ -25,6 +25,8 @@ import htsjdk.samtools.util.IntervalList; import htsjdk.samtools.util.SamLocusIterator; import org.apache.logging.log4j.Logger; +import org.labkey.api.collections.IntHashMap; +import org.labkey.api.collections.StringHashMap; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.sequenceanalysis.util.SequenceUtil; @@ -93,7 +95,7 @@ public void calculateAvgQuals(String refName, int start, int stop) throws Pipeli if (sr == null) throw new IllegalArgumentException("Unknown reference: " + refName); - Map> quals = new HashMap<>(); + Map> quals = new IntHashMap<>(); IntervalList il = new IntervalList(header); il.add(new Interval(refName, start, stop)); quals.put(sr.getSequenceIndex(), calculateAvgQualsForInterval(reader, il)); @@ -115,7 +117,7 @@ public void calculateAvgQuals() throws PipelineJobException SAMFileHeader header = reader.getFileHeader(); List sequences = header.getSequenceDictionary().getSequences(); - Map> quals = new HashMap<>(); + Map> quals = new IntHashMap<>(); for(SAMSequenceRecord sr : sequences) { IntervalList il = new IntervalList(header); il.add(new Interval(sr.getSequenceName(), 1, sr.getSequenceLength())); @@ -136,7 +138,7 @@ public void calculateAvgQuals() throws PipelineJobException */ private Map calculateAvgQualsForInterval(SamReader sam, IntervalList il) { - Map quals = new HashMap<>(); + Map quals = new StringHashMap<>(); try (SamLocusIterator sli = new SamLocusIterator(sam, il, true)) { @@ -210,7 +212,7 @@ public Map> getQualsForReference(Integer refId) thr if (map == null) return null; - Map> ret = new HashMap<>(); + Map> ret = new IntHashMap<>(); for (String key : map.keySet()) { String[] tokens = key.split("\\|\\|"); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/ViralSnpUtil.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/ViralSnpUtil.java index 7c4390657..443379426 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/ViralSnpUtil.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/ViralSnpUtil.java @@ -3,6 +3,7 @@ import htsjdk.samtools.util.CloseableIterator; import htsjdk.variant.variantcontext.VariantContext; import htsjdk.variant.vcf.VCFFileReader; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.data.CompareType; import org.labkey.api.data.Container; import org.labkey.api.data.SimpleFilter; @@ -18,7 +19,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -40,7 +40,7 @@ public static int resolveGene(int refNtId, String aaName) throws PipelineJobExce public static Map> readVcfToMap(File vcf) { - Map> consensusMap = new HashMap<>(); + Map> consensusMap = new IntHashMap<>(); try (VCFFileReader reader = new VCFFileReader(vcf); CloseableIterator it = reader.iterator()) { while (it.hasNext()) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/ChainFileValidator.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/ChainFileValidator.java index a3715b491..f66d26e94 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/ChainFileValidator.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/ChainFileValidator.java @@ -7,6 +7,8 @@ import org.junit.Assert; import org.junit.Test; import org.labkey.api.collections.CaseInsensitiveHashMap; +import org.labkey.api.collections.IntHashMap; +import org.labkey.api.collections.IntHashSet; import org.labkey.api.data.CompareType; import org.labkey.api.data.DbScope; import org.labkey.api.data.Results; @@ -59,8 +61,8 @@ public File processChainFile(File chainFile, int sourceGenome, int targetGenome, // reference names must match those in the DB for that genome Pattern SPLITTER = Pattern.compile("\\s"); - Set uniqueIds = new HashSet<>(); - Set encounteredIds = new HashSet<>(); + Set uniqueIds = new IntHashSet(); + Set encounteredIds = new IntHashSet(); //step 1: iterate lines, gather unique chain IDs boolean hasChanges = false; @@ -284,7 +286,7 @@ private int getNextChainId(Integer chainId, Set uniqueIds) return newId; } - private final Map> _cachedReferencesByGenome = new HashMap<>(); + private final Map> _cachedReferencesByGenome = new IntHashMap<>(); private String resolveSequenceId(String refName, int genomeId) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/TranslatingReferenceSequence.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/TranslatingReferenceSequence.java index 6dce152df..67a74630c 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/TranslatingReferenceSequence.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/util/TranslatingReferenceSequence.java @@ -17,6 +17,7 @@ import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.data.SimpleFilter; import org.labkey.api.data.TableInfo; import org.labkey.api.data.TableSelector; @@ -29,7 +30,6 @@ import org.labkey.sequenceanalysis.run.util.NTSnp; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -231,7 +231,7 @@ private List translateSnp(NTSnp pi, Map> readSnps) StringBuilder codon = new StringBuilder(); //to track the SNPs that comprise this codon, 0-based - Map snpMap = new HashMap<>(); + Map snpMap = new IntHashMap<>(); Integer positionInCodon = null; //0-based for (Integer p : positions) //1-based { @@ -240,7 +240,7 @@ private List translateSnp(NTSnp pi, Map> readSnps) { StringBuilder thisSegment = new StringBuilder(); int positionInSegment = 0; - Map snpMapForSegment = new HashMap<>(); //0-based + Map snpMapForSegment = new IntHashMap<>(); //0-based //force sorting by idx List otherSnps = readSnps.get(position); diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendCiteSeq.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendCiteSeq.java index 41c92ed63..2e04afa78 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendCiteSeq.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendCiteSeq.java @@ -2,6 +2,7 @@ import org.apache.commons.io.FileUtils; import org.json.JSONObject; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.sequenceanalysis.SequenceOutputFile; import org.labkey.api.sequenceanalysis.model.Readset; @@ -21,7 +22,6 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -88,7 +88,7 @@ public String getDockerContainerName() @Override protected Map prepareCountData(SingleCellOutput output, SequenceOutputHandler.JobContext ctx, List inputObjects, String outputPrefix) throws PipelineJobException { - Map dataIdToCalls = new HashMap<>(); + Map dataIdToCalls = new IntHashMap<>(); boolean dropAggregateBarcodes = getProvider().getParameterByName("dropAggregateBarcodes").extractValue(getPipelineCtx().getJob(), getProvider(), getStepIdx(), Boolean.class, true); for (SeuratObjectWrapper wrapper : inputObjects) diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendSaturation.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendSaturation.java index 3b1a1ebec..389c37fbc 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendSaturation.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendSaturation.java @@ -4,6 +4,8 @@ import au.com.bytecode.opencsv.CSVWriter; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; +import org.labkey.api.collections.IntHashMap; +import org.labkey.api.collections.IntHashSet; import org.labkey.api.data.Container; import org.labkey.api.data.SimpleFilter; import org.labkey.api.data.Sort; @@ -25,8 +27,6 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -59,7 +59,7 @@ public void init(SequenceOutputHandler.JobContext ctx, List { try (CSVWriter writer = new CSVWriter(PrintWriters.getPrintWriter(getMolInfoTable(ctx)))) { - Map loupeOutputs = new HashMap<>(); + Map loupeOutputs = new IntHashMap<>(); for (SequenceOutputFile so : inputFiles) { if (!LOUPE_TYPE.isType(so.getFile())) @@ -75,7 +75,7 @@ public void init(SequenceOutputHandler.JobContext ctx, List throw new PipelineJobException("Cannot find expected metadata file: " + meta.getPath()); } - Set uniqueIds = new HashSet<>(); + Set uniqueIds = new IntHashSet(); try (CSVReader reader = new CSVReader(Readers.getReader(meta), '_')) { String[] line; @@ -200,7 +200,7 @@ public String getFileSuffix() private void findAdditionalData(SequenceOutputFile loupeFile, CSVWriter writer, PipelineJob job) throws IOException, PipelineJobException { - Set citeReadsets = new HashSet<>(); + Set citeReadsets = new IntHashSet(); Container targetContainer = job.getContainer().isWorkbook() ? job.getContainer().getParent() : job.getContainer(); TableSelector ts = new TableSelector(QueryService.get().getUserSchema(job.getUser(), targetContainer, SingleCellSchema.NAME).getTable(SingleCellSchema.TABLE_CDNAS), PageFlowUtil.set("hashingReadsetId", "citeseqReadsetId"), new SimpleFilter(FieldKey.fromString("readsetId"), loupeFile.getReadset()), null); ts.forEachResults(rs -> { diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunCellHashing.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunCellHashing.java index 1adf350d0..ca91af408 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunCellHashing.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/RunCellHashing.java @@ -2,6 +2,7 @@ import au.com.bytecode.opencsv.CSVReader; import org.apache.commons.io.FileUtils; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.reader.Readers; import org.labkey.api.sequenceanalysis.SequenceOutputFile; @@ -25,7 +26,6 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; @@ -80,7 +80,7 @@ protected void onFailure(SequenceOutputHandler.JobContext ctx, String outputPref @Override protected Map prepareCountData(SingleCellOutput output, SequenceOutputHandler.JobContext ctx, List inputObjects, String outputPrefix) throws PipelineJobException { - Map dataIdToCalls = new HashMap<>(); + Map dataIdToCalls = new IntHashMap<>(); for (SeuratObjectWrapper wrapper : inputObjects) { From 2664af80621c79af11367426d9ab85ace5c4cc8c Mon Sep 17 00:00:00 2001 From: labkey-matthewb Date: Wed, 6 Aug 2025 10:27:43 -0700 Subject: [PATCH 31/34] remove (Integer) casts bulk search/replace --- .../labkey/sequenceanalysis/SequenceAnalysisController.java | 5 +++-- .../labkey/sequenceanalysis/SequenceAnalysisManager.java | 4 +++- .../sequenceanalysis/SequenceAnalysisServiceImpl.java | 4 +++- .../labkey/sequenceanalysis/SequenceIntegrationTests.java | 6 ++++-- .../sequenceanalysis/pipeline/IlluminaImportTask.java | 4 +++- .../sequenceanalysis/pipeline/ImportGenomeTrackTask.java | 4 +++- 6 files changed, 19 insertions(+), 8 deletions(-) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java index 49270e651..58553d3d6 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java @@ -209,6 +209,7 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; +import static org.labkey.api.exp.api.ExperimentService.asInteger; import static org.labkey.sequenceanalysis.SequenceIntegrationTests.PIPELINE_PROP_NAME; public class SequenceAnalysisController extends SpringActionController @@ -3239,8 +3240,8 @@ public ApiResponse execute(CheckFileStatusForm form, BindException errors) continue; } - Integer dataId = (Integer) rowMap.get("dataid"); - Integer libraryId = (Integer) rowMap.get("library_id"); + Integer dataId = asInteger(rowMap.get("dataid")); + Integer libraryId = asInteger(rowMap.get("library_id")); ExpData d = ExperimentService.get().getExpData(dataId); if (d == null) { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java index da086eaaf..59fe53d6d 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisManager.java @@ -91,6 +91,8 @@ import java.util.Map; import java.util.Set; +import static org.labkey.api.exp.api.ExperimentService.asInteger; + public class SequenceAnalysisManager { private static final SequenceAnalysisManager _instance = new SequenceAnalysisManager(); @@ -783,7 +785,7 @@ public List importRefSequencesFromFasta(Container c, User u, File file, map.put("jobId", jobId); map = Table.insert(u, dnaTable, map); - sequenceIds.add((Integer) map.get("rowid")); + sequenceIds.add(asInteger(map.get("rowid"))); RefNtSequenceModel m = new TableSelector(dnaTable, new SimpleFilter(FieldKey.fromString("rowid"), map.get("rowid")), null).getObject(RefNtSequenceModel.class); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisServiceImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisServiceImpl.java index f72a2c9fc..976c9009e 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisServiceImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisServiceImpl.java @@ -69,6 +69,8 @@ import java.util.Set; import java.util.function.Function; +import static org.labkey.api.exp.api.ExperimentService.asLong; + /** * User: bimber * Date: 10/27/13 @@ -231,7 +233,7 @@ public ReferenceGenomeImpl getReferenceGenome(int genomeId, User u) throws Pipel throw new UnauthorizedException("Cannot read data in container: " + c.getPath()); } - ExpData d = ExperimentService.get().getExpData((Integer)map.get("fasta_file")); + ExpData d = ExperimentService.get().getExpData(asLong(map.get("fasta_file"))); if (d.getFile() == null) { throw new PipelineJobException("No FASTA file found for genome: " + genomeId); diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceIntegrationTests.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceIntegrationTests.java index 2a5c0c382..561cc0122 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceIntegrationTests.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceIntegrationTests.java @@ -90,6 +90,8 @@ import java.util.Set; import java.util.stream.Collectors; +import static org.labkey.api.exp.api.ExperimentService.asInteger; + /** * User: bimber * Date: 11/25/12 @@ -1753,11 +1755,11 @@ protected Integer createSavedLibrary() throws Exception if (ts.exists()) { Map rowMap = ts.getMap(); - Integer fasta_file = (Integer)rowMap.get("fasta_file"); + Integer fasta_file = asInteger(rowMap.get("fasta_file")); ExpData d = fasta_file == null ? null : ExperimentService.get().getExpData(fasta_file); if (d != null && d.getFile() != null && d.getFile().exists()) { - return (Integer) rowMap.get("rowid"); + return asInteger(rowMap.get("rowid")); } else { diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java index 6410bf99e..2ad04ec9c 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/IlluminaImportTask.java @@ -57,6 +57,8 @@ import java.util.List; import java.util.Map; +import static org.labkey.api.exp.api.ExperimentService.asInteger; + /** * User: bbimber * Date: 4/22/12 @@ -292,7 +294,7 @@ private void handleInstrumentRun(DbSchema schema) runRow = Table.insert(getJob().getUser(), runTable, runRow); - _instrumentRunId = (Integer)runRow.get("rowid"); + _instrumentRunId = asInteger(runRow.get("rowid")); getJob().getLogger().info("Created run: " + _instrumentRunId); } diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java index 9b07b4885..d2d63e6aa 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ImportGenomeTrackTask.java @@ -81,6 +81,8 @@ import java.util.Map; import java.util.Set; +import static org.labkey.api.exp.api.ExperimentService.asInteger; + /** * User: bbimber * Date: 8/6/12 @@ -338,7 +340,7 @@ else if (SequenceUtil.FILETYPE.bw.getFileType().isType(file)) throw new PipelineJobException("Unable to find rowid for new track"); } - return (Integer)map.get("rowid"); + return asInteger(map.get("rowid")); } private void sortGxf(File gxf) throws PipelineJobException From d609842007827b02b593c988aa055eaaa75c5d7d Mon Sep 17 00:00:00 2001 From: labkey-matthewb Date: Wed, 6 Aug 2025 10:33:01 -0700 Subject: [PATCH 32/34] remove (Integer) casts --- .../sequenceanalysis/pipeline/CreateReferenceLibraryTask.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CreateReferenceLibraryTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CreateReferenceLibraryTask.java index 785e1e628..6e7fcc526 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CreateReferenceLibraryTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/CreateReferenceLibraryTask.java @@ -69,6 +69,8 @@ import java.util.Map; import java.util.Set; +import static org.labkey.api.exp.api.ExperimentService.asInteger; + /** * User: bbimber * Date: 8/6/12 @@ -204,7 +206,7 @@ public RecordedActionSet run() throws PipelineJobException throw errors; } libraryRow = new CaseInsensitiveHashMap<>(inserted.get(0)); - rowId = (Integer) libraryRow.get("rowid"); + rowId = asInteger(libraryRow.get("rowid")); } else { From 9f5817a4680c5a123abe38a37622b2701c279f8f Mon Sep 17 00:00:00 2001 From: labkey-matthewb Date: Thu, 7 Aug 2025 09:15:46 -0700 Subject: [PATCH 33/34] remove (Integer) casts --- Studies/src/org/labkey/studies/StudiesManager.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Studies/src/org/labkey/studies/StudiesManager.java b/Studies/src/org/labkey/studies/StudiesManager.java index bf7926dcc..4c0d087bb 100644 --- a/Studies/src/org/labkey/studies/StudiesManager.java +++ b/Studies/src/org/labkey/studies/StudiesManager.java @@ -50,6 +50,7 @@ import java.util.stream.Collectors; import static com.fasterxml.jackson.databind.type.LogicalType.Collection; +import static org.labkey.api.exp.api.ExperimentService.asInteger; @RunWith(Enclosed.class) public class StudiesManager @@ -149,7 +150,7 @@ private StudyDefinition upsertStudy(StudyDefinition sd, if (bve.hasErrors()) throw bve; - sd.setRowId((Integer) ret.get(0).get("rowId")); + sd.setRowId(asInteger(ret.get(0).get("rowId"))); return sd; } @@ -208,7 +209,7 @@ private void upsertChildRecords(int studyRowId, { List> ret = qus.insertRows(u, c, inserts, bve, null, null); for (int i = 0; i < ret.size(); i++) - setRowId.set(insertBeans.get(i), (Integer) ret.get(i).get("rowId")); + setRowId.set(insertBeans.get(i), asInteger(ret.get(i).get("rowId"))); } if (!updates.isEmpty()) From dd42e4f72cc9d0f912b43a796dabd74a7aac11ab Mon Sep 17 00:00:00 2001 From: labkey-matthewb Date: Thu, 7 Aug 2025 10:46:13 -0700 Subject: [PATCH 34/34] remove (Integer) casts --- .../labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java index 63ddde9bc..90a6418e7 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/TaskFileManagerImpl.java @@ -574,7 +574,7 @@ public void writeMetricsToDb(Map readsetMap, Map