Thanks for the example, Frank.

You can upload to data libraries directly from the local filesystem.  The 
relevant documentation is here:

    http://wiki.g2.bx.psu.edu/Admin/Data%20Libraries/Uploading%20Library%20Files

Eli, with respect to the question about modifying galaxy-dist/lib:

Unfortunately, there's not much in the way of documentation for developing the 
Galaxy application/framework itself.  The code is commented to some degree.  If 
you have a specific question or problem you're trying to solve we can probably 
point you in the right direction.

--nate

On Apr 16, 2012, at 8:54 AM, Frank Sørensen wrote:

> Hi Eli,
> 
> That could easily be accomplished without changing the code, by writing a 
> simple tool.
> 
> The xml-file:
> 
> <tool id="importer" name="Import" version="0.0.1" hidden="false">
>   <description>Import files</description>
>   <parallelism method="basic"></parallelism>
>   <command interpreter="python">
>     importer.py 
>     -$link "$infile" "$outfile"
>   </command>
>   <inputs>
>     <param type="text" name="infile" size="180" label="Enter path to file to 
> upload" />        
>     <param name="link" type="boolean" truevalue="--link" checked="false" 
> falsevalue="" label="Link to file" help="Should the file be linked instead of 
> copied into Galaxy?" />
>   </inputs>
>   <outputs>
>     <data format="data" name="outfile" label="Imported file" />
>   </outputs>
>   <help>
> 
> **What it does**
> 
> This tool is a simple file importer
> 
> ------
> 
> The path string points to a local file, that should be imported into the 
> current history.
> 
>   </help>
> </tool>
> 
> 
> And the Python script:
> 
> #!/usr/bin/python
> 
> import argparse, os
> version = '0.0.1'
> progName='importer'
> 
> 
> def __main__():
>   parser = argparse.ArgumentParser(
>     prog=progName,
>     description='Simple Galaxy file importer')
>     
>   parser.add_argument('--version', action='version', 
>     version='%(prog)s '+version, 
>     help='Display version information')
>   
>   parser.add_argument('infile', nargs=1, 
>     type=str,
>     help='input filename mask')
>   
>   parser.add_argument('savefile', nargs=1, 
>     type=str,
>     help='savefile filename')
>   
>   parser.add_argument('-l','--link', 
>     action='store_true', 
>     default=False,  
>     help='Make symbolic link to file')
>   
>   
>   try:
>     args = parser.parse_args()
>       
>     if args.link:      
>       os.system('ln -fs %s %s' % (args.infile[0],args.savefile[0]))
>     else:  
>       os.system('cp %s %s' % (args.infile[0],args.savefile[0]))
>           
>     
>   except Exception as E:
>     print >> sys.stderr, E
>     exit(1)
>     pass
> 
> if __name__=="__main__": __main__()
> 
> 
> I have written a handful of Galaxy tools that implements this technique, and 
> it works like a charm. However this specific example is copy and pasted and 
> simplified from one of my existing tools, so I haven't actually tried it, so 
> It might contain a few spelling mistooks.
> 
> With a minimum of coding, the opposite can also be implemented, namely 
> exporting files from galaxy to an external local file.
> 
> Kind regards
> 
> Frank Sorensen
> 
> Den 16-04-2012 08:13, Eli Reuveni skrev:
>> Hi,
>> I have a local galaxy instance in my institute and  have few basic questions:
>>  
>> 1)      I need to enable galaxy to upload large files from the local galaxy 
>> server without the need to use the ftp or the file upload module, is there 
>> an easy way to do it or do I need to write a special code?
>> 2)      I need to customize galaxy Python code (i.e., under the 
>> ~/galaxy-dist/lib directory). Where can I find documentation of the galaxy 
>> Python classes (using wiki or other format)
>>  
>> Thanks in advanced,
>>  
> 
> -- 
> Frank Sørensen, B.Sc., Programmer
> Molecular Diagnostic Laboratory (MDL)
> Molekylær Medicinsk Afdeling (MOMA)
> Århus Universitetshospital Skejby, Brendstrupgårdsvej, 8200 Århus N
> Tlf. +45 7845 5363
> ___________________________________________________________
> 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:
> 
>  http://lists.bx.psu.edu/


___________________________________________________________
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:

  http://lists.bx.psu.edu/

Reply via email to