joergen7 / cuneiform

Cuneiform distributed programming language

Home Page:https://cuneiform-lang.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Early enumeration does not work correctly

joergen7 opened this issue · comments

The following workflow reproduces the bug:

deftask compareToCTRL( somaticVCF( File ) : <tumorParts( File )> ctrlBam( File ) )in bash *{
  echo "starting task compareToCTRL" >> /tmp/cflog.txt
  sleep 20
  echo "terminating compareToCTRL" >> /tmp/cflog.txt
  somaticVCF=somaticVCF
  touch $somaticVCF
}*





% Alignment with bwa-mem
deftask bwa-mem( bamout( File ) : fastq( File ) ) in bash *{
  echo "starting task bwa-mem( fastq: \"$fastq\" )" >> /tmp/cflog.txt
  sleep 9
  sleep `echo $RANDOM % 10 | bc`
  echo "terminating bwa-mem( fastq: \"$fastq\" )" >> /tmp/cflog.txt
  bamout=bamout
  touch $bamout
}*


deftask getVariants( somaticVCF( File ) : tumor( File ) ctrlBam( File ) ) {

  tumorBam   = bwa-mem( fastq: tumor );

  somaticVCF = compareToCTRL(
                 tumorParts: tumorBam,
                 ctrlBam:    ctrlBam );


}

tumorFQs = "data/CH_JK_001/CH_JK_001_R1_001.fastq.gz";
healthyFQs = "data/CH_JK_029/CH_JK_029_R1_001.fastq.gz";


ctrlBams = bwa-mem( fastq: healthyFQs );

somaticVCF = getVariants(
  tumor:   tumorFQs,
  ctrlBam: ctrlBams );

somaticVCF;

Producing the following expression, which should be further reduced but isn't:

[{app,42,1,
      {lam,25,"getVariants",
           {sign,[{param,{name,"somaticVCF",true},false}],
                 [{param,{name,"tumor",true},false},
                  {param,{name,"ctrlBam",true},true}]},
           {natbody,#{"somaticVCF" => [{app,29,1,
                            {var,29,"compareToCTRL"},
                            #{"ctrlBam" => [{var,31,"ctrlBam"}],
                              "tumorParts" => [{var,30,"tumorBam"}]}}],
                      "tumorBam" => [{app,27,1,
                            {var,27,"bwa-mem"},
                            #{"fastq" => [{var,27,"tumor"}]}}]}}},
      #{"ctrlBam" => [{select,40,1,{fut,"bwa-mem",1,[{param,{name,"bamout",true},false}]}}],
        "tumor" => [{str,"data/CH_JK_001/CH_JK_001_R1_001.fastq.gz"}]}}]

Solved, test added.