Connect to Sequencing.com

Connect to Sequencing.com

Connect to Sequencing.com is Sequencing.com's Affiliate Program. Join the genomic revolution and earn royalties as a registered affiliate. Similar to 23andMe affiliate program as well as Ancestry.com, MyHeritage, Family Tree DNA and Helix affiliates.

'Connect to Sequencing.com' enables apps and sites to import genetic data directly into accounts at Sequencing.com.

Join to earn royalties by referring people to our platform. It's easy to add to your app (iOS, Android or web), site or content and is free for both you and your users.

 

1) Offer your users a free, one-click option to store a copy of their genetic data at Sequencing.com

  • Storage is free, unlimited and HIPAA-compliant (secure and confidential)
  • We don't sell, trap or exploit the data in any way

 

2) Earn recurring royalties from Sequencing.com

  • Whenever the user purchases an app in Sequencing.com's App Market and uses the genetic data file that was imported from your site or app, you earn a percentage of that sale

 

Quick, Straightforward Implementation

The documentation below provides the code to add Connect to Sequencing.com to your site or app. The code allows your site or app to import genetic data files of any size from your site directly and securely into a user's account at Sequencing.com. If the user doesn't have an existing account registered to his or her email then an account is automatically created.

Introduction

Sequencing allows third-party sites to upload genetic data files to Sequencing.com. Sequencing facilitates the process of the import by providing several scenarios for third party site users

Seamless account creation. When a user of the third-party site decides he or she wants to connect their genetic data files with Sequencing - it is not required for the user to have an account on Sequencing beforehand. When connect button is clicked, a modal window will open stating “A welcome message with further instructions has been sent to your e-mail address.” and showing the screen below

sequencing new account

Login procedure. Once the user has confirmed the email, or he or she already has an account in Sequencing.com - they will be prompted with login screen

sequencing demo login

For already logged in Users. If a user already has Sequencing account and an active session, no additional login procedure will be required, instead he or she will be prompted with the message to confirm the import

Sequencing authorization message

In order to implement “Connect to Sequencing” functionality - third-party sites are required to complete integration that consists of two parts. Backend integration encompasses the features for rendering correct request json string and encryption of it, whereas frontend widget will take care of user interface and interaction.

Below referenced code snippets can also be found as one complete bundle on https://github.com/SequencingDOTcom/Connect-to-Sequencing.com

Monetization Dashboard

The Monetization Dashboard provides you with real-time statistics so you can easily monitor your royalties.

You can also view all payments sent to you from Sequencing.com and easily modify the method by which you receive your monthly payments.

 

View the Monetization Dashboard demo

Backend Integration

JSON String

Information between Sequencing.com and Third party integrations is passed as encrypted json messages. In order to construct valid json string , you will need following key data:

client_id : client secret that can be generated in Sequengin.com under developer center / generate oauth2

email : email of the account, to which the file will be imported

files: array of files that holds following information

 

Parameter name

Type

Mandatory

Description

name

string

yes

File name to show in user account

type

int

yes

Resource type:

  • 0 - genetic data file

  • 1 - report data file such as such as PDF, image

  • (PNG, JPG, GIF, etc.), HTML, CSV, XLS, XLSX, etc

url

string

yes

URL to download file. URL should output data with application/octet-stream mime type

hashType

string

no

Hash type for file integrity verification (i.e. MD5, SHA1)

hashValue

string

no

Value of hash for a file for integrity verification

size

long

no

File size in bytes

 

 

Renderd json string would look like this

{ "client_id":"tA_U5BIkxv3oL7_Wj0tyWLX50dadjg2Zwk6vAP4TzBsguVa--vsXmqG0KmrOfUPmFc08pblTSrhtKry25fRaWA", "email":"[email protected]", "files": [ {"name":"datafile.dd","type":"0","url":"https://api.sequencing.com/accessiblefile","hashType":"0","hashValue":"0","size":"42444"} ] }';

Encryption

As seen from above, the constructed json string contains sensitive user information, therefore is is mandatory to encrypt it

The following code snippet written in PHP, shows how the encryption of the string should be implemented

$string = '{ "client_id":"tA_U5BIkxv3oL7_Wj0tyWLX50dadjg2Zwk6vAP4TzBsguVa--vsXmqG0KmrOfUPmFc08pblTSrhtKry25fRaWA",
"email":"[email protected]", "files": [ 
{"name":"datafile.dd","type":"0","url":"https://api.sequencing.com/accessiblefile","hashType":"0","hashValue":"0","size":"42444"} ] }';
$password = "tA_U5BIkxv3oL7_Wj0tyWLX50dadjg2Zwk6vAP4TzBsguVa--vsXmqG0KmrOfUPmFc08pblTSrhtKry25fRaWA"; 
$key = "3n3CrwwnzMqxOssv"; 
$hash = md5($password); 
$encrypted = openssl_encrypt($string, "aes-256-cbc", $password, 0, $key);
$sequencing_connect_string = 'https://sequencing.com/connect?c='.$hash.'&json='.$encrypted;

 

$key variable is a static password and $password is client_id (secret)

For the actual encryption, Sequencing.com uses openss_encrypt, which returns base64 encoded string.

 

Frontend Widget

The code snippet below simply references the javascript code needed for the button to function and introduced new <div> which will appear as “Connect to Sequencing.com” button


<script src="https://sequencing.com/connect_to_sequencing/connect.js" type="text/javascript"></script>
  <div id="seq-connect-button" class="seq-connect-div"></div>

In order for the button to function correctly and pass all the data needed to transfer the file to the user' Sequencing.com account, you will also need to assign the encrypted string. The encrypted string is rendered in the backend to SeqConnectData variable, as depicted below

<script type="text/javascript">
  var SeqConnectData =
  {json: '7jj/Yssrgbm7pfO5XdNFHjVTjqoQx0UTXv5t87sCWk0j+Rr1breDCDxLymibddSLSW+q6+qhw6p++itBbUct0rc6P1jtrZcZGBPoQmEQ3NnTUcWJCt/TrB0LqK2cvOM9MKtJjgo69J8pN9SwcOJCoHr3AQF7Ldl/ah7rbh1RfXu/Is3IBXsqtXErCk/ZkHeHbVSDY71pjZT1AcBK5UvJ/5SHnFJTuVDEWrp776cnlQsWYP7bmBDtUym2IOHQVaCu6YPazVjboI+xpEB9Q28Yqh5FpfqlRlu4pXtElSPOhTGoGb4HnGGoU/SOHpMP+roizR4uXq2mc5sfzhVrOLD0zIMgjZZgsMT5gpohKgL1jC62dSlkrs2QlbYw2g29kJA0jxc1Bo1eTxuDcWpJsq/9XQ==',
   c: 'e24f32e22d0682d626430187cc0d2301'};
  </script>

Example Button

The Connect to Sequencing.com button is included with the code. You'll be able to place this button anywhere at your site, such as when your users upload genetic data or the page that appears after your users sign into their accounts.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.