Format

Send to

Choose Destination
Bioinformatics. 2017 Nov 1;33(21):3497-3499. doi: 10.1093/bioinformatics/btx451.

PySeqLab: an open source Python package for sequence labeling and segmentation.

Author information

1
Department of Pathology, Yale School of Medicine, New Haven, CT 06511, USA.
2
Program in Computational Biology and Bioinformatics, Yale University, New Haven, CT 06520, USA.

Abstract

Motivation:

Text and genomic data are composed of sequential tokens, such as words and nucleotides that give rise to higher order syntactic constructs. In this work, we aim at providing a comprehensive Python library implementing conditional random fields (CRFs), a class of probabilistic graphical models, for robust prediction of these constructs from sequential data.

Results:

Python Sequence Labeling (PySeqLab) is an open source package for performing supervised learning in structured prediction tasks. It implements CRFs models, that is discriminative models from (i) first-order to higher-order linear-chain CRFs, and from (ii) first-order to higher-order semi-Markov CRFs (semi-CRFs). Moreover, it provides multiple learning algorithms for estimating model parameters such as (i) stochastic gradient descent (SGD) and its multiple variations, (ii) structured perceptron with multiple averaging schemes supporting exact and inexact search using 'violation-fixing' framework, (iii) search-based probabilistic online learning algorithm (SAPO) and (iv) an interface for Broyden-Fletcher-Goldfarb-Shanno (BFGS) and the limited-memory BFGS algorithms. Viterbi and Viterbi A* are used for inference and decoding of sequences. Using PySeqLab, we built models (classifiers) and evaluated their performance in three different domains: (i) biomedical Natural language processing (NLP), (ii) predictive DNA sequence analysis and (iii) Human activity recognition (HAR). State-of-the-art performance comparable to machine-learning based systems was achieved in the three domains without feature engineering or the use of knowledge sources.

Availability and implementation:

PySeqLab is available through https://bitbucket.org/A_2/pyseqlab with tutorials and documentation.

Contact:

ahmed.allam@yale.edu or michael.krauthammer@yale.edu.

Supplementary information:

Supplementary data are available at Bioinformatics online.

PMID:
29036277
PMCID:
PMC5872256
DOI:
10.1093/bioinformatics/btx451
[Indexed for MEDLINE]
Free PMC Article

Supplemental Content

Full text links

Icon for Silverchair Information Systems Icon for PubMed Central
Loading ...
Support Center