hoffmangroup / genomedata

The Genomedata format for storing large-scale functional genomics data.
https://genomedata.hoffmanlab.org/
GNU General Public License v2.0
2 stars 1 forks source link

load_genomedata: responds poorly to invalid syntax [only a pair, `(name, path)`, instead of a list of pairs] #34

Open EricR86 opened 7 years ago

EricR86 commented 7 years ago

Original report (archived issue) by Coby Viner (Bitbucket: cviner2, GitHub: cviner).


load_genomedata does not fail-fast nor return a clear error message when a single
name-path pair is directly provided to its tracks parameter
(tracks=('5xC.bedGraph', './5xC-sorted.bedGraph.gz')), as opposed to correctly providing a list of pair(s) (tracks=[('5xC.bedGraph', './5xC-sorted.bedGraph.gz')]).

The full erroneous command is provided below:

#!python

load_genomedata.load_genomedata('./testArchive', tracks=('5xC.bedGraph', './5xC-sorted.bedGraph.gz'),
seqfilenames=['/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chrY.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr21.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr5.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr3.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr2.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr6.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr16.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr20.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr15.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr12.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chrM.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr1.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr4.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr9.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr18.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr10.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr22.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr14.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chrX.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr11.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr13.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr19.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr8.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr17.fa',
 '/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/chr7.fa'])

The error produced is provided below:

#!text

Error creating genomedata.
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-14-bf3daaa755eb> in <module>()
----> 1 load_genomedata.load_genomedata('./testArchive', tracks=('5xC.bedGraph', './5xC-sorted.bedGraph.gz'), seqfilenames=glob.glob('/mnt/work1/data/genomes/human/hg19/iGenomes/Sequence/Chromosomes/*.fa'))

/mnt/work1/users/home2/cviner/.local/lib/python2.7/site-packages/genomedata/load_genomedata.pyc in load_genomedata(gdfilename, tracks, seqfilenames, mode, seqfile_type, chunk_size, verbose)
    109                         die("Could not find track file: %s" % track_filename)
    110             except ValueError:
--> 111                 die("Error saving data from tracks: %s" % tracks)
    112 
    113             if verbose:

TypeError: not all arguments converted during string formatting
EricR86 commented 5 years ago

Original comment by Coby Viner (Bitbucket: cviner2, GitHub: cviner).