Hi Mark, it seems that one dataset in the library (probably /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Getting_started/NBARC/NB_domains.tabular ) is in 'error' state, so BioBlend, as a precaution, refuses to download it, even if it is possible to download it in Galaxy. Hope that helps, Nicola On 08/10/15 15:48, mark fernandes (IFR) wrote:
Hi, I'm hoping that the list can help me out. I'm trying to write some tools to capture elements to ease migration from a course development server to a training server. I'm using the Bioblend API which I am a newbie at using.
In the code for extracting the data files from shared data libraries all is well except for 'Tabular' data (e.g. fasta and txt are OK). The error seems to be at the stage where the program calls the Bioblend .datasets.download_dataset() function. NB The tabular files in question can be downloaded fine from the server on the appropriate Galaxy page. (My code is at the end of this message - Please forgive the quality of my Python code).
If a tabular data file is present then I get the following output & errors from my program:- Root path: /usr/users/fr009/fernande/gal_exports/data Library: Intro Galaxy Training No. of items in library 11
/usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Getting_started/NBARC/BM361007.fasta << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Getting_started/NBARC/NB_domains.tabular <<
DatasetStateException Traceback (most recent call last) <ipython-input-36-8f38351db9f4> in <module>() 52 filepath = os.path.join(rootpathplus,fname.strip("/")) 53 print '>>',filepath,'<<' ---> 54 gi.datasets.download_dataset(items['id'],filepath,False)
/usr/local/lib/python2.7/dist-packages/bioblend/galaxy/datasets/__init__.pyc in download_dataset(self, dataset_id, file_path, use_default_filename, wait_for_completion, maxwait) 81 dataset = self.show_dataset(dataset_id) 82 if not dataset['state'] == 'ok': ---> 83 raise DatasetStateException("Dataset not ready. Dataset id: %s, current state: %s" % (dataset_id, dataset['state'])) 84 85 # Galaxy release_13.01 and earlier does not have file_ext in the dataset
DatasetStateException: u'Dataset not ready. Dataset id: 1cd8e2f6b131e891, current state: error'
Also note that : g_vers = gi.config.get_config() g_vers['version_major']
Outputs]: u'15.03'
Any help/elucidation gratefully received (I'm on a learning curve here) :-)
Thanks in anticipation. Mark Fernandes #####Code omitting the template files###### --------------------------------------------------------- import bioblend.galaxy import os # Ipython Notebook version - MAF Oct 2015 # Server specific bit. in Real code get this from environ & args (argv) server = 'http://N85460.nbi.ac.uk:8080/' api_key = 'secret_squirrel'
rootpath = os.path.join(os.environ['HOME'],'gal_exports/data') print 'Root path: ',rootpath
#connect to galaxy server instance gi = bioblend.galaxy.GalaxyInstance(url=server, key=api_key)
#fetch names info about data libraries dl = gi.libraries.get_libraries()
# for each library, get the folder names for each set & create the sub-dirs if they do not exist for libs in dl: print 'Library: ', libs['name'] rootpathplus = os.path.join(rootpath,libs['name'])
# Code to check directory pre-esistence and create it if it doesn't # Move this out to a support module in finished code.... try: os.makedirs(rootpathplus, 0755) except OSError: if not os.path.isdir(rootpathplus): raise
# for each library, get the folder names for each set & create the sub-dirs if they do not exist fold = gi.libraries.get_folders(libs['id']) print 'No. of items in library',len(fold)
if len(fold) > 1: for items in fold: dirpath = os.path.join(rootpathplus,os.path.normpath(items['name'].strip("/"))) try: os.makedirs(dirpath, 0755) except OSError: if not os.path.isdir(dirpath): raise # # for each folder create the sub-dir off of user rootdir cl = gi.libraries.show_library(libs['id'],True) for items in cl: if items['type']=='file': fname = os.path.normpath(items['name']) file_ext = os.path.splitext(fname)[1] # check for tabular data file and omit to avoid error message if file_ext != '.tabular': # Swap above if with this one to let the bad stuff happen... # if file_ext != '.untrapped': filepath = os.path.join(rootpathplus,fname.strip("/")) print '>>',filepath,'<<' gi.datasets.download_dataset(items['id'],filepath,False)
Root path: /usr/users/fr009/fernande/gal_exports/data Library: Intro Galaxy Training No. of items in library 11
/usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Getting_started/NBARC/BM361007.fasta << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Getting_started/Pinfestans/PinfestansAVH9.fasta << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Getting_started/Pinfestans/PinfestansAVRblb1.fasta << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Getting_started/Pinfestans/PinfestansAVRblb2.fasta << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Getting_started/Test.fasta << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Interval_operations/SNPsDensity/UCSC_Human_chr22_SNPs.txt << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Interval_operations/SNPsDensity/UCSC_Human_refGene_chr22_Exons.txt << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Interval_operations/TAF1/TAF1_ChIP << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Interval_operations/TAF1/TAF1_ChIP_chr11 << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Interval_operations/TAF1/UCSC_Human_RefGene_chr11_Promoters << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/Interval_operations/TAF1/UCSC_Human_refGene_chr11 << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/data_visualisation/www.compsysbio.org_bacteriome_dataset_functional_interactions.txt << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/loading_data/Local_data/truseq_exome_targeted_regions.hg19.bed.chr22.bed << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/loading_data/BioMart_Homo_sapiens_genes_GRCh37p13_chr22.txt << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/loading_data/TAF1_ChIP.txt << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/loading_data/UCSC_Human_refGene_chr22_Exons.txt << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/loading_data/illumina_truseq_exome_targeted_regions_hg19_chr22.txt << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/workflows/UCSC_Human_chrX_SNPs.txt << /usr/users/fr009/fernande/gal_exports/data/Intro Galaxy Training/workflows/UCSC_Human_refGene_chrX_Exons.txt << Library: New data library No. of items in library 1
T: +44 (0)1603 255000 Institute of Food Research, Norwich Research Park, Norwich, NR4 7UA, UK
www.ifr.ac.uk Facebook | Twitter | LinkedIn | YouTube
The Institute of Food Research receives strategic funding from BBSRC ___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: https://lists.galaxyproject.org/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/