nbisweden / ena-submission Goto Github PK
View Code? Open in Web Editor NEWTool for easing the submission of data to the ENA
Tool for easing the submission of data to the ENA
NOTE: This is a work in progress. NOTE: While in development, the script only knows about the ENA test server. TODO: Construct analysis XML template. TODO: When viewing the state (XML), make it look pretty. TODO: Enable submission of runs and other XML types. ======================================================================== submit ------------------------------------------------------------------------ The submit script is a menu-driven Bash shell script that will allow you to submit XML files and data files to the European Nucleotide Archive (ENA) at EMBL-EBI. To use it: $ ./submit directory or $ ./submit directory/datafile In the first form, no datafile may be uploaded to the ENA FTP server, but XMLs may still be submitted. When started, the script will present you with a main menu, at which you may choose to 1) Exit 2) Submit an XML file 3) Upload a data file 4) Display current state of submissions The "Submit an XML file" option will take you to the submit menu. The contents of this menu will depend on the files present in the directory given on the command line. 1) Go back to the main menu 2) Submit "study.xml" (STUDY_SET) 3) Submit "sample.xml" (SAMPLE_SET) 4) Submit "analysis.xml" (ANALYSIS_SET) Choosing one of the submit options will perform the submission of that file to the ENA, and the response will be parsed and stored in the "state XML" (a special XML file that contains the state of submissions for the particular directory given on the command line). To view the state of submissions, pick "Display current state of submissions" from the main menu. Currently, it will simply display the contents of the file "state.xml" in the data directory: (an initial state, with no attempted submissions) Current state: <?xml version="1.0"?> <state created="2017-01-20 10:20:55"> <files> <file name="study.xml"/> <file name="sample.xml"/> <file name="analysis.xml"/> </files> </state> (the state after successfully having submitted the "sample.xml" file) Current state: <?xml version="1.0"?> <state created="2017-01-20 10:20:55"> <files> <file name="study.xml"> <submission action="ADD" success="true" accession="ERA789934">Webin-40692 2017-01-20 10:22:08<accession ena="ERP021100" ext="PRJEB19110">Fake test study for testing programatic submissions</accession></submission> </file> <file name="sample.xml"/> <file name="analysis.xml"/> </files> </state> update-embl-validator ------------------------------------------------------------------------ The ENA provides a validation tool for validating the contents of EMBL flat files. The update-embl-validator script downloads this tool (or updates an existing version of the tool). More info about the validator may be found at http://www.ebi.ac.uk/ena/software/flat-file-validator The validator needs to be run separately. You run the validator like this: $ java -jar embl-validator.jar mydata.embl ... or, as the ENA suggests: $ java -classpath embl-validator.jar uk.ac.ebi.client.EnaValidator \ -r mydata.embl The validator takes a bit of time to run, and upon completion creates a set of report text files that hopefully will help you modify and correct any possible errors in your data before submitting it to the ENA: VAL_ERROR.txt VAL_FIXES.txt VAL_INFO.txt VAL_REPORTS.txt VAL_SUMMARY.txt
The tool needs to be able to work non-interactively.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.