GParc Resources

Learn more about sharing your modules with the GParc community.

Expand the GenePattern Community

GParc is a repository and community where users can share and discuss their own GenePattern modules. Unregistered users can search for and download modules. Registered GParc users can:

  • Upload modules
  • Download modules
  • Comment on modules

GenePattern is a powerful genomic analysis platform that provides access to tools for gene expression analysis, next-generation sequencing, proteomics, SNP analysis, and common data processing tasks. The GenePattern team has released hundreds of modules. However, GenePattern also provides a tool for you to create your own modules. GPARC gives you a place to share these with the rest of the GenePattern community. GenePattern is developed at the Broad Institute.

For more information about GenePattern, see the GenePattern Web site, including the GenePattern User Guide and the GenePattern Programmer's Guide.

To contact the GenePattern development team, email

Four Steps to Create and Share your Module on GParc

  1. WRITE a bioinformatics tool. See the GenePattern Programmer's Guide for more information.
  2. WRAP your tool/code as a GenePattern module. See the GenePattern User Guide for information about how to create a module around your bioinformatics tool.
  3. TEST your GenePattern module. See the User Resources for some module testing guidelines.
  4. SHARE your GenePattern module by uploading it to GParc. Upload your module here.

GParc Best Practices

How to Test Your GenePattern Module Before You Upload It to GParc

Once you have wrapped your code into a GenePattern module, there is some basic testing that you should do before uploading it to GParc.

  1. Test the module for algorithmic integrity. Create unit tests that run through common cases as well as some edge cases, and verify the output against data that is known to be good. This known-to-be-good data should be created outside GenePattern. To ensure the robustness of the module, create negative tests to be sure user-friendly errors are thrown if bad/incorrect data or parameters are provided by the user.
  2. Use a basic (but appropriate) dataset (such as one of the datasets on the GenePattern FTP server: to run your module. Run with the default parameter settings, and then permute through each method/option. Verify the output for each permutation and combination of parameters and input values.
  3. Pass output files from your module to some appropriate public GenePattern modules. Verify that they run and produce correct output.
  4. Create a pipeline that contains your module and make sure the pipeline executes successfully.
  5. Verify that your module can be run on all platforms it has been compiled to run on.
  6. Verify that your module can be exported and run on a GenePattern server other than the server on which you developed the module. This will ensure that there are no server-specific dependencies in your code.

Remember to include your test files (or a representative subset of your test files) in your module ZIP archive so other people can use them as example data. You can include test files as Support files when you create your module.

These are some of the basic QA testing practices for modules released by the GenePattern development team. If you would like assistance in formulating a test plan or if you run into problems you can't solve during testing, you can talk to fellow users on the GParc forum or contact the GenePattern development team for assistance.

Writing GenePattern Module Documentation

Download the template for module documentation in your preferred format here:

Open Office version MS Word version
Oodicon Wordicon
Openofficelogo Download OpenOffice

Your module documentation should contain at least:

  • a short description of what the module does
  • author attribution and contact information
  • a brief summary of what the module does and why someone might want to use it
  • any papers associated with the module that would be useful for a user
  • a listing of the module parameters and a description of each
  • a listing of the files output by the module and a description of what those files contain
  • module type
  • operating systems on which the module works
  • language in which the module was written

Remember to spellcheck and proofread your documentation.

The GenePattern development team distributes all module documentation in PDF to avoid compatibility and security issues. Be aware that if you are using a Macintosh to PDF your doc, the links in the text will be unclickable. If you have a number of links in your doc, we recommend PDFing the document on a non-Macintosh platform.

Choosing Tags For Your Module

Tags are terms or keywords that can be assigned to an object, like a module, to help describe it. Since GParc supports searching by tag, an accurate set of tags can help make your module more visible to the people who want or need it for their analyses. The GParc development team has created a list of common tags that will be presented as autocomplete options as you type, if the tag you want matches a tag already created. (Note that you may need to wait a moment for that option to be displayed, then select it from the dropdown menu.) This way, we can avoid having similar tags with spelling differences, such as "Alignment" and "alingment". Tags are case-insensitive, so if you enter "Sequencing" and the tag "sequencing" already exists, your tag will automatically be adjusted to match the existing tag.

We understand, however, that as GParc grows, the need for new tags will also grow. Please help us maintain consistency in the tags by keeping the following points in mind:

  • Capitalize all important words in the tag (e.g., Preprocess and Utilities, Data Format Conversion).
  • Use spaces, not underscores, between words in tags (e.g., Flow Cytometry, NOT Flow_Cytometry).
  • Don't use acronyms or abbreviations unless you're relatively sure that the majority of GParc users will understand them (e.g., NGS, RNA-seq, SNP Analysis).
  • Remember to use commas between your tag terms so we can avoid having a single tag like, "Sequencing Preprocess and Utilities NGS RNA."
  • Be sure to check for existing tags first before adding a new tag.
  • Doublecheck your spelling! 

We appreciatate for your help with this.


Q: I tried to upload my module, but the submission failed. Why?

A: There are a number of common reasons for a module submission to GParc to fail, and we have listed these below. If these notes do not resolve your submission issue, contact the team for assistance.

  • Compression on Mac OS: The GParc repository cannot resolve ZIP archives generated by the Finder on a Macintosh OS. To zip on a Mac, use the zip command from a terminal window instead or export the module from your GenePattern repository.
  • Manifest or Documentation Missing: Make sure that the manifest and documentation files are present in the ZIP archive.
  • Module already exists: If you or another user has already uploaded a module with the same LSID, GParc will not allow the submission.

Q: Can I add images to my module description?

A: Yes - the module edit form uses CKEditor, a powerful rich-text editor with many features. To upload an image in the edit module form:

  1. Click the "Image" button (2nd row, last block, first item)
  2. Click the "Upload" tab (3rd tab)
  3. Browse to your image file
  4. Click "Send it to the Server"
  5. Click "OK" after your image finishes uploading

More information on using CKEditor can be found in the CKEditor User's Guide.

Q: I uploaded a new version of my module. Why does it show up as a separate entry with the same name instead of being a second version of my existing module?

A: Modules are identified by their LSID within the manifest file rather than by name; the version is the final part of the LSID. For two ZIP bundles to be recognized as different versions of the same module, the LSID must be identical all the way up to the version number. Editing your module on a different server, a reinstalled server, or working on a clone of your module are some of the common ways that the LSID could have changed.

If you encounter this scenario, we recommend deleting the new module from GParc and then changing its LSID to match the existing module (except for version) before re-uploading. We don't recommend deleting the older version as that may be in use on other GenePattern servers and the LSID change can cause confusion on those servers. Deleting a module will remove any comments that were specific to that version, however any HTML documentation for the module will remain on GParc in case anyone has downloaded and installed that module.