Massively rework eland file finding and indexing.
authorDiane Trout <diane@caltech.edu>
Thu, 5 Jul 2012 17:33:46 +0000 (10:33 -0700)
committerDiane Trout <diane@caltech.edu>
Thu, 5 Jul 2012 17:33:46 +0000 (10:33 -0700)
commitd4fbf453f2e06a033f8ac1c503585e70124ee69b
tree82af44a866865d678e1fd2f5eb95293e823e1a26
parent34784903fdf4620ccdb3478e00431a5b5f41f40b
Massively rework eland file finding and indexing.
Instead of looking in known locations for specific file names
in priority order, this now scans the gerald tree looking for
any potential eland files.

The eland container class has been changed to be a MutableMapping and
the found files are added. The class internally tracks the priority of
the different file types and will drop any lower files when a higher
priority file shows up.

In addition the key for finding files is now a "SampleKey" class
which supports tracking sample name, lane and read. The SampleKey
also has a fuzzy matching feature that uses "None" as a wildcard.

So you can search for all the samples for a particular end with
something like "SampleKey(read=1)". Needless to say this change
required updating a lot of code that was assuming the nested
list/dictionary structure from before that was tracking read/lane.
16 files changed:
htsworkflow/pipelines/eland.py
htsworkflow/pipelines/gerald.py
htsworkflow/pipelines/runfolder.py
htsworkflow/pipelines/samplekey.py [new file with mode: 0644]
htsworkflow/pipelines/test/test_eland.py
htsworkflow/pipelines/test/test_run_xml.py
htsworkflow/pipelines/test/test_runfolder026.py
htsworkflow/pipelines/test/test_runfolder030.py
htsworkflow/pipelines/test/test_runfolder110.py
htsworkflow/pipelines/test/test_runfolder_casava_1_7.py
htsworkflow/pipelines/test/test_runfolder_ipar100.py
htsworkflow/pipelines/test/test_runfolder_ipar130.py
htsworkflow/pipelines/test/test_runfolder_pair.py
htsworkflow/pipelines/test/test_runfolder_rta1_12.py
htsworkflow/pipelines/test/test_samplekey.py [new file with mode: 0644]
htsworkflow/pipelines/test/testdata/1_12/aligned_config_1_12.xml