Skip to content

Commit b9706de

Browse files
bbimberlabkey-tchad
authored andcommitted
Merge remaining SVN discvr19.1 changes (#9)
1 parent f132270 commit b9706de

File tree

50 files changed

+1807
-307
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+1807
-307
lines changed

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/RefNtSequenceModel.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.labkey.api.exp.api.ExperimentService;
3131
import org.labkey.api.files.FileContentService;
3232
import org.labkey.api.security.User;
33-
import org.labkey.api.services.ServiceRegistry;
3433
import org.labkey.api.util.MemTracker;
3534
import org.labkey.api.writer.PrintWriters;
3635

@@ -75,6 +74,9 @@ public class RefNtSequenceModel implements Serializable
7574
private String _aliases;
7675
private String _comments;
7776
private Integer _seqLength;
77+
private Date _datedisabled;
78+
private String _disabledby;
79+
7880
private String _container;
7981
private Integer _createdby;
8082
private Date _created;
@@ -365,6 +367,26 @@ public void setJobId(Integer jobId)
365367
_jobId = jobId;
366368
}
367369

370+
public Date getDatedisabled()
371+
{
372+
return _datedisabled;
373+
}
374+
375+
public void setDatedisabled(Date datedisabled)
376+
{
377+
_datedisabled = datedisabled;
378+
}
379+
380+
public String getDisabledby()
381+
{
382+
return _disabledby;
383+
}
384+
385+
public void setDisabledby(String disabledby)
386+
{
387+
_disabledby = disabledby;
388+
}
389+
368390
public byte[] getSequenceBases()
369391
{
370392
if (_sequenceBytes == null)

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import java.io.IOException;
3232
import java.util.Collection;
3333
import java.util.List;
34+
import java.util.Set;
3435

3536
/**
3637
* User: bimber
@@ -92,4 +93,6 @@ static public void setInstance(SequenceAnalysisService instance)
9293
abstract public File writeAllCellHashingBarcodes(File webserverDir) throws PipelineJobException;
9394

9495
abstract public String createReferenceLibrary(List<Integer> sequenceIds, Container c, User u, String name, String assemblyId, String description, boolean skipCacheIndexes, boolean skipTriggers) throws IOException;
96+
97+
abstract public String createReferenceLibrary(List<Integer> sequenceIds, Container c, User u, String name, String assemblyId, String description, boolean skipCacheIndexes, boolean skipTriggers, Set<GenomeTrigger> extraTriggers) throws IOException;
9598
}

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AbstractAlignmentStepProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
* Date: 6/14/2014
2929
* Time: 2:44 PM
3030
*/
31-
abstract public class AbstractAlignmentStepProvider<StepType extends AlignmentStep> extends AbstractPipelineStepProvider<StepType>
31+
abstract public class AbstractAlignmentStepProvider<StepType extends AlignmentStep> extends AbstractPipelineStepProvider<StepType> implements AlignmentStepProvider
3232
{
3333
public static String ALIGNMENT_MODE_PARAM = "alignmentMode";
3434
public static String SUPPORT_MERGED_UNALIGNED = "supportsMergeUnaligned";

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/AlignmentStep.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ default boolean supportsMetrics()
6363

6464
public boolean supportsGzipFastqs();
6565

66+
@Override
67+
AlignmentStepProvider getProvider();
68+
6669
default String getAlignmentDescription()
6770
{
6871
return "Aligner: " + getProvider().getName();
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package org.labkey.api.sequenceanalysis.pipeline;
2+
3+
public interface AlignmentStepProvider extends PipelineStepProvider
4+
{
5+
default boolean shouldRunIdxstats()
6+
{
7+
return true;
8+
}
9+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package org.labkey.api.sequenceanalysis.run;
2+
3+
import org.labkey.api.sequenceanalysis.pipeline.AlignmentStepProvider;
4+
import org.labkey.api.sequenceanalysis.pipeline.PipelineContext;
5+
6+
abstract public class AbstractAlignmentPipelineStep<Wrapper extends CommandWrapper> extends AbstractCommandPipelineStep<Wrapper>
7+
{
8+
private AlignmentStepProvider _provider;
9+
10+
public AbstractAlignmentPipelineStep(AlignmentStepProvider provider, PipelineContext ctx, Wrapper wrapper)
11+
{
12+
super(provider, ctx, wrapper);
13+
_provider = provider;
14+
}
15+
16+
@Override
17+
public AlignmentStepProvider getProvider()
18+
{
19+
return _provider;
20+
}
21+
}

SequenceAnalysis/resources/external/scRNAseq/seuratWrapper.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ if [ ! -z $SEQUENCEANALYSIS_MAX_RAM ];then
1919
fi
2020

2121
if [ ! -z SEQUENCEANALYSIS_MAX_THREADS ];then
22-
ENV_OPTS=${ENV_OPTS}" -e SEQUENCEANALYSIS_MAX_THREADS"
22+
ENV_OPTS=${ENV_OPTS}" -e SEQUENCEANALYSIS_MAX_THREADS="${SEQUENCEANALYSIS_MAX_THREADS}
2323
fi
2424

2525
sudo $DOCKER pull bimberlab/oosap

SequenceAnalysis/resources/views/variantProcessing.view.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@
99

1010

1111
<dependency path="SequenceAnalysis/window/SaveAnalysisAsTemplateWindow.js"/>
12+
<dependency path="ux/ItemSelector/MultiSelect.js"/>
1213
</dependencies>
1314
</view>

SequenceAnalysis/resources/web/SequenceAnalysis/panel/VariantProcessingPanel.js

Lines changed: 112 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,95 @@ Ext4.define('SequenceAnalysis.panel.VariantProcessingPanel', {
228228
}]
229229
}];
230230

231+
var ddGroup = Ext4.id() + '-dd';
232+
results.variantMerging = [{
233+
description: 'This will run GATK\'s CombineVariants on the set of VCF files',
234+
label: 'Merge Variants',
235+
name: 'CombineVCFs',
236+
parameters: [{
237+
fieldXtype: 'checkbox',
238+
name: 'doCombine',
239+
label: 'Combine VCFs Prior To Processing',
240+
description: 'If checked, the VCFs will be merged into a single VCF before processing.',
241+
defaultValue: false,
242+
additionalExtConfig: {
243+
listeners: {
244+
change: function (field, val) {
245+
val = !!val;
246+
247+
var field1 = field.up('panel').down('textfield');
248+
var field2 = field.up('panel').down('multiselect');
249+
var field3 = field.up('panel').down('hidden');
250+
251+
field1.isToolParam = val;
252+
field1.allowBlank = !val;
253+
254+
field2.isToolParam = val;
255+
field3.isToolParam = val;
256+
257+
field1.setVisible(val);
258+
field2.setVisible(val);
259+
}
260+
}
261+
}
262+
},{
263+
fieldXtype: 'textfield',
264+
name: 'fileBaseName',
265+
label: 'Filename',
266+
description: 'This is the basename that will be used for the output gzipped VCF',
267+
commandLineParam: false,
268+
additionalExtConfig: {
269+
hidden: true,
270+
isToolParam: false,
271+
width: 500,
272+
allowBlank: true //toggle value based on checkbox
273+
},
274+
defaultValue: null
275+
},{
276+
fieldXtype: 'hidden',
277+
name: 'doSplitJobs',
278+
label: 'Split Jobs',
279+
description: 'If combine is selected, jobs should not be split',
280+
commandLineParam: false,
281+
additionalExtConfig: {
282+
hidden: true,
283+
isToolParam: false,
284+
name: 'doSplitJobs', //override the more specific name auto-assigned
285+
getToolParameterValue: function(){
286+
var ret = this.getValue();
287+
288+
return ret ? JSON.parse(ret) : ret;
289+
}
290+
},
291+
defaultValue: false
292+
},{
293+
name: 'priority',
294+
fieldXtype: 'multiselect',
295+
additionalExtConfig: {
296+
hidden: true,
297+
isToolParam: false,
298+
store: this.outputFileStore,
299+
fieldLabel: 'Merge Priority Order',
300+
style: 'padding: 10px;padding-bottom: 30px;',
301+
border: true,
302+
width: 500,
303+
autoScroll: true,
304+
helpPopup: 'This is the priority order in which files will be merged, top being highest priority',
305+
displayField: 'name',
306+
valueField: 'rowid',
307+
multiSelect: false,
308+
dragGroup: ddGroup,
309+
dropGroup: ddGroup,
310+
getToolParameterValue: function(){
311+
var val = this.setupValue(this.store.getRange());
312+
val = val == null ? null : val.join(this.delimiter);
313+
314+
return val;
315+
}
316+
}
317+
}]
318+
}];
319+
231320
var items = [];
232321
if (this.showGenotypeGVCFs){
233322
items.push({
@@ -239,6 +328,18 @@ Ext4.define('SequenceAnalysis.panel.VariantProcessingPanel', {
239328
toolConfig: results
240329
})
241330
}
331+
else {
332+
items.push({
333+
xtype: 'sequenceanalysis-analysissectionpanel',
334+
title: 'Merge VCFs',
335+
stepType: 'variantMerging',
336+
singleTool: false,
337+
toolIdx: 0,
338+
sectionDescription: 'This section allows you to optionally merge the input VCFs prior to processing',
339+
toolConfig: results
340+
})
341+
}
342+
242343
items.push({
243344
xtype: 'sequenceanalysis-analysissectionpanel',
244345
title: 'Variant Preprocessing',
@@ -277,14 +378,20 @@ Ext4.define('SequenceAnalysis.panel.VariantProcessingPanel', {
277378
}
278379

279380
Ext4.Msg.wait('Submitting...');
381+
var json = {
382+
handlerClass: 'org.labkey.sequenceanalysis.' + (this.showGenotypeGVCFs ? 'analysis.GenotypeGVCFHandler' : 'pipeline.ProcessVariantsHandler'),
383+
outputFileIds: this.outputFileIds,
384+
params: Ext4.encode(values)
385+
}
386+
387+
if (Ext4.isDefined(values.doSplitJobs)) {
388+
console.log('split jobs set');
389+
json.doSplitJobs = !!values.doSplitJobs;
390+
}
280391

281392
LABKEY.Ajax.request({
282393
url: LABKEY.ActionURL.buildURL('sequenceanalysis', 'runSequenceHandler'),
283-
jsonData: {
284-
handlerClass: 'org.labkey.sequenceanalysis.' + (this.showGenotypeGVCFs ? 'analysis.GenotypeGVCFHandler' : 'pipeline.ProcessVariantsHandler'),
285-
outputFileIds: this.outputFileIds,
286-
params: Ext4.encode(values)
287-
},
394+
jsonData: json,
288395
scope: this,
289396
success: function(){
290397
Ext4.Msg.hide();

SequenceAnalysis/resources/web/SequenceAnalysis/sequenceanalysisButtons.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ SequenceAnalysis.Buttons = new function(){
321321
dataRegionSelectionKey: 'query',
322322
'.select': checked,
323323
returnURL: window.location.pathname + window.location.search
324-
}, 'GET');
324+
});
325325
},
326326

327327
goToAction: function(href, params, method){

0 commit comments

Comments
 (0)