Science Commons
Materials Transfer Agreement Chooser

Michael Travers, Jul 28, 2007

Preliminary documentation; subject to change!


Science Commons Materials Transfer Agreements (MTAs) are contracts that govern the transfer of tangible research materials from one research institution (the provider) to another (the recipient). They are most commonly employed in the transfer of "unique research resources" such as cell lines, monoclonal antibodies, reagents, animal models, growth factors, combinatorial chemistry and DNA libraries, clones and cloning tools (such as PCR), methods, laboratory equipment and machines. Non-biological and synthetic materials, such as certain nano-materials, chemical reagents, and chemical substrates may be shared under MTAs as well.

The MTA Chooser is a web-based tool for selecting an appropriate agreement for a material. There are two forms of the chooser: a standalone web page, and an embeddable version designed to be used from a provider's web pages.



an institution or person making some materials available


a scientific material (ie, a tissue sample)


a generic legal document


a specific offer of a material under an agreement

Agreement types

There are four basic types of agreement:

  1.  UBMTA (ubmta)

  2.  SLA (sla)

  3.  Science Commons (sc)

  4.  Custom

The Science Commons agreement has twelve variants with different restrictions. Each agreement type other than custom has an associated set of documents available through the MTA web site. Custom agreements have a user-specified URL.

URLs and documents

Every agreement type defines a set of URLs.  These look like this:<Agreement>/<Version>[/<DocumentType>][<Parameters>

For instance, the UBMTA deed is found at:

and related documents are found at:

Legal values for <Agreement> are:

ubmta, sla, sc, sc[-rp|-df][-ns][-rd]

Where the options for SC mean:

Restricted to protocol
Restricted to disease
No scaleup
Return or destroy

Legal values for <DocumentType> are:


for deeds


for the complete legal code


the legal code as plain ASCII text


for the implementing letter

The URLs for deeds and letters may contain optional URL parameters. The exact set of parameters is still being defined.

It is likely that other document types will be defined, i.e. for icons representing the agreements.


An RDF-based system of metadata for encoding information about agreements and offers will be defined. The current development version of the metadata schema may be found here. This area is very likely to change before it is finalized.

The metadata is returned in RDFa format, which is a way of integrating RDF metadata into standard HTML. Thus the metadata can be inserted into HTML web pages. Future versions may include an option to return unadorned RDF as well.

The metadata as currently supplied expects to be embedded within the following namespace definitions. Future versions will include an option to always return the full URIs, and/or an option to return metadata in pure RDF rather than RDFa form.

  <div xmlns:cc="" 
      ... offer metadata ...

Note that the metadata terms are currently defined in the (sc:) domain, but it is likely that in their final form they will be merged into the (cc:) domain.

Here is an example of an RDFa representation for a material with two offers:

<div xmlns:cc=""
  <div class="sc:Material" about="">The material <a href="">Mouse liver puree</a> is available from <a rel="sc:provider" href="">Feist Lab, University of Minnesota</a> under the following offers:<br/>

    <li><div class='sc:Offer' rel='sc:offer'>
      <a rel='sc:agreement' href='agreements/sla/1.0?source=mta&providerOrg=Feist Lab, University of Minnesota&providerAddress=120 Prarie Home Blvd, Minneapolis MN&materialDesc=Mouse liver puree&transmittalFee=$100'>Simple Letter Agreement</a>.
    <br/>The transmittal fee is <span property="sc:transmittalFee">$100</span></div></li>
    <li><div class='sc:Offer' rel='sc:offer'>
      <a rel='sc:agreement' href='agreements/sc-df-ns/1.0?source=mta&providerOrg=Feist Lab, University of Minnesota&providerAddress=120 Prarie Home Blvd, Minneapolis MN&materialDesc=Mouse liver puree&fieldSpec=Pancreatic Cancer&transmittalFee=$100&legalURL=agreements/sc-df-ns/1.0/legalcode'>Science Commons MTA</a>.
  <br/>The transmittal fee is <span property="sc:transmittalFee">$100</span>
  <br/>The offer is available to <span property="sc:recipientType">nonProfit</span> institutions
  <br/><span rel="cc:prohbits" class="sc:DiseaseProhibition">Offer is limited to use with disease <span property="sc:disease">Pancreatic Cancer</span> </span></div></li></ul>

Embeddable Chooser

The embeddable version of the chooser is designed to be called from web pages hosted by material providers. It is invoked via a Javascript call, and the caller can register event handlers that will be called when the chooser has generated an offer.

An example use of the embeddable chooser may be found here. There is some internal documentation in the HTML source.

Autocompletion requires a proxy service

The chooser's disease specification field makes use of a web service that supplies MeSH heading terms. To use this from within the embeddable chooser, you will need to provide a proxy service on your host, to get around browser security restrictions. The chooser expects to find this service at:


And the service actually is available at;

For an explanation of why the proxy is necessary and how to provide one, see here. Note that the chooser will work without this proxy, but you won't get autocompletion of disease terms.

Chooser API

The chooser is invoked by the Javascript function


Where logistics is a boolean indicating whether or not to include the logistics panel (termination date and transmittal fee) for offers that support it.

The end product of the chooser is a Javascript object representing an offer. The offer object contains the following methods:


Returns an object containing all offer parameters (see below)


Return an HTML/RDFa string representing the offer's metadata.


Return a human-readable name for the offer (ie, “Science Commons MTA”).


Return URIs for the various documents associated with the offer

Offer info

A get_info call to an offer object returns a JSON object containing all the relevant parameters of the offer. These are described below. Not that not all parameters will always be present.


Returns the agreement code (ie, 'sc-rp-ns')


The a human-readable name for the offer (ie 'Simple Letter Agreement')


The agreement version (currently always '1.0')


Return URIs for the various documents associated with the offer


Boolean values indicating whether the offer is available to nonprofits and/or for-profit organizations.


Termination date of the agreement





Indicates whether license is restricted to a particular disease ('disease'), protocol ('protocol'), or is allowed for all uses ('all).


The particular disease or protocol the offer is restricted to.