Commit Graph
88 Commits
Author SHA1 Message Date
Daniel Blankenberg b9e242e4eb Add a new metadata type of Metadata Files.
These are now used to store the list of chromosomes for species as well as the index for MAF files.

MAF tools have been enhanced to make use of index files when available.

TODO: When datasets are purged from disk, these files should also be purged.
2008-10-22 13:49:22 -04:00
Greg Von Kuster 288912ee87 Fixes for data_source tools, data.name, data.info, data.dbkey, and data.extension should now be properly set. Eliminated fastq data type from datatypes_conf.xml.sample since it is not a supported data type. 2008-10-17 10:46:29 -04:00
Greg Von Kuster b3b6c54247 Use only 1 underlying executable ( data_source.py ) for data source tools. A new tag set is added to the data source tool configs to handle tranlsation of request param names sent by remote apps ( something like <param_trans galaxy_name="dbkey" remote_name="GENOME" missing="?" /> ). 2008-10-07 15:21:46 -04:00
Greg Von Kuster c05f66d5ee Treat EpiGRAPH as a data source much like ucsc table browser. 2008-10-06 13:34:51 -04:00
Guruprasad Anada 550da8f952 Modified the way biomart tool runs: output generation will be completed before exec_afer_process hook is called. 2008-09-30 15:30:57 -04:00
Greg Von Kuster b4890c1bbb Integrate with intermine ( data source ) and epigraph ( data destination ). Receiving data from epigraph coming soon. Data is sent to epigraph using a combination of DATA_URL and REDIRECT_URL tool params. This tool creates jobs, but does not queue them for execution. 2008-09-22 10:36:34 -04:00
Greg Von Kuster 8d679d6541 Change C Elegans server URL to wormbase using GBrowse version 1.69. 2008-07-24 13:59:23 -04:00
Daniel Blankenberg 28b89d686f Change database schema to separate Dataset and HistoryDatasetAssociation. This is a significant change, be sure to follow the migration notes exactly.
Make sure to backup your database before updating.


Also fix a long standing bug in the async controller dealing with updating output datasets upon job completion.


Credit for database migration directions go to Greg.

*** This is a significant change, be sure to follow the migration steps below exactly and in order: ***

---------------

0. Stop Galaxy server

---------------

1. Backup database and galaxy_root/database directory

---------------

2. The current validation_error table is not being used, it is left over from Ian's work that was not made functional.  However, if we want to keep it around, we should drop the old version of the table so it will get re-created correctly when the Galaxy server is restarted:

any database - sql command(s):
------------------------------
DROP TABLE validation_error;

---------------

3. Stop server, perform svn update to get latest code, start server to create new history_dataset_association and implicitly_converted_dataset_association tables

---------------

4. Add new columns to dataset table:

postgres sql command(s):
------------------------
ALTER TABLE dataset ADD COLUMN purgable boolean DEFAULT 't';
ALTER TABLE dataset ADD COLUMN external_filename text;
ALTER TABLE dataset ADD COLUMN _extra_files_path text;

mysql sql command(s):
---------------------
ALTER TABLE dataset ADD COLUMN purgable boolean DEFAULT TRUE;
ALTER TABLE dataset ADD COLUMN external_filename text;
ALTER TABLE dataset ADD COLUMN _extra_files_path text;

sqlite sql command(s):
----------------------
ALTER TABLE dataset ADD COLUMN purgable boolean DEFAULT 0;
ALTER TABLE dataset ADD COLUMN external_filename text;
ALTER TABLE dataset ADD COLUMN _extra_files_path text;

---------------

5. Populate new columns:

postgres sql command(s):
------------------------
UPDATE
dataset
SET
external_filename = dataset_filename.filename,
_extra_files_path = dataset_filename.extra_files_path
FROM
dataset_filename
WHERE
dataset.filename_id = dataset_filename.id;

mysql or sqlite sql command(s):
-------------------------------
UPDATE
dataset,
dataset_filename
SET
dataset.external_filename = dataset_filename.filename,
dataset._extra_files_path = dataset_filename.extra_files_path
WHERE
dataset.filename_id = dataset_filename.id;

---------------

6. Populate dataset table with info from dataset_child_association table:

postgres sql command(s):
------------------------
UPDATE
dataset
SET
parent_id = dataset_child_association.parent_dataset_id
FROM
dataset_child_association
WHERE
dataset.id = dataset_child_association.child_dataset_id;

mysql or sqlite sql command(s):
-------------------------------
UPDATE
dataset,
dataset_child_association
SET
dataset.parent_id = dataset_child_association.parent_dataset_id
WHERE
dataset.id = dataset_child_association.child_dataset_id;

---------------

7. Drop dataset_child_association table:

any database - sql command(s):
------------------------------
DROP TABLE dataset_child_association;

---------------

8. Copy parts of the current dataset table to the new history_dataset_association table:

postgres sql command(s):
------------------------
INSERT INTO history_dataset_association
SELECT
id,
history_id,
id AS dataset_id,
create_time,
update_time,
hid,
name,
info,
blurb,
peek,
extension,
metadata,
parent_id,
designation,
deleted,
visible
FROM dataset
ORDER BY id;

mysql or sqlite sql command(s):
-------------------------------
INSERT INTO
history_dataset_association
(
history_id,
dataset_id,
create_time,
update_time,
hid,
name,
info,
blurb,
peek,
extension,
metadata,
parent_id,
designation,
deleted,
visible
)
SELECT
history_id,
id,
create_time,
update_time,
hid,
name,
info,
blurb,
peek,
extension,
metadata,
parent_id,
designation,
deleted,
visible
FROM
dataset
ORDER BY
id;

---------------

9. Update the nextval value of the primary key sequence in the history_dataset_association table

NOTE: THIS IS NOT NECESSARY FOR MYSQL OR SQLITE!

postgres sql command(s):
------------------------
SELECT
setval('history_dataset_association_id_seq', max(id))
FROM
history_dataset_association;

---------------

10. Update dataset table to mark dataset_associated_file dataset as deleted:

postgres sql command(s):
------------------------
UPDATE dataset
SET
deleted = 't'
WHERE
id IN
(SELECT dataset_id FROM dataset_associated_file ORDER BY dataset_id DESC);

mysql or sqlite sql command(s):
-------------------------------
UPDATE dataset
SET
deleted = TRUE
WHERE
id IN
(SELECT dataset_id FROM dataset_associated_file ORDER BY dataset_id DESC);

---------------

11. Drop the dataset_associated_file table:

any database - sql command(s):
------------------------------
DROP TABLE dataset_associated_file;

---------------

12. Alter foreign keys on job_to_input_dataset table:

postgres or sqlite sql command(s):
------------------------
ALTER TABLE
job_to_input_dataset
DROP CONSTRAINT
job_to_input_dataset_dataset_id_fkey;

ALTER TABLE
job_to_input_dataset
ADD CONSTRAINT job_to_input_dataset_dataset_id_fkey
FOREIGN KEY
(dataset_id)
REFERENCES
history_dataset_association(id);


mysql sql command(s):
-------------------------------
ALTER TABLE
job_to_input_dataset
DROP FOREIGN KEY
ix_job_to_input_dataset_dataset_id;

ALTER TABLE
job_to_input_dataset
ADD FOREIGN KEY
ix_job_to_input_dataset_dataset_id (dataset_id)
REFERENCES
history_dataset_association(id);

---------------

13. Alter foreign keys on job_to_output_dataset table:

postgres or sqlite sql command(s):
------------------------
ALTER TABLE
job_to_output_dataset
DROP CONSTRAINT
job_to_output_dataset_dataset_id_fkey;

ALTER TABLE
job_to_output_dataset
ADD CONSTRAINT
job_to_output_dataset_dataset_id_fkey
FOREIGN KEY (dataset_id)
REFERENCES history_dataset_association(id);

mysql sql command(s):
-------------------------------
ALTER TABLE
job_to_output_dataset
DROP FOREIGN KEY
ix_job_to_output_dataset_dataset_id;

ALTER TABLE
job_to_output_dataset
ADD FOREIGN KEY
ix_job_to_output_dataset_dataset_id
FOREIGN KEY (dataset_id)
REFERENCES history_dataset_association(id);

---------------

14. Eliminate columns from the dataset table previously copied to history_dataset_association:

any database - sql command(s):
------------------------------
ALTER TABLE dataset DROP COLUMN hid;
ALTER TABLE dataset DROP COLUMN history_id;
ALTER TABLE dataset DROP COLUMN name;
ALTER TABLE dataset DROP COLUMN info;
ALTER TABLE dataset DROP COLUMN blurb;
ALTER TABLE dataset DROP COLUMN peek;
ALTER TABLE dataset DROP COLUMN extension;
ALTER TABLE dataset DROP COLUMN dbkey;
ALTER TABLE dataset DROP COLUMN metadata;
ALTER TABLE dataset DROP COLUMN parent_id;
ALTER TABLE dataset DROP COLUMN designation;
ALTER TABLE dataset DROP COLUMN visible;
ALTER TABLE dataset DROP COLUMN filename_id;
2008-07-09 17:41:08 +00:00
Greg Von Kuster 666de20b4d Cleanup for fastqsolexa data type converters. We are currently supporting only the Solexa variant and will add support for other variants when the formats stabilize. 2008-06-09 20:15:04 +00:00
Greg Von Kuster 74da99d8f2 Fix a typo in Chromatin and Chromosomes exec_after_process hook. 2008-06-09 17:13:38 +00:00
Wen-Yu Chung 782d7db6be Update fastq format.
Now we only support FastqSolexa variants.
If the quality scores are presented as characters,
the integer values are obtained by their ascii code subtract 64.
2008-06-06 18:52:11 +00:00
Greg Von Kuster 04e0834500 Revert 2715. 2008-06-04 13:02:15 +00:00
Greg Von Kuster dedc7278a1 Requires config change, temporary files are now created in a configurable location - affects many tools. 2008-06-03 20:29:54 +00:00
Greg Von Kuster 1a23f9e55d Requires config modification - Add Fastq sniffer, add support for fastqsolexa data type, rename convert_fatsq2fasta tool to be fastq_to_fasta_qual, add functional tests for both fastq and fastqsolexa data types, misc code cleanup. 2008-05-29 19:12:36 +00:00
Daniel Blankenberg 11a2c767c3 Rewrite of dynamic options for select lists. There are no more 'special cases' and new filters are much easier to incorporate, as neeeded.
MAF tool interfaces now support the use of index species and all species existing in cached alignment sets.
Until main is updated and the old maf_location files can be overwritten, these symbolic links are required:
maf_index.loc -> /depot/data2/galaxy/maf_index_new.loc
maf_pairwise.loc -> /depot/data2/galaxy/maf_pairwise_new.loc
2008-05-29 17:38:46 +00:00
Greg Von Kuster 711af7a4f2 Fix for sniffing datatypes, sniff order is now retrieved from app.datatypes_registry rather than the default sniff_order list in the Registry class. 2008-05-28 21:20:15 +00:00
Greg Von Kuster 84c5c4387d Add support ( sans sniffer ) for FASTQ data type. 2008-05-27 19:25:54 +00:00
Greg Von Kuster 8f944ef045 Changed URL for communicating with elegans server. 2008-05-16 12:15:04 +00:00
Greg Von Kuster b0a4a72315 Eliminate hack in tool_runner for gbrowse. 2008-05-15 19:51:21 +00:00
Greg Von Kuster c424782fb4 More fixes for GBrowse / GMOD communication, tool now includes command line, display in GBrowse links now functional. 2008-05-15 18:46:51 +00:00
Greg Von Kuster 3f9afc5281 Fixes for GBrowse communication. 2008-05-15 13:38:31 +00:00
Greg Von Kuster 92782b4c40 Fixes for GBrowse tool. 2008-05-13 14:42:18 +00:00
Greg Von Kuster c32f87624f Added code for integration with C. Elegans / GBrowse test server. 2008-05-12 18:55:48 +00:00
Nate Coraor a7392abea5 Missed a couple tool imports of the eggs modules. 2008-04-14 21:08:45 +00:00
Greg Von Kuster af3b0669aa Eliminated all Python2.4 references, added necessary assert statements to ensure minimum version of Python 2.4. 2008-03-28 15:24:50 +00:00
Greg Von Kuster 709d2e1292 Fix for get_microbial_data tool. 2008-03-26 20:55:18 +00:00
Greg Von Kuster 749f218f08 Changed GALAXY_DATA_INDEX_DIR from an environment variable to a config entry. 2008-03-25 14:09:27 +00:00
Greg Von Kuster cd52cabd48 Eliminated hard-codes paths to locally cached data from tools, requires developers to add softlinks to development environments.
Galaxy developers should execute the following commands in their $UNIVERSE_HOME/tool-data directories:

ln -s /depot/data2/galaxy/alignseq.loc alignseq.loc
ln -s /depot/data2/galaxy/binned_scores.loc binned_scores.loc
ln -s /depot/data2/galaxy/blastdb.loc blastdb.loc
ln -s /depot/data2/galaxy/encode_datasets.loc encode_datasets.loc
ln -s /depot/data2/galaxy/liftOver.loc liftOver.loc
ln -s /depot/data2/galaxy/maf_index.loc maf_index.loc
ln -s /depot/data2/galaxy/maf_pairwise.loc maf_pairwise.loc
ln -s /depot/data2/galaxy/microbes/microbial_data.loc microbial_data.loc
ln -s /depot/data2/galaxy/phastOdds.loc phastOdds.loc
ln -s /depot/data2/galaxy/quality_scores.loc quality_scores.loc
ln -s /depot/data2/galaxy/regions.loc regions.loc
ln -s /depot/data2/galaxy/twobit.loc twobit.loc
2008-03-21 18:31:39 +00:00
Greg Von Kuster dbc9b6a403 Cleaned up data_meta filter for dynamically generated select lists. 2008-02-29 17:44:37 +00:00
Greg Von Kuster 703c916b09 Added blurb to Get ENCODE Data tools telling user data may not be current. 2008-01-14 21:39:11 +00:00
Greg Von Kuster 6d80665988 Added file_size column to dataset table, requires db schema alteration:
alter table dataset add column file_size numeric(15,0)
Also added new script update_dataset_size.py
2008-01-08 16:19:25 +00:00
Greg Von Kuster 31d1a87141 Better error handling in interval_to_bd_converter, a couple of other small tool fixes. 2008-01-07 18:49:12 +00:00
Greg Von Kuster 05df900b3d Metadata will now be set on all output datasets when getting encode data. 2008-01-03 14:12:07 +00:00
Greg Von Kuster e94d18ad63 A better way to decompress UCSC gzipped files. Added functional tests for uploading binary, zipped and gzipped files. Added temp file removal to upload when exception thrown. Eliminated an unnecessary import in subtract_query. 2007-12-20 18:49:03 +00:00
Greg Von Kuster 73507a1aa3 Fix for reading gzipped data from UCSC larger than 1 Mb in size. 2007-12-20 14:47:11 +00:00
Greg Von Kuster 737bdf23f9 Enhanced upload to handle certain binary and zip files. Cleaned up the upload config. Added 4 new data types: ab1, scf, binseq.zip and txtseq.zip. Added Regional Variation section to tool_conf.xml.main. 2007-12-14 21:07:11 +00:00
Greg Von Kuster 58afe0f9ce Cleaned up error handling, added exception handling in ucsc_tablebrowser.py 2007-12-13 15:01:45 +00:00
Greg Von Kuster d61ae1181e Bug fix in biomart - metadata will now be correctly set for biomart data. 2007-12-11 18:40:30 +00:00
Greg Von Kuster f7f7aeab26 Fixed a security flaw in upload.py. Added a unit test for get_file_peek() to data.py, along with outher cleanup. Corrected gbrowse display links in interval.py. Bug fixes in root.py where google bots were throwing exceptions. 2007-12-10 21:00:21 +00:00
Greg Von Kuster bbba08b89d Gzipped files from UCSC will now be decompressed on the fly. Also fixed a bug in biomart_filter. 2007-12-10 16:13:05 +00:00
Greg Von Kuster ab1d867915 More dynamic options cleanup. Eliminated the "tool_type" attribute, among other cleanup chores. 2007-11-30 20:08:21 +00:00
Greg Von Kuster 79745f4012 Modified all tools to use the new <options> tag for dynamic select lists. Completely eliminated the <select_options> tag approach. With the exception of find_clusters_mysql, the old dynamic_options approach is not being used by any tool, although dynamic_options is still supported in parameters.py. 2007-11-29 17:04:42 +00:00
Greg Von Kuster 300d66fb11 Modified tools using the <select_options> tag approach for dynamic options to use the new <select> tag approach. I modified the microbial import tool to use the older <select_options> approach last week and will modify it to use the new <select> approach next week. A few tools still use the oldest dynamic_options attribute approach, but modifying them to use the new <select> tag will be trivial. I'll do this when I return. 2007-11-21 18:48:37 +00:00
Greg Von Kuster e190e6e2b0 Enhancements to the way dynamic_options work in order to enable tools using dynemic_options to function in workdflow.
We're still supporting the current dynamic_options functionality.  This is a first pass and will be cleaned up as we continue to evolve more tools to use this new approach.
Within tool configs, SelectToolParameter types now include a <select_options> tag set.  Several tools have been altered to use this new approach.  Other tools we enhanced to
use the ColumnListParameter type.
2007-10-19 20:42:11 +00:00
Greg Von Kuster b3aa4efa6f Cleaned up functional tests, eliminating some redundant tests and unused test data files. Next step, add many missing tests. 2007-10-03 14:17:41 +00:00
Greg Von Kuster 4c6dab39eb Enhanced upload utility to dynamically load the File Format select list using values from the registry's datatypes_by_extension dictionary. 2007-09-27 14:12:01 +00:00
Greg Von Kuster db8eee7889 Changing all tools that use 'text' as file extension to now use 'txt'. We are eliminating the use of 'text' as a file extension within Galaxy and will now use only 'txt' for Text data types. 2007-09-27 12:24:27 +00:00
Chinmay Rao 18e2c28a45 Added support for gff3 datatype 2007-09-18 15:43:44 +00:00
Greg Von Kuster 02d7abeaa3 Biomart fixes: better handling of max data size, applied data type sniffer. 2007-07-05 20:16:53 +00:00
James Taylor 6aa6c5a2d8 More width hints for data source tools. 2007-07-05 19:20:33 +00:00