Name: service-gfe-submission
Owner: NMDP/Be The Match Bioinformatics Research
Description: Service for getting a GFE from raw sequence data.
Created: 2016-10-27 20:08:47.0
Updated: 2017-03-02 16:19:57.0
Pushed: 2017-09-01 03:18:27.0
Homepage: null
Size: 84530
Language: Perl
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
RESTful API for getting GFE results from raw sequence data
The Gene Feature Enumeration (GFE) Submission service provides an API for converting raw sequence data to GFE. It provides both a RESTful API and a simple user interface for converting raw sequence data to GFE results. Sequences can be submitted one at a time or as a fasta file. This service uses nmdp-bioinformatics/service-feature for encoding the raw sequence data and nmdp-bioinformatics/HSA for aligning the raw sequence data. A public version of this service is available for use at gfe.b12x.org.
t GFE from sequence data - in body #
--header "Content-type: application/json" --request POST \
ta '{"locus":"HLA-A","sequence":"TCCCCAGACGCCGAGGATGGCCGTCATGGCGCCCCGAACCCTCCTCCTGCTACTCTCGGGGGCCCTGGCCCTGACCCAGACCTGGGCGGGTGAGTGCGGGGTCGGGAGGGAAACCGCCTCTGCGGGGAGAAGCAAGGGGCCCTCCTGGCGGGGGCGCAGGACCGGGGGAGCCGCGCCGGGACGAGGGTCGGGCAGGTCTCAGCCACTGCTCGCCCCCAGGCTCCCACTCCATGAGGTATTTCTTCACATCCGTGTCCCGGCCCGGCCGCGGGGAGCCCCGCTTCATCGCCGTGGGCTACGTGGACGACACGCAGTTCGTGCGGTTCGACAGCGACGCCGCGAGCCAGAGGATGGAGCCGCGGGCGCCGTGGATAGAGCAGGAGGGGCCGGAGTATTGGGACCAGGAGACACGGAATGTGAAGGCCCAGTCACAGACTGACCGAGTGGACCTGGGGACCCTGCGCGGCTACTACAACCAGAGCGAGGCCGGTGAGTGACCCCGGCCGGGGGCGCAGGTCAGGACCCCTCATCCCCCACGGACGGGCCAGGTCGCCCACAGTCTCCGGGTCCGAGATCCACCCCGAAGCCGCGGGACCCCGAGACCCTTGCCCCGGGAGAGGCCCAGGCGCCTTTACCCGGTTTCATTTTCAGTTTAGGCCAAAAATCCCCCCGGGTTGGTCGGGGCTGGGCGGGGCTCGGGGGACTGGGCTGACCGCGGGGTCGGGGCCAGGTTCTCACACCATCCAGATAATGTATGGCTGCGACGTGGGGTCGGACGGGCGCTTCCTCCGCGGGTACCGGCAGGACGCCTACGACGGCAAGGATTACATCGCCCTGAACGAGGACCTGCGCTCTTGGACCGCGGCGGACATGGCGGCTCAGATCACCAAGCGCAAGTGGGAGGCGGCCCATGAGGCGGAGCAGTTGAGAGCCTACCTGGATGGCACGTGCGTGGAGTGGCTCCGCAGATACCTGGAGAACGGGAAGGAGACGCTGCAGCGCACGGGTACCAGGGGCCACGGGGCGCCTCCCTGATCGCCTGTAGATCTCCCGGGCTGGCCTCCCACAAGGAGGGGAGACAATTGGGACCAACACTAGAATATCACCCTCCCTCTGGTCCTGAGGGAGAGGAATCCTCCTGGGTTCCAGATCCTGTACCAGAGAGTGACTCTGAGGTTCCGCCCTGCTCTCTGACACAATTAAGGGATAAAATCTCTGAAGGAGTGACGGGAAGACGATCCCTCGAATACTGATGAGTGGTTCCCTTTGACACCGGCAGCAGCCTTGGGCCCGTGACTTTTCCTCTCAGGCCTTGTTCTCTGCTTCACACTCAATGTGTGTGGGGGTCTGAGTCCAGCACTTCTGAGTCCCTCAGCCTCCACTCAGGTCAGGACCAGAAGTCGCTGTTCCCTTCTCAGGGAATAGAAGATTATCCCAGGTGCCTGTGTCCAGGCTGGTGTCTGGGTTCTGTGCTCTCTTCCCCATCCCGGGTGTCCTGTCCATTCTCAAGATGGCCACATGCGTGCTGGTGGAGTGTCCCATGACAGATGCAAAATGCCTGAATTTTCTGACTCTTCCCGTCAGACCCCCCCAAGACACATATGACCCACCACCCCATCTCTGACCATGAGGCCACCCTGAGGTGCTGGGCCCTGGGCTTCTACCCTGCGGAGATCACACTGACCTGGCAGCGGGATGGGGAGGACCAGACCCAGGACACGGAGCTCGTGGAGACCAGGCCTGCAGGGGATGGAACCTTCCAGAAGTGGGCGGCTGTGGTGGTGCCTTCTGGAGAGGAGCAGAGATACACCTGCCATGTGCAGCATGAGGGTCTGCCCAAGCCCCTCACCCTGAGATGGGGTAAGGAGGGAGATGGGGGTGTCATGTCTCTTAGGGAAAGCAGGAGCCTCTCTGGAGACCTTTAGCAGGGTCAGGGCCCCTCACCTTCCCCTCTTTTCCCAGAGCTGTCTTCCCAGCCCACCATCCCCATCGTGGGCATCATTGCTGGCCTGGTTCTCCTTGGAGCTGTGATCACTGGAGCTGTGGTCGCTGCCGTGATGTGGAGGAGGAAGAGCTCAGGTGGAGAAGGGGTGAAGGGTGGGGTCTGAGATTTCTTGTCTCACTGAGGGTTCCAAGCCCCAGCTAGAAATGTGCCCTGTCTCATTACTGGGAAGCACCGTCCACAATCATGGGCCTACCCAGTCTGGGCCCCGTGTGCCAGCACTTACTCTTTTGTAAAGCACCTGTTAAAATGAAGGACAGATTTATCACCTTGATTACGGCGGTGATGGGACCTGATCCCAGCAGTCACAAGTCACAGGGGAAGGTCCCTGAGGACAGACCTCAGGAGGGCTATTGGTCCAGGACCCACACCTGCTTTCTTCATGTTTCCTGATCCCGCCCTGGGTCTGCAGTCACACATTTCTGGAAACTTCTCTGGGGTCCAAGACTAGGAGGTTCCTCTAGGACCTTAAGGCCCTGGCTCCTTTCTGGTATCTCACAGGACATTTTCTTCTCACAGATAGAAAAGGAGGGAGTTACACTCAGGCTGCAAGTAAGTATGAAGGAGGCTGATGCCTGAGGTCCTTGGGATATTGTGTTTGGGAGCCCATGGGGGAGCTCACCCACCTCACAATTCCTCCTCTAGCCACATCTTCTGTGGGATCTGACCAGGTTCTGTTTTTGTTCTACCCCAGGCAGTGACAGTGCCCAGGGCTCTGATGTGTCCCTCACAGCTTGTAAAGGTGAGAGCTTGGAGGACCTAATGTGTGTTGGGTGTTGGGCGGAACAGTGGACACAGCTGTGCTATGGGGTTTCTTTGCATTGGATGTATTGAGCATGCGATGGGCTGTTTAAGGTGTGACCCCTCACTGTGATGGATATGAATTTGTTCATGAATATTTTTTTCTATAGTGTGAGACAGCTGCCTTGTGTGGGACTGAG"}' \
://gfe.b12x.org/gfe
quence from GFE #
--header "Content-type: application/json" --request POST \
ta '{"locus":"HLA-A","gfe":"HLA-Aw1-1-7-20-10-32-7-1-1-1-6-1-5-3-5-1-0"}' \
://gfe.b12x.org/sequence
t GFE from fasta file #
-F "verbose=1" -F "locus=HLA-A" \
file=@GFE_Submission/public/downloads/FastaTest.fasta" \
://gfe.b12x.org/fasta
t GFE from HML file #
-F "verbose=1" \
file=@GFE_Submission/public/downloads/HmlTest.HML" \
://gfe.b12x.org/hml
t HML file with GFE from HML #
-F "verbose=1" -F "type=xml" \
file=@GFE_Submission/public/downloads/HmlTest.HML" \
://gfe.b12x.org/hml
t HML file with GFE from HML using nextflow #
ster than /hml but can not provide structures #
-F "verbose=1" \
file=@GFE_Submission/public/downloads/HmlTest.HML" \
://gfe.b12x.org/flowhml
The easiest way to get the service running locally, is to pull an image containing the service from docker hub. Running the following command will pull the latest GFE service image from docker hub. The image on docker hub is built from the Dockerfile in the docker directory in the github repository. Every new commit to the nmdp-bioinformatics/service-gfe-submission repository triggers a new build of the docker image on docker hub.
er pull nmdpbioinformatics/service-gfe-submission
er run -d --name service-gfe-submission -p 8080:5050 nmdpbioinformatics/service-gfe-submission
The -d flag runs the service in “detached-mode” in the background and -p specifies what ports to expose. Make sure the ports you expose are not already in use. If the docker container is successfuly executed then typing docker ps -a
will show a new container labeled service-gfe-submission running.
Click here for more information on the publically available docker image.
sr/bin/env perl
strict;
warnings;
GFE_Client;
s_seq = shift @ARGV;
s_locus = shift @ARGV;
es alignment of sequence and submission of aligned
quence to the GFE service.
o_client = GFE_Client->new();
rh_gfe = $o_client->getGfe($s_locus,$s_seq);
int out GFE
t $$rh_gfe{gfe},"\n";
!is.installed('gfeClient')){
library(devtools)
install_github('nmdp-bioinformatics/service-gfe-submission/client-R')
ary('gfeClient')
<- 'http://gfe.b12x.org/'
t GFE from fasta file
a.file <- 'GFE_Submission/t/resources/fastatest1.fasta'
a.gfe <- fasta2gfe(host,'HLA-A',fasta.file)
t sequence from
<- gfe2seq(host,'HLA-A','HLA-Aw1-1-7-20-10-32-7-1-1-1-6-1-5-3-5-1-1')
t GFE from sequence
<- seq2gfe(host,'HLA-A',seq)
turn detailed logs
ose <- 1
<- seq2gfe(host,'HLA-A',seq,verbose)
turn structure (ex. exon, 1 , TGCCCAAGCCCCTCACCCTGAGATGGG)
cture <- 1
<- seq2gfe(host,'HLA-A',seq,verbose,structure)
sta2gfe [--fasta] [--locus] [--uri] [--verbose] [--help]
-f/--fasta Fasta file ** STDIN **
-u/--uri URI of feature service
-l/--locus HLA-Locus
-v/--verbose Flag for running in verbose
-h/--help
a2gfe --fasta t/resources/fastatest1.fasta -l HLA-A > fastatest1.gfe.csv
t/resources/fastatest1.fasta | fasta2gfe -l HLA-A > fastatest1.gfe.csv
ash
q2gfe [--seq] [--locus] [--uri] [--verbose] [--help]
-s/--seq Sequence ** STDIN **
-u/--uri URI of feature service
-l/--locus HLA-Locus
-v/--verbose Flag for running in verbose
-h/--help
gfe --seq GACGGCAAGGATTACATCGCCCTGAACGAGGACCTGCGCT \
GACCGCGGCGGACATGGCGGCTCAGATCACCAAGCGCAAGTACCTGCGCT -l HLA-A > seqtest1.gfe.csv
GACGGCAAGGATTACATCGCCCTGAACGAGGACCTGCGCTCTTGGACCGC \
GACATGGCGGCTCAGATCACCAAGCGCAAGTACCTGCGCTCTTGGACCGC | seq2gfe -l HLA-A > seqtest1.gfe.csv
ash
l2gfe [--input] [--hml] [--uri] [--verbose] [--help]
-i/--input HML file
-u/--uri URI of feature service
-h/--hml flag for returning HML
-v/--verbose Flag for running in verbose
-h/--help
gfe --input t/resources/hmltest1.HML > hmltest1.gfe.csv
gfe --input t/resources/hmltest1.HML --hml > hmltest1.gfe.HML
cpanm --installdeps . # Install perl dependencies
Makefile.PL # Generate Makefile
# Make menefest
test # Run tests
install # Install
kup -E deployment \ # Deploy
tarman --workers=10 \
050:8080 -a bin/app.pl