From c373422471a5a5e4c38db580fbc4a7519dedc35b Mon Sep 17 00:00:00 2001 From: Ben Soares Date: Tue, 2 May 2023 18:22:47 +0100 Subject: [PATCH] JAL-629 Changed --newframe and --allframes to --new and --all. More consistent --new and --open defaultLinkedId behaviour. --- examples/test_fab41.result/sample.html | 62 -------------------- src/jalview/bin/Commands.java | 28 +++++++++ src/jalview/bin/argparser/Arg.java | 11 ++-- src/jalview/bin/argparser/ArgParser.java | 27 ++++----- test/jalview/bin/CommandsTest.java | 10 +++- test/jalview/bin/argparser/ArgParserTest.java | 32 +++++----- .../bin/argparser/testfiles/dir1/argfile.txt | 2 +- .../bin/argparser/testfiles/dir2/argfile.txt | 2 +- .../argparser/testfiles/dir3/subdir/subdirfile.txt | 2 +- 9 files changed, 74 insertions(+), 102 deletions(-) delete mode 100644 examples/test_fab41.result/sample.html diff --git a/examples/test_fab41.result/sample.html b/examples/test_fab41.result/sample.html deleted file mode 100644 index 85c9587..0000000 --- a/examples/test_fab41.result/sample.html +++ /dev/null @@ -1,62 +0,0 @@ - - -
-
- - - - -101/1-59UPI000695F0FD/1-68SRR5512138_1377460/1-69SRR5579871_5171350/1-69MGYP000923236236/1-794468|scaffold_1473490_c1_1|-89|00/1-69SRR6185503_13177952/1-68SRR6185436_16110281/1-68SRR5258706_5983935/1-68SRR5258708_19012803/1-68SRR5207247_4366399/1-69SRR5215212_2981939/1-68SRR3954452_24621378/1-71SRR5438045_3761950/1-70SRR5258707_1096459/1-72SRR5438270_3928578/1-85ConservationQualityConsensusOccupancy101 Alphafold ReliabilitySecondary StructurePAE MatrixTemperature FactorSecondary StructurePAE MatrixTemperature FactorSecondary StructurePAE MatrixTemperature FactorSecondary StructurePAE MatrixTemperature FactorSecondary StructurePAE Matrix -
- - - -
- - - -102030405060708090100110120130140150160170180190200210220230240250260270280290300310320330340350360370P-I---A--Q--I-----H-----I--------L-------E--------G-------R-------S----D-------E-------Q-----K----E-T--LI----RE---V-S-E---A---I------S-------R---S-------L--------D----A-----P------L-----------------------------T------S-------V-------R------V---I----I-------T------E-----M--------A----K---------G------H----------F----------G--------I----------G--------G------E--------L----A---SKP-Hye-V--S--V-----T-----M--------P-------T--------G-------Wl------N----T-------V-------R-----K----Q-G--MI----DA---V-T-R---A---L------L-------E---A-------I--------A----T-----P------F-----------------------------D------Essrfr--V-------R------C---L----I-------P------E-----I--------P----D---------G------N----------W----------G--------S----------G--------Gya----L--------P----L---S-P-H---V--A--V-----K-----L--------Y-------P--------G-------R-------T----E-------Q-------Q-----K----E-Q--LA----RA---I-A-D---D---V------M-------R---I-------L--------G----S-----S------E-----------------------------A------S-------V-------S------V---S----I-------E------E-----V--------D----A---------A------D----------W----------A--------EkvyrplivegG--------G------T--------L----Y---KKP-H---V--I--V-----K-----L--------W-------P--------G-------R-------S----E-------P-------Q-----K----Q-K--LV----ES---V-T-K---A---V------T-------T---S-------L--------G----Y-----S------D-----------------------------E------A-------V-------S------V---S----L-------Q------E-----V--------P----S---------D------Q----------WtekvyrpdilG--------T----------A--------G------R--------L----Y---KKP-I---V--R--I-----T-----M--------F-------E--------G-------R-------T----K-------E-------Q-----K----Q-E--LA----RV---I-T-E---A---V------V-------N---I-------A--------K----T-----T------P-----------------------------D------A-------T-------E------VkdqI----L-------Q------K-----VllvrslrlP----PppasrrqvsG------A----------W----------S--------A----------D--------G------K--------P----T---SEP-H---V--I--V-----K-----L--------W-------P--------G-------K-------S----E-------R-------E-----E----T-Q--LA----EA---I-T-K---S---V------T-------E---T-------L--------N----F-----G------P-----------------------------E------S-------V-------S------V---A----F-------E------E-----I--------P----A---------K------D----------W----------AskvyhadiI----------Gne------G------K--------L----Y---KKP-L---V--R--I-----T-----Y--------P-------R--------Ga------L-------S----P-------E-------H-----K----T-R--IA----RA---L-T-E---I---V------L-------D---Vevdaa--T--------D----A-----G------R-----------------------------M------V-------T-------V------V---H----F-------N------E-----A--------A----P---------D------D----------W----------A--------V----------G--------G------Eirs-----T----A---AEP-L---V--R--I-----T-----Y--------P-------R--------Ga------L-------S----P-------D-------H-----K----R-R--IA----RE---L-T-E---I---V------L-------D---Vevdaa--T--------D----A-----G------R-----------------------------M------V-------T-------V------I---H----F-------N------E-----A--------A----A---------D------D----------W----------A--------V----------G--------G------Eirs-----T----A---AEP-R---Y--R--Vip---T-----V--------P-------E--------G-------Qy------S----N-------E-------S-----R----K-A--LV----KD---V-T-E---A---V------V-------R---A-------D--------G----G-----K------Y-----------------------------E------Dvapr---V-------W------V---F----P-------T------E-----I--------P----D---------G------Q----------W----------G--------S----------R--------Gvi----R--------P----L---PEP-R---Y--R--Iip---T-----V--------P-------E--------G-------Qy------S----N-------E-------S-----R----K-A--LV----KD---V-T-E---A---V------V-------R---A-------D--------G----G-----K------Y-----------------------------E------Dvapr---V-------W------V---F----P-------T------E-----I--------P----D---------G------Q----------W----------G--------S----------R--------Gvi----R--------P----L---PEP-V---I--E--M-----F-----V--------P-------E--------G-------La------D----A-------E-------A-----K----R-A--LH----DR---V-S-R---Q---V------L-------E---V-------E--------G----AtydesP------L-----------------------------A------Qsi-----T-------W------M---L----I-------Q------E-----V--------L----E---------C------G----------W----------S--------V----------G--------S------K--------Avw--A---SEP-I---I--E--M-----H-----V--------Q-------E--------Gv------L-------D----E-------E-------T-----K----R-T--LH----ER---V-G-R---Q---V------L-------E---I-------E--------G----Any---D------E-----------------------------N------D-------Varllt--F------M---F----I-------R------E-----H--------P----E---------G------G----------F----------S--------I----------G--------G------E--------M----It--SEP-Lyr-V--D--V-----T-----V--------P-------E--------Gsmihg--Q-------G----Pwal----S-------R-----R----R-A--IV----RE---V-T-E---I---V------L-------E---A-------E--------G----S-----D------P-----------------------------Slgeaw-R-------V-------W------V---V----L-------R------E-----V--------G----D---------A------F----------W----------G--------A----------A--------G------E--------L----------P-Lyr-V--Q--I-----T-----V--------P-------E--------Gsmlhg--Q-------G----Pwai----E-------R-----R----R-E--LV----RA---V-S-K---A---V------L-------D---A-------E--------G----Teyn--P------A-----------------------------Saw----R-------V-------W------V---L----M-------S------E-----I--------S----E---------T------H----------W----------G--------A----------A--------G------E-------------------P-L---V--E--M-----S-----F--------P-------V--------Gv------L-------T----L-------D-------Q-----K----A-A--MI----KS---V-T-D---V---V------R-------G---A-------M--------K----L-----P------P-----------------------------Dpar---K-------L-------F------V---E----I-------F------E-----T--------P----G---------G------G----------F----------G--------Vtakvvvvp--G--------Gky----R--------P----A---P-P-L---V--E--I-----D-----L--------L-------E--------A-------W-------A----P-------D-------Q-----I----D-A--IA----DA---I-H-E---A---M------V-------E---T-------L--------G----V-----P------EraagrdsatkqhfysrfaallaeratvqsA------D-------L-------T------A---V----L-------V------E-----N--------S----R---------D------D----------W----------S--------F----------Gm-------G------Q-------------------*-3---5--2--8-----2-----6--------4-------2--------+-------4-------5----1-------1-------2-----4----3-3--93----62---9-3-6---3---8------3-------3---5-------3--------3----4-----2------0-----------------------------4------2-------7-------1------7---1----5-------0------7-----2--------2----2---------3------2----------9----------8--------2----------3--------8------3--------0----1---0- P-LYR-V--R--IIP---T-----V--------P-------E--------G+M+HG--LY------S----PWA+----E-------Q-----K----R-A--LA----RA---V-T-E---A---V------L-------E---AEVDAA--L--------G----A+Y+ESP------PRAAGRDSATKQHFYSRFAALLAERATVQSE+++AW-D+APRR--VARLLT--W------VKDQ+----I-------+------E-----+LLVRSLRLP----DPPASRRQVSG------D----------WTEKVYRPDILGSKVYHADIV++++++++EGG+E------GVI----EIRS-----+VW--AT--SE -
- - - - \ No newline at end of file diff --git a/src/jalview/bin/Commands.java b/src/jalview/bin/Commands.java index 90eb45c..d1929f9 100644 --- a/src/jalview/bin/Commands.java +++ b/src/jalview/bin/Commands.java @@ -90,7 +90,10 @@ public class Commands ArgValuesMap avm = argParser.getLinkedArgs(id); theseArgsWereParsed = true; theseArgsWereParsed &= processLinked(id); + boolean processLinkedOkay = theseArgsWereParsed; theseArgsWereParsed &= processImages(id); + if (processLinkedOkay) + theseArgsWereParsed &= processOutput(id); // close ap if (avm.getBoolean(Arg.CLOSE)) @@ -646,6 +649,31 @@ public class Commands return true; } + protected boolean processOutput(String id) + { + ArgValuesMap avm = argParser.getLinkedArgs(id); + AlignFrame af = afMap.get(id); + + if (af == null) + { + Console.warn("Did not have an alignment window for id=" + id); + return false; + } + + if (avm.containsArg(Arg.OUTPUT)) + { + for (ArgValue av : avm.getArgValueList(Arg.OUTPUT)) + { + String val = av.getValue(); + SubVals subVal = av.getSubVals(); + String type = null; // default + String fileName = subVal.getContent(); + File file = new File(fileName); + } + } + return true; + } + private SequenceI getSpecifiedSequence(AlignFrame af, SubVals subId) { if (subId == null) diff --git a/src/jalview/bin/argparser/Arg.java b/src/jalview/bin/argparser/Arg.java index ca6cc77..a5c344d 100644 --- a/src/jalview/bin/argparser/Arg.java +++ b/src/jalview/bin/argparser/Arg.java @@ -14,9 +14,9 @@ public enum Arg SORTBYTREE, USAGESTATS, APPEND, OPEN, PROPS, QUESTIONNAIRE, SETPROP, TREE, VDOC, VSESS, OUTPUT, SSANNOTATIONS, NOTEMPFAC, TEMPFAC, TITLE, PAEMATRIX, WRAP, NOSTRUCTURE, STRUCTURE, STRUCTUREVIEWER, IMAGE, TYPE, RENDERER, - QUIT, CLOSE, DEBUG("d"), QUIET("q"), ARGFILE, NEWFRAME, NPP("n++"), + QUIT, CLOSE, DEBUG("d"), QUIET("q"), ARGFILE, NEW, NPP("n++"), SUBSTITUTIONS, INITSUBSTITUTIONS, NIL, SPLASH, SETARGFILE, UNSETARGFILE, - WEBSERVICEDISCOVERY, ALLFRAMES; + WEBSERVICEDISCOVERY, ALL; protected static enum Opt { @@ -58,7 +58,7 @@ public enum Arg // linkedId is used, the defaultLinkedIdCounter is // incremented *first*. INPUT, // This Arg counts as an input for REQUIREINPUT - REQUIREINPUT, // This Arg can only be applied via --allframes if there is an + REQUIREINPUT, // This Arg can only be applied via --all if there is an // input (i.e. --open or --append) } @@ -122,7 +122,8 @@ public enum Arg QUIET.setOptions(Opt.UNARY, Opt.MULTI, Opt.BOOTSTRAP); ARGFILE.setOptions(Opt.STRING, Opt.MULTI, Opt.BOOTSTRAP, Opt.GLOB, Opt.ALLOWSUBSTITUTIONS); - NEWFRAME.setOptions(Opt.UNARY, Opt.MULTI, Opt.NOACTION); + NEW.setOptions(Opt.UNARY, Opt.MULTI, Opt.NOACTION, + Opt.INCREMENTDEFAULTCOUNTER); NPP.setOptions(Opt.UNARY, Opt.MULTI, Opt.NOACTION); SUBSTITUTIONS.setOptions(Opt.BOOLEAN, Opt.MULTI, Opt.NOACTION); INITSUBSTITUTIONS.setOptions(Opt.BOOLEAN, Opt.BOOTSTRAP, Opt.NOACTION); @@ -130,7 +131,7 @@ public enum Arg SETARGFILE.setOptions(Opt.STRING, Opt.MULTI, Opt.PRIVATE, Opt.NOACTION); UNSETARGFILE.setOptions(Opt.MULTI, Opt.PRIVATE, Opt.NOACTION); WEBSERVICEDISCOVERY.setOptions(Opt.BOOLEAN, Opt.BOOTSTRAP); - ALLFRAMES.setOptions(Opt.BOOLEAN, Opt.MULTI, Opt.NOACTION); + ALL.setOptions(Opt.BOOLEAN, Opt.MULTI, Opt.NOACTION); } diff --git a/src/jalview/bin/argparser/ArgParser.java b/src/jalview/bin/argparser/ArgParser.java index f1781fc..42868ae 100644 --- a/src/jalview/bin/argparser/ArgParser.java +++ b/src/jalview/bin/argparser/ArgParser.java @@ -98,8 +98,9 @@ public class ArgParser private static final String ARGFILEDIRNAME = "{argfiledirname}"; // flag to say whether {n} subtitutions in output filenames should be made. - // Turn on and off with --subs and --nosubs - private boolean substitutions = false; + // Turn on and off with --substitutions and --nosubstitutions + // Start with it on + private boolean substitutions = true; // flag to say whether the default linkedId is the current default linked id // or ALL linkedIds @@ -346,11 +347,7 @@ public class ArgParser // make NOACTION adjustments // default and auto counter increments - if (a == Arg.NEWFRAME) - { - defaultLinkedIdCounter++; - } - else if (a == Arg.NPP) + if (a == Arg.NPP) { linkedIdAutoCounter++; } @@ -366,11 +363,18 @@ public class ArgParser { argFile = null; } - else if (a == Arg.ALLFRAMES) + else if (a == Arg.ALL) { allLinkedIds = !negated; } + // this is probably only Arg.NEW and Arg.OPEN + if (a.hasOption(Opt.INCREMENTDEFAULTCOUNTER)) + { + // use the next default prefixed OPENLINKEDID + defaultLinkedId(true); + } + String autoCounterString = null; boolean usingAutoCounterLinkedId = false; String defaultLinkedId = defaultLinkedId(false); @@ -379,11 +383,6 @@ public class ArgParser { if (linkedId == null) { - if (a.hasOption(Opt.INCREMENTDEFAULTCOUNTER)) - { - // use the next default prefixed OPENLINKEDID - defaultLinkedId = defaultLinkedId(true); - } if (allLinkedIds && a.hasOption(Opt.ALLOWALL)) { linkedId = MATCHALLLINKEDIDS; @@ -419,7 +418,7 @@ public class ArgParser } } - // do not continue for NOACTION args + // do not continue in this block for NOACTION args if (a.hasOption(Opt.NOACTION)) continue; diff --git a/test/jalview/bin/CommandsTest.java b/test/jalview/bin/CommandsTest.java index 57c4d0d..28fef8f 100644 --- a/test/jalview/bin/CommandsTest.java +++ b/test/jalview/bin/CommandsTest.java @@ -142,6 +142,7 @@ public class CommandsTest public Object[][] argfileOutputFiles() { return new Object[][] { + // { "--argfile=" + testfiles + "/**/*.txt", new String[] { testfiles + "/dir1/test1.png", testfiles + "/dir2/test1.png", testfiles + "/dir3/subdir/test0.png" } }, @@ -156,7 +157,10 @@ public class CommandsTest { "--append examples/uniref50.fa --image " + testfiles + "/{basename}.png", new String[] - { testfiles + "/{basename}.png" } } }; + { testfiles + "/{basename}.png" } } + // + }; + } @DataProvider(name = "cmdLines") @@ -241,13 +245,13 @@ public class CommandsTest return new Object[][] { // /* - { "--open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --allframes --output={dirname}/{basename}.stk --close", + { "--open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --all --output={dirname}/{basename}.stk --close", Arg.OUTPUT, new String[] { "test/jalview/bin/argparser/testfiles/test1.stk", "test/jalview/bin/argparser/testfiles/test2.stk", "test/jalview/bin/argparser/testfiles/test3.stk", } }, */ - { "--open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --allframes --image={dirname}/{basename}.png --close", + { "--open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --all --image={dirname}/{basename}.png --close", Arg.IMAGE, new String[] { "test/jalview/bin/argparser/testfiles/test1.png", "test/jalview/bin/argparser/testfiles/test2.png", diff --git a/test/jalview/bin/argparser/ArgParserTest.java b/test/jalview/bin/argparser/ArgParserTest.java index 314b0f0..17f19b7 100644 --- a/test/jalview/bin/argparser/ArgParserTest.java +++ b/test/jalview/bin/argparser/ArgParserTest.java @@ -72,7 +72,7 @@ public class ArgParserTest public void parseAutoIndexAndSubstitutionsTest(String commandLineArgs, String linkedId, Arg a, String filename) { - // { "--append=filename0 --newframe --append=filename1", "JALVIEW:1", + // { "--append=filename0 --new --append=filename1", "JALVIEW:1", // Arg.OPEN, "filename1" }, String[] args = commandLineArgs.split("\\s+"); ArgParser argparser = new ArgParser(args); @@ -210,12 +210,12 @@ public class ArgParserTest */ { "--append=filename0 --append=filename1", "JALVIEW:0", Arg.APPEND, "filename0" }, - { "--append=filename0 --newframe --append=filename1", "JALVIEW:1", + { "--append=filename0 --new --append=filename1", "JALVIEW:1", Arg.APPEND, "filename1" }, - { "--append=filename0 --newframe --newframe --append=filename2", - "JALVIEW:0", Arg.APPEND, "filename0" }, - { "--append=filename0 --newframe --newframe --append=filename2", - "JALVIEW:2", Arg.APPEND, "filename2" }, + { "--append=filename0 --new --new --append=filename2", "JALVIEW:0", + Arg.APPEND, "filename0" }, + { "--append=filename0 --new --new --append=filename2", "JALVIEW:2", + Arg.APPEND, "filename2" }, { "--append[linkA-{n}]=filenameA0 --append[linkA-{++n}]=filenameA1", "linkA-0", Arg.APPEND, "filenameA0" }, { "--append[linkB-{n}]=filenameB0 --append[linkB-{++n}]=filenameB1", @@ -232,14 +232,14 @@ public class ArgParserTest "linkG-1", Arg.IMAGE, "outputG{n}.txt" }, { "--append[linkH-{n}]=filenameH0 --substitutions --image[linkH-{n}]=output-H{n}.txt --nil[{++n}] --nosubstitutions --image[linkH-{n}]=outputH{n}.txt", "linkH-0", Arg.IMAGE, "output-H0.txt" }, - { "--open=filename0 --append=filename1", "JALVIEW:1", Arg.OPEN, + { "--open=filename0 --append=filename1", "JALVIEW:0", Arg.OPEN, "filename0" }, - { "--open=filename0 --newframe --append=filename1", "JALVIEW:2", + { "--open=filename0 --new --append=filename1", "JALVIEW:1", Arg.APPEND, "filename1" }, - { "--open=filename0 --newframe --newframe --append=filename2", - "JALVIEW:1", Arg.OPEN, "filename0" }, - { "--open=filename0 --newframe --newframe --append=filename2", - "JALVIEW:3", Arg.APPEND, "filename2" }, + { "--open=filename0 --new --new --append=filename2", "JALVIEW:0", + Arg.OPEN, "filename0" }, + { "--open=filename0 --new --new --append=filename2", "JALVIEW:2", + Arg.APPEND, "filename2" }, { "--open[linkA-{n}]=filenameA0 --append[linkA-{++n}]=filenameA1", "linkA-0", Arg.OPEN, "filenameA0" }, { "--open[linkB-{n}]=filenameB0 --append[linkB-{++n}]=filenameB1", @@ -256,6 +256,8 @@ public class ArgParserTest "linkG-1", Arg.IMAGE, "outputG{n}.txt" }, { "--open[linkH-{n}]=filenameH0 --substitutions --image[linkH-{n}]=output-H{n}.txt --nil[{++n}] --nosubstitutions --image[linkH-{n}]=outputH{n}.txt", "linkH-0", Arg.IMAGE, "output-H0.txt" }, + /* + */ // }; @@ -312,16 +314,16 @@ public class ArgParserTest // /* */ - { "--open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --allframes --image={dirname}/{basename}.png --close", + { "--open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --all --image={dirname}/{basename}.png --close", Arg.CLOSE, new String[] { null, null, null } }, - { "--open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --allframes --output={dirname}/{basename}.stk --close", + { "--open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --all --output={dirname}/{basename}.stk --close", Arg.OUTPUT, new String[] { "test/jalview/bin/argparser/testfiles/test1.stk", "test/jalview/bin/argparser/testfiles/test2.stk", "test/jalview/bin/argparser/testfiles/test3.stk", } }, - { "--open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --allframes --image={dirname}/{basename}.png --close", + { "--open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --all --image={dirname}/{basename}.png --close", Arg.IMAGE, new String[] { "test/jalview/bin/argparser/testfiles/test1.png", "test/jalview/bin/argparser/testfiles/test2.png", diff --git a/test/jalview/bin/argparser/testfiles/dir1/argfile.txt b/test/jalview/bin/argparser/testfiles/dir1/argfile.txt index ec838ad..0e9ae50 100644 --- a/test/jalview/bin/argparser/testfiles/dir1/argfile.txt +++ b/test/jalview/bin/argparser/testfiles/dir1/argfile.txt @@ -1,5 +1,5 @@ --substitutions ---newframe +--new --append={argfiledirname}/*.fa --colour=gecos-flower --image={argfiledirname}/{basename}.png diff --git a/test/jalview/bin/argparser/testfiles/dir2/argfile.txt b/test/jalview/bin/argparser/testfiles/dir2/argfile.txt index ec838ad..0e9ae50 100644 --- a/test/jalview/bin/argparser/testfiles/dir2/argfile.txt +++ b/test/jalview/bin/argparser/testfiles/dir2/argfile.txt @@ -1,5 +1,5 @@ --substitutions ---newframe +--new --append={argfiledirname}/*.fa --colour=gecos-flower --image={argfiledirname}/{basename}.png diff --git a/test/jalview/bin/argparser/testfiles/dir3/subdir/subdirfile.txt b/test/jalview/bin/argparser/testfiles/dir3/subdir/subdirfile.txt index ec838ad..0e9ae50 100644 --- a/test/jalview/bin/argparser/testfiles/dir3/subdir/subdirfile.txt +++ b/test/jalview/bin/argparser/testfiles/dir3/subdir/subdirfile.txt @@ -1,5 +1,5 @@ --substitutions ---newframe +--new --append={argfiledirname}/*.fa --colour=gecos-flower --image={argfiledirname}/{basename}.png -- 1.7.10.2